@hot-updater/firebase 0.21.7 → 0.21.8

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.
package/dist/iac/index.js CHANGED
@@ -1,13 +1,11 @@
1
1
  import { createRequire } from "node:module";
2
- import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
3
- import g, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
4
- import * as f$1 from "node:readline";
5
- import M from "node:readline";
6
- import tty, { WriteStream } from "node:tty";
7
- import { ConfigBuilder, copyDirToTmp, link, makeEnv, transformEnv, transformTemplate } from "@hot-updater/plugin-core";
2
+ import { ConfigBuilder, copyDirToTmp, link, makeEnv, p, transformEnv, transformTemplate } from "@hot-updater/cli-tools";
8
3
  import { fileURLToPath } from "node:url";
9
4
  import { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
10
5
  import { StringDecoder } from "node:string_decoder";
6
+ import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
7
+ import process$1, { execArgv, execPath, hrtime, platform } from "node:process";
8
+ import tty from "node:tty";
11
9
  import path from "node:path";
12
10
  import path$1 from "path";
13
11
  import fs from "fs";
@@ -34,7 +32,7 @@ var __copyProps = (to, from, except, desc) => {
34
32
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i$1 = 0, n$1 = keys.length, key; i$1 < n$1; i$1++) {
35
33
  key = keys[i$1];
36
34
  if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
37
- get: ((k$2) => from[k$2]).bind(null, key),
35
+ get: ((k) => from[k]).bind(null, key),
38
36
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
39
37
  });
40
38
  }
@@ -46,1187 +44,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
46
44
  }) : target, mod));
47
45
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
48
46
 
