soulhubcli 1.0.8 → 1.0.10
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/index.cjs +279 -2752
- package/package.json +1 -2
package/dist/index.cjs
CHANGED
|
@@ -589,12 +589,12 @@ var require_help = __commonJS({
|
|
|
589
589
|
const indentString2 = " ".repeat(indent);
|
|
590
590
|
const zeroWidthSpace = "\u200B";
|
|
591
591
|
const breaks = `\\s${zeroWidthSpace}`;
|
|
592
|
-
const
|
|
592
|
+
const regex = new RegExp(
|
|
593
593
|
`
|
|
594
594
|
|.{1,${columnWidth - 1}}([${breaks}]|$)|[^${breaks}]+?([${breaks}]|$)`,
|
|
595
595
|
"g"
|
|
596
596
|
);
|
|
597
|
-
const lines = columnText.match(
|
|
597
|
+
const lines = columnText.match(regex) || [];
|
|
598
598
|
return leadingStr + lines.map((line, i) => {
|
|
599
599
|
if (line === "\n") return "";
|
|
600
600
|
return (i > 0 ? indentString2 : "") + line.trimEnd();
|
|
@@ -966,8 +966,8 @@ var require_command = __commonJS({
|
|
|
966
966
|
var EventEmitter = require("events").EventEmitter;
|
|
967
967
|
var childProcess = require("child_process");
|
|
968
968
|
var path6 = require("path");
|
|
969
|
-
var
|
|
970
|
-
var
|
|
969
|
+
var fs6 = require("fs");
|
|
970
|
+
var process3 = require("process");
|
|
971
971
|
var { Argument: Argument2, humanReadableArgName } = require_argument();
|
|
972
972
|
var { CommanderError: CommanderError2 } = require_error();
|
|
973
973
|
var { Help: Help2 } = require_help();
|
|
@@ -1013,10 +1013,10 @@ var require_command = __commonJS({
|
|
|
1013
1013
|
this._showHelpAfterError = false;
|
|
1014
1014
|
this._showSuggestionAfterError = true;
|
|
1015
1015
|
this._outputConfiguration = {
|
|
1016
|
-
writeOut: (str2) =>
|
|
1017
|
-
writeErr: (str2) =>
|
|
1018
|
-
getOutHelpWidth: () =>
|
|
1019
|
-
getErrHelpWidth: () =>
|
|
1016
|
+
writeOut: (str2) => process3.stdout.write(str2),
|
|
1017
|
+
writeErr: (str2) => process3.stderr.write(str2),
|
|
1018
|
+
getOutHelpWidth: () => process3.stdout.isTTY ? process3.stdout.columns : void 0,
|
|
1019
|
+
getErrHelpWidth: () => process3.stderr.isTTY ? process3.stderr.columns : void 0,
|
|
1020
1020
|
outputError: (str2, write) => write(str2)
|
|
1021
1021
|
};
|
|
1022
1022
|
this._hidden = false;
|
|
@@ -1395,7 +1395,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1395
1395
|
if (this._exitCallback) {
|
|
1396
1396
|
this._exitCallback(new CommanderError2(exitCode, code, message));
|
|
1397
1397
|
}
|
|
1398
|
-
|
|
1398
|
+
process3.exit(exitCode);
|
|
1399
1399
|
}
|
|
1400
1400
|
/**
|
|
1401
1401
|
* Register callback `fn` for the command.
|
|
@@ -1570,9 +1570,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1570
1570
|
if (typeof fn === "function") {
|
|
1571
1571
|
option.default(defaultValue).argParser(fn);
|
|
1572
1572
|
} else if (fn instanceof RegExp) {
|
|
1573
|
-
const
|
|
1573
|
+
const regex = fn;
|
|
1574
1574
|
fn = (val, def) => {
|
|
1575
|
-
const m =
|
|
1575
|
+
const m = regex.exec(val);
|
|
1576
1576
|
return m ? m[0] : def;
|
|
1577
1577
|
};
|
|
1578
1578
|
option.default(defaultValue).argParser(fn);
|
|
@@ -1793,16 +1793,16 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1793
1793
|
}
|
|
1794
1794
|
parseOptions = parseOptions || {};
|
|
1795
1795
|
if (argv === void 0 && parseOptions.from === void 0) {
|
|
1796
|
-
if (
|
|
1796
|
+
if (process3.versions?.electron) {
|
|
1797
1797
|
parseOptions.from = "electron";
|
|
1798
1798
|
}
|
|
1799
|
-
const execArgv =
|
|
1799
|
+
const execArgv = process3.execArgv ?? [];
|
|
1800
1800
|
if (execArgv.includes("-e") || execArgv.includes("--eval") || execArgv.includes("-p") || execArgv.includes("--print")) {
|
|
1801
1801
|
parseOptions.from = "eval";
|
|
1802
1802
|
}
|
|
1803
1803
|
}
|
|
1804
1804
|
if (argv === void 0) {
|
|
1805
|
-
argv =
|
|
1805
|
+
argv = process3.argv;
|
|
1806
1806
|
}
|
|
1807
1807
|
this.rawArgs = argv.slice();
|
|
1808
1808
|
let userArgs;
|
|
@@ -1813,7 +1813,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1813
1813
|
userArgs = argv.slice(2);
|
|
1814
1814
|
break;
|
|
1815
1815
|
case "electron":
|
|
1816
|
-
if (
|
|
1816
|
+
if (process3.defaultApp) {
|
|
1817
1817
|
this._scriptPath = argv[1];
|
|
1818
1818
|
userArgs = argv.slice(2);
|
|
1819
1819
|
} else {
|
|
@@ -1899,10 +1899,10 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1899
1899
|
const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
|
|
1900
1900
|
function findFile(baseDir, baseName) {
|
|
1901
1901
|
const localBin = path6.resolve(baseDir, baseName);
|
|
1902
|
-
if (
|
|
1902
|
+
if (fs6.existsSync(localBin)) return localBin;
|
|
1903
1903
|
if (sourceExt.includes(path6.extname(baseName))) return void 0;
|
|
1904
1904
|
const foundExt = sourceExt.find(
|
|
1905
|
-
(ext) =>
|
|
1905
|
+
(ext) => fs6.existsSync(`${localBin}${ext}`)
|
|
1906
1906
|
);
|
|
1907
1907
|
if (foundExt) return `${localBin}${foundExt}`;
|
|
1908
1908
|
return void 0;
|
|
@@ -1914,7 +1914,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1914
1914
|
if (this._scriptPath) {
|
|
1915
1915
|
let resolvedScriptPath;
|
|
1916
1916
|
try {
|
|
1917
|
-
resolvedScriptPath =
|
|
1917
|
+
resolvedScriptPath = fs6.realpathSync(this._scriptPath);
|
|
1918
1918
|
} catch (err) {
|
|
1919
1919
|
resolvedScriptPath = this._scriptPath;
|
|
1920
1920
|
}
|
|
@@ -1941,23 +1941,23 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1941
1941
|
}
|
|
1942
1942
|
launchWithNode = sourceExt.includes(path6.extname(executableFile));
|
|
1943
1943
|
let proc;
|
|
1944
|
-
if (
|
|
1944
|
+
if (process3.platform !== "win32") {
|
|
1945
1945
|
if (launchWithNode) {
|
|
1946
1946
|
args.unshift(executableFile);
|
|
1947
|
-
args = incrementNodeInspectorPort(
|
|
1948
|
-
proc = childProcess.spawn(
|
|
1947
|
+
args = incrementNodeInspectorPort(process3.execArgv).concat(args);
|
|
1948
|
+
proc = childProcess.spawn(process3.argv[0], args, { stdio: "inherit" });
|
|
1949
1949
|
} else {
|
|
1950
1950
|
proc = childProcess.spawn(executableFile, args, { stdio: "inherit" });
|
|
1951
1951
|
}
|
|
1952
1952
|
} else {
|
|
1953
1953
|
args.unshift(executableFile);
|
|
1954
|
-
args = incrementNodeInspectorPort(
|
|
1955
|
-
proc = childProcess.spawn(
|
|
1954
|
+
args = incrementNodeInspectorPort(process3.execArgv).concat(args);
|
|
1955
|
+
proc = childProcess.spawn(process3.execPath, args, { stdio: "inherit" });
|
|
1956
1956
|
}
|
|
1957
1957
|
if (!proc.killed) {
|
|
1958
|
-
const
|
|
1959
|
-
|
|
1960
|
-
|
|
1958
|
+
const signals = ["SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP"];
|
|
1959
|
+
signals.forEach((signal) => {
|
|
1960
|
+
process3.on(signal, () => {
|
|
1961
1961
|
if (proc.killed === false && proc.exitCode === null) {
|
|
1962
1962
|
proc.kill(signal);
|
|
1963
1963
|
}
|
|
@@ -1968,7 +1968,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1968
1968
|
proc.on("close", (code) => {
|
|
1969
1969
|
code = code ?? 1;
|
|
1970
1970
|
if (!exitCallback) {
|
|
1971
|
-
|
|
1971
|
+
process3.exit(code);
|
|
1972
1972
|
} else {
|
|
1973
1973
|
exitCallback(
|
|
1974
1974
|
new CommanderError2(
|
|
@@ -1991,7 +1991,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1991
1991
|
throw new Error(`'${executableFile}' not executable`);
|
|
1992
1992
|
}
|
|
1993
1993
|
if (!exitCallback) {
|
|
1994
|
-
|
|
1994
|
+
process3.exit(1);
|
|
1995
1995
|
} else {
|
|
1996
1996
|
const wrappedError = new CommanderError2(
|
|
1997
1997
|
1,
|
|
@@ -2483,13 +2483,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2483
2483
|
*/
|
|
2484
2484
|
_parseOptionsEnv() {
|
|
2485
2485
|
this.options.forEach((option) => {
|
|
2486
|
-
if (option.envVar && option.envVar in
|
|
2486
|
+
if (option.envVar && option.envVar in process3.env) {
|
|
2487
2487
|
const optionKey = option.attributeName();
|
|
2488
2488
|
if (this.getOptionValue(optionKey) === void 0 || ["default", "config", "env"].includes(
|
|
2489
2489
|
this.getOptionValueSource(optionKey)
|
|
2490
2490
|
)) {
|
|
2491
2491
|
if (option.required || option.optional) {
|
|
2492
|
-
this.emit(`optionEnv:${option.name()}`,
|
|
2492
|
+
this.emit(`optionEnv:${option.name()}`, process3.env[option.envVar]);
|
|
2493
2493
|
} else {
|
|
2494
2494
|
this.emit(`optionEnv:${option.name()}`);
|
|
2495
2495
|
}
|
|
@@ -2918,7 +2918,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2918
2918
|
*/
|
|
2919
2919
|
help(contextOptions) {
|
|
2920
2920
|
this.outputHelp(contextOptions);
|
|
2921
|
-
let exitCode =
|
|
2921
|
+
let exitCode = process3.exitCode || 0;
|
|
2922
2922
|
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) {
|
|
2923
2923
|
exitCode = 1;
|
|
2924
2924
|
}
|
|
@@ -3026,1651 +3026,6 @@ var require_commander = __commonJS({
|
|
|
3026
3026
|
}
|
|
3027
3027
|
});
|
|
3028
3028
|
|
|
3029
|
-
// node_modules/cli-spinners/spinners.json
|
|
3030
|
-
var require_spinners = __commonJS({
|
|
3031
|
-
"node_modules/cli-spinners/spinners.json"(exports2, module2) {
|
|
3032
|
-
module2.exports = {
|
|
3033
|
-
dots: {
|
|
3034
|
-
interval: 80,
|
|
3035
|
-
frames: [
|
|
3036
|
-
"\u280B",
|
|
3037
|
-
"\u2819",
|
|
3038
|
-
"\u2839",
|
|
3039
|
-
"\u2838",
|
|
3040
|
-
"\u283C",
|
|
3041
|
-
"\u2834",
|
|
3042
|
-
"\u2826",
|
|
3043
|
-
"\u2827",
|
|
3044
|
-
"\u2807",
|
|
3045
|
-
"\u280F"
|
|
3046
|
-
]
|
|
3047
|
-
},
|
|
3048
|
-
dots2: {
|
|
3049
|
-
interval: 80,
|
|
3050
|
-
frames: [
|
|
3051
|
-
"\u28FE",
|
|
3052
|
-
"\u28FD",
|
|
3053
|
-
"\u28FB",
|
|
3054
|
-
"\u28BF",
|
|
3055
|
-
"\u287F",
|
|
3056
|
-
"\u28DF",
|
|
3057
|
-
"\u28EF",
|
|
3058
|
-
"\u28F7"
|
|
3059
|
-
]
|
|
3060
|
-
},
|
|
3061
|
-
dots3: {
|
|
3062
|
-
interval: 80,
|
|
3063
|
-
frames: [
|
|
3064
|
-
"\u280B",
|
|
3065
|
-
"\u2819",
|
|
3066
|
-
"\u281A",
|
|
3067
|
-
"\u281E",
|
|
3068
|
-
"\u2816",
|
|
3069
|
-
"\u2826",
|
|
3070
|
-
"\u2834",
|
|
3071
|
-
"\u2832",
|
|
3072
|
-
"\u2833",
|
|
3073
|
-
"\u2813"
|
|
3074
|
-
]
|
|
3075
|
-
},
|
|
3076
|
-
dots4: {
|
|
3077
|
-
interval: 80,
|
|
3078
|
-
frames: [
|
|
3079
|
-
"\u2804",
|
|
3080
|
-
"\u2806",
|
|
3081
|
-
"\u2807",
|
|
3082
|
-
"\u280B",
|
|
3083
|
-
"\u2819",
|
|
3084
|
-
"\u2838",
|
|
3085
|
-
"\u2830",
|
|
3086
|
-
"\u2820",
|
|
3087
|
-
"\u2830",
|
|
3088
|
-
"\u2838",
|
|
3089
|
-
"\u2819",
|
|
3090
|
-
"\u280B",
|
|
3091
|
-
"\u2807",
|
|
3092
|
-
"\u2806"
|
|
3093
|
-
]
|
|
3094
|
-
},
|
|
3095
|
-
dots5: {
|
|
3096
|
-
interval: 80,
|
|
3097
|
-
frames: [
|
|
3098
|
-
"\u280B",
|
|
3099
|
-
"\u2819",
|
|
3100
|
-
"\u281A",
|
|
3101
|
-
"\u2812",
|
|
3102
|
-
"\u2802",
|
|
3103
|
-
"\u2802",
|
|
3104
|
-
"\u2812",
|
|
3105
|
-
"\u2832",
|
|
3106
|
-
"\u2834",
|
|
3107
|
-
"\u2826",
|
|
3108
|
-
"\u2816",
|
|
3109
|
-
"\u2812",
|
|
3110
|
-
"\u2810",
|
|
3111
|
-
"\u2810",
|
|
3112
|
-
"\u2812",
|
|
3113
|
-
"\u2813",
|
|
3114
|
-
"\u280B"
|
|
3115
|
-
]
|
|
3116
|
-
},
|
|
3117
|
-
dots6: {
|
|
3118
|
-
interval: 80,
|
|
3119
|
-
frames: [
|
|
3120
|
-
"\u2801",
|
|
3121
|
-
"\u2809",
|
|
3122
|
-
"\u2819",
|
|
3123
|
-
"\u281A",
|
|
3124
|
-
"\u2812",
|
|
3125
|
-
"\u2802",
|
|
3126
|
-
"\u2802",
|
|
3127
|
-
"\u2812",
|
|
3128
|
-
"\u2832",
|
|
3129
|
-
"\u2834",
|
|
3130
|
-
"\u2824",
|
|
3131
|
-
"\u2804",
|
|
3132
|
-
"\u2804",
|
|
3133
|
-
"\u2824",
|
|
3134
|
-
"\u2834",
|
|
3135
|
-
"\u2832",
|
|
3136
|
-
"\u2812",
|
|
3137
|
-
"\u2802",
|
|
3138
|
-
"\u2802",
|
|
3139
|
-
"\u2812",
|
|
3140
|
-
"\u281A",
|
|
3141
|
-
"\u2819",
|
|
3142
|
-
"\u2809",
|
|
3143
|
-
"\u2801"
|
|
3144
|
-
]
|
|
3145
|
-
},
|
|
3146
|
-
dots7: {
|
|
3147
|
-
interval: 80,
|
|
3148
|
-
frames: [
|
|
3149
|
-
"\u2808",
|
|
3150
|
-
"\u2809",
|
|
3151
|
-
"\u280B",
|
|
3152
|
-
"\u2813",
|
|
3153
|
-
"\u2812",
|
|
3154
|
-
"\u2810",
|
|
3155
|
-
"\u2810",
|
|
3156
|
-
"\u2812",
|
|
3157
|
-
"\u2816",
|
|
3158
|
-
"\u2826",
|
|
3159
|
-
"\u2824",
|
|
3160
|
-
"\u2820",
|
|
3161
|
-
"\u2820",
|
|
3162
|
-
"\u2824",
|
|
3163
|
-
"\u2826",
|
|
3164
|
-
"\u2816",
|
|
3165
|
-
"\u2812",
|
|
3166
|
-
"\u2810",
|
|
3167
|
-
"\u2810",
|
|
3168
|
-
"\u2812",
|
|
3169
|
-
"\u2813",
|
|
3170
|
-
"\u280B",
|
|
3171
|
-
"\u2809",
|
|
3172
|
-
"\u2808"
|
|
3173
|
-
]
|
|
3174
|
-
},
|
|
3175
|
-
dots8: {
|
|
3176
|
-
interval: 80,
|
|
3177
|
-
frames: [
|
|
3178
|
-
"\u2801",
|
|
3179
|
-
"\u2801",
|
|
3180
|
-
"\u2809",
|
|
3181
|
-
"\u2819",
|
|
3182
|
-
"\u281A",
|
|
3183
|
-
"\u2812",
|
|
3184
|
-
"\u2802",
|
|
3185
|
-
"\u2802",
|
|
3186
|
-
"\u2812",
|
|
3187
|
-
"\u2832",
|
|
3188
|
-
"\u2834",
|
|
3189
|
-
"\u2824",
|
|
3190
|
-
"\u2804",
|
|
3191
|
-
"\u2804",
|
|
3192
|
-
"\u2824",
|
|
3193
|
-
"\u2820",
|
|
3194
|
-
"\u2820",
|
|
3195
|
-
"\u2824",
|
|
3196
|
-
"\u2826",
|
|
3197
|
-
"\u2816",
|
|
3198
|
-
"\u2812",
|
|
3199
|
-
"\u2810",
|
|
3200
|
-
"\u2810",
|
|
3201
|
-
"\u2812",
|
|
3202
|
-
"\u2813",
|
|
3203
|
-
"\u280B",
|
|
3204
|
-
"\u2809",
|
|
3205
|
-
"\u2808",
|
|
3206
|
-
"\u2808"
|
|
3207
|
-
]
|
|
3208
|
-
},
|
|
3209
|
-
dots9: {
|
|
3210
|
-
interval: 80,
|
|
3211
|
-
frames: [
|
|
3212
|
-
"\u28B9",
|
|
3213
|
-
"\u28BA",
|
|
3214
|
-
"\u28BC",
|
|
3215
|
-
"\u28F8",
|
|
3216
|
-
"\u28C7",
|
|
3217
|
-
"\u2867",
|
|
3218
|
-
"\u2857",
|
|
3219
|
-
"\u284F"
|
|
3220
|
-
]
|
|
3221
|
-
},
|
|
3222
|
-
dots10: {
|
|
3223
|
-
interval: 80,
|
|
3224
|
-
frames: [
|
|
3225
|
-
"\u2884",
|
|
3226
|
-
"\u2882",
|
|
3227
|
-
"\u2881",
|
|
3228
|
-
"\u2841",
|
|
3229
|
-
"\u2848",
|
|
3230
|
-
"\u2850",
|
|
3231
|
-
"\u2860"
|
|
3232
|
-
]
|
|
3233
|
-
},
|
|
3234
|
-
dots11: {
|
|
3235
|
-
interval: 100,
|
|
3236
|
-
frames: [
|
|
3237
|
-
"\u2801",
|
|
3238
|
-
"\u2802",
|
|
3239
|
-
"\u2804",
|
|
3240
|
-
"\u2840",
|
|
3241
|
-
"\u2880",
|
|
3242
|
-
"\u2820",
|
|
3243
|
-
"\u2810",
|
|
3244
|
-
"\u2808"
|
|
3245
|
-
]
|
|
3246
|
-
},
|
|
3247
|
-
dots12: {
|
|
3248
|
-
interval: 80,
|
|
3249
|
-
frames: [
|
|
3250
|
-
"\u2880\u2800",
|
|
3251
|
-
"\u2840\u2800",
|
|
3252
|
-
"\u2804\u2800",
|
|
3253
|
-
"\u2882\u2800",
|
|
3254
|
-
"\u2842\u2800",
|
|
3255
|
-
"\u2805\u2800",
|
|
3256
|
-
"\u2883\u2800",
|
|
3257
|
-
"\u2843\u2800",
|
|
3258
|
-
"\u280D\u2800",
|
|
3259
|
-
"\u288B\u2800",
|
|
3260
|
-
"\u284B\u2800",
|
|
3261
|
-
"\u280D\u2801",
|
|
3262
|
-
"\u288B\u2801",
|
|
3263
|
-
"\u284B\u2801",
|
|
3264
|
-
"\u280D\u2809",
|
|
3265
|
-
"\u280B\u2809",
|
|
3266
|
-
"\u280B\u2809",
|
|
3267
|
-
"\u2809\u2819",
|
|
3268
|
-
"\u2809\u2819",
|
|
3269
|
-
"\u2809\u2829",
|
|
3270
|
-
"\u2808\u2899",
|
|
3271
|
-
"\u2808\u2859",
|
|
3272
|
-
"\u2888\u2829",
|
|
3273
|
-
"\u2840\u2899",
|
|
3274
|
-
"\u2804\u2859",
|
|
3275
|
-
"\u2882\u2829",
|
|
3276
|
-
"\u2842\u2898",
|
|
3277
|
-
"\u2805\u2858",
|
|
3278
|
-
"\u2883\u2828",
|
|
3279
|
-
"\u2843\u2890",
|
|
3280
|
-
"\u280D\u2850",
|
|
3281
|
-
"\u288B\u2820",
|
|
3282
|
-
"\u284B\u2880",
|
|
3283
|
-
"\u280D\u2841",
|
|
3284
|
-
"\u288B\u2801",
|
|
3285
|
-
"\u284B\u2801",
|
|
3286
|
-
"\u280D\u2809",
|
|
3287
|
-
"\u280B\u2809",
|
|
3288
|
-
"\u280B\u2809",
|
|
3289
|
-
"\u2809\u2819",
|
|
3290
|
-
"\u2809\u2819",
|
|
3291
|
-
"\u2809\u2829",
|
|
3292
|
-
"\u2808\u2899",
|
|
3293
|
-
"\u2808\u2859",
|
|
3294
|
-
"\u2808\u2829",
|
|
3295
|
-
"\u2800\u2899",
|
|
3296
|
-
"\u2800\u2859",
|
|
3297
|
-
"\u2800\u2829",
|
|
3298
|
-
"\u2800\u2898",
|
|
3299
|
-
"\u2800\u2858",
|
|
3300
|
-
"\u2800\u2828",
|
|
3301
|
-
"\u2800\u2890",
|
|
3302
|
-
"\u2800\u2850",
|
|
3303
|
-
"\u2800\u2820",
|
|
3304
|
-
"\u2800\u2880",
|
|
3305
|
-
"\u2800\u2840"
|
|
3306
|
-
]
|
|
3307
|
-
},
|
|
3308
|
-
dots13: {
|
|
3309
|
-
interval: 80,
|
|
3310
|
-
frames: [
|
|
3311
|
-
"\u28FC",
|
|
3312
|
-
"\u28F9",
|
|
3313
|
-
"\u28BB",
|
|
3314
|
-
"\u283F",
|
|
3315
|
-
"\u285F",
|
|
3316
|
-
"\u28CF",
|
|
3317
|
-
"\u28E7",
|
|
3318
|
-
"\u28F6"
|
|
3319
|
-
]
|
|
3320
|
-
},
|
|
3321
|
-
dots8Bit: {
|
|
3322
|
-
interval: 80,
|
|
3323
|
-
frames: [
|
|
3324
|
-
"\u2800",
|
|
3325
|
-
"\u2801",
|
|
3326
|
-
"\u2802",
|
|
3327
|
-
"\u2803",
|
|
3328
|
-
"\u2804",
|
|
3329
|
-
"\u2805",
|
|
3330
|
-
"\u2806",
|
|
3331
|
-
"\u2807",
|
|
3332
|
-
"\u2840",
|
|
3333
|
-
"\u2841",
|
|
3334
|
-
"\u2842",
|
|
3335
|
-
"\u2843",
|
|
3336
|
-
"\u2844",
|
|
3337
|
-
"\u2845",
|
|
3338
|
-
"\u2846",
|
|
3339
|
-
"\u2847",
|
|
3340
|
-
"\u2808",
|
|
3341
|
-
"\u2809",
|
|
3342
|
-
"\u280A",
|
|
3343
|
-
"\u280B",
|
|
3344
|
-
"\u280C",
|
|
3345
|
-
"\u280D",
|
|
3346
|
-
"\u280E",
|
|
3347
|
-
"\u280F",
|
|
3348
|
-
"\u2848",
|
|
3349
|
-
"\u2849",
|
|
3350
|
-
"\u284A",
|
|
3351
|
-
"\u284B",
|
|
3352
|
-
"\u284C",
|
|
3353
|
-
"\u284D",
|
|
3354
|
-
"\u284E",
|
|
3355
|
-
"\u284F",
|
|
3356
|
-
"\u2810",
|
|
3357
|
-
"\u2811",
|
|
3358
|
-
"\u2812",
|
|
3359
|
-
"\u2813",
|
|
3360
|
-
"\u2814",
|
|
3361
|
-
"\u2815",
|
|
3362
|
-
"\u2816",
|
|
3363
|
-
"\u2817",
|
|
3364
|
-
"\u2850",
|
|
3365
|
-
"\u2851",
|
|
3366
|
-
"\u2852",
|
|
3367
|
-
"\u2853",
|
|
3368
|
-
"\u2854",
|
|
3369
|
-
"\u2855",
|
|
3370
|
-
"\u2856",
|
|
3371
|
-
"\u2857",
|
|
3372
|
-
"\u2818",
|
|
3373
|
-
"\u2819",
|
|
3374
|
-
"\u281A",
|
|
3375
|
-
"\u281B",
|
|
3376
|
-
"\u281C",
|
|
3377
|
-
"\u281D",
|
|
3378
|
-
"\u281E",
|
|
3379
|
-
"\u281F",
|
|
3380
|
-
"\u2858",
|
|
3381
|
-
"\u2859",
|
|
3382
|
-
"\u285A",
|
|
3383
|
-
"\u285B",
|
|
3384
|
-
"\u285C",
|
|
3385
|
-
"\u285D",
|
|
3386
|
-
"\u285E",
|
|
3387
|
-
"\u285F",
|
|
3388
|
-
"\u2820",
|
|
3389
|
-
"\u2821",
|
|
3390
|
-
"\u2822",
|
|
3391
|
-
"\u2823",
|
|
3392
|
-
"\u2824",
|
|
3393
|
-
"\u2825",
|
|
3394
|
-
"\u2826",
|
|
3395
|
-
"\u2827",
|
|
3396
|
-
"\u2860",
|
|
3397
|
-
"\u2861",
|
|
3398
|
-
"\u2862",
|
|
3399
|
-
"\u2863",
|
|
3400
|
-
"\u2864",
|
|
3401
|
-
"\u2865",
|
|
3402
|
-
"\u2866",
|
|
3403
|
-
"\u2867",
|
|
3404
|
-
"\u2828",
|
|
3405
|
-
"\u2829",
|
|
3406
|
-
"\u282A",
|
|
3407
|
-
"\u282B",
|
|
3408
|
-
"\u282C",
|
|
3409
|
-
"\u282D",
|
|
3410
|
-
"\u282E",
|
|
3411
|
-
"\u282F",
|
|
3412
|
-
"\u2868",
|
|
3413
|
-
"\u2869",
|
|
3414
|
-
"\u286A",
|
|
3415
|
-
"\u286B",
|
|
3416
|
-
"\u286C",
|
|
3417
|
-
"\u286D",
|
|
3418
|
-
"\u286E",
|
|
3419
|
-
"\u286F",
|
|
3420
|
-
"\u2830",
|
|
3421
|
-
"\u2831",
|
|
3422
|
-
"\u2832",
|
|
3423
|
-
"\u2833",
|
|
3424
|
-
"\u2834",
|
|
3425
|
-
"\u2835",
|
|
3426
|
-
"\u2836",
|
|
3427
|
-
"\u2837",
|
|
3428
|
-
"\u2870",
|
|
3429
|
-
"\u2871",
|
|
3430
|
-
"\u2872",
|
|
3431
|
-
"\u2873",
|
|
3432
|
-
"\u2874",
|
|
3433
|
-
"\u2875",
|
|
3434
|
-
"\u2876",
|
|
3435
|
-
"\u2877",
|
|
3436
|
-
"\u2838",
|
|
3437
|
-
"\u2839",
|
|
3438
|
-
"\u283A",
|
|
3439
|
-
"\u283B",
|
|
3440
|
-
"\u283C",
|
|
3441
|
-
"\u283D",
|
|
3442
|
-
"\u283E",
|
|
3443
|
-
"\u283F",
|
|
3444
|
-
"\u2878",
|
|
3445
|
-
"\u2879",
|
|
3446
|
-
"\u287A",
|
|
3447
|
-
"\u287B",
|
|
3448
|
-
"\u287C",
|
|
3449
|
-
"\u287D",
|
|
3450
|
-
"\u287E",
|
|
3451
|
-
"\u287F",
|
|
3452
|
-
"\u2880",
|
|
3453
|
-
"\u2881",
|
|
3454
|
-
"\u2882",
|
|
3455
|
-
"\u2883",
|
|
3456
|
-
"\u2884",
|
|
3457
|
-
"\u2885",
|
|
3458
|
-
"\u2886",
|
|
3459
|
-
"\u2887",
|
|
3460
|
-
"\u28C0",
|
|
3461
|
-
"\u28C1",
|
|
3462
|
-
"\u28C2",
|
|
3463
|
-
"\u28C3",
|
|
3464
|
-
"\u28C4",
|
|
3465
|
-
"\u28C5",
|
|
3466
|
-
"\u28C6",
|
|
3467
|
-
"\u28C7",
|
|
3468
|
-
"\u2888",
|
|
3469
|
-
"\u2889",
|
|
3470
|
-
"\u288A",
|
|
3471
|
-
"\u288B",
|
|
3472
|
-
"\u288C",
|
|
3473
|
-
"\u288D",
|
|
3474
|
-
"\u288E",
|
|
3475
|
-
"\u288F",
|
|
3476
|
-
"\u28C8",
|
|
3477
|
-
"\u28C9",
|
|
3478
|
-
"\u28CA",
|
|
3479
|
-
"\u28CB",
|
|
3480
|
-
"\u28CC",
|
|
3481
|
-
"\u28CD",
|
|
3482
|
-
"\u28CE",
|
|
3483
|
-
"\u28CF",
|
|
3484
|
-
"\u2890",
|
|
3485
|
-
"\u2891",
|
|
3486
|
-
"\u2892",
|
|
3487
|
-
"\u2893",
|
|
3488
|
-
"\u2894",
|
|
3489
|
-
"\u2895",
|
|
3490
|
-
"\u2896",
|
|
3491
|
-
"\u2897",
|
|
3492
|
-
"\u28D0",
|
|
3493
|
-
"\u28D1",
|
|
3494
|
-
"\u28D2",
|
|
3495
|
-
"\u28D3",
|
|
3496
|
-
"\u28D4",
|
|
3497
|
-
"\u28D5",
|
|
3498
|
-
"\u28D6",
|
|
3499
|
-
"\u28D7",
|
|
3500
|
-
"\u2898",
|
|
3501
|
-
"\u2899",
|
|
3502
|
-
"\u289A",
|
|
3503
|
-
"\u289B",
|
|
3504
|
-
"\u289C",
|
|
3505
|
-
"\u289D",
|
|
3506
|
-
"\u289E",
|
|
3507
|
-
"\u289F",
|
|
3508
|
-
"\u28D8",
|
|
3509
|
-
"\u28D9",
|
|
3510
|
-
"\u28DA",
|
|
3511
|
-
"\u28DB",
|
|
3512
|
-
"\u28DC",
|
|
3513
|
-
"\u28DD",
|
|
3514
|
-
"\u28DE",
|
|
3515
|
-
"\u28DF",
|
|
3516
|
-
"\u28A0",
|
|
3517
|
-
"\u28A1",
|
|
3518
|
-
"\u28A2",
|
|
3519
|
-
"\u28A3",
|
|
3520
|
-
"\u28A4",
|
|
3521
|
-
"\u28A5",
|
|
3522
|
-
"\u28A6",
|
|
3523
|
-
"\u28A7",
|
|
3524
|
-
"\u28E0",
|
|
3525
|
-
"\u28E1",
|
|
3526
|
-
"\u28E2",
|
|
3527
|
-
"\u28E3",
|
|
3528
|
-
"\u28E4",
|
|
3529
|
-
"\u28E5",
|
|
3530
|
-
"\u28E6",
|
|
3531
|
-
"\u28E7",
|
|
3532
|
-
"\u28A8",
|
|
3533
|
-
"\u28A9",
|
|
3534
|
-
"\u28AA",
|
|
3535
|
-
"\u28AB",
|
|
3536
|
-
"\u28AC",
|
|
3537
|
-
"\u28AD",
|
|
3538
|
-
"\u28AE",
|
|
3539
|
-
"\u28AF",
|
|
3540
|
-
"\u28E8",
|
|
3541
|
-
"\u28E9",
|
|
3542
|
-
"\u28EA",
|
|
3543
|
-
"\u28EB",
|
|
3544
|
-
"\u28EC",
|
|
3545
|
-
"\u28ED",
|
|
3546
|
-
"\u28EE",
|
|
3547
|
-
"\u28EF",
|
|
3548
|
-
"\u28B0",
|
|
3549
|
-
"\u28B1",
|
|
3550
|
-
"\u28B2",
|
|
3551
|
-
"\u28B3",
|
|
3552
|
-
"\u28B4",
|
|
3553
|
-
"\u28B5",
|
|
3554
|
-
"\u28B6",
|
|
3555
|
-
"\u28B7",
|
|
3556
|
-
"\u28F0",
|
|
3557
|
-
"\u28F1",
|
|
3558
|
-
"\u28F2",
|
|
3559
|
-
"\u28F3",
|
|
3560
|
-
"\u28F4",
|
|
3561
|
-
"\u28F5",
|
|
3562
|
-
"\u28F6",
|
|
3563
|
-
"\u28F7",
|
|
3564
|
-
"\u28B8",
|
|
3565
|
-
"\u28B9",
|
|
3566
|
-
"\u28BA",
|
|
3567
|
-
"\u28BB",
|
|
3568
|
-
"\u28BC",
|
|
3569
|
-
"\u28BD",
|
|
3570
|
-
"\u28BE",
|
|
3571
|
-
"\u28BF",
|
|
3572
|
-
"\u28F8",
|
|
3573
|
-
"\u28F9",
|
|
3574
|
-
"\u28FA",
|
|
3575
|
-
"\u28FB",
|
|
3576
|
-
"\u28FC",
|
|
3577
|
-
"\u28FD",
|
|
3578
|
-
"\u28FE",
|
|
3579
|
-
"\u28FF"
|
|
3580
|
-
]
|
|
3581
|
-
},
|
|
3582
|
-
sand: {
|
|
3583
|
-
interval: 80,
|
|
3584
|
-
frames: [
|
|
3585
|
-
"\u2801",
|
|
3586
|
-
"\u2802",
|
|
3587
|
-
"\u2804",
|
|
3588
|
-
"\u2840",
|
|
3589
|
-
"\u2848",
|
|
3590
|
-
"\u2850",
|
|
3591
|
-
"\u2860",
|
|
3592
|
-
"\u28C0",
|
|
3593
|
-
"\u28C1",
|
|
3594
|
-
"\u28C2",
|
|
3595
|
-
"\u28C4",
|
|
3596
|
-
"\u28CC",
|
|
3597
|
-
"\u28D4",
|
|
3598
|
-
"\u28E4",
|
|
3599
|
-
"\u28E5",
|
|
3600
|
-
"\u28E6",
|
|
3601
|
-
"\u28EE",
|
|
3602
|
-
"\u28F6",
|
|
3603
|
-
"\u28F7",
|
|
3604
|
-
"\u28FF",
|
|
3605
|
-
"\u287F",
|
|
3606
|
-
"\u283F",
|
|
3607
|
-
"\u289F",
|
|
3608
|
-
"\u281F",
|
|
3609
|
-
"\u285B",
|
|
3610
|
-
"\u281B",
|
|
3611
|
-
"\u282B",
|
|
3612
|
-
"\u288B",
|
|
3613
|
-
"\u280B",
|
|
3614
|
-
"\u280D",
|
|
3615
|
-
"\u2849",
|
|
3616
|
-
"\u2809",
|
|
3617
|
-
"\u2811",
|
|
3618
|
-
"\u2821",
|
|
3619
|
-
"\u2881"
|
|
3620
|
-
]
|
|
3621
|
-
},
|
|
3622
|
-
line: {
|
|
3623
|
-
interval: 130,
|
|
3624
|
-
frames: [
|
|
3625
|
-
"-",
|
|
3626
|
-
"\\",
|
|
3627
|
-
"|",
|
|
3628
|
-
"/"
|
|
3629
|
-
]
|
|
3630
|
-
},
|
|
3631
|
-
line2: {
|
|
3632
|
-
interval: 100,
|
|
3633
|
-
frames: [
|
|
3634
|
-
"\u2802",
|
|
3635
|
-
"-",
|
|
3636
|
-
"\u2013",
|
|
3637
|
-
"\u2014",
|
|
3638
|
-
"\u2013",
|
|
3639
|
-
"-"
|
|
3640
|
-
]
|
|
3641
|
-
},
|
|
3642
|
-
pipe: {
|
|
3643
|
-
interval: 100,
|
|
3644
|
-
frames: [
|
|
3645
|
-
"\u2524",
|
|
3646
|
-
"\u2518",
|
|
3647
|
-
"\u2534",
|
|
3648
|
-
"\u2514",
|
|
3649
|
-
"\u251C",
|
|
3650
|
-
"\u250C",
|
|
3651
|
-
"\u252C",
|
|
3652
|
-
"\u2510"
|
|
3653
|
-
]
|
|
3654
|
-
},
|
|
3655
|
-
simpleDots: {
|
|
3656
|
-
interval: 400,
|
|
3657
|
-
frames: [
|
|
3658
|
-
". ",
|
|
3659
|
-
".. ",
|
|
3660
|
-
"...",
|
|
3661
|
-
" "
|
|
3662
|
-
]
|
|
3663
|
-
},
|
|
3664
|
-
simpleDotsScrolling: {
|
|
3665
|
-
interval: 200,
|
|
3666
|
-
frames: [
|
|
3667
|
-
". ",
|
|
3668
|
-
".. ",
|
|
3669
|
-
"...",
|
|
3670
|
-
" ..",
|
|
3671
|
-
" .",
|
|
3672
|
-
" "
|
|
3673
|
-
]
|
|
3674
|
-
},
|
|
3675
|
-
star: {
|
|
3676
|
-
interval: 70,
|
|
3677
|
-
frames: [
|
|
3678
|
-
"\u2736",
|
|
3679
|
-
"\u2738",
|
|
3680
|
-
"\u2739",
|
|
3681
|
-
"\u273A",
|
|
3682
|
-
"\u2739",
|
|
3683
|
-
"\u2737"
|
|
3684
|
-
]
|
|
3685
|
-
},
|
|
3686
|
-
star2: {
|
|
3687
|
-
interval: 80,
|
|
3688
|
-
frames: [
|
|
3689
|
-
"+",
|
|
3690
|
-
"x",
|
|
3691
|
-
"*"
|
|
3692
|
-
]
|
|
3693
|
-
},
|
|
3694
|
-
flip: {
|
|
3695
|
-
interval: 70,
|
|
3696
|
-
frames: [
|
|
3697
|
-
"_",
|
|
3698
|
-
"_",
|
|
3699
|
-
"_",
|
|
3700
|
-
"-",
|
|
3701
|
-
"`",
|
|
3702
|
-
"`",
|
|
3703
|
-
"'",
|
|
3704
|
-
"\xB4",
|
|
3705
|
-
"-",
|
|
3706
|
-
"_",
|
|
3707
|
-
"_",
|
|
3708
|
-
"_"
|
|
3709
|
-
]
|
|
3710
|
-
},
|
|
3711
|
-
hamburger: {
|
|
3712
|
-
interval: 100,
|
|
3713
|
-
frames: [
|
|
3714
|
-
"\u2631",
|
|
3715
|
-
"\u2632",
|
|
3716
|
-
"\u2634"
|
|
3717
|
-
]
|
|
3718
|
-
},
|
|
3719
|
-
growVertical: {
|
|
3720
|
-
interval: 120,
|
|
3721
|
-
frames: [
|
|
3722
|
-
"\u2581",
|
|
3723
|
-
"\u2583",
|
|
3724
|
-
"\u2584",
|
|
3725
|
-
"\u2585",
|
|
3726
|
-
"\u2586",
|
|
3727
|
-
"\u2587",
|
|
3728
|
-
"\u2586",
|
|
3729
|
-
"\u2585",
|
|
3730
|
-
"\u2584",
|
|
3731
|
-
"\u2583"
|
|
3732
|
-
]
|
|
3733
|
-
},
|
|
3734
|
-
growHorizontal: {
|
|
3735
|
-
interval: 120,
|
|
3736
|
-
frames: [
|
|
3737
|
-
"\u258F",
|
|
3738
|
-
"\u258E",
|
|
3739
|
-
"\u258D",
|
|
3740
|
-
"\u258C",
|
|
3741
|
-
"\u258B",
|
|
3742
|
-
"\u258A",
|
|
3743
|
-
"\u2589",
|
|
3744
|
-
"\u258A",
|
|
3745
|
-
"\u258B",
|
|
3746
|
-
"\u258C",
|
|
3747
|
-
"\u258D",
|
|
3748
|
-
"\u258E"
|
|
3749
|
-
]
|
|
3750
|
-
},
|
|
3751
|
-
balloon: {
|
|
3752
|
-
interval: 140,
|
|
3753
|
-
frames: [
|
|
3754
|
-
" ",
|
|
3755
|
-
".",
|
|
3756
|
-
"o",
|
|
3757
|
-
"O",
|
|
3758
|
-
"@",
|
|
3759
|
-
"*",
|
|
3760
|
-
" "
|
|
3761
|
-
]
|
|
3762
|
-
},
|
|
3763
|
-
balloon2: {
|
|
3764
|
-
interval: 120,
|
|
3765
|
-
frames: [
|
|
3766
|
-
".",
|
|
3767
|
-
"o",
|
|
3768
|
-
"O",
|
|
3769
|
-
"\xB0",
|
|
3770
|
-
"O",
|
|
3771
|
-
"o",
|
|
3772
|
-
"."
|
|
3773
|
-
]
|
|
3774
|
-
},
|
|
3775
|
-
noise: {
|
|
3776
|
-
interval: 100,
|
|
3777
|
-
frames: [
|
|
3778
|
-
"\u2593",
|
|
3779
|
-
"\u2592",
|
|
3780
|
-
"\u2591"
|
|
3781
|
-
]
|
|
3782
|
-
},
|
|
3783
|
-
bounce: {
|
|
3784
|
-
interval: 120,
|
|
3785
|
-
frames: [
|
|
3786
|
-
"\u2801",
|
|
3787
|
-
"\u2802",
|
|
3788
|
-
"\u2804",
|
|
3789
|
-
"\u2802"
|
|
3790
|
-
]
|
|
3791
|
-
},
|
|
3792
|
-
boxBounce: {
|
|
3793
|
-
interval: 120,
|
|
3794
|
-
frames: [
|
|
3795
|
-
"\u2596",
|
|
3796
|
-
"\u2598",
|
|
3797
|
-
"\u259D",
|
|
3798
|
-
"\u2597"
|
|
3799
|
-
]
|
|
3800
|
-
},
|
|
3801
|
-
boxBounce2: {
|
|
3802
|
-
interval: 100,
|
|
3803
|
-
frames: [
|
|
3804
|
-
"\u258C",
|
|
3805
|
-
"\u2580",
|
|
3806
|
-
"\u2590",
|
|
3807
|
-
"\u2584"
|
|
3808
|
-
]
|
|
3809
|
-
},
|
|
3810
|
-
triangle: {
|
|
3811
|
-
interval: 50,
|
|
3812
|
-
frames: [
|
|
3813
|
-
"\u25E2",
|
|
3814
|
-
"\u25E3",
|
|
3815
|
-
"\u25E4",
|
|
3816
|
-
"\u25E5"
|
|
3817
|
-
]
|
|
3818
|
-
},
|
|
3819
|
-
binary: {
|
|
3820
|
-
interval: 80,
|
|
3821
|
-
frames: [
|
|
3822
|
-
"010010",
|
|
3823
|
-
"001100",
|
|
3824
|
-
"100101",
|
|
3825
|
-
"111010",
|
|
3826
|
-
"111101",
|
|
3827
|
-
"010111",
|
|
3828
|
-
"101011",
|
|
3829
|
-
"111000",
|
|
3830
|
-
"110011",
|
|
3831
|
-
"110101"
|
|
3832
|
-
]
|
|
3833
|
-
},
|
|
3834
|
-
arc: {
|
|
3835
|
-
interval: 100,
|
|
3836
|
-
frames: [
|
|
3837
|
-
"\u25DC",
|
|
3838
|
-
"\u25E0",
|
|
3839
|
-
"\u25DD",
|
|
3840
|
-
"\u25DE",
|
|
3841
|
-
"\u25E1",
|
|
3842
|
-
"\u25DF"
|
|
3843
|
-
]
|
|
3844
|
-
},
|
|
3845
|
-
circle: {
|
|
3846
|
-
interval: 120,
|
|
3847
|
-
frames: [
|
|
3848
|
-
"\u25E1",
|
|
3849
|
-
"\u2299",
|
|
3850
|
-
"\u25E0"
|
|
3851
|
-
]
|
|
3852
|
-
},
|
|
3853
|
-
squareCorners: {
|
|
3854
|
-
interval: 180,
|
|
3855
|
-
frames: [
|
|
3856
|
-
"\u25F0",
|
|
3857
|
-
"\u25F3",
|
|
3858
|
-
"\u25F2",
|
|
3859
|
-
"\u25F1"
|
|
3860
|
-
]
|
|
3861
|
-
},
|
|
3862
|
-
circleQuarters: {
|
|
3863
|
-
interval: 120,
|
|
3864
|
-
frames: [
|
|
3865
|
-
"\u25F4",
|
|
3866
|
-
"\u25F7",
|
|
3867
|
-
"\u25F6",
|
|
3868
|
-
"\u25F5"
|
|
3869
|
-
]
|
|
3870
|
-
},
|
|
3871
|
-
circleHalves: {
|
|
3872
|
-
interval: 50,
|
|
3873
|
-
frames: [
|
|
3874
|
-
"\u25D0",
|
|
3875
|
-
"\u25D3",
|
|
3876
|
-
"\u25D1",
|
|
3877
|
-
"\u25D2"
|
|
3878
|
-
]
|
|
3879
|
-
},
|
|
3880
|
-
squish: {
|
|
3881
|
-
interval: 100,
|
|
3882
|
-
frames: [
|
|
3883
|
-
"\u256B",
|
|
3884
|
-
"\u256A"
|
|
3885
|
-
]
|
|
3886
|
-
},
|
|
3887
|
-
toggle: {
|
|
3888
|
-
interval: 250,
|
|
3889
|
-
frames: [
|
|
3890
|
-
"\u22B6",
|
|
3891
|
-
"\u22B7"
|
|
3892
|
-
]
|
|
3893
|
-
},
|
|
3894
|
-
toggle2: {
|
|
3895
|
-
interval: 80,
|
|
3896
|
-
frames: [
|
|
3897
|
-
"\u25AB",
|
|
3898
|
-
"\u25AA"
|
|
3899
|
-
]
|
|
3900
|
-
},
|
|
3901
|
-
toggle3: {
|
|
3902
|
-
interval: 120,
|
|
3903
|
-
frames: [
|
|
3904
|
-
"\u25A1",
|
|
3905
|
-
"\u25A0"
|
|
3906
|
-
]
|
|
3907
|
-
},
|
|
3908
|
-
toggle4: {
|
|
3909
|
-
interval: 100,
|
|
3910
|
-
frames: [
|
|
3911
|
-
"\u25A0",
|
|
3912
|
-
"\u25A1",
|
|
3913
|
-
"\u25AA",
|
|
3914
|
-
"\u25AB"
|
|
3915
|
-
]
|
|
3916
|
-
},
|
|
3917
|
-
toggle5: {
|
|
3918
|
-
interval: 100,
|
|
3919
|
-
frames: [
|
|
3920
|
-
"\u25AE",
|
|
3921
|
-
"\u25AF"
|
|
3922
|
-
]
|
|
3923
|
-
},
|
|
3924
|
-
toggle6: {
|
|
3925
|
-
interval: 300,
|
|
3926
|
-
frames: [
|
|
3927
|
-
"\u101D",
|
|
3928
|
-
"\u1040"
|
|
3929
|
-
]
|
|
3930
|
-
},
|
|
3931
|
-
toggle7: {
|
|
3932
|
-
interval: 80,
|
|
3933
|
-
frames: [
|
|
3934
|
-
"\u29BE",
|
|
3935
|
-
"\u29BF"
|
|
3936
|
-
]
|
|
3937
|
-
},
|
|
3938
|
-
toggle8: {
|
|
3939
|
-
interval: 100,
|
|
3940
|
-
frames: [
|
|
3941
|
-
"\u25CD",
|
|
3942
|
-
"\u25CC"
|
|
3943
|
-
]
|
|
3944
|
-
},
|
|
3945
|
-
toggle9: {
|
|
3946
|
-
interval: 100,
|
|
3947
|
-
frames: [
|
|
3948
|
-
"\u25C9",
|
|
3949
|
-
"\u25CE"
|
|
3950
|
-
]
|
|
3951
|
-
},
|
|
3952
|
-
toggle10: {
|
|
3953
|
-
interval: 100,
|
|
3954
|
-
frames: [
|
|
3955
|
-
"\u3282",
|
|
3956
|
-
"\u3280",
|
|
3957
|
-
"\u3281"
|
|
3958
|
-
]
|
|
3959
|
-
},
|
|
3960
|
-
toggle11: {
|
|
3961
|
-
interval: 50,
|
|
3962
|
-
frames: [
|
|
3963
|
-
"\u29C7",
|
|
3964
|
-
"\u29C6"
|
|
3965
|
-
]
|
|
3966
|
-
},
|
|
3967
|
-
toggle12: {
|
|
3968
|
-
interval: 120,
|
|
3969
|
-
frames: [
|
|
3970
|
-
"\u2617",
|
|
3971
|
-
"\u2616"
|
|
3972
|
-
]
|
|
3973
|
-
},
|
|
3974
|
-
toggle13: {
|
|
3975
|
-
interval: 80,
|
|
3976
|
-
frames: [
|
|
3977
|
-
"=",
|
|
3978
|
-
"*",
|
|
3979
|
-
"-"
|
|
3980
|
-
]
|
|
3981
|
-
},
|
|
3982
|
-
arrow: {
|
|
3983
|
-
interval: 100,
|
|
3984
|
-
frames: [
|
|
3985
|
-
"\u2190",
|
|
3986
|
-
"\u2196",
|
|
3987
|
-
"\u2191",
|
|
3988
|
-
"\u2197",
|
|
3989
|
-
"\u2192",
|
|
3990
|
-
"\u2198",
|
|
3991
|
-
"\u2193",
|
|
3992
|
-
"\u2199"
|
|
3993
|
-
]
|
|
3994
|
-
},
|
|
3995
|
-
arrow2: {
|
|
3996
|
-
interval: 80,
|
|
3997
|
-
frames: [
|
|
3998
|
-
"\u2B06\uFE0F ",
|
|
3999
|
-
"\u2197\uFE0F ",
|
|
4000
|
-
"\u27A1\uFE0F ",
|
|
4001
|
-
"\u2198\uFE0F ",
|
|
4002
|
-
"\u2B07\uFE0F ",
|
|
4003
|
-
"\u2199\uFE0F ",
|
|
4004
|
-
"\u2B05\uFE0F ",
|
|
4005
|
-
"\u2196\uFE0F "
|
|
4006
|
-
]
|
|
4007
|
-
},
|
|
4008
|
-
arrow3: {
|
|
4009
|
-
interval: 120,
|
|
4010
|
-
frames: [
|
|
4011
|
-
"\u25B9\u25B9\u25B9\u25B9\u25B9",
|
|
4012
|
-
"\u25B8\u25B9\u25B9\u25B9\u25B9",
|
|
4013
|
-
"\u25B9\u25B8\u25B9\u25B9\u25B9",
|
|
4014
|
-
"\u25B9\u25B9\u25B8\u25B9\u25B9",
|
|
4015
|
-
"\u25B9\u25B9\u25B9\u25B8\u25B9",
|
|
4016
|
-
"\u25B9\u25B9\u25B9\u25B9\u25B8"
|
|
4017
|
-
]
|
|
4018
|
-
},
|
|
4019
|
-
bouncingBar: {
|
|
4020
|
-
interval: 80,
|
|
4021
|
-
frames: [
|
|
4022
|
-
"[ ]",
|
|
4023
|
-
"[= ]",
|
|
4024
|
-
"[== ]",
|
|
4025
|
-
"[=== ]",
|
|
4026
|
-
"[====]",
|
|
4027
|
-
"[ ===]",
|
|
4028
|
-
"[ ==]",
|
|
4029
|
-
"[ =]",
|
|
4030
|
-
"[ ]",
|
|
4031
|
-
"[ =]",
|
|
4032
|
-
"[ ==]",
|
|
4033
|
-
"[ ===]",
|
|
4034
|
-
"[====]",
|
|
4035
|
-
"[=== ]",
|
|
4036
|
-
"[== ]",
|
|
4037
|
-
"[= ]"
|
|
4038
|
-
]
|
|
4039
|
-
},
|
|
4040
|
-
bouncingBall: {
|
|
4041
|
-
interval: 80,
|
|
4042
|
-
frames: [
|
|
4043
|
-
"( \u25CF )",
|
|
4044
|
-
"( \u25CF )",
|
|
4045
|
-
"( \u25CF )",
|
|
4046
|
-
"( \u25CF )",
|
|
4047
|
-
"( \u25CF)",
|
|
4048
|
-
"( \u25CF )",
|
|
4049
|
-
"( \u25CF )",
|
|
4050
|
-
"( \u25CF )",
|
|
4051
|
-
"( \u25CF )",
|
|
4052
|
-
"(\u25CF )"
|
|
4053
|
-
]
|
|
4054
|
-
},
|
|
4055
|
-
smiley: {
|
|
4056
|
-
interval: 200,
|
|
4057
|
-
frames: [
|
|
4058
|
-
"\u{1F604} ",
|
|
4059
|
-
"\u{1F61D} "
|
|
4060
|
-
]
|
|
4061
|
-
},
|
|
4062
|
-
monkey: {
|
|
4063
|
-
interval: 300,
|
|
4064
|
-
frames: [
|
|
4065
|
-
"\u{1F648} ",
|
|
4066
|
-
"\u{1F648} ",
|
|
4067
|
-
"\u{1F649} ",
|
|
4068
|
-
"\u{1F64A} "
|
|
4069
|
-
]
|
|
4070
|
-
},
|
|
4071
|
-
hearts: {
|
|
4072
|
-
interval: 100,
|
|
4073
|
-
frames: [
|
|
4074
|
-
"\u{1F49B} ",
|
|
4075
|
-
"\u{1F499} ",
|
|
4076
|
-
"\u{1F49C} ",
|
|
4077
|
-
"\u{1F49A} ",
|
|
4078
|
-
"\u2764\uFE0F "
|
|
4079
|
-
]
|
|
4080
|
-
},
|
|
4081
|
-
clock: {
|
|
4082
|
-
interval: 100,
|
|
4083
|
-
frames: [
|
|
4084
|
-
"\u{1F55B} ",
|
|
4085
|
-
"\u{1F550} ",
|
|
4086
|
-
"\u{1F551} ",
|
|
4087
|
-
"\u{1F552} ",
|
|
4088
|
-
"\u{1F553} ",
|
|
4089
|
-
"\u{1F554} ",
|
|
4090
|
-
"\u{1F555} ",
|
|
4091
|
-
"\u{1F556} ",
|
|
4092
|
-
"\u{1F557} ",
|
|
4093
|
-
"\u{1F558} ",
|
|
4094
|
-
"\u{1F559} ",
|
|
4095
|
-
"\u{1F55A} "
|
|
4096
|
-
]
|
|
4097
|
-
},
|
|
4098
|
-
earth: {
|
|
4099
|
-
interval: 180,
|
|
4100
|
-
frames: [
|
|
4101
|
-
"\u{1F30D} ",
|
|
4102
|
-
"\u{1F30E} ",
|
|
4103
|
-
"\u{1F30F} "
|
|
4104
|
-
]
|
|
4105
|
-
},
|
|
4106
|
-
material: {
|
|
4107
|
-
interval: 17,
|
|
4108
|
-
frames: [
|
|
4109
|
-
"\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4110
|
-
"\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4111
|
-
"\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4112
|
-
"\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4113
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4114
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4115
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4116
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4117
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4118
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4119
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4120
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4121
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4122
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4123
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4124
|
-
"\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
|
|
4125
|
-
"\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
|
|
4126
|
-
"\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
|
|
4127
|
-
"\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
|
|
4128
|
-
"\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4129
|
-
"\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4130
|
-
"\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
|
|
4131
|
-
"\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
|
|
4132
|
-
"\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4133
|
-
"\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4134
|
-
"\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4135
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4136
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4137
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4138
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4139
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4140
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4141
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4142
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4143
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4144
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4145
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4146
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4147
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4148
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
|
|
4149
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
|
|
4150
|
-
"\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
|
|
4151
|
-
"\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
|
|
4152
|
-
"\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
|
|
4153
|
-
"\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
|
|
4154
|
-
"\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
|
|
4155
|
-
"\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4156
|
-
"\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4157
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4158
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4159
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4160
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4161
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4162
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4163
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4164
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4165
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4166
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4167
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4168
|
-
"\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
|
|
4169
|
-
"\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
|
|
4170
|
-
"\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
|
|
4171
|
-
"\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4172
|
-
"\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4173
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4174
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4175
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
|
|
4176
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
|
|
4177
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
|
|
4178
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4179
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4180
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4181
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4182
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
|
|
4183
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4184
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
|
|
4185
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
|
|
4186
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
|
|
4187
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
|
|
4188
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
|
|
4189
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
|
|
4190
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
|
|
4191
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
|
|
4192
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
|
|
4193
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
|
|
4194
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4195
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4196
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
|
|
4197
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4198
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4199
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
|
|
4200
|
-
"\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
|
|
4201
|
-
]
|
|
4202
|
-
},
|
|
4203
|
-
moon: {
|
|
4204
|
-
interval: 80,
|
|
4205
|
-
frames: [
|
|
4206
|
-
"\u{1F311} ",
|
|
4207
|
-
"\u{1F312} ",
|
|
4208
|
-
"\u{1F313} ",
|
|
4209
|
-
"\u{1F314} ",
|
|
4210
|
-
"\u{1F315} ",
|
|
4211
|
-
"\u{1F316} ",
|
|
4212
|
-
"\u{1F317} ",
|
|
4213
|
-
"\u{1F318} "
|
|
4214
|
-
]
|
|
4215
|
-
},
|
|
4216
|
-
runner: {
|
|
4217
|
-
interval: 140,
|
|
4218
|
-
frames: [
|
|
4219
|
-
"\u{1F6B6} ",
|
|
4220
|
-
"\u{1F3C3} "
|
|
4221
|
-
]
|
|
4222
|
-
},
|
|
4223
|
-
pong: {
|
|
4224
|
-
interval: 80,
|
|
4225
|
-
frames: [
|
|
4226
|
-
"\u2590\u2802 \u258C",
|
|
4227
|
-
"\u2590\u2808 \u258C",
|
|
4228
|
-
"\u2590 \u2802 \u258C",
|
|
4229
|
-
"\u2590 \u2820 \u258C",
|
|
4230
|
-
"\u2590 \u2840 \u258C",
|
|
4231
|
-
"\u2590 \u2820 \u258C",
|
|
4232
|
-
"\u2590 \u2802 \u258C",
|
|
4233
|
-
"\u2590 \u2808 \u258C",
|
|
4234
|
-
"\u2590 \u2802 \u258C",
|
|
4235
|
-
"\u2590 \u2820 \u258C",
|
|
4236
|
-
"\u2590 \u2840 \u258C",
|
|
4237
|
-
"\u2590 \u2820 \u258C",
|
|
4238
|
-
"\u2590 \u2802 \u258C",
|
|
4239
|
-
"\u2590 \u2808 \u258C",
|
|
4240
|
-
"\u2590 \u2802\u258C",
|
|
4241
|
-
"\u2590 \u2820\u258C",
|
|
4242
|
-
"\u2590 \u2840\u258C",
|
|
4243
|
-
"\u2590 \u2820 \u258C",
|
|
4244
|
-
"\u2590 \u2802 \u258C",
|
|
4245
|
-
"\u2590 \u2808 \u258C",
|
|
4246
|
-
"\u2590 \u2802 \u258C",
|
|
4247
|
-
"\u2590 \u2820 \u258C",
|
|
4248
|
-
"\u2590 \u2840 \u258C",
|
|
4249
|
-
"\u2590 \u2820 \u258C",
|
|
4250
|
-
"\u2590 \u2802 \u258C",
|
|
4251
|
-
"\u2590 \u2808 \u258C",
|
|
4252
|
-
"\u2590 \u2802 \u258C",
|
|
4253
|
-
"\u2590 \u2820 \u258C",
|
|
4254
|
-
"\u2590 \u2840 \u258C",
|
|
4255
|
-
"\u2590\u2820 \u258C"
|
|
4256
|
-
]
|
|
4257
|
-
},
|
|
4258
|
-
shark: {
|
|
4259
|
-
interval: 120,
|
|
4260
|
-
frames: [
|
|
4261
|
-
"\u2590|\\____________\u258C",
|
|
4262
|
-
"\u2590_|\\___________\u258C",
|
|
4263
|
-
"\u2590__|\\__________\u258C",
|
|
4264
|
-
"\u2590___|\\_________\u258C",
|
|
4265
|
-
"\u2590____|\\________\u258C",
|
|
4266
|
-
"\u2590_____|\\_______\u258C",
|
|
4267
|
-
"\u2590______|\\______\u258C",
|
|
4268
|
-
"\u2590_______|\\_____\u258C",
|
|
4269
|
-
"\u2590________|\\____\u258C",
|
|
4270
|
-
"\u2590_________|\\___\u258C",
|
|
4271
|
-
"\u2590__________|\\__\u258C",
|
|
4272
|
-
"\u2590___________|\\_\u258C",
|
|
4273
|
-
"\u2590____________|\\\u258C",
|
|
4274
|
-
"\u2590____________/|\u258C",
|
|
4275
|
-
"\u2590___________/|_\u258C",
|
|
4276
|
-
"\u2590__________/|__\u258C",
|
|
4277
|
-
"\u2590_________/|___\u258C",
|
|
4278
|
-
"\u2590________/|____\u258C",
|
|
4279
|
-
"\u2590_______/|_____\u258C",
|
|
4280
|
-
"\u2590______/|______\u258C",
|
|
4281
|
-
"\u2590_____/|_______\u258C",
|
|
4282
|
-
"\u2590____/|________\u258C",
|
|
4283
|
-
"\u2590___/|_________\u258C",
|
|
4284
|
-
"\u2590__/|__________\u258C",
|
|
4285
|
-
"\u2590_/|___________\u258C",
|
|
4286
|
-
"\u2590/|____________\u258C"
|
|
4287
|
-
]
|
|
4288
|
-
},
|
|
4289
|
-
dqpb: {
|
|
4290
|
-
interval: 100,
|
|
4291
|
-
frames: [
|
|
4292
|
-
"d",
|
|
4293
|
-
"q",
|
|
4294
|
-
"p",
|
|
4295
|
-
"b"
|
|
4296
|
-
]
|
|
4297
|
-
},
|
|
4298
|
-
weather: {
|
|
4299
|
-
interval: 100,
|
|
4300
|
-
frames: [
|
|
4301
|
-
"\u2600\uFE0F ",
|
|
4302
|
-
"\u2600\uFE0F ",
|
|
4303
|
-
"\u2600\uFE0F ",
|
|
4304
|
-
"\u{1F324} ",
|
|
4305
|
-
"\u26C5\uFE0F ",
|
|
4306
|
-
"\u{1F325} ",
|
|
4307
|
-
"\u2601\uFE0F ",
|
|
4308
|
-
"\u{1F327} ",
|
|
4309
|
-
"\u{1F328} ",
|
|
4310
|
-
"\u{1F327} ",
|
|
4311
|
-
"\u{1F328} ",
|
|
4312
|
-
"\u{1F327} ",
|
|
4313
|
-
"\u{1F328} ",
|
|
4314
|
-
"\u26C8 ",
|
|
4315
|
-
"\u{1F328} ",
|
|
4316
|
-
"\u{1F327} ",
|
|
4317
|
-
"\u{1F328} ",
|
|
4318
|
-
"\u2601\uFE0F ",
|
|
4319
|
-
"\u{1F325} ",
|
|
4320
|
-
"\u26C5\uFE0F ",
|
|
4321
|
-
"\u{1F324} ",
|
|
4322
|
-
"\u2600\uFE0F ",
|
|
4323
|
-
"\u2600\uFE0F "
|
|
4324
|
-
]
|
|
4325
|
-
},
|
|
4326
|
-
christmas: {
|
|
4327
|
-
interval: 400,
|
|
4328
|
-
frames: [
|
|
4329
|
-
"\u{1F332}",
|
|
4330
|
-
"\u{1F384}"
|
|
4331
|
-
]
|
|
4332
|
-
},
|
|
4333
|
-
grenade: {
|
|
4334
|
-
interval: 80,
|
|
4335
|
-
frames: [
|
|
4336
|
-
"\u060C ",
|
|
4337
|
-
"\u2032 ",
|
|
4338
|
-
" \xB4 ",
|
|
4339
|
-
" \u203E ",
|
|
4340
|
-
" \u2E0C",
|
|
4341
|
-
" \u2E0A",
|
|
4342
|
-
" |",
|
|
4343
|
-
" \u204E",
|
|
4344
|
-
" \u2055",
|
|
4345
|
-
" \u0DF4 ",
|
|
4346
|
-
" \u2053",
|
|
4347
|
-
" ",
|
|
4348
|
-
" ",
|
|
4349
|
-
" "
|
|
4350
|
-
]
|
|
4351
|
-
},
|
|
4352
|
-
point: {
|
|
4353
|
-
interval: 125,
|
|
4354
|
-
frames: [
|
|
4355
|
-
"\u2219\u2219\u2219",
|
|
4356
|
-
"\u25CF\u2219\u2219",
|
|
4357
|
-
"\u2219\u25CF\u2219",
|
|
4358
|
-
"\u2219\u2219\u25CF",
|
|
4359
|
-
"\u2219\u2219\u2219"
|
|
4360
|
-
]
|
|
4361
|
-
},
|
|
4362
|
-
layer: {
|
|
4363
|
-
interval: 150,
|
|
4364
|
-
frames: [
|
|
4365
|
-
"-",
|
|
4366
|
-
"=",
|
|
4367
|
-
"\u2261"
|
|
4368
|
-
]
|
|
4369
|
-
},
|
|
4370
|
-
betaWave: {
|
|
4371
|
-
interval: 80,
|
|
4372
|
-
frames: [
|
|
4373
|
-
"\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2",
|
|
4374
|
-
"\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2",
|
|
4375
|
-
"\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2",
|
|
4376
|
-
"\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2",
|
|
4377
|
-
"\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2",
|
|
4378
|
-
"\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2",
|
|
4379
|
-
"\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"
|
|
4380
|
-
]
|
|
4381
|
-
},
|
|
4382
|
-
fingerDance: {
|
|
4383
|
-
interval: 160,
|
|
4384
|
-
frames: [
|
|
4385
|
-
"\u{1F918} ",
|
|
4386
|
-
"\u{1F91F} ",
|
|
4387
|
-
"\u{1F596} ",
|
|
4388
|
-
"\u270B ",
|
|
4389
|
-
"\u{1F91A} ",
|
|
4390
|
-
"\u{1F446} "
|
|
4391
|
-
]
|
|
4392
|
-
},
|
|
4393
|
-
fistBump: {
|
|
4394
|
-
interval: 80,
|
|
4395
|
-
frames: [
|
|
4396
|
-
"\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
|
|
4397
|
-
"\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
|
|
4398
|
-
"\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
|
|
4399
|
-
"\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ",
|
|
4400
|
-
"\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ",
|
|
4401
|
-
"\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ",
|
|
4402
|
-
"\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "
|
|
4403
|
-
]
|
|
4404
|
-
},
|
|
4405
|
-
soccerHeader: {
|
|
4406
|
-
interval: 80,
|
|
4407
|
-
frames: [
|
|
4408
|
-
" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ",
|
|
4409
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4410
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4411
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4412
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4413
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4414
|
-
"\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ",
|
|
4415
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4416
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4417
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4418
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
|
|
4419
|
-
"\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "
|
|
4420
|
-
]
|
|
4421
|
-
},
|
|
4422
|
-
mindblown: {
|
|
4423
|
-
interval: 160,
|
|
4424
|
-
frames: [
|
|
4425
|
-
"\u{1F610} ",
|
|
4426
|
-
"\u{1F610} ",
|
|
4427
|
-
"\u{1F62E} ",
|
|
4428
|
-
"\u{1F62E} ",
|
|
4429
|
-
"\u{1F626} ",
|
|
4430
|
-
"\u{1F626} ",
|
|
4431
|
-
"\u{1F627} ",
|
|
4432
|
-
"\u{1F627} ",
|
|
4433
|
-
"\u{1F92F} ",
|
|
4434
|
-
"\u{1F4A5} ",
|
|
4435
|
-
"\u2728 ",
|
|
4436
|
-
"\u3000 ",
|
|
4437
|
-
"\u3000 ",
|
|
4438
|
-
"\u3000 "
|
|
4439
|
-
]
|
|
4440
|
-
},
|
|
4441
|
-
speaker: {
|
|
4442
|
-
interval: 160,
|
|
4443
|
-
frames: [
|
|
4444
|
-
"\u{1F508} ",
|
|
4445
|
-
"\u{1F509} ",
|
|
4446
|
-
"\u{1F50A} ",
|
|
4447
|
-
"\u{1F509} "
|
|
4448
|
-
]
|
|
4449
|
-
},
|
|
4450
|
-
orangePulse: {
|
|
4451
|
-
interval: 100,
|
|
4452
|
-
frames: [
|
|
4453
|
-
"\u{1F538} ",
|
|
4454
|
-
"\u{1F536} ",
|
|
4455
|
-
"\u{1F7E0} ",
|
|
4456
|
-
"\u{1F7E0} ",
|
|
4457
|
-
"\u{1F536} "
|
|
4458
|
-
]
|
|
4459
|
-
},
|
|
4460
|
-
bluePulse: {
|
|
4461
|
-
interval: 100,
|
|
4462
|
-
frames: [
|
|
4463
|
-
"\u{1F539} ",
|
|
4464
|
-
"\u{1F537} ",
|
|
4465
|
-
"\u{1F535} ",
|
|
4466
|
-
"\u{1F535} ",
|
|
4467
|
-
"\u{1F537} "
|
|
4468
|
-
]
|
|
4469
|
-
},
|
|
4470
|
-
orangeBluePulse: {
|
|
4471
|
-
interval: 100,
|
|
4472
|
-
frames: [
|
|
4473
|
-
"\u{1F538} ",
|
|
4474
|
-
"\u{1F536} ",
|
|
4475
|
-
"\u{1F7E0} ",
|
|
4476
|
-
"\u{1F7E0} ",
|
|
4477
|
-
"\u{1F536} ",
|
|
4478
|
-
"\u{1F539} ",
|
|
4479
|
-
"\u{1F537} ",
|
|
4480
|
-
"\u{1F535} ",
|
|
4481
|
-
"\u{1F535} ",
|
|
4482
|
-
"\u{1F537} "
|
|
4483
|
-
]
|
|
4484
|
-
},
|
|
4485
|
-
timeTravel: {
|
|
4486
|
-
interval: 100,
|
|
4487
|
-
frames: [
|
|
4488
|
-
"\u{1F55B} ",
|
|
4489
|
-
"\u{1F55A} ",
|
|
4490
|
-
"\u{1F559} ",
|
|
4491
|
-
"\u{1F558} ",
|
|
4492
|
-
"\u{1F557} ",
|
|
4493
|
-
"\u{1F556} ",
|
|
4494
|
-
"\u{1F555} ",
|
|
4495
|
-
"\u{1F554} ",
|
|
4496
|
-
"\u{1F553} ",
|
|
4497
|
-
"\u{1F552} ",
|
|
4498
|
-
"\u{1F551} ",
|
|
4499
|
-
"\u{1F550} "
|
|
4500
|
-
]
|
|
4501
|
-
},
|
|
4502
|
-
aesthetic: {
|
|
4503
|
-
interval: 80,
|
|
4504
|
-
frames: [
|
|
4505
|
-
"\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1",
|
|
4506
|
-
"\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1",
|
|
4507
|
-
"\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1",
|
|
4508
|
-
"\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1",
|
|
4509
|
-
"\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1",
|
|
4510
|
-
"\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1",
|
|
4511
|
-
"\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0",
|
|
4512
|
-
"\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"
|
|
4513
|
-
]
|
|
4514
|
-
},
|
|
4515
|
-
dwarfFortress: {
|
|
4516
|
-
interval: 80,
|
|
4517
|
-
frames: [
|
|
4518
|
-
" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4519
|
-
"\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4520
|
-
"\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4521
|
-
"\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4522
|
-
"\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4523
|
-
"\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4524
|
-
"\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4525
|
-
"\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4526
|
-
"\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4527
|
-
"\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4528
|
-
" \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4529
|
-
" \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4530
|
-
" \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4531
|
-
" \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4532
|
-
" \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4533
|
-
" \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4534
|
-
" \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4535
|
-
" \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4536
|
-
" \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4537
|
-
" \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4538
|
-
" \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4539
|
-
" \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4540
|
-
" \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4541
|
-
" \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4542
|
-
" \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4543
|
-
" \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4544
|
-
" \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4545
|
-
" \u263A \u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4546
|
-
" \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4547
|
-
" \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4548
|
-
" \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
|
|
4549
|
-
" \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
|
|
4550
|
-
" \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
|
|
4551
|
-
" \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
|
|
4552
|
-
" \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
|
|
4553
|
-
" \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
|
|
4554
|
-
" \u263A \u2588\u2588\xA3\xA3\xA3 ",
|
|
4555
|
-
" \u263A\u2588\u2588\xA3\xA3\xA3 ",
|
|
4556
|
-
" \u263A\u2588\u2588\xA3\xA3\xA3 ",
|
|
4557
|
-
" \u263A\u2593\u2588\xA3\xA3\xA3 ",
|
|
4558
|
-
" \u263A\u2593\u2588\xA3\xA3\xA3 ",
|
|
4559
|
-
" \u263A\u2592\u2588\xA3\xA3\xA3 ",
|
|
4560
|
-
" \u263A\u2592\u2588\xA3\xA3\xA3 ",
|
|
4561
|
-
" \u263A\u2591\u2588\xA3\xA3\xA3 ",
|
|
4562
|
-
" \u263A\u2591\u2588\xA3\xA3\xA3 ",
|
|
4563
|
-
" \u263A \u2588\xA3\xA3\xA3 ",
|
|
4564
|
-
" \u263A\u2588\xA3\xA3\xA3 ",
|
|
4565
|
-
" \u263A\u2588\xA3\xA3\xA3 ",
|
|
4566
|
-
" \u263A\u2593\xA3\xA3\xA3 ",
|
|
4567
|
-
" \u263A\u2593\xA3\xA3\xA3 ",
|
|
4568
|
-
" \u263A\u2592\xA3\xA3\xA3 ",
|
|
4569
|
-
" \u263A\u2592\xA3\xA3\xA3 ",
|
|
4570
|
-
" \u263A\u2591\xA3\xA3\xA3 ",
|
|
4571
|
-
" \u263A\u2591\xA3\xA3\xA3 ",
|
|
4572
|
-
" \u263A \xA3\xA3\xA3 ",
|
|
4573
|
-
" \u263A\xA3\xA3\xA3 ",
|
|
4574
|
-
" \u263A\xA3\xA3\xA3 ",
|
|
4575
|
-
" \u263A\u2593\xA3\xA3 ",
|
|
4576
|
-
" \u263A\u2593\xA3\xA3 ",
|
|
4577
|
-
" \u263A\u2592\xA3\xA3 ",
|
|
4578
|
-
" \u263A\u2592\xA3\xA3 ",
|
|
4579
|
-
" \u263A\u2591\xA3\xA3 ",
|
|
4580
|
-
" \u263A\u2591\xA3\xA3 ",
|
|
4581
|
-
" \u263A \xA3\xA3 ",
|
|
4582
|
-
" \u263A\xA3\xA3 ",
|
|
4583
|
-
" \u263A\xA3\xA3 ",
|
|
4584
|
-
" \u263A\u2593\xA3 ",
|
|
4585
|
-
" \u263A\u2593\xA3 ",
|
|
4586
|
-
" \u263A\u2592\xA3 ",
|
|
4587
|
-
" \u263A\u2592\xA3 ",
|
|
4588
|
-
" \u263A\u2591\xA3 ",
|
|
4589
|
-
" \u263A\u2591\xA3 ",
|
|
4590
|
-
" \u263A \xA3 ",
|
|
4591
|
-
" \u263A\xA3 ",
|
|
4592
|
-
" \u263A\xA3 ",
|
|
4593
|
-
" \u263A\u2593 ",
|
|
4594
|
-
" \u263A\u2593 ",
|
|
4595
|
-
" \u263A\u2592 ",
|
|
4596
|
-
" \u263A\u2592 ",
|
|
4597
|
-
" \u263A\u2591 ",
|
|
4598
|
-
" \u263A\u2591 ",
|
|
4599
|
-
" \u263A ",
|
|
4600
|
-
" \u263A &",
|
|
4601
|
-
" \u263A \u263C&",
|
|
4602
|
-
" \u263A \u263C &",
|
|
4603
|
-
" \u263A\u263C &",
|
|
4604
|
-
" \u263A\u263C & ",
|
|
4605
|
-
" \u203C & ",
|
|
4606
|
-
" \u263A & ",
|
|
4607
|
-
" \u203C & ",
|
|
4608
|
-
" \u263A & ",
|
|
4609
|
-
" \u203C & ",
|
|
4610
|
-
" \u263A & ",
|
|
4611
|
-
"\u203C & ",
|
|
4612
|
-
" & ",
|
|
4613
|
-
" & ",
|
|
4614
|
-
" & \u2591 ",
|
|
4615
|
-
" & \u2592 ",
|
|
4616
|
-
" & \u2593 ",
|
|
4617
|
-
" & \xA3 ",
|
|
4618
|
-
" & \u2591\xA3 ",
|
|
4619
|
-
" & \u2592\xA3 ",
|
|
4620
|
-
" & \u2593\xA3 ",
|
|
4621
|
-
" & \xA3\xA3 ",
|
|
4622
|
-
" & \u2591\xA3\xA3 ",
|
|
4623
|
-
" & \u2592\xA3\xA3 ",
|
|
4624
|
-
"& \u2593\xA3\xA3 ",
|
|
4625
|
-
"& \xA3\xA3\xA3 ",
|
|
4626
|
-
" \u2591\xA3\xA3\xA3 ",
|
|
4627
|
-
" \u2592\xA3\xA3\xA3 ",
|
|
4628
|
-
" \u2593\xA3\xA3\xA3 ",
|
|
4629
|
-
" \u2588\xA3\xA3\xA3 ",
|
|
4630
|
-
" \u2591\u2588\xA3\xA3\xA3 ",
|
|
4631
|
-
" \u2592\u2588\xA3\xA3\xA3 ",
|
|
4632
|
-
" \u2593\u2588\xA3\xA3\xA3 ",
|
|
4633
|
-
" \u2588\u2588\xA3\xA3\xA3 ",
|
|
4634
|
-
" \u2591\u2588\u2588\xA3\xA3\xA3 ",
|
|
4635
|
-
" \u2592\u2588\u2588\xA3\xA3\xA3 ",
|
|
4636
|
-
" \u2593\u2588\u2588\xA3\xA3\xA3 ",
|
|
4637
|
-
" \u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4638
|
-
" \u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4639
|
-
" \u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4640
|
-
" \u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4641
|
-
" \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4642
|
-
" \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4643
|
-
" \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4644
|
-
" \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4645
|
-
" \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4646
|
-
" \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4647
|
-
" \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4648
|
-
" \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4649
|
-
" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
|
|
4650
|
-
" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "
|
|
4651
|
-
]
|
|
4652
|
-
}
|
|
4653
|
-
};
|
|
4654
|
-
}
|
|
4655
|
-
});
|
|
4656
|
-
|
|
4657
|
-
// node_modules/cli-spinners/index.js
|
|
4658
|
-
var require_cli_spinners = __commonJS({
|
|
4659
|
-
"node_modules/cli-spinners/index.js"(exports2, module2) {
|
|
4660
|
-
"use strict";
|
|
4661
|
-
var spinners = Object.assign({}, require_spinners());
|
|
4662
|
-
var spinnersList = Object.keys(spinners);
|
|
4663
|
-
Object.defineProperty(spinners, "random", {
|
|
4664
|
-
get() {
|
|
4665
|
-
const randomIndex = Math.floor(Math.random() * spinnersList.length);
|
|
4666
|
-
const spinnerName = spinnersList[randomIndex];
|
|
4667
|
-
return spinners[spinnerName];
|
|
4668
|
-
}
|
|
4669
|
-
});
|
|
4670
|
-
module2.exports = spinners;
|
|
4671
|
-
}
|
|
4672
|
-
});
|
|
4673
|
-
|
|
4674
3029
|
// node_modules/process-nextick-args/index.js
|
|
4675
3030
|
var require_process_nextick_args = __commonJS({
|
|
4676
3031
|
"node_modules/process-nextick-args/index.js"(exports2, module2) {
|
|
@@ -7190,15 +5545,15 @@ var require_external = __commonJS({
|
|
|
7190
5545
|
var require_setImmediate = __commonJS({
|
|
7191
5546
|
"node_modules/setimmediate/setImmediate.js"(exports2) {
|
|
7192
5547
|
"use strict";
|
|
7193
|
-
(function(
|
|
5548
|
+
(function(global2, undefined2) {
|
|
7194
5549
|
"use strict";
|
|
7195
|
-
if (
|
|
5550
|
+
if (global2.setImmediate) {
|
|
7196
5551
|
return;
|
|
7197
5552
|
}
|
|
7198
5553
|
var nextHandle = 1;
|
|
7199
5554
|
var tasksByHandle = {};
|
|
7200
5555
|
var currentlyRunningATask = false;
|
|
7201
|
-
var doc =
|
|
5556
|
+
var doc = global2.document;
|
|
7202
5557
|
var registerImmediate;
|
|
7203
5558
|
function setImmediate2(callback) {
|
|
7204
5559
|
if (typeof callback !== "function") {
|
|
@@ -7261,31 +5616,31 @@ var require_setImmediate = __commonJS({
|
|
|
7261
5616
|
};
|
|
7262
5617
|
}
|
|
7263
5618
|
function canUsePostMessage() {
|
|
7264
|
-
if (
|
|
5619
|
+
if (global2.postMessage && !global2.importScripts) {
|
|
7265
5620
|
var postMessageIsAsynchronous = true;
|
|
7266
|
-
var oldOnMessage =
|
|
7267
|
-
|
|
5621
|
+
var oldOnMessage = global2.onmessage;
|
|
5622
|
+
global2.onmessage = function() {
|
|
7268
5623
|
postMessageIsAsynchronous = false;
|
|
7269
5624
|
};
|
|
7270
|
-
|
|
7271
|
-
|
|
5625
|
+
global2.postMessage("", "*");
|
|
5626
|
+
global2.onmessage = oldOnMessage;
|
|
7272
5627
|
return postMessageIsAsynchronous;
|
|
7273
5628
|
}
|
|
7274
5629
|
}
|
|
7275
5630
|
function installPostMessageImplementation() {
|
|
7276
5631
|
var messagePrefix = "setImmediate$" + Math.random() + "$";
|
|
7277
5632
|
var onGlobalMessage = function(event) {
|
|
7278
|
-
if (event.source ===
|
|
5633
|
+
if (event.source === global2 && typeof event.data === "string" && event.data.indexOf(messagePrefix) === 0) {
|
|
7279
5634
|
runIfPresent(+event.data.slice(messagePrefix.length));
|
|
7280
5635
|
}
|
|
7281
5636
|
};
|
|
7282
|
-
if (
|
|
7283
|
-
|
|
5637
|
+
if (global2.addEventListener) {
|
|
5638
|
+
global2.addEventListener("message", onGlobalMessage, false);
|
|
7284
5639
|
} else {
|
|
7285
|
-
|
|
5640
|
+
global2.attachEvent("onmessage", onGlobalMessage);
|
|
7286
5641
|
}
|
|
7287
5642
|
registerImmediate = function(handle) {
|
|
7288
|
-
|
|
5643
|
+
global2.postMessage(messagePrefix + handle, "*");
|
|
7289
5644
|
};
|
|
7290
5645
|
}
|
|
7291
5646
|
function installMessageChannelImplementation() {
|
|
@@ -7316,13 +5671,13 @@ var require_setImmediate = __commonJS({
|
|
|
7316
5671
|
setTimeout(runIfPresent, 0, handle);
|
|
7317
5672
|
};
|
|
7318
5673
|
}
|
|
7319
|
-
var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(
|
|
7320
|
-
attachTo = attachTo && attachTo.setTimeout ? attachTo :
|
|
7321
|
-
if ({}.toString.call(
|
|
5674
|
+
var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global2);
|
|
5675
|
+
attachTo = attachTo && attachTo.setTimeout ? attachTo : global2;
|
|
5676
|
+
if ({}.toString.call(global2.process) === "[object process]") {
|
|
7322
5677
|
installNextTickImplementation();
|
|
7323
5678
|
} else if (canUsePostMessage()) {
|
|
7324
5679
|
installPostMessageImplementation();
|
|
7325
|
-
} else if (
|
|
5680
|
+
} else if (global2.MessageChannel) {
|
|
7326
5681
|
installMessageChannelImplementation();
|
|
7327
5682
|
} else if (doc && "onreadystatechange" in doc.createElement("script")) {
|
|
7328
5683
|
installReadyStateChangeImplementation();
|
|
@@ -17779,11 +16134,6 @@ function recordInstall(name, version, workspace) {
|
|
|
17779
16134
|
saveConfig(config);
|
|
17780
16135
|
logger.debug(`Recorded install`, { name, version, workspace });
|
|
17781
16136
|
}
|
|
17782
|
-
function removeInstallRecord(name) {
|
|
17783
|
-
const config = loadConfig();
|
|
17784
|
-
config.installed = config.installed.filter((a) => a.name !== name);
|
|
17785
|
-
saveConfig(config);
|
|
17786
|
-
}
|
|
17787
16137
|
function getWorkspaceDir(clawDir, agentName) {
|
|
17788
16138
|
return import_node_path2.default.join(clawDir, `workspace-${agentName}`);
|
|
17789
16139
|
}
|
|
@@ -18263,928 +16613,72 @@ var infoCommand = new Command("info").description("View detailed information abo
|
|
|
18263
16613
|
}
|
|
18264
16614
|
});
|
|
18265
16615
|
|
|
18266
|
-
//
|
|
18267
|
-
var
|
|
18268
|
-
|
|
18269
|
-
|
|
18270
|
-
|
|
18271
|
-
|
|
18272
|
-
|
|
18273
|
-
|
|
18274
|
-
|
|
18275
|
-
|
|
18276
|
-
|
|
18277
|
-
|
|
18278
|
-
|
|
18279
|
-
|
|
18280
|
-
|
|
18281
|
-
|
|
18282
|
-
|
|
18283
|
-
|
|
18284
|
-
|
|
18285
|
-
|
|
18286
|
-
|
|
18287
|
-
|
|
18288
|
-
|
|
18289
|
-
}
|
|
18290
|
-
|
|
18291
|
-
|
|
18292
|
-
|
|
18293
|
-
|
|
18294
|
-
|
|
18295
|
-
|
|
18296
|
-
return;
|
|
18297
|
-
}
|
|
18298
|
-
Object.setPrototypeOf(to, fromPrototype);
|
|
18299
|
-
};
|
|
18300
|
-
var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
|
|
18301
|
-
${fromBody}`;
|
|
18302
|
-
var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
|
|
18303
|
-
var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
|
|
18304
|
-
var changeToString = (to, from, name) => {
|
|
18305
|
-
const withName = name === "" ? "" : `with ${name.trim()}() `;
|
|
18306
|
-
const newToString = wrappedToString.bind(null, withName, from.toString());
|
|
18307
|
-
Object.defineProperty(newToString, "name", toStringName);
|
|
18308
|
-
const { writable, enumerable, configurable } = toStringDescriptor;
|
|
18309
|
-
Object.defineProperty(to, "toString", { value: newToString, writable, enumerable, configurable });
|
|
18310
|
-
};
|
|
18311
|
-
function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
|
|
18312
|
-
const { name } = to;
|
|
18313
|
-
for (const property of Reflect.ownKeys(from)) {
|
|
18314
|
-
copyProperty(to, from, property, ignoreNonConfigurable);
|
|
18315
|
-
}
|
|
18316
|
-
changePrototype(to, from);
|
|
18317
|
-
changeToString(to, from, name);
|
|
18318
|
-
return to;
|
|
18319
|
-
}
|
|
18320
|
-
|
|
18321
|
-
// node_modules/onetime/index.js
|
|
18322
|
-
var calledFunctions = /* @__PURE__ */ new WeakMap();
|
|
18323
|
-
var onetime = (function_, options = {}) => {
|
|
18324
|
-
if (typeof function_ !== "function") {
|
|
18325
|
-
throw new TypeError("Expected a function");
|
|
18326
|
-
}
|
|
18327
|
-
let returnValue;
|
|
18328
|
-
let callCount = 0;
|
|
18329
|
-
const functionName = function_.displayName || function_.name || "<anonymous>";
|
|
18330
|
-
const onetime2 = function(...arguments_) {
|
|
18331
|
-
calledFunctions.set(onetime2, ++callCount);
|
|
18332
|
-
if (callCount === 1) {
|
|
18333
|
-
returnValue = function_.apply(this, arguments_);
|
|
18334
|
-
function_ = void 0;
|
|
18335
|
-
} else if (options.throw === true) {
|
|
18336
|
-
throw new Error(`Function \`${functionName}\` can only be called once`);
|
|
18337
|
-
}
|
|
18338
|
-
return returnValue;
|
|
18339
|
-
};
|
|
18340
|
-
mimicFunction(onetime2, function_);
|
|
18341
|
-
calledFunctions.set(onetime2, callCount);
|
|
18342
|
-
return onetime2;
|
|
18343
|
-
};
|
|
18344
|
-
onetime.callCount = (function_) => {
|
|
18345
|
-
if (!calledFunctions.has(function_)) {
|
|
18346
|
-
throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
|
|
18347
|
-
}
|
|
18348
|
-
return calledFunctions.get(function_);
|
|
18349
|
-
};
|
|
18350
|
-
var onetime_default = onetime;
|
|
18351
|
-
|
|
18352
|
-
// node_modules/signal-exit/dist/mjs/signals.js
|
|
18353
|
-
var signals = [];
|
|
18354
|
-
signals.push("SIGHUP", "SIGINT", "SIGTERM");
|
|
18355
|
-
if (process.platform !== "win32") {
|
|
18356
|
-
signals.push(
|
|
18357
|
-
"SIGALRM",
|
|
18358
|
-
"SIGABRT",
|
|
18359
|
-
"SIGVTALRM",
|
|
18360
|
-
"SIGXCPU",
|
|
18361
|
-
"SIGXFSZ",
|
|
18362
|
-
"SIGUSR2",
|
|
18363
|
-
"SIGTRAP",
|
|
18364
|
-
"SIGSYS",
|
|
18365
|
-
"SIGQUIT",
|
|
18366
|
-
"SIGIOT"
|
|
18367
|
-
// should detect profiler and enable/disable accordingly.
|
|
18368
|
-
// see #21
|
|
18369
|
-
// 'SIGPROF'
|
|
18370
|
-
);
|
|
18371
|
-
}
|
|
18372
|
-
if (process.platform === "linux") {
|
|
18373
|
-
signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
|
|
18374
|
-
}
|
|
18375
|
-
|
|
18376
|
-
// node_modules/signal-exit/dist/mjs/index.js
|
|
18377
|
-
var processOk = (process10) => !!process10 && typeof process10 === "object" && typeof process10.removeListener === "function" && typeof process10.emit === "function" && typeof process10.reallyExit === "function" && typeof process10.listeners === "function" && typeof process10.kill === "function" && typeof process10.pid === "number" && typeof process10.on === "function";
|
|
18378
|
-
var kExitEmitter = /* @__PURE__ */ Symbol.for("signal-exit emitter");
|
|
18379
|
-
var global2 = globalThis;
|
|
18380
|
-
var ObjectDefineProperty = Object.defineProperty.bind(Object);
|
|
18381
|
-
var Emitter = class {
|
|
18382
|
-
emitted = {
|
|
18383
|
-
afterExit: false,
|
|
18384
|
-
exit: false
|
|
18385
|
-
};
|
|
18386
|
-
listeners = {
|
|
18387
|
-
afterExit: [],
|
|
18388
|
-
exit: []
|
|
18389
|
-
};
|
|
18390
|
-
count = 0;
|
|
18391
|
-
id = Math.random();
|
|
18392
|
-
constructor() {
|
|
18393
|
-
if (global2[kExitEmitter]) {
|
|
18394
|
-
return global2[kExitEmitter];
|
|
18395
|
-
}
|
|
18396
|
-
ObjectDefineProperty(global2, kExitEmitter, {
|
|
18397
|
-
value: this,
|
|
18398
|
-
writable: false,
|
|
18399
|
-
enumerable: false,
|
|
18400
|
-
configurable: false
|
|
18401
|
-
});
|
|
18402
|
-
}
|
|
18403
|
-
on(ev, fn) {
|
|
18404
|
-
this.listeners[ev].push(fn);
|
|
18405
|
-
}
|
|
18406
|
-
removeListener(ev, fn) {
|
|
18407
|
-
const list = this.listeners[ev];
|
|
18408
|
-
const i = list.indexOf(fn);
|
|
18409
|
-
if (i === -1) {
|
|
18410
|
-
return;
|
|
18411
|
-
}
|
|
18412
|
-
if (i === 0 && list.length === 1) {
|
|
18413
|
-
list.length = 0;
|
|
18414
|
-
} else {
|
|
18415
|
-
list.splice(i, 1);
|
|
18416
|
-
}
|
|
18417
|
-
}
|
|
18418
|
-
emit(ev, code, signal) {
|
|
18419
|
-
if (this.emitted[ev]) {
|
|
18420
|
-
return false;
|
|
18421
|
-
}
|
|
18422
|
-
this.emitted[ev] = true;
|
|
18423
|
-
let ret = false;
|
|
18424
|
-
for (const fn of this.listeners[ev]) {
|
|
18425
|
-
ret = fn(code, signal) === true || ret;
|
|
18426
|
-
}
|
|
18427
|
-
if (ev === "exit") {
|
|
18428
|
-
ret = this.emit("afterExit", code, signal) || ret;
|
|
18429
|
-
}
|
|
18430
|
-
return ret;
|
|
16616
|
+
// src/spinner.ts
|
|
16617
|
+
var SPINNER_FRAMES = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
16618
|
+
var FRAME_INTERVAL = 80;
|
|
16619
|
+
function createSpinner(initialText = "") {
|
|
16620
|
+
let _text = initialText;
|
|
16621
|
+
let _timer = null;
|
|
16622
|
+
let _frameIndex = 0;
|
|
16623
|
+
function clearLine() {
|
|
16624
|
+
if (process.stderr.isTTY) {
|
|
16625
|
+
process.stderr.write("\r\x1B[K");
|
|
16626
|
+
}
|
|
16627
|
+
}
|
|
16628
|
+
function render() {
|
|
16629
|
+
if (!process.stderr.isTTY) return;
|
|
16630
|
+
const frame = source_default.cyan(SPINNER_FRAMES[_frameIndex]);
|
|
16631
|
+
clearLine();
|
|
16632
|
+
process.stderr.write(`${frame} ${_text}`);
|
|
16633
|
+
_frameIndex = (_frameIndex + 1) % SPINNER_FRAMES.length;
|
|
16634
|
+
}
|
|
16635
|
+
function stopTimer() {
|
|
16636
|
+
if (_timer) {
|
|
16637
|
+
clearInterval(_timer);
|
|
16638
|
+
_timer = null;
|
|
16639
|
+
}
|
|
16640
|
+
clearLine();
|
|
16641
|
+
}
|
|
16642
|
+
function printStatus(symbol, text) {
|
|
16643
|
+
stopTimer();
|
|
16644
|
+
process.stderr.write(`${symbol} ${text}
|
|
16645
|
+
`);
|
|
18431
16646
|
}
|
|
18432
|
-
|
|
18433
|
-
|
|
18434
|
-
|
|
18435
|
-
|
|
18436
|
-
|
|
18437
|
-
|
|
18438
|
-
|
|
16647
|
+
const spinner = {
|
|
16648
|
+
get text() {
|
|
16649
|
+
return _text;
|
|
16650
|
+
},
|
|
16651
|
+
set text(value) {
|
|
16652
|
+
_text = value;
|
|
16653
|
+
},
|
|
16654
|
+
start(text) {
|
|
16655
|
+
if (text) _text = text;
|
|
16656
|
+
_frameIndex = 0;
|
|
16657
|
+
if (_timer) clearInterval(_timer);
|
|
16658
|
+
if (process.stderr.isTTY) {
|
|
16659
|
+
render();
|
|
16660
|
+
_timer = setInterval(render, FRAME_INTERVAL);
|
|
16661
|
+
}
|
|
16662
|
+
return spinner;
|
|
18439
16663
|
},
|
|
18440
|
-
|
|
18441
|
-
|
|
16664
|
+
stop() {
|
|
16665
|
+
stopTimer();
|
|
16666
|
+
return spinner;
|
|
18442
16667
|
},
|
|
18443
|
-
|
|
18444
|
-
|
|
16668
|
+
succeed(text) {
|
|
16669
|
+
printStatus(source_default.green("\u2714"), text || _text);
|
|
16670
|
+
return spinner;
|
|
16671
|
+
},
|
|
16672
|
+
fail(text) {
|
|
16673
|
+
printStatus(source_default.red("\u2716"), text || _text);
|
|
16674
|
+
return spinner;
|
|
16675
|
+
},
|
|
16676
|
+
warn(text) {
|
|
16677
|
+
printStatus(source_default.yellow("\u26A0"), text || _text);
|
|
16678
|
+
return spinner;
|
|
18445
16679
|
}
|
|
18446
16680
|
};
|
|
18447
|
-
|
|
18448
|
-
var SignalExitFallback = class extends SignalExitBase {
|
|
18449
|
-
onExit() {
|
|
18450
|
-
return () => {
|
|
18451
|
-
};
|
|
18452
|
-
}
|
|
18453
|
-
load() {
|
|
18454
|
-
}
|
|
18455
|
-
unload() {
|
|
18456
|
-
}
|
|
18457
|
-
};
|
|
18458
|
-
var SignalExit = class extends SignalExitBase {
|
|
18459
|
-
// "SIGHUP" throws an `ENOSYS` error on Windows,
|
|
18460
|
-
// so use a supported signal instead
|
|
18461
|
-
/* c8 ignore start */
|
|
18462
|
-
#hupSig = process3.platform === "win32" ? "SIGINT" : "SIGHUP";
|
|
18463
|
-
/* c8 ignore stop */
|
|
18464
|
-
#emitter = new Emitter();
|
|
18465
|
-
#process;
|
|
18466
|
-
#originalProcessEmit;
|
|
18467
|
-
#originalProcessReallyExit;
|
|
18468
|
-
#sigListeners = {};
|
|
18469
|
-
#loaded = false;
|
|
18470
|
-
constructor(process10) {
|
|
18471
|
-
super();
|
|
18472
|
-
this.#process = process10;
|
|
18473
|
-
this.#sigListeners = {};
|
|
18474
|
-
for (const sig of signals) {
|
|
18475
|
-
this.#sigListeners[sig] = () => {
|
|
18476
|
-
const listeners = this.#process.listeners(sig);
|
|
18477
|
-
let { count } = this.#emitter;
|
|
18478
|
-
const p = process10;
|
|
18479
|
-
if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
|
|
18480
|
-
count += p.__signal_exit_emitter__.count;
|
|
18481
|
-
}
|
|
18482
|
-
if (listeners.length === count) {
|
|
18483
|
-
this.unload();
|
|
18484
|
-
const ret = this.#emitter.emit("exit", null, sig);
|
|
18485
|
-
const s = sig === "SIGHUP" ? this.#hupSig : sig;
|
|
18486
|
-
if (!ret)
|
|
18487
|
-
process10.kill(process10.pid, s);
|
|
18488
|
-
}
|
|
18489
|
-
};
|
|
18490
|
-
}
|
|
18491
|
-
this.#originalProcessReallyExit = process10.reallyExit;
|
|
18492
|
-
this.#originalProcessEmit = process10.emit;
|
|
18493
|
-
}
|
|
18494
|
-
onExit(cb, opts) {
|
|
18495
|
-
if (!processOk(this.#process)) {
|
|
18496
|
-
return () => {
|
|
18497
|
-
};
|
|
18498
|
-
}
|
|
18499
|
-
if (this.#loaded === false) {
|
|
18500
|
-
this.load();
|
|
18501
|
-
}
|
|
18502
|
-
const ev = opts?.alwaysLast ? "afterExit" : "exit";
|
|
18503
|
-
this.#emitter.on(ev, cb);
|
|
18504
|
-
return () => {
|
|
18505
|
-
this.#emitter.removeListener(ev, cb);
|
|
18506
|
-
if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
|
|
18507
|
-
this.unload();
|
|
18508
|
-
}
|
|
18509
|
-
};
|
|
18510
|
-
}
|
|
18511
|
-
load() {
|
|
18512
|
-
if (this.#loaded) {
|
|
18513
|
-
return;
|
|
18514
|
-
}
|
|
18515
|
-
this.#loaded = true;
|
|
18516
|
-
this.#emitter.count += 1;
|
|
18517
|
-
for (const sig of signals) {
|
|
18518
|
-
try {
|
|
18519
|
-
const fn = this.#sigListeners[sig];
|
|
18520
|
-
if (fn)
|
|
18521
|
-
this.#process.on(sig, fn);
|
|
18522
|
-
} catch (_) {
|
|
18523
|
-
}
|
|
18524
|
-
}
|
|
18525
|
-
this.#process.emit = (ev, ...a) => {
|
|
18526
|
-
return this.#processEmit(ev, ...a);
|
|
18527
|
-
};
|
|
18528
|
-
this.#process.reallyExit = (code) => {
|
|
18529
|
-
return this.#processReallyExit(code);
|
|
18530
|
-
};
|
|
18531
|
-
}
|
|
18532
|
-
unload() {
|
|
18533
|
-
if (!this.#loaded) {
|
|
18534
|
-
return;
|
|
18535
|
-
}
|
|
18536
|
-
this.#loaded = false;
|
|
18537
|
-
signals.forEach((sig) => {
|
|
18538
|
-
const listener = this.#sigListeners[sig];
|
|
18539
|
-
if (!listener) {
|
|
18540
|
-
throw new Error("Listener not defined for signal: " + sig);
|
|
18541
|
-
}
|
|
18542
|
-
try {
|
|
18543
|
-
this.#process.removeListener(sig, listener);
|
|
18544
|
-
} catch (_) {
|
|
18545
|
-
}
|
|
18546
|
-
});
|
|
18547
|
-
this.#process.emit = this.#originalProcessEmit;
|
|
18548
|
-
this.#process.reallyExit = this.#originalProcessReallyExit;
|
|
18549
|
-
this.#emitter.count -= 1;
|
|
18550
|
-
}
|
|
18551
|
-
#processReallyExit(code) {
|
|
18552
|
-
if (!processOk(this.#process)) {
|
|
18553
|
-
return 0;
|
|
18554
|
-
}
|
|
18555
|
-
this.#process.exitCode = code || 0;
|
|
18556
|
-
this.#emitter.emit("exit", this.#process.exitCode, null);
|
|
18557
|
-
return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
|
|
18558
|
-
}
|
|
18559
|
-
#processEmit(ev, ...args) {
|
|
18560
|
-
const og = this.#originalProcessEmit;
|
|
18561
|
-
if (ev === "exit" && processOk(this.#process)) {
|
|
18562
|
-
if (typeof args[0] === "number") {
|
|
18563
|
-
this.#process.exitCode = args[0];
|
|
18564
|
-
}
|
|
18565
|
-
const ret = og.call(this.#process, ev, ...args);
|
|
18566
|
-
this.#emitter.emit("exit", this.#process.exitCode, null);
|
|
18567
|
-
return ret;
|
|
18568
|
-
} else {
|
|
18569
|
-
return og.call(this.#process, ev, ...args);
|
|
18570
|
-
}
|
|
18571
|
-
}
|
|
18572
|
-
};
|
|
18573
|
-
var process3 = globalThis.process;
|
|
18574
|
-
var {
|
|
18575
|
-
/**
|
|
18576
|
-
* Called when the process is exiting, whether via signal, explicit
|
|
18577
|
-
* exit, or running out of stuff to do.
|
|
18578
|
-
*
|
|
18579
|
-
* If the global process object is not suitable for instrumentation,
|
|
18580
|
-
* then this will be a no-op.
|
|
18581
|
-
*
|
|
18582
|
-
* Returns a function that may be used to unload signal-exit.
|
|
18583
|
-
*/
|
|
18584
|
-
onExit,
|
|
18585
|
-
/**
|
|
18586
|
-
* Load the listeners. Likely you never need to call this, unless
|
|
18587
|
-
* doing a rather deep integration with signal-exit functionality.
|
|
18588
|
-
* Mostly exposed for the benefit of testing.
|
|
18589
|
-
*
|
|
18590
|
-
* @internal
|
|
18591
|
-
*/
|
|
18592
|
-
load: load2,
|
|
18593
|
-
/**
|
|
18594
|
-
* Unload the listeners. Likely you never need to call this, unless
|
|
18595
|
-
* doing a rather deep integration with signal-exit functionality.
|
|
18596
|
-
* Mostly exposed for the benefit of testing.
|
|
18597
|
-
*
|
|
18598
|
-
* @internal
|
|
18599
|
-
*/
|
|
18600
|
-
unload
|
|
18601
|
-
} = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback());
|
|
18602
|
-
|
|
18603
|
-
// node_modules/restore-cursor/index.js
|
|
18604
|
-
var terminal = import_node_process2.default.stderr.isTTY ? import_node_process2.default.stderr : import_node_process2.default.stdout.isTTY ? import_node_process2.default.stdout : void 0;
|
|
18605
|
-
var restoreCursor = terminal ? onetime_default(() => {
|
|
18606
|
-
onExit(() => {
|
|
18607
|
-
terminal.write("\x1B[?25h");
|
|
18608
|
-
}, { alwaysLast: true });
|
|
18609
|
-
}) : () => {
|
|
18610
|
-
};
|
|
18611
|
-
var restore_cursor_default = restoreCursor;
|
|
18612
|
-
|
|
18613
|
-
// node_modules/cli-cursor/index.js
|
|
18614
|
-
var isHidden = false;
|
|
18615
|
-
var cliCursor = {};
|
|
18616
|
-
cliCursor.show = (writableStream = import_node_process3.default.stderr) => {
|
|
18617
|
-
if (!writableStream.isTTY) {
|
|
18618
|
-
return;
|
|
18619
|
-
}
|
|
18620
|
-
isHidden = false;
|
|
18621
|
-
writableStream.write("\x1B[?25h");
|
|
18622
|
-
};
|
|
18623
|
-
cliCursor.hide = (writableStream = import_node_process3.default.stderr) => {
|
|
18624
|
-
if (!writableStream.isTTY) {
|
|
18625
|
-
return;
|
|
18626
|
-
}
|
|
18627
|
-
restore_cursor_default();
|
|
18628
|
-
isHidden = true;
|
|
18629
|
-
writableStream.write("\x1B[?25l");
|
|
18630
|
-
};
|
|
18631
|
-
cliCursor.toggle = (force, writableStream) => {
|
|
18632
|
-
if (force !== void 0) {
|
|
18633
|
-
isHidden = force;
|
|
18634
|
-
}
|
|
18635
|
-
if (isHidden) {
|
|
18636
|
-
cliCursor.show(writableStream);
|
|
18637
|
-
} else {
|
|
18638
|
-
cliCursor.hide(writableStream);
|
|
18639
|
-
}
|
|
18640
|
-
};
|
|
18641
|
-
var cli_cursor_default = cliCursor;
|
|
18642
|
-
|
|
18643
|
-
// node_modules/ora/index.js
|
|
18644
|
-
var import_cli_spinners = __toESM(require_cli_spinners(), 1);
|
|
18645
|
-
|
|
18646
|
-
// node_modules/log-symbols/node_modules/is-unicode-supported/index.js
|
|
18647
|
-
var import_node_process4 = __toESM(require("process"), 1);
|
|
18648
|
-
function isUnicodeSupported() {
|
|
18649
|
-
if (import_node_process4.default.platform !== "win32") {
|
|
18650
|
-
return import_node_process4.default.env.TERM !== "linux";
|
|
18651
|
-
}
|
|
18652
|
-
return Boolean(import_node_process4.default.env.CI) || Boolean(import_node_process4.default.env.WT_SESSION) || Boolean(import_node_process4.default.env.TERMINUS_SUBLIME) || import_node_process4.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process4.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process4.default.env.TERM_PROGRAM === "vscode" || import_node_process4.default.env.TERM === "xterm-256color" || import_node_process4.default.env.TERM === "alacritty" || import_node_process4.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
18653
|
-
}
|
|
18654
|
-
|
|
18655
|
-
// node_modules/log-symbols/index.js
|
|
18656
|
-
var main = {
|
|
18657
|
-
info: source_default.blue("\u2139"),
|
|
18658
|
-
success: source_default.green("\u2714"),
|
|
18659
|
-
warning: source_default.yellow("\u26A0"),
|
|
18660
|
-
error: source_default.red("\u2716")
|
|
18661
|
-
};
|
|
18662
|
-
var fallback = {
|
|
18663
|
-
info: source_default.blue("i"),
|
|
18664
|
-
success: source_default.green("\u221A"),
|
|
18665
|
-
warning: source_default.yellow("\u203C"),
|
|
18666
|
-
error: source_default.red("\xD7")
|
|
18667
|
-
};
|
|
18668
|
-
var logSymbols = isUnicodeSupported() ? main : fallback;
|
|
18669
|
-
var log_symbols_default = logSymbols;
|
|
18670
|
-
|
|
18671
|
-
// node_modules/ansi-regex/index.js
|
|
18672
|
-
function ansiRegex({ onlyFirst = false } = {}) {
|
|
18673
|
-
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
18674
|
-
const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
|
|
18675
|
-
const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
|
|
18676
|
-
const pattern = `${osc}|${csi}`;
|
|
18677
|
-
return new RegExp(pattern, onlyFirst ? void 0 : "g");
|
|
18678
|
-
}
|
|
18679
|
-
|
|
18680
|
-
// node_modules/strip-ansi/index.js
|
|
18681
|
-
var regex = ansiRegex();
|
|
18682
|
-
function stripAnsi(string) {
|
|
18683
|
-
if (typeof string !== "string") {
|
|
18684
|
-
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
|
|
18685
|
-
}
|
|
18686
|
-
if (!string.includes("\x1B") && !string.includes("\x9B")) {
|
|
18687
|
-
return string;
|
|
18688
|
-
}
|
|
18689
|
-
return string.replace(regex, "");
|
|
18690
|
-
}
|
|
18691
|
-
|
|
18692
|
-
// node_modules/get-east-asian-width/lookup-data.js
|
|
18693
|
-
var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
|
|
18694
|
-
var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
|
|
18695
|
-
var halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
|
|
18696
|
-
var narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
|
|
18697
|
-
var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
|
|
18698
|
-
|
|
18699
|
-
// node_modules/get-east-asian-width/utilities.js
|
|
18700
|
-
var isInRange = (ranges, codePoint) => {
|
|
18701
|
-
let low = 0;
|
|
18702
|
-
let high = Math.floor(ranges.length / 2) - 1;
|
|
18703
|
-
while (low <= high) {
|
|
18704
|
-
const mid = Math.floor((low + high) / 2);
|
|
18705
|
-
const i = mid * 2;
|
|
18706
|
-
if (codePoint < ranges[i]) {
|
|
18707
|
-
high = mid - 1;
|
|
18708
|
-
} else if (codePoint > ranges[i + 1]) {
|
|
18709
|
-
low = mid + 1;
|
|
18710
|
-
} else {
|
|
18711
|
-
return true;
|
|
18712
|
-
}
|
|
18713
|
-
}
|
|
18714
|
-
return false;
|
|
18715
|
-
};
|
|
18716
|
-
|
|
18717
|
-
// node_modules/get-east-asian-width/lookup.js
|
|
18718
|
-
var minimumAmbiguousCodePoint = ambiguousRanges[0];
|
|
18719
|
-
var maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
|
|
18720
|
-
var minimumFullWidthCodePoint = fullwidthRanges[0];
|
|
18721
|
-
var maximumFullWidthCodePoint = fullwidthRanges.at(-1);
|
|
18722
|
-
var minimumHalfWidthCodePoint = halfwidthRanges[0];
|
|
18723
|
-
var maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
|
|
18724
|
-
var minimumNarrowCodePoint = narrowRanges[0];
|
|
18725
|
-
var maximumNarrowCodePoint = narrowRanges.at(-1);
|
|
18726
|
-
var minimumWideCodePoint = wideRanges[0];
|
|
18727
|
-
var maximumWideCodePoint = wideRanges.at(-1);
|
|
18728
|
-
var commonCjkCodePoint = 19968;
|
|
18729
|
-
var [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
|
|
18730
|
-
function findWideFastPathRange(ranges) {
|
|
18731
|
-
let fastPathStart = ranges[0];
|
|
18732
|
-
let fastPathEnd = ranges[1];
|
|
18733
|
-
for (let index = 0; index < ranges.length; index += 2) {
|
|
18734
|
-
const start = ranges[index];
|
|
18735
|
-
const end = ranges[index + 1];
|
|
18736
|
-
if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
|
|
18737
|
-
return [start, end];
|
|
18738
|
-
}
|
|
18739
|
-
if (end - start > fastPathEnd - fastPathStart) {
|
|
18740
|
-
fastPathStart = start;
|
|
18741
|
-
fastPathEnd = end;
|
|
18742
|
-
}
|
|
18743
|
-
}
|
|
18744
|
-
return [fastPathStart, fastPathEnd];
|
|
18745
|
-
}
|
|
18746
|
-
var isAmbiguous = (codePoint) => {
|
|
18747
|
-
if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
|
|
18748
|
-
return false;
|
|
18749
|
-
}
|
|
18750
|
-
return isInRange(ambiguousRanges, codePoint);
|
|
18751
|
-
};
|
|
18752
|
-
var isFullWidth = (codePoint) => {
|
|
18753
|
-
if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
|
|
18754
|
-
return false;
|
|
18755
|
-
}
|
|
18756
|
-
return isInRange(fullwidthRanges, codePoint);
|
|
18757
|
-
};
|
|
18758
|
-
var isWide = (codePoint) => {
|
|
18759
|
-
if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
|
|
18760
|
-
return true;
|
|
18761
|
-
}
|
|
18762
|
-
if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
|
|
18763
|
-
return false;
|
|
18764
|
-
}
|
|
18765
|
-
return isInRange(wideRanges, codePoint);
|
|
18766
|
-
};
|
|
18767
|
-
|
|
18768
|
-
// node_modules/get-east-asian-width/index.js
|
|
18769
|
-
function validate(codePoint) {
|
|
18770
|
-
if (!Number.isSafeInteger(codePoint)) {
|
|
18771
|
-
throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
|
|
18772
|
-
}
|
|
18773
|
-
}
|
|
18774
|
-
function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
|
|
18775
|
-
validate(codePoint);
|
|
18776
|
-
if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
|
|
18777
|
-
return 2;
|
|
18778
|
-
}
|
|
18779
|
-
return 1;
|
|
18780
|
-
}
|
|
18781
|
-
|
|
18782
|
-
// node_modules/emoji-regex/index.mjs
|
|
18783
|
-
var emoji_regex_default = () => {
|
|
18784
|
-
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
18785
|
-
};
|
|
18786
|
-
|
|
18787
|
-
// node_modules/string-width/index.js
|
|
18788
|
-
var segmenter = new Intl.Segmenter();
|
|
18789
|
-
var defaultIgnorableCodePointRegex = new RegExp("^\\p{Default_Ignorable_Code_Point}$", "u");
|
|
18790
|
-
function stringWidth(string, options = {}) {
|
|
18791
|
-
if (typeof string !== "string" || string.length === 0) {
|
|
18792
|
-
return 0;
|
|
18793
|
-
}
|
|
18794
|
-
const {
|
|
18795
|
-
ambiguousIsNarrow = true,
|
|
18796
|
-
countAnsiEscapeCodes = false
|
|
18797
|
-
} = options;
|
|
18798
|
-
if (!countAnsiEscapeCodes) {
|
|
18799
|
-
string = stripAnsi(string);
|
|
18800
|
-
}
|
|
18801
|
-
if (string.length === 0) {
|
|
18802
|
-
return 0;
|
|
18803
|
-
}
|
|
18804
|
-
let width = 0;
|
|
18805
|
-
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
18806
|
-
for (const { segment: character } of segmenter.segment(string)) {
|
|
18807
|
-
const codePoint = character.codePointAt(0);
|
|
18808
|
-
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
|
18809
|
-
continue;
|
|
18810
|
-
}
|
|
18811
|
-
if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
|
|
18812
|
-
continue;
|
|
18813
|
-
}
|
|
18814
|
-
if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
|
|
18815
|
-
continue;
|
|
18816
|
-
}
|
|
18817
|
-
if (codePoint >= 55296 && codePoint <= 57343) {
|
|
18818
|
-
continue;
|
|
18819
|
-
}
|
|
18820
|
-
if (codePoint >= 65024 && codePoint <= 65039) {
|
|
18821
|
-
continue;
|
|
18822
|
-
}
|
|
18823
|
-
if (defaultIgnorableCodePointRegex.test(character)) {
|
|
18824
|
-
continue;
|
|
18825
|
-
}
|
|
18826
|
-
if (emoji_regex_default().test(character)) {
|
|
18827
|
-
width += 2;
|
|
18828
|
-
continue;
|
|
18829
|
-
}
|
|
18830
|
-
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
|
18831
|
-
}
|
|
18832
|
-
return width;
|
|
18833
|
-
}
|
|
18834
|
-
|
|
18835
|
-
// node_modules/is-interactive/index.js
|
|
18836
|
-
function isInteractive({ stream = process.stdout } = {}) {
|
|
18837
|
-
return Boolean(
|
|
18838
|
-
stream && stream.isTTY && process.env.TERM !== "dumb" && !("CI" in process.env)
|
|
18839
|
-
);
|
|
18840
|
-
}
|
|
18841
|
-
|
|
18842
|
-
// node_modules/is-unicode-supported/index.js
|
|
18843
|
-
var import_node_process5 = __toESM(require("process"), 1);
|
|
18844
|
-
function isUnicodeSupported2() {
|
|
18845
|
-
const { env: env2 } = import_node_process5.default;
|
|
18846
|
-
const { TERM, TERM_PROGRAM } = env2;
|
|
18847
|
-
if (import_node_process5.default.platform !== "win32") {
|
|
18848
|
-
return TERM !== "linux";
|
|
18849
|
-
}
|
|
18850
|
-
return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
18851
|
-
}
|
|
18852
|
-
|
|
18853
|
-
// node_modules/stdin-discarder/index.js
|
|
18854
|
-
var import_node_process6 = __toESM(require("process"), 1);
|
|
18855
|
-
var ASCII_ETX_CODE = 3;
|
|
18856
|
-
var StdinDiscarder = class {
|
|
18857
|
-
#activeCount = 0;
|
|
18858
|
-
start() {
|
|
18859
|
-
this.#activeCount++;
|
|
18860
|
-
if (this.#activeCount === 1) {
|
|
18861
|
-
this.#realStart();
|
|
18862
|
-
}
|
|
18863
|
-
}
|
|
18864
|
-
stop() {
|
|
18865
|
-
if (this.#activeCount <= 0) {
|
|
18866
|
-
throw new Error("`stop` called more times than `start`");
|
|
18867
|
-
}
|
|
18868
|
-
this.#activeCount--;
|
|
18869
|
-
if (this.#activeCount === 0) {
|
|
18870
|
-
this.#realStop();
|
|
18871
|
-
}
|
|
18872
|
-
}
|
|
18873
|
-
#realStart() {
|
|
18874
|
-
if (import_node_process6.default.platform === "win32" || !import_node_process6.default.stdin.isTTY) {
|
|
18875
|
-
return;
|
|
18876
|
-
}
|
|
18877
|
-
import_node_process6.default.stdin.setRawMode(true);
|
|
18878
|
-
import_node_process6.default.stdin.on("data", this.#handleInput);
|
|
18879
|
-
import_node_process6.default.stdin.resume();
|
|
18880
|
-
}
|
|
18881
|
-
#realStop() {
|
|
18882
|
-
if (!import_node_process6.default.stdin.isTTY) {
|
|
18883
|
-
return;
|
|
18884
|
-
}
|
|
18885
|
-
import_node_process6.default.stdin.off("data", this.#handleInput);
|
|
18886
|
-
import_node_process6.default.stdin.pause();
|
|
18887
|
-
import_node_process6.default.stdin.setRawMode(false);
|
|
18888
|
-
}
|
|
18889
|
-
#handleInput(chunk) {
|
|
18890
|
-
if (chunk[0] === ASCII_ETX_CODE) {
|
|
18891
|
-
import_node_process6.default.emit("SIGINT");
|
|
18892
|
-
}
|
|
18893
|
-
}
|
|
18894
|
-
};
|
|
18895
|
-
var stdinDiscarder = new StdinDiscarder();
|
|
18896
|
-
var stdin_discarder_default = stdinDiscarder;
|
|
18897
|
-
|
|
18898
|
-
// node_modules/ora/index.js
|
|
18899
|
-
var import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
|
|
18900
|
-
var Ora = class {
|
|
18901
|
-
#linesToClear = 0;
|
|
18902
|
-
#isDiscardingStdin = false;
|
|
18903
|
-
#lineCount = 0;
|
|
18904
|
-
#frameIndex = -1;
|
|
18905
|
-
#lastSpinnerFrameTime = 0;
|
|
18906
|
-
#options;
|
|
18907
|
-
#spinner;
|
|
18908
|
-
#stream;
|
|
18909
|
-
#id;
|
|
18910
|
-
#initialInterval;
|
|
18911
|
-
#isEnabled;
|
|
18912
|
-
#isSilent;
|
|
18913
|
-
#indent;
|
|
18914
|
-
#text;
|
|
18915
|
-
#prefixText;
|
|
18916
|
-
#suffixText;
|
|
18917
|
-
color;
|
|
18918
|
-
constructor(options) {
|
|
18919
|
-
if (typeof options === "string") {
|
|
18920
|
-
options = {
|
|
18921
|
-
text: options
|
|
18922
|
-
};
|
|
18923
|
-
}
|
|
18924
|
-
this.#options = {
|
|
18925
|
-
color: "cyan",
|
|
18926
|
-
stream: import_node_process7.default.stderr,
|
|
18927
|
-
discardStdin: true,
|
|
18928
|
-
hideCursor: true,
|
|
18929
|
-
...options
|
|
18930
|
-
};
|
|
18931
|
-
this.color = this.#options.color;
|
|
18932
|
-
this.spinner = this.#options.spinner;
|
|
18933
|
-
this.#initialInterval = this.#options.interval;
|
|
18934
|
-
this.#stream = this.#options.stream;
|
|
18935
|
-
this.#isEnabled = typeof this.#options.isEnabled === "boolean" ? this.#options.isEnabled : isInteractive({ stream: this.#stream });
|
|
18936
|
-
this.#isSilent = typeof this.#options.isSilent === "boolean" ? this.#options.isSilent : false;
|
|
18937
|
-
this.text = this.#options.text;
|
|
18938
|
-
this.prefixText = this.#options.prefixText;
|
|
18939
|
-
this.suffixText = this.#options.suffixText;
|
|
18940
|
-
this.indent = this.#options.indent;
|
|
18941
|
-
if (import_node_process7.default.env.NODE_ENV === "test") {
|
|
18942
|
-
this._stream = this.#stream;
|
|
18943
|
-
this._isEnabled = this.#isEnabled;
|
|
18944
|
-
Object.defineProperty(this, "_linesToClear", {
|
|
18945
|
-
get() {
|
|
18946
|
-
return this.#linesToClear;
|
|
18947
|
-
},
|
|
18948
|
-
set(newValue) {
|
|
18949
|
-
this.#linesToClear = newValue;
|
|
18950
|
-
}
|
|
18951
|
-
});
|
|
18952
|
-
Object.defineProperty(this, "_frameIndex", {
|
|
18953
|
-
get() {
|
|
18954
|
-
return this.#frameIndex;
|
|
18955
|
-
}
|
|
18956
|
-
});
|
|
18957
|
-
Object.defineProperty(this, "_lineCount", {
|
|
18958
|
-
get() {
|
|
18959
|
-
return this.#lineCount;
|
|
18960
|
-
}
|
|
18961
|
-
});
|
|
18962
|
-
}
|
|
18963
|
-
}
|
|
18964
|
-
get indent() {
|
|
18965
|
-
return this.#indent;
|
|
18966
|
-
}
|
|
18967
|
-
set indent(indent = 0) {
|
|
18968
|
-
if (!(indent >= 0 && Number.isInteger(indent))) {
|
|
18969
|
-
throw new Error("The `indent` option must be an integer from 0 and up");
|
|
18970
|
-
}
|
|
18971
|
-
this.#indent = indent;
|
|
18972
|
-
this.#updateLineCount();
|
|
18973
|
-
}
|
|
18974
|
-
get interval() {
|
|
18975
|
-
return this.#initialInterval ?? this.#spinner.interval ?? 100;
|
|
18976
|
-
}
|
|
18977
|
-
get spinner() {
|
|
18978
|
-
return this.#spinner;
|
|
18979
|
-
}
|
|
18980
|
-
set spinner(spinner) {
|
|
18981
|
-
this.#frameIndex = -1;
|
|
18982
|
-
this.#initialInterval = void 0;
|
|
18983
|
-
if (typeof spinner === "object") {
|
|
18984
|
-
if (spinner.frames === void 0) {
|
|
18985
|
-
throw new Error("The given spinner must have a `frames` property");
|
|
18986
|
-
}
|
|
18987
|
-
this.#spinner = spinner;
|
|
18988
|
-
} else if (!isUnicodeSupported2()) {
|
|
18989
|
-
this.#spinner = import_cli_spinners.default.line;
|
|
18990
|
-
} else if (spinner === void 0) {
|
|
18991
|
-
this.#spinner = import_cli_spinners.default.dots;
|
|
18992
|
-
} else if (spinner !== "default" && import_cli_spinners.default[spinner]) {
|
|
18993
|
-
this.#spinner = import_cli_spinners.default[spinner];
|
|
18994
|
-
} else {
|
|
18995
|
-
throw new Error(`There is no built-in spinner named '${spinner}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);
|
|
18996
|
-
}
|
|
18997
|
-
}
|
|
18998
|
-
get text() {
|
|
18999
|
-
return this.#text;
|
|
19000
|
-
}
|
|
19001
|
-
set text(value = "") {
|
|
19002
|
-
this.#text = value;
|
|
19003
|
-
this.#updateLineCount();
|
|
19004
|
-
}
|
|
19005
|
-
get prefixText() {
|
|
19006
|
-
return this.#prefixText;
|
|
19007
|
-
}
|
|
19008
|
-
set prefixText(value = "") {
|
|
19009
|
-
this.#prefixText = value;
|
|
19010
|
-
this.#updateLineCount();
|
|
19011
|
-
}
|
|
19012
|
-
get suffixText() {
|
|
19013
|
-
return this.#suffixText;
|
|
19014
|
-
}
|
|
19015
|
-
set suffixText(value = "") {
|
|
19016
|
-
this.#suffixText = value;
|
|
19017
|
-
this.#updateLineCount();
|
|
19018
|
-
}
|
|
19019
|
-
get isSpinning() {
|
|
19020
|
-
return this.#id !== void 0;
|
|
19021
|
-
}
|
|
19022
|
-
#getFullPrefixText(prefixText = this.#prefixText, postfix = " ") {
|
|
19023
|
-
if (typeof prefixText === "string" && prefixText !== "") {
|
|
19024
|
-
return prefixText + postfix;
|
|
19025
|
-
}
|
|
19026
|
-
if (typeof prefixText === "function") {
|
|
19027
|
-
return prefixText() + postfix;
|
|
19028
|
-
}
|
|
19029
|
-
return "";
|
|
19030
|
-
}
|
|
19031
|
-
#getFullSuffixText(suffixText = this.#suffixText, prefix = " ") {
|
|
19032
|
-
if (typeof suffixText === "string" && suffixText !== "") {
|
|
19033
|
-
return prefix + suffixText;
|
|
19034
|
-
}
|
|
19035
|
-
if (typeof suffixText === "function") {
|
|
19036
|
-
return prefix + suffixText();
|
|
19037
|
-
}
|
|
19038
|
-
return "";
|
|
19039
|
-
}
|
|
19040
|
-
#updateLineCount() {
|
|
19041
|
-
const columns = this.#stream.columns ?? 80;
|
|
19042
|
-
const fullPrefixText = this.#getFullPrefixText(this.#prefixText, "-");
|
|
19043
|
-
const fullSuffixText = this.#getFullSuffixText(this.#suffixText, "-");
|
|
19044
|
-
const fullText = " ".repeat(this.#indent) + fullPrefixText + "--" + this.#text + "--" + fullSuffixText;
|
|
19045
|
-
this.#lineCount = 0;
|
|
19046
|
-
for (const line of stripAnsi(fullText).split("\n")) {
|
|
19047
|
-
this.#lineCount += Math.max(1, Math.ceil(stringWidth(line, { countAnsiEscapeCodes: true }) / columns));
|
|
19048
|
-
}
|
|
19049
|
-
}
|
|
19050
|
-
get isEnabled() {
|
|
19051
|
-
return this.#isEnabled && !this.#isSilent;
|
|
19052
|
-
}
|
|
19053
|
-
set isEnabled(value) {
|
|
19054
|
-
if (typeof value !== "boolean") {
|
|
19055
|
-
throw new TypeError("The `isEnabled` option must be a boolean");
|
|
19056
|
-
}
|
|
19057
|
-
this.#isEnabled = value;
|
|
19058
|
-
}
|
|
19059
|
-
get isSilent() {
|
|
19060
|
-
return this.#isSilent;
|
|
19061
|
-
}
|
|
19062
|
-
set isSilent(value) {
|
|
19063
|
-
if (typeof value !== "boolean") {
|
|
19064
|
-
throw new TypeError("The `isSilent` option must be a boolean");
|
|
19065
|
-
}
|
|
19066
|
-
this.#isSilent = value;
|
|
19067
|
-
}
|
|
19068
|
-
frame() {
|
|
19069
|
-
const now = Date.now();
|
|
19070
|
-
if (this.#frameIndex === -1 || now - this.#lastSpinnerFrameTime >= this.interval) {
|
|
19071
|
-
this.#frameIndex = ++this.#frameIndex % this.#spinner.frames.length;
|
|
19072
|
-
this.#lastSpinnerFrameTime = now;
|
|
19073
|
-
}
|
|
19074
|
-
const { frames } = this.#spinner;
|
|
19075
|
-
let frame = frames[this.#frameIndex];
|
|
19076
|
-
if (this.color) {
|
|
19077
|
-
frame = source_default[this.color](frame);
|
|
19078
|
-
}
|
|
19079
|
-
const fullPrefixText = typeof this.#prefixText === "string" && this.#prefixText !== "" ? this.#prefixText + " " : "";
|
|
19080
|
-
const fullText = typeof this.text === "string" ? " " + this.text : "";
|
|
19081
|
-
const fullSuffixText = typeof this.#suffixText === "string" && this.#suffixText !== "" ? " " + this.#suffixText : "";
|
|
19082
|
-
return fullPrefixText + frame + fullText + fullSuffixText;
|
|
19083
|
-
}
|
|
19084
|
-
clear() {
|
|
19085
|
-
if (!this.#isEnabled || !this.#stream.isTTY) {
|
|
19086
|
-
return this;
|
|
19087
|
-
}
|
|
19088
|
-
this.#stream.cursorTo(0);
|
|
19089
|
-
for (let index = 0; index < this.#linesToClear; index++) {
|
|
19090
|
-
if (index > 0) {
|
|
19091
|
-
this.#stream.moveCursor(0, -1);
|
|
19092
|
-
}
|
|
19093
|
-
this.#stream.clearLine(1);
|
|
19094
|
-
}
|
|
19095
|
-
if (this.#indent || this.lastIndent !== this.#indent) {
|
|
19096
|
-
this.#stream.cursorTo(this.#indent);
|
|
19097
|
-
}
|
|
19098
|
-
this.lastIndent = this.#indent;
|
|
19099
|
-
this.#linesToClear = 0;
|
|
19100
|
-
return this;
|
|
19101
|
-
}
|
|
19102
|
-
render() {
|
|
19103
|
-
if (this.#isSilent) {
|
|
19104
|
-
return this;
|
|
19105
|
-
}
|
|
19106
|
-
this.clear();
|
|
19107
|
-
this.#stream.write(this.frame());
|
|
19108
|
-
this.#linesToClear = this.#lineCount;
|
|
19109
|
-
return this;
|
|
19110
|
-
}
|
|
19111
|
-
start(text) {
|
|
19112
|
-
if (text) {
|
|
19113
|
-
this.text = text;
|
|
19114
|
-
}
|
|
19115
|
-
if (this.#isSilent) {
|
|
19116
|
-
return this;
|
|
19117
|
-
}
|
|
19118
|
-
if (!this.#isEnabled) {
|
|
19119
|
-
if (this.text) {
|
|
19120
|
-
this.#stream.write(`- ${this.text}
|
|
19121
|
-
`);
|
|
19122
|
-
}
|
|
19123
|
-
return this;
|
|
19124
|
-
}
|
|
19125
|
-
if (this.isSpinning) {
|
|
19126
|
-
return this;
|
|
19127
|
-
}
|
|
19128
|
-
if (this.#options.hideCursor) {
|
|
19129
|
-
cli_cursor_default.hide(this.#stream);
|
|
19130
|
-
}
|
|
19131
|
-
if (this.#options.discardStdin && import_node_process7.default.stdin.isTTY) {
|
|
19132
|
-
this.#isDiscardingStdin = true;
|
|
19133
|
-
stdin_discarder_default.start();
|
|
19134
|
-
}
|
|
19135
|
-
this.render();
|
|
19136
|
-
this.#id = setInterval(this.render.bind(this), this.interval);
|
|
19137
|
-
return this;
|
|
19138
|
-
}
|
|
19139
|
-
stop() {
|
|
19140
|
-
if (!this.#isEnabled) {
|
|
19141
|
-
return this;
|
|
19142
|
-
}
|
|
19143
|
-
clearInterval(this.#id);
|
|
19144
|
-
this.#id = void 0;
|
|
19145
|
-
this.#frameIndex = 0;
|
|
19146
|
-
this.clear();
|
|
19147
|
-
if (this.#options.hideCursor) {
|
|
19148
|
-
cli_cursor_default.show(this.#stream);
|
|
19149
|
-
}
|
|
19150
|
-
if (this.#options.discardStdin && import_node_process7.default.stdin.isTTY && this.#isDiscardingStdin) {
|
|
19151
|
-
stdin_discarder_default.stop();
|
|
19152
|
-
this.#isDiscardingStdin = false;
|
|
19153
|
-
}
|
|
19154
|
-
return this;
|
|
19155
|
-
}
|
|
19156
|
-
succeed(text) {
|
|
19157
|
-
return this.stopAndPersist({ symbol: log_symbols_default.success, text });
|
|
19158
|
-
}
|
|
19159
|
-
fail(text) {
|
|
19160
|
-
return this.stopAndPersist({ symbol: log_symbols_default.error, text });
|
|
19161
|
-
}
|
|
19162
|
-
warn(text) {
|
|
19163
|
-
return this.stopAndPersist({ symbol: log_symbols_default.warning, text });
|
|
19164
|
-
}
|
|
19165
|
-
info(text) {
|
|
19166
|
-
return this.stopAndPersist({ symbol: log_symbols_default.info, text });
|
|
19167
|
-
}
|
|
19168
|
-
stopAndPersist(options = {}) {
|
|
19169
|
-
if (this.#isSilent) {
|
|
19170
|
-
return this;
|
|
19171
|
-
}
|
|
19172
|
-
const prefixText = options.prefixText ?? this.#prefixText;
|
|
19173
|
-
const fullPrefixText = this.#getFullPrefixText(prefixText, " ");
|
|
19174
|
-
const symbolText = options.symbol ?? " ";
|
|
19175
|
-
const text = options.text ?? this.text;
|
|
19176
|
-
const separatorText = symbolText ? " " : "";
|
|
19177
|
-
const fullText = typeof text === "string" ? separatorText + text : "";
|
|
19178
|
-
const suffixText = options.suffixText ?? this.#suffixText;
|
|
19179
|
-
const fullSuffixText = this.#getFullSuffixText(suffixText, " ");
|
|
19180
|
-
const textToWrite = fullPrefixText + symbolText + fullText + fullSuffixText + "\n";
|
|
19181
|
-
this.stop();
|
|
19182
|
-
this.#stream.write(textToWrite);
|
|
19183
|
-
return this;
|
|
19184
|
-
}
|
|
19185
|
-
};
|
|
19186
|
-
function ora(options) {
|
|
19187
|
-
return new Ora(options);
|
|
16681
|
+
return spinner;
|
|
19188
16682
|
}
|
|
19189
16683
|
|
|
19190
16684
|
// src/commands/install.ts
|
|
@@ -19220,7 +16714,7 @@ var installCommand = new Command("install").description("Install an agent or tea
|
|
|
19220
16714
|
}
|
|
19221
16715
|
});
|
|
19222
16716
|
async function installFromRegistry(name, targetDir, clawDir) {
|
|
19223
|
-
const spinner =
|
|
16717
|
+
const spinner = createSpinner(`Checking registry for ${source_default.cyan(name)}...`).start();
|
|
19224
16718
|
const index = await fetchIndex();
|
|
19225
16719
|
const agent = index.agents.find((a) => a.name === name);
|
|
19226
16720
|
const recipe = index.recipes.find((r) => r.name === name);
|
|
@@ -19239,7 +16733,7 @@ async function installFromRegistry(name, targetDir, clawDir) {
|
|
|
19239
16733
|
}
|
|
19240
16734
|
}
|
|
19241
16735
|
async function installSingleAgent(name, targetDir, clawDir) {
|
|
19242
|
-
const spinner =
|
|
16736
|
+
const spinner = createSpinner(`Checking environment...`).start();
|
|
19243
16737
|
if (!targetDir) {
|
|
19244
16738
|
const clawCheck = checkOpenClawInstalled(clawDir);
|
|
19245
16739
|
if (!clawCheck.installed) {
|
|
@@ -19326,7 +16820,7 @@ async function installSingleAgent(name, targetDir, clawDir) {
|
|
|
19326
16820
|
console.log();
|
|
19327
16821
|
}
|
|
19328
16822
|
async function installRecipeFromRegistry(name, recipe, targetDir, clawDir) {
|
|
19329
|
-
const spinner =
|
|
16823
|
+
const spinner = createSpinner(`Installing team ${source_default.cyan(recipe.displayName)}...`).start();
|
|
19330
16824
|
if (!targetDir) {
|
|
19331
16825
|
const clawCheck = checkOpenClawInstalled(clawDir);
|
|
19332
16826
|
if (!clawCheck.installed) {
|
|
@@ -19418,7 +16912,7 @@ async function installRecipeFromRegistry(name, recipe, targetDir, clawDir) {
|
|
|
19418
16912
|
}
|
|
19419
16913
|
}
|
|
19420
16914
|
async function installFromSource(source, targetDir, clawDir) {
|
|
19421
|
-
const spinner =
|
|
16915
|
+
const spinner = createSpinner("Analyzing package...").start();
|
|
19422
16916
|
let packageDir;
|
|
19423
16917
|
let tempDir = null;
|
|
19424
16918
|
if (source.startsWith("http://") || source.startsWith("https://")) {
|
|
@@ -19484,7 +16978,7 @@ async function installFromSource(source, targetDir, clawDir) {
|
|
|
19484
16978
|
}
|
|
19485
16979
|
}
|
|
19486
16980
|
async function installSingleAgentFromDir(packageDir, targetDir, clawDir) {
|
|
19487
|
-
const spinner =
|
|
16981
|
+
const spinner = createSpinner("Installing single agent...").start();
|
|
19488
16982
|
const pkg = readSoulHubPackage(packageDir);
|
|
19489
16983
|
const agentName = pkg?.name || import_node_path3.default.basename(packageDir);
|
|
19490
16984
|
if (!targetDir) {
|
|
@@ -19552,7 +17046,7 @@ async function installSingleAgentFromDir(packageDir, targetDir, clawDir) {
|
|
|
19552
17046
|
console.log();
|
|
19553
17047
|
}
|
|
19554
17048
|
async function installTeamFromDir(packageDir, targetDir, clawDir) {
|
|
19555
|
-
const spinner =
|
|
17049
|
+
const spinner = createSpinner("Installing team...").start();
|
|
19556
17050
|
const pkg = readSoulHubPackage(packageDir);
|
|
19557
17051
|
if (!pkg || pkg.kind !== "team") {
|
|
19558
17052
|
spinner.fail("Invalid team package. Missing soulhub.yaml.");
|
|
@@ -19739,7 +17233,7 @@ async function installDispatcher(dispatcher, resolvedClawDir, clawDir, targetDir
|
|
|
19739
17233
|
}
|
|
19740
17234
|
const templateName = dispatcher.dir || dispatcher.name;
|
|
19741
17235
|
if (spinner) spinner.text = `Downloading dispatcher files...`;
|
|
19742
|
-
await downloadAgentFiles(templateName, mainWorkspace, spinner ||
|
|
17236
|
+
await downloadAgentFiles(templateName, mainWorkspace, spinner || createSpinner());
|
|
19743
17237
|
recordInstall("dispatcher", "1.0.0", mainWorkspace);
|
|
19744
17238
|
}
|
|
19745
17239
|
async function extractZipToDir(zip, targetDir) {
|
|
@@ -19778,7 +17272,7 @@ function printTeamSummary(pkg, workerIds) {
|
|
|
19778
17272
|
console.log();
|
|
19779
17273
|
}
|
|
19780
17274
|
async function tryRestartGateway() {
|
|
19781
|
-
const restartSpinner =
|
|
17275
|
+
const restartSpinner = createSpinner("Restarting OpenClaw Gateway...").start();
|
|
19782
17276
|
const result = restartOpenClawGateway();
|
|
19783
17277
|
if (result.success) {
|
|
19784
17278
|
restartSpinner.succeed("OpenClaw Gateway restarted successfully.");
|
|
@@ -19839,7 +17333,7 @@ var updateCommand = new Command("update").description("Update installed agent te
|
|
|
19839
17333
|
console.log(source_default.yellow("\n No agents installed.\n"));
|
|
19840
17334
|
return;
|
|
19841
17335
|
}
|
|
19842
|
-
const spinner =
|
|
17336
|
+
const spinner = createSpinner("Checking for updates...").start();
|
|
19843
17337
|
const index = await fetchIndex();
|
|
19844
17338
|
const toUpdate = name ? config.installed.filter((a) => a.name === name) : config.installed;
|
|
19845
17339
|
if (toUpdate.length === 0) {
|
|
@@ -19898,43 +17392,23 @@ var updateCommand = new Command("update").description("Update installed agent te
|
|
|
19898
17392
|
}
|
|
19899
17393
|
});
|
|
19900
17394
|
|
|
19901
|
-
// src/commands/
|
|
17395
|
+
// src/commands/rollback.ts
|
|
19902
17396
|
var import_node_fs5 = __toESM(require("fs"), 1);
|
|
19903
|
-
var
|
|
17397
|
+
var import_node_path5 = __toESM(require("path"), 1);
|
|
17398
|
+
var rollbackCommand = new Command("rollback").description("Rollback to a previous agent installation state").option("--list", "List available rollback records").option("--id <id>", "Rollback to a specific backup record by ID").option(
|
|
17399
|
+
"--claw-dir <path>",
|
|
17400
|
+
"OpenClaw installation directory (overrides OPENCLAW_HOME env var)"
|
|
17401
|
+
).action(async (options) => {
|
|
19904
17402
|
try {
|
|
19905
|
-
|
|
19906
|
-
|
|
19907
|
-
if (
|
|
19908
|
-
|
|
19909
|
-
|
|
19910
|
-
|
|
19911
|
-
`)
|
|
19912
|
-
);
|
|
19913
|
-
console.log(
|
|
19914
|
-
source_default.dim(" Use 'soulhub list' to see installed agents.")
|
|
19915
|
-
);
|
|
19916
|
-
process.exit(1);
|
|
19917
|
-
}
|
|
19918
|
-
const spinner = ora(
|
|
19919
|
-
`Uninstalling ${source_default.cyan(name)}...`
|
|
19920
|
-
).start();
|
|
19921
|
-
if (!options.keepFiles && import_node_fs5.default.existsSync(installed.workspace)) {
|
|
19922
|
-
import_node_fs5.default.rmSync(installed.workspace, { recursive: true, force: true });
|
|
19923
|
-
spinner.text = `Removed workspace: ${installed.workspace}`;
|
|
19924
|
-
}
|
|
19925
|
-
removeInstallRecord(name);
|
|
19926
|
-
logger.info(`Agent uninstalled: ${name}`, { workspace: installed.workspace, keepFiles: !!options.keepFiles });
|
|
19927
|
-
spinner.succeed(
|
|
19928
|
-
`${source_default.cyan.bold(name)} uninstalled.`
|
|
19929
|
-
);
|
|
19930
|
-
if (options.keepFiles) {
|
|
19931
|
-
console.log(
|
|
19932
|
-
source_default.dim(` Files kept at: ${installed.workspace}`)
|
|
19933
|
-
);
|
|
17403
|
+
if (options.list) {
|
|
17404
|
+
listBackupRecords();
|
|
17405
|
+
} else if (options.id) {
|
|
17406
|
+
await performRollback(options.id, options.clawDir);
|
|
17407
|
+
} else {
|
|
17408
|
+
await performRollback(void 0, options.clawDir);
|
|
19934
17409
|
}
|
|
19935
|
-
console.log();
|
|
19936
17410
|
} catch (error) {
|
|
19937
|
-
logger.errorObj("
|
|
17411
|
+
logger.errorObj("Rollback command failed", error);
|
|
19938
17412
|
console.error(
|
|
19939
17413
|
source_default.red(`Error: ${error instanceof Error ? error.message : error}`)
|
|
19940
17414
|
);
|
|
@@ -19942,107 +17416,161 @@ var uninstallCommand = new Command("uninstall").description("Uninstall an agent
|
|
|
19942
17416
|
process.exit(1);
|
|
19943
17417
|
}
|
|
19944
17418
|
});
|
|
19945
|
-
|
|
19946
|
-
|
|
19947
|
-
|
|
19948
|
-
|
|
19949
|
-
|
|
19950
|
-
|
|
19951
|
-
|
|
19952
|
-
|
|
19953
|
-
|
|
19954
|
-
|
|
19955
|
-
|
|
19956
|
-
|
|
19957
|
-
|
|
19958
|
-
|
|
19959
|
-
|
|
19960
|
-
|
|
19961
|
-
|
|
19962
|
-
|
|
19963
|
-
|
|
19964
|
-
}
|
|
19965
|
-
console.log();
|
|
19966
|
-
console.log(source_default.dim(" Required files: manifest.yaml, IDENTITY.md, SOUL.md"));
|
|
19967
|
-
console.log(
|
|
19968
|
-
source_default.dim(
|
|
19969
|
-
" See: https://soulhub.dev/docs/contributing"
|
|
19970
|
-
)
|
|
19971
|
-
);
|
|
19972
|
-
return;
|
|
19973
|
-
}
|
|
19974
|
-
const manifestContent = import_node_fs6.default.readFileSync(
|
|
19975
|
-
import_node_path5.default.join(dir, "manifest.yaml"),
|
|
19976
|
-
"utf-8"
|
|
19977
|
-
);
|
|
19978
|
-
const manifest = jsYaml.load(manifestContent);
|
|
19979
|
-
const requiredFields = [
|
|
19980
|
-
"name",
|
|
19981
|
-
"displayName",
|
|
19982
|
-
"description",
|
|
19983
|
-
"category",
|
|
19984
|
-
"version",
|
|
19985
|
-
"author"
|
|
19986
|
-
];
|
|
19987
|
-
const missingFields = requiredFields.filter(
|
|
19988
|
-
(f) => !manifest[f]
|
|
17419
|
+
function listBackupRecords() {
|
|
17420
|
+
const manifest = loadBackupManifest();
|
|
17421
|
+
if (manifest.records.length === 0) {
|
|
17422
|
+
console.log(source_default.yellow("No backup records found."));
|
|
17423
|
+
console.log(source_default.dim(" Backup records are created automatically when you install agents."));
|
|
17424
|
+
return;
|
|
17425
|
+
}
|
|
17426
|
+
console.log(source_default.bold("\nAvailable rollback records:\n"));
|
|
17427
|
+
console.log(
|
|
17428
|
+
source_default.dim(
|
|
17429
|
+
` ${"ID".padEnd(20)} ${"Type".padEnd(20)} ${"Package".padEnd(20)} ${"Date".padEnd(22)} Items`
|
|
17430
|
+
)
|
|
17431
|
+
);
|
|
17432
|
+
console.log(source_default.dim(" " + "\u2500".repeat(90)));
|
|
17433
|
+
for (const record of manifest.records) {
|
|
17434
|
+
const date = new Date(record.createdAt).toLocaleString();
|
|
17435
|
+
const typeLabel = formatInstallType(record.installType);
|
|
17436
|
+
const itemCount = record.items.length;
|
|
17437
|
+
console.log(
|
|
17438
|
+
` ${source_default.cyan(record.id.padEnd(20))} ${typeLabel.padEnd(20)} ${source_default.white(record.packageName.padEnd(20))} ${source_default.dim(date.padEnd(22))} ${itemCount} backup(s)`
|
|
19989
17439
|
);
|
|
19990
|
-
|
|
19991
|
-
|
|
19992
|
-
|
|
19993
|
-
|
|
19994
|
-
|
|
19995
|
-
|
|
19996
|
-
|
|
19997
|
-
|
|
19998
|
-
|
|
19999
|
-
|
|
20000
|
-
|
|
20001
|
-
|
|
20002
|
-
|
|
20003
|
-
|
|
20004
|
-
|
|
20005
|
-
|
|
20006
|
-
|
|
20007
|
-
|
|
20008
|
-
);
|
|
17440
|
+
}
|
|
17441
|
+
console.log();
|
|
17442
|
+
console.log(source_default.dim(" Usage:"));
|
|
17443
|
+
console.log(source_default.dim(" soulhub rollback # Rollback last installation"));
|
|
17444
|
+
console.log(source_default.dim(" soulhub rollback --id <id> # Rollback to a specific record"));
|
|
17445
|
+
console.log();
|
|
17446
|
+
}
|
|
17447
|
+
async function performRollback(recordId, clawDir) {
|
|
17448
|
+
const manifest = loadBackupManifest();
|
|
17449
|
+
if (manifest.records.length === 0) {
|
|
17450
|
+
console.log(source_default.yellow("No backup records found. Nothing to rollback."));
|
|
17451
|
+
return;
|
|
17452
|
+
}
|
|
17453
|
+
let record;
|
|
17454
|
+
if (recordId) {
|
|
17455
|
+
record = manifest.records.find((r) => r.id === recordId);
|
|
17456
|
+
if (!record) {
|
|
17457
|
+
console.error(source_default.red(`Backup record "${recordId}" not found.`));
|
|
17458
|
+
console.log(source_default.dim(" Use 'soulhub rollback --list' to see available records."));
|
|
20009
17459
|
return;
|
|
20010
17460
|
}
|
|
20011
|
-
|
|
20012
|
-
|
|
20013
|
-
console.log(source_default.bold(` ${manifest.displayName}`));
|
|
20014
|
-
console.log(
|
|
20015
|
-
source_default.dim(` ${manifest.name} v${manifest.version}`)
|
|
20016
|
-
);
|
|
20017
|
-
console.log(` ${manifest.description}`);
|
|
20018
|
-
console.log();
|
|
20019
|
-
console.log(source_default.bold(" Next steps to publish:"));
|
|
20020
|
-
console.log();
|
|
20021
|
-
console.log(
|
|
20022
|
-
` 1. Fork ${source_default.cyan("github.com/soulhub-community/soulhub")}`
|
|
20023
|
-
);
|
|
20024
|
-
console.log(
|
|
20025
|
-
` 2. Copy your agent directory to ${source_default.cyan(`registry/agents/${manifest.name}/`)}`
|
|
20026
|
-
);
|
|
20027
|
-
console.log(
|
|
20028
|
-
` 3. Submit a Pull Request`
|
|
20029
|
-
);
|
|
20030
|
-
console.log();
|
|
17461
|
+
} else {
|
|
17462
|
+
record = manifest.records[0];
|
|
20031
17463
|
console.log(
|
|
20032
17464
|
source_default.dim(
|
|
20033
|
-
|
|
17465
|
+
`Rolling back last installation: ${source_default.cyan(record.id)} (${record.packageName})`
|
|
20034
17466
|
)
|
|
20035
17467
|
);
|
|
20036
|
-
console.log();
|
|
20037
|
-
} catch (error) {
|
|
20038
|
-
logger.errorObj("Publish command failed", error);
|
|
20039
|
-
console.error(
|
|
20040
|
-
source_default.red(`Error: ${error instanceof Error ? error.message : error}`)
|
|
20041
|
-
);
|
|
20042
|
-
console.error(source_default.dim(` See logs: ${logger.getTodayLogFile()}`));
|
|
20043
|
-
process.exit(1);
|
|
20044
17468
|
}
|
|
20045
|
-
|
|
17469
|
+
const spinner = createSpinner(
|
|
17470
|
+
`Rolling back ${source_default.cyan(record.packageName)}...`
|
|
17471
|
+
).start();
|
|
17472
|
+
const resolvedClawDir = findOpenClawDir(clawDir) || record.clawDir;
|
|
17473
|
+
if (!resolvedClawDir || !import_node_fs5.default.existsSync(resolvedClawDir)) {
|
|
17474
|
+
spinner.fail(`OpenClaw directory not found: ${record.clawDir}`);
|
|
17475
|
+
return;
|
|
17476
|
+
}
|
|
17477
|
+
if (record.openclawJsonSnapshot) {
|
|
17478
|
+
spinner.text = "Restoring openclaw.json...";
|
|
17479
|
+
try {
|
|
17480
|
+
const configObj = JSON.parse(record.openclawJsonSnapshot);
|
|
17481
|
+
writeOpenClawConfig(resolvedClawDir, configObj);
|
|
17482
|
+
logger.info("openclaw.json restored from snapshot", { recordId: record.id });
|
|
17483
|
+
} catch (err) {
|
|
17484
|
+
logger.error("Failed to restore openclaw.json", { error: err });
|
|
17485
|
+
console.log(source_default.yellow(" \u26A0 Failed to restore openclaw.json, skipping..."));
|
|
17486
|
+
}
|
|
17487
|
+
}
|
|
17488
|
+
if (record.installedWorkerIds.length > 0) {
|
|
17489
|
+
spinner.text = "Removing installed workers...";
|
|
17490
|
+
for (const workerId of record.installedWorkerIds) {
|
|
17491
|
+
const workerDir = getWorkspaceDir(resolvedClawDir, workerId);
|
|
17492
|
+
if (import_node_fs5.default.existsSync(workerDir)) {
|
|
17493
|
+
import_node_fs5.default.rmSync(workerDir, { recursive: true, force: true });
|
|
17494
|
+
logger.info(`Removed installed worker directory`, { workerId, dir: workerDir });
|
|
17495
|
+
}
|
|
17496
|
+
const agentConfigDir = import_node_path5.default.join(resolvedClawDir, "agents", workerId);
|
|
17497
|
+
if (import_node_fs5.default.existsSync(agentConfigDir)) {
|
|
17498
|
+
import_node_fs5.default.rmSync(agentConfigDir, { recursive: true, force: true });
|
|
17499
|
+
}
|
|
17500
|
+
}
|
|
17501
|
+
}
|
|
17502
|
+
if (record.installedMainAgent) {
|
|
17503
|
+
const mainWorkspace = getMainWorkspaceDir(resolvedClawDir);
|
|
17504
|
+
const hasMainBackup = record.items.some((item) => item.role === "main");
|
|
17505
|
+
if (hasMainBackup && import_node_fs5.default.existsSync(mainWorkspace)) {
|
|
17506
|
+
spinner.text = "Cleaning current main workspace...";
|
|
17507
|
+
const entries = import_node_fs5.default.readdirSync(mainWorkspace);
|
|
17508
|
+
for (const entry of entries) {
|
|
17509
|
+
import_node_fs5.default.rmSync(import_node_path5.default.join(mainWorkspace, entry), { recursive: true, force: true });
|
|
17510
|
+
}
|
|
17511
|
+
}
|
|
17512
|
+
}
|
|
17513
|
+
let restoredCount = 0;
|
|
17514
|
+
for (const item of record.items) {
|
|
17515
|
+
if (!import_node_fs5.default.existsSync(item.backupPath)) {
|
|
17516
|
+
logger.warn(`Backup path not found, skipping`, { backupPath: item.backupPath });
|
|
17517
|
+
console.log(source_default.yellow(` \u26A0 Backup not found: ${item.backupPath}, skipping...`));
|
|
17518
|
+
continue;
|
|
17519
|
+
}
|
|
17520
|
+
spinner.text = `Restoring ${source_default.cyan(item.agentId)} (${item.role})...`;
|
|
17521
|
+
if (item.method === "mv") {
|
|
17522
|
+
if (import_node_fs5.default.existsSync(item.originalPath)) {
|
|
17523
|
+
import_node_fs5.default.rmSync(item.originalPath, { recursive: true, force: true });
|
|
17524
|
+
}
|
|
17525
|
+
import_node_fs5.default.mkdirSync(import_node_path5.default.dirname(item.originalPath), { recursive: true });
|
|
17526
|
+
import_node_fs5.default.renameSync(item.backupPath, item.originalPath);
|
|
17527
|
+
logger.info(`Restored (mv back)`, { from: item.backupPath, to: item.originalPath });
|
|
17528
|
+
} else {
|
|
17529
|
+
if (import_node_fs5.default.existsSync(item.originalPath)) {
|
|
17530
|
+
const entries = import_node_fs5.default.readdirSync(item.originalPath);
|
|
17531
|
+
for (const entry of entries) {
|
|
17532
|
+
import_node_fs5.default.rmSync(import_node_path5.default.join(item.originalPath, entry), { recursive: true, force: true });
|
|
17533
|
+
}
|
|
17534
|
+
} else {
|
|
17535
|
+
import_node_fs5.default.mkdirSync(item.originalPath, { recursive: true });
|
|
17536
|
+
}
|
|
17537
|
+
import_node_fs5.default.cpSync(item.backupPath, item.originalPath, { recursive: true });
|
|
17538
|
+
import_node_fs5.default.rmSync(item.backupPath, { recursive: true, force: true });
|
|
17539
|
+
logger.info(`Restored (cp back)`, { from: item.backupPath, to: item.originalPath });
|
|
17540
|
+
}
|
|
17541
|
+
restoredCount++;
|
|
17542
|
+
}
|
|
17543
|
+
manifest.records = manifest.records.filter((r) => r.id !== record.id);
|
|
17544
|
+
saveBackupManifest(manifest);
|
|
17545
|
+
spinner.succeed(
|
|
17546
|
+
`Rolled back ${source_default.cyan.bold(record.packageName)} successfully! (${restoredCount} item(s) restored)`
|
|
17547
|
+
);
|
|
17548
|
+
const restartSpinner = createSpinner("Restarting OpenClaw Gateway...").start();
|
|
17549
|
+
const result = restartOpenClawGateway();
|
|
17550
|
+
if (result.success) {
|
|
17551
|
+
restartSpinner.succeed("OpenClaw Gateway restarted successfully.");
|
|
17552
|
+
} else {
|
|
17553
|
+
restartSpinner.warn("Failed to restart OpenClaw Gateway.");
|
|
17554
|
+
console.log(source_default.yellow(` Reason: ${result.message}`));
|
|
17555
|
+
console.log(source_default.dim(" Please restart manually:"));
|
|
17556
|
+
console.log(source_default.dim(" openclaw gateway restart"));
|
|
17557
|
+
}
|
|
17558
|
+
console.log();
|
|
17559
|
+
}
|
|
17560
|
+
function formatInstallType(type2) {
|
|
17561
|
+
switch (type2) {
|
|
17562
|
+
case "single-agent":
|
|
17563
|
+
return source_default.blue("Single Agent");
|
|
17564
|
+
case "team-registry":
|
|
17565
|
+
return source_default.magenta("Team (Registry)");
|
|
17566
|
+
case "team-local":
|
|
17567
|
+
return source_default.magenta("Team (Local)");
|
|
17568
|
+
case "single-agent-local":
|
|
17569
|
+
return source_default.blue("Agent (Local)");
|
|
17570
|
+
default:
|
|
17571
|
+
return type2;
|
|
17572
|
+
}
|
|
17573
|
+
}
|
|
20046
17574
|
|
|
20047
17575
|
// src/index.ts
|
|
20048
17576
|
var program2 = new Command();
|
|
@@ -20061,8 +17589,7 @@ program2.addCommand(infoCommand);
|
|
|
20061
17589
|
program2.addCommand(installCommand);
|
|
20062
17590
|
program2.addCommand(listCommand);
|
|
20063
17591
|
program2.addCommand(updateCommand);
|
|
20064
|
-
program2.addCommand(
|
|
20065
|
-
program2.addCommand(publishCommand);
|
|
17592
|
+
program2.addCommand(rollbackCommand);
|
|
20066
17593
|
program2.parse();
|
|
20067
17594
|
/*! Bundled license information:
|
|
20068
17595
|
|