ccstatusline-usage 2.1.22 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +10 -1
  2. package/dist/ccstatusline.js +1165 -2751
  3. package/package.json +6 -5
@@ -13339,17 +13339,84 @@ var init_strip_ansi = __esm(() => {
13339
13339
  regex = ansiRegex();
13340
13340
  });
13341
13341
 
13342
+ // node_modules/get-east-asian-width/lookup-data.js
13343
+ var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
13344
+ var init_lookup_data = __esm(() => {
13345
+ ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
13346
+ fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
13347
+ halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
13348
+ narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
13349
+ wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
13350
+ });
13351
+
13352
+ // node_modules/get-east-asian-width/utilities.js
13353
+ var isInRange = (ranges, codePoint) => {
13354
+ let low = 0;
13355
+ let high = Math.floor(ranges.length / 2) - 1;
13356
+ while (low <= high) {
13357
+ const mid = Math.floor((low + high) / 2);
13358
+ const i = mid * 2;
13359
+ if (codePoint < ranges[i]) {
13360
+ high = mid - 1;
13361
+ } else if (codePoint > ranges[i + 1]) {
13362
+ low = mid + 1;
13363
+ } else {
13364
+ return true;
13365
+ }
13366
+ }
13367
+ return false;
13368
+ };
13369
+
13342
13370
  // node_modules/get-east-asian-width/lookup.js
13343
- function isAmbiguous(x) {
13344
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
13345
- }
13346
- function isFullWidth(x) {
13347
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
13348
- }
13349
- function isWide(x) {
13350
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
13371
+ function findWideFastPathRange(ranges) {
13372
+ let fastPathStart = ranges[0];
13373
+ let fastPathEnd = ranges[1];
13374
+ for (let index = 0;index < ranges.length; index += 2) {
13375
+ const start = ranges[index];
13376
+ const end = ranges[index + 1];
13377
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
13378
+ return [start, end];
13379
+ }
13380
+ if (end - start > fastPathEnd - fastPathStart) {
13381
+ fastPathStart = start;
13382
+ fastPathEnd = end;
13383
+ }
13384
+ }
13385
+ return [fastPathStart, fastPathEnd];
13351
13386
  }