49
- //#endregion
50
- //#region ../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
51
- var require_src = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js": ((exports, module) => {
52
- const ESC = "\x1B";
53
- const CSI = `${ESC}[`;
54
- const beep = "\x07";
55
- const cursor = {
56
- to(x$1, y$1) {
57
- if (!y$1) return `${CSI}${x$1 + 1}G`;
58
- return `${CSI}${y$1 + 1};${x$1 + 1}H`;
59
- },
60
- move(x$1, y$1) {
61
- let ret = "";
62
- if (x$1 < 0) ret += `${CSI}${-x$1}D`;
63
- else if (x$1 > 0) ret += `${CSI}${x$1}C`;
64
- if (y$1 < 0) ret += `${CSI}${-y$1}A`;
65
- else if (y$1 > 0) ret += `${CSI}${y$1}B`;
66
- return ret;
67
- },
68
- up: (count$1 = 1) => `${CSI}${count$1}A`,
69
- down: (count$1 = 1) => `${CSI}${count$1}B`,
70
- forward: (count$1 = 1) => `${CSI}${count$1}C`,
71
- backward: (count$1 = 1) => `${CSI}${count$1}D`,
72
- nextLine: (count$1 = 1) => `${CSI}E`.repeat(count$1),
73
- prevLine: (count$1 = 1) => `${CSI}F`.repeat(count$1),
74
- left: `${CSI}G`,
75
- hide: `${CSI}?25l`,
76
- show: `${CSI}?25h`,
77
- save: `${ESC}7`,
78
- restore: `${ESC}8`
79
- };
80
- const scroll = {
81
- up: (count$1 = 1) => `${CSI}S`.repeat(count$1),
82
- down: (count$1 = 1) => `${CSI}T`.repeat(count$1)
83
- };
84
- const erase = {
85
- screen: `${CSI}2J`,
86
- up: (count$1 = 1) => `${CSI}1J`.repeat(count$1),
87
- down: (count$1 = 1) => `${CSI}J`.repeat(count$1),
88
- line: `${CSI}2K`,
89
- lineEnd: `${CSI}K`,
90
- lineStart: `${CSI}1K`,
91
- lines(count$1) {
92
- let clear = "";
93
- for (let i$1 = 0; i$1 < count$1; i$1++) clear += this.line + (i$1 < count$1 - 1 ? cursor.up() : "");
94
- if (count$1) clear += cursor.left;
95
- return clear;
96
- }
97
- };
98
- module.exports = {
99
- cursor,
100
- scroll,
101
- erase,
102
- beep
103
- };
104
- }) });
105
-
106
- //#endregion
107
- //#region ../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
108
- var require_picocolors = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js": ((exports, module) => {
109
- let p = process || {}, argv = p.argv || [], env = p.env || {};
110
- let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
111
- let formatter = (open, close, replace = open) => (input) => {
112
- let string = "" + input, index = string.indexOf(close, open.length);
113
- return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
114
- };
115
- let replaceClose = (string, close, replace, index) => {
116
- let result = "", cursor$1 = 0;
117
- do {
118
- result += string.substring(cursor$1, index) + replace;
119
- cursor$1 = index + close.length;
120
- index = string.indexOf(close, cursor$1);
121
- } while (~index);
122
- return result + string.substring(cursor$1);
123
- };
124
- let createColors = (enabled = isColorSupported) => {
125
- let f$2 = enabled ? formatter : () => String;
126
- return {
127
- isColorSupported: enabled,
128
- reset: f$2("\x1B[0m", "\x1B[0m"),
129
- bold: f$2("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
130
- dim: f$2("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
131
- italic: f$2("\x1B[3m", "\x1B[23m"),
132
- underline: f$2("\x1B[4m", "\x1B[24m"),
133
- inverse: f$2("\x1B[7m", "\x1B[27m"),
134
- hidden: f$2("\x1B[8m", "\x1B[28m"),
135
- strikethrough: f$2("\x1B[9m", "\x1B[29m"),
136
- black: f$2("\x1B[30m", "\x1B[39m"),
137
- red: f$2("\x1B[31m", "\x1B[39m"),
138
- green: f$2("\x1B[32m", "\x1B[39m"),
139
- yellow: f$2("\x1B[33m", "\x1B[39m"),
140
- blue: f$2("\x1B[34m", "\x1B[39m"),
141
- magenta: f$2("\x1B[35m", "\x1B[39m"),
142
- cyan: f$2("\x1B[36m", "\x1B[39m"),
143
- white: f$2("\x1B[37m", "\x1B[39m"),
144
- gray: f$2("\x1B[90m", "\x1B[39m"),
145
- bgBlack: f$2("\x1B[40m", "\x1B[49m"),
146
- bgRed: f$2("\x1B[41m", "\x1B[49m"),
147
- bgGreen: f$2("\x1B[42m", "\x1B[49m"),
148
- bgYellow: f$2("\x1B[43m", "\x1B[49m"),
149
- bgBlue: f$2("\x1B[44m", "\x1B[49m"),
150
- bgMagenta: f$2("\x1B[45m", "\x1B[49m"),
151
- bgCyan: f$2("\x1B[46m", "\x1B[49m"),
152
- bgWhite: f$2("\x1B[47m", "\x1B[49m"),
153
- blackBright: f$2("\x1B[90m", "\x1B[39m"),
154
- redBright: f$2("\x1B[91m", "\x1B[39m"),
155
- greenBright: f$2("\x1B[92m", "\x1B[39m"),
156
- yellowBright: f$2("\x1B[93m", "\x1B[39m"),
157
- blueBright: f$2("\x1B[94m", "\x1B[39m"),
158
- magentaBright: f$2("\x1B[95m", "\x1B[39m"),
159
- cyanBright: f$2("\x1B[96m", "\x1B[39m"),
160
- whiteBright: f$2("\x1B[97m", "\x1B[39m"),
161
- bgBlackBright: f$2("\x1B[100m", "\x1B[49m"),
162
- bgRedBright: f$2("\x1B[101m", "\x1B[49m"),
163
- bgGreenBright: f$2("\x1B[102m", "\x1B[49m"),
164
- bgYellowBright: f$2("\x1B[103m", "\x1B[49m"),
165
- bgBlueBright: f$2("\x1B[104m", "\x1B[49m"),
166
- bgMagentaBright: f$2("\x1B[105m", "\x1B[49m"),
167
- bgCyanBright: f$2("\x1B[106m", "\x1B[49m"),
168
- bgWhiteBright: f$2("\x1B[107m", "\x1B[49m")
169
- };
170
- };
171
- module.exports = createColors();
172
- module.exports.createColors = createColors;
173
- }) });
174
-
175
- //#endregion
176
- //#region ../../node_modules/.pnpm/@clack+core@0.4.1/node_modules/@clack/core/dist/index.mjs
177
- var import_src$1 = /* @__PURE__ */ __toESM(require_src(), 1);
178
- var import_picocolors$1 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
179
- function J$1({ onlyFirst: t = !1 } = {}) {
180
- const F$1 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
181
- return new RegExp(F$1, t ? void 0 : "g");
182
- }
183
- const Q = J$1();
184
- function T$1(t) {
185
- if (typeof t != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);
186
- return t.replace(Q, "");
187
- }
188
- function O(t) {
189
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
190
- }
191
- var P$1 = { exports: {} };
192
- (function(t) {
193
- var u$2 = {};
194
- t.exports = u$2, u$2.eastAsianWidth = function(e$1) {
195
- var s = e$1.charCodeAt(0), i$1 = e$1.length == 2 ? e$1.charCodeAt(1) : 0, D$1 = s;
196
- return 55296 <= s && s <= 56319 && 56320 <= i$1 && i$1 <= 57343 && (s &= 1023, i$1 &= 1023, D$1 = s << 10 | i$1, D$1 += 65536), D$1 == 12288 || 65281 <= D$1 && D$1 <= 65376 || 65504 <= D$1 && D$1 <= 65510 ? "F" : D$1 == 8361 || 65377 <= D$1 && D$1 <= 65470 || 65474 <= D$1 && D$1 <= 65479 || 65482 <= D$1 && D$1 <= 65487 || 65490 <= D$1 && D$1 <= 65495 || 65498 <= D$1 && D$1 <= 65500 || 65512 <= D$1 && D$1 <= 65518 ? "H" : 4352 <= D$1 && D$1 <= 4447 || 4515 <= D$1 && D$1 <= 4519 || 4602 <= D$1 && D$1 <= 4607 || 9001 <= D$1 && D$1 <= 9002 || 11904 <= D$1 && D$1 <= 11929 || 11931 <= D$1 && D$1 <= 12019 || 12032 <= D$1 && D$1 <= 12245 || 12272 <= D$1 && D$1 <= 12283 || 12289 <= D$1 && D$1 <= 12350 || 12353 <= D$1 && D$1 <= 12438 || 12441 <= D$1 && D$1 <= 12543 || 12549 <= D$1 && D$1 <= 12589 || 12593 <= D$1 && D$1 <= 12686 || 12688 <= D$1 && D$1 <= 12730 || 12736 <= D$1 && D$1 <= 12771 || 12784 <= D$1 && D$1 <= 12830 || 12832 <= D$1 && D$1 <= 12871 || 12880 <= D$1 && D$1 <= 13054 || 13056 <= D$1 && D$1 <= 19903 || 19968 <= D$1 && D$1 <= 42124 || 42128 <= D$1 && D$1 <= 42182 || 43360 <= D$1 && D$1 <= 43388 || 44032 <= D$1 && D$1 <= 55203 || 55216 <= D$1 && D$1 <= 55238 || 55243 <= D$1 && D$1 <= 55291 || 63744 <= D$1 && D$1 <= 64255 || 65040 <= D$1 && D$1 <= 65049 || 65072 <= D$1 && D$1 <= 65106 || 65108 <= D$1 && D$1 <= 65126 || 65128 <= D$1 && D$1 <= 65131 || 110592 <= D$1 && D$1 <= 110593 || 127488 <= D$1 && D$1 <= 127490 || 127504 <= D$1 && D$1 <= 127546 || 127552 <= D$1 && D$1 <= 127560 || 127568 <= D$1 && D$1 <= 127569 || 131072 <= D$1 && D$1 <= 194367 || 177984 <= D$1 && D$1 <= 196605 || 196608 <= D$1 && D$1 <= 262141 ? "W" : 32 <= D$1 && D$1 <= 126 || 162 <= D$1 && D$1 <= 163 || 165 <= D$1 && D$1 <= 166 || D$1 == 172 || D$1 == 175 || 10214 <= D$1 && D$1 <= 10221 || 10629 <= D$1 && D$1 <= 10630 ? "Na" : D$1 == 161 || D$1 == 164 || 167 <= D$1 && D$1 <= 168 || D$1 == 170 || 173 <= D$1 && D$1 <= 174 || 176 <= D$1 && D$1 <= 180 || 182 <= D$1 && D$1 <= 186 || 188 <= D$1 && D$1 <= 191 || D$1 == 198 || D$1 == 208 || 215 <= D$1 && D$1 <= 216 || 222 <= D$1 && D$1 <= 225 || D$1 == 230 || 232 <= D$1 && D$1 <= 234 || 236 <= D$1 && D$1 <= 237 || D$1 == 240 || 242 <= D$1 && D$1 <= 243 || 247 <= D$1 && D$1 <= 250 || D$1 == 252 || D$1 == 254 || D$1 == 257 || D$1 == 273 || D$1 == 275 || D$1 == 283 || 294 <= D$1 && D$1 <= 295 || D$1 == 299 || 305 <= D$1 && D$1 <= 307 || D$1 == 312 || 319 <= D$1 && D$1 <= 322 || D$1 == 324 || 328 <= D$1 && D$1 <= 331 || D$1 == 333 || 338 <= D$1 && D$1 <= 339 || 358 <= D$1 && D$1 <= 359 || D$1 == 363 || D$1 == 462 || D$1 == 464 || D$1 == 466 || D$1 == 468 || D$1 == 470 || D$1 == 472 || D$1 == 474 || D$1 == 476 || D$1 == 593 || D$1 == 609 || D$1 == 708 || D$1 == 711 || 713 <= D$1 && D$1 <= 715 || D$1 == 717 || D$1 == 720 || 728 <= D$1 && D$1 <= 731 || D$1 == 733 || D$1 == 735 || 768 <= D$1 && D$1 <= 879 || 913 <= D$1 && D$1 <= 929 || 931 <= D$1 && D$1 <= 937 || 945 <= D$1 && D$1 <= 961 || 963 <= D$1 && D$1 <= 969 || D$1 == 1025 || 1040 <= D$1 && D$1 <= 1103 || D$1 == 1105 || D$1 == 8208 || 8211 <= D$1 && D$1 <= 8214 || 8216 <= D$1 && D$1 <= 8217 || 8220 <= D$1 && D$1 <= 8221 || 8224 <= D$1 && D$1 <= 8226 || 8228 <= D$1 && D$1 <= 8231 || D$1 == 8240 || 8242 <= D$1 && D$1 <= 8243 || D$1 == 8245 || D$1 == 8251 || D$1 == 8254 || D$1 == 8308 || D$1 == 8319 || 8321 <= D$1 && D$1 <= 8324 || D$1 == 8364 || D$1 == 8451 || D$1 == 8453 || D$1 == 8457 || D$1 == 8467 || D$1 == 8470 || 8481 <= D$1 && D$1 <= 8482 || D$1 == 8486 || D$1 == 8491 || 8531 <= D$1 && D$1 <= 8532 || 8539 <= D$1 && D$1 <= 8542 || 8544 <= D$1 && D$1 <= 8555 || 8560 <= D$1 && D$1 <= 8569 || D$1 == 8585 || 8592 <= D$1 && D$1 <= 8601 || 8632 <= D$1 && D$1 <= 8633 || D$1 == 8658 || D$1 == 8660 || D$1 == 8679 || D$1 == 8704 || 8706 <= D$1 && D$1 <= 8707 || 8711 <= D$1 && D$1 <= 8712 || D$1 == 8715 || D$1 == 8719 || D$1 == 8721 || D$1 == 8725 || D$1 == 8730 || 8733 <= D$1 && D$1 <= 8736 || D$1 == 8739 || D$1 == 8741 || 8743 <= D$1 && D$1 <= 8748 || D$1 == 8750 || 8756 <= D$1 && D$1 <= 8759 || 8764 <= D$1 && D$1 <= 8765 || D$1 == 8776 || D$1 == 8780 || D$1 == 8786 || 8800 <= D$1 && D$1 <= 8801 || 8804 <= D$1 && D$1 <= 8807 || 8810 <= D$1 && D$1 <= 8811 || 8814 <= D$1 && D$1 <= 8815 || 8834 <= D$1 && D$1 <= 8835 || 8838 <= D$1 && D$1 <= 8839 || D$1 == 8853 || D$1 == 8857 || D$1 == 8869 || D$1 == 8895 || D$1 == 8978 || 9312 <= D$1 && D$1 <= 9449 || 9451 <= D$1 && D$1 <= 9547 || 9552 <= D$1 && D$1 <= 9587 || 9600 <= D$1 && D$1 <= 9615 || 9618 <= D$1 && D$1 <= 9621 || 9632 <= D$1 && D$1 <= 9633 || 9635 <= D$1 && D$1 <= 9641 || 9650 <= D$1 && D$1 <= 9651 || 9654 <= D$1 && D$1 <= 9655 || 9660 <= D$1 && D$1 <= 9661 || 9664 <= D$1 && D$1 <= 9665 || 9670 <= D$1 && D$1 <= 9672 || D$1 == 9675 || 9678 <= D$1 && D$1 <= 9681 || 9698 <= D$1 && D$1 <= 9701 || D$1 == 9711 || 9733 <= D$1 && D$1 <= 9734 || D$1 == 9737 || 9742 <= D$1 && D$1 <= 9743 || 9748 <= D$1 && D$1 <= 9749 || D$1 == 9756 || D$1 == 9758 || D$1 == 9792 || D$1 == 9794 || 9824 <= D$1 && D$1 <= 9825 || 9827 <= D$1 && D$1 <= 9829 || 9831 <= D$1 && D$1 <= 9834 || 9836 <= D$1 && D$1 <= 9837 || D$1 == 9839 || 9886 <= D$1 && D$1 <= 9887 || 9918 <= D$1 && D$1 <= 9919 || 9924 <= D$1 && D$1 <= 9933 || 9935 <= D$1 && D$1 <= 9953 || D$1 == 9955 || 9960 <= D$1 && D$1 <= 9983 || D$1 == 10045 || D$1 == 10071 || 10102 <= D$1 && D$1 <= 10111 || 11093 <= D$1 && D$1 <= 11097 || 12872 <= D$1 && D$1 <= 12879 || 57344 <= D$1 && D$1 <= 63743 || 65024 <= D$1 && D$1 <= 65039 || D$1 == 65533 || 127232 <= D$1 && D$1 <= 127242 || 127248 <= D$1 && D$1 <= 127277 || 127280 <= D$1 && D$1 <= 127337 || 127344 <= D$1 && D$1 <= 127386 || 917760 <= D$1 && D$1 <= 917999 || 983040 <= D$1 && D$1 <= 1048573 || 1048576 <= D$1 && D$1 <= 1114109 ? "A" : "N";
197
- }, u$2.characterLength = function(e$1) {
198
- var s = this.eastAsianWidth(e$1);
199
- return s == "F" || s == "W" || s == "A" ? 2 : 1;
200
- };
201
- function F$1(e$1) {
202
- return e$1.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
203
- }
204
- u$2.length = function(e$1) {
205
- for (var s = F$1(e$1), i$1 = 0, D$1 = 0; D$1 < s.length; D$1++) i$1 = i$1 + this.characterLength(s[D$1]);
206
- return i$1;
207
- }, u$2.slice = function(e$1, s, i$1) {
208
- textLen = u$2.length(e$1), s = s || 0, i$1 = i$1 || 1, s < 0 && (s = textLen + s), i$1 < 0 && (i$1 = textLen + i$1);
209
- for (var D$1 = "", C$1 = 0, o$2 = F$1(e$1), E = 0; E < o$2.length; E++) {
210
- var a$1 = o$2[E], n$1 = u$2.length(a$1);
211
- if (C$1 >= s - (n$1 == 2 ? 1 : 0)) if (C$1 + n$1 <= i$1) D$1 += a$1;
212
- else break;
213
- C$1 += n$1;
214
- }
215
- return D$1;
216
- };
217
- })(P$1);
218
- var X = P$1.exports;
219
- const DD = O(X);
220
- var uD = function() {
221
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
222
- };
223
- const FD = O(uD);
224
- function A$1(t, u$2 = {}) {
225
- if (typeof t != "string" || t.length === 0 || (u$2 = {
226
- ambiguousIsNarrow: !0,
227
- ...u$2
228
- }, t = T$1(t), t.length === 0)) return 0;
229
- t = t.replace(FD(), " ");
230
- const F$1 = u$2.ambiguousIsNarrow ? 1 : 2;
231
- let e$1 = 0;
232
- for (const s of t) {
233
- const i$1 = s.codePointAt(0);
234
- if (i$1 <= 31 || i$1 >= 127 && i$1 <= 159 || i$1 >= 768 && i$1 <= 879) continue;
235
- switch (DD.eastAsianWidth(s)) {
236
- case "F":
237
- case "W":
238
- e$1 += 2;
239
- break;
240
- case "A":
241
- e$1 += F$1;
242
- break;
243
- default: e$1 += 1;
244
- }
245
- }
246
- return e$1;
247
- }
248
- const m = 10, L$1 = (t = 0) => (u$2) => `\x1B[${u$2 + t}m`, N = (t = 0) => (u$2) => `\x1B[${38 + t};5;${u$2}m`, I = (t = 0) => (u$2, F$1, e$1) => `\x1B[${38 + t};2;${u$2};${F$1};${e$1}m`, r = {
249
- modifier: {
250
- reset: [0, 0],
251
- bold: [1, 22],
252
- dim: [2, 22],
253
- italic: [3, 23],
254
- underline: [4, 24],
255
- overline: [53, 55],
256
- inverse: [7, 27],
257
- hidden: [8, 28],
258
- strikethrough: [9, 29]
259
- },
260
- color: {
261
- black: [30, 39],
262
- red: [31, 39],
263
- green: [32, 39],
264
- yellow: [33, 39],
265
- blue: [34, 39],
266
- magenta: [35, 39],
267
- cyan: [36, 39],
268
- white: [37, 39],
269
- blackBright: [90, 39],
270
- gray: [90, 39],
271
- grey: [90, 39],
272
- redBright: [91, 39],
273
- greenBright: [92, 39],
274
- yellowBright: [93, 39],
275
- blueBright: [94, 39],
276
- magentaBright: [95, 39],
277
- cyanBright: [96, 39],
278
- whiteBright: [97, 39]
279
- },
280
- bgColor: {
281
- bgBlack: [40, 49],
282
- bgRed: [41, 49],
283
- bgGreen: [42, 49],
284
- bgYellow: [43, 49],
285
- bgBlue: [44, 49],
286
- bgMagenta: [45, 49],
287
- bgCyan: [46, 49],
288
- bgWhite: [47, 49],
289
- bgBlackBright: [100, 49],
290
- bgGray: [100, 49],
291
- bgGrey: [100, 49],
292
- bgRedBright: [101, 49],
293
- bgGreenBright: [102, 49],
294
- bgYellowBright: [103, 49],
295
- bgBlueBright: [104, 49],
296
- bgMagentaBright: [105, 49],
297
- bgCyanBright: [106, 49],
298
- bgWhiteBright: [107, 49]
299
- }
300
- };
301
- Object.keys(r.modifier);
302
- const tD = Object.keys(r.color), eD = Object.keys(r.bgColor);
303
- [...tD, ...eD];
304
- function sD() {
305
- const t = /* @__PURE__ */ new Map();
306
- for (const [u$2, F$1] of Object.entries(r)) {
307
- for (const [e$1, s] of Object.entries(F$1)) r[e$1] = {
308
- open: `\x1B[${s[0]}m`,
309
- close: `\x1B[${s[1]}m`
310
- }, F$1[e$1] = r[e$1], t.set(s[0], s[1]);
311
- Object.defineProperty(r, u$2, {
312
- value: F$1,
313
- enumerable: !1
314
- });
315
- }
316
- return Object.defineProperty(r, "codes", {
317
- value: t,
318
- enumerable: !1
319
- }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L$1(), r.color.ansi256 = N(), r.color.ansi16m = I(), r.bgColor.ansi = L$1(m), r.bgColor.ansi256 = N(m), r.bgColor.ansi16m = I(m), Object.defineProperties(r, {
320
- rgbToAnsi256: {
321
- value: (u$2, F$1, e$1) => u$2 === F$1 && F$1 === e$1 ? u$2 < 8 ? 16 : u$2 > 248 ? 231 : Math.round((u$2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u$2 / 255 * 5) + 6 * Math.round(F$1 / 255 * 5) + Math.round(e$1 / 255 * 5),
322
- enumerable: !1
323
- },
324
- hexToRgb: {
325
- value: (u$2) => {
326
- const F$1 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u$2.toString(16));
327
- if (!F$1) return [
328
- 0,
329
- 0,
330
- 0
331
- ];
332
- let [e$1] = F$1;
333
- e$1.length === 3 && (e$1 = [...e$1].map((i$1) => i$1 + i$1).join(""));
334
- const s = Number.parseInt(e$1, 16);
335
- return [
336
- s >> 16 & 255,
337
- s >> 8 & 255,
338
- s & 255
339
- ];
340
- },
341
- enumerable: !1
342
- },
343
- hexToAnsi256: {
344
- value: (u$2) => r.rgbToAnsi256(...r.hexToRgb(u$2)),
345
- enumerable: !1
346
- },
347
- ansi256ToAnsi: {
348
- value: (u$2) => {
349
- if (u$2 < 8) return 30 + u$2;
350
- if (u$2 < 16) return 90 + (u$2 - 8);
351
- let F$1, e$1, s;
352
- if (u$2 >= 232) F$1 = ((u$2 - 232) * 10 + 8) / 255, e$1 = F$1, s = F$1;
353
- else {
354
- u$2 -= 16;
355
- const C$1 = u$2 % 36;
356
- F$1 = Math.floor(u$2 / 36) / 5, e$1 = Math.floor(C$1 / 6) / 5, s = C$1 % 6 / 5;
357
- }
358
- const i$1 = Math.max(F$1, e$1, s) * 2;
359
- if (i$1 === 0) return 30;
360
- let D$1 = 30 + (Math.round(s) << 2 | Math.round(e$1) << 1 | Math.round(F$1));
361
- return i$1 === 2 && (D$1 += 60), D$1;
362
- },
363
- enumerable: !1
364
- },
365
- rgbToAnsi: {
366
- value: (u$2, F$1, e$1) => r.ansi256ToAnsi(r.rgbToAnsi256(u$2, F$1, e$1)),
367
- enumerable: !1
368
- },
369
- hexToAnsi: {
370
- value: (u$2) => r.ansi256ToAnsi(r.hexToAnsi256(u$2)),
371
- enumerable: !1
372
- }
373
- }), r;
374
- }
375
- const iD = sD(), v = new Set(["\x1B", "›"]), CD = 39, w$1 = "\x07", W$1 = "[", rD = "]", R = "m", y = `${rD}8;;`, V$1 = (t) => `${v.values().next().value}${W$1}${t}${R}`, z = (t) => `${v.values().next().value}${y}${t}${w$1}`, ED = (t) => t.split(" ").map((u$2) => A$1(u$2)), _$1 = (t, u$2, F$1) => {
376
- const e$1 = [...u$2];
377
- let s = !1, i$1 = !1, D$1 = A$1(T$1(t[t.length - 1]));
378
- for (const [C$1, o$2] of e$1.entries()) {
379
- const E = A$1(o$2);
380
- if (D$1 + E <= F$1 ? t[t.length - 1] += o$2 : (t.push(o$2), D$1 = 0), v.has(o$2) && (s = !0, i$1 = e$1.slice(C$1 + 1).join("").startsWith(y)), s) {
381
- i$1 ? o$2 === w$1 && (s = !1, i$1 = !1) : o$2 === R && (s = !1);
382
- continue;
383
- }
384
- D$1 += E, D$1 === F$1 && C$1 < e$1.length - 1 && (t.push(""), D$1 = 0);
385
- }
386
- !D$1 && t[t.length - 1].length > 0 && t.length > 1 && (t[t.length - 2] += t.pop());
387
- }, nD = (t) => {
388
- const u$2 = t.split(" ");
389
- let F$1 = u$2.length;
390
- for (; F$1 > 0 && !(A$1(u$2[F$1 - 1]) > 0);) F$1--;
391
- return F$1 === u$2.length ? t : u$2.slice(0, F$1).join(" ") + u$2.slice(F$1).join("");
392
- }, oD = (t, u$2, F$1 = {}) => {
393
- if (F$1.trim !== !1 && t.trim() === "") return "";
394
- let e$1 = "", s, i$1;
395
- const D$1 = ED(t);
396
- let C$1 = [""];
397
- for (const [E, a$1] of t.split(" ").entries()) {
398
- F$1.trim !== !1 && (C$1[C$1.length - 1] = C$1[C$1.length - 1].trimStart());
399
- let n$1 = A$1(C$1[C$1.length - 1]);
400
- if (E !== 0 && (n$1 >= u$2 && (F$1.wordWrap === !1 || F$1.trim === !1) && (C$1.push(""), n$1 = 0), (n$1 > 0 || F$1.trim === !1) && (C$1[C$1.length - 1] += " ", n$1++)), F$1.hard && D$1[E] > u$2) {
401
- const B$1 = u$2 - n$1, p$1 = 1 + Math.floor((D$1[E] - B$1 - 1) / u$2);
402
- Math.floor((D$1[E] - 1) / u$2) < p$1 && C$1.push(""), _$1(C$1, a$1, u$2);
403
- continue;
404
- }
405
- if (n$1 + D$1[E] > u$2 && n$1 > 0 && D$1[E] > 0) {
406
- if (F$1.wordWrap === !1 && n$1 < u$2) {
407
- _$1(C$1, a$1, u$2);
408
- continue;
409
- }
410
- C$1.push("");
411
- }
412
- if (n$1 + D$1[E] > u$2 && F$1.wordWrap === !1) {
413
- _$1(C$1, a$1, u$2);
414
- continue;
415
- }
416
- C$1[C$1.length - 1] += a$1;
417
- }
418
- F$1.trim !== !1 && (C$1 = C$1.map((E) => nD(E)));
419
- const o$2 = [...C$1.join(`
420
- `)];
421
- for (const [E, a$1] of o$2.entries()) {
422
- if (e$1 += a$1, v.has(a$1)) {
423
- const { groups: B$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${W$1}(?<code>\\d+)m|\\${y}(?<uri>.*)${w$1})`)).exec(o$2.slice(E).join("")) || { groups: {} };
424
- if (B$1.code !== void 0) {
425
- const p$1 = Number.parseFloat(B$1.code);
426
- s = p$1 === CD ? void 0 : p$1;
427
- } else B$1.uri !== void 0 && (i$1 = B$1.uri.length === 0 ? void 0 : B$1.uri);
428
- }
429
- const n$1 = iD.codes.get(Number(s));
430
- o$2[E + 1] === `
431
- ` ? (i$1 && (e$1 += z("")), s && n$1 && (e$1 += V$1(n$1))) : a$1 === `
432
- ` && (s && n$1 && (e$1 += V$1(s)), i$1 && (e$1 += z(i$1)));
433
- }
434
- return e$1;
435
- };
436
- function G(t, u$2, F$1) {
437
- return String(t).normalize().replace(/\r\n/g, `
438
- `).split(`
439
- `).map((e$1) => oD(e$1, u$2, F$1)).join(`
440
- `);
441
- }
442
- const c$1 = {
443
- actions: new Set([
444
- "up",
445
- "down",
446
- "left",
447
- "right",
448
- "space",
449
- "enter",
450
- "cancel"
451
- ]),
452
- aliases: new Map([
453
- ["k", "up"],
454
- ["j", "down"],
455
- ["h", "left"],
456
- ["l", "right"],
457
- ["", "cancel"],
458
- ["escape", "cancel"]
459
- ])
460
- };
461
- function k$1(t, u$2) {
462
- if (typeof t == "string") return c$1.aliases.get(t) === u$2;
463
- for (const F$1 of t) if (F$1 !== void 0 && k$1(F$1, u$2)) return !0;
464
- return !1;
465
- }
466
- function lD(t, u$2) {
467
- if (t === u$2) return;
468
- const F$1 = t.split(`
469
- `), e$1 = u$2.split(`
470
- `), s = [];
471
- for (let i$1 = 0; i$1 < Math.max(F$1.length, e$1.length); i$1++) F$1[i$1] !== e$1[i$1] && s.push(i$1);
472
- return s;
473
- }
474
- const xD = globalThis.process.platform.startsWith("win"), S = Symbol("clack:cancel");
475
- function BD(t) {
476
- return t === S;
477
- }
478
- function d$1(t, u$2) {
479
- const F$1 = t;
480
- F$1.isTTY && F$1.setRawMode(u$2);
481
- }
482
- function cD({ input: t = stdin, output: u$2 = stdout, overwrite: F$1 = !0, hideCursor: e$1 = !0 } = {}) {
483
- const s = f$1.createInterface({
484
- input: t,
485
- output: u$2,
486
- prompt: "",
487
- tabSize: 1
488
- });
489
- f$1.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(!0);
490
- const i$1 = (D$1, { name: C$1, sequence: o$2 }) => {
491
- if (k$1([
492
- String(D$1),
493
- C$1,
494
- o$2
495
- ], "cancel")) {
496
- e$1 && u$2.write(import_src$1.cursor.show), process.exit(0);
497
- return;
498
- }
499
- if (!F$1) return;
500
- const a$1 = C$1 === "return" ? 0 : -1, n$1 = C$1 === "return" ? -1 : 0;
501
- f$1.moveCursor(u$2, a$1, n$1, () => {
502
- f$1.clearLine(u$2, 1, () => {
503
- t.once("keypress", i$1);
504
- });
505
- });
506
- };
507
- return e$1 && u$2.write(import_src$1.cursor.hide), t.once("keypress", i$1), () => {
508
- t.off("keypress", i$1), e$1 && u$2.write(import_src$1.cursor.show), t.isTTY && !xD && t.setRawMode(!1), s.terminal = !1, s.close();
509
- };
510
- }
511
- var AD = Object.defineProperty, pD = (t, u$2, F$1) => u$2 in t ? AD(t, u$2, {
512
- enumerable: !0,
513
- configurable: !0,
514
- writable: !0,
515
- value: F$1
516
- }) : t[u$2] = F$1, h$1 = (t, u$2, F$1) => (pD(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
517
- var x = class {
518
- constructor(u$2, F$1 = !0) {
519
- h$1(this, "input"), h$1(this, "output"), h$1(this, "_abortSignal"), h$1(this, "rl"), h$1(this, "opts"), h$1(this, "_render"), h$1(this, "_track", !1), h$1(this, "_prevFrame", ""), h$1(this, "_subscribers", /* @__PURE__ */ new Map()), h$1(this, "_cursor", 0), h$1(this, "state", "initial"), h$1(this, "error", ""), h$1(this, "value");
520
- const { input: e$1 = stdin, output: s = stdout, render: i$1, signal: D$1,...C$1 } = u$2;
521
- this.opts = C$1, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = i$1.bind(this), this._track = F$1, this._abortSignal = D$1, this.input = e$1, this.output = s;
522
- }
523
- unsubscribe() {
524
- this._subscribers.clear();
525
- }
526
- setSubscriber(u$2, F$1) {
527
- const e$1 = this._subscribers.get(u$2) ?? [];
528
- e$1.push(F$1), this._subscribers.set(u$2, e$1);
529
- }
530
- on(u$2, F$1) {
531
- this.setSubscriber(u$2, { cb: F$1 });
532
- }
533
- once(u$2, F$1) {
534
- this.setSubscriber(u$2, {
535
- cb: F$1,
536
- once: !0
537
- });
538
- }
539
- emit(u$2, ...F$1) {
540
- const e$1 = this._subscribers.get(u$2) ?? [], s = [];
541
- for (const i$1 of e$1) i$1.cb(...F$1), i$1.once && s.push(() => e$1.splice(e$1.indexOf(i$1), 1));
542
- for (const i$1 of s) i$1();
543
- }
544
- prompt() {
545
- return new Promise((u$2, F$1) => {
546
- if (this._abortSignal) {
547
- if (this._abortSignal.aborted) return this.state = "cancel", this.close(), u$2(S);
548
- this._abortSignal.addEventListener("abort", () => {
549
- this.state = "cancel", this.close();
550
- }, { once: !0 });
551
- }
552
- const e$1 = new WriteStream(0);
553
- e$1._write = (s, i$1, D$1) => {
554
- this._track && (this.value = this.rl?.line.replace(/\t/g, ""), this._cursor = this.rl?.cursor ?? 0, this.emit("value", this.value)), D$1();
555
- }, this.input.pipe(e$1), this.rl = M.createInterface({
556
- input: this.input,
557
- output: e$1,
558
- tabSize: 2,
559
- prompt: "",
560
- escapeCodeTimeout: 50
561
- }), M.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), d$1(this.input, !0), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
562
- this.output.write(import_src$1.cursor.show), this.output.off("resize", this.render), d$1(this.input, !1), u$2(this.value);
563
- }), this.once("cancel", () => {
564
- this.output.write(import_src$1.cursor.show), this.output.off("resize", this.render), d$1(this.input, !1), u$2(S);
565
- });
566
- });
567
- }
568
- onKeypress(u$2, F$1) {
569
- if (this.state === "error" && (this.state = "active"), F$1?.name && (!this._track && c$1.aliases.has(F$1.name) && this.emit("cursor", c$1.aliases.get(F$1.name)), c$1.actions.has(F$1.name) && this.emit("cursor", F$1.name)), u$2 && (u$2.toLowerCase() === "y" || u$2.toLowerCase() === "n") && this.emit("confirm", u$2.toLowerCase() === "y"), u$2 === " " && this.opts.placeholder && (this.value || (this.rl?.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u$2 && this.emit("key", u$2.toLowerCase()), F$1?.name === "return") {
570
- if (this.opts.validate) {
571
- const e$1 = this.opts.validate(this.value);
572
- e$1 && (this.error = e$1 instanceof Error ? e$1.message : e$1, this.state = "error", this.rl?.write(this.value));
573
- }
574
- this.state !== "error" && (this.state = "submit");
575
- }
576
- k$1([
577
- u$2,
578
- F$1?.name,
579
- F$1?.sequence
580
- ], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
581
- }
582
- close() {
583
- this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
584
- `), d$1(this.input, !1), this.rl?.close(), this.rl = void 0, this.emit(`${this.state}`, this.value), this.unsubscribe();
585
- }
586
- restoreCursor() {
587
- const u$2 = G(this._prevFrame, process.stdout.columns, { hard: !0 }).split(`
588
- `).length - 1;
589
- this.output.write(import_src$1.cursor.move(-999, u$2 * -1));
590
- }
591
- render() {
592
- const u$2 = G(this._render(this) ?? "", process.stdout.columns, { hard: !0 });
593
- if (u$2 !== this._prevFrame) {
594
- if (this.state === "initial") this.output.write(import_src$1.cursor.hide);
595
- else {
596
- const F$1 = lD(this._prevFrame, u$2);
597
- if (this.restoreCursor(), F$1 && F$1?.length === 1) {
598
- const e$1 = F$1[0];
599
- this.output.write(import_src$1.cursor.move(0, e$1)), this.output.write(import_src$1.erase.lines(1));
600
- const s = u$2.split(`
601
- `);
602
- this.output.write(s[e$1]), this._prevFrame = u$2, this.output.write(import_src$1.cursor.move(0, s.length - e$1 - 1));
603
- return;
604
- }
605
- if (F$1 && F$1?.length > 1) {
606
- const e$1 = F$1[0];
607
- this.output.write(import_src$1.cursor.move(0, e$1)), this.output.write(import_src$1.erase.down());
608
- const s = u$2.split(`
609
- `).slice(e$1);
610
- this.output.write(s.join(`
611
- `)), this._prevFrame = u$2;
612
- return;
613
- }
614
- this.output.write(import_src$1.erase.down());
615
- }
616
- this.output.write(u$2), this.state === "initial" && (this.state = "active"), this._prevFrame = u$2;
617
- }
618
- }
619
- };
620
- var fD = class extends x {
621
- get cursor() {
622
- return this.value ? 0 : 1;
623
- }
624
- get _value() {
625
- return this.cursor === 0;
626
- }
627
- constructor(u$2) {
628
- super(u$2, !1), this.value = !!u$2.initialValue, this.on("value", () => {
629
- this.value = this._value;
630
- }), this.on("confirm", (F$1) => {
631
- this.output.write(import_src$1.cursor.move(0, -1)), this.value = F$1, this.state = "submit", this.close();
632
- }), this.on("cursor", () => {
633
- this.value = !this.value;
634
- });
635
- }
636
- };
637
- var gD = Object.defineProperty, vD = (t, u$2, F$1) => u$2 in t ? gD(t, u$2, {
638
- enumerable: !0,
639
- configurable: !0,
640
- writable: !0,
641
- value: F$1
642
- }) : t[u$2] = F$1, K$1 = (t, u$2, F$1) => (vD(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
643
- let dD = class extends x {
644
- constructor(u$2) {
645
- super(u$2, !1), K$1(this, "options"), K$1(this, "cursor", 0);
646
- const { options: F$1 } = u$2;
647
- this.options = Object.entries(F$1).flatMap(([e$1, s]) => [{
648
- value: e$1,
649
- group: !0,
650
- label: e$1
651
- }, ...s.map((i$1) => ({
652
- ...i$1,
653
- group: e$1
654
- }))]), this.value = [...u$2.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: e$1 }) => e$1 === u$2.cursorAt), 0), this.on("cursor", (e$1) => {
655
- switch (e$1) {
656
- case "left":
657
- case "up":
658
- this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
659
- break;
660
- case "down":
661
- case "right":
662
- this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
663
- break;
664
- case "space":
665
- this.toggleValue();
666
- break;
667
- }
668
- });
669
- }
670
- getGroupItems(u$2) {
671
- return this.options.filter((F$1) => F$1.group === u$2);
672
- }
673
- isGroupSelected(u$2) {
674
- return this.getGroupItems(u$2).every((F$1) => this.value.includes(F$1.value));
675
- }
676
- toggleValue() {
677
- const u$2 = this.options[this.cursor];
678
- if (u$2.group === !0) {
679
- const F$1 = u$2.value, e$1 = this.getGroupItems(F$1);
680
- this.isGroupSelected(F$1) ? this.value = this.value.filter((s) => e$1.findIndex((i$1) => i$1.value === s) === -1) : this.value = [...this.value, ...e$1.map((s) => s.value)], this.value = Array.from(new Set(this.value));
681
- } else this.value = this.value.includes(u$2.value) ? this.value.filter((e$1) => e$1 !== u$2.value) : [...this.value, u$2.value];
682
- }
683
- };
684
- var bD = Object.defineProperty, mD = (t, u$2, F$1) => u$2 in t ? bD(t, u$2, {
685
- enumerable: !0,
686
- configurable: !0,
687
- writable: !0,
688
- value: F$1
689
- }) : t[u$2] = F$1, Y$1 = (t, u$2, F$1) => (mD(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
690
- let wD = class extends x {
691
- constructor(u$2) {
692
- super(u$2, !1), Y$1(this, "options"), Y$1(this, "cursor", 0), this.options = u$2.options, this.value = [...u$2.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F$1 }) => F$1 === u$2.cursorAt), 0), this.on("key", (F$1) => {
693
- F$1 === "a" && this.toggleAll();
694
- }), this.on("cursor", (F$1) => {
695
- switch (F$1) {
696
- case "left":
697
- case "up":
698
- this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
699
- break;
700
- case "down":
701
- case "right":
702
- this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
703
- break;
704
- case "space":
705
- this.toggleValue();
706
- break;
707
- }
708
- });
709
- }
710
- get _value() {
711
- return this.options[this.cursor].value;
712
- }
713
- toggleAll() {
714
- this.value = this.value.length === this.options.length ? [] : this.options.map((F$1) => F$1.value);
715
- }
716
- toggleValue() {
717
- this.value = this.value.includes(this._value) ? this.value.filter((F$1) => F$1 !== this._value) : [...this.value, this._value];
718
- }
719
- };
720
- var yD = Object.defineProperty, _D = (t, u$2, F$1) => u$2 in t ? yD(t, u$2, {
721
- enumerable: !0,
722
- configurable: !0,
723
- writable: !0,
724
- value: F$1
725
- }) : t[u$2] = F$1, Z = (t, u$2, F$1) => (_D(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
726
- var kD = class extends x {
727
- constructor({ mask: u$2,...F$1 }) {
728
- super(F$1), Z(this, "valueWithCursor", ""), Z(this, "_mask", "•"), this._mask = u$2 ?? "•", this.on("finalize", () => {
729
- this.valueWithCursor = this.masked;
730
- }), this.on("value", () => {
731
- if (this.cursor >= this.value.length) this.valueWithCursor = `${this.masked}${import_picocolors$1.default.inverse(import_picocolors$1.default.hidden("_"))}`;
732
- else {
733
- const e$1 = this.masked.slice(0, this.cursor), s = this.masked.slice(this.cursor);
734
- this.valueWithCursor = `${e$1}${import_picocolors$1.default.inverse(s[0])}${s.slice(1)}`;
735
- }
736
- });
737
- }
738
- get cursor() {
739
- return this._cursor;
740
- }
741
- get masked() {
742
- return this.value.replaceAll(/./g, this._mask);
743
- }
744
- };
745
- var SD = Object.defineProperty, $D = (t, u$2, F$1) => u$2 in t ? SD(t, u$2, {
746
- enumerable: !0,
747
- configurable: !0,
748
- writable: !0,
749
- value: F$1
750
- }) : t[u$2] = F$1, q$1 = (t, u$2, F$1) => ($D(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
751
- var jD = class extends x {
752
- constructor(u$2) {
753
- super(u$2, !1), q$1(this, "options"), q$1(this, "cursor", 0), this.options = u$2.options, this.cursor = this.options.findIndex(({ value: F$1 }) => F$1 === u$2.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F$1) => {
754
- switch (F$1) {
755
- case "left":
756
- case "up":
757
- this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
758
- break;
759
- case "down":
760
- case "right":
761
- this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
762
- break;
763
- }
764
- this.changeValue();
765
- });
766
- }
767
- get _value() {
768
- return this.options[this.cursor];
769
- }
770
- changeValue() {
771
- this.value = this._value.value;
772
- }
773
- };
774
- var MD = Object.defineProperty, TD = (t, u$2, F$1) => u$2 in t ? MD(t, u$2, {
775
- enumerable: !0,
776
- configurable: !0,
777
- writable: !0,
778
- value: F$1
779
- }) : t[u$2] = F$1, H = (t, u$2, F$1) => (TD(t, typeof u$2 != "symbol" ? u$2 + "" : u$2, F$1), F$1);
780
- var OD = class extends x {
781
- constructor(u$2) {
782
- super(u$2, !1), H(this, "options"), H(this, "cursor", 0), this.options = u$2.options;
783
- const F$1 = this.options.map(({ value: [e$1] }) => e$1?.toLowerCase());
784
- this.cursor = Math.max(F$1.indexOf(u$2.initialValue), 0), this.on("key", (e$1) => {
785
- if (!F$1.includes(e$1)) return;
786
- const s = this.options.find(({ value: [i$1] }) => i$1?.toLowerCase() === e$1);
787
- s && (this.value = s.value, this.state = "submit", this.emit("submit"));
788
- });
789
- }
790
- };
791
- var PD = class extends x {
792
- get valueWithCursor() {
793
- if (this.state === "submit") return this.value;
794
- if (this.cursor >= this.value.length) return `${this.value}\u2588`;
795
- const u$2 = this.value.slice(0, this.cursor), [F$1, ...e$1] = this.value.slice(this.cursor);
796
- return `${u$2}${import_picocolors$1.default.inverse(F$1)}${e$1.join("")}`;
797
- }
798
- get cursor() {
799
- return this._cursor;
800
- }
801
- constructor(u$2) {
802
- super(u$2), this.on("finalize", () => {
803
- this.value || (this.value = u$2.defaultValue);
804
- });
805
- }
806
- };
807
-
808
- //#endregion
809
- //#region ../../node_modules/.pnpm/@clack+prompts@0.10.0/node_modules/@clack/prompts/dist/index.mjs
810
- var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
811
- var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
812
- function ce() {
813
- return g.platform !== "win32" ? g.env.TERM !== "linux" : !!g.env.CI || !!g.env.WT_SESSION || !!g.env.TERMINUS_SUBLIME || g.env.ConEmuTask === "{cmd::Cmder}" || g.env.TERM_PROGRAM === "Terminus-Sublime" || g.env.TERM_PROGRAM === "vscode" || g.env.TERM === "xterm-256color" || g.env.TERM === "alacritty" || g.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
814
- }
815
- const V = ce(), u$1 = (t, n$1) => V ? t : n$1, le = u$1("◆", "*"), L = u$1("■", "x"), W = u$1("▲", "x"), C = u$1("◇", "o"), ue = u$1("┌", "T"), o$1 = u$1("│", "|"), d = u$1("└", "—"), k = u$1("●", ">"), P = u$1("○", " "), A = u$1("◻", "[•]"), T = u$1("◼", "[+]"), F = u$1("◻", "[ ]"), $e = u$1("▪", "•"), _ = u$1("─", "-"), me = u$1("╮", "+"), de = u$1("├", "+"), pe = u$1("╯", "+"), q = u$1("●", "•"), D = u$1("◆", "*"), U = u$1("▲", "!"), K = u$1("■", "x"), w = (t) => {
816
- switch (t) {
817
- case "initial":
818
- case "active": return import_picocolors.default.cyan(le);
819
- case "cancel": return import_picocolors.default.red(L);
820
- case "error": return import_picocolors.default.yellow(W);
821
- case "submit": return import_picocolors.default.green(C);
822
- }
823
- }, B = (t) => {
824
- const { cursor: n$1, options: s, style: r$1 } = t, i$1 = t.maxItems ?? Number.POSITIVE_INFINITY, a$1 = Math.max(process.stdout.rows - 4, 0), c$2 = Math.min(a$1, Math.max(i$1, 5));
825
- let l$1 = 0;
826
- n$1 >= l$1 + c$2 - 3 ? l$1 = Math.max(Math.min(n$1 - c$2 + 3, s.length - c$2), 0) : n$1 < l$1 + 2 && (l$1 = Math.max(n$1 - 2, 0));
827
- const $$1 = c$2 < s.length && l$1 > 0, p$1 = c$2 < s.length && l$1 + c$2 < s.length;
828
- return s.slice(l$1, l$1 + c$2).map((M$1, v$1, x$1) => {
829
- const j = v$1 === 0 && $$1, E = v$1 === x$1.length - 1 && p$1;
830
- return j || E ? import_picocolors.default.dim("...") : r$1(M$1, v$1 + l$1 === n$1);
831
- });
832
- }, he = (t) => new PD({
833
- validate: t.validate,
834
- placeholder: t.placeholder,
835
- defaultValue: t.defaultValue,
836
- initialValue: t.initialValue,
837
- render() {
838
- const n$1 = `${import_picocolors.default.gray(o$1)}
839
- ${w(this.state)} ${t.message}
840
- `, s = t.placeholder ? import_picocolors.default.inverse(t.placeholder[0]) + import_picocolors.default.dim(t.placeholder.slice(1)) : import_picocolors.default.inverse(import_picocolors.default.hidden("_")), r$1 = this.value ? this.valueWithCursor : s;
841
- switch (this.state) {
842
- case "error": return `${n$1.trim()}
843
- ${import_picocolors.default.yellow(o$1)} ${r$1}
844
- ${import_picocolors.default.yellow(d)} ${import_picocolors.default.yellow(this.error)}
845
- `;
846
- case "submit": return `${n$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.dim(this.value || t.placeholder)}`;
847
- case "cancel": return `${n$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(this.value ?? ""))}${this.value?.trim() ? `
848
- ${import_picocolors.default.gray(o$1)}` : ""}`;
849
- default: return `${n$1}${import_picocolors.default.cyan(o$1)} ${r$1}
850
- ${import_picocolors.default.cyan(d)}
851
- `;
852
- }
853
- }
854
- }).prompt(), ge = (t) => new kD({
855
- validate: t.validate,
856
- mask: t.mask ?? $e,
857
- render() {
858
- const n$1 = `${import_picocolors.default.gray(o$1)}
859
- ${w(this.state)} ${t.message}
860
- `, s = this.valueWithCursor, r$1 = this.masked;
861
- switch (this.state) {
862
- case "error": return `${n$1.trim()}
863
- ${import_picocolors.default.yellow(o$1)} ${r$1}
864
- ${import_picocolors.default.yellow(d)} ${import_picocolors.default.yellow(this.error)}
865
- `;
866
- case "submit": return `${n$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.dim(r$1)}`;
867
- case "cancel": return `${n$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(r$1 ?? ""))}${r$1 ? `
868
- ${import_picocolors.default.gray(o$1)}` : ""}`;
869
- default: return `${n$1}${import_picocolors.default.cyan(o$1)} ${s}
870
- ${import_picocolors.default.cyan(d)}
871
- `;
872
- }
873
- }
874
- }).prompt(), ye = (t) => {
875
- const n$1 = t.active ?? "Yes", s = t.inactive ?? "No";
876
- return new fD({
877
- active: n$1,
878
- inactive: s,
879
- initialValue: t.initialValue ?? !0,
880
- render() {
881
- const r$1 = `${import_picocolors.default.gray(o$1)}
882
- ${w(this.state)} ${t.message}
883
- `, i$1 = this.value ? n$1 : s;
884
- switch (this.state) {
885
- case "submit": return `${r$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.dim(i$1)}`;
886
- case "cancel": return `${r$1}${import_picocolors.default.gray(o$1)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i$1))}
887
- ${import_picocolors.default.gray(o$1)}`;
888
- default: return `${r$1}${import_picocolors.default.cyan(o$1)} ${this.value ? `${import_picocolors.default.green(k)} ${n$1}` : `${import_picocolors.default.dim(P)} ${import_picocolors.default.dim(n$1)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(P)} ${import_picocolors.default.dim(s)}` : `${import_picocolors.default.green(k)} ${s}`}
889
- ${import_picocolors.default.cyan(d)}
890
- `;
891
- }
892
- }
893
- }).prompt();
894
- }, ve = (t) => {
895
- const n$1 = (s, r$1) => {
896
- const i$1 = s.label ?? String(s.value);
897
- switch (r$1) {
898
- case "selected": return `${import_picocolors.default.dim(i$1)}`;
899
- case "active": return `${import_picocolors.default.green(k)} ${i$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}`;
900
- case "cancelled": return `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i$1))}`;
901
- default: return `${import_picocolors.default.dim(P)} ${import_picocolors.default.dim(i$1)}`;
902
- }
903
- };
904
- return new jD({
905
- options: t.options,
906
- initialValue: t.initialValue,
907
- render() {
908
- const s = `${import_picocolors.default.gray(o$1)}
909
- ${w(this.state)} ${t.message}
910
- `;
911
- switch (this.state) {
912
- case "submit": return `${s}${import_picocolors.default.gray(o$1)} ${n$1(this.options[this.cursor], "selected")}`;
913
- case "cancel": return `${s}${import_picocolors.default.gray(o$1)} ${n$1(this.options[this.cursor], "cancelled")}
914
- ${import_picocolors.default.gray(o$1)}`;
915
- default: return `${s}${import_picocolors.default.cyan(o$1)} ${B({
916
- cursor: this.cursor,
917
- options: this.options,
918
- maxItems: t.maxItems,
919
- style: (r$1, i$1) => n$1(r$1, i$1 ? "active" : "inactive")
920
- }).join(`
921
- ${import_picocolors.default.cyan(o$1)} `)}
922
- ${import_picocolors.default.cyan(d)}
923
- `;
924
- }
925
- }
926
- }).prompt();
927
- }, we = (t) => {
928
- const n$1 = (s, r$1 = "inactive") => {
929
- const i$1 = s.label ?? String(s.value);
930
- return r$1 === "selected" ? `${import_picocolors.default.dim(i$1)}` : r$1 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i$1))}` : r$1 === "active" ? `${import_picocolors.default.bgCyan(import_picocolors.default.gray(` ${s.value} `))} ${i$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : `${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(` ${s.value} `)))} ${i$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}`;
931
- };
932
- return new OD({
933
- options: t.options,
934
- initialValue: t.initialValue,
935
- render() {
936
- const s = `${import_picocolors.default.gray(o$1)}
937
- ${w(this.state)} ${t.message}
938
- `;
939
- switch (this.state) {
940
- case "submit": return `${s}${import_picocolors.default.gray(o$1)} ${n$1(this.options.find((r$1) => r$1.value === this.value) ?? t.options[0], "selected")}`;
941
- case "cancel": return `${s}${import_picocolors.default.gray(o$1)} ${n$1(this.options[0], "cancelled")}
942
- ${import_picocolors.default.gray(o$1)}`;
943
- default: return `${s}${import_picocolors.default.cyan(o$1)} ${this.options.map((r$1, i$1) => n$1(r$1, i$1 === this.cursor ? "active" : "inactive")).join(`
944
- ${import_picocolors.default.cyan(o$1)} `)}
945
- ${import_picocolors.default.cyan(d)}
946
- `;
947
- }
948
- }
949
- }).prompt();
950
- }, fe = (t) => {
951
- const n$1 = (s, r$1) => {
952
- const i$1 = s.label ?? String(s.value);
953
- return r$1 === "active" ? `${import_picocolors.default.cyan(A)} ${i$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : r$1 === "selected" ? `${import_picocolors.default.green(T)} ${import_picocolors.default.dim(i$1)}` : r$1 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i$1))}` : r$1 === "active-selected" ? `${import_picocolors.default.green(T)} ${i$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : r$1 === "submitted" ? `${import_picocolors.default.dim(i$1)}` : `${import_picocolors.default.dim(F)} ${import_picocolors.default.dim(i$1)}`;
954
- };
955
- return new wD({
956
- options: t.options,
957
- initialValues: t.initialValues,
958
- required: t.required ?? !0,
959
- cursorAt: t.cursorAt,
960
- validate(s) {
961
- if (this.required && s.length === 0) return `Please select at least one option.
962
- ${import_picocolors.default.reset(import_picocolors.default.dim(`Press ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" space ")))} to select, ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" enter ")))} to submit`))}`;
963
- },
964
- render() {
965
- const s = `${import_picocolors.default.gray(o$1)}
966
- ${w(this.state)} ${t.message}
967
- `, r$1 = (i$1, a$1) => {
968
- const c$2 = this.value.includes(i$1.value);
969
- return a$1 && c$2 ? n$1(i$1, "active-selected") : c$2 ? n$1(i$1, "selected") : n$1(i$1, a$1 ? "active" : "inactive");
970
- };
971
- switch (this.state) {
972
- case "submit": return `${s}${import_picocolors.default.gray(o$1)} ${this.options.filter(({ value: i$1 }) => this.value.includes(i$1)).map((i$1) => n$1(i$1, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`;
973
- case "cancel": {
974
- const i$1 = this.options.filter(({ value: a$1 }) => this.value.includes(a$1)).map((a$1) => n$1(a$1, "cancelled")).join(import_picocolors.default.dim(", "));
975
- return `${s}${import_picocolors.default.gray(o$1)} ${i$1.trim() ? `${i$1}
976
- ${import_picocolors.default.gray(o$1)}` : ""}`;
977
- }
978
- case "error": {
979
- const i$1 = this.error.split(`
980
- `).map((a$1, c$2) => c$2 === 0 ? `${import_picocolors.default.yellow(d)} ${import_picocolors.default.yellow(a$1)}` : ` ${a$1}`).join(`
981
- `);
982
- return `${s + import_picocolors.default.yellow(o$1)} ${B({
983
- options: this.options,
984
- cursor: this.cursor,
985
- maxItems: t.maxItems,
986
- style: r$1
987
- }).join(`
988
- ${import_picocolors.default.yellow(o$1)} `)}
989
- ${i$1}
990
- `;
991
- }
992
- default: return `${s}${import_picocolors.default.cyan(o$1)} ${B({
993
- options: this.options,
994
- cursor: this.cursor,
995
- maxItems: t.maxItems,
996
- style: r$1
997
- }).join(`
998
- ${import_picocolors.default.cyan(o$1)} `)}
999
- ${import_picocolors.default.cyan(d)}
1000
- `;
1001
- }
1002
- }
1003
- }).prompt();
1004
- }, be = (t) => {
1005
- const n$1 = (s, r$1, i$1 = []) => {
1006
- const a$1 = s.label ?? String(s.value), c$2 = typeof s.group == "string", l$1 = c$2 && (i$1[i$1.indexOf(s) + 1] ?? { group: !0 }), $$1 = c$2 && l$1.group === !0, p$1 = c$2 ? `${$$1 ? d : o$1} ` : "";
1007
- return r$1 === "active" ? `${import_picocolors.default.dim(p$1)}${import_picocolors.default.cyan(A)} ${a$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : r$1 === "group-active" ? `${p$1}${import_picocolors.default.cyan(A)} ${import_picocolors.default.dim(a$1)}` : r$1 === "group-active-selected" ? `${p$1}${import_picocolors.default.green(T)} ${import_picocolors.default.dim(a$1)}` : r$1 === "selected" ? `${import_picocolors.default.dim(p$1)}${import_picocolors.default.green(T)} ${import_picocolors.default.dim(a$1)}` : r$1 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(a$1))}` : r$1 === "active-selected" ? `${import_picocolors.default.dim(p$1)}${import_picocolors.default.green(T)} ${a$1} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : r$1 === "submitted" ? `${import_picocolors.default.dim(a$1)}` : `${import_picocolors.default.dim(p$1)}${import_picocolors.default.dim(F)} ${import_picocolors.default.dim(a$1)}`;
1008
- };
1009
- return new dD({
1010
- options: t.options,
1011
- initialValues: t.initialValues,
1012
- required: t.required ?? !0,
1013
- cursorAt: t.cursorAt,
1014
- validate(s) {
1015
- if (this.required && s.length === 0) return `Please select at least one option.
1016
- ${import_picocolors.default.reset(import_picocolors.default.dim(`Press ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" space ")))} to select, ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" enter ")))} to submit`))}`;
1017
- },
1018
- render() {
1019
- const s = `${import_picocolors.default.gray(o$1)}
1020
- ${w(this.state)} ${t.message}
1021
- `;
1022
- switch (this.state) {
1023
- case "submit": return `${s}${import_picocolors.default.gray(o$1)} ${this.options.filter(({ value: r$1 }) => this.value.includes(r$1)).map((r$1) => n$1(r$1, "submitted")).join(import_picocolors.default.dim(", "))}`;
1024
- case "cancel": {
1025
- const r$1 = this.options.filter(({ value: i$1 }) => this.value.includes(i$1)).map((i$1) => n$1(i$1, "cancelled")).join(import_picocolors.default.dim(", "));
1026
- return `${s}${import_picocolors.default.gray(o$1)} ${r$1.trim() ? `${r$1}
1027
- ${import_picocolors.default.gray(o$1)}` : ""}`;
1028
- }
1029
- case "error": {
1030
- const r$1 = this.error.split(`
1031
- `).map((i$1, a$1) => a$1 === 0 ? `${import_picocolors.default.yellow(d)} ${import_picocolors.default.yellow(i$1)}` : ` ${i$1}`).join(`
1032
- `);
1033
- return `${s}${import_picocolors.default.yellow(o$1)} ${this.options.map((i$1, a$1, c$2) => {
1034
- const l$1 = this.value.includes(i$1.value) || i$1.group === !0 && this.isGroupSelected(`${i$1.value}`), $$1 = a$1 === this.cursor;
1035
- return !$$1 && typeof i$1.group == "string" && this.options[this.cursor].value === i$1.group ? n$1(i$1, l$1 ? "group-active-selected" : "group-active", c$2) : $$1 && l$1 ? n$1(i$1, "active-selected", c$2) : l$1 ? n$1(i$1, "selected", c$2) : n$1(i$1, $$1 ? "active" : "inactive", c$2);
1036
- }).join(`
1037
- ${import_picocolors.default.yellow(o$1)} `)}
1038
- ${r$1}
1039
- `;
1040
- }
1041
- default: return `${s}${import_picocolors.default.cyan(o$1)} ${this.options.map((r$1, i$1, a$1) => {
1042
- const c$2 = this.value.includes(r$1.value) || r$1.group === !0 && this.isGroupSelected(`${r$1.value}`), l$1 = i$1 === this.cursor;
1043
- return !l$1 && typeof r$1.group == "string" && this.options[this.cursor].value === r$1.group ? n$1(r$1, c$2 ? "group-active-selected" : "group-active", a$1) : l$1 && c$2 ? n$1(r$1, "active-selected", a$1) : c$2 ? n$1(r$1, "selected", a$1) : n$1(r$1, l$1 ? "active" : "inactive", a$1);
1044
- }).join(`
1045
- ${import_picocolors.default.cyan(o$1)} `)}
1046
- ${import_picocolors.default.cyan(d)}
1047
- `;
1048
- }
1049
- }
1050
- }).prompt();
1051
- }, Me = (t = "", n$1 = "") => {
1052
- const s = `
1053
- ${t}
1054
- `.split(`
1055
- `), r$1 = stripVTControlCharacters(n$1).length, i$1 = Math.max(s.reduce((c$2, l$1) => {
1056
- const $$1 = stripVTControlCharacters(l$1);
1057
- return $$1.length > c$2 ? $$1.length : c$2;
1058
- }, 0), r$1) + 2, a$1 = s.map((c$2) => `${import_picocolors.default.gray(o$1)} ${import_picocolors.default.dim(c$2)}${" ".repeat(i$1 - stripVTControlCharacters(c$2).length)}${import_picocolors.default.gray(o$1)}`).join(`
1059
- `);
1060
- process.stdout.write(`${import_picocolors.default.gray(o$1)}
1061
- ${import_picocolors.default.green(C)} ${import_picocolors.default.reset(n$1)} ${import_picocolors.default.gray(_.repeat(Math.max(i$1 - r$1 - 1, 1)) + me)}
1062
- ${a$1}
1063
- ${import_picocolors.default.gray(de + _.repeat(i$1 + 2) + pe)}
1064
- `);
1065
- }, xe = (t = "") => {
1066
- process.stdout.write(`${import_picocolors.default.gray(d)} ${import_picocolors.default.red(t)}
1067
-
1068
- `);
1069
- }, Ie = (t = "") => {
1070
- process.stdout.write(`${import_picocolors.default.gray(ue)} ${t}
1071
- `);
1072
- }, Se = (t = "") => {
1073
- process.stdout.write(`${import_picocolors.default.gray(o$1)}
1074
- ${import_picocolors.default.gray(d)} ${t}
1075
-
1076
- `);
1077
- }, f = {
1078
- message: (t = "", { symbol: n$1 = import_picocolors.default.gray(o$1) } = {}) => {
1079
- const s = [`${import_picocolors.default.gray(o$1)}`];
1080
- if (t) {
1081
- const [r$1, ...i$1] = t.split(`
1082
- `);
1083
- s.push(`${n$1} ${r$1}`, ...i$1.map((a$1) => `${import_picocolors.default.gray(o$1)} ${a$1}`));
1084
- }
1085
- process.stdout.write(`${s.join(`
1086
- `)}
1087
- `);
1088
- },
1089
- info: (t) => {
1090
- f.message(t, { symbol: import_picocolors.default.blue(q) });
1091
- },
1092
- success: (t) => {
1093
- f.message(t, { symbol: import_picocolors.default.green(D) });
1094
- },
1095
- step: (t) => {
1096
- f.message(t, { symbol: import_picocolors.default.green(C) });
1097
- },
1098
- warn: (t) => {
1099
- f.message(t, { symbol: import_picocolors.default.yellow(U) });
1100
- },
1101
- warning: (t) => {
1102
- f.warn(t);
1103
- },
1104
- error: (t) => {
1105
- f.message(t, { symbol: import_picocolors.default.red(K) });
1106
- }
1107
- }, J = `${import_picocolors.default.gray(o$1)} `, b = {
1108
- message: async (t, { symbol: n$1 = import_picocolors.default.gray(o$1) } = {}) => {
1109
- process.stdout.write(`${import_picocolors.default.gray(o$1)}
1110
- ${n$1} `);
1111
- let s = 3;
1112
- for await (let r$1 of t) {
1113
- r$1 = r$1.replace(/\n/g, `
1114
- ${J}`), r$1.includes(`
1115
- `) && (s = 3 + stripVTControlCharacters(r$1.slice(r$1.lastIndexOf(`
1116
- `))).length);
1117
- const i$1 = stripVTControlCharacters(r$1).length;
1118
- s + i$1 < process.stdout.columns ? (s += i$1, process.stdout.write(r$1)) : (process.stdout.write(`
1119
- ${J}${r$1.trimStart()}`), s = 3 + stripVTControlCharacters(r$1.trimStart()).length);
1120
- }
1121
- process.stdout.write(`
1122
- `);
1123
- },
1124
- info: (t) => b.message(t, { symbol: import_picocolors.default.blue(q) }),
1125
- success: (t) => b.message(t, { symbol: import_picocolors.default.green(D) }),
1126
- step: (t) => b.message(t, { symbol: import_picocolors.default.green(C) }),
1127
- warn: (t) => b.message(t, { symbol: import_picocolors.default.yellow(U) }),
1128
- warning: (t) => b.warn(t),
1129
- error: (t) => b.message(t, { symbol: import_picocolors.default.red(K) })
1130
- }, Y = ({ indicator: t = "dots" } = {}) => {
1131
- const n$1 = V ? [
1132
- "◒",
1133
- "◐",
1134
- "◓",
1135
- "◑"
1136
- ] : [
1137
- "•",
1138
- "o",
1139
- "O",
1140
- "0"
1141
- ], s = V ? 80 : 120, r$1 = process.env.CI === "true";
1142
- let i$1, a$1, c$2 = !1, l$1 = "", $$1, p$1 = performance.now();
1143
- const M$1 = (m$1) => {
1144
- c$2 && N$1(m$1 > 1 ? "Something went wrong" : "Canceled", m$1);
1145
- }, v$1 = () => M$1(2), x$1 = () => M$1(1), j = () => {
1146
- process.on("uncaughtExceptionMonitor", v$1), process.on("unhandledRejection", v$1), process.on("SIGINT", x$1), process.on("SIGTERM", x$1), process.on("exit", M$1);
1147
- }, E = () => {
1148
- process.removeListener("uncaughtExceptionMonitor", v$1), process.removeListener("unhandledRejection", v$1), process.removeListener("SIGINT", x$1), process.removeListener("SIGTERM", x$1), process.removeListener("exit", M$1);
1149
- }, O$1 = () => {
1150
- if ($$1 === void 0) return;
1151
- r$1 && process.stdout.write(`
1152
- `);
1153
- const m$1 = $$1.split(`
1154
- `);
1155
- process.stdout.write(import_src.cursor.move(-999, m$1.length - 1)), process.stdout.write(import_src.erase.down(m$1.length));
1156
- }, R$1 = (m$1) => m$1.replace(/\.+$/, ""), G$1 = (m$1) => {
1157
- const h$2 = (performance.now() - m$1) / 1e3, y$1 = Math.floor(h$2 / 60), I$1 = Math.floor(h$2 % 60);
1158
- return y$1 > 0 ? `[${y$1}m ${I$1}s]` : `[${I$1}s]`;
1159
- }, H$1 = (m$1 = "") => {
1160
- c$2 = !0, i$1 = cD(), l$1 = R$1(m$1), p$1 = performance.now(), process.stdout.write(`${import_picocolors.default.gray(o$1)}
1161
- `);
1162
- let h$2 = 0, y$1 = 0;
1163
- j(), a$1 = setInterval(() => {
1164
- if (r$1 && l$1 === $$1) return;
1165
- O$1(), $$1 = l$1;
1166
- const I$1 = import_picocolors.default.magenta(n$1[h$2]);
1167
- if (r$1) process.stdout.write(`${I$1} ${l$1}...`);
1168
- else if (t === "timer") process.stdout.write(`${I$1} ${l$1} ${G$1(p$1)}`);
1169
- else {
1170
- const z$1 = ".".repeat(Math.floor(y$1)).slice(0, 3);
1171
- process.stdout.write(`${I$1} ${l$1}${z$1}`);
1172
- }
1173
- h$2 = h$2 + 1 < n$1.length ? h$2 + 1 : 0, y$1 = y$1 < n$1.length ? y$1 + .125 : 0;
1174
- }, s);
1175
- }, N$1 = (m$1 = "", h$2 = 0) => {
1176
- c$2 = !1, clearInterval(a$1), O$1();
1177
- const y$1 = h$2 === 0 ? import_picocolors.default.green(C) : h$2 === 1 ? import_picocolors.default.red(L) : import_picocolors.default.red(W);
1178
- l$1 = R$1(m$1 ?? l$1), t === "timer" ? process.stdout.write(`${y$1} ${l$1} ${G$1(p$1)}
1179
- `) : process.stdout.write(`${y$1} ${l$1}
1180
- `), E(), i$1();
1181
- };
1182
- return {
1183
- start: H$1,
1184
- stop: N$1,
1185
- message: (m$1 = "") => {
1186
- l$1 = R$1(m$1 ?? l$1);
1187
- }
1188
- };
1189
- }, Ce = async (t, n$1) => {
1190
- const s = {}, r$1 = Object.keys(t);
1191
- for (const i$1 of r$1) {
1192
- const a$1 = t[i$1], c$2 = await a$1({ results: s })?.catch((l$1) => {
1193
- throw l$1;
1194
- });
1195
- if (typeof n$1?.onCancel == "function" && BD(c$2)) {
1196
- s[i$1] = "canceled", n$1.onCancel({ results: s });
1197
- continue;
1198
- }
1199
- s[i$1] = c$2;
1200
- }
1201
- return s;
1202
- }, Te = async (t) => {
1203
- for (const n$1 of t) {
1204
- if (n$1.enabled === !1) continue;
1205
- const s = Y();
1206
- s.start(n$1.title);
1207
- const r$1 = await n$1.task(s.message);
1208
- s.stop(r$1 || n$1.title);
1209
- }
1210
- };
1211
-
1212
47
  //#endregion
1213
48
  //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/_internal/compareValues.mjs
1214
- function compareValues(a$1, b$2, order) {
1215
- if (a$1 < b$2) return order === "asc" ? -1 : 1;
1216
- if (a$1 > b$2) return order === "asc" ? 1 : -1;
49
+ function compareValues(a$1, b, order) {
50
+ if (a$1 < b) return order === "asc" ? -1 : 1;
51
+ if (a$1 > b) return order === "asc" ? 1 : -1;
1217
52
  return 0;
1218
53
  }
1219
54
 
1220
55
  //#endregion
1221
56
  //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/array/orderBy.mjs
1222
57
  function orderBy(arr, criteria, orders) {
1223
- return arr.slice().sort((a$1, b$2) => {
58
+ return arr.slice().sort((a$1, b) => {
1224
59
  const ordersLength = orders.length;
1225
60
  for (let i$1 = 0; i$1 < criteria.length; i$1++) {
1226
61
  const order = ordersLength > i$1 ? orders[i$1] : orders[ordersLength - 1];
1227
62
  const criterion = criteria[i$1];
1228
63
  const criterionIsFunction = typeof criterion === "function";
1229
- const result = compareValues(criterionIsFunction ? criterion(a$1) : a$1[criterion], criterionIsFunction ? criterion(b$2) : b$2[criterion], order);
64
+ const result = compareValues(criterionIsFunction ? criterion(a$1) : a$1[criterion], criterionIsFunction ? criterion(b) : b[criterion], order);
1230
65
  if (result !== 0) return result;
1231
66
  }
1232
67
  return 0;
@@ -1245,7 +80,7 @@ function uniqWith(arr, areItemsEqual) {
1245
80
  const result = [];
1246
81
  for (let i$1 = 0; i$1 < arr.length; i$1++) {
1247
82
  const item = arr[i$1];
1248
- if (result.every((v$1) => !areItemsEqual(v$1, item))) result.push(item);
83
+ if (result.every((v) => !areItemsEqual(v, item))) result.push(item);
1249
84
  }
1250
85
  return result;
1251
86
  }
@@ -1330,60 +165,60 @@ function eq(value, other) {
1330
165
 
1331
166
  //#endregion
1332
167
  //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/predicate/isEqualWith.mjs
1333
- function isEqualWith(a$1, b$2, areValuesEqual) {
1334
- return isEqualWithImpl(a$1, b$2, void 0, void 0, void 0, void 0, areValuesEqual);
168
+ function isEqualWith(a$1, b, areValuesEqual) {
169
+ return isEqualWithImpl(a$1, b, void 0, void 0, void 0, void 0, areValuesEqual);
1335
170
  }
1336
- function isEqualWithImpl(a$1, b$2, property, aParent, bParent, stack, areValuesEqual) {
1337
- const result = areValuesEqual(a$1, b$2, property, aParent, bParent, stack);
171
+ function isEqualWithImpl(a$1, b, property, aParent, bParent, stack, areValuesEqual) {
172
+ const result = areValuesEqual(a$1, b, property, aParent, bParent, stack);
1338
173
  if (result !== void 0) return result;
1339
- if (typeof a$1 === typeof b$2) switch (typeof a$1) {
174
+ if (typeof a$1 === typeof b) switch (typeof a$1) {
1340
175
  case "bigint":
1341
176
  case "string":
1342
177
  case "boolean":
1343
178
  case "symbol":
1344
- case "undefined": return a$1 === b$2;
1345
- case "number": return a$1 === b$2 || Object.is(a$1, b$2);
1346
- case "function": return a$1 === b$2;
1347
- case "object": return areObjectsEqual(a$1, b$2, stack, areValuesEqual);
179
+ case "undefined": return a$1 === b;
180
+ case "number": return a$1 === b || Object.is(a$1, b);
181
+ case "function": return a$1 === b;
182
+ case "object": return areObjectsEqual(a$1, b, stack, areValuesEqual);
1348
183
  }
1349
- return areObjectsEqual(a$1, b$2, stack, areValuesEqual);
184
+ return areObjectsEqual(a$1, b, stack, areValuesEqual);
1350
185
  }
1351
- function areObjectsEqual(a$1, b$2, stack, areValuesEqual) {
1352
- if (Object.is(a$1, b$2)) return true;
186
+ function areObjectsEqual(a$1, b, stack, areValuesEqual) {
187
+ if (Object.is(a$1, b)) return true;
1353
188
  let aTag = getTag(a$1);
1354
- let bTag = getTag(b$2);
189
+ let bTag = getTag(b);
1355
190
  if (aTag === argumentsTag) aTag = objectTag;
1356
191
  if (bTag === argumentsTag) bTag = objectTag;
1357
192
  if (aTag !== bTag) return false;
1358
193
  switch (aTag) {
1359
- case stringTag: return a$1.toString() === b$2.toString();
1360
- case numberTag: return eq(a$1.valueOf(), b$2.valueOf());
194
+ case stringTag: return a$1.toString() === b.toString();
195
+ case numberTag: return eq(a$1.valueOf(), b.valueOf());
1361
196
  case booleanTag:
1362
197
  case dateTag:
1363
- case symbolTag: return Object.is(a$1.valueOf(), b$2.valueOf());
1364
- case regexpTag: return a$1.source === b$2.source && a$1.flags === b$2.flags;
1365
- case functionTag: return a$1 === b$2;
198
+ case symbolTag: return Object.is(a$1.valueOf(), b.valueOf());
199
+ case regexpTag: return a$1.source === b.source && a$1.flags === b.flags;
200
+ case functionTag: return a$1 === b;
1366
201
  }
1367
202
  stack = stack ?? /* @__PURE__ */ new Map();
1368
203
  const aStack = stack.get(a$1);
1369
- const bStack = stack.get(b$2);
1370
- if (aStack != null && bStack != null) return aStack === b$2;
1371
- stack.set(a$1, b$2);
1372
- stack.set(b$2, a$1);
204
+ const bStack = stack.get(b);
205
+ if (aStack != null && bStack != null) return aStack === b;
206
+ stack.set(a$1, b);
207
+ stack.set(b, a$1);
1373
208
  try {
1374
209
  switch (aTag) {
1375
210
  case mapTag:
1376
- if (a$1.size !== b$2.size) return false;
1377
- for (const [key, value] of a$1.entries()) if (!b$2.has(key) || !isEqualWithImpl(value, b$2.get(key), key, a$1, b$2, stack, areValuesEqual)) return false;
211
+ if (a$1.size !== b.size) return false;
212
+ for (const [key, value] of a$1.entries()) if (!b.has(key) || !isEqualWithImpl(value, b.get(key), key, a$1, b, stack, areValuesEqual)) return false;
1378
213
  return true;
1379
214
  case setTag: {
1380
- if (a$1.size !== b$2.size) return false;
215
+ if (a$1.size !== b.size) return false;
1381
216
  const aValues = Array.from(a$1.values());
1382
- const bValues = Array.from(b$2.values());
217
+ const bValues = Array.from(b.values());
1383
218
  for (let i$1 = 0; i$1 < aValues.length; i$1++) {
1384
219
  const aValue = aValues[i$1];
1385
220
  const index = bValues.findIndex((bValue) => {
1386
- return isEqualWithImpl(aValue, bValue, void 0, a$1, b$2, stack, areValuesEqual);
221
+ return isEqualWithImpl(aValue, bValue, void 0, a$1, b, stack, areValuesEqual);
1387
222
  });
1388
223
  if (index === -1) return false;
1389
224
  bValues.splice(index, 1);
@@ -1402,28 +237,28 @@ function areObjectsEqual(a$1, b$2, stack, areValuesEqual) {
1402
237
  case bigInt64ArrayTag:
1403
238
  case float32ArrayTag:
1404
239
  case float64ArrayTag:
1405
- if (typeof Buffer !== "undefined" && Buffer.isBuffer(a$1) !== Buffer.isBuffer(b$2)) return false;
1406
- if (a$1.length !== b$2.length) return false;
1407
- for (let i$1 = 0; i$1 < a$1.length; i$1++) if (!isEqualWithImpl(a$1[i$1], b$2[i$1], i$1, a$1, b$2, stack, areValuesEqual)) return false;
240
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(a$1) !== Buffer.isBuffer(b)) return false;
241
+ if (a$1.length !== b.length) return false;
242
+ for (let i$1 = 0; i$1 < a$1.length; i$1++) if (!isEqualWithImpl(a$1[i$1], b[i$1], i$1, a$1, b, stack, areValuesEqual)) return false;
1408
243
  return true;
1409
244
  case arrayBufferTag:
1410
- if (a$1.byteLength !== b$2.byteLength) return false;
1411
- return areObjectsEqual(new Uint8Array(a$1), new Uint8Array(b$2), stack, areValuesEqual);
245
+ if (a$1.byteLength !== b.byteLength) return false;
246
+ return areObjectsEqual(new Uint8Array(a$1), new Uint8Array(b), stack, areValuesEqual);
1412
247
  case dataViewTag:
1413
- if (a$1.byteLength !== b$2.byteLength || a$1.byteOffset !== b$2.byteOffset) return false;
1414
- return areObjectsEqual(new Uint8Array(a$1), new Uint8Array(b$2), stack, areValuesEqual);
1415
- case errorTag: return a$1.name === b$2.name && a$1.message === b$2.message;
248
+ if (a$1.byteLength !== b.byteLength || a$1.byteOffset !== b.byteOffset) return false;
249
+ return areObjectsEqual(new Uint8Array(a$1), new Uint8Array(b), stack, areValuesEqual);
250
+ case errorTag: return a$1.name === b.name && a$1.message === b.message;
1416
251
  case objectTag: {
1417
- if (!(areObjectsEqual(a$1.constructor, b$2.constructor, stack, areValuesEqual) || isPlainObject$1(a$1) && isPlainObject$1(b$2))) return false;
252
+ if (!(areObjectsEqual(a$1.constructor, b.constructor, stack, areValuesEqual) || isPlainObject$1(a$1) && isPlainObject$1(b))) return false;
1418
253
  const aKeys = [...Object.keys(a$1), ...getSymbols(a$1)];
1419
- const bKeys = [...Object.keys(b$2), ...getSymbols(b$2)];
254
+ const bKeys = [...Object.keys(b), ...getSymbols(b)];
1420
255
  if (aKeys.length !== bKeys.length) return false;
1421
256
  for (let i$1 = 0; i$1 < aKeys.length; i$1++) {
1422
257
  const propKey = aKeys[i$1];
1423
258
  const aProp = a$1[propKey];
1424
- if (!Object.hasOwn(b$2, propKey)) return false;
1425
- const bProp = b$2[propKey];
1426
- if (!isEqualWithImpl(aProp, bProp, propKey, a$1, b$2, stack, areValuesEqual)) return false;
259
+ if (!Object.hasOwn(b, propKey)) return false;
260
+ const bProp = b[propKey];
261
+ if (!isEqualWithImpl(aProp, bProp, propKey, a$1, b, stack, areValuesEqual)) return false;
1427
262
  }
1428
263
  return true;
1429
264
  }
@@ -1431,14 +266,14 @@ function areObjectsEqual(a$1, b$2, stack, areValuesEqual) {
1431
266
  }
1432
267
  } finally {
1433
268
  stack.delete(a$1);
1434
- stack.delete(b$2);
269
+ stack.delete(b);
1435
270
  }
1436
271
  }
1437
272
 
1438
273
  //#endregion
1439
274
  //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/predicate/isEqual.mjs
1440
- function isEqual(a$1, b$2) {
1441
- return isEqualWith(a$1, b$2, noop$2);
275
+ function isEqual(a$1, b) {
276
+ return isEqualWith(a$1, b, noop$2);
1442
277
  }
1443
278
 
1444
279
  //#endregion
@@ -1600,20 +435,20 @@ const parseExpression = (expression) => {
1600
435
  if (expression instanceof ChildProcess || Object.prototype.toString.call(expression) === "[object Promise]") throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");
1601
436
  throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`);
1602
437
  };
1603
- const getSubprocessResult = ({ stdout: stdout$1 }) => {
1604
- if (typeof stdout$1 === "string") return stdout$1;
1605
- if (isUint8Array(stdout$1)) return uint8ArrayToString(stdout$1);
1606
- if (stdout$1 === void 0) throw new TypeError("Missing result.stdout in template expression. This is probably due to the previous subprocess' \"stdout\" option.");
1607
- throw new TypeError(`Unexpected "${typeof stdout$1}" stdout in template expression`);
438
+ const getSubprocessResult = ({ stdout }) => {
439
+ if (typeof stdout === "string") return stdout;
440
+ if (isUint8Array(stdout)) return uint8ArrayToString(stdout);
441
+ if (stdout === void 0) throw new TypeError("Missing result.stdout in template expression. This is probably due to the previous subprocess' \"stdout\" option.");
442
+ throw new TypeError(`Unexpected "${typeof stdout}" stdout in template expression`);
1608
443
  };
1609
444
 
1610
445
  //#endregion
1611
446
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/utils/standard-stream.js
1612
447
  const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
1613
448
  const STANDARD_STREAMS = [
1614
- g.stdin,
1615
- g.stdout,
1616
- g.stderr
449
+ process$1.stdin,
450
+ process$1.stdout,
451
+ process$1.stderr
1617
452
  ];
1618
453
  const STANDARD_STREAMS_ALIASES = [
1619
454
  "stdin",
@@ -1738,10 +573,10 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
1738
573
  //#endregion
1739
574
  //#region ../../node_modules/.pnpm/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
1740
575
  function isUnicodeSupported() {
1741
- const { env: env$1 } = g;
1742
- const { TERM, TERM_PROGRAM } = env$1;
1743
- if (g.platform !== "win32") return TERM !== "linux";
1744
- return Boolean(env$1.WT_SESSION) || Boolean(env$1.TERMINUS_SUBLIME) || env$1.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$1.TERMINAL_EMULATOR === "JetBrains-JediTerm";
576
+ const { env } = process$1;
577
+ const { TERM, TERM_PROGRAM } = env;
578
+ if (process$1.platform !== "win32") return TERM !== "linux";
579
+ return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
1745
580
  }
1746
581
 
1747
582
  //#endregion
@@ -2281,11 +1116,11 @@ var require_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/isexe@
2281
1116
  var gid = stat.gid;
2282
1117
  var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
2283
1118
  var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
2284
- var u$2 = parseInt("100", 8);
2285
- var g$2 = parseInt("010", 8);
2286
- var o$2 = parseInt("001", 8);
2287
- var ug = u$2 | g$2;
2288
- return mod & o$2 || mod & g$2 && gid === myGid || mod & u$2 && uid === myUid || mod & ug && myUid === 0;
1119
+ var u$1 = parseInt("100", 8);
1120
+ var g = parseInt("010", 8);
1121
+ var o$1 = parseInt("001", 8);
1122
+ var ug = u$1 | g;
1123
+ return mod & o$1 || mod & g && gid === myGid || mod & u$1 && uid === myUid || mod & ug && myUid === 0;
2289
1124
  }
2290
1125
  }) });
2291
1126
 
@@ -2424,7 +1259,7 @@ var require_resolveCommand = /* @__PURE__ */ __commonJS({ "../../node_modules/.p
2424
1259
  const which = require_which();
2425
1260
  const getPathKey = require_path_key();
2426
1261
  function resolveCommandAttempt(parsed, withoutPathExt) {
2427
- const env$1 = parsed.options.env || process.env;
1262
+ const env = parsed.options.env || process.env;
2428
1263
  const cwd = process.cwd();
2429
1264
  const hasCustomCwd = parsed.options.cwd != null;
2430
1265
  const shouldSwitchCwd = hasCustomCwd && process.chdir !== void 0 && !process.chdir.disabled;
@@ -2434,10 +1269,10 @@ var require_resolveCommand = /* @__PURE__ */ __commonJS({ "../../node_modules/.p
2434
1269
  let resolved;
2435
1270
  try {
2436
1271
  resolved = which.sync(parsed.command, {
2437
- path: env$1[getPathKey({ env: env$1 })],
1272
+ path: env[getPathKey({ env })],
2438
1273
  pathExt: withoutPathExt ? path$3.delimiter : void 0
2439
1274
  });
2440
- } catch (e$1) {} finally {
1275
+ } catch (e) {} finally {
2441
1276
  if (shouldSwitchCwd) process.chdir(cwd);
2442
1277
  }
2443
1278
  if (resolved) resolved = path$3.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
@@ -2503,7 +1338,7 @@ var require_readShebang = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm
2503
1338
  fd = fs$1.openSync(command, "r");
2504
1339
  fs$1.readSync(fd, buffer, 0, size, 0);
2505
1340
  fs$1.closeSync(fd);
2506
- } catch (e$1) {}
1341
+ } catch (e) {}
2507
1342
  return shebangCommand(buffer.toString());
2508
1343
  }
2509
1344
  module.exports = readShebang$1;
@@ -2640,9 +1475,9 @@ var require_cross_spawn = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm
2640
1475
  //#region ../../node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js
2641
1476
  var import_cross_spawn = /* @__PURE__ */ __toESM(require_cross_spawn(), 1);
2642
1477
  function pathKey(options = {}) {
2643
- const { env: env$1 = process.env, platform: platform$1 = process.platform } = options;
1478
+ const { env = process.env, platform: platform$1 = process.platform } = options;
2644
1479
  if (platform$1 !== "win32") return "PATH";
2645
- return Object.keys(env$1).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
1480
+ return Object.keys(env).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
2646
1481
  }
2647
1482
 
2648
1483
  //#endregion
@@ -2666,7 +1501,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
2666
1501
 
2667
1502
  //#endregion
2668
1503
  //#region ../../node_modules/.pnpm/npm-run-path@6.0.0/node_modules/npm-run-path/index.js
2669
- const npmRunPath = ({ cwd = g.cwd(), path: pathOption = g.env[pathKey()], preferLocal = true, execPath: execPath$1 = g.execPath, addExecPath = true } = {}) => {
1504
+ const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath: execPath$1 = process$1.execPath, addExecPath = true } = {}) => {
2670
1505
  const cwdPath = path.resolve(toPath(cwd));
2671
1506
  const result = [];
2672
1507
  const pathParts = pathOption.split(path.delimiter);
@@ -2684,12 +1519,12 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
2684
1519
  const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
2685
1520
  if (!pathParts.includes(pathPart)) result.push(pathPart);
2686
1521
  };
2687
- const npmRunPathEnv = ({ env: env$1 = g.env,...options } = {}) => {
2688
- env$1 = { ...env$1 };
2689
- const pathName = pathKey({ env: env$1 });
2690
- options.path = env$1[pathName];
2691
- env$1[pathName] = npmRunPath(options);
2692
- return env$1;
1522
+ const npmRunPathEnv = ({ env = process$1.env,...options } = {}) => {
1523
+ env = { ...env };
1524
+ const pathName = pathKey({ env });
1525
+ options.path = env[pathName];
1526
+ env[pathName] = npmRunPath(options);
1527
+ return env;
2693
1528
  };
2694
1529
 
2695
1530
  //#endregion
@@ -3293,15 +2128,15 @@ const getInvalidStdioOptionMessage = (fdNumber, fdName, options, isWritable) =>
3293
2128
  return `The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
3294
2129
  Please set this option with "pipe" instead.`;
3295
2130
  };
3296
- const getInvalidStdioOption = (fdNumber, { stdin: stdin$1, stdout: stdout$1, stderr, stdio }) => {
2131
+ const getInvalidStdioOption = (fdNumber, { stdin, stdout, stderr, stdio }) => {
3297
2132
  const usedDescriptor = getUsedDescriptor(fdNumber);
3298
- if (usedDescriptor === 0 && stdin$1 !== void 0) return {
2133
+ if (usedDescriptor === 0 && stdin !== void 0) return {
3299
2134
  optionName: "stdin",
3300
- optionValue: stdin$1
2135
+ optionValue: stdin
3301
2136
  };
3302
- if (usedDescriptor === 1 && stdout$1 !== void 0) return {
2137
+ if (usedDescriptor === 1 && stdout !== void 0) return {
3303
2138
  optionName: "stdout",
3304
- optionValue: stdout$1
2139
+ optionValue: stdout
3305
2140
  };
3306
2141
  if (usedDescriptor === 2 && stderr !== void 0) return {
3307
2142
  optionName: "stderr",
@@ -3819,7 +2654,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
3819
2654
  };
3820
2655
  const getDefaultCwd = () => {
3821
2656
  try {
3822
- return g.cwd();
2657
+ return process$1.cwd();
3823
2658
  } catch (error) {
3824
2659
  error.message = `The current directory does not exist.\n${error.message}`;
3825
2660
  throw error;
@@ -3854,7 +2689,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
3854
2689
  options.killSignal = normalizeKillSignal(options.killSignal);
3855
2690
  options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
3856
2691
  options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
3857
- if (g.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
2692
+ if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
3858
2693
  return {
3859
2694
  file,
3860
2695
  commandArguments,
@@ -3880,18 +2715,18 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
3880
2715
  serialization
3881
2716
  });
3882
2717
  const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
3883
- const env$1 = extendEnv ? {
3884
- ...g.env,
2718
+ const env = extendEnv ? {
2719
+ ...process$1.env,
3885
2720
  ...envOption
3886
2721
  } : envOption;
3887
2722
  if (preferLocal || node) return npmRunPathEnv({
3888
- env: env$1,
2723
+ env,
3889
2724
  cwd: localDirectory,
3890
2725
  execPath: nodePath,
3891
2726
  preferLocal,
3892
2727
  addExecPath: node
3893
2728
  });
3894
- return env$1;
2729
+ return env;
3895
2730
  };
3896
2731
 
3897
2732
  //#endregion
@@ -3934,15 +2769,15 @@ var c = class {
3934
2769
  #n;
3935
2770
  #r = !1;
3936
2771
  #e = void 0;
3937
- constructor(e$1, t) {
3938
- this.#t = e$1, this.#n = t;
2772
+ constructor(e, t) {
2773
+ this.#t = e, this.#n = t;
3939
2774
  }
3940
2775
  next() {
3941
- const e$1 = () => this.#s();
3942
- return this.#e = this.#e ? this.#e.then(e$1, e$1) : e$1(), this.#e;
2776
+ const e = () => this.#s();
2777
+ return this.#e = this.#e ? this.#e.then(e, e) : e(), this.#e;
3943
2778
  }
3944
- return(e$1) {
3945
- const t = () => this.#i(e$1);
2779
+ return(e) {
2780
+ const t = () => this.#i(e);
3946
2781
  return this.#e ? this.#e.then(t, t) : t();
3947
2782
  }
3948
2783
  async #s() {
@@ -3950,29 +2785,29 @@ var c = class {
3950
2785
  done: !0,
3951
2786
  value: void 0
3952
2787
  };
3953
- let e$1;
2788
+ let e;
3954
2789
  try {
3955
- e$1 = await this.#t.read();
2790
+ e = await this.#t.read();
3956
2791
  } catch (t) {
3957
2792
  throw this.#e = void 0, this.#r = !0, this.#t.releaseLock(), t;
3958
2793
  }
3959
- return e$1.done && (this.#e = void 0, this.#r = !0, this.#t.releaseLock()), e$1;
2794
+ return e.done && (this.#e = void 0, this.#r = !0, this.#t.releaseLock()), e;
3960
2795
  }
3961
- async #i(e$1) {
2796
+ async #i(e) {
3962
2797
  if (this.#r) return {
3963
2798
  done: !0,
3964
- value: e$1
2799
+ value: e
3965
2800
  };
3966
2801
  if (this.#r = !0, !this.#n) {
3967
- const t = this.#t.cancel(e$1);
2802
+ const t = this.#t.cancel(e);
3968
2803
  return this.#t.releaseLock(), await t, {
3969
2804
  done: !0,
3970
- value: e$1
2805
+ value: e
3971
2806
  };
3972
2807
  }
3973
2808
  return this.#t.releaseLock(), {
3974
2809
  done: !0,
3975
- value: e$1
2810
+ value: e
3976
2811
  };
3977
2812
  }
3978
2813
  };
@@ -3981,8 +2816,8 @@ function i() {
3981
2816
  return this[n].next();
3982
2817
  }
3983
2818
  Object.defineProperty(i, "name", { value: "next" });
3984
- function o(r$1) {
3985
- return this[n].return(r$1);
2819
+ function o(r) {
2820
+ return this[n].return(r);
3986
2821
  }
3987
2822
  Object.defineProperty(o, "name", { value: "return" });
3988
2823
  const u = Object.create(a, {
@@ -3999,8 +2834,8 @@ const u = Object.create(a, {
3999
2834
  value: o
4000
2835
  }
4001
2836
  });
4002
- function h({ preventCancel: r$1 = !1 } = {}) {
4003
- const t = new c(this.getReader(), r$1), s = Object.create(u);
2837
+ function h({ preventCancel: r = !1 } = {}) {
2838
+ const t = new c(this.getReader(), r), s = Object.create(u);
4004
2839
  return s[n] = t, s;
4005
2840
  }
4006
2841
 
@@ -4869,12 +3704,12 @@ const guessStreamDirection = {
4869
3704
  }
4870
3705
  };
4871
3706
  const getStandardStreamDirection = (value) => {
4872
- if ([0, g.stdin].includes(value)) return "input";
3707
+ if ([0, process$1.stdin].includes(value)) return "input";
4873
3708
  if ([
4874
3709
  1,
4875
3710
  2,
4876
- g.stdout,
4877
- g.stderr
3711
+ process$1.stdout,
3712
+ process$1.stderr
4878
3713
  ].includes(value)) return "output";
4879
3714
  };
4880
3715
  const DEFAULT_DIRECTION = "output";
@@ -4899,7 +3734,7 @@ const getStdioArray = (stdio, options) => {
4899
3734
  ];
4900
3735
  if (!Array.isArray(stdio)) throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
4901
3736
  const length = Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length);
4902
- return Array.from({ length }, (_$2, fdNumber) => stdio[fdNumber]);
3737
+ return Array.from({ length }, (_, fdNumber) => stdio[fdNumber]);
4903
3738
  };
4904
3739
  const hasAlias = (options) => STANDARD_STREAMS_ALIASES.some((alias) => options[alias] !== void 0);
4905
3740
  const addDefaultValue = (stdioOption, fdNumber) => {
@@ -5632,14 +4467,14 @@ const writeToFiles = (serializedResult, stdioItems, outputFiles) => {
5632
4467
 
5633
4468
  //#endregion
5634
4469
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/resolve/all-sync.js
5635
- const getAllSync = ([, stdout$1, stderr], options) => {
4470
+ const getAllSync = ([, stdout, stderr], options) => {
5636
4471
  if (!options.all) return;
5637
- if (stdout$1 === void 0) return stderr;
5638
- if (stderr === void 0) return stdout$1;
5639
- if (Array.isArray(stdout$1)) return Array.isArray(stderr) ? [...stdout$1, ...stderr] : [...stdout$1, stripNewline(stderr, options, "all")];
5640
- if (Array.isArray(stderr)) return [stripNewline(stdout$1, options, "all"), ...stderr];
5641
- if (isUint8Array(stdout$1) && isUint8Array(stderr)) return concatUint8Arrays([stdout$1, stderr]);
5642
- return `${stdout$1}${stderr}`;
4472
+ if (stdout === void 0) return stderr;
4473
+ if (stderr === void 0) return stdout;
4474
+ if (Array.isArray(stdout)) return Array.isArray(stderr) ? [...stdout, ...stderr] : [...stdout, stripNewline(stderr, options, "all")];
4475
+ if (Array.isArray(stderr)) return [stripNewline(stdout, options, "all"), ...stderr];
4476
+ if (isUint8Array(stdout) && isUint8Array(stderr)) return concatUint8Arrays([stdout, stderr]);
4477
+ return `${stdout}${stderr}`;
5643
4478
  };
5644
4479
 
5645
4480
  //#endregion
@@ -5938,9 +4773,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
5938
4773
  Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
5939
4774
  };
5940
4775
  const getIpcExport = () => {
5941
- const anyProcess = g;
4776
+ const anyProcess = process$1;
5942
4777
  const isSubprocess = true;
5943
- const ipc = g.channel !== void 0;
4778
+ const ipc = process$1.channel !== void 0;
5944
4779
  return {
5945
4780
  ...getIpcMethods(anyProcess, isSubprocess, ipc),
5946
4781
  getCancelSignal: getCancelSignal$1.bind(void 0, {
@@ -5997,20 +4832,20 @@ const handleEarlyError = ({ error, command, escapedCommand, fileDescriptors, opt
5997
4832
  };
5998
4833
  };
5999
4834
  const createDummyStreams = (subprocess, fileDescriptors) => {
6000
- const stdin$1 = createDummyStream();
6001
- const stdout$1 = createDummyStream();
4835
+ const stdin = createDummyStream();
4836
+ const stdout = createDummyStream();
6002
4837
  const stderr = createDummyStream();
6003
4838
  const extraStdio = Array.from({ length: fileDescriptors.length - 3 }, createDummyStream);
6004
4839
  const all = createDummyStream();
6005
4840
  const stdio = [
6006
- stdin$1,
6007
- stdout$1,
4841
+ stdin,
4842
+ stdout,
6008
4843
  stderr,
6009
4844
  ...extraStdio
6010
4845
  ];
6011
4846
  Object.assign(subprocess, {
6012
- stdin: stdin$1,
6013
- stdout: stdout$1,
4847
+ stdin,
4848
+ stdout,
6014
4849
  stderr,
6015
4850
  all,
6016
4851
  stdio
@@ -6349,7 +5184,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
6349
5184
 
6350
5185
  //#endregion
6351
5186
  //#region ../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
6352
- const processOk = (process$2) => !!process$2 && typeof process$2 === "object" && typeof process$2.removeListener === "function" && typeof process$2.emit === "function" && typeof process$2.reallyExit === "function" && typeof process$2.listeners === "function" && typeof process$2.kill === "function" && typeof process$2.pid === "number" && typeof process$2.on === "function";
5187
+ const processOk = (process$3) => !!process$3 && typeof process$3 === "object" && typeof process$3.removeListener === "function" && typeof process$3.emit === "function" && typeof process$3.reallyExit === "function" && typeof process$3.listeners === "function" && typeof process$3.kill === "function" && typeof process$3.pid === "number" && typeof process$3.on === "function";
6353
5188
  const kExitEmitter = Symbol.for("signal-exit emitter");
6354
5189
  const global$1 = globalThis;
6355
5190
  const ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -6417,7 +5252,7 @@ var SignalExitFallback = class extends SignalExitBase {
6417
5252
  };
6418
5253
  var SignalExit = class extends SignalExitBase {
6419
5254
  /* c8 ignore start */
6420
- #hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
5255
+ #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
6421
5256
  /* c8 ignore stop */
6422
5257
  #emitter = new Emitter();
6423
5258
  #process;
@@ -6425,15 +5260,15 @@ var SignalExit = class extends SignalExitBase {
6425
5260
  #originalProcessReallyExit;
6426
5261
  #sigListeners = {};
6427
5262
  #loaded = false;
6428
- constructor(process$2) {
5263
+ constructor(process$3) {
6429
5264
  super();
6430
- this.#process = process$2;
5265
+ this.#process = process$3;
6431
5266
  this.#sigListeners = {};
6432
5267
  for (const sig of signals) this.#sigListeners[sig] = () => {
6433
5268
  const listeners = this.#process.listeners(sig);
6434
5269
  let { count: count$1 } = this.#emitter;
6435
5270
  /* c8 ignore start */
6436
- const p$1 = process$2;
5271
+ const p$1 = process$3;
6437
5272
  if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
6438
5273
  /* c8 ignore stop */
6439
5274
  if (listeners.length === count$1) {
@@ -6441,11 +5276,11 @@ var SignalExit = class extends SignalExitBase {
6441
5276
  const ret = this.#emitter.emit("exit", null, sig);
6442
5277
  /* c8 ignore start */
6443
5278
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
6444
- if (!ret) process$2.kill(process$2.pid, s);
5279
+ if (!ret) process$3.kill(process$3.pid, s);
6445
5280
  }
6446
5281
  };
6447
- this.#originalProcessReallyExit = process$2.reallyExit;
6448
- this.#originalProcessEmit = process$2.emit;
5282
+ this.#originalProcessReallyExit = process$3.reallyExit;
5283
+ this.#originalProcessEmit = process$3.emit;
6449
5284
  }
6450
5285
  onExit(cb, opts) {
6451
5286
  /* c8 ignore start */
@@ -6466,7 +5301,7 @@ var SignalExit = class extends SignalExitBase {
6466
5301
  for (const sig of signals) try {
6467
5302
  const fn = this.#sigListeners[sig];
6468
5303
  if (fn) this.#process.on(sig, fn);
6469
- } catch (_$2) {}
5304
+ } catch (_) {}
6470
5305
  this.#process.emit = (ev, ...a$1) => {
6471
5306
  return this.#processEmit(ev, ...a$1);
6472
5307
  };
@@ -6484,7 +5319,7 @@ var SignalExit = class extends SignalExitBase {
6484
5319
  /* c8 ignore stop */
6485
5320
  try {
6486
5321
  this.#process.removeListener(sig, listener);
6487
- } catch (_$2) {}
5322
+ } catch (_) {}
6488
5323
  /* c8 ignore stop */
6489
5324
  });
6490
5325
  this.#process.emit = this.#originalProcessEmit;
@@ -6512,8 +5347,8 @@ var SignalExit = class extends SignalExitBase {
6512
5347
  } else return og.call(this.#process, ev, ...args);
6513
5348
  }
6514
5349
  };
6515
- const process$1 = globalThis.process;
6516
- const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
5350
+ const process$2 = globalThis.process;
5351
+ const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
6517
5352
 
6518
5353
  //#endregion
6519
5354
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/terminate/cleanup.js
@@ -6982,7 +5817,7 @@ const waitForSubprocessStream = async ({ stream, fdNumber, encoding, buffer, max
6982
5817
 
6983
5818
  //#endregion
6984
5819
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/resolve/all-async.js
6985
- const makeAllStream = ({ stdout: stdout$1, stderr }, { all }) => all && (stdout$1 || stderr) ? mergeStreams([stdout$1, stderr].filter(Boolean)) : void 0;
5820
+ const makeAllStream = ({ stdout, stderr }, { all }) => all && (stdout || stderr) ? mergeStreams([stdout, stderr].filter(Boolean)) : void 0;
6986
5821
  const waitForAllStream = ({ subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline: stripFinalNewline$1, verboseInfo, streamInfo }) => waitForSubprocessStream({
6987
5822
  ...getAllStream(subprocess, buffer),
6988
5823
  fdNumber: "all",
@@ -6994,7 +5829,7 @@ const waitForAllStream = ({ subprocess, encoding, buffer, maxBuffer, lines, stri
6994
5829
  verboseInfo,
6995
5830
  streamInfo
6996
5831
  });
6997
- const getAllStream = ({ stdout: stdout$1, stderr, all }, [, bufferStdout, bufferStderr]) => {
5832
+ const getAllStream = ({ stdout, stderr, all }, [, bufferStdout, bufferStderr]) => {
6998
5833
  const buffer = bufferStdout || bufferStderr;
6999
5834
  if (!buffer) return {
7000
5835
  stream: all,
@@ -7005,7 +5840,7 @@ const getAllStream = ({ stdout: stdout$1, stderr, all }, [, bufferStdout, buffer
7005
5840
  buffer
7006
5841
  };
7007
5842
  if (!bufferStderr) return {
7008
- stream: stdout$1,
5843
+ stream: stdout,
7009
5844
  buffer
7010
5845
  };
7011
5846
  return {
@@ -7013,7 +5848,7 @@ const getAllStream = ({ stdout: stdout$1, stderr, all }, [, bufferStdout, buffer
7013
5848
  buffer
7014
5849
  };
7015
5850
  };
7016
- const getAllMixed = ({ all, stdout: stdout$1, stderr }) => all && stdout$1 && stderr && stdout$1.readableObjectMode !== stderr.readableObjectMode;
5851
+ const getAllMixed = ({ all, stdout, stderr }) => all && stdout && stderr && stdout.readableObjectMode !== stderr.readableObjectMode;
7017
5852
 
7018
5853
  //#endregion
7019
5854
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/verbose/ipc.js
@@ -7796,17 +6631,17 @@ const setEnv = async ({ projectId, storageBucket, build }) => {
7796
6631
  HOT_UPDATER_FIREBASE_PROJECT_ID: projectId,
7797
6632
  HOT_UPDATER_FIREBASE_STORAGE_BUCKET: storageBucket
7798
6633
  });
7799
- f.success("Firebase credentials have been successfully configured.");
6634
+ p.log.success("Firebase credentials have been successfully configured.");
7800
6635
  try {
7801
6636
  await fs.promises.writeFile("hot-updater.config.ts", getConfigTemplate(build));
7802
- f.success("Configuration file 'hot-updater.config.ts' has been created.");
6637
+ p.log.success("Configuration file 'hot-updater.config.ts' has been created.");
7803
6638
  } catch (error) {
7804
6639
  console.error("Error writing configuration file:", error.message);
7805
6640
  }
7806
6641
  };
7807
6642
  const handleError = (err) => {
7808
- if (err instanceof ExecaError) f.error(err.stderr || err.stdout || err.message);
7809
- else if (err instanceof Error) f.error(`Error occurred: ${err.message}`);
6643
+ if (err instanceof ExecaError) p.log.error(err.stderr || err.stdout || err.message);
6644
+ else if (err instanceof Error) p.log.error(`Error occurred: ${err.message}`);
7810
6645
  process.exit(1);
7811
6646
  };
7812
6647
  const listProjects = async () => {
@@ -7845,7 +6680,7 @@ const initFirebaseUser = async (cwd) => {
7845
6680
  }
7846
6681
  const projects = await listProjects();
7847
6682
  const createKey = `create/${Math.random().toString(36).substring(2, 15)}`;
7848
- const projectId = await ve({
6683
+ const projectId = await p.select({
7849
6684
  message: "Select a Firebase project",
7850
6685
  options: [...projects.map((project$1) => ({
7851
6686
  label: project$1.displayName,
@@ -7855,14 +6690,14 @@ const initFirebaseUser = async (cwd) => {
7855
6690
  label: "Create new Firebase project"
7856
6691
  }]
7857
6692
  });
7858
- if (BD(projectId)) {
7859
- f.error("Project ID is required");
6693
+ if (p.isCancel(projectId)) {
6694
+ p.log.error("Project ID is required");
7860
6695
  process.exit(1);
7861
6696
  }
7862
6697
  if (projectId === createKey) {
7863
- const newProjectId = await he({ message: "Enter the Firebase project ID:" });
7864
- if (BD(newProjectId)) {
7865
- f.error("Project ID is required");
6698
+ const newProjectId = await p.text({ message: "Enter the Firebase project ID:" });
6699
+ if (p.isCancel(newProjectId)) {
6700
+ p.log.error("Project ID is required");
7866
6701
  process.exit(1);
7867
6702
  }
7868
6703
  try {
@@ -7874,16 +6709,16 @@ const initFirebaseUser = async (cwd) => {
7874
6709
  stdio: "inherit",
7875
6710
  shell: true
7876
6711
  });
7877
- f.success("Firebase project created successfully");
7878
- f.step("Please Go to the following links to enable Firestore and Storage and Billing");
7879
- f.step(link(`https://console.firebase.google.com/project/${newProjectId}/firestore`));
7880
- f.step(link(`https://console.firebase.google.com/project/${newProjectId}/storage`));
6712
+ p.log.success("Firebase project created successfully");
6713
+ p.log.step("Please Go to the following links to enable Firestore and Storage and Billing");
6714
+ p.log.step(link(`https://console.firebase.google.com/project/${newProjectId}/firestore`));
6715
+ p.log.step(link(`https://console.firebase.google.com/project/${newProjectId}/storage`));
7881
6716
  } catch (err) {
7882
6717
  handleError(err);
7883
6718
  }
7884
6719
  process.exit(0);
7885
6720
  }
7886
- await Te([{
6721
+ await p.tasks([{
7887
6722
  title: `Select Firebase project (${projectId})...`,
7888
6723
  task: async () => {
7889
6724
  try {
@@ -7897,8 +6732,8 @@ const initFirebaseUser = async (cwd) => {
7897
6732
  shell: true
7898
6733
  });
7899
6734
  } catch (error) {
7900
- if (error instanceof ExecaError) f.error(error.stderr || error.stdout || error.message);
7901
- else if (error instanceof Error) f.error(error.message);
6735
+ if (error instanceof ExecaError) p.log.error(error.stderr || error.stdout || error.message);
6736
+ else if (error instanceof Error) p.log.error(error.message);
7902
6737
  process.exit(1);
7903
6738
  }
7904
6739
  }
@@ -7915,17 +6750,17 @@ const initFirebaseUser = async (cwd) => {
7915
6750
  input: "N\n"
7916
6751
  });
7917
6752
  if (JSON.parse(databases.stdout).length === 0) {
7918
- f.warning("Firestore Database not found");
7919
- f.step("Please enable Firestore in the Firebase Console:");
7920
- f.step(link(`https://console.firebase.google.com/project/${projectId}/firestore`));
7921
- f.step("After enabling Firestore, please run 'npx hot-updater init' again.");
6753
+ p.log.warning("Firestore Database not found");
6754
+ p.log.step("Please enable Firestore in the Firebase Console:");
6755
+ p.log.step(link(`https://console.firebase.google.com/project/${projectId}/firestore`));
6756
+ p.log.step("After enabling Firestore, please run 'npx hot-updater init' again.");
7922
6757
  process.exit(1);
7923
6758
  }
7924
6759
  } catch (err) {
7925
6760
  handleError(err);
7926
6761
  }
7927
6762
  let storageBucket = null;
7928
- await Te([{
6763
+ await p.tasks([{
7929
6764
  title: "Getting storage bucket...",
7930
6765
  task: async () => {
7931
6766
  const buckets = await execa("gcloud", [
@@ -7937,16 +6772,16 @@ const initFirebaseUser = async (cwd) => {
7937
6772
  ], { shell: true });
7938
6773
  storageBucket = JSON.parse(buckets.stdout).find((bucket) => bucket.name === `${projectId}.firebasestorage.app` || bucket.name === `${projectId}.appspot.com`)?.name;
7939
6774
  if (!storageBucket) {
7940
- f.error("Storage Bucket not found");
7941
- f.step("Please Go to the following links to enable Firestore and Storage and Billing");
7942
- f.step(link(`https://console.firebase.google.com/project/${projectId}/firestore`));
6775
+ p.log.error("Storage Bucket not found");
6776
+ p.log.step("Please Go to the following links to enable Firestore and Storage and Billing");
6777
+ p.log.step(link(`https://console.firebase.google.com/project/${projectId}/firestore`));
7943
6778
  process.exit(1);
7944
6779
  }
7945
6780
  return `Storage Bucket: ${storageBucket}`;
7946
6781
  }
7947
6782
  }]);
7948
6783
  if (!storageBucket) {
7949
- f.error("Storage Bucket not found");
6784
+ p.log.error("Storage Bucket not found");
7950
6785
  process.exit(1);
7951
6786
  }
7952
6787
  const project = await execa("gcloud", [
@@ -7958,7 +6793,7 @@ const initFirebaseUser = async (cwd) => {
7958
6793
  const projectJson = JSON.parse(project.stdout);
7959
6794
  const projectNumber = Number(projectJson.projectNumber);
7960
6795
  if (Number.isNaN(projectNumber)) {
7961
- f.error("Project Number not found");
6796
+ p.log.error("Project Number not found");
7962
6797
  process.exit(1);
7963
6798
  }
7964
6799
  return {
@@ -8073,7 +6908,7 @@ function normalizeIndex(index) {
8073
6908
  }
8074
6909
  const mergeIndexes = (originalIndexes, newIndexes) => {
8075
6910
  return {
8076
- indexes: uniqWith(originalIndexes.indexes.concat(newIndexes.indexes), (a$1, b$2) => isEqual(normalizeIndex(a$1), normalizeIndex(b$2))),
6911
+ indexes: uniqWith(originalIndexes.indexes.concat(newIndexes.indexes), (a$1, b) => isEqual(normalizeIndex(a$1), normalizeIndex(b))),
8077
6912
  fieldOverrides: merge(originalIndexes.fieldOverrides, newIndexes.fieldOverrides)
8078
6913
  };
8079
6914
  };
@@ -8106,9 +6941,9 @@ const deployFirestore = async (cwd) => {
8106
6941
  stdio: "inherit",
8107
6942
  shell: true
8108
6943
  });
8109
- } catch (e$1) {
8110
- if (e$1 instanceof ExecaError) f.error(e$1.stderr || e$1.stdout || e$1.message);
8111
- else if (e$1 instanceof Error) f.error(e$1.message);
6944
+ } catch (e) {
6945
+ if (e instanceof ExecaError) p.log.error(e.stderr || e.stdout || e.message);
6946
+ else if (e instanceof Error) p.log.error(e.message);
8112
6947
  process.exit(1);
8113
6948
  }
8114
6949
  };
@@ -8124,15 +6959,15 @@ const deployFunctions = async (cwd) => {
8124
6959
  stdio: "inherit",
8125
6960
  shell: true
8126
6961
  });
8127
- } catch (e$1) {
8128
- if (e$1 instanceof ExecaError) f.error(e$1.stderr || e$1.stdout || e$1.message);
8129
- else if (e$1 instanceof Error) f.error(e$1.message);
6962
+ } catch (e) {
6963
+ if (e instanceof ExecaError) p.log.error(e.stderr || e.stdout || e.message);
6964
+ else if (e instanceof Error) p.log.error(e.message);
8130
6965
  process.exit(1);
8131
6966
  }
8132
6967
  };
8133
6968
  const printTemplate = async (projectId, region) => {
8134
6969
  try {
8135
- const { stdout: stdout$1 } = await execa("gcloud", [
6970
+ const { stdout } = await execa("gcloud", [
8136
6971
  "functions",
8137
6972
  "describe",
8138
6973
  "hot-updater",
@@ -8142,12 +6977,12 @@ const printTemplate = async (projectId, region) => {
8142
6977
  region,
8143
6978
  "--format=json"
8144
6979
  ], { shell: true });
8145
- const parsedData = JSON.parse(stdout$1);
6980
+ const parsedData = JSON.parse(stdout);
8146
6981
  const functionUrl = `${parsedData?.serviceConfig?.uri ?? parsedData.url}/api/check-update`;
8147
- Me(transformTemplate(SOURCE_TEMPLATE, { source: functionUrl }));
6982
+ p.note(transformTemplate(SOURCE_TEMPLATE, { source: functionUrl }));
8148
6983
  } catch (error) {
8149
- if (error instanceof ExecaError) f.error(error.stderr || error.stdout || error.message);
8150
- else if (error instanceof Error) f.error(error.message);
6984
+ if (error instanceof ExecaError) p.log.error(error.stderr || error.stdout || error.message);
6985
+ else if (error instanceof Error) p.log.error(error.message);
8151
6986
  process.exit(1);
8152
6987
  }
8153
6988
  };
@@ -8161,9 +6996,9 @@ const checkIfGcloudCliInstalled = async () => {
8161
6996
  };
8162
6997
  const runInit = async ({ build }) => {
8163
6998
  if (!await checkIfGcloudCliInstalled()) {
8164
- f.error("gcloud CLI is not installed");
8165
- f.step("Please go to the following link to install the gcloud CLI");
8166
- f.step(link("https://cloud.google.com/sdk/docs/install"));
6999
+ p.log.error("gcloud CLI is not installed");
7000
+ p.log.step("Please go to the following link to install the gcloud CLI");
7001
+ p.log.step(link("https://cloud.google.com/sdk/docs/install"));
8167
7002
  process.exit(1);
8168
7003
  }
8169
7004
  const { tmpDir, removeTmpDir } = await copyDirToTmp(path$1.dirname(path$1.dirname(__require.resolve("@hot-updater/firebase/functions"))));
@@ -8177,7 +7012,7 @@ const runInit = async ({ build }) => {
8177
7012
  storageBucket: initializeVariable.storageBucket,
8178
7013
  build
8179
7014
  });
8180
- await Te([{
7015
+ await p.tasks([{
8181
7016
  title: "Installing dependencies...",
8182
7017
  task: async () => {
8183
7018
  try {
@@ -8187,8 +7022,8 @@ const runInit = async ({ build }) => {
8187
7022
  });
8188
7023
  return "Installed dependencies";
8189
7024
  } catch (error) {
8190
- if (error instanceof ExecaError) f.error(error.stderr || error.stdout || error.message);
8191
- else if (error instanceof Error) f.error(error.message);
7025
+ if (error instanceof ExecaError) p.log.error(error.stderr || error.stdout || error.message);
7026
+ else if (error instanceof Error) p.log.error(error.message);
8192
7027
  process.exit(1);
8193
7028
  }
8194
7029
  }
@@ -8197,7 +7032,7 @@ const runInit = async ({ build }) => {
8197
7032
  task: async () => {
8198
7033
  let isFunctionsExist = false;
8199
7034
  try {
8200
- const { stdout: stdout$1 } = await execa("npx", [
7035
+ const { stdout } = await execa("npx", [
8201
7036
  "firebase",
8202
7037
  "functions:list",
8203
7038
  "--json"
@@ -8205,26 +7040,26 @@ const runInit = async ({ build }) => {
8205
7040
  cwd: tmpDir,
8206
7041
  shell: true
8207
7042
  });
8208
- const hotUpdater = (JSON.parse(stdout$1).result || []).find((fn) => fn.id === "hot-updater");
7043
+ const hotUpdater = (JSON.parse(stdout).result || []).find((fn) => fn.id === "hot-updater");
8209
7044
  if (hotUpdater?.region) {
8210
7045
  currentRegion = hotUpdater.region;
8211
7046
  isFunctionsExist = true;
8212
7047
  }
8213
7048
  } catch {}
8214
7049
  if (!isFunctionsExist) {
8215
- const selectedRegion = await ve({
7050
+ const selectedRegion = await p.select({
8216
7051
  message: "Select Region",
8217
7052
  options: REGIONS,
8218
7053
  initialValue: REGIONS[0].value
8219
7054
  });
8220
- if (BD(selectedRegion)) {
8221
- xe("Operation cancelled.");
7055
+ if (p.isCancel(selectedRegion)) {
7056
+ p.cancel("Operation cancelled.");
8222
7057
  process.exit(1);
8223
7058
  }
8224
7059
  currentRegion = selectedRegion;
8225
7060
  }
8226
7061
  if (!currentRegion) {
8227
- f.error("Region is not set");
7062
+ p.log.error("Region is not set");
8228
7063
  await removeTmpDir();
8229
7064
  process.exit(1);
8230
7065
  }
@@ -8235,7 +7070,7 @@ const runInit = async ({ build }) => {
8235
7070
  }]);
8236
7071
  await deployFirestore(tmpDir);
8237
7072
  await deployFunctions(tmpDir);
8238
- await Te([{
7073
+ await p.tasks([{
8239
7074
  title: "Check IAM policy",
8240
7075
  async task(message) {
8241
7076
  const functionsList = await execa("npx", [
@@ -8248,7 +7083,7 @@ const runInit = async ({ build }) => {
8248
7083
  });
8249
7084
  const account = (JSON.parse(functionsList.stdout).result || []).find((fn) => fn.id === "hot-updater")?.serviceAccount;
8250
7085
  if (!account) {
8251
- f.error("hot-updater function not found");
7086
+ p.log.error("hot-updater function not found");
8252
7087
  await removeTmpDir();
8253
7088
  process.exit(1);
8254
7089
  }
@@ -8270,10 +7105,10 @@ const runInit = async ({ build }) => {
8270
7105
  stdio: "inherit",
8271
7106
  shell: true
8272
7107
  });
8273
- f.success("IAM Service Account Token Creator role has been added to the service account");
7108
+ p.log.success("IAM Service Account Token Creator role has been added to the service account");
8274
7109
  } catch {
8275
- f.error("Please go to the following link to add the IAM Service Account Token Creator role to the service account");
8276
- f.step(link(`https://console.cloud.google.com/iam-admin/iam/project/${initializeVariable.projectId}/serviceaccounts/${account}/edit?inv=1`));
7110
+ p.log.error("Please go to the following link to add the IAM Service Account Token Creator role to the service account");
7111
+ p.log.step(link(`https://console.cloud.google.com/iam-admin/iam/project/${initializeVariable.projectId}/serviceaccounts/${account}/edit?inv=1`));
8277
7112
  await removeTmpDir();
8278
7113
  process.exit(1);
8279
7114
  }
@@ -8281,15 +7116,15 @@ const runInit = async ({ build }) => {
8281
7116
  }
8282
7117
  }]);
8283
7118
  if (!currentRegion) {
8284
- f.error("Region is not set");
7119
+ p.log.error("Region is not set");
8285
7120
  await removeTmpDir();
8286
7121
  process.exit(1);
8287
7122
  }
8288
7123
  await printTemplate(initializeVariable.projectId, currentRegion);
8289
7124
  await removeTmpDir();
8290
- f.message(`Next step: ${link("https://hot-updater.dev/docs/managed/firebase#step-3-generated-configurations")}`);
8291
- f.message("Next step: Change GOOGLE_APPLICATION_CREDENTIALS=your-credentials.json in .env file");
8292
- f.success("Done! 🎉");
7125
+ p.log.message(`Next step: ${link("https://hot-updater.dev/docs/managed/firebase#step-3-generated-configurations")}`);
7126
+ p.log.message("Next step: Change GOOGLE_APPLICATION_CREDENTIALS=your-credentials.json in .env file");
7127
+ p.log.success("Done! 🎉");
8293
7128
  };
8294
7129
 
8295
7130
  //#endregion