13352
- var init_lookup = () => {};
13387
+ var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isAmbiguous = (codePoint) => {
13388
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
13389
+ return false;
13390
+ }
13391
+ return isInRange(ambiguousRanges, codePoint);
13392
+ }, isFullWidth = (codePoint) => {
13393
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
13394
+ return false;
13395
+ }
13396
+ return isInRange(fullwidthRanges, codePoint);
13397
+ }, isWide = (codePoint) => {
13398
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
13399
+ return true;
13400
+ }
13401
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
13402
+ return false;
13403
+ }
13404
+ return isInRange(wideRanges, codePoint);
13405
+ };
13406
+ var init_lookup = __esm(() => {
13407
+ init_lookup_data();
13408
+ minimumAmbiguousCodePoint = ambiguousRanges[0];
13409
+ maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
13410
+ minimumFullWidthCodePoint = fullwidthRanges[0];
13411
+ maximumFullWidthCodePoint = fullwidthRanges.at(-1);
13412
+ minimumHalfWidthCodePoint = halfwidthRanges[0];
13413
+ maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
13414
+ minimumNarrowCodePoint = narrowRanges[0];
13415
+ maximumNarrowCodePoint = narrowRanges.at(-1);
13416
+ minimumWideCodePoint = wideRanges[0];
13417
+ maximumWideCodePoint = wideRanges.at(-1);
13418
+ [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
13419
+ });
13353
13420
 
13354
13421
  // node_modules/get-east-asian-width/index.js
13355
13422
  function validate(codePoint) {
@@ -13371,7 +13438,7 @@ var init_get_east_asian_width = __esm(() => {
13371
13438
  // node_modules/emoji-regex/index.js
13372
13439
  var require_emoji_regex = __commonJS((exports, module) => {
13373
13440
  module.exports = () => {
13374
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
13441
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
13375
13442
  };
13376
13443
  });
13377
13444
 
@@ -13543,29 +13610,7 @@ var init_string_width2 = __esm(() => {
13543
13610
  defaultIgnorableCodePointRegex2 = /^\p{Default_Ignorable_Code_Point}$/u;
13544
13611
  });
13545
13612
 
13546
- // node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/index.js
13547
- function ansiRegex3({ onlyFirst = false } = {}) {
13548
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
13549
- const pattern = [
13550
- `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
13551
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
13552
- ].join("|");
13553
- return new RegExp(pattern, onlyFirst ? undefined : "g");
13554
- }
13555
-
13556
- // node_modules/wrap-ansi/node_modules/strip-ansi/index.js
13557
- function stripAnsi3(string) {
13558
- if (typeof string !== "string") {
13559
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
13560
- }
13561
- return string.replace(regex3, "");
13562
- }
13563
- var regex3;
13564
- var init_strip_ansi3 = __esm(() => {
13565
- regex3 = ansiRegex3();
13566
- });
13567
-
13568
- // node_modules/wrap-ansi/node_modules/ansi-styles/index.js
13613
+ // node_modules/ansi-styles/index.js
13569
13614
  function assembleStyles2() {
13570
13615
  const codes = new Map;
13571
13616
  for (const [groupName, group] of Object.entries(styles3)) {
@@ -13596,7 +13641,7 @@ function assembleStyles2() {
13596
13641
  styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
13597
13642
  Object.defineProperties(styles3, {
13598
13643
  rgbToAnsi256: {
13599
- value: (red, green, blue) => {
13644
+ value(red, green, blue) {
13600
13645
  if (red === green && green === blue) {
13601
13646
  if (red < 8) {
13602
13647
  return 16;
@@ -13611,7 +13656,7 @@ function assembleStyles2() {
13611
13656
  enumerable: false
13612
13657
  },
13613
13658
  hexToRgb: {
13614
- value: (hex) => {
13659
+ value(hex) {
13615
13660
  const matches2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
13616
13661
  if (!matches2) {
13617
13662
  return [0, 0, 0];
@@ -13634,7 +13679,7 @@ function assembleStyles2() {
13634
13679
  enumerable: false
13635
13680
  },
13636
13681
  ansi256ToAnsi: {
13637
- value: (code) => {
13682
+ value(code) {
13638
13683
  if (code < 8) {
13639
13684
  return 30 + code;
13640
13685
  }
@@ -13753,7 +13798,7 @@ var ESCAPES, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
13753
13798
  const characters = [...word];
13754
13799
  let isInsideEscape = false;
13755
13800
  let isInsideLinkEscape = false;
13756
- let visible = stringWidth2(stripAnsi3(rows.at(-1)));
13801
+ let visible = stringWidth2(stripAnsi(rows.at(-1)));
13757
13802
  for (const [index, character] of characters.entries()) {
13758
13803
  const characterLength = stringWidth2(character);
13759
13804
  if (visible + characterLength <= columns) {
@@ -13889,7 +13934,7 @@ var ESCAPES, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
13889
13934
  };
13890
13935
  var init_wrap_ansi = __esm(() => {
13891
13936
  init_string_width2();
13892
- init_strip_ansi3();
13937
+ init_strip_ansi();
13893
13938
  init_ansi_styles2();
13894
13939
  ESCAPES = new Set([
13895
13940
  "\x1B",
@@ -13906,182 +13951,6 @@ function isFullwidthCodePoint(codePoint) {
13906
13951
  return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
13907
13952
  }
13908
13953
 
13909
- // node_modules/ansi-styles/index.js
13910
- function assembleStyles3() {
13911
- const codes = new Map;
13912
- for (const [groupName, group] of Object.entries(styles4)) {
13913
- for (const [styleName, style] of Object.entries(group)) {
13914
- styles4[styleName] = {
13915
- open: `\x1B[${style[0]}m`,
13916
- close: `\x1B[${style[1]}m`
13917
- };
13918
- group[styleName] = styles4[styleName];
13919
- codes.set(style[0], style[1]);
13920
- }
13921
- Object.defineProperty(styles4, groupName, {
13922
- value: group,
13923
- enumerable: false
13924
- });
13925
- }
13926
- Object.defineProperty(styles4, "codes", {
13927
- value: codes,
13928
- enumerable: false
13929
- });
13930
- styles4.color.close = "\x1B[39m";
13931
- styles4.bgColor.close = "\x1B[49m";
13932
- styles4.color.ansi = wrapAnsi163();
13933
- styles4.color.ansi256 = wrapAnsi2563();
13934
- styles4.color.ansi16m = wrapAnsi16m3();
13935
- styles4.bgColor.ansi = wrapAnsi163(ANSI_BACKGROUND_OFFSET3);
13936
- styles4.bgColor.ansi256 = wrapAnsi2563(ANSI_BACKGROUND_OFFSET3);
13937
- styles4.bgColor.ansi16m = wrapAnsi16m3(ANSI_BACKGROUND_OFFSET3);
13938
- Object.defineProperties(styles4, {
13939
- rgbToAnsi256: {
13940
- value(red, green, blue) {
13941
- if (red === green && green === blue) {
13942
- if (red < 8) {
13943
- return 16;
13944
- }
13945
- if (red > 248) {
13946
- return 231;
13947
- }
13948
- return Math.round((red - 8) / 247 * 24) + 232;
13949
- }
13950
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
13951
- },
13952
- enumerable: false
13953
- },
13954
- hexToRgb: {
13955
- value(hex) {
13956
- const matches2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
13957
- if (!matches2) {
13958
- return [0, 0, 0];
13959
- }
13960
- let [colorString] = matches2;
13961
- if (colorString.length === 3) {
13962
- colorString = [...colorString].map((character) => character + character).join("");
13963
- }
13964
- const integer = Number.parseInt(colorString, 16);
13965
- return [
13966
- integer >> 16 & 255,
13967
- integer >> 8 & 255,
13968
- integer & 255
13969
- ];
13970
- },
13971
- enumerable: false
13972
- },
13973
- hexToAnsi256: {
13974
- value: (hex) => styles4.rgbToAnsi256(...styles4.hexToRgb(hex)),
13975
- enumerable: false
13976
- },
13977
- ansi256ToAnsi: {
13978
- value(code) {
13979
- if (code < 8) {
13980
- return 30 + code;
13981
- }
13982
- if (code < 16) {
13983
- return 90 + (code - 8);
13984
- }
13985
- let red;
13986
- let green;
13987
- let blue;
13988
- if (code >= 232) {
13989
- red = ((code - 232) * 10 + 8) / 255;
13990
- green = red;
13991
- blue = red;
13992
- } else {
13993
- code -= 16;
13994
- const remainder = code % 36;
13995
- red = Math.floor(code / 36) / 5;
13996
- green = Math.floor(remainder / 6) / 5;
13997
- blue = remainder % 6 / 5;
13998
- }
13999
- const value = Math.max(red, green, blue) * 2;
14000
- if (value === 0) {
14001
- return 30;
14002
- }
14003
- let result2 = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
14004
- if (value === 2) {
14005
- result2 += 60;
14006
- }
14007
- return result2;
14008
- },
14009
- enumerable: false
14010
- },
14011
- rgbToAnsi: {
14012
- value: (red, green, blue) => styles4.ansi256ToAnsi(styles4.rgbToAnsi256(red, green, blue)),
14013
- enumerable: false
14014
- },
14015
- hexToAnsi: {
14016
- value: (hex) => styles4.ansi256ToAnsi(styles4.hexToAnsi256(hex)),
14017
- enumerable: false
14018
- }
14019
- });
14020
- return styles4;
14021
- }
14022
- var ANSI_BACKGROUND_OFFSET3 = 10, wrapAnsi163 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi2563 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m3 = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, styles4, modifierNames3, foregroundColorNames3, backgroundColorNames3, colorNames3, ansiStyles3, ansi_styles_default3;
14023
- var init_ansi_styles3 = __esm(() => {
14024
- styles4 = {
14025
- modifier: {
14026
- reset: [0, 0],
14027
- bold: [1, 22],
14028
- dim: [2, 22],
14029
- italic: [3, 23],
14030
- underline: [4, 24],
14031
- overline: [53, 55],
14032
- inverse: [7, 27],
14033
- hidden: [8, 28],
14034
- strikethrough: [9, 29]
14035
- },
14036
- color: {
14037
- black: [30, 39],
14038
- red: [31, 39],
14039
- green: [32, 39],
14040
- yellow: [33, 39],
14041
- blue: [34, 39],
14042
- magenta: [35, 39],
14043
- cyan: [36, 39],
14044
- white: [37, 39],
14045
- blackBright: [90, 39],
14046
- gray: [90, 39],
14047
- grey: [90, 39],
14048
- redBright: [91, 39],
14049
- greenBright: [92, 39],
14050
- yellowBright: [93, 39],
14051
- blueBright: [94, 39],
14052
- magentaBright: [95, 39],
14053
- cyanBright: [96, 39],
14054
- whiteBright: [97, 39]
14055
- },
14056
- bgColor: {
14057
- bgBlack: [40, 49],
14058
- bgRed: [41, 49],
14059
- bgGreen: [42, 49],
14060
- bgYellow: [43, 49],
14061
- bgBlue: [44, 49],
14062
- bgMagenta: [45, 49],
14063
- bgCyan: [46, 49],
14064
- bgWhite: [47, 49],
14065
- bgBlackBright: [100, 49],
14066
- bgGray: [100, 49],
14067
- bgGrey: [100, 49],
14068
- bgRedBright: [101, 49],
14069
- bgGreenBright: [102, 49],
14070
- bgYellowBright: [103, 49],
14071
- bgBlueBright: [104, 49],
14072
- bgMagentaBright: [105, 49],
14073
- bgCyanBright: [106, 49],
14074
- bgWhiteBright: [107, 49]
14075
- }
14076
- };
14077
- modifierNames3 = Object.keys(styles4.modifier);
14078
- foregroundColorNames3 = Object.keys(styles4.color);
14079
- backgroundColorNames3 = Object.keys(styles4.bgColor);
14080
- colorNames3 = [...foregroundColorNames3, ...backgroundColorNames3];
14081
- ansiStyles3 = assembleStyles3();
14082
- ansi_styles_default3 = ansiStyles3;
14083
- });
14084
-
14085
13954
  // node_modules/cli-truncate/node_modules/slice-ansi/index.js
14086
13955
  function sliceAnsi(string, begin, end) {
14087
13956
  const characters = [...string];
@@ -14134,7 +14003,7 @@ var astralRegex, ESCAPES2, wrapAnsi2 = (code) => `${ESCAPES2[0]}[${code}m`, chec
14134
14003
  if (ansiCode.includes(";")) {
14135
14004
  ansiCode = ansiCode.split(";")[0][0] + "0";
14136
14005
  }
14137
- const item = ansi_styles_default3.codes.get(Number.parseInt(ansiCode, 10));
14006
+ const item = ansi_styles_default2.codes.get(Number.parseInt(ansiCode, 10));
14138
14007
  if (item) {
14139
14008
  const indexEscape = ansiCodes.indexOf(item.toString());
14140
14009
  if (indexEscape === -1) {
@@ -14152,14 +14021,14 @@ var astralRegex, ESCAPES2, wrapAnsi2 = (code) => `${ESCAPES2[0]}[${code}m`, chec
14152
14021
  if (isEscapes) {
14153
14022
  output = output.filter((element, index) => output.indexOf(element) === index);
14154
14023
  if (endAnsiCode !== undefined) {
14155
- const fistEscapeCode = wrapAnsi2(ansi_styles_default3.codes.get(Number.parseInt(endAnsiCode, 10)));
14024
+ const fistEscapeCode = wrapAnsi2(ansi_styles_default2.codes.get(Number.parseInt(endAnsiCode, 10)));
14156
14025
  output = output.reduce((current, next) => next === fistEscapeCode ? [next, ...current] : [...current, next], []);
14157
14026
  }
14158
14027
  }
14159
14028
  return output.join("");
14160
14029
  };
14161
14030
  var init_slice_ansi = __esm(() => {
14162
- init_ansi_styles3();
14031
+ init_ansi_styles2();
14163
14032
  astralRegex = /^[\uD800-\uDBFF][\uDC00-\uDFFF]$/;
14164
14033
  ESCAPES2 = [
14165
14034
  "\x1B",
@@ -14616,7 +14485,7 @@ var applyPositionStyles = (node, style) => {
14616
14485
  if ("rowGap" in style) {
14617
14486
  node.setGap(src_default.GUTTER_ROW, style.rowGap ?? 0);
14618
14487
  }
14619
- }, styles5 = (node, style = {}) => {
14488
+ }, styles4 = (node, style = {}) => {
14620
14489
  applyPositionStyles(node, style);
14621
14490
  applyMarginStyles(node, style);
14622
14491
  applyPaddingStyles(node, style);
@@ -14628,7 +14497,7 @@ var applyPositionStyles = (node, style) => {
14628
14497
  }, styles_default;
14629
14498
  var init_styles = __esm(async () => {
14630
14499
  await init_src();
14631
- styles_default = styles5;
14500
+ styles_default = styles4;
14632
14501
  });
14633
14502
 
14634
14503
  // node_modules/ws/lib/constants.js
@@ -14639,6 +14508,7 @@ var require_constants2 = __commonJS((exports, module) => {
14639
14508
  BINARY_TYPES.push("blob");
14640
14509
  module.exports = {
14641
14510
  BINARY_TYPES,
14511
+ CLOSE_TIMEOUT: 30000,
14642
14512
  EMPTY_BUFFER: Buffer.alloc(0),
14643
14513
  GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
14644
14514
  hasBlob,
@@ -16278,6 +16148,7 @@ var require_websocket = __commonJS((exports, module) => {
16278
16148
  var { isBlob } = require_validation();
16279
16149
  var {
16280
16150
  BINARY_TYPES,
16151
+ CLOSE_TIMEOUT,
16281
16152
  EMPTY_BUFFER,
16282
16153
  GUID,
16283
16154
  kForOnEventAttribute,
@@ -16291,7 +16162,6 @@ var require_websocket = __commonJS((exports, module) => {
16291
16162
  } = require_event_target();
16292
16163
  var { format, parse } = require_extension();
16293
16164
  var { toBuffer } = require_buffer_util();
16294
- var closeTimeout = 30 * 1000;
16295
16165
  var kAborted = Symbol("kAborted");
16296
16166
  var protocolVersions = [8, 13];
16297
16167
  var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
@@ -16331,6 +16201,7 @@ var require_websocket = __commonJS((exports, module) => {
16331
16201
  initAsClient(this, address, protocols, options);
16332
16202
  } else {
16333
16203
  this._autoPong = options.autoPong;
16204
+ this._closeTimeout = options.closeTimeout;
16334
16205
  this._isServer = true;
16335
16206
  }
16336
16207
  }
@@ -16622,6 +16493,7 @@ var require_websocket = __commonJS((exports, module) => {
16622
16493
  const opts = {
16623
16494
  allowSynchronousEvents: true,
16624
16495
  autoPong: true,
16496
+ closeTimeout: CLOSE_TIMEOUT,
16625
16497
  protocolVersion: protocolVersions[1],
16626
16498
  maxPayload: 100 * 1024 * 1024,
16627
16499
  skipUTF8Validation: false,
@@ -16639,6 +16511,7 @@ var require_websocket = __commonJS((exports, module) => {
16639
16511
  port: undefined
16640
16512
  };
16641
16513
  websocket._autoPong = opts.autoPong;
16514
+ websocket._closeTimeout = opts.closeTimeout;
16642
16515
  if (!protocolVersions.includes(opts.protocolVersion)) {
16643
16516
  throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} ` + `(supported versions: ${protocolVersions.join(", ")})`);
16644
16517
  }
@@ -16977,7 +16850,7 @@ var require_websocket = __commonJS((exports, module) => {
16977
16850
  }
16978
16851
  }
16979
16852
  function setCloseTimer(websocket) {
16980
- websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), closeTimeout);
16853
+ websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), websocket._closeTimeout);
16981
16854
  }
16982
16855
  function socketOnClose() {
16983
16856
  const websocket = this[kWebSocket];
@@ -16985,8 +16858,8 @@ var require_websocket = __commonJS((exports, module) => {
16985
16858
  this.removeListener("data", socketOnData);
16986
16859
  this.removeListener("end", socketOnEnd);
16987
16860
  websocket._readyState = WebSocket.CLOSING;
16988
- let chunk2;
16989
- if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk2 = websocket._socket.read()) !== null) {
16861
+ if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
16862
+ const chunk2 = this.read(this._readableState.length);
16990
16863
  websocket._receiver.write(chunk2);
16991
16864
  }
16992
16865
  websocket._receiver.end();
@@ -17179,7 +17052,7 @@ var require_websocket_server = __commonJS((exports, module) => {
17179
17052
  var PerMessageDeflate = require_permessage_deflate();
17180
17053
  var subprotocol = require_subprotocol();
17181
17054
  var WebSocket = require_websocket();
17182
- var { GUID, kWebSocket } = require_constants2();
17055
+ var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants2();
17183
17056
  var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
17184
17057
  var RUNNING = 0;
17185
17058
  var CLOSING = 1;
@@ -17196,6 +17069,7 @@ var require_websocket_server = __commonJS((exports, module) => {
17196
17069
  perMessageDeflate: false,
17197
17070
  handleProtocols: null,
17198
17071
  clientTracking: true,
17072
+ closeTimeout: CLOSE_TIMEOUT,
17199
17073
  verifyClient: null,
17200
17074
  noServer: false,
17201
17075
  backlog: null,
@@ -34601,8 +34475,8 @@ function indentString(string, count = 1, options = {}) {
34601
34475
  if (count === 0) {
34602
34476
  return string;
34603
34477
  }
34604
- const regex4 = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
34605
- return string.replace(regex4, indent.repeat(count));
34478
+ const regex3 = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
34479
+ return string.replace(regex3, indent.repeat(count));
34606
34480
  }
34607
34481
 
34608
34482
  // node_modules/ink/build/get-max-width.js
@@ -34708,7 +34582,7 @@ var require_cli_boxes = __commonJS((exports, module) => {
34708
34582
  });
34709
34583
 
34710
34584
  // node_modules/ink/build/colorize.js
34711
- var rgbRegex, ansiRegex4, isNamedColor = (color) => {
34585
+ var rgbRegex, ansiRegex3, isNamedColor = (color) => {
34712
34586
  return color in source_default;
34713
34587
  }, colorize = (str, color, type) => {
34714
34588
  if (!color) {
@@ -34725,7 +34599,7 @@ var rgbRegex, ansiRegex4, isNamedColor = (color) => {
34725
34599
  return type === "foreground" ? source_default.hex(color)(str) : source_default.bgHex(color)(str);
34726
34600
  }
34727
34601
  if (color.startsWith("ansi256")) {
34728
- const matches2 = ansiRegex4.exec(color);
34602
+ const matches2 = ansiRegex3.exec(color);
34729
34603
  if (!matches2) {
34730
34604
  return str;
34731
34605
  }
@@ -34747,7 +34621,7 @@ var rgbRegex, ansiRegex4, isNamedColor = (color) => {
34747
34621
  var init_colorize = __esm(() => {
34748
34622
  init_source();
34749
34623
  rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
34750
- ansiRegex4 = /^ansi256\(\s?(\d+)\s?\)$/;
34624
+ ansiRegex3 = /^ansi256\(\s?(\d+)\s?\)$/;
34751
34625
  colorize_default = colorize;
34752
34626
  });
34753
34627
 
@@ -34958,17 +34832,17 @@ var init_render_node_to_output = __esm(async () => {
34958
34832
  });
34959
34833
 
34960
34834
  // node_modules/slice-ansi/node_modules/is-fullwidth-code-point/node_modules/get-east-asian-width/lookup-data.js
34961
- var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
34962
- var init_lookup_data = __esm(() => {
34963
- ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
34964
- fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
34965
- halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
34966
- narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
34967
- wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
34835
+ var ambiguousRanges2, fullwidthRanges2, halfwidthRanges2, narrowRanges2, wideRanges2;
34836
+ var init_lookup_data2 = __esm(() => {
34837
+ ambiguousRanges2 = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
34838
+ fullwidthRanges2 = [12288, 12288, 65281, 65376, 65504, 65510];
34839
+ halfwidthRanges2 = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
34840
+ narrowRanges2 = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
34841
+ wideRanges2 = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
34968
34842
  });
34969
34843
 
34970
34844
  // node_modules/slice-ansi/node_modules/is-fullwidth-code-point/node_modules/get-east-asian-width/utilities.js
34971
- var isInRange = (ranges, codePoint) => {
34845
+ var isInRange2 = (ranges, codePoint) => {
34972
34846
  let low = 0;
34973
34847
  let high = Math.floor(ranges.length / 2) - 1;
34974
34848
  while (low <= high) {
@@ -34986,13 +34860,13 @@ var isInRange = (ranges, codePoint) => {
34986
34860
  };
34987
34861
 
34988
34862
  // node_modules/slice-ansi/node_modules/is-fullwidth-code-point/node_modules/get-east-asian-width/lookup.js
34989
- function findWideFastPathRange(ranges) {
34863
+ function findWideFastPathRange2(ranges) {
34990
34864
  let fastPathStart = ranges[0];
34991
34865
  let fastPathEnd = ranges[1];
34992
34866
  for (let index = 0;index < ranges.length; index += 2) {
34993
34867
  const start = ranges[index];
34994
34868
  const end = ranges[index + 1];
34995
- if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
34869
+ if (commonCjkCodePoint2 >= start && commonCjkCodePoint2 <= end) {
34996
34870
  return [start, end];
34997
34871
  }
34998
34872
  if (end - start > fastPathEnd - fastPathStart) {
@@ -35002,33 +34876,33 @@ function findWideFastPathRange(ranges) {
35002
34876
  }
35003
34877
  return [fastPathStart, fastPathEnd];
35004
34878
  }
35005
- var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isFullWidth2 = (codePoint) => {
35006
- if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
34879
+ var minimumAmbiguousCodePoint2, maximumAmbiguousCodePoint2, minimumFullWidthCodePoint2, maximumFullWidthCodePoint2, minimumHalfWidthCodePoint2, maximumHalfWidthCodePoint2, minimumNarrowCodePoint2, maximumNarrowCodePoint2, minimumWideCodePoint2, maximumWideCodePoint2, commonCjkCodePoint2 = 19968, wideFastPathStart2, wideFastPathEnd2, isFullWidth2 = (codePoint) => {
34880
+ if (codePoint < minimumFullWidthCodePoint2 || codePoint > maximumFullWidthCodePoint2) {
35007
34881
  return false;
35008
34882
  }
35009
- return isInRange(fullwidthRanges, codePoint);
34883
+ return isInRange2(fullwidthRanges2, codePoint);
35010
34884
  }, isWide2 = (codePoint) => {
35011
- if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
34885
+ if (codePoint >= wideFastPathStart2 && codePoint <= wideFastPathEnd2) {
35012
34886
  return true;
35013
34887
  }
35014
- if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
34888
+ if (codePoint < minimumWideCodePoint2 || codePoint > maximumWideCodePoint2) {
35015
34889
  return false;
35016
34890
  }
35017
- return isInRange(wideRanges, codePoint);
34891
+ return isInRange2(wideRanges2, codePoint);
35018
34892
  };
35019
34893
  var init_lookup2 = __esm(() => {
35020
- init_lookup_data();
35021
- minimumAmbiguousCodePoint = ambiguousRanges[0];
35022
- maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
35023
- minimumFullWidthCodePoint = fullwidthRanges[0];
35024
- maximumFullWidthCodePoint = fullwidthRanges.at(-1);
35025
- minimumHalfWidthCodePoint = halfwidthRanges[0];
35026
- maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
35027
- minimumNarrowCodePoint = narrowRanges[0];
35028
- maximumNarrowCodePoint = narrowRanges.at(-1);
35029
- minimumWideCodePoint = wideRanges[0];
35030
- maximumWideCodePoint = wideRanges.at(-1);
35031
- [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
34894
+ init_lookup_data2();
34895
+ minimumAmbiguousCodePoint2 = ambiguousRanges2[0];
34896
+ maximumAmbiguousCodePoint2 = ambiguousRanges2.at(-1);
34897
+ minimumFullWidthCodePoint2 = fullwidthRanges2[0];
34898
+ maximumFullWidthCodePoint2 = fullwidthRanges2.at(-1);
34899
+ minimumHalfWidthCodePoint2 = halfwidthRanges2[0];
34900
+ maximumHalfWidthCodePoint2 = halfwidthRanges2.at(-1);
34901
+ minimumNarrowCodePoint2 = narrowRanges2[0];
34902
+ maximumNarrowCodePoint2 = narrowRanges2.at(-1);
34903
+ minimumWideCodePoint2 = wideRanges2[0];
34904
+ maximumWideCodePoint2 = wideRanges2.at(-1);
34905
+ [wideFastPathStart2, wideFastPathEnd2] = findWideFastPathRange2(wideRanges2);
35032
34906
  });
35033
34907
 
35034
34908
  // node_modules/slice-ansi/node_modules/is-fullwidth-code-point/node_modules/get-east-asian-width/index.js
@@ -35059,11 +34933,11 @@ function getEndCode(code) {
35059
34933
  if (code.includes(";")) {
35060
34934
  code = code[0] + "0";
35061
34935
  }
35062
- const returnValue = ansi_styles_default3.codes.get(Number.parseInt(code, 10));
34936
+ const returnValue = ansi_styles_default2.codes.get(Number.parseInt(code, 10));
35063
34937
  if (returnValue) {
35064
- return ansi_styles_default3.color.ansi(returnValue);
34938
+ return ansi_styles_default2.color.ansi(returnValue);
35065
34939
  }
35066
- return ansi_styles_default3.reset.open;
34940
+ return ansi_styles_default2.reset.open;
35067
34941
  }
35068
34942
  function findNumberIndex(string) {
35069
34943
  for (let index = 0;index < string.length; index++) {
@@ -35121,7 +34995,7 @@ function tokenize(string, endCharacter = Number.POSITIVE_INFINITY) {
35121
34995
  function reduceAnsiCodes(codes) {
35122
34996
  let returnValue = [];
35123
34997
  for (const code of codes) {
35124
- if (code.code === ansi_styles_default3.reset.open) {
34998
+ if (code.code === ansi_styles_default2.reset.open) {
35125
34999
  returnValue = [];
35126
35000
  } else if (endCodesSet.has(code.code)) {
35127
35001
  returnValue = returnValue.filter((returnValueCode) => returnValueCode.endCode !== code.code);
@@ -35169,16 +35043,16 @@ function sliceAnsi2(string, start, end) {
35169
35043
  }
35170
35044
  var ESCAPES3, CODE_POINT_0, CODE_POINT_9, MAX_ANSI_SEQUENCE_LENGTH = 19, endCodesSet, endCodesMap;
35171
35045
  var init_slice_ansi2 = __esm(() => {
35172
- init_ansi_styles3();
35046
+ init_ansi_styles2();
35173
35047
  init_is_fullwidth_code_point();
35174
35048
  ESCAPES3 = new Set([27, 155]);
35175
35049
  CODE_POINT_0 = "0".codePointAt(0);
35176
35050
  CODE_POINT_9 = "9".codePointAt(0);
35177
35051
  endCodesSet = new Set;
35178
35052
  endCodesMap = new Map;
35179
- for (const [start, end] of ansi_styles_default3.codes) {
35180
- endCodesSet.add(ansi_styles_default3.color.ansi(end));
35181
- endCodesMap.set(ansi_styles_default3.color.ansi(start), ansi_styles_default3.color.ansi(end));
35053
+ for (const [start, end] of ansi_styles_default2.codes) {
35054
+ endCodesSet.add(ansi_styles_default2.color.ansi(end));
35055
+ endCodesMap.set(ansi_styles_default2.color.ansi(start), ansi_styles_default2.color.ansi(end));
35182
35056
  }
35183
35057
  });
35184
35058
 
@@ -35194,11 +35068,11 @@ function getEndCode2(code) {
35194
35068
  if (code.includes(";")) {
35195
35069
  code = code[0] + "0";
35196
35070
  }
35197
- const ret = ansi_styles_default3.codes.get(parseInt(code, 10));
35071
+ const ret = ansi_styles_default2.codes.get(parseInt(code, 10));
35198
35072
  if (ret) {
35199
- return ansi_styles_default3.color.ansi(ret);
35073
+ return ansi_styles_default2.color.ansi(ret);
35200
35074
  } else {
35201
- return ansi_styles_default3.reset.open;
35075
+ return ansi_styles_default2.reset.open;
35202
35076
  }
35203
35077
  }
35204
35078
  function ansiCodesToString(codes) {
@@ -35206,13 +35080,13 @@ function ansiCodesToString(codes) {
35206
35080
  }
35207
35081
  var ESCAPES4, endCodesSet2, endCodesMap2, linkStartCodePrefix = "\x1B]8;;", linkStartCodePrefixCharCodes, linkCodeSuffix = "\x07", linkCodeSuffixCharCode, linkEndCode;
35208
35082
  var init_ansiCodes = __esm(() => {
35209
- init_ansi_styles3();
35083
+ init_ansi_styles2();
35210
35084
  ESCAPES4 = new Set([27, 155]);
35211
35085
  endCodesSet2 = new Set;
35212
35086
  endCodesMap2 = new Map;
35213
- for (const [start, end] of ansi_styles_default3.codes) {
35214
- endCodesSet2.add(ansi_styles_default3.color.ansi(end));
35215
- endCodesMap2.set(ansi_styles_default3.color.ansi(start), ansi_styles_default3.color.ansi(end));
35087
+ for (const [start, end] of ansi_styles_default2.codes) {
35088
+ endCodesSet2.add(ansi_styles_default2.color.ansi(end));
35089
+ endCodesMap2.set(ansi_styles_default2.color.ansi(start), ansi_styles_default2.color.ansi(end));
35216
35090
  }
35217
35091
  linkStartCodePrefixCharCodes = linkStartCodePrefix.split("").map((char) => char.charCodeAt(0));
35218
35092
  linkCodeSuffixCharCode = linkCodeSuffix.charCodeAt(0);
@@ -35226,7 +35100,7 @@ function reduceAnsiCodes2(codes) {
35226
35100
  function reduceAnsiCodesIncremental(codes, newCodes) {
35227
35101
  let ret = [...codes];
35228
35102
  for (const code of newCodes) {
35229
- if (code.code === ansi_styles_default3.reset.open) {
35103
+ if (code.code === ansi_styles_default2.reset.open) {
35230
35104
  ret = [];
35231
35105
  } else if (endCodesSet2.has(code.code)) {
35232
35106
  ret = ret.filter((retCode) => retCode.endCode !== code.code);
@@ -35238,7 +35112,7 @@ function reduceAnsiCodesIncremental(codes, newCodes) {
35238
35112
  return ret;
35239
35113
  }
35240
35114
  var init_reduce = __esm(() => {
35241
- init_ansi_styles3();
35115
+ init_ansi_styles2();
35242
35116
  init_ansiCodes();
35243
35117
  });
35244
35118
 
@@ -37117,2246 +36991,231 @@ var init_build2 = __esm(async () => {
37117
36991
  ]);
37118
36992
  });
37119
36993
 
37120
- // node_modules/react-is/cjs/react-is.development.js
37121
- var require_react_is_development = __commonJS((exports) => {
37122
- if (true) {
37123
- (function() {
37124
- var hasSymbol = typeof Symbol === "function" && Symbol.for;
37125
- var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
37126
- var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
37127
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
37128
- var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
37129
- var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
37130
- var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
37131
- var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
37132
- var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
37133
- var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
37134
- var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
37135
- var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
37136
- var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
37137
- var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
37138
- var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
37139
- var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
37140
- var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
37141
- var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
37142
- var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
37143
- function isValidElementType(type) {
37144
- return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
37145
- }
37146
- function typeOf(object) {
37147
- if (typeof object === "object" && object !== null) {
37148
- var $$typeof = object.$$typeof;
37149
- switch ($$typeof) {
37150
- case REACT_ELEMENT_TYPE:
37151
- var type = object.type;
37152
- switch (type) {
37153
- case REACT_ASYNC_MODE_TYPE:
37154
- case REACT_CONCURRENT_MODE_TYPE:
37155
- case REACT_FRAGMENT_TYPE:
37156
- case REACT_PROFILER_TYPE:
37157
- case REACT_STRICT_MODE_TYPE:
37158
- case REACT_SUSPENSE_TYPE:
37159
- return type;
37160
- default:
37161
- var $$typeofType = type && type.$$typeof;
37162
- switch ($$typeofType) {
37163
- case REACT_CONTEXT_TYPE:
37164
- case REACT_FORWARD_REF_TYPE:
37165
- case REACT_LAZY_TYPE:
37166
- case REACT_MEMO_TYPE:
37167
- case REACT_PROVIDER_TYPE:
37168
- return $$typeofType;
37169
- default:
37170
- return $$typeof;
37171
- }
37172
- }
37173
- case REACT_PORTAL_TYPE:
37174
- return $$typeof;
37175
- }
37176
- }
37177
- return;
37178
- }
37179
- var AsyncMode = REACT_ASYNC_MODE_TYPE;
37180
- var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
37181
- var ContextConsumer = REACT_CONTEXT_TYPE;
37182
- var ContextProvider = REACT_PROVIDER_TYPE;
37183
- var Element = REACT_ELEMENT_TYPE;
37184
- var ForwardRef = REACT_FORWARD_REF_TYPE;
37185
- var Fragment = REACT_FRAGMENT_TYPE;
37186
- var Lazy = REACT_LAZY_TYPE;
37187
- var Memo = REACT_MEMO_TYPE;
37188
- var Portal = REACT_PORTAL_TYPE;
37189
- var Profiler = REACT_PROFILER_TYPE;
37190
- var StrictMode = REACT_STRICT_MODE_TYPE;
37191
- var Suspense = REACT_SUSPENSE_TYPE;
37192
- var hasWarnedAboutDeprecatedIsAsyncMode = false;
37193
- function isAsyncMode(object) {
37194
- {
37195
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
37196
- hasWarnedAboutDeprecatedIsAsyncMode = true;
37197
- console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, " + "and will be removed in React 17+. Update your code to use " + "ReactIs.isConcurrentMode() instead. It has the exact same API.");
37198
- }
37199
- }
37200
- return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
37201
- }
37202
- function isConcurrentMode(object) {
37203
- return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
37204
- }
37205
- function isContextConsumer(object) {
37206
- return typeOf(object) === REACT_CONTEXT_TYPE;
37207
- }
37208
- function isContextProvider(object) {
37209
- return typeOf(object) === REACT_PROVIDER_TYPE;
37210
- }
37211
- function isElement2(object) {
37212
- return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
37213
- }
37214
- function isForwardRef(object) {
37215
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
37216
- }
37217
- function isFragment(object) {
37218
- return typeOf(object) === REACT_FRAGMENT_TYPE;
37219
- }
37220
- function isLazy(object) {
37221
- return typeOf(object) === REACT_LAZY_TYPE;
37222
- }
37223
- function isMemo(object) {
37224
- return typeOf(object) === REACT_MEMO_TYPE;
37225
- }
37226
- function isPortal(object) {
37227
- return typeOf(object) === REACT_PORTAL_TYPE;
37228
- }
37229
- function isProfiler(object) {
37230
- return typeOf(object) === REACT_PROFILER_TYPE;
37231
- }
37232
- function isStrictMode(object) {
37233
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
37234
- }
37235
- function isSuspense(object) {
37236
- return typeOf(object) === REACT_SUSPENSE_TYPE;
37237
- }
37238
- exports.AsyncMode = AsyncMode;
37239
- exports.ConcurrentMode = ConcurrentMode;
37240
- exports.ContextConsumer = ContextConsumer;
37241
- exports.ContextProvider = ContextProvider;
37242
- exports.Element = Element;
37243
- exports.ForwardRef = ForwardRef;
37244
- exports.Fragment = Fragment;
37245
- exports.Lazy = Lazy;
37246
- exports.Memo = Memo;
37247
- exports.Portal = Portal;
37248
- exports.Profiler = Profiler;
37249
- exports.StrictMode = StrictMode;
37250
- exports.Suspense = Suspense;
37251
- exports.isAsyncMode = isAsyncMode;
37252
- exports.isConcurrentMode = isConcurrentMode;
37253
- exports.isContextConsumer = isContextConsumer;
37254
- exports.isContextProvider = isContextProvider;
37255
- exports.isElement = isElement2;
37256
- exports.isForwardRef = isForwardRef;
37257
- exports.isFragment = isFragment;
37258
- exports.isLazy = isLazy;
37259
- exports.isMemo = isMemo;
37260
- exports.isPortal = isPortal;
37261
- exports.isProfiler = isProfiler;
37262
- exports.isStrictMode = isStrictMode;
37263
- exports.isSuspense = isSuspense;
37264
- exports.isValidElementType = isValidElementType;
37265
- exports.typeOf = typeOf;
37266
- })();
37267
- }
37268
- });
37269
-
37270
- // node_modules/react-is/index.js
37271
- var require_react_is = __commonJS((exports, module) => {
37272
- var react_is_development = __toESM(require_react_is_development());
37273
- if (false) {} else {
37274
- module.exports = react_is_development;
37275
- }
37276
- });
37277
-
37278
- // node_modules/object-assign/index.js
37279
- var require_object_assign = __commonJS((exports, module) => {
37280
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
37281
- var hasOwnProperty = Object.prototype.hasOwnProperty;
37282
- var propIsEnumerable = Object.prototype.propertyIsEnumerable;
37283
- function toObject(val) {
37284
- if (val === null || val === undefined) {
37285
- throw new TypeError("Object.assign cannot be called with null or undefined");
37286
- }
37287
- return Object(val);
37288
- }
37289
- function shouldUseNative() {
37290
- try {
37291
- if (!Object.assign) {
37292
- return false;
37293
- }
37294
- var test1 = new String("abc");
37295
- test1[5] = "de";
37296
- if (Object.getOwnPropertyNames(test1)[0] === "5") {
37297
- return false;
37298
- }
37299
- var test2 = {};
37300
- for (var i = 0;i < 10; i++) {
37301
- test2["_" + String.fromCharCode(i)] = i;
37302
- }
37303
- var order2 = Object.getOwnPropertyNames(test2).map(function(n) {
37304
- return test2[n];
37305
- });
37306
- if (order2.join("") !== "0123456789") {
37307
- return false;
37308
- }
37309
- var test3 = {};
37310
- "abcdefghijklmnopqrst".split("").forEach(function(letter) {
37311
- test3[letter] = letter;
37312
- });
37313
- if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") {
37314
- return false;
37315
- }
37316
- return true;
37317
- } catch (err) {
37318
- return false;
37319
- }
37320
- }
37321
- module.exports = shouldUseNative() ? Object.assign : function(target, source) {
37322
- var from;
37323
- var to = toObject(target);
37324
- var symbols;
37325
- for (var s = 1;s < arguments.length; s++) {
37326
- from = Object(arguments[s]);
37327
- for (var key in from) {
37328
- if (hasOwnProperty.call(from, key)) {
37329
- to[key] = from[key];
37330
- }
37331
- }
37332
- if (getOwnPropertySymbols) {
37333
- symbols = getOwnPropertySymbols(from);
37334
- for (var i = 0;i < symbols.length; i++) {
37335
- if (propIsEnumerable.call(from, symbols[i])) {
37336
- to[symbols[i]] = from[symbols[i]];
37337
- }
37338
- }
37339
- }
37340
- }
37341
- return to;
37342
- };
37343
- });
37344
-
37345
- // node_modules/prop-types/lib/ReactPropTypesSecret.js
37346
- var require_ReactPropTypesSecret = __commonJS((exports, module) => {
37347
- var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
37348
- module.exports = ReactPropTypesSecret;
37349
- });
37350
-
37351
- // node_modules/prop-types/lib/has.js
37352
- var require_has = __commonJS((exports, module) => {
37353
- module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
37354
- });
37355
-
37356
- // node_modules/prop-types/checkPropTypes.js
37357
- var require_checkPropTypes = __commonJS((exports, module) => {
37358
- var printWarning = function() {};
37359
- if (true) {
37360
- ReactPropTypesSecret = require_ReactPropTypesSecret();
37361
- loggedTypeFailures = {};
37362
- has2 = require_has();
37363
- printWarning = function(text) {
37364
- var message = "Warning: " + text;
37365
- if (typeof console !== "undefined") {
37366
- console.error(message);
37367
- }
37368
- try {
37369
- throw new Error(message);
37370
- } catch (x) {}
37371
- };
37372
- }
37373
- var ReactPropTypesSecret;
37374
- var loggedTypeFailures;
37375
- var has2;
37376
- function checkPropTypes(typeSpecs, values2, location, componentName, getStack) {
37377
- if (true) {
37378
- for (var typeSpecName in typeSpecs) {
37379
- if (has2(typeSpecs, typeSpecName)) {
37380
- var error;
37381
- try {
37382
- if (typeof typeSpecs[typeSpecName] !== "function") {
37383
- var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; " + "it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`." + "This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
37384
- err.name = "Invariant Violation";
37385
- throw err;
37386
- }
37387
- error = typeSpecs[typeSpecName](values2, typeSpecName, componentName, location, null, ReactPropTypesSecret);
37388
- } catch (ex) {
37389
- error = ex;
37390
- }
37391
- if (error && !(error instanceof Error)) {
37392
- printWarning((componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker " + "function must return `null` or an `Error` but returned a " + typeof error + ". " + "You may have forgotten to pass an argument to the type checker " + "creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and " + "shape all require an argument).");
37393
- }
37394
- if (error instanceof Error && !(error.message in loggedTypeFailures)) {
37395
- loggedTypeFailures[error.message] = true;
37396
- var stack = getStack ? getStack() : "";
37397
- printWarning("Failed " + location + " type: " + error.message + (stack != null ? stack : ""));
37398
- }
37399
- }
37400
- }
37401
- }
37402
- }
37403
- checkPropTypes.resetWarningCache = function() {
37404
- if (true) {
37405
- loggedTypeFailures = {};
37406
- }
37407
- };
37408
- module.exports = checkPropTypes;
37409
- });
37410
-
37411
- // node_modules/prop-types/factoryWithTypeCheckers.js
37412
- var require_factoryWithTypeCheckers = __commonJS((exports, module) => {
37413
- var ReactIs = __toESM(require_react_is());
37414
- var assign2 = require_object_assign();
37415
- var ReactPropTypesSecret = require_ReactPropTypesSecret();
37416
- var has2 = require_has();
37417
- var checkPropTypes = require_checkPropTypes();
37418
- var printWarning = function() {};
37419
- if (true) {
37420
- printWarning = function(text) {
37421
- var message = "Warning: " + text;
37422
- if (typeof console !== "undefined") {
37423
- console.error(message);
37424
- }
37425
- try {
37426
- throw new Error(message);
37427
- } catch (x) {}
37428
- };
37429
- }
37430
- function emptyFunctionThatReturnsNull() {
37431
- return null;
37432
- }
37433
- module.exports = function(isValidElement, throwOnDirectAccess) {
37434
- var ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator;
37435
- var FAUX_ITERATOR_SYMBOL = "@@iterator";
37436
- function getIteratorFn(maybeIterable) {
37437
- var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
37438
- if (typeof iteratorFn === "function") {
37439
- return iteratorFn;
37440
- }
37441
- }
37442
- var ANONYMOUS = "<<anonymous>>";
37443
- var ReactPropTypes = {
37444
- array: createPrimitiveTypeChecker("array"),
37445
- bigint: createPrimitiveTypeChecker("bigint"),
37446
- bool: createPrimitiveTypeChecker("boolean"),
37447
- func: createPrimitiveTypeChecker("function"),
37448
- number: createPrimitiveTypeChecker("number"),
37449
- object: createPrimitiveTypeChecker("object"),
37450
- string: createPrimitiveTypeChecker("string"),
37451
- symbol: createPrimitiveTypeChecker("symbol"),
37452
- any: createAnyTypeChecker(),
37453
- arrayOf: createArrayOfTypeChecker,
37454
- element: createElementTypeChecker(),
37455
- elementType: createElementTypeTypeChecker(),
37456
- instanceOf: createInstanceTypeChecker,
37457
- node: createNodeChecker(),
37458
- objectOf: createObjectOfTypeChecker,
37459
- oneOf: createEnumTypeChecker,
37460
- oneOfType: createUnionTypeChecker,
37461
- shape: createShapeTypeChecker,
37462
- exact: createStrictShapeTypeChecker
37463
- };
37464
- function is(x, y) {
37465
- if (x === y) {
37466
- return x !== 0 || 1 / x === 1 / y;
37467
- } else {
37468
- return x !== x && y !== y;
37469
- }
37470
- }
37471
- function PropTypeError(message, data) {
37472
- this.message = message;
37473
- this.data = data && typeof data === "object" ? data : {};
37474
- this.stack = "";
37475
- }
37476
- PropTypeError.prototype = Error.prototype;
37477
- function createChainableTypeChecker(validate2) {
37478
- if (true) {
37479
- var manualPropTypeCallCache = {};
37480
- var manualPropTypeWarningCount = 0;
37481
- }
37482
- function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
37483
- componentName = componentName || ANONYMOUS;
37484
- propFullName = propFullName || propName;
37485
- if (secret !== ReactPropTypesSecret) {
37486
- if (throwOnDirectAccess) {
37487
- var err = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. " + "Use `PropTypes.checkPropTypes()` to call them. " + "Read more at http://fb.me/use-check-prop-types");
37488
- err.name = "Invariant Violation";
37489
- throw err;
37490
- } else if (typeof console !== "undefined") {
37491
- var cacheKey = componentName + ":" + propName;
37492
- if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) {
37493
- printWarning("You are manually calling a React.PropTypes validation " + "function for the `" + propFullName + "` prop on `" + componentName + "`. This is deprecated " + "and will throw in the standalone `prop-types` package. " + "You may be seeing this warning due to a third-party PropTypes " + "library. See https://fb.me/react-warning-dont-call-proptypes " + "for details.");
37494
- manualPropTypeCallCache[cacheKey] = true;
37495
- manualPropTypeWarningCount++;
37496
- }
37497
- }
37498
- }
37499
- if (props[propName] == null) {
37500
- if (isRequired) {
37501
- if (props[propName] === null) {
37502
- return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required " + ("in `" + componentName + "`, but its value is `null`."));
37503
- }
37504
- return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required in " + ("`" + componentName + "`, but its value is `undefined`."));
37505
- }
37506
- return null;
37507
- } else {
37508
- return validate2(props, propName, componentName, location, propFullName);
37509
- }
37510
- }
37511
- var chainedCheckType = checkType.bind(null, false);
37512
- chainedCheckType.isRequired = checkType.bind(null, true);
37513
- return chainedCheckType;
37514
- }
37515
- function createPrimitiveTypeChecker(expectedType) {
37516
- function validate2(props, propName, componentName, location, propFullName, secret) {
37517
- var propValue = props[propName];
37518
- var propType = getPropType(propValue);
37519
- if (propType !== expectedType) {
37520
- var preciseType = getPreciseType(propValue);
37521
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + preciseType + "` supplied to `" + componentName + "`, expected ") + ("`" + expectedType + "`."), { expectedType });
37522
- }
37523
- return null;
37524
- }
37525
- return createChainableTypeChecker(validate2);
37526
- }
37527
- function createAnyTypeChecker() {
37528
- return createChainableTypeChecker(emptyFunctionThatReturnsNull);
37529
- }
37530
- function createArrayOfTypeChecker(typeChecker) {
37531
- function validate2(props, propName, componentName, location, propFullName) {
37532
- if (typeof typeChecker !== "function") {
37533
- return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf.");
37534
- }
37535
- var propValue = props[propName];
37536
- if (!Array.isArray(propValue)) {
37537
- var propType = getPropType(propValue);
37538
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
37539
- }
37540
- for (var i = 0;i < propValue.length; i++) {
37541
- var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
37542
- if (error instanceof Error) {
37543
- return error;
37544
- }
37545
- }
37546
- return null;
37547
- }
37548
- return createChainableTypeChecker(validate2);
37549
- }
37550
- function createElementTypeChecker() {
37551
- function validate2(props, propName, componentName, location, propFullName) {
37552
- var propValue = props[propName];
37553
- if (!isValidElement(propValue)) {
37554
- var propType = getPropType(propValue);
37555
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement."));
37556
- }
37557
- return null;
37558
- }
37559
- return createChainableTypeChecker(validate2);
37560
- }
37561
- function createElementTypeTypeChecker() {
37562
- function validate2(props, propName, componentName, location, propFullName) {
37563
- var propValue = props[propName];
37564
- if (!ReactIs.isValidElementType(propValue)) {
37565
- var propType = getPropType(propValue);
37566
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement type."));
37567
- }
37568
- return null;
37569
- }
37570
- return createChainableTypeChecker(validate2);
37571
- }
37572
- function createInstanceTypeChecker(expectedClass) {
37573
- function validate2(props, propName, componentName, location, propFullName) {
37574
- if (!(props[propName] instanceof expectedClass)) {
37575
- var expectedClassName = expectedClass.name || ANONYMOUS;
37576
- var actualClassName = getClassName(props[propName]);
37577
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
37578
- }
36994
+ // node_modules/react/cjs/react-jsx-runtime.development.js
36995
+ var require_react_jsx_runtime_development = __commonJS((exports) => {
36996
+ var React10 = __toESM(require_react());
36997
+ (function() {
36998
+ function getComponentNameFromType(type) {
36999
+ if (type == null)
37579
37000
  return null;
37001
+ if (typeof type === "function")
37002
+ return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
37003
+ if (typeof type === "string")
37004
+ return type;
37005
+ switch (type) {
37006
+ case REACT_FRAGMENT_TYPE:
37007
+ return "Fragment";
37008
+ case REACT_PROFILER_TYPE:
37009
+ return "Profiler";
37010
+ case REACT_STRICT_MODE_TYPE:
37011
+ return "StrictMode";
37012
+ case REACT_SUSPENSE_TYPE:
37013
+ return "Suspense";
37014
+ case REACT_SUSPENSE_LIST_TYPE:
37015
+ return "SuspenseList";
37016
+ case REACT_ACTIVITY_TYPE:
37017
+ return "Activity";
37580
37018
  }
37581
- return createChainableTypeChecker(validate2);
37582
- }
37583
- function createEnumTypeChecker(expectedValues) {
37584
- if (!Array.isArray(expectedValues)) {
37585
- if (true) {
37586
- if (arguments.length > 1) {
37587
- printWarning("Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. " + "A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");
37588
- } else {
37589
- printWarning("Invalid argument supplied to oneOf, expected an array.");
37590
- }
37591
- }
37592
- return emptyFunctionThatReturnsNull;
37593
- }
37594
- function validate2(props, propName, componentName, location, propFullName) {
37595
- var propValue = props[propName];
37596
- for (var i = 0;i < expectedValues.length; i++) {
37597
- if (is(propValue, expectedValues[i])) {
37598
- return null;
37599
- }
37019
+ if (typeof type === "object")
37020
+ switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
37021
+ case REACT_PORTAL_TYPE:
37022
+ return "Portal";
37023
+ case REACT_CONTEXT_TYPE:
37024
+ return type.displayName || "Context";
37025
+ case REACT_CONSUMER_TYPE:
37026
+ return (type._context.displayName || "Context") + ".Consumer";
37027
+ case REACT_FORWARD_REF_TYPE:
37028
+ var innerType = type.render;
37029
+ type = type.displayName;
37030
+ type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
37031
+ return type;
37032
+ case REACT_MEMO_TYPE:
37033
+ return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
37034
+ case REACT_LAZY_TYPE:
37035
+ innerType = type._payload;
37036
+ type = type._init;
37037
+ try {
37038
+ return getComponentNameFromType(type(innerType));
37039
+ } catch (x) {}
37600
37040
  }
37601
- var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
37602
- var type = getPreciseType(value);
37603
- if (type === "symbol") {
37604
- return String(value);
37605
- }
37606
- return value;
37607
- });
37608
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + String(propValue) + "` " + ("supplied to `" + componentName + "`, expected one of " + valuesString + "."));
37609
- }
37610
- return createChainableTypeChecker(validate2);
37041
+ return null;
37611
37042
  }
37612
- function createObjectOfTypeChecker(typeChecker) {
37613
- function validate2(props, propName, componentName, location, propFullName) {
37614
- if (typeof typeChecker !== "function") {
37615
- return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf.");
37616
- }
37617
- var propValue = props[propName];
37618
- var propType = getPropType(propValue);
37619
- if (propType !== "object") {
37620
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
37621
- }
37622
- for (var key in propValue) {
37623
- if (has2(propValue, key)) {
37624
- var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
37625
- if (error instanceof Error) {
37626
- return error;
37627
- }
37628
- }
37629
- }
37630
- return null;
37631
- }
37632
- return createChainableTypeChecker(validate2);
37043
+ function testStringCoercion(value) {
37044
+ return "" + value;
37633
37045
  }
37634
- function createUnionTypeChecker(arrayOfTypeCheckers) {
37635
- if (!Array.isArray(arrayOfTypeCheckers)) {
37636
- printWarning("Invalid argument supplied to oneOfType, expected an instance of array.");
37637
- return emptyFunctionThatReturnsNull;
37638
- }
37639
- for (var i = 0;i < arrayOfTypeCheckers.length; i++) {
37640
- var checker = arrayOfTypeCheckers[i];
37641
- if (typeof checker !== "function") {
37642
- printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but " + "received " + getPostfixForTypeWarning(checker) + " at index " + i + ".");
37643
- return emptyFunctionThatReturnsNull;
37644
- }
37046
+ function checkKeyStringCoercion(value) {
37047
+ try {
37048
+ testStringCoercion(value);
37049
+ var JSCompiler_inline_result = false;
37050
+ } catch (e) {
37051
+ JSCompiler_inline_result = true;
37645
37052
  }
37646
- function validate2(props, propName, componentName, location, propFullName) {
37647
- var expectedTypes = [];
37648
- for (var i2 = 0;i2 < arrayOfTypeCheckers.length; i2++) {
37649
- var checker2 = arrayOfTypeCheckers[i2];
37650
- var checkerResult = checker2(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
37651
- if (checkerResult == null) {
37652
- return null;
37653
- }
37654
- if (checkerResult.data && has2(checkerResult.data, "expectedType")) {
37655
- expectedTypes.push(checkerResult.data.expectedType);
37656
- }
37657
- }
37658
- var expectedTypesMessage = expectedTypes.length > 0 ? ", expected one of type [" + expectedTypes.join(", ") + "]" : "";
37659
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`" + expectedTypesMessage + "."));
37053
+ if (JSCompiler_inline_result) {
37054
+ JSCompiler_inline_result = console;
37055
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
37056
+ var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
37057
+ JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
37058
+ return testStringCoercion(value);
37660
37059
  }
37661
- return createChainableTypeChecker(validate2);
37662
37060
  }
37663
- function createNodeChecker() {
37664
- function validate2(props, propName, componentName, location, propFullName) {
37665
- if (!isNode2(props[propName])) {
37666
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`, expected a ReactNode."));
37667
- }
37668
- return null;
37061
+ function getTaskName(type) {
37062
+ if (type === REACT_FRAGMENT_TYPE)
37063
+ return "<>";
37064
+ if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
37065
+ return "<...>";
37066
+ try {
37067
+ var name = getComponentNameFromType(type);
37068
+ return name ? "<" + name + ">" : "<...>";
37069
+ } catch (x) {
37070
+ return "<...>";
37669
37071
  }
37670
- return createChainableTypeChecker(validate2);
37671
37072
  }
37672
- function invalidValidatorError(componentName, location, propFullName, key, type) {
37673
- return new PropTypeError((componentName || "React class") + ": " + location + " type `" + propFullName + "." + key + "` is invalid; " + "it must be a function, usually from the `prop-types` package, but received `" + type + "`.");
37674
- }
37675
- function createShapeTypeChecker(shapeTypes) {
37676
- function validate2(props, propName, componentName, location, propFullName) {
37677
- var propValue = props[propName];
37678
- var propType = getPropType(propValue);
37679
- if (propType !== "object") {
37680
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
37681
- }
37682
- for (var key in shapeTypes) {
37683
- var checker = shapeTypes[key];
37684
- if (typeof checker !== "function") {
37685
- return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
37686
- }
37687
- var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
37688
- if (error) {
37689
- return error;
37690
- }
37691
- }
37692
- return null;
37693
- }
37694
- return createChainableTypeChecker(validate2);
37073
+ function getOwner() {
37074
+ var dispatcher = ReactSharedInternals.A;
37075
+ return dispatcher === null ? null : dispatcher.getOwner();
37695
37076
  }
37696
- function createStrictShapeTypeChecker(shapeTypes) {
37697
- function validate2(props, propName, componentName, location, propFullName) {
37698
- var propValue = props[propName];
37699
- var propType = getPropType(propValue);
37700
- if (propType !== "object") {
37701
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
37702
- }
37703
- var allKeys = assign2({}, props[propName], shapeTypes);
37704
- for (var key in allKeys) {
37705
- var checker = shapeTypes[key];
37706
- if (has2(shapeTypes, key) && typeof checker !== "function") {
37707
- return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
37708
- }
37709
- if (!checker) {
37710
- return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`." + `
37711
- Bad object: ` + JSON.stringify(props[propName], null, " ") + `
37712
- Valid keys: ` + JSON.stringify(Object.keys(shapeTypes), null, " "));
37713
- }
37714
- var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
37715
- if (error) {
37716
- return error;
37717
- }
37718
- }
37719
- return null;
37720
- }
37721
- return createChainableTypeChecker(validate2);
37077
+ function UnknownOwner() {
37078
+ return Error("react-stack-top-frame");
37722
37079
  }
37723
- function isNode2(propValue) {
37724
- switch (typeof propValue) {
37725
- case "number":
37726
- case "string":
37727
- case "undefined":
37728
- return true;
37729
- case "boolean":
37730
- return !propValue;
37731
- case "object":
37732
- if (Array.isArray(propValue)) {
37733
- return propValue.every(isNode2);
37734
- }
37735
- if (propValue === null || isValidElement(propValue)) {
37736
- return true;
37737
- }
37738
- var iteratorFn = getIteratorFn(propValue);
37739
- if (iteratorFn) {
37740
- var iterator = iteratorFn.call(propValue);
37741
- var step;
37742
- if (iteratorFn !== propValue.entries) {
37743
- while (!(step = iterator.next()).done) {
37744
- if (!isNode2(step.value)) {
37745
- return false;
37746
- }
37747
- }
37748
- } else {
37749
- while (!(step = iterator.next()).done) {
37750
- var entry = step.value;
37751
- if (entry) {
37752
- if (!isNode2(entry[1])) {
37753
- return false;
37754
- }
37755
- }
37756
- }
37757
- }
37758
- } else {
37759
- return false;
37760
- }
37761
- return true;
37762
- default:
37080
+ function hasValidKey(config) {
37081
+ if (hasOwnProperty.call(config, "key")) {
37082
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
37083
+ if (getter && getter.isReactWarning)
37763
37084
  return false;
37764
37085
  }
37086
+ return config.key !== undefined;
37765
37087
  }
37766
- function isSymbol2(propType, propValue) {
37767
- if (propType === "symbol") {
37768
- return true;
37769
- }
37770
- if (!propValue) {
37771
- return false;
37772
- }
37773
- if (propValue["@@toStringTag"] === "Symbol") {
37774
- return true;
37775
- }
37776
- if (typeof Symbol === "function" && propValue instanceof Symbol) {
37777
- return true;
37778
- }
37779
- return false;
37780
- }
37781
- function getPropType(propValue) {
37782
- var propType = typeof propValue;
37783
- if (Array.isArray(propValue)) {
37784
- return "array";
37785
- }
37786
- if (propValue instanceof RegExp) {
37787
- return "object";
37788
- }
37789
- if (isSymbol2(propType, propValue)) {
37790
- return "symbol";
37791
- }
37792
- return propType;
37793
- }
37794
- function getPreciseType(propValue) {
37795
- if (typeof propValue === "undefined" || propValue === null) {
37796
- return "" + propValue;
37797
- }
37798
- var propType = getPropType(propValue);
37799
- if (propType === "object") {
37800
- if (propValue instanceof Date) {
37801
- return "date";
37802
- } else if (propValue instanceof RegExp) {
37803
- return "regexp";
37804
- }
37805
- }
37806
- return propType;
37807
- }
37808
- function getPostfixForTypeWarning(value) {
37809
- var type = getPreciseType(value);
37810
- switch (type) {
37811
- case "array":
37812
- case "object":
37813
- return "an " + type;
37814
- case "boolean":
37815
- case "date":
37816
- case "regexp":
37817
- return "a " + type;
37818
- default:
37819
- return type;
37820
- }
37821
- }
37822
- function getClassName(propValue) {
37823
- if (!propValue.constructor || !propValue.constructor.name) {
37824
- return ANONYMOUS;
37825
- }
37826
- return propValue.constructor.name;
37827
- }
37828
- ReactPropTypes.checkPropTypes = checkPropTypes;
37829
- ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
37830
- ReactPropTypes.PropTypes = ReactPropTypes;
37831
- return ReactPropTypes;
37832
- };
37833
- });
37834
-
37835
- // node_modules/prop-types/index.js
37836
- var require_prop_types = __commonJS((exports, module) => {
37837
- var ReactIs = __toESM(require_react_is());
37838
- if (true) {
37839
- throwOnDirectAccess = true;
37840
- module.exports = require_factoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
37841
- } else {}
37842
- var throwOnDirectAccess;
37843
- });
37844
-
37845
- // node_modules/color-name/index.js
37846
- var require_color_name = __commonJS((exports, module) => {
37847
- module.exports = {
37848
- aliceblue: [240, 248, 255],
37849
- antiquewhite: [250, 235, 215],
37850
- aqua: [0, 255, 255],
37851
- aquamarine: [127, 255, 212],
37852
- azure: [240, 255, 255],
37853
- beige: [245, 245, 220],
37854
- bisque: [255, 228, 196],
37855
- black: [0, 0, 0],
37856
- blanchedalmond: [255, 235, 205],
37857
- blue: [0, 0, 255],
37858
- blueviolet: [138, 43, 226],
37859
- brown: [165, 42, 42],
37860
- burlywood: [222, 184, 135],
37861
- cadetblue: [95, 158, 160],
37862
- chartreuse: [127, 255, 0],
37863
- chocolate: [210, 105, 30],
37864
- coral: [255, 127, 80],
37865
- cornflowerblue: [100, 149, 237],
37866
- cornsilk: [255, 248, 220],
37867
- crimson: [220, 20, 60],
37868
- cyan: [0, 255, 255],
37869
- darkblue: [0, 0, 139],
37870
- darkcyan: [0, 139, 139],
37871
- darkgoldenrod: [184, 134, 11],
37872
- darkgray: [169, 169, 169],
37873
- darkgreen: [0, 100, 0],
37874
- darkgrey: [169, 169, 169],
37875
- darkkhaki: [189, 183, 107],
37876
- darkmagenta: [139, 0, 139],
37877
- darkolivegreen: [85, 107, 47],
37878
- darkorange: [255, 140, 0],
37879
- darkorchid: [153, 50, 204],
37880
- darkred: [139, 0, 0],
37881
- darksalmon: [233, 150, 122],
37882
- darkseagreen: [143, 188, 143],
37883
- darkslateblue: [72, 61, 139],
37884
- darkslategray: [47, 79, 79],
37885
- darkslategrey: [47, 79, 79],
37886
- darkturquoise: [0, 206, 209],
37887
- darkviolet: [148, 0, 211],
37888
- deeppink: [255, 20, 147],
37889
- deepskyblue: [0, 191, 255],
37890
- dimgray: [105, 105, 105],
37891
- dimgrey: [105, 105, 105],
37892
- dodgerblue: [30, 144, 255],
37893
- firebrick: [178, 34, 34],
37894
- floralwhite: [255, 250, 240],
37895
- forestgreen: [34, 139, 34],
37896
- fuchsia: [255, 0, 255],
37897
- gainsboro: [220, 220, 220],
37898
- ghostwhite: [248, 248, 255],
37899
- gold: [255, 215, 0],
37900
- goldenrod: [218, 165, 32],
37901
- gray: [128, 128, 128],
37902
- green: [0, 128, 0],
37903
- greenyellow: [173, 255, 47],
37904
- grey: [128, 128, 128],
37905
- honeydew: [240, 255, 240],
37906
- hotpink: [255, 105, 180],
37907
- indianred: [205, 92, 92],
37908
- indigo: [75, 0, 130],
37909
- ivory: [255, 255, 240],
37910
- khaki: [240, 230, 140],
37911
- lavender: [230, 230, 250],
37912
- lavenderblush: [255, 240, 245],
37913
- lawngreen: [124, 252, 0],
37914
- lemonchiffon: [255, 250, 205],
37915
- lightblue: [173, 216, 230],
37916
- lightcoral: [240, 128, 128],
37917
- lightcyan: [224, 255, 255],
37918
- lightgoldenrodyellow: [250, 250, 210],
37919
- lightgray: [211, 211, 211],
37920
- lightgreen: [144, 238, 144],
37921
- lightgrey: [211, 211, 211],
37922
- lightpink: [255, 182, 193],
37923
- lightsalmon: [255, 160, 122],
37924
- lightseagreen: [32, 178, 170],
37925
- lightskyblue: [135, 206, 250],
37926
- lightslategray: [119, 136, 153],
37927
- lightslategrey: [119, 136, 153],
37928
- lightsteelblue: [176, 196, 222],
37929
- lightyellow: [255, 255, 224],
37930
- lime: [0, 255, 0],
37931
- limegreen: [50, 205, 50],
37932
- linen: [250, 240, 230],
37933
- magenta: [255, 0, 255],
37934
- maroon: [128, 0, 0],
37935
- mediumaquamarine: [102, 205, 170],
37936
- mediumblue: [0, 0, 205],
37937
- mediumorchid: [186, 85, 211],
37938
- mediumpurple: [147, 112, 219],
37939
- mediumseagreen: [60, 179, 113],
37940
- mediumslateblue: [123, 104, 238],
37941
- mediumspringgreen: [0, 250, 154],
37942
- mediumturquoise: [72, 209, 204],
37943
- mediumvioletred: [199, 21, 133],
37944
- midnightblue: [25, 25, 112],
37945
- mintcream: [245, 255, 250],
37946
- mistyrose: [255, 228, 225],
37947
- moccasin: [255, 228, 181],
37948
- navajowhite: [255, 222, 173],
37949
- navy: [0, 0, 128],
37950
- oldlace: [253, 245, 230],
37951
- olive: [128, 128, 0],
37952
- olivedrab: [107, 142, 35],
37953
- orange: [255, 165, 0],
37954
- orangered: [255, 69, 0],
37955
- orchid: [218, 112, 214],
37956
- palegoldenrod: [238, 232, 170],
37957
- palegreen: [152, 251, 152],
37958
- paleturquoise: [175, 238, 238],
37959
- palevioletred: [219, 112, 147],
37960
- papayawhip: [255, 239, 213],
37961
- peachpuff: [255, 218, 185],
37962
- peru: [205, 133, 63],
37963
- pink: [255, 192, 203],
37964
- plum: [221, 160, 221],
37965
- powderblue: [176, 224, 230],
37966
- purple: [128, 0, 128],
37967
- rebeccapurple: [102, 51, 153],
37968
- red: [255, 0, 0],
37969
- rosybrown: [188, 143, 143],
37970
- royalblue: [65, 105, 225],
37971
- saddlebrown: [139, 69, 19],
37972
- salmon: [250, 128, 114],
37973
- sandybrown: [244, 164, 96],
37974
- seagreen: [46, 139, 87],
37975
- seashell: [255, 245, 238],
37976
- sienna: [160, 82, 45],
37977
- silver: [192, 192, 192],
37978
- skyblue: [135, 206, 235],
37979
- slateblue: [106, 90, 205],
37980
- slategray: [112, 128, 144],
37981
- slategrey: [112, 128, 144],
37982
- snow: [255, 250, 250],
37983
- springgreen: [0, 255, 127],
37984
- steelblue: [70, 130, 180],
37985
- tan: [210, 180, 140],
37986
- teal: [0, 128, 128],
37987
- thistle: [216, 191, 216],
37988
- tomato: [255, 99, 71],
37989
- turquoise: [64, 224, 208],
37990
- violet: [238, 130, 238],
37991
- wheat: [245, 222, 179],
37992
- white: [255, 255, 255],
37993
- whitesmoke: [245, 245, 245],
37994
- yellow: [255, 255, 0],
37995
- yellowgreen: [154, 205, 50]
37996
- };
37997
- });
37998
-
37999
- // node_modules/color-convert/conversions.js
38000
- var require_conversions = __commonJS((exports, module) => {
38001
- var cssKeywords = require_color_name();
38002
- var reverseKeywords = {};
38003
- for (const key of Object.keys(cssKeywords)) {
38004
- reverseKeywords[cssKeywords[key]] = key;
38005
- }
38006
- var convert = {
38007
- rgb: { channels: 3, labels: "rgb" },
38008
- hsl: { channels: 3, labels: "hsl" },
38009
- hsv: { channels: 3, labels: "hsv" },
38010
- hwb: { channels: 3, labels: "hwb" },
38011
- cmyk: { channels: 4, labels: "cmyk" },
38012
- xyz: { channels: 3, labels: "xyz" },
38013
- lab: { channels: 3, labels: "lab" },
38014
- lch: { channels: 3, labels: "lch" },
38015
- hex: { channels: 1, labels: ["hex"] },
38016
- keyword: { channels: 1, labels: ["keyword"] },
38017
- ansi16: { channels: 1, labels: ["ansi16"] },
38018
- ansi256: { channels: 1, labels: ["ansi256"] },
38019
- hcg: { channels: 3, labels: ["h", "c", "g"] },
38020
- apple: { channels: 3, labels: ["r16", "g16", "b16"] },
38021
- gray: { channels: 1, labels: ["gray"] }
38022
- };
38023
- module.exports = convert;
38024
- for (const model of Object.keys(convert)) {
38025
- if (!("channels" in convert[model])) {
38026
- throw new Error("missing channels property: " + model);
38027
- }
38028
- if (!("labels" in convert[model])) {
38029
- throw new Error("missing channel labels property: " + model);
38030
- }
38031
- if (convert[model].labels.length !== convert[model].channels) {
38032
- throw new Error("channel and label counts mismatch: " + model);
38033
- }
38034
- const { channels, labels } = convert[model];
38035
- delete convert[model].channels;
38036
- delete convert[model].labels;
38037
- Object.defineProperty(convert[model], "channels", { value: channels });
38038
- Object.defineProperty(convert[model], "labels", { value: labels });
38039
- }
38040
- convert.rgb.hsl = function(rgb) {
38041
- const r = rgb[0] / 255;
38042
- const g = rgb[1] / 255;
38043
- const b = rgb[2] / 255;
38044
- const min2 = Math.min(r, g, b);
38045
- const max2 = Math.max(r, g, b);
38046
- const delta = max2 - min2;
38047
- let h;
38048
- let s;
38049
- if (max2 === min2) {
38050
- h = 0;
38051
- } else if (r === max2) {
38052
- h = (g - b) / delta;
38053
- } else if (g === max2) {
38054
- h = 2 + (b - r) / delta;
38055
- } else if (b === max2) {
38056
- h = 4 + (r - g) / delta;
38057
- }
38058
- h = Math.min(h * 60, 360);
38059
- if (h < 0) {
38060
- h += 360;
38061
- }
38062
- const l = (min2 + max2) / 2;
38063
- if (max2 === min2) {
38064
- s = 0;
38065
- } else if (l <= 0.5) {
38066
- s = delta / (max2 + min2);
38067
- } else {
38068
- s = delta / (2 - max2 - min2);
38069
- }
38070
- return [h, s * 100, l * 100];
38071
- };
38072
- convert.rgb.hsv = function(rgb) {
38073
- let rdif;
38074
- let gdif;
38075
- let bdif;
38076
- let h;
38077
- let s;
38078
- const r = rgb[0] / 255;
38079
- const g = rgb[1] / 255;
38080
- const b = rgb[2] / 255;
38081
- const v = Math.max(r, g, b);
38082
- const diff2 = v - Math.min(r, g, b);
38083
- const diffc = function(c) {
38084
- return (v - c) / 6 / diff2 + 1 / 2;
38085
- };
38086
- if (diff2 === 0) {
38087
- h = 0;
38088
- s = 0;
38089
- } else {
38090
- s = diff2 / v;
38091
- rdif = diffc(r);
38092
- gdif = diffc(g);
38093
- bdif = diffc(b);
38094
- if (r === v) {
38095
- h = bdif - gdif;
38096
- } else if (g === v) {
38097
- h = 1 / 3 + rdif - bdif;
38098
- } else if (b === v) {
38099
- h = 2 / 3 + gdif - rdif;
38100
- }
38101
- if (h < 0) {
38102
- h += 1;
38103
- } else if (h > 1) {
38104
- h -= 1;
38105
- }
38106
- }
38107
- return [
38108
- h * 360,
38109
- s * 100,
38110
- v * 100
38111
- ];
38112
- };
38113
- convert.rgb.hwb = function(rgb) {
38114
- const r = rgb[0];
38115
- const g = rgb[1];
38116
- let b = rgb[2];
38117
- const h = convert.rgb.hsl(rgb)[0];
38118
- const w = 1 / 255 * Math.min(r, Math.min(g, b));
38119
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
38120
- return [h, w * 100, b * 100];
38121
- };
38122
- convert.rgb.cmyk = function(rgb) {
38123
- const r = rgb[0] / 255;
38124
- const g = rgb[1] / 255;
38125
- const b = rgb[2] / 255;
38126
- const k = Math.min(1 - r, 1 - g, 1 - b);
38127
- const c = (1 - r - k) / (1 - k) || 0;
38128
- const m = (1 - g - k) / (1 - k) || 0;
38129
- const y = (1 - b - k) / (1 - k) || 0;
38130
- return [c * 100, m * 100, y * 100, k * 100];
38131
- };
38132
- function comparativeDistance(x, y) {
38133
- return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
38134
- }
38135
- convert.rgb.keyword = function(rgb) {
38136
- const reversed = reverseKeywords[rgb];
38137
- if (reversed) {
38138
- return reversed;
38139
- }
38140
- let currentClosestDistance = Infinity;
38141
- let currentClosestKeyword;
38142
- for (const keyword of Object.keys(cssKeywords)) {
38143
- const value = cssKeywords[keyword];
38144
- const distance = comparativeDistance(rgb, value);
38145
- if (distance < currentClosestDistance) {
38146
- currentClosestDistance = distance;
38147
- currentClosestKeyword = keyword;
38148
- }
38149
- }
38150
- return currentClosestKeyword;
38151
- };
38152
- convert.keyword.rgb = function(keyword) {
38153
- return cssKeywords[keyword];
38154
- };
38155
- convert.rgb.xyz = function(rgb) {
38156
- let r = rgb[0] / 255;
38157
- let g = rgb[1] / 255;
38158
- let b = rgb[2] / 255;
38159
- r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92;
38160
- g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92;
38161
- b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
38162
- const x = r * 0.4124 + g * 0.3576 + b * 0.1805;
38163
- const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
38164
- const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
38165
- return [x * 100, y * 100, z * 100];
38166
- };
38167
- convert.rgb.lab = function(rgb) {
38168
- const xyz = convert.rgb.xyz(rgb);
38169
- let x = xyz[0];
38170
- let y = xyz[1];
38171
- let z = xyz[2];
38172
- x /= 95.047;
38173
- y /= 100;
38174
- z /= 108.883;
38175
- x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
38176
- y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
38177
- z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
38178
- const l = 116 * y - 16;
38179
- const a = 500 * (x - y);
38180
- const b = 200 * (y - z);
38181
- return [l, a, b];
38182
- };
38183
- convert.hsl.rgb = function(hsl) {
38184
- const h = hsl[0] / 360;
38185
- const s = hsl[1] / 100;
38186
- const l = hsl[2] / 100;
38187
- let t2;
38188
- let t3;
38189
- let val;
38190
- if (s === 0) {
38191
- val = l * 255;
38192
- return [val, val, val];
38193
- }
38194
- if (l < 0.5) {
38195
- t2 = l * (1 + s);
38196
- } else {
38197
- t2 = l + s - l * s;
38198
- }
38199
- const t1 = 2 * l - t2;
38200
- const rgb = [0, 0, 0];
38201
- for (let i = 0;i < 3; i++) {
38202
- t3 = h + 1 / 3 * -(i - 1);
38203
- if (t3 < 0) {
38204
- t3++;
38205
- }
38206
- if (t3 > 1) {
38207
- t3--;
38208
- }
38209
- if (6 * t3 < 1) {
38210
- val = t1 + (t2 - t1) * 6 * t3;
38211
- } else if (2 * t3 < 1) {
38212
- val = t2;
38213
- } else if (3 * t3 < 2) {
38214
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
38215
- } else {
38216
- val = t1;
38217
- }
38218
- rgb[i] = val * 255;
38219
- }
38220
- return rgb;
38221
- };
38222
- convert.hsl.hsv = function(hsl) {
38223
- const h = hsl[0];
38224
- let s = hsl[1] / 100;
38225
- let l = hsl[2] / 100;
38226
- let smin = s;
38227
- const lmin = Math.max(l, 0.01);
38228
- l *= 2;
38229
- s *= l <= 1 ? l : 2 - l;
38230
- smin *= lmin <= 1 ? lmin : 2 - lmin;
38231
- const v = (l + s) / 2;
38232
- const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
38233
- return [h, sv * 100, v * 100];
38234
- };
38235
- convert.hsv.rgb = function(hsv) {
38236
- const h = hsv[0] / 60;
38237
- const s = hsv[1] / 100;
38238
- let v = hsv[2] / 100;
38239
- const hi = Math.floor(h) % 6;
38240
- const f = h - Math.floor(h);
38241
- const p = 255 * v * (1 - s);
38242
- const q = 255 * v * (1 - s * f);
38243
- const t = 255 * v * (1 - s * (1 - f));
38244
- v *= 255;
38245
- switch (hi) {
38246
- case 0:
38247
- return [v, t, p];
38248
- case 1:
38249
- return [q, v, p];
38250
- case 2:
38251
- return [p, v, t];
38252
- case 3:
38253
- return [p, q, v];
38254
- case 4:
38255
- return [t, p, v];
38256
- case 5:
38257
- return [v, p, q];
38258
- }
38259
- };
38260
- convert.hsv.hsl = function(hsv) {
38261
- const h = hsv[0];
38262
- const s = hsv[1] / 100;
38263
- const v = hsv[2] / 100;
38264
- const vmin = Math.max(v, 0.01);
38265
- let sl;
38266
- let l;
38267
- l = (2 - s) * v;
38268
- const lmin = (2 - s) * vmin;
38269
- sl = s * vmin;
38270
- sl /= lmin <= 1 ? lmin : 2 - lmin;
38271
- sl = sl || 0;
38272
- l /= 2;
38273
- return [h, sl * 100, l * 100];
38274
- };
38275
- convert.hwb.rgb = function(hwb) {
38276
- const h = hwb[0] / 360;
38277
- let wh = hwb[1] / 100;
38278
- let bl = hwb[2] / 100;
38279
- const ratio = wh + bl;
38280
- let f;
38281
- if (ratio > 1) {
38282
- wh /= ratio;
38283
- bl /= ratio;
38284
- }
38285
- const i = Math.floor(6 * h);
38286
- const v = 1 - bl;
38287
- f = 6 * h - i;
38288
- if ((i & 1) !== 0) {
38289
- f = 1 - f;
38290
- }
38291
- const n = wh + f * (v - wh);
38292
- let r;
38293
- let g;
38294
- let b;
38295
- switch (i) {
38296
- default:
38297
- case 6:
38298
- case 0:
38299
- r = v;
38300
- g = n;
38301
- b = wh;
38302
- break;
38303
- case 1:
38304
- r = n;
38305
- g = v;
38306
- b = wh;
38307
- break;
38308
- case 2:
38309
- r = wh;
38310
- g = v;
38311
- b = n;
38312
- break;
38313
- case 3:
38314
- r = wh;
38315
- g = n;
38316
- b = v;
38317
- break;
38318
- case 4:
38319
- r = n;
38320
- g = wh;
38321
- b = v;
38322
- break;
38323
- case 5:
38324
- r = v;
38325
- g = wh;
38326
- b = n;
38327
- break;
38328
- }
38329
- return [r * 255, g * 255, b * 255];
38330
- };
38331
- convert.cmyk.rgb = function(cmyk) {
38332
- const c = cmyk[0] / 100;
38333
- const m = cmyk[1] / 100;
38334
- const y = cmyk[2] / 100;
38335
- const k = cmyk[3] / 100;
38336
- const r = 1 - Math.min(1, c * (1 - k) + k);
38337
- const g = 1 - Math.min(1, m * (1 - k) + k);
38338
- const b = 1 - Math.min(1, y * (1 - k) + k);
38339
- return [r * 255, g * 255, b * 255];
38340
- };
38341
- convert.xyz.rgb = function(xyz) {
38342
- const x = xyz[0] / 100;
38343
- const y = xyz[1] / 100;
38344
- const z = xyz[2] / 100;
38345
- let r;
38346
- let g;
38347
- let b;
38348
- r = x * 3.2406 + y * -1.5372 + z * -0.4986;
38349
- g = x * -0.9689 + y * 1.8758 + z * 0.0415;
38350
- b = x * 0.0557 + y * -0.204 + z * 1.057;
38351
- r = r > 0.0031308 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92;
38352
- g = g > 0.0031308 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92;
38353
- b = b > 0.0031308 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92;
38354
- r = Math.min(Math.max(0, r), 1);
38355
- g = Math.min(Math.max(0, g), 1);
38356
- b = Math.min(Math.max(0, b), 1);
38357
- return [r * 255, g * 255, b * 255];
38358
- };
38359
- convert.xyz.lab = function(xyz) {
38360
- let x = xyz[0];
38361
- let y = xyz[1];
38362
- let z = xyz[2];
38363
- x /= 95.047;
38364
- y /= 100;
38365
- z /= 108.883;
38366
- x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
38367
- y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
38368
- z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
38369
- const l = 116 * y - 16;
38370
- const a = 500 * (x - y);
38371
- const b = 200 * (y - z);
38372
- return [l, a, b];
38373
- };
38374
- convert.lab.xyz = function(lab) {
38375
- const l = lab[0];
38376
- const a = lab[1];
38377
- const b = lab[2];
38378
- let x;
38379
- let y;
38380
- let z;
38381
- y = (l + 16) / 116;
38382
- x = a / 500 + y;
38383
- z = y - b / 200;
38384
- const y2 = y ** 3;
38385
- const x2 = x ** 3;
38386
- const z2 = z ** 3;
38387
- y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
38388
- x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
38389
- z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
38390
- x *= 95.047;
38391
- y *= 100;
38392
- z *= 108.883;
38393
- return [x, y, z];
38394
- };
38395
- convert.lab.lch = function(lab) {
38396
- const l = lab[0];
38397
- const a = lab[1];
38398
- const b = lab[2];
38399
- let h;
38400
- const hr = Math.atan2(b, a);
38401
- h = hr * 360 / 2 / Math.PI;
38402
- if (h < 0) {
38403
- h += 360;
38404
- }
38405
- const c = Math.sqrt(a * a + b * b);
38406
- return [l, c, h];
38407
- };
38408
- convert.lch.lab = function(lch) {
38409
- const l = lch[0];
38410
- const c = lch[1];
38411
- const h = lch[2];
38412
- const hr = h / 360 * 2 * Math.PI;
38413
- const a = c * Math.cos(hr);
38414
- const b = c * Math.sin(hr);
38415
- return [l, a, b];
38416
- };
38417
- convert.rgb.ansi16 = function(args, saturation = null) {
38418
- const [r, g, b] = args;
38419
- let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
38420
- value = Math.round(value / 50);
38421
- if (value === 0) {
38422
- return 30;
38423
- }
38424
- let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
38425
- if (value === 2) {
38426
- ansi += 60;
38427
- }
38428
- return ansi;
38429
- };
38430
- convert.hsv.ansi16 = function(args) {
38431
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
38432
- };
38433
- convert.rgb.ansi256 = function(args) {
38434
- const r = args[0];
38435
- const g = args[1];
38436
- const b = args[2];
38437
- if (r === g && g === b) {
38438
- if (r < 8) {
38439
- return 16;
38440
- }
38441
- if (r > 248) {
38442
- return 231;
37088
+ function defineKeyPropWarningGetter(props, displayName) {
37089
+ function warnAboutAccessingKey() {
37090
+ specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
38443
37091
  }
38444
- return Math.round((r - 8) / 247 * 24) + 232;
38445
- }
38446
- const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
38447
- return ansi;
38448
- };
38449
- convert.ansi16.rgb = function(args) {
38450
- let color = args % 10;
38451
- if (color === 0 || color === 7) {
38452
- if (args > 50) {
38453
- color += 3.5;
38454
- }
38455
- color = color / 10.5 * 255;
38456
- return [color, color, color];
38457
- }
38458
- const mult = (~~(args > 50) + 1) * 0.5;
38459
- const r = (color & 1) * mult * 255;
38460
- const g = (color >> 1 & 1) * mult * 255;
38461
- const b = (color >> 2 & 1) * mult * 255;
38462
- return [r, g, b];
38463
- };
38464
- convert.ansi256.rgb = function(args) {
38465
- if (args >= 232) {
38466
- const c = (args - 232) * 10 + 8;
38467
- return [c, c, c];
38468
- }
38469
- args -= 16;
38470
- let rem;
38471
- const r = Math.floor(args / 36) / 5 * 255;
38472
- const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
38473
- const b = rem % 6 / 5 * 255;
38474
- return [r, g, b];
38475
- };
38476
- convert.rgb.hex = function(args) {
38477
- const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
38478
- const string = integer.toString(16).toUpperCase();
38479
- return "000000".substring(string.length) + string;
38480
- };
38481
- convert.hex.rgb = function(args) {
38482
- const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
38483
- if (!match) {
38484
- return [0, 0, 0];
38485
- }
38486
- let colorString = match[0];
38487
- if (match[0].length === 3) {
38488
- colorString = colorString.split("").map((char) => {
38489
- return char + char;
38490
- }).join("");
38491
- }
38492
- const integer = parseInt(colorString, 16);
38493
- const r = integer >> 16 & 255;
38494
- const g = integer >> 8 & 255;
38495
- const b = integer & 255;
38496
- return [r, g, b];
38497
- };
38498
- convert.rgb.hcg = function(rgb) {
38499
- const r = rgb[0] / 255;
38500
- const g = rgb[1] / 255;
38501
- const b = rgb[2] / 255;
38502
- const max2 = Math.max(Math.max(r, g), b);
38503
- const min2 = Math.min(Math.min(r, g), b);
38504
- const chroma = max2 - min2;
38505
- let grayscale;
38506
- let hue;
38507
- if (chroma < 1) {
38508
- grayscale = min2 / (1 - chroma);
38509
- } else {
38510
- grayscale = 0;
38511
- }
38512
- if (chroma <= 0) {
38513
- hue = 0;
38514
- } else if (max2 === r) {
38515
- hue = (g - b) / chroma % 6;
38516
- } else if (max2 === g) {
38517
- hue = 2 + (b - r) / chroma;
38518
- } else {
38519
- hue = 4 + (r - g) / chroma;
37092
+ warnAboutAccessingKey.isReactWarning = true;
37093
+ Object.defineProperty(props, "key", {
37094
+ get: warnAboutAccessingKey,
37095
+ configurable: true
37096
+ });
38520
37097
  }
38521
- hue /= 6;
38522
- hue %= 1;
38523
- return [hue * 360, chroma * 100, grayscale * 100];
38524
- };
38525
- convert.hsl.hcg = function(hsl) {
38526
- const s = hsl[1] / 100;
38527
- const l = hsl[2] / 100;
38528
- const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
38529
- let f = 0;
38530
- if (c < 1) {
38531
- f = (l - 0.5 * c) / (1 - c);
38532
- }
38533
- return [hsl[0], c * 100, f * 100];
38534
- };
38535
- convert.hsv.hcg = function(hsv) {
38536
- const s = hsv[1] / 100;
38537
- const v = hsv[2] / 100;
38538
- const c = s * v;
38539
- let f = 0;
38540
- if (c < 1) {
38541
- f = (v - c) / (1 - c);
38542
- }
38543
- return [hsv[0], c * 100, f * 100];
38544
- };
38545
- convert.hcg.rgb = function(hcg) {
38546
- const h = hcg[0] / 360;
38547
- const c = hcg[1] / 100;
38548
- const g = hcg[2] / 100;
38549
- if (c === 0) {
38550
- return [g * 255, g * 255, g * 255];
38551
- }
38552
- const pure = [0, 0, 0];
38553
- const hi = h % 1 * 6;
38554
- const v = hi % 1;
38555
- const w = 1 - v;
38556
- let mg = 0;
38557
- switch (Math.floor(hi)) {
38558
- case 0:
38559
- pure[0] = 1;
38560
- pure[1] = v;
38561
- pure[2] = 0;
38562
- break;
38563
- case 1:
38564
- pure[0] = w;
38565
- pure[1] = 1;
38566
- pure[2] = 0;
38567
- break;
38568
- case 2:
38569
- pure[0] = 0;
38570
- pure[1] = 1;
38571
- pure[2] = v;
38572
- break;
38573
- case 3:
38574
- pure[0] = 0;
38575
- pure[1] = w;
38576
- pure[2] = 1;
38577
- break;
38578
- case 4:
38579
- pure[0] = v;
38580
- pure[1] = 0;
38581
- pure[2] = 1;
38582
- break;
38583
- default:
38584
- pure[0] = 1;
38585
- pure[1] = 0;
38586
- pure[2] = w;
37098
+ function elementRefGetterWithDeprecationWarning() {
37099
+ var componentName = getComponentNameFromType(this.type);
37100
+ didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
37101
+ componentName = this.props.ref;
37102
+ return componentName !== undefined ? componentName : null;
38587
37103
  }
38588
- mg = (1 - c) * g;
38589
- return [
38590
- (c * pure[0] + mg) * 255,
38591
- (c * pure[1] + mg) * 255,
38592
- (c * pure[2] + mg) * 255
38593
- ];
38594
- };
38595
- convert.hcg.hsv = function(hcg) {
38596
- const c = hcg[1] / 100;
38597
- const g = hcg[2] / 100;
38598
- const v = c + g * (1 - c);
38599
- let f = 0;
38600
- if (v > 0) {
38601
- f = c / v;
38602
- }
38603
- return [hcg[0], f * 100, v * 100];
38604
- };
38605
- convert.hcg.hsl = function(hcg) {
38606
- const c = hcg[1] / 100;
38607
- const g = hcg[2] / 100;
38608
- const l = g * (1 - c) + 0.5 * c;
38609
- let s = 0;
38610
- if (l > 0 && l < 0.5) {
38611
- s = c / (2 * l);
38612
- } else if (l >= 0.5 && l < 1) {
38613
- s = c / (2 * (1 - l));
38614
- }
38615
- return [hcg[0], s * 100, l * 100];
38616
- };
38617
- convert.hcg.hwb = function(hcg) {
38618
- const c = hcg[1] / 100;
38619
- const g = hcg[2] / 100;
38620
- const v = c + g * (1 - c);
38621
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
38622
- };
38623
- convert.hwb.hcg = function(hwb) {
38624
- const w = hwb[1] / 100;
38625
- const b = hwb[2] / 100;
38626
- const v = 1 - b;
38627
- const c = v - w;
38628
- let g = 0;
38629
- if (c < 1) {
38630
- g = (v - c) / (1 - c);
38631
- }
38632
- return [hwb[0], c * 100, g * 100];
38633
- };
38634
- convert.apple.rgb = function(apple) {
38635
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
38636
- };
38637
- convert.rgb.apple = function(rgb) {
38638
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
38639
- };
38640
- convert.gray.rgb = function(args) {
38641
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
38642
- };
38643
- convert.gray.hsl = function(args) {
38644
- return [0, 0, args[0]];
38645
- };
38646
- convert.gray.hsv = convert.gray.hsl;
38647
- convert.gray.hwb = function(gray) {
38648
- return [0, 100, gray[0]];
38649
- };
38650
- convert.gray.cmyk = function(gray) {
38651
- return [0, 0, 0, gray[0]];
38652
- };
38653
- convert.gray.lab = function(gray) {
38654
- return [gray[0], 0, 0];
38655
- };
38656
- convert.gray.hex = function(gray) {
38657
- const val = Math.round(gray[0] / 100 * 255) & 255;
38658
- const integer = (val << 16) + (val << 8) + val;
38659
- const string = integer.toString(16).toUpperCase();
38660
- return "000000".substring(string.length) + string;
38661
- };
38662
- convert.rgb.gray = function(rgb) {
38663
- const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
38664
- return [val / 255 * 100];
38665
- };
38666
- });
38667
-
38668
- // node_modules/color-convert/route.js
38669
- var require_route = __commonJS((exports, module) => {
38670
- var conversions = require_conversions();
38671
- function buildGraph() {
38672
- const graph = {};
38673
- const models = Object.keys(conversions);
38674
- for (let len = models.length, i = 0;i < len; i++) {
38675
- graph[models[i]] = {
38676
- distance: -1,
38677
- parent: null
37104
+ function ReactElement(type, key, props, owner, debugStack, debugTask) {
37105
+ var refProp = props.ref;
37106
+ type = {
37107
+ $$typeof: REACT_ELEMENT_TYPE,
37108
+ type,
37109
+ key,
37110
+ props,
37111
+ _owner: owner
38678
37112
  };
38679
- }
38680
- return graph;
38681
- }
38682
- function deriveBFS(fromModel) {
38683
- const graph = buildGraph();
38684
- const queue = [fromModel];
38685
- graph[fromModel].distance = 0;
38686
- while (queue.length) {
38687
- const current = queue.pop();
38688
- const adjacents = Object.keys(conversions[current]);
38689
- for (let len = adjacents.length, i = 0;i < len; i++) {
38690
- const adjacent = adjacents[i];
38691
- const node = graph[adjacent];
38692
- if (node.distance === -1) {
38693
- node.distance = graph[current].distance + 1;
38694
- node.parent = current;
38695
- queue.unshift(adjacent);
38696
- }
38697
- }
38698
- }
38699
- return graph;
38700
- }
38701
- function link2(from, to) {
38702
- return function(args) {
38703
- return to(from(args));
38704
- };
38705
- }
38706
- function wrapConversion(toModel, graph) {
38707
- const path = [graph[toModel].parent, toModel];
38708
- let fn = conversions[graph[toModel].parent][toModel];
38709
- let cur = graph[toModel].parent;
38710
- while (graph[cur].parent) {
38711
- path.unshift(graph[cur].parent);
38712
- fn = link2(conversions[graph[cur].parent][cur], fn);
38713
- cur = graph[cur].parent;
38714
- }
38715
- fn.conversion = path;
38716
- return fn;
38717
- }
38718
- module.exports = function(fromModel) {
38719
- const graph = deriveBFS(fromModel);
38720
- const conversion = {};
38721
- const models = Object.keys(graph);
38722
- for (let len = models.length, i = 0;i < len; i++) {
38723
- const toModel = models[i];
38724
- const node = graph[toModel];
38725
- if (node.parent === null) {
38726
- continue;
38727
- }
38728
- conversion[toModel] = wrapConversion(toModel, graph);
38729
- }
38730
- return conversion;
38731
- };
38732
- });
38733
-
38734
- // node_modules/color-convert/index.js
38735
- var require_color_convert = __commonJS((exports, module) => {
38736
- var conversions = require_conversions();
38737
- var route = require_route();
38738
- var convert = {};
38739
- var models = Object.keys(conversions);
38740
- function wrapRaw(fn) {
38741
- const wrappedFn = function(...args) {
38742
- const arg0 = args[0];
38743
- if (arg0 === undefined || arg0 === null) {
38744
- return arg0;
38745
- }
38746
- if (arg0.length > 1) {
38747
- args = arg0;
38748
- }
38749
- return fn(args);
38750
- };
38751
- if ("conversion" in fn) {
38752
- wrappedFn.conversion = fn.conversion;
38753
- }
38754
- return wrappedFn;
38755
- }
38756
- function wrapRounded(fn) {
38757
- const wrappedFn = function(...args) {
38758
- const arg0 = args[0];
38759
- if (arg0 === undefined || arg0 === null) {
38760
- return arg0;
38761
- }
38762
- if (arg0.length > 1) {
38763
- args = arg0;
38764
- }
38765
- const result2 = fn(args);
38766
- if (typeof result2 === "object") {
38767
- for (let len = result2.length, i = 0;i < len; i++) {
38768
- result2[i] = Math.round(result2[i]);
38769
- }
38770
- }
38771
- return result2;
38772
- };
38773
- if ("conversion" in fn) {
38774
- wrappedFn.conversion = fn.conversion;
38775
- }
38776
- return wrappedFn;
38777
- }
38778
- models.forEach((fromModel) => {
38779
- convert[fromModel] = {};
38780
- Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
38781
- Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
38782
- const routes = route(fromModel);
38783
- const routeModels = Object.keys(routes);
38784
- routeModels.forEach((toModel) => {
38785
- const fn = routes[toModel];
38786
- convert[fromModel][toModel] = wrapRounded(fn);
38787
- convert[fromModel][toModel].raw = wrapRaw(fn);
38788
- });
38789
- });
38790
- module.exports = convert;
38791
- });
38792
-
38793
- // node_modules/gradient-string/node_modules/chalk/node_modules/ansi-styles/index.js
38794
- var require_ansi_styles = __commonJS((exports, module) => {
38795
- var wrapAnsi164 = (fn, offset) => (...args) => {
38796
- const code = fn(...args);
38797
- return `\x1B[${code + offset}m`;
38798
- };
38799
- var wrapAnsi2564 = (fn, offset) => (...args) => {
38800
- const code = fn(...args);
38801
- return `\x1B[${38 + offset};5;${code}m`;
38802
- };
38803
- var wrapAnsi16m4 = (fn, offset) => (...args) => {
38804
- const rgb = fn(...args);
38805
- return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
38806
- };
38807
- var ansi2ansi = (n) => n;
38808
- var rgb2rgb = (r, g, b) => [r, g, b];
38809
- var setLazyProperty = (object, property2, get2) => {
38810
- Object.defineProperty(object, property2, {
38811
- get: () => {
38812
- const value = get2();
38813
- Object.defineProperty(object, property2, {
38814
- value,
38815
- enumerable: true,
38816
- configurable: true
38817
- });
38818
- return value;
38819
- },
38820
- enumerable: true,
38821
- configurable: true
38822
- });
38823
- };
38824
- var colorConvert;
38825
- var makeDynamicStyles = (wrap2, targetSpace, identity2, isBackground) => {
38826
- if (colorConvert === undefined) {
38827
- colorConvert = require_color_convert();
38828
- }
38829
- const offset = isBackground ? 10 : 0;
38830
- const styles6 = {};
38831
- for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
38832
- const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
38833
- if (sourceSpace === targetSpace) {
38834
- styles6[name] = wrap2(identity2, offset);
38835
- } else if (typeof suite === "object") {
38836
- styles6[name] = wrap2(suite[targetSpace], offset);
38837
- }
38838
- }
38839
- return styles6;
38840
- };
38841
- function assembleStyles4() {
38842
- const codes = new Map;
38843
- const styles6 = {
38844
- modifier: {
38845
- reset: [0, 0],
38846
- bold: [1, 22],
38847
- dim: [2, 22],
38848
- italic: [3, 23],
38849
- underline: [4, 24],
38850
- inverse: [7, 27],
38851
- hidden: [8, 28],
38852
- strikethrough: [9, 29]
38853
- },
38854
- color: {
38855
- black: [30, 39],
38856
- red: [31, 39],
38857
- green: [32, 39],
38858
- yellow: [33, 39],
38859
- blue: [34, 39],
38860
- magenta: [35, 39],
38861
- cyan: [36, 39],
38862
- white: [37, 39],
38863
- blackBright: [90, 39],
38864
- redBright: [91, 39],
38865
- greenBright: [92, 39],
38866
- yellowBright: [93, 39],
38867
- blueBright: [94, 39],
38868
- magentaBright: [95, 39],
38869
- cyanBright: [96, 39],
38870
- whiteBright: [97, 39]
38871
- },
38872
- bgColor: {
38873
- bgBlack: [40, 49],
38874
- bgRed: [41, 49],
38875
- bgGreen: [42, 49],
38876
- bgYellow: [43, 49],
38877
- bgBlue: [44, 49],
38878
- bgMagenta: [45, 49],
38879
- bgCyan: [46, 49],
38880
- bgWhite: [47, 49],
38881
- bgBlackBright: [100, 49],
38882
- bgRedBright: [101, 49],
38883
- bgGreenBright: [102, 49],
38884
- bgYellowBright: [103, 49],
38885
- bgBlueBright: [104, 49],
38886
- bgMagentaBright: [105, 49],
38887
- bgCyanBright: [106, 49],
38888
- bgWhiteBright: [107, 49]
38889
- }
38890
- };
38891
- styles6.color.gray = styles6.color.blackBright;
38892
- styles6.bgColor.bgGray = styles6.bgColor.bgBlackBright;
38893
- styles6.color.grey = styles6.color.blackBright;
38894
- styles6.bgColor.bgGrey = styles6.bgColor.bgBlackBright;
38895
- for (const [groupName, group] of Object.entries(styles6)) {
38896
- for (const [styleName, style] of Object.entries(group)) {
38897
- styles6[styleName] = {
38898
- open: `\x1B[${style[0]}m`,
38899
- close: `\x1B[${style[1]}m`
38900
- };
38901
- group[styleName] = styles6[styleName];
38902
- codes.set(style[0], style[1]);
38903
- }
38904
- Object.defineProperty(styles6, groupName, {
38905
- value: group,
38906
- enumerable: false
37113
+ (refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
37114
+ enumerable: false,
37115
+ get: elementRefGetterWithDeprecationWarning
37116
+ }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
37117
+ type._store = {};
37118
+ Object.defineProperty(type._store, "validated", {
37119
+ configurable: false,
37120
+ enumerable: false,
37121
+ writable: true,
37122
+ value: 0
38907
37123
  });
37124
+ Object.defineProperty(type, "_debugInfo", {
37125
+ configurable: false,
37126
+ enumerable: false,
37127
+ writable: true,
37128
+ value: null
37129
+ });
37130
+ Object.defineProperty(type, "_debugStack", {
37131
+ configurable: false,
37132
+ enumerable: false,
37133
+ writable: true,
37134
+ value: debugStack
37135
+ });
37136
+ Object.defineProperty(type, "_debugTask", {
37137
+ configurable: false,
37138
+ enumerable: false,
37139
+ writable: true,
37140
+ value: debugTask
37141
+ });
37142
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
37143
+ return type;
38908
37144
  }
38909
- Object.defineProperty(styles6, "codes", {
38910
- value: codes,
38911
- enumerable: false
38912
- });
38913
- styles6.color.close = "\x1B[39m";
38914
- styles6.bgColor.close = "\x1B[49m";
38915
- setLazyProperty(styles6.color, "ansi", () => makeDynamicStyles(wrapAnsi164, "ansi16", ansi2ansi, false));
38916
- setLazyProperty(styles6.color, "ansi256", () => makeDynamicStyles(wrapAnsi2564, "ansi256", ansi2ansi, false));
38917
- setLazyProperty(styles6.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m4, "rgb", rgb2rgb, false));
38918
- setLazyProperty(styles6.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi164, "ansi16", ansi2ansi, true));
38919
- setLazyProperty(styles6.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi2564, "ansi256", ansi2ansi, true));
38920
- setLazyProperty(styles6.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m4, "rgb", rgb2rgb, true));
38921
- return styles6;
38922
- }
38923
- Object.defineProperty(module, "exports", {
38924
- enumerable: true,
38925
- get: assembleStyles4
38926
- });
38927
- });
38928
-
38929
- // node_modules/has-flag/index.js
38930
- var require_has_flag = __commonJS((exports, module) => {
38931
- module.exports = (flag, argv = process.argv) => {
38932
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
38933
- const position = argv.indexOf(prefix + flag);
38934
- const terminatorPosition = argv.indexOf("--");
38935
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
38936
- };
38937
- });
38938
-
38939
- // node_modules/supports-color/index.js
38940
- var require_supports_color = __commonJS((exports, module) => {
38941
- var os3 = __require("os");
38942
- var tty2 = __require("tty");
38943
- var hasFlag2 = require_has_flag();
38944
- var { env: env3 } = process;
38945
- var forceColor;
38946
- if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false") || hasFlag2("color=never")) {
38947
- forceColor = 0;
38948
- } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) {
38949
- forceColor = 1;
38950
- }
38951
- if ("FORCE_COLOR" in env3) {
38952
- if (env3.FORCE_COLOR === "true") {
38953
- forceColor = 1;
38954
- } else if (env3.FORCE_COLOR === "false") {
38955
- forceColor = 0;
38956
- } else {
38957
- forceColor = env3.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env3.FORCE_COLOR, 10), 3);
38958
- }
38959
- }
38960
- function translateLevel2(level) {
38961
- if (level === 0) {
38962
- return false;
38963
- }
38964
- return {
38965
- level,
38966
- hasBasic: true,
38967
- has256: level >= 2,
38968
- has16m: level >= 3
38969
- };
38970
- }
38971
- function supportsColor2(haveStream, streamIsTTY) {
38972
- if (forceColor === 0) {
38973
- return 0;
38974
- }
38975
- if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) {
38976
- return 3;
38977
- }
38978
- if (hasFlag2("color=256")) {
38979
- return 2;
38980
- }
38981
- if (haveStream && !streamIsTTY && forceColor === undefined) {
38982
- return 0;
38983
- }
38984
- const min2 = forceColor || 0;
38985
- if (env3.TERM === "dumb") {
38986
- return min2;
38987
- }
38988
- if (process.platform === "win32") {
38989
- const osRelease = os3.release().split(".");
38990
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
38991
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
38992
- }
38993
- return 1;
38994
- }
38995
- if ("CI" in env3) {
38996
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => (sign in env3)) || env3.CI_NAME === "codeship") {
38997
- return 1;
38998
- }
38999
- return min2;
39000
- }
39001
- if ("TEAMCITY_VERSION" in env3) {
39002
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env3.TEAMCITY_VERSION) ? 1 : 0;
39003
- }
39004
- if (env3.COLORTERM === "truecolor") {
39005
- return 3;
39006
- }
39007
- if ("TERM_PROGRAM" in env3) {
39008
- const version = parseInt((env3.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
39009
- switch (env3.TERM_PROGRAM) {
39010
- case "iTerm.app":
39011
- return version >= 3 ? 3 : 2;
39012
- case "Apple_Terminal":
39013
- return 2;
39014
- }
39015
- }
39016
- if (/-256(color)?$/i.test(env3.TERM)) {
39017
- return 2;
39018
- }
39019
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env3.TERM)) {
39020
- return 1;
39021
- }
39022
- if ("COLORTERM" in env3) {
39023
- return 1;
39024
- }
39025
- return min2;
39026
- }
39027
- function getSupportLevel(stream) {
39028
- const level = supportsColor2(stream, stream && stream.isTTY);
39029
- return translateLevel2(level);
39030
- }
39031
- module.exports = {
39032
- supportsColor: getSupportLevel,
39033
- stdout: translateLevel2(supportsColor2(true, tty2.isatty(1))),
39034
- stderr: translateLevel2(supportsColor2(true, tty2.isatty(2)))
39035
- };
39036
- });
39037
-
39038
- // node_modules/gradient-string/node_modules/chalk/source/util.js
39039
- var require_util = __commonJS((exports, module) => {
39040
- var stringReplaceAll2 = (string, substring, replacer) => {
39041
- let index = string.indexOf(substring);
39042
- if (index === -1) {
39043
- return string;
39044
- }
39045
- const substringLength = substring.length;
39046
- let endIndex = 0;
39047
- let returnValue = "";
39048
- do {
39049
- returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
39050
- endIndex = index + substringLength;
39051
- index = string.indexOf(substring, endIndex);
39052
- } while (index !== -1);
39053
- returnValue += string.substr(endIndex);
39054
- return returnValue;
39055
- };
39056
- var stringEncaseCRLFWithFirstIndex2 = (string, prefix, postfix, index) => {
39057
- let endIndex = 0;
39058
- let returnValue = "";
39059
- do {
39060
- const gotCR = string[index - 1] === "\r";
39061
- returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? `\r
39062
- ` : `
39063
- `) + postfix;
39064
- endIndex = index + 1;
39065
- index = string.indexOf(`
39066
- `, endIndex);
39067
- } while (index !== -1);
39068
- returnValue += string.substr(endIndex);
39069
- return returnValue;
39070
- };
39071
- module.exports = {
39072
- stringReplaceAll: stringReplaceAll2,
39073
- stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
39074
- };
39075
- });
39076
-
39077
- // node_modules/gradient-string/node_modules/chalk/source/templates.js
39078
- var require_templates = __commonJS((exports, module) => {
39079
- var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
39080
- var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
39081
- var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
39082
- var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
39083
- var ESCAPES5 = new Map([
39084
- ["n", `
39085
- `],
39086
- ["r", "\r"],
39087
- ["t", "\t"],
39088
- ["b", "\b"],
39089
- ["f", "\f"],
39090
- ["v", "\v"],
39091
- ["0", "\x00"],
39092
- ["\\", "\\"],
39093
- ["e", "\x1B"],
39094
- ["a", "\x07"]
39095
- ]);
39096
- function unescape2(c) {
39097
- const u = c[0] === "u";
39098
- const bracket = c[1] === "{";
39099
- if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
39100
- return String.fromCharCode(parseInt(c.slice(1), 16));
39101
- }
39102
- if (u && bracket) {
39103
- return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
39104
- }
39105
- return ESCAPES5.get(c) || c;
39106
- }
39107
- function parseArguments(name, arguments_) {
39108
- const results = [];
39109
- const chunks = arguments_.trim().split(/\s*,\s*/g);
39110
- let matches2;
39111
- for (const chunk2 of chunks) {
39112
- const number = Number(chunk2);
39113
- if (!Number.isNaN(number)) {
39114
- results.push(number);
39115
- } else if (matches2 = chunk2.match(STRING_REGEX)) {
39116
- results.push(matches2[2].replace(ESCAPE_REGEX, (m, escape3, character) => escape3 ? unescape2(escape3) : character));
39117
- } else {
39118
- throw new Error(`Invalid Chalk template style argument: ${chunk2} (in style '${name}')`);
39119
- }
39120
- }
39121
- return results;
39122
- }
39123
- function parseStyle(style) {
39124
- STYLE_REGEX.lastIndex = 0;
39125
- const results = [];
39126
- let matches2;
39127
- while ((matches2 = STYLE_REGEX.exec(style)) !== null) {
39128
- const name = matches2[1];
39129
- if (matches2[2]) {
39130
- const args = parseArguments(name, matches2[2]);
39131
- results.push([name].concat(args));
39132
- } else {
39133
- results.push([name]);
39134
- }
39135
- }
39136
- return results;
39137
- }
39138
- function buildStyle(chalk2, styles6) {
39139
- const enabled = {};
39140
- for (const layer of styles6) {
39141
- for (const style of layer.styles) {
39142
- enabled[style[0]] = layer.inverse ? null : style.slice(1);
39143
- }
39144
- }
39145
- let current = chalk2;
39146
- for (const [styleName, styles7] of Object.entries(enabled)) {
39147
- if (!Array.isArray(styles7)) {
39148
- continue;
39149
- }
39150
- if (!(styleName in current)) {
39151
- throw new Error(`Unknown Chalk style: ${styleName}`);
37145
+ function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
37146
+ var children = config.children;
37147
+ if (children !== undefined)
37148
+ if (isStaticChildren)
37149
+ if (isArrayImpl(children)) {
37150
+ for (isStaticChildren = 0;isStaticChildren < children.length; isStaticChildren++)
37151
+ validateChildKeys(children[isStaticChildren]);
37152
+ Object.freeze && Object.freeze(children);
37153
+ } else
37154
+ console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
37155
+ else
37156
+ validateChildKeys(children);
37157
+ if (hasOwnProperty.call(config, "key")) {
37158
+ children = getComponentNameFromType(type);
37159
+ var keys2 = Object.keys(config).filter(function(k) {
37160
+ return k !== "key";
37161
+ });
37162
+ isStaticChildren = 0 < keys2.length ? "{key: someKey, " + keys2.join(": ..., ") + ": ...}" : "{key: someKey}";
37163
+ didWarnAboutKeySpread[children + isStaticChildren] || (keys2 = 0 < keys2.length ? "{" + keys2.join(": ..., ") + ": ...}" : "{}", console.error(`A props object containing a "key" prop is being spread into JSX:
37164
+ let props = %s;
37165
+ <%s {...props} />
37166
+ React keys must be passed directly to JSX without using spread:
37167
+ let props = %s;
37168
+ <%s key={someKey} {...props} />`, isStaticChildren, children, keys2, children), didWarnAboutKeySpread[children + isStaticChildren] = true);
39152
37169
  }
39153
- current = styles7.length > 0 ? current[styleName](...styles7) : current[styleName];
37170
+ children = null;
37171
+ maybeKey !== undefined && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
37172
+ hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
37173
+ if ("key" in config) {
37174
+ maybeKey = {};
37175
+ for (var propName in config)
37176
+ propName !== "key" && (maybeKey[propName] = config[propName]);
37177
+ } else
37178
+ maybeKey = config;
37179
+ children && defineKeyPropWarningGetter(maybeKey, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
37180
+ return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
39154
37181
  }
39155
- return current;
39156
- }
39157
- module.exports = (chalk2, temporary) => {
39158
- const styles6 = [];
39159
- const chunks = [];
39160
- let chunk2 = [];
39161
- temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
39162
- if (escapeCharacter) {
39163
- chunk2.push(unescape2(escapeCharacter));
39164
- } else if (style) {
39165
- const string = chunk2.join("");
39166
- chunk2 = [];
39167
- chunks.push(styles6.length === 0 ? string : buildStyle(chalk2, styles6)(string));
39168
- styles6.push({ inverse, styles: parseStyle(style) });
39169
- } else if (close) {
39170
- if (styles6.length === 0) {
39171
- throw new Error("Found extraneous } in Chalk template literal");
39172
- }
39173
- chunks.push(buildStyle(chalk2, styles6)(chunk2.join("")));
39174
- chunk2 = [];
39175
- styles6.pop();
39176
- } else {
39177
- chunk2.push(character);
39178
- }
39179
- });
39180
- chunks.push(chunk2.join(""));
39181
- if (styles6.length > 0) {
39182
- const errMessage = `Chalk template literal is missing ${styles6.length} closing bracket${styles6.length === 1 ? "" : "s"} (\`}\`)`;
39183
- throw new Error(errMessage);
37182
+ function validateChildKeys(node) {
37183
+ isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
39184
37184
  }
39185
- return chunks.join("");
39186
- };
39187
- });
39188
-
39189
- // node_modules/gradient-string/node_modules/chalk/source/index.js
39190
- var require_source = __commonJS((exports, module) => {
39191
- var ansiStyles4 = require_ansi_styles();
39192
- var { stdout: stdoutColor2, stderr: stderrColor2 } = require_supports_color();
39193
- var {
39194
- stringReplaceAll: stringReplaceAll2,
39195
- stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
39196
- } = require_util();
39197
- var { isArray: isArray2 } = Array;
39198
- var levelMapping2 = [
39199
- "ansi",
39200
- "ansi",
39201
- "ansi256",
39202
- "ansi16m"
39203
- ];
39204
- var styles6 = Object.create(null);
39205
- var applyOptions2 = (object, options = {}) => {
39206
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
39207
- throw new Error("The `level` option should be an integer from 0 to 3");
37185
+ function isValidElement(object) {
37186
+ return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
39208
37187
  }
39209
- const colorLevel = stdoutColor2 ? stdoutColor2.level : 0;
39210
- object.level = options.level === undefined ? colorLevel : options.level;
39211
- };
39212
-
39213
- class ChalkClass {
39214
- constructor(options) {
39215
- return chalkFactory2(options);
39216
- }
39217
- }
39218
- var chalkFactory2 = (options) => {
39219
- const chalk3 = {};
39220
- applyOptions2(chalk3, options);
39221
- chalk3.template = (...arguments_) => chalkTag(chalk3.template, ...arguments_);
39222
- Object.setPrototypeOf(chalk3, Chalk.prototype);
39223
- Object.setPrototypeOf(chalk3.template, chalk3);
39224
- chalk3.template.constructor = () => {
39225
- throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
37188
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React10.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
37189
+ return null;
39226
37190
  };
39227
- chalk3.template.Instance = ChalkClass;
39228
- return chalk3.template;
39229
- };
39230
- function Chalk(options) {
39231
- return chalkFactory2(options);
39232
- }
39233
- for (const [styleName, style] of Object.entries(ansiStyles4)) {
39234
- styles6[styleName] = {
39235
- get() {
39236
- const builder = createBuilder2(this, createStyler2(style.open, style.close, this._styler), this._isEmpty);
39237
- Object.defineProperty(this, styleName, { value: builder });
39238
- return builder;
37191
+ React10 = {
37192
+ react_stack_bottom_frame: function(callStackForError) {
37193
+ return callStackForError();
39239
37194
  }
39240
37195
  };
39241
- }
39242
- styles6.visible = {
39243
- get() {
39244
- const builder = createBuilder2(this, this._styler, true);
39245
- Object.defineProperty(this, "visible", { value: builder });
39246
- return builder;
39247
- }
39248
- };
39249
- var usedModels2 = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
39250
- for (const model of usedModels2) {
39251
- styles6[model] = {
39252
- get() {
39253
- const { level } = this;
39254
- return function(...arguments_) {
39255
- const styler = createStyler2(ansiStyles4.color[levelMapping2[level]][model](...arguments_), ansiStyles4.color.close, this._styler);
39256
- return createBuilder2(this, styler, this._isEmpty);
39257
- };
39258
- }
37196
+ var specialPropKeyWarningShown;
37197
+ var didWarnAboutElementRef = {};
37198
+ var unknownOwnerDebugStack = React10.react_stack_bottom_frame.bind(React10, UnknownOwner)();
37199
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
37200
+ var didWarnAboutKeySpread = {};
37201
+ exports.Fragment = REACT_FRAGMENT_TYPE;
37202
+ exports.jsx = function(type, config, maybeKey) {
37203
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
37204
+ return jsxDEVImpl(type, config, maybeKey, false, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
39259
37205
  };
39260
- }
39261
- for (const model of usedModels2) {
39262
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
39263
- styles6[bgModel] = {
39264
- get() {
39265
- const { level } = this;
39266
- return function(...arguments_) {
39267
- const styler = createStyler2(ansiStyles4.bgColor[levelMapping2[level]][model](...arguments_), ansiStyles4.bgColor.close, this._styler);
39268
- return createBuilder2(this, styler, this._isEmpty);
39269
- };
39270
- }
37206
+ exports.jsxs = function(type, config, maybeKey) {
37207
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
37208
+ return jsxDEVImpl(type, config, maybeKey, true, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
39271
37209
  };
37210
+ })();
37211
+ });
37212
+
37213
+ // node_modules/react/jsx-runtime.js
37214
+ var require_jsx_runtime = __commonJS((exports, module) => {
37215
+ var react_jsx_runtime_development = __toESM(require_react_jsx_runtime_development());
37216
+ if (false) {} else {
37217
+ module.exports = react_jsx_runtime_development;
39272
37218
  }
39273
- var proto2 = Object.defineProperties(() => {}, {
39274
- ...styles6,
39275
- level: {
39276
- enumerable: true,
39277
- get() {
39278
- return this._generator.level;
39279
- },
39280
- set(level) {
39281
- this._generator.level = level;
39282
- }
39283
- }
39284
- });
39285
- var createStyler2 = (open, close, parent) => {
39286
- let openAll;
39287
- let closeAll;
39288
- if (parent === undefined) {
39289
- openAll = open;
39290
- closeAll = close;
39291
- } else {
39292
- openAll = parent.openAll + open;
39293
- closeAll = close + parent.closeAll;
39294
- }
39295
- return {
39296
- open,
39297
- close,
39298
- openAll,
39299
- closeAll,
39300
- parent
39301
- };
39302
- };
39303
- var createBuilder2 = (self2, _styler, _isEmpty) => {
39304
- const builder = (...arguments_) => {
39305
- if (isArray2(arguments_[0]) && isArray2(arguments_[0].raw)) {
39306
- return applyStyle2(builder, chalkTag(builder, ...arguments_));
39307
- }
39308
- return applyStyle2(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
39309
- };
39310
- Object.setPrototypeOf(builder, proto2);
39311
- builder._generator = self2;
39312
- builder._styler = _styler;
39313
- builder._isEmpty = _isEmpty;
39314
- return builder;
39315
- };
39316
- var applyStyle2 = (self2, string) => {
39317
- if (self2.level <= 0 || !string) {
39318
- return self2._isEmpty ? "" : string;
39319
- }
39320
- let styler = self2._styler;
39321
- if (styler === undefined) {
39322
- return string;
39323
- }
39324
- const { openAll, closeAll } = styler;
39325
- if (string.indexOf("\x1B") !== -1) {
39326
- while (styler !== undefined) {
39327
- string = stringReplaceAll2(string, styler.close, styler.open);
39328
- styler = styler.parent;
39329
- }
39330
- }
39331
- const lfIndex = string.indexOf(`
39332
- `);
39333
- if (lfIndex !== -1) {
39334
- string = stringEncaseCRLFWithFirstIndex2(string, closeAll, openAll, lfIndex);
39335
- }
39336
- return openAll + string + closeAll;
39337
- };
39338
- var template2;
39339
- var chalkTag = (chalk3, ...strings) => {
39340
- const [firstString] = strings;
39341
- if (!isArray2(firstString) || !isArray2(firstString.raw)) {
39342
- return strings.join(" ");
39343
- }
39344
- const arguments_ = strings.slice(1);
39345
- const parts = [firstString.raw[0]];
39346
- for (let i = 1;i < firstString.length; i++) {
39347
- parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"), String(firstString.raw[i]));
39348
- }
39349
- if (template2 === undefined) {
39350
- template2 = require_templates();
39351
- }
39352
- return template2(chalk3, parts.join(""));
39353
- };
39354
- Object.defineProperties(Chalk.prototype, styles6);
39355
- var chalk2 = Chalk();
39356
- chalk2.supportsColor = stdoutColor2;
39357
- chalk2.stderr = Chalk({ level: stderrColor2 ? stderrColor2.level : 0 });
39358
- chalk2.stderr.supportsColor = stderrColor2;
39359
- module.exports = chalk2;
39360
37219
  });
39361
37220
 
39362
37221
  // node_modules/tinycolor2/cjs/tinycolor.js
@@ -40598,81 +38457,6 @@ var require_tinygradient = __commonJS((exports, module) => {
40598
38457
  };
40599
38458
  });
40600
38459
 
40601
- // node_modules/gradient-string/index.js
40602
- var require_gradient_string = __commonJS((exports, module) => {
40603
- var chalk2 = require_source();
40604
- var tinygradient = require_tinygradient();
40605
- var forbiddenChars = /\s/g;
40606
- function InitGradient(...args) {
40607
- const grad = tinygradient.apply(this, args);
40608
- const ret = (str, opts) => applyGradient(str ? str.toString() : "", grad, opts);
40609
- ret.multiline = (str, opts) => multilineGradient(str ? str.toString() : "", grad, opts);
40610
- return ret;
40611
- }
40612
- var getColors = (gradient, options, count) => options.interpolation.toLowerCase() === "hsv" ? gradient.hsv(count, options.hsvSpin.toLowerCase()) : gradient.rgb(count);
40613
- function applyGradient(str, gradient, opts) {
40614
- const options = validateOptions(opts);
40615
- const colorsCount = Math.max(str.replace(forbiddenChars, "").length, gradient.stops.length);
40616
- const colors = getColors(gradient, options, colorsCount);
40617
- let result2 = "";
40618
- for (const s of str) {
40619
- result2 += s.match(forbiddenChars) ? s : chalk2.hex(colors.shift().toHex())(s);
40620
- }
40621
- return result2;
40622
- }
40623
- function multilineGradient(str, gradient, opts) {
40624
- const options = validateOptions(opts);
40625
- const lines = str.split(`
40626
- `);
40627
- const maxLength = Math.max.apply(null, lines.map((l) => l.length).concat([gradient.stops.length]));
40628
- const colors = getColors(gradient, options, maxLength);
40629
- const results = [];
40630
- for (const line of lines) {
40631
- const lineColors = colors.slice(0);
40632
- let lineResult = "";
40633
- for (const l of line) {
40634
- lineResult += chalk2.hex(lineColors.shift().toHex())(l);
40635
- }
40636
- results.push(lineResult);
40637
- }
40638
- return results.join(`
40639
- `);
40640
- }
40641
- function validateOptions(opts) {
40642
- const options = { interpolation: "rgb", hsvSpin: "short", ...opts };
40643
- if (opts !== undefined && typeof opts !== "object") {
40644
- throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof opts}\``);
40645
- }
40646
- if (typeof options.interpolation !== "string") {
40647
- throw new TypeError(`Expected \`options.interpolation\` to be a \`string\`, got \`${typeof options.interpolation}\``);
40648
- }
40649
- if (options.interpolation.toLowerCase() === "hsv" && typeof options.hsvSpin !== "string") {
40650
- throw new TypeError(`Expected \`options.hsvSpin\` to be a \`string\`, got \`${typeof options.hsvSpin}\``);
40651
- }
40652
- return options;
40653
- }
40654
- var aliases = {
40655
- atlas: { colors: ["#feac5e", "#c779d0", "#4bc0c8"], options: {} },
40656
- cristal: { colors: ["#bdfff3", "#4ac29a"], options: {} },
40657
- teen: { colors: ["#77a1d3", "#79cbca", "#e684ae"], options: {} },
40658
- mind: { colors: ["#473b7b", "#3584a7", "#30d2be"], options: {} },
40659
- morning: { colors: ["#ff5f6d", "#ffc371"], options: { interpolation: "hsv" } },
40660
- vice: { colors: ["#5ee7df", "#b490ca"], options: { interpolation: "hsv" } },
40661
- passion: { colors: ["#f43b47", "#453a94"], options: {} },
40662
- fruit: { colors: ["#ff4e50", "#f9d423"], options: {} },
40663
- instagram: { colors: ["#833ab4", "#fd1d1d", "#fcb045"], options: {} },
40664
- retro: { colors: ["#3f51b1", "#5a55ae", "#7b5fac", "#8f6aae", "#a86aa4", "#cc6b8e", "#f18271", "#f3a469", "#f7c978"], options: {} },
40665
- summer: { colors: ["#fdbb2d", "#22c1c3"], options: {} },
40666
- rainbow: { colors: ["#ff0000", "#ff0100"], options: { interpolation: "hsv", hsvSpin: "long" } },
40667
- pastel: { colors: ["#74ebd5", "#74ecd5"], options: { interpolation: "hsv", hsvSpin: "long" } }
40668
- };
40669
- module.exports = InitGradient;
40670
- for (const a in aliases) {
40671
- module.exports[a] = (str) => new InitGradient(aliases[a].colors)(str, aliases[a].options);
40672
- module.exports[a].multiline = (str) => new InitGradient(aliases[a].colors).multiline(str, aliases[a].options);
40673
- }
40674
- });
40675
-
40676
38460
  // node_modules/zod/v4/core/core.js
40677
38461
  function $constructor(name, initializer, params) {
40678
38462
  function init(inst, def) {
@@ -41717,8 +39501,8 @@ function emoji() {
41717
39501
  }
41718
39502
  function timeSource(args) {
41719
39503
  const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
41720
- const regex5 = typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
41721
- return regex5;
39504
+ const regex3 = typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
39505
+ return regex3;
41722
39506
  }
41723
39507
  function time(args) {
41724
39508
  return new RegExp(`^${timeSource(args)}$`);
@@ -41747,8 +39531,8 @@ var cuid, cuid2, ulid, xid, ksuid, nanoid, duration, extendedDuration, guid, uui
41747
39531
  const escapedDelim = escapeRegex(delimiter ?? ":");
41748
39532
  return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
41749
39533
  }, cidrv4, cidrv6, base64, base64url, hostname, domain, e164, dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`, date, string = (params) => {
41750
- const regex5 = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
41751
- return new RegExp(`^${regex5}$`);
39534
+ const regex3 = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
39535
+ return new RegExp(`^${regex3}$`);
41752
39536
  }, bigint, integer, number, boolean, _null, _undefined, lowercase, uppercase, hex, md5_hex, md5_base64, md5_base64url, sha1_hex, sha1_base64, sha1_base64url, sha256_hex, sha256_base64, sha256_base64url, sha384_hex, sha384_base64, sha384_base64url, sha512_hex, sha512_base64, sha512_base64url;
41753
39537
  var init_regexes = __esm(() => {
41754
39538
  init_util();
@@ -51537,9 +49321,9 @@ var formatMap, stringProcessor = (schema, ctx, _json, _params) => {
51537
49321
  json.pattern = regexes[0].source;
51538
49322
  else if (regexes.length > 1) {
51539
49323
  json.allOf = [
51540
- ...regexes.map((regex5) => ({
49324
+ ...regexes.map((regex3) => ({
51541
49325
  ...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {},
51542
- pattern: regex5.source
49326
+ pattern: regex3.source
51543
49327
  }))
51544
49328
  ];
51545
49329
  }
@@ -52754,10 +50538,10 @@ function hex2(_params) {
52754
50538
  function hash(alg, params) {
52755
50539
  const enc = params?.enc ?? "hex";
52756
50540
  const format = `${alg}_${enc}`;
52757
- const regex5 = exports_regexes[format];
52758
- if (!regex5)
50541
+ const regex3 = exports_regexes[format];
50542
+ if (!regex3)
52759
50543
  throw new Error(`Unrecognized hash format: ${format}`);
52760
- return _stringFormat(ZodCustomStringFormat, format, regex5, params);
50544
+ return _stringFormat(ZodCustomStringFormat, format, regex3, params);
52761
50545
  }
52762
50546
  function number2(params) {
52763
50547
  return _number(ZodNumber, params);
@@ -54967,6 +52751,75 @@ function getGitChangeCounts(context) {
54967
52751
  }
54968
52752
  var init_git = () => {};
54969
52753
 
52754
+ // src/utils/hyperlink.ts
52755
+ function renderOsc8Link(url2, text) {
52756
+ return `\x1B]8;;${url2}\x1B\\${text}\x1B]8;;\x1B\\`;
52757
+ }
52758
+ function parseGitHubRepositoryPath(pathname) {
52759
+ const trimmedPath = pathname.replace(/^\/+|\/+$/g, "").replace(/\.git$/, "");
52760
+ const segments = trimmedPath.split("/").filter(Boolean);
52761
+ if (segments.length !== 2) {
52762
+ return null;
52763
+ }
52764
+ return `${segments[0]}/${segments[1]}`;
52765
+ }
52766
+ function parseGitHubBaseUrl(remoteUrl) {
52767
+ const trimmed = remoteUrl.trim();
52768
+ if (trimmed.length === 0) {
52769
+ return null;
52770
+ }
52771
+ const sshMatch = /^(?:[^@]+@)?github\.com:([^/]+\/[^/]+?)(?:\.git)?\/?$/.exec(trimmed);
52772
+ if (sshMatch?.[1]) {
52773
+ return `https://github.com/${sshMatch[1]}`;
52774
+ }
52775
+ try {
52776
+ const parsedUrl = new URL(trimmed);
52777
+ const supportedProtocols = new Set([
52778
+ "http:",
52779
+ "https:",
52780
+ "ssh:",
52781
+ "git:"
52782
+ ]);
52783
+ if (parsedUrl.hostname.toLowerCase() !== "github.com" || !supportedProtocols.has(parsedUrl.protocol)) {
52784
+ return null;
52785
+ }
52786
+ const repoPath = parseGitHubRepositoryPath(parsedUrl.pathname);
52787
+ if (!repoPath) {
52788
+ return null;
52789
+ }
52790
+ return `https://github.com/${repoPath}`;
52791
+ } catch {
52792
+ return null;
52793
+ }
52794
+ }
52795
+ function encodeGitRefForUrlPath(ref) {
52796
+ return ref.split("/").map((segment) => encodeURIComponent(segment)).join("/");
52797
+ }
52798
+ function encodeFilePathForUri(path) {
52799
+ return path.replace(/\\/g, "/").split("/").map((segment) => encodeURIComponent(segment)).join("/");
52800
+ }
52801
+ function buildIdeFileUrl(filePath, ideLinkMode) {
52802
+ const normalizedPath = filePath.replace(/\\/g, "/");
52803
+ const uncMatch = /^\/\/([^/]+)(\/.*)?$/.exec(normalizedPath);
52804
+ if (uncMatch?.[1]) {
52805
+ const encodedPath = encodeFilePathForUri(uncMatch[2] ?? "/");
52806
+ return `${ideLinkMode}://file//${uncMatch[1]}${encodedPath}`;
52807
+ }
52808
+ const driveMatch = /^([A-Za-z]:)(\/.*)?$/.exec(normalizedPath);
52809
+ if (driveMatch?.[1]) {
52810
+ const encodedPath = encodeFilePathForUri(driveMatch[2] ?? "/");
52811
+ return `${ideLinkMode}://file/${driveMatch[1]}${encodedPath}`;
52812
+ }
52813
+ return `${ideLinkMode}://file${encodeFilePathForUri(normalizedPath)}`;
52814
+ }
52815
+ var IDE_LINK_MODES;
52816
+ var init_hyperlink = __esm(() => {
52817
+ IDE_LINK_MODES = [
52818
+ "vscode",
52819
+ "cursor"
52820
+ ];
52821
+ });
52822
+
54970
52823
  // src/widgets/shared/editor-display.ts
54971
52824
  function makeModifierText(modifiers) {
54972
52825
  return modifiers.length > 0 ? `(${modifiers.join(", ")})` : undefined;
@@ -54985,6 +52838,13 @@ function toggleMetadataFlag(item, key) {
54985
52838
  }
54986
52839
  };
54987
52840
  }
52841
+ function removeMetadataKeys(item, keys2) {
52842
+ const nextMetadata = Object.fromEntries(Object.entries(item.metadata ?? {}).filter(([key]) => !keys2.includes(key)));
52843
+ return {
52844
+ ...item,
52845
+ metadata: Object.keys(nextMetadata).length > 0 ? nextMetadata : undefined
52846
+ };
52847
+ }
54988
52848
 
54989
52849
  // src/widgets/shared/git-no-git.ts
54990
52850
  function isHideNoGitEnabled(item) {
@@ -55026,32 +52886,56 @@ class GitBranchWidget {
55026
52886
  return "Git";
55027
52887
  }
55028
52888
  getEditorDisplay(item) {
52889
+ const isLink = isMetadataFlagEnabled(item, LINK_KEY);
52890
+ const modifiers = [];
52891
+ const noGitText = getHideNoGitModifierText(item);
52892
+ if (noGitText)
52893
+ modifiers.push("hide 'no git'");
52894
+ if (isLink)
52895
+ modifiers.push("GitHub link");
55029
52896
  return {
55030
52897
  displayText: this.getDisplayName(),
55031
- modifierText: getHideNoGitModifierText(item)
52898
+ modifierText: makeModifierText(modifiers)
55032
52899
  };
55033
52900
  }
55034
52901
  handleEditorAction(action, item) {
52902
+ if (action === TOGGLE_LINK_ACTION) {
52903
+ return toggleMetadataFlag(item, LINK_KEY);
52904
+ }
55035
52905
  return handleToggleNoGitAction(action, item);
55036
52906
  }
55037
52907
  render(item, context, settings) {
55038
52908
  const hideNoGit = isHideNoGitEnabled(item);
52909
+ const isLink = isMetadataFlagEnabled(item, LINK_KEY);
55039
52910
  if (context.isPreview) {
55040
- return item.rawValue ? "main" : "⎇ main";
52911
+ const text = item.rawValue ? "main" : "⎇ main";
52912
+ return isLink ? renderOsc8Link("https://github.com/owner/repo/tree/main", text) : text;
55041
52913
  }
55042
52914
  if (!isInsideGitWorkTree(context)) {
55043
52915
  return hideNoGit ? null : "⎇ no git";
55044
52916
  }
55045
52917
  const branch = this.getGitBranch(context);
55046
- if (branch)
55047
- return item.rawValue ? branch : `⎇ ${branch}`;
55048
- return hideNoGit ? null : "⎇ no git";
52918
+ if (!branch) {
52919
+ return hideNoGit ? null : "⎇ no git";
52920
+ }
52921
+ const displayText = item.rawValue ? branch : `⎇ ${branch}`;
52922
+ if (isLink) {
52923
+ const remoteUrl = runGit("remote get-url origin", context);
52924
+ const baseUrl = remoteUrl ? parseGitHubBaseUrl(remoteUrl) : null;
52925
+ if (baseUrl) {
52926
+ return renderOsc8Link(`${baseUrl}/tree/${encodeGitRefForUrlPath(branch)}`, displayText);
52927
+ }
52928
+ }
52929
+ return displayText;
55049
52930
  }
55050
52931
  getGitBranch(context) {
55051
52932
  return runGit("branch --show-current", context);
55052
52933
  }
55053
52934
  getCustomKeybinds() {
55054
- return getHideNoGitKeybinds();
52935
+ return [
52936
+ ...getHideNoGitKeybinds(),
52937
+ { key: "l", label: "(l)ink to GitHub", action: TOGGLE_LINK_ACTION }
52938
+ ];
55055
52939
  }
55056
52940
  supportsRawValue() {
55057
52941
  return true;
@@ -55060,8 +52944,10 @@ class GitBranchWidget {
55060
52944
  return true;
55061
52945
  }
55062
52946
  }
52947
+ var LINK_KEY = "linkToGitHub", TOGGLE_LINK_ACTION = "toggle-link";
55063
52948
  var init_GitBranch = __esm(() => {
55064
52949
  init_git();
52950
+ init_hyperlink();
55065
52951
  init_git_no_git();
55066
52952
  });
55067
52953
 
@@ -55227,27 +53113,43 @@ class GitRootDirWidget {
55227
53113
  return "Git";
55228
53114
  }
55229
53115
  getEditorDisplay(item) {
53116
+ const ideLinkMode = this.getIdeLinkMode(item);
53117
+ const modifiers = [];
53118
+ const noGitText = getHideNoGitModifierText(item);
53119
+ if (noGitText)
53120
+ modifiers.push("hide 'no git'");
53121
+ if (ideLinkMode)
53122
+ modifiers.push(IDE_LINK_LABELS[ideLinkMode]);
55230
53123
  return {
55231
53124
  displayText: this.getDisplayName(),
55232
- modifierText: getHideNoGitModifierText(item)
53125
+ modifierText: makeModifierText(modifiers)
55233
53126
  };
55234
53127
  }
55235
53128
  handleEditorAction(action, item) {
53129
+ if (action === TOGGLE_LINK_ACTION2) {
53130
+ return this.cycleIdeLinkMode(item);
53131
+ }
55236
53132
  return handleToggleNoGitAction(action, item);
55237
53133
  }
55238
53134
  render(item, context, _settings) {
55239
53135
  const hideNoGit = isHideNoGitEnabled(item);
53136
+ const ideLinkMode = this.getIdeLinkMode(item);
55240
53137
  if (context.isPreview) {
55241
- return "my-repo";
53138
+ const name2 = "my-repo";
53139
+ return ideLinkMode ? renderOsc8Link(buildIdeFileUrl("/Users/example/my-repo", ideLinkMode), name2) : name2;
55242
53140
  }
55243
53141
  if (!isInsideGitWorkTree(context)) {
55244
53142
  return hideNoGit ? null : "no git";
55245
53143
  }
55246
53144
  const rootDir = this.getGitRootDir(context);
55247
- if (rootDir) {
55248
- return this.getRootDirName(rootDir);
53145
+ if (!rootDir) {
53146
+ return hideNoGit ? null : "no git";
53147
+ }
53148
+ const name = this.getRootDirName(rootDir);
53149
+ if (ideLinkMode) {
53150
+ return renderOsc8Link(buildIdeFileUrl(rootDir, ideLinkMode), name);
55249
53151
  }
55250
- return hideNoGit ? null : "no git";
53152
+ return name;
55251
53153
  }
55252
53154
  getGitRootDir(context) {
55253
53155
  return runGit("rev-parse --show-toplevel", context);
@@ -55260,7 +53162,10 @@ class GitRootDirWidget {
55260
53162
  return lastPart && lastPart.length > 0 ? lastPart : normalizedRootDir;
55261
53163
  }
55262
53164
  getCustomKeybinds() {
55263
- return getHideNoGitKeybinds();
53165
+ return [
53166
+ ...getHideNoGitKeybinds(),
53167
+ { key: "l", label: "(l)ink to IDE", action: TOGGLE_LINK_ACTION2 }
53168
+ ];
55264
53169
  }
55265
53170
  supportsRawValue() {
55266
53171
  return false;
@@ -55268,10 +53173,43 @@ class GitRootDirWidget {
55268
53173
  supportsColors(item) {
55269
53174
  return true;
55270
53175
  }
53176
+ getIdeLinkMode(item) {
53177
+ const configuredMode = item.metadata?.[IDE_LINK_KEY];
53178
+ if (configuredMode && IDE_LINK_MODES.includes(configuredMode)) {
53179
+ return configuredMode;
53180
+ }
53181
+ if (isMetadataFlagEnabled(item, LEGACY_CURSOR_LINK_KEY)) {
53182
+ return "cursor";
53183
+ }
53184
+ return null;
53185
+ }
53186
+ cycleIdeLinkMode(item) {
53187
+ const currentMode = this.getIdeLinkMode(item);
53188
+ const currentIndex = currentMode ? IDE_LINK_MODES.indexOf(currentMode) : -1;
53189
+ const nextMode = currentIndex === IDE_LINK_MODES.length - 1 ? null : IDE_LINK_MODES[currentIndex + 1] ?? null;
53190
+ const {
53191
+ [IDE_LINK_KEY]: removedIdeLink,
53192
+ [LEGACY_CURSOR_LINK_KEY]: removedLegacyLink,
53193
+ ...restMetadata
53194
+ } = item.metadata ?? {};
53195
+ return {
53196
+ ...item,
53197
+ metadata: nextMode ? {
53198
+ ...restMetadata,
53199
+ [IDE_LINK_KEY]: nextMode
53200
+ } : Object.keys(restMetadata).length > 0 ? restMetadata : undefined
53201
+ };
53202
+ }
55271
53203
  }
53204
+ var IDE_LINK_KEY = "linkToIDE", LEGACY_CURSOR_LINK_KEY = "linkToCursor", TOGGLE_LINK_ACTION2 = "toggle-link", IDE_LINK_LABELS;
55272
53205
  var init_GitRootDir = __esm(() => {
55273
53206
  init_git();
53207
+ init_hyperlink();
55274
53208
  init_git_no_git();
53209
+ IDE_LINK_LABELS = {
53210
+ vscode: "link-vscode",
53211
+ cursor: "link-cursor"
53212
+ };
55275
53213
  });
55276
53214
 
55277
53215
  // src/widgets/GitWorktree.ts
@@ -55766,8 +53704,8 @@ function getColorAnsiCode(colorName, colorLevel = "ansi16", isBackground = false
55766
53704
  }
55767
53705
  const colored = chalkFn("TEST");
55768
53706
  const escapeChar = "\x1B";
55769
- const ansiRegex6 = new RegExp(`^(${escapeChar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\[[^m]+m)`);
55770
- const match = ansiRegex6.exec(colored);
53707
+ const ansiRegex4 = new RegExp(`^(${escapeChar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\[[^m]+m)`);
53708
+ const match = ansiRegex4.exec(colored);
55771
53709
  return match?.[1] ?? "";
55772
53710
  }
55773
53711
  function getColorDisplayName(colorName) {
@@ -56131,7 +54069,7 @@ function getTerminalWidth() {
56131
54069
  function canDetectTerminalWidth() {
56132
54070
  return probeTerminalWidth() !== null;
56133
54071
  }
56134
- var __dirname = "/Users/peter/Documents/Code/ccstatusline-usage/src/utils", PACKAGE_VERSION = "2.1.22";
54072
+ var __dirname = "/Users/peter/Documents/Code/ccstatusline-usage/src/utils", PACKAGE_VERSION = "2.3.0";
56135
54073
  var init_terminal = () => {};
56136
54074
 
56137
54075
  // src/utils/renderer.ts
@@ -56218,9 +54156,9 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
56218
54156
  }
56219
54157
  const actualPreRenderedIndex = preRenderedIndices[i];
56220
54158
  const preRendered = actualPreRenderedIndex !== undefined ? preRenderedWidgets[actualPreRenderedIndex] : undefined;
54159
+ const widgetImpl = getWidget(widget.type);
56221
54160
  if (preRendered?.content) {
56222
54161
  widgetText = preRendered.content;
56223
- const widgetImpl = getWidget(widget.type);
56224
54162
  if (widgetImpl) {
56225
54163
  defaultColor = widgetImpl.getDefaultColor();
56226
54164
  }
@@ -56342,7 +54280,7 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
56342
54280
  const separatorIndex = Math.min(globalIndex, separators.length - 1);
56343
54281
  const separator = separators[separatorIndex] ?? "";
56344
54282
  const shouldInvert = invertBgs[separatorIndex] ?? false;
56345
- let separatorOutput = "";
54283
+ let separatorOutput;
56346
54284
  const sameBackground = widget.bgColor && nextWidget.bgColor && widget.bgColor === nextWidget.bgColor;
56347
54285
  if (shouldInvert) {
56348
54286
  if (widget.bgColor && nextWidget.bgColor) {
@@ -56656,7 +54594,7 @@ function renderStatusLine(widgets, settings, context, preRenderedWidgets, preCal
56656
54594
  }
56657
54595
  }
56658
54596
  });
56659
- let statusLine = "";
54597
+ let statusLine;
56660
54598
  if (hasFlexSeparator && terminalWidth) {
56661
54599
  const parts = [[]];
56662
54600
  let currentPart = 0;
@@ -57227,7 +55165,7 @@ var init_input_guards = __esm(() => {
57227
55165
 
57228
55166
  // node_modules/react/cjs/react-jsx-dev-runtime.development.js
57229
55167
  var require_react_jsx_dev_runtime_development = __commonJS((exports) => {
57230
- var React11 = __toESM(require_react());
55168
+ var React10 = __toESM(require_react());
57231
55169
  (function() {
57232
55170
  function getComponentNameFromType(type) {
57233
55171
  if (type == null)
@@ -57414,22 +55352,22 @@ React keys must be passed directly to JSX without using spread:
57414
55352
  return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
57415
55353
  }
57416
55354
  function validateChildKeys(node) {
57417
- isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
55355
+ isValidElement2(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement2(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
57418
55356
  }
57419
- function isValidElement(object2) {
55357
+ function isValidElement2(object2) {
57420
55358
  return typeof object2 === "object" && object2 !== null && object2.$$typeof === REACT_ELEMENT_TYPE;
57421
55359
  }
57422
- var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React11.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
55360
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React10.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
57423
55361
  return null;
57424
55362
  };
57425
- React11 = {
55363
+ React10 = {
57426
55364
  react_stack_bottom_frame: function(callStackForError) {
57427
55365
  return callStackForError();
57428
55366
  }
57429
55367
  };
57430
55368
  var specialPropKeyWarningShown;
57431
55369
  var didWarnAboutElementRef = {};
57432
- var unknownOwnerDebugStack = React11.react_stack_bottom_frame.bind(React11, UnknownOwner)();
55370
+ var unknownOwnerDebugStack = React10.react_stack_bottom_frame.bind(React10, UnknownOwner)();
57433
55371
  var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
57434
55372
  var didWarnAboutKeySpread = {};
57435
55373
  exports.Fragment = REACT_FRAGMENT_TYPE;
@@ -58314,6 +56252,115 @@ var require_browser = __commonJS((exports, module) => {
58314
56252
  };
58315
56253
  });
58316
56254
 
56255
+ // node_modules/has-flag/index.js
56256
+ var require_has_flag = __commonJS((exports, module) => {
56257
+ module.exports = (flag, argv = process.argv) => {
56258
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
56259
+ const position = argv.indexOf(prefix + flag);
56260
+ const terminatorPosition = argv.indexOf("--");
56261
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
56262
+ };
56263
+ });
56264
+
56265
+ // node_modules/supports-color/index.js
56266
+ var require_supports_color = __commonJS((exports, module) => {
56267
+ var os3 = __require("os");
56268
+ var tty2 = __require("tty");
56269
+ var hasFlag2 = require_has_flag();
56270
+ var { env: env3 } = process;
56271
+ var forceColor;
56272
+ if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false") || hasFlag2("color=never")) {
56273
+ forceColor = 0;
56274
+ } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) {
56275
+ forceColor = 1;
56276
+ }
56277
+ if ("FORCE_COLOR" in env3) {
56278
+ if (env3.FORCE_COLOR === "true") {
56279
+ forceColor = 1;
56280
+ } else if (env3.FORCE_COLOR === "false") {
56281
+ forceColor = 0;
56282
+ } else {
56283
+ forceColor = env3.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env3.FORCE_COLOR, 10), 3);
56284
+ }
56285
+ }
56286
+ function translateLevel2(level) {
56287
+ if (level === 0) {
56288
+ return false;
56289
+ }
56290
+ return {
56291
+ level,
56292
+ hasBasic: true,
56293
+ has256: level >= 2,
56294
+ has16m: level >= 3
56295
+ };
56296
+ }
56297
+ function supportsColor2(haveStream, streamIsTTY) {
56298
+ if (forceColor === 0) {
56299
+ return 0;
56300
+ }
56301
+ if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) {
56302
+ return 3;
56303
+ }
56304
+ if (hasFlag2("color=256")) {
56305
+ return 2;
56306
+ }
56307
+ if (haveStream && !streamIsTTY && forceColor === undefined) {
56308
+ return 0;
56309
+ }
56310
+ const min2 = forceColor || 0;
56311
+ if (env3.TERM === "dumb") {
56312
+ return min2;
56313
+ }
56314
+ if (process.platform === "win32") {
56315
+ const osRelease = os3.release().split(".");
56316
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
56317
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
56318
+ }
56319
+ return 1;
56320
+ }
56321
+ if ("CI" in env3) {
56322
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => (sign in env3)) || env3.CI_NAME === "codeship") {
56323
+ return 1;
56324
+ }
56325
+ return min2;
56326
+ }
56327
+ if ("TEAMCITY_VERSION" in env3) {
56328
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env3.TEAMCITY_VERSION) ? 1 : 0;
56329
+ }
56330
+ if (env3.COLORTERM === "truecolor") {
56331
+ return 3;
56332
+ }
56333
+ if ("TERM_PROGRAM" in env3) {
56334
+ const version2 = parseInt((env3.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
56335
+ switch (env3.TERM_PROGRAM) {
56336
+ case "iTerm.app":
56337
+ return version2 >= 3 ? 3 : 2;
56338
+ case "Apple_Terminal":
56339
+ return 2;
56340
+ }
56341
+ }
56342
+ if (/-256(color)?$/i.test(env3.TERM)) {
56343
+ return 2;
56344
+ }
56345
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env3.TERM)) {
56346
+ return 1;
56347
+ }
56348
+ if ("COLORTERM" in env3) {
56349
+ return 1;
56350
+ }
56351
+ return min2;
56352
+ }
56353
+ function getSupportLevel(stream) {
56354
+ const level = supportsColor2(stream, stream && stream.isTTY);
56355
+ return translateLevel2(level);
56356
+ }
56357
+ module.exports = {
56358
+ supportsColor: getSupportLevel,
56359
+ stdout: translateLevel2(supportsColor2(true, tty2.isatty(1))),
56360
+ stderr: translateLevel2(supportsColor2(true, tty2.isatty(2)))
56361
+ };
56362
+ });
56363
+
58317
56364
  // node_modules/https-proxy-agent/node_modules/debug/src/node.js
58318
56365
  var require_node = __commonJS((exports, module) => {
58319
56366
  var tty2 = __require("tty");
@@ -58971,7 +57018,7 @@ var init_usage_types = __esm(() => {
58971
57018
  });
58972
57019
 
58973
57020
  // src/utils/usage-fetch.ts
58974
- import { execSync as execSync4 } from "child_process";
57021
+ import { execFileSync } from "child_process";
58975
57022
  import * as fs3 from "fs";
58976
57023
  import * as https from "https";
58977
57024
  import * as os3 from "os";
@@ -59047,33 +57094,121 @@ function getStaleUsageOrError(error48, now2, errorCacheMaxAge = LOCK_MAX_AGE) {
59047
57094
  }
59048
57095
  return setCachedUsageError(error48, now2, errorCacheMaxAge);
59049
57096
  }
59050
- function getUsageToken() {
59051
- const now2 = Math.floor(Date.now() / 1000);
59052
- if (cachedUsageToken && now2 - usageTokenCacheTime < TOKEN_CACHE_MAX_AGE) {
59053
- return cachedUsageToken;
57097
+ function normalizeSecurityTimedateValue(rawValue) {
57098
+ const cleaned = rawValue.replace(/\\000/g, "").replace(/\0/g, "").trim();
57099
+ return /^\d{14}Z$/.test(cleaned) ? cleaned : null;
57100
+ }
57101
+ function decodeHexAscii(rawHex) {
57102
+ if (rawHex.length === 0 || rawHex.length % 2 !== 0) {
57103
+ return null;
59054
57104
  }
59055
- try {
59056
- const isMac = process.platform === "darwin";
59057
- if (isMac) {
59058
- const result2 = execSync4('security find-generic-password -s "Claude Code-credentials" -w 2>/dev/null', { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"] }).trim();
59059
- const token2 = parseUsageAccessToken(result2);
59060
- if (token2) {
59061
- cachedUsageToken = token2;
59062
- usageTokenCacheTime = now2;
59063
- }
59064
- return token2;
57105
+ let decoded = "";
57106
+ for (let i = 0;i < rawHex.length; i += 2) {
57107
+ const byte = Number.parseInt(rawHex.slice(i, i + 2), 16);
57108
+ if (Number.isNaN(byte)) {
57109
+ return null;
59065
57110
  }
59066
- const credFile = path2.join(getClaudeConfigDir(), ".credentials.json");
59067
- const token = parseUsageAccessToken(fs3.readFileSync(credFile, "utf8"));
57111
+ decoded += String.fromCharCode(byte);
57112
+ }
57113
+ return decoded;
57114
+ }
57115
+ function parseModifiedTimeFromKeychainBlock(block) {
57116
+ const quotedMatch = /"mdat"<timedate>=(?:0x[0-9A-Fa-f]+\s+)?"([^"]+)"/.exec(block);
57117
+ if (quotedMatch?.[1]) {
57118
+ const parsed = normalizeSecurityTimedateValue(quotedMatch[1]);
57119
+ if (parsed !== null) {
57120
+ return parsed;
57121
+ }
57122
+ }
57123
+ const hexMatch = /"mdat"<timedate>=0x([0-9A-Fa-f]+)/.exec(block);
57124
+ if (!hexMatch?.[1]) {
57125
+ return null;
57126
+ }
57127
+ const decoded = decodeHexAscii(hexMatch[1]);
57128
+ return decoded ? normalizeSecurityTimedateValue(decoded) : null;
57129
+ }
57130
+ function sortMacKeychainCredentialCandidates(a, b) {
57131
+ if (a.modifiedAt !== null && b.modifiedAt !== null && a.modifiedAt !== b.modifiedAt) {
57132
+ return b.modifiedAt.localeCompare(a.modifiedAt);
57133
+ }
57134
+ if (a.modifiedAt !== null && b.modifiedAt === null) {
57135
+ return -1;
57136
+ }
57137
+ if (a.modifiedAt === null && b.modifiedAt !== null) {
57138
+ return 1;
57139
+ }
57140
+ return a.order - b.order;
57141
+ }
57142
+ function parseMacKeychainCredentialCandidates(rawDump, servicePrefix = MACOS_USAGE_CREDENTIALS_SERVICE) {
57143
+ const blocks = rawDump.split(/(?=^keychain:\s)/m).filter((block) => block.trim().length > 0);
57144
+ const dedupedCandidates = new Map;
57145
+ let order = 0;
57146
+ for (const block of blocks) {
57147
+ const serviceMatch = /"svce"<blob>="([^"]+)"/.exec(block);
57148
+ const service = serviceMatch?.[1];
57149
+ if (!service || !service.startsWith(servicePrefix) || service === MACOS_USAGE_CREDENTIALS_SERVICE) {
57150
+ continue;
57151
+ }
57152
+ const candidate = {
57153
+ modifiedAt: parseModifiedTimeFromKeychainBlock(block),
57154
+ order,
57155
+ service
57156
+ };
57157
+ order += 1;
57158
+ const existing = dedupedCandidates.get(service);
57159
+ if (!existing || sortMacKeychainCredentialCandidates(candidate, existing) < 0) {
57160
+ dedupedCandidates.set(service, candidate);
57161
+ }
57162
+ }
57163
+ return [...dedupedCandidates.values()].sort(sortMacKeychainCredentialCandidates).map((candidate) => candidate.service);
57164
+ }
57165
+ function readMacKeychainSecret(service) {
57166
+ try {
57167
+ return execFileSync("security", ["find-generic-password", "-s", service, "-w"], { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
57168
+ } catch {
57169
+ return null;
57170
+ }
57171
+ }
57172
+ function readUsageTokenFromMacKeychainService(service) {
57173
+ const secret = readMacKeychainSecret(service);
57174
+ return secret ? parseUsageAccessToken(secret) : null;
57175
+ }
57176
+ function listMacKeychainCredentialCandidates() {
57177
+ try {
57178
+ const rawDump = execFileSync("security", ["dump-keychain"], {
57179
+ encoding: "utf8",
57180
+ maxBuffer: MACOS_SECURITY_DUMP_MAX_BUFFER,
57181
+ stdio: ["pipe", "pipe", "ignore"]
57182
+ });
57183
+ return parseMacKeychainCredentialCandidates(rawDump);
57184
+ } catch {
57185
+ return [];
57186
+ }
57187
+ }
57188
+ function readUsageTokenFromMacKeychainCandidates() {
57189
+ const candidates = listMacKeychainCredentialCandidates();
57190
+ for (const service of candidates) {
57191
+ const token = readUsageTokenFromMacKeychainService(service);
59068
57192
  if (token) {
59069
- cachedUsageToken = token;
59070
- usageTokenCacheTime = now2;
57193
+ return token;
59071
57194
  }
59072
- return token;
57195
+ }
57196
+ return null;
57197
+ }
57198
+ function readUsageTokenFromCredentialsFile() {
57199
+ try {
57200
+ const credFile = path2.join(getClaudeConfigDir(), ".credentials.json");
57201
+ return parseUsageAccessToken(fs3.readFileSync(credFile, "utf8"));
59073
57202
  } catch {
59074
57203
  return null;
59075
57204
  }
59076
57205
  }
57206
+ function getUsageToken() {
57207
+ if (process.platform !== "darwin") {
57208
+ return readUsageTokenFromCredentialsFile();
57209
+ }
57210
+ return readUsageTokenFromMacKeychainService(MACOS_USAGE_CREDENTIALS_SERVICE) ?? readUsageTokenFromMacKeychainCandidates() ?? readUsageTokenFromCredentialsFile();
57211
+ }
59077
57212
  function readStaleUsageCache() {
59078
57213
  try {
59079
57214
  return parseCachedUsageData(fs3.readFileSync(CACHE_FILE, "utf8"));
@@ -59261,7 +57396,7 @@ async function fetchUsageData() {
59261
57396
  return getStaleUsageOrError("parse-error", now2);
59262
57397
  }
59263
57398
  }
59264
- var import_https_proxy_agent, CACHE_DIR, CACHE_FILE, LOCK_FILE, CACHE_MAX_AGE = 180, LOCK_MAX_AGE = 30, DEFAULT_RATE_LIMIT_BACKOFF = 300, TOKEN_CACHE_MAX_AGE = 3600, UsageCredentialsSchema, UsageLockErrorSchema, UsageLockSchema, CachedUsageDataSchema, UsageApiResponseSchema, cachedUsageData = null, usageCacheTime = 0, cachedUsageToken = null, usageTokenCacheTime = 0, usageErrorCacheMaxAge, USAGE_API_HOST = "api.anthropic.com", USAGE_API_PATH = "/api/oauth/usage", USAGE_API_TIMEOUT_MS = 5000;
57399
+ var import_https_proxy_agent, CACHE_DIR, CACHE_FILE, LOCK_FILE, CACHE_MAX_AGE = 180, LOCK_MAX_AGE = 30, DEFAULT_RATE_LIMIT_BACKOFF = 300, MACOS_USAGE_CREDENTIALS_SERVICE = "Claude Code-credentials", MACOS_SECURITY_DUMP_MAX_BUFFER, UsageCredentialsSchema, UsageLockErrorSchema, UsageLockSchema, CachedUsageDataSchema, UsageApiResponseSchema, cachedUsageData = null, usageCacheTime = 0, usageErrorCacheMaxAge, USAGE_API_HOST = "api.anthropic.com", USAGE_API_PATH = "/api/oauth/usage", USAGE_API_TIMEOUT_MS = 5000;
59265
57400
  var init_usage_fetch = __esm(() => {
59266
57401
  init_zod();
59267
57402
  init_claude_settings();
@@ -59270,6 +57405,7 @@ var init_usage_fetch = __esm(() => {
59270
57405
  CACHE_DIR = path2.join(os3.homedir(), ".cache", "ccstatusline");
59271
57406
  CACHE_FILE = path2.join(CACHE_DIR, "usage.json");
59272
57407
  LOCK_FILE = path2.join(CACHE_DIR, "usage.lock");
57408
+ MACOS_SECURITY_DUMP_MAX_BUFFER = 8 * 1024 * 1024;
59273
57409
  UsageCredentialsSchema = exports_external.object({ claudeAiOauth: exports_external.object({ accessToken: exports_external.string().nullable().optional() }).optional() });
59274
57410
  UsageLockErrorSchema = exports_external.enum(["timeout", "rate-limited"]);
59275
57411
  UsageLockSchema = exports_external.object({
@@ -61130,17 +59266,17 @@ var require_picomatch = __commonJS((exports, module) => {
61130
59266
  }
61131
59267
  const opts = options || {};
61132
59268
  const posix = opts.windows;
61133
- const regex5 = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
61134
- const state = regex5.state;
61135
- delete regex5.state;
59269
+ const regex3 = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
59270
+ const state = regex3.state;
59271
+ delete regex3.state;
61136
59272
  let isIgnored = () => false;
61137
59273
  if (opts.ignore) {
61138
59274
  const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
61139
59275
  isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
61140
59276
  }
61141
59277
  const matcher = (input, returnObject = false) => {
61142
- const { isMatch: isMatch2, match, output } = picomatch.test(input, regex5, options, { glob, posix });
61143
- const result2 = { glob, state, regex: regex5, posix, input, output, match, isMatch: isMatch2 };
59278
+ const { isMatch: isMatch2, match, output } = picomatch.test(input, regex3, options, { glob, posix });
59279
+ const result2 = { glob, state, regex: regex3, posix, input, output, match, isMatch: isMatch2 };
61144
59280
  if (typeof opts.onResult === "function") {
61145
59281
  opts.onResult(result2);
61146
59282
  }
@@ -61165,7 +59301,7 @@ var require_picomatch = __commonJS((exports, module) => {
61165
59301
  }
61166
59302
  return matcher;
61167
59303
  };
61168
- picomatch.test = (input, regex5, options, { glob, posix } = {}) => {
59304
+ picomatch.test = (input, regex3, options, { glob, posix } = {}) => {
61169
59305
  if (typeof input !== "string") {
61170
59306
  throw new TypeError("Expected input to be a string");
61171
59307
  }
@@ -61182,16 +59318,16 @@ var require_picomatch = __commonJS((exports, module) => {
61182
59318
  }
61183
59319
  if (match === false || opts.capture === true) {
61184
59320
  if (opts.matchBase === true || opts.basename === true) {
61185
- match = picomatch.matchBase(input, regex5, options, posix);
59321
+ match = picomatch.matchBase(input, regex3, options, posix);
61186
59322
  } else {
61187
- match = regex5.exec(output);
59323
+ match = regex3.exec(output);
61188
59324
  }
61189
59325
  }
61190
59326
  return { isMatch: Boolean(match), match, output };
61191
59327
  };
61192
59328
  picomatch.matchBase = (input, glob, options) => {
61193
- const regex5 = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
61194
- return regex5.test(utils.basename(input));
59329
+ const regex3 = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
59330
+ return regex3.test(utils.basename(input));
61195
59331
  };
61196
59332
  picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
61197
59333
  picomatch.parse = (pattern, options) => {
@@ -61211,11 +59347,11 @@ var require_picomatch = __commonJS((exports, module) => {
61211
59347
  if (state && state.negated === true) {
61212
59348
  source = `^(?!${source}).*$`;
61213
59349
  }
61214
- const regex5 = picomatch.toRegex(source, options);
59350
+ const regex3 = picomatch.toRegex(source, options);
61215
59351
  if (returnState === true) {
61216
- regex5.state = state;
59352
+ regex3.state = state;
61217
59353
  }
61218
- return regex5;
59354
+ return regex3;
61219
59355
  };
61220
59356
  picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
61221
59357
  if (!input || typeof input !== "string") {
@@ -62304,17 +60440,16 @@ function resolveUsageWindowWithFallback(usageData, blockMetrics, nowMs = Date.no
62304
60440
  }
62305
60441
  return getUsageWindowFromBlockMetrics(fallbackMetrics, nowMs);
62306
60442
  }
62307
- function formatUsageDuration(durationMs, compact2 = false) {
60443
+ function formatUsageDuration(durationMs, compact2 = false, useDays = true) {
62308
60444
  const clampedMs = Math.max(0, durationMs);
62309
- const elapsedHours = Math.floor(clampedMs / (1000 * 60 * 60));
62310
- const elapsedMinutes = Math.floor(clampedMs % (1000 * 60 * 60) / (1000 * 60));
62311
- if (compact2) {
62312
- return elapsedMinutes === 0 ? `${elapsedHours}h` : `${elapsedHours}h${elapsedMinutes}m`;
62313
- }
62314
- if (elapsedMinutes === 0) {
62315
- return `${elapsedHours}hr`;
62316
- }
62317
- return `${elapsedHours}hr ${elapsedMinutes}m`;
60445
+ const totalHours = Math.floor(clampedMs / (1000 * 60 * 60));
60446
+ const m = Math.floor(clampedMs % (1000 * 60 * 60) / (1000 * 60));
60447
+ const hLabel = compact2 ? "h" : "hr";
60448
+ const sep2 = compact2 ? "" : " ";
60449
+ const d = useDays ? Math.floor(totalHours / 24) : 0;
60450
+ const h = useDays ? totalHours % 24 : totalHours;
60451
+ const parts = [d > 0 && `${d}d`, h > 0 && `${h}${hLabel}`, m > 0 && `${m}m`].filter(Boolean);
60452
+ return parts.length > 0 ? parts.join(sep2) : "0m";
62318
60453
  }
62319
60454
  var init_usage_windows = __esm(() => {
62320
60455
  init_jsonl();
@@ -62362,30 +60497,42 @@ function getUsageDisplayModifierText(item, options = {}) {
62362
60497
  if (isUsageInverted(item)) {
62363
60498
  modifiers.push("inverted");
62364
60499
  }
62365
- if (options.includeCompact && isUsageCompact(item)) {
60500
+ if (options.includeCompact && !isUsageProgressMode(mode) && isUsageCompact(item)) {
62366
60501
  modifiers.push("compact");
62367
60502
  }
62368
60503
  return makeModifierText(modifiers);
62369
60504
  }
62370
- function cycleUsageDisplayMode(item) {
60505
+ function cycleUsageDisplayMode(item, disabledInProgressKeys = []) {
62371
60506
  const currentMode = getUsageDisplayMode(item);
62372
60507
  const nextMode = currentMode === "time" ? "progress" : currentMode === "progress" ? "progress-short" : "time";
60508
+ const nextItem = removeMetadataKeys(item, nextMode === "time" ? ["invert"] : disabledInProgressKeys);
62373
60509
  const nextMetadata = {
62374
- ...item.metadata ?? {},
60510
+ ...nextItem.metadata ?? {},
62375
60511
  display: nextMode
62376
60512
  };
62377
- if (nextMode === "time") {
62378
- delete nextMetadata.invert;
62379
- }
62380
60513
  return {
62381
- ...item,
60514
+ ...nextItem,
62382
60515
  metadata: nextMetadata
62383
60516
  };
62384
60517
  }
62385
60518
  function toggleUsageInverted(item) {
62386
60519
  return toggleMetadataFlag(item, "invert");
62387
60520
  }
62388
- var init_usage_display = () => {};
60521
+ function getUsageTimerCustomKeybinds(item) {
60522
+ const keybinds = [PROGRESS_TOGGLE_KEYBIND];
60523
+ if (item && isUsageProgressMode(getUsageDisplayMode(item))) {
60524
+ keybinds.push(INVERT_TOGGLE_KEYBIND);
60525
+ } else {
60526
+ keybinds.push(COMPACT_TOGGLE_KEYBIND);
60527
+ }
60528
+ return keybinds;
60529
+ }
60530
+ var PROGRESS_TOGGLE_KEYBIND, INVERT_TOGGLE_KEYBIND, COMPACT_TOGGLE_KEYBIND;
60531
+ var init_usage_display = __esm(() => {
60532
+ PROGRESS_TOGGLE_KEYBIND = { key: "p", label: "(p)rogress toggle", action: "toggle-progress" };
60533
+ INVERT_TOGGLE_KEYBIND = { key: "v", label: "in(v)ert fill", action: "toggle-invert" };
60534
+ COMPACT_TOGGLE_KEYBIND = { key: "s", label: "(s)hort time", action: "toggle-compact" };
60535
+ });
62389
60536
 
62390
60537
  // src/widgets/BlockTimer.ts
62391
60538
  function makeTimerProgressBar(percent, width) {
@@ -62416,7 +60563,7 @@ class BlockTimerWidget {
62416
60563
  }
62417
60564
  handleEditorAction(action, item) {
62418
60565
  if (action === "toggle-progress") {
62419
- return cycleUsageDisplayMode(item);
60566
+ return cycleUsageDisplayMode(item, ["compact"]);
62420
60567
  }
62421
60568
  if (action === "toggle-invert") {
62422
60569
  return toggleUsageInverted(item);
@@ -62459,12 +60606,8 @@ class BlockTimerWidget {
62459
60606
  const elapsedTime = formatUsageDuration(window2.elapsedMs, compact2);
62460
60607
  return formatRawOrLabeledValue(item, "Block: ", elapsedTime);
62461
60608
  }
62462
- getCustomKeybinds() {
62463
- return [
62464
- { key: "p", label: "(p)rogress toggle", action: "toggle-progress" },
62465
- { key: "v", label: "in(v)ert fill", action: "toggle-invert" },
62466
- { key: "s", label: "(s)hort time", action: "toggle-compact" }
62467
- ];
60609
+ getCustomKeybinds(item) {
60610
+ return getUsageTimerCustomKeybinds(item);
62468
60611
  }
62469
60612
  supportsRawValue() {
62470
60613
  return true;
@@ -63102,7 +61245,7 @@ var init_TotalSpeed = __esm(async () => {
63102
61245
  });
63103
61246
 
63104
61247
  // src/widgets/FreeMemory.ts
63105
- import { execSync as execSync5 } from "child_process";
61248
+ import { execSync as execSync4 } from "child_process";
63106
61249
  import os6 from "os";
63107
61250
  function formatBytes(bytes) {
63108
61251
  const GB = 1024 ** 3;
@@ -63118,7 +61261,7 @@ function formatBytes(bytes) {
63118
61261
  }
63119
61262
  function getUsedMemoryMacOS() {
63120
61263
  try {
63121
- const output = execSync5("vm_stat", { encoding: "utf8" });
61264
+ const output = execSync4("vm_stat", { encoding: "utf8" });
63122
61265
  const lines = output.split(`
63123
61266
  `);
63124
61267
  const firstLine = lines[0];
@@ -63242,7 +61385,7 @@ var init_SessionName = () => {};
63242
61385
 
63243
61386
  // src/widgets/ApiUsage.tsx
63244
61387
  import {
63245
- execSync as execSync6,
61388
+ execSync as execSync5,
63246
61389
  spawnSync
63247
61390
  } from "child_process";
63248
61391
  import * as fs9 from "fs";
@@ -63258,7 +61401,7 @@ function readTokenFromFile() {
63258
61401
  }
63259
61402
  function readTokenFromKeychain() {
63260
61403
  try {
63261
- const result2 = execSync6('security find-generic-password -s "Claude Code-credentials" -w 2>/dev/null', { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"] }).trim();
61404
+ const result2 = execSync5('security find-generic-password -s "Claude Code-credentials" -w 2>/dev/null', { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"] }).trim();
63262
61405
  const parsed = JSON.parse(result2);
63263
61406
  return parsed?.claudeAiOauth?.accessToken ?? null;
63264
61407
  } catch {
@@ -63271,7 +61414,7 @@ function invalidateTokenCache() {
63271
61414
  }
63272
61415
  function getToken() {
63273
61416
  const now2 = Math.floor(Date.now() / 1000);
63274
- if (cachedToken && now2 - tokenCacheTime < TOKEN_CACHE_MAX_AGE2) {
61417
+ if (cachedToken && now2 - tokenCacheTime < TOKEN_CACHE_MAX_AGE) {
63275
61418
  return cachedToken;
63276
61419
  }
63277
61420
  let token = null;
@@ -63654,7 +61797,7 @@ class ContextBarWidget {
63654
61797
  return true;
63655
61798
  }
63656
61799
  }
63657
- var CACHE_FILE2, LOCK_FILE2, CACHE_MAX_AGE2 = 600, LOCK_MAX_AGE2 = 60, TOKEN_CACHE_MAX_AGE2 = 3600, cachedData = null, cacheTime = 0, cachedToken = null, tokenCacheTime = 0, CRED_FILE, MOBILE_THRESHOLD2 = 80, MOBILE_BAR_WIDTH = 4, DEFAULT_BAR_WIDTH = 15;
61800
+ var CACHE_FILE2, LOCK_FILE2, CACHE_MAX_AGE2 = 600, LOCK_MAX_AGE2 = 60, TOKEN_CACHE_MAX_AGE = 3600, cachedData = null, cacheTime = 0, cachedToken = null, tokenCacheTime = 0, CRED_FILE, MOBILE_THRESHOLD2 = 80, MOBILE_BAR_WIDTH = 4, DEFAULT_BAR_WIDTH = 15;
63658
61801
  var init_ApiUsage = __esm(() => {
63659
61802
  CACHE_FILE2 = path7.join(os7.homedir(), ".cache", "ccstatusline-api.json");
63660
61803
  LOCK_FILE2 = path7.join(os7.homedir(), ".cache", "ccstatusline-api.lock");
@@ -63698,9 +61841,6 @@ function buildMetadata(widget, urlValue, textValue) {
63698
61841
  metadata
63699
61842
  };
63700
61843
  }
63701
- function renderOsc8Link(url2, text) {
63702
- return `\x1B]8;;${url2}\x1B\\${text}\x1B]8;;\x1B\\`;
63703
- }
63704
61844
  function getLinkLabel(item) {
63705
61845
  const url2 = item.metadata?.url?.trim() ?? "";
63706
61846
  const metadataText = item.metadata?.text?.trim();
@@ -63854,6 +61994,7 @@ var import_react31, jsx_dev_runtime5, LinkEditor = ({ widget, onComplete, onCanc
63854
61994
  }, undefined, true, undefined, this);
63855
61995
  };
63856
61996
  var init_Link = __esm(async () => {
61997
+ init_hyperlink();
63857
61998
  init_input_guards();
63858
61999
  await init_build2();
63859
62000
  import_react31 = __toESM(require_react(), 1);
@@ -63910,12 +62051,15 @@ class SkillsWidget {
63910
62051
  { event: "UserPromptSubmit" }
63911
62052
  ];
63912
62053
  }
63913
- getCustomKeybinds() {
63914
- return [
62054
+ getCustomKeybinds(item) {
62055
+ const keybinds = [
63915
62056
  { key: "v", label: "(v)iew: last/count/list", action: "cycle-mode" },
63916
- { key: "h", label: "(h)ide when empty", action: TOGGLE_HIDE_EMPTY_ACTION },
63917
- { key: "l", label: "(l)imit", action: EDIT_LIST_LIMIT_ACTION }
62057
+ { key: "h", label: "(h)ide when empty", action: TOGGLE_HIDE_EMPTY_ACTION }
63918
62058
  ];
62059
+ if (item && this.getMode(item) === "list") {
62060
+ keybinds.push({ key: "l", label: "(l)imit", action: EDIT_LIST_LIMIT_ACTION });
62061
+ }
62062
+ return keybinds;
63919
62063
  }
63920
62064
  getEditorDisplay(item) {
63921
62065
  const modifiers = [MODE_LABELS[this.getMode(item)]];
@@ -63933,7 +62077,8 @@ class SkillsWidget {
63933
62077
  handleEditorAction(action, item) {
63934
62078
  if (action === "cycle-mode") {
63935
62079
  const next = MODES[(MODES.indexOf(this.getMode(item)) + 1) % MODES.length] ?? "current";
63936
- return { ...item, metadata: { ...item.metadata, mode: next } };
62080
+ const nextItem = next === "list" ? item : removeMetadataKeys(item, [LIST_LIMIT_KEY]);
62081
+ return { ...nextItem, metadata: { ...nextItem.metadata, mode: next } };
63937
62082
  }
63938
62083
  if (action === TOGGLE_HIDE_EMPTY_ACTION) {
63939
62084
  return toggleMetadataFlag(item, HIDE_WHEN_EMPTY_KEY);
@@ -64111,11 +62256,11 @@ var init_ThinkingEffort = __esm(() => {
64111
62256
  });
64112
62257
 
64113
62258
  // src/widgets/Battery.ts
64114
- import { execSync as execSync7 } from "child_process";
62259
+ import { execSync as execSync6 } from "child_process";
64115
62260
  import { readFileSync as readFileSync10 } from "fs";
64116
62261
  function getMacBatteryInfo() {
64117
62262
  try {
64118
- const output = execSync7("pmset -g batt", { encoding: "utf-8", timeout: 2000 });
62263
+ const output = execSync6("pmset -g batt", { encoding: "utf-8", timeout: 2000 });
64119
62264
  const match = /(\d+)%;\s*(charging|discharging|charged|finishing charge|AC attached)/i.exec(output);
64120
62265
  const percentStr = match?.[1];
64121
62266
  const stateStr = match?.[2];
@@ -64190,6 +62335,124 @@ class BatteryWidget {
64190
62335
  }
64191
62336
  var init_Battery = () => {};
64192
62337
 
62338
+ // src/widgets/VimMode.ts
62339
+ function getFormat(item) {
62340
+ const f = item.metadata?.format;
62341
+ return FORMATS.includes(f ?? "") ? f : DEFAULT_FORMAT;
62342
+ }
62343
+ function setFormat(item, format) {
62344
+ if (format === DEFAULT_FORMAT) {
62345
+ const { format: removedFormat, ...restMetadata } = item.metadata ?? {};
62346
+ return {
62347
+ ...item,
62348
+ metadata: Object.keys(restMetadata).length > 0 ? restMetadata : undefined
62349
+ };
62350
+ }
62351
+ return {
62352
+ ...item,
62353
+ metadata: {
62354
+ ...item.metadata ?? {},
62355
+ format
62356
+ }
62357
+ };
62358
+ }
62359
+ function isNerdFontEnabled(item) {
62360
+ return item.metadata?.[NERD_FONT_METADATA_KEY] === "true";
62361
+ }
62362
+ function toggleNerdFont(item) {
62363
+ if (!isNerdFontEnabled(item)) {
62364
+ return {
62365
+ ...item,
62366
+ metadata: {
62367
+ ...item.metadata ?? {},
62368
+ [NERD_FONT_METADATA_KEY]: "true"
62369
+ }
62370
+ };
62371
+ }
62372
+ const { [NERD_FONT_METADATA_KEY]: removedNerdFont, ...restMetadata } = item.metadata ?? {};
62373
+ return {
62374
+ ...item,
62375
+ metadata: Object.keys(restMetadata).length > 0 ? restMetadata : undefined
62376
+ };
62377
+ }
62378
+ function formatMode(mode, format, icon) {
62379
+ const letter = mode === "NORMAL" ? "N" : mode === "INSERT" ? "I" : mode[0] ?? mode;
62380
+ switch (format) {
62381
+ case "icon-dash-letter":
62382
+ return `${icon}-${letter}`;
62383
+ case "icon-letter":
62384
+ return `${icon} ${letter}`;
62385
+ case "icon":
62386
+ return icon;
62387
+ case "letter":
62388
+ return letter;
62389
+ case "word":
62390
+ return mode;
62391
+ }
62392
+ }
62393
+
62394
+ class VimModeWidget {
62395
+ getDefaultColor() {
62396
+ return "green";
62397
+ }
62398
+ getDescription() {
62399
+ return "Displays current vim editor mode";
62400
+ }
62401
+ getDisplayName() {
62402
+ return "Vim Mode";
62403
+ }
62404
+ getCategory() {
62405
+ return "Core";
62406
+ }
62407
+ getEditorDisplay(item) {
62408
+ const modifiers = [getFormat(item)];
62409
+ if (isNerdFontEnabled(item)) {
62410
+ modifiers.push("nerd font");
62411
+ }
62412
+ return {
62413
+ displayText: this.getDisplayName(),
62414
+ modifierText: `(${modifiers.join(", ")})`
62415
+ };
62416
+ }
62417
+ handleEditorAction(action, item) {
62418
+ if (action === CYCLE_FORMAT_ACTION) {
62419
+ const currentFormat = getFormat(item);
62420
+ const nextFormat = FORMATS[(FORMATS.indexOf(currentFormat) + 1) % FORMATS.length] ?? DEFAULT_FORMAT;
62421
+ return setFormat(item, nextFormat);
62422
+ }
62423
+ if (action === TOGGLE_NERD_FONT_ACTION) {
62424
+ return toggleNerdFont(item);
62425
+ }
62426
+ return null;
62427
+ }
62428
+ render(item, context, _settings) {
62429
+ const format = getFormat(item);
62430
+ const icon = isNerdFontEnabled(item) ? VIM_NERD_FONT_ICON : VIM_ICON;
62431
+ if (context.isPreview)
62432
+ return formatMode("NORMAL", format, icon);
62433
+ const mode = context.data?.vim?.mode;
62434
+ if (mode === undefined)
62435
+ return null;
62436
+ return formatMode(mode, format, icon);
62437
+ }
62438
+ getCustomKeybinds() {
62439
+ return [
62440
+ { key: "f", label: "(f)ormat", action: CYCLE_FORMAT_ACTION },
62441
+ { key: "n", label: "(n)erd font", action: TOGGLE_NERD_FONT_ACTION }
62442
+ ];
62443
+ }
62444
+ supportsRawValue() {
62445
+ return false;
62446
+ }
62447
+ supportsColors(_item) {
62448
+ return true;
62449
+ }
62450
+ }
62451
+ var VIM_ICON = "v", VIM_NERD_FONT_ICON = "", FORMATS, DEFAULT_FORMAT = "icon-dash-letter", CYCLE_FORMAT_ACTION = "cycle-format", TOGGLE_NERD_FONT_ACTION = "toggle-nerd-font", NERD_FONT_METADATA_KEY = "nerdFont";
62452
+ var init_VimMode = __esm(() => {
62453
+ FORMATS = ["icon-dash-letter", "icon-letter", "icon", "letter", "word"];
62454
+ });
62455
+
64193
62456
  // src/widgets/index.ts
64194
62457
  var init_widgets = __esm(async () => {
64195
62458
  init_GitBranch();
@@ -64207,6 +62470,7 @@ var init_widgets = __esm(async () => {
64207
62470
  init_ApiUsage();
64208
62471
  init_ThinkingEffort();
64209
62472
  init_Battery();
62473
+ init_VimMode();
64210
62474
  await __promiseAll([
64211
62475
  init_TokensInput(),
64212
62476
  init_TokensOutput(),
@@ -64265,7 +62529,8 @@ var init_widget_manifest = __esm(async () => {
64265
62529
  { type: "context-bar", create: () => new ContextBarWidget },
64266
62530
  { type: "skills", create: () => new SkillsWidget },
64267
62531
  { type: "thinking-effort", create: () => new ThinkingEffortWidget },
64268
- { type: "battery", create: () => new BatteryWidget }
62532
+ { type: "battery", create: () => new BatteryWidget },
62533
+ { type: "vim-mode", create: () => new VimModeWidget }
64269
62534
  ];
64270
62535
  LAYOUT_WIDGET_MANIFEST = [
64271
62536
  {
@@ -64574,7 +62839,7 @@ var init_config = __esm(() => {
64574
62839
  });
64575
62840
 
64576
62841
  // src/utils/claude-settings.ts
64577
- import { execSync as execSync8 } from "child_process";
62842
+ import { execSync as execSync7 } from "child_process";
64578
62843
  import * as fs11 from "fs";
64579
62844
  import * as os9 from "os";
64580
62845
  import * as path9 from "path";
@@ -64683,7 +62948,7 @@ async function isInstalled() {
64683
62948
  function isBunxAvailable() {
64684
62949
  try {
64685
62950
  const command = process.platform === "win32" ? "where bunx" : "which bunx";
64686
- execSync8(command, { stdio: "ignore" });
62951
+ execSync7(command, { stdio: "ignore" });
64687
62952
  return true;
64688
62953
  } catch {
64689
62954
  return false;
@@ -65110,71 +63375,237 @@ await init_build2();
65110
63375
 
65111
63376
  // node_modules/ink-gradient/dist/index.js
65112
63377
  await init_build2();
63378
+ var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
65113
63379
  var import_react26 = __toESM(require_react(), 1);
65114
- var import_prop_types = __toESM(require_prop_types(), 1);
65115
- var import_gradient_string = __toESM(require_gradient_string(), 1);
65116
63380
 
65117
- // node_modules/ink-gradient/node_modules/strip-ansi/node_modules/ansi-regex/index.js
65118
- function ansiRegex5({ onlyFirst = false } = {}) {
65119
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
65120
- const pattern = [
65121
- `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
65122
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
65123
- ].join("|");
65124
- return new RegExp(pattern, onlyFirst ? undefined : "g");
63381
+ // node_modules/gradient-string/dist/index.js
63382
+ init_source();
63383
+ var import_tinygradient = __toESM(require_tinygradient(), 1);
63384
+ var gradient = (...colors) => {
63385
+ let gradient2;
63386
+ let options;
63387
+ if (colors.length === 0) {
63388
+ throw new Error("Missing gradient colors");
63389
+ }
63390
+ if (!Array.isArray(colors[0])) {
63391
+ if (colors.length === 1) {
63392
+ throw new Error(`Expected an array of colors, received ${JSON.stringify(colors[0])}`);
63393
+ }
63394
+ gradient2 = import_tinygradient.default(...colors);
63395
+ } else {
63396
+ gradient2 = import_tinygradient.default(colors[0]);
63397
+ options = validateOptions(colors[1]);
63398
+ }
63399
+ const fn = (str, deprecatedOptions) => {
63400
+ return applyGradient(str ? str.toString() : "", gradient2, deprecatedOptions ?? options);
63401
+ };
63402
+ fn.multiline = (str, deprecatedOptions) => multiline(str ? str.toString() : "", gradient2, deprecatedOptions ?? options);
63403
+ return fn;
63404
+ };
63405
+ var getColors = (gradient2, options, count) => {
63406
+ return options.interpolation?.toLowerCase() === "hsv" ? gradient2.hsv(count, options.hsvSpin?.toLowerCase() || false) : gradient2.rgb(count);
63407
+ };
63408
+ function applyGradient(str, gradient2, opts) {
63409
+ const options = validateOptions(opts);
63410
+ const colorsCount = Math.max(str.replace(/\s/g, "").length, gradient2.stops.length);
63411
+ const colors = getColors(gradient2, options, colorsCount);
63412
+ let result2 = "";
63413
+ for (const s of str) {
63414
+ result2 += s.match(/\s/g) ? s : source_default.hex(colors.shift()?.toHex() || "#000")(s);
63415
+ }
63416
+ return result2;
65125
63417
  }
65126
-
65127
- // node_modules/ink-gradient/node_modules/strip-ansi/index.js
65128
- var regex4 = ansiRegex5();
65129
- function stripAnsi4(string) {
65130
- if (typeof string !== "string") {
65131
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
63418
+ function multiline(str, gradient2, opts) {
63419
+ const options = validateOptions(opts);
63420
+ const lines = str.split(`
63421
+ `);
63422
+ const maxLength = Math.max(...lines.map((l) => l.length), gradient2.stops.length);
63423
+ const colors = getColors(gradient2, options, maxLength);
63424
+ const results = [];
63425
+ for (const line of lines) {
63426
+ const lineColors = colors.slice(0);
63427
+ let lineResult = "";
63428
+ for (const l of line) {
63429
+ lineResult += source_default.hex(lineColors.shift()?.toHex() || "#000")(l);
63430
+ }
63431
+ results.push(lineResult);
65132
63432
  }
65133
- return string.replace(regex4, "");
63433
+ return results.join(`
63434
+ `);
63435
+ }
63436
+ function validateOptions(opts) {
63437
+ const options = { interpolation: "rgb", hsvSpin: "short", ...opts };
63438
+ if (opts !== undefined && typeof opts !== "object") {
63439
+ throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof opts}\``);
63440
+ }
63441
+ if (typeof options.interpolation !== "string") {
63442
+ throw new TypeError(`Expected \`options.interpolation\` to be \`rgb\` or \`hsv\`, got \`${typeof options.interpolation}\``);
63443
+ }
63444
+ if (options.interpolation.toLowerCase() === "hsv" && typeof options.hsvSpin !== "string") {
63445
+ throw new TypeError(`Expected \`options.hsvSpin\` to be a \`short\` or \`long\`, got \`${typeof options.hsvSpin}\``);
63446
+ }
63447
+ return options;
63448
+ }
63449
+ var aliases = {
63450
+ atlas: { colors: ["#feac5e", "#c779d0", "#4bc0c8"], options: {} },
63451
+ cristal: { colors: ["#bdfff3", "#4ac29a"], options: {} },
63452
+ teen: { colors: ["#77a1d3", "#79cbca", "#e684ae"], options: {} },
63453
+ mind: { colors: ["#473b7b", "#3584a7", "#30d2be"], options: {} },
63454
+ morning: { colors: ["#ff5f6d", "#ffc371"], options: { interpolation: "hsv" } },
63455
+ vice: { colors: ["#5ee7df", "#b490ca"], options: { interpolation: "hsv" } },
63456
+ passion: { colors: ["#f43b47", "#453a94"], options: {} },
63457
+ fruit: { colors: ["#ff4e50", "#f9d423"], options: {} },
63458
+ instagram: { colors: ["#833ab4", "#fd1d1d", "#fcb045"], options: {} },
63459
+ retro: {
63460
+ colors: ["#3f51b1", "#5a55ae", "#7b5fac", "#8f6aae", "#a86aa4", "#cc6b8e", "#f18271", "#f3a469", "#f7c978"],
63461
+ options: {}
63462
+ },
63463
+ summer: { colors: ["#fdbb2d", "#22c1c3"], options: {} },
63464
+ rainbow: { colors: ["#ff0000", "#ff0100"], options: { interpolation: "hsv", hsvSpin: "long" } },
63465
+ pastel: { colors: ["#74ebd5", "#74ecd5"], options: { interpolation: "hsv", hsvSpin: "long" } }
63466
+ };
63467
+ function gradientAlias(alias) {
63468
+ const result2 = (str) => gradient(...alias.colors)(str, alias.options);
63469
+ result2.multiline = (str = "") => gradient(...alias.colors).multiline(str, alias.options);
63470
+ return result2;
65134
63471
  }
63472
+ var dist_default4 = gradient;
63473
+ var atlas = gradientAlias(aliases.atlas);
63474
+ var cristal = gradientAlias(aliases.cristal);
63475
+ var teen = gradientAlias(aliases.teen);
63476
+ var mind = gradientAlias(aliases.mind);
63477
+ var morning = gradientAlias(aliases.morning);
63478
+ var vice = gradientAlias(aliases.vice);
63479
+ var passion = gradientAlias(aliases.passion);
63480
+ var fruit = gradientAlias(aliases.fruit);
63481
+ var instagram = gradientAlias(aliases.instagram);
63482
+ var retro = gradientAlias(aliases.retro);
63483
+ var summer = gradientAlias(aliases.summer);
63484
+ var rainbow = gradientAlias(aliases.rainbow);
63485
+ var pastel = gradientAlias(aliases.pastel);
63486
+ gradient.atlas = atlas;
63487
+ gradient.cristal = cristal;
63488
+ gradient.teen = teen;
63489
+ gradient.mind = mind;
63490
+ gradient.morning = morning;
63491
+ gradient.vice = vice;
63492
+ gradient.passion = passion;
63493
+ gradient.fruit = fruit;
63494
+ gradient.instagram = instagram;
63495
+ gradient.retro = retro;
63496
+ gradient.summer = summer;
63497
+ gradient.rainbow = rainbow;
63498
+ gradient.pastel = pastel;
65135
63499
 
65136
63500
  // node_modules/ink-gradient/dist/index.js
63501
+ init_strip_ansi();
65137
63502
  var Gradient = (props) => {
65138
63503
  if (props.name && props.colors) {
65139
63504
  throw new Error("The `name` and `colors` props are mutually exclusive");
65140
63505
  }
65141
- let gradient;
63506
+ let gradient2;
65142
63507
  if (props.name) {
65143
- gradient = import_gradient_string.default[props.name];
63508
+ gradient2 = dist_default4[props.name];
65144
63509
  } else if (props.colors) {
65145
- gradient = import_gradient_string.default(props.colors);
63510
+ gradient2 = dist_default4(props.colors);
65146
63511
  } else {
65147
63512
  throw new Error("Either `name` or `colors` prop must be provided");
65148
63513
  }
65149
- const applyGradient = (text) => gradient.multiline(stripAnsi4(text));
65150
- return import_react26.default.createElement(Transform, { transform: applyGradient }, props.children);
65151
- };
65152
- Gradient.propTypes = {
65153
- children: import_prop_types.default.oneOfType([
65154
- import_prop_types.default.arrayOf(import_prop_types.default.node),
65155
- import_prop_types.default.node
65156
- ]).isRequired,
65157
- name: import_prop_types.default.oneOf([
65158
- "cristal",
65159
- "teen",
65160
- "mind",
65161
- "morning",
65162
- "vice",
65163
- "passion",
65164
- "fruit",
65165
- "instagram",
65166
- "atlas",
65167
- "retro",
65168
- "summer",
65169
- "pastel",
65170
- "rainbow"
65171
- ]),
65172
- colors: import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
65173
- import_prop_types.default.string,
65174
- import_prop_types.default.object
65175
- ]))
63514
+ const applyGradient2 = (text) => gradient2.multiline(stripAnsi(text));
63515
+ const containsBoxDescendant = (nodeChildren) => {
63516
+ let hasBox = false;
63517
+ const search = (value) => {
63518
+ import_react26.Children.forEach(value, (child) => {
63519
+ if (hasBox) {
63520
+ return;
63521
+ }
63522
+ if (!import_react26.isValidElement(child)) {
63523
+ return;
63524
+ }
63525
+ if (child.type === Box_default) {
63526
+ hasBox = true;
63527
+ return;
63528
+ }
63529
+ const childProps = child.props;
63530
+ if (Object.hasOwn(childProps, "children")) {
63531
+ search(childProps["children"]);
63532
+ }
63533
+ });
63534
+ };
63535
+ search(nodeChildren);
63536
+ return hasBox;
63537
+ };
63538
+ const hasChildrenProp = (props2) => Object.hasOwn(props2, "children");
63539
+ const isPlainTextNode = (node) => typeof node === "string" || typeof node === "number";
63540
+ const isNonRenderableChild = (node) => node === null || node === undefined || typeof node === "boolean";
63541
+ const childrenCount = import_react26.Children.count(props.children);
63542
+ if (isPlainTextNode(props.children)) {
63543
+ return import_jsx_runtime.jsx(Transform, { transform: applyGradient2, children: props.children });
63544
+ }
63545
+ if (childrenCount === 1 && !containsBoxDescendant(props.children)) {
63546
+ return import_jsx_runtime.jsx(Transform, { transform: applyGradient2, children: props.children });
63547
+ }
63548
+ const applyGradientToChildren = (children) => {
63549
+ const nodes = [];
63550
+ let bufferedText = "";
63551
+ let nodeIndex = 0;
63552
+ const createKey = () => `gradient-node-${nodeIndex++}`;
63553
+ const pushTransformed = (node, key) => {
63554
+ nodes.push(import_jsx_runtime.jsx(Transform, { transform: applyGradient2, children: node }, key));
63555
+ };
63556
+ const flushText = () => {
63557
+ if (bufferedText === "") {
63558
+ return;
63559
+ }
63560
+ const text = bufferedText;
63561
+ bufferedText = "";
63562
+ pushTransformed(import_jsx_runtime.jsx(Text, { children: text }), createKey());
63563
+ };
63564
+ import_react26.Children.forEach(children, (child) => {
63565
+ if (isNonRenderableChild(child)) {
63566
+ return;
63567
+ }
63568
+ if (isPlainTextNode(child)) {
63569
+ bufferedText += String(child);
63570
+ return;
63571
+ }
63572
+ flushText();
63573
+ if (import_react26.isValidElement(child)) {
63574
+ const childKey = child.key ?? createKey();
63575
+ const childProps = child.props;
63576
+ if (child.type === Text) {
63577
+ pushTransformed(child, childKey);
63578
+ return;
63579
+ }
63580
+ if (child.type === Box_default) {
63581
+ if (hasChildrenProp(childProps)) {
63582
+ const childChildren = childProps["children"];
63583
+ nodes.push(import_react26.cloneElement(child, { key: childKey }, applyGradientToChildren(childChildren)));
63584
+ return;
63585
+ }
63586
+ nodes.push(import_react26.cloneElement(child, { key: childKey }));
63587
+ return;
63588
+ }
63589
+ if (hasChildrenProp(childProps)) {
63590
+ const childChildren = childProps["children"];
63591
+ if (!containsBoxDescendant(childChildren)) {
63592
+ pushTransformed(child, childKey);
63593
+ return;
63594
+ }
63595
+ nodes.push(import_react26.cloneElement(child, { key: childKey }, applyGradientToChildren(childChildren)));
63596
+ return;
63597
+ }
63598
+ pushTransformed(child, childKey);
63599
+ return;
63600
+ }
63601
+ nodes.push(child);
63602
+ });
63603
+ flushText();
63604
+ return nodes;
63605
+ };
63606
+ return import_jsx_runtime.jsx(import_jsx_runtime.Fragment, { children: applyGradientToChildren(props.children) });
65176
63607
  };
65177
- var dist_default4 = Gradient;
63608
+ var dist_default5 = Gradient;
65178
63609
 
65179
63610
  // src/tui/App.tsx
65180
63611
  init_claude_settings();
@@ -65280,7 +63711,7 @@ function openExternalUrl(url2) {
65280
63711
  }
65281
63712
 
65282
63713
  // src/utils/powerline.ts
65283
- import { execSync as execSync9 } from "child_process";
63714
+ import { execSync as execSync8 } from "child_process";
65284
63715
  import * as fs12 from "fs";
65285
63716
  import * as os11 from "os";
65286
63717
  import * as path10 from "path";
@@ -65414,7 +63845,7 @@ async function installPowerlineFonts() {
65414
63845
  if (fs12.existsSync(tempDir)) {
65415
63846
  fs12.rmSync(tempDir, { recursive: true, force: true });
65416
63847
  }
65417
- execSync9(`git clone --depth=1 https://github.com/powerline/fonts.git "${tempDir}"`, {
63848
+ execSync8(`git clone --depth=1 https://github.com/powerline/fonts.git "${tempDir}"`, {
65418
63849
  stdio: "pipe",
65419
63850
  encoding: "utf8"
65420
63851
  });
@@ -65422,14 +63853,14 @@ async function installPowerlineFonts() {
65422
63853
  const installScript = path10.join(tempDir, "install.sh");
65423
63854
  if (fs12.existsSync(installScript)) {
65424
63855
  fs12.chmodSync(installScript, 493);
65425
- execSync9(`cd "${tempDir}" && ./install.sh`, {
63856
+ execSync8(`cd "${tempDir}" && ./install.sh`, {
65426
63857
  stdio: "pipe",
65427
63858
  encoding: "utf8",
65428
63859
  shell: "/bin/bash"
65429
63860
  });
65430
63861
  if (platform4 === "linux") {
65431
63862
  try {
65432
- execSync9("fc-cache -f -v", {
63863
+ execSync8("fc-cache -f -v", {
65433
63864
  stdio: "pipe",
65434
63865
  encoding: "utf8"
65435
63866
  });
@@ -65811,9 +64242,9 @@ function Indicator({ isSelected = false }) {
65811
64242
  var Indicator_default = Indicator;
65812
64243
  // node_modules/ink-select-input/build/Item.js
65813
64244
  await init_build2();
65814
- var React18 = __toESM(require_react(), 1);
64245
+ var React17 = __toESM(require_react(), 1);
65815
64246
  function Item({ isSelected = false, label }) {
65816
- return React18.createElement(Text, { color: isSelected ? "blue" : undefined }, label);
64247
+ return React17.createElement(Text, { color: isSelected ? "blue" : undefined }, label);
65817
64248
  }
65818
64249
  var Item_default = Item;
65819
64250
  // node_modules/ink-select-input/build/SelectInput.js
@@ -67407,7 +65838,7 @@ function handleNormalInputMode({
67407
65838
  setMoveMode,
67408
65839
  setShowClearConfirm,
67409
65840
  openWidgetPicker,
67410
- getVisibleCustomKeybinds,
65841
+ getCustomKeybindsForWidget,
67411
65842
  setCustomEditorWidget
67412
65843
  }) {
67413
65844
  if (key.upArrow && widgets.length > 0) {
@@ -67484,7 +65915,7 @@ function handleNormalInputMode({
67484
65915
  if (!widgetImpl?.getCustomKeybinds) {
67485
65916
  return;
67486
65917
  }
67487
- const customKeybinds = getVisibleCustomKeybinds(widgetImpl, currentWidget);
65918
+ const customKeybinds = getCustomKeybindsForWidget(widgetImpl, currentWidget);
67488
65919
  const matchedKeybind = customKeybinds.find((kb) => kb.key === input);
67489
65920
  if (matchedKeybind && !key.ctrl) {
67490
65921
  if (widgetImpl.handleEditorAction) {
@@ -67504,24 +65935,6 @@ function handleNormalInputMode({
67504
65935
  }
67505
65936
  }
67506
65937
 
67507
- // src/tui/components/items-editor/keybind-visibility.ts
67508
- function isProgressMode(widget) {
67509
- const mode = widget.metadata?.display;
67510
- return mode === "progress" || mode === "progress-short";
67511
- }
67512
- function shouldShowCustomKeybind(widget, keybind) {
67513
- if (keybind.action === "edit-list-limit") {
67514
- return widget.type === "skills" && widget.metadata?.mode === "list";
67515
- }
67516
- if (keybind.action === "toggle-invert") {
67517
- return isProgressMode(widget);
67518
- }
67519
- if (keybind.action === "toggle-compact") {
67520
- return !isProgressMode(widget);
67521
- }
67522
- return true;
67523
- }
67524
-
67525
65938
  // src/tui/components/ItemsEditor.tsx
67526
65939
  var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
67527
65940
  var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
@@ -67558,11 +65971,11 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
67558
65971
  const handleEditorCancel = () => {
67559
65972
  setCustomEditorWidget(null);
67560
65973
  };
67561
- const getVisibleCustomKeybinds = (widgetImpl, widget) => {
65974
+ const getCustomKeybindsForWidget = (widgetImpl, widget) => {
67562
65975
  if (!widgetImpl.getCustomKeybinds) {
67563
65976
  return [];
67564
65977
  }
67565
- return widgetImpl.getCustomKeybinds().filter((keybind) => shouldShowCustomKeybind(widget, keybind));
65978
+ return widgetImpl.getCustomKeybinds(widget);
67566
65979
  };
67567
65980
  const openWidgetPicker = (action) => {
67568
65981
  if (widgetCatalog.length === 0) {
@@ -67647,7 +66060,7 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
67647
66060
  setMoveMode,
67648
66061
  setShowClearConfirm,
67649
66062
  openWidgetPicker,
67650
- getVisibleCustomKeybinds,
66063
+ getCustomKeybindsForWidget,
67651
66064
  setCustomEditorWidget
67652
66065
  });
67653
66066
  });
@@ -67684,7 +66097,7 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
67684
66097
  const widgetImpl = getWidget(currentWidget.type);
67685
66098
  if (widgetImpl) {
67686
66099
  canToggleRaw = widgetImpl.supportsRawValue();
67687
- customKeybinds = getVisibleCustomKeybinds(widgetImpl, currentWidget);
66100
+ customKeybinds = getCustomKeybindsForWidget(widgetImpl, currentWidget);
67688
66101
  } else {
67689
66102
  canToggleRaw = false;
67690
66103
  }
@@ -70153,7 +68566,7 @@ ${GITHUB_REPO_URL}`,
70153
68566
  children: [
70154
68567
  /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(Text, {
70155
68568
  bold: true,
70156
- children: /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(dist_default4, {
68569
+ children: /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(dist_default5, {
70157
68570
  name: "retro",
70158
68571
  children: "CCStatusline Configuration"
70159
68572
  }, undefined, false, undefined, this)
@@ -70393,7 +68806,8 @@ var StatusJSONSchema = exports_external.looseObject({
70393
68806
  ]).nullable().optional(),
70394
68807
  used_percentage: CoercedNumberSchema.nullable().optional(),
70395
68808
  remaining_percentage: CoercedNumberSchema.nullable().optional()
70396
- }).nullable().optional()
68809
+ }).nullable().optional(),
68810
+ vim: exports_external.object({ mode: exports_external.string().optional() }).nullable().optional()
70397
68811
  });
70398
68812
 
70399
68813
  // src/ccstatusline.ts
@@ -70573,8 +68987,8 @@ async function ensureWindowsUtf8CodePage() {
70573
68987
  return;
70574
68988
  }
70575
68989
  try {
70576
- const { execFileSync } = await import("child_process");
70577
- execFileSync("chcp.com", ["65001"], { stdio: "ignore" });
68990
+ const { execFileSync: execFileSync2 } = await import("child_process");
68991
+ execFileSync2("chcp.com", ["65001"], { stdio: "ignore" });
70578
68992
  } catch {}
70579
68993
  }
70580
68994
  async function renderMultipleLines(data) {