Files
hive/frontend/node_modules/storybook/dist/common/index.js
anthonyrawlins e89f2f4b7b Add comprehensive development roadmap via GitHub Issues
Created 10 detailed GitHub issues covering:
- Project activation and management UI (#1-2)
- Worker node coordination and visualization (#3-4)
- Automated GitHub repository scanning (#5)
- Intelligent model-to-issue matching (#6)
- Multi-model task execution system (#7)
- N8N workflow integration (#8)
- Hive-Bzzz P2P bridge (#9)
- Peer assistance protocol (#10)

Each issue includes detailed specifications, acceptance criteria,
technical implementation notes, and dependency mapping.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:41:01 +10:00

27925 lines
1.1 MiB

import ESM_COMPAT_Module from "node:module";
import { fileURLToPath as ESM_COMPAT_fileURLToPath } from 'node:url';
import { dirname as ESM_COMPAT_dirname } from 'node:path';
const __filename = ESM_COMPAT_fileURLToPath(import.meta.url);
const __dirname = ESM_COMPAT_dirname(__filename);
const require = ESM_COMPAT_Module.createRequire(import.meta.url);
var $K = Object.create;
var Ci = Object.defineProperty;
var AF = Object.getOwnPropertyDescriptor;
var eF = Object.getOwnPropertyNames;
var tF = Object.getPrototypeOf, rF = Object.prototype.hasOwnProperty;
var s = (t, A) => Ci(t, "name", { value: A, configurable: !0 }), v = /* @__PURE__ */ ((t) => typeof require < "u" ? require : typeof Proxy <
"u" ? new Proxy(t, {
get: (A, e) => (typeof require < "u" ? require : A)[e]
}) : t)(function(t) {
if (typeof require < "u") return require.apply(this, arguments);
throw Error('Dynamic require of "' + t + '" is not supported');
});
var ue = (t, A) => () => (t && (A = t(t = 0)), A);
var m = (t, A) => () => (A || t((A = { exports: {} }).exports, A), A.exports), Ss = (t, A) => {
for (var e in A)
Ci(t, e, { get: A[e], enumerable: !0 });
}, hl = (t, A, e, r) => {
if (A && typeof A == "object" || typeof A == "function")
for (let i of eF(A))
!rF.call(t, i) && i !== e && Ci(t, i, { get: () => A[i], enumerable: !(r = AF(A, i)) || r.enumerable });
return t;
};
var cA = (t, A, e) => (e = t != null ? $K(tF(t)) : {}, hl(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
A || !t || !t.__esModule ? Ci(e, "default", { value: t, enumerable: !0 }) : e,
t
)), Fe = (t) => hl(Ci({}, "__esModule", { value: !0 }), t);
// ../node_modules/ts-dedent/dist/index.js
var ot = m((ci) => {
"use strict";
Object.defineProperty(ci, "__esModule", { value: !0 });
ci.dedent = void 0;
function ll(t) {
for (var A = [], e = 1; e < arguments.length; e++)
A[e - 1] = arguments[e];
var r = Array.from(typeof t == "string" ? [t] : t);
r[r.length - 1] = r[r.length - 1].replace(/\r?\n([\t ]*)$/, "");
var i = r.reduce(function(g, C) {
var I = C.match(/\n([\t ]+|(?!\s).)/g);
return I ? g.concat(I.map(function(E) {
var Q, B;
return (B = (Q = E.match(/[\t ]/g)) === null || Q === void 0 ? void 0 : Q.length) !== null && B !== void 0 ? B : 0;
})) : g;
}, []);
if (i.length) {
var n = new RegExp(`
[ ]{` + Math.min.apply(Math, i) + "}", "g");
r = r.map(function(g) {
return g.replace(n, `
`);
});
}
r[0] = r[0].replace(/^\r?\n/, "");
var o = r[0];
return A.forEach(function(g, C) {
var I = o.match(/(?:^|\n)( *)$/), E = I ? I[1] : "", Q = g;
typeof g == "string" && g.includes(`
`) && (Q = String(g).split(`
`).map(function(B, p) {
return p === 0 ? B : "" + E + B;
}).join(`
`)), o += Q + r[C + 1];
}), o;
}
s(ll, "dedent");
ci.dedent = ll;
ci.default = ll;
});
// ../node_modules/balanced-match/index.js
var ml = m((PT, wl) => {
"use strict";
wl.exports = dl;
function dl(t, A, e) {
t instanceof RegExp && (t = fl(t, e)), A instanceof RegExp && (A = fl(A, e));
var r = pl(t, A, e);
return r && {
start: r[0],
end: r[1],
pre: e.slice(0, r[0]),
body: e.slice(r[0] + t.length, r[1]),
post: e.slice(r[1] + A.length)
};
}
s(dl, "balanced");
function fl(t, A) {
var e = A.match(t);
return e ? e[0] : null;
}
s(fl, "maybeMatch");
dl.range = pl;
function pl(t, A, e) {
var r, i, n, o, g, C = e.indexOf(t), I = e.indexOf(A, C + 1), E = C;
if (C >= 0 && I > 0) {
if (t === A)
return [C, I];
for (r = [], n = e.length; E >= 0 && !g; )
E == C ? (r.push(E), C = e.indexOf(t, E + 1)) : r.length == 1 ? g = [r.pop(), I] : (i = r.pop(), i < n && (n = i, o = I), I = e.indexOf(
A, E + 1)), E = C < I && C >= 0 ? C : I;
r.length && (g = [n, o]);
}
return g;
}
s(pl, "range");
});
// ../node_modules/brace-expansion/index.js
var Nl = m((_T, bl) => {
var yl = ml();
bl.exports = gF;
var Dl = "\0SLASH" + Math.random() + "\0", Sl = "\0OPEN" + Math.random() + "\0", wg = "\0CLOSE" + Math.random() + "\0", Kl = "\0COMMA" + Math.
random() + "\0", Fl = "\0PERIOD" + Math.random() + "\0";
function pg(t) {
return parseInt(t, 10) == t ? parseInt(t, 10) : t.charCodeAt(0);
}
s(pg, "numeric");
function nF(t) {
return t.split("\\\\").join(Dl).split("\\{").join(Sl).split("\\}").join(wg).split("\\,").join(Kl).split("\\.").join(Fl);
}
s(nF, "escapeBraces");
function oF(t) {
return t.split(Dl).join("\\").split(Sl).join("{").split(wg).join("}").split(Kl).join(",").split(Fl).join(".");
}
s(oF, "unescapeBraces");
function kl(t) {
if (!t)
return [""];
var A = [], e = yl("{", "}", t);
if (!e)
return t.split(",");
var r = e.pre, i = e.body, n = e.post, o = r.split(",");
o[o.length - 1] += "{" + i + "}";
var g = kl(n);
return n.length && (o[o.length - 1] += g.shift(), o.push.apply(o, g)), A.push.apply(A, o), A;
}
s(kl, "parseCommaParts");
function gF(t) {
return t ? (t.substr(0, 2) === "{}" && (t = "\\{\\}" + t.substr(2)), li(nF(t), !0).map(oF)) : [];
}
s(gF, "expandTop");
function aF(t) {
return "{" + t + "}";
}
s(aF, "embrace");
function CF(t) {
return /^-?0\d/.test(t);
}
s(CF, "isPadded");
function cF(t, A) {
return t <= A;
}
s(cF, "lte");
function IF(t, A) {
return t >= A;
}
s(IF, "gte");
function li(t, A) {
var e = [], r = yl("{", "}", t);
if (!r) return [t];
var i = r.pre, n = r.post.length ? li(r.post, !1) : [""];
if (/\$$/.test(r.pre))
for (var o = 0; o < n.length; o++) {
var g = i + "{" + r.body + "}" + n[o];
e.push(g);
}
else {
var C = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body), I = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body), E = C || I, Q = r.body.
indexOf(",") >= 0;
if (!E && !Q)
return r.post.match(/,.*\}/) ? (t = r.pre + "{" + r.body + wg + r.post, li(t)) : [t];
var B;
if (E)
B = r.body.split(/\.\./);
else if (B = kl(r.body), B.length === 1 && (B = li(B[0], !1).map(aF), B.length === 1))
return n.map(function(mA) {
return r.pre + B[0] + mA;
});
var p;
if (E) {
var w = pg(B[0]), D = pg(B[1]), N = Math.max(B[0].length, B[1].length), k = B.length == 3 ? Math.abs(pg(B[2])) : 1, _ = cF, L = D < w;
L && (k *= -1, _ = IF);
var J = B.some(CF);
p = [];
for (var U = w; _(U, D); U += k) {
var $;
if (I)
$ = String.fromCharCode(U), $ === "\\" && ($ = "");
else if ($ = String(U), J) {
var q = N - $.length;
if (q > 0) {
var T = new Array(q + 1).join("0");
U < 0 ? $ = "-" + T + $.slice(1) : $ = T + $;
}
}
p.push($);
}
} else {
p = [];
for (var eA = 0; eA < B.length; eA++)
p.push.apply(p, li(B[eA], !1));
}
for (var eA = 0; eA < p.length; eA++)
for (var o = 0; o < n.length; o++) {
var g = i + p[eA] + n[o];
(!A || E || g) && e.push(g);
}
}
return e;
}
s(li, "expand");
});
// ../node_modules/slash/index.js
function Ae(t) {
return t.startsWith("\\\\?\\") ? t : t.replace(/\\/g, "/");
}
var Mr = ue(() => {
s(Ae, "slash");
});
// ../node_modules/resolve-from/index.js
var Og = m((D1, Jg) => {
"use strict";
var QE = v("path"), fE = v("module"), Lk = v("fs"), dE = /* @__PURE__ */ s((t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof t}\``);
if (typeof A != "string")
throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof A}\``);
try {
t = Lk.realpathSync(t);
} catch (n) {
if (n.code === "ENOENT")
t = QE.resolve(t);
else {
if (e)
return;
throw n;
}
}
let r = QE.join(t, "noop.js"), i = /* @__PURE__ */ s(() => fE._resolveFilename(A, {
id: r,
filename: r,
paths: fE._nodeModulePaths(t)
}), "resolveFileName");
if (e)
try {
return i();
} catch {
return;
}
return i();
}, "resolveFrom");
Jg.exports = (t, A) => dE(t, A);
Jg.exports.silent = (t, A) => dE(t, A, !0);
});
// ../node_modules/common-path-prefix/index.js
var LE = m((V1, vE) => {
"use strict";
var { sep: $k } = v("path"), Ab = /* @__PURE__ */ s((t) => {
for (let A of t) {
let e = /(\/|\\)/.exec(A);
if (e !== null) return e[0];
}
return $k;
}, "determineSeparator");
vE.exports = /* @__PURE__ */ s(function(A, e = Ab(A)) {
let [r = "", ...i] = A;
if (r === "" || i.length === 0) return "";
let n = r.split(e), o = n.length;
for (let C of i) {
let I = C.split(e);
for (let E = 0; E < o; E++)
I[E] !== n[E] && (o = E);
if (o === 0) return "";
}
let g = n.slice(0, o).join(e);
return g.endsWith(e) ? g : g + e;
}, "commonPathPrefix");
});
// ../node_modules/yocto-queue/index.js
var qg, tr, zg = ue(() => {
qg = class {
static {
s(this, "Node");
}
value;
next;
constructor(A) {
this.value = A;
}
}, tr = class {
static {
s(this, "Queue");
}
#A;
#e;
#t;
constructor() {
this.clear();
}
enqueue(A) {
let e = new qg(A);
this.#A ? (this.#e.next = e, this.#e = e) : (this.#A = e, this.#e = e), this.#t++;
}
dequeue() {
let A = this.#A;
if (A)
return this.#A = this.#A.next, this.#t--, A.value;
}
peek() {
if (this.#A)
return this.#A.value;
}
clear() {
this.#A = void 0, this.#e = void 0, this.#t = 0;
}
get size() {
return this.#t;
}
*[Symbol.iterator]() {
let A = this.#A;
for (; A; )
yield A.value, A = A.next;
}
*drain() {
for (; this.#A; )
yield this.dequeue();
}
};
});
// ../node_modules/isexe/windows.js
var nu = m(($j, su) => {
su.exports = iu;
iu.sync = yb;
var tu = v("fs");
function mb(t, A) {
var e = A.pathExt !== void 0 ? A.pathExt : process.env.PATHEXT;
if (!e || (e = e.split(";"), e.indexOf("") !== -1))
return !0;
for (var r = 0; r < e.length; r++) {
var i = e[r].toLowerCase();
if (i && t.substr(-i.length).toLowerCase() === i)
return !0;
}
return !1;
}
s(mb, "checkPathExt");
function ru(t, A, e) {
return !t.isSymbolicLink() && !t.isFile() ? !1 : mb(A, e);
}
s(ru, "checkStat");
function iu(t, A, e) {
tu.stat(t, function(r, i) {
e(r, r ? !1 : ru(i, t, A));
});
}
s(iu, "isexe");
function yb(t, A) {
return ru(tu.statSync(t), t, A);
}
s(yb, "sync");
});
// ../node_modules/isexe/mode.js
var cu = m((eq, Cu) => {
Cu.exports = gu;
gu.sync = Db;
var ou = v("fs");
function gu(t, A, e) {
ou.stat(t, function(r, i) {
e(r, r ? !1 : au(i, A));
});
}
s(gu, "isexe");
function Db(t, A) {
return au(ou.statSync(t), A);
}
s(Db, "sync");
function au(t, A) {
return t.isFile() && Sb(t, A);
}
s(au, "checkStat");
function Sb(t, A) {
var e = t.mode, r = t.uid, i = t.gid, n = A.uid !== void 0 ? A.uid : process.getuid && process.getuid(), o = A.gid !== void 0 ? A.gid : process.
getgid && process.getgid(), g = parseInt("100", 8), C = parseInt("010", 8), I = parseInt("001", 8), E = g | C, Q = e & I || e & C && i ===
o || e & g && r === n || e & E && n === 0;
return Q;
}
s(Sb, "checkMode");
});
// ../node_modules/isexe/index.js
var hu = m((iq, Iu) => {
var rq = v("fs"), tn;
process.platform === "win32" || global.TESTING_WINDOWS ? tn = nu() : tn = cu();
Iu.exports = Aa;
Aa.sync = Kb;
function Aa(t, A, e) {
if (typeof A == "function" && (e = A, A = {}), !e) {
if (typeof Promise != "function")
throw new TypeError("callback not provided");
return new Promise(function(r, i) {
Aa(t, A || {}, function(n, o) {
n ? i(n) : r(o);
});
});
}
tn(t, A || {}, function(r, i) {
r && (r.code === "EACCES" || A && A.ignoreErrors) && (r = null, i = !1), e(r, i);
});
}
s(Aa, "isexe");
function Kb(t, A) {
try {
return tn.sync(t, A || {});
} catch (e) {
if (A && A.ignoreErrors || e.code === "EACCES")
return !1;
throw e;
}
}
s(Kb, "sync");
});
// ../node_modules/which/which.js
var du = m((nq, fu) => {
var vr = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys", lu = v("path"), Fb = vr ? ";" :
":", Eu = hu(), uu = /* @__PURE__ */ s((t) => Object.assign(new Error(`not found: ${t}`), { code: "ENOENT" }), "getNotFoundError"), Bu = /* @__PURE__ */ s(
(t, A) => {
let e = A.colon || Fb, r = t.match(/\//) || vr && t.match(/\\/) ? [""] : [
// windows always checks the cwd first
...vr ? [process.cwd()] : [],
...(A.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(e)
], i = vr ? A.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "", n = vr ? i.split(e) : [""];
return vr && t.indexOf(".") !== -1 && n[0] !== "" && n.unshift(""), {
pathEnv: r,
pathExt: n,
pathExtExe: i
};
}, "getPathInfo"), Qu = /* @__PURE__ */ s((t, A, e) => {
typeof A == "function" && (e = A, A = {}), A || (A = {});
let { pathEnv: r, pathExt: i, pathExtExe: n } = Bu(t, A), o = [], g = /* @__PURE__ */ s((I) => new Promise((E, Q) => {
if (I === r.length)
return A.all && o.length ? E(o) : Q(uu(t));
let B = r[I], p = /^".*"$/.test(B) ? B.slice(1, -1) : B, w = lu.join(p, t), D = !p && /^\.[\\\/]/.test(t) ? t.slice(0, 2) + w : w;
E(C(D, I, 0));
}), "step"), C = /* @__PURE__ */ s((I, E, Q) => new Promise((B, p) => {
if (Q === i.length)
return B(g(E + 1));
let w = i[Q];
Eu(I + w, { pathExt: n }, (D, N) => {
if (!D && N)
if (A.all)
o.push(I + w);
else
return B(I + w);
return B(C(I, E, Q + 1));
});
}), "subStep");
return e ? g(0).then((I) => e(null, I), e) : g(0);
}, "which"), kb = /* @__PURE__ */ s((t, A) => {
A = A || {};
let { pathEnv: e, pathExt: r, pathExtExe: i } = Bu(t, A), n = [];
for (let o = 0; o < e.length; o++) {
let g = e[o], C = /^".*"$/.test(g) ? g.slice(1, -1) : g, I = lu.join(C, t), E = !C && /^\.[\\\/]/.test(t) ? t.slice(0, 2) + I : I;
for (let Q = 0; Q < r.length; Q++) {
let B = E + r[Q];
try {
if (Eu.sync(B, { pathExt: i }))
if (A.all)
n.push(B);
else
return B;
} catch {
}
}
}
if (A.all && n.length)
return n;
if (A.nothrow)
return null;
throw uu(t);
}, "whichSync");
fu.exports = Qu;
Qu.sync = kb;
});
// ../node_modules/path-key/index.js
var wu = m((gq, ea) => {
"use strict";
var pu = /* @__PURE__ */ s((t = {}) => {
let A = t.env || process.env;
return (t.platform || process.platform) !== "win32" ? "PATH" : Object.keys(A).reverse().find((r) => r.toUpperCase() === "PATH") || "Path";
}, "pathKey");
ea.exports = pu;
ea.exports.default = pu;
});
// ../node_modules/cross-spawn/lib/util/resolveCommand.js
var Su = m((Cq, Du) => {
"use strict";
var mu = v("path"), bb = du(), Nb = wu();
function yu(t, A) {
let e = t.options.env || process.env, r = process.cwd(), i = t.options.cwd != null, n = i && process.chdir !== void 0 && !process.chdir.
disabled;
if (n)
try {
process.chdir(t.options.cwd);
} catch {
}
let o;
try {
o = bb.sync(t.command, {
path: e[Nb({ env: e })],
pathExt: A ? mu.delimiter : void 0
});
} catch {
} finally {
n && process.chdir(r);
}
return o && (o = mu.resolve(i ? t.options.cwd : "", o)), o;
}
s(yu, "resolveCommandAttempt");
function Mb(t) {
return yu(t) || yu(t, !0);
}
s(Mb, "resolveCommand");
Du.exports = Mb;
});
// ../node_modules/cross-spawn/lib/util/escape.js
var Ku = m((Iq, ra) => {
"use strict";
var ta = /([()\][%!^"`<>&|;, *?])/g;
function Rb(t) {
return t = t.replace(ta, "^$1"), t;
}
s(Rb, "escapeCommand");
function vb(t, A) {
return t = `${t}`, t = t.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"'), t = t.replace(/(?=(\\+?)?)\1$/, "$1$1"), t = `"${t}"`, t = t.replace(ta,
"^$1"), A && (t = t.replace(ta, "^$1")), t;
}
s(vb, "escapeArgument");
ra.exports.command = Rb;
ra.exports.argument = vb;
});
// ../node_modules/shebang-regex/index.js
var ku = m((lq, Fu) => {
"use strict";
Fu.exports = /^#!(.*)/;
});
// ../node_modules/shebang-command/index.js
var Nu = m((Eq, bu) => {
"use strict";
var Lb = ku();
bu.exports = (t = "") => {
let A = t.match(Lb);
if (!A)
return null;
let [e, r] = A[0].replace(/#! ?/, "").split(" "), i = e.split("/").pop();
return i === "env" ? r : r ? `${i} ${r}` : i;
};
});
// ../node_modules/cross-spawn/lib/util/readShebang.js
var Ru = m((uq, Mu) => {
"use strict";
var ia = v("fs"), xb = Nu();
function Yb(t) {
let e = Buffer.alloc(150), r;
try {
r = ia.openSync(t, "r"), ia.readSync(r, e, 0, 150, 0), ia.closeSync(r);
} catch {
}
return xb(e.toString());
}
s(Yb, "readShebang");
Mu.exports = Yb;
});
// ../node_modules/cross-spawn/lib/parse.js
var Yu = m((Qq, xu) => {
"use strict";
var Pb = v("path"), vu = Su(), Lu = Ku(), Ub = Ru(), _b = process.platform === "win32", Gb = /\.(?:com|exe)$/i, Jb = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
function Ob(t) {
t.file = vu(t);
let A = t.file && Ub(t.file);
return A ? (t.args.unshift(t.file), t.command = A, vu(t)) : t.file;
}
s(Ob, "detectShebang");
function Tb(t) {
if (!_b)
return t;
let A = Ob(t), e = !Gb.test(A);
if (t.options.forceShell || e) {
let r = Jb.test(A);
t.command = Pb.normalize(t.command), t.command = Lu.command(t.command), t.args = t.args.map((n) => Lu.argument(n, r));
let i = [t.command].concat(t.args).join(" ");
t.args = ["/d", "/s", "/c", `"${i}"`], t.command = process.env.comspec || "cmd.exe", t.options.windowsVerbatimArguments = !0;
}
return t;
}
s(Tb, "parseNonShell");
function Hb(t, A, e) {
A && !Array.isArray(A) && (e = A, A = null), A = A ? A.slice(0) : [], e = Object.assign({}, e);
let r = {
command: t,
args: A,
options: e,
file: void 0,
original: {
command: t,
args: A
}
};
return e.shell ? r : Tb(r);
}
s(Hb, "parse");
xu.exports = Hb;
});
// ../node_modules/cross-spawn/lib/enoent.js
var _u = m((dq, Uu) => {
"use strict";
var sa = process.platform === "win32";
function na(t, A) {
return Object.assign(new Error(`${A} ${t.command} ENOENT`), {
code: "ENOENT",
errno: "ENOENT",
syscall: `${A} ${t.command}`,
path: t.command,
spawnargs: t.args
});
}
s(na, "notFoundError");
function jb(t, A) {
if (!sa)
return;
let e = t.emit;
t.emit = function(r, i) {
if (r === "exit") {
let n = Pu(i, A);
if (n)
return e.call(t, "error", n);
}
return e.apply(t, arguments);
};
}
s(jb, "hookChildProcess");
function Pu(t, A) {
return sa && t === 1 && !A.file ? na(A.original, "spawn") : null;
}
s(Pu, "verifyENOENT");
function qb(t, A) {
return sa && t === 1 && !A.file ? na(A.original, "spawnSync") : null;
}
s(qb, "verifyENOENTSync");
Uu.exports = {
hookChildProcess: jb,
verifyENOENT: Pu,
verifyENOENTSync: qb,
notFoundError: na
};
});
// ../node_modules/cross-spawn/index.js
var aa = m((wq, Lr) => {
"use strict";
var Gu = v("child_process"), oa = Yu(), ga = _u();
function Ju(t, A, e) {
let r = oa(t, A, e), i = Gu.spawn(r.command, r.args, r.options);
return ga.hookChildProcess(i, r), i;
}
s(Ju, "spawn");
function zb(t, A, e) {
let r = oa(t, A, e), i = Gu.spawnSync(r.command, r.args, r.options);
return i.error = i.error || ga.verifyENOENTSync(i.status, r), i;
}
s(zb, "spawnSync");
Lr.exports = Ju;
Lr.exports.spawn = Ju;
Lr.exports.sync = zb;
Lr.exports._parse = oa;
Lr.exports._enoent = ga;
});
// ../node_modules/merge-stream/index.js
var EB = m((z8, lB) => {
"use strict";
var { PassThrough: jN } = v("stream");
lB.exports = function() {
var t = [], A = new jN({ objectMode: !0 });
return A.setMaxListeners(0), A.add = e, A.isEmpty = r, A.on("unpipe", i), Array.prototype.slice.call(arguments).forEach(e), A;
function e(n) {
return Array.isArray(n) ? (n.forEach(e), this) : (t.push(n), n.once("end", i.bind(null, n)), n.once("error", A.emit.bind(A, "error")),
n.pipe(A, { end: !1 }), this);
}
s(e, "add");
function r() {
return t.length == 0;
}
s(r, "isEmpty");
function i(n) {
t = t.filter(function(o) {
return o !== n;
}), !t.length && A.readable && A.end();
}
s(i, "remove");
};
});
// ../node_modules/picocolors/picocolors.js
var Ui = m((zz, xa) => {
var dn = process || {}, YB = dn.argv || [], fn = dn.env || {}, uM = !(fn.NO_COLOR || YB.includes("--no-color")) && (!!fn.FORCE_COLOR || YB.
includes("--color") || dn.platform === "win32" || (dn.stdout || {}).isTTY && fn.TERM !== "dumb" || !!fn.CI), BM = /* @__PURE__ */ s((t, A, e = t) => (r) => {
let i = "" + r, n = i.indexOf(A, t.length);
return ~n ? t + QM(i, A, e, n) + A : t + i + A;
}, "formatter"), QM = /* @__PURE__ */ s((t, A, e, r) => {
let i = "", n = 0;
do
i += t.substring(n, r) + e, n = r + A.length, r = t.indexOf(A, n);
while (~r);
return i + t.substring(n);
}, "replaceClose"), PB = /* @__PURE__ */ s((t = uM) => {
let A = t ? BM : () => String;
return {
isColorSupported: t,
reset: A("\x1B[0m", "\x1B[0m"),
bold: A("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
dim: A("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
italic: A("\x1B[3m", "\x1B[23m"),
underline: A("\x1B[4m", "\x1B[24m"),
inverse: A("\x1B[7m", "\x1B[27m"),
hidden: A("\x1B[8m", "\x1B[28m"),
strikethrough: A("\x1B[9m", "\x1B[29m"),
black: A("\x1B[30m", "\x1B[39m"),
red: A("\x1B[31m", "\x1B[39m"),
green: A("\x1B[32m", "\x1B[39m"),
yellow: A("\x1B[33m", "\x1B[39m"),
blue: A("\x1B[34m", "\x1B[39m"),
magenta: A("\x1B[35m", "\x1B[39m"),
cyan: A("\x1B[36m", "\x1B[39m"),
white: A("\x1B[37m", "\x1B[39m"),
gray: A("\x1B[90m", "\x1B[39m"),
bgBlack: A("\x1B[40m", "\x1B[49m"),
bgRed: A("\x1B[41m", "\x1B[49m"),
bgGreen: A("\x1B[42m", "\x1B[49m"),
bgYellow: A("\x1B[43m", "\x1B[49m"),
bgBlue: A("\x1B[44m", "\x1B[49m"),
bgMagenta: A("\x1B[45m", "\x1B[49m"),
bgCyan: A("\x1B[46m", "\x1B[49m"),
bgWhite: A("\x1B[47m", "\x1B[49m"),
blackBright: A("\x1B[90m", "\x1B[39m"),
redBright: A("\x1B[91m", "\x1B[39m"),
greenBright: A("\x1B[92m", "\x1B[39m"),
yellowBright: A("\x1B[93m", "\x1B[39m"),
blueBright: A("\x1B[94m", "\x1B[39m"),
magentaBright: A("\x1B[95m", "\x1B[39m"),
cyanBright: A("\x1B[96m", "\x1B[39m"),
whiteBright: A("\x1B[97m", "\x1B[39m"),
bgBlackBright: A("\x1B[100m", "\x1B[49m"),
bgRedBright: A("\x1B[101m", "\x1B[49m"),
bgGreenBright: A("\x1B[102m", "\x1B[49m"),
bgYellowBright: A("\x1B[103m", "\x1B[49m"),
bgBlueBright: A("\x1B[104m", "\x1B[49m"),
bgMagentaBright: A("\x1B[105m", "\x1B[49m"),
bgCyanBright: A("\x1B[106m", "\x1B[49m"),
bgWhiteBright: A("\x1B[107m", "\x1B[49m")
};
}, "createColors");
xa.exports = PB();
xa.exports.createColors = PB;
});
// ../node_modules/app-root-dir/lib/index.js
var $B = m((Ha) => {
var ZB = "app-root-dir", sr;
Ha.get = function() {
var t = global[ZB];
if (t)
return t;
if (sr === void 0) {
var A = v("fs"), e = v("path"), r = e.sep + "node_modules" + e.sep, i = process.cwd(), n = i.indexOf(r);
n !== -1 ? sr = i.substring(0, n) : A.existsSync(e.join(i, "package.json")) ? sr = i : (n = __dirname.indexOf(r), n === -1 ? sr = e.normalize(
e.join(__dirname, "..")) : sr = __dirname.substring(0, n));
}
return sr;
};
Ha.set = function(t) {
global[ZB] = sr = t;
};
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv/package.json
var AQ = m((VW, HM) => {
HM.exports = {
name: "dotenv",
version: "16.5.0",
description: "Loads environment variables from .env file",
main: "lib/main.js",
types: "lib/main.d.ts",
exports: {
".": {
types: "./lib/main.d.ts",
require: "./lib/main.js",
default: "./lib/main.js"
},
"./config": "./config.js",
"./config.js": "./config.js",
"./lib/env-options": "./lib/env-options.js",
"./lib/env-options.js": "./lib/env-options.js",
"./lib/cli-options": "./lib/cli-options.js",
"./lib/cli-options.js": "./lib/cli-options.js",
"./package.json": "./package.json"
},
scripts: {
"dts-check": "tsc --project tests/types/tsconfig.json",
lint: "standard",
pretest: "npm run lint && npm run dts-check",
test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
"test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",
prerelease: "npm test",
release: "standard-version"
},
repository: {
type: "git",
url: "git://github.com/motdotla/dotenv.git"
},
homepage: "https://github.com/motdotla/dotenv#readme",
funding: "https://dotenvx.com",
keywords: [
"dotenv",
"env",
".env",
"environment",
"variables",
"config",
"settings"
],
readmeFilename: "README.md",
license: "BSD-2-Clause",
devDependencies: {
"@types/node": "^18.11.3",
decache: "^4.6.2",
sinon: "^14.0.1",
standard: "^17.0.0",
"standard-version": "^9.5.0",
tap: "^19.2.0",
typescript: "^4.8.4"
},
engines: {
node: ">=12"
},
browser: {
fs: !1
}
};
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv/lib/main.js
var sQ = m((XW, ct) => {
var ja = v("fs"), qa = v("path"), jM = v("os"), qM = v("crypto"), zM = AQ(), tQ = zM.version, WM = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
function VM(t) {
let A = {}, e = t.toString();
e = e.replace(/\r\n?/mg, `
`);
let r;
for (; (r = WM.exec(e)) != null; ) {
let i = r[1], n = r[2] || "";
n = n.trim();
let o = n[0];
n = n.replace(/^(['"`])([\s\S]*)\1$/mg, "$2"), o === '"' && (n = n.replace(/\\n/g, `
`), n = n.replace(/\\r/g, "\r")), A[i] = n;
}
return A;
}
s(VM, "parse");
function XM(t) {
let A = iQ(t), e = RA.configDotenv({ path: A });
if (!e.parsed) {
let o = new Error(`MISSING_DATA: Cannot parse ${A} for an unknown reason`);
throw o.code = "MISSING_DATA", o;
}
let r = rQ(t).split(","), i = r.length, n;
for (let o = 0; o < i; o++)
try {
let g = r[o].trim(), C = $M(e, g);
n = RA.decrypt(C.ciphertext, C.key);
break;
} catch (g) {
if (o + 1 >= i)
throw g;
}
return RA.parse(n);
}
s(XM, "_parseVault");
function ZM(t) {
console.log(`[dotenv@${tQ}][WARN] ${t}`);
}
s(ZM, "_warn");
function Oi(t) {
console.log(`[dotenv@${tQ}][DEBUG] ${t}`);
}
s(Oi, "_debug");
function rQ(t) {
return t && t.DOTENV_KEY && t.DOTENV_KEY.length > 0 ? t.DOTENV_KEY : process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0 ? process.
env.DOTENV_KEY : "";
}
s(rQ, "_dotenvKey");
function $M(t, A) {
let e;
try {
e = new URL(A);
} catch (g) {
if (g.code === "ERR_INVALID_URL") {
let C = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vaul\
t?environment=development");
throw C.code = "INVALID_DOTENV_KEY", C;
}
throw g;
}
let r = e.password;
if (!r) {
let g = new Error("INVALID_DOTENV_KEY: Missing key part");
throw g.code = "INVALID_DOTENV_KEY", g;
}
let i = e.searchParams.get("environment");
if (!i) {
let g = new Error("INVALID_DOTENV_KEY: Missing environment part");
throw g.code = "INVALID_DOTENV_KEY", g;
}
let n = `DOTENV_VAULT_${i.toUpperCase()}`, o = t.parsed[n];
if (!o) {
let g = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);
throw g.code = "NOT_FOUND_DOTENV_ENVIRONMENT", g;
}
return { ciphertext: o, key: r };
}
s($M, "_instructions");
function iQ(t) {
let A = null;
if (t && t.path && t.path.length > 0)
if (Array.isArray(t.path))
for (let e of t.path)
ja.existsSync(e) && (A = e.endsWith(".vault") ? e : `${e}.vault`);
else
A = t.path.endsWith(".vault") ? t.path : `${t.path}.vault`;
else
A = qa.resolve(process.cwd(), ".env.vault");
return ja.existsSync(A) ? A : null;
}
s(iQ, "_vaultPath");
function eQ(t) {
return t[0] === "~" ? qa.join(jM.homedir(), t.slice(1)) : t;
}
s(eQ, "_resolveHome");
function AR(t) {
!!(t && t.debug) && Oi("Loading env from encrypted .env.vault");
let e = RA._parseVault(t), r = process.env;
return t && t.processEnv != null && (r = t.processEnv), RA.populate(r, e, t), { parsed: e };
}
s(AR, "_configVault");
function eR(t) {
let A = qa.resolve(process.cwd(), ".env"), e = "utf8", r = !!(t && t.debug);
t && t.encoding ? e = t.encoding : r && Oi("No encoding is specified. UTF-8 is used by default");
let i = [A];
if (t && t.path)
if (!Array.isArray(t.path))
i = [eQ(t.path)];
else {
i = [];
for (let C of t.path)
i.push(eQ(C));
}
let n, o = {};
for (let C of i)
try {
let I = RA.parse(ja.readFileSync(C, { encoding: e }));
RA.populate(o, I, t);
} catch (I) {
r && Oi(`Failed to load ${C} ${I.message}`), n = I;
}
let g = process.env;
return t && t.processEnv != null && (g = t.processEnv), RA.populate(g, o, t), n ? { parsed: o, error: n } : { parsed: o };
}
s(eR, "configDotenv");
function tR(t) {
if (rQ(t).length === 0)
return RA.configDotenv(t);
let A = iQ(t);
return A ? RA._configVault(t) : (ZM(`You set DOTENV_KEY but you are missing a .env.vault file at ${A}. Did you forget to build it?`), RA.
configDotenv(t));
}
s(tR, "config");
function rR(t, A) {
let e = Buffer.from(A.slice(-64), "hex"), r = Buffer.from(t, "base64"), i = r.subarray(0, 12), n = r.subarray(-16);
r = r.subarray(12, -16);
try {
let o = qM.createDecipheriv("aes-256-gcm", e, i);
return o.setAuthTag(n), `${o.update(r)}${o.final()}`;
} catch (o) {
let g = o instanceof RangeError, C = o.message === "Invalid key length", I = o.message === "Unsupported state or unable to authenticat\
e data";
if (g || C) {
let E = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
throw E.code = "INVALID_DOTENV_KEY", E;
} else if (I) {
let E = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
throw E.code = "DECRYPTION_FAILED", E;
} else
throw o;
}
}
s(rR, "decrypt");
function iR(t, A, e = {}) {
let r = !!(e && e.debug), i = !!(e && e.override);
if (typeof A != "object") {
let n = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
throw n.code = "OBJECT_REQUIRED", n;
}
for (let n of Object.keys(A))
Object.prototype.hasOwnProperty.call(t, n) ? (i === !0 && (t[n] = A[n]), r && Oi(i === !0 ? `"${n}" is already defined and WAS overwri\
tten` : `"${n}" is already defined and was NOT overwritten`)) : t[n] = A[n];
}
s(iR, "populate");
var RA = {
configDotenv: eR,
_configVault: AR,
_parseVault: XM,
config: tR,
decrypt: rR,
parse: VM,
populate: iR
};
ct.exports.configDotenv = RA.configDotenv;
ct.exports._configVault = RA._configVault;
ct.exports._parseVault = RA._parseVault;
ct.exports.config = RA.config;
ct.exports.decrypt = RA.decrypt;
ct.exports.parse = RA.parse;
ct.exports.populate = RA.populate;
ct.exports = RA;
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv-expand/lib/main.js
var gQ = m(($W, oQ) => {
"use strict";
function sR(t, A) {
let e = Array.from(t.matchAll(A));
return e.length > 0 ? e.slice(-1)[0].index : -1;
}
s(sR, "_searchLast");
function nQ(t, A, e) {
let r = sR(t, /(?!(?<=\\))\$/g);
if (r === -1) return t;
let i = t.slice(r), n = /((?!(?<=\\))\${?([\w]+)(?::-([^}\\]*))?}?)/, o = i.match(n);
if (o != null) {
let [, g, C, I] = o;
return nQ(
t.replace(
g,
A[C] || I || e.parsed[C] || ""
),
A,
e
);
}
return t;
}
s(nQ, "_interpolate");
function nR(t) {
return t.replace(/\\\$/g, "$");
}
s(nR, "_resolveEscapeSequences");
function oR(t) {
let A = t.ignoreProcessEnv ? {} : process.env;
for (let e in t.parsed) {
let r = Object.prototype.hasOwnProperty.call(A, e) ? A[e] : t.parsed[e];
t.parsed[e] = nR(
nQ(r, A, t)
);
}
for (let e in t.parsed)
A[e] = t.parsed[e];
return t;
}
s(oR, "expand");
oQ.exports.expand = oR;
});
// ../node_modules/picomatch/lib/constants.js
var Ti = m((_4, SQ) => {
"use strict";
var QR = v("path"), qe = "\\\\/", wQ = `[^${qe}]`, It = "\\.", fR = "\\+", dR = "\\?", Fn = "\\/", pR = "(?=.)", mQ = "[^/]", za = `(?:${Fn}\
|$)`, yQ = `(?:^|${Fn})`, Wa = `${It}{1,2}${za}`, wR = `(?!${It})`, mR = `(?!${yQ}${Wa})`, yR = `(?!${It}{0,1}${za})`, DR = `(?!${Wa})`, SR = `\
[^.${Fn}]`, KR = `${mQ}*?`, DQ = {
DOT_LITERAL: It,
PLUS_LITERAL: fR,
QMARK_LITERAL: dR,
SLASH_LITERAL: Fn,
ONE_CHAR: pR,
QMARK: mQ,
END_ANCHOR: za,
DOTS_SLASH: Wa,
NO_DOT: wR,
NO_DOTS: mR,
NO_DOT_SLASH: yR,
NO_DOTS_SLASH: DR,
QMARK_NO_DOT: SR,
STAR: KR,
START_ANCHOR: yQ
}, FR = {
...DQ,
SLASH_LITERAL: `[${qe}]`,
QMARK: wQ,
STAR: `${wQ}*?`,
DOTS_SLASH: `${It}{1,2}(?:[${qe}]|$)`,
NO_DOT: `(?!${It})`,
NO_DOTS: `(?!(?:^|[${qe}])${It}{1,2}(?:[${qe}]|$))`,
NO_DOT_SLASH: `(?!${It}{0,1}(?:[${qe}]|$))`,
NO_DOTS_SLASH: `(?!${It}{1,2}(?:[${qe}]|$))`,
QMARK_NO_DOT: `[^.${qe}]`,
START_ANCHOR: `(?:^|[${qe}])`,
END_ANCHOR: `(?:[${qe}]|$)`
}, kR = {
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
SQ.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE: kR,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// Digits
CHAR_0: 48,
/* 0 */
CHAR_9: 57,
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65,
/* A */
CHAR_LOWERCASE_A: 97,
/* a */
CHAR_UPPERCASE_Z: 90,
/* Z */
CHAR_LOWERCASE_Z: 122,
/* z */
CHAR_LEFT_PARENTHESES: 40,
/* ( */
CHAR_RIGHT_PARENTHESES: 41,
/* ) */
CHAR_ASTERISK: 42,
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38,
/* & */
CHAR_AT: 64,
/* @ */
CHAR_BACKWARD_SLASH: 92,
/* \ */
CHAR_CARRIAGE_RETURN: 13,
/* \r */
CHAR_CIRCUMFLEX_ACCENT: 94,
/* ^ */
CHAR_COLON: 58,
/* : */
CHAR_COMMA: 44,
/* , */
CHAR_DOT: 46,
/* . */
CHAR_DOUBLE_QUOTE: 34,
/* " */
CHAR_EQUAL: 61,
/* = */
CHAR_EXCLAMATION_MARK: 33,
/* ! */
CHAR_FORM_FEED: 12,
/* \f */
CHAR_FORWARD_SLASH: 47,
/* / */
CHAR_GRAVE_ACCENT: 96,
/* ` */
CHAR_HASH: 35,
/* # */
CHAR_HYPHEN_MINUS: 45,
/* - */
CHAR_LEFT_ANGLE_BRACKET: 60,
/* < */
CHAR_LEFT_CURLY_BRACE: 123,
/* { */
CHAR_LEFT_SQUARE_BRACKET: 91,
/* [ */
CHAR_LINE_FEED: 10,
/* \n */
CHAR_NO_BREAK_SPACE: 160,
/* \u00A0 */
CHAR_PERCENT: 37,
/* % */
CHAR_PLUS: 43,
/* + */
CHAR_QUESTION_MARK: 63,
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62,
/* > */
CHAR_RIGHT_CURLY_BRACE: 125,
/* } */
CHAR_RIGHT_SQUARE_BRACKET: 93,
/* ] */
CHAR_SEMICOLON: 59,
/* ; */
CHAR_SINGLE_QUOTE: 39,
/* ' */
CHAR_SPACE: 32,
/* */
CHAR_TAB: 9,
/* \t */
CHAR_UNDERSCORE: 95,
/* _ */
CHAR_VERTICAL_LINE: 124,
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
/* \uFEFF */
SEP: QR.sep,
/**
* Create EXTGLOB_CHARS
*/
extglobChars(t) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${t.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(t) {
return t === !0 ? FR : DQ;
}
};
});
// ../node_modules/picomatch/lib/utils.js
var Hi = m((se) => {
"use strict";
var bR = v("path"), NR = process.platform === "win32", {
REGEX_BACKSLASH: MR,
REGEX_REMOVE_BACKSLASH: RR,
REGEX_SPECIAL_CHARS: vR,
REGEX_SPECIAL_CHARS_GLOBAL: LR
} = Ti();
se.isObject = (t) => t !== null && typeof t == "object" && !Array.isArray(t);
se.hasRegexChars = (t) => vR.test(t);
se.isRegexChar = (t) => t.length === 1 && se.hasRegexChars(t);
se.escapeRegex = (t) => t.replace(LR, "\\$1");
se.toPosixSlashes = (t) => t.replace(MR, "/");
se.removeBackslashes = (t) => t.replace(RR, (A) => A === "\\" ? "" : A);
se.supportsLookbehinds = () => {
let t = process.version.slice(1).split(".").map(Number);
return t.length === 3 && t[0] >= 9 || t[0] === 8 && t[1] >= 10;
};
se.isWindows = (t) => t && typeof t.windows == "boolean" ? t.windows : NR === !0 || bR.sep === "\\";
se.escapeLast = (t, A, e) => {
let r = t.lastIndexOf(A, e);
return r === -1 ? t : t[r - 1] === "\\" ? se.escapeLast(t, A, r - 1) : `${t.slice(0, r)}\\${t.slice(r)}`;
};
se.removePrefix = (t, A = {}) => {
let e = t;
return e.startsWith("./") && (e = e.slice(2), A.prefix = "./"), e;
};
se.wrapOutput = (t, A = {}, e = {}) => {
let r = e.contains ? "" : "^", i = e.contains ? "" : "$", n = `${r}(?:${t})${i}`;
return A.negated === !0 && (n = `(?:^(?!${n}).*$)`), n;
};
});
// ../node_modules/picomatch/lib/scan.js
var vQ = m((J4, RQ) => {
"use strict";
var KQ = Hi(), {
CHAR_ASTERISK: Va,
/* * */
CHAR_AT: xR,
/* @ */
CHAR_BACKWARD_SLASH: ji,
/* \ */
CHAR_COMMA: YR,
/* , */
CHAR_DOT: Xa,
/* . */
CHAR_EXCLAMATION_MARK: Za,
/* ! */
CHAR_FORWARD_SLASH: MQ,
/* / */
CHAR_LEFT_CURLY_BRACE: $a,
/* { */
CHAR_LEFT_PARENTHESES: AC,
/* ( */
CHAR_LEFT_SQUARE_BRACKET: PR,
/* [ */
CHAR_PLUS: UR,
/* + */
CHAR_QUESTION_MARK: FQ,
/* ? */
CHAR_RIGHT_CURLY_BRACE: _R,
/* } */
CHAR_RIGHT_PARENTHESES: kQ,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET: GR
/* ] */
} = Ti(), bQ = /* @__PURE__ */ s((t) => t === MQ || t === ji, "isPathSeparator"), NQ = /* @__PURE__ */ s((t) => {
t.isPrefix !== !0 && (t.depth = t.isGlobstar ? 1 / 0 : 1);
}, "depth"), JR = /* @__PURE__ */ s((t, A) => {
let e = A || {}, r = t.length - 1, i = e.parts === !0 || e.scanToEnd === !0, n = [], o = [], g = [], C = t, I = -1, E = 0, Q = 0, B = !1,
p = !1, w = !1, D = !1, N = !1, k = !1, _ = !1, L = !1, J = !1, U = !1, $ = 0, q, T, eA = { value: "", depth: 0, isGlob: !1 }, mA = /* @__PURE__ */ s(
() => I >= r, "eos"), b = /* @__PURE__ */ s(() => C.charCodeAt(I + 1), "peek"), uA = /* @__PURE__ */ s(() => (q = T, C.charCodeAt(++I)),
"advance");
for (; I < r; ) {
T = uA();
let GA;
if (T === ji) {
_ = eA.backslashes = !0, T = uA(), T === $a && (k = !0);
continue;
}
if (k === !0 || T === $a) {
for ($++; mA() !== !0 && (T = uA()); ) {
if (T === ji) {
_ = eA.backslashes = !0, uA();
continue;
}
if (T === $a) {
$++;
continue;
}
if (k !== !0 && T === Xa && (T = uA()) === Xa) {
if (B = eA.isBrace = !0, w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (k !== !0 && T === YR) {
if (B = eA.isBrace = !0, w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === _R && ($--, $ === 0)) {
k = !1, B = eA.isBrace = !0, U = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (T === MQ) {
if (n.push(I), o.push(eA), eA = { value: "", depth: 0, isGlob: !1 }, U === !0) continue;
if (q === Xa && I === E + 1) {
E += 2;
continue;
}
Q = I + 1;
continue;
}
if (e.noext !== !0 && (T === UR || T === xR || T === Va || T === FQ || T === Za) === !0 && b() === AC) {
if (w = eA.isGlob = !0, D = eA.isExtglob = !0, U = !0, T === Za && I === E && (J = !0), i === !0) {
for (; mA() !== !0 && (T = uA()); ) {
if (T === ji) {
_ = eA.backslashes = !0, T = uA();
continue;
}
if (T === kQ) {
w = eA.isGlob = !0, U = !0;
break;
}
}
continue;
}
break;
}
if (T === Va) {
if (q === Va && (N = eA.isGlobstar = !0), w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === FQ) {
if (w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === PR) {
for (; mA() !== !0 && (GA = uA()); ) {
if (GA === ji) {
_ = eA.backslashes = !0, uA();
continue;
}
if (GA === GR) {
p = eA.isBracket = !0, w = eA.isGlob = !0, U = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (e.nonegate !== !0 && T === Za && I === E) {
L = eA.negated = !0, E++;
continue;
}
if (e.noparen !== !0 && T === AC) {
if (w = eA.isGlob = !0, i === !0) {
for (; mA() !== !0 && (T = uA()); ) {
if (T === AC) {
_ = eA.backslashes = !0, T = uA();
continue;
}
if (T === kQ) {
U = !0;
break;
}
}
continue;
}
break;
}
if (w === !0) {
if (U = !0, i === !0)
continue;
break;
}
}
e.noext === !0 && (D = !1, w = !1);
let BA = C, Se = "", K = "";
E > 0 && (Se = C.slice(0, E), C = C.slice(E), Q -= E), BA && w === !0 && Q > 0 ? (BA = C.slice(0, Q), K = C.slice(Q)) : w === !0 ? (BA =
"", K = C) : BA = C, BA && BA !== "" && BA !== "/" && BA !== C && bQ(BA.charCodeAt(BA.length - 1)) && (BA = BA.slice(0, -1)), e.unescape ===
!0 && (K && (K = KQ.removeBackslashes(K)), BA && _ === !0 && (BA = KQ.removeBackslashes(BA)));
let F = {
prefix: Se,
input: t,
start: E,
base: BA,
glob: K,
isBrace: B,
isBracket: p,
isGlob: w,
isExtglob: D,
isGlobstar: N,
negated: L,
negatedExtglob: J
};
if (e.tokens === !0 && (F.maxDepth = 0, bQ(T) || o.push(eA), F.tokens = o), e.parts === !0 || e.tokens === !0) {
let GA;
for (let gA = 0; gA < n.length; gA++) {
let JA = GA ? GA + 1 : E, Ce = n[gA], LA = t.slice(JA, Ce);
e.tokens && (gA === 0 && E !== 0 ? (o[gA].isPrefix = !0, o[gA].value = Se) : o[gA].value = LA, NQ(o[gA]), F.maxDepth += o[gA].depth),
(gA !== 0 || LA !== "") && g.push(LA), GA = Ce;
}
if (GA && GA + 1 < t.length) {
let gA = t.slice(GA + 1);
g.push(gA), e.tokens && (o[o.length - 1].value = gA, NQ(o[o.length - 1]), F.maxDepth += o[o.length - 1].depth);
}
F.slashes = n, F.parts = g;
}
return F;
}, "scan");
RQ.exports = JR;
});
// ../node_modules/picomatch/lib/parse.js
var YQ = m((T4, xQ) => {
"use strict";
var kn = Ti(), le = Hi(), {
MAX_LENGTH: bn,
POSIX_REGEX_SOURCE: OR,
REGEX_NON_SPECIAL_CHARS: TR,
REGEX_SPECIAL_CHARS_BACKREF: HR,
REPLACEMENTS: LQ
} = kn, jR = /* @__PURE__ */ s((t, A) => {
if (typeof A.expandRange == "function")
return A.expandRange(...t, A);
t.sort();
let e = `[${t.join("-")}]`;
try {
new RegExp(e);
} catch {
return t.map((i) => le.escapeRegex(i)).join("..");
}
return e;
}, "expandRange"), Yr = /* @__PURE__ */ s((t, A) => `Missing ${t}: "${A}" - use "\\\\${A}" to match literal characters`, "syntaxError"), eC = /* @__PURE__ */ s(
(t, A) => {
if (typeof t != "string")
throw new TypeError("Expected a string");
t = LQ[t] || t;
let e = { ...A }, r = typeof e.maxLength == "number" ? Math.min(bn, e.maxLength) : bn, i = t.length;
if (i > r)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);
let n = { type: "bos", value: "", output: e.prepend || "" }, o = [n], g = e.capture ? "" : "?:", C = le.isWindows(A), I = kn.globChars(C),
E = kn.extglobChars(I), {
DOT_LITERAL: Q,
PLUS_LITERAL: B,
SLASH_LITERAL: p,
ONE_CHAR: w,
DOTS_SLASH: D,
NO_DOT: N,
NO_DOT_SLASH: k,
NO_DOTS_SLASH: _,
QMARK: L,
QMARK_NO_DOT: J,
STAR: U,
START_ANCHOR: $
} = I, q = /* @__PURE__ */ s((P) => `(${g}(?:(?!${$}${P.dot ? D : Q}).)*?)`, "globstar"), T = e.dot ? "" : N, eA = e.dot ? L : J, mA = e.
bash === !0 ? q(e) : U;
e.capture && (mA = `(${mA})`), typeof e.noext == "boolean" && (e.noextglob = e.noext);
let b = {
input: t,
index: -1,
start: 0,
dot: e.dot === !0,
consumed: "",
output: "",
prefix: "",
backtrack: !1,
negated: !1,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: !1,
tokens: o
};
t = le.removePrefix(t, b), i = t.length;
let uA = [], BA = [], Se = [], K = n, F, GA = /* @__PURE__ */ s(() => b.index === i - 1, "eos"), gA = b.peek = (P = 1) => t[b.index + P],
JA = b.advance = () => t[++b.index] || "", Ce = /* @__PURE__ */ s(() => t.slice(b.index + 1), "remaining"), LA = /* @__PURE__ */ s((P = "", IA = 0) => {
b.consumed += P, b.index += IA;
}, "consume"), Zt = /* @__PURE__ */ s((P) => {
b.output += P.output != null ? P.output : P.value, LA(P.value);
}, "append"), ur = /* @__PURE__ */ s(() => {
let P = 1;
for (; gA() === "!" && (gA(2) !== "(" || gA(3) === "?"); )
JA(), b.start++, P++;
return P % 2 === 0 ? !1 : (b.negated = !0, b.start++, !0);
}, "negate"), St = /* @__PURE__ */ s((P) => {
b[P]++, Se.push(P);
}, "increment"), rt = /* @__PURE__ */ s((P) => {
b[P]--, Se.pop();
}, "decrement"), nA = /* @__PURE__ */ s((P) => {
if (K.type === "globstar") {
let IA = b.braces > 0 && (P.type === "comma" || P.type === "brace"), x = P.extglob === !0 || uA.length && (P.type === "pipe" || P.type ===
"paren");
P.type !== "slash" && P.type !== "paren" && !IA && !x && (b.output = b.output.slice(0, -K.output.length), K.type = "star", K.value =
"*", K.output = mA, b.output += K.output);
}
if (uA.length && P.type !== "paren" && (uA[uA.length - 1].inner += P.value), (P.value || P.output) && Zt(P), K && K.type === "text" &&
P.type === "text") {
K.value += P.value, K.output = (K.output || "") + P.value;
return;
}
P.prev = K, o.push(P), K = P;
}, "push"), Kt = /* @__PURE__ */ s((P, IA) => {
let x = { ...E[IA], conditions: 1, inner: "" };
x.prev = K, x.parens = b.parens, x.output = b.output;
let M = (e.capture ? "(" : "") + x.open;
St("parens"), nA({ type: P, value: IA, output: b.output ? "" : w }), nA({ type: "paren", extglob: !0, value: JA(), output: M }), uA.push(
x);
}, "extglobOpen"), OA = /* @__PURE__ */ s((P) => {
let IA = P.close + (e.capture ? ")" : ""), x;
if (P.type === "negate") {
let M = mA;
if (P.inner && P.inner.length > 1 && P.inner.includes("/") && (M = q(e)), (M !== mA || GA() || /^\)+$/.test(Ce())) && (IA = P.close =
`)$))${M}`), P.inner.includes("*") && (x = Ce()) && /^\.[^\\/.]+$/.test(x)) {
let dA = eC(x, { ...A, fastpaths: !1 }).output;
IA = P.close = `)${dA})${M})`;
}
P.prev.type === "bos" && (b.negatedExtglob = !0);
}
nA({ type: "paren", extglob: !0, value: F, output: IA }), rt("parens");
}, "extglobClose");
if (e.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(t)) {
let P = !1, IA = t.replace(HR, (x, M, dA, xA, KA, Br) => xA === "\\" ? (P = !0, x) : xA === "?" ? M ? M + xA + (KA ? L.repeat(KA.length) :
"") : Br === 0 ? eA + (KA ? L.repeat(KA.length) : "") : L.repeat(dA.length) : xA === "." ? Q.repeat(dA.length) : xA === "*" ? M ? M + xA +
(KA ? mA : "") : mA : M ? x : `\\${x}`);
return P === !0 && (e.unescape === !0 ? IA = IA.replace(/\\/g, "") : IA = IA.replace(/\\+/g, (x) => x.length % 2 === 0 ? "\\\\" : x ? "\
\\" : "")), IA === t && e.contains === !0 ? (b.output = t, b) : (b.output = le.wrapOutput(IA, b, A), b);
}
for (; !GA(); ) {
if (F = JA(), F === "\0")
continue;
if (F === "\\") {
let x = gA();
if (x === "/" && e.bash !== !0 || x === "." || x === ";")
continue;
if (!x) {
F += "\\", nA({ type: "text", value: F });
continue;
}
let M = /^\\+/.exec(Ce()), dA = 0;
if (M && M[0].length > 2 && (dA = M[0].length, b.index += dA, dA % 2 !== 0 && (F += "\\")), e.unescape === !0 ? F = JA() : F += JA(),
b.brackets === 0) {
nA({ type: "text", value: F });
continue;
}
}
if (b.brackets > 0 && (F !== "]" || K.value === "[" || K.value === "[^")) {
if (e.posix !== !1 && F === ":") {
let x = K.value.slice(1);
if (x.includes("[") && (K.posix = !0, x.includes(":"))) {
let M = K.value.lastIndexOf("["), dA = K.value.slice(0, M), xA = K.value.slice(M + 2), KA = OR[xA];
if (KA) {
K.value = dA + KA, b.backtrack = !0, JA(), !n.output && o.indexOf(K) === 1 && (n.output = w);
continue;
}
}
}
(F === "[" && gA() !== ":" || F === "-" && gA() === "]") && (F = `\\${F}`), F === "]" && (K.value === "[" || K.value === "[^") && (F =
`\\${F}`), e.posix === !0 && F === "!" && K.value === "[" && (F = "^"), K.value += F, Zt({ value: F });
continue;
}
if (b.quotes === 1 && F !== '"') {
F = le.escapeRegex(F), K.value += F, Zt({ value: F });
continue;
}
if (F === '"') {
b.quotes = b.quotes === 1 ? 0 : 1, e.keepQuotes === !0 && nA({ type: "text", value: F });
continue;
}
if (F === "(") {
St("parens"), nA({ type: "paren", value: F });
continue;
}
if (F === ")") {
if (b.parens === 0 && e.strictBrackets === !0)
throw new SyntaxError(Yr("opening", "("));
let x = uA[uA.length - 1];
if (x && b.parens === x.parens + 1) {
OA(uA.pop());
continue;
}
nA({ type: "paren", value: F, output: b.parens ? ")" : "\\)" }), rt("parens");
continue;
}
if (F === "[") {
if (e.nobracket === !0 || !Ce().includes("]")) {
if (e.nobracket !== !0 && e.strictBrackets === !0)
throw new SyntaxError(Yr("closing", "]"));
F = `\\${F}`;
} else
St("brackets");
nA({ type: "bracket", value: F });
continue;
}
if (F === "]") {
if (e.nobracket === !0 || K && K.type === "bracket" && K.value.length === 1) {
nA({ type: "text", value: F, output: `\\${F}` });
continue;
}
if (b.brackets === 0) {
if (e.strictBrackets === !0)
throw new SyntaxError(Yr("opening", "["));
nA({ type: "text", value: F, output: `\\${F}` });
continue;
}
rt("brackets");
let x = K.value.slice(1);
if (K.posix !== !0 && x[0] === "^" && !x.includes("/") && (F = `/${F}`), K.value += F, Zt({ value: F }), e.literalBrackets === !1 ||
le.hasRegexChars(x))
continue;
let M = le.escapeRegex(K.value);
if (b.output = b.output.slice(0, -K.value.length), e.literalBrackets === !0) {
b.output += M, K.value = M;
continue;
}
K.value = `(${g}${M}|${K.value})`, b.output += K.value;
continue;
}
if (F === "{" && e.nobrace !== !0) {
St("braces");
let x = {
type: "brace",
value: F,
output: "(",
outputIndex: b.output.length,
tokensIndex: b.tokens.length
};
BA.push(x), nA(x);
continue;
}
if (F === "}") {
let x = BA[BA.length - 1];
if (e.nobrace === !0 || !x) {
nA({ type: "text", value: F, output: F });
continue;
}
let M = ")";
if (x.dots === !0) {
let dA = o.slice(), xA = [];
for (let KA = dA.length - 1; KA >= 0 && (o.pop(), dA[KA].type !== "brace"); KA--)
dA[KA].type !== "dots" && xA.unshift(dA[KA].value);
M = jR(xA, e), b.backtrack = !0;
}
if (x.comma !== !0 && x.dots !== !0) {
let dA = b.output.slice(0, x.outputIndex), xA = b.tokens.slice(x.tokensIndex);
x.value = x.output = "\\{", F = M = "\\}", b.output = dA;
for (let KA of xA)
b.output += KA.output || KA.value;
}
nA({ type: "brace", value: F, output: M }), rt("braces"), BA.pop();
continue;
}
if (F === "|") {
uA.length > 0 && uA[uA.length - 1].conditions++, nA({ type: "text", value: F });
continue;
}
if (F === ",") {
let x = F, M = BA[BA.length - 1];
M && Se[Se.length - 1] === "braces" && (M.comma = !0, x = "|"), nA({ type: "comma", value: F, output: x });
continue;
}
if (F === "/") {
if (K.type === "dot" && b.index === b.start + 1) {
b.start = b.index + 1, b.consumed = "", b.output = "", o.pop(), K = n;
continue;
}
nA({ type: "slash", value: F, output: p });
continue;
}
if (F === ".") {
if (b.braces > 0 && K.type === "dot") {
K.value === "." && (K.output = Q);
let x = BA[BA.length - 1];
K.type = "dots", K.output += F, K.value += F, x.dots = !0;
continue;
}
if (b.braces + b.parens === 0 && K.type !== "bos" && K.type !== "slash") {
nA({ type: "text", value: F, output: Q });
continue;
}
nA({ type: "dot", value: F, output: Q });
continue;
}
if (F === "?") {
if (!(K && K.value === "(") && e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
Kt("qmark", F);
continue;
}
if (K && K.type === "paren") {
let M = gA(), dA = F;
if (M === "<" && !le.supportsLookbehinds())
throw new Error("Node.js v10 or higher is required for regex lookbehinds");
(K.value === "(" && !/[!=<:]/.test(M) || M === "<" && !/<([!=]|\w+>)/.test(Ce())) && (dA = `\\${F}`), nA({ type: "text", value: F,
output: dA });
continue;
}
if (e.dot !== !0 && (K.type === "slash" || K.type === "bos")) {
nA({ type: "qmark", value: F, output: J });
continue;
}
nA({ type: "qmark", value: F, output: L });
continue;
}
if (F === "!") {
if (e.noextglob !== !0 && gA() === "(" && (gA(2) !== "?" || !/[!=<:]/.test(gA(3)))) {
Kt("negate", F);
continue;
}
if (e.nonegate !== !0 && b.index === 0) {
ur();
continue;
}
}
if (F === "+") {
if (e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
Kt("plus", F);
continue;
}
if (K && K.value === "(" || e.regex === !1) {
nA({ type: "plus", value: F, output: B });
continue;
}
if (K && (K.type === "bracket" || K.type === "paren" || K.type === "brace") || b.parens > 0) {
nA({ type: "plus", value: F });
continue;
}
nA({ type: "plus", value: B });
continue;
}
if (F === "@") {
if (e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
nA({ type: "at", extglob: !0, value: F, output: "" });
continue;
}
nA({ type: "text", value: F });
continue;
}
if (F !== "*") {
(F === "$" || F === "^") && (F = `\\${F}`);
let x = TR.exec(Ce());
x && (F += x[0], b.index += x[0].length), nA({ type: "text", value: F });
continue;
}
if (K && (K.type === "globstar" || K.star === !0)) {
K.type = "star", K.star = !0, K.value += F, K.output = mA, b.backtrack = !0, b.globstar = !0, LA(F);
continue;
}
let P = Ce();
if (e.noextglob !== !0 && /^\([^?]/.test(P)) {
Kt("star", F);
continue;
}
if (K.type === "star") {
if (e.noglobstar === !0) {
LA(F);
continue;
}
let x = K.prev, M = x.prev, dA = x.type === "slash" || x.type === "bos", xA = M && (M.type === "star" || M.type === "globstar");
if (e.bash === !0 && (!dA || P[0] && P[0] !== "/")) {
nA({ type: "star", value: F, output: "" });
continue;
}
let KA = b.braces > 0 && (x.type === "comma" || x.type === "brace"), Br = uA.length && (x.type === "pipe" || x.type === "paren");
if (!dA && x.type !== "paren" && !KA && !Br) {
nA({ type: "star", value: F, output: "" });
continue;
}
for (; P.slice(0, 3) === "/**"; ) {
let ni = t[b.index + 4];
if (ni && ni !== "/")
break;
P = P.slice(3), LA("/**", 3);
}
if (x.type === "bos" && GA()) {
K.type = "globstar", K.value += F, K.output = q(e), b.output = K.output, b.globstar = !0, LA(F);
continue;
}
if (x.type === "slash" && x.prev.type !== "bos" && !xA && GA()) {
b.output = b.output.slice(0, -(x.output + K.output).length), x.output = `(?:${x.output}`, K.type = "globstar", K.output = q(e) + (e.
strictSlashes ? ")" : "|$)"), K.value += F, b.globstar = !0, b.output += x.output + K.output, LA(F);
continue;
}
if (x.type === "slash" && x.prev.type !== "bos" && P[0] === "/") {
let ni = P[1] !== void 0 ? "|$" : "";
b.output = b.output.slice(0, -(x.output + K.output).length), x.output = `(?:${x.output}`, K.type = "globstar", K.output = `${q(e)}${p}\
|${p}${ni})`, K.value += F, b.output += x.output + K.output, b.globstar = !0, LA(F + JA()), nA({ type: "slash", value: "/", output: "" });
continue;
}
if (x.type === "bos" && P[0] === "/") {
K.type = "globstar", K.value += F, K.output = `(?:^|${p}|${q(e)}${p})`, b.output = K.output, b.globstar = !0, LA(F + JA()), nA({ type: "\
slash", value: "/", output: "" });
continue;
}
b.output = b.output.slice(0, -K.output.length), K.type = "globstar", K.output = q(e), K.value += F, b.output += K.output, b.globstar =
!0, LA(F);
continue;
}
let IA = { type: "star", value: F, output: mA };
if (e.bash === !0) {
IA.output = ".*?", (K.type === "bos" || K.type === "slash") && (IA.output = T + IA.output), nA(IA);
continue;
}
if (K && (K.type === "bracket" || K.type === "paren") && e.regex === !0) {
IA.output = F, nA(IA);
continue;
}
(b.index === b.start || K.type === "slash" || K.type === "dot") && (K.type === "dot" ? (b.output += k, K.output += k) : e.dot === !0 ?
(b.output += _, K.output += _) : (b.output += T, K.output += T), gA() !== "*" && (b.output += w, K.output += w)), nA(IA);
}
for (; b.brackets > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Yr("closing", "]"));
b.output = le.escapeLast(b.output, "["), rt("brackets");
}
for (; b.parens > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Yr("closing", ")"));
b.output = le.escapeLast(b.output, "("), rt("parens");
}
for (; b.braces > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Yr("closing", "}"));
b.output = le.escapeLast(b.output, "{"), rt("braces");
}
if (e.strictSlashes !== !0 && (K.type === "star" || K.type === "bracket") && nA({ type: "maybe_slash", value: "", output: `${p}?` }), b.
backtrack === !0) {
b.output = "";
for (let P of b.tokens)
b.output += P.output != null ? P.output : P.value, P.suffix && (b.output += P.suffix);
}
return b;
}, "parse");
eC.fastpaths = (t, A) => {
let e = { ...A }, r = typeof e.maxLength == "number" ? Math.min(bn, e.maxLength) : bn, i = t.length;
if (i > r)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);
t = LQ[t] || t;
let n = le.isWindows(A), {
DOT_LITERAL: o,
SLASH_LITERAL: g,
ONE_CHAR: C,
DOTS_SLASH: I,
NO_DOT: E,
NO_DOTS: Q,
NO_DOTS_SLASH: B,
STAR: p,
START_ANCHOR: w
} = kn.globChars(n), D = e.dot ? Q : E, N = e.dot ? B : E, k = e.capture ? "" : "?:", _ = { negated: !1, prefix: "" }, L = e.bash === !0 ?
".*?" : p;
e.capture && (L = `(${L})`);
let J = /* @__PURE__ */ s((T) => T.noglobstar === !0 ? L : `(${k}(?:(?!${w}${T.dot ? I : o}).)*?)`, "globstar"), U = /* @__PURE__ */ s((T) => {
switch (T) {
case "*":
return `${D}${C}${L}`;
case ".*":
return `${o}${C}${L}`;
case "*.*":
return `${D}${L}${o}${C}${L}`;
case "*/*":
return `${D}${L}${g}${C}${N}${L}`;
case "**":
return D + J(e);
case "**/*":
return `(?:${D}${J(e)}${g})?${N}${C}${L}`;
case "**/*.*":
return `(?:${D}${J(e)}${g})?${N}${L}${o}${C}${L}`;
case "**/.*":
return `(?:${D}${J(e)}${g})?${o}${C}${L}`;
default: {
let eA = /^(.*?)\.(\w+)$/.exec(T);
if (!eA) return;
let mA = U(eA[1]);
return mA ? mA + o + eA[2] : void 0;
}
}
}, "create"), $ = le.removePrefix(t, _), q = U($);
return q && e.strictSlashes !== !0 && (q += `${g}?`), q;
};
xQ.exports = eC;
});
// ../node_modules/picomatch/lib/picomatch.js
var UQ = m((j4, PQ) => {
"use strict";
var qR = v("path"), zR = vQ(), tC = YQ(), rC = Hi(), WR = Ti(), VR = /* @__PURE__ */ s((t) => t && typeof t == "object" && !Array.isArray(
t), "isObject"), bA = /* @__PURE__ */ s((t, A, e = !1) => {
if (Array.isArray(t)) {
let E = t.map((B) => bA(B, A, e));
return /* @__PURE__ */ s((B) => {
for (let p of E) {
let w = p(B);
if (w) return w;
}
return !1;
}, "arrayMatcher");
}
let r = VR(t) && t.tokens && t.input;
if (t === "" || typeof t != "string" && !r)
throw new TypeError("Expected pattern to be a non-empty string");
let i = A || {}, n = rC.isWindows(A), o = r ? bA.compileRe(t, A) : bA.makeRe(t, A, !1, !0), g = o.state;
delete o.state;
let C = /* @__PURE__ */ s(() => !1, "isIgnored");
if (i.ignore) {
let E = { ...A, ignore: null, onMatch: null, onResult: null };
C = bA(i.ignore, E, e);
}
let I = /* @__PURE__ */ s((E, Q = !1) => {
let { isMatch: B, match: p, output: w } = bA.test(E, o, A, { glob: t, posix: n }), D = { glob: t, state: g, regex: o, posix: n, input: E,
output: w, match: p, isMatch: B };
return typeof i.onResult == "function" && i.onResult(D), B === !1 ? (D.isMatch = !1, Q ? D : !1) : C(E) ? (typeof i.onIgnore == "funct\
ion" && i.onIgnore(D), D.isMatch = !1, Q ? D : !1) : (typeof i.onMatch == "function" && i.onMatch(D), Q ? D : !0);
}, "matcher");
return e && (I.state = g), I;
}, "picomatch");
bA.test = (t, A, e, { glob: r, posix: i } = {}) => {
if (typeof t != "string")
throw new TypeError("Expected input to be a string");
if (t === "")
return { isMatch: !1, output: "" };
let n = e || {}, o = n.format || (i ? rC.toPosixSlashes : null), g = t === r, C = g && o ? o(t) : t;
return g === !1 && (C = o ? o(t) : t, g = C === r), (g === !1 || n.capture === !0) && (n.matchBase === !0 || n.basename === !0 ? g = bA.
matchBase(t, A, e, i) : g = A.exec(C)), { isMatch: !!g, match: g, output: C };
};
bA.matchBase = (t, A, e, r = rC.isWindows(e)) => (A instanceof RegExp ? A : bA.makeRe(A, e)).test(qR.basename(t));
bA.isMatch = (t, A, e) => bA(A, e)(t);
bA.parse = (t, A) => Array.isArray(t) ? t.map((e) => bA.parse(e, A)) : tC(t, { ...A, fastpaths: !1 });
bA.scan = (t, A) => zR(t, A);
bA.compileRe = (t, A, e = !1, r = !1) => {
if (e === !0)
return t.output;
let i = A || {}, n = i.contains ? "" : "^", o = i.contains ? "" : "$", g = `${n}(?:${t.output})${o}`;
t && t.negated === !0 && (g = `^(?!${g}).*$`);
let C = bA.toRegex(g, A);
return r === !0 && (C.state = t), C;
};
bA.makeRe = (t, A = {}, e = !1, r = !1) => {
if (!t || typeof t != "string")
throw new TypeError("Expected a non-empty string");
let i = { negated: !1, fastpaths: !0 };
return A.fastpaths !== !1 && (t[0] === "." || t[0] === "*") && (i.output = tC.fastpaths(t, A)), i.output || (i = tC(t, A)), bA.compileRe(
i, A, e, r);
};
bA.toRegex = (t, A) => {
try {
let e = A || {};
return new RegExp(t, e.flags || (e.nocase ? "i" : ""));
} catch (e) {
if (A && A.debug === !0) throw e;
return /$^/;
}
};
bA.constants = WR;
PQ.exports = bA;
});
// ../node_modules/picomatch/index.js
var Nn = m((z4, _Q) => {
"use strict";
_Q.exports = UQ();
});
// ../node_modules/@yarnpkg/fslib/node_modules/tslib/tslib.es6.js
var Re = {};
Ss(Re, {
__assign: () => gC,
__asyncDelegator: () => pv,
__asyncGenerator: () => dv,
__asyncValues: () => wv,
__await: () => qi,
__awaiter: () => lv,
__classPrivateFieldGet: () => Sv,
__classPrivateFieldSet: () => Kv,
__createBinding: () => uv,
__decorate: () => cv,
__exportStar: () => Bv,
__extends: () => av,
__generator: () => Ev,
__importDefault: () => Dv,
__importStar: () => yv,
__makeTemplateObject: () => mv,
__metadata: () => hv,
__param: () => Iv,
__read: () => Bf,
__rest: () => Cv,
__spread: () => Qv,
__spreadArrays: () => fv,
__values: () => aC
});
function av(t, A) {
oC(t, A);
function e() {
this.constructor = t;
}
s(e, "__"), t.prototype = A === null ? Object.create(A) : (e.prototype = A.prototype, new e());
}
function Cv(t, A) {
var e = {};
for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && A.indexOf(r) < 0 && (e[r] = t[r]);
if (t != null && typeof Object.getOwnPropertySymbols == "function")
for (var i = 0, r = Object.getOwnPropertySymbols(t); i < r.length; i++)
A.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[i]) && (e[r[i]] = t[r[i]]);
return e;
}
function cv(t, A, e, r) {
var i = arguments.length, n = i < 3 ? A : r === null ? r = Object.getOwnPropertyDescriptor(A, e) : r, o;
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") n = Reflect.decorate(t, A, e, r);
else for (var g = t.length - 1; g >= 0; g--) (o = t[g]) && (n = (i < 3 ? o(n) : i > 3 ? o(A, e, n) : o(A, e)) || n);
return i > 3 && n && Object.defineProperty(A, e, n), n;
}
function Iv(t, A) {
return function(e, r) {
A(e, r, t);
};
}
function hv(t, A) {
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(t, A);
}
function lv(t, A, e, r) {
function i(n) {
return n instanceof e ? n : new e(function(o) {
o(n);
});
}
return s(i, "adopt"), new (e || (e = Promise))(function(n, o) {
function g(E) {
try {
I(r.next(E));
} catch (Q) {
o(Q);
}
}
s(g, "fulfilled");
function C(E) {
try {
I(r.throw(E));
} catch (Q) {
o(Q);
}
}
s(C, "rejected");
function I(E) {
E.done ? n(E.value) : i(E.value).then(g, C);
}
s(I, "step"), I((r = r.apply(t, A || [])).next());
});
}
function Ev(t, A) {
var e = { label: 0, sent: /* @__PURE__ */ s(function() {
if (n[0] & 1) throw n[1];
return n[1];
}, "sent"), trys: [], ops: [] }, r, i, n, o;
return o = { next: g(0), throw: g(1), return: g(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
return this;
}), o;
function g(I) {
return function(E) {
return C([I, E]);
};
}
function C(I) {
if (r) throw new TypeError("Generator is already executing.");
for (; e; ) try {
if (r = 1, i && (n = I[0] & 2 ? i.return : I[0] ? i.throw || ((n = i.return) && n.call(i), 0) : i.next) && !(n = n.call(i, I[1])).done)
return n;
switch (i = 0, n && (I = [I[0] & 2, n.value]), I[0]) {
case 0:
case 1:
n = I;
break;
case 4:
return e.label++, { value: I[1], done: !1 };
case 5:
e.label++, i = I[1], I = [0];
continue;
case 7:
I = e.ops.pop(), e.trys.pop();
continue;
default:
if (n = e.trys, !(n = n.length > 0 && n[n.length - 1]) && (I[0] === 6 || I[0] === 2)) {
e = 0;
continue;
}
if (I[0] === 3 && (!n || I[1] > n[0] && I[1] < n[3])) {
e.label = I[1];
break;
}
if (I[0] === 6 && e.label < n[1]) {
e.label = n[1], n = I;
break;
}
if (n && e.label < n[2]) {
e.label = n[2], e.ops.push(I);
break;
}
n[2] && e.ops.pop(), e.trys.pop();
continue;
}
I = A.call(t, e);
} catch (E) {
I = [6, E], i = 0;
} finally {
r = n = 0;
}
if (I[0] & 5) throw I[1];
return { value: I[0] ? I[1] : void 0, done: !0 };
}
}
function uv(t, A, e, r) {
r === void 0 && (r = e), t[r] = A[e];
}
function Bv(t, A) {
for (var e in t) e !== "default" && !A.hasOwnProperty(e) && (A[e] = t[e]);
}
function aC(t) {
var A = typeof Symbol == "function" && Symbol.iterator, e = A && t[A], r = 0;
if (e) return e.call(t);
if (t && typeof t.length == "number") return {
next: /* @__PURE__ */ s(function() {
return t && r >= t.length && (t = void 0), { value: t && t[r++], done: !t };
}, "next")
};
throw new TypeError(A ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function Bf(t, A) {
var e = typeof Symbol == "function" && t[Symbol.iterator];
if (!e) return t;
var r = e.call(t), i, n = [], o;
try {
for (; (A === void 0 || A-- > 0) && !(i = r.next()).done; ) n.push(i.value);
} catch (g) {
o = { error: g };
} finally {
try {
i && !i.done && (e = r.return) && e.call(r);
} finally {
if (o) throw o.error;
}
}
return n;
}
function Qv() {
for (var t = [], A = 0; A < arguments.length; A++)
t = t.concat(Bf(arguments[A]));
return t;
}
function fv() {
for (var t = 0, A = 0, e = arguments.length; A < e; A++) t += arguments[A].length;
for (var r = Array(t), i = 0, A = 0; A < e; A++)
for (var n = arguments[A], o = 0, g = n.length; o < g; o++, i++)
r[i] = n[o];
return r;
}
function qi(t) {
return this instanceof qi ? (this.v = t, this) : new qi(t);
}
function dv(t, A, e) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var r = e.apply(t, A || []), i, n = [];
return i = {}, o("next"), o("throw"), o("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function o(B) {
r[B] && (i[B] = function(p) {
return new Promise(function(w, D) {
n.push([B, p, w, D]) > 1 || g(B, p);
});
});
}
function g(B, p) {
try {
C(r[B](p));
} catch (w) {
Q(n[0][3], w);
}
}
function C(B) {
B.value instanceof qi ? Promise.resolve(B.value.v).then(I, E) : Q(n[0][2], B);
}
function I(B) {
g("next", B);
}
function E(B) {
g("throw", B);
}
function Q(B, p) {
B(p), n.shift(), n.length && g(n[0][0], n[0][1]);
}
}
function pv(t) {
var A, e;
return A = {}, r("next"), r("throw", function(i) {
throw i;
}), r("return"), A[Symbol.iterator] = function() {
return this;
}, A;
function r(i, n) {
A[i] = t[i] ? function(o) {
return (e = !e) ? { value: qi(t[i](o)), done: i === "return" } : n ? n(o) : o;
} : n;
}
}
function wv(t) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var A = t[Symbol.asyncIterator], e;
return A ? A.call(t) : (t = typeof aC == "function" ? aC(t) : t[Symbol.iterator](), e = {}, r("next"), r("throw"), r("return"), e[Symbol.asyncIterator] =
function() {
return this;
}, e);
function r(n) {
e[n] = t[n] && function(o) {
return new Promise(function(g, C) {
o = t[n](o), i(g, C, o.done, o.value);
});
};
}
function i(n, o, g, C) {
Promise.resolve(C).then(function(I) {
n({ value: I, done: g });
}, o);
}
}
function mv(t, A) {
return Object.defineProperty ? Object.defineProperty(t, "raw", { value: A }) : t.raw = A, t;
}
function yv(t) {
if (t && t.__esModule) return t;
var A = {};
if (t != null) for (var e in t) Object.hasOwnProperty.call(t, e) && (A[e] = t[e]);
return A.default = t, A;
}
function Dv(t) {
return t && t.__esModule ? t : { default: t };
}
function Sv(t, A) {
if (!A.has(t))
throw new TypeError("attempted to get private field on non-instance");
return A.get(t);
}
function Kv(t, A, e) {
if (!A.has(t))
throw new TypeError("attempted to set private field on non-instance");
return A.set(t, e), e;
}
var oC, gC, ve = ue(() => {
oC = /* @__PURE__ */ s(function(t, A) {
return oC = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, r) {
e.__proto__ = r;
} || function(e, r) {
for (var i in r) r.hasOwnProperty(i) && (e[i] = r[i]);
}, oC(t, A);
}, "extendStatics");
s(av, "__extends");
gC = /* @__PURE__ */ s(function() {
return gC = Object.assign || /* @__PURE__ */ s(function(A) {
for (var e, r = 1, i = arguments.length; r < i; r++) {
e = arguments[r];
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]);
}
return A;
}, "__assign"), gC.apply(this, arguments);
}, "__assign");
s(Cv, "__rest");
s(cv, "__decorate");
s(Iv, "__param");
s(hv, "__metadata");
s(lv, "__awaiter");
s(Ev, "__generator");
s(uv, "__createBinding");
s(Bv, "__exportStar");
s(aC, "__values");
s(Bf, "__read");
s(Qv, "__spread");
s(fv, "__spreadArrays");
s(qi, "__await");
s(dv, "__asyncGenerator");
s(pv, "__asyncDelegator");
s(wv, "__asyncValues");
s(mv, "__makeTemplateObject");
s(yv, "__importStar");
s(Dv, "__importDefault");
s(Sv, "__classPrivateFieldGet");
s(Kv, "__classPrivateFieldSet");
});
// ../node_modules/@yarnpkg/fslib/lib/constants.js
var zi = m((de) => {
"use strict";
Object.defineProperty(de, "__esModule", { value: !0 });
de.SAFE_TIME = de.S_IFLNK = de.S_IFREG = de.S_IFDIR = de.S_IFMT = void 0;
de.S_IFMT = 61440;
de.S_IFDIR = 16384;
de.S_IFREG = 32768;
de.S_IFLNK = 40960;
de.SAFE_TIME = 456789e3;
});
// ../node_modules/@yarnpkg/fslib/lib/statUtils.js
var On = m((FA) => {
"use strict";
Object.defineProperty(FA, "__esModule", { value: !0 });
FA.areStatsEqual = FA.convertToBigIntStats = FA.clearStats = FA.makeEmptyStats = FA.makeDefaultStats = FA.BigIntStatsEntry = FA.StatEntry =
FA.DirEntry = FA.DEFAULT_MODE = void 0;
var Fv = (ve(), Fe(Re)), Qf = Fv.__importStar(v("util")), vA = zi();
FA.DEFAULT_MODE = vA.S_IFREG | 420;
var CC = class {
static {
s(this, "DirEntry");
}
constructor() {
this.name = "", this.mode = 0;
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & vA.S_IFMT) === vA.S_IFDIR;
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & vA.S_IFMT) === vA.S_IFREG;
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & vA.S_IFMT) === vA.S_IFLNK;
}
};
FA.DirEntry = CC;
var Gn = class {
static {
s(this, "StatEntry");
}
constructor() {
this.uid = 0, this.gid = 0, this.size = 0, this.blksize = 0, this.atimeMs = 0, this.mtimeMs = 0, this.ctimeMs = 0, this.birthtimeMs = 0,
this.atime = /* @__PURE__ */ new Date(0), this.mtime = /* @__PURE__ */ new Date(0), this.ctime = /* @__PURE__ */ new Date(0), this.birthtime =
/* @__PURE__ */ new Date(0), this.dev = 0, this.ino = 0, this.mode = FA.DEFAULT_MODE, this.nlink = 1, this.rdev = 0, this.blocks = 1;
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & vA.S_IFMT) === vA.S_IFDIR;
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & vA.S_IFMT) === vA.S_IFREG;
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & vA.S_IFMT) === vA.S_IFLNK;
}
};
FA.StatEntry = Gn;
var Jn = class {
static {
s(this, "BigIntStatsEntry");
}
constructor() {
this.uid = BigInt(0), this.gid = BigInt(0), this.size = BigInt(0), this.blksize = BigInt(0), this.atimeMs = BigInt(0), this.mtimeMs = BigInt(
0), this.ctimeMs = BigInt(0), this.birthtimeMs = BigInt(0), this.atimeNs = BigInt(0), this.mtimeNs = BigInt(0), this.ctimeNs = BigInt(
0), this.birthtimeNs = BigInt(0), this.atime = /* @__PURE__ */ new Date(0), this.mtime = /* @__PURE__ */ new Date(0), this.ctime = /* @__PURE__ */ new Date(
0), this.birthtime = /* @__PURE__ */ new Date(0), this.dev = BigInt(0), this.ino = BigInt(0), this.mode = BigInt(FA.DEFAULT_MODE), this.
nlink = BigInt(1), this.rdev = BigInt(0), this.blocks = BigInt(1);
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & BigInt(vA.S_IFMT)) === BigInt(vA.S_IFDIR);
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & BigInt(vA.S_IFMT)) === BigInt(vA.S_IFREG);
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & BigInt(vA.S_IFMT)) === BigInt(vA.S_IFLNK);
}
};
FA.BigIntStatsEntry = Jn;
function ff() {
return new Gn();
}
s(ff, "makeDefaultStats");
FA.makeDefaultStats = ff;
function kv() {
return df(ff());
}
s(kv, "makeEmptyStats");
FA.makeEmptyStats = kv;
function df(t) {
for (let A in t)
if (Object.prototype.hasOwnProperty.call(t, A)) {
let e = t[A];
typeof e == "number" ? t[A] = 0 : typeof e == "bigint" ? t[A] = BigInt(0) : Qf.types.isDate(e) && (t[A] = /* @__PURE__ */ new Date(0));
}
return t;
}
s(df, "clearStats");
FA.clearStats = df;
function bv(t) {
let A = new Jn();
for (let e in t)
if (Object.prototype.hasOwnProperty.call(t, e)) {
let r = t[e];
typeof r == "number" ? A[e] = BigInt(r) : Qf.types.isDate(r) && (A[e] = new Date(r));
}
return A.atimeNs = A.atimeMs * BigInt(1e6), A.mtimeNs = A.mtimeMs * BigInt(1e6), A.ctimeNs = A.ctimeMs * BigInt(1e6), A.birthtimeNs = A.
birthtimeMs * BigInt(1e6), A;
}
s(bv, "convertToBigIntStats");
FA.convertToBigIntStats = bv;
function Nv(t, A) {
if (t.atimeMs !== A.atimeMs || t.birthtimeMs !== A.birthtimeMs || t.blksize !== A.blksize || t.blocks !== A.blocks || t.ctimeMs !== A.ctimeMs ||
t.dev !== A.dev || t.gid !== A.gid || t.ino !== A.ino || t.isBlockDevice() !== A.isBlockDevice() || t.isCharacterDevice() !== A.isCharacterDevice() ||
t.isDirectory() !== A.isDirectory() || t.isFIFO() !== A.isFIFO() || t.isFile() !== A.isFile() || t.isSocket() !== A.isSocket() || t.isSymbolicLink() !==
A.isSymbolicLink() || t.mode !== A.mode || t.mtimeMs !== A.mtimeMs || t.nlink !== A.nlink || t.rdev !== A.rdev || t.size !== A.size || t.
uid !== A.uid)
return !1;
let e = t, r = A;
return !(e.atimeNs !== r.atimeNs || e.mtimeNs !== r.mtimeNs || e.ctimeNs !== r.ctimeNs || e.birthtimeNs !== r.birthtimeNs);
}
s(Nv, "areStatsEqual");
FA.areStatsEqual = Nv;
});
// ../node_modules/@yarnpkg/fslib/lib/path.js
var te = m((lA) => {
"use strict";
Object.defineProperty(lA, "__esModule", { value: !0 });
lA.toFilename = lA.convertPath = lA.ppath = lA.npath = lA.Filename = lA.PortablePath = void 0;
var Mv = (ve(), Fe(Re)), Tn = Mv.__importDefault(v("path")), pf;
(function(t) {
t[t.File = 0] = "File", t[t.Portable = 1] = "Portable", t[t.Native = 2] = "Native";
})(pf || (pf = {}));
lA.PortablePath = {
root: "/",
dot: ".",
parent: ".."
};
lA.Filename = {
nodeModules: "node_modules",
manifest: "package.json",
lockfile: "yarn.lock",
virtual: "__virtual__",
/**
* @deprecated
*/
pnpJs: ".pnp.js",
pnpCjs: ".pnp.cjs",
rc: ".yarnrc.yml"
};
lA.npath = Object.create(Tn.default);
lA.ppath = Object.create(Tn.default.posix);
lA.npath.cwd = () => process.cwd();
lA.ppath.cwd = () => cC(process.cwd());
lA.ppath.resolve = (...t) => t.length > 0 && lA.ppath.isAbsolute(t[0]) ? Tn.default.posix.resolve(...t) : Tn.default.posix.resolve(lA.ppath.
cwd(), ...t);
var wf = /* @__PURE__ */ s(function(t, A, e) {
return A = t.normalize(A), e = t.normalize(e), A === e ? "." : (A.endsWith(t.sep) || (A = A + t.sep), e.startsWith(A) ? e.slice(A.length) :
null);
}, "contains");
lA.npath.fromPortablePath = mf;
lA.npath.toPortablePath = cC;
lA.npath.contains = (t, A) => wf(lA.npath, t, A);
lA.ppath.contains = (t, A) => wf(lA.ppath, t, A);
var Rv = /^([a-zA-Z]:.*)$/, vv = /^\/\/(\.\/)?(.*)$/, Lv = /^\/([a-zA-Z]:.*)$/, xv = /^\/unc\/(\.dot\/)?(.*)$/;
function mf(t) {
if (process.platform !== "win32")
return t;
let A, e;
if (A = t.match(Lv))
t = A[1];
else if (e = t.match(xv))
t = `\\\\${e[1] ? ".\\" : ""}${e[2]}`;
else
return t;
return t.replace(/\//g, "\\");
}
s(mf, "fromPortablePath");
function cC(t) {
if (process.platform !== "win32")
return t;
t = t.replace(/\\/g, "/");
let A, e;
return (A = t.match(Rv)) ? t = `/${A[1]}` : (e = t.match(vv)) && (t = `/unc/${e[1] ? ".dot/" : ""}${e[2]}`), t;
}
s(cC, "toPortablePath");
function Yv(t, A) {
return t === lA.npath ? mf(A) : cC(A);
}
s(Yv, "convertPath");
lA.convertPath = Yv;
function Pv(t) {
if (lA.npath.parse(t).dir !== "" || lA.ppath.parse(t).dir !== "")
throw new Error(`Invalid filename: "${t}"`);
return t;
}
s(Pv, "toFilename");
lA.toFilename = Pv;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js
var uC = m((or) => {
"use strict";
Object.defineProperty(or, "__esModule", { value: !0 });
or.copyPromise = or.LinkStrategy = void 0;
var yf = (ve(), Fe(Re)), hC = yf.__importDefault(v("fs")), Uv = yf.__importStar(zi()), _v = te(), Hn = new Date(Uv.SAFE_TIME * 1e3), Df;
(function(t) {
t.Allow = "allow", t.ReadOnly = "readOnly";
})(Df = or.LinkStrategy || (or.LinkStrategy = {}));
async function Gv(t, A, e, r, i) {
let n = t.pathUtils.normalize(A), o = e.pathUtils.normalize(r), g = [], C = [], { atime: I, mtime: E } = i.stableTime ? { atime: Hn, mtime: Hn } :
await e.lstatPromise(o);
await t.mkdirpPromise(t.pathUtils.dirname(A), { utimes: [I, E] });
let Q = typeof t.lutimesPromise == "function" ? t.lutimesPromise.bind(t) : t.utimesPromise.bind(t);
await lC(g, C, Q, t, n, e, o, { ...i, didParentExist: !0 });
for (let B of g)
await B();
await Promise.all(C.map((B) => B()));
}
s(Gv, "copyPromise");
or.copyPromise = Gv;
async function lC(t, A, e, r, i, n, o, g) {
var C, I;
let E = g.didParentExist ? await Jv(r, i) : null, Q = await n.lstatPromise(o), { atime: B, mtime: p } = g.stableTime ? { atime: Hn, mtime: Hn } :
Q, w;
switch (!0) {
case Q.isDirectory():
w = await Ov(t, A, e, r, i, E, n, o, Q, g);
break;
case Q.isFile():
w = await Hv(t, A, e, r, i, E, n, o, Q, g);
break;
case Q.isSymbolicLink():
w = await jv(t, A, e, r, i, E, n, o, Q, g);
break;
default:
throw new Error(`Unsupported file type (${Q.mode})`);
}
return (w || ((C = E?.mtime) === null || C === void 0 ? void 0 : C.getTime()) !== p.getTime() || ((I = E?.atime) === null || I === void 0 ?
void 0 : I.getTime()) !== B.getTime()) && (A.push(() => e(i, B, p)), w = !0), (E === null || (E.mode & 511) !== (Q.mode & 511)) && (A.push(
() => r.chmodPromise(i, Q.mode & 511)), w = !0), w;
}
s(lC, "copyImpl");
async function Jv(t, A) {
try {
return await t.lstatPromise(A);
} catch {
return null;
}
}
s(Jv, "maybeLStat");
async function Ov(t, A, e, r, i, n, o, g, C, I) {
if (n !== null && !n.isDirectory())
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
let E = !1;
n === null && (t.push(async () => {
try {
await r.mkdirPromise(i, { mode: C.mode });
} catch (p) {
if (p.code !== "EEXIST")
throw p;
}
}), E = !0);
let Q = await o.readdirPromise(g), B = I.didParentExist && !n ? { ...I, didParentExist: !1 } : I;
if (I.stableSort)
for (let p of Q.sort())
await lC(t, A, e, r, r.pathUtils.join(i, p), o, o.pathUtils.join(g, p), B) && (E = !0);
else
(await Promise.all(Q.map(async (w) => {
await lC(t, A, e, r, r.pathUtils.join(i, w), o, o.pathUtils.join(g, w), B);
}))).some((w) => w) && (E = !0);
return E;
}
s(Ov, "copyFolder");
var IC = /* @__PURE__ */ new WeakMap();
function EC(t, A, e, r, i) {
return async () => {
await t.linkPromise(e, A), i === Df.ReadOnly && (r.mode &= -147, await t.chmodPromise(A, r.mode));
};
}
s(EC, "makeLinkOperation");
function Tv(t, A, e, r, i) {
let n = IC.get(t);
return typeof n > "u" ? async () => {
try {
await t.copyFilePromise(e, A, hC.default.constants.COPYFILE_FICLONE_FORCE), IC.set(t, !0);
} catch (o) {
if (o.code === "ENOSYS" || o.code === "ENOTSUP")
IC.set(t, !1), await EC(t, A, e, r, i)();
else
throw o;
}
} : n ? async () => t.copyFilePromise(e, A, hC.default.constants.COPYFILE_FICLONE_FORCE) : EC(t, A, e, r, i);
}
s(Tv, "makeCloneLinkOperation");
async function Hv(t, A, e, r, i, n, o, g, C, I) {
var E;
if (n !== null)
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
let Q = (E = I.linkStrategy) !== null && E !== void 0 ? E : null, B = r === o ? Q !== null ? Tv(r, i, g, C, Q) : async () => r.copyFilePromise(
g, i, hC.default.constants.COPYFILE_FICLONE) : Q !== null ? EC(r, i, g, C, Q) : async () => r.writeFilePromise(i, await o.readFilePromise(
g));
return t.push(async () => B()), !0;
}
s(Hv, "copyFile");
async function jv(t, A, e, r, i, n, o, g, C, I) {
if (n !== null)
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
return t.push(async () => {
await r.symlinkPromise((0, _v.convertPath)(r.pathUtils, await o.readlinkPromise(g)), i);
}), !0;
}
s(jv, "copySymlink");
});
// ../node_modules/@yarnpkg/fslib/lib/errors.js
var Wi = m((EA) => {
"use strict";
Object.defineProperty(EA, "__esModule", { value: !0 });
EA.LibzipError = EA.ERR_DIR_CLOSED = EA.EOPNOTSUPP = EA.ENOTEMPTY = EA.EROFS = EA.EEXIST = EA.EISDIR = EA.ENOTDIR = EA.ENOENT = EA.EBADF =
EA.EINVAL = EA.ENOSYS = EA.EBUSY = void 0;
function pe(t, A) {
return Object.assign(new Error(`${t}: ${A}`), { code: t });
}
s(pe, "makeError");
function qv(t) {
return pe("EBUSY", t);
}
s(qv, "EBUSY");
EA.EBUSY = qv;
function zv(t, A) {
return pe("ENOSYS", `${t}, ${A}`);
}
s(zv, "ENOSYS");
EA.ENOSYS = zv;
function Wv(t) {
return pe("EINVAL", `invalid argument, ${t}`);
}
s(Wv, "EINVAL");
EA.EINVAL = Wv;
function Vv(t) {
return pe("EBADF", `bad file descriptor, ${t}`);
}
s(Vv, "EBADF");
EA.EBADF = Vv;
function Xv(t) {
return pe("ENOENT", `no such file or directory, ${t}`);
}
s(Xv, "ENOENT");
EA.ENOENT = Xv;
function Zv(t) {
return pe("ENOTDIR", `not a directory, ${t}`);
}
s(Zv, "ENOTDIR");
EA.ENOTDIR = Zv;
function $v(t) {
return pe("EISDIR", `illegal operation on a directory, ${t}`);
}
s($v, "EISDIR");
EA.EISDIR = $v;
function AL(t) {
return pe("EEXIST", `file already exists, ${t}`);
}
s(AL, "EEXIST");
EA.EEXIST = AL;
function eL(t) {
return pe("EROFS", `read-only filesystem, ${t}`);
}
s(eL, "EROFS");
EA.EROFS = eL;
function tL(t) {
return pe("ENOTEMPTY", `directory not empty, ${t}`);
}
s(tL, "ENOTEMPTY");
EA.ENOTEMPTY = tL;
function rL(t) {
return pe("EOPNOTSUPP", `operation not supported, ${t}`);
}
s(rL, "EOPNOTSUPP");
EA.EOPNOTSUPP = rL;
function iL() {
return pe("ERR_DIR_CLOSED", "Directory handle was closed");
}
s(iL, "ERR_DIR_CLOSED");
EA.ERR_DIR_CLOSED = iL;
var BC = class extends Error {
static {
s(this, "LibzipError");
}
constructor(A, e) {
super(A), this.name = "Libzip Error", this.code = e;
}
};
EA.LibzipError = BC;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js
var QC = m((Ur) => {
"use strict";
Object.defineProperty(Ur, "__esModule", { value: !0 });
Ur.opendir = Ur.CustomDir = void 0;
var sL = (ve(), Fe(Re)), nL = sL.__importStar(Wi()), jn = class {
static {
s(this, "CustomDir");
}
constructor(A, e, r = {}) {
this.path = A, this.nextDirent = e, this.opts = r, this.closed = !1;
}
throwIfClosed() {
if (this.closed)
throw nL.ERR_DIR_CLOSED();
}
async *[Symbol.asyncIterator]() {
try {
let A;
for (; (A = await this.read()) !== null; )
yield A;
} finally {
await this.close();
}
}
read(A) {
let e = this.readSync();
return typeof A < "u" ? A(null, e) : Promise.resolve(e);
}
readSync() {
return this.throwIfClosed(), this.nextDirent();
}
close(A) {
return this.closeSync(), typeof A < "u" ? A(null) : Promise.resolve();
}
closeSync() {
var A, e;
this.throwIfClosed(), (e = (A = this.opts).onClose) === null || e === void 0 || e.call(A), this.closed = !0;
}
};
Ur.CustomDir = jn;
function oL(t, A, e, r) {
let i = /* @__PURE__ */ s(() => {
let n = e.shift();
return typeof n > "u" ? null : Object.assign(t.statSync(t.pathUtils.join(A, n)), {
name: n
});
}, "nextDirent");
return new jn(A, i, r);
}
s(oL, "opendir");
Ur.opendir = oL;
});
// ../node_modules/@yarnpkg/fslib/lib/FakeFS.js
var vt = m((Rt) => {
"use strict";
Object.defineProperty(Rt, "__esModule", { value: !0 });
Rt.normalizeLineEndings = Rt.BasePortableFakeFS = Rt.FakeFS = void 0;
var gL = v("os"), aL = uC(), Sf = te(), qn = class {
static {
s(this, "FakeFS");
}
constructor(A) {
this.pathUtils = A;
}
async *genTraversePromise(A, { stableSort: e = !1 } = {}) {
let r = [A];
for (; r.length > 0; ) {
let i = r.shift();
if ((await this.lstatPromise(i)).isDirectory()) {
let o = await this.readdirPromise(i);
if (e)
for (let g of o.sort())
r.push(this.pathUtils.join(i, g));
else
throw new Error("Not supported");
} else
yield i;
}
}
async removePromise(A, { recursive: e = !0, maxRetries: r = 5 } = {}) {
let i;
try {
i = await this.lstatPromise(A);
} catch (n) {
if (n.code === "ENOENT")
return;
throw n;
}
if (i.isDirectory()) {
if (e) {
let n = await this.readdirPromise(A);
await Promise.all(n.map((o) => this.removePromise(this.pathUtils.resolve(A, o))));
}
for (let n = 0; n <= r; n++)
try {
await this.rmdirPromise(A);
break;
} catch (o) {
if (o.code !== "EBUSY" && o.code !== "ENOTEMPTY")
throw o;
n < r && await new Promise((g) => setTimeout(g, n * 100));
}
} else
await this.unlinkPromise(A);
}
removeSync(A, { recursive: e = !0 } = {}) {
let r;
try {
r = this.lstatSync(A);
} catch (i) {
if (i.code === "ENOENT")
return;
throw i;
}
if (r.isDirectory()) {
if (e)
for (let i of this.readdirSync(A))
this.removeSync(this.pathUtils.resolve(A, i));
this.rmdirSync(A);
} else
this.unlinkSync(A);
}
async mkdirpPromise(A, { chmod: e, utimes: r } = {}) {
if (A = this.resolve(A), A === this.pathUtils.dirname(A))
return;
let i = A.split(this.pathUtils.sep), n;
for (let o = 2; o <= i.length; ++o) {
let g = i.slice(0, o).join(this.pathUtils.sep);
if (!this.existsSync(g)) {
try {
await this.mkdirPromise(g);
} catch (C) {
if (C.code === "EEXIST")
continue;
throw C;
}
if (n ?? (n = g), e != null && await this.chmodPromise(g, e), r != null)
await this.utimesPromise(g, r[0], r[1]);
else {
let C = await this.statPromise(this.pathUtils.dirname(g));
await this.utimesPromise(g, C.atime, C.mtime);
}
}
}
return n;
}
mkdirpSync(A, { chmod: e, utimes: r } = {}) {
if (A = this.resolve(A), A === this.pathUtils.dirname(A))
return;
let i = A.split(this.pathUtils.sep), n;
for (let o = 2; o <= i.length; ++o) {
let g = i.slice(0, o).join(this.pathUtils.sep);
if (!this.existsSync(g)) {
try {
this.mkdirSync(g);
} catch (C) {
if (C.code === "EEXIST")
continue;
throw C;
}
if (n ?? (n = g), e != null && this.chmodSync(g, e), r != null)
this.utimesSync(g, r[0], r[1]);
else {
let C = this.statSync(this.pathUtils.dirname(g));
this.utimesSync(g, C.atime, C.mtime);
}
}
}
return n;
}
async copyPromise(A, e, { baseFs: r = this, overwrite: i = !0, stableSort: n = !1, stableTime: o = !1, linkStrategy: g = null } = {}) {
return await (0, aL.copyPromise)(this, A, r, e, { overwrite: i, stableSort: n, stableTime: o, linkStrategy: g });
}
copySync(A, e, { baseFs: r = this, overwrite: i = !0 } = {}) {
let n = r.lstatSync(e), o = this.existsSync(A);
if (n.isDirectory()) {
this.mkdirpSync(A);
let C = r.readdirSync(e);
for (let I of C)
this.copySync(this.pathUtils.join(A, I), r.pathUtils.join(e, I), { baseFs: r, overwrite: i });
} else if (n.isFile()) {
if (!o || i) {
o && this.removeSync(A);
let C = r.readFileSync(e);
this.writeFileSync(A, C);
}
} else if (n.isSymbolicLink()) {
if (!o || i) {
o && this.removeSync(A);
let C = r.readlinkSync(e);
this.symlinkSync((0, Sf.convertPath)(this.pathUtils, C), A);
}
} else
throw new Error(`Unsupported file type (file: ${e}, mode: 0o${n.mode.toString(8).padStart(6, "0")})`);
let g = n.mode & 511;
this.chmodSync(A, g);
}
async changeFilePromise(A, e, r = {}) {
return Buffer.isBuffer(e) ? this.changeFileBufferPromise(A, e, r) : this.changeFileTextPromise(A, e, r);
}
async changeFileBufferPromise(A, e, { mode: r } = {}) {
let i = Buffer.alloc(0);
try {
i = await this.readFilePromise(A);
} catch {
}
Buffer.compare(i, e) !== 0 && await this.writeFilePromise(A, e, { mode: r });
}
async changeFileTextPromise(A, e, { automaticNewlines: r, mode: i } = {}) {
let n = "";
try {
n = await this.readFilePromise(A, "utf8");
} catch {
}
let o = r ? dC(n, e) : e;
n !== o && await this.writeFilePromise(A, o, { mode: i });
}
changeFileSync(A, e, r = {}) {
return Buffer.isBuffer(e) ? this.changeFileBufferSync(A, e, r) : this.changeFileTextSync(A, e, r);
}
changeFileBufferSync(A, e, { mode: r } = {}) {
let i = Buffer.alloc(0);
try {
i = this.readFileSync(A);
} catch {
}
Buffer.compare(i, e) !== 0 && this.writeFileSync(A, e, { mode: r });
}
changeFileTextSync(A, e, { automaticNewlines: r = !1, mode: i } = {}) {
let n = "";
try {
n = this.readFileSync(A, "utf8");
} catch {
}
let o = r ? dC(n, e) : e;
n !== o && this.writeFileSync(A, o, { mode: i });
}
async movePromise(A, e) {
try {
await this.renamePromise(A, e);
} catch (r) {
if (r.code === "EXDEV")
await this.copyPromise(e, A), await this.removePromise(A);
else
throw r;
}
}
moveSync(A, e) {
try {
this.renameSync(A, e);
} catch (r) {
if (r.code === "EXDEV")
this.copySync(e, A), this.removeSync(A);
else
throw r;
}
}
async lockPromise(A, e) {
let r = `${A}.flock`, i = 1e3 / 60, n = Date.now(), o = null, g = /* @__PURE__ */ s(async () => {
let C;
try {
[C] = await this.readJsonPromise(r);
} catch {
return Date.now() - n < 500;
}
try {
return process.kill(C, 0), !0;
} catch {
return !1;
}
}, "isAlive");
for (; o === null; )
try {
o = await this.openPromise(r, "wx");
} catch (C) {
if (C.code === "EEXIST") {
if (!await g())
try {
await this.unlinkPromise(r);
continue;
} catch {
}
if (Date.now() - n < 60 * 1e3)
await new Promise((I) => setTimeout(I, i));
else
throw new Error(`Couldn't acquire a lock in a reasonable time (via ${r})`);
} else
throw C;
}
await this.writePromise(o, JSON.stringify([process.pid]));
try {
return await e();
} finally {
try {
await this.closePromise(o), await this.unlinkPromise(r);
} catch {
}
}
}
async readJsonPromise(A) {
let e = await this.readFilePromise(A, "utf8");
try {
return JSON.parse(e);
} catch (r) {
throw r.message += ` (in ${A})`, r;
}
}
readJsonSync(A) {
let e = this.readFileSync(A, "utf8");
try {
return JSON.parse(e);
} catch (r) {
throw r.message += ` (in ${A})`, r;
}
}
async writeJsonPromise(A, e) {
return await this.writeFilePromise(A, `${JSON.stringify(e, null, 2)}
`);
}
writeJsonSync(A, e) {
return this.writeFileSync(A, `${JSON.stringify(e, null, 2)}
`);
}
async preserveTimePromise(A, e) {
let r = await this.lstatPromise(A), i = await e();
typeof i < "u" && (A = i), this.lutimesPromise ? await this.lutimesPromise(A, r.atime, r.mtime) : r.isSymbolicLink() || await this.utimesPromise(
A, r.atime, r.mtime);
}
async preserveTimeSync(A, e) {
let r = this.lstatSync(A), i = e();
typeof i < "u" && (A = i), this.lutimesSync ? this.lutimesSync(A, r.atime, r.mtime) : r.isSymbolicLink() || this.utimesSync(A, r.atime,
r.mtime);
}
};
Rt.FakeFS = qn;
var fC = class extends qn {
static {
s(this, "BasePortableFakeFS");
}
constructor() {
super(Sf.ppath);
}
};
Rt.BasePortableFakeFS = fC;
function CL(t) {
let A = t.match(/\r?\n/g);
if (A === null)
return gL.EOL;
let e = A.filter((i) => i === `\r
`).length, r = A.length - e;
return e > r ? `\r
` : `
`;
}
s(CL, "getEndOfLine");
function dC(t, A) {
return A.replace(/\r?\n/g, CL(t));
}
s(dC, "normalizeLineEndings");
Rt.normalizeLineEndings = dC;
});
// ../node_modules/@yarnpkg/fslib/lib/NodeFS.js
var Lt = m((zn) => {
"use strict";
Object.defineProperty(zn, "__esModule", { value: !0 });
zn.NodeFS = void 0;
var cL = (ve(), Fe(Re)), IL = cL.__importDefault(v("fs")), hL = vt(), Kf = Wi(), Y = te(), pC = class extends hL.BasePortableFakeFS {
static {
s(this, "NodeFS");
}
constructor(A = IL.default) {
super(), this.realFs = A, typeof this.realFs.lutimes < "u" && (this.lutimesPromise = this.lutimesPromiseImpl, this.lutimesSync = this.
lutimesSyncImpl);
}
getExtractHint() {
return !1;
}
getRealPath() {
return Y.PortablePath.root;
}
resolve(A) {
return Y.ppath.resolve(A);
}
async openPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.open(Y.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
openSync(A, e, r) {
return this.realFs.openSync(Y.npath.fromPortablePath(A), e, r);
}
async opendirPromise(A, e) {
return await new Promise((r, i) => {
typeof e < "u" ? this.realFs.opendir(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.opendir(Y.npath.fromPortablePath(
A), this.makeCallback(r, i));
}).then((r) => Object.defineProperty(r, "path", { value: A, configurable: !0, writable: !0 }));
}
opendirSync(A, e) {
let r = typeof e < "u" ? this.realFs.opendirSync(Y.npath.fromPortablePath(A), e) : this.realFs.opendirSync(Y.npath.fromPortablePath(A));
return Object.defineProperty(r, "path", { value: A, configurable: !0, writable: !0 });
}
async readPromise(A, e, r = 0, i = 0, n = -1) {
return await new Promise((o, g) => {
this.realFs.read(A, e, r, i, n, (C, I) => {
C ? g(C) : o(I);
});
});
}
readSync(A, e, r, i, n) {
return this.realFs.readSync(A, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
return await new Promise((o, g) => typeof e == "string" ? this.realFs.write(A, e, r, this.makeCallback(o, g)) : this.realFs.write(A, e,
r, i, n, this.makeCallback(o, g)));
}
writeSync(A, e, r, i, n) {
return typeof e == "string" ? this.realFs.writeSync(A, e, r) : this.realFs.writeSync(A, e, r, i, n);
}
async closePromise(A) {
await new Promise((e, r) => {
this.realFs.close(A, this.makeCallback(e, r));
});
}
closeSync(A) {
this.realFs.closeSync(A);
}
createReadStream(A, e) {
let r = A !== null ? Y.npath.fromPortablePath(A) : A;
return this.realFs.createReadStream(r, e);
}
createWriteStream(A, e) {
let r = A !== null ? Y.npath.fromPortablePath(A) : A;
return this.realFs.createWriteStream(r, e);
}
async realpathPromise(A) {
return await new Promise((e, r) => {
this.realFs.realpath(Y.npath.fromPortablePath(A), {}, this.makeCallback(e, r));
}).then((e) => Y.npath.toPortablePath(e));
}
realpathSync(A) {
return Y.npath.toPortablePath(this.realFs.realpathSync(Y.npath.fromPortablePath(A), {}));
}
async existsPromise(A) {
return await new Promise((e) => {
this.realFs.exists(Y.npath.fromPortablePath(A), e);
});
}
accessSync(A, e) {
return this.realFs.accessSync(Y.npath.fromPortablePath(A), e);
}
async accessPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.access(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
existsSync(A) {
return this.realFs.existsSync(Y.npath.fromPortablePath(A));
}
async statPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.stat(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.stat(Y.npath.fromPortablePath(A), this.makeCallback(
r, i));
});
}
statSync(A, e) {
return e ? this.realFs.statSync(Y.npath.fromPortablePath(A), e) : this.realFs.statSync(Y.npath.fromPortablePath(A));
}
async fstatPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.fstat(A, e, this.makeCallback(r, i)) : this.realFs.fstat(A, this.makeCallback(r, i));
});
}
fstatSync(A, e) {
return e ? this.realFs.fstatSync(A, e) : this.realFs.fstatSync(A);
}
async lstatPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.lstat(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.lstat(Y.npath.fromPortablePath(A), this.
makeCallback(r, i));
});
}
lstatSync(A, e) {
return e ? this.realFs.lstatSync(Y.npath.fromPortablePath(A), e) : this.realFs.lstatSync(Y.npath.fromPortablePath(A));
}
async fchmodPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.fchmod(A, e, this.makeCallback(r, i));
});
}
fchmodSync(A, e) {
return this.realFs.fchmodSync(A, e);
}
async chmodPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.chmod(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
chmodSync(A, e) {
return this.realFs.chmodSync(Y.npath.fromPortablePath(A), e);
}
async fchownPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.fchown(A, e, r, this.makeCallback(i, n));
});
}
fchownSync(A, e, r) {
return this.realFs.fchownSync(A, e, r);
}
async chownPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.chown(Y.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
chownSync(A, e, r) {
return this.realFs.chownSync(Y.npath.fromPortablePath(A), e, r);
}
async renamePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.rename(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e), this.makeCallback(r, i));
});
}
renameSync(A, e) {
return this.realFs.renameSync(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e));
}
async copyFilePromise(A, e, r = 0) {
return await new Promise((i, n) => {
this.realFs.copyFile(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e), r, this.makeCallback(i, n));
});
}
copyFileSync(A, e, r = 0) {
return this.realFs.copyFileSync(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e), r);
}
async appendFilePromise(A, e, r) {
return await new Promise((i, n) => {
let o = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
r ? this.realFs.appendFile(o, e, r, this.makeCallback(i, n)) : this.realFs.appendFile(o, e, this.makeCallback(i, n));
});
}
appendFileSync(A, e, r) {
let i = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
r ? this.realFs.appendFileSync(i, e, r) : this.realFs.appendFileSync(i, e);
}
async writeFilePromise(A, e, r) {
return await new Promise((i, n) => {
let o = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
r ? this.realFs.writeFile(o, e, r, this.makeCallback(i, n)) : this.realFs.writeFile(o, e, this.makeCallback(i, n));
});
}
writeFileSync(A, e, r) {
let i = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
r ? this.realFs.writeFileSync(i, e, r) : this.realFs.writeFileSync(i, e);
}
async unlinkPromise(A) {
return await new Promise((e, r) => {
this.realFs.unlink(Y.npath.fromPortablePath(A), this.makeCallback(e, r));
});
}
unlinkSync(A) {
return this.realFs.unlinkSync(Y.npath.fromPortablePath(A));
}
async utimesPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.utimes(Y.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
utimesSync(A, e, r) {
this.realFs.utimesSync(Y.npath.fromPortablePath(A), e, r);
}
async lutimesPromiseImpl(A, e, r) {
let i = this.realFs.lutimes;
if (typeof i > "u")
throw (0, Kf.ENOSYS)("unavailable Node binding", `lutimes '${A}'`);
return await new Promise((n, o) => {
i.call(this.realFs, Y.npath.fromPortablePath(A), e, r, this.makeCallback(n, o));
});
}
lutimesSyncImpl(A, e, r) {
let i = this.realFs.lutimesSync;
if (typeof i > "u")
throw (0, Kf.ENOSYS)("unavailable Node binding", `lutimes '${A}'`);
i.call(this.realFs, Y.npath.fromPortablePath(A), e, r);
}
async mkdirPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.mkdir(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
mkdirSync(A, e) {
return this.realFs.mkdirSync(Y.npath.fromPortablePath(A), e);
}
async rmdirPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.rmdir(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.rmdir(Y.npath.fromPortablePath(A), this.
makeCallback(r, i));
});
}
rmdirSync(A, e) {
return this.realFs.rmdirSync(Y.npath.fromPortablePath(A), e);
}
async linkPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.link(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e), this.makeCallback(r, i));
});
}
linkSync(A, e) {
return this.realFs.linkSync(Y.npath.fromPortablePath(A), Y.npath.fromPortablePath(e));
}
async symlinkPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.symlink(Y.npath.fromPortablePath(A.replace(/\/+$/, "")), Y.npath.fromPortablePath(e), r, this.makeCallback(i, n));
});
}
symlinkSync(A, e, r) {
return this.realFs.symlinkSync(Y.npath.fromPortablePath(A.replace(/\/+$/, "")), Y.npath.fromPortablePath(e), r);
}
async readFilePromise(A, e) {
return await new Promise((r, i) => {
let n = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
this.realFs.readFile(n, e, this.makeCallback(r, i));
});
}
readFileSync(A, e) {
let r = typeof A == "string" ? Y.npath.fromPortablePath(A) : A;
return this.realFs.readFileSync(r, e);
}
async readdirPromise(A, e) {
return await new Promise((r, i) => {
e?.withFileTypes ? this.realFs.readdir(Y.npath.fromPortablePath(A), { withFileTypes: !0 }, this.makeCallback(r, i)) : this.realFs.readdir(
Y.npath.fromPortablePath(A), this.makeCallback((n) => r(n), i));
});
}
readdirSync(A, e) {
return e?.withFileTypes ? this.realFs.readdirSync(Y.npath.fromPortablePath(A), { withFileTypes: !0 }) : this.realFs.readdirSync(Y.npath.
fromPortablePath(A));
}
async readlinkPromise(A) {
return await new Promise((e, r) => {
this.realFs.readlink(Y.npath.fromPortablePath(A), this.makeCallback(e, r));
}).then((e) => Y.npath.toPortablePath(e));
}
readlinkSync(A) {
return Y.npath.toPortablePath(this.realFs.readlinkSync(Y.npath.fromPortablePath(A)));
}
async truncatePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.truncate(Y.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
truncateSync(A, e) {
return this.realFs.truncateSync(Y.npath.fromPortablePath(A), e);
}
async ftruncatePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.ftruncate(A, e, this.makeCallback(r, i));
});
}
ftruncateSync(A, e) {
return this.realFs.ftruncateSync(A, e);
}
watch(A, e, r) {
return this.realFs.watch(
Y.npath.fromPortablePath(A),
// @ts-expect-error
e,
r
);
}
watchFile(A, e, r) {
return this.realFs.watchFile(
Y.npath.fromPortablePath(A),
// @ts-expect-error
e,
r
);
}
unwatchFile(A, e) {
return this.realFs.unwatchFile(Y.npath.fromPortablePath(A), e);
}
makeCallback(A, e) {
return (r, i) => {
r ? e(r) : A(i);
};
}
};
zn.NodeFS = pC;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js
var Ff = m((we) => {
"use strict";
Object.defineProperty(we, "__esModule", { value: !0 });
we.CustomStatWatcher = we.assertStatus = we.Status = we.Event = void 0;
var lL = (ve(), Fe(Re)), EL = v("events"), Wn = lL.__importStar(On()), _r;
(function(t) {
t.Change = "change", t.Stop = "stop";
})(_r = we.Event || (we.Event = {}));
var Gr;
(function(t) {
t.Ready = "ready", t.Running = "running", t.Stopped = "stopped";
})(Gr = we.Status || (we.Status = {}));
function wC(t, A) {
if (t !== A)
throw new Error(`Invalid StatWatcher status: expected '${A}', got '${t}'`);
}
s(wC, "assertStatus");
we.assertStatus = wC;
var mC = class t extends EL.EventEmitter {
static {
s(this, "CustomStatWatcher");
}
static create(A, e, r) {
let i = new t(A, e, r);
return i.start(), i;
}
constructor(A, e, { bigint: r = !1 } = {}) {
super(), this.status = Gr.Ready, this.changeListeners = /* @__PURE__ */ new Map(), this.startTimeout = null, this.fakeFs = A, this.path =
e, this.bigint = r, this.lastStats = this.stat();
}
start() {
wC(this.status, Gr.Ready), this.status = Gr.Running, this.startTimeout = setTimeout(() => {
this.startTimeout = null, this.fakeFs.existsSync(this.path) || this.emit(_r.Change, this.lastStats, this.lastStats);
}, 3);
}
stop() {
wC(this.status, Gr.Running), this.status = Gr.Stopped, this.startTimeout !== null && (clearTimeout(this.startTimeout), this.startTimeout =
null), this.emit(_r.Stop);
}
stat() {
try {
return this.fakeFs.statSync(this.path, { bigint: this.bigint });
} catch {
let e = this.bigint ? new Wn.BigIntStatsEntry() : new Wn.StatEntry();
return Wn.clearStats(e);
}
}
/**
* Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
*
* @param opts.persistent Decides whether the interval should be immediately unref-ed.
*/
makeInterval(A) {
let e = setInterval(() => {
let r = this.stat(), i = this.lastStats;
Wn.areStatsEqual(r, i) || (this.lastStats = r, this.emit(_r.Change, r, i));
}, A.interval);
return A.persistent ? e : e.unref();
}
/**
* Registers a listener and assigns it an interval.
*/
registerChangeListener(A, e) {
this.addListener(_r.Change, A), this.changeListeners.set(A, this.makeInterval(e));
}
/**
* Unregisters the listener and clears the assigned interval.
*/
unregisterChangeListener(A) {
this.removeListener(_r.Change, A);
let e = this.changeListeners.get(A);
typeof e < "u" && clearInterval(e), this.changeListeners.delete(A);
}
/**
* Unregisters all listeners and clears all assigned intervals.
*/
unregisterAllChangeListeners() {
for (let A of this.changeListeners.keys())
this.unregisterChangeListener(A);
}
hasChangeListeners() {
return this.changeListeners.size > 0;
}
/**
* Refs all stored intervals.
*/
ref() {
for (let A of this.changeListeners.values())
A.ref();
return this;
}
/**
* Unrefs all stored intervals.
*/
unref() {
for (let A of this.changeListeners.values())
A.unref();
return this;
}
};
we.CustomStatWatcher = mC;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js
var yC = m((xt) => {
"use strict";
Object.defineProperty(xt, "__esModule", { value: !0 });
xt.unwatchAllFiles = xt.unwatchFile = xt.watchFile = void 0;
var uL = Ff(), Vn = /* @__PURE__ */ new WeakMap();
function BL(t, A, e, r) {
let i, n, o, g;
switch (typeof e) {
case "function":
i = !1, n = !0, o = 5007, g = e;
break;
default:
({
bigint: i = !1,
persistent: n = !0,
interval: o = 5007
} = e), g = r;
break;
}
let C = Vn.get(t);
typeof C > "u" && Vn.set(t, C = /* @__PURE__ */ new Map());
let I = C.get(A);
return typeof I > "u" && (I = uL.CustomStatWatcher.create(t, A, { bigint: i }), C.set(A, I)), I.registerChangeListener(g, { persistent: n,
interval: o }), I;
}
s(BL, "watchFile");
xt.watchFile = BL;
function kf(t, A, e) {
let r = Vn.get(t);
if (typeof r > "u")
return;
let i = r.get(A);
typeof i > "u" || (typeof e > "u" ? i.unregisterAllChangeListeners() : i.unregisterChangeListener(e), i.hasChangeListeners() || (i.stop(),
r.delete(A)));
}
s(kf, "unwatchFile");
xt.unwatchFile = kf;
function QL(t) {
let A = Vn.get(t);
if (!(typeof A > "u"))
for (let e of A.keys())
kf(t, e);
}
s(QL, "unwatchAllFiles");
xt.unwatchAllFiles = QL;
});
// ../node_modules/@yarnpkg/fslib/lib/ZipFS.js
var Zn = m((lt) => {
"use strict";
Object.defineProperty(lt, "__esModule", { value: !0 });
lt.ZipFS = lt.makeEmptyArchive = lt.DEFAULT_COMPRESSION_LEVEL = void 0;
var KC = (ve(), Fe(Re)), Vi = v("fs"), bf = v("stream"), fL = v("util"), Nf = KC.__importDefault(v("zlib")), dL = vt(), pL = Lt(), wL = QC(),
DC = yC(), ht = zi(), W = KC.__importStar(Wi()), aA = te(), gr = KC.__importStar(On());
lt.DEFAULT_COMPRESSION_LEVEL = "mixed";
function mL(t) {
if (typeof t == "string" && String(+t) === t)
return +t;
if (typeof t == "number" && Number.isFinite(t))
return t < 0 ? Date.now() / 1e3 : t;
if (fL.types.isDate(t))
return t.getTime() / 1e3;
throw new Error("Invalid time");
}
s(mL, "toUnixTimestamp");
function Xn() {
return Buffer.from([
80,
75,
5,
6,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]);
}
s(Xn, "makeEmptyArchive");
lt.makeEmptyArchive = Xn;
var SC = class extends dL.BasePortableFakeFS {
static {
s(this, "ZipFS");
}
constructor(A, e) {
super(), this.lzSource = null, this.listings = /* @__PURE__ */ new Map(), this.entries = /* @__PURE__ */ new Map(), this.fileSources =
/* @__PURE__ */ new Map(), this.fds = /* @__PURE__ */ new Map(), this.nextFd = 0, this.ready = !1, this.readOnly = !1, this.libzip = e.
libzip;
let r = e;
if (this.level = typeof r.level < "u" ? r.level : lt.DEFAULT_COMPRESSION_LEVEL, A ?? (A = Xn()), typeof A == "string") {
let { baseFs: o = new pL.NodeFS() } = r;
this.baseFs = o, this.path = A;
} else
this.path = null, this.baseFs = null;
if (e.stats)
this.stats = e.stats;
else if (typeof A == "string")
try {
this.stats = this.baseFs.statSync(A);
} catch (o) {
if (o.code === "ENOENT" && r.create)
this.stats = gr.makeDefaultStats();
else
throw o;
}
else
this.stats = gr.makeDefaultStats();
let i = this.libzip.malloc(4);
try {
let o = 0;
if (typeof A == "string" && r.create && (o |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE), e.readOnly && (o |= this.libzip.ZIP_RDONLY,
this.readOnly = !0), typeof A == "string")
this.zip = this.libzip.open(aA.npath.fromPortablePath(A), o, i);
else {
let g = this.allocateUnattachedSource(A);
try {
this.zip = this.libzip.openFromSource(g, o, i), this.lzSource = g;
} catch (C) {
throw this.libzip.source.free(g), C;
}
}
if (this.zip === 0) {
let g = this.libzip.struct.errorS();
throw this.libzip.error.initWithCode(g, this.libzip.getValue(i, "i32")), this.makeLibzipError(g);
}
} finally {
this.libzip.free(i);
}
this.listings.set(aA.PortablePath.root, /* @__PURE__ */ new Set());
let n = this.libzip.getNumEntries(this.zip, 0);
for (let o = 0; o < n; ++o) {
let g = this.libzip.getName(this.zip, o, 0);
if (aA.ppath.isAbsolute(g))
continue;
let C = aA.ppath.resolve(aA.PortablePath.root, g);
this.registerEntry(C, o), g.endsWith("/") && this.registerListing(C);
}
if (this.symlinkCount = this.libzip.ext.countSymlinks(this.zip), this.symlinkCount === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
this.ready = !0;
}
makeLibzipError(A) {
let e = this.libzip.struct.errorCodeZip(A), r = this.libzip.error.strerror(A), i = new W.LibzipError(r, this.libzip.errors[e]);
if (e === this.libzip.errors.ZIP_ER_CHANGED)
throw new Error(`Assertion failed: Unexpected libzip error: ${i.message}`);
return i;
}
getExtractHint(A) {
for (let e of this.entries.keys()) {
let r = this.pathUtils.extname(e);
if (A.relevantExtensions.has(r))
return !0;
}
return !1;
}
getAllFiles() {
return Array.from(this.entries.keys());
}
getRealPath() {
if (!this.path)
throw new Error("ZipFS don't have real paths when loaded from a buffer");
return this.path;
}
getBufferAndClose() {
if (this.prepareClose(), !this.lzSource)
throw new Error("ZipFS was not created from a Buffer");
if (this.entries.size === 0)
return this.discardAndClose(), Xn();
try {
if (this.libzip.source.keep(this.lzSource), this.libzip.close(this.zip) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
if (this.libzip.source.open(this.lzSource) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
let A = this.libzip.source.tell(this.lzSource);
if (A === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
let e = this.libzip.malloc(A);
if (!e)
throw new Error("Couldn't allocate enough memory");
try {
let r = this.libzip.source.read(this.lzSource, e, A);
if (r === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (r < A)
throw new Error("Incomplete read");
if (r > A)
throw new Error("Overread");
let i = this.libzip.HEAPU8.subarray(e, e + A);
return Buffer.from(i);
} finally {
this.libzip.free(e);
}
} finally {
this.libzip.source.close(this.lzSource), this.libzip.source.free(this.lzSource), this.ready = !1;
}
}
prepareClose() {
if (!this.ready)
throw W.EBUSY("archive closed, close");
(0, DC.unwatchAllFiles)(this);
}
saveAndClose() {
if (!this.path || !this.baseFs)
throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");
if (this.prepareClose(), this.readOnly) {
this.discardAndClose();
return;
}
let A = this.baseFs.existsSync(this.path) || this.stats.mode === gr.DEFAULT_MODE ? void 0 : this.stats.mode;
if (this.entries.size === 0)
this.discardAndClose(), this.baseFs.writeFileSync(this.path, Xn(), { mode: A });
else {
if (this.libzip.close(this.zip) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
typeof A < "u" && this.baseFs.chmodSync(this.path, A);
}
this.ready = !1;
}
discardAndClose() {
this.prepareClose(), this.libzip.discard(this.zip), this.ready = !1;
}
resolve(A) {
return aA.ppath.resolve(aA.PortablePath.root, A);
}
async openPromise(A, e, r) {
return this.openSync(A, e, r);
}
openSync(A, e, r) {
let i = this.nextFd++;
return this.fds.set(i, { cursor: 0, p: A }), i;
}
hasOpenFileHandles() {
return !!this.fds.size;
}
async opendirPromise(A, e) {
return this.opendirSync(A, e);
}
opendirSync(A, e = {}) {
let r = this.resolveFilename(`opendir '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`opendir '${A}'`);
let i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`opendir '${A}'`);
let n = [...i], o = this.openSync(r, "r"), g = /* @__PURE__ */ s(() => {
this.closeSync(o);
}, "onClose");
return (0, wL.opendir)(this, r, n, { onClose: g });
}
async readPromise(A, e, r, i, n) {
return this.readSync(A, e, r, i, n);
}
readSync(A, e, r = 0, i = e.byteLength, n = -1) {
let o = this.fds.get(A);
if (typeof o > "u")
throw W.EBADF("read");
let g = n === -1 || n === null ? o.cursor : n, C = this.readFileSync(o.p);
C.copy(e, r, g, g + i);
let I = Math.max(0, Math.min(C.length - g, i));
return (n === -1 || n === null) && (o.cursor += I), I;
}
async writePromise(A, e, r, i, n) {
return typeof e == "string" ? this.writeSync(A, e, n) : this.writeSync(A, e, r, i, n);
}
writeSync(A, e, r, i, n) {
throw typeof this.fds.get(A) > "u" ? W.EBADF("read") : new Error("Unimplemented");
}
async closePromise(A) {
return this.closeSync(A);
}
closeSync(A) {
if (typeof this.fds.get(A) > "u")
throw W.EBADF("read");
this.fds.delete(A);
}
createReadStream(A, { encoding: e } = {}) {
if (A === null)
throw new Error("Unimplemented");
let r = this.openSync(A, "r"), i = Object.assign(new bf.PassThrough({
emitClose: !0,
autoDestroy: !0,
destroy: /* @__PURE__ */ s((o, g) => {
clearImmediate(n), this.closeSync(r), g(o);
}, "destroy")
}), {
close() {
i.destroy();
},
bytesRead: 0,
path: A
}), n = setImmediate(async () => {
try {
let o = await this.readFilePromise(A, e);
i.bytesRead = o.length, i.end(o);
} catch (o) {
i.destroy(o);
}
});
return i;
}
createWriteStream(A, { encoding: e } = {}) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
if (A === null)
throw new Error("Unimplemented");
let r = [], i = this.openSync(A, "w"), n = Object.assign(new bf.PassThrough({
autoDestroy: !0,
emitClose: !0,
destroy: /* @__PURE__ */ s((o, g) => {
try {
o ? g(o) : (this.writeFileSync(A, Buffer.concat(r), e), g(null));
} catch (C) {
g(C);
} finally {
this.closeSync(i);
}
}, "destroy")
}), {
bytesWritten: 0,
path: A,
close() {
n.destroy();
}
});
return n.on("data", (o) => {
let g = Buffer.from(o);
n.bytesWritten += g.length, r.push(g);
}), n;
}
async realpathPromise(A) {
return this.realpathSync(A);
}
realpathSync(A) {
let e = this.resolveFilename(`lstat '${A}'`, A);
if (!this.entries.has(e) && !this.listings.has(e))
throw W.ENOENT(`lstat '${A}'`);
return e;
}
async existsPromise(A) {
return this.existsSync(A);
}
existsSync(A) {
if (!this.ready)
throw W.EBUSY(`archive closed, existsSync '${A}'`);
if (this.symlinkCount === 0) {
let r = aA.ppath.resolve(aA.PortablePath.root, A);
return this.entries.has(r) || this.listings.has(r);
}
let e;
try {
e = this.resolveFilename(`stat '${A}'`, A, void 0, !1);
} catch {
return !1;
}
return e === void 0 ? !1 : this.entries.has(e) || this.listings.has(e);
}
async accessPromise(A, e) {
return this.accessSync(A, e);
}
accessSync(A, e = Vi.constants.F_OK) {
let r = this.resolveFilename(`access '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`access '${A}'`);
if (this.readOnly && e & Vi.constants.W_OK)
throw W.EROFS(`access '${A}'`);
}
async statPromise(A, e = { bigint: !1 }) {
return e.bigint ? this.statSync(A, { bigint: !0 }) : this.statSync(A);
}
statSync(A, e = { bigint: !1, throwIfNoEntry: !0 }) {
let r = this.resolveFilename(`stat '${A}'`, A, void 0, e.throwIfNoEntry);
if (r !== void 0) {
if (!this.entries.has(r) && !this.listings.has(r)) {
if (e.throwIfNoEntry === !1)
return;
throw W.ENOENT(`stat '${A}'`);
}
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`stat '${A}'`);
return this.statImpl(`stat '${A}'`, r, e);
}
}
async fstatPromise(A, e) {
return this.fstatSync(A, e);
}
fstatSync(A, e) {
let r = this.fds.get(A);
if (typeof r > "u")
throw W.EBADF("fstatSync");
let { p: i } = r, n = this.resolveFilename(`stat '${i}'`, i);
if (!this.entries.has(n) && !this.listings.has(n))
throw W.ENOENT(`stat '${i}'`);
if (i[i.length - 1] === "/" && !this.listings.has(n))
throw W.ENOTDIR(`stat '${i}'`);
return this.statImpl(`fstat '${i}'`, n, e);
}
async lstatPromise(A, e = { bigint: !1 }) {
return e.bigint ? this.lstatSync(A, { bigint: !0 }) : this.lstatSync(A);
}
lstatSync(A, e = { bigint: !1, throwIfNoEntry: !0 }) {
let r = this.resolveFilename(`lstat '${A}'`, A, !1, e.throwIfNoEntry);
if (r !== void 0) {
if (!this.entries.has(r) && !this.listings.has(r)) {
if (e.throwIfNoEntry === !1)
return;
throw W.ENOENT(`lstat '${A}'`);
}
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`lstat '${A}'`);
return this.statImpl(`lstat '${A}'`, r, e);
}
}
statImpl(A, e, r = {}) {
let i = this.entries.get(e);
if (typeof i < "u") {
let n = this.libzip.struct.statS();
if (this.libzip.statIndex(this.zip, i, 0, 0, n) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
let g = this.stats.uid, C = this.stats.gid, I = this.libzip.struct.statSize(n) >>> 0, E = 512, Q = Math.ceil(I / E), B = (this.libzip.
struct.statMtime(n) >>> 0) * 1e3, p = B, w = B, D = B, N = new Date(p), k = new Date(w), _ = new Date(D), L = new Date(B), J = this.
listings.has(e) ? ht.S_IFDIR : this.isSymbolicLink(i) ? ht.S_IFLNK : ht.S_IFREG, U = J === ht.S_IFDIR ? 493 : 420, $ = J | this.getUnixMode(
i, U) & 511, q = this.libzip.struct.statCrc(n), T = Object.assign(new gr.StatEntry(), { uid: g, gid: C, size: I, blksize: E, blocks: Q,
atime: N, birthtime: k, ctime: _, mtime: L, atimeMs: p, birthtimeMs: w, ctimeMs: D, mtimeMs: B, mode: $, crc: q });
return r.bigint === !0 ? gr.convertToBigIntStats(T) : T;
}
if (this.listings.has(e)) {
let n = this.stats.uid, o = this.stats.gid, g = 0, C = 512, I = 0, E = this.stats.mtimeMs, Q = this.stats.mtimeMs, B = this.stats.mtimeMs,
p = this.stats.mtimeMs, w = new Date(E), D = new Date(Q), N = new Date(B), k = new Date(p), _ = ht.S_IFDIR | 493, J = Object.assign(
new gr.StatEntry(), { uid: n, gid: o, size: g, blksize: C, blocks: I, atime: w, birthtime: D, ctime: N, mtime: k, atimeMs: E, birthtimeMs: Q,
ctimeMs: B, mtimeMs: p, mode: _, crc: 0 });
return r.bigint === !0 ? gr.convertToBigIntStats(J) : J;
}
throw new Error("Unreachable");
}
getUnixMode(A, e) {
if (this.libzip.file.getExternalAttributes(this.zip, A, 0, 0, this.libzip.uint08S, this.libzip.uint32S) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.libzip.getValue(this.libzip.uint08S, "i8") >>> 0 !== this.libzip.ZIP_OPSYS_UNIX ? e : this.libzip.getValue(this.libzip.uint32S,
"i32") >>> 16;
}
registerListing(A) {
let e = this.listings.get(A);
if (e)
return e;
this.registerListing(aA.ppath.dirname(A)).add(aA.ppath.basename(A));
let i = /* @__PURE__ */ new Set();
return this.listings.set(A, i), i;
}
registerEntry(A, e) {
this.registerListing(aA.ppath.dirname(A)).add(aA.ppath.basename(A)), this.entries.set(A, e);
}
unregisterListing(A) {
this.listings.delete(A);
let e = this.listings.get(aA.ppath.dirname(A));
e?.delete(aA.ppath.basename(A));
}
unregisterEntry(A) {
this.unregisterListing(A);
let e = this.entries.get(A);
this.entries.delete(A), !(typeof e > "u") && (this.fileSources.delete(e), this.isSymbolicLink(e) && this.symlinkCount--);
}
deleteEntry(A, e) {
if (this.unregisterEntry(A), this.libzip.delete(this.zip, e) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
resolveFilename(A, e, r = !0, i = !0) {
if (!this.ready)
throw W.EBUSY(`archive closed, ${A}`);
let n = aA.ppath.resolve(aA.PortablePath.root, e);
if (n === "/")
return aA.PortablePath.root;
let o = this.entries.get(n);
if (r && o !== void 0)
if (this.symlinkCount !== 0 && this.isSymbolicLink(o)) {
let g = this.getFileSource(o).toString();
return this.resolveFilename(A, aA.ppath.resolve(aA.ppath.dirname(n), g), !0, i);
} else
return n;
for (; ; ) {
let g = this.resolveFilename(A, aA.ppath.dirname(n), !0, i);
if (g === void 0)
return g;
let C = this.listings.has(g), I = this.entries.has(g);
if (!C && !I) {
if (i === !1)
return;
throw W.ENOENT(A);
}
if (!C)
throw W.ENOTDIR(A);
if (n = aA.ppath.resolve(g, aA.ppath.basename(n)), !r || this.symlinkCount === 0)
break;
let E = this.libzip.name.locate(this.zip, n.slice(1), 0);
if (E === -1)
break;
if (this.isSymbolicLink(E)) {
let Q = this.getFileSource(E).toString();
n = aA.ppath.resolve(aA.ppath.dirname(n), Q);
} else
break;
}
return n;
}
allocateBuffer(A) {
Buffer.isBuffer(A) || (A = Buffer.from(A));
let e = this.libzip.malloc(A.byteLength);
if (!e)
throw new Error("Couldn't allocate enough memory");
return new Uint8Array(this.libzip.HEAPU8.buffer, e, A.byteLength).set(A), { buffer: e, byteLength: A.byteLength };
}
allocateUnattachedSource(A) {
let e = this.libzip.struct.errorS(), { buffer: r, byteLength: i } = this.allocateBuffer(A), n = this.libzip.source.fromUnattachedBuffer(
r, i, 0, 1, e);
if (n === 0)
throw this.libzip.free(e), this.makeLibzipError(e);
return n;
}
allocateSource(A) {
let { buffer: e, byteLength: r } = this.allocateBuffer(A), i = this.libzip.source.fromBuffer(this.zip, e, r, 0, 1);
if (i === 0)
throw this.libzip.free(e), this.makeLibzipError(this.libzip.getError(this.zip));
return i;
}
setFileSource(A, e) {
let r = Buffer.isBuffer(e) ? e : Buffer.from(e), i = aA.ppath.relative(aA.PortablePath.root, A), n = this.allocateSource(e);
try {
let o = this.libzip.file.add(this.zip, i, n, this.libzip.ZIP_FL_OVERWRITE);
if (o === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
if (this.level !== "mixed") {
let g = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE;
if (this.libzip.file.setCompression(this.zip, o, 0, g, this.level) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
return this.fileSources.set(o, r), o;
} catch (o) {
throw this.libzip.source.free(n), o;
}
}
isSymbolicLink(A) {
if (this.symlinkCount === 0)
return !1;
if (this.libzip.file.getExternalAttributes(this.zip, A, 0, 0, this.libzip.uint08S, this.libzip.uint32S) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.libzip.getValue(this.libzip.uint08S, "i8") >>> 0 !== this.libzip.ZIP_OPSYS_UNIX ? !1 : (this.libzip.getValue(this.libzip.uint32S,
"i32") >>> 16 & ht.S_IFMT) === ht.S_IFLNK;
}
getFileSource(A, e = { asyncDecompress: !1 }) {
let r = this.fileSources.get(A);
if (typeof r < "u")
return r;
let i = this.libzip.struct.statS();
if (this.libzip.statIndex(this.zip, A, 0, 0, i) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
let o = this.libzip.struct.statCompSize(i), g = this.libzip.struct.statCompMethod(i), C = this.libzip.malloc(o);
try {
let I = this.libzip.fopenIndex(this.zip, A, 0, this.libzip.ZIP_FL_COMPRESSED);
if (I === 0)
throw this.makeLibzipError(this.libzip.getError(this.zip));
try {
let E = this.libzip.fread(I, C, o, 0);
if (E === -1)
throw this.makeLibzipError(this.libzip.file.getError(I));
if (E < o)
throw new Error("Incomplete read");
if (E > o)
throw new Error("Overread");
let Q = this.libzip.HEAPU8.subarray(C, C + o), B = Buffer.from(Q);
if (g === 0)
return this.fileSources.set(A, B), B;
if (e.asyncDecompress)
return new Promise((p, w) => {
Nf.default.inflateRaw(B, (D, N) => {
D ? w(D) : (this.fileSources.set(A, N), p(N));
});
});
{
let p = Nf.default.inflateRawSync(B);
return this.fileSources.set(A, p), p;
}
} finally {
this.libzip.fclose(I);
}
} finally {
this.libzip.free(C);
}
}
async fchmodPromise(A, e) {
return this.chmodPromise(this.fdToPath(A, "fchmod"), e);
}
fchmodSync(A, e) {
return this.chmodSync(this.fdToPath(A, "fchmodSync"), e);
}
async chmodPromise(A, e) {
return this.chmodSync(A, e);
}
chmodSync(A, e) {
if (this.readOnly)
throw W.EROFS(`chmod '${A}'`);
e &= 493;
let r = this.resolveFilename(`chmod '${A}'`, A, !1), i = this.entries.get(r);
if (typeof i > "u")
throw new Error(`Assertion failed: The entry should have been registered (${r})`);
let o = this.getUnixMode(i, ht.S_IFREG | 0) & -512 | e;
if (this.libzip.file.setExternalAttributes(this.zip, i, 0, 0, this.libzip.ZIP_OPSYS_UNIX, o << 16) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
async fchownPromise(A, e, r) {
return this.chownPromise(this.fdToPath(A, "fchown"), e, r);
}
fchownSync(A, e, r) {
return this.chownSync(this.fdToPath(A, "fchownSync"), e, r);
}
async chownPromise(A, e, r) {
return this.chownSync(A, e, r);
}
chownSync(A, e, r) {
throw new Error("Unimplemented");
}
async renamePromise(A, e) {
return this.renameSync(A, e);
}
renameSync(A, e) {
throw new Error("Unimplemented");
}
async copyFilePromise(A, e, r) {
let { indexSource: i, indexDest: n, resolvedDestP: o } = this.prepareCopyFile(A, e, r), g = await this.getFileSource(i, { asyncDecompress: !0 }),
C = this.setFileSource(o, g);
C !== n && this.registerEntry(o, C);
}
copyFileSync(A, e, r = 0) {
let { indexSource: i, indexDest: n, resolvedDestP: o } = this.prepareCopyFile(A, e, r), g = this.getFileSource(i), C = this.setFileSource(
o, g);
C !== n && this.registerEntry(o, C);
}
prepareCopyFile(A, e, r = 0) {
if (this.readOnly)
throw W.EROFS(`copyfile '${A} -> '${e}'`);
if ((r & Vi.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw W.ENOSYS("unsupported clone operation", `copyfile '${A}' -> ${e}'`);
let i = this.resolveFilename(`copyfile '${A} -> ${e}'`, A), n = this.entries.get(i);
if (typeof n > "u")
throw W.EINVAL(`copyfile '${A}' -> '${e}'`);
let o = this.resolveFilename(`copyfile '${A}' -> ${e}'`, e), g = this.entries.get(o);
if ((r & (Vi.constants.COPYFILE_EXCL | Vi.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof g < "u")
throw W.EEXIST(`copyfile '${A}' -> '${e}'`);
return {
indexSource: n,
resolvedDestP: o,
indexDest: g
};
}
async appendFilePromise(A, e, r) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
return typeof r > "u" ? r = { flag: "a" } : typeof r == "string" ? r = { flag: "a", encoding: r } : typeof r.flag > "u" && (r = { flag: "\
a", ...r }), this.writeFilePromise(A, e, r);
}
appendFileSync(A, e, r = {}) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
return typeof r > "u" ? r = { flag: "a" } : typeof r == "string" ? r = { flag: "a", encoding: r } : typeof r.flag > "u" && (r = { flag: "\
a", ...r }), this.writeFileSync(A, e, r);
}
fdToPath(A, e) {
var r;
let i = (r = this.fds.get(A)) === null || r === void 0 ? void 0 : r.p;
if (typeof i > "u")
throw W.EBADF(e);
return i;
}
async writeFilePromise(A, e, r) {
let { encoding: i, mode: n, index: o, resolvedP: g } = this.prepareWriteFile(A, r);
o !== void 0 && typeof r == "object" && r.flag && r.flag.includes("a") && (e = Buffer.concat([await this.getFileSource(o, { asyncDecompress: !0 }),
Buffer.from(e)])), i !== null && (e = e.toString(i));
let C = this.setFileSource(g, e);
C !== o && this.registerEntry(g, C), n !== null && await this.chmodPromise(g, n);
}
writeFileSync(A, e, r) {
let { encoding: i, mode: n, index: o, resolvedP: g } = this.prepareWriteFile(A, r);
o !== void 0 && typeof r == "object" && r.flag && r.flag.includes("a") && (e = Buffer.concat([this.getFileSource(o), Buffer.from(e)])),
i !== null && (e = e.toString(i));
let C = this.setFileSource(g, e);
C !== o && this.registerEntry(g, C), n !== null && this.chmodSync(g, n);
}
prepareWriteFile(A, e) {
if (typeof A == "number" && (A = this.fdToPath(A, "read")), this.readOnly)
throw W.EROFS(`open '${A}'`);
let r = this.resolveFilename(`open '${A}'`, A);
if (this.listings.has(r))
throw W.EISDIR(`open '${A}'`);
let i = null, n = null;
typeof e == "string" ? i = e : typeof e == "object" && ({
encoding: i = null,
mode: n = null
} = e);
let o = this.entries.get(r);
return {
encoding: i,
mode: n,
resolvedP: r,
index: o
};
}
async unlinkPromise(A) {
return this.unlinkSync(A);
}
unlinkSync(A) {
if (this.readOnly)
throw W.EROFS(`unlink '${A}'`);
let e = this.resolveFilename(`unlink '${A}'`, A);
if (this.listings.has(e))
throw W.EISDIR(`unlink '${A}'`);
let r = this.entries.get(e);
if (typeof r > "u")
throw W.EINVAL(`unlink '${A}'`);
this.deleteEntry(e, r);
}
async utimesPromise(A, e, r) {
return this.utimesSync(A, e, r);
}
utimesSync(A, e, r) {
if (this.readOnly)
throw W.EROFS(`utimes '${A}'`);
let i = this.resolveFilename(`utimes '${A}'`, A);
this.utimesImpl(i, r);
}
async lutimesPromise(A, e, r) {
return this.lutimesSync(A, e, r);
}
lutimesSync(A, e, r) {
if (this.readOnly)
throw W.EROFS(`lutimes '${A}'`);
let i = this.resolveFilename(`utimes '${A}'`, A, !1);
this.utimesImpl(i, r);
}
utimesImpl(A, e) {
this.listings.has(A) && (this.entries.has(A) || this.hydrateDirectory(A));
let r = this.entries.get(A);
if (r === void 0)
throw new Error("Unreachable");
if (this.libzip.file.setMtime(this.zip, r, 0, mL(e), 0) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
async mkdirPromise(A, e) {
return this.mkdirSync(A, e);
}
mkdirSync(A, { mode: e = 493, recursive: r = !1 } = {}) {
if (r)
return this.mkdirpSync(A, { chmod: e });
if (this.readOnly)
throw W.EROFS(`mkdir '${A}'`);
let i = this.resolveFilename(`mkdir '${A}'`, A);
if (this.entries.has(i) || this.listings.has(i))
throw W.EEXIST(`mkdir '${A}'`);
this.hydrateDirectory(i), this.chmodSync(i, e);
}
async rmdirPromise(A, e) {
return this.rmdirSync(A, e);
}
rmdirSync(A, { recursive: e = !1 } = {}) {
if (this.readOnly)
throw W.EROFS(`rmdir '${A}'`);
if (e) {
this.removeSync(A);
return;
}
let r = this.resolveFilename(`rmdir '${A}'`, A), i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`rmdir '${A}'`);
if (i.size > 0)
throw W.ENOTEMPTY(`rmdir '${A}'`);
let n = this.entries.get(r);
if (typeof n > "u")
throw W.EINVAL(`rmdir '${A}'`);
this.deleteEntry(A, n);
}
hydrateDirectory(A) {
let e = this.libzip.dir.add(this.zip, aA.ppath.relative(aA.PortablePath.root, A));
if (e === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.registerListing(A), this.registerEntry(A, e), e;
}
async linkPromise(A, e) {
return this.linkSync(A, e);
}
linkSync(A, e) {
throw W.EOPNOTSUPP(`link '${A}' -> '${e}'`);
}
async symlinkPromise(A, e) {
return this.symlinkSync(A, e);
}
symlinkSync(A, e) {
if (this.readOnly)
throw W.EROFS(`symlink '${A}' -> '${e}'`);
let r = this.resolveFilename(`symlink '${A}' -> '${e}'`, e);
if (this.listings.has(r))
throw W.EISDIR(`symlink '${A}' -> '${e}'`);
if (this.entries.has(r))
throw W.EEXIST(`symlink '${A}' -> '${e}'`);
let i = this.setFileSource(r, A);
if (this.registerEntry(r, i), this.libzip.file.setExternalAttributes(this.zip, i, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (ht.S_IFLNK | 511) <<
16) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
this.symlinkCount += 1;
}
async readFilePromise(A, e) {
typeof e == "object" && (e = e ? e.encoding : void 0);
let r = await this.readFileBuffer(A, { asyncDecompress: !0 });
return e ? r.toString(e) : r;
}
readFileSync(A, e) {
typeof e == "object" && (e = e ? e.encoding : void 0);
let r = this.readFileBuffer(A);
return e ? r.toString(e) : r;
}
readFileBuffer(A, e = { asyncDecompress: !1 }) {
typeof A == "number" && (A = this.fdToPath(A, "read"));
let r = this.resolveFilename(`open '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`open '${A}'`);
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`open '${A}'`);
if (this.listings.has(r))
throw W.EISDIR("read");
let i = this.entries.get(r);
if (i === void 0)
throw new Error("Unreachable");
return this.getFileSource(i, e);
}
async readdirPromise(A, e) {
return this.readdirSync(A, e);
}
readdirSync(A, e) {
let r = this.resolveFilename(`scandir '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`scandir '${A}'`);
let i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`scandir '${A}'`);
let n = [...i];
return e?.withFileTypes ? n.map((o) => Object.assign(this.statImpl("lstat", aA.ppath.join(A, o)), {
name: o
})) : n;
}
async readlinkPromise(A) {
let e = this.prepareReadlink(A);
return (await this.getFileSource(e, { asyncDecompress: !0 })).toString();
}
readlinkSync(A) {
let e = this.prepareReadlink(A);
return this.getFileSource(e).toString();
}
prepareReadlink(A) {
let e = this.resolveFilename(`readlink '${A}'`, A, !1);
if (!this.entries.has(e) && !this.listings.has(e))
throw W.ENOENT(`readlink '${A}'`);
if (A[A.length - 1] === "/" && !this.listings.has(e))
throw W.ENOTDIR(`open '${A}'`);
if (this.listings.has(e))
throw W.EINVAL(`readlink '${A}'`);
let r = this.entries.get(e);
if (r === void 0)
throw new Error("Unreachable");
if (!this.isSymbolicLink(r))
throw W.EINVAL(`readlink '${A}'`);
return r;
}
async truncatePromise(A, e = 0) {
let r = this.resolveFilename(`open '${A}'`, A), i = this.entries.get(r);
if (typeof i > "u")
throw W.EINVAL(`open '${A}'`);
let n = await this.getFileSource(i, { asyncDecompress: !0 }), o = Buffer.alloc(e, 0);
return n.copy(o), await this.writeFilePromise(A, o);
}
truncateSync(A, e = 0) {
let r = this.resolveFilename(`open '${A}'`, A), i = this.entries.get(r);
if (typeof i > "u")
throw W.EINVAL(`open '${A}'`);
let n = this.getFileSource(i), o = Buffer.alloc(e, 0);
return n.copy(o), this.writeFileSync(A, o);
}
async ftruncatePromise(A, e) {
return this.truncatePromise(this.fdToPath(A, "ftruncate"), e);
}
ftruncateSync(A, e) {
return this.truncateSync(this.fdToPath(A, "ftruncateSync"), e);
}
watch(A, e, r) {
let i;
switch (typeof e) {
case "function":
case "string":
case "undefined":
i = !0;
break;
default:
({ persistent: i = !0 } = e);
break;
}
if (!i)
return { on: /* @__PURE__ */ s(() => {
}, "on"), close: /* @__PURE__ */ s(() => {
}, "close") };
let n = setInterval(() => {
}, 24 * 60 * 60 * 1e3);
return { on: /* @__PURE__ */ s(() => {
}, "on"), close: /* @__PURE__ */ s(() => {
clearInterval(n);
}, "close") };
}
watchFile(A, e, r) {
let i = aA.ppath.resolve(aA.PortablePath.root, A);
return (0, DC.watchFile)(this, i, e, r);
}
unwatchFile(A, e) {
let r = aA.ppath.resolve(aA.PortablePath.root, A);
return (0, DC.unwatchFile)(this, r, e);
}
};
lt.ZipFS = SC;
});
// ../node_modules/@yarnpkg/fslib/lib/ProxiedFS.js
var Et = m(($n) => {
"use strict";
Object.defineProperty($n, "__esModule", { value: !0 });
$n.ProxiedFS = void 0;
var yL = vt(), FC = class extends yL.FakeFS {
static {
s(this, "ProxiedFS");
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
resolve(A) {
return this.mapFromBase(this.baseFs.resolve(this.mapToBase(A)));
}
getRealPath() {
return this.mapFromBase(this.baseFs.getRealPath());
}
async openPromise(A, e, r) {
return this.baseFs.openPromise(this.mapToBase(A), e, r);
}
openSync(A, e, r) {
return this.baseFs.openSync(this.mapToBase(A), e, r);
}
async opendirPromise(A, e) {
return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(A), e), { path: A });
}
opendirSync(A, e) {
return Object.assign(this.baseFs.opendirSync(this.mapToBase(A), e), { path: A });
}
async readPromise(A, e, r, i, n) {
return await this.baseFs.readPromise(A, e, r, i, n);
}
readSync(A, e, r, i, n) {
return this.baseFs.readSync(A, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
return typeof e == "string" ? await this.baseFs.writePromise(A, e, r) : await this.baseFs.writePromise(A, e, r, i, n);
}
writeSync(A, e, r, i, n) {
return typeof e == "string" ? this.baseFs.writeSync(A, e, r) : this.baseFs.writeSync(A, e, r, i, n);
}
async closePromise(A) {
return this.baseFs.closePromise(A);
}
closeSync(A) {
this.baseFs.closeSync(A);
}
createReadStream(A, e) {
return this.baseFs.createReadStream(A !== null ? this.mapToBase(A) : A, e);
}
createWriteStream(A, e) {
return this.baseFs.createWriteStream(A !== null ? this.mapToBase(A) : A, e);
}
async realpathPromise(A) {
return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(A)));
}
realpathSync(A) {
return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(A)));
}
async existsPromise(A) {
return this.baseFs.existsPromise(this.mapToBase(A));
}
existsSync(A) {
return this.baseFs.existsSync(this.mapToBase(A));
}
accessSync(A, e) {
return this.baseFs.accessSync(this.mapToBase(A), e);
}
async accessPromise(A, e) {
return this.baseFs.accessPromise(this.mapToBase(A), e);
}
async statPromise(A, e) {
return this.baseFs.statPromise(this.mapToBase(A), e);
}
statSync(A, e) {
return this.baseFs.statSync(this.mapToBase(A), e);
}
async fstatPromise(A, e) {
return this.baseFs.fstatPromise(A, e);
}
fstatSync(A, e) {
return this.baseFs.fstatSync(A, e);
}
lstatPromise(A, e) {
return this.baseFs.lstatPromise(this.mapToBase(A), e);
}
lstatSync(A, e) {
return this.baseFs.lstatSync(this.mapToBase(A), e);
}
async fchmodPromise(A, e) {
return this.baseFs.fchmodPromise(A, e);
}
fchmodSync(A, e) {
return this.baseFs.fchmodSync(A, e);
}
async chmodPromise(A, e) {
return this.baseFs.chmodPromise(this.mapToBase(A), e);
}
chmodSync(A, e) {
return this.baseFs.chmodSync(this.mapToBase(A), e);
}
async fchownPromise(A, e, r) {
return this.baseFs.fchownPromise(A, e, r);
}
fchownSync(A, e, r) {
return this.baseFs.fchownSync(A, e, r);
}
async chownPromise(A, e, r) {
return this.baseFs.chownPromise(this.mapToBase(A), e, r);
}
chownSync(A, e, r) {
return this.baseFs.chownSync(this.mapToBase(A), e, r);
}
async renamePromise(A, e) {
return this.baseFs.renamePromise(this.mapToBase(A), this.mapToBase(e));
}
renameSync(A, e) {
return this.baseFs.renameSync(this.mapToBase(A), this.mapToBase(e));
}
async copyFilePromise(A, e, r = 0) {
return this.baseFs.copyFilePromise(this.mapToBase(A), this.mapToBase(e), r);
}
copyFileSync(A, e, r = 0) {
return this.baseFs.copyFileSync(this.mapToBase(A), this.mapToBase(e), r);
}
async appendFilePromise(A, e, r) {
return this.baseFs.appendFilePromise(this.fsMapToBase(A), e, r);
}
appendFileSync(A, e, r) {
return this.baseFs.appendFileSync(this.fsMapToBase(A), e, r);
}
async writeFilePromise(A, e, r) {
return this.baseFs.writeFilePromise(this.fsMapToBase(A), e, r);
}
writeFileSync(A, e, r) {
return this.baseFs.writeFileSync(this.fsMapToBase(A), e, r);
}
async unlinkPromise(A) {
return this.baseFs.unlinkPromise(this.mapToBase(A));
}
unlinkSync(A) {
return this.baseFs.unlinkSync(this.mapToBase(A));
}
async utimesPromise(A, e, r) {
return this.baseFs.utimesPromise(this.mapToBase(A), e, r);
}
utimesSync(A, e, r) {
return this.baseFs.utimesSync(this.mapToBase(A), e, r);
}
async mkdirPromise(A, e) {
return this.baseFs.mkdirPromise(this.mapToBase(A), e);
}
mkdirSync(A, e) {
return this.baseFs.mkdirSync(this.mapToBase(A), e);
}
async rmdirPromise(A, e) {
return this.baseFs.rmdirPromise(this.mapToBase(A), e);
}
rmdirSync(A, e) {
return this.baseFs.rmdirSync(this.mapToBase(A), e);
}
async linkPromise(A, e) {
return this.baseFs.linkPromise(this.mapToBase(A), this.mapToBase(e));
}
linkSync(A, e) {
return this.baseFs.linkSync(this.mapToBase(A), this.mapToBase(e));
}
async symlinkPromise(A, e, r) {
let i = this.mapToBase(e);
if (this.pathUtils.isAbsolute(A))
return this.baseFs.symlinkPromise(this.mapToBase(A), i, r);
let n = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(e), A)), o = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(
i), n);
return this.baseFs.symlinkPromise(o, i, r);
}
symlinkSync(A, e, r) {
let i = this.mapToBase(e);
if (this.pathUtils.isAbsolute(A))
return this.baseFs.symlinkSync(this.mapToBase(A), i, r);
let n = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(e), A)), o = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(
i), n);
return this.baseFs.symlinkSync(o, i, r);
}
async readFilePromise(A, e) {
return e === "utf8" ? this.baseFs.readFilePromise(this.fsMapToBase(A), e) : this.baseFs.readFilePromise(this.fsMapToBase(A), e);
}
readFileSync(A, e) {
return e === "utf8" ? this.baseFs.readFileSync(this.fsMapToBase(A), e) : this.baseFs.readFileSync(this.fsMapToBase(A), e);
}
async readdirPromise(A, e) {
return this.baseFs.readdirPromise(this.mapToBase(A), e);
}
readdirSync(A, e) {
return this.baseFs.readdirSync(this.mapToBase(A), e);
}
async readlinkPromise(A) {
return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(A)));
}
readlinkSync(A) {
return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(A)));
}
async truncatePromise(A, e) {
return this.baseFs.truncatePromise(this.mapToBase(A), e);
}
truncateSync(A, e) {
return this.baseFs.truncateSync(this.mapToBase(A), e);
}
async ftruncatePromise(A, e) {
return this.baseFs.ftruncatePromise(A, e);
}
ftruncateSync(A, e) {
return this.baseFs.ftruncateSync(A, e);
}
watch(A, e, r) {
return this.baseFs.watch(
this.mapToBase(A),
// @ts-expect-error
e,
r
);
}
watchFile(A, e, r) {
return this.baseFs.watchFile(
this.mapToBase(A),
// @ts-expect-error
e,
r
);
}
unwatchFile(A, e) {
return this.baseFs.unwatchFile(this.mapToBase(A), e);
}
fsMapToBase(A) {
return typeof A == "number" ? A : this.mapToBase(A);
}
};
$n.ProxiedFS = FC;
});
// ../node_modules/@yarnpkg/fslib/lib/AliasFS.js
var Mf = m((Ao) => {
"use strict";
Object.defineProperty(Ao, "__esModule", { value: !0 });
Ao.AliasFS = void 0;
var DL = Et(), kC = class extends DL.ProxiedFS {
static {
s(this, "AliasFS");
}
constructor(A, { baseFs: e, pathUtils: r }) {
super(r), this.target = A, this.baseFs = e;
}
getRealPath() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return A;
}
};
Ao.AliasFS = kC;
});
// ../node_modules/@yarnpkg/fslib/lib/CwdFS.js
var Rf = m((eo) => {
"use strict";
Object.defineProperty(eo, "__esModule", { value: !0 });
eo.CwdFS = void 0;
var SL = Lt(), KL = Et(), bC = te(), NC = class extends KL.ProxiedFS {
static {
s(this, "CwdFS");
}
constructor(A, { baseFs: e = new SL.NodeFS() } = {}) {
super(bC.ppath), this.target = this.pathUtils.normalize(A), this.baseFs = e;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target);
}
resolve(A) {
return this.pathUtils.isAbsolute(A) ? bC.ppath.normalize(A) : this.baseFs.resolve(bC.ppath.join(this.target, A));
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return this.pathUtils.isAbsolute(A) ? A : this.pathUtils.join(this.target, A);
}
};
eo.CwdFS = NC;
});
// ../node_modules/@yarnpkg/fslib/lib/JailFS.js
var Lf = m((ro) => {
"use strict";
Object.defineProperty(ro, "__esModule", { value: !0 });
ro.JailFS = void 0;
var FL = Lt(), kL = Et(), to = te(), vf = to.PortablePath.root, MC = class extends kL.ProxiedFS {
static {
s(this, "JailFS");
}
constructor(A, { baseFs: e = new FL.NodeFS() } = {}) {
super(to.ppath), this.target = this.pathUtils.resolve(to.PortablePath.root, A), this.baseFs = e;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(to.PortablePath.root, this.target));
}
getTarget() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapToBase(A) {
let e = this.pathUtils.normalize(A);
if (this.pathUtils.isAbsolute(A))
return this.pathUtils.resolve(this.target, this.pathUtils.relative(vf, A));
if (e.match(/^\.\.\/?/))
throw new Error(`Resolving this path (${A}) would escape the jail`);
return this.pathUtils.resolve(this.target, A);
}
mapFromBase(A) {
return this.pathUtils.resolve(vf, this.pathUtils.relative(this.target, A));
}
};
ro.JailFS = MC;
});
// ../node_modules/@yarnpkg/fslib/lib/LazyFS.js
var xf = m((io) => {
"use strict";
Object.defineProperty(io, "__esModule", { value: !0 });
io.LazyFS = void 0;
var bL = Et(), RC = class extends bL.ProxiedFS {
static {
s(this, "LazyFS");
}
constructor(A, e) {
super(e), this.instance = null, this.factory = A;
}
get baseFs() {
return this.instance || (this.instance = this.factory()), this.instance;
}
set baseFs(A) {
this.instance = A;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return A;
}
};
io.LazyFS = RC;
});
// ../node_modules/@yarnpkg/fslib/lib/NoFS.js
var Yf = m((so) => {
"use strict";
Object.defineProperty(so, "__esModule", { value: !0 });
so.NoFS = void 0;
var NL = vt(), ML = te(), G = /* @__PURE__ */ s(() => Object.assign(new Error("ENOSYS: unsupported filesystem access"), { code: "ENOSYS" }),
"makeError"), Xi = class extends NL.FakeFS {
static {
s(this, "NoFS");
}
constructor() {
super(ML.ppath);
}
getExtractHint() {
throw G();
}
getRealPath() {
throw G();
}
resolve() {
throw G();
}
async openPromise() {
throw G();
}
openSync() {
throw G();
}
async opendirPromise() {
throw G();
}
opendirSync() {
throw G();
}
async readPromise() {
throw G();
}
readSync() {
throw G();
}
async writePromise() {
throw G();
}
writeSync() {
throw G();
}
async closePromise() {
throw G();
}
closeSync() {
throw G();
}
createWriteStream() {
throw G();
}
createReadStream() {
throw G();
}
async realpathPromise() {
throw G();
}
realpathSync() {
throw G();
}
async readdirPromise() {
throw G();
}
readdirSync() {
throw G();
}
async existsPromise(A) {
throw G();
}
existsSync(A) {
throw G();
}
async accessPromise() {
throw G();
}
accessSync() {
throw G();
}
async statPromise() {
throw G();
}
statSync() {
throw G();
}
async fstatPromise(A) {
throw G();
}
fstatSync(A) {
throw G();
}
async lstatPromise(A) {
throw G();
}
lstatSync(A) {
throw G();
}
async fchmodPromise() {
throw G();
}
fchmodSync() {
throw G();
}
async chmodPromise() {
throw G();
}
chmodSync() {
throw G();
}
async fchownPromise() {
throw G();
}
fchownSync() {
throw G();
}
async chownPromise() {
throw G();
}
chownSync() {
throw G();
}
async mkdirPromise() {
throw G();
}
mkdirSync() {
throw G();
}
async rmdirPromise() {
throw G();
}
rmdirSync() {
throw G();
}
async linkPromise() {
throw G();
}
linkSync() {
throw G();
}
async symlinkPromise() {
throw G();
}
symlinkSync() {
throw G();
}
async renamePromise() {
throw G();
}
renameSync() {
throw G();
}
async copyFilePromise() {
throw G();
}
copyFileSync() {
throw G();
}
async appendFilePromise() {
throw G();
}
appendFileSync() {
throw G();
}
async writeFilePromise() {
throw G();
}
writeFileSync() {
throw G();
}
async unlinkPromise() {
throw G();
}
unlinkSync() {
throw G();
}
async utimesPromise() {
throw G();
}
utimesSync() {
throw G();
}
async readFilePromise() {
throw G();
}
readFileSync() {
throw G();
}
async readlinkPromise() {
throw G();
}
readlinkSync() {
throw G();
}
async truncatePromise() {
throw G();
}
truncateSync() {
throw G();
}
async ftruncatePromise(A, e) {
throw G();
}
ftruncateSync(A, e) {
throw G();
}
watch() {
throw G();
}
watchFile() {
throw G();
}
unwatchFile() {
throw G();
}
};
Xi.instance = new Xi();
so.NoFS = Xi;
});
// ../node_modules/@yarnpkg/fslib/lib/PosixFS.js
var Pf = m((no) => {
"use strict";
Object.defineProperty(no, "__esModule", { value: !0 });
no.PosixFS = void 0;
var RL = Et(), vC = te(), LC = class extends RL.ProxiedFS {
static {
s(this, "PosixFS");
}
constructor(A) {
super(vC.npath), this.baseFs = A;
}
mapFromBase(A) {
return vC.npath.fromPortablePath(A);
}
mapToBase(A) {
return vC.npath.toPortablePath(A);
}
};
no.PosixFS = LC;
});
// ../node_modules/@yarnpkg/fslib/lib/VirtualFS.js
var Uf = m((oo) => {
"use strict";
Object.defineProperty(oo, "__esModule", { value: !0 });
oo.VirtualFS = void 0;
var vL = Lt(), LL = Et(), Le = te(), xL = /^[0-9]+$/, xC = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,
YL = /^([^/]+-)?[a-f0-9]+$/, YC = class t extends LL.ProxiedFS {
static {
s(this, "VirtualFS");
}
static makeVirtualPath(A, e, r) {
if (Le.ppath.basename(A) !== "__virtual__")
throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');
if (!Le.ppath.basename(e).match(YL))
throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");
let n = Le.ppath.relative(Le.ppath.dirname(A), r).split("/"), o = 0;
for (; o < n.length && n[o] === ".."; )
o += 1;
let g = n.slice(o);
return Le.ppath.join(A, e, String(o), ...g);
}
static resolveVirtual(A) {
let e = A.match(xC);
if (!e || !e[3] && e[5])
return A;
let r = Le.ppath.dirname(e[1]);
if (!e[3] || !e[4])
return r;
if (!xL.test(e[4]))
return A;
let n = Number(e[4]), o = "../".repeat(n), g = e[5] || ".";
return t.resolveVirtual(Le.ppath.join(r, o, g));
}
constructor({ baseFs: A = new vL.NodeFS() } = {}) {
super(Le.ppath), this.baseFs = A;
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
getRealPath() {
return this.baseFs.getRealPath();
}
realpathSync(A) {
let e = A.match(xC);
if (!e)
return this.baseFs.realpathSync(A);
if (!e[5])
return A;
let r = this.baseFs.realpathSync(this.mapToBase(A));
return t.makeVirtualPath(e[1], e[3], r);
}
async realpathPromise(A) {
let e = A.match(xC);
if (!e)
return await this.baseFs.realpathPromise(A);
if (!e[5])
return A;
let r = await this.baseFs.realpathPromise(this.mapToBase(A));
return t.makeVirtualPath(e[1], e[3], r);
}
mapToBase(A) {
if (A === "")
return A;
if (this.pathUtils.isAbsolute(A))
return t.resolveVirtual(A);
let e = t.resolveVirtual(this.baseFs.resolve(Le.PortablePath.dot)), r = t.resolveVirtual(this.baseFs.resolve(A));
return Le.ppath.relative(e, r) || Le.PortablePath.dot;
}
mapFromBase(A) {
return A;
}
};
oo.VirtualFS = YC;
});
// ../node_modules/@yarnpkg/fslib/lib/ZipOpenFS.js
var _f = m((Yt) => {
"use strict";
Object.defineProperty(Yt, "__esModule", { value: !0 });
Yt.ZipOpenFS = Yt.getArchivePart = void 0;
var PL = (ve(), Fe(Re)), go = v("fs"), UL = vt(), _L = Lt(), ao = Zn(), Co = yC(), ne = PL.__importStar(Wi()), ar = te(), oe = 4278190080,
re = 704643072, GL = /* @__PURE__ */ s((t, A) => {
let e = t.indexOf(A);
if (e <= 0)
return null;
let r = e;
for (; e >= 0 && (r = e + A.length, t[r] !== ar.ppath.sep); ) {
if (t[e - 1] === ar.ppath.sep)
return null;
e = t.indexOf(A, r);
}
return t.length > r && t[r] !== ar.ppath.sep ? null : t.slice(0, r);
}, "getArchivePart");
Yt.getArchivePart = GL;
var PC = class t extends UL.BasePortableFakeFS {
static {
s(this, "ZipOpenFS");
}
static async openPromise(A, e) {
let r = new t(e);
try {
return await A(r);
} finally {
r.saveAndClose();
}
}
get libzip() {
return typeof this.libzipInstance > "u" && (this.libzipInstance = this.libzipFactory()), this.libzipInstance;
}
constructor({ libzip: A, baseFs: e = new _L.NodeFS(), filter: r = null, maxOpenFiles: i = 1 / 0, readOnlyArchives: n = !1, useCache: o = !0,
maxAge: g = 5e3, fileExtensions: C = null }) {
super(), this.fdMap = /* @__PURE__ */ new Map(), this.nextFd = 3, this.isZip = /* @__PURE__ */ new Set(), this.notZip = /* @__PURE__ */ new Set(),
this.realPaths = /* @__PURE__ */ new Map(), this.limitOpenFilesTimeout = null, this.libzipFactory = typeof A != "function" ? () => A :
A, this.baseFs = e, this.zipInstances = o ? /* @__PURE__ */ new Map() : null, this.filter = r, this.maxOpenFiles = i, this.readOnlyArchives =
n, this.maxAge = g, this.fileExtensions = C;
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
getRealPath() {
return this.baseFs.getRealPath();
}
saveAndClose() {
if ((0, Co.unwatchAllFiles)(this), this.zipInstances)
for (let [A, { zipFs: e }] of this.zipInstances.entries())
e.saveAndClose(), this.zipInstances.delete(A);
}
discardAndClose() {
if ((0, Co.unwatchAllFiles)(this), this.zipInstances)
for (let [A, { zipFs: e }] of this.zipInstances.entries())
e.discardAndClose(), this.zipInstances.delete(A);
}
resolve(A) {
return this.baseFs.resolve(A);
}
remapFd(A, e) {
let r = this.nextFd++ | re;
return this.fdMap.set(r, [A, e]), r;
}
async openPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.openPromise(A, e, r), async (i, { subPath: n }) => this.remapFd(i, await i.
openPromise(n, e, r)));
}
openSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.openSync(A, e, r), (i, { subPath: n }) => this.remapFd(i, i.openSync(n, e, r)));
}
async opendirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.opendirPromise(A, e), async (r, { subPath: i }) => await r.opendirPromise(
i, e), {
requireSubpath: !1
});
}
opendirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.opendirSync(A, e), (r, { subPath: i }) => r.opendirSync(i, e), {
requireSubpath: !1
});
}
async readPromise(A, e, r, i, n) {
if ((A & oe) !== re)
return await this.baseFs.readPromise(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw ne.EBADF("read");
let [g, C] = o;
return await g.readPromise(C, e, r, i, n);
}
readSync(A, e, r, i, n) {
if ((A & oe) !== re)
return this.baseFs.readSync(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw ne.EBADF("readSync");
let [g, C] = o;
return g.readSync(C, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
if ((A & oe) !== re)
return typeof e == "string" ? await this.baseFs.writePromise(A, e, r) : await this.baseFs.writePromise(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw ne.EBADF("write");
let [g, C] = o;
return typeof e == "string" ? await g.writePromise(C, e, r) : await g.writePromise(C, e, r, i, n);
}
writeSync(A, e, r, i, n) {
if ((A & oe) !== re)
return typeof e == "string" ? this.baseFs.writeSync(A, e, r) : this.baseFs.writeSync(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw ne.EBADF("writeSync");
let [g, C] = o;
return typeof e == "string" ? g.writeSync(C, e, r) : g.writeSync(C, e, r, i, n);
}
async closePromise(A) {
if ((A & oe) !== re)
return await this.baseFs.closePromise(A);
let e = this.fdMap.get(A);
if (typeof e > "u")
throw ne.EBADF("close");
this.fdMap.delete(A);
let [r, i] = e;
return await r.closePromise(i);
}
closeSync(A) {
if ((A & oe) !== re)
return this.baseFs.closeSync(A);
let e = this.fdMap.get(A);
if (typeof e > "u")
throw ne.EBADF("closeSync");
this.fdMap.delete(A);
let [r, i] = e;
return r.closeSync(i);
}
createReadStream(A, e) {
return A === null ? this.baseFs.createReadStream(A, e) : this.makeCallSync(A, () => this.baseFs.createReadStream(A, e), (r, { archivePath: i,
subPath: n }) => {
let o = r.createReadStream(n, e);
return o.path = ar.npath.fromPortablePath(this.pathUtils.join(i, n)), o;
});
}
createWriteStream(A, e) {
return A === null ? this.baseFs.createWriteStream(A, e) : this.makeCallSync(A, () => this.baseFs.createWriteStream(A, e), (r, { subPath: i }) => r.
createWriteStream(i, e));
}
async realpathPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.realpathPromise(A), async (e, { archivePath: r, subPath: i }) => {
let n = this.realPaths.get(r);
return typeof n > "u" && (n = await this.baseFs.realpathPromise(r), this.realPaths.set(r, n)), this.pathUtils.join(n, this.pathUtils.
relative(ar.PortablePath.root, await e.realpathPromise(i)));
});
}
realpathSync(A) {
return this.makeCallSync(A, () => this.baseFs.realpathSync(A), (e, { archivePath: r, subPath: i }) => {
let n = this.realPaths.get(r);
return typeof n > "u" && (n = this.baseFs.realpathSync(r), this.realPaths.set(r, n)), this.pathUtils.join(n, this.pathUtils.relative(
ar.PortablePath.root, e.realpathSync(i)));
});
}
async existsPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.existsPromise(A), async (e, { subPath: r }) => await e.existsPromise(
r));
}
existsSync(A) {
return this.makeCallSync(A, () => this.baseFs.existsSync(A), (e, { subPath: r }) => e.existsSync(r));
}
async accessPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.accessPromise(A, e), async (r, { subPath: i }) => await r.accessPromise(
i, e));
}
accessSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.accessSync(A, e), (r, { subPath: i }) => r.accessSync(i, e));
}
async statPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.statPromise(A, e), async (r, { subPath: i }) => await r.statPromise(
i, e));
}
statSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.statSync(A, e), (r, { subPath: i }) => r.statSync(i, e));
}
async fstatPromise(A, e) {
if ((A & oe) !== re)
return this.baseFs.fstatPromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("fstat");
let [i, n] = r;
return i.fstatPromise(n, e);
}
fstatSync(A, e) {
if ((A & oe) !== re)
return this.baseFs.fstatSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("fstatSync");
let [i, n] = r;
return i.fstatSync(n, e);
}
async lstatPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.lstatPromise(A, e), async (r, { subPath: i }) => await r.lstatPromise(
i, e));
}
lstatSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.lstatSync(A, e), (r, { subPath: i }) => r.lstatSync(i, e));
}
async fchmodPromise(A, e) {
if ((A & oe) !== re)
return this.baseFs.fchmodPromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("fchmod");
let [i, n] = r;
return i.fchmodPromise(n, e);
}
fchmodSync(A, e) {
if ((A & oe) !== re)
return this.baseFs.fchmodSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("fchmodSync");
let [i, n] = r;
return i.fchmodSync(n, e);
}
async chmodPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.chmodPromise(A, e), async (r, { subPath: i }) => await r.chmodPromise(
i, e));
}
chmodSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.chmodSync(A, e), (r, { subPath: i }) => r.chmodSync(i, e));
}
async fchownPromise(A, e, r) {
if ((A & oe) !== re)
return this.baseFs.fchownPromise(A, e, r);
let i = this.fdMap.get(A);
if (typeof i > "u")
throw ne.EBADF("fchown");
let [n, o] = i;
return n.fchownPromise(o, e, r);
}
fchownSync(A, e, r) {
if ((A & oe) !== re)
return this.baseFs.fchownSync(A, e, r);
let i = this.fdMap.get(A);
if (typeof i > "u")
throw ne.EBADF("fchownSync");
let [n, o] = i;
return n.fchownSync(o, e, r);
}
async chownPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.chownPromise(A, e, r), async (i, { subPath: n }) => await i.chownPromise(
n, e, r));
}
chownSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.chownSync(A, e, r), (i, { subPath: n }) => i.chownSync(n, e, r));
}
async renamePromise(A, e) {
return await this.makeCallPromise(A, async () => await this.makeCallPromise(e, async () => await this.baseFs.renamePromise(A, e), async () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}), async (r, { subPath: i }) => await this.makeCallPromise(e, async () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}, async (n, { subPath: o }) => {
if (r !== n)
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
return await r.renamePromise(i, o);
}));
}
renameSync(A, e) {
return this.makeCallSync(A, () => this.makeCallSync(e, () => this.baseFs.renameSync(A, e), () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}), (r, { subPath: i }) => this.makeCallSync(e, () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}, (n, { subPath: o }) => {
if (r !== n)
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
return r.renameSync(i, o);
}));
}
async copyFilePromise(A, e, r = 0) {
let i = /* @__PURE__ */ s(async (n, o, g, C) => {
if ((r & go.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${C}'`), { code: "EXDEV" });
if (r & go.constants.COPYFILE_EXCL && await this.existsPromise(o))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${C}'`), { code: "EEXIST" });
let I;
try {
I = await n.readFilePromise(o);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${C}'`), { code: "EINVAL" });
}
await g.writeFilePromise(C, I);
}, "fallback");
return await this.makeCallPromise(A, async () => await this.makeCallPromise(e, async () => await this.baseFs.copyFilePromise(A, e, r),
async (n, { subPath: o }) => await i(this.baseFs, A, n, o)), async (n, { subPath: o }) => await this.makeCallPromise(e, async () => await i(
n, o, this.baseFs, e), async (g, { subPath: C }) => n !== g ? await i(n, o, g, C) : await n.copyFilePromise(o, C, r)));
}
copyFileSync(A, e, r = 0) {
let i = /* @__PURE__ */ s((n, o, g, C) => {
if ((r & go.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${C}'`), { code: "EXDEV" });
if (r & go.constants.COPYFILE_EXCL && this.existsSync(o))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${C}'`), { code: "EEXIST" });
let I;
try {
I = n.readFileSync(o);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${C}'`), { code: "EINVAL" });
}
g.writeFileSync(C, I);
}, "fallback");
return this.makeCallSync(A, () => this.makeCallSync(e, () => this.baseFs.copyFileSync(A, e, r), (n, { subPath: o }) => i(this.baseFs, A,
n, o)), (n, { subPath: o }) => this.makeCallSync(e, () => i(n, o, this.baseFs, e), (g, { subPath: C }) => n !== g ? i(n, o, g, C) : n.
copyFileSync(o, C, r)));
}
async appendFilePromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.appendFilePromise(A, e, r), async (i, { subPath: n }) => await i.appendFilePromise(
n, e, r));
}
appendFileSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.appendFileSync(A, e, r), (i, { subPath: n }) => i.appendFileSync(n, e, r));
}
async writeFilePromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.writeFilePromise(A, e, r), async (i, { subPath: n }) => await i.writeFilePromise(
n, e, r));
}
writeFileSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.writeFileSync(A, e, r), (i, { subPath: n }) => i.writeFileSync(n, e, r));
}
async unlinkPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.unlinkPromise(A), async (e, { subPath: r }) => await e.unlinkPromise(
r));
}
unlinkSync(A) {
return this.makeCallSync(A, () => this.baseFs.unlinkSync(A), (e, { subPath: r }) => e.unlinkSync(r));
}
async utimesPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.utimesPromise(A, e, r), async (i, { subPath: n }) => await i.utimesPromise(
n, e, r));
}
utimesSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.utimesSync(A, e, r), (i, { subPath: n }) => i.utimesSync(n, e, r));
}
async mkdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.mkdirPromise(A, e), async (r, { subPath: i }) => await r.mkdirPromise(
i, e));
}
mkdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.mkdirSync(A, e), (r, { subPath: i }) => r.mkdirSync(i, e));
}
async rmdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.rmdirPromise(A, e), async (r, { subPath: i }) => await r.rmdirPromise(
i, e));
}
rmdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.rmdirSync(A, e), (r, { subPath: i }) => r.rmdirSync(i, e));
}
async linkPromise(A, e) {
return await this.makeCallPromise(e, async () => await this.baseFs.linkPromise(A, e), async (r, { subPath: i }) => await r.linkPromise(
A, i));
}
linkSync(A, e) {
return this.makeCallSync(e, () => this.baseFs.linkSync(A, e), (r, { subPath: i }) => r.linkSync(A, i));
}
async symlinkPromise(A, e, r) {
return await this.makeCallPromise(e, async () => await this.baseFs.symlinkPromise(A, e, r), async (i, { subPath: n }) => await i.symlinkPromise(
A, n));
}
symlinkSync(A, e, r) {
return this.makeCallSync(e, () => this.baseFs.symlinkSync(A, e, r), (i, { subPath: n }) => i.symlinkSync(A, n));
}
async readFilePromise(A, e) {
return this.makeCallPromise(A, async () => {
switch (e) {
case "utf8":
return await this.baseFs.readFilePromise(A, e);
default:
return await this.baseFs.readFilePromise(A, e);
}
}, async (r, { subPath: i }) => await r.readFilePromise(i, e));
}
readFileSync(A, e) {
return this.makeCallSync(A, () => {
switch (e) {
case "utf8":
return this.baseFs.readFileSync(A, e);
default:
return this.baseFs.readFileSync(A, e);
}
}, (r, { subPath: i }) => r.readFileSync(i, e));
}
async readdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.readdirPromise(A, e), async (r, { subPath: i }) => await r.readdirPromise(
i, e), {
requireSubpath: !1
});
}
readdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.readdirSync(A, e), (r, { subPath: i }) => r.readdirSync(i, e), {
requireSubpath: !1
});
}
async readlinkPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.readlinkPromise(A), async (e, { subPath: r }) => await e.readlinkPromise(
r));
}
readlinkSync(A) {
return this.makeCallSync(A, () => this.baseFs.readlinkSync(A), (e, { subPath: r }) => e.readlinkSync(r));
}
async truncatePromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.truncatePromise(A, e), async (r, { subPath: i }) => await r.truncatePromise(
i, e));
}
truncateSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.truncateSync(A, e), (r, { subPath: i }) => r.truncateSync(i, e));
}
async ftruncatePromise(A, e) {
if ((A & oe) !== re)
return this.baseFs.ftruncatePromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("ftruncate");
let [i, n] = r;
return i.ftruncatePromise(n, e);
}
ftruncateSync(A, e) {
if ((A & oe) !== re)
return this.baseFs.ftruncateSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw ne.EBADF("ftruncateSync");
let [i, n] = r;
return i.ftruncateSync(n, e);
}
watch(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.watch(
A,
// @ts-expect-error
e,
r
), (i, { subPath: n }) => i.watch(
n,
// @ts-expect-error
e,
r
));
}
watchFile(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.watchFile(
A,
// @ts-expect-error
e,
r
), () => (0, Co.watchFile)(this, A, e, r));
}
unwatchFile(A, e) {
return this.makeCallSync(A, () => this.baseFs.unwatchFile(A, e), () => (0, Co.unwatchFile)(this, A, e));
}
async makeCallPromise(A, e, r, { requireSubpath: i = !0 } = {}) {
if (typeof A != "string")
return await e();
let n = this.resolve(A), o = this.findZip(n);
return o ? i && o.subPath === "/" ? await e() : await this.getZipPromise(o.archivePath, async (g) => await r(g, o)) : await e();
}
makeCallSync(A, e, r, { requireSubpath: i = !0 } = {}) {
if (typeof A != "string")
return e();
let n = this.resolve(A), o = this.findZip(n);
return !o || i && o.subPath === "/" ? e() : this.getZipSync(o.archivePath, (g) => r(g, o));
}
findZip(A) {
if (this.filter && !this.filter.test(A))
return null;
let e = "";
for (; ; ) {
let r = A.substring(e.length), i;
if (!this.fileExtensions)
i = (0, Yt.getArchivePart)(r, ".zip");
else
for (let n of this.fileExtensions)
if (i = (0, Yt.getArchivePart)(r, n), i)
break;
if (!i)
return null;
if (e = this.pathUtils.join(e, i), this.isZip.has(e) === !1) {
if (this.notZip.has(e))
continue;
try {
if (!this.baseFs.lstatSync(e).isFile()) {
this.notZip.add(e);
continue;
}
} catch {
return null;
}
this.isZip.add(e);
}
return {
archivePath: e,
subPath: this.pathUtils.join(ar.PortablePath.root, A.substring(e.length))
};
}
}
limitOpenFiles(A) {
if (this.zipInstances === null)
return;
let e = Date.now(), r = e + this.maxAge, i = A === null ? 0 : this.zipInstances.size - A;
for (let [n, { zipFs: o, expiresAt: g, refCount: C }] of this.zipInstances.entries())
if (!(C !== 0 || o.hasOpenFileHandles())) {
if (e >= g) {
o.saveAndClose(), this.zipInstances.delete(n), i -= 1;
continue;
} else if (A === null || i <= 0) {
r = g;
break;
}
o.saveAndClose(), this.zipInstances.delete(n), i -= 1;
}
this.limitOpenFilesTimeout === null && (A === null && this.zipInstances.size > 0 || A !== null) && (this.limitOpenFilesTimeout = setTimeout(
() => {
this.limitOpenFilesTimeout = null, this.limitOpenFiles(null);
}, r - e).unref());
}
async getZipPromise(A, e) {
let r = /* @__PURE__ */ s(async () => ({
baseFs: this.baseFs,
libzip: this.libzip,
readOnly: this.readOnlyArchives,
stats: await this.baseFs.statPromise(A)
}), "getZipOptions");
if (this.zipInstances) {
let i = this.zipInstances.get(A);
if (!i) {
let n = await r();
i = this.zipInstances.get(A), i || (i = {
zipFs: new ao.ZipFS(A, n),
expiresAt: 0,
refCount: 0
});
}
this.zipInstances.delete(A), this.limitOpenFiles(this.maxOpenFiles - 1), this.zipInstances.set(A, i), i.expiresAt = Date.now() + this.
maxAge, i.refCount += 1;
try {
return await e(i.zipFs);
} finally {
i.refCount -= 1;
}
} else {
let i = new ao.ZipFS(A, await r());
try {
return await e(i);
} finally {
i.saveAndClose();
}
}
}
getZipSync(A, e) {
let r = /* @__PURE__ */ s(() => ({
baseFs: this.baseFs,
libzip: this.libzip,
readOnly: this.readOnlyArchives,
stats: this.baseFs.statSync(A)
}), "getZipOptions");
if (this.zipInstances) {
let i = this.zipInstances.get(A);
return i || (i = {
zipFs: new ao.ZipFS(A, r()),
expiresAt: 0,
refCount: 0
}), this.zipInstances.delete(A), this.limitOpenFiles(this.maxOpenFiles - 1), this.zipInstances.set(A, i), i.expiresAt = Date.now() +
this.maxAge, e(i.zipFs);
} else {
let i = new ao.ZipFS(A, r());
try {
return e(i);
} finally {
i.saveAndClose();
}
}
}
};
Yt.ZipOpenFS = PC;
});
// ../node_modules/@yarnpkg/fslib/lib/NodePathFS.js
var Jf = m((co) => {
"use strict";
Object.defineProperty(co, "__esModule", { value: !0 });
co.NodePathFS = void 0;
var Gf = v("url"), JL = v("util"), OL = Et(), TL = te(), UC = class extends OL.ProxiedFS {
static {
s(this, "NodePathFS");
}
constructor(A) {
super(TL.npath), this.baseFs = A;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
if (typeof A == "string")
return A;
if (A instanceof Gf.URL)
return (0, Gf.fileURLToPath)(A);
if (Buffer.isBuffer(A)) {
let e = A.toString();
if (Buffer.byteLength(e) !== A.byteLength)
throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: \
https://github.com/yarnpkg/berry/issues/4942");
return e;
}
throw new Error(`Unsupported path type: ${(0, JL.inspect)(A)}`);
}
};
co.NodePathFS = UC;
});
// ../node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js
var qf = m((lo) => {
"use strict";
var Of, Tf, Hf, jf;
Object.defineProperty(lo, "__esModule", { value: !0 });
lo.FileHandle = void 0;
var HL = v("readline"), ie = Symbol("kBaseFs"), Pt = Symbol("kFd"), Ut = Symbol("kClosePromise"), Io = Symbol("kCloseResolve"), ho = Symbol(
"kCloseReject"), Jr = Symbol("kRefs"), xe = Symbol("kRef"), Ye = Symbol("kUnref"), _C = class {
static {
s(this, "FileHandle");
}
constructor(A, e) {
this[Of] = 1, this[Tf] = void 0, this[Hf] = void 0, this[jf] = void 0, this[ie] = e, this[Pt] = A;
}
get fd() {
return this[Pt];
}
async appendFile(A, e) {
var r;
try {
this[xe](this.appendFile);
let i = (r = typeof e == "string" ? e : e?.encoding) !== null && r !== void 0 ? r : void 0;
return await this[ie].appendFilePromise(this.fd, A, i ? { encoding: i } : void 0);
} finally {
this[Ye]();
}
}
async chown(A, e) {
try {
return this[xe](this.chown), await this[ie].fchownPromise(this.fd, A, e);
} finally {
this[Ye]();
}
}
async chmod(A) {
try {
return this[xe](this.chmod), await this[ie].fchmodPromise(this.fd, A);
} finally {
this[Ye]();
}
}
createReadStream(A) {
return this[ie].createReadStream(null, { ...A, fd: this.fd });
}
createWriteStream(A) {
return this[ie].createWriteStream(null, { ...A, fd: this.fd });
}
// FIXME: Missing FakeFS version
datasync() {
throw new Error("Method not implemented.");
}
// FIXME: Missing FakeFS version
sync() {
throw new Error("Method not implemented.");
}
async read(A, e, r, i) {
var n, o, g;
try {
this[xe](this.read);
let C;
return Buffer.isBuffer(A) ? C = A : (A ?? (A = {}), C = (n = A.buffer) !== null && n !== void 0 ? n : Buffer.alloc(16384), e = A.offset ||
0, r = (o = A.length) !== null && o !== void 0 ? o : C.byteLength, i = (g = A.position) !== null && g !== void 0 ? g : null), e ?? (e =
0), r ?? (r = 0), r === 0 ? {
bytesRead: r,
buffer: C
} : {
bytesRead: await this[ie].readPromise(this.fd, C, e, r, i),
buffer: C
};
} finally {
this[Ye]();
}
}
async readFile(A) {
var e;
try {
this[xe](this.readFile);
let r = (e = typeof A == "string" ? A : A?.encoding) !== null && e !== void 0 ? e : void 0;
return await this[ie].readFilePromise(this.fd, r);
} finally {
this[Ye]();
}
}
readLines(A) {
return (0, HL.createInterface)({
input: this.createReadStream(A),
crlfDelay: 1 / 0
});
}
async stat(A) {
try {
return this[xe](this.stat), await this[ie].fstatPromise(this.fd, A);
} finally {
this[Ye]();
}
}
async truncate(A) {
try {
return this[xe](this.truncate), await this[ie].ftruncatePromise(this.fd, A);
} finally {
this[Ye]();
}
}
// FIXME: Missing FakeFS version
utimes(A, e) {
throw new Error("Method not implemented.");
}
async writeFile(A, e) {
var r;
try {
this[xe](this.writeFile);
let i = (r = typeof e == "string" ? e : e?.encoding) !== null && r !== void 0 ? r : void 0;
await this[ie].writeFilePromise(this.fd, A, i);
} finally {
this[Ye]();
}
}
async write(...A) {
try {
if (this[xe](this.write), ArrayBuffer.isView(A[0])) {
let [e, r, i, n] = A;
return { bytesWritten: await this[ie].writePromise(this.fd, e, r ?? void 0, i ?? void 0, n ?? void 0), buffer: e };
} else {
let [e, r, i] = A;
return { bytesWritten: await this[ie].writePromise(this.fd, e, r, i), buffer: e };
}
} finally {
this[Ye]();
}
}
// TODO: Use writev from FakeFS when that is implemented
async writev(A, e) {
try {
this[xe](this.writev);
let r = 0;
if (typeof e < "u")
for (let i of A) {
let n = await this.write(i, void 0, void 0, e);
r += n.bytesWritten, e += n.bytesWritten;
}
else
for (let i of A) {
let n = await this.write(i);
r += n.bytesWritten;
}
return {
buffers: A,
bytesWritten: r
};
} finally {
this[Ye]();
}
}
// FIXME: Missing FakeFS version
readv(A, e) {
throw new Error("Method not implemented.");
}
close() {
if (this[Pt] === -1)
return Promise.resolve();
if (this[Ut])
return this[Ut];
if (this[Jr]--, this[Jr] === 0) {
let A = this[Pt];
this[Pt] = -1, this[Ut] = this[ie].closePromise(A).finally(() => {
this[Ut] = void 0;
});
} else
this[Ut] = new Promise((A, e) => {
this[Io] = A, this[ho] = e;
}).finally(() => {
this[Ut] = void 0, this[ho] = void 0, this[Io] = void 0;
});
return this[Ut];
}
[(Of = Jr, Tf = Ut, Hf = Io, jf = ho, xe)](A) {
if (this[Pt] === -1) {
let e = new Error("file closed");
throw e.code = "EBADF", e.syscall = A.name, e;
}
this[Jr]++;
}
[Ye]() {
if (this[Jr]--, this[Jr] === 0) {
let A = this[Pt];
this[Pt] = -1, this[ie].closePromise(A).then(this[Io], this[ho]);
}
}
};
lo.FileHandle = _C;
});
// ../node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js
var Xf = m((Or) => {
"use strict";
Object.defineProperty(Or, "__esModule", { value: !0 });
Or.extendFs = Or.patchFs = void 0;
var Zi = v("util"), jL = Jf(), zf = qf(), qL = /* @__PURE__ */ new Set([
"accessSync",
"appendFileSync",
"createReadStream",
"createWriteStream",
"chmodSync",
"fchmodSync",
"chownSync",
"fchownSync",
"closeSync",
"copyFileSync",
"linkSync",
"lstatSync",
"fstatSync",
"lutimesSync",
"mkdirSync",
"openSync",
"opendirSync",
"readlinkSync",
"readFileSync",
"readdirSync",
"readlinkSync",
"realpathSync",
"renameSync",
"rmdirSync",
"statSync",
"symlinkSync",
"truncateSync",
"ftruncateSync",
"unlinkSync",
"unwatchFile",
"utimesSync",
"watch",
"watchFile",
"writeFileSync",
"writeSync"
]), Wf = /* @__PURE__ */ new Set([
"accessPromise",
"appendFilePromise",
"fchmodPromise",
"chmodPromise",
"fchownPromise",
"chownPromise",
"closePromise",
"copyFilePromise",
"linkPromise",
"fstatPromise",
"lstatPromise",
"lutimesPromise",
"mkdirPromise",
"openPromise",
"opendirPromise",
"readdirPromise",
"realpathPromise",
"readFilePromise",
"readdirPromise",
"readlinkPromise",
"renamePromise",
"rmdirPromise",
"statPromise",
"symlinkPromise",
"truncatePromise",
"ftruncatePromise",
"unlinkPromise",
"utimesPromise",
"writeFilePromise",
"writeSync"
]);
function Vf(t, A) {
A = new jL.NodePathFS(A);
let e = /* @__PURE__ */ s((r, i, n) => {
let o = r[i];
r[i] = n, typeof o?.[Zi.promisify.custom] < "u" && (n[Zi.promisify.custom] = o[Zi.promisify.custom]);
}, "setupFn");
{
e(t, "exists", (r, ...i) => {
let o = typeof i[i.length - 1] == "function" ? i.pop() : () => {
};
process.nextTick(() => {
A.existsPromise(r).then((g) => {
o(g);
}, () => {
o(!1);
});
});
}), e(t, "read", (...r) => {
let [i, n, o, g, C, I] = r;
if (r.length <= 3) {
let E = {};
r.length < 3 ? I = r[1] : (E = r[1], I = r[2]), {
buffer: n = Buffer.alloc(16384),
offset: o = 0,
length: g = n.byteLength,
position: C
} = E;
}
if (o == null && (o = 0), g |= 0, g === 0) {
process.nextTick(() => {
I(null, 0, n);
});
return;
}
C == null && (C = -1), process.nextTick(() => {
A.readPromise(i, n, o, g, C).then((E) => {
I(null, E, n);
}, (E) => {
I(E, 0, n);
});
});
});
for (let r of Wf) {
let i = r.replace(/Promise$/, "");
if (typeof t[i] > "u")
continue;
let n = A[r];
if (typeof n > "u")
continue;
e(t, i, /* @__PURE__ */ s((...g) => {
let I = typeof g[g.length - 1] == "function" ? g.pop() : () => {
};
process.nextTick(() => {
n.apply(A, g).then((E) => {
I(null, E);
}, (E) => {
I(E);
});
});
}, "wrapper"));
}
t.realpath.native = t.realpath;
}
{
e(t, "existsSync", (r) => {
try {
return A.existsSync(r);
} catch {
return !1;
}
}), e(t, "readSync", (...r) => {
let [i, n, o, g, C] = r;
return r.length <= 3 && ({ offset: o = 0, length: g = n.byteLength, position: C } = r[2] || {}), o == null && (o = 0), g |= 0, g ===
0 ? 0 : (C == null && (C = -1), A.readSync(i, n, o, g, C));
});
for (let r of qL) {
let i = r;
if (typeof t[i] > "u")
continue;
let n = A[r];
typeof n > "u" || e(t, i, n.bind(A));
}
t.realpathSync.native = t.realpathSync;
}
{
let r = process.emitWarning;
process.emitWarning = () => {
};
let i;
try {
i = t.promises;
} finally {
process.emitWarning = r;
}
if (typeof i < "u") {
for (let n of Wf) {
let o = n.replace(/Promise$/, "");
if (typeof i[o] > "u")
continue;
let g = A[n];
typeof g > "u" || n !== "open" && e(i, o, (C, ...I) => C instanceof zf.FileHandle ? C[o].apply(C, I) : g.call(A, C, ...I));
}
e(i, "open", async (...n) => {
let o = await A.openPromise(...n);
return new zf.FileHandle(o, A);
});
}
}
t.read[Zi.promisify.custom] = async (r, i, ...n) => ({ bytesRead: await A.readPromise(r, i, ...n), buffer: i }), t.write[Zi.promisify.custom] =
async (r, i, ...n) => ({ bytesWritten: await A.writePromise(r, i, ...n), buffer: i });
}
s(Vf, "patchFs");
Or.patchFs = Vf;
function zL(t, A) {
let e = Object.create(t);
return Vf(e, A), e;
}
s(zL, "extendFs");
Or.extendFs = zL;
});
// ../node_modules/@yarnpkg/fslib/lib/xfs.js
var Ad = m((_t) => {
"use strict";
Object.defineProperty(_t, "__esModule", { value: !0 });
_t.xfs = void 0;
var WL = (ve(), Fe(Re)), VL = WL.__importDefault(v("os")), XL = Lt(), $i = te();
function Zf(t) {
let A = Math.ceil(Math.random() * 4294967296).toString(16).padStart(8, "0");
return `${t}${A}`;
}
s(Zf, "getTempName");
var Pe = /* @__PURE__ */ new Set(), GC = null;
function $f() {
if (GC)
return GC;
let t = $i.npath.toPortablePath(VL.default.tmpdir()), A = _t.xfs.realpathSync(t);
return process.once("exit", () => {
_t.xfs.rmtempSync();
}), GC = {
tmpdir: t,
realTmpdir: A
};
}
s($f, "initTmpEnv");
_t.xfs = Object.assign(new XL.NodeFS(), {
detachTemp(t) {
Pe.delete(t);
},
mktempSync(t) {
let { tmpdir: A, realTmpdir: e } = $f();
for (; ; ) {
let r = Zf("xfs-");
try {
this.mkdirSync($i.ppath.join(A, r));
} catch (n) {
if (n.code === "EEXIST")
continue;
throw n;
}
let i = $i.ppath.join(e, r);
if (Pe.add(i), typeof t > "u")
return i;
try {
return t(i);
} finally {
if (Pe.has(i)) {
Pe.delete(i);
try {
this.removeSync(i);
} catch {
}
}
}
}
},
async mktempPromise(t) {
let { tmpdir: A, realTmpdir: e } = $f();
for (; ; ) {
let r = Zf("xfs-");
try {
await this.mkdirPromise($i.ppath.join(A, r));
} catch (n) {
if (n.code === "EEXIST")
continue;
throw n;
}
let i = $i.ppath.join(e, r);
if (Pe.add(i), typeof t > "u")
return i;
try {
return await t(i);
} finally {
if (Pe.has(i)) {
Pe.delete(i);
try {
await this.removePromise(i);
} catch {
}
}
}
}
},
async rmtempPromise() {
await Promise.all(Array.from(Pe.values()).map(async (t) => {
try {
await _t.xfs.removePromise(t, { maxRetries: 0 }), Pe.delete(t);
} catch {
}
}));
},
rmtempSync() {
for (let t of Pe)
try {
_t.xfs.removeSync(t), Pe.delete(t);
} catch {
}
}
});
});
// ../node_modules/@yarnpkg/fslib/lib/index.js
var sd = m((V) => {
"use strict";
Object.defineProperty(V, "__esModule", { value: !0 });
V.xfs = V.extendFs = V.patchFs = V.ZipOpenFS = V.ZipFS = V.VirtualFS = V.ProxiedFS = V.PosixFS = V.NodeFS = V.NoFS = V.LazyFS = V.JailFS =
V.CwdFS = V.FakeFS = V.AliasFS = V.toFilename = V.ppath = V.npath = V.Filename = V.PortablePath = V.DEFAULT_COMPRESSION_LEVEL = V.normalizeLineEndings =
V.statUtils = V.CustomDir = V.opendir = V.LinkStrategy = V.constants = void 0;
var ed = (ve(), Fe(Re)), ZL = ed.__importStar(zi());
V.constants = ZL;
var $L = ed.__importStar(On());
V.statUtils = $L;
var Ax = uC();
Object.defineProperty(V, "LinkStrategy", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Ax.LinkStrategy;
}, "get") });
var td = QC();
Object.defineProperty(V, "opendir", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return td.opendir;
}, "get") });
Object.defineProperty(V, "CustomDir", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return td.CustomDir;
}, "get") });
var ex = vt();
Object.defineProperty(V, "normalizeLineEndings", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ex.normalizeLineEndings;
}, "get") });
var tx = Zn();
Object.defineProperty(V, "DEFAULT_COMPRESSION_LEVEL", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return tx.DEFAULT_COMPRESSION_LEVEL;
}, "get") });
var rd = te();
Object.defineProperty(V, "PortablePath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return rd.PortablePath;
}, "get") });
Object.defineProperty(V, "Filename", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return rd.Filename;
}, "get") });
var JC = te();
Object.defineProperty(V, "npath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return JC.npath;
}, "get") });
Object.defineProperty(V, "ppath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return JC.ppath;
}, "get") });
Object.defineProperty(V, "toFilename", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return JC.toFilename;
}, "get") });
var rx = Mf();
Object.defineProperty(V, "AliasFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return rx.AliasFS;
}, "get") });
var ix = vt();
Object.defineProperty(V, "FakeFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ix.FakeFS;
}, "get") });
var sx = Rf();
Object.defineProperty(V, "CwdFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return sx.CwdFS;
}, "get") });
var nx = Lf();
Object.defineProperty(V, "JailFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return nx.JailFS;
}, "get") });
var ox = xf();
Object.defineProperty(V, "LazyFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ox.LazyFS;
}, "get") });
var gx = Yf();
Object.defineProperty(V, "NoFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return gx.NoFS;
}, "get") });
var ax = Lt();
Object.defineProperty(V, "NodeFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ax.NodeFS;
}, "get") });
var Cx = Pf();
Object.defineProperty(V, "PosixFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Cx.PosixFS;
}, "get") });
var cx = Et();
Object.defineProperty(V, "ProxiedFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return cx.ProxiedFS;
}, "get") });
var Ix = Uf();
Object.defineProperty(V, "VirtualFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Ix.VirtualFS;
}, "get") });
var hx = Zn();
Object.defineProperty(V, "ZipFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return hx.ZipFS;
}, "get") });
var lx = _f();
Object.defineProperty(V, "ZipOpenFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return lx.ZipOpenFS;
}, "get") });
var id = Xf();
Object.defineProperty(V, "patchFs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return id.patchFs;
}, "get") });
Object.defineProperty(V, "extendFs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return id.extendFs;
}, "get") });
var Ex = Ad();
Object.defineProperty(V, "xfs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Ex.xfs;
}, "get") });
});
// ../node_modules/@yarnpkg/libzip/node_modules/tslib/tslib.es6.js
var od = {};
Ss(od, {
__assign: () => TC,
__asyncDelegator: () => Fx,
__asyncGenerator: () => Kx,
__asyncValues: () => kx,
__await: () => As,
__awaiter: () => px,
__classPrivateFieldGet: () => Rx,
__classPrivateFieldSet: () => vx,
__createBinding: () => mx,
__decorate: () => Qx,
__exportStar: () => yx,
__extends: () => ux,
__generator: () => wx,
__importDefault: () => Mx,
__importStar: () => Nx,
__makeTemplateObject: () => bx,
__metadata: () => dx,
__param: () => fx,
__read: () => nd,
__rest: () => Bx,
__spread: () => Dx,
__spreadArrays: () => Sx,
__values: () => HC
});
function ux(t, A) {
OC(t, A);
function e() {
this.constructor = t;
}
s(e, "__"), t.prototype = A === null ? Object.create(A) : (e.prototype = A.prototype, new e());
}
function Bx(t, A) {
var e = {};
for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && A.indexOf(r) < 0 && (e[r] = t[r]);
if (t != null && typeof Object.getOwnPropertySymbols == "function")
for (var i = 0, r = Object.getOwnPropertySymbols(t); i < r.length; i++)
A.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[i]) && (e[r[i]] = t[r[i]]);
return e;
}
function Qx(t, A, e, r) {
var i = arguments.length, n = i < 3 ? A : r === null ? r = Object.getOwnPropertyDescriptor(A, e) : r, o;
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") n = Reflect.decorate(t, A, e, r);
else for (var g = t.length - 1; g >= 0; g--) (o = t[g]) && (n = (i < 3 ? o(n) : i > 3 ? o(A, e, n) : o(A, e)) || n);
return i > 3 && n && Object.defineProperty(A, e, n), n;
}
function fx(t, A) {
return function(e, r) {
A(e, r, t);
};
}
function dx(t, A) {
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(t, A);
}
function px(t, A, e, r) {
function i(n) {
return n instanceof e ? n : new e(function(o) {
o(n);
});
}
return s(i, "adopt"), new (e || (e = Promise))(function(n, o) {
function g(E) {
try {
I(r.next(E));
} catch (Q) {
o(Q);
}
}
s(g, "fulfilled");
function C(E) {
try {
I(r.throw(E));
} catch (Q) {
o(Q);
}
}
s(C, "rejected");
function I(E) {
E.done ? n(E.value) : i(E.value).then(g, C);
}
s(I, "step"), I((r = r.apply(t, A || [])).next());
});
}
function wx(t, A) {
var e = { label: 0, sent: /* @__PURE__ */ s(function() {
if (n[0] & 1) throw n[1];
return n[1];
}, "sent"), trys: [], ops: [] }, r, i, n, o;
return o = { next: g(0), throw: g(1), return: g(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
return this;
}), o;
function g(I) {
return function(E) {
return C([I, E]);
};
}
function C(I) {
if (r) throw new TypeError("Generator is already executing.");
for (; e; ) try {
if (r = 1, i && (n = I[0] & 2 ? i.return : I[0] ? i.throw || ((n = i.return) && n.call(i), 0) : i.next) && !(n = n.call(i, I[1])).done)
return n;
switch (i = 0, n && (I = [I[0] & 2, n.value]), I[0]) {
case 0:
case 1:
n = I;
break;
case 4:
return e.label++, { value: I[1], done: !1 };
case 5:
e.label++, i = I[1], I = [0];
continue;
case 7:
I = e.ops.pop(), e.trys.pop();
continue;
default:
if (n = e.trys, !(n = n.length > 0 && n[n.length - 1]) && (I[0] === 6 || I[0] === 2)) {
e = 0;
continue;
}
if (I[0] === 3 && (!n || I[1] > n[0] && I[1] < n[3])) {
e.label = I[1];
break;
}
if (I[0] === 6 && e.label < n[1]) {
e.label = n[1], n = I;
break;
}
if (n && e.label < n[2]) {
e.label = n[2], e.ops.push(I);
break;
}
n[2] && e.ops.pop(), e.trys.pop();
continue;
}
I = A.call(t, e);
} catch (E) {
I = [6, E], i = 0;
} finally {
r = n = 0;
}
if (I[0] & 5) throw I[1];
return { value: I[0] ? I[1] : void 0, done: !0 };
}
}
function mx(t, A, e, r) {
r === void 0 && (r = e), t[r] = A[e];
}
function yx(t, A) {
for (var e in t) e !== "default" && !A.hasOwnProperty(e) && (A[e] = t[e]);
}
function HC(t) {
var A = typeof Symbol == "function" && Symbol.iterator, e = A && t[A], r = 0;
if (e) return e.call(t);
if (t && typeof t.length == "number") return {
next: /* @__PURE__ */ s(function() {
return t && r >= t.length && (t = void 0), { value: t && t[r++], done: !t };
}, "next")
};
throw new TypeError(A ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function nd(t, A) {
var e = typeof Symbol == "function" && t[Symbol.iterator];
if (!e) return t;
var r = e.call(t), i, n = [], o;
try {
for (; (A === void 0 || A-- > 0) && !(i = r.next()).done; ) n.push(i.value);
} catch (g) {
o = { error: g };
} finally {
try {
i && !i.done && (e = r.return) && e.call(r);
} finally {
if (o) throw o.error;
}
}
return n;
}
function Dx() {
for (var t = [], A = 0; A < arguments.length; A++)
t = t.concat(nd(arguments[A]));
return t;
}
function Sx() {
for (var t = 0, A = 0, e = arguments.length; A < e; A++) t += arguments[A].length;
for (var r = Array(t), i = 0, A = 0; A < e; A++)
for (var n = arguments[A], o = 0, g = n.length; o < g; o++, i++)
r[i] = n[o];
return r;
}
function As(t) {
return this instanceof As ? (this.v = t, this) : new As(t);
}
function Kx(t, A, e) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var r = e.apply(t, A || []), i, n = [];
return i = {}, o("next"), o("throw"), o("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function o(B) {
r[B] && (i[B] = function(p) {
return new Promise(function(w, D) {
n.push([B, p, w, D]) > 1 || g(B, p);
});
});
}
function g(B, p) {
try {
C(r[B](p));
} catch (w) {
Q(n[0][3], w);
}
}
function C(B) {
B.value instanceof As ? Promise.resolve(B.value.v).then(I, E) : Q(n[0][2], B);
}
function I(B) {
g("next", B);
}
function E(B) {
g("throw", B);
}
function Q(B, p) {
B(p), n.shift(), n.length && g(n[0][0], n[0][1]);
}
}
function Fx(t) {
var A, e;
return A = {}, r("next"), r("throw", function(i) {
throw i;
}), r("return"), A[Symbol.iterator] = function() {
return this;
}, A;
function r(i, n) {
A[i] = t[i] ? function(o) {
return (e = !e) ? { value: As(t[i](o)), done: i === "return" } : n ? n(o) : o;
} : n;
}
}
function kx(t) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var A = t[Symbol.asyncIterator], e;
return A ? A.call(t) : (t = typeof HC == "function" ? HC(t) : t[Symbol.iterator](), e = {}, r("next"), r("throw"), r("return"), e[Symbol.asyncIterator] =
function() {
return this;
}, e);
function r(n) {
e[n] = t[n] && function(o) {
return new Promise(function(g, C) {
o = t[n](o), i(g, C, o.done, o.value);
});
};
}
function i(n, o, g, C) {
Promise.resolve(C).then(function(I) {
n({ value: I, done: g });
}, o);
}
}
function bx(t, A) {
return Object.defineProperty ? Object.defineProperty(t, "raw", { value: A }) : t.raw = A, t;
}
function Nx(t) {
if (t && t.__esModule) return t;
var A = {};
if (t != null) for (var e in t) Object.hasOwnProperty.call(t, e) && (A[e] = t[e]);
return A.default = t, A;
}
function Mx(t) {
return t && t.__esModule ? t : { default: t };
}
function Rx(t, A) {
if (!A.has(t))
throw new TypeError("attempted to get private field on non-instance");
return A.get(t);
}
function vx(t, A, e) {
if (!A.has(t))
throw new TypeError("attempted to set private field on non-instance");
return A.set(t, e), e;
}
var OC, TC, gd = ue(() => {
OC = /* @__PURE__ */ s(function(t, A) {
return OC = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, r) {
e.__proto__ = r;
} || function(e, r) {
for (var i in r) r.hasOwnProperty(i) && (e[i] = r[i]);
}, OC(t, A);
}, "extendStatics");
s(ux, "__extends");
TC = /* @__PURE__ */ s(function() {
return TC = Object.assign || /* @__PURE__ */ s(function(A) {
for (var e, r = 1, i = arguments.length; r < i; r++) {
e = arguments[r];
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]);
}
return A;
}, "__assign"), TC.apply(this, arguments);
}, "__assign");
s(Bx, "__rest");
s(Qx, "__decorate");
s(fx, "__param");
s(dx, "__metadata");
s(px, "__awaiter");
s(wx, "__generator");
s(mx, "__createBinding");
s(yx, "__exportStar");
s(HC, "__values");
s(nd, "__read");
s(Dx, "__spread");
s(Sx, "__spreadArrays");
s(As, "__await");
s(Kx, "__asyncGenerator");
s(Fx, "__asyncDelegator");
s(kx, "__asyncValues");
s(bx, "__makeTemplateObject");
s(Nx, "__importStar");
s(Mx, "__importDefault");
s(Rx, "__classPrivateFieldGet");
s(vx, "__classPrivateFieldSet");
});
// ../node_modules/@yarnpkg/libzip/lib/libzipSync.js
var Cd = m((Eo, qC) => {
var ad = Object.assign({}, v("fs")), jC = function() {
var t = typeof document < "u" && document.currentScript ? document.currentScript.src : void 0;
return typeof __filename < "u" && (t = t || __filename), function(A) {
A = A || {};
var e = typeof A < "u" ? A : {}, r, i;
e.ready = new Promise(function(a, c) {
r = a, i = c;
});
var n = {}, o;
for (o in e)
e.hasOwnProperty(o) && (n[o] = e[o]);
var g = [], C = "./this.program", I = /* @__PURE__ */ s(function(a, c) {
throw c;
}, "quit_"), E = !1, Q = !0, B = "";
function p(a) {
return e.locateFile ? e.locateFile(a, B) : B + a;
}
s(p, "locateFile");
var w, D, N, k;
Q && (E ? B = v("path").dirname(B) + "/" : B = __dirname + "/", w = /* @__PURE__ */ s(function(c, h) {
var u = Cl(c);
return u ? h ? u : u.toString() : (N || (N = ad), k || (k = v("path")), c = k.normalize(c), N.readFileSync(c, h ? null : "utf8"));
}, "shell_read"), D = /* @__PURE__ */ s(function(c) {
var h = w(c, !0);
return h.buffer || (h = new Uint8Array(h)), Se(h.buffer), h;
}, "readBinary"), process.argv.length > 1 && (C = process.argv[1].replace(/\\/g, "/")), g = process.argv.slice(2), I = /* @__PURE__ */ s(
function(a) {
process.exit(a);
}, "quit_"), e.inspect = function() {
return "[Emscripten Module object]";
});
var _ = e.print || console.log.bind(console), L = e.printErr || console.warn.bind(console);
for (o in n)
n.hasOwnProperty(o) && (e[o] = n[o]);
n = null, e.arguments && (g = e.arguments), e.thisProgram && (C = e.thisProgram), e.quit && (I = e.quit);
var J = 16;
function U(a, c) {
return c || (c = J), Math.ceil(a / c) * c;
}
s(U, "alignMemory");
var $ = 0, q = /* @__PURE__ */ s(function(a) {
$ = a;
}, "setTempRet0"), T;
e.wasmBinary && (T = e.wasmBinary);
var eA = e.noExitRuntime || !0;
typeof WebAssembly != "object" && NA("no native wasm support detected");
function mA(a, c, h) {
switch (c = c || "i8", c.charAt(c.length - 1) === "*" && (c = "i32"), c) {
case "i1":
return OA[a >> 0];
case "i8":
return OA[a >> 0];
case "i16":
return IA[a >> 1];
case "i32":
return M[a >> 2];
case "i64":
return M[a >> 2];
case "float":
return xA[a >> 2];
case "double":
return KA[a >> 3];
default:
NA("invalid type for getValue: " + c);
}
return null;
}
s(mA, "getValue");
var b, uA = !1, BA;
function Se(a, c) {
a || NA("Assertion failed: " + c);
}
s(Se, "assert");
function K(a) {
var c = e["_" + a];
return Se(
c,
"Cannot call unknown function " + a + ", make sure it is exported"
), c;
}
s(K, "getCFunc");
function F(a, c, h, u, f) {
var d = {
string: /* @__PURE__ */ s(function(j) {
var sA = 0;
if (j != null && j !== 0) {
var VA = (j.length << 2) + 1;
sA = Il(VA), Zt(j, sA, VA);
}
return sA;
}, "string"),
array: /* @__PURE__ */ s(function(j) {
var sA = Il(j.length);
return rt(j, sA), sA;
}, "array")
};
function y(j) {
return c === "string" ? Ce(j) : c === "boolean" ? !!j : j;
}
s(y, "convertReturnValue");
var S = K(a), R = [], O = 0;
if (u)
for (var H = 0; H < u.length; H++) {
var iA = d[h[H]];
iA ? (O === 0 && (O = XK()), R[H] = iA(u[H])) : R[H] = u[H];
}
var X = S.apply(null, R);
return X = y(X), O !== 0 && ZK(O), X;
}
s(F, "ccall");
function GA(a, c, h, u) {
h = h || [];
var f = h.every(function(y) {
return y === "number";
}), d = c !== "string";
return d && f && !u ? K(a) : function() {
return F(a, c, h, arguments, u);
};
}
s(GA, "cwrap");
var gA = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0;
function JA(a, c, h) {
for (var u = c + h, f = c; a[f] && !(f >= u); ) ++f;
if (f - c > 16 && a.subarray && gA)
return gA.decode(a.subarray(c, f));
for (var d = ""; c < f; ) {
var y = a[c++];
if (!(y & 128)) {
d += String.fromCharCode(y);
continue;
}
var S = a[c++] & 63;
if ((y & 224) == 192) {
d += String.fromCharCode((y & 31) << 6 | S);
continue;
}
var R = a[c++] & 63;
if ((y & 240) == 224 ? y = (y & 15) << 12 | S << 6 | R : y = (y & 7) << 18 | S << 12 | R << 6 | a[c++] & 63, y < 65536)
d += String.fromCharCode(y);
else {
var O = y - 65536;
d += String.fromCharCode(55296 | O >> 10, 56320 | O & 1023);
}
}
return d;
}
s(JA, "UTF8ArrayToString");
function Ce(a, c) {
return a ? JA(P, a, c) : "";
}
s(Ce, "UTF8ToString");
function LA(a, c, h, u) {
if (!(u > 0)) return 0;
for (var f = h, d = h + u - 1, y = 0; y < a.length; ++y) {
var S = a.charCodeAt(y);
if (S >= 55296 && S <= 57343) {
var R = a.charCodeAt(++y);
S = 65536 + ((S & 1023) << 10) | R & 1023;
}
if (S <= 127) {
if (h >= d) break;
c[h++] = S;
} else if (S <= 2047) {
if (h + 1 >= d) break;
c[h++] = 192 | S >> 6, c[h++] = 128 | S & 63;
} else if (S <= 65535) {
if (h + 2 >= d) break;
c[h++] = 224 | S >> 12, c[h++] = 128 | S >> 6 & 63, c[h++] = 128 | S & 63;
} else {
if (h + 3 >= d) break;
c[h++] = 240 | S >> 18, c[h++] = 128 | S >> 12 & 63, c[h++] = 128 | S >> 6 & 63, c[h++] = 128 | S & 63;
}
}
return c[h] = 0, h - f;
}
s(LA, "stringToUTF8Array");
function Zt(a, c, h) {
return LA(a, P, c, h);
}
s(Zt, "stringToUTF8");
function ur(a) {
for (var c = 0, h = 0; h < a.length; ++h) {
var u = a.charCodeAt(h);
u >= 55296 && u <= 57343 && (u = 65536 + ((u & 1023) << 10) | a.charCodeAt(++h) & 1023), u <= 127 ? ++c : u <= 2047 ? c += 2 : u <=
65535 ? c += 3 : c += 4;
}
return c;
}
s(ur, "lengthBytesUTF8");
function St(a) {
var c = ur(a) + 1, h = cl(c);
return h && LA(a, OA, h, c), h;
}
s(St, "allocateUTF8");
function rt(a, c) {
OA.set(a, c);
}
s(rt, "writeArrayToMemory");
function nA(a, c) {
return a % c > 0 && (a += c - a % c), a;
}
s(nA, "alignUp");
var Kt, OA, P, IA, x, M, dA, xA, KA;
function Br(a) {
Kt = a, e.HEAP8 = OA = new Int8Array(a), e.HEAP16 = IA = new Int16Array(a), e.HEAP32 = M = new Int32Array(a), e.HEAPU8 = P = new Uint8Array(
a), e.HEAPU16 = x = new Uint16Array(a), e.HEAPU32 = dA = new Uint32Array(a), e.HEAPF32 = xA = new Float32Array(a), e.HEAPF64 = KA = new Float64Array(
a);
}
s(Br, "updateGlobalBufferAndViews");
var ni = e.INITIAL_MEMORY || 16777216, cg, Al = [], el = [], tl = [], cK = !1;
function IK() {
if (e.preRun)
for (typeof e.preRun == "function" && (e.preRun = [e.preRun]); e.preRun.length; )
EK(e.preRun.shift());
lg(Al);
}
s(IK, "preRun");
function hK() {
cK = !0, !e.noFSInit && !l.init.initialized && l.init(), Ft.init(), lg(el);
}
s(hK, "initRuntime");
function lK() {
if (e.postRun)
for (typeof e.postRun == "function" && (e.postRun = [e.postRun]); e.postRun.length; )
BK(e.postRun.shift());
lg(tl);
}
s(lK, "postRun");
function EK(a) {
Al.unshift(a);
}
s(EK, "addOnPreRun");
function uK(a) {
el.unshift(a);
}
s(uK, "addOnInit");
function BK(a) {
tl.unshift(a);
}
s(BK, "addOnPostRun");
var $t = 0, Ig = null, oi = null;
function NO(a) {
return a;
}
s(NO, "getUniqueRunDependency");
function rl(a) {
$t++, e.monitorRunDependencies && e.monitorRunDependencies($t);
}
s(rl, "addRunDependency");
function hg(a) {
if ($t--, e.monitorRunDependencies && e.monitorRunDependencies($t), $t == 0 && (Ig !== null && (clearInterval(Ig), Ig = null), oi)) {
var c = oi;
oi = null, c();
}
}
s(hg, "removeRunDependency"), e.preloadedImages = {}, e.preloadedAudios = {};
function NA(a) {
e.onAbort && e.onAbort(a), a += "", L(a), uA = !0, BA = 1, a = "abort(" + a + "). Build with -s ASSERTIONS=1 for more info.";
var c = new WebAssembly.RuntimeError(a);
throw i(c), c;
}
s(NA, "abort");
var il = "data:application/octet-stream;base64,";
function sl(a) {
return a.startsWith(il);
}
s(sl, "isDataURI");
var gi = "data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9\
+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9\
/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gBX9/f39/AX5\
gAnx/AXxgAn9+AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAEBYQFtAAABYQFuAAUBYQFvAAE\
BYQFwAAMBYQFxAAEBYQFyAAABYQFzAAMBYQF0AAADggKAAgcCAgQAAQECAgANBA4EBwICAhwLEw0AFA0dAAAMDAIHHgwQAgIDAwICAQAIAAcIFBUEBgAADAAECAgDAQYAAgIBBgAfFwE\
BAwITAiAPBgIFEQMFAxgBCAIBAAAHBQEYABoSAQIABwQDIREIAyIGAAEBAwMAIwUbASQHAQsVAQMABQMEAA0bFw0BBAALCwMDDAwAAwAHJQMBAAgaAQECBQMBAgMDAAcHBwICAgImEQs\
ICAsECQoJAgAAAAAAAAkFAAUFBQEGAwYGBgUSBgYBARIBAAIJBgABDgABAQ8ACQEEGQkJCQAAAAMECgoBAQIQAAAAAgEDAwAEAQoFAA4ACQAEBQFwAR8fBQcBAYACgIACBgkBfwFB0KD\
BAgsHvgI8AXUCAAF2AIABAXcAkwIBeADjAQF5APEBAXoA0QEBQQDQAQFCAM8BAUMAzgEBRADMAQFFAMsBAUYAyQEBRwCSAgFIAJECAUkAjwIBSgCKAgFLAOkBAUwA4gEBTQDhAQFOADw\
BTwD8AQFQAPkBAVEA+AEBUgDwAQFTAPoBAVQA4AEBVQAVAVYAGAFXAMcBAVgAzQEBWQDfAQFaAN4BAV8A3QEBJADkAQJhYQDcAQJiYQDbAQJjYQDaAQJkYQDZAQJlYQDYAQJmYQDXAQJ\
nYQDqAQJoYQCcAQJpYQDWAQJqYQDVAQJrYQDUAQJsYQAvAm1hABsCbmEAygECb2EASAJwYQEAAnFhAGcCcmEA0wECc2EA6AECdGEA0gECdWEA9wECdmEA9gECd2EA9QECeGEA5wECeWE\
A5gECemEA5QEJQQEAQQELHsgBkAKNAo4CjAKLArcBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH7AVv0AfMB8gHvAe4B7QHsAesBCu+QCYACQAEBfyMAQRBrIgMgADYCDCADIAE2Agg\
gAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgF\
rIgNB9JsBKAIASQ0BIAAgAWohACADQfibASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RBjJwBakYaIAIgAygCDCIBRgRAQeSbAUHkmwEoAgBBfiAEd3E2AgAMAwsgAiABNgI\
MIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiI\
CKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAwsgBkEQQRQ\
gBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQeybASAANgIAIAU\
gAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUH8mwEoAgBGBEBB/JsBIAM2AgBB8JsBQfCbASgCACAAaiIANgIAIAMgAEE\
BcjYCBCADQfibASgCAEcNA0HsmwFBADYCAEH4mwFBADYCAA8LIAVB+JsBKAIARgRAQfibASADNgIAQeybAUHsmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSA\
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\
BDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxA\
CQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQM\
Qp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAig\
CCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE\
2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBQgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCg\
CJCgCBBEOADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQoANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQgh\
BBBAgQgBTBEAgBCgCJEEMakEUQQAQFAwBCyAEKAIkQQxqIAQoAgAgBCgCBBAUCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQ\
gAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAI\
oAgwaIAJBEGokAAsXACAALQAAQSBxRQRAIAEgAiAAEHEaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2Agw\
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\
CKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAI\
oAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyA\
CQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgU\
gAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAI\
oAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn8\
3AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILjQUBA38jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIABEAgASg\
CDCgCABAvGiABKAIMKAIAEBsLIAEoAgwoAhwQFSABKAIMKAIgECQgASgCDCgCJBAkIAEoAgwoAlAhAiMAQRBrIgAkACAAIAI2AgwgACgCDARAIAAoAgwoAhAEQCAAQQA2AggDQCAAKAI\
IIAAoAgwoAgBJBEAgACgCDCgCECAAKAIIQQJ0aigCAARAIAAoAgwoAhAgACgCCEECdGooAgAhAyMAQRBrIgIkACACIAM2AgwDQCACKAIMBEAgAiACKAIMKAIYNgIIIAIoAgwQFSACIAI\
oAgg2AgwMAQsLIAJBEGokAAsgACAAKAIIQQFqNgIIDAELCyAAKAIMKAIQEBULIAAoAgwQFQsgAEEQaiQAIAEoAgwoAkAEQCABQgA3AwADQCABKQMAIAEoAgwpAzBUBEAgASgCDCgCQCA\
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\
2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8\
gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAM\
oAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgs\
gAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQE\
LIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0\
LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0\
AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAyg\
CEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyM\
AQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAM\
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\
oAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBAzIAEoAhwiACABKAIEIAAoAsAtajYCwC0LCwsgAUEgaiQAC4YFAQF\
/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzYCECAEQQM2AgwCQCAEKAIcKAK8LUEQIAQoAgxrSgRAIAQgBCgCEDYCCCAEKAIcIgAgAC8BuC0gBCgCCEH//wNxIAQoAhw\
oArwtdHI7AbgtIAQoAhwvAbgtQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwvAbgtQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAM\
gAEEBajYCFCAAIAJqIAE6AAAgBCgCHCAEKAIIQf//A3FBECAEKAIcKAK8LWt1OwG4LSAEKAIcIgAgACgCvC0gBCgCDEEQa2o2ArwtDAELIAQoAhwiACAALwG4LSAEKAIQQf//A3EgBCg\
CHCgCvC10cjsBuC0gBCgCHCIAIAQoAgwgACgCvC1qNgK8LQsgBCgCHBC9ASAEKAIUQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRB//8\
DcUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB/wFxIQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAA\
gBCgCFEF/c0H//wNxQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCgCCCAEKAIcKAIUaiAEKAIYIAQoAhQQGRogBCgCHCIAIAQoAhQgACg\
CFGo2AhQgBEEgaiQAC6sBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIIBEAgASgCDCgCCBAbIAEoAgxBADYCCAsCQCABKAIMKAIERQ0AIAEoAgwoAgQoAgBBAXFFDQAgASgCDCgCBCg\
CEEF+Rw0AIAEoAgwoAgQiACAAKAIAQX5xNgIAIAEoAgwoAgQoAgBFBEAgASgCDCgCBBA3IAEoAgxBADYCBAsLIAEoAgxBADoADCABQRBqJAAL8QMBAX8jAEHQAGsiCCQAIAggADYCSCA\
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\
ANgIcIAMgATYCGCADIAI2AhQgAyADKAIcQdwWaiADKAIUQQJ0aigCADYCECADIAMoAhRBAXQ2AgwDQAJAIAMoAgwgAygCHCgC0ChKDQACQCADKAIMIAMoAhwoAtAoTg0AIAMoAhggAyg\
CHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEATgRAIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEH\
cFmogAygCDEECdGooAgBBAnRqLwEARw0BIAMoAhwgAygCDEECdGpB4BZqKAIAIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQELIAMgAygCDEE\
BajYCDAsgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEgNAAJAIAMoAhggAygCEEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEE\
CdGovAQBHDQAgAygCECADKAIcQdgoamotAAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAI\
ANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAI\
oKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAI\
YIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEE\
BajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA\
2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwE\
CazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAI\
sKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdw\
WaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAI\
MQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCA\
CKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA\
2AuAWIAIoAiwgAigCJEEBEHkgAigCLCgC0ChBAk4NAAsgAigCLCgC4BYhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIoIQEjAEFAaiI\
AIAIoAiw2AjwgACABNgI4IAAgACgCOCgCADYCNCAAIAAoAjgoAgQ2AjAgACAAKAI4KAIIKAIANgIsIAAgACgCOCgCCCgCBDYCKCAAIAAoAjgoAggoAgg2AiQgACAAKAI4KAIIKAIQNgI\
gIABBADYCBCAAQQA2AhADQCAAKAIQQQ9MBEAgACgCPEG8FmogACgCEEEBdGpBADsBACAAIAAoAhBBAWo2AhAMAQsLIAAoAjQgACgCPEHcFmogACgCPCgC1ChBAnRqKAIAQQJ0akEAOwE\
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\
BADsBAAwBCyADKAIAKAIUQdAASARAIAMoAgBB0AA2AhQLIAMoAgQgAygCACgCDCADKAIAKAIUQQl0IAMoAgAoAhBBBXRqQeC/AmtqOwEAIAMoAgggAygCACgCCEELdCADKAIAKAIEQQV\
0aiADKAIAKAIAQQF1ajsBAAsgA0EQaiQAC4MDAQF/IwBBIGsiAyQAIAMgADsBGiADIAE2AhQgAyACNgIQIAMgAygCFCADQQhqQcAAQQAQRiIANgIMAkAgAEUEQCADQQA2AhwMAQsgAyg\
CCEEFakH//wNLBEAgAygCEEESQQAQFCADQQA2AhwMAQsgA0EAIAMoAghBBWqtECkiADYCBCAARQRAIAMoAhBBDkEAEBQgA0EANgIcDAELIAMoAgRBARCWASADKAIEIAMoAhQQhwEQISA\
DKAIEIAMoAgwgAygCCBBBAn8jAEEQayIAIAMoAgQ2AgwgACgCDC0AAEEBcUULBEAgAygCEEEUQQAQFCADKAIEEBYgA0EANgIcDAELIAMgAy8BGgJ/IwBBEGsiACADKAIENgIMAn4gACg\
CDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELAn8jAEEQayIAIAMoAgQ2AgwgACgCDCgCBAtBgAYQVTYCACADKAIEEBYgAyADKAIANgIcCyADKAIcIQAgA0EgaiQAIAALtAIBAX8\
jAEEwayIDJAAgAyAANgIoIAMgATcDICADIAI2AhwCQCADKQMgUARAIANBAToALwwBCyADIAMoAigpAxAgAykDIHw3AwgCQCADKQMIIAMpAyBaBEAgAykDCEL/////AFgNAQsgAygCHEE\
OQQAQFCADQQA6AC8MAQsgAyADKAIoKAIAIAMpAwinQQR0EE4iADYCBCAARQRAIAMoAhxBDkEAEBQgA0EAOgAvDAELIAMoAiggAygCBDYCACADIAMoAigpAwg3AxADQCADKQMQIAMpAwh\
aRQRAIAMoAigoAgAgAykDEKdBBHRqELUBIAMgAykDEEIBfDcDEAwBCwsgAygCKCADKQMIIgE3AxAgAygCKCABNwMIIANBAToALwsgAy0AL0EBcSEAIANBMGokACAAC8wBAQF/IwBBIGs\
iAiQAIAIgADcDECACIAE2AgwgAkEwEBgiATYCCAJAIAFFBEAgAigCDEEOQQAQFCACQQA2AhwMAQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADc\
DGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAA\
gAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8\
BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAI\
IEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAM\
oAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCg\
CADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEG\
BsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2Agw\
MAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAU\
vATatECkiADYCJAJAIABFBEAgBSgCKEEOQQAQFCAFQQA6AD8MAQsgBUEANgIgIAVBADYCGANAAn8jAEEQayIAIAUoAiQ2AgwgACgCDC0AAEEBcQsEfyAFKAIkEDBCBFoFQQALQQFxBEA\
gBSAFKAIkEB07ARYgBSAFKAIkEB07ARQgBSAFKAIkIAUvARStEB42AhAgBSgCEEUEQCAFKAIoQRVBABAUIAUoAiQQFiAFKAIYECMgBUEAOgA/DAMLIAUgBS8BFiAFLwEUIAUoAhAgBSg\
CMBBVIgA2AhwgAEUEQCAFKAIoQQ5BABAUIAUoAiQQFiAFKAIYECMgBUEAOgA/DAMLAkAgBSgCGARAIAUoAiAgBSgCHDYCACAFIAUoAhw2AiAMAQsgBSAFKAIcIgA2AiAgBSAANgIYCww\
BCwsgBSgCJBBHQQFxRQRAIAUgBSgCJBAwPgIMIAUgBSgCJCAFKAIMrRAeNgIIAkACQCAFKAIMQQRPDQAgBSgCCEUNACAFKAIIQZEVIAUoAgwQT0UNAQsgBSgCKEEVQQAQFCAFKAIkEBY\
gBSgCGBAjIAVBADoAPwwCCwsgBSgCJBAWAkAgBSgCLARAIAUoAiwgBSgCGDYCAAwBCyAFKAIYECMLIAVBAToAPwsgBS0AP0EBcSEAIAVBQGskACAAC+8CAQF/IwBBIGsiAiQAIAIgADY\
CGCACIAE2AhQCQCACKAIYRQRAIAIgAigCFDYCHAwBCyACIAIoAhg2AggDQCACKAIIKAIABEAgAiACKAIIKAIANgIIDAELCwNAIAIoAhQEQCACIAIoAhQoAgA2AhAgAkEANgIEIAIgAig\
CGDYCDANAAkAgAigCDEUNAAJAIAIoAgwvAQggAigCFC8BCEcNACACKAIMLwEKIAIoAhQvAQpHDQAgAigCDC8BCgRAIAIoAgwoAgwgAigCFCgCDCACKAIMLwEKEE8NAQsgAigCDCIAIAA\
oAgQgAigCFCgCBEGABnFyNgIEIAJBATYCBAwBCyACIAIoAgwoAgA2AgwMAQsLIAIoAhRBADYCAAJAIAIoAgQEQCACKAIUECMMAQsgAigCCCACKAIUIgA2AgAgAiAANgIICyACIAIoAhA\
2AhQMAQsLIAIgAigCGDYCHAsgAigCHCEAIAJBIGokACAAC18BAX8jAEEQayICJAAgAiAANgIIIAIgAToAByACIAIoAghCARAeNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACLQA\
HOgAAIAJBADYCDAsgAigCDBogAkEQaiQAC1QBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIBEB42AgQCQCABKAIERQRAIAFBADoADwwBCyABIAEoAgQtAAA6AA8LIAEtAA8hACABQRB\
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\
AEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAI\
IQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASg\
CDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCg\
CeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiA\
CKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAI\
oAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAI\
oAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo\
2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2Aih\
BACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0\
AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUc\
NABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2Aiw\
gAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCA\
CKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI\
8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgA\
oAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAig\
CHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQs\
gAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAig\
CKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQF\
raiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAI\
oAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEA\
gAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhB\
FDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAig\
CKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAI\
oKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAI\
oKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAI\
oIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjw\
gAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAI\
oAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgR\
LBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAig\
CKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAI\
oKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0\
BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAig\
oAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCA\
BKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCg\
CHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRBAALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBEEAAs\
gASgCCCgCKCABKAIIKAIcIAEoAggoAiQRBAAgASgCCEEANgIcIAFBfUEAIAEoAgRB8QBGGzYCDAsgASgCDCEAIAFBEGokACAAC+sXAQJ/IwBB8ABrIgMgADYCbCADIAE2AmggAyACNgJ\
kIANBfzYCXCADIAMoAmgvAQI2AlQgA0EANgJQIANBBzYCTCADQQQ2AkggAygCVEUEQCADQYoBNgJMIANBAzYCSAsgA0EANgJgA0AgAygCYCADKAJkSkUEQCADIAMoAlQ2AlggAyADKAJ\
oIAMoAmBBAWpBAnRqLwECNgJUIAMgAygCUEEBaiIANgJQAkACQCADKAJMIABMDQAgAygCWCADKAJURw0ADAELAkAgAygCUCADKAJISARAA0AgAyADKAJsQfwUaiADKAJYQQJ0ai8BAjY\
CRAJAIAMoAmwoArwtQRAgAygCRGtKBEAgAyADKAJsQfwUaiADKAJYQQJ0ai8BADYCQCADKAJsIgAgAC8BuC0gAygCQEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAM\
oAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAJ\
AQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCREEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsQfwUaiADKAJYQQJ0ai8BACADKAJsKAK8LXRyOwG4LSADKAJ\
sIgAgAygCRCAAKAK8LWo2ArwtCyADIAMoAlBBAWsiADYCUCAADQALDAELAkAgAygCWARAIAMoAlggAygCXEcEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwECNgI8AkAgAygCbCgCvC1BECA\
DKAI8a0oEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwEANgI4IAMoAmwiACAALwG4LSADKAI4Qf//A3EgAygCbCgCvC10cjsBuC0gAygCbC8BuC1B/wFxIQEgAygCbCgCCCECIAMoAmwiBCg\
CFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbC8BuC1BCHYhASADKAJsKAIIIQIgAygCbCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJsIAMoAjhB//8DcUEQIAMoAmwoArw\
ta3U7AbgtIAMoAmwiACAAKAK8LSADKAI8QRBrajYCvC0MAQsgAygCbCIAIAAvAbgtIAMoAmxB/BRqIAMoAlhBAnRqLwEAIAMoAmwoArwtdHI7AbgtIAMoAmwiACADKAI8IAAoArwtajY\
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\
gASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQbyABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQF\
rDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSA\
AQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAE\
oAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAE\
EQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAF\
qJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACE\
DIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCA\
EQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiA\
DQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQ\
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\
CLCgChAFBCUYEf0ECBUEEQQAgACgCLCgCiAFBAkgEfyAAKAIsKAKEAUECSAVBAQtBAXEbCyECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhw\
oAgxB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCEARAIAAoAiwoAhwoAhRB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQ\
gAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCFEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAAsgACgCLCgCHCgCLARAIAAoAjgoAjAgACg\
CLCgCCCAAKAIsKAIUEBohASAAKAI4IAE2AjALIAAoAixBADYCICAAKAIsQcUANgIECwsgACgCLCgCBEHFAEYEQCAAKAIsKAIcKAIQBEAgACAAKAIsKAIUNgIgIAAgACgCLCgCHCgCFEH\
//wNxIAAoAiwoAiBrNgIcA0AgACgCLCgCDCAAKAIsKAIUIAAoAhxqSQRAIAAgACgCLCgCDCAAKAIsKAIUazYCGCAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACg\
CGBAZGiAAKAIsIAAoAiwoAgw2AhQCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCIE0NACAAKAI4KAIwIAAoAiwoAgggACgCIGogACgCLCgCFCAAKAIgaxAaIQEgACgCOCABNgIwCyA\
AKAIsIgEgACgCGCABKAIgajYCICAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBQUgAEEANgIgIAAgACgCHCAAKAIYazYCHAwCCwALCyAAKAIsKAIIIAAoAiwoAhRqIAA\
oAiwoAhwoAhAgACgCLCgCIGogACgCHBAZGiAAKAIsIgEgACgCHCABKAIUajYCFAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIgTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIgaiAAKAI\
sKAIUIAAoAiBrEBohASAAKAI4IAE2AjALIAAoAixBADYCIAsgACgCLEHJADYCBAsgACgCLCgCBEHJAEYEQCAAKAIsKAIcKAIcBEAgACAAKAIsKAIUNgIUA0AgACgCLCgCFCAAKAIsKAI\
MRgRAAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAhRNDQAgACgCOCgCMCAAKAIsKAIIIAAoAhRqIAAoAiwoAhQgACgCFGsQGiEBIAAoAjggATYCMAsgACgCOBAcIAAoAiwoAhQEQCA\
AKAIsQX82AiggAEEANgI8DAULIABBADYCFAsgACgCLCgCHCgCHCECIAAoAiwiAygCICEBIAMgAUEBajYCICAAIAEgAmotAAA2AhAgACgCECECIAAoAiwoAgghAyAAKAIsIgQoAhQhASA\
EIAFBAWo2AhQgASADaiACOgAAIAAoAhANAAsCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCFE0NACAAKAI4KAIwIAAoAiwoAgggACgCFGogACgCLCgCFCAAKAIUaxAaIQEgACgCOCA\
BNgIwCyAAKAIsQQA2AiALIAAoAixB2wA2AgQLIAAoAiwoAgRB2wBGBEAgACgCLCgCHCgCJARAIAAgACgCLCgCFDYCDANAIAAoAiwoAhQgACgCLCgCDEYEQAJAIAAoAiwoAhwoAixFDQA\
gACgCLCgCFCAAKAIMTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIMaiAAKAIsKAIUIAAoAgxrEBohASAAKAI4IAE2AjALIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwFCyA\
AQQA2AgwLIAAoAiwoAhwoAiQhAiAAKAIsIgMoAiAhASADIAFBAWo2AiAgACABIAJqLQAANgIIIAAoAgghAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACA\
AKAIIDQALAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAgxNDQAgACgCOCgCMCAAKAIsKAIIIAAoAgxqIAAoAiwoAhQgACgCDGsQGiEBIAAoAjggATYCMAsLIAAoAixB5wA2AgQLIAA\
oAiwoAgRB5wBGBEAgACgCLCgCHCgCLARAIAAoAiwoAgwgACgCLCgCFEECakkEQCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsLIAAoAjgoAjBB/wFxIQIgACgCLCg\
CCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAEEAQQBBABAaIQE\
gACgCOCABNgIwCyAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsCQAJAIAAoAjgoAgQNACAAKAIsKAJ0DQAgACgCNEUNASAAKAIsKAIEQZoFRg0\
BCyAAAn8gACgCLCgChAFFBEAgACgCLCAAKAI0ELcBDAELAn8gACgCLCgCiAFBAkYEQCAAKAIsIQIgACgCNCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQANAAkAgASgCGCgCdEUEQCA\
BKAIYEFwgASgCGCgCdEUEQCABKAIURQRAIAFBADYCHAwFCwwCCwsgASgCGEEANgJgIAEgASgCGCICKAI4IAIoAmxqLQAAOgAPIAEoAhgiAigCpC0gAigCoC1BAXRqQQA7AQAgAS0ADyE\
DIAEoAhgiAigCmC0hBCACIAIoAqAtIgJBAWo2AqAtIAIgBGogAzoAACABKAIYIAEtAA9BAnRqIgIgAi8BlAFBAWo7AZQBIAEgASgCGCgCoC0gASgCGCgCnC1BAWtGNgIQIAEoAhgiAiA\
CKAJ0QQFrNgJ0IAEoAhgiAiACKAJsQQFqNgJsIAEoAhAEQCABKAIYAn8gASgCGCgCXEEATgRAIAEoAhgoAjggASgCGCgCXGoMAQtBAAsgASgCGCgCbCABKAIYKAJca0EAECggASgCGCA\
BKAIYKAJsNgJcIAEoAhgoAgAQHCABKAIYKAIAKAIQRQRAIAFBADYCHAwECwsMAQsLIAEoAhhBADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJ\
cagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhg\
CfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgI\
cDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEA\
gASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJ\
sakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQF\
qNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAE\
gASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEE\
BazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwE\
AQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAig\
COCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAI\
vAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASg\
CKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigoAgAoAhBFBEAgAUEANgIsDAQLCwwBCwsgASgCKEEANgK\
0LSABKAIkQQRGBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBARAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASg\
CKCgCACgCEEUEQCABQQI2AiwMAgsgAUEDNgIsDAELIAEoAigoAqAtBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBABA\
oIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQA2AiwMAgsLIAFBATYCLAsgASgCLCECIAFBMGokACACDAELIAAoAiwgACgCNCAAKAIsKAKEAUEMbEGA7wB\
qKAIIEQMACwsLNgIEAkAgACgCBEECRwRAIAAoAgRBA0cNAQsgACgCLEGaBTYCBAsCQCAAKAIEBEAgACgCBEECRw0BCyAAKAI4KAIQRQRAIAAoAixBfzYCKAsgAEEANgI8DAILIAAoAgR\
BAUYEQAJAIAAoAjRBAUYEQCAAKAIsIQIjAEEgayIBJAAgASACNgIcIAFBAzYCGAJAIAEoAhwoArwtQRAgASgCGGtKBEAgAUECNgIUIAEoAhwiAiACLwG4LSABKAIUQf//A3EgASgCHCg\
CvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiA\
CQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAhRB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIYQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQQIgASgCHCgCvC10cjs\
BuC0gASgCHCICIAEoAhggAigCvC1qNgK8LQsgAUGS6AAvAQA2AhACQCABKAIcKAK8LUEQIAEoAhBrSgRAIAFBkOgALwEANgIMIAEoAhwiAiACLwG4LSABKAIMQf//A3EgASgCHCgCvC1\
0cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQF\
qNgIUIAIgBGogAzoAACABKAIcIAEoAgxB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIQQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQZDoAC8BACABKAIcKAK8LXR\
yOwG4LSABKAIcIgIgASgCECACKAK8LWo2ArwtCyABKAIcELwBIAFBIGokAAwBCyAAKAI0QQVHBEAgACgCLEEAQQBBABBdIAAoAjRBA0YEQCAAKAIsKAJEIAAoAiwoAkxBAWtBAXRqQQA\
7AQAgACgCLCgCREEAIAAoAiwoAkxBAWtBAXQQMyAAKAIsKAJ0RQRAIAAoAixBADYCbCAAKAIsQQA2AlwgACgCLEEANgK0LQsLCwsgACgCOBAcIAAoAjgoAhBFBEAgACgCLEF/NgIoIAB\
BADYCPAwDCwsLIAAoAjRBBEcEQCAAQQA2AjwMAQsgACgCLCgCGEEATARAIABBATYCPAwBCwJAIAAoAiwoAhhBAkYEQCAAKAI4KAIwQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASA\
EIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAjBBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEQdkH/AXEhAiAAKAIsKAIIIQM\
gACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIwQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEH/AXEhAiAAKAI\
sKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAgh\
BEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgA\
ADAELIAAoAiwgACgCOCgCMEEQdhBLIAAoAiwgACgCOCgCMEH//wNxEEsLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQE\
gAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBKDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJ\
cDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCg\
CPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkA\
CQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACA\
AKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAA\
oAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADY\
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\
MdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCA\
BKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiw\
gASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAE\
oAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgI\
oIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajY\
CKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASg\
CDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCA\
BKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAI\
tAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgx\
rajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQF\
rIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgA\
AIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkE\
BajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAA\
hAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2Akg\
gAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACA\
CLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCA\
BIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASg\
CDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyABKAJcQYUPNgIYIAEoAlRB0f4ANgIEDAQLDAILIAEoAgxBwABxRQRAIAEgASgCJCABLwE\
SIAEoAixBASABKAIMdEEBa3FqQQJ0aigBADYBEAwBCwsgASgCDEEgcQRAIAEoAlRBv/4ANgIEDAILIAEoAlxB6Q42AhggASgCVEHR/gA2AgQMAQsgASgCUCABKAJMSQR/IAEoAkggASg\
CQEkFQQALQQFxDQELCyABIAEoAihBA3Y2AgggASABKAJQIAEoAghrNgJQIAEgASgCKCABKAIIQQN0azYCKCABIAEoAixBASABKAIodEEBa3E2AiwgASgCXCABKAJQNgIAIAEoAlwgASg\
CSDYCDCABKAJcAn8gASgCUCABKAJMSQRAIAEoAkwgASgCUGtBBWoMAQtBBSABKAJQIAEoAkxraws2AgQgASgCXAJ/IAEoAkggASgCQEkEQCABKAJAIAEoAkhrQYECagwBC0GBAiABKAJ\
IIAEoAkBraws2AhAgASgCVCABKAIsNgI8IAEoAlQgASgCKDYCQCAAIAAoAlgoAgw2AkggACAAKAJYKAIQNgJAIAAgACgCWCgCADYCTCAAIAAoAlgoAgQ2AkQgACAAKAJQKAI8NgI8IAA\
gACgCUCgCQDYCOCAAKAJQKAIEQb/+AEYEQCAAKAJQQX82Asg3CwwNCyAAKAJQQQA2Asg3A0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI\
4TQ0AIAAoAkRFDQ0gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC0AIEUNACAALQAgQfABcQ0AIAAgACg\
BIDYBGANAAkAgACAAKAJQKAJQIAAvARogACgCPEEBIAAtABkgAC0AGGp0QQFrcSAALQAZdmpBAnRqKAEANgEgIAAoAjggAC0AGSAALQAhak8NACAAKAJERQ0OIAAgACgCREEBazYCRCA\
AIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AGXY2AjwgACAAKAI4IAAtABlrNgI4IAAoAlAiASAALQAZIAEoAsg3ajY\
CyDcLIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggACgCUCIBIAAtACEgASgCyDdqNgLINyAAKAJQIAAvASI2AkQgAC0AIEUEQCAAKAJQQc3+ADYCBAwNCyAALQAgQSBxBEA\
gACgCUEF/NgLINyAAKAJQQb/+ADYCBAwNCyAALQAgQcAAcQRAIAAoAlhB6Q42AhggACgCUEHR/gA2AgQMDQsgACgCUCAALQAgQQ9xNgJMIAAoAlBByf4ANgIECyAAKAJQKAJMBEADQCA\
AKAI4IAAoAlAoAkxJBEAgACgCREUNDSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCIBIAEoAkQgACg\
CPEEBIAAoAlAoAkx0QQFrcWo2AkQgACAAKAI8IAAoAlAoAkx2NgI8IAAgACgCOCAAKAJQKAJMazYCOCAAKAJQIgEgACgCUCgCTCABKALIN2o2Asg3CyAAKAJQIAAoAlAoAkQ2Asw3IAA\
oAlBByv4ANgIECwNAAkAgACAAKAJQKAJUIAAoAjxBASAAKAJQKAJcdEEBa3FBAnRqKAEANgEgIAAtACEgACgCOE0NACAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCA\
AIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAALQAgQfABcUUEQCAAIAAoASA2ARgDQAJAIAAgACgCUCgCVCAALwEaIAAoAjxBASAALQAZIAAtABhqdEEBa3EgAC0\
AGXZqQQJ0aigBADYBICAAKAI4IAAtABkgAC0AIWpPDQAgACgCREUNDCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAw\
BCwsgACAAKAI8IAAtABl2NgI8IAAgACgCOCAALQAZazYCOCAAKAJQIgEgAC0AGSABKALIN2o2Asg3CyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAiASAALQAhIAE\
oAsg3ajYCyDcgAC0AIEHAAHEEQCAAKAJYQYUPNgIYIAAoAlBB0f4ANgIEDAsLIAAoAlAgAC8BIjYCSCAAKAJQIAAtACBBD3E2AkwgACgCUEHL/gA2AgQLIAAoAlAoAkwEQANAIAAoAjg\
gACgCUCgCTEkEQCAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIgEgASgCSCAAKAI8QQE\
gACgCUCgCTHRBAWtxajYCSCAAIAAoAjwgACgCUCgCTHY2AjwgACAAKAI4IAAoAlAoAkxrNgI4IAAoAlAiASAAKAJQKAJMIAEoAsg3ajYCyDcLIAAoAlBBzP4ANgIECyAAKAJARQ0HIAA\
gACgCMCAAKAJAazYCLAJAIAAoAlAoAkggACgCLEsEQCAAIAAoAlAoAkggACgCLGs2AiwgACgCLCAAKAJQKAIwSwRAIAAoAlAoAsQ3BEAgACgCWEHdDDYCGCAAKAJQQdH+ADYCBAwMCws\
CQCAAKAIsIAAoAlAoAjRLBEAgACAAKAIsIAAoAlAoAjRrNgIsIAAgACgCUCgCOCAAKAJQKAIsIAAoAixrajYCKAwBCyAAIAAoAlAoAjggACgCUCgCNCAAKAIsa2o2AigLIAAoAiwgACg\
CUCgCREsEQCAAIAAoAlAoAkQ2AiwLDAELIAAgACgCSCAAKAJQKAJIazYCKCAAIAAoAlAoAkQ2AiwLIAAoAiwgACgCQEsEQCAAIAAoAkA2AiwLIAAgACgCQCAAKAIsazYCQCAAKAJQIgE\
gASgCRCAAKAIsazYCRANAIAAgACgCKCIBQQFqNgIoIAEtAAAhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAIsQQFrIgE2AiwgAQ0ACyAAKAJQKAJERQRAIAAoAlBByP4ANgIECww\
ICyAAKAJARQ0GIAAoAlAoAkQhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAJAQQFrNgJAIAAoAlBByP4ANgIEDAcLIAAoAlAoAgwEQANAIAAoAjhBIEkEQCAAKAJERQ0IIAAgACg\
CREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjAgACgCQGs2AjAgACgCWCIBIAAoAjAgASgCFGo2AhQgACgCUCI\
BIAAoAjAgASgCIGo2AiACQCAAKAJQKAIMQQRxRQ0AIAAoAjBFDQACfyAAKAJQKAIUBEAgACgCUCgCHCAAKAJIIAAoAjBrIAAoAjAQGgwBCyAAKAJQKAIcIAAoAkggACgCMGsgACgCMBA\
9CyEBIAAoAlAgATYCHCAAKAJYIAE2AjALIAAgACgCQDYCMAJAIAAoAlAoAgxBBHFFDQACfyAAKAJQKAIUBEAgACgCPAwBCyAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh\
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\
QQzcDaAwOCyAEKAJQKAIQEDIgBCgCUCgCFBAyIAQoAlAQFSAEQgA3A2gMDQsgBCgCUCgCEEIANwM4IAQoAlAoAhBCADcDQCAEQgA3A2gMDAsgBCkDWEL///////////8AVgRAIAQoAlB\
BEkEAEBQgBEJ/NwNoDAwLIAQoAlAoAhAhASAEKAJgIQMgBCkDWCECIwBBQGoiACQAIAAgATYCNCAAIAM2AjAgACACNwMoIAACfiAAKQMoIAAoAjQpAzAgACgCNCkDOH1UBEAgACkDKAw\
BCyAAKAI0KQMwIAAoAjQpAzh9CzcDKAJAIAApAyhQBEAgAEIANwM4DAELIAApAyhC////////////AFYEQCAAQn83AzgMAQsgACAAKAI0KQNANwMYIAAgACgCNCkDOCAAKAI0KAIEIAA\
pAxinQQN0aikDAH03AxAgAEIANwMgA0AgACkDICAAKQMoVARAIAACfiAAKQMoIAApAyB9IAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9VARAIAApAyggACkDIH0MAQsgACgCNCgCACA\
AKQMYp0EEdGopAwggACkDEH0LNwMIIAAoAjAgACkDIKdqIAAoAjQoAgAgACkDGKdBBHRqKAIAIAApAxCnaiAAKQMIpxAZGiAAKQMIIAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9UQR\
AIAAgACkDGEIBfDcDGAsgACAAKQMIIAApAyB8NwMgIABCADcDEAwBCwsgACgCNCIBIAApAyAgASkDOHw3AzggACgCNCAAKQMYNwNAIAAgACkDIDcDOAsgACkDOCECIABBQGskACAEIAI\
3A2gMCwsgBEEAQgBBACAEKAJQEEw2AkwgBCgCTEUEQCAEQn83A2gMCwsgBCgCUCgCEBAyIAQoAlAgBCgCTDYCECAEQgA3A2gMCgsgBCgCUCgCFBAyIAQoAlBBADYCFCAEQgA3A2gMCQs\
gBCAEKAJQKAIQIAQoAmAgBCkDWCAEKAJQEMEBrDcDaAwICyAEIAQoAlAoAhQgBCgCYCAEKQNYIAQoAlAQwQGsNwNoDAcLIAQpA1hCOFQEQCAEKAJQQRJBABAUIARCfzcDaAwHCyAEIAQ\
oAmA2AkggBCgCSBA7IAQoAkggBCgCUCgCDDYCKCAEKAJIIAQoAlAoAhApAzA3AxggBCgCSCAEKAJIKQMYNwMgIAQoAkhBADsBMCAEKAJIQQA7ATIgBCgCSELcATcDACAEQjg3A2gMBgs\
gBCgCUCAEKAJgKAIANgIMIARCADcDaAwFCyAEQX82AkAgBEETNgI8IARBCzYCOCAEQQ02AjQgBEEMNgIwIARBCjYCLCAEQQ82AiggBEEJNgIkIARBETYCICAEQQg2AhwgBEEHNgIYIAR\
BBjYCFCAEQQU2AhAgBEEENgIMIARBAzYCCCAEQQI2AgQgBEEBNgIAIARBACAEEDQ3A2gMBAsgBCgCUCgCECkDOEL///////////8AVgRAIAQoAlBBHkE9EBQgBEJ/NwNoDAQLIAQgBCg\
CUCgCECkDODcDaAwDCyAEKAJQKAIUKQM4Qv///////////wBWBEAgBCgCUEEeQT0QFCAEQn83A2gMAwsgBCAEKAJQKAIUKQM4NwNoDAILIAQpA1hC////////////AFYEQCAEKAJQQRJ\
BABAUIARCfzcDaAwCCyAEKAJQKAIUIQEgBCgCYCEDIAQpA1ghAiAEKAJQIQUjAEHgAGsiACQAIAAgATYCVCAAIAM2AlAgACACNwNIIAAgBTYCRAJAIAApA0ggACgCVCkDOCAAKQNIfEL\
//wN8VgRAIAAoAkRBEkEAEBQgAEJ/NwNYDAELIAAgACgCVCgCBCAAKAJUKQMIp0EDdGopAwA3AyAgACkDICAAKAJUKQM4IAApA0h8VARAIAAgACgCVCkDCCAAKQNIIAApAyAgACgCVCk\
DOH19Qv//A3xCEIh8NwMYIAApAxggACgCVCkDEFYEQCAAIAAoAlQpAxA3AxAgACkDEFAEQCAAQhA3AxALA0AgACkDECAAKQMYVARAIAAgACkDEEIBhjcDEAwBCwsgACgCVCAAKQMQIAA\
oAkQQwgFBAXFFBEAgACgCREEOQQAQFCAAQn83A1gMAwsLA0AgACgCVCkDCCAAKQMYVARAQYCABBAYIQEgACgCVCgCACAAKAJUKQMIp0EEdGogATYCACABBEAgACgCVCgCACAAKAJUKQM\
Ip0EEdGpCgIAENwMIIAAoAlQiASABKQMIQgF8NwMIIAAgACkDIEKAgAR8NwMgIAAoAlQoAgQgACgCVCkDCKdBA3RqIAApAyA3AwAMAgUgACgCREEOQQAQFCAAQn83A1gMBAsACwsLIAA\
gACgCVCkDQDcDMCAAIAAoAlQpAzggACgCVCgCBCAAKQMwp0EDdGopAwB9NwMoIABCADcDOANAIAApAzggACkDSFQEQCAAAn4gACkDSCAAKQM4fSAAKAJUKAIAIAApAzCnQQR0aikDCCA\
AKQMofVQEQCAAKQNIIAApAzh9DAELIAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9CzcDCCAAKAJUKAIAIAApAzCnQQR0aigCACAAKQMop2ogACgCUCAAKQM4p2ogACkDCKcQGRogACk\
DCCAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVEEQCAAIAApAzBCAXw3AzALIAAgACkDCCAAKQM4fDcDOCAAQgA3AygMAQsLIAAoAlQiASAAKQM4IAEpAzh8NwM4IAAoAlQgACkDMDc\
DQCAAKAJUKQM4IAAoAlQpAzBWBEAgACgCVCAAKAJUKQM4NwMwCyAAIAApAzg3A1gLIAApA1ghAiAAQeAAaiQAIAQgAjcDaAwBCyAEKAJQQRxBABAUIARCfzcDaAsgBCkDaCECIARB8AB\
qJAAgAgsHACAAKAIACxgAQaibAUIANwIAQbCbAUEANgIAQaibAQuGAQIEfwF+IwBBEGsiASQAAkAgACkDMFAEQAwBCwNAAkAgACAFQQAgAUEPaiABQQhqEIoBIgRBf0YNACABLQAPQQN\
HDQAgAiABKAIIQYCAgIB/cUGAgICAekZqIQILQX8hAyAEQX9GDQEgAiEDIAVCAXwiBSAAKQMwVA0ACwsgAUEQaiQAIAMLC4GNASMAQYAIC4EMaW5zdWZmaWNpZW50IG1lbW9yeQBuZWV\
kIGRpY3Rpb25hcnkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQASW52YWxpZCBhcmd1bWVudABpbnZhbGlkIGxpdGVyYWwvbGVuZ3R\
ocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdAB\
GaWxlIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMAJXMlcyVzAGJ1ZmZlciBlcnJvcgB\
ObyBlcnJvcgBzdHJlYW0gZXJyb3IAVGVsbCBlcnJvcgBJbnRlcm5hbCBlcnJvcgBTZWVrIGVycm9yAFdyaXRlIGVycm9yAGZpbGUgZXJyb3IAUmVhZCBlcnJvcgBabGliIGVycm9yAGR\
hdGEgZXJyb3IAQ1JDIGVycm9yAGluY29tcGF0aWJsZSB2ZXJzaW9uAG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCB\
oZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGN\
oAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGl\
kIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmV\
tb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXN\
zZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHB\
vcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHp\
pcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29\
yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcAUEsGBgB\
QSwUGAFBLAwQAUEsBAgAAAAAAAFIFAADZBwAArAgAAJEIAACCBQAApAUAAI0FAADFBQAAbwgAADQHAADpBAAAJAcAAAMHAACvBQAA4QYAAMsIAAA3CAAAQQcAAFoEAAC5BgAAcwUAAEE\
EAABXBwAAWAgAABcIAACnBgAA4ggAAPcIAAD/BwAAywYAAGgFAADBBwAAIABBmBQLEQEAAAABAAAAAQAAAAEAAAABAEG8FAsJAQAAAAEAAAACAEHoFAsBAQBBiBULAQEAQaIVC6REOiY\
7JmUmZiZjJmAmIiDYJcsl2SVCJkAmaiZrJjwmuiXEJZUhPCC2AKcArCWoIZEhkyGSIZAhHyKUIbIlvCUgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADY\
ANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagB\
rAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AAiPHAPwA6QDiAOQA4ADlAOcA6gDrAOgA7wDuAOwAxADFAMkA5gDGAPQA9gDyAPsA+QD/ANYA3ACiAKMApQCnIJI\
B4QDtAPMA+gDxANEAqgC6AL8AECOsAL0AvAChAKsAuwCRJZIlkyUCJSQlYSViJVYlVSVjJVElVyVdJVwlWyUQJRQlNCUsJRwlACU8JV4lXyVaJVQlaSVmJWAlUCVsJWclaCVkJWUlWSV\
YJVIlUyVrJWolGCUMJYglhCWMJZAlgCWxA98AkwPAA6MDwwO1AMQDpgOYA6kDtAMeIsYDtQMpImEisQBlImQiICMhI/cASCKwABkitwAaIn8gsgCgJaAAAAAAAJYwB3csYQ7uulEJmRn\
EbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdODVphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0\
P+vUNCI3IIG47XhBpTORBYNVycWei0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGrrDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAI\
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\
AakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbrwgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlTHXJOmqXOKf+3e4YRD8fhdJIQ2c0\
qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mbV6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4\
u/lAmVLmZnuje/IxdcRI04RZ3qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3c\
OsrnCoVwBfsY5nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4eQ9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvEUBAAAtgcAAHoJAACZBQA\
AWwUAALoFAAAABAAARQUAAM8FAAB6CQBB0dkAC7YQAQIDBAQFBQYGBgYHBwcHCAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsLDAwMDAwMDAwMDAw\
MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4\
ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxc\
XFxcYGBgYGBgYGBgYGBgYGBgYGRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBw\
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0\
dHR0dHR0dHR0dHR0dHR0dHQABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8PEBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQUFRUVFRUVFRU\
VFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRo\
aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwQMAAAEDUAAAEBAAAeAQAADwAAAJA0AACQNQAAAAAAAB4AAAAPAAAAAAA\
AABA2AAAAAAAAEwAAAAcAAAAAAAAADAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAg\
AogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD\
6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4\
ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQA\
IACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAg\
AdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQA\
zAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJs\
ACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwA\
JAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAk\
AzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwB\
AAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMM\
ACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQA\
FAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAU\
AAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwA\
AAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4\
AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAA\
AACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAA\
EAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAu\
lAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABM\
AFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgA\
TABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAA\
UCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAA\
IiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAn\
YABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFo\
AAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAA\
ACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAA\
IMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAc\
EAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0\
AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwA\
ACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAA\
J7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAh\
gAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOM\
AEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAA\
ACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABI\
HEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAg\
eAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAE\
AAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQA\
ACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAA\
IUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm\
3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8\
AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAA\
QBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwo\
HAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAE\
LAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQs\
AQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaC\
IAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2F\
sIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQ\
ATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZ\
pY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9\
zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25\
uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGF\
kZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJ\
vcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3l\
zdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWF\
ueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF\
0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQB\
ObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWd\
lAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3Jvbmc\
gdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJ\
vdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3d\
uAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyB\
jb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiB\
pbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciB\
pbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQE\
LAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddix\
w90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";
sl(gi) || (gi = p(gi));
function QK(a) {
try {
if (a == gi && T)
return new Uint8Array(T);
var c = Cl(a);
if (c)
return c;
if (D)
return D(a);
throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when\
generating HTML (but not JS)";
} catch (h) {
NA(h);
}
}
s(QK, "getBinary");
function fK(a, c) {
var h, u, f;
try {
f = QK(a), u = new WebAssembly.Module(f), h = new WebAssembly.Instance(u, c);
} catch (y) {
var d = y.toString();
throw L("failed to compile wasm module: " + d), (d.includes("imported Memory") || d.includes("memory import")) && L(
"Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GR\
OWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."
), y;
}
return [h, u];
}
s(fK, "instantiateSync");
function dK() {
var a = { a: qK };
function c(f, d) {
var y = f.exports;
e.asm = y, b = e.asm.u, Br(b.buffer), cg = e.asm.pa, uK(e.asm.v), hg("wasm-instantiate");
}
if (s(c, "receiveInstance"), rl("wasm-instantiate"), e.instantiateWasm)
try {
var h = e.instantiateWasm(a, c);
return h;
} catch (f) {
return L("Module.instantiateWasm callback failed with error: " + f), !1;
}
var u = fK(gi, a);
return c(u[0]), e.asm;
}
s(dK, "createWasm");
var YA, it;
function lg(a) {
for (; a.length > 0; ) {
var c = a.shift();
if (typeof c == "function") {
c(e);
continue;
}
var h = c.func;
typeof h == "number" ? c.arg === void 0 ? cg.get(h)() : cg.get(h)(c.arg) : h(c.arg === void 0 ? null : c.arg);
}
}
s(lg, "callRuntimeCallbacks");
function ps(a, c) {
var h = new Date(M[a >> 2] * 1e3);
M[c >> 2] = h.getUTCSeconds(), M[c + 4 >> 2] = h.getUTCMinutes(), M[c + 8 >> 2] = h.getUTCHours(), M[c + 12 >> 2] = h.getUTCDate(), M[c +
16 >> 2] = h.getUTCMonth(), M[c + 20 >> 2] = h.getUTCFullYear() - 1900, M[c + 24 >> 2] = h.getUTCDay(), M[c + 36 >> 2] = 0, M[c + 32 >>
2] = 0;
var u = Date.UTC(h.getUTCFullYear(), 0, 1, 0, 0, 0, 0), f = (h.getTime() - u) / (1e3 * 60 * 60 * 24) | 0;
return M[c + 28 >> 2] = f, ps.GMTString || (ps.GMTString = St("GMT")), M[c + 40 >> 2] = ps.GMTString, c;
}
s(ps, "_gmtime_r");
function pK(a, c) {
return ps(a, c);
}
s(pK, "___gmtime_r");
var oA = {
splitPath: /* @__PURE__ */ s(function(a) {
var c = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return c.exec(a).slice(1);
}, "splitPath"),
normalizeArray: /* @__PURE__ */ s(function(a, c) {
for (var h = 0, u = a.length - 1; u >= 0; u--) {
var f = a[u];
f === "." ? a.splice(u, 1) : f === ".." ? (a.splice(u, 1), h++) : h && (a.splice(u, 1), h--);
}
if (c)
for (; h; h--)
a.unshift("..");
return a;
}, "normalizeArray"),
normalize: /* @__PURE__ */ s(function(a) {
var c = a.charAt(0) === "/", h = a.substr(-1) === "/";
return a = oA.normalizeArray(
a.split("/").filter(function(u) {
return !!u;
}),
!c
).join("/"), !a && !c && (a = "."), a && h && (a += "/"), (c ? "/" : "") + a;
}, "normalize"),
dirname: /* @__PURE__ */ s(function(a) {
var c = oA.splitPath(a), h = c[0], u = c[1];
return !h && !u ? "." : (u && (u = u.substr(0, u.length - 1)), h + u);
}, "dirname"),
basename: /* @__PURE__ */ s(function(a) {
if (a === "/") return "/";
a = oA.normalize(a), a = a.replace(/\/$/, "");
var c = a.lastIndexOf("/");
return c === -1 ? a : a.substr(c + 1);
}, "basename"),
extname: /* @__PURE__ */ s(function(a) {
return oA.splitPath(a)[3];
}, "extname"),
join: /* @__PURE__ */ s(function() {
var a = Array.prototype.slice.call(arguments, 0);
return oA.normalize(a.join("/"));
}, "join"),
join2: /* @__PURE__ */ s(function(a, c) {
return oA.normalize(a + "/" + c);
}, "join2")
};
function wK() {
if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") {
var a = new Uint8Array(1);
return function() {
return crypto.getRandomValues(a), a[0];
};
} else if (Q)
try {
var c = v("crypto");
return function() {
return c.randomBytes(1)[0];
};
} catch {
}
return function() {
NA("randomDevice");
};
}
s(wK, "getRandomDevice");
var st = {
resolve: /* @__PURE__ */ s(function() {
for (var a = "", c = !1, h = arguments.length - 1; h >= -1 && !c; h--) {
var u = h >= 0 ? arguments[h] : l.cwd();
if (typeof u != "string")
throw new TypeError("Arguments to path.resolve must be strings");
if (!u)
return "";
a = u + "/" + a, c = u.charAt(0) === "/";
}
return a = oA.normalizeArray(
a.split("/").filter(function(f) {
return !!f;
}),
!c
).join("/"), (c ? "/" : "") + a || ".";
}, "resolve"),
relative: /* @__PURE__ */ s(function(a, c) {
a = st.resolve(a).substr(1), c = st.resolve(c).substr(1);
function h(O) {
for (var H = 0; H < O.length && O[H] === ""; H++)
;
for (var iA = O.length - 1; iA >= 0 && O[iA] === ""; iA--)
;
return H > iA ? [] : O.slice(H, iA - H + 1);
}
s(h, "trim");
for (var u = h(a.split("/")), f = h(c.split("/")), d = Math.min(u.length, f.length), y = d, S = 0; S < d; S++)
if (u[S] !== f[S]) {
y = S;
break;
}
for (var R = [], S = y; S < u.length; S++)
R.push("..");
return R = R.concat(f.slice(y)), R.join("/");
}, "relative")
}, Ft = {
ttys: [],
init: /* @__PURE__ */ s(function() {
}, "init"),
shutdown: /* @__PURE__ */ s(function() {
}, "shutdown"),
register: /* @__PURE__ */ s(function(a, c) {
Ft.ttys[a] = { input: [], output: [], ops: c }, l.registerDevice(a, Ft.stream_ops);
}, "register"),
stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = Ft.ttys[a.node.rdev];
if (!c)
throw new l.ErrnoError(43);
a.tty = c, a.seekable = !1;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
a.tty.ops.flush(a.tty);
}, "close"),
flush: /* @__PURE__ */ s(function(a) {
a.tty.ops.flush(a.tty);
}, "flush"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!a.tty || !a.tty.ops.get_char)
throw new l.ErrnoError(60);
for (var d = 0, y = 0; y < u; y++) {
var S;
try {
S = a.tty.ops.get_char(a.tty);
} catch {
throw new l.ErrnoError(29);
}
if (S === void 0 && d === 0)
throw new l.ErrnoError(6);
if (S == null) break;
d++, c[h + y] = S;
}
return d && (a.node.timestamp = Date.now()), d;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!a.tty || !a.tty.ops.put_char)
throw new l.ErrnoError(60);
try {
for (var d = 0; d < u; d++)
a.tty.ops.put_char(a.tty, c[h + d]);
} catch {
throw new l.ErrnoError(29);
}
return u && (a.node.timestamp = Date.now()), d;
}, "write")
},
default_tty_ops: {
get_char: /* @__PURE__ */ s(function(a) {
if (!a.input.length) {
var c = null;
if (Q) {
var h = 256, u = Buffer.alloc ? Buffer.alloc(h) : new Buffer(h), f = 0;
try {
f = N.readSync(
process.stdin.fd,
u,
0,
h,
null
);
} catch (d) {
if (d.toString().includes("EOF")) f = 0;
else throw d;
}
f > 0 ? c = u.slice(0, f).toString("utf-8") : c = null;
} else typeof window < "u" && typeof window.prompt == "function" ? (c = window.prompt("Input: "), c !== null && (c += `
`)) : typeof readline == "function" && (c = readline(), c !== null && (c += `
`));
if (!c)
return null;
a.input = Bg(c, !0);
}
return a.input.shift();
}, "get_char"),
put_char: /* @__PURE__ */ s(function(a, c) {
c === null || c === 10 ? (_(JA(a.output, 0)), a.output = []) : c != 0 && a.output.push(c);
}, "put_char"),
flush: /* @__PURE__ */ s(function(a) {
a.output && a.output.length > 0 && (_(JA(a.output, 0)), a.output = []);
}, "flush")
},
default_tty1_ops: {
put_char: /* @__PURE__ */ s(function(a, c) {
c === null || c === 10 ? (L(JA(a.output, 0)), a.output = []) : c != 0 && a.output.push(c);
}, "put_char"),
flush: /* @__PURE__ */ s(function(a) {
a.output && a.output.length > 0 && (L(JA(a.output, 0)), a.output = []);
}, "flush")
}
};
function Eg(a) {
for (var c = U(a, 65536), h = cl(c); a < c; ) OA[h + a++] = 0;
return h;
}
s(Eg, "mmapAlloc");
var tA = {
ops_table: null,
mount: /* @__PURE__ */ s(function(a) {
return tA.createNode(null, "/", 16895, 0);
}, "mount"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
if (l.isBlkdev(h) || l.isFIFO(h))
throw new l.ErrnoError(63);
tA.ops_table || (tA.ops_table = {
dir: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr,
lookup: tA.node_ops.lookup,
mknod: tA.node_ops.mknod,
rename: tA.node_ops.rename,
unlink: tA.node_ops.unlink,
rmdir: tA.node_ops.rmdir,
readdir: tA.node_ops.readdir,
symlink: tA.node_ops.symlink
},
stream: { llseek: tA.stream_ops.llseek }
},
file: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr
},
stream: {
llseek: tA.stream_ops.llseek,
read: tA.stream_ops.read,
write: tA.stream_ops.write,
allocate: tA.stream_ops.allocate,
mmap: tA.stream_ops.mmap,
msync: tA.stream_ops.msync
}
},
link: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr,
readlink: tA.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr
},
stream: l.chrdev_stream_ops
}
});
var f = l.createNode(a, c, h, u);
return l.isDir(f.mode) ? (f.node_ops = tA.ops_table.dir.node, f.stream_ops = tA.ops_table.dir.stream, f.contents = {}) : l.isFile(
f.mode) ? (f.node_ops = tA.ops_table.file.node, f.stream_ops = tA.ops_table.file.stream, f.usedBytes = 0, f.contents = null) : l.isLink(
f.mode) ? (f.node_ops = tA.ops_table.link.node, f.stream_ops = tA.ops_table.link.stream) : l.isChrdev(f.mode) && (f.node_ops = tA.
ops_table.chrdev.node, f.stream_ops = tA.ops_table.chrdev.stream), f.timestamp = Date.now(), a && (a.contents[c] = f, a.timestamp =
f.timestamp), f;
}, "createNode"),
getFileDataAsTypedArray: /* @__PURE__ */ s(function(a) {
return a.contents ? a.contents.subarray ? a.contents.subarray(0, a.usedBytes) : new Uint8Array(a.contents) : new Uint8Array(0);
}, "getFileDataAsTypedArray"),
expandFileStorage: /* @__PURE__ */ s(function(a, c) {
var h = a.contents ? a.contents.length : 0;
if (!(h >= c)) {
var u = 1024 * 1024;
c = Math.max(
c,
h * (h < u ? 2 : 1.125) >>> 0
), h != 0 && (c = Math.max(c, 256));
var f = a.contents;
a.contents = new Uint8Array(c), a.usedBytes > 0 && a.contents.set(f.subarray(0, a.usedBytes), 0);
}
}, "expandFileStorage"),
resizeFileStorage: /* @__PURE__ */ s(function(a, c) {
if (a.usedBytes != c)
if (c == 0)
a.contents = null, a.usedBytes = 0;
else {
var h = a.contents;
a.contents = new Uint8Array(c), h && a.contents.set(
h.subarray(0, Math.min(c, a.usedBytes))
), a.usedBytes = c;
}
}, "resizeFileStorage"),
node_ops: {
getattr: /* @__PURE__ */ s(function(a) {
var c = {};
return c.dev = l.isChrdev(a.mode) ? a.id : 1, c.ino = a.id, c.mode = a.mode, c.nlink = 1, c.uid = 0, c.gid = 0, c.rdev = a.rdev,
l.isDir(a.mode) ? c.size = 4096 : l.isFile(a.mode) ? c.size = a.usedBytes : l.isLink(a.mode) ? c.size = a.link.length : c.size =
0, c.atime = new Date(a.timestamp), c.mtime = new Date(a.timestamp), c.ctime = new Date(a.timestamp), c.blksize = 4096, c.blocks =
Math.ceil(c.size / c.blksize), c;
}, "getattr"),
setattr: /* @__PURE__ */ s(function(a, c) {
c.mode !== void 0 && (a.mode = c.mode), c.timestamp !== void 0 && (a.timestamp = c.timestamp), c.size !== void 0 && tA.resizeFileStorage(
a, c.size);
}, "setattr"),
lookup: /* @__PURE__ */ s(function(a, c) {
throw l.genericErrors[44];
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h, u) {
return tA.createNode(a, c, h, u);
}, "mknod"),
rename: /* @__PURE__ */ s(function(a, c, h) {
if (l.isDir(a.mode)) {
var u;
try {
u = l.lookupNode(c, h);
} catch {
}
if (u)
for (var f in u.contents)
throw new l.ErrnoError(55);
}
delete a.parent.contents[a.name], a.parent.timestamp = Date.now(), a.name = h, c.contents[h] = a, c.timestamp = a.parent.timestamp,
a.parent = c;
}, "rename"),
unlink: /* @__PURE__ */ s(function(a, c) {
delete a.contents[c], a.timestamp = Date.now();
}, "unlink"),
rmdir: /* @__PURE__ */ s(function(a, c) {
var h = l.lookupNode(a, c);
for (var u in h.contents)
throw new l.ErrnoError(55);
delete a.contents[c], a.timestamp = Date.now();
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = [".", ".."];
for (var h in a.contents)
a.contents.hasOwnProperty(h) && c.push(h);
return c;
}, "readdir"),
symlink: /* @__PURE__ */ s(function(a, c, h) {
var u = tA.createNode(a, c, 41471, 0);
return u.link = h, u;
}, "symlink"),
readlink: /* @__PURE__ */ s(function(a) {
if (!l.isLink(a.mode))
throw new l.ErrnoError(28);
return a.link;
}, "readlink")
},
stream_ops: {
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = a.node.contents;
if (f >= a.node.usedBytes) return 0;
var y = Math.min(a.node.usedBytes - f, u);
if (y > 8 && d.subarray)
c.set(d.subarray(f, f + y), h);
else
for (var S = 0; S < y; S++)
c[h + S] = d[f + S];
return y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c.buffer === OA.buffer && (d = !1), !u) return 0;
var y = a.node;
if (y.timestamp = Date.now(), c.subarray && (!y.contents || y.contents.subarray)) {
if (d)
return y.contents = c.subarray(h, h + u), y.usedBytes = u, u;
if (y.usedBytes === 0 && f === 0)
return y.contents = c.slice(h, h + u), y.usedBytes = u, u;
if (f + u <= y.usedBytes)
return y.contents.set(
c.subarray(h, h + u),
f
), u;
}
if (tA.expandFileStorage(y, f + u), y.contents.subarray && c.subarray)
y.contents.set(
c.subarray(h, h + u),
f
);
else
for (var S = 0; S < u; S++)
y.contents[f + S] = c[h + S];
return y.usedBytes = Math.max(y.usedBytes, f + u), u;
}, "write"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
var u = c;
if (h === 1 ? u += a.position : h === 2 && l.isFile(a.node.mode) && (u += a.node.usedBytes), u < 0)
throw new l.ErrnoError(28);
return u;
}, "llseek"),
allocate: /* @__PURE__ */ s(function(a, c, h) {
tA.expandFileStorage(a.node, c + h), a.node.usedBytes = Math.max(
a.node.usedBytes,
c + h
);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c !== 0)
throw new l.ErrnoError(28);
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
var y, S, R = a.node.contents;
if (!(d & 2) && R.buffer === Kt)
S = !1, y = R.byteOffset;
else {
if ((u > 0 || u + h < R.length) && (R.subarray ? R = R.subarray(u, u + h) : R = Array.prototype.slice.call(
R,
u,
u + h
)), S = !0, y = Eg(h), !y)
throw new l.ErrnoError(48);
OA.set(R, y);
}
return { ptr: y, allocated: S };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
if (f & 2)
return 0;
var d = tA.stream_ops.write(
a,
c,
0,
u,
h,
!1
);
return 0;
}, "msync")
}
}, Qr = {
EPERM: 63,
ENOENT: 44,
ESRCH: 71,
EINTR: 27,
EIO: 29,
ENXIO: 60,
E2BIG: 1,
ENOEXEC: 45,
EBADF: 8,
ECHILD: 12,
EAGAIN: 6,
EWOULDBLOCK: 6,
ENOMEM: 48,
EACCES: 2,
EFAULT: 21,
ENOTBLK: 105,
EBUSY: 10,
EEXIST: 20,
EXDEV: 75,
ENODEV: 43,
ENOTDIR: 54,
EISDIR: 31,
EINVAL: 28,
ENFILE: 41,
EMFILE: 33,
ENOTTY: 59,
ETXTBSY: 74,
EFBIG: 22,
ENOSPC: 51,
ESPIPE: 70,
EROFS: 69,
EMLINK: 34,
EPIPE: 64,
EDOM: 18,
ERANGE: 68,
ENOMSG: 49,
EIDRM: 24,
ECHRNG: 106,
EL2NSYNC: 156,
EL3HLT: 107,
EL3RST: 108,
ELNRNG: 109,
EUNATCH: 110,
ENOCSI: 111,
EL2HLT: 112,
EDEADLK: 16,
ENOLCK: 46,
EBADE: 113,
EBADR: 114,
EXFULL: 115,
ENOANO: 104,
EBADRQC: 103,
EBADSLT: 102,
EDEADLOCK: 16,
EBFONT: 101,
ENOSTR: 100,
ENODATA: 116,
ETIME: 117,
ENOSR: 118,
ENONET: 119,
ENOPKG: 120,
EREMOTE: 121,
ENOLINK: 47,
EADV: 122,
ESRMNT: 123,
ECOMM: 124,
EPROTO: 65,
EMULTIHOP: 36,
EDOTDOT: 125,
EBADMSG: 9,
ENOTUNIQ: 126,
EBADFD: 127,
EREMCHG: 128,
ELIBACC: 129,
ELIBBAD: 130,
ELIBSCN: 131,
ELIBMAX: 132,
ELIBEXEC: 133,
ENOSYS: 52,
ENOTEMPTY: 55,
ENAMETOOLONG: 37,
ELOOP: 32,
EOPNOTSUPP: 138,
EPFNOSUPPORT: 139,
ECONNRESET: 15,
ENOBUFS: 42,
EAFNOSUPPORT: 5,
EPROTOTYPE: 67,
ENOTSOCK: 57,
ENOPROTOOPT: 50,
ESHUTDOWN: 140,
ECONNREFUSED: 14,
EADDRINUSE: 3,
ECONNABORTED: 13,
ENETUNREACH: 40,
ENETDOWN: 38,
ETIMEDOUT: 73,
EHOSTDOWN: 142,
EHOSTUNREACH: 23,
EINPROGRESS: 26,
EALREADY: 7,
EDESTADDRREQ: 17,
EMSGSIZE: 35,
EPROTONOSUPPORT: 66,
ESOCKTNOSUPPORT: 137,
EADDRNOTAVAIL: 4,
ENETRESET: 39,
EISCONN: 30,
ENOTCONN: 53,
ETOOMANYREFS: 141,
EUSERS: 136,
EDQUOT: 19,
ESTALE: 72,
ENOTSUP: 138,
ENOMEDIUM: 148,
EILSEQ: 25,
EOVERFLOW: 61,
ECANCELED: 11,
ENOTRECOVERABLE: 56,
EOWNERDEAD: 62,
ESTRPIPE: 135
}, Z = {
isWindows: !1,
staticInit: /* @__PURE__ */ s(function() {
Z.isWindows = !!process.platform.match(/^win/);
var a = { fs: rA.constants };
a.fs && (a = a.fs), Z.flagsForNodeMap = {
1024: a.O_APPEND,
64: a.O_CREAT,
128: a.O_EXCL,
256: a.O_NOCTTY,
0: a.O_RDONLY,
2: a.O_RDWR,
4096: a.O_SYNC,
512: a.O_TRUNC,
1: a.O_WRONLY
};
}, "staticInit"),
bufferFrom: /* @__PURE__ */ s(function(a) {
return Buffer.alloc ? Buffer.from(a) : new Buffer(a);
}, "bufferFrom"),
convertNodeCode: /* @__PURE__ */ s(function(a) {
var c = a.code;
return Qr[c];
}, "convertNodeCode"),
mount: /* @__PURE__ */ s(function(a) {
return Z.createNode(null, "/", Z.getMode(a.opts.root), 0);
}, "mount"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
if (!l.isDir(h) && !l.isFile(h) && !l.isLink(h))
throw new l.ErrnoError(28);
var f = l.createNode(a, c, h);
return f.node_ops = Z.node_ops, f.stream_ops = Z.stream_ops, f;
}, "createNode"),
getMode: /* @__PURE__ */ s(function(a) {
var c;
try {
c = rA.lstatSync(a), Z.isWindows && (c.mode = c.mode | (c.mode & 292) >> 2);
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
return c.mode;
}, "getMode"),
realPath: /* @__PURE__ */ s(function(a) {
for (var c = []; a.parent !== a; )
c.push(a.name), a = a.parent;
return c.push(a.mount.opts.root), c.reverse(), oA.join.apply(null, c);
}, "realPath"),
flagsForNode: /* @__PURE__ */ s(function(a) {
a &= -2097153, a &= -2049, a &= -32769, a &= -524289;
var c = 0;
for (var h in Z.flagsForNodeMap)
a & h && (c |= Z.flagsForNodeMap[h], a ^= h);
if (a)
throw new l.ErrnoError(28);
return c;
}, "flagsForNode"),
node_ops: {
getattr: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a), h;
try {
h = rA.lstatSync(c);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
return Z.isWindows && !h.blksize && (h.blksize = 4096), Z.isWindows && !h.blocks && (h.blocks = (h.size + h.blksize - 1) / h.blksize |
0), {
dev: h.dev,
ino: h.ino,
mode: h.mode,
nlink: h.nlink,
uid: h.uid,
gid: h.gid,
rdev: h.rdev,
size: h.size,
atime: h.atime,
mtime: h.mtime,
ctime: h.ctime,
blksize: h.blksize,
blocks: h.blocks
};
}, "getattr"),
setattr: /* @__PURE__ */ s(function(a, c) {
var h = Z.realPath(a);
try {
if (c.mode !== void 0 && (rA.chmodSync(h, c.mode), a.mode = c.mode), c.timestamp !== void 0) {
var u = new Date(c.timestamp);
rA.utimesSync(h, u, u);
}
c.size !== void 0 && rA.truncateSync(h, c.size);
} catch (f) {
throw f.code ? new l.ErrnoError(Z.convertNodeCode(f)) : f;
}
}, "setattr"),
lookup: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c), u = Z.getMode(h);
return Z.createNode(a, c, u);
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h, u) {
var f = Z.createNode(a, c, h, u), d = Z.realPath(f);
try {
l.isDir(f.mode) ? rA.mkdirSync(d, f.mode) : rA.writeFileSync(d, "", { mode: f.mode });
} catch (y) {
throw y.code ? new l.ErrnoError(Z.convertNodeCode(y)) : y;
}
return f;
}, "mknod"),
rename: /* @__PURE__ */ s(function(a, c, h) {
var u = Z.realPath(a), f = oA.join2(Z.realPath(c), h);
try {
rA.renameSync(u, f);
} catch (d) {
throw d.code ? new l.ErrnoError(Z.convertNodeCode(d)) : d;
}
a.name = h;
}, "rename"),
unlink: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c);
try {
rA.unlinkSync(h);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
}, "unlink"),
rmdir: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c);
try {
rA.rmdirSync(h);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a);
try {
return rA.readdirSync(c);
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "readdir"),
symlink: /* @__PURE__ */ s(function(a, c, h) {
var u = oA.join2(Z.realPath(a), c);
try {
rA.symlinkSync(h, u);
} catch (f) {
throw f.code ? new l.ErrnoError(Z.convertNodeCode(f)) : f;
}
}, "symlink"),
readlink: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a);
try {
return c = rA.readlinkSync(c), c = gl.relative(
gl.resolve(a.mount.opts.root),
c
), c;
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "readlink")
},
stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a.node);
try {
l.isFile(a.node.mode) && (a.nfd = rA.openSync(c, Z.flagsForNode(a.flags)));
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "open"),
close: /* @__PURE__ */ s(function(a) {
try {
l.isFile(a.node.mode) && a.nfd && rA.closeSync(a.nfd);
} catch (c) {
throw c.code ? new l.ErrnoError(Z.convertNodeCode(c)) : c;
}
}, "close"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (u === 0) return 0;
try {
return rA.readSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
try {
return rA.writeSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
}, "write"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
var u = c;
if (h === 1)
u += a.position;
else if (h === 2 && l.isFile(a.node.mode))
try {
var f = rA.fstatSync(a.nfd);
u += f.size;
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
if (u < 0)
throw new l.ErrnoError(28);
return u;
}, "llseek"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c !== 0)
throw new l.ErrnoError(28);
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
var y = Eg(h);
return Z.stream_ops.read(a, OA, y, h, u), { ptr: y, allocated: !0 };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
if (f & 2)
return 0;
var d = Z.stream_ops.write(
a,
c,
0,
u,
h,
!1
);
return 0;
}, "msync")
}
}, nl = {
lookupPath: /* @__PURE__ */ s(function(a) {
return { path: a, node: { mode: Z.getMode(a) } };
}, "lookupPath"),
createStandardStreams: /* @__PURE__ */ s(function() {
l.streams[0] = {
fd: 0,
nfd: 0,
position: 0,
path: "",
flags: 0,
tty: !0,
seekable: !1
};
for (var a = 1; a < 3; a++)
l.streams[a] = {
fd: a,
nfd: a,
position: 0,
path: "",
flags: 577,
tty: !0,
seekable: !1
};
}, "createStandardStreams"),
cwd: /* @__PURE__ */ s(function() {
return process.cwd();
}, "cwd"),
chdir: /* @__PURE__ */ s(function() {
process.chdir.apply(void 0, arguments);
}, "chdir"),
mknod: /* @__PURE__ */ s(function(a, c) {
l.isDir(a) ? rA.mkdirSync(a, c) : rA.writeFileSync(a, "", { mode: c });
}, "mknod"),
mkdir: /* @__PURE__ */ s(function() {
rA.mkdirSync.apply(void 0, arguments);
}, "mkdir"),
symlink: /* @__PURE__ */ s(function() {
rA.symlinkSync.apply(void 0, arguments);
}, "symlink"),
rename: /* @__PURE__ */ s(function() {
rA.renameSync.apply(void 0, arguments);
}, "rename"),
rmdir: /* @__PURE__ */ s(function() {
rA.rmdirSync.apply(void 0, arguments);
}, "rmdir"),
readdir: /* @__PURE__ */ s(function() {
rA.readdirSync.apply(void 0, arguments);
}, "readdir"),
unlink: /* @__PURE__ */ s(function() {
rA.unlinkSync.apply(void 0, arguments);
}, "unlink"),
readlink: /* @__PURE__ */ s(function() {
return rA.readlinkSync.apply(void 0, arguments);
}, "readlink"),
stat: /* @__PURE__ */ s(function() {
return rA.statSync.apply(void 0, arguments);
}, "stat"),
lstat: /* @__PURE__ */ s(function() {
return rA.lstatSync.apply(void 0, arguments);
}, "lstat"),
chmod: /* @__PURE__ */ s(function() {
rA.chmodSync.apply(void 0, arguments);
}, "chmod"),
fchmod: /* @__PURE__ */ s(function() {
rA.fchmodSync.apply(void 0, arguments);
}, "fchmod"),
chown: /* @__PURE__ */ s(function() {
rA.chownSync.apply(void 0, arguments);
}, "chown"),
fchown: /* @__PURE__ */ s(function() {
rA.fchownSync.apply(void 0, arguments);
}, "fchown"),
truncate: /* @__PURE__ */ s(function() {
rA.truncateSync.apply(void 0, arguments);
}, "truncate"),
ftruncate: /* @__PURE__ */ s(function(a, c) {
if (c < 0)
throw new l.ErrnoError(28);
rA.ftruncateSync.apply(void 0, arguments);
}, "ftruncate"),
utime: /* @__PURE__ */ s(function() {
rA.utimesSync.apply(void 0, arguments);
}, "utime"),
open: /* @__PURE__ */ s(function(a, c, h, u) {
typeof c == "string" && (c = fr.modeStringToFlags(c));
var f = rA.openSync(a, Z.flagsForNode(c), h), d = u ?? l.nextfd(f), y = {
fd: d,
nfd: f,
position: 0,
path: a,
flags: c,
seekable: !0
};
return l.streams[d] = y, y;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
a.stream_ops || rA.closeSync(a.nfd), l.closeStream(a.fd);
}, "close"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
if (a.stream_ops)
return fr.llseek(a, c, h);
var u = c;
if (h === 1)
u += a.position;
else if (h === 2)
u += rA.fstatSync(a.nfd).size;
else if (h !== 0)
throw new l.ErrnoError(Qr.EINVAL);
if (u < 0)
throw new l.ErrnoError(Qr.EINVAL);
return a.position = u, u;
}, "llseek"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a.stream_ops)
return fr.read(a, c, h, u, f);
var d = typeof f < "u";
!d && a.seekable && (f = a.position);
var y = rA.readSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
return d || (a.position += y), y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a.stream_ops)
return fr.write(a, c, h, u, f);
a.flags & 1024 && l.llseek(a, 0, 2);
var d = typeof f < "u";
!d && a.seekable && (f = a.position);
var y = rA.writeSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
return d || (a.position += y), y;
}, "write"),
allocate: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(Qr.EOPNOTSUPP);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (a.stream_ops)
return fr.mmap(a, c, h, u, f, d);
if (c !== 0)
throw new l.ErrnoError(28);
var y = Eg(h);
return l.read(a, OA, y, h, u), { ptr: y, allocated: !0 };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
return a.stream_ops ? fr.msync(a, c, h, u, f) : (f & 2 || l.write(a, c, 0, u, h), 0);
}, "msync"),
munmap: /* @__PURE__ */ s(function() {
return 0;
}, "munmap"),
ioctl: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(Qr.ENOTTY);
}, "ioctl")
}, l = {
root: null,
mounts: [],
devices: {},
streams: [],
nextInode: 1,
nameTable: null,
currentPath: "/",
initialized: !1,
ignorePermissions: !0,
trackingDelegate: {},
tracking: { openFlags: { READ: 1, WRITE: 2 } },
ErrnoError: null,
genericErrors: {},
filesystems: null,
syncFSRequests: 0,
lookupPath: /* @__PURE__ */ s(function(a, c) {
if (a = st.resolve(l.cwd(), a), c = c || {}, !a) return { path: "", node: null };
var h = { follow_mount: !0, recurse_count: 0 };
for (var u in h)
c[u] === void 0 && (c[u] = h[u]);
if (c.recurse_count > 8)
throw new l.ErrnoError(32);
for (var f = oA.normalizeArray(
a.split("/").filter(function(X) {
return !!X;
}),
!1
), d = l.root, y = "/", S = 0; S < f.length; S++) {
var R = S === f.length - 1;
if (R && c.parent)
break;
if (d = l.lookupNode(d, f[S]), y = oA.join2(y, f[S]), l.isMountpoint(d) && (!R || R && c.follow_mount) && (d = d.mounted.root), !R ||
c.follow)
for (var O = 0; l.isLink(d.mode); ) {
var H = l.readlink(y);
y = st.resolve(oA.dirname(y), H);
var iA = l.lookupPath(y, {
recurse_count: c.recurse_count
});
if (d = iA.node, O++ > 40)
throw new l.ErrnoError(32);
}
}
return { path: y, node: d };
}, "lookupPath"),
getPath: /* @__PURE__ */ s(function(a) {
for (var c; ; ) {
if (l.isRoot(a)) {
var h = a.mount.mountpoint;
return c ? h[h.length - 1] !== "/" ? h + "/" + c : h + c : h;
}
c = c ? a.name + "/" + c : a.name, a = a.parent;
}
}, "getPath"),
hashName: /* @__PURE__ */ s(function(a, c) {
for (var h = 0, u = 0; u < c.length; u++)
h = (h << 5) - h + c.charCodeAt(u) | 0;
return (a + h >>> 0) % l.nameTable.length;
}, "hashName"),
hashAddNode: /* @__PURE__ */ s(function(a) {
var c = l.hashName(a.parent.id, a.name);
a.name_next = l.nameTable[c], l.nameTable[c] = a;
}, "hashAddNode"),
hashRemoveNode: /* @__PURE__ */ s(function(a) {
var c = l.hashName(a.parent.id, a.name);
if (l.nameTable[c] === a)
l.nameTable[c] = a.name_next;
else
for (var h = l.nameTable[c]; h; ) {
if (h.name_next === a) {
h.name_next = a.name_next;
break;
}
h = h.name_next;
}
}, "hashRemoveNode"),
lookupNode: /* @__PURE__ */ s(function(a, c) {
var h = l.mayLookup(a);
if (h)
throw new l.ErrnoError(h, a);
for (var u = l.hashName(a.id, c), f = l.nameTable[u]; f; f = f.name_next) {
var d = f.name;
if (f.parent.id === a.id && d === c)
return f;
}
return l.lookup(a, c);
}, "lookupNode"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
var f = new l.FSNode(a, c, h, u);
return l.hashAddNode(f), f;
}, "createNode"),
destroyNode: /* @__PURE__ */ s(function(a) {
l.hashRemoveNode(a);
}, "destroyNode"),
isRoot: /* @__PURE__ */ s(function(a) {
return a === a.parent;
}, "isRoot"),
isMountpoint: /* @__PURE__ */ s(function(a) {
return !!a.mounted;
}, "isMountpoint"),
isFile: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 32768;
}, "isFile"),
isDir: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 16384;
}, "isDir"),
isLink: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 40960;
}, "isLink"),
isChrdev: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 8192;
}, "isChrdev"),
isBlkdev: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 24576;
}, "isBlkdev"),
isFIFO: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 4096;
}, "isFIFO"),
isSocket: /* @__PURE__ */ s(function(a) {
return (a & 49152) === 49152;
}, "isSocket"),
flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 },
modeStringToFlags: /* @__PURE__ */ s(function(a) {
var c = l.flagModes[a];
if (typeof c > "u")
throw new Error("Unknown file open mode: " + a);
return c;
}, "modeStringToFlags"),
flagsToPermissionString: /* @__PURE__ */ s(function(a) {
var c = ["r", "w", "rw"][a & 3];
return a & 512 && (c += "w"), c;
}, "flagsToPermissionString"),
nodePermissions: /* @__PURE__ */ s(function(a, c) {
return l.ignorePermissions ? 0 : c.includes("r") && !(a.mode & 292) || c.includes("w") && !(a.mode & 146) || c.includes("x") && !(a.
mode & 73) ? 2 : 0;
}, "nodePermissions"),
mayLookup: /* @__PURE__ */ s(function(a) {
var c = l.nodePermissions(a, "x");
return c || (a.node_ops.lookup ? 0 : 2);
}, "mayLookup"),
mayCreate: /* @__PURE__ */ s(function(a, c) {
try {
var h = l.lookupNode(a, c);
return 20;
} catch {
}
return l.nodePermissions(a, "wx");
}, "mayCreate"),
mayDelete: /* @__PURE__ */ s(function(a, c, h) {
var u;
try {
u = l.lookupNode(a, c);
} catch (d) {
return d.errno;
}
var f = l.nodePermissions(a, "wx");
if (f)
return f;
if (h) {
if (!l.isDir(u.mode))
return 54;
if (l.isRoot(u) || l.getPath(u) === l.cwd())
return 10;
} else if (l.isDir(u.mode))
return 31;
return 0;
}, "mayDelete"),
mayOpen: /* @__PURE__ */ s(function(a, c) {
return a ? l.isLink(a.mode) ? 32 : l.isDir(a.mode) && (l.flagsToPermissionString(c) !== "r" || c & 512) ? 31 : l.nodePermissions(a,
l.flagsToPermissionString(c)) : 44;
}, "mayOpen"),
MAX_OPEN_FDS: 4096,
nextfd: /* @__PURE__ */ s(function(a, c) {
a = a || 0, c = c || l.MAX_OPEN_FDS;
for (var h = a; h <= c; h++)
if (!l.streams[h])
return h;
throw new l.ErrnoError(33);
}, "nextfd"),
getStream: /* @__PURE__ */ s(function(a) {
return l.streams[a];
}, "getStream"),
createStream: /* @__PURE__ */ s(function(a, c, h) {
l.FSStream || (l.FSStream = function() {
}, l.FSStream.prototype = {
object: {
get: /* @__PURE__ */ s(function() {
return this.node;
}, "get"),
set: /* @__PURE__ */ s(function(y) {
this.node = y;
}, "set")
},
isRead: {
get: /* @__PURE__ */ s(function() {
return (this.flags & 2097155) !== 1;
}, "get")
},
isWrite: {
get: /* @__PURE__ */ s(function() {
return (this.flags & 2097155) !== 0;
}, "get")
},
isAppend: {
get: /* @__PURE__ */ s(function() {
return this.flags & 1024;
}, "get")
}
});
var u = new l.FSStream();
for (var f in a)
u[f] = a[f];
a = u;
var d = l.nextfd(c, h);
return a.fd = d, l.streams[d] = a, a;
}, "createStream"),
closeStream: /* @__PURE__ */ s(function(a) {
l.streams[a] = null;
}, "closeStream"),
chrdev_stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = l.getDevice(a.node.rdev);
a.stream_ops = c.stream_ops, a.stream_ops.open && a.stream_ops.open(a);
}, "open"),
llseek: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(70);
}, "llseek")
},
major: /* @__PURE__ */ s(function(a) {
return a >> 8;
}, "major"),
minor: /* @__PURE__ */ s(function(a) {
return a & 255;
}, "minor"),
makedev: /* @__PURE__ */ s(function(a, c) {
return a << 8 | c;
}, "makedev"),
registerDevice: /* @__PURE__ */ s(function(a, c) {
l.devices[a] = { stream_ops: c };
}, "registerDevice"),
getDevice: /* @__PURE__ */ s(function(a) {
return l.devices[a];
}, "getDevice"),
getMounts: /* @__PURE__ */ s(function(a) {
for (var c = [], h = [a]; h.length; ) {
var u = h.pop();
c.push(u), h.push.apply(h, u.mounts);
}
return c;
}, "getMounts"),
syncfs: /* @__PURE__ */ s(function(a, c) {
typeof a == "function" && (c = a, a = !1), l.syncFSRequests++, l.syncFSRequests > 1 && L(
"warning: " + l.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"
);
var h = l.getMounts(l.root.mount), u = 0;
function f(y) {
return l.syncFSRequests--, c(y);
}
s(f, "doCallback");
function d(y) {
if (y)
return d.errored ? void 0 : (d.errored = !0, f(y));
++u >= h.length && f(null);
}
s(d, "done"), h.forEach(function(y) {
if (!y.type.syncfs)
return d(null);
y.type.syncfs(y, a, d);
});
}, "syncfs"),
mount: /* @__PURE__ */ s(function(a, c, h) {
var u = h === "/", f = !h, d;
if (u && l.root)
throw new l.ErrnoError(10);
if (!u && !f) {
var y = l.lookupPath(h, { follow_mount: !1 });
if (h = y.path, d = y.node, l.isMountpoint(d))
throw new l.ErrnoError(10);
if (!l.isDir(d.mode))
throw new l.ErrnoError(54);
}
var S = {
type: a,
opts: c,
mountpoint: h,
mounts: []
}, R = a.mount(S);
return R.mount = S, S.root = R, u ? l.root = R : d && (d.mounted = S, d.mount && d.mount.mounts.push(S)), R;
}, "mount"),
unmount: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow_mount: !1 });
if (!l.isMountpoint(c.node))
throw new l.ErrnoError(28);
var h = c.node, u = h.mounted, f = l.getMounts(u);
Object.keys(l.nameTable).forEach(function(y) {
for (var S = l.nameTable[y]; S; ) {
var R = S.name_next;
f.includes(S.mount) && l.destroyNode(S), S = R;
}
}), h.mounted = null;
var d = h.mount.mounts.indexOf(u);
h.mount.mounts.splice(d, 1);
}, "unmount"),
lookup: /* @__PURE__ */ s(function(a, c) {
return a.node_ops.lookup(a, c);
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h) {
var u = l.lookupPath(a, { parent: !0 }), f = u.node, d = oA.basename(a);
if (!d || d === "." || d === "..")
throw new l.ErrnoError(28);
var y = l.mayCreate(f, d);
if (y)
throw new l.ErrnoError(y);
if (!f.node_ops.mknod)
throw new l.ErrnoError(63);
return f.node_ops.mknod(f, d, c, h);
}, "mknod"),
create: /* @__PURE__ */ s(function(a, c) {
return c = c !== void 0 ? c : 438, c &= 4095, c |= 32768, l.mknod(a, c, 0);
}, "create"),
mkdir: /* @__PURE__ */ s(function(a, c) {
return c = c !== void 0 ? c : 511, c &= 1023, c |= 16384, l.mknod(a, c, 0);
}, "mkdir"),
mkdirTree: /* @__PURE__ */ s(function(a, c) {
for (var h = a.split("/"), u = "", f = 0; f < h.length; ++f)
if (h[f]) {
u += "/" + h[f];
try {
l.mkdir(u, c);
} catch (d) {
if (d.errno != 20) throw d;
}
}
}, "mkdirTree"),
mkdev: /* @__PURE__ */ s(function(a, c, h) {
return typeof h > "u" && (h = c, c = 438), c |= 8192, l.mknod(a, c, h);
}, "mkdev"),
symlink: /* @__PURE__ */ s(function(a, c) {
if (!st.resolve(a))
throw new l.ErrnoError(44);
var h = l.lookupPath(c, { parent: !0 }), u = h.node;
if (!u)
throw new l.ErrnoError(44);
var f = oA.basename(c), d = l.mayCreate(u, f);
if (d)
throw new l.ErrnoError(d);
if (!u.node_ops.symlink)
throw new l.ErrnoError(63);
return u.node_ops.symlink(u, f, a);
}, "symlink"),
rename: /* @__PURE__ */ s(function(a, c) {
var h = oA.dirname(a), u = oA.dirname(c), f = oA.basename(a), d = oA.basename(c), y, S, R;
if (y = l.lookupPath(a, { parent: !0 }), S = y.node, y = l.lookupPath(c, { parent: !0 }), R = y.node, !S || !R) throw new l.ErrnoError(
44);
if (S.mount !== R.mount)
throw new l.ErrnoError(75);
var O = l.lookupNode(S, f), H = st.relative(a, u);
if (H.charAt(0) !== ".")
throw new l.ErrnoError(28);
if (H = st.relative(c, h), H.charAt(0) !== ".")
throw new l.ErrnoError(55);
var iA;
try {
iA = l.lookupNode(R, d);
} catch {
}
if (O !== iA) {
var X = l.isDir(O.mode), j = l.mayDelete(S, f, X);
if (j)
throw new l.ErrnoError(j);
if (j = iA ? l.mayDelete(R, d, X) : l.mayCreate(R, d), j)
throw new l.ErrnoError(j);
if (!S.node_ops.rename)
throw new l.ErrnoError(63);
if (l.isMountpoint(O) || iA && l.isMountpoint(iA))
throw new l.ErrnoError(10);
if (R !== S && (j = l.nodePermissions(S, "w"), j))
throw new l.ErrnoError(j);
try {
l.trackingDelegate.willMovePath && l.trackingDelegate.willMovePath(a, c);
} catch (sA) {
L(
"FS.trackingDelegate['willMovePath']('" + a + "', '" + c + "') threw an exception: " + sA.message
);
}
l.hashRemoveNode(O);
try {
S.node_ops.rename(O, R, d);
} catch (sA) {
throw sA;
} finally {
l.hashAddNode(O);
}
try {
l.trackingDelegate.onMovePath && l.trackingDelegate.onMovePath(a, c);
} catch (sA) {
L(
"FS.trackingDelegate['onMovePath']('" + a + "', '" + c + "') threw an exception: " + sA.message
);
}
}
}, "rename"),
rmdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { parent: !0 }), h = c.node, u = oA.basename(a), f = l.lookupNode(h, u), d = l.mayDelete(h, u, !0);
if (d)
throw new l.ErrnoError(d);
if (!h.node_ops.rmdir)
throw new l.ErrnoError(63);
if (l.isMountpoint(f))
throw new l.ErrnoError(10);
try {
l.trackingDelegate.willDeletePath && l.trackingDelegate.willDeletePath(a);
} catch (y) {
L(
"FS.trackingDelegate['willDeletePath']('" + a + "') threw an exception: " + y.message
);
}
h.node_ops.rmdir(h, u), l.destroyNode(f);
try {
l.trackingDelegate.onDeletePath && l.trackingDelegate.onDeletePath(a);
} catch (y) {
L(
"FS.trackingDelegate['onDeletePath']('" + a + "') threw an exception: " + y.message
);
}
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow: !0 }), h = c.node;
if (!h.node_ops.readdir)
throw new l.ErrnoError(54);
return h.node_ops.readdir(h);
}, "readdir"),
unlink: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { parent: !0 }), h = c.node, u = oA.basename(a), f = l.lookupNode(h, u), d = l.mayDelete(h, u, !1);
if (d)
throw new l.ErrnoError(d);
if (!h.node_ops.unlink)
throw new l.ErrnoError(63);
if (l.isMountpoint(f))
throw new l.ErrnoError(10);
try {
l.trackingDelegate.willDeletePath && l.trackingDelegate.willDeletePath(a);
} catch (y) {
L(
"FS.trackingDelegate['willDeletePath']('" + a + "') threw an exception: " + y.message
);
}
h.node_ops.unlink(h, u), l.destroyNode(f);
try {
l.trackingDelegate.onDeletePath && l.trackingDelegate.onDeletePath(a);
} catch (y) {
L(
"FS.trackingDelegate['onDeletePath']('" + a + "') threw an exception: " + y.message
);
}
}, "unlink"),
readlink: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a), h = c.node;
if (!h)
throw new l.ErrnoError(44);
if (!h.node_ops.readlink)
throw new l.ErrnoError(28);
return st.resolve(
l.getPath(h.parent),
h.node_ops.readlink(h)
);
}, "readlink"),
stat: /* @__PURE__ */ s(function(a, c) {
var h = l.lookupPath(a, { follow: !c }), u = h.node;
if (!u)
throw new l.ErrnoError(44);
if (!u.node_ops.getattr)
throw new l.ErrnoError(63);
return u.node_ops.getattr(u);
}, "stat"),
lstat: /* @__PURE__ */ s(function(a) {
return l.stat(a, !0);
}, "lstat"),
chmod: /* @__PURE__ */ s(function(a, c, h) {
var u;
if (typeof a == "string") {
var f = l.lookupPath(a, { follow: !h });
u = f.node;
} else
u = a;
if (!u.node_ops.setattr)
throw new l.ErrnoError(63);
u.node_ops.setattr(u, {
mode: c & 4095 | u.mode & -4096,
timestamp: Date.now()
});
}, "chmod"),
lchmod: /* @__PURE__ */ s(function(a, c) {
l.chmod(a, c, !0);
}, "lchmod"),
fchmod: /* @__PURE__ */ s(function(a, c) {
var h = l.getStream(a);
if (!h)
throw new l.ErrnoError(8);
l.chmod(h.node, c);
}, "fchmod"),
chown: /* @__PURE__ */ s(function(a, c, h, u) {
var f;
if (typeof a == "string") {
var d = l.lookupPath(a, { follow: !u });
f = d.node;
} else
f = a;
if (!f.node_ops.setattr)
throw new l.ErrnoError(63);
f.node_ops.setattr(f, { timestamp: Date.now() });
}, "chown"),
lchown: /* @__PURE__ */ s(function(a, c, h) {
l.chown(a, c, h, !0);
}, "lchown"),
fchown: /* @__PURE__ */ s(function(a, c, h) {
var u = l.getStream(a);
if (!u)
throw new l.ErrnoError(8);
l.chown(u.node, c, h);
}, "fchown"),
truncate: /* @__PURE__ */ s(function(a, c) {
if (c < 0)
throw new l.ErrnoError(28);
var h;
if (typeof a == "string") {
var u = l.lookupPath(a, { follow: !0 });
h = u.node;
} else
h = a;
if (!h.node_ops.setattr)
throw new l.ErrnoError(63);
if (l.isDir(h.mode))
throw new l.ErrnoError(31);
if (!l.isFile(h.mode))
throw new l.ErrnoError(28);
var f = l.nodePermissions(h, "w");
if (f)
throw new l.ErrnoError(f);
h.node_ops.setattr(h, { size: c, timestamp: Date.now() });
}, "truncate"),
ftruncate: /* @__PURE__ */ s(function(a, c) {
var h = l.getStream(a);
if (!h)
throw new l.ErrnoError(8);
if ((h.flags & 2097155) === 0)
throw new l.ErrnoError(28);
l.truncate(h.node, c);
}, "ftruncate"),
utime: /* @__PURE__ */ s(function(a, c, h) {
var u = l.lookupPath(a, { follow: !0 }), f = u.node;
f.node_ops.setattr(f, { timestamp: Math.max(c, h) });
}, "utime"),
open: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a === "")
throw new l.ErrnoError(44);
c = typeof c == "string" ? l.modeStringToFlags(c) : c, h = typeof h > "u" ? 438 : h, c & 64 ? h = h & 4095 | 32768 : h = 0;
var d;
if (typeof a == "object")
d = a;
else {
a = oA.normalize(a);
try {
var y = l.lookupPath(a, { follow: !(c & 131072) });
d = y.node;
} catch {
}
}
var S = !1;
if (c & 64)
if (d) {
if (c & 128)
throw new l.ErrnoError(20);
} else
d = l.mknod(a, h, 0), S = !0;
if (!d)
throw new l.ErrnoError(44);
if (l.isChrdev(d.mode) && (c &= -513), c & 65536 && !l.isDir(d.mode))
throw new l.ErrnoError(54);
if (!S) {
var R = l.mayOpen(d, c);
if (R)
throw new l.ErrnoError(R);
}
c & 512 && l.truncate(d, 0), c &= -131713;
var O = l.createStream(
{
node: d,
path: l.getPath(d),
flags: c,
seekable: !0,
position: 0,
stream_ops: d.stream_ops,
ungotten: [],
error: !1
},
u,
f
);
O.stream_ops.open && O.stream_ops.open(O), e.logReadFiles && !(c & 1) && (l.readFiles || (l.readFiles = {}), a in l.readFiles || (l.
readFiles[a] = 1, L("FS.trackingDelegate error on read file: " + a)));
try {
if (l.trackingDelegate.onOpenFile) {
var H = 0;
(c & 2097155) !== 1 && (H |= l.tracking.openFlags.READ), (c & 2097155) !== 0 && (H |= l.tracking.openFlags.WRITE), l.trackingDelegate.
onOpenFile(a, H);
}
} catch (iA) {
L(
"FS.trackingDelegate['onOpenFile']('" + a + "', flags) threw an exception: " + iA.message
);
}
return O;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
a.getdents && (a.getdents = null);
try {
a.stream_ops.close && a.stream_ops.close(a);
} catch (c) {
throw c;
} finally {
l.closeStream(a.fd);
}
a.fd = null;
}, "close"),
isClosed: /* @__PURE__ */ s(function(a) {
return a.fd === null;
}, "isClosed"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
if (!a.seekable || !a.stream_ops.llseek)
throw new l.ErrnoError(70);
if (h != 0 && h != 1 && h != 2)
throw new l.ErrnoError(28);
return a.position = a.stream_ops.llseek(a, c, h), a.ungotten = [], a.position;
}, "llseek"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (u < 0 || f < 0)
throw new l.ErrnoError(28);
if (l.isClosed(a))
throw new l.ErrnoError(8);
if ((a.flags & 2097155) === 1)
throw new l.ErrnoError(8);
if (l.isDir(a.node.mode))
throw new l.ErrnoError(31);
if (!a.stream_ops.read)
throw new l.ErrnoError(28);
var d = typeof f < "u";
if (!d)
f = a.position;
else if (!a.seekable)
throw new l.ErrnoError(70);
var y = a.stream_ops.read(
a,
c,
h,
u,
f
);
return d || (a.position += y), y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (u < 0 || f < 0)
throw new l.ErrnoError(28);
if (l.isClosed(a))
throw new l.ErrnoError(8);
if ((a.flags & 2097155) === 0)
throw new l.ErrnoError(8);
if (l.isDir(a.node.mode))
throw new l.ErrnoError(31);
if (!a.stream_ops.write)
throw new l.ErrnoError(28);
a.seekable && a.flags & 1024 && l.llseek(a, 0, 2);
var y = typeof f < "u";
if (!y)
f = a.position;
else if (!a.seekable)
throw new l.ErrnoError(70);
var S = a.stream_ops.write(
a,
c,
h,
u,
f,
d
);
y || (a.position += S);
try {
a.path && l.trackingDelegate.onWriteToFile && l.trackingDelegate.onWriteToFile(a.path);
} catch (R) {
L(
"FS.trackingDelegate['onWriteToFile']('" + a.path + "') threw an exception: " + R.message
);
}
return S;
}, "write"),
allocate: /* @__PURE__ */ s(function(a, c, h) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
if (c < 0 || h <= 0)
throw new l.ErrnoError(28);
if ((a.flags & 2097155) === 0)
throw new l.ErrnoError(8);
if (!l.isFile(a.node.mode) && !l.isDir(a.node.mode))
throw new l.ErrnoError(43);
if (!a.stream_ops.allocate)
throw new l.ErrnoError(138);
a.stream_ops.allocate(a, c, h);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if ((f & 2) !== 0 && (d & 2) === 0 && (a.flags & 2097155) !== 2)
throw new l.ErrnoError(2);
if ((a.flags & 2097155) === 1)
throw new l.ErrnoError(2);
if (!a.stream_ops.mmap)
throw new l.ErrnoError(43);
return a.stream_ops.mmap(
a,
c,
h,
u,
f,
d
);
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
return !a || !a.stream_ops.msync ? 0 : a.stream_ops.msync(
a,
c,
h,
u,
f
);
}, "msync"),
munmap: /* @__PURE__ */ s(function(a) {
return 0;
}, "munmap"),
ioctl: /* @__PURE__ */ s(function(a, c, h) {
if (!a.stream_ops.ioctl)
throw new l.ErrnoError(59);
return a.stream_ops.ioctl(a, c, h);
}, "ioctl"),
readFile: /* @__PURE__ */ s(function(a, c) {
if (c = c || {}, c.flags = c.flags || 0, c.encoding = c.encoding || "binary", c.encoding !== "utf8" && c.encoding !== "binary")
throw new Error('Invalid encoding type "' + c.encoding + '"');
var h, u = l.open(a, c.flags), f = l.stat(a), d = f.size, y = new Uint8Array(d);
return l.read(u, y, 0, d, 0), c.encoding === "utf8" ? h = JA(y, 0) : c.encoding === "binary" && (h = y), l.close(u), h;
}, "readFile"),
writeFile: /* @__PURE__ */ s(function(a, c, h) {
h = h || {}, h.flags = h.flags || 577;
var u = l.open(a, h.flags, h.mode);
if (typeof c == "string") {
var f = new Uint8Array(ur(c) + 1), d = LA(c, f, 0, f.length);
l.write(u, f, 0, d, void 0, h.canOwn);
} else if (ArrayBuffer.isView(c))
l.write(u, c, 0, c.byteLength, void 0, h.canOwn);
else
throw new Error("Unsupported data type");
l.close(u);
}, "writeFile"),
cwd: /* @__PURE__ */ s(function() {
return l.currentPath;
}, "cwd"),
chdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow: !0 });
if (c.node === null)
throw new l.ErrnoError(44);
if (!l.isDir(c.node.mode))
throw new l.ErrnoError(54);
var h = l.nodePermissions(c.node, "x");
if (h)
throw new l.ErrnoError(h);
l.currentPath = c.path;
}, "chdir"),
createDefaultDirectories: /* @__PURE__ */ s(function() {
l.mkdir("/tmp"), l.mkdir("/home"), l.mkdir("/home/web_user");
}, "createDefaultDirectories"),
createDefaultDevices: /* @__PURE__ */ s(function() {
l.mkdir("/dev"), l.registerDevice(l.makedev(1, 3), {
read: /* @__PURE__ */ s(function() {
return 0;
}, "read"),
write: /* @__PURE__ */ s(function(c, h, u, f, d) {
return f;
}, "write")
}), l.mkdev("/dev/null", l.makedev(1, 3)), Ft.register(l.makedev(5, 0), Ft.default_tty_ops), Ft.register(l.makedev(6, 0), Ft.default_tty1_ops),
l.mkdev("/dev/tty", l.makedev(5, 0)), l.mkdev("/dev/tty1", l.makedev(6, 0));
var a = wK();
l.createDevice("/dev", "random", a), l.createDevice("/dev", "urandom", a), l.mkdir("/dev/shm"), l.mkdir("/dev/shm/tmp");
}, "createDefaultDevices"),
createSpecialDirectories: /* @__PURE__ */ s(function() {
l.mkdir("/proc");
var a = l.mkdir("/proc/self");
l.mkdir("/proc/self/fd"), l.mount(
{
mount: /* @__PURE__ */ s(function() {
var c = l.createNode(a, "fd", 16895, 73);
return c.node_ops = {
lookup: /* @__PURE__ */ s(function(h, u) {
var f = +u, d = l.getStream(f);
if (!d) throw new l.ErrnoError(8);
var y = {
parent: null,
mount: { mountpoint: "fake" },
node_ops: {
readlink: /* @__PURE__ */ s(function() {
return d.path;
}, "readlink")
}
};
return y.parent = y, y;
}, "lookup")
}, c;
}, "mount")
},
{},
"/proc/self/fd"
);
}, "createSpecialDirectories"),
createStandardStreams: /* @__PURE__ */ s(function() {
e.stdin ? l.createDevice("/dev", "stdin", e.stdin) : l.symlink("/dev/tty", "/dev/stdin"), e.stdout ? l.createDevice("/dev", "stdou\
t", null, e.stdout) : l.symlink("/dev/tty", "/dev/stdout"), e.stderr ? l.createDevice("/dev", "stderr", null, e.stderr) : l.symlink("/dev/tt\
y1", "/dev/stderr");
var a = l.open("/dev/stdin", 0), c = l.open("/dev/stdout", 1), h = l.open("/dev/stderr", 1);
}, "createStandardStreams"),
ensureErrnoError: /* @__PURE__ */ s(function() {
l.ErrnoError || (l.ErrnoError = /* @__PURE__ */ s(function(c, h) {
this.node = h, this.setErrno = function(u) {
this.errno = u;
}, this.setErrno(c), this.message = "FS error";
}, "ErrnoError"), l.ErrnoError.prototype = new Error(), l.ErrnoError.prototype.constructor = l.ErrnoError, [44].forEach(function(a) {
l.genericErrors[a] = new l.ErrnoError(a), l.genericErrors[a].stack = "<generic error, no stack>";
}));
}, "ensureErrnoError"),
staticInit: /* @__PURE__ */ s(function() {
l.ensureErrnoError(), l.nameTable = new Array(4096), l.mount(tA, {}, "/"), l.createDefaultDirectories(), l.createDefaultDevices(),
l.createSpecialDirectories(), l.filesystems = { MEMFS: tA, NODEFS: Z };
}, "staticInit"),
init: /* @__PURE__ */ s(function(a, c, h) {
l.init.initialized = !0, l.ensureErrnoError(), e.stdin = a || e.stdin, e.stdout = c || e.stdout, e.stderr = h || e.stderr, l.createStandardStreams();
}, "init"),
quit: /* @__PURE__ */ s(function() {
l.init.initialized = !1;
var a = e._fflush;
a && a(0);
for (var c = 0; c < l.streams.length; c++) {
var h = l.streams[c];
h && l.close(h);
}
}, "quit"),
getMode: /* @__PURE__ */ s(function(a, c) {
var h = 0;
return a && (h |= 365), c && (h |= 146), h;
}, "getMode"),
findObject: /* @__PURE__ */ s(function(a, c) {
var h = l.analyzePath(a, c);
return h.exists ? h.object : null;
}, "findObject"),
analyzePath: /* @__PURE__ */ s(function(a, c) {
try {
var h = l.lookupPath(a, { follow: !c });
a = h.path;
} catch {
}
var u = {
isRoot: !1,
exists: !1,
error: 0,
name: null,
path: null,
object: null,
parentExists: !1,
parentPath: null,
parentObject: null
};
try {
var h = l.lookupPath(a, { parent: !0 });
u.parentExists = !0, u.parentPath = h.path, u.parentObject = h.node, u.name = oA.basename(a), h = l.lookupPath(a, { follow: !c }),
u.exists = !0, u.path = h.path, u.object = h.node, u.name = h.node.name, u.isRoot = h.path === "/";
} catch (f) {
u.error = f.errno;
}
return u;
}, "analyzePath"),
createPath: /* @__PURE__ */ s(function(a, c, h, u) {
a = typeof a == "string" ? a : l.getPath(a);
for (var f = c.split("/").reverse(); f.length; ) {
var d = f.pop();
if (d) {
var y = oA.join2(a, d);
try {
l.mkdir(y);
} catch {
}
a = y;
}
}
return y;
}, "createPath"),
createFile: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
), y = l.getMode(u, f);
return l.create(d, y);
}, "createFile"),
createDataFile: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
var y = c ? oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
) : a, S = l.getMode(u, f), R = l.create(y, S);
if (h) {
if (typeof h == "string") {
for (var O = new Array(h.length), H = 0, iA = h.length; H < iA; ++H)
O[H] = h.charCodeAt(H);
h = O;
}
l.chmod(R, S | 146);
var X = l.open(R, 577);
l.write(X, h, 0, h.length, 0, d), l.close(X), l.chmod(R, S);
}
return R;
}, "createDataFile"),
createDevice: /* @__PURE__ */ s(function(a, c, h, u) {
var f = oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
), d = l.getMode(!!h, !!u);
l.createDevice.major || (l.createDevice.major = 64);
var y = l.makedev(l.createDevice.major++, 0);
return l.registerDevice(y, {
open: /* @__PURE__ */ s(function(S) {
S.seekable = !1;
}, "open"),
close: /* @__PURE__ */ s(function(S) {
u && u.buffer && u.buffer.length && u(10);
}, "close"),
read: /* @__PURE__ */ s(function(S, R, O, H, iA) {
for (var X = 0, j = 0; j < H; j++) {
var sA;
try {
sA = h();
} catch {
throw new l.ErrnoError(29);
}
if (sA === void 0 && X === 0)
throw new l.ErrnoError(6);
if (sA == null) break;
X++, R[O + j] = sA;
}
return X && (S.node.timestamp = Date.now()), X;
}, "read"),
write: /* @__PURE__ */ s(function(S, R, O, H, iA) {
for (var X = 0; X < H; X++)
try {
u(R[O + X]);
} catch {
throw new l.ErrnoError(29);
}
return H && (S.node.timestamp = Date.now()), X;
}, "write")
}), l.mkdev(f, d, y);
}, "createDevice"),
forceLoadFile: /* @__PURE__ */ s(function(a) {
if (a.isDevice || a.isFolder || a.link || a.contents)
return !0;
if (typeof XMLHttpRequest < "u")
throw new Error(
"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web work\
ers. Use --embed-file or --preload-file in emcc on the main thread."
);
if (w)
try {
a.contents = Bg(w(a.url), !0), a.usedBytes = a.contents.length;
} catch {
throw new l.ErrnoError(29);
}
else
throw new Error("Cannot load without read() or XMLHttpRequest.");
}, "forceLoadFile"),
createLazyFile: /* @__PURE__ */ s(function(a, c, h, u, f) {
function d() {
this.lengthKnown = !1, this.chunks = [];
}
if (s(d, "LazyUint8Array"), d.prototype.get = /* @__PURE__ */ s(function(X) {
if (!(X > this.length - 1 || X < 0)) {
var j = X % this.chunkSize, sA = X / this.chunkSize | 0;
return this.getter(sA)[j];
}
}, "LazyUint8Array_get"), d.prototype.setDataGetter = /* @__PURE__ */ s(function(X) {
this.getter = X;
}, "LazyUint8Array_setDataGetter"), d.prototype.cacheLength = /* @__PURE__ */ s(function() {
var X = new XMLHttpRequest();
if (X.open("HEAD", h, !1), X.send(null), !(X.status >= 200 && X.status < 300 || X.status === 304))
throw new Error("Couldn't load " + h + ". Status: " + X.status);
var j = Number(X.getResponseHeader("Content-length")), sA, VA = (sA = X.getResponseHeader("Accept-Ranges")) && sA === "bytes", Ke = (sA =
X.getResponseHeader("Content-Encoding")) && sA === "gzip", ce = 1024 * 1024;
VA || (ce = j);
var ai = /* @__PURE__ */ s(function(Oe, dr) {
if (Oe > dr)
throw new Error(
"invalid range (" + Oe + ", " + dr + ") or no bytes requested!"
);
if (dr > j - 1)
throw new Error(
"only " + j + " bytes available! programmer error!"
);
var TA = new XMLHttpRequest();
if (TA.open("GET", h, !1), j !== ce && TA.setRequestHeader("Range", "bytes=" + Oe + "-" + dr), typeof Uint8Array < "u" && (TA.
responseType = "arraybuffer"), TA.overrideMimeType && TA.overrideMimeType("text/plain; charset=x-user-defined"), TA.send(null),
!(TA.status >= 200 && TA.status < 300 || TA.status === 304))
throw new Error(
"Couldn't load " + h + ". Status: " + TA.status
);
return TA.response !== void 0 ? new Uint8Array(TA.response || []) : Bg(TA.responseText || "", !0);
}, "doXHR"), XA = this;
XA.setDataGetter(function(Oe) {
var dr = Oe * ce, TA = (Oe + 1) * ce - 1;
if (TA = Math.min(TA, j - 1), typeof XA.chunks[Oe] > "u" && (XA.chunks[Oe] = ai(dr, TA)), typeof XA.chunks[Oe] > "u")
throw new Error("doXHR failed!");
return XA.chunks[Oe];
}), (Ke || !j) && (ce = j = 1, j = this.getter(0).length, ce = j, _(
"LazyFiles on gzip forces download of the whole file when length is accessed"
)), this._length = j, this._chunkSize = ce, this.lengthKnown = !0;
}, "LazyUint8Array_cacheLength"), typeof XMLHttpRequest < "u") {
if (!E)
throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
var y = new d();
Object.defineProperties(y, {
length: {
get: /* @__PURE__ */ s(function() {
return this.lengthKnown || this.cacheLength(), this._length;
}, "get")
},
chunkSize: {
get: /* @__PURE__ */ s(function() {
return this.lengthKnown || this.cacheLength(), this._chunkSize;
}, "get")
}
});
var S = { isDevice: !1, contents: y };
} else
var S = { isDevice: !1, url: h };
var R = l.createFile(a, c, S, u, f);
S.contents ? R.contents = S.contents : S.url && (R.contents = null, R.url = S.url), Object.defineProperties(R, {
usedBytes: {
get: /* @__PURE__ */ s(function() {
return this.contents.length;
}, "get")
}
});
var O = {}, H = Object.keys(R.stream_ops);
return H.forEach(function(iA) {
var X = R.stream_ops[iA];
O[iA] = /* @__PURE__ */ s(function() {
return l.forceLoadFile(R), X.apply(null, arguments);
}, "forceLoadLazyFile");
}), O.read = /* @__PURE__ */ s(function(X, j, sA, VA, Ke) {
l.forceLoadFile(R);
var ce = X.node.contents;
if (Ke >= ce.length) return 0;
var ai = Math.min(ce.length - Ke, VA);
if (ce.slice)
for (var XA = 0; XA < ai; XA++)
j[sA + XA] = ce[Ke + XA];
else
for (var XA = 0; XA < ai; XA++)
j[sA + XA] = ce.get(Ke + XA);
return ai;
}, "stream_ops_read"), R.stream_ops = O, R;
}, "createLazyFile"),
createPreloadedFile: /* @__PURE__ */ s(function(a, c, h, u, f, d, y, S, R, O) {
Browser.init();
var H = c ? st.resolve(oA.join2(a, c)) : a, iA = "cp " + H;
function X(j) {
function sA(Ke) {
O && O(), S || l.createDataFile(
a,
c,
Ke,
u,
f,
R
), d && d(), hg(iA);
}
s(sA, "finish");
var VA = !1;
e.preloadPlugins.forEach(function(Ke) {
VA || Ke.canHandle(H) && (Ke.handle(j, H, sA, function() {
y && y(), hg(iA);
}), VA = !0);
}), VA || sA(j);
}
s(X, "processData"), rl(iA), typeof h == "string" ? Browser.asyncLoad(
h,
function(j) {
X(j);
},
y
) : X(h);
}, "createPreloadedFile"),
indexedDB: /* @__PURE__ */ s(function() {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
}, "indexedDB"),
DB_NAME: /* @__PURE__ */ s(function() {
return "EM_FS_" + window.location.pathname;
}, "DB_NAME"),
DB_VERSION: 20,
DB_STORE_NAME: "FILE_DATA",
saveFilesToDB: /* @__PURE__ */ s(function(a, c, h) {
c = c || function() {
}, h = h || function() {
};
var u = l.indexedDB();
try {
var f = u.open(l.DB_NAME(), l.DB_VERSION);
} catch (d) {
return h(d);
}
f.onupgradeneeded = /* @__PURE__ */ s(function() {
_("creating db");
var y = f.result;
y.createObjectStore(l.DB_STORE_NAME);
}, "openRequest_onupgradeneeded"), f.onsuccess = /* @__PURE__ */ s(function() {
var y = f.result, S = y.transaction([l.DB_STORE_NAME], "readwrite"), R = S.objectStore(l.DB_STORE_NAME), O = 0, H = 0, iA = a.length;
function X() {
H == 0 ? c() : h();
}
s(X, "finish"), a.forEach(function(j) {
var sA = R.put(
l.analyzePath(j).object.contents,
j
);
sA.onsuccess = /* @__PURE__ */ s(function() {
O++, O + H == iA && X();
}, "putRequest_onsuccess"), sA.onerror = /* @__PURE__ */ s(function() {
H++, O + H == iA && X();
}, "putRequest_onerror");
}), S.onerror = h;
}, "openRequest_onsuccess"), f.onerror = h;
}, "saveFilesToDB"),
loadFilesFromDB: /* @__PURE__ */ s(function(a, c, h) {
c = c || function() {
}, h = h || function() {
};
var u = l.indexedDB();
try {
var f = u.open(l.DB_NAME(), l.DB_VERSION);
} catch (d) {
return h(d);
}
f.onupgradeneeded = h, f.onsuccess = /* @__PURE__ */ s(function() {
var y = f.result;
try {
var S = y.transaction([l.DB_STORE_NAME], "readonly");
} catch (j) {
h(j);
return;
}
var R = S.objectStore(l.DB_STORE_NAME), O = 0, H = 0, iA = a.length;
function X() {
H == 0 ? c() : h();
}
s(X, "finish"), a.forEach(function(j) {
var sA = R.get(j);
sA.onsuccess = /* @__PURE__ */ s(function() {
l.analyzePath(j).exists && l.unlink(j), l.createDataFile(
oA.dirname(j),
oA.basename(j),
sA.result,
!0,
!0,
!0
), O++, O + H == iA && X();
}, "getRequest_onsuccess"), sA.onerror = /* @__PURE__ */ s(function() {
H++, O + H == iA && X();
}, "getRequest_onerror");
}), S.onerror = h;
}, "openRequest_onsuccess"), f.onerror = h;
}, "loadFilesFromDB")
}, CA = {
mappings: {},
DEFAULT_POLLMASK: 5,
umask: 511,
calculateAt: /* @__PURE__ */ s(function(a, c, h) {
if (c[0] === "/")
return c;
var u;
if (a === -100)
u = l.cwd();
else {
var f = l.getStream(a);
if (!f) throw new l.ErrnoError(8);
u = f.path;
}
if (c.length == 0) {
if (!h)
throw new l.ErrnoError(44);
return u;
}
return oA.join2(u, c);
}, "calculateAt"),
doStat: /* @__PURE__ */ s(function(a, c, h) {
try {
var u = a(c);
} catch (f) {
if (f && f.node && oA.normalize(c) !== oA.normalize(l.getPath(f.node)))
return -54;
throw f;
}
return M[h >> 2] = u.dev, M[h + 4 >> 2] = 0, M[h + 8 >> 2] = u.ino, M[h + 12 >> 2] = u.mode, M[h + 16 >> 2] = u.nlink, M[h + 20 >>
2] = u.uid, M[h + 24 >> 2] = u.gid, M[h + 28 >> 2] = u.rdev, M[h + 32 >> 2] = 0, it = [
u.size >>> 0,
(YA = u.size, +Math.abs(YA) >= 1 ? YA > 0 ? (Math.min(+Math.floor(YA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(YA - +(~~YA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[h + 40 >> 2] = it[0], M[h + 44 >> 2] = it[1], M[h + 48 >> 2] = 4096, M[h + 52 >> 2] = u.blocks, M[h + 56 >> 2] = u.atime.getTime() /
1e3 | 0, M[h + 60 >> 2] = 0, M[h + 64 >> 2] = u.mtime.getTime() / 1e3 | 0, M[h + 68 >> 2] = 0, M[h + 72 >> 2] = u.ctime.getTime() /
1e3 | 0, M[h + 76 >> 2] = 0, it = [
u.ino >>> 0,
(YA = u.ino, +Math.abs(YA) >= 1 ? YA > 0 ? (Math.min(+Math.floor(YA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(YA - +(~~YA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[h + 80 >> 2] = it[0], M[h + 84 >> 2] = it[1], 0;
}, "doStat"),
doMsync: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = P.slice(a, a + h);
l.msync(c, d, f, h, u);
}, "doMsync"),
doMkdir: /* @__PURE__ */ s(function(a, c) {
return a = oA.normalize(a), a[a.length - 1] === "/" && (a = a.substr(0, a.length - 1)), l.mkdir(a, c, 0), 0;
}, "doMkdir"),
doMknod: /* @__PURE__ */ s(function(a, c, h) {
switch (c & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default:
return -28;
}
return l.mknod(a, c, h), 0;
}, "doMknod"),
doReadlink: /* @__PURE__ */ s(function(a, c, h) {
if (h <= 0) return -28;
var u = l.readlink(a), f = Math.min(h, ur(u)), d = OA[c + f];
return Zt(u, c, h + 1), OA[c + f] = d, f;
}, "doReadlink"),
doAccess: /* @__PURE__ */ s(function(a, c) {
if (c & -8)
return -28;
var h, u = l.lookupPath(a, { follow: !0 });
if (h = u.node, !h)
return -44;
var f = "";
return c & 4 && (f += "r"), c & 2 && (f += "w"), c & 1 && (f += "x"), f && l.nodePermissions(h, f) ? -2 : 0;
}, "doAccess"),
doDup: /* @__PURE__ */ s(function(a, c, h) {
var u = l.getStream(h);
return u && l.close(u), l.open(a, c, 0, h, h).fd;
}, "doDup"),
doReadv: /* @__PURE__ */ s(function(a, c, h, u) {
for (var f = 0, d = 0; d < h; d++) {
var y = M[c + d * 8 >> 2], S = M[c + (d * 8 + 4) >> 2], R = l.read(a, OA, y, S, u);
if (R < 0) return -1;
if (f += R, R < S) break;
}
return f;
}, "doReadv"),
doWritev: /* @__PURE__ */ s(function(a, c, h, u) {
for (var f = 0, d = 0; d < h; d++) {
var y = M[c + d * 8 >> 2], S = M[c + (d * 8 + 4) >> 2], R = l.write(a, OA, y, S, u);
if (R < 0) return -1;
f += R;
}
return f;
}, "doWritev"),
varargs: void 0,
get: /* @__PURE__ */ s(function() {
CA.varargs += 4;
var a = M[CA.varargs - 4 >> 2];
return a;
}, "get"),
getStr: /* @__PURE__ */ s(function(a) {
var c = Ce(a);
return c;
}, "getStr"),
getStreamFromFD: /* @__PURE__ */ s(function(a) {
var c = l.getStream(a);
if (!c) throw new l.ErrnoError(8);
return c;
}, "getStreamFromFD"),
get64: /* @__PURE__ */ s(function(a, c) {
return a;
}, "get64")
};
function mK(a, c) {
try {
return a = CA.getStr(a), l.chmod(a, c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && NA(h), -h.errno;
}
}
s(mK, "___sys_chmod");
function yK(a) {
return M[zK() >> 2] = a, a;
}
s(yK, "setErrNo");
function DK(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStreamFromFD(a);
switch (c) {
case 0: {
var f = CA.get();
if (f < 0)
return -28;
var d;
return d = l.open(u.path, u.flags, 0, f), d.fd;
}
case 1:
case 2:
return 0;
case 3:
return u.flags;
case 4: {
var f = CA.get();
return u.flags |= f, 0;
}
case 12: {
var f = CA.get(), y = 0;
return IA[f + y >> 1] = 2, 0;
}
case 13:
case 14:
return 0;
case 16:
case 8:
return -28;
case 9:
return yK(28), -1;
default:
return -28;
}
} catch (S) {
return (typeof l > "u" || !(S instanceof l.ErrnoError)) && NA(S), -S.errno;
}
}
s(DK, "___sys_fcntl64");
function SK(a, c) {
try {
var h = CA.getStreamFromFD(a);
return CA.doStat(l.stat, h.path, c);
} catch (u) {
return (typeof l > "u" || !(u instanceof l.ErrnoError)) && NA(u), -u.errno;
}
}
s(SK, "___sys_fstat64");
function KK(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStreamFromFD(a);
switch (c) {
case 21509:
case 21505:
return u.tty ? 0 : -59;
case 21510:
case 21511:
case 21512:
case 21506:
case 21507:
case 21508:
return u.tty ? 0 : -59;
case 21519: {
if (!u.tty) return -59;
var f = CA.get();
return M[f >> 2] = 0, 0;
}
case 21520:
return u.tty ? -28 : -59;
case 21531: {
var f = CA.get();
return l.ioctl(u, c, f);
}
case 21523:
return u.tty ? 0 : -59;
case 21524:
return u.tty ? 0 : -59;
default:
NA("bad ioctl syscall " + c);
}
} catch (d) {
return (typeof l > "u" || !(d instanceof l.ErrnoError)) && NA(d), -d.errno;
}
}
s(KK, "___sys_ioctl");
function FK(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStr(a), f = h ? CA.get() : 0, d = l.open(u, c, f);
return d.fd;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && NA(y), -y.errno;
}
}
s(FK, "___sys_open");
function kK(a, c) {
try {
return a = CA.getStr(a), c = CA.getStr(c), l.rename(a, c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && NA(h), -h.errno;
}
}
s(kK, "___sys_rename");
function bK(a) {
try {
return a = CA.getStr(a), l.rmdir(a), 0;
} catch (c) {
return (typeof l > "u" || !(c instanceof l.ErrnoError)) && NA(c), -c.errno;
}
}
s(bK, "___sys_rmdir");
function NK(a, c) {
try {
return a = CA.getStr(a), CA.doStat(l.stat, a, c);
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && NA(h), -h.errno;
}
}
s(NK, "___sys_stat64");
function MK(a) {
try {
return a = CA.getStr(a), l.unlink(a), 0;
} catch (c) {
return (typeof l > "u" || !(c instanceof l.ErrnoError)) && NA(c), -c.errno;
}
}
s(MK, "___sys_unlink");
function RK(a, c, h) {
P.copyWithin(a, c, c + h);
}
s(RK, "_emscripten_memcpy_big");
function vK(a) {
try {
return b.grow(a - Kt.byteLength + 65535 >>> 16), Br(b.buffer), 1;
} catch {
}
}
s(vK, "emscripten_realloc_buffer");
function LK(a) {
var c = P.length;
a = a >>> 0;
var h = 2147483648;
if (a > h)
return !1;
for (var u = 1; u <= 4; u *= 2) {
var f = c * (1 + 0.2 / u);
f = Math.min(
f,
a + 100663296
);
var d = Math.min(
h,
nA(Math.max(a, f), 65536)
), y = vK(d);
if (y)
return !0;
}
return !1;
}
s(LK, "_emscripten_resize_heap");
function xK(a) {
try {
var c = CA.getStreamFromFD(a);
return l.close(c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && NA(h), h.errno;
}
}
s(xK, "_fd_close");
function YK(a, c) {
try {
var h = CA.getStreamFromFD(a), u = h.tty ? 2 : l.isDir(h.mode) ? 3 : l.isLink(h.mode) ? 7 : 4;
return OA[c >> 0] = u, 0;
} catch (f) {
return (typeof l > "u" || !(f instanceof l.ErrnoError)) && NA(f), f.errno;
}
}
s(YK, "_fd_fdstat_get");
function PK(a, c, h, u) {
try {
var f = CA.getStreamFromFD(a), d = CA.doReadv(f, c, h);
return M[u >> 2] = d, 0;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && NA(y), y.errno;
}
}
s(PK, "_fd_read");
function UK(a, c, h, u, f) {
try {
var d = CA.getStreamFromFD(a), y = 4294967296, S = h * y + (c >>> 0), R = 9007199254740992;
return S <= -R || S >= R ? -61 : (l.llseek(d, S, u), it = [
d.position >>> 0,
(YA = d.position, +Math.abs(YA) >= 1 ? YA > 0 ? (Math.min(+Math.floor(YA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(YA - +(~~YA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[f >> 2] = it[0], M[f + 4 >> 2] = it[1], d.getdents && S === 0 && u === 0 && (d.getdents = null), 0);
} catch (O) {
return (typeof l > "u" || !(O instanceof l.ErrnoError)) && NA(O), O.errno;
}
}
s(UK, "_fd_seek");
function _K(a, c, h, u) {
try {
var f = CA.getStreamFromFD(a), d = CA.doWritev(f, c, h);
return M[u >> 2] = d, 0;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && NA(y), y.errno;
}
}
s(_K, "_fd_write");
function GK(a) {
q(a);
}
s(GK, "_setTempRet0");
function JK(a) {
var c = Date.now() / 1e3 | 0;
return a && (M[a >> 2] = c), c;
}
s(JK, "_time");
function ug() {
if (ug.called) return;
ug.called = !0;
var a = (/* @__PURE__ */ new Date()).getFullYear(), c = new Date(a, 0, 1), h = new Date(a, 6, 1), u = c.getTimezoneOffset(), f = h.getTimezoneOffset(),
d = Math.max(u, f);
M[VK() >> 2] = d * 60, M[WK() >> 2] = +(u != f);
function y(iA) {
var X = iA.toTimeString().match(/\(([A-Za-z ]+)\)$/);
return X ? X[1] : "GMT";
}
s(y, "extractZone");
var S = y(c), R = y(h), O = St(S), H = St(R);
f < u ? (M[ys() >> 2] = O, M[ys() + 4 >> 2] = H) : (M[ys() >> 2] = H, M[ys() + 4 >> 2] = O);
}
s(ug, "_tzset");
function OK(a) {
ug();
var c = Date.UTC(
M[a + 20 >> 2] + 1900,
M[a + 16 >> 2],
M[a + 12 >> 2],
M[a + 8 >> 2],
M[a + 4 >> 2],
M[a >> 2],
0
), h = new Date(c);
M[a + 24 >> 2] = h.getUTCDay();
var u = Date.UTC(h.getUTCFullYear(), 0, 1, 0, 0, 0, 0), f = (h.getTime() - u) / (1e3 * 60 * 60 * 24) | 0;
return M[a + 28 >> 2] = f, h.getTime() / 1e3 | 0;
}
s(OK, "_timegm");
var ol = /* @__PURE__ */ s(function(a, c, h, u) {
a || (a = this), this.parent = a, this.mount = a.mount, this.mounted = null, this.id = l.nextInode++, this.name = c, this.mode = h, this.
node_ops = {}, this.stream_ops = {}, this.rdev = u;
}, "FSNode"), ws = 365, ms = 146;
if (Object.defineProperties(ol.prototype, {
read: {
get: /* @__PURE__ */ s(function() {
return (this.mode & ws) === ws;
}, "get"),
set: /* @__PURE__ */ s(function(a) {
a ? this.mode |= ws : this.mode &= ~ws;
}, "set")
},
write: {
get: /* @__PURE__ */ s(function() {
return (this.mode & ms) === ms;
}, "get"),
set: /* @__PURE__ */ s(function(a) {
a ? this.mode |= ms : this.mode &= ~ms;
}, "set")
},
isFolder: {
get: /* @__PURE__ */ s(function() {
return l.isDir(this.mode);
}, "get")
},
isDevice: {
get: /* @__PURE__ */ s(function() {
return l.isChrdev(this.mode);
}, "get")
}
}), l.FSNode = ol, l.staticInit(), Q) {
var rA = ad, gl = v("path");
Z.staticInit();
}
if (Q) {
var TK = /* @__PURE__ */ s(function(a) {
return function() {
try {
return a.apply(this, arguments);
} catch (c) {
throw c.code ? new l.ErrnoError(Qr[c.code]) : c;
}
};
}, "_wrapNodeError"), fr = Object.assign({}, l);
for (var al in nl) l[al] = TK(nl[al]);
} else
throw new Error(
"NODERAWFS is currently only supported on Node.js environment."
);
function Bg(a, c, h) {
var u = h > 0 ? h : ur(a) + 1, f = new Array(u), d = LA(
a,
f,
0,
f.length
);
return c && (f.length = d), f;
}
s(Bg, "intArrayFromString");
var HK = typeof atob == "function" ? atob : function(a) {
var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", h = "", u, f, d, y, S, R, O, H = 0;
a = a.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do
y = c.indexOf(a.charAt(H++)), S = c.indexOf(a.charAt(H++)), R = c.indexOf(a.charAt(H++)), O = c.indexOf(a.charAt(H++)), u = y << 2 |
S >> 4, f = (S & 15) << 4 | R >> 2, d = (R & 3) << 6 | O, h = h + String.fromCharCode(u), R !== 64 && (h = h + String.fromCharCode(
f)), O !== 64 && (h = h + String.fromCharCode(d));
while (H < a.length);
return h;
};
function jK(a) {
if (typeof Q == "boolean" && Q) {
var c;
try {
c = Buffer.from(a, "base64");
} catch {
c = new Buffer(a, "base64");
}
return new Uint8Array(
c.buffer,
c.byteOffset,
c.byteLength
);
}
try {
for (var h = HK(a), u = new Uint8Array(h.length), f = 0; f < h.length; ++f)
u[f] = h.charCodeAt(f);
return u;
} catch {
throw new Error("Converting base64 string to bytes failed.");
}
}
s(jK, "intArrayFromBase64");
function Cl(a) {
if (sl(a))
return jK(a.slice(il.length));
}
s(Cl, "tryParseAsDataURI");
var qK = {
s: pK,
p: mK,
e: DK,
k: SK,
o: KK,
q: FK,
i: kK,
r: bK,
c: NK,
h: MK,
l: RK,
m: LK,
f: xK,
j: YK,
g: PK,
n: UK,
d: _K,
a: GK,
b: JK,
t: OK
}, z = dK(), MO = e.___wasm_call_ctors = z.v, RO = e._zip_ext_count_symlinks = z.w, vO = e._zip_file_get_external_attributes = z.x, LO = e.
_zipstruct_stat = z.y, xO = e._zipstruct_statS = z.z, YO = e._zipstruct_stat_name = z.A, PO = e._zipstruct_stat_index = z.B, UO = e._zipstruct_stat_size =
z.C, _O = e._zipstruct_stat_mtime = z.D, GO = e._zipstruct_stat_crc = z.E, JO = e._zipstruct_error = z.F, OO = e._zipstruct_errorS = z.
G, TO = e._zipstruct_error_code_zip = z.H, HO = e._zipstruct_stat_comp_size = z.I, jO = e._zipstruct_stat_comp_method = z.J, qO = e._zip_close =
z.K, zO = e._zip_delete = z.L, WO = e._zip_dir_add = z.M, VO = e._zip_discard = z.N, XO = e._zip_error_init_with_code = z.O, ZO = e._zip_get_error =
z.P, $O = e._zip_file_get_error = z.Q, AT = e._zip_error_strerror = z.R, eT = e._zip_fclose = z.S, tT = e._zip_file_add = z.T, rT = e.
_free = z.U, cl = e._malloc = z.V, zK = e.___errno_location = z.W, iT = e._zip_source_error = z.X, sT = e._zip_source_seek = z.Y, nT = e.
_zip_file_set_external_attributes = z.Z, oT = e._zip_file_set_mtime = z._, gT = e._zip_fopen = z.$, aT = e._zip_fopen_index = z.aa, CT = e.
_zip_fread = z.ba, cT = e._zip_get_name = z.ca, IT = e._zip_get_num_entries = z.da, hT = e._zip_source_read = z.ea, lT = e._zip_name_locate =
z.fa, ET = e._zip_open = z.ga, uT = e._zip_open_from_source = z.ha, BT = e._zip_set_file_compression = z.ia, QT = e._zip_source_buffer =
z.ja, fT = e._zip_source_buffer_create = z.ka, dT = e._zip_source_close = z.la, pT = e._zip_source_free = z.ma, wT = e._zip_source_keep =
z.na, mT = e._zip_source_open = z.oa, yT = e._zip_source_set_mtime = z.qa, DT = e._zip_source_tell = z.ra, ST = e._zip_stat = z.sa, KT = e.
_zip_stat_index = z.ta, ys = e.__get_tzname = z.ua, WK = e.__get_daylight = z.va, VK = e.__get_timezone = z.wa, XK = e.stackSave = z.xa,
ZK = e.stackRestore = z.ya, Il = e.stackAlloc = z.za;
e.cwrap = GA, e.getValue = mA;
var Ds;
oi = /* @__PURE__ */ s(function a() {
Ds || Qg(), Ds || (oi = a);
}, "runCaller");
function Qg(a) {
if (a = a || g, $t > 0 || (IK(), $t > 0))
return;
function c() {
Ds || (Ds = !0, e.calledRun = !0, !uA && (hK(), r(e), e.onRuntimeInitialized && e.onRuntimeInitialized(), lK()));
}
s(c, "doRun"), e.setStatus ? (e.setStatus("Running..."), setTimeout(function() {
setTimeout(function() {
e.setStatus("");
}, 1), c();
}, 1)) : c();
}
if (s(Qg, "run"), e.run = Qg, e.preInit)
for (typeof e.preInit == "function" && (e.preInit = [e.preInit]); e.preInit.length > 0; )
e.preInit.pop()();
return Qg(), A;
};
}();
typeof Eo == "object" && typeof qC == "object" ? qC.exports = jC : typeof define == "function" && define.amd ? define([], function() {
return jC;
}) : typeof Eo == "object" && (Eo.createModule = jC);
});
// ../node_modules/@yarnpkg/libzip/lib/makeInterface.js
var Id = m((Cr) => {
"use strict";
Object.defineProperty(Cr, "__esModule", { value: !0 });
Cr.makeInterface = Cr.Errors = void 0;
var ut = [
"number",
"number"
// high
], cd;
(function(t) {
t[t.ZIP_ER_OK = 0] = "ZIP_ER_OK", t[t.ZIP_ER_MULTIDISK = 1] = "ZIP_ER_MULTIDISK", t[t.ZIP_ER_RENAME = 2] = "ZIP_ER_RENAME", t[t.ZIP_ER_CLOSE =
3] = "ZIP_ER_CLOSE", t[t.ZIP_ER_SEEK = 4] = "ZIP_ER_SEEK", t[t.ZIP_ER_READ = 5] = "ZIP_ER_READ", t[t.ZIP_ER_WRITE = 6] = "ZIP_ER_WRITE",
t[t.ZIP_ER_CRC = 7] = "ZIP_ER_CRC", t[t.ZIP_ER_ZIPCLOSED = 8] = "ZIP_ER_ZIPCLOSED", t[t.ZIP_ER_NOENT = 9] = "ZIP_ER_NOENT", t[t.ZIP_ER_EXISTS =
10] = "ZIP_ER_EXISTS", t[t.ZIP_ER_OPEN = 11] = "ZIP_ER_OPEN", t[t.ZIP_ER_TMPOPEN = 12] = "ZIP_ER_TMPOPEN", t[t.ZIP_ER_ZLIB = 13] = "ZIP_\
ER_ZLIB", t[t.ZIP_ER_MEMORY = 14] = "ZIP_ER_MEMORY", t[t.ZIP_ER_CHANGED = 15] = "ZIP_ER_CHANGED", t[t.ZIP_ER_COMPNOTSUPP = 16] = "ZIP_ER_COM\
PNOTSUPP", t[t.ZIP_ER_EOF = 17] = "ZIP_ER_EOF", t[t.ZIP_ER_INVAL = 18] = "ZIP_ER_INVAL", t[t.ZIP_ER_NOZIP = 19] = "ZIP_ER_NOZIP", t[t.ZIP_ER_INTERNAL =
20] = "ZIP_ER_INTERNAL", t[t.ZIP_ER_INCONS = 21] = "ZIP_ER_INCONS", t[t.ZIP_ER_REMOVE = 22] = "ZIP_ER_REMOVE", t[t.ZIP_ER_DELETED = 23] =
"ZIP_ER_DELETED", t[t.ZIP_ER_ENCRNOTSUPP = 24] = "ZIP_ER_ENCRNOTSUPP", t[t.ZIP_ER_RDONLY = 25] = "ZIP_ER_RDONLY", t[t.ZIP_ER_NOPASSWD = 26] =
"ZIP_ER_NOPASSWD", t[t.ZIP_ER_WRONGPASSWD = 27] = "ZIP_ER_WRONGPASSWD", t[t.ZIP_ER_OPNOTSUPP = 28] = "ZIP_ER_OPNOTSUPP", t[t.ZIP_ER_INUSE =
29] = "ZIP_ER_INUSE", t[t.ZIP_ER_TELL = 30] = "ZIP_ER_TELL", t[t.ZIP_ER_COMPRESSED_DATA = 31] = "ZIP_ER_COMPRESSED_DATA";
})(cd = Cr.Errors || (Cr.Errors = {}));
var Lx = /* @__PURE__ */ s((t) => ({
// Those are getters because they can change after memory growth
get HEAP8() {
return t.HEAP8;
},
get HEAPU8() {
return t.HEAPU8;
},
errors: cd,
SEEK_SET: 0,
SEEK_CUR: 1,
SEEK_END: 2,
ZIP_CHECKCONS: 4,
ZIP_CREATE: 1,
ZIP_EXCL: 2,
ZIP_TRUNCATE: 8,
ZIP_RDONLY: 16,
ZIP_FL_OVERWRITE: 8192,
ZIP_FL_COMPRESSED: 4,
ZIP_OPSYS_DOS: 0,
ZIP_OPSYS_AMIGA: 1,
ZIP_OPSYS_OPENVMS: 2,
ZIP_OPSYS_UNIX: 3,
ZIP_OPSYS_VM_CMS: 4,
ZIP_OPSYS_ATARI_ST: 5,
ZIP_OPSYS_OS_2: 6,
ZIP_OPSYS_MACINTOSH: 7,
ZIP_OPSYS_Z_SYSTEM: 8,
ZIP_OPSYS_CPM: 9,
ZIP_OPSYS_WINDOWS_NTFS: 10,
ZIP_OPSYS_MVS: 11,
ZIP_OPSYS_VSE: 12,
ZIP_OPSYS_ACORN_RISC: 13,
ZIP_OPSYS_VFAT: 14,
ZIP_OPSYS_ALTERNATE_MVS: 15,
ZIP_OPSYS_BEOS: 16,
ZIP_OPSYS_TANDEM: 17,
ZIP_OPSYS_OS_400: 18,
ZIP_OPSYS_OS_X: 19,
ZIP_CM_DEFAULT: -1,
ZIP_CM_STORE: 0,
ZIP_CM_DEFLATE: 8,
uint08S: t._malloc(1),
uint16S: t._malloc(2),
uint32S: t._malloc(4),
uint64S: t._malloc(8),
malloc: t._malloc,
free: t._free,
getValue: t.getValue,
open: t.cwrap("zip_open", "number", ["string", "number", "number"]),
openFromSource: t.cwrap("zip_open_from_source", "number", ["number", "number", "number"]),
close: t.cwrap("zip_close", "number", ["number"]),
discard: t.cwrap("zip_discard", null, ["number"]),
getError: t.cwrap("zip_get_error", "number", ["number"]),
getName: t.cwrap("zip_get_name", "string", ["number", "number", "number"]),
getNumEntries: t.cwrap("zip_get_num_entries", "number", ["number", "number"]),
delete: t.cwrap("zip_delete", "number", ["number", "number"]),
stat: t.cwrap("zip_stat", "number", ["number", "string", "number", "number"]),
statIndex: t.cwrap("zip_stat_index", "number", ["number", ...ut, "number", "number"]),
fopen: t.cwrap("zip_fopen", "number", ["number", "string", "number"]),
fopenIndex: t.cwrap("zip_fopen_index", "number", ["number", ...ut, "number"]),
fread: t.cwrap("zip_fread", "number", ["number", "number", "number", "number"]),
fclose: t.cwrap("zip_fclose", "number", ["number"]),
dir: {
add: t.cwrap("zip_dir_add", "number", ["number", "string"])
},
file: {
add: t.cwrap("zip_file_add", "number", ["number", "string", "number", "number"]),
getError: t.cwrap("zip_file_get_error", "number", ["number"]),
getExternalAttributes: t.cwrap("zip_file_get_external_attributes", "number", ["number", ...ut, "number", "number", "number"]),
setExternalAttributes: t.cwrap("zip_file_set_external_attributes", "number", ["number", ...ut, "number", "number", "number"]),
setMtime: t.cwrap("zip_file_set_mtime", "number", ["number", ...ut, "number", "number"]),
setCompression: t.cwrap("zip_set_file_compression", "number", ["number", ...ut, "number", "number"])
},
ext: {
countSymlinks: t.cwrap("zip_ext_count_symlinks", "number", ["number"])
},
error: {
initWithCode: t.cwrap("zip_error_init_with_code", null, ["number", "number"]),
strerror: t.cwrap("zip_error_strerror", "string", ["number"])
},
name: {
locate: t.cwrap("zip_name_locate", "number", ["number", "string", "number"])
},
source: {
fromUnattachedBuffer: t.cwrap("zip_source_buffer_create", "number", ["number", ...ut, "number", "number"]),
fromBuffer: t.cwrap("zip_source_buffer", "number", ["number", "number", ...ut, "number"]),
free: t.cwrap("zip_source_free", null, ["number"]),
keep: t.cwrap("zip_source_keep", null, ["number"]),
open: t.cwrap("zip_source_open", "number", ["number"]),
close: t.cwrap("zip_source_close", "number", ["number"]),
seek: t.cwrap("zip_source_seek", "number", ["number", ...ut, "number"]),
tell: t.cwrap("zip_source_tell", "number", ["number"]),
read: t.cwrap("zip_source_read", "number", ["number", "number", "number"]),
error: t.cwrap("zip_source_error", "number", ["number"]),
setMtime: t.cwrap("zip_source_set_mtime", "number", ["number", "number"])
},
struct: {
stat: t.cwrap("zipstruct_stat", "number", []),
statS: t.cwrap("zipstruct_statS", "number", []),
statName: t.cwrap("zipstruct_stat_name", "string", ["number"]),
statIndex: t.cwrap("zipstruct_stat_index", "number", ["number"]),
statSize: t.cwrap("zipstruct_stat_size", "number", ["number"]),
statCompSize: t.cwrap("zipstruct_stat_comp_size", "number", ["number"]),
statCompMethod: t.cwrap("zipstruct_stat_comp_method", "number", ["number"]),
statMtime: t.cwrap("zipstruct_stat_mtime", "number", ["number"]),
statCrc: t.cwrap("zipstruct_stat_crc", "number", ["number"]),
error: t.cwrap("zipstruct_error", "number", []),
errorS: t.cwrap("zipstruct_errorS", "number", []),
errorCodeZip: t.cwrap("zipstruct_error_code_zip", "number", ["number"])
}
}), "makeInterface");
Cr.makeInterface = Lx;
});
// ../node_modules/@yarnpkg/libzip/lib/sync.js
var ld = m((Tr) => {
"use strict";
Object.defineProperty(Tr, "__esModule", { value: !0 });
Tr.getLibzipPromise = Tr.getLibzipSync = void 0;
var xx = (gd(), Fe(od)), Yx = xx.__importDefault(Cd()), Px = Id(), zC = null;
function hd() {
return zC === null && (zC = (0, Px.makeInterface)((0, Yx.default)())), zC;
}
s(hd, "getLibzipSync");
Tr.getLibzipSync = hd;
async function Ux() {
return hd();
}
s(Ux, "getLibzipPromise");
Tr.getLibzipPromise = Ux;
});
// ../node_modules/kleur/index.js
var yA = m((t$, pd) => {
"use strict";
var { FORCE_COLOR: Vx, NODE_DISABLE_COLORS: Xx, TERM: Zx } = process.env, hA = {
enabled: !Xx && Zx !== "dumb" && Vx !== "0",
// modifiers
reset: fA(0, 0),
bold: fA(1, 22),
dim: fA(2, 22),
italic: fA(3, 23),
underline: fA(4, 24),
inverse: fA(7, 27),
hidden: fA(8, 28),
strikethrough: fA(9, 29),
// colors
black: fA(30, 39),
red: fA(31, 39),
green: fA(32, 39),
yellow: fA(33, 39),
blue: fA(34, 39),
magenta: fA(35, 39),
cyan: fA(36, 39),
white: fA(37, 39),
gray: fA(90, 39),
grey: fA(90, 39),
// background colors
bgBlack: fA(40, 49),
bgRed: fA(41, 49),
bgGreen: fA(42, 49),
bgYellow: fA(43, 49),
bgBlue: fA(44, 49),
bgMagenta: fA(45, 49),
bgCyan: fA(46, 49),
bgWhite: fA(47, 49)
};
function dd(t, A) {
let e = 0, r, i = "", n = "";
for (; e < t.length; e++)
r = t[e], i += r.open, n += r.close, A.includes(r.close) && (A = A.replace(r.rgx, r.close + r.open));
return i + A + n;
}
s(dd, "run");
function $x(t, A) {
let e = { has: t, keys: A };
return e.reset = hA.reset.bind(e), e.bold = hA.bold.bind(e), e.dim = hA.dim.bind(e), e.italic = hA.italic.bind(e), e.underline = hA.underline.
bind(e), e.inverse = hA.inverse.bind(e), e.hidden = hA.hidden.bind(e), e.strikethrough = hA.strikethrough.bind(e), e.black = hA.black.bind(
e), e.red = hA.red.bind(e), e.green = hA.green.bind(e), e.yellow = hA.yellow.bind(e), e.blue = hA.blue.bind(e), e.magenta = hA.magenta.bind(
e), e.cyan = hA.cyan.bind(e), e.white = hA.white.bind(e), e.gray = hA.gray.bind(e), e.grey = hA.grey.bind(e), e.bgBlack = hA.bgBlack.bind(
e), e.bgRed = hA.bgRed.bind(e), e.bgGreen = hA.bgGreen.bind(e), e.bgYellow = hA.bgYellow.bind(e), e.bgBlue = hA.bgBlue.bind(e), e.bgMagenta =
hA.bgMagenta.bind(e), e.bgCyan = hA.bgCyan.bind(e), e.bgWhite = hA.bgWhite.bind(e), e;
}
s($x, "chain");
function fA(t, A) {
let e = {
open: `\x1B[${t}m`,
close: `\x1B[${A}m`,
rgx: new RegExp(`\\x1b\\[${A}m`, "g")
};
return function(r) {
return this !== void 0 && this.has !== void 0 ? (this.has.includes(t) || (this.has.push(t), this.keys.push(e)), r === void 0 ? this : hA.
enabled ? dd(this.keys, r + "") : r + "") : r === void 0 ? $x([t], [e]) : hA.enabled ? dd([e], r + "") : r + "";
};
}
s(fA, "init");
pd.exports = hA;
});
// ../node_modules/prompts/dist/util/action.js
var md = m((i$, wd) => {
"use strict";
wd.exports = (t, A) => {
if (!(t.meta && t.name !== "escape")) {
if (t.ctrl) {
if (t.name === "a") return "first";
if (t.name === "c" || t.name === "d") return "abort";
if (t.name === "e") return "last";
if (t.name === "g") return "reset";
}
if (A) {
if (t.name === "j") return "down";
if (t.name === "k") return "up";
}
return t.name === "return" || t.name === "enter" ? "submit" : t.name === "backspace" ? "delete" : t.name === "delete" ? "deleteForward" :
t.name === "abort" ? "abort" : t.name === "escape" ? "exit" : t.name === "tab" ? "next" : t.name === "pagedown" ? "nextPage" : t.name ===
"pageup" ? "prevPage" : t.name === "home" ? "home" : t.name === "end" ? "end" : t.name === "up" ? "up" : t.name === "down" ? "down" : t.
name === "right" ? "right" : t.name === "left" ? "left" : !1;
}
};
});
// ../node_modules/prompts/dist/util/strip.js
var Bo = m((s$, yd) => {
"use strict";
yd.exports = (t) => {
let A = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"), e = new RegExp(A, "g");
return typeof t == "string" ? t.replace(e, "") : t;
};
});
// ../node_modules/sisteransi/src/index.js
var SA = m((n$, Dd) => {
"use strict";
var WC = "\x1B", DA = `${WC}[`, AY = "\x07", VC = {
to(t, A) {
return A ? `${DA}${A + 1};${t + 1}H` : `${DA}${t + 1}G`;
},
move(t, A) {
let e = "";
return t < 0 ? e += `${DA}${-t}D` : t > 0 && (e += `${DA}${t}C`), A < 0 ? e += `${DA}${-A}A` : A > 0 && (e += `${DA}${A}B`), e;
},
up: /* @__PURE__ */ s((t = 1) => `${DA}${t}A`, "up"),
down: /* @__PURE__ */ s((t = 1) => `${DA}${t}B`, "down"),
forward: /* @__PURE__ */ s((t = 1) => `${DA}${t}C`, "forward"),
backward: /* @__PURE__ */ s((t = 1) => `${DA}${t}D`, "backward"),
nextLine: /* @__PURE__ */ s((t = 1) => `${DA}E`.repeat(t), "nextLine"),
prevLine: /* @__PURE__ */ s((t = 1) => `${DA}F`.repeat(t), "prevLine"),
left: `${DA}G`,
hide: `${DA}?25l`,
show: `${DA}?25h`,
save: `${WC}7`,
restore: `${WC}8`
}, eY = {
up: /* @__PURE__ */ s((t = 1) => `${DA}S`.repeat(t), "up"),
down: /* @__PURE__ */ s((t = 1) => `${DA}T`.repeat(t), "down")
}, tY = {
screen: `${DA}2J`,
up: /* @__PURE__ */ s((t = 1) => `${DA}1J`.repeat(t), "up"),
down: /* @__PURE__ */ s((t = 1) => `${DA}J`.repeat(t), "down"),
line: `${DA}2K`,
lineEnd: `${DA}K`,
lineStart: `${DA}1K`,
lines(t) {
let A = "";
for (let e = 0; e < t; e++)
A += this.line + (e < t - 1 ? VC.up() : "");
return t && (A += VC.left), A;
}
};
Dd.exports = { cursor: VC, scroll: eY, erase: tY, beep: AY };
});
// ../node_modules/prompts/dist/util/clear.js
var bd = m((g$, kd) => {
"use strict";
function rY(t, A) {
var e = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
if (!e) {
if (Array.isArray(t) || (e = iY(t)) || A && t && typeof t.length == "number") {
e && (t = e);
var r = 0, i = /* @__PURE__ */ s(function() {
}, "F");
return { s: i, n: /* @__PURE__ */ s(function() {
return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
}, "n"), e: /* @__PURE__ */ s(function(I) {
throw I;
}, "e"), f: i };
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var n = !0, o = !1, g;
return { s: /* @__PURE__ */ s(function() {
e = e.call(t);
}, "s"), n: /* @__PURE__ */ s(function() {
var I = e.next();
return n = I.done, I;
}, "n"), e: /* @__PURE__ */ s(function(I) {
o = !0, g = I;
}, "e"), f: /* @__PURE__ */ s(function() {
try {
!n && e.return != null && e.return();
} finally {
if (o) throw g;
}
}, "f") };
}
s(rY, "_createForOfIteratorHelper");
function iY(t, A) {
if (t) {
if (typeof t == "string") return Sd(t, A);
var e = Object.prototype.toString.call(t).slice(8, -1);
if (e === "Object" && t.constructor && (e = t.constructor.name), e === "Map" || e === "Set") return Array.from(t);
if (e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return Sd(t, A);
}
}
s(iY, "_unsupportedIterableToArray");
function Sd(t, A) {
(A == null || A > t.length) && (A = t.length);
for (var e = 0, r = new Array(A); e < A; e++) r[e] = t[e];
return r;
}
s(Sd, "_arrayLikeToArray");
var sY = Bo(), Fd = SA(), Kd = Fd.erase, nY = Fd.cursor, oY = /* @__PURE__ */ s((t) => [...sY(t)].length, "width");
kd.exports = function(t, A) {
if (!A) return Kd.line + nY.to(0);
let e = 0, r = t.split(/\r?\n/);
var i = rY(r), n;
try {
for (i.s(); !(n = i.n()).done; ) {
let o = n.value;
e += 1 + Math.floor(Math.max(oY(o) - 1, 0) / A);
}
} catch (o) {
i.e(o);
} finally {
i.f();
}
return Kd.lines(e);
};
});
// ../node_modules/prompts/dist/util/figures.js
var XC = m((C$, Nd) => {
"use strict";
var ts = {
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
radioOn: "\u25C9",
radioOff: "\u25EF",
tick: "\u2714",
cross: "\u2716",
ellipsis: "\u2026",
pointerSmall: "\u203A",
line: "\u2500",
pointer: "\u276F"
}, gY = {
arrowUp: ts.arrowUp,
arrowDown: ts.arrowDown,
arrowLeft: ts.arrowLeft,
arrowRight: ts.arrowRight,
radioOn: "(*)",
radioOff: "( )",
tick: "\u221A",
cross: "\xD7",
ellipsis: "...",
pointerSmall: "\xBB",
line: "\u2500",
pointer: ">"
}, aY = process.platform === "win32" ? gY : ts;
Nd.exports = aY;
});
// ../node_modules/prompts/dist/util/style.js
var Rd = m((c$, Md) => {
"use strict";
var jr = yA(), cr = XC(), ZC = Object.freeze({
password: {
scale: 1,
render: /* @__PURE__ */ s((t) => "*".repeat(t.length), "render")
},
emoji: {
scale: 2,
render: /* @__PURE__ */ s((t) => "\u{1F603}".repeat(t.length), "render")
},
invisible: {
scale: 0,
render: /* @__PURE__ */ s((t) => "", "render")
},
default: {
scale: 1,
render: /* @__PURE__ */ s((t) => `${t}`, "render")
}
}), CY = /* @__PURE__ */ s((t) => ZC[t] || ZC.default, "render"), rs = Object.freeze({
aborted: jr.red(cr.cross),
done: jr.green(cr.tick),
exited: jr.yellow(cr.cross),
default: jr.cyan("?")
}), cY = /* @__PURE__ */ s((t, A, e) => A ? rs.aborted : e ? rs.exited : t ? rs.done : rs.default, "symbol"), IY = /* @__PURE__ */ s((t) => jr.
gray(t ? cr.ellipsis : cr.pointerSmall), "delimiter"), hY = /* @__PURE__ */ s((t, A) => jr.gray(t ? A ? cr.pointerSmall : "+" : cr.line), "\
item");
Md.exports = {
styles: ZC,
render: CY,
symbols: rs,
symbol: cY,
delimiter: IY,
item: hY
};
});
// ../node_modules/prompts/dist/util/lines.js
var Ld = m((h$, vd) => {
"use strict";
var lY = Bo();
vd.exports = function(t, A) {
let e = String(lY(t) || "").split(/\r?\n/);
return A ? e.map((r) => Math.ceil(r.length / A)).reduce((r, i) => r + i) : e.length;
};
});
// ../node_modules/prompts/dist/util/wrap.js
var Yd = m((l$, xd) => {
"use strict";
xd.exports = (t, A = {}) => {
let e = Number.isSafeInteger(parseInt(A.margin)) ? new Array(parseInt(A.margin)).fill(" ").join("") : A.margin || "", r = A.width;
return (t || "").split(/\r?\n/g).map((i) => i.split(/\s+/g).reduce((n, o) => (o.length + e.length >= r || n[n.length - 1].length + o.length +
1 < r ? n[n.length - 1] += ` ${o}` : n.push(`${e}${o}`), n), [e]).join(`
`)).join(`
`);
};
});
// ../node_modules/prompts/dist/util/entriesToDisplay.js
var Ud = m((E$, Pd) => {
"use strict";
Pd.exports = (t, A, e) => {
e = e || A;
let r = Math.min(A - e, t - Math.floor(e / 2));
r < 0 && (r = 0);
let i = Math.min(r + e, A);
return {
startIndex: r,
endIndex: i
};
};
});
// ../node_modules/prompts/dist/util/index.js
var Ue = m((u$, _d) => {
"use strict";
_d.exports = {
action: md(),
clear: bd(),
style: Rd(),
strip: Bo(),
figures: XC(),
lines: Ld(),
wrap: Yd(),
entriesToDisplay: Ud()
};
});
// ../node_modules/prompts/dist/elements/prompt.js
var Bt = m((B$, Od) => {
"use strict";
var Gd = v("readline"), EY = Ue(), uY = EY.action, BY = v("events"), Jd = SA(), QY = Jd.beep, fY = Jd.cursor, dY = yA(), $C = class extends BY {
static {
s(this, "Prompt");
}
constructor(A = {}) {
super(), this.firstRender = !0, this.in = A.stdin || process.stdin, this.out = A.stdout || process.stdout, this.onRender = (A.onRender ||
(() => {
})).bind(this);
let e = Gd.createInterface({
input: this.in,
escapeCodeTimeout: 50
});
Gd.emitKeypressEvents(this.in, e), this.in.isTTY && this.in.setRawMode(!0);
let r = ["SelectPrompt", "MultiselectPrompt"].indexOf(this.constructor.name) > -1, i = /* @__PURE__ */ s((n, o) => {
let g = uY(o, r);
g === !1 ? this._ && this._(n, o) : typeof this[g] == "function" ? this[g](o) : this.bell();
}, "keypress");
this.close = () => {
this.out.write(fY.show), this.in.removeListener("keypress", i), this.in.isTTY && this.in.setRawMode(!1), e.close(), this.emit(this.aborted ?
"abort" : this.exited ? "exit" : "submit", this.value), this.closed = !0;
}, this.in.on("keypress", i);
}
fire() {
this.emit("state", {
value: this.value,
aborted: !!this.aborted,
exited: !!this.exited
});
}
bell() {
this.out.write(QY);
}
render() {
this.onRender(dY), this.firstRender && (this.firstRender = !1);
}
};
Od.exports = $C;
});
// ../node_modules/prompts/dist/elements/text.js
var zd = m((f$, qd) => {
"use strict";
function Td(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Td, "asyncGeneratorStep");
function Hd(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Td(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Td(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Hd, "_asyncToGenerator");
var Qo = yA(), pY = Bt(), jd = SA(), wY = jd.erase, is = jd.cursor, fo = Ue(), Ac = fo.style, ec = fo.clear, mY = fo.lines, yY = fo.figures,
tc = class extends pY {
static {
s(this, "TextPrompt");
}
constructor(A = {}) {
super(A), this.transform = Ac.render(A.style), this.scale = this.transform.scale, this.msg = A.message, this.initial = A.initial || "",
this.validator = A.validate || (() => !0), this.value = "", this.errorMsg = A.error || "Please Enter A Valid Value", this.cursor = +!!this.
initial, this.cursorOffset = 0, this.clear = ec("", this.out.columns), this.render();
}
set value(A) {
!A && this.initial ? (this.placeholder = !0, this.rendered = Qo.gray(this.transform.render(this.initial))) : (this.placeholder = !1, this.
rendered = this.transform.render(A)), this._value = A, this.fire();
}
get value() {
return this._value;
}
reset() {
this.value = "", this.cursor = +!!this.initial, this.cursorOffset = 0, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.value = this.value || this.initial, this.done = this.aborted = !0, this.error = !1, this.red = !1, this.fire(), this.render(), this.
out.write(`
`), this.close();
}
validate() {
var A = this;
return Hd(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return Hd(function* () {
if (A.value = A.value || A.initial, A.cursorOffset = 0, A.cursor = A.rendered.length, yield A.validate(), A.error) {
A.red = !0, A.fire(), A.render();
return;
}
A.done = !0, A.aborted = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
next() {
if (!this.placeholder) return this.bell();
this.value = this.initial, this.cursor = this.rendered.length, this.fire(), this.render();
}
moveCursor(A) {
this.placeholder || (this.cursor = this.cursor + A, this.cursorOffset += A);
}
_(A, e) {
let r = this.value.slice(0, this.cursor), i = this.value.slice(this.cursor);
this.value = `${r}${A}${i}`, this.red = !1, this.cursor = this.placeholder ? 0 : r.length + 1, this.render();
}
delete() {
if (this.isCursorAtStart()) return this.bell();
let A = this.value.slice(0, this.cursor - 1), e = this.value.slice(this.cursor);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtStart() ? this.cursorOffset = 0 : (this.cursorOffset++, this.moveCursor(-1)), this.
render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
let A = this.value.slice(0, this.cursor), e = this.value.slice(this.cursor + 1);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtEnd() ? this.cursorOffset = 0 : this.cursorOffset++, this.render();
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length, this.render();
}
left() {
if (this.cursor <= 0 || this.placeholder) return this.bell();
this.moveCursor(-1), this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
this.moveCursor(1), this.render();
}
isCursorAtStart() {
return this.cursor === 0 || this.placeholder && this.cursor === 1;
}
isCursorAtEnd() {
return this.cursor === this.rendered.length || this.placeholder && this.cursor === this.rendered.length + 1;
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(is.down(mY(this.outputError, this.out.columns) - 1) + ec(this.
outputError, this.out.columns)), this.out.write(ec(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[Ac.symbol(this.done, this.aborted), Qo.bold(this.msg), Ac.delimiter(this.done), this.red ? Qo.red(this.rendered) : this.rendered].join(
" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : yY.pointerSmall} ${Qo.red().italic(e)}`, "")), this.out.write(wY.line + is.to(0) + this.outputText + is.save + this.outputError +
is.restore + is.move(this.cursorOffset, 0)));
}
};
qd.exports = tc;
});
// ../node_modules/prompts/dist/elements/select.js
var Zd = m((p$, Xd) => {
"use strict";
var Qt = yA(), DY = Bt(), ss = Ue(), Wd = ss.style, Vd = ss.clear, po = ss.figures, SY = ss.wrap, KY = ss.entriesToDisplay, FY = SA(), kY = FY.
cursor, rc = class extends DY {
static {
s(this, "SelectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.hint = A.hint || "- Use arrow-keys. Return to submit.", this.warn = A.warn || "- This option is d\
isabled", this.cursor = A.initial || 0, this.choices = A.choices.map((e, r) => (typeof e == "string" && (e = {
title: e,
value: r
}), {
title: e && (e.title || e.value || e),
value: e && (e.value === void 0 ? r : e.value),
description: e && e.description,
selected: e && e.selected,
disabled: e && e.disabled
})), this.optionsPerPage = A.optionsPerPage || 10, this.value = (this.choices[this.cursor] || {}).value, this.clear = Vd("", this.out.
columns), this.render();
}
moveCursor(A) {
this.cursor = A, this.value = this.choices[A].value, this.fire();
}
reset() {
this.moveCursor(0), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.selection.disabled ? this.bell() : (this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close());
}
first() {
this.moveCursor(0), this.render();
}
last() {
this.moveCursor(this.choices.length - 1), this.render();
}
up() {
this.cursor === 0 ? this.moveCursor(this.choices.length - 1) : this.moveCursor(this.cursor - 1), this.render();
}
down() {
this.cursor === this.choices.length - 1 ? this.moveCursor(0) : this.moveCursor(this.cursor + 1), this.render();
}
next() {
this.moveCursor((this.cursor + 1) % this.choices.length), this.render();
}
_(A, e) {
if (A === " ") return this.submit();
}
get selection() {
return this.choices[this.cursor];
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(kY.hide) : this.out.write(Vd(this.outputText, this.out.columns)), super.render();
let A = KY(this.cursor, this.choices.length, this.optionsPerPage), e = A.startIndex, r = A.endIndex;
if (this.outputText = [Wd.symbol(this.done, this.aborted), Qt.bold(this.msg), Wd.delimiter(!1), this.done ? this.selection.title : this.
selection.disabled ? Qt.yellow(this.warn) : Qt.gray(this.hint)].join(" "), !this.done) {
this.outputText += `
`;
for (let i = e; i < r; i++) {
let n, o, g = "", C = this.choices[i];
i === e && e > 0 ? o = po.arrowUp : i === r - 1 && r < this.choices.length ? o = po.arrowDown : o = " ", C.disabled ? (n = this.cursor ===
i ? Qt.gray().underline(C.title) : Qt.strikethrough().gray(C.title), o = (this.cursor === i ? Qt.bold().gray(po.pointer) + " " : "\
") + o) : (n = this.cursor === i ? Qt.cyan().underline(C.title) : C.title, o = (this.cursor === i ? Qt.cyan(po.pointer) + " " : " ") + o,
C.description && this.cursor === i && (g = ` - ${C.description}`, (o.length + n.length + g.length >= this.out.columns || C.description.
split(/\r?\n/).length > 1) && (g = `
` + SY(C.description, {
margin: 3,
width: this.out.columns
})))), this.outputText += `${o} ${n}${Qt.gray(g)}
`;
}
}
this.out.write(this.outputText);
}
};
Xd.exports = rc;
});
// ../node_modules/prompts/dist/elements/toggle.js
var ip = m((m$, rp) => {
"use strict";
var wo = yA(), bY = Bt(), ep = Ue(), $d = ep.style, NY = ep.clear, tp = SA(), Ap = tp.cursor, MY = tp.erase, ic = class extends bY {
static {
s(this, "TogglePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = !!A.initial, this.active = A.active || "on", this.inactive = A.inactive || "off", this.initialValue =
this.value, this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
deactivate() {
if (this.value === !1) return this.bell();
this.value = !1, this.render();
}
activate() {
if (this.value === !0) return this.bell();
this.value = !0, this.render();
}
delete() {
this.deactivate();
}
left() {
this.deactivate();
}
right() {
this.activate();
}
down() {
this.deactivate();
}
up() {
this.activate();
}
next() {
this.value = !this.value, this.fire(), this.render();
}
_(A, e) {
if (A === " ")
this.value = !this.value;
else if (A === "1")
this.value = !0;
else if (A === "0")
this.value = !1;
else return this.bell();
this.render();
}
render() {
this.closed || (this.firstRender ? this.out.write(Ap.hide) : this.out.write(NY(this.outputText, this.out.columns)), super.render(), this.
outputText = [$d.symbol(this.done, this.aborted), wo.bold(this.msg), $d.delimiter(this.done), this.value ? this.inactive : wo.cyan().underline(
this.inactive), wo.gray("/"), this.value ? wo.cyan().underline(this.active) : this.active].join(" "), this.out.write(MY.line + Ap.to(0) +
this.outputText));
}
};
rp.exports = ic;
});
// ../node_modules/prompts/dist/dateparts/datepart.js
var ze = m((D$, sp) => {
"use strict";
var sc = class t {
static {
s(this, "DatePart");
}
constructor({
token: A,
date: e,
parts: r,
locales: i
}) {
this.token = A, this.date = e || /* @__PURE__ */ new Date(), this.parts = r || [this], this.locales = i || {};
}
up() {
}
down() {
}
next() {
let A = this.parts.indexOf(this);
return this.parts.find((e, r) => r > A && e instanceof t);
}
setTo(A) {
}
prev() {
let A = [].concat(this.parts).reverse(), e = A.indexOf(this);
return A.find((r, i) => i > e && r instanceof t);
}
toString() {
return String(this.date);
}
};
sp.exports = sc;
});
// ../node_modules/prompts/dist/dateparts/meridiem.js
var op = m((K$, np) => {
"use strict";
var RY = ze(), nc = class extends RY {
static {
s(this, "Meridiem");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours((this.date.getHours() + 12) % 24);
}
down() {
this.up();
}
toString() {
let A = this.date.getHours() > 12 ? "pm" : "am";
return /\A/.test(this.token) ? A.toUpperCase() : A;
}
};
np.exports = nc;
});
// ../node_modules/prompts/dist/dateparts/day.js
var ap = m((k$, gp) => {
"use strict";
var vY = ze(), LY = /* @__PURE__ */ s((t) => (t = t % 10, t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th"), "pos"), oc = class extends vY {
static {
s(this, "Day");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setDate(this.date.getDate() + 1);
}
down() {
this.date.setDate(this.date.getDate() - 1);
}
setTo(A) {
this.date.setDate(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getDate(), e = this.date.getDay();
return this.token === "DD" ? String(A).padStart(2, "0") : this.token === "Do" ? A + LY(A) : this.token === "d" ? e + 1 : this.token ===
"ddd" ? this.locales.weekdaysShort[e] : this.token === "dddd" ? this.locales.weekdays[e] : A;
}
};
gp.exports = oc;
});
// ../node_modules/prompts/dist/dateparts/hours.js
var cp = m((N$, Cp) => {
"use strict";
var xY = ze(), gc = class extends xY {
static {
s(this, "Hours");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours(this.date.getHours() + 1);
}
down() {
this.date.setHours(this.date.getHours() - 1);
}
setTo(A) {
this.date.setHours(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getHours();
return /h/.test(this.token) && (A = A % 12 || 12), this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Cp.exports = gc;
});
// ../node_modules/prompts/dist/dateparts/milliseconds.js
var hp = m((R$, Ip) => {
"use strict";
var YY = ze(), ac = class extends YY {
static {
s(this, "Milliseconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMilliseconds(this.date.getMilliseconds() + 1);
}
down() {
this.date.setMilliseconds(this.date.getMilliseconds() - 1);
}
setTo(A) {
this.date.setMilliseconds(parseInt(A.substr(-this.token.length)));
}
toString() {
return String(this.date.getMilliseconds()).padStart(4, "0").substr(0, this.token.length);
}
};
Ip.exports = ac;
});
// ../node_modules/prompts/dist/dateparts/minutes.js
var Ep = m((L$, lp) => {
"use strict";
var PY = ze(), Cc = class extends PY {
static {
s(this, "Minutes");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMinutes(this.date.getMinutes() + 1);
}
down() {
this.date.setMinutes(this.date.getMinutes() - 1);
}
setTo(A) {
this.date.setMinutes(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getMinutes();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
lp.exports = Cc;
});
// ../node_modules/prompts/dist/dateparts/month.js
var Bp = m((Y$, up) => {
"use strict";
var UY = ze(), cc = class extends UY {
static {
s(this, "Month");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMonth(this.date.getMonth() + 1);
}
down() {
this.date.setMonth(this.date.getMonth() - 1);
}
setTo(A) {
A = parseInt(A.substr(-2)) - 1, this.date.setMonth(A < 0 ? 0 : A);
}
toString() {
let A = this.date.getMonth(), e = this.token.length;
return e === 2 ? String(A + 1).padStart(2, "0") : e === 3 ? this.locales.monthsShort[A] : e === 4 ? this.locales.months[A] : String(A +
1);
}
};
up.exports = cc;
});
// ../node_modules/prompts/dist/dateparts/seconds.js
var fp = m((U$, Qp) => {
"use strict";
var _Y = ze(), Ic = class extends _Y {
static {
s(this, "Seconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setSeconds(this.date.getSeconds() + 1);
}
down() {
this.date.setSeconds(this.date.getSeconds() - 1);
}
setTo(A) {
this.date.setSeconds(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getSeconds();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Qp.exports = Ic;
});
// ../node_modules/prompts/dist/dateparts/year.js
var pp = m((G$, dp) => {
"use strict";
var GY = ze(), hc = class extends GY {
static {
s(this, "Year");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setFullYear(this.date.getFullYear() + 1);
}
down() {
this.date.setFullYear(this.date.getFullYear() - 1);
}
setTo(A) {
this.date.setFullYear(A.substr(-4));
}
toString() {
let A = String(this.date.getFullYear()).padStart(4, "0");
return this.token.length === 2 ? A.substr(-2) : A;
}
};
dp.exports = hc;
});
// ../node_modules/prompts/dist/dateparts/index.js
var mp = m((O$, wp) => {
"use strict";
wp.exports = {
DatePart: ze(),
Meridiem: op(),
Day: ap(),
Hours: cp(),
Milliseconds: hp(),
Minutes: Ep(),
Month: Bp(),
Seconds: fp(),
Year: pp()
};
});
// ../node_modules/prompts/dist/elements/date.js
var Rp = m((T$, Mp) => {
"use strict";
function yp(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(yp, "asyncGeneratorStep");
function Dp(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
yp(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
yp(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Dp, "_asyncToGenerator");
var lc = yA(), JY = Bt(), uc = Ue(), Sp = uc.style, Kp = uc.clear, OY = uc.figures, Np = SA(), TY = Np.erase, Fp = Np.cursor, ft = mp(), kp = ft.
DatePart, HY = ft.Meridiem, jY = ft.Day, qY = ft.Hours, zY = ft.Milliseconds, WY = ft.Minutes, VY = ft.Month, XY = ft.Seconds, ZY = ft.Year,
$Y = /\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g, bp = {
1: ({
token: t
}) => t.replace(/\\(.)/g, "$1"),
2: (t) => new jY(t),
// Day // TODO
3: (t) => new VY(t),
// Month
4: (t) => new ZY(t),
// Year
5: (t) => new HY(t),
// AM/PM // TODO (special)
6: (t) => new qY(t),
// Hours
7: (t) => new WY(t),
// Minutes
8: (t) => new XY(t),
// Seconds
9: (t) => new zY(t)
// Fractional seconds
}, AP = {
months: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
monthsShort: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
weekdays: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
weekdaysShort: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")
}, Ec = class extends JY {
static {
s(this, "DatePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = 0, this.typed = "", this.locales = Object.assign(AP, A.locales), this._date = A.initial ||
/* @__PURE__ */ new Date(), this.errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.mask =
A.mask || "YYYY-MM-DD HH:mm:ss", this.clear = Kp("", this.out.columns), this.render();
}
get value() {
return this.date;
}
get date() {
return this._date;
}
set date(A) {
A && this._date.setTime(A.getTime());
}
set mask(A) {
let e;
for (this.parts = []; e = $Y.exec(A); ) {
let i = e.shift(), n = e.findIndex((o) => o != null);
this.parts.push(n in bp ? bp[n]({
token: e[n] || i,
date: this.date,
parts: this.parts,
locales: this.locales
}) : e[n] || i);
}
let r = this.parts.reduce((i, n) => (typeof n == "string" && typeof i[i.length - 1] == "string" ? i[i.length - 1] += n : i.push(n), i),
[]);
this.parts.splice(0), this.parts.push(...r), this.reset();
}
moveCursor(A) {
this.typed = "", this.cursor = A, this.fire();
}
reset() {
this.moveCursor(this.parts.findIndex((A) => A instanceof kp)), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
validate() {
var A = this;
return Dp(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return Dp(function* () {
if (yield A.validate(), A.error) {
A.color = "red", A.fire(), A.render();
return;
}
A.done = !0, A.aborted = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
up() {
this.typed = "", this.parts[this.cursor].up(), this.render();
}
down() {
this.typed = "", this.parts[this.cursor].down(), this.render();
}
left() {
let A = this.parts[this.cursor].prev();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
right() {
let A = this.parts[this.cursor].next();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
next() {
let A = this.parts[this.cursor].next();
this.moveCursor(A ? this.parts.indexOf(A) : this.parts.findIndex((e) => e instanceof kp)), this.render();
}
_(A) {
/\d/.test(A) && (this.typed += A, this.parts[this.cursor].setTo(this.typed), this.render());
}
render() {
this.closed || (this.firstRender ? this.out.write(Fp.hide) : this.out.write(Kp(this.outputText, this.out.columns)), super.render(), this.
outputText = [Sp.symbol(this.done, this.aborted), lc.bold(this.msg), Sp.delimiter(!1), this.parts.reduce((A, e, r) => A.concat(r === this.
cursor && !this.done ? lc.cyan().underline(e.toString()) : e), []).join("")].join(" "), this.error && (this.outputText += this.errorMsg.
split(`
`).reduce((A, e, r) => A + `
${r ? " " : OY.pointerSmall} ${lc.red().italic(e)}`, "")), this.out.write(TY.line + Fp.to(0) + this.outputText));
}
};
Mp.exports = Ec;
});
// ../node_modules/prompts/dist/elements/number.js
var _p = m((j$, Up) => {
"use strict";
function vp(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(vp, "asyncGeneratorStep");
function Lp(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
vp(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
vp(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Lp, "_asyncToGenerator");
var mo = yA(), eP = Bt(), Pp = SA(), yo = Pp.cursor, tP = Pp.erase, Do = Ue(), Bc = Do.style, rP = Do.figures, xp = Do.clear, iP = Do.lines,
sP = /[0-9]/, Qc = /* @__PURE__ */ s((t) => t !== void 0, "isDef"), Yp = /* @__PURE__ */ s((t, A) => {
let e = Math.pow(10, A);
return Math.round(t * e) / e;
}, "round"), fc = class extends eP {
static {
s(this, "NumberPrompt");
}
constructor(A = {}) {
super(A), this.transform = Bc.render(A.style), this.msg = A.message, this.initial = Qc(A.initial) ? A.initial : "", this.float = !!A.float,
this.round = A.round || 2, this.inc = A.increment || 1, this.min = Qc(A.min) ? A.min : -1 / 0, this.max = Qc(A.max) ? A.max : 1 / 0, this.
errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.color = "cyan", this.value = "", this.
typed = "", this.lastHit = 0, this.render();
}
set value(A) {
!A && A !== 0 ? (this.placeholder = !0, this.rendered = mo.gray(this.transform.render(`${this.initial}`)), this._value = "") : (this.placeholder =
!1, this.rendered = this.transform.render(`${Yp(A, this.round)}`), this._value = Yp(A, this.round)), this.fire();
}
get value() {
return this._value;
}
parse(A) {
return this.float ? parseFloat(A) : parseInt(A);
}
valid(A) {
return A === "-" || A === "." && this.float || sP.test(A);
}
reset() {
this.typed = "", this.value = "", this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`\
`), this.close();
}
validate() {
var A = this;
return Lp(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return Lp(function* () {
if (yield A.validate(), A.error) {
A.color = "red", A.fire(), A.render();
return;
}
let e = A.value;
A.value = e !== "" ? e : A.initial, A.done = !0, A.aborted = !1, A.error = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
up() {
if (this.typed = "", this.value === "" && (this.value = this.min - this.inc), this.value >= this.max) return this.bell();
this.value += this.inc, this.color = "cyan", this.fire(), this.render();
}
down() {
if (this.typed = "", this.value === "" && (this.value = this.min + this.inc), this.value <= this.min) return this.bell();
this.value -= this.inc, this.color = "cyan", this.fire(), this.render();
}
delete() {
let A = this.value.toString();
if (A.length === 0) return this.bell();
this.value = this.parse(A = A.slice(0, -1)) || "", this.value !== "" && this.value < this.min && (this.value = this.min), this.color =
"cyan", this.fire(), this.render();
}
next() {
this.value = this.initial, this.fire(), this.render();
}
_(A, e) {
if (!this.valid(A)) return this.bell();
let r = Date.now();
if (r - this.lastHit > 1e3 && (this.typed = ""), this.typed += A, this.lastHit = r, this.color = "cyan", A === ".") return this.fire();
this.value = Math.min(this.parse(this.typed), this.max), this.value > this.max && (this.value = this.max), this.value < this.min && (this.
value = this.min), this.fire(), this.render();
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(yo.down(iP(this.outputError, this.out.columns) - 1) + xp(this.
outputError, this.out.columns)), this.out.write(xp(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[Bc.symbol(this.done, this.aborted), mo.bold(this.msg), Bc.delimiter(this.done), !this.done || !this.done && !this.placeholder ? mo[this.
color]().underline(this.rendered) : this.rendered].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : rP.pointerSmall} ${mo.red().italic(e)}`, "")), this.out.write(tP.line + yo.to(0) + this.outputText + yo.save + this.outputError +
yo.restore));
}
};
Up.exports = fc;
});
// ../node_modules/prompts/dist/elements/multiselect.js
var pc = m((z$, Op) => {
"use strict";
var We = yA(), nP = SA(), oP = nP.cursor, gP = Bt(), ns = Ue(), Gp = ns.clear, Gt = ns.figures, Jp = ns.style, aP = ns.wrap, CP = ns.entriesToDisplay,
dc = class extends gP {
static {
s(this, "MultiselectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = A.cursor || 0, this.scrollIndex = A.cursor || 0, this.hint = A.hint || "", this.warn = A.
warn || "- This option is disabled -", this.minSelected = A.min, this.showMinError = !1, this.maxChoices = A.max, this.instructions = A.
instructions, this.optionsPerPage = A.optionsPerPage || 10, this.value = A.choices.map((e, r) => (typeof e == "string" && (e = {
title: e,
value: r
}), {
title: e && (e.title || e.value || e),
description: e && e.description,
value: e && (e.value === void 0 ? r : e.value),
selected: e && e.selected,
disabled: e && e.disabled
})), this.clear = Gp("", this.out.columns), A.overrideRender || this.render();
}
reset() {
this.value.map((A) => !A.selected), this.cursor = 0, this.fire(), this.render();
}
selected() {
return this.value.filter((A) => A.selected);
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
let A = this.value.filter((e) => e.selected);
this.minSelected && A.length < this.minSelected ? (this.showMinError = !0, this.render()) : (this.done = !0, this.aborted = !1, this.fire(),
this.render(), this.out.write(`
`), this.close());
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.value.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.value.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.value.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.value[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.value[this.cursor].selected = !0, this.render();
}
handleSpaceToggle() {
let A = this.value[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
toggleAll() {
if (this.maxChoices !== void 0 || this.value[this.cursor].disabled)
return this.bell();
let A = !this.value[this.cursor].selected;
this.value.filter((e) => !e.disabled).forEach((e) => e.selected = A), this.render();
}
_(A, e) {
if (A === " ")
this.handleSpaceToggle();
else if (A === "a")
this.toggleAll();
else
return this.bell();
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${Gt.arrowUp}/${Gt.arrowDown}: Highlight option
${Gt.arrowLeft}/${Gt.arrowRight}/[space]: Toggle selection
` + (this.maxChoices === void 0 ? ` a: Toggle all
` : "") + " enter/return: Complete answer" : "";
}
renderOption(A, e, r, i) {
let n = (e.selected ? We.green(Gt.radioOn) : Gt.radioOff) + " " + i + " ", o, g;
return e.disabled ? o = A === r ? We.gray().underline(e.title) : We.strikethrough().gray(e.title) : (o = A === r ? We.cyan().underline(
e.title) : e.title, A === r && e.description && (g = ` - ${e.description}`, (n.length + o.length + g.length >= this.out.columns || e.description.
split(/\r?\n/).length > 1) && (g = `
` + aP(e.description, {
margin: n.length,
width: this.out.columns
})))), n + o + We.gray(g || "");
}
// shared with autocompleteMultiselect
paginateOptions(A) {
if (A.length === 0)
return We.red("No matches for this query.");
let e = CP(this.cursor, A.length, this.optionsPerPage), r = e.startIndex, i = e.endIndex, n, o = [];
for (let g = r; g < i; g++)
g === r && r > 0 ? n = Gt.arrowUp : g === i - 1 && i < A.length ? n = Gt.arrowDown : n = " ", o.push(this.renderOption(this.cursor, A[g],
g, n));
return `
` + o.join(`
`);
}
// shared with autocomleteMultiselect
renderOptions(A) {
return this.done ? "" : this.paginateOptions(A);
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [We.gray(this.hint), this.renderInstructions()];
return this.value[this.cursor].disabled && A.push(We.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(oP.hide), super.render();
let A = [Jp.symbol(this.done, this.aborted), We.bold(this.msg), Jp.delimiter(!1), this.renderDoneOrInstructions()].join(" ");
this.showMinError && (A += We.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.value), this.out.write(this.clear + A), this.clear = Gp(A, this.out.columns);
}
};
Op.exports = dc;
});
// ../node_modules/prompts/dist/elements/autocomplete.js
var Vp = m((V$, Wp) => {
"use strict";
function Tp(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Tp, "asyncGeneratorStep");
function cP(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Tp(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Tp(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(cP, "_asyncToGenerator");
var os = yA(), IP = Bt(), zp = SA(), hP = zp.erase, Hp = zp.cursor, gs = Ue(), wc = gs.style, jp = gs.clear, mc = gs.figures, lP = gs.wrap,
EP = gs.entriesToDisplay, qp = /* @__PURE__ */ s((t, A) => t[A] && (t[A].value || t[A].title || t[A]), "getVal"), uP = /* @__PURE__ */ s((t, A) => t[A] &&
(t[A].title || t[A].value || t[A]), "getTitle"), BP = /* @__PURE__ */ s((t, A) => {
let e = t.findIndex((r) => r.value === A || r.title === A);
return e > -1 ? e : void 0;
}, "getIndex"), yc = class extends IP {
static {
s(this, "AutocompletePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.suggest = A.suggest, this.choices = A.choices, this.initial = typeof A.initial == "number" ? A.initial :
BP(A.choices, A.initial), this.select = this.initial || A.cursor || 0, this.i18n = {
noMatches: A.noMatches || "no matches found"
}, this.fallback = A.fallback || this.initial, this.clearFirst = A.clearFirst || !1, this.suggestions = [], this.input = "", this.limit =
A.limit || 10, this.cursor = 0, this.transform = wc.render(A.style), this.scale = this.transform.scale, this.render = this.render.bind(
this), this.complete = this.complete.bind(this), this.clear = jp("", this.out.columns), this.complete(this.render), this.render();
}
set fallback(A) {
this._fb = Number.isSafeInteger(parseInt(A)) ? parseInt(A) : A;
}
get fallback() {
let A;
return typeof this._fb == "number" ? A = this.choices[this._fb] : typeof this._fb == "string" && (A = {
title: this._fb
}), A || this._fb || {
title: this.i18n.noMatches
};
}
moveSelect(A) {
this.select = A, this.suggestions.length > 0 ? this.value = qp(this.suggestions, A) : this.value = this.fallback.value, this.fire();
}
complete(A) {
var e = this;
return cP(function* () {
let r = e.completing = e.suggest(e.input, e.choices), i = yield r;
if (e.completing !== r) return;
e.suggestions = i.map((o, g, C) => ({
title: uP(C, g),
value: qp(C, g),
description: o.description
})), e.completing = !1;
let n = Math.max(i.length - 1, 0);
e.moveSelect(Math.min(n, e.select)), A && A();
})();
}
reset() {
this.input = "", this.complete(() => {
this.moveSelect(this.initial !== void 0 ? this.initial : 0), this.render();
}), this.render();
}
exit() {
this.clearFirst && this.input.length > 0 ? this.reset() : (this.done = this.exited = !0, this.aborted = !1, this.fire(), this.render(),
this.out.write(`
`), this.close());
}
abort() {
this.done = this.aborted = !0, this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
let r = this.input.slice(0, this.cursor), i = this.input.slice(this.cursor);
this.input = `${r}${A}${i}`, this.cursor = r.length + 1, this.complete(this.render), this.render();
}
delete() {
if (this.cursor === 0) return this.bell();
let A = this.input.slice(0, this.cursor - 1), e = this.input.slice(this.cursor);
this.input = `${A}${e}`, this.complete(this.render), this.cursor = this.cursor - 1, this.render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
let A = this.input.slice(0, this.cursor), e = this.input.slice(this.cursor + 1);
this.input = `${A}${e}`, this.complete(this.render), this.render();
}
first() {
this.moveSelect(0), this.render();
}
last() {
this.moveSelect(this.suggestions.length - 1), this.render();
}
up() {
this.select === 0 ? this.moveSelect(this.suggestions.length - 1) : this.moveSelect(this.select - 1), this.render();
}
down() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
next() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
nextPage() {
this.moveSelect(Math.min(this.select + this.limit, this.suggestions.length - 1)), this.render();
}
prevPage() {
this.moveSelect(Math.max(this.select - this.limit, 0)), this.render();
}
left() {
if (this.cursor <= 0) return this.bell();
this.cursor = this.cursor - 1, this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
this.cursor = this.cursor + 1, this.render();
}
renderOption(A, e, r, i) {
let n, o = r ? mc.arrowUp : i ? mc.arrowDown : " ", g = e ? os.cyan().underline(A.title) : A.title;
return o = (e ? os.cyan(mc.pointer) + " " : " ") + o, A.description && (n = ` - ${A.description}`, (o.length + g.length + n.length >=
this.out.columns || A.description.split(/\r?\n/).length > 1) && (n = `
` + lP(A.description, {
margin: 3,
width: this.out.columns
}))), o + " " + g + os.gray(n || "");
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(Hp.hide) : this.out.write(jp(this.outputText, this.out.columns)), super.render();
let A = EP(this.select, this.choices.length, this.limit), e = A.startIndex, r = A.endIndex;
if (this.outputText = [wc.symbol(this.done, this.aborted, this.exited), os.bold(this.msg), wc.delimiter(this.completing), this.done &&
this.suggestions[this.select] ? this.suggestions[this.select].title : this.rendered = this.transform.render(this.input)].join(" "), !this.
done) {
let i = this.suggestions.slice(e, r).map((n, o) => this.renderOption(n, this.select === o + e, o === 0 && e > 0, o + e === r - 1 && r <
this.choices.length)).join(`
`);
this.outputText += `
` + (i || os.gray(this.fallback.title));
}
this.out.write(hP.line + Hp.to(0) + this.outputText);
}
};
Wp.exports = yc;
});
// ../node_modules/prompts/dist/elements/autocompleteMultiselect.js
var Aw = m((Z$, $p) => {
"use strict";
var dt = yA(), QP = SA(), fP = QP.cursor, dP = pc(), Sc = Ue(), Xp = Sc.clear, Zp = Sc.style, qr = Sc.figures, Dc = class extends dP {
static {
s(this, "AutocompleteMultiselectPrompt");
}
constructor(A = {}) {
A.overrideRender = !0, super(A), this.inputValue = "", this.clear = Xp("", this.out.columns), this.filteredOptions = this.value, this.
render();
}
last() {
this.cursor = this.filteredOptions.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.filteredOptions.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.filteredOptions.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.filteredOptions.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.filteredOptions[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.filteredOptions[this.cursor].selected = !0, this.render();
}
delete() {
this.inputValue.length && (this.inputValue = this.inputValue.substr(0, this.inputValue.length - 1), this.updateFilteredOptions());
}
updateFilteredOptions() {
let A = this.filteredOptions[this.cursor];
this.filteredOptions = this.value.filter((r) => this.inputValue ? !!(typeof r.title == "string" && r.title.toLowerCase().includes(this.
inputValue.toLowerCase()) || typeof r.value == "string" && r.value.toLowerCase().includes(this.inputValue.toLowerCase())) : !0);
let e = this.filteredOptions.findIndex((r) => r === A);
this.cursor = e < 0 ? 0 : e, this.render();
}
handleSpaceToggle() {
let A = this.filteredOptions[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
handleInputChange(A) {
this.inputValue = this.inputValue + A, this.updateFilteredOptions();
}
_(A, e) {
A === " " ? this.handleSpaceToggle() : this.handleInputChange(A);
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${qr.arrowUp}/${qr.arrowDown}: Highlight option
${qr.arrowLeft}/${qr.arrowRight}/[space]: Toggle selection
[a,b,c]/delete: Filter choices
enter/return: Complete answer
` : "";
}
renderCurrentInput() {
return `
Filtered results for: ${this.inputValue ? this.inputValue : dt.gray("Enter something to filter")}
`;
}
renderOption(A, e, r) {
let i;
return e.disabled ? i = A === r ? dt.gray().underline(e.title) : dt.strikethrough().gray(e.title) : i = A === r ? dt.cyan().underline(
e.title) : e.title, (e.selected ? dt.green(qr.radioOn) : qr.radioOff) + " " + i;
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [dt.gray(this.hint), this.renderInstructions(), this.renderCurrentInput()];
return this.filteredOptions.length && this.filteredOptions[this.cursor].disabled && A.push(dt.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(fP.hide), super.render();
let A = [Zp.symbol(this.done, this.aborted), dt.bold(this.msg), Zp.delimiter(!1), this.renderDoneOrInstructions()].join(" ");
this.showMinError && (A += dt.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.filteredOptions), this.out.write(this.clear + A), this.clear = Xp(A, this.out.columns);
}
};
$p.exports = Dc;
});
// ../node_modules/prompts/dist/elements/confirm.js
var ow = m((A9, nw) => {
"use strict";
var ew = yA(), pP = Bt(), iw = Ue(), tw = iw.style, wP = iw.clear, sw = SA(), mP = sw.erase, rw = sw.cursor, Kc = class extends pP {
static {
s(this, "ConfirmPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = A.initial, this.initialValue = !!A.initial, this.yesMsg = A.yes || "yes", this.yesOption =
A.yesOption || "(Y/n)", this.noMsg = A.no || "no", this.noOption = A.noOption || "(y/N)", this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.value = this.value || !1, this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
return A.toLowerCase() === "y" ? (this.value = !0, this.submit()) : A.toLowerCase() === "n" ? (this.value = !1, this.submit()) : this.
bell();
}
render() {
this.closed || (this.firstRender ? this.out.write(rw.hide) : this.out.write(wP(this.outputText, this.out.columns)), super.render(), this.
outputText = [tw.symbol(this.done, this.aborted), ew.bold(this.msg), tw.delimiter(this.done), this.done ? this.value ? this.yesMsg : this.
noMsg : ew.gray(this.initialValue ? this.yesOption : this.noOption)].join(" "), this.out.write(mP.line + rw.to(0) + this.outputText));
}
};
nw.exports = Kc;
});
// ../node_modules/prompts/dist/elements/index.js
var aw = m((t9, gw) => {
"use strict";
gw.exports = {
TextPrompt: zd(),
SelectPrompt: Zd(),
TogglePrompt: ip(),
DatePrompt: Rp(),
NumberPrompt: _p(),
MultiselectPrompt: pc(),
AutocompletePrompt: Vp(),
AutocompleteMultiselectPrompt: Aw(),
ConfirmPrompt: ow()
};
});
// ../node_modules/prompts/dist/prompts.js
var cw = m((Cw) => {
"use strict";
var ge = Cw, yP = aw(), So = /* @__PURE__ */ s((t) => t, "noop");
function Ve(t, A, e = {}) {
return new Promise((r, i) => {
let n = new yP[t](A), o = e.onAbort || So, g = e.onSubmit || So, C = e.onExit || So;
n.on("state", A.onState || So), n.on("submit", (I) => r(g(I))), n.on("exit", (I) => r(C(I))), n.on("abort", (I) => i(o(I)));
});
}
s(Ve, "toPrompt");
ge.text = (t) => Ve("TextPrompt", t);
ge.password = (t) => (t.style = "password", ge.text(t));
ge.invisible = (t) => (t.style = "invisible", ge.text(t));
ge.number = (t) => Ve("NumberPrompt", t);
ge.date = (t) => Ve("DatePrompt", t);
ge.confirm = (t) => Ve("ConfirmPrompt", t);
ge.list = (t) => {
let A = t.separator || ",";
return Ve("TextPrompt", t, {
onSubmit: /* @__PURE__ */ s((e) => e.split(A).map((r) => r.trim()), "onSubmit")
});
};
ge.toggle = (t) => Ve("TogglePrompt", t);
ge.select = (t) => Ve("SelectPrompt", t);
ge.multiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return Ve("MultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
ge.autocompleteMultiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return Ve("AutocompleteMultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
var DP = /* @__PURE__ */ s((t, A) => Promise.resolve(A.filter((e) => e.title.slice(0, t.length).toLowerCase() === t.toLowerCase())), "byTi\
tle");
ge.autocomplete = (t) => (t.suggest = t.suggest || DP, t.choices = [].concat(t.choices || []), Ve("AutocompletePrompt", t));
});
// ../node_modules/prompts/dist/index.js
var fw = m((s9, Qw) => {
"use strict";
function Iw(t, A) {
var e = Object.keys(t);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(t);
A && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(t, i).enumerable;
})), e.push.apply(e, r);
}
return e;
}
s(Iw, "ownKeys");
function hw(t) {
for (var A = 1; A < arguments.length; A++) {
var e = arguments[A] != null ? arguments[A] : {};
A % 2 ? Iw(Object(e), !0).forEach(function(r) {
SP(t, r, e[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(e)) : Iw(Object(e)).forEach(function(r) {
Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(e, r));
});
}
return t;
}
s(hw, "_objectSpread");
function SP(t, A, e) {
return A in t ? Object.defineProperty(t, A, { value: e, enumerable: !0, configurable: !0, writable: !0 }) : t[A] = e, t;
}
s(SP, "_defineProperty");
function KP(t, A) {
var e = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
if (!e) {
if (Array.isArray(t) || (e = FP(t)) || A && t && typeof t.length == "number") {
e && (t = e);
var r = 0, i = /* @__PURE__ */ s(function() {
}, "F");
return { s: i, n: /* @__PURE__ */ s(function() {
return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
}, "n"), e: /* @__PURE__ */ s(function(I) {
throw I;
}, "e"), f: i };
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var n = !0, o = !1, g;
return { s: /* @__PURE__ */ s(function() {
e = e.call(t);
}, "s"), n: /* @__PURE__ */ s(function() {
var I = e.next();
return n = I.done, I;
}, "n"), e: /* @__PURE__ */ s(function(I) {
o = !0, g = I;
}, "e"), f: /* @__PURE__ */ s(function() {
try {
!n && e.return != null && e.return();
} finally {
if (o) throw g;
}
}, "f") };
}
s(KP, "_createForOfIteratorHelper");
function FP(t, A) {
if (t) {
if (typeof t == "string") return lw(t, A);
var e = Object.prototype.toString.call(t).slice(8, -1);
if (e === "Object" && t.constructor && (e = t.constructor.name), e === "Map" || e === "Set") return Array.from(t);
if (e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return lw(t, A);
}
}
s(FP, "_unsupportedIterableToArray");
function lw(t, A) {
(A == null || A > t.length) && (A = t.length);
for (var e = 0, r = new Array(A); e < A; e++) r[e] = t[e];
return r;
}
s(lw, "_arrayLikeToArray");
function Ew(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Ew, "asyncGeneratorStep");
function uw(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Ew(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Ew(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(uw, "_asyncToGenerator");
var Fc = cw(), kP = ["suggest", "format", "onState", "validate", "onRender", "type"], Bw = /* @__PURE__ */ s(() => {
}, "noop");
function Jt() {
return kc.apply(this, arguments);
}
s(Jt, "prompt");
function kc() {
return kc = uw(function* (t = [], {
onSubmit: A = Bw,
onCancel: e = Bw
} = {}) {
let r = {}, i = Jt._override || {};
t = [].concat(t);
let n, o, g, C, I, E, Q = /* @__PURE__ */ function() {
var N = uw(function* (k, _, L = !1) {
if (!(!L && k.validate && k.validate(_) !== !0))
return k.format ? yield k.format(_, r) : _;
});
return /* @__PURE__ */ s(function(_, L) {
return N.apply(this, arguments);
}, "getFormattedAnswer");
}();
var B = KP(t), p;
try {
for (B.s(); !(p = B.n()).done; ) {
o = p.value;
var w = o;
if (C = w.name, I = w.type, typeof I == "function" && (I = yield I(n, hw({}, r), o), o.type = I), !!I) {
for (let N in o) {
if (kP.includes(N)) continue;
let k = o[N];
o[N] = typeof k == "function" ? yield k(n, hw({}, r), E) : k;
}
if (E = o, typeof o.message != "string")
throw new Error("prompt message is required");
var D = o;
if (C = D.name, I = D.type, Fc[I] === void 0)
throw new Error(`prompt type (${I}) is not defined`);
if (i[o.name] !== void 0 && (n = yield Q(o, i[o.name]), n !== void 0)) {
r[C] = n;
continue;
}
try {
n = Jt._injected ? bP(Jt._injected, o.initial) : yield Fc[I](o), r[C] = n = yield Q(o, n, !0), g = yield A(o, n, r);
} catch {
g = !(yield e(o, r));
}
if (g) return r;
}
}
} catch (N) {
B.e(N);
} finally {
B.f();
}
return r;
}), kc.apply(this, arguments);
}
s(kc, "_prompt");
function bP(t, A) {
let e = t.shift();
if (e instanceof Error)
throw e;
return e === void 0 ? A : e;
}
s(bP, "getInjectedAnswer");
function NP(t) {
Jt._injected = (Jt._injected || []).concat(t);
}
s(NP, "inject");
function MP(t) {
Jt._override = Object.assign({}, t);
}
s(MP, "override");
Qw.exports = Object.assign(Jt, {
prompt: Jt,
prompts: Fc,
inject: NP,
override: MP
});
});
// ../node_modules/prompts/lib/util/action.js
var pw = m((o9, dw) => {
"use strict";
dw.exports = (t, A) => {
if (!(t.meta && t.name !== "escape")) {
if (t.ctrl) {
if (t.name === "a") return "first";
if (t.name === "c" || t.name === "d") return "abort";
if (t.name === "e") return "last";
if (t.name === "g") return "reset";
}
if (A) {
if (t.name === "j") return "down";
if (t.name === "k") return "up";
}
return t.name === "return" || t.name === "enter" ? "submit" : t.name === "backspace" ? "delete" : t.name === "delete" ? "deleteForward" :
t.name === "abort" ? "abort" : t.name === "escape" ? "exit" : t.name === "tab" ? "next" : t.name === "pagedown" ? "nextPage" : t.name ===
"pageup" ? "prevPage" : t.name === "home" ? "home" : t.name === "end" ? "end" : t.name === "up" ? "up" : t.name === "down" ? "down" : t.
name === "right" ? "right" : t.name === "left" ? "left" : !1;
}
};
});
// ../node_modules/prompts/lib/util/strip.js
var Ko = m((g9, ww) => {
"use strict";
ww.exports = (t) => {
let A = [
"[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"
].join("|"), e = new RegExp(A, "g");
return typeof t == "string" ? t.replace(e, "") : t;
};
});
// ../node_modules/prompts/lib/util/clear.js
var Dw = m((a9, yw) => {
"use strict";
var RP = Ko(), { erase: mw, cursor: vP } = SA(), LP = /* @__PURE__ */ s((t) => [...RP(t)].length, "width");
yw.exports = function(t, A) {
if (!A) return mw.line + vP.to(0);
let e = 0, r = t.split(/\r?\n/);
for (let i of r)
e += 1 + Math.floor(Math.max(LP(i) - 1, 0) / A);
return mw.lines(e);
};
});
// ../node_modules/prompts/lib/util/figures.js
var bc = m((c9, Sw) => {
"use strict";
var as = {
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
radioOn: "\u25C9",
radioOff: "\u25EF",
tick: "\u2714",
cross: "\u2716",
ellipsis: "\u2026",
pointerSmall: "\u203A",
line: "\u2500",
pointer: "\u276F"
}, xP = {
arrowUp: as.arrowUp,
arrowDown: as.arrowDown,
arrowLeft: as.arrowLeft,
arrowRight: as.arrowRight,
radioOn: "(*)",
radioOff: "( )",
tick: "\u221A",
cross: "\xD7",
ellipsis: "...",
pointerSmall: "\xBB",
line: "\u2500",
pointer: ">"
}, YP = process.platform === "win32" ? xP : as;
Sw.exports = YP;
});
// ../node_modules/prompts/lib/util/style.js
var Fw = m((I9, Kw) => {
"use strict";
var zr = yA(), Ir = bc(), Nc = Object.freeze({
password: { scale: 1, render: /* @__PURE__ */ s((t) => "*".repeat(t.length), "render") },
emoji: { scale: 2, render: /* @__PURE__ */ s((t) => "\u{1F603}".repeat(t.length), "render") },
invisible: { scale: 0, render: /* @__PURE__ */ s((t) => "", "render") },
default: { scale: 1, render: /* @__PURE__ */ s((t) => `${t}`, "render") }
}), PP = /* @__PURE__ */ s((t) => Nc[t] || Nc.default, "render"), Cs = Object.freeze({
aborted: zr.red(Ir.cross),
done: zr.green(Ir.tick),
exited: zr.yellow(Ir.cross),
default: zr.cyan("?")
}), UP = /* @__PURE__ */ s((t, A, e) => A ? Cs.aborted : e ? Cs.exited : t ? Cs.done : Cs.default, "symbol"), _P = /* @__PURE__ */ s((t) => zr.
gray(t ? Ir.ellipsis : Ir.pointerSmall), "delimiter"), GP = /* @__PURE__ */ s((t, A) => zr.gray(t ? A ? Ir.pointerSmall : "+" : Ir.line), "\
item");
Kw.exports = {
styles: Nc,
render: PP,
symbols: Cs,
symbol: UP,
delimiter: _P,
item: GP
};
});
// ../node_modules/prompts/lib/util/lines.js
var bw = m((l9, kw) => {
"use strict";
var JP = Ko();
kw.exports = function(t, A) {
let e = String(JP(t) || "").split(/\r?\n/);
return A ? e.map((r) => Math.ceil(r.length / A)).reduce((r, i) => r + i) : e.length;
};
});
// ../node_modules/prompts/lib/util/wrap.js
var Mw = m((E9, Nw) => {
"use strict";
Nw.exports = (t, A = {}) => {
let e = Number.isSafeInteger(parseInt(A.margin)) ? new Array(parseInt(A.margin)).fill(" ").join("") : A.margin || "", r = A.width;
return (t || "").split(/\r?\n/g).map((i) => i.split(/\s+/g).reduce((n, o) => (o.length + e.length >= r || n[n.length - 1].length + o.length +
1 < r ? n[n.length - 1] += ` ${o}` : n.push(`${e}${o}`), n), [e]).join(`
`)).join(`
`);
};
});
// ../node_modules/prompts/lib/util/entriesToDisplay.js
var vw = m((u9, Rw) => {
"use strict";
Rw.exports = (t, A, e) => {
e = e || A;
let r = Math.min(A - e, t - Math.floor(e / 2));
r < 0 && (r = 0);
let i = Math.min(r + e, A);
return { startIndex: r, endIndex: i };
};
});
// ../node_modules/prompts/lib/util/index.js
var _e = m((B9, Lw) => {
"use strict";
Lw.exports = {
action: pw(),
clear: Dw(),
style: Fw(),
strip: Ko(),
figures: bc(),
lines: bw(),
wrap: Mw(),
entriesToDisplay: vw()
};
});
// ../node_modules/prompts/lib/elements/prompt.js
var pt = m((Q9, Yw) => {
"use strict";
var xw = v("readline"), { action: OP } = _e(), TP = v("events"), { beep: HP, cursor: jP } = SA(), qP = yA(), Mc = class extends TP {
static {
s(this, "Prompt");
}
constructor(A = {}) {
super(), this.firstRender = !0, this.in = A.stdin || process.stdin, this.out = A.stdout || process.stdout, this.onRender = (A.onRender ||
(() => {
})).bind(this);
let e = xw.createInterface({ input: this.in, escapeCodeTimeout: 50 });
xw.emitKeypressEvents(this.in, e), this.in.isTTY && this.in.setRawMode(!0);
let r = ["SelectPrompt", "MultiselectPrompt"].indexOf(this.constructor.name) > -1, i = /* @__PURE__ */ s((n, o) => {
let g = OP(o, r);
g === !1 ? this._ && this._(n, o) : typeof this[g] == "function" ? this[g](o) : this.bell();
}, "keypress");
this.close = () => {
this.out.write(jP.show), this.in.removeListener("keypress", i), this.in.isTTY && this.in.setRawMode(!1), e.close(), this.emit(this.aborted ?
"abort" : this.exited ? "exit" : "submit", this.value), this.closed = !0;
}, this.in.on("keypress", i);
}
fire() {
this.emit("state", {
value: this.value,
aborted: !!this.aborted,
exited: !!this.exited
});
}
bell() {
this.out.write(HP);
}
render() {
this.onRender(qP), this.firstRender && (this.firstRender = !1);
}
};
Yw.exports = Mc;
});
// ../node_modules/prompts/lib/elements/text.js
var Uw = m((d9, Pw) => {
var Fo = yA(), zP = pt(), { erase: WP, cursor: cs } = SA(), { style: Rc, clear: vc, lines: VP, figures: XP } = _e(), Lc = class extends zP {
static {
s(this, "TextPrompt");
}
constructor(A = {}) {
super(A), this.transform = Rc.render(A.style), this.scale = this.transform.scale, this.msg = A.message, this.initial = A.initial || "",
this.validator = A.validate || (() => !0), this.value = "", this.errorMsg = A.error || "Please Enter A Valid Value", this.cursor = +!!this.
initial, this.cursorOffset = 0, this.clear = vc("", this.out.columns), this.render();
}
set value(A) {
!A && this.initial ? (this.placeholder = !0, this.rendered = Fo.gray(this.transform.render(this.initial))) : (this.placeholder = !1, this.
rendered = this.transform.render(A)), this._value = A, this.fire();
}
get value() {
return this._value;
}
reset() {
this.value = "", this.cursor = +!!this.initial, this.cursorOffset = 0, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.value = this.value || this.initial, this.done = this.aborted = !0, this.error = !1, this.red = !1, this.fire(), this.render(), this.
out.write(`
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (this.value = this.value || this.initial, this.cursorOffset = 0, this.cursor = this.rendered.length, await this.validate(), this.error) {
this.red = !0, this.fire(), this.render();
return;
}
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
next() {
if (!this.placeholder) return this.bell();
this.value = this.initial, this.cursor = this.rendered.length, this.fire(), this.render();
}
moveCursor(A) {
this.placeholder || (this.cursor = this.cursor + A, this.cursorOffset += A);
}
_(A, e) {
let r = this.value.slice(0, this.cursor), i = this.value.slice(this.cursor);
this.value = `${r}${A}${i}`, this.red = !1, this.cursor = this.placeholder ? 0 : r.length + 1, this.render();
}
delete() {
if (this.isCursorAtStart()) return this.bell();
let A = this.value.slice(0, this.cursor - 1), e = this.value.slice(this.cursor);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtStart() ? this.cursorOffset = 0 : (this.cursorOffset++, this.moveCursor(-1)), this.
render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
let A = this.value.slice(0, this.cursor), e = this.value.slice(this.cursor + 1);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtEnd() ? this.cursorOffset = 0 : this.cursorOffset++, this.render();
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length, this.render();
}
left() {
if (this.cursor <= 0 || this.placeholder) return this.bell();
this.moveCursor(-1), this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
this.moveCursor(1), this.render();
}
isCursorAtStart() {
return this.cursor === 0 || this.placeholder && this.cursor === 1;
}
isCursorAtEnd() {
return this.cursor === this.rendered.length || this.placeholder && this.cursor === this.rendered.length + 1;
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(cs.down(VP(this.outputError, this.out.columns) - 1) + vc(this.
outputError, this.out.columns)), this.out.write(vc(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[
Rc.symbol(this.done, this.aborted),
Fo.bold(this.msg),
Rc.delimiter(this.done),
this.red ? Fo.red(this.rendered) : this.rendered
].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : XP.pointerSmall} ${Fo.red().italic(e)}`, "")), this.out.write(WP.line + cs.to(0) + this.outputText + cs.save + this.outputError +
cs.restore + cs.move(this.cursorOffset, 0)));
}
};
Pw.exports = Lc;
});
// ../node_modules/prompts/lib/elements/select.js
var Ow = m((w9, Jw) => {
"use strict";
var wt = yA(), ZP = pt(), { style: _w, clear: Gw, figures: ko, wrap: $P, entriesToDisplay: AU } = _e(), { cursor: eU } = SA(), xc = class extends ZP {
static {
s(this, "SelectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.hint = A.hint || "- Use arrow-keys. Return to submit.", this.warn = A.warn || "- This option is d\
isabled", this.cursor = A.initial || 0, this.choices = A.choices.map((e, r) => (typeof e == "string" && (e = { title: e, value: r }), {
title: e && (e.title || e.value || e),
value: e && (e.value === void 0 ? r : e.value),
description: e && e.description,
selected: e && e.selected,
disabled: e && e.disabled
})), this.optionsPerPage = A.optionsPerPage || 10, this.value = (this.choices[this.cursor] || {}).value, this.clear = Gw("", this.out.
columns), this.render();
}
moveCursor(A) {
this.cursor = A, this.value = this.choices[A].value, this.fire();
}
reset() {
this.moveCursor(0), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.selection.disabled ? this.bell() : (this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close());
}
first() {
this.moveCursor(0), this.render();
}
last() {
this.moveCursor(this.choices.length - 1), this.render();
}
up() {
this.cursor === 0 ? this.moveCursor(this.choices.length - 1) : this.moveCursor(this.cursor - 1), this.render();
}
down() {
this.cursor === this.choices.length - 1 ? this.moveCursor(0) : this.moveCursor(this.cursor + 1), this.render();
}
next() {
this.moveCursor((this.cursor + 1) % this.choices.length), this.render();
}
_(A, e) {
if (A === " ") return this.submit();
}
get selection() {
return this.choices[this.cursor];
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(eU.hide) : this.out.write(Gw(this.outputText, this.out.columns)), super.render();
let { startIndex: A, endIndex: e } = AU(this.cursor, this.choices.length, this.optionsPerPage);
if (this.outputText = [
_w.symbol(this.done, this.aborted),
wt.bold(this.msg),
_w.delimiter(!1),
this.done ? this.selection.title : this.selection.disabled ? wt.yellow(this.warn) : wt.gray(this.hint)
].join(" "), !this.done) {
this.outputText += `
`;
for (let r = A; r < e; r++) {
let i, n, o = "", g = this.choices[r];
r === A && A > 0 ? n = ko.arrowUp : r === e - 1 && e < this.choices.length ? n = ko.arrowDown : n = " ", g.disabled ? (i = this.cursor ===
r ? wt.gray().underline(g.title) : wt.strikethrough().gray(g.title), n = (this.cursor === r ? wt.bold().gray(ko.pointer) + " " : "\
") + n) : (i = this.cursor === r ? wt.cyan().underline(g.title) : g.title, n = (this.cursor === r ? wt.cyan(ko.pointer) + " " : " ") + n,
g.description && this.cursor === r && (o = ` - ${g.description}`, (n.length + i.length + o.length >= this.out.columns || g.description.
split(/\r?\n/).length > 1) && (o = `
` + $P(g.description, { margin: 3, width: this.out.columns })))), this.outputText += `${n} ${i}${wt.gray(o)}
`;
}
}
this.out.write(this.outputText);
}
};
Jw.exports = xc;
});
// ../node_modules/prompts/lib/elements/toggle.js
var qw = m((y9, jw) => {
var bo = yA(), tU = pt(), { style: Tw, clear: rU } = _e(), { cursor: Hw, erase: iU } = SA(), Yc = class extends tU {
static {
s(this, "TogglePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = !!A.initial, this.active = A.active || "on", this.inactive = A.inactive || "off", this.initialValue =
this.value, this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
deactivate() {
if (this.value === !1) return this.bell();
this.value = !1, this.render();
}
activate() {
if (this.value === !0) return this.bell();
this.value = !0, this.render();
}
delete() {
this.deactivate();
}
left() {
this.deactivate();
}
right() {
this.activate();
}
down() {
this.deactivate();
}
up() {
this.activate();
}
next() {
this.value = !this.value, this.fire(), this.render();
}
_(A, e) {
if (A === " ")
this.value = !this.value;
else if (A === "1")
this.value = !0;
else if (A === "0")
this.value = !1;
else return this.bell();
this.render();
}
render() {
this.closed || (this.firstRender ? this.out.write(Hw.hide) : this.out.write(rU(this.outputText, this.out.columns)), super.render(), this.
outputText = [
Tw.symbol(this.done, this.aborted),
bo.bold(this.msg),
Tw.delimiter(this.done),
this.value ? this.inactive : bo.cyan().underline(this.inactive),
bo.gray("/"),
this.value ? bo.cyan().underline(this.active) : this.active
].join(" "), this.out.write(iU.line + Hw.to(0) + this.outputText));
}
};
jw.exports = Yc;
});
// ../node_modules/prompts/lib/dateparts/datepart.js
var Xe = m((S9, zw) => {
"use strict";
var Pc = class t {
static {
s(this, "DatePart");
}
constructor({ token: A, date: e, parts: r, locales: i }) {
this.token = A, this.date = e || /* @__PURE__ */ new Date(), this.parts = r || [this], this.locales = i || {};
}
up() {
}
down() {
}
next() {
let A = this.parts.indexOf(this);
return this.parts.find((e, r) => r > A && e instanceof t);
}
setTo(A) {
}
prev() {
let A = [].concat(this.parts).reverse(), e = A.indexOf(this);
return A.find((r, i) => i > e && r instanceof t);
}
toString() {
return String(this.date);
}
};
zw.exports = Pc;
});
// ../node_modules/prompts/lib/dateparts/meridiem.js
var Vw = m((F9, Ww) => {
"use strict";
var sU = Xe(), Uc = class extends sU {
static {
s(this, "Meridiem");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours((this.date.getHours() + 12) % 24);
}
down() {
this.up();
}
toString() {
let A = this.date.getHours() > 12 ? "pm" : "am";
return /\A/.test(this.token) ? A.toUpperCase() : A;
}
};
Ww.exports = Uc;
});
// ../node_modules/prompts/lib/dateparts/day.js
var Zw = m((b9, Xw) => {
"use strict";
var nU = Xe(), oU = /* @__PURE__ */ s((t) => (t = t % 10, t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th"), "pos"), _c = class extends nU {
static {
s(this, "Day");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setDate(this.date.getDate() + 1);
}
down() {
this.date.setDate(this.date.getDate() - 1);
}
setTo(A) {
this.date.setDate(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getDate(), e = this.date.getDay();
return this.token === "DD" ? String(A).padStart(2, "0") : this.token === "Do" ? A + oU(A) : this.token === "d" ? e + 1 : this.token ===
"ddd" ? this.locales.weekdaysShort[e] : this.token === "dddd" ? this.locales.weekdays[e] : A;
}
};
Xw.exports = _c;
});
// ../node_modules/prompts/lib/dateparts/hours.js
var Am = m((M9, $w) => {
"use strict";
var gU = Xe(), Gc = class extends gU {
static {
s(this, "Hours");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours(this.date.getHours() + 1);
}
down() {
this.date.setHours(this.date.getHours() - 1);
}
setTo(A) {
this.date.setHours(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getHours();
return /h/.test(this.token) && (A = A % 12 || 12), this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
$w.exports = Gc;
});
// ../node_modules/prompts/lib/dateparts/milliseconds.js
var tm = m((v9, em) => {
"use strict";
var aU = Xe(), Jc = class extends aU {
static {
s(this, "Milliseconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMilliseconds(this.date.getMilliseconds() + 1);
}
down() {
this.date.setMilliseconds(this.date.getMilliseconds() - 1);
}
setTo(A) {
this.date.setMilliseconds(parseInt(A.substr(-this.token.length)));
}
toString() {
return String(this.date.getMilliseconds()).padStart(4, "0").substr(0, this.token.length);
}
};
em.exports = Jc;
});
// ../node_modules/prompts/lib/dateparts/minutes.js
var im = m((x9, rm) => {
"use strict";
var CU = Xe(), Oc = class extends CU {
static {
s(this, "Minutes");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMinutes(this.date.getMinutes() + 1);
}
down() {
this.date.setMinutes(this.date.getMinutes() - 1);
}
setTo(A) {
this.date.setMinutes(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getMinutes();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
rm.exports = Oc;
});
// ../node_modules/prompts/lib/dateparts/month.js
var nm = m((P9, sm) => {
"use strict";
var cU = Xe(), Tc = class extends cU {
static {
s(this, "Month");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMonth(this.date.getMonth() + 1);
}
down() {
this.date.setMonth(this.date.getMonth() - 1);
}
setTo(A) {
A = parseInt(A.substr(-2)) - 1, this.date.setMonth(A < 0 ? 0 : A);
}
toString() {
let A = this.date.getMonth(), e = this.token.length;
return e === 2 ? String(A + 1).padStart(2, "0") : e === 3 ? this.locales.monthsShort[A] : e === 4 ? this.locales.months[A] : String(A +
1);
}
};
sm.exports = Tc;
});
// ../node_modules/prompts/lib/dateparts/seconds.js
var gm = m((_9, om) => {
"use strict";
var IU = Xe(), Hc = class extends IU {
static {
s(this, "Seconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setSeconds(this.date.getSeconds() + 1);
}
down() {
this.date.setSeconds(this.date.getSeconds() - 1);
}
setTo(A) {
this.date.setSeconds(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getSeconds();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
om.exports = Hc;
});
// ../node_modules/prompts/lib/dateparts/year.js
var Cm = m((J9, am) => {
"use strict";
var hU = Xe(), jc = class extends hU {
static {
s(this, "Year");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setFullYear(this.date.getFullYear() + 1);
}
down() {
this.date.setFullYear(this.date.getFullYear() - 1);
}
setTo(A) {
this.date.setFullYear(A.substr(-4));
}
toString() {
let A = String(this.date.getFullYear()).padStart(4, "0");
return this.token.length === 2 ? A.substr(-2) : A;
}
};
am.exports = jc;
});
// ../node_modules/prompts/lib/dateparts/index.js
var Im = m((T9, cm) => {
"use strict";
cm.exports = {
DatePart: Xe(),
Meridiem: Vw(),
Day: Zw(),
Hours: Am(),
Milliseconds: tm(),
Minutes: im(),
Month: nm(),
Seconds: gm(),
Year: Cm()
};
});
// ../node_modules/prompts/lib/elements/date.js
var fm = m((H9, Qm) => {
"use strict";
var qc = yA(), lU = pt(), { style: hm, clear: lm, figures: EU } = _e(), { erase: uU, cursor: Em } = SA(), { DatePart: um, Meridiem: BU, Day: QU,
Hours: fU, Milliseconds: dU, Minutes: pU, Month: wU, Seconds: mU, Year: yU } = Im(), DU = /\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,
Bm = {
1: ({ token: t }) => t.replace(/\\(.)/g, "$1"),
2: (t) => new QU(t),
// Day // TODO
3: (t) => new wU(t),
// Month
4: (t) => new yU(t),
// Year
5: (t) => new BU(t),
// AM/PM // TODO (special)
6: (t) => new fU(t),
// Hours
7: (t) => new pU(t),
// Minutes
8: (t) => new mU(t),
// Seconds
9: (t) => new dU(t)
// Fractional seconds
}, SU = {
months: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
monthsShort: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
weekdays: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
weekdaysShort: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")
}, zc = class extends lU {
static {
s(this, "DatePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = 0, this.typed = "", this.locales = Object.assign(SU, A.locales), this._date = A.initial ||
/* @__PURE__ */ new Date(), this.errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.mask =
A.mask || "YYYY-MM-DD HH:mm:ss", this.clear = lm("", this.out.columns), this.render();
}
get value() {
return this.date;
}
get date() {
return this._date;
}
set date(A) {
A && this._date.setTime(A.getTime());
}
set mask(A) {
let e;
for (this.parts = []; e = DU.exec(A); ) {
let i = e.shift(), n = e.findIndex((o) => o != null);
this.parts.push(n in Bm ? Bm[n]({ token: e[n] || i, date: this.date, parts: this.parts, locales: this.locales }) : e[n] || i);
}
let r = this.parts.reduce((i, n) => (typeof n == "string" && typeof i[i.length - 1] == "string" ? i[i.length - 1] += n : i.push(n), i),
[]);
this.parts.splice(0), this.parts.push(...r), this.reset();
}
moveCursor(A) {
this.typed = "", this.cursor = A, this.fire();
}
reset() {
this.moveCursor(this.parts.findIndex((A) => A instanceof um)), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (await this.validate(), this.error) {
this.color = "red", this.fire(), this.render();
return;
}
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
up() {
this.typed = "", this.parts[this.cursor].up(), this.render();
}
down() {
this.typed = "", this.parts[this.cursor].down(), this.render();
}
left() {
let A = this.parts[this.cursor].prev();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
right() {
let A = this.parts[this.cursor].next();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
next() {
let A = this.parts[this.cursor].next();
this.moveCursor(A ? this.parts.indexOf(A) : this.parts.findIndex((e) => e instanceof um)), this.render();
}
_(A) {
/\d/.test(A) && (this.typed += A, this.parts[this.cursor].setTo(this.typed), this.render());
}
render() {
this.closed || (this.firstRender ? this.out.write(Em.hide) : this.out.write(lm(this.outputText, this.out.columns)), super.render(), this.
outputText = [
hm.symbol(this.done, this.aborted),
qc.bold(this.msg),
hm.delimiter(!1),
this.parts.reduce((A, e, r) => A.concat(r === this.cursor && !this.done ? qc.cyan().underline(e.toString()) : e), []).join("")
].join(" "), this.error && (this.outputText += this.errorMsg.split(`
`).reduce(
(A, e, r) => A + `
${r ? " " : EU.pointerSmall} ${qc.red().italic(e)}`,
""
)), this.out.write(uU.line + Em.to(0) + this.outputText));
}
};
Qm.exports = zc;
});
// ../node_modules/prompts/lib/elements/number.js
var mm = m((q9, wm) => {
var No = yA(), KU = pt(), { cursor: Mo, erase: FU } = SA(), { style: Wc, figures: kU, clear: dm, lines: bU } = _e(), NU = /[0-9]/, Vc = /* @__PURE__ */ s(
(t) => t !== void 0, "isDef"), pm = /* @__PURE__ */ s((t, A) => {
let e = Math.pow(10, A);
return Math.round(t * e) / e;
}, "round"), Xc = class extends KU {
static {
s(this, "NumberPrompt");
}
constructor(A = {}) {
super(A), this.transform = Wc.render(A.style), this.msg = A.message, this.initial = Vc(A.initial) ? A.initial : "", this.float = !!A.float,
this.round = A.round || 2, this.inc = A.increment || 1, this.min = Vc(A.min) ? A.min : -1 / 0, this.max = Vc(A.max) ? A.max : 1 / 0, this.
errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.color = "cyan", this.value = "", this.
typed = "", this.lastHit = 0, this.render();
}
set value(A) {
!A && A !== 0 ? (this.placeholder = !0, this.rendered = No.gray(this.transform.render(`${this.initial}`)), this._value = "") : (this.placeholder =
!1, this.rendered = this.transform.render(`${pm(A, this.round)}`), this._value = pm(A, this.round)), this.fire();
}
get value() {
return this._value;
}
parse(A) {
return this.float ? parseFloat(A) : parseInt(A);
}
valid(A) {
return A === "-" || A === "." && this.float || NU.test(A);
}
reset() {
this.typed = "", this.value = "", this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`\
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (await this.validate(), this.error) {
this.color = "red", this.fire(), this.render();
return;
}
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = !0, this.aborted = !1, this.error = !1, this.fire(), this.render(), this.out.write(
`
`), this.close();
}
up() {
if (this.typed = "", this.value === "" && (this.value = this.min - this.inc), this.value >= this.max) return this.bell();
this.value += this.inc, this.color = "cyan", this.fire(), this.render();
}
down() {
if (this.typed = "", this.value === "" && (this.value = this.min + this.inc), this.value <= this.min) return this.bell();
this.value -= this.inc, this.color = "cyan", this.fire(), this.render();
}
delete() {
let A = this.value.toString();
if (A.length === 0) return this.bell();
this.value = this.parse(A = A.slice(0, -1)) || "", this.value !== "" && this.value < this.min && (this.value = this.min), this.color =
"cyan", this.fire(), this.render();
}
next() {
this.value = this.initial, this.fire(), this.render();
}
_(A, e) {
if (!this.valid(A)) return this.bell();
let r = Date.now();
if (r - this.lastHit > 1e3 && (this.typed = ""), this.typed += A, this.lastHit = r, this.color = "cyan", A === ".") return this.fire();
this.value = Math.min(this.parse(this.typed), this.max), this.value > this.max && (this.value = this.max), this.value < this.min && (this.
value = this.min), this.fire(), this.render();
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(Mo.down(bU(this.outputError, this.out.columns) - 1) + dm(this.
outputError, this.out.columns)), this.out.write(dm(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[
Wc.symbol(this.done, this.aborted),
No.bold(this.msg),
Wc.delimiter(this.done),
!this.done || !this.done && !this.placeholder ? No[this.color]().underline(this.rendered) : this.rendered
].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : kU.pointerSmall} ${No.red().italic(e)}`, "")), this.out.write(FU.line + Mo.to(0) + this.outputText + Mo.save + this.outputError +
Mo.restore));
}
};
wm.exports = Xc;
});
// ../node_modules/prompts/lib/elements/multiselect.js
var $c = m((W9, Sm) => {
"use strict";
var Ze = yA(), { cursor: MU } = SA(), RU = pt(), { clear: ym, figures: Ot, style: Dm, wrap: vU, entriesToDisplay: LU } = _e(), Zc = class extends RU {
static {
s(this, "MultiselectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = A.cursor || 0, this.scrollIndex = A.cursor || 0, this.hint = A.hint || "", this.warn = A.
warn || "- This option is disabled -", this.minSelected = A.min, this.showMinError = !1, this.maxChoices = A.max, this.instructions = A.
instructions, this.optionsPerPage = A.optionsPerPage || 10, this.value = A.choices.map((e, r) => (typeof e == "string" && (e = { title: e,
value: r }), {
title: e && (e.title || e.value || e),
description: e && e.description,
value: e && (e.value === void 0 ? r : e.value),
selected: e && e.selected,
disabled: e && e.disabled
})), this.clear = ym("", this.out.columns), A.overrideRender || this.render();
}
reset() {
this.value.map((A) => !A.selected), this.cursor = 0, this.fire(), this.render();
}
selected() {
return this.value.filter((A) => A.selected);
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
let A = this.value.filter((e) => e.selected);
this.minSelected && A.length < this.minSelected ? (this.showMinError = !0, this.render()) : (this.done = !0, this.aborted = !1, this.fire(),
this.render(), this.out.write(`
`), this.close());
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.value.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.value.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.value.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.value[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.value[this.cursor].selected = !0, this.render();
}
handleSpaceToggle() {
let A = this.value[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
toggleAll() {
if (this.maxChoices !== void 0 || this.value[this.cursor].disabled)
return this.bell();
let A = !this.value[this.cursor].selected;
this.value.filter((e) => !e.disabled).forEach((e) => e.selected = A), this.render();
}
_(A, e) {
if (A === " ")
this.handleSpaceToggle();
else if (A === "a")
this.toggleAll();
else
return this.bell();
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${Ot.arrowUp}/${Ot.arrowDown}: Highlight option
${Ot.arrowLeft}/${Ot.arrowRight}/[space]: Toggle selection
` + (this.maxChoices === void 0 ? ` a: Toggle all
` : "") + " enter/return: Complete answer" : "";
}
renderOption(A, e, r, i) {
let n = (e.selected ? Ze.green(Ot.radioOn) : Ot.radioOff) + " " + i + " ", o, g;
return e.disabled ? o = A === r ? Ze.gray().underline(e.title) : Ze.strikethrough().gray(e.title) : (o = A === r ? Ze.cyan().underline(
e.title) : e.title, A === r && e.description && (g = ` - ${e.description}`, (n.length + o.length + g.length >= this.out.columns || e.description.
split(/\r?\n/).length > 1) && (g = `
` + vU(e.description, { margin: n.length, width: this.out.columns })))), n + o + Ze.gray(g || "");
}
// shared with autocompleteMultiselect
paginateOptions(A) {
if (A.length === 0)
return Ze.red("No matches for this query.");
let { startIndex: e, endIndex: r } = LU(this.cursor, A.length, this.optionsPerPage), i, n = [];
for (let o = e; o < r; o++)
o === e && e > 0 ? i = Ot.arrowUp : o === r - 1 && r < A.length ? i = Ot.arrowDown : i = " ", n.push(this.renderOption(this.cursor, A[o],
o, i));
return `
` + n.join(`
`);
}
// shared with autocomleteMultiselect
renderOptions(A) {
return this.done ? "" : this.paginateOptions(A);
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [Ze.gray(this.hint), this.renderInstructions()];
return this.value[this.cursor].disabled && A.push(Ze.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(MU.hide), super.render();
let A = [
Dm.symbol(this.done, this.aborted),
Ze.bold(this.msg),
Dm.delimiter(!1),
this.renderDoneOrInstructions()
].join(" ");
this.showMinError && (A += Ze.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.value), this.out.write(this.clear + A), this.clear = ym(A, this.out.columns);
}
};
Sm.exports = Zc;
});
// ../node_modules/prompts/lib/elements/autocomplete.js
var Nm = m((X9, bm) => {
"use strict";
var Is = yA(), xU = pt(), { erase: YU, cursor: Km } = SA(), { style: AI, clear: Fm, figures: eI, wrap: PU, entriesToDisplay: UU } = _e(), km = /* @__PURE__ */ s(
(t, A) => t[A] && (t[A].value || t[A].title || t[A]), "getVal"), _U = /* @__PURE__ */ s((t, A) => t[A] && (t[A].title || t[A].value || t[A]),
"getTitle"), GU = /* @__PURE__ */ s((t, A) => {
let e = t.findIndex((r) => r.value === A || r.title === A);
return e > -1 ? e : void 0;
}, "getIndex"), tI = class extends xU {
static {
s(this, "AutocompletePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.suggest = A.suggest, this.choices = A.choices, this.initial = typeof A.initial == "number" ? A.initial :
GU(A.choices, A.initial), this.select = this.initial || A.cursor || 0, this.i18n = { noMatches: A.noMatches || "no matches found" }, this.
fallback = A.fallback || this.initial, this.clearFirst = A.clearFirst || !1, this.suggestions = [], this.input = "", this.limit = A.limit ||
10, this.cursor = 0, this.transform = AI.render(A.style), this.scale = this.transform.scale, this.render = this.render.bind(this), this.
complete = this.complete.bind(this), this.clear = Fm("", this.out.columns), this.complete(this.render), this.render();
}
set fallback(A) {
this._fb = Number.isSafeInteger(parseInt(A)) ? parseInt(A) : A;
}
get fallback() {
let A;
return typeof this._fb == "number" ? A = this.choices[this._fb] : typeof this._fb == "string" && (A = { title: this._fb }), A || this.
_fb || { title: this.i18n.noMatches };
}
moveSelect(A) {
this.select = A, this.suggestions.length > 0 ? this.value = km(this.suggestions, A) : this.value = this.fallback.value, this.fire();
}
async complete(A) {
let e = this.completing = this.suggest(this.input, this.choices), r = await e;
if (this.completing !== e) return;
this.suggestions = r.map((n, o, g) => ({ title: _U(g, o), value: km(g, o), description: n.description })), this.completing = !1;
let i = Math.max(r.length - 1, 0);
this.moveSelect(Math.min(i, this.select)), A && A();
}
reset() {
this.input = "", this.complete(() => {
this.moveSelect(this.initial !== void 0 ? this.initial : 0), this.render();
}), this.render();
}
exit() {
this.clearFirst && this.input.length > 0 ? this.reset() : (this.done = this.exited = !0, this.aborted = !1, this.fire(), this.render(),
this.out.write(`
`), this.close());
}
abort() {
this.done = this.aborted = !0, this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
let r = this.input.slice(0, this.cursor), i = this.input.slice(this.cursor);
this.input = `${r}${A}${i}`, this.cursor = r.length + 1, this.complete(this.render), this.render();
}
delete() {
if (this.cursor === 0) return this.bell();
let A = this.input.slice(0, this.cursor - 1), e = this.input.slice(this.cursor);
this.input = `${A}${e}`, this.complete(this.render), this.cursor = this.cursor - 1, this.render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
let A = this.input.slice(0, this.cursor), e = this.input.slice(this.cursor + 1);
this.input = `${A}${e}`, this.complete(this.render), this.render();
}
first() {
this.moveSelect(0), this.render();
}
last() {
this.moveSelect(this.suggestions.length - 1), this.render();
}
up() {
this.select === 0 ? this.moveSelect(this.suggestions.length - 1) : this.moveSelect(this.select - 1), this.render();
}
down() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
next() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
nextPage() {
this.moveSelect(Math.min(this.select + this.limit, this.suggestions.length - 1)), this.render();
}
prevPage() {
this.moveSelect(Math.max(this.select - this.limit, 0)), this.render();
}
left() {
if (this.cursor <= 0) return this.bell();
this.cursor = this.cursor - 1, this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
this.cursor = this.cursor + 1, this.render();
}
renderOption(A, e, r, i) {
let n, o = r ? eI.arrowUp : i ? eI.arrowDown : " ", g = e ? Is.cyan().underline(A.title) : A.title;
return o = (e ? Is.cyan(eI.pointer) + " " : " ") + o, A.description && (n = ` - ${A.description}`, (o.length + g.length + n.length >=
this.out.columns || A.description.split(/\r?\n/).length > 1) && (n = `
` + PU(A.description, { margin: 3, width: this.out.columns }))), o + " " + g + Is.gray(n || "");
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(Km.hide) : this.out.write(Fm(this.outputText, this.out.columns)), super.render();
let { startIndex: A, endIndex: e } = UU(this.select, this.choices.length, this.limit);
if (this.outputText = [
AI.symbol(this.done, this.aborted, this.exited),
Is.bold(this.msg),
AI.delimiter(this.completing),
this.done && this.suggestions[this.select] ? this.suggestions[this.select].title : this.rendered = this.transform.render(this.input)
].join(" "), !this.done) {
let r = this.suggestions.slice(A, e).map((i, n) => this.renderOption(
i,
this.select === n + A,
n === 0 && A > 0,
n + A === e - 1 && e < this.choices.length
)).join(`
`);
this.outputText += `
` + (r || Is.gray(this.fallback.title));
}
this.out.write(YU.line + Km.to(0) + this.outputText);
}
};
bm.exports = tI;
});
// ../node_modules/prompts/lib/elements/autocompleteMultiselect.js
var Lm = m(($9, vm) => {
"use strict";
var mt = yA(), { cursor: JU } = SA(), OU = $c(), { clear: Mm, style: Rm, figures: Wr } = _e(), rI = class extends OU {
static {
s(this, "AutocompleteMultiselectPrompt");
}
constructor(A = {}) {
A.overrideRender = !0, super(A), this.inputValue = "", this.clear = Mm("", this.out.columns), this.filteredOptions = this.value, this.
render();
}
last() {
this.cursor = this.filteredOptions.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.filteredOptions.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.filteredOptions.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.filteredOptions.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.filteredOptions[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.filteredOptions[this.cursor].selected = !0, this.render();
}
delete() {
this.inputValue.length && (this.inputValue = this.inputValue.substr(0, this.inputValue.length - 1), this.updateFilteredOptions());
}
updateFilteredOptions() {
let A = this.filteredOptions[this.cursor];
this.filteredOptions = this.value.filter((r) => this.inputValue ? !!(typeof r.title == "string" && r.title.toLowerCase().includes(this.
inputValue.toLowerCase()) || typeof r.value == "string" && r.value.toLowerCase().includes(this.inputValue.toLowerCase())) : !0);
let e = this.filteredOptions.findIndex((r) => r === A);
this.cursor = e < 0 ? 0 : e, this.render();
}
handleSpaceToggle() {
let A = this.filteredOptions[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
handleInputChange(A) {
this.inputValue = this.inputValue + A, this.updateFilteredOptions();
}
_(A, e) {
A === " " ? this.handleSpaceToggle() : this.handleInputChange(A);
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${Wr.arrowUp}/${Wr.arrowDown}: Highlight option
${Wr.arrowLeft}/${Wr.arrowRight}/[space]: Toggle selection
[a,b,c]/delete: Filter choices
enter/return: Complete answer
` : "";
}
renderCurrentInput() {
return `
Filtered results for: ${this.inputValue ? this.inputValue : mt.gray("Enter something to filter")}
`;
}
renderOption(A, e, r) {
let i;
return e.disabled ? i = A === r ? mt.gray().underline(e.title) : mt.strikethrough().gray(e.title) : i = A === r ? mt.cyan().underline(
e.title) : e.title, (e.selected ? mt.green(Wr.radioOn) : Wr.radioOff) + " " + i;
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [mt.gray(this.hint), this.renderInstructions(), this.renderCurrentInput()];
return this.filteredOptions.length && this.filteredOptions[this.cursor].disabled && A.push(mt.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(JU.hide), super.render();
let A = [
Rm.symbol(this.done, this.aborted),
mt.bold(this.msg),
Rm.delimiter(!1),
this.renderDoneOrInstructions()
].join(" ");
this.showMinError && (A += mt.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.filteredOptions), this.out.write(this.clear + A), this.clear = Mm(A, this.out.columns);
}
};
vm.exports = rI;
});
// ../node_modules/prompts/lib/elements/confirm.js
var _m = m((e6, Um) => {
var xm = yA(), TU = pt(), { style: Ym, clear: HU } = _e(), { erase: jU, cursor: Pm } = SA(), iI = class extends TU {
static {
s(this, "ConfirmPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = A.initial, this.initialValue = !!A.initial, this.yesMsg = A.yes || "yes", this.yesOption =
A.yesOption || "(Y/n)", this.noMsg = A.no || "no", this.noOption = A.noOption || "(y/N)", this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.value = this.value || !1, this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
return A.toLowerCase() === "y" ? (this.value = !0, this.submit()) : A.toLowerCase() === "n" ? (this.value = !1, this.submit()) : this.
bell();
}
render() {
this.closed || (this.firstRender ? this.out.write(Pm.hide) : this.out.write(HU(this.outputText, this.out.columns)), super.render(), this.
outputText = [
Ym.symbol(this.done, this.aborted),
xm.bold(this.msg),
Ym.delimiter(this.done),
this.done ? this.value ? this.yesMsg : this.noMsg : xm.gray(this.initialValue ? this.yesOption : this.noOption)
].join(" "), this.out.write(jU.line + Pm.to(0) + this.outputText));
}
};
Um.exports = iI;
});
// ../node_modules/prompts/lib/elements/index.js
var Jm = m((r6, Gm) => {
"use strict";
Gm.exports = {
TextPrompt: Uw(),
SelectPrompt: Ow(),
TogglePrompt: qw(),
DatePrompt: fm(),
NumberPrompt: mm(),
MultiselectPrompt: $c(),
AutocompletePrompt: Nm(),
AutocompleteMultiselectPrompt: Lm(),
ConfirmPrompt: _m()
};
});
// ../node_modules/prompts/lib/prompts.js
var Tm = m((Om) => {
"use strict";
var ae = Om, qU = Jm(), Ro = /* @__PURE__ */ s((t) => t, "noop");
function $e(t, A, e = {}) {
return new Promise((r, i) => {
let n = new qU[t](A), o = e.onAbort || Ro, g = e.onSubmit || Ro, C = e.onExit || Ro;
n.on("state", A.onState || Ro), n.on("submit", (I) => r(g(I))), n.on("exit", (I) => r(C(I))), n.on("abort", (I) => i(o(I)));
});
}
s($e, "toPrompt");
ae.text = (t) => $e("TextPrompt", t);
ae.password = (t) => (t.style = "password", ae.text(t));
ae.invisible = (t) => (t.style = "invisible", ae.text(t));
ae.number = (t) => $e("NumberPrompt", t);
ae.date = (t) => $e("DatePrompt", t);
ae.confirm = (t) => $e("ConfirmPrompt", t);
ae.list = (t) => {
let A = t.separator || ",";
return $e("TextPrompt", t, {
onSubmit: /* @__PURE__ */ s((e) => e.split(A).map((r) => r.trim()), "onSubmit")
});
};
ae.toggle = (t) => $e("TogglePrompt", t);
ae.select = (t) => $e("SelectPrompt", t);
ae.multiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return $e("MultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
ae.autocompleteMultiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return $e("AutocompleteMultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
var zU = /* @__PURE__ */ s((t, A) => Promise.resolve(
A.filter((e) => e.title.slice(0, t.length).toLowerCase() === t.toLowerCase())
), "byTitle");
ae.autocomplete = (t) => (t.suggest = t.suggest || zU, t.choices = [].concat(t.choices || []), $e("AutocompletePrompt", t));
});
// ../node_modules/prompts/lib/index.js
var qm = m((n6, jm) => {
"use strict";
var sI = Tm(), WU = ["suggest", "format", "onState", "validate", "onRender", "type"], Hm = /* @__PURE__ */ s(() => {
}, "noop");
async function Tt(t = [], { onSubmit: A = Hm, onCancel: e = Hm } = {}) {
let r = {}, i = Tt._override || {};
t = [].concat(t);
let n, o, g, C, I, E, Q = /* @__PURE__ */ s(async (B, p, w = !1) => {
if (!(!w && B.validate && B.validate(p) !== !0))
return B.format ? await B.format(p, r) : p;
}, "getFormattedAnswer");
for (o of t)
if ({ name: C, type: I } = o, typeof I == "function" && (I = await I(n, { ...r }, o), o.type = I), !!I) {
for (let B in o) {
if (WU.includes(B)) continue;
let p = o[B];
o[B] = typeof p == "function" ? await p(n, { ...r }, E) : p;
}
if (E = o, typeof o.message != "string")
throw new Error("prompt message is required");
if ({ name: C, type: I } = o, sI[I] === void 0)
throw new Error(`prompt type (${I}) is not defined`);
if (i[o.name] !== void 0 && (n = await Q(o, i[o.name]), n !== void 0)) {
r[C] = n;
continue;
}
try {
n = Tt._injected ? VU(Tt._injected, o.initial) : await sI[I](o), r[C] = n = await Q(o, n, !0), g = await A(o, n, r);
} catch {
g = !await e(o, r);
}
if (g) return r;
}
return r;
}
s(Tt, "prompt");
function VU(t, A) {
let e = t.shift();
if (e instanceof Error)
throw e;
return e === void 0 ? A : e;
}
s(VU, "getInjectedAnswer");
function XU(t) {
Tt._injected = (Tt._injected || []).concat(t);
}
s(XU, "inject");
function ZU(t) {
Tt._override = Object.assign({}, t);
}
s(ZU, "override");
jm.exports = Object.assign(Tt, { prompt: Tt, prompts: sI, inject: XU, override: ZU });
});
// ../node_modules/prompts/index.js
var Wm = m((g6, zm) => {
function $U(t) {
t = (Array.isArray(t) ? t : t.split(".")).map(Number);
let A = 0, e = process.versions.node.split(".").map(Number);
for (; A < t.length; A++) {
if (e[A] > t[A]) return !1;
if (t[A] > e[A]) return !0;
}
return !1;
}
s($U, "isNodeLT");
zm.exports = $U("8.6.0") ? fw() : qm();
});
// ../node_modules/globby/node_modules/@sindresorhus/merge-streams/index.js
import { on as A_, once as e_ } from "node:events";
import { PassThrough as t_ } from "node:stream";
import { finished as Zm } from "node:stream/promises";
function aI(t) {
if (!Array.isArray(t))
throw new TypeError(`Expected an array, got \`${typeof t}\`.`);
for (let i of t)
oI(i);
let A = t.some(({ readableObjectMode: i }) => i), e = r_(t, A), r = new nI({
objectMode: A,
writableHighWaterMark: e,
readableHighWaterMark: e
});
for (let i of t)
r.add(i);
return t.length === 0 && ey(r), r;
}
var r_, nI, i_, s_, n_, oI, o_, $m, g_, a_, C_, Ay, ey, gI, ty, c_, vo, Vm, Xm, ry = ue(() => {
s(aI, "mergeStreams");
r_ = /* @__PURE__ */ s((t, A) => {
if (t.length === 0)
return 16384;
let e = t.filter(({ readableObjectMode: r }) => r === A).map(({ readableHighWaterMark: r }) => r);
return Math.max(...e);
}, "getHighWaterMark"), nI = class extends t_ {
static {
s(this, "MergedStream");
}
#A = /* @__PURE__ */ new Set([]);
#e = /* @__PURE__ */ new Set([]);
#t = /* @__PURE__ */ new Set([]);
#r;
add(A) {
oI(A), !this.#A.has(A) && (this.#A.add(A), this.#r ??= i_(this, this.#A), o_({
passThroughStream: this,
stream: A,
streams: this.#A,
ended: this.#e,
aborted: this.#t,
onFinished: this.#r
}), A.pipe(this, { end: !1 }));
}
remove(A) {
return oI(A), this.#A.has(A) ? (A.unpipe(this), !0) : !1;
}
}, i_ = /* @__PURE__ */ s(async (t, A) => {
vo(t, Vm);
let e = new AbortController();
try {
await Promise.race([
s_(t, e),
n_(t, A, e)
]);
} finally {
e.abort(), vo(t, -Vm);
}
}, "onMergedStreamFinished"), s_ = /* @__PURE__ */ s(async (t, { signal: A }) => {
await Zm(t, { signal: A, cleanup: !0 });
}, "onMergedStreamEnd"), n_ = /* @__PURE__ */ s(async (t, A, { signal: e }) => {
for await (let [r] of A_(t, "unpipe", { signal: e }))
A.has(r) && r.emit(Ay);
}, "onInputStreamsUnpipe"), oI = /* @__PURE__ */ s((t) => {
if (typeof t?.pipe != "function")
throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`);
}, "validateStream"), o_ = /* @__PURE__ */ s(async ({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, onFinished: n }) => {
vo(t, Xm);
let o = new AbortController();
try {
await Promise.race([
g_(n, A),
a_({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, controller: o }),
C_({ stream: A, streams: e, ended: r, aborted: i, controller: o })
]);
} finally {
o.abort(), vo(t, -Xm);
}
e.size === r.size + i.size && (r.size === 0 && i.size > 0 ? gI(t) : ey(t));
}, "endWhenStreamsDone"), $m = /* @__PURE__ */ s((t) => t?.code === "ERR_STREAM_PREMATURE_CLOSE", "isAbortError"), g_ = /* @__PURE__ */ s(
async (t, A) => {
try {
await t, gI(A);
} catch (e) {
$m(e) ? gI(A) : ty(A, e);
}
}, "afterMergedStreamFinished"), a_ = /* @__PURE__ */ s(async ({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, controller: {
signal: n } }) => {
try {
await Zm(A, { signal: n, cleanup: !0, readable: !0, writable: !1 }), e.has(A) && r.add(A);
} catch (o) {
if (n.aborted || !e.has(A))
return;
$m(o) ? i.add(A) : ty(t, o);
}
}, "onInputStreamEnd"), C_ = /* @__PURE__ */ s(async ({ stream: t, streams: A, ended: e, aborted: r, controller: { signal: i } }) => {
await e_(t, Ay, { signal: i }), A.delete(t), e.delete(t), r.delete(t);
}, "onInputStreamUnpipe"), Ay = Symbol("unpipe"), ey = /* @__PURE__ */ s((t) => {
t.writable && t.end();
}, "endStream"), gI = /* @__PURE__ */ s((t) => {
(t.readable || t.writable) && t.destroy();
}, "abortStream"), ty = /* @__PURE__ */ s((t, A) => {
t.destroyed || (t.once("error", c_), t.destroy(A));
}, "errorStream"), c_ = /* @__PURE__ */ s(() => {
}, "noop"), vo = /* @__PURE__ */ s((t, A) => {
let e = t.getMaxListeners();
e !== 0 && e !== Number.POSITIVE_INFINITY && t.setMaxListeners(e + A);
}, "updateMaxListeners"), Vm = 2, Xm = 1;
});
// ../node_modules/fast-glob/out/utils/array.js
var iy = m((Vr) => {
"use strict";
Object.defineProperty(Vr, "__esModule", { value: !0 });
Vr.splitWhen = Vr.flatten = void 0;
function I_(t) {
return t.reduce((A, e) => [].concat(A, e), []);
}
s(I_, "flatten");
Vr.flatten = I_;
function h_(t, A) {
let e = [[]], r = 0;
for (let i of t)
A(i) ? (r++, e[r] = []) : e[r].push(i);
return e;
}
s(h_, "splitWhen");
Vr.splitWhen = h_;
});
// ../node_modules/fast-glob/out/utils/errno.js
var sy = m((Lo) => {
"use strict";
Object.defineProperty(Lo, "__esModule", { value: !0 });
Lo.isEnoentCodeError = void 0;
function l_(t) {
return t.code === "ENOENT";
}
s(l_, "isEnoentCodeError");
Lo.isEnoentCodeError = l_;
});
// ../node_modules/fast-glob/out/utils/fs.js
var ny = m((xo) => {
"use strict";
Object.defineProperty(xo, "__esModule", { value: !0 });
xo.createDirentFromStats = void 0;
var CI = class {
static {
s(this, "DirentFromStats");
}
constructor(A, e) {
this.name = A, this.isBlockDevice = e.isBlockDevice.bind(e), this.isCharacterDevice = e.isCharacterDevice.bind(e), this.isDirectory = e.
isDirectory.bind(e), this.isFIFO = e.isFIFO.bind(e), this.isFile = e.isFile.bind(e), this.isSocket = e.isSocket.bind(e), this.isSymbolicLink =
e.isSymbolicLink.bind(e);
}
};
function E_(t, A) {
return new CI(t, A);
}
s(E_, "createDirentFromStats");
xo.createDirentFromStats = E_;
});
// ../node_modules/fast-glob/out/utils/path.js
var Cy = m((MA) => {
"use strict";
Object.defineProperty(MA, "__esModule", { value: !0 });
MA.convertPosixPathToPattern = MA.convertWindowsPathToPattern = MA.convertPathToPattern = MA.escapePosixPath = MA.escapeWindowsPath = MA.escape =
MA.removeLeadingDotSegment = MA.makeAbsolute = MA.unixify = void 0;
var u_ = v("os"), B_ = v("path"), oy = u_.platform() === "win32", Q_ = 2, f_ = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,
d_ = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g, p_ = /^\\\\([.?])/, w_ = /\\(?![!()+@[\]{}])/g;
function m_(t) {
return t.replace(/\\/g, "/");
}
s(m_, "unixify");
MA.unixify = m_;
function y_(t, A) {
return B_.resolve(t, A);
}
s(y_, "makeAbsolute");
MA.makeAbsolute = y_;
function D_(t) {
if (t.charAt(0) === ".") {
let A = t.charAt(1);
if (A === "/" || A === "\\")
return t.slice(Q_);
}
return t;
}
s(D_, "removeLeadingDotSegment");
MA.removeLeadingDotSegment = D_;
MA.escape = oy ? cI : II;
function cI(t) {
return t.replace(d_, "\\$2");
}
s(cI, "escapeWindowsPath");
MA.escapeWindowsPath = cI;
function II(t) {
return t.replace(f_, "\\$2");
}
s(II, "escapePosixPath");
MA.escapePosixPath = II;
MA.convertPathToPattern = oy ? gy : ay;
function gy(t) {
return cI(t).replace(p_, "//$1").replace(w_, "/");
}
s(gy, "convertWindowsPathToPattern");
MA.convertWindowsPathToPattern = gy;
function ay(t) {
return II(t);
}
s(ay, "convertPosixPathToPattern");
MA.convertPosixPathToPattern = ay;
});
// ../node_modules/is-extglob/index.js
var Iy = m((m6, cy) => {
cy.exports = /* @__PURE__ */ s(function(A) {
if (typeof A != "string" || A === "")
return !1;
for (var e; e = /(\\).|([@?!+*]\(.*\))/g.exec(A); ) {
if (e[2]) return !0;
A = A.slice(e.index + e[0].length);
}
return !1;
}, "isExtglob");
});
// ../node_modules/is-glob/index.js
var Ey = m((D6, ly) => {
var S_ = Iy(), hy = { "{": "}", "(": ")", "[": "]" }, K_ = /* @__PURE__ */ s(function(t) {
if (t[0] === "!")
return !0;
for (var A = 0, e = -2, r = -2, i = -2, n = -2, o = -2; A < t.length; ) {
if (t[A] === "*" || t[A + 1] === "?" && /[\].+)]/.test(t[A]) || r !== -1 && t[A] === "[" && t[A + 1] !== "]" && (r < A && (r = t.indexOf(
"]", A)), r > A && (o === -1 || o > r || (o = t.indexOf("\\", A), o === -1 || o > r))) || i !== -1 && t[A] === "{" && t[A + 1] !== "}" &&
(i = t.indexOf("}", A), i > A && (o = t.indexOf("\\", A), o === -1 || o > i)) || n !== -1 && t[A] === "(" && t[A + 1] === "?" && /[:!=]/.
test(t[A + 2]) && t[A + 3] !== ")" && (n = t.indexOf(")", A), n > A && (o = t.indexOf("\\", A), o === -1 || o > n)) || e !== -1 && t[A] ===
"(" && t[A + 1] !== "|" && (e < A && (e = t.indexOf("|", A)), e !== -1 && t[e + 1] !== ")" && (n = t.indexOf(")", e), n > e && (o = t.
indexOf("\\", e), o === -1 || o > n))))
return !0;
if (t[A] === "\\") {
var g = t[A + 1];
A += 2;
var C = hy[g];
if (C) {
var I = t.indexOf(C, A);
I !== -1 && (A = I + 1);
}
if (t[A] === "!")
return !0;
} else
A++;
}
return !1;
}, "strictCheck"), F_ = /* @__PURE__ */ s(function(t) {
if (t[0] === "!")
return !0;
for (var A = 0; A < t.length; ) {
if (/[*?{}()[\]]/.test(t[A]))
return !0;
if (t[A] === "\\") {
var e = t[A + 1];
A += 2;
var r = hy[e];
if (r) {
var i = t.indexOf(r, A);
i !== -1 && (A = i + 1);
}
if (t[A] === "!")
return !0;
} else
A++;
}
return !1;
}, "relaxedCheck");
ly.exports = /* @__PURE__ */ s(function(A, e) {
if (typeof A != "string" || A === "")
return !1;
if (S_(A))
return !0;
var r = K_;
return e && e.strict === !1 && (r = F_), r(A);
}, "isGlob");
});
// ../node_modules/fast-glob/node_modules/glob-parent/index.js
var By = m((K6, uy) => {
"use strict";
var k_ = Ey(), b_ = v("path").posix.dirname, N_ = v("os").platform() === "win32", hI = "/", M_ = /\\/g, R_ = /[\{\[].*[\}\]]$/, v_ = /(^|[^\\])([\{\[]|\([^\)]+$)/,
L_ = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
uy.exports = /* @__PURE__ */ s(function(A, e) {
var r = Object.assign({ flipBackslashes: !0 }, e);
r.flipBackslashes && N_ && A.indexOf(hI) < 0 && (A = A.replace(M_, hI)), R_.test(A) && (A += hI), A += "a";
do
A = b_(A);
while (k_(A) || v_.test(A));
return A.replace(L_, "$1");
}, "globParent");
});
// ../node_modules/braces/lib/utils.js
var Yo = m((me) => {
"use strict";
me.isInteger = (t) => typeof t == "number" ? Number.isInteger(t) : typeof t == "string" && t.trim() !== "" ? Number.isInteger(Number(t)) :
!1;
me.find = (t, A) => t.nodes.find((e) => e.type === A);
me.exceedsLimit = (t, A, e = 1, r) => r === !1 || !me.isInteger(t) || !me.isInteger(A) ? !1 : (Number(A) - Number(t)) / Number(e) >= r;
me.escapeNode = (t, A = 0, e) => {
let r = t.nodes[A];
r && (e && r.type === e || r.type === "open" || r.type === "close") && r.escaped !== !0 && (r.value = "\\" + r.value, r.escaped = !0);
};
me.encloseBrace = (t) => t.type !== "brace" ? !1 : t.commas >> 0 + t.ranges >> 0 === 0 ? (t.invalid = !0, !0) : !1;
me.isInvalidBrace = (t) => t.type !== "brace" ? !1 : t.invalid === !0 || t.dollar ? !0 : t.commas >> 0 + t.ranges >> 0 === 0 || t.open !==
!0 || t.close !== !0 ? (t.invalid = !0, !0) : !1;
me.isOpenOrClose = (t) => t.type === "open" || t.type === "close" ? !0 : t.open === !0 || t.close === !0;
me.reduce = (t) => t.reduce((A, e) => (e.type === "text" && A.push(e.value), e.type === "range" && (e.type = "text"), A), []);
me.flatten = (...t) => {
let A = [], e = /* @__PURE__ */ s((r) => {
for (let i = 0; i < r.length; i++) {
let n = r[i];
if (Array.isArray(n)) {
e(n);
continue;
}
n !== void 0 && A.push(n);
}
return A;
}, "flat");
return e(t), A;
};
});
// ../node_modules/braces/lib/stringify.js
var Po = m((N6, fy) => {
"use strict";
var Qy = Yo();
fy.exports = (t, A = {}) => {
let e = /* @__PURE__ */ s((r, i = {}) => {
let n = A.escapeInvalid && Qy.isInvalidBrace(i), o = r.invalid === !0 && A.escapeInvalid === !0, g = "";
if (r.value)
return (n || o) && Qy.isOpenOrClose(r) ? "\\" + r.value : r.value;
if (r.value)
return r.value;
if (r.nodes)
for (let C of r.nodes)
g += e(C);
return g;
}, "stringify");
return e(t);
};
});
// ../node_modules/is-number/index.js
var py = m((R6, dy) => {
"use strict";
dy.exports = function(t) {
return typeof t == "number" ? t - t === 0 : typeof t == "string" && t.trim() !== "" ? Number.isFinite ? Number.isFinite(+t) : isFinite(+t) :
!1;
};
});
// ../node_modules/to-regex-range/index.js
var by = m((v6, ky) => {
"use strict";
var wy = py(), hr = /* @__PURE__ */ s((t, A, e) => {
if (wy(t) === !1)
throw new TypeError("toRegexRange: expected the first argument to be a number");
if (A === void 0 || t === A)
return String(t);
if (wy(A) === !1)
throw new TypeError("toRegexRange: expected the second argument to be a number.");
let r = { relaxZeros: !0, ...e };
typeof r.strictZeros == "boolean" && (r.relaxZeros = r.strictZeros === !1);
let i = String(r.relaxZeros), n = String(r.shorthand), o = String(r.capture), g = String(r.wrap), C = t + ":" + A + "=" + i + n + o + g;
if (hr.cache.hasOwnProperty(C))
return hr.cache[C].result;
let I = Math.min(t, A), E = Math.max(t, A);
if (Math.abs(I - E) === 1) {
let D = t + "|" + A;
return r.capture ? `(${D})` : r.wrap === !1 ? D : `(?:${D})`;
}
let Q = Fy(t) || Fy(A), B = { min: t, max: A, a: I, b: E }, p = [], w = [];
if (Q && (B.isPadded = Q, B.maxLen = String(B.max).length), I < 0) {
let D = E < 0 ? Math.abs(E) : 1;
w = my(D, Math.abs(I), B, r), I = B.a = 0;
}
return E >= 0 && (p = my(I, E, B, r)), B.negatives = w, B.positives = p, B.result = x_(w, p, r), r.capture === !0 ? B.result = `(${B.result}\
)` : r.wrap !== !1 && p.length + w.length > 1 && (B.result = `(?:${B.result})`), hr.cache[C] = B, B.result;
}, "toRegexRange");
function x_(t, A, e) {
let r = lI(t, A, "-", !1, e) || [], i = lI(A, t, "", !1, e) || [], n = lI(t, A, "-?", !0, e) || [];
return r.concat(n).concat(i).join("|");
}
s(x_, "collatePatterns");
function Y_(t, A) {
let e = 1, r = 1, i = Dy(t, e), n = /* @__PURE__ */ new Set([A]);
for (; t <= i && i <= A; )
n.add(i), e += 1, i = Dy(t, e);
for (i = Sy(A + 1, r) - 1; t < i && i <= A; )
n.add(i), r += 1, i = Sy(A + 1, r) - 1;
return n = [...n], n.sort(__), n;
}
s(Y_, "splitToRanges");
function P_(t, A, e) {
if (t === A)
return { pattern: t, count: [], digits: 0 };
let r = U_(t, A), i = r.length, n = "", o = 0;
for (let g = 0; g < i; g++) {
let [C, I] = r[g];
C === I ? n += C : C !== "0" || I !== "9" ? n += G_(C, I, e) : o++;
}
return o && (n += e.shorthand === !0 ? "\\d" : "[0-9]"), { pattern: n, count: [o], digits: i };
}
s(P_, "rangeToPattern");
function my(t, A, e, r) {
let i = Y_(t, A), n = [], o = t, g;
for (let C = 0; C < i.length; C++) {
let I = i[C], E = P_(String(o), String(I), r), Q = "";
if (!e.isPadded && g && g.pattern === E.pattern) {
g.count.length > 1 && g.count.pop(), g.count.push(E.count[0]), g.string = g.pattern + Ky(g.count), o = I + 1;
continue;
}
e.isPadded && (Q = J_(I, e, r)), E.string = Q + E.pattern + Ky(E.count), n.push(E), o = I + 1, g = E;
}
return n;
}
s(my, "splitToPatterns");
function lI(t, A, e, r, i) {
let n = [];
for (let o of t) {
let { string: g } = o;
!r && !yy(A, "string", g) && n.push(e + g), r && yy(A, "string", g) && n.push(e + g);
}
return n;
}
s(lI, "filterPatterns");
function U_(t, A) {
let e = [];
for (let r = 0; r < t.length; r++) e.push([t[r], A[r]]);
return e;
}
s(U_, "zip");
function __(t, A) {
return t > A ? 1 : A > t ? -1 : 0;
}
s(__, "compare");
function yy(t, A, e) {
return t.some((r) => r[A] === e);
}
s(yy, "contains");
function Dy(t, A) {
return Number(String(t).slice(0, -A) + "9".repeat(A));
}
s(Dy, "countNines");
function Sy(t, A) {
return t - t % Math.pow(10, A);
}
s(Sy, "countZeros");
function Ky(t) {
let [A = 0, e = ""] = t;
return e || A > 1 ? `{${A + (e ? "," + e : "")}}` : "";
}
s(Ky, "toQuantifier");
function G_(t, A, e) {
return `[${t}${A - t === 1 ? "" : "-"}${A}]`;
}
s(G_, "toCharacterClass");
function Fy(t) {
return /^-?(0+)\d/.test(t);
}
s(Fy, "hasPadding");
function J_(t, A, e) {
if (!A.isPadded)
return t;
let r = Math.abs(A.maxLen - String(t).length), i = e.relaxZeros !== !1;
switch (r) {
case 0:
return "";
case 1:
return i ? "0?" : "0";
case 2:
return i ? "0{0,2}" : "00";
default:
return i ? `0{0,${r}}` : `0{${r}}`;
}
}
s(J_, "padZeros");
hr.cache = {};
hr.clearCache = () => hr.cache = {};
ky.exports = hr;
});
// ../node_modules/fill-range/index.js
var BI = m((x6, Yy) => {
"use strict";
var O_ = v("util"), My = by(), Ny = /* @__PURE__ */ s((t) => t !== null && typeof t == "object" && !Array.isArray(t), "isObject"), T_ = /* @__PURE__ */ s(
(t) => (A) => t === !0 ? Number(A) : String(A), "transform"), EI = /* @__PURE__ */ s((t) => typeof t == "number" || typeof t == "string" &&
t !== "", "isValidValue"), hs = /* @__PURE__ */ s((t) => Number.isInteger(+t), "isNumber"), uI = /* @__PURE__ */ s((t) => {
let A = `${t}`, e = -1;
if (A[0] === "-" && (A = A.slice(1)), A === "0") return !1;
for (; A[++e] === "0"; ) ;
return e > 0;
}, "zeros"), H_ = /* @__PURE__ */ s((t, A, e) => typeof t == "string" || typeof A == "string" ? !0 : e.stringify === !0, "stringify"), j_ = /* @__PURE__ */ s(
(t, A, e) => {
if (A > 0) {
let r = t[0] === "-" ? "-" : "";
r && (t = t.slice(1)), t = r + t.padStart(r ? A - 1 : A, "0");
}
return e === !1 ? String(t) : t;
}, "pad"), _o = /* @__PURE__ */ s((t, A) => {
let e = t[0] === "-" ? "-" : "";
for (e && (t = t.slice(1), A--); t.length < A; ) t = "0" + t;
return e ? "-" + t : t;
}, "toMaxLen"), q_ = /* @__PURE__ */ s((t, A, e) => {
t.negatives.sort((g, C) => g < C ? -1 : g > C ? 1 : 0), t.positives.sort((g, C) => g < C ? -1 : g > C ? 1 : 0);
let r = A.capture ? "" : "?:", i = "", n = "", o;
return t.positives.length && (i = t.positives.map((g) => _o(String(g), e)).join("|")), t.negatives.length && (n = `-(${r}${t.negatives.map(
(g) => _o(String(g), e)).join("|")})`), i && n ? o = `${i}|${n}` : o = i || n, A.wrap ? `(${r}${o})` : o;
}, "toSequence"), Ry = /* @__PURE__ */ s((t, A, e, r) => {
if (e)
return My(t, A, { wrap: !1, ...r });
let i = String.fromCharCode(t);
if (t === A) return i;
let n = String.fromCharCode(A);
return `[${i}-${n}]`;
}, "toRange"), vy = /* @__PURE__ */ s((t, A, e) => {
if (Array.isArray(t)) {
let r = e.wrap === !0, i = e.capture ? "" : "?:";
return r ? `(${i}${t.join("|")})` : t.join("|");
}
return My(t, A, e);
}, "toRegex"), Ly = /* @__PURE__ */ s((...t) => new RangeError("Invalid range arguments: " + O_.inspect(...t)), "rangeError"), xy = /* @__PURE__ */ s(
(t, A, e) => {
if (e.strictRanges === !0) throw Ly([t, A]);
return [];
}, "invalidRange"), z_ = /* @__PURE__ */ s((t, A) => {
if (A.strictRanges === !0)
throw new TypeError(`Expected step "${t}" to be a number`);
return [];
}, "invalidStep"), W_ = /* @__PURE__ */ s((t, A, e = 1, r = {}) => {
let i = Number(t), n = Number(A);
if (!Number.isInteger(i) || !Number.isInteger(n)) {
if (r.strictRanges === !0) throw Ly([t, A]);
return [];
}
i === 0 && (i = 0), n === 0 && (n = 0);
let o = i > n, g = String(t), C = String(A), I = String(e);
e = Math.max(Math.abs(e), 1);
let E = uI(g) || uI(C) || uI(I), Q = E ? Math.max(g.length, C.length, I.length) : 0, B = E === !1 && H_(t, A, r) === !1, p = r.transform ||
T_(B);
if (r.toRegex && e === 1)
return Ry(_o(t, Q), _o(A, Q), !0, r);
let w = { negatives: [], positives: [] }, D = /* @__PURE__ */ s((_) => w[_ < 0 ? "negatives" : "positives"].push(Math.abs(_)), "push"), N = [],
k = 0;
for (; o ? i >= n : i <= n; )
r.toRegex === !0 && e > 1 ? D(i) : N.push(j_(p(i, k), Q, B)), i = o ? i - e : i + e, k++;
return r.toRegex === !0 ? e > 1 ? q_(w, r, Q) : vy(N, null, { wrap: !1, ...r }) : N;
}, "fillNumbers"), V_ = /* @__PURE__ */ s((t, A, e = 1, r = {}) => {
if (!hs(t) && t.length > 1 || !hs(A) && A.length > 1)
return xy(t, A, r);
let i = r.transform || ((B) => String.fromCharCode(B)), n = `${t}`.charCodeAt(0), o = `${A}`.charCodeAt(0), g = n > o, C = Math.min(n, o),
I = Math.max(n, o);
if (r.toRegex && e === 1)
return Ry(C, I, !1, r);
let E = [], Q = 0;
for (; g ? n >= o : n <= o; )
E.push(i(n, Q)), n = g ? n - e : n + e, Q++;
return r.toRegex === !0 ? vy(E, null, { wrap: !1, options: r }) : E;
}, "fillLetters"), Uo = /* @__PURE__ */ s((t, A, e, r = {}) => {
if (A == null && EI(t))
return [t];
if (!EI(t) || !EI(A))
return xy(t, A, r);
if (typeof e == "function")
return Uo(t, A, 1, { transform: e });
if (Ny(e))
return Uo(t, A, 0, e);
let i = { ...r };
return i.capture === !0 && (i.wrap = !0), e = e || i.step || 1, hs(e) ? hs(t) && hs(A) ? W_(t, A, e, i) : V_(t, A, Math.max(Math.abs(e),
1), i) : e != null && !Ny(e) ? z_(e, i) : Uo(t, A, 1, e);
}, "fill");
Yy.exports = Uo;
});
// ../node_modules/braces/lib/compile.js
var _y = m((P6, Uy) => {
"use strict";
var X_ = BI(), Py = Yo(), Z_ = /* @__PURE__ */ s((t, A = {}) => {
let e = /* @__PURE__ */ s((r, i = {}) => {
let n = Py.isInvalidBrace(i), o = r.invalid === !0 && A.escapeInvalid === !0, g = n === !0 || o === !0, C = A.escapeInvalid === !0 ? "\
\\" : "", I = "";
if (r.isOpen === !0)
return C + r.value;
if (r.isClose === !0)
return console.log("node.isClose", C, r.value), C + r.value;
if (r.type === "open")
return g ? C + r.value : "(";
if (r.type === "close")
return g ? C + r.value : ")";
if (r.type === "comma")
return r.prev.type === "comma" ? "" : g ? r.value : "|";
if (r.value)
return r.value;
if (r.nodes && r.ranges > 0) {
let E = Py.reduce(r.nodes), Q = X_(...E, { ...A, wrap: !1, toRegex: !0, strictZeros: !0 });
if (Q.length !== 0)
return E.length > 1 && Q.length > 1 ? `(${Q})` : Q;
}
if (r.nodes)
for (let E of r.nodes)
I += e(E, r);
return I;
}, "walk");
return e(t);
}, "compile");
Uy.exports = Z_;
});
// ../node_modules/braces/lib/expand.js
var Oy = m((_6, Jy) => {
"use strict";
var $_ = BI(), Gy = Po(), Xr = Yo(), lr = /* @__PURE__ */ s((t = "", A = "", e = !1) => {
let r = [];
if (t = [].concat(t), A = [].concat(A), !A.length) return t;
if (!t.length)
return e ? Xr.flatten(A).map((i) => `{${i}}`) : A;
for (let i of t)
if (Array.isArray(i))
for (let n of i)
r.push(lr(n, A, e));
else
for (let n of A)
e === !0 && typeof n == "string" && (n = `{${n}}`), r.push(Array.isArray(n) ? lr(i, n, e) : i + n);
return Xr.flatten(r);
}, "append"), AG = /* @__PURE__ */ s((t, A = {}) => {
let e = A.rangeLimit === void 0 ? 1e3 : A.rangeLimit, r = /* @__PURE__ */ s((i, n = {}) => {
i.queue = [];
let o = n, g = n.queue;
for (; o.type !== "brace" && o.type !== "root" && o.parent; )
o = o.parent, g = o.queue;
if (i.invalid || i.dollar) {
g.push(lr(g.pop(), Gy(i, A)));
return;
}
if (i.type === "brace" && i.invalid !== !0 && i.nodes.length === 2) {
g.push(lr(g.pop(), ["{}"]));
return;
}
if (i.nodes && i.ranges > 0) {
let Q = Xr.reduce(i.nodes);
if (Xr.exceedsLimit(...Q, A.step, e))
throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
let B = $_(...Q, A);
B.length === 0 && (B = Gy(i, A)), g.push(lr(g.pop(), B)), i.nodes = [];
return;
}
let C = Xr.encloseBrace(i), I = i.queue, E = i;
for (; E.type !== "brace" && E.type !== "root" && E.parent; )
E = E.parent, I = E.queue;
for (let Q = 0; Q < i.nodes.length; Q++) {
let B = i.nodes[Q];
if (B.type === "comma" && i.type === "brace") {
Q === 1 && I.push(""), I.push("");
continue;
}
if (B.type === "close") {
g.push(lr(g.pop(), I, C));
continue;
}
if (B.value && B.type !== "open") {
I.push(lr(I.pop(), B.value));
continue;
}
B.nodes && r(B, i);
}
return I;
}, "walk");
return Xr.flatten(r(t));
}, "expand");
Jy.exports = AG;
});
// ../node_modules/braces/lib/constants.js
var Hy = m((J6, Ty) => {
"use strict";
Ty.exports = {
MAX_LENGTH: 1e4,
// Digits
CHAR_0: "0",
/* 0 */
CHAR_9: "9",
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: "A",
/* A */
CHAR_LOWERCASE_A: "a",
/* a */
CHAR_UPPERCASE_Z: "Z",
/* Z */
CHAR_LOWERCASE_Z: "z",
/* z */
CHAR_LEFT_PARENTHESES: "(",
/* ( */
CHAR_RIGHT_PARENTHESES: ")",
/* ) */
CHAR_ASTERISK: "*",
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: "&",
/* & */
CHAR_AT: "@",
/* @ */
CHAR_BACKSLASH: "\\",
/* \ */
CHAR_BACKTICK: "`",
/* ` */
CHAR_CARRIAGE_RETURN: "\r",
/* \r */
CHAR_CIRCUMFLEX_ACCENT: "^",
/* ^ */
CHAR_COLON: ":",
/* : */
CHAR_COMMA: ",",
/* , */
CHAR_DOLLAR: "$",
/* . */
CHAR_DOT: ".",
/* . */
CHAR_DOUBLE_QUOTE: '"',
/* " */
CHAR_EQUAL: "=",
/* = */
CHAR_EXCLAMATION_MARK: "!",
/* ! */
CHAR_FORM_FEED: "\f",
/* \f */
CHAR_FORWARD_SLASH: "/",
/* / */
CHAR_HASH: "#",
/* # */
CHAR_HYPHEN_MINUS: "-",
/* - */
CHAR_LEFT_ANGLE_BRACKET: "<",
/* < */
CHAR_LEFT_CURLY_BRACE: "{",
/* { */
CHAR_LEFT_SQUARE_BRACKET: "[",
/* [ */
CHAR_LINE_FEED: `
`,
/* \n */
CHAR_NO_BREAK_SPACE: "\xA0",
/* \u00A0 */
CHAR_PERCENT: "%",
/* % */
CHAR_PLUS: "+",
/* + */
CHAR_QUESTION_MARK: "?",
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: ">",
/* > */
CHAR_RIGHT_CURLY_BRACE: "}",
/* } */
CHAR_RIGHT_SQUARE_BRACKET: "]",
/* ] */
CHAR_SEMICOLON: ";",
/* ; */
CHAR_SINGLE_QUOTE: "'",
/* ' */
CHAR_SPACE: " ",
/* */
CHAR_TAB: " ",
/* \t */
CHAR_UNDERSCORE: "_",
/* _ */
CHAR_VERTICAL_LINE: "|",
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
/* \uFEFF */
};
});
// ../node_modules/braces/lib/parse.js
var Vy = m((O6, Wy) => {
"use strict";
var eG = Po(), {
MAX_LENGTH: jy,
CHAR_BACKSLASH: QI,
/* \ */
CHAR_BACKTICK: tG,
/* ` */
CHAR_COMMA: rG,
/* , */
CHAR_DOT: iG,
/* . */
CHAR_LEFT_PARENTHESES: sG,
/* ( */
CHAR_RIGHT_PARENTHESES: nG,
/* ) */
CHAR_LEFT_CURLY_BRACE: oG,
/* { */
CHAR_RIGHT_CURLY_BRACE: gG,
/* } */
CHAR_LEFT_SQUARE_BRACKET: qy,
/* [ */
CHAR_RIGHT_SQUARE_BRACKET: zy,
/* ] */
CHAR_DOUBLE_QUOTE: aG,
/* " */
CHAR_SINGLE_QUOTE: CG,
/* ' */
CHAR_NO_BREAK_SPACE: cG,
CHAR_ZERO_WIDTH_NOBREAK_SPACE: IG
} = Hy(), hG = /* @__PURE__ */ s((t, A = {}) => {
if (typeof t != "string")
throw new TypeError("Expected a string");
let e = A || {}, r = typeof e.maxLength == "number" ? Math.min(jy, e.maxLength) : jy;
if (t.length > r)
throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${r})`);
let i = { type: "root", input: t, nodes: [] }, n = [i], o = i, g = i, C = 0, I = t.length, E = 0, Q = 0, B, p = /* @__PURE__ */ s(() => t[E++],
"advance"), w = /* @__PURE__ */ s((D) => {
if (D.type === "text" && g.type === "dot" && (g.type = "text"), g && g.type === "text" && D.type === "text") {
g.value += D.value;
return;
}
return o.nodes.push(D), D.parent = o, D.prev = g, g = D, D;
}, "push");
for (w({ type: "bos" }); E < I; )
if (o = n[n.length - 1], B = p(), !(B === IG || B === cG)) {
if (B === QI) {
w({ type: "text", value: (A.keepEscaping ? B : "") + p() });
continue;
}
if (B === zy) {
w({ type: "text", value: "\\" + B });
continue;
}
if (B === qy) {
C++;
let D;
for (; E < I && (D = p()); ) {
if (B += D, D === qy) {
C++;
continue;
}
if (D === QI) {
B += p();
continue;
}
if (D === zy && (C--, C === 0))
break;
}
w({ type: "text", value: B });
continue;
}
if (B === sG) {
o = w({ type: "paren", nodes: [] }), n.push(o), w({ type: "text", value: B });
continue;
}
if (B === nG) {
if (o.type !== "paren") {
w({ type: "text", value: B });
continue;
}
o = n.pop(), w({ type: "text", value: B }), o = n[n.length - 1];
continue;
}
if (B === aG || B === CG || B === tG) {
let D = B, N;
for (A.keepQuotes !== !0 && (B = ""); E < I && (N = p()); ) {
if (N === QI) {
B += N + p();
continue;
}
if (N === D) {
A.keepQuotes === !0 && (B += N);
break;
}
B += N;
}
w({ type: "text", value: B });
continue;
}
if (B === oG) {
Q++;
let N = {
type: "brace",
open: !0,
close: !1,
dollar: g.value && g.value.slice(-1) === "$" || o.dollar === !0,
depth: Q,
commas: 0,
ranges: 0,
nodes: []
};
o = w(N), n.push(o), w({ type: "open", value: B });
continue;
}
if (B === gG) {
if (o.type !== "brace") {
w({ type: "text", value: B });
continue;
}
let D = "close";
o = n.pop(), o.close = !0, w({ type: D, value: B }), Q--, o = n[n.length - 1];
continue;
}
if (B === rG && Q > 0) {
if (o.ranges > 0) {
o.ranges = 0;
let D = o.nodes.shift();
o.nodes = [D, { type: "text", value: eG(o) }];
}
w({ type: "comma", value: B }), o.commas++;
continue;
}
if (B === iG && Q > 0 && o.commas === 0) {
let D = o.nodes;
if (Q === 0 || D.length === 0) {
w({ type: "text", value: B });
continue;
}
if (g.type === "dot") {
if (o.range = [], g.value += B, g.type = "range", o.nodes.length !== 3 && o.nodes.length !== 5) {
o.invalid = !0, o.ranges = 0, g.type = "text";
continue;
}
o.ranges++, o.args = [];
continue;
}
if (g.type === "range") {
D.pop();
let N = D[D.length - 1];
N.value += g.value + B, g = N, o.ranges--;
continue;
}
w({ type: "dot", value: B });
continue;
}
w({ type: "text", value: B });
}
do
if (o = n.pop(), o.type !== "root") {
o.nodes.forEach((k) => {
k.nodes || (k.type === "open" && (k.isOpen = !0), k.type === "close" && (k.isClose = !0), k.nodes || (k.type = "text"), k.invalid =
!0);
});
let D = n[n.length - 1], N = D.nodes.indexOf(o);
D.nodes.splice(N, 1, ...o.nodes);
}
while (n.length > 0);
return w({ type: "eos" }), i;
}, "parse");
Wy.exports = hG;
});
// ../node_modules/braces/index.js
var $y = m((H6, Zy) => {
"use strict";
var Xy = Po(), lG = _y(), EG = Oy(), uG = Vy(), Ee = /* @__PURE__ */ s((t, A = {}) => {
let e = [];
if (Array.isArray(t))
for (let r of t) {
let i = Ee.create(r, A);
Array.isArray(i) ? e.push(...i) : e.push(i);
}
else
e = [].concat(Ee.create(t, A));
return A && A.expand === !0 && A.nodupes === !0 && (e = [...new Set(e)]), e;
}, "braces");
Ee.parse = (t, A = {}) => uG(t, A);
Ee.stringify = (t, A = {}) => Xy(typeof t == "string" ? Ee.parse(t, A) : t, A);
Ee.compile = (t, A = {}) => (typeof t == "string" && (t = Ee.parse(t, A)), lG(t, A));
Ee.expand = (t, A = {}) => {
typeof t == "string" && (t = Ee.parse(t, A));
let e = EG(t, A);
return A.noempty === !0 && (e = e.filter(Boolean)), A.nodupes === !0 && (e = [...new Set(e)]), e;
};
Ee.create = (t, A = {}) => t === "" || t.length < 3 ? [t] : A.expand !== !0 ? Ee.compile(t, A) : Ee.expand(t, A);
Zy.exports = Ee;
});
// ../node_modules/micromatch/index.js
var sD = m((q6, iD) => {
"use strict";
var eD = v("util"), tD = $y(), At = Nn(), fI = Hi(), AD = /* @__PURE__ */ s((t) => t === "" || t === "./", "isEmptyString"), rD = /* @__PURE__ */ s(
(t) => {
let A = t.indexOf("{");
return A > -1 && t.indexOf("}", A) > -1;
}, "hasBraces"), wA = /* @__PURE__ */ s((t, A, e) => {
A = [].concat(A), t = [].concat(t);
let r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), o = 0, g = /* @__PURE__ */ s((E) => {
n.add(E.output), e && e.onResult && e.onResult(E);
}, "onResult");
for (let E = 0; E < A.length; E++) {
let Q = At(String(A[E]), { ...e, onResult: g }, !0), B = Q.state.negated || Q.state.negatedExtglob;
B && o++;
for (let p of t) {
let w = Q(p, !0);
(B ? !w.isMatch : w.isMatch) && (B ? r.add(w.output) : (r.delete(w.output), i.add(w.output)));
}
}
let I = (o === A.length ? [...n] : [...i]).filter((E) => !r.has(E));
if (e && I.length === 0) {
if (e.failglob === !0)
throw new Error(`No matches found for "${A.join(", ")}"`);
if (e.nonull === !0 || e.nullglob === !0)
return e.unescape ? A.map((E) => E.replace(/\\/g, "")) : A;
}
return I;
}, "micromatch");
wA.match = wA;
wA.matcher = (t, A) => At(t, A);
wA.isMatch = (t, A, e) => At(A, e)(t);
wA.any = wA.isMatch;
wA.not = (t, A, e = {}) => {
A = [].concat(A).map(String);
let r = /* @__PURE__ */ new Set(), i = [], n = /* @__PURE__ */ s((g) => {
e.onResult && e.onResult(g), i.push(g.output);
}, "onResult"), o = new Set(wA(t, A, { ...e, onResult: n }));
for (let g of i)
o.has(g) || r.add(g);
return [...r];
};
wA.contains = (t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected a string: "${eD.inspect(t)}"`);
if (Array.isArray(A))
return A.some((r) => wA.contains(t, r, e));
if (typeof A == "string") {
if (AD(t) || AD(A))
return !1;
if (t.includes(A) || t.startsWith("./") && t.slice(2).includes(A))
return !0;
}
return wA.isMatch(t, A, { ...e, contains: !0 });
};
wA.matchKeys = (t, A, e) => {
if (!fI.isObject(t))
throw new TypeError("Expected the first argument to be an object");
let r = wA(Object.keys(t), A, e), i = {};
for (let n of r) i[n] = t[n];
return i;
};
wA.some = (t, A, e) => {
let r = [].concat(t);
for (let i of [].concat(A)) {
let n = At(String(i), e);
if (r.some((o) => n(o)))
return !0;
}
return !1;
};
wA.every = (t, A, e) => {
let r = [].concat(t);
for (let i of [].concat(A)) {
let n = At(String(i), e);
if (!r.every((o) => n(o)))
return !1;
}
return !0;
};
wA.all = (t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected a string: "${eD.inspect(t)}"`);
return [].concat(A).every((r) => At(r, e)(t));
};
wA.capture = (t, A, e) => {
let r = fI.isWindows(e), n = At.makeRe(String(t), { ...e, capture: !0 }).exec(r ? fI.toPosixSlashes(A) : A);
if (n)
return n.slice(1).map((o) => o === void 0 ? "" : o);
};
wA.makeRe = (...t) => At.makeRe(...t);
wA.scan = (...t) => At.scan(...t);
wA.parse = (t, A) => {
let e = [];
for (let r of [].concat(t || []))
for (let i of tD(String(r), A))
e.push(At.parse(i, A));
return e;
};
wA.braces = (t, A) => {
if (typeof t != "string") throw new TypeError("Expected a string");
return A && A.nobrace === !0 || !rD(t) ? [t] : tD(t, A);
};
wA.braceExpand = (t, A) => {
if (typeof t != "string") throw new TypeError("Expected a string");
return wA.braces(t, { ...A, expand: !0 });
};
wA.hasBraces = rD;
iD.exports = wA;
});
// ../node_modules/fast-glob/out/utils/pattern.js
var ED = m((AA) => {
"use strict";
Object.defineProperty(AA, "__esModule", { value: !0 });
AA.isAbsolute = AA.partitionAbsoluteAndRelative = AA.removeDuplicateSlashes = AA.matchAny = AA.convertPatternsToRe = AA.makeRe = AA.getPatternParts =
AA.expandBraceExpansion = AA.expandPatternsWithBraceExpansion = AA.isAffectDepthOfReadingPattern = AA.endsWithSlashGlobStar = AA.hasGlobStar =
AA.getBaseDirectory = AA.isPatternRelatedToParentDirectory = AA.getPatternsOutsideCurrentDirectory = AA.getPatternsInsideCurrentDirectory =
AA.getPositivePatterns = AA.getNegativePatterns = AA.isPositivePattern = AA.isNegativePattern = AA.convertToNegativePattern = AA.convertToPositivePattern =
AA.isDynamicPattern = AA.isStaticPattern = void 0;
var nD = v("path"), BG = By(), dI = sD(), oD = "**", QG = "\\", fG = /[*?]|^!/, dG = /\[[^[]*]/, pG = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/, wG = /[!*+?@]\([^(]*\)/,
mG = /,|\.\./, yG = /(?!^)\/{2,}/g;
function gD(t, A = {}) {
return !aD(t, A);
}
s(gD, "isStaticPattern");
AA.isStaticPattern = gD;
function aD(t, A = {}) {
return t === "" ? !1 : !!(A.caseSensitiveMatch === !1 || t.includes(QG) || fG.test(t) || dG.test(t) || pG.test(t) || A.extglob !== !1 &&
wG.test(t) || A.braceExpansion !== !1 && DG(t));
}
s(aD, "isDynamicPattern");
AA.isDynamicPattern = aD;
function DG(t) {
let A = t.indexOf("{");
if (A === -1)
return !1;
let e = t.indexOf("}", A + 1);
if (e === -1)
return !1;
let r = t.slice(A, e);
return mG.test(r);
}
s(DG, "hasBraceExpansion");
function SG(t) {
return Go(t) ? t.slice(1) : t;
}
s(SG, "convertToPositivePattern");
AA.convertToPositivePattern = SG;
function KG(t) {
return "!" + t;
}
s(KG, "convertToNegativePattern");
AA.convertToNegativePattern = KG;
function Go(t) {
return t.startsWith("!") && t[1] !== "(";
}
s(Go, "isNegativePattern");
AA.isNegativePattern = Go;
function CD(t) {
return !Go(t);
}
s(CD, "isPositivePattern");
AA.isPositivePattern = CD;
function FG(t) {
return t.filter(Go);
}
s(FG, "getNegativePatterns");
AA.getNegativePatterns = FG;
function kG(t) {
return t.filter(CD);
}
s(kG, "getPositivePatterns");
AA.getPositivePatterns = kG;
function bG(t) {
return t.filter((A) => !pI(A));
}
s(bG, "getPatternsInsideCurrentDirectory");
AA.getPatternsInsideCurrentDirectory = bG;
function NG(t) {
return t.filter(pI);
}
s(NG, "getPatternsOutsideCurrentDirectory");
AA.getPatternsOutsideCurrentDirectory = NG;
function pI(t) {
return t.startsWith("..") || t.startsWith("./..");
}
s(pI, "isPatternRelatedToParentDirectory");
AA.isPatternRelatedToParentDirectory = pI;
function MG(t) {
return BG(t, { flipBackslashes: !1 });
}
s(MG, "getBaseDirectory");
AA.getBaseDirectory = MG;
function RG(t) {
return t.includes(oD);
}
s(RG, "hasGlobStar");
AA.hasGlobStar = RG;
function cD(t) {
return t.endsWith("/" + oD);
}
s(cD, "endsWithSlashGlobStar");
AA.endsWithSlashGlobStar = cD;
function vG(t) {
let A = nD.basename(t);
return cD(t) || gD(A);
}
s(vG, "isAffectDepthOfReadingPattern");
AA.isAffectDepthOfReadingPattern = vG;
function LG(t) {
return t.reduce((A, e) => A.concat(ID(e)), []);
}
s(LG, "expandPatternsWithBraceExpansion");
AA.expandPatternsWithBraceExpansion = LG;
function ID(t) {
let A = dI.braces(t, { expand: !0, nodupes: !0, keepEscaping: !0 });
return A.sort((e, r) => e.length - r.length), A.filter((e) => e !== "");
}
s(ID, "expandBraceExpansion");
AA.expandBraceExpansion = ID;
function xG(t, A) {
let { parts: e } = dI.scan(t, Object.assign(Object.assign({}, A), { parts: !0 }));
return e.length === 0 && (e = [t]), e[0].startsWith("/") && (e[0] = e[0].slice(1), e.unshift("")), e;
}
s(xG, "getPatternParts");
AA.getPatternParts = xG;
function hD(t, A) {
return dI.makeRe(t, A);
}
s(hD, "makeRe");
AA.makeRe = hD;
function YG(t, A) {
return t.map((e) => hD(e, A));
}
s(YG, "convertPatternsToRe");
AA.convertPatternsToRe = YG;
function PG(t, A) {
return A.some((e) => e.test(t));
}
s(PG, "matchAny");
AA.matchAny = PG;
function UG(t) {
return t.replace(yG, "/");
}
s(UG, "removeDuplicateSlashes");
AA.removeDuplicateSlashes = UG;
function _G(t) {
let A = [], e = [];
for (let r of t)
lD(r) ? A.push(r) : e.push(r);
return [A, e];
}
s(_G, "partitionAbsoluteAndRelative");
AA.partitionAbsoluteAndRelative = _G;
function lD(t) {
return nD.isAbsolute(t);
}
s(lD, "isAbsolute");
AA.isAbsolute = lD;
});
// ../node_modules/merge2/index.js
var fD = m((X6, QD) => {
"use strict";
var GG = v("stream"), uD = GG.PassThrough, JG = Array.prototype.slice;
QD.exports = OG;
function OG() {
let t = [], A = JG.call(arguments), e = !1, r = A[A.length - 1];
r && !Array.isArray(r) && r.pipe == null ? A.pop() : r = {};
let i = r.end !== !1, n = r.pipeError === !0;
r.objectMode == null && (r.objectMode = !0), r.highWaterMark == null && (r.highWaterMark = 64 * 1024);
let o = uD(r);
function g() {
for (let E = 0, Q = arguments.length; E < Q; E++)
t.push(BD(arguments[E], r));
return C(), this;
}
s(g, "addStream");
function C() {
if (e)
return;
e = !0;
let E = t.shift();
if (!E) {
process.nextTick(I);
return;
}
Array.isArray(E) || (E = [E]);
let Q = E.length + 1;
function B() {
--Q > 0 || (e = !1, C());
}
s(B, "next");
function p(w) {
function D() {
w.removeListener("merge2UnpipeEnd", D), w.removeListener("end", D), n && w.removeListener("error", N), B();
}
s(D, "onend");
function N(k) {
o.emit("error", k);
}
if (s(N, "onerror"), w._readableState.endEmitted)
return B();
w.on("merge2UnpipeEnd", D), w.on("end", D), n && w.on("error", N), w.pipe(o, { end: !1 }), w.resume();
}
s(p, "pipe");
for (let w = 0; w < E.length; w++)
p(E[w]);
B();
}
s(C, "mergeStream");
function I() {
e = !1, o.emit("queueDrain"), i && o.end();
}
return s(I, "endStream"), o.setMaxListeners(0), o.add = g, o.on("unpipe", function(E) {
E.emit("merge2UnpipeEnd");
}), A.length && g.apply(null, A), o;
}
s(OG, "merge2");
function BD(t, A) {
if (Array.isArray(t))
for (let e = 0, r = t.length; e < r; e++)
t[e] = BD(t[e], A);
else {
if (!t._readableState && t.pipe && (t = t.pipe(uD(A))), !t._readableState || !t.pause || !t.pipe)
throw new Error("Only readable stream can be merged.");
t.pause();
}
return t;
}
s(BD, "pauseStreams");
});
// ../node_modules/fast-glob/out/utils/stream.js
var pD = m((Jo) => {
"use strict";
Object.defineProperty(Jo, "__esModule", { value: !0 });
Jo.merge = void 0;
var TG = fD();
function HG(t) {
let A = TG(t);
return t.forEach((e) => {
e.once("error", (r) => A.emit("error", r));
}), A.once("close", () => dD(t)), A.once("end", () => dD(t)), A;
}
s(HG, "merge");
Jo.merge = HG;
function dD(t) {
t.forEach((A) => A.emit("close"));
}
s(dD, "propagateCloseEventToSources");
});
// ../node_modules/fast-glob/out/utils/string.js
var wD = m((Zr) => {
"use strict";
Object.defineProperty(Zr, "__esModule", { value: !0 });
Zr.isEmpty = Zr.isString = void 0;
function jG(t) {
return typeof t == "string";
}
s(jG, "isString");
Zr.isString = jG;
function qG(t) {
return t === "";
}
s(qG, "isEmpty");
Zr.isEmpty = qG;
});
// ../node_modules/fast-glob/out/utils/index.js
var yt = m((zA) => {
"use strict";
Object.defineProperty(zA, "__esModule", { value: !0 });
zA.string = zA.stream = zA.pattern = zA.path = zA.fs = zA.errno = zA.array = void 0;
var zG = iy();
zA.array = zG;
var WG = sy();
zA.errno = WG;
var VG = ny();
zA.fs = VG;
var XG = Cy();
zA.path = XG;
var ZG = ED();
zA.pattern = ZG;
var $G = pD();
zA.stream = $G;
var AJ = wD();
zA.string = AJ;
});
// ../node_modules/fast-glob/out/managers/tasks.js
var SD = m((WA) => {
"use strict";
Object.defineProperty(WA, "__esModule", { value: !0 });
WA.convertPatternGroupToTask = WA.convertPatternGroupsToTasks = WA.groupPatternsByBaseDirectory = WA.getNegativePatternsAsPositive = WA.getPositivePatterns =
WA.convertPatternsToTasks = WA.generate = void 0;
var Ge = yt();
function eJ(t, A) {
let e = mD(t, A), r = mD(A.ignore, A), i = yD(e), n = DD(e, r), o = i.filter((E) => Ge.pattern.isStaticPattern(E, A)), g = i.filter((E) => Ge.
pattern.isDynamicPattern(E, A)), C = wI(
o,
n,
/* dynamic */
!1
), I = wI(
g,
n,
/* dynamic */
!0
);
return C.concat(I);
}
s(eJ, "generate");
WA.generate = eJ;
function mD(t, A) {
let e = t;
return A.braceExpansion && (e = Ge.pattern.expandPatternsWithBraceExpansion(e)), A.baseNameMatch && (e = e.map((r) => r.includes("/") ? r :
`**/${r}`)), e.map((r) => Ge.pattern.removeDuplicateSlashes(r));
}
s(mD, "processPatterns");
function wI(t, A, e) {
let r = [], i = Ge.pattern.getPatternsOutsideCurrentDirectory(t), n = Ge.pattern.getPatternsInsideCurrentDirectory(t), o = mI(i), g = mI(
n);
return r.push(...yI(o, A, e)), "." in g ? r.push(DI(".", n, A, e)) : r.push(...yI(g, A, e)), r;
}
s(wI, "convertPatternsToTasks");
WA.convertPatternsToTasks = wI;
function yD(t) {
return Ge.pattern.getPositivePatterns(t);
}
s(yD, "getPositivePatterns");
WA.getPositivePatterns = yD;
function DD(t, A) {
return Ge.pattern.getNegativePatterns(t).concat(A).map(Ge.pattern.convertToPositivePattern);
}
s(DD, "getNegativePatternsAsPositive");
WA.getNegativePatternsAsPositive = DD;
function mI(t) {
let A = {};
return t.reduce((e, r) => {
let i = Ge.pattern.getBaseDirectory(r);
return i in e ? e[i].push(r) : e[i] = [r], e;
}, A);
}
s(mI, "groupPatternsByBaseDirectory");
WA.groupPatternsByBaseDirectory = mI;
function yI(t, A, e) {
return Object.keys(t).map((r) => DI(r, t[r], A, e));
}
s(yI, "convertPatternGroupsToTasks");
WA.convertPatternGroupsToTasks = yI;
function DI(t, A, e, r) {
return {
dynamic: r,
positive: A,
negative: e,
base: t,
patterns: [].concat(A, e.map(Ge.pattern.convertToNegativePattern))
};
}
s(DI, "convertPatternGroupToTask");
WA.convertPatternGroupToTask = DI;
});
// ../node_modules/@nodelib/fs.stat/out/providers/async.js
var FD = m((Oo) => {
"use strict";
Object.defineProperty(Oo, "__esModule", { value: !0 });
Oo.read = void 0;
function tJ(t, A, e) {
A.fs.lstat(t, (r, i) => {
if (r !== null) {
KD(e, r);
return;
}
if (!i.isSymbolicLink() || !A.followSymbolicLink) {
SI(e, i);
return;
}
A.fs.stat(t, (n, o) => {
if (n !== null) {
if (A.throwErrorOnBrokenSymbolicLink) {
KD(e, n);
return;
}
SI(e, i);
return;
}
A.markSymbolicLink && (o.isSymbolicLink = () => !0), SI(e, o);
});
});
}
s(tJ, "read");
Oo.read = tJ;
function KD(t, A) {
t(A);
}
s(KD, "callFailureCallback");
function SI(t, A) {
t(null, A);
}
s(SI, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.stat/out/providers/sync.js
var kD = m((To) => {
"use strict";
Object.defineProperty(To, "__esModule", { value: !0 });
To.read = void 0;
function rJ(t, A) {
let e = A.fs.lstatSync(t);
if (!e.isSymbolicLink() || !A.followSymbolicLink)
return e;
try {
let r = A.fs.statSync(t);
return A.markSymbolicLink && (r.isSymbolicLink = () => !0), r;
} catch (r) {
if (!A.throwErrorOnBrokenSymbolicLink)
return e;
throw r;
}
}
s(rJ, "read");
To.read = rJ;
});
// ../node_modules/@nodelib/fs.stat/out/adapters/fs.js
var bD = m((Ht) => {
"use strict";
Object.defineProperty(Ht, "__esModule", { value: !0 });
Ht.createFileSystemAdapter = Ht.FILE_SYSTEM_ADAPTER = void 0;
var Ho = v("fs");
Ht.FILE_SYSTEM_ADAPTER = {
lstat: Ho.lstat,
stat: Ho.stat,
lstatSync: Ho.lstatSync,
statSync: Ho.statSync
};
function iJ(t) {
return t === void 0 ? Ht.FILE_SYSTEM_ADAPTER : Object.assign(Object.assign({}, Ht.FILE_SYSTEM_ADAPTER), t);
}
s(iJ, "createFileSystemAdapter");
Ht.createFileSystemAdapter = iJ;
});
// ../node_modules/@nodelib/fs.stat/out/settings.js
var ND = m((FI) => {
"use strict";
Object.defineProperty(FI, "__esModule", { value: !0 });
var sJ = bD(), KI = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, !0), this.fs = sJ.createFileSystemAdapter(
this._options.fs), this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, !1), this.throwErrorOnBrokenSymbolicLink = this.
_getValue(this._options.throwErrorOnBrokenSymbolicLink, !0);
}
_getValue(A, e) {
return A ?? e;
}
};
FI.default = KI;
});
// ../node_modules/@nodelib/fs.stat/out/index.js
var Er = m((jt) => {
"use strict";
Object.defineProperty(jt, "__esModule", { value: !0 });
jt.statSync = jt.stat = jt.Settings = void 0;
var MD = FD(), nJ = kD(), kI = ND();
jt.Settings = kI.default;
function oJ(t, A, e) {
if (typeof A == "function") {
MD.read(t, bI(), A);
return;
}
MD.read(t, bI(A), e);
}
s(oJ, "stat");
jt.stat = oJ;
function gJ(t, A) {
let e = bI(A);
return nJ.read(t, e);
}
s(gJ, "statSync");
jt.statSync = gJ;
function bI(t = {}) {
return t instanceof kI.default ? t : new kI.default(t);
}
s(bI, "getSettings");
});
// ../node_modules/queue-microtask/index.js
var LD = m((u5, vD) => {
var RD;
vD.exports = typeof queueMicrotask == "function" ? queueMicrotask.bind(typeof window < "u" ? window : global) : (t) => (RD || (RD = Promise.
resolve())).then(t).catch((A) => setTimeout(() => {
throw A;
}, 0));
});
// ../node_modules/run-parallel/index.js
var YD = m((B5, xD) => {
xD.exports = CJ;
var aJ = LD();
function CJ(t, A) {
let e, r, i, n = !0;
Array.isArray(t) ? (e = [], r = t.length) : (i = Object.keys(t), e = {}, r = i.length);
function o(C) {
function I() {
A && A(C, e), A = null;
}
s(I, "end"), n ? aJ(I) : I();
}
s(o, "done");
function g(C, I, E) {
e[C] = E, (--r === 0 || I) && o(I);
}
s(g, "each"), r ? i ? i.forEach(function(C) {
t[C](function(I, E) {
g(C, I, E);
});
}) : t.forEach(function(C, I) {
C(function(E, Q) {
g(I, E, Q);
});
}) : o(null), n = !1;
}
s(CJ, "runParallel");
});
// ../node_modules/@nodelib/fs.scandir/out/constants.js
var NI = m((qo) => {
"use strict";
Object.defineProperty(qo, "__esModule", { value: !0 });
qo.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
var jo = process.versions.node.split(".");
if (jo[0] === void 0 || jo[1] === void 0)
throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
var PD = Number.parseInt(jo[0], 10), cJ = Number.parseInt(jo[1], 10), UD = 10, IJ = 10, hJ = PD > UD, lJ = PD === UD && cJ >= IJ;
qo.IS_SUPPORT_READDIR_WITH_FILE_TYPES = hJ || lJ;
});
// ../node_modules/@nodelib/fs.scandir/out/utils/fs.js
var _D = m((zo) => {
"use strict";
Object.defineProperty(zo, "__esModule", { value: !0 });
zo.createDirentFromStats = void 0;
var MI = class {
static {
s(this, "DirentFromStats");
}
constructor(A, e) {
this.name = A, this.isBlockDevice = e.isBlockDevice.bind(e), this.isCharacterDevice = e.isCharacterDevice.bind(e), this.isDirectory = e.
isDirectory.bind(e), this.isFIFO = e.isFIFO.bind(e), this.isFile = e.isFile.bind(e), this.isSocket = e.isSocket.bind(e), this.isSymbolicLink =
e.isSymbolicLink.bind(e);
}
};
function EJ(t, A) {
return new MI(t, A);
}
s(EJ, "createDirentFromStats");
zo.createDirentFromStats = EJ;
});
// ../node_modules/@nodelib/fs.scandir/out/utils/index.js
var RI = m((Wo) => {
"use strict";
Object.defineProperty(Wo, "__esModule", { value: !0 });
Wo.fs = void 0;
var uJ = _D();
Wo.fs = uJ;
});
// ../node_modules/@nodelib/fs.scandir/out/providers/common.js
var vI = m((Vo) => {
"use strict";
Object.defineProperty(Vo, "__esModule", { value: !0 });
Vo.joinPathSegments = void 0;
function BJ(t, A, e) {
return t.endsWith(e) ? t + A : t + e + A;
}
s(BJ, "joinPathSegments");
Vo.joinPathSegments = BJ;
});
// ../node_modules/@nodelib/fs.scandir/out/providers/async.js
var jD = m((qt) => {
"use strict";
Object.defineProperty(qt, "__esModule", { value: !0 });
qt.readdir = qt.readdirWithFileTypes = qt.read = void 0;
var QJ = Er(), GD = YD(), fJ = NI(), JD = RI(), OD = vI();
function dJ(t, A, e) {
if (!A.stats && fJ.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
TD(t, A, e);
return;
}
HD(t, A, e);
}
s(dJ, "read");
qt.read = dJ;
function TD(t, A, e) {
A.fs.readdir(t, { withFileTypes: !0 }, (r, i) => {
if (r !== null) {
Xo(e, r);
return;
}
let n = i.map((g) => ({
dirent: g,
name: g.name,
path: OD.joinPathSegments(t, g.name, A.pathSegmentSeparator)
}));
if (!A.followSymbolicLinks) {
LI(e, n);
return;
}
let o = n.map((g) => pJ(g, A));
GD(o, (g, C) => {
if (g !== null) {
Xo(e, g);
return;
}
LI(e, C);
});
});
}
s(TD, "readdirWithFileTypes");
qt.readdirWithFileTypes = TD;
function pJ(t, A) {
return (e) => {
if (!t.dirent.isSymbolicLink()) {
e(null, t);
return;
}
A.fs.stat(t.path, (r, i) => {
if (r !== null) {
if (A.throwErrorOnBrokenSymbolicLink) {
e(r);
return;
}
e(null, t);
return;
}
t.dirent = JD.fs.createDirentFromStats(t.name, i), e(null, t);
});
};
}
s(pJ, "makeRplTaskEntry");
function HD(t, A, e) {
A.fs.readdir(t, (r, i) => {
if (r !== null) {
Xo(e, r);
return;
}
let n = i.map((o) => {
let g = OD.joinPathSegments(t, o, A.pathSegmentSeparator);
return (C) => {
QJ.stat(g, A.fsStatSettings, (I, E) => {
if (I !== null) {
C(I);
return;
}
let Q = {
name: o,
path: g,
dirent: JD.fs.createDirentFromStats(o, E)
};
A.stats && (Q.stats = E), C(null, Q);
});
};
});
GD(n, (o, g) => {
if (o !== null) {
Xo(e, o);
return;
}
LI(e, g);
});
});
}
s(HD, "readdir");
qt.readdir = HD;
function Xo(t, A) {
t(A);
}
s(Xo, "callFailureCallback");
function LI(t, A) {
t(null, A);
}
s(LI, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.scandir/out/providers/sync.js
var XD = m((zt) => {
"use strict";
Object.defineProperty(zt, "__esModule", { value: !0 });
zt.readdir = zt.readdirWithFileTypes = zt.read = void 0;
var wJ = Er(), mJ = NI(), qD = RI(), zD = vI();
function yJ(t, A) {
return !A.stats && mJ.IS_SUPPORT_READDIR_WITH_FILE_TYPES ? WD(t, A) : VD(t, A);
}
s(yJ, "read");
zt.read = yJ;
function WD(t, A) {
return A.fs.readdirSync(t, { withFileTypes: !0 }).map((r) => {
let i = {
dirent: r,
name: r.name,
path: zD.joinPathSegments(t, r.name, A.pathSegmentSeparator)
};
if (i.dirent.isSymbolicLink() && A.followSymbolicLinks)
try {
let n = A.fs.statSync(i.path);
i.dirent = qD.fs.createDirentFromStats(i.name, n);
} catch (n) {
if (A.throwErrorOnBrokenSymbolicLink)
throw n;
}
return i;
});
}
s(WD, "readdirWithFileTypes");
zt.readdirWithFileTypes = WD;
function VD(t, A) {
return A.fs.readdirSync(t).map((r) => {
let i = zD.joinPathSegments(t, r, A.pathSegmentSeparator), n = wJ.statSync(i, A.fsStatSettings), o = {
name: r,
path: i,
dirent: qD.fs.createDirentFromStats(r, n)
};
return A.stats && (o.stats = n), o;
});
}
s(VD, "readdir");
zt.readdir = VD;
});
// ../node_modules/@nodelib/fs.scandir/out/adapters/fs.js
var ZD = m((Wt) => {
"use strict";
Object.defineProperty(Wt, "__esModule", { value: !0 });
Wt.createFileSystemAdapter = Wt.FILE_SYSTEM_ADAPTER = void 0;
var $r = v("fs");
Wt.FILE_SYSTEM_ADAPTER = {
lstat: $r.lstat,
stat: $r.stat,
lstatSync: $r.lstatSync,
statSync: $r.statSync,
readdir: $r.readdir,
readdirSync: $r.readdirSync
};
function DJ(t) {
return t === void 0 ? Wt.FILE_SYSTEM_ADAPTER : Object.assign(Object.assign({}, Wt.FILE_SYSTEM_ADAPTER), t);
}
s(DJ, "createFileSystemAdapter");
Wt.createFileSystemAdapter = DJ;
});
// ../node_modules/@nodelib/fs.scandir/out/settings.js
var $D = m((YI) => {
"use strict";
Object.defineProperty(YI, "__esModule", { value: !0 });
var SJ = v("path"), KJ = Er(), FJ = ZD(), xI = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, !1), this.fs = FJ.createFileSystemAdapter(
this._options.fs), this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, SJ.sep), this.stats = this._getValue(
this._options.stats, !1), this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, !0), this.
fsStatSettings = new KJ.Settings({
followSymbolicLink: this.followSymbolicLinks,
fs: this.fs,
throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
});
}
_getValue(A, e) {
return A ?? e;
}
};
YI.default = xI;
});
// ../node_modules/@nodelib/fs.scandir/out/index.js
var Zo = m((Vt) => {
"use strict";
Object.defineProperty(Vt, "__esModule", { value: !0 });
Vt.Settings = Vt.scandirSync = Vt.scandir = void 0;
var AS = jD(), kJ = XD(), PI = $D();
Vt.Settings = PI.default;
function bJ(t, A, e) {
if (typeof A == "function") {
AS.read(t, UI(), A);
return;
}
AS.read(t, UI(A), e);
}
s(bJ, "scandir");
Vt.scandir = bJ;
function NJ(t, A) {
let e = UI(A);
return kJ.read(t, e);
}
s(NJ, "scandirSync");
Vt.scandirSync = NJ;
function UI(t = {}) {
return t instanceof PI.default ? t : new PI.default(t);
}
s(UI, "getSettings");
});
// ../node_modules/reusify/reusify.js
var tS = m((L5, eS) => {
"use strict";
function MJ(t) {
var A = new t(), e = A;
function r() {
var n = A;
return n.next ? A = n.next : (A = new t(), e = A), n.next = null, n;
}
s(r, "get");
function i(n) {
e.next = n, e = n;
}
return s(i, "release"), {
get: r,
release: i
};
}
s(MJ, "reusify");
eS.exports = MJ;
});
// ../node_modules/fastq/queue.js
var iS = m((Y5, _I) => {
"use strict";
var RJ = tS();
function rS(t, A, e) {
if (typeof t == "function" && (e = A, A = t, t = null), !(e >= 1))
throw new Error("fastqueue concurrency must be equal to or greater than 1");
var r = RJ(vJ), i = null, n = null, o = 0, g = null, C = {
push: D,
drain: ye,
saturated: ye,
pause: E,
paused: !1,
get concurrency() {
return e;
},
set concurrency(U) {
if (!(U >= 1))
throw new Error("fastqueue concurrency must be equal to or greater than 1");
if (e = U, !C.paused)
for (; i && o < e; )
o++, k();
},
running: I,
resume: p,
idle: w,
length: Q,
getQueue: B,
unshift: N,
empty: ye,
kill: _,
killAndDrain: L,
error: J
};
return C;
function I() {
return o;
}
function E() {
C.paused = !0;
}
function Q() {
for (var U = i, $ = 0; U; )
U = U.next, $++;
return $;
}
function B() {
for (var U = i, $ = []; U; )
$.push(U.value), U = U.next;
return $;
}
function p() {
if (C.paused) {
if (C.paused = !1, i === null) {
o++, k();
return;
}
for (; i && o < e; )
o++, k();
}
}
function w() {
return o === 0 && C.length() === 0;
}
function D(U, $) {
var q = r.get();
q.context = t, q.release = k, q.value = U, q.callback = $ || ye, q.errorHandler = g, o >= e || C.paused ? n ? (n.next = q, n = q) : (i =
q, n = q, C.saturated()) : (o++, A.call(t, q.value, q.worked));
}
function N(U, $) {
var q = r.get();
q.context = t, q.release = k, q.value = U, q.callback = $ || ye, q.errorHandler = g, o >= e || C.paused ? i ? (q.next = i, i = q) : (i =
q, n = q, C.saturated()) : (o++, A.call(t, q.value, q.worked));
}
function k(U) {
U && r.release(U);
var $ = i;
$ && o <= e ? C.paused ? o-- : (n === i && (n = null), i = $.next, $.next = null, A.call(t, $.value, $.worked), n === null && C.empty()) :
--o === 0 && C.drain();
}
function _() {
i = null, n = null, C.drain = ye;
}
function L() {
i = null, n = null, C.drain(), C.drain = ye;
}
function J(U) {
g = U;
}
}
s(rS, "fastqueue");
function ye() {
}
s(ye, "noop");
function vJ() {
this.value = null, this.callback = ye, this.next = null, this.release = ye, this.context = null, this.errorHandler = null;
var t = this;
this.worked = /* @__PURE__ */ s(function(e, r) {
var i = t.callback, n = t.errorHandler, o = t.value;
t.value = null, t.callback = ye, t.errorHandler && n(e, o), i.call(t.context, e, r), t.release(t);
}, "worked");
}
s(vJ, "Task");
function LJ(t, A, e) {
typeof t == "function" && (e = A, A = t, t = null);
function r(E, Q) {
A.call(this, E).then(function(B) {
Q(null, B);
}, Q);
}
s(r, "asyncWrapper");
var i = rS(t, r, e), n = i.push, o = i.unshift;
return i.push = g, i.unshift = C, i.drained = I, i;
function g(E) {
var Q = new Promise(function(B, p) {
n(E, function(w, D) {
if (w) {
p(w);
return;
}
B(D);
});
});
return Q.catch(ye), Q;
}
s(g, "push");
function C(E) {
var Q = new Promise(function(B, p) {
o(E, function(w, D) {
if (w) {
p(w);
return;
}
B(D);
});
});
return Q.catch(ye), Q;
}
s(C, "unshift");
function I() {
var E = new Promise(function(Q) {
process.nextTick(function() {
if (i.idle())
Q();
else {
var B = i.drain;
i.drain = function() {
typeof B == "function" && B(), Q(), i.drain = B;
};
}
});
});
return E;
}
s(I, "drained");
}
s(LJ, "queueAsPromised");
_I.exports = rS;
_I.exports.promise = LJ;
});
// ../node_modules/@nodelib/fs.walk/out/readers/common.js
var $o = m((et) => {
"use strict";
Object.defineProperty(et, "__esModule", { value: !0 });
et.joinPathSegments = et.replacePathSegmentSeparator = et.isAppliedFilter = et.isFatalError = void 0;
function xJ(t, A) {
return t.errorFilter === null ? !0 : !t.errorFilter(A);
}
s(xJ, "isFatalError");
et.isFatalError = xJ;
function YJ(t, A) {
return t === null || t(A);
}
s(YJ, "isAppliedFilter");
et.isAppliedFilter = YJ;
function PJ(t, A) {
return t.split(/[/\\]/).join(A);
}
s(PJ, "replacePathSegmentSeparator");
et.replacePathSegmentSeparator = PJ;
function UJ(t, A, e) {
return t === "" ? A : t.endsWith(e) ? t + A : t + e + A;
}
s(UJ, "joinPathSegments");
et.joinPathSegments = UJ;
});
// ../node_modules/@nodelib/fs.walk/out/readers/reader.js
var OI = m((JI) => {
"use strict";
Object.defineProperty(JI, "__esModule", { value: !0 });
var _J = $o(), GI = class {
static {
s(this, "Reader");
}
constructor(A, e) {
this._root = A, this._settings = e, this._root = _J.replacePathSegmentSeparator(A, e.pathSegmentSeparator);
}
};
JI.default = GI;
});
// ../node_modules/@nodelib/fs.walk/out/readers/async.js
var jI = m((HI) => {
"use strict";
Object.defineProperty(HI, "__esModule", { value: !0 });
var GJ = v("events"), JJ = Zo(), OJ = iS(), Ag = $o(), TJ = OI(), TI = class extends TJ.default {
static {
s(this, "AsyncReader");
}
constructor(A, e) {
super(A, e), this._settings = e, this._scandir = JJ.scandir, this._emitter = new GJ.EventEmitter(), this._queue = OJ(this._worker.bind(
this), this._settings.concurrency), this._isFatalError = !1, this._isDestroyed = !1, this._queue.drain = () => {
this._isFatalError || this._emitter.emit("end");
};
}
read() {
return this._isFatalError = !1, this._isDestroyed = !1, setImmediate(() => {
this._pushToQueue(this._root, this._settings.basePath);
}), this._emitter;
}
get isDestroyed() {
return this._isDestroyed;
}
destroy() {
if (this._isDestroyed)
throw new Error("The reader is already destroyed");
this._isDestroyed = !0, this._queue.killAndDrain();
}
onEntry(A) {
this._emitter.on("entry", A);
}
onError(A) {
this._emitter.once("error", A);
}
onEnd(A) {
this._emitter.once("end", A);
}
_pushToQueue(A, e) {
let r = { directory: A, base: e };
this._queue.push(r, (i) => {
i !== null && this._handleError(i);
});
}
_worker(A, e) {
this._scandir(A.directory, this._settings.fsScandirSettings, (r, i) => {
if (r !== null) {
e(r, void 0);
return;
}
for (let n of i)
this._handleEntry(n, A.base);
e(null, void 0);
});
}
_handleError(A) {
this._isDestroyed || !Ag.isFatalError(this._settings, A) || (this._isFatalError = !0, this._isDestroyed = !0, this._emitter.emit("erro\
r", A));
}
_handleEntry(A, e) {
if (this._isDestroyed || this._isFatalError)
return;
let r = A.path;
e !== void 0 && (A.path = Ag.joinPathSegments(e, A.name, this._settings.pathSegmentSeparator)), Ag.isAppliedFilter(this._settings.entryFilter,
A) && this._emitEntry(A), A.dirent.isDirectory() && Ag.isAppliedFilter(this._settings.deepFilter, A) && this._pushToQueue(r, e === void 0 ?
void 0 : A.path);
}
_emitEntry(A) {
this._emitter.emit("entry", A);
}
};
HI.default = TI;
});
// ../node_modules/@nodelib/fs.walk/out/providers/async.js
var sS = m((zI) => {
"use strict";
Object.defineProperty(zI, "__esModule", { value: !0 });
var HJ = jI(), qI = class {
static {
s(this, "AsyncProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new HJ.default(this._root, this._settings), this._storage = [];
}
read(A) {
this._reader.onError((e) => {
jJ(A, e);
}), this._reader.onEntry((e) => {
this._storage.push(e);
}), this._reader.onEnd(() => {
qJ(A, this._storage);
}), this._reader.read();
}
};
zI.default = qI;
function jJ(t, A) {
t(A);
}
s(jJ, "callFailureCallback");
function qJ(t, A) {
t(null, A);
}
s(qJ, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.walk/out/providers/stream.js
var nS = m((VI) => {
"use strict";
Object.defineProperty(VI, "__esModule", { value: !0 });
var zJ = v("stream"), WJ = jI(), WI = class {
static {
s(this, "StreamProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new WJ.default(this._root, this._settings), this._stream = new zJ.Readable({
objectMode: !0,
read: /* @__PURE__ */ s(() => {
}, "read"),
destroy: /* @__PURE__ */ s(() => {
this._reader.isDestroyed || this._reader.destroy();
}, "destroy")
});
}
read() {
return this._reader.onError((A) => {
this._stream.emit("error", A);
}), this._reader.onEntry((A) => {
this._stream.push(A);
}), this._reader.onEnd(() => {
this._stream.push(null);
}), this._reader.read(), this._stream;
}
};
VI.default = WI;
});
// ../node_modules/@nodelib/fs.walk/out/readers/sync.js
var oS = m((ZI) => {
"use strict";
Object.defineProperty(ZI, "__esModule", { value: !0 });
var VJ = Zo(), eg = $o(), XJ = OI(), XI = class extends XJ.default {
static {
s(this, "SyncReader");
}
constructor() {
super(...arguments), this._scandir = VJ.scandirSync, this._storage = [], this._queue = /* @__PURE__ */ new Set();
}
read() {
return this._pushToQueue(this._root, this._settings.basePath), this._handleQueue(), this._storage;
}
_pushToQueue(A, e) {
this._queue.add({ directory: A, base: e });
}
_handleQueue() {
for (let A of this._queue.values())
this._handleDirectory(A.directory, A.base);
}
_handleDirectory(A, e) {
try {
let r = this._scandir(A, this._settings.fsScandirSettings);
for (let i of r)
this._handleEntry(i, e);
} catch (r) {
this._handleError(r);
}
}
_handleError(A) {
if (eg.isFatalError(this._settings, A))
throw A;
}
_handleEntry(A, e) {
let r = A.path;
e !== void 0 && (A.path = eg.joinPathSegments(e, A.name, this._settings.pathSegmentSeparator)), eg.isAppliedFilter(this._settings.entryFilter,
A) && this._pushToStorage(A), A.dirent.isDirectory() && eg.isAppliedFilter(this._settings.deepFilter, A) && this._pushToQueue(r, e ===
void 0 ? void 0 : A.path);
}
_pushToStorage(A) {
this._storage.push(A);
}
};
ZI.default = XI;
});
// ../node_modules/@nodelib/fs.walk/out/providers/sync.js
var gS = m((Ah) => {
"use strict";
Object.defineProperty(Ah, "__esModule", { value: !0 });
var ZJ = oS(), $I = class {
static {
s(this, "SyncProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new ZJ.default(this._root, this._settings);
}
read() {
return this._reader.read();
}
};
Ah.default = $I;
});
// ../node_modules/@nodelib/fs.walk/out/settings.js
var aS = m((th) => {
"use strict";
Object.defineProperty(th, "__esModule", { value: !0 });
var $J = v("path"), A2 = Zo(), eh = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.basePath = this._getValue(this._options.basePath, void 0), this.concurrency = this._getValue(this._options.concurrency,
Number.POSITIVE_INFINITY), this.deepFilter = this._getValue(this._options.deepFilter, null), this.entryFilter = this._getValue(this._options.
entryFilter, null), this.errorFilter = this._getValue(this._options.errorFilter, null), this.pathSegmentSeparator = this._getValue(this.
_options.pathSegmentSeparator, $J.sep), this.fsScandirSettings = new A2.Settings({
followSymbolicLinks: this._options.followSymbolicLinks,
fs: this._options.fs,
pathSegmentSeparator: this._options.pathSegmentSeparator,
stats: this._options.stats,
throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
});
}
_getValue(A, e) {
return A ?? e;
}
};
th.default = eh;
});
// ../node_modules/@nodelib/fs.walk/out/index.js
var rg = m((tt) => {
"use strict";
Object.defineProperty(tt, "__esModule", { value: !0 });
tt.Settings = tt.walkStream = tt.walkSync = tt.walk = void 0;
var CS = sS(), e2 = nS(), t2 = gS(), rh = aS();
tt.Settings = rh.default;
function r2(t, A, e) {
if (typeof A == "function") {
new CS.default(t, tg()).read(A);
return;
}
new CS.default(t, tg(A)).read(e);
}
s(r2, "walk");
tt.walk = r2;
function i2(t, A) {
let e = tg(A);
return new t2.default(t, e).read();
}
s(i2, "walkSync");
tt.walkSync = i2;
function s2(t, A) {
let e = tg(A);
return new e2.default(t, e).read();
}
s(s2, "walkStream");
tt.walkStream = s2;
function tg(t = {}) {
return t instanceof rh.default ? t : new rh.default(t);
}
s(tg, "getSettings");
});
// ../node_modules/fast-glob/out/readers/reader.js
var ig = m((sh) => {
"use strict";
Object.defineProperty(sh, "__esModule", { value: !0 });
var n2 = v("path"), o2 = Er(), cS = yt(), ih = class {
static {
s(this, "Reader");
}
constructor(A) {
this._settings = A, this._fsStatSettings = new o2.Settings({
followSymbolicLink: this._settings.followSymbolicLinks,
fs: this._settings.fs,
throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
});
}
_getFullEntryPath(A) {
return n2.resolve(this._settings.cwd, A);
}
_makeEntry(A, e) {
let r = {
name: e,
path: e,
dirent: cS.fs.createDirentFromStats(e, A)
};
return this._settings.stats && (r.stats = A), r;
}
_isFatalError(A) {
return !cS.errno.isEnoentCodeError(A) && !this._settings.suppressErrors;
}
};
sh.default = ih;
});
// ../node_modules/fast-glob/out/readers/stream.js
var gh = m((oh) => {
"use strict";
Object.defineProperty(oh, "__esModule", { value: !0 });
var g2 = v("stream"), a2 = Er(), C2 = rg(), c2 = ig(), nh = class extends c2.default {
static {
s(this, "ReaderStream");
}
constructor() {
super(...arguments), this._walkStream = C2.walkStream, this._stat = a2.stat;
}
dynamic(A, e) {
return this._walkStream(A, e);
}
static(A, e) {
let r = A.map(this._getFullEntryPath, this), i = new g2.PassThrough({ objectMode: !0 });
i._write = (n, o, g) => this._getEntry(r[n], A[n], e).then((C) => {
C !== null && e.entryFilter(C) && i.push(C), n === r.length - 1 && i.end(), g();
}).catch(g);
for (let n = 0; n < r.length; n++)
i.write(n);
return i;
}
_getEntry(A, e, r) {
return this._getStat(A).then((i) => this._makeEntry(i, e)).catch((i) => {
if (r.errorFilter(i))
return null;
throw i;
});
}
_getStat(A) {
return new Promise((e, r) => {
this._stat(A, this._fsStatSettings, (i, n) => i === null ? e(n) : r(i));
});
}
};
oh.default = nh;
});
// ../node_modules/fast-glob/out/readers/async.js
var IS = m((Ch) => {
"use strict";
Object.defineProperty(Ch, "__esModule", { value: !0 });
var I2 = rg(), h2 = ig(), l2 = gh(), ah = class extends h2.default {
static {
s(this, "ReaderAsync");
}
constructor() {
super(...arguments), this._walkAsync = I2.walk, this._readerStream = new l2.default(this._settings);
}
dynamic(A, e) {
return new Promise((r, i) => {
this._walkAsync(A, e, (n, o) => {
n === null ? r(o) : i(n);
});
});
}
async static(A, e) {
let r = [], i = this._readerStream.static(A, e);
return new Promise((n, o) => {
i.once("error", o), i.on("data", (g) => r.push(g)), i.once("end", () => n(r));
});
}
};
Ch.default = ah;
});
// ../node_modules/fast-glob/out/providers/matchers/matcher.js
var hS = m((Ih) => {
"use strict";
Object.defineProperty(Ih, "__esModule", { value: !0 });
var ls = yt(), ch = class {
static {
s(this, "Matcher");
}
constructor(A, e, r) {
this._patterns = A, this._settings = e, this._micromatchOptions = r, this._storage = [], this._fillStorage();
}
_fillStorage() {
for (let A of this._patterns) {
let e = this._getPatternSegments(A), r = this._splitSegmentsIntoSections(e);
this._storage.push({
complete: r.length <= 1,
pattern: A,
segments: e,
sections: r
});
}
}
_getPatternSegments(A) {
return ls.pattern.getPatternParts(A, this._micromatchOptions).map((r) => ls.pattern.isDynamicPattern(r, this._settings) ? {
dynamic: !0,
pattern: r,
patternRe: ls.pattern.makeRe(r, this._micromatchOptions)
} : {
dynamic: !1,
pattern: r
});
}
_splitSegmentsIntoSections(A) {
return ls.array.splitWhen(A, (e) => e.dynamic && ls.pattern.hasGlobStar(e.pattern));
}
};
Ih.default = ch;
});
// ../node_modules/fast-glob/out/providers/matchers/partial.js
var lS = m((lh) => {
"use strict";
Object.defineProperty(lh, "__esModule", { value: !0 });
var E2 = hS(), hh = class extends E2.default {
static {
s(this, "PartialMatcher");
}
match(A) {
let e = A.split("/"), r = e.length, i = this._storage.filter((n) => !n.complete || n.segments.length > r);
for (let n of i) {
let o = n.sections[0];
if (!n.complete && r > o.length || e.every((C, I) => {
let E = n.segments[I];
return !!(E.dynamic && E.patternRe.test(C) || !E.dynamic && E.pattern === C);
}))
return !0;
}
return !1;
}
};
lh.default = hh;
});
// ../node_modules/fast-glob/out/providers/filters/deep.js
var ES = m((uh) => {
"use strict";
Object.defineProperty(uh, "__esModule", { value: !0 });
var sg = yt(), u2 = lS(), Eh = class {
static {
s(this, "DeepFilter");
}
constructor(A, e) {
this._settings = A, this._micromatchOptions = e;
}
getFilter(A, e, r) {
let i = this._getMatcher(e), n = this._getNegativePatternsRe(r);
return (o) => this._filter(A, o, i, n);
}
_getMatcher(A) {
return new u2.default(A, this._settings, this._micromatchOptions);
}
_getNegativePatternsRe(A) {
let e = A.filter(sg.pattern.isAffectDepthOfReadingPattern);
return sg.pattern.convertPatternsToRe(e, this._micromatchOptions);
}
_filter(A, e, r, i) {
if (this._isSkippedByDeep(A, e.path) || this._isSkippedSymbolicLink(e))
return !1;
let n = sg.path.removeLeadingDotSegment(e.path);
return this._isSkippedByPositivePatterns(n, r) ? !1 : this._isSkippedByNegativePatterns(n, i);
}
_isSkippedByDeep(A, e) {
return this._settings.deep === 1 / 0 ? !1 : this._getEntryLevel(A, e) >= this._settings.deep;
}
_getEntryLevel(A, e) {
let r = e.split("/").length;
if (A === "")
return r;
let i = A.split("/").length;
return r - i;
}
_isSkippedSymbolicLink(A) {
return !this._settings.followSymbolicLinks && A.dirent.isSymbolicLink();
}
_isSkippedByPositivePatterns(A, e) {
return !this._settings.baseNameMatch && !e.match(A);
}
_isSkippedByNegativePatterns(A, e) {
return !sg.pattern.matchAny(A, e);
}
};
uh.default = Eh;
});
// ../node_modules/fast-glob/out/providers/filters/entry.js
var uS = m((Qh) => {
"use strict";
Object.defineProperty(Qh, "__esModule", { value: !0 });
var Xt = yt(), Bh = class {
static {
s(this, "EntryFilter");
}
constructor(A, e) {
this._settings = A, this._micromatchOptions = e, this.index = /* @__PURE__ */ new Map();
}
getFilter(A, e) {
let [r, i] = Xt.pattern.partitionAbsoluteAndRelative(e), n = {
positive: {
all: Xt.pattern.convertPatternsToRe(A, this._micromatchOptions)
},
negative: {
absolute: Xt.pattern.convertPatternsToRe(r, Object.assign(Object.assign({}, this._micromatchOptions), { dot: !0 })),
relative: Xt.pattern.convertPatternsToRe(i, Object.assign(Object.assign({}, this._micromatchOptions), { dot: !0 }))
}
};
return (o) => this._filter(o, n);
}
_filter(A, e) {
let r = Xt.path.removeLeadingDotSegment(A.path);
if (this._settings.unique && this._isDuplicateEntry(r) || this._onlyFileFilter(A) || this._onlyDirectoryFilter(A))
return !1;
let i = this._isMatchToPatternsSet(r, e, A.dirent.isDirectory());
return this._settings.unique && i && this._createIndexRecord(r), i;
}
_isDuplicateEntry(A) {
return this.index.has(A);
}
_createIndexRecord(A) {
this.index.set(A, void 0);
}
_onlyFileFilter(A) {
return this._settings.onlyFiles && !A.dirent.isFile();
}
_onlyDirectoryFilter(A) {
return this._settings.onlyDirectories && !A.dirent.isDirectory();
}
_isMatchToPatternsSet(A, e, r) {
return !(!this._isMatchToPatterns(A, e.positive.all, r) || this._isMatchToPatterns(A, e.negative.relative, r) || this._isMatchToAbsoluteNegative(
A, e.negative.absolute, r));
}
_isMatchToAbsoluteNegative(A, e, r) {
if (e.length === 0)
return !1;
let i = Xt.path.makeAbsolute(this._settings.cwd, A);
return this._isMatchToPatterns(i, e, r);
}
_isMatchToPatterns(A, e, r) {
if (e.length === 0)
return !1;
let i = Xt.pattern.matchAny(A, e);
return !i && r ? Xt.pattern.matchAny(A + "/", e) : i;
}
};
Qh.default = Bh;
});
// ../node_modules/fast-glob/out/providers/filters/error.js
var BS = m((dh) => {
"use strict";
Object.defineProperty(dh, "__esModule", { value: !0 });
var B2 = yt(), fh = class {
static {
s(this, "ErrorFilter");
}
constructor(A) {
this._settings = A;
}
getFilter() {
return (A) => this._isNonFatalError(A);
}
_isNonFatalError(A) {
return B2.errno.isEnoentCodeError(A) || this._settings.suppressErrors;
}
};
dh.default = fh;
});
// ../node_modules/fast-glob/out/providers/transformers/entry.js
var fS = m((wh) => {
"use strict";
Object.defineProperty(wh, "__esModule", { value: !0 });
var QS = yt(), ph = class {
static {
s(this, "EntryTransformer");
}
constructor(A) {
this._settings = A;
}
getTransformer() {
return (A) => this._transform(A);
}
_transform(A) {
let e = A.path;
return this._settings.absolute && (e = QS.path.makeAbsolute(this._settings.cwd, e), e = QS.path.unixify(e)), this._settings.markDirectories &&
A.dirent.isDirectory() && (e += "/"), this._settings.objectMode ? Object.assign(Object.assign({}, A), { path: e }) : e;
}
};
wh.default = ph;
});
// ../node_modules/fast-glob/out/providers/provider.js
var ng = m((yh) => {
"use strict";
Object.defineProperty(yh, "__esModule", { value: !0 });
var Q2 = v("path"), f2 = ES(), d2 = uS(), p2 = BS(), w2 = fS(), mh = class {
static {
s(this, "Provider");
}
constructor(A) {
this._settings = A, this.errorFilter = new p2.default(this._settings), this.entryFilter = new d2.default(this._settings, this._getMicromatchOptions()),
this.deepFilter = new f2.default(this._settings, this._getMicromatchOptions()), this.entryTransformer = new w2.default(this._settings);
}
_getRootDirectory(A) {
return Q2.resolve(this._settings.cwd, A.base);
}
_getReaderOptions(A) {
let e = A.base === "." ? "" : A.base;
return {
basePath: e,
pathSegmentSeparator: "/",
concurrency: this._settings.concurrency,
deepFilter: this.deepFilter.getFilter(e, A.positive, A.negative),
entryFilter: this.entryFilter.getFilter(A.positive, A.negative),
errorFilter: this.errorFilter.getFilter(),
followSymbolicLinks: this._settings.followSymbolicLinks,
fs: this._settings.fs,
stats: this._settings.stats,
throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
transform: this.entryTransformer.getTransformer()
};
}
_getMicromatchOptions() {
return {
dot: this._settings.dot,
matchBase: this._settings.baseNameMatch,
nobrace: !this._settings.braceExpansion,
nocase: !this._settings.caseSensitiveMatch,
noext: !this._settings.extglob,
noglobstar: !this._settings.globstar,
posix: !0,
strictSlashes: !1
};
}
};
yh.default = mh;
});
// ../node_modules/fast-glob/out/providers/async.js
var dS = m((Sh) => {
"use strict";
Object.defineProperty(Sh, "__esModule", { value: !0 });
var m2 = IS(), y2 = ng(), Dh = class extends y2.default {
static {
s(this, "ProviderAsync");
}
constructor() {
super(...arguments), this._reader = new m2.default(this._settings);
}
async read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A);
return (await this.api(e, A, r)).map((n) => r.transform(n));
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
Sh.default = Dh;
});
// ../node_modules/fast-glob/out/providers/stream.js
var pS = m((Fh) => {
"use strict";
Object.defineProperty(Fh, "__esModule", { value: !0 });
var D2 = v("stream"), S2 = gh(), K2 = ng(), Kh = class extends K2.default {
static {
s(this, "ProviderStream");
}
constructor() {
super(...arguments), this._reader = new S2.default(this._settings);
}
read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A), i = this.api(e, A, r), n = new D2.Readable({ objectMode: !0, read: /* @__PURE__ */ s(
() => {
}, "read") });
return i.once("error", (o) => n.emit("error", o)).on("data", (o) => n.emit("data", r.transform(o))).once("end", () => n.emit("end")), n.
once("close", () => i.destroy()), n;
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
Fh.default = Kh;
});
// ../node_modules/fast-glob/out/readers/sync.js
var wS = m((bh) => {
"use strict";
Object.defineProperty(bh, "__esModule", { value: !0 });
var F2 = Er(), k2 = rg(), b2 = ig(), kh = class extends b2.default {
static {
s(this, "ReaderSync");
}
constructor() {
super(...arguments), this._walkSync = k2.walkSync, this._statSync = F2.statSync;
}
dynamic(A, e) {
return this._walkSync(A, e);
}
static(A, e) {
let r = [];
for (let i of A) {
let n = this._getFullEntryPath(i), o = this._getEntry(n, i, e);
o === null || !e.entryFilter(o) || r.push(o);
}
return r;
}
_getEntry(A, e, r) {
try {
let i = this._getStat(A);
return this._makeEntry(i, e);
} catch (i) {
if (r.errorFilter(i))
return null;
throw i;
}
}
_getStat(A) {
return this._statSync(A, this._fsStatSettings);
}
};
bh.default = kh;
});
// ../node_modules/fast-glob/out/providers/sync.js
var mS = m((Mh) => {
"use strict";
Object.defineProperty(Mh, "__esModule", { value: !0 });
var N2 = wS(), M2 = ng(), Nh = class extends M2.default {
static {
s(this, "ProviderSync");
}
constructor() {
super(...arguments), this._reader = new N2.default(this._settings);
}
read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A);
return this.api(e, A, r).map(r.transform);
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
Mh.default = Nh;
});
// ../node_modules/fast-glob/out/settings.js
var yS = m((ei) => {
"use strict";
Object.defineProperty(ei, "__esModule", { value: !0 });
ei.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
var Ai = v("fs"), R2 = v("os"), v2 = Math.max(R2.cpus().length, 1);
ei.DEFAULT_FILE_SYSTEM_ADAPTER = {
lstat: Ai.lstat,
lstatSync: Ai.lstatSync,
stat: Ai.stat,
statSync: Ai.statSync,
readdir: Ai.readdir,
readdirSync: Ai.readdirSync
};
var Rh = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.absolute = this._getValue(this._options.absolute, !1), this.baseNameMatch = this._getValue(this._options.baseNameMatch,
!1), this.braceExpansion = this._getValue(this._options.braceExpansion, !0), this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch,
!0), this.concurrency = this._getValue(this._options.concurrency, v2), this.cwd = this._getValue(this._options.cwd, process.cwd()), this.
deep = this._getValue(this._options.deep, 1 / 0), this.dot = this._getValue(this._options.dot, !1), this.extglob = this._getValue(this.
_options.extglob, !0), this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, !0), this.fs = this._getFileSystemMethods(
this._options.fs), this.globstar = this._getValue(this._options.globstar, !0), this.ignore = this._getValue(this._options.ignore, []),
this.markDirectories = this._getValue(this._options.markDirectories, !1), this.objectMode = this._getValue(this._options.objectMode, !1),
this.onlyDirectories = this._getValue(this._options.onlyDirectories, !1), this.onlyFiles = this._getValue(this._options.onlyFiles, !0),
this.stats = this._getValue(this._options.stats, !1), this.suppressErrors = this._getValue(this._options.suppressErrors, !1), this.throwErrorOnBrokenSymbolicLink =
this._getValue(this._options.throwErrorOnBrokenSymbolicLink, !1), this.unique = this._getValue(this._options.unique, !0), this.onlyDirectories &&
(this.onlyFiles = !1), this.stats && (this.objectMode = !0), this.ignore = [].concat(this.ignore);
}
_getValue(A, e) {
return A === void 0 ? e : A;
}
_getFileSystemMethods(A = {}) {
return Object.assign(Object.assign({}, ei.DEFAULT_FILE_SYSTEM_ADAPTER), A);
}
};
ei.default = Rh;
});
// ../node_modules/fast-glob/out/index.js
var Yh = m((R7, SS) => {
"use strict";
var DS = SD(), L2 = dS(), x2 = pS(), Y2 = mS(), vh = yS(), De = yt();
async function Lh(t, A) {
Je(t);
let e = xh(t, L2.default, A), r = await Promise.all(e);
return De.array.flatten(r);
}
s(Lh, "FastGlob");
(function(t) {
t.glob = t, t.globSync = A, t.globStream = e, t.async = t;
function A(I, E) {
Je(I);
let Q = xh(I, Y2.default, E);
return De.array.flatten(Q);
}
s(A, "sync"), t.sync = A;
function e(I, E) {
Je(I);
let Q = xh(I, x2.default, E);
return De.stream.merge(Q);
}
s(e, "stream"), t.stream = e;
function r(I, E) {
Je(I);
let Q = [].concat(I), B = new vh.default(E);
return DS.generate(Q, B);
}
s(r, "generateTasks"), t.generateTasks = r;
function i(I, E) {
Je(I);
let Q = new vh.default(E);
return De.pattern.isDynamicPattern(I, Q);
}
s(i, "isDynamicPattern"), t.isDynamicPattern = i;
function n(I) {
return Je(I), De.path.escape(I);
}
s(n, "escapePath"), t.escapePath = n;
function o(I) {
return Je(I), De.path.convertPathToPattern(I);
}
s(o, "convertPathToPattern"), t.convertPathToPattern = o;
let g;
(function(I) {
function E(B) {
return Je(B), De.path.escapePosixPath(B);
}
s(E, "escapePath"), I.escapePath = E;
function Q(B) {
return Je(B), De.path.convertPosixPathToPattern(B);
}
s(Q, "convertPathToPattern"), I.convertPathToPattern = Q;
})(g = t.posix || (t.posix = {}));
let C;
(function(I) {
function E(B) {
return Je(B), De.path.escapeWindowsPath(B);
}
s(E, "escapePath"), I.escapePath = E;
function Q(B) {
return Je(B), De.path.convertWindowsPathToPattern(B);
}
s(Q, "convertPathToPattern"), I.convertPathToPattern = Q;
})(C = t.win32 || (t.win32 = {}));
})(Lh || (Lh = {}));
function xh(t, A, e) {
let r = [].concat(t), i = new vh.default(e), n = DS.generate(r, i), o = new A(i);
return n.map(o.read, o);
}
s(xh, "getWorks");
function Je(t) {
if (![].concat(t).every((r) => De.string.isString(r) && !De.string.isEmpty(r)))
throw new TypeError("Patterns must be a string (non empty) or an array of strings");
}
s(Je, "assertPatternsInput");
SS.exports = Lh;
});
// ../node_modules/globby/node_modules/path-type/index.js
import P2 from "node:fs";
import U2 from "node:fs/promises";
async function Ph(t, A, e) {
if (typeof e != "string")
throw new TypeError(`Expected a string, got ${typeof e}`);
try {
return (await U2[t](e))[A]();
} catch (r) {
if (r.code === "ENOENT")
return !1;
throw r;
}
}
function Uh(t, A, e) {
if (typeof e != "string")
throw new TypeError(`Expected a string, got ${typeof e}`);
try {
return P2[t](e)[A]();
} catch (r) {
if (r.code === "ENOENT")
return !1;
throw r;
}
}
var Y7, KS, P7, U7, FS, _7, kS = ue(() => {
s(Ph, "isType");
s(Uh, "isTypeSync");
Y7 = Ph.bind(void 0, "stat", "isFile"), KS = Ph.bind(void 0, "stat", "isDirectory"), P7 = Ph.bind(void 0, "lstat", "isSymbolicLink"), U7 =
Uh.bind(void 0, "statSync", "isFile"), FS = Uh.bind(void 0, "statSync", "isDirectory"), _7 = Uh.bind(void 0, "lstatSync", "isSymbolicLink");
});
// ../node_modules/unicorn-magic/default.js
var bS = ue(() => {
});
// ../node_modules/unicorn-magic/node.js
import { promisify as _2 } from "node:util";
import { execFile as G2, execFileSync as q7 } from "node:child_process";
import W7 from "node:path";
import { fileURLToPath as J2 } from "node:url";
function Es(t) {
return t instanceof URL ? J2(t) : t;
}
var X7, Z7, _h = ue(() => {
bS();
X7 = _2(G2);
s(Es, "toPath");
Z7 = 10 * 1024 * 1024;
});
// ../node_modules/globby/node_modules/ignore/index.js
var PS = m((tAA, qh) => {
function RS(t) {
return Array.isArray(t) ? t : [t];
}
s(RS, "makeArray");
var O2 = void 0, Jh = "", NS = " ", Gh = "\\", T2 = /^\s+$/, H2 = /(?:[^\\]|^)\\$/, j2 = /^\\!/, q2 = /^\\#/, z2 = /\r?\n/g, W2 = /^\.{0,2}\/|^\.{1,2}$/,
V2 = /\/$/, ti = "/", vS = "node-ignore";
typeof Symbol < "u" && (vS = Symbol.for("node-ignore"));
var LS = vS, us = /* @__PURE__ */ s((t, A, e) => (Object.defineProperty(t, A, { value: e }), e), "define"), X2 = /([0-z])-([0-z])/g, xS = /* @__PURE__ */ s(
() => !1, "RETURN_FALSE"), Z2 = /* @__PURE__ */ s((t) => t.replace(
X2,
(A, e, r) => e.charCodeAt(0) <= r.charCodeAt(0) ? A : Jh
), "sanitizeRange"), $2 = /* @__PURE__ */ s((t) => {
let { length: A } = t;
return t.slice(0, A - A % 2);
}, "cleanRangeBackSlash"), AO = [
[
// Remove BOM
// TODO:
// Other similar zero-width characters?
/^\uFEFF/,
() => Jh
],
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
[
// (a\ ) -> (a )
// (a ) -> (a)
// (a ) -> (a)
// (a \ ) -> (a )
/((?:\\\\)*?)(\\?\s+)$/,
(t, A, e) => A + (e.indexOf("\\") === 0 ? NS : Jh)
],
// Replace (\ ) with ' '
// (\ ) -> ' '
// (\\ ) -> '\\ '
// (\\\ ) -> '\\ '
[
/(\\+?)\s/g,
(t, A) => {
let { length: e } = A;
return A.slice(0, e - e % 2) + NS;
}
],
// Escape metacharacters
// which is written down by users but means special for regular expressions.
// > There are 12 characters with special meanings:
// > - the backslash \,
// > - the caret ^,
// > - the dollar sign $,
// > - the period or dot .,
// > - the vertical bar or pipe symbol |,
// > - the question mark ?,
// > - the asterisk or star *,
// > - the plus sign +,
// > - the opening parenthesis (,
// > - the closing parenthesis ),
// > - and the opening square bracket [,
// > - the opening curly brace {,
// > These special characters are often called "metacharacters".
[
/[\\$.|*+(){^]/g,
(t) => `\\${t}`
],
[
// > a question mark (?) matches a single character
/(?!\\)\?/g,
() => "[^/]"
],
// leading slash
[
// > A leading slash matches the beginning of the pathname.
// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
// A leading slash matches the beginning of the pathname
/^\//,
() => "^"
],
// replace special metacharacter slash after the leading slash
[
/\//g,
() => "\\/"
],
[
// > A leading "**" followed by a slash means match in all directories.
// > For example, "**/foo" matches file or directory "foo" anywhere,
// > the same as pattern "foo".
// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
// > under directory "foo".
// Notice that the '*'s have been replaced as '\\*'
/^\^*\\\*\\\*\\\//,
// '**/foo' <-> 'foo'
() => "^(?:.*\\/)?"
],
// starting
[
// there will be no leading '/'
// (which has been replaced by section "leading slash")
// If starts with '**', adding a '^' to the regular expression also works
/^(?=[^^])/,
/* @__PURE__ */ s(function() {
return /\/(?!$)/.test(this) ? "^" : "(?:^|\\/)";
}, "startingReplacer")
],
// two globstars
[
// Use lookahead assertions so that we could match more than one `'/**'`
/\\\/\\\*\\\*(?=\\\/|$)/g,
// Zero, one or several directories
// should not use '*', or it will be replaced by the next replacer
// Check if it is not the last `'/**'`
(t, A, e) => A + 6 < e.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
],
// normal intermediate wildcards
[
// Never replace escaped '*'
// ignore rule '\*' will match the path '*'
// 'abc.*/' -> go
// 'abc.*' -> skip this rule,
// coz trailing single wildcard will be handed by [trailing wildcard]
/(^|[^\\]+)(\\\*)+(?=.+)/g,
// '*.js' matches '.js'
// '*.js' doesn't match 'abc'
(t, A, e) => {
let r = e.replace(/\\\*/g, "[^\\/]*");
return A + r;
}
],
[
// unescape, revert step 3 except for back slash
// For example, if a user escape a '\\*',
// after step 3, the result will be '\\\\\\*'
/\\\\\\(?=[$.|*+(){^])/g,
() => Gh
],
[
// '\\\\' -> '\\'
/\\\\/g,
() => Gh
],
[
// > The range notation, e.g. [a-zA-Z],
// > can be used to match one of the characters in a range.
// `\` is escaped by step 3
/(\\)?\[([^\]/]*?)(\\*)($|\])/g,
(t, A, e, r, i) => A === Gh ? `\\[${e}${$2(r)}${i}` : i === "]" && r.length % 2 === 0 ? `[${Z2(e)}${r}]` : "[]"
],
// ending
[
// 'js' will not match 'js.'
// 'ab' will not match 'abc'
/(?:[^*])$/,
// WTF!
// https://git-scm.com/docs/gitignore
// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
// which re-fixes #24, #38
// > If there is a separator at the end of the pattern then the pattern
// > will only match directories, otherwise the pattern can match both
// > files and directories.
// 'js*' will not match 'a.js'
// 'js/' will not match 'a.js'
// 'js' will match 'a.js' and 'a.js/'
(t) => /\/$/.test(t) ? `${t}$` : `${t}(?=$|\\/$)`
]
], eO = /(^|\\\/)?\\\*$/, Bs = "regex", og = "checkRegex", MS = "_", tO = {
[Bs](t, A) {
return `${A ? `${A}[^/]+` : "[^/]*"}(?=$|\\/$)`;
},
[og](t, A) {
return `${A ? `${A}[^/]*` : "[^/]*"}(?=$|\\/$)`;
}
}, rO = /* @__PURE__ */ s((t) => AO.reduce(
(A, [e, r]) => A.replace(e, r.bind(t)),
t
), "makeRegexPrefix"), gg = /* @__PURE__ */ s((t) => typeof t == "string", "isString"), iO = /* @__PURE__ */ s((t) => t && gg(t) && !T2.test(
t) && !H2.test(t) && t.indexOf("#") !== 0, "checkPattern"), sO = /* @__PURE__ */ s((t) => t.split(z2).filter(Boolean), "splitPattern"), Oh = class {
static {
s(this, "IgnoreRule");
}
constructor(A, e, r, i, n, o) {
this.pattern = A, this.mark = e, this.negative = n, us(this, "body", r), us(this, "ignoreCase", i), us(this, "regexPrefix", o);
}
get regex() {
let A = MS + Bs;
return this[A] ? this[A] : this._make(Bs, A);
}
get checkRegex() {
let A = MS + og;
return this[A] ? this[A] : this._make(og, A);
}
_make(A, e) {
let r = this.regexPrefix.replace(
eO,
// It does not need to bind pattern
tO[A]
), i = this.ignoreCase ? new RegExp(r, "i") : new RegExp(r);
return us(this, e, i);
}
}, nO = /* @__PURE__ */ s(({
pattern: t,
mark: A
}, e) => {
let r = !1, i = t;
i.indexOf("!") === 0 && (r = !0, i = i.substr(1)), i = i.replace(j2, "!").replace(q2, "#");
let n = rO(i);
return new Oh(
t,
A,
i,
e,
r,
n
);
}, "createRule"), Th = class {
static {
s(this, "RuleManager");
}
constructor(A) {
this._ignoreCase = A, this._rules = [];
}
_add(A) {
if (A && A[LS]) {
this._rules = this._rules.concat(A._rules._rules), this._added = !0;
return;
}
if (gg(A) && (A = {
pattern: A
}), iO(A.pattern)) {
let e = nO(A, this._ignoreCase);
this._added = !0, this._rules.push(e);
}
}
// @param {Array<string> | string | Ignore} pattern
add(A) {
return this._added = !1, RS(
gg(A) ? sO(A) : A
).forEach(this._add, this), this._added;
}
// Test one single path without recursively checking parent directories
//
// - checkUnignored `boolean` whether should check if the path is unignored,
// setting `checkUnignored` to `false` could reduce additional
// path matching.
// - check `string` either `MODE_IGNORE` or `MODE_CHECK_IGNORE`
// @returns {TestResult} true if a file is ignored
test(A, e, r) {
let i = !1, n = !1, o;
this._rules.forEach((C) => {
let { negative: I } = C;
n === I && i !== n || I && !i && !n && !e || !C[r].test(A) || (i = !I, n = I, o = I ? O2 : C);
});
let g = {
ignored: i,
unignored: n
};
return o && (g.rule = o), g;
}
}, oO = /* @__PURE__ */ s((t, A) => {
throw new A(t);
}, "throwError"), Dt = /* @__PURE__ */ s((t, A, e) => gg(t) ? t ? Dt.isNotRelative(t) ? e(
`path should be a \`path.relative()\`d string, but got "${A}"`,
RangeError
) : !0 : e("path must not be empty", TypeError) : e(
`path must be a string, but got \`${A}\``,
TypeError
), "checkPath"), YS = /* @__PURE__ */ s((t) => W2.test(t), "isNotRelative");
Dt.isNotRelative = YS;
Dt.convert = (t) => t;
var Hh = class {
static {
s(this, "Ignore");
}
constructor({
ignorecase: A = !0,
ignoreCase: e = A,
allowRelativePaths: r = !1
} = {}) {
us(this, LS, !0), this._rules = new Th(e), this._strictPathCheck = !r, this._initCache();
}
_initCache() {
this._ignoreCache = /* @__PURE__ */ Object.create(null), this._testCache = /* @__PURE__ */ Object.create(null);
}
add(A) {
return this._rules.add(A) && this._initCache(), this;
}
// legacy
addPattern(A) {
return this.add(A);
}
// @returns {TestResult}
_test(A, e, r, i) {
let n = A && Dt.convert(A);
return Dt(
n,
A,
this._strictPathCheck ? oO : xS
), this._t(n, e, r, i);
}
checkIgnore(A) {
if (!V2.test(A))
return this.test(A);
let e = A.split(ti).filter(Boolean);
if (e.pop(), e.length) {
let r = this._t(
e.join(ti) + ti,
this._testCache,
!0,
e
);
if (r.ignored)
return r;
}
return this._rules.test(A, !1, og);
}
_t(A, e, r, i) {
if (A in e)
return e[A];
if (i || (i = A.split(ti).filter(Boolean)), i.pop(), !i.length)
return e[A] = this._rules.test(A, r, Bs);
let n = this._t(
i.join(ti) + ti,
e,
r,
i
);
return e[A] = n.ignored ? n : this._rules.test(A, r, Bs);
}
ignores(A) {
return this._test(A, this._ignoreCache, !1).ignored;
}
createFilter() {
return (A) => !this.ignores(A);
}
filter(A) {
return RS(A).filter(this.createFilter());
}
// @returns {TestResult}
test(A) {
return this._test(A, this._testCache, !0);
}
}, jh = /* @__PURE__ */ s((t) => new Hh(t), "factory"), gO = /* @__PURE__ */ s((t) => Dt(t && Dt.convert(t), t, xS), "isPathValid");
if (
// Detect `process` so that it can run in browsers.
typeof process < "u" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
) {
let t = /* @__PURE__ */ s((e) => /^\\\\\?\\/.test(e) || /["<>|\u0000-\u001F]+/u.test(e) ? e : e.replace(/\\/g, "/"), "makePosix");
Dt.convert = t;
let A = /^[a-z]:\//i;
Dt.isNotRelative = (e) => A.test(e) || YS(e);
}
qh.exports = jh;
jh.default = jh;
qh.exports.isPathValid = gO;
});
// ../node_modules/globby/utilities.js
var Qs, zh = ue(() => {
Qs = /* @__PURE__ */ s((t) => t[0] === "!", "isNegativePattern");
});
// ../node_modules/globby/ignore.js
import aO from "node:process";
import CO from "node:fs";
import cO from "node:fs/promises";
import ri from "node:path";
var Wh, US, IO, _S, ag, hO, lO, EO, GS, JS, fs, ds, OS, TS, Vh = ue(() => {
Wh = cA(Yh(), 1), US = cA(PS(), 1);
Mr();
_h();
zh();
IO = [
"**/node_modules",
"**/flow-typed",
"**/coverage",
"**/.git"
], _S = {
absolute: !0,
dot: !0
}, ag = "**/.gitignore", hO = /* @__PURE__ */ s((t, A) => Qs(t) ? "!" + ri.posix.join(A, t.slice(1)) : ri.posix.join(A, t), "applyBaseToPa\
ttern"), lO = /* @__PURE__ */ s((t, A) => {
let e = Ae(ri.relative(A, ri.dirname(t.filePath)));
return t.content.split(/\r?\n/).filter((r) => r && !r.startsWith("#")).map((r) => hO(r, e));
}, "parseIgnoreFile"), EO = /* @__PURE__ */ s((t, A) => {
if (A = Ae(A), ri.isAbsolute(t)) {
if (Ae(t).startsWith(A))
return ri.relative(A, t);
throw new Error(`Path ${t} is not in cwd ${A}`);
}
return t;
}, "toRelativePath"), GS = /* @__PURE__ */ s((t, A) => {
let e = t.flatMap((i) => lO(i, A)), r = (0, US.default)().add(e);
return (i) => (i = Es(i), i = EO(i, A), i ? r.ignores(Ae(i)) : !1);
}, "getIsIgnoredPredicate"), JS = /* @__PURE__ */ s((t = {}) => ({
cwd: Es(t.cwd) ?? aO.cwd(),
suppressErrors: !!t.suppressErrors,
deep: typeof t.deep == "number" ? t.deep : Number.POSITIVE_INFINITY,
ignore: [...t.ignore ?? [], ...IO]
}), "normalizeOptions"), fs = /* @__PURE__ */ s(async (t, A) => {
let { cwd: e, suppressErrors: r, deep: i, ignore: n } = JS(A), o = await (0, Wh.default)(t, {
cwd: e,
suppressErrors: r,
deep: i,
ignore: n,
..._S
}), g = await Promise.all(
o.map(async (C) => ({
filePath: C,
content: await cO.readFile(C, "utf8")
}))
);
return GS(g, e);
}, "isIgnoredByIgnoreFiles"), ds = /* @__PURE__ */ s((t, A) => {
let { cwd: e, suppressErrors: r, deep: i, ignore: n } = JS(A), g = Wh.default.sync(t, {
cwd: e,
suppressErrors: r,
deep: i,
ignore: n,
..._S
}).map((C) => ({
filePath: C,
content: CO.readFileSync(C, "utf8")
}));
return GS(g, e);
}, "isIgnoredByIgnoreFilesSync"), OS = /* @__PURE__ */ s((t) => fs(ag, t), "isGitIgnored"), TS = /* @__PURE__ */ s((t) => ds(ag, t), "isGi\
tIgnoredSync");
});
// ../node_modules/globby/index.js
var sK = {};
Ss(sK, {
convertPathToPattern: () => SO,
generateGlobTasks: () => yO,
generateGlobTasksSync: () => DO,
globby: () => dO,
globbyStream: () => wO,
globbySync: () => pO,
isDynamicPattern: () => mO,
isGitIgnored: () => OS,
isGitIgnoredSync: () => TS,
isIgnoredByIgnoreFiles: () => fs,
isIgnoredByIgnoreFilesSync: () => ds
});
import qS from "node:process";
import uO from "node:fs";
import ii from "node:path";
var si, BO, zS, WS, HS, jS, Xh, QO, VS, XS, Cg, ZS, fO, $S, AK, eK, tK, rK, iK, Zh, dO, pO, wO, mO, yO, DO, SO, nK = ue(() => {
ry();
si = cA(Yh(), 1);
kS();
_h();
Vh();
zh();
Vh();
BO = /* @__PURE__ */ s((t) => {
if (t.some((A) => typeof A != "string"))
throw new TypeError("Patterns must be a string or an array of strings");
}, "assertPatternsInput"), zS = /* @__PURE__ */ s((t, A) => {
let e = Qs(t) ? t.slice(1) : t;
return ii.isAbsolute(e) ? e : ii.join(A, e);
}, "normalizePathForDirectoryGlob"), WS = /* @__PURE__ */ s(({ directoryPath: t, files: A, extensions: e }) => {
let r = e?.length > 0 ? `.${e.length > 1 ? `{${e.join(",")}}` : e[0]}` : "";
return A ? A.map((i) => ii.posix.join(t, `**/${ii.extname(i) ? i : `${i}${r}`}`)) : [ii.posix.join(t, `**${r ? `/*${r}` : ""}`)];
}, "getDirectoryGlob"), HS = /* @__PURE__ */ s(async (t, {
cwd: A = qS.cwd(),
files: e,
extensions: r
} = {}) => (await Promise.all(
t.map(async (n) => await KS(zS(n, A)) ? WS({ directoryPath: n, files: e, extensions: r }) : n)
)).flat(), "directoryToGlob"), jS = /* @__PURE__ */ s((t, {
cwd: A = qS.cwd(),
files: e,
extensions: r
} = {}) => t.flatMap((i) => FS(zS(i, A)) ? WS({ directoryPath: i, files: e, extensions: r }) : i), "directoryToGlobSync"), Xh = /* @__PURE__ */ s(
(t) => (t = [...new Set([t].flat())], BO(t), t), "toPatternsArray"), QO = /* @__PURE__ */ s((t) => {
if (!t)
return;
let A;
try {
A = uO.statSync(t);
} catch {
return;
}
if (!A.isDirectory())
throw new Error("The `cwd` option must be a path to a directory");
}, "checkCwdOption"), VS = /* @__PURE__ */ s((t = {}) => (t = {
...t,
ignore: t.ignore ?? [],
expandDirectories: t.expandDirectories ?? !0,
cwd: Es(t.cwd)
}, QO(t.cwd), t), "normalizeOptions"), XS = /* @__PURE__ */ s((t) => async (A, e) => t(Xh(A), VS(e)), "normalizeArguments"), Cg = /* @__PURE__ */ s(
(t) => (A, e) => t(Xh(A), VS(e)), "normalizeArgumentsSync"), ZS = /* @__PURE__ */ s((t) => {
let { ignoreFiles: A, gitignore: e } = t, r = A ? Xh(A) : [];
return e && r.push(ag), r;
}, "getIgnoreFilesPatterns"), fO = /* @__PURE__ */ s(async (t) => {
let A = ZS(t);
return AK(
A.length > 0 && await fs(A, t)
);
}, "getFilter"), $S = /* @__PURE__ */ s((t) => {
let A = ZS(t);
return AK(
A.length > 0 && ds(A, t)
);
}, "getFilterSync"), AK = /* @__PURE__ */ s((t) => {
let A = /* @__PURE__ */ new Set();
return (e) => {
let r = ii.normalize(e.path ?? e);
return A.has(r) || t && t(r) ? !1 : (A.add(r), !0);
};
}, "createFilterFunction"), eK = /* @__PURE__ */ s((t, A) => t.flat().filter((e) => A(e)), "unionFastGlobResults"), tK = /* @__PURE__ */ s(
(t, A) => {
let e = [];
for (; t.length > 0; ) {
let r = t.findIndex((n) => Qs(n));
if (r === -1) {
e.push({ patterns: t, options: A });
break;
}
let i = t[r].slice(1);
for (let n of e)
n.options.ignore.push(i);
r !== 0 && e.push({
patterns: t.slice(0, r),
options: {
...A,
ignore: [
...A.ignore,
i
]
}
}), t = t.slice(r + 1);
}
return e;
}, "convertNegativePatterns"), rK = /* @__PURE__ */ s((t, A) => ({
...A ? { cwd: A } : {},
...Array.isArray(t) ? { files: t } : t
}), "normalizeExpandDirectoriesOption"), iK = /* @__PURE__ */ s(async (t, A) => {
let e = tK(t, A), { cwd: r, expandDirectories: i } = A;
if (!i)
return e;
let n = rK(i, r);
return Promise.all(
e.map(async (o) => {
let { patterns: g, options: C } = o;
return [
g,
C.ignore
] = await Promise.all([
HS(g, n),
HS(C.ignore, { cwd: r })
]), { patterns: g, options: C };
})
);
}, "generateTasks"), Zh = /* @__PURE__ */ s((t, A) => {
let e = tK(t, A), { cwd: r, expandDirectories: i } = A;
if (!i)
return e;
let n = rK(i, r);
return e.map((o) => {
let { patterns: g, options: C } = o;
return g = jS(g, n), C.ignore = jS(C.ignore, { cwd: r }), { patterns: g, options: C };
});
}, "generateTasksSync"), dO = XS(async (t, A) => {
let [
e,
r
] = await Promise.all([
iK(t, A),
fO(A)
]), i = await Promise.all(e.map((n) => (0, si.default)(n.patterns, n.options)));
return eK(i, r);
}), pO = Cg((t, A) => {
let e = Zh(t, A), r = $S(A), i = e.map((n) => si.default.sync(n.patterns, n.options));
return eK(i, r);
}), wO = Cg((t, A) => {
let e = Zh(t, A), r = $S(A), i = e.map((o) => si.default.stream(o.patterns, o.options));
return aI(i).filter((o) => r(o));
}), mO = Cg(
(t, A) => t.some((e) => si.default.isDynamicPattern(e, A))
), yO = XS(iK), DO = Cg(Zh), { convertPathToPattern: SO } = si.default;
});
// ../node_modules/p-limit/index.js
var aK = {};
Ss(aK, {
default: () => $h,
limitFunction: () => KO
});
function $h(t) {
gK(t);
let A = new tr(), e = 0, r = /* @__PURE__ */ s(() => {
e < t && A.size > 0 && (A.dequeue()(), e++);
}, "resumeNext"), i = /* @__PURE__ */ s(() => {
e--, r();
}, "next"), n = /* @__PURE__ */ s(async (C, I, E) => {
let Q = (async () => C(...E))();
I(Q);
try {
await Q;
} catch {
}
i();
}, "run"), o = /* @__PURE__ */ s((C, I, E) => {
new Promise((Q) => {
A.enqueue(Q);
}).then(
n.bind(void 0, C, I, E)
), (async () => (await Promise.resolve(), e < t && r()))();
}, "enqueue"), g = /* @__PURE__ */ s((C, ...I) => new Promise((E) => {
o(C, E, I);
}), "generator");
return Object.defineProperties(g, {
activeCount: {
get: /* @__PURE__ */ s(() => e, "get")
},
pendingCount: {
get: /* @__PURE__ */ s(() => A.size, "get")
},
clearQueue: {
value() {
A.clear();
}
},
concurrency: {
get: /* @__PURE__ */ s(() => t, "get"),
set(C) {
gK(C), t = C, queueMicrotask(() => {
for (; e < t && A.size > 0; )
r();
});
}
}
}), g;
}
function KO(t, A) {
let { concurrency: e } = A, r = $h(e);
return (...i) => r(() => t(...i));
}
function gK(t) {
if (!((Number.isInteger(t) || t === Number.POSITIVE_INFINITY) && t > 0))
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
}
var CK = ue(() => {
zg();
s($h, "pLimit");
s(KO, "limitFunction");
s(gK, "validateConcurrency");
});
// src/common/versions.ts
var nt = {
"@storybook/addon-a11y": "9.0.16",
"@storybook/addon-docs": "9.0.16",
"@storybook/addon-jest": "9.0.16",
"@storybook/addon-links": "9.0.16",
"@storybook/addon-onboarding": "9.0.16",
"storybook-addon-pseudo-states": "9.0.16",
"@storybook/addon-themes": "9.0.16",
"@storybook/addon-vitest": "9.0.16",
"@storybook/builder-vite": "9.0.16",
"@storybook/builder-webpack5": "9.0.16",
storybook: "9.0.16",
"@storybook/angular": "9.0.16",
"@storybook/ember": "9.0.16",
"@storybook/html-vite": "9.0.16",
"@storybook/nextjs": "9.0.16",
"@storybook/nextjs-vite": "9.0.16",
"@storybook/preact-vite": "9.0.16",
"@storybook/react-native-web-vite": "9.0.16",
"@storybook/react-vite": "9.0.16",
"@storybook/react-webpack5": "9.0.16",
"@storybook/server-webpack5": "9.0.16",
"@storybook/svelte-vite": "9.0.16",
"@storybook/sveltekit": "9.0.16",
"@storybook/vue3-vite": "9.0.16",
"@storybook/web-components-vite": "9.0.16",
sb: "9.0.16",
"@storybook/cli": "9.0.16",
"@storybook/codemod": "9.0.16",
"@storybook/core-webpack": "9.0.16",
"create-storybook": "9.0.16",
"@storybook/csf-plugin": "9.0.16",
"eslint-plugin-storybook": "9.0.16",
"@storybook/react-dom-shim": "9.0.16",
"@storybook/preset-create-react-app": "9.0.16",
"@storybook/preset-react-webpack": "9.0.16",
"@storybook/preset-server-webpack": "9.0.16",
"@storybook/html": "9.0.16",
"@storybook/preact": "9.0.16",
"@storybook/react": "9.0.16",
"@storybook/server": "9.0.16",
"@storybook/svelte": "9.0.16",
"@storybook/vue3": "9.0.16",
"@storybook/web-components": "9.0.16"
};
// src/common/presets.ts
var KE = cA(ot(), 1);
import { join as Tg, parse as SE } from "node:path";
import { logger as bi } from "storybook/internal/node-logger";
import { CriticalPresetLoadError as Uk } from "storybook/internal/server-errors";
// src/common/utils/interpret-files.ts
import { existsSync as El } from "node:fs";
var fg = /* @__PURE__ */ new Set([".js", ".jsx", ".ts", ".tsx", ".cts", ".mts", ".cjs", ".mjs"]);
function iF() {
return [...Array.from(fg)];
}
s(iF, "sortExtensions");
var ul = iF();
function pr(t) {
return ul.map((A) => t.endsWith(A) ? t : `${t}${A}`).find((A) => El(A));
}
s(pr, "getInterpretedFile");
function Bl(t) {
return ul.map((A) => ({ path: t.endsWith(A) ? t : `${t}${A}`, ext: A })).find((A) => El(A.path));
}
s(Bl, "getInterpretedFileWithExt");
// src/common/utils/interpret-require.ts
var Ql = !1;
function dg(t) {
let A = !!v("module")._extensions[".ts"];
if (Ql === !1 && !A) {
let { register: i } = v("esbuild-register/dist/node");
Ql = !0, i({
target: `node${process.version.slice(1)}`,
format: "cjs",
hookIgnoreNodeModules: !0,
// Some frameworks, like Stylus, rely on the 'name' property of classes or functions
// https://github.com/storybookjs/storybook/issues/19049
keepNames: !0,
tsconfigRaw: `{
"compilerOptions": {
"strict": false,
"skipLibCheck": true,
},
}`
});
}
let e = v(t);
return typeof e == "object" && e !== null && typeof e.default < "u" ? e.default : e;
}
s(dg, "interopRequireDefault");
function sF(t) {
for (let A = 0; A < t.length; A += 1) {
let e = Bl(t[A]);
if (e)
return e;
}
}
s(sF, "getCandidate");
function Ii(t) {
let A = hi(t);
return A ? dg(A) : null;
}
s(Ii, "serverRequire");
function hi(t) {
let A = Array.isArray(t) ? t : [t], e = sF(A);
return e ? e.path : null;
}
s(hi, "serverResolve");
// src/common/utils/load-custom-presets.ts
import { resolve as Gg } from "node:path";
// src/common/utils/validate-configuration-files.ts
import { resolve as EE } from "node:path";
import { once as Rk } from "storybook/internal/node-logger";
import { MainFileMissingError as vk } from "storybook/internal/server-errors";
// ../node_modules/glob/node_modules/minimatch/dist/esm/index.js
var Ul = cA(Nl(), 1);
// ../node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js
var Ei = /* @__PURE__ */ s((t) => {
if (typeof t != "string")
throw new TypeError("invalid pattern");
if (t.length > 65536)
throw new TypeError("pattern is too long");
}, "assertValidPattern");
// ../node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js
var hF = {
"[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", !0],
"[:alpha:]": ["\\p{L}\\p{Nl}", !0],
"[:ascii:]": ["\\x00-\\x7f", !1],
"[:blank:]": ["\\p{Zs}\\t", !0],
"[:cntrl:]": ["\\p{Cc}", !0],
"[:digit:]": ["\\p{Nd}", !0],
"[:graph:]": ["\\p{Z}\\p{C}", !0, !0],
"[:lower:]": ["\\p{Ll}", !0],
"[:print:]": ["\\p{C}", !0],
"[:punct:]": ["\\p{P}", !0],
"[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", !0],
"[:upper:]": ["\\p{Lu}", !0],
"[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", !0],
"[:xdigit:]": ["A-Fa-f0-9", !1]
}, ui = /* @__PURE__ */ s((t) => t.replace(/[[\]\\-]/g, "\\$&"), "braceEscape"), lF = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
"\\$&"), "regexpEscape"), Ml = /* @__PURE__ */ s((t) => t.join(""), "rangesToString"), Rl = /* @__PURE__ */ s((t, A) => {
let e = A;
if (t.charAt(e) !== "[")
throw new Error("not in a brace expression");
let r = [], i = [], n = e + 1, o = !1, g = !1, C = !1, I = !1, E = e, Q = "";
A: for (; n < t.length; ) {
let D = t.charAt(n);
if ((D === "!" || D === "^") && n === e + 1) {
I = !0, n++;
continue;
}
if (D === "]" && o && !C) {
E = n + 1;
break;
}
if (o = !0, D === "\\" && !C) {
C = !0, n++;
continue;
}
if (D === "[" && !C) {
for (let [N, [k, _, L]] of Object.entries(hF))
if (t.startsWith(N, n)) {
if (Q)
return ["$.", !1, t.length - e, !0];
n += N.length, L ? i.push(k) : r.push(k), g = g || _;
continue A;
}
}
if (C = !1, Q) {
D > Q ? r.push(ui(Q) + "-" + ui(D)) : D === Q && r.push(ui(D)), Q = "", n++;
continue;
}
if (t.startsWith("-]", n + 1)) {
r.push(ui(D + "-")), n += 2;
continue;
}
if (t.startsWith("-", n + 1)) {
Q = D, n += 2;
continue;
}
r.push(ui(D)), n++;
}
if (E < n)
return ["", !1, 0, !1];
if (!r.length && !i.length)
return ["$.", !1, t.length - e, !0];
if (i.length === 0 && r.length === 1 && /^\\?.$/.test(r[0]) && !I) {
let D = r[0].length === 2 ? r[0].slice(-1) : r[0];
return [lF(D), !1, E - e, !1];
}
let B = "[" + (I ? "^" : "") + Ml(r) + "]", p = "[" + (I ? "" : "^") + Ml(i) + "]";
return [r.length && i.length ? "(" + B + "|" + p + ")" : r.length ? B : p, g, E - e, !0];
}, "parseClass");
// ../node_modules/glob/node_modules/minimatch/dist/esm/unescape.js
var ke = /* @__PURE__ */ s((t, { windowsPathsNoEscape: A = !1 } = {}) => A ? t.replace(/\[([^\/\\])\]/g, "$1") : t.replace(/((?!\\).|^)\[([^\/\\])\]/g,
"$1$2").replace(/\\([^\/])/g, "$1"), "unescape");
// ../node_modules/glob/node_modules/minimatch/dist/esm/ast.js
var EF = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]), vl = /* @__PURE__ */ s((t) => EF.has(t), "isExtglobType"), uF = "(?!(?:^|/)\\.\\.\
?(?:$|/))", Ks = "(?!\\.)", BF = /* @__PURE__ */ new Set(["[", "."]), QF = /* @__PURE__ */ new Set(["..", "."]), fF = new Set("().*{}+?[]^$\\\
!"), dF = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), "regExpEscape"), mg = "[^/]", Ll = mg + "*?", xl = mg + "+\
?", wr = class t {
static {
s(this, "AST");
}
type;
#A;
#e;
#t = !1;
#r = [];
#n;
#I;
#o;
#c = !1;
#g;
#a;
// set to true if it's an extglob with no children
// (which really means one child of '')
#s = !1;
constructor(A, e, r = {}) {
this.type = A, A && (this.#e = !0), this.#n = e, this.#A = this.#n ? this.#n.#A : this, this.#g = this.#A === this ? r : this.#A.#g, this.#o =
this.#A === this ? [] : this.#A.#o, A === "!" && !this.#A.#c && this.#o.push(this), this.#I = this.#n ? this.#n.#r.length : 0;
}
get hasMagic() {
if (this.#e !== void 0)
return this.#e;
for (let A of this.#r)
if (typeof A != "string" && (A.type || A.hasMagic))
return this.#e = !0;
return this.#e;
}
// reconstructs the pattern
toString() {
return this.#a !== void 0 ? this.#a : this.type ? this.#a = this.type + "(" + this.#r.map((A) => String(A)).join("|") + ")" : this.#a = this.#r.
map((A) => String(A)).join("");
}
#B() {
if (this !== this.#A)
throw new Error("should only call on root");
if (this.#c)
return this;
this.toString(), this.#c = !0;
let A;
for (; A = this.#o.pop(); ) {
if (A.type !== "!")
continue;
let e = A, r = e.#n;
for (; r; ) {
for (let i = e.#I + 1; !r.type && i < r.#r.length; i++)
for (let n of A.#r) {
if (typeof n == "string")
throw new Error("string part in extglob AST??");
n.copyIn(r.#r[i]);
}
e = r, r = e.#n;
}
}
return this;
}
push(...A) {
for (let e of A)
if (e !== "") {
if (typeof e != "string" && !(e instanceof t && e.#n === this))
throw new Error("invalid part: " + e);
this.#r.push(e);
}
}
toJSON() {
let A = this.type === null ? this.#r.slice().map((e) => typeof e == "string" ? e : e.toJSON()) : [this.type, ...this.#r.map((e) => e.toJSON())];
return this.isStart() && !this.type && A.unshift([]), this.isEnd() && (this === this.#A || this.#A.#c && this.#n?.type === "!") && A.push(
{}), A;
}
isStart() {
if (this.#A === this)
return !0;
if (!this.#n?.isStart())
return !1;
if (this.#I === 0)
return !0;
let A = this.#n;
for (let e = 0; e < this.#I; e++) {
let r = A.#r[e];
if (!(r instanceof t && r.type === "!"))
return !1;
}
return !0;
}
isEnd() {
if (this.#A === this || this.#n?.type === "!")
return !0;
if (!this.#n?.isEnd())
return !1;
if (!this.type)
return this.#n?.isEnd();
let A = this.#n ? this.#n.#r.length : 0;
return this.#I === A - 1;
}
copyIn(A) {
typeof A == "string" ? this.push(A) : this.push(A.clone(this));
}
clone(A) {
let e = new t(this.type, A);
for (let r of this.#r)
e.copyIn(r);
return e;
}
static #Q(A, e, r, i) {
let n = !1, o = !1, g = -1, C = !1;
if (e.type === null) {
let p = r, w = "";
for (; p < A.length; ) {
let D = A.charAt(p++);
if (n || D === "\\") {
n = !n, w += D;
continue;
}
if (o) {
p === g + 1 ? (D === "^" || D === "!") && (C = !0) : D === "]" && !(p === g + 2 && C) && (o = !1), w += D;
continue;
} else if (D === "[") {
o = !0, g = p, C = !1, w += D;
continue;
}
if (!i.noext && vl(D) && A.charAt(p) === "(") {
e.push(w), w = "";
let N = new t(D, e);
p = t.#Q(A, N, p, i), e.push(N);
continue;
}
w += D;
}
return e.push(w), p;
}
let I = r + 1, E = new t(null, e), Q = [], B = "";
for (; I < A.length; ) {
let p = A.charAt(I++);
if (n || p === "\\") {
n = !n, B += p;
continue;
}
if (o) {
I === g + 1 ? (p === "^" || p === "!") && (C = !0) : p === "]" && !(I === g + 2 && C) && (o = !1), B += p;
continue;
} else if (p === "[") {
o = !0, g = I, C = !1, B += p;
continue;
}
if (vl(p) && A.charAt(I) === "(") {
E.push(B), B = "";
let w = new t(p, E);
E.push(w), I = t.#Q(A, w, I, i);
continue;
}
if (p === "|") {
E.push(B), B = "", Q.push(E), E = new t(null, e);
continue;
}
if (p === ")")
return B === "" && e.#r.length === 0 && (e.#s = !0), E.push(B), B = "", e.push(...Q, E), I;
B += p;
}
return e.type = null, e.#e = void 0, e.#r = [A.substring(r - 1)], I;
}
static fromGlob(A, e = {}) {
let r = new t(null, void 0, e);
return t.#Q(A, r, 0, e), r;
}
// returns the regular expression if there's magic, or the unescaped
// string if not.
toMMPattern() {
if (this !== this.#A)
return this.#A.toMMPattern();
let A = this.toString(), [e, r, i, n] = this.toRegExpSource();
if (!(i || this.#e || this.#g.nocase && !this.#g.nocaseMagicOnly && A.toUpperCase() !== A.toLowerCase()))
return r;
let g = (this.#g.nocase ? "i" : "") + (n ? "u" : "");
return Object.assign(new RegExp(`^${e}$`, g), {
_src: e,
_glob: A
});
}
get options() {
return this.#g;
}
// returns the string match, the regexp source, whether there's magic
// in the regexp (so a regular expression is required) and whether or
// not the uflag is needed for the regular expression (for posix classes)
// TODO: instead of injecting the start/end at this point, just return
// the BODY of the regexp, along with the start/end portions suitable
// for binding the start/end in either a joined full-path makeRe context
// (where we bind to (^|/), or a standalone matchPart context (where
// we bind to ^, and not /). Otherwise slashes get duped!
//
// In part-matching mode, the start is:
// - if not isStart: nothing
// - if traversal possible, but not allowed: ^(?!\.\.?$)
// - if dots allowed or not possible: ^
// - if dots possible and not allowed: ^(?!\.)
// end is:
// - if not isEnd(): nothing
// - else: $
//
// In full-path matching mode, we put the slash at the START of the
// pattern, so start is:
// - if first pattern: same as part-matching mode
// - if not isStart(): nothing
// - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
// - if dots allowed or not possible: /
// - if dots possible and not allowed: /(?!\.)
// end is:
// - if last pattern, same as part-matching mode
// - else nothing
//
// Always put the (?:$|/) on negated tails, though, because that has to be
// there to bind the end of the negated pattern portion, and it's easier to
// just stick it in now rather than try to inject it later in the middle of
// the pattern.
//
// We can just always return the same end, and leave it up to the caller
// to know whether it's going to be used joined or in parts.
// And, if the start is adjusted slightly, can do the same there:
// - if not isStart: nothing
// - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
// - if dots allowed or not possible: (?:/|^)
// - if dots possible and not allowed: (?:/|^)(?!\.)
//
// But it's better to have a simpler binding without a conditional, for
// performance, so probably better to return both start options.
//
// Then the caller just ignores the end if it's not the first pattern,
// and the start always gets applied.
//
// But that's always going to be $ if it's the ending pattern, or nothing,
// so the caller can just attach $ at the end of the pattern when building.
//
// So the todo is:
// - better detect what kind of start is needed
// - return both flavors of starting pattern
// - attach $ at the end of the pattern when creating the actual RegExp
//
// Ah, but wait, no, that all only applies to the root when the first pattern
// is not an extglob. If the first pattern IS an extglob, then we need all
// that dot prevention biz to live in the extglob portions, because eg
// +(*|.x*) can match .xy but not .yx.
//
// So, return the two flavors if it's #root and the first child is not an
// AST, otherwise leave it to the child AST to handle it, and there,
// use the (?:^|/) style of start binding.
//
// Even simplified further:
// - Since the start for a join is eg /(?!\.) and the start for a part
// is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
// or start or whatever) and prepend ^ or / at the Regexp construction.
toRegExpSource(A) {
let e = A ?? !!this.#g.dot;
if (this.#A === this && this.#B(), !this.type) {
let C = this.isStart() && this.isEnd(), I = this.#r.map((p) => {
let [w, D, N, k] = typeof p == "string" ? t.#h(p, this.#e, C) : p.toRegExpSource(A);
return this.#e = this.#e || N, this.#t = this.#t || k, w;
}).join(""), E = "";
if (this.isStart() && typeof this.#r[0] == "string" && !(this.#r.length === 1 && QF.has(this.#r[0]))) {
let w = BF, D = (
// dots are allowed, and the pattern starts with [ or .
e && w.has(I.charAt(0)) || // the pattern starts with \., and then [ or .
I.startsWith("\\.") && w.has(I.charAt(2)) || // the pattern starts with \.\., and then [ or .
I.startsWith("\\.\\.") && w.has(I.charAt(4))
), N = !e && !A && w.has(I.charAt(0));
E = D ? uF : N ? Ks : "";
}
let Q = "";
return this.isEnd() && this.#A.#c && this.#n?.type === "!" && (Q = "(?:$|\\/)"), [
E + I + Q,
ke(I),
this.#e = !!this.#e,
this.#t
];
}
let r = this.type === "*" || this.type === "+", i = this.type === "!" ? "(?:(?!(?:" : "(?:", n = this.#l(e);
if (this.isStart() && this.isEnd() && !n && this.type !== "!") {
let C = this.toString();
return this.#r = [C], this.type = null, this.#e = void 0, [C, ke(this.toString()), !1, !1];
}
let o = !r || A || e || !Ks ? "" : this.#l(!0);
o === n && (o = ""), o && (n = `(?:${n})(?:${o})*?`);
let g = "";
if (this.type === "!" && this.#s)
g = (this.isStart() && !e ? Ks : "") + xl;
else {
let C = this.type === "!" ? (
// !() must match something,but !(x) can match ''
"))" + (this.isStart() && !e && !A ? Ks : "") + Ll + ")"
) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && o ? ")" : this.type === "*" && o ? ")?" : `)${this.type}`;
g = i + n + C;
}
return [
g,
ke(n),
this.#e = !!this.#e,
this.#t
];
}
#l(A) {
return this.#r.map((e) => {
if (typeof e == "string")
throw new Error("string type in extglob ast??");
let [r, i, n, o] = e.toRegExpSource(A);
return this.#t = this.#t || o, r;
}).filter((e) => !(this.isStart() && this.isEnd()) || !!e).join("|");
}
static #h(A, e, r = !1) {
let i = !1, n = "", o = !1;
for (let g = 0; g < A.length; g++) {
let C = A.charAt(g);
if (i) {
i = !1, n += (fF.has(C) ? "\\" : "") + C;
continue;
}
if (C === "\\") {
g === A.length - 1 ? n += "\\\\" : i = !0;
continue;
}
if (C === "[") {
let [I, E, Q, B] = Rl(A, g);
if (Q) {
n += I, o = o || E, g += Q - 1, e = e || B;
continue;
}
}
if (C === "*") {
r && A === "*" ? n += xl : n += Ll, e = !0;
continue;
}
if (C === "?") {
n += mg, e = !0;
continue;
}
n += dF(C);
}
return [n, ke(A), !!e, o];
}
};
// ../node_modules/glob/node_modules/minimatch/dist/esm/escape.js
var mr = /* @__PURE__ */ s((t, { windowsPathsNoEscape: A = !1 } = {}) => A ? t.replace(/[?*()[\]]/g, "[$&]") : t.replace(/[?*()[\]\\]/g, "\\$\
&"), "escape");
// ../node_modules/glob/node_modules/minimatch/dist/esm/index.js
var ZA = /* @__PURE__ */ s((t, A, e = {}) => (Ei(A), !e.nocomment && A.charAt(0) === "#" ? !1 : new Ie(A, e).match(t)), "minimatch"), pF = /^\*+([^+@!?\*\[\(]*)$/,
wF = /* @__PURE__ */ s((t) => (A) => !A.startsWith(".") && A.endsWith(t), "starDotExtTest"), mF = /* @__PURE__ */ s((t) => (A) => A.endsWith(
t), "starDotExtTestDot"), yF = /* @__PURE__ */ s((t) => (t = t.toLowerCase(), (A) => !A.startsWith(".") && A.toLowerCase().endsWith(t)), "st\
arDotExtTestNocase"), DF = /* @__PURE__ */ s((t) => (t = t.toLowerCase(), (A) => A.toLowerCase().endsWith(t)), "starDotExtTestNocaseDot"), SF = /^\*+\.\*+$/,
KF = /* @__PURE__ */ s((t) => !t.startsWith(".") && t.includes("."), "starDotStarTest"), FF = /* @__PURE__ */ s((t) => t !== "." && t !== ".\
." && t.includes("."), "starDotStarTestDot"), kF = /^\.\*+$/, bF = /* @__PURE__ */ s((t) => t !== "." && t !== ".." && t.startsWith("."), "d\
otStarTest"), NF = /^\*+$/, MF = /* @__PURE__ */ s((t) => t.length !== 0 && !t.startsWith("."), "starTest"), RF = /* @__PURE__ */ s((t) => t.
length !== 0 && t !== "." && t !== "..", "starTestDot"), vF = /^\?+([^+@!?\*\[\(]*)?$/, LF = /* @__PURE__ */ s(([t, A = ""]) => {
let e = _l([t]);
return A ? (A = A.toLowerCase(), (r) => e(r) && r.toLowerCase().endsWith(A)) : e;
}, "qmarksTestNocase"), xF = /* @__PURE__ */ s(([t, A = ""]) => {
let e = Gl([t]);
return A ? (A = A.toLowerCase(), (r) => e(r) && r.toLowerCase().endsWith(A)) : e;
}, "qmarksTestNocaseDot"), YF = /* @__PURE__ */ s(([t, A = ""]) => {
let e = Gl([t]);
return A ? (r) => e(r) && r.endsWith(A) : e;
}, "qmarksTestDot"), PF = /* @__PURE__ */ s(([t, A = ""]) => {
let e = _l([t]);
return A ? (r) => e(r) && r.endsWith(A) : e;
}, "qmarksTest"), _l = /* @__PURE__ */ s(([t]) => {
let A = t.length;
return (e) => e.length === A && !e.startsWith(".");
}, "qmarksTestNoExt"), Gl = /* @__PURE__ */ s(([t]) => {
let A = t.length;
return (e) => e.length === A && e !== "." && e !== "..";
}, "qmarksTestNoExtDot"), Jl = typeof process == "object" && process ? typeof process.env == "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ ||
process.platform : "posix", Yl = {
win32: { sep: "\\" },
posix: { sep: "/" }
}, UF = Jl === "win32" ? Yl.win32.sep : Yl.posix.sep;
ZA.sep = UF;
var HA = Symbol("globstar **");
ZA.GLOBSTAR = HA;
var _F = "[^/]", GF = _F + "*?", JF = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?", OF = "(?:(?!(?:\\/|^)\\.).)*?", TF = /* @__PURE__ */ s((t, A = {}) => (e) => ZA(
e, t, A), "filter");
ZA.filter = TF;
var Be = /* @__PURE__ */ s((t, A = {}) => Object.assign({}, t, A), "ext"), HF = /* @__PURE__ */ s((t) => {
if (!t || typeof t != "object" || !Object.keys(t).length)
return ZA;
let A = ZA;
return Object.assign(/* @__PURE__ */ s((r, i, n = {}) => A(r, i, Be(t, n)), "m"), {
Minimatch: class extends A.Minimatch {
static {
s(this, "Minimatch");
}
constructor(i, n = {}) {
super(i, Be(t, n));
}
static defaults(i) {
return A.defaults(Be(t, i)).Minimatch;
}
},
AST: class extends A.AST {
static {
s(this, "AST");
}
/* c8 ignore start */
constructor(i, n, o = {}) {
super(i, n, Be(t, o));
}
/* c8 ignore stop */
static fromGlob(i, n = {}) {
return A.AST.fromGlob(i, Be(t, n));
}
},
unescape: /* @__PURE__ */ s((r, i = {}) => A.unescape(r, Be(t, i)), "unescape"),
escape: /* @__PURE__ */ s((r, i = {}) => A.escape(r, Be(t, i)), "escape"),
filter: /* @__PURE__ */ s((r, i = {}) => A.filter(r, Be(t, i)), "filter"),
defaults: /* @__PURE__ */ s((r) => A.defaults(Be(t, r)), "defaults"),
makeRe: /* @__PURE__ */ s((r, i = {}) => A.makeRe(r, Be(t, i)), "makeRe"),
braceExpand: /* @__PURE__ */ s((r, i = {}) => A.braceExpand(r, Be(t, i)), "braceExpand"),
match: /* @__PURE__ */ s((r, i, n = {}) => A.match(r, i, Be(t, n)), "match"),
sep: A.sep,
GLOBSTAR: HA
});
}, "defaults");
ZA.defaults = HF;
var Ol = /* @__PURE__ */ s((t, A = {}) => (Ei(t), A.nobrace || !/\{(?:(?!\{).)*\}/.test(t) ? [t] : (0, Ul.default)(t)), "braceExpand");
ZA.braceExpand = Ol;
var jF = /* @__PURE__ */ s((t, A = {}) => new Ie(t, A).makeRe(), "makeRe");
ZA.makeRe = jF;
var qF = /* @__PURE__ */ s((t, A, e = {}) => {
let r = new Ie(A, e);
return t = t.filter((i) => r.match(i)), r.options.nonull && !t.length && t.push(A), t;
}, "match");
ZA.match = qF;
var Pl = /[?*]|[+@!]\(.*?\)|\[|\]/, zF = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), "regExpEscape"), Ie = class {
static {
s(this, "Minimatch");
}
options;
set;
pattern;
windowsPathsNoEscape;
nonegate;
negate;
comment;
empty;
preserveMultipleSlashes;
partial;
globSet;
globParts;
nocase;
isWindows;
platform;
windowsNoMagicRoot;
regexp;
constructor(A, e = {}) {
Ei(A), e = e || {}, this.options = e, this.pattern = A, this.platform = e.platform || Jl, this.isWindows = this.platform === "win32", this.
windowsPathsNoEscape = !!e.windowsPathsNoEscape || e.allowWindowsEscape === !1, this.windowsPathsNoEscape && (this.pattern = this.pattern.
replace(/\\/g, "/")), this.preserveMultipleSlashes = !!e.preserveMultipleSlashes, this.regexp = null, this.negate = !1, this.nonegate = !!e.
nonegate, this.comment = !1, this.empty = !1, this.partial = !!e.partial, this.nocase = !!this.options.nocase, this.windowsNoMagicRoot =
e.windowsNoMagicRoot !== void 0 ? e.windowsNoMagicRoot : !!(this.isWindows && this.nocase), this.globSet = [], this.globParts = [], this.
set = [], this.make();
}
hasMagic() {
if (this.options.magicalBraces && this.set.length > 1)
return !0;
for (let A of this.set)
for (let e of A)
if (typeof e != "string")
return !0;
return !1;
}
debug(...A) {
}
make() {
let A = this.pattern, e = this.options;
if (!e.nocomment && A.charAt(0) === "#") {
this.comment = !0;
return;
}
if (!A) {
this.empty = !0;
return;
}
this.parseNegate(), this.globSet = [...new Set(this.braceExpand())], e.debug && (this.debug = (...n) => console.error(...n)), this.debug(
this.pattern, this.globSet);
let r = this.globSet.map((n) => this.slashSplit(n));
this.globParts = this.preprocess(r), this.debug(this.pattern, this.globParts);
let i = this.globParts.map((n, o, g) => {
if (this.isWindows && this.windowsNoMagicRoot) {
let C = n[0] === "" && n[1] === "" && (n[2] === "?" || !Pl.test(n[2])) && !Pl.test(n[3]), I = /^[a-z]:/i.test(n[0]);
if (C)
return [...n.slice(0, 4), ...n.slice(4).map((E) => this.parse(E))];
if (I)
return [n[0], ...n.slice(1).map((E) => this.parse(E))];
}
return n.map((C) => this.parse(C));
});
if (this.debug(this.pattern, i), this.set = i.filter((n) => n.indexOf(!1) === -1), this.isWindows)
for (let n = 0; n < this.set.length; n++) {
let o = this.set[n];
o[0] === "" && o[1] === "" && this.globParts[n][2] === "?" && typeof o[3] == "string" && /^[a-z]:$/i.test(o[3]) && (o[2] = "?");
}
this.debug(this.pattern, this.set);
}
// various transforms to equivalent pattern sets that are
// faster to process in a filesystem walk. The goal is to
// eliminate what we can, and push all ** patterns as far
// to the right as possible, even if it increases the number
// of patterns that we have to process.
preprocess(A) {
if (this.options.noglobstar)
for (let r = 0; r < A.length; r++)
for (let i = 0; i < A[r].length; i++)
A[r][i] === "**" && (A[r][i] = "*");
let { optimizationLevel: e = 1 } = this.options;
return e >= 2 ? (A = this.firstPhasePreProcess(A), A = this.secondPhasePreProcess(A)) : e >= 1 ? A = this.levelOneOptimize(A) : A = this.
adjascentGlobstarOptimize(A), A;
}
// just get rid of adjascent ** portions
adjascentGlobstarOptimize(A) {
return A.map((e) => {
let r = -1;
for (; (r = e.indexOf("**", r + 1)) !== -1; ) {
let i = r;
for (; e[i + 1] === "**"; )
i++;
i !== r && e.splice(r, i - r);
}
return e;
});
}
// get rid of adjascent ** and resolve .. portions
levelOneOptimize(A) {
return A.map((e) => (e = e.reduce((r, i) => {
let n = r[r.length - 1];
return i === "**" && n === "**" ? r : i === ".." && n && n !== ".." && n !== "." && n !== "**" ? (r.pop(), r) : (r.push(i), r);
}, []), e.length === 0 ? [""] : e));
}
levelTwoFileOptimize(A) {
Array.isArray(A) || (A = this.slashSplit(A));
let e = !1;
do {
if (e = !1, !this.preserveMultipleSlashes) {
for (let i = 1; i < A.length - 1; i++) {
let n = A[i];
i === 1 && n === "" && A[0] === "" || (n === "." || n === "") && (e = !0, A.splice(i, 1), i--);
}
A[0] === "." && A.length === 2 && (A[1] === "." || A[1] === "") && (e = !0, A.pop());
}
let r = 0;
for (; (r = A.indexOf("..", r + 1)) !== -1; ) {
let i = A[r - 1];
i && i !== "." && i !== ".." && i !== "**" && (e = !0, A.splice(r - 1, 2), r -= 2);
}
} while (e);
return A.length === 0 ? [""] : A;
}
// First phase: single-pattern processing
// <pre> is 1 or more portions
// <rest> is 1 or more portions
// <p> is any portion other than ., .., '', or **
// <e> is . or ''
//
// **/.. is *brutal* for filesystem walking performance, because
// it effectively resets the recursive walk each time it occurs,
// and ** cannot be reduced out by a .. pattern part like a regexp
// or most strings (other than .., ., and '') can be.
//
// <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
// <pre>/<e>/<rest> -> <pre>/<rest>
// <pre>/<p>/../<rest> -> <pre>/<rest>
// **/**/<rest> -> **/<rest>
//
// **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow
// this WOULD be allowed if ** did follow symlinks, or * didn't
firstPhasePreProcess(A) {
let e = !1;
do {
e = !1;
for (let r of A) {
let i = -1;
for (; (i = r.indexOf("**", i + 1)) !== -1; ) {
let o = i;
for (; r[o + 1] === "**"; )
o++;
o > i && r.splice(i + 1, o - i);
let g = r[i + 1], C = r[i + 2], I = r[i + 3];
if (g !== ".." || !C || C === "." || C === ".." || !I || I === "." || I === "..")
continue;
e = !0, r.splice(i, 1);
let E = r.slice(0);
E[i] = "**", A.push(E), i--;
}
if (!this.preserveMultipleSlashes) {
for (let o = 1; o < r.length - 1; o++) {
let g = r[o];
o === 1 && g === "" && r[0] === "" || (g === "." || g === "") && (e = !0, r.splice(o, 1), o--);
}
r[0] === "." && r.length === 2 && (r[1] === "." || r[1] === "") && (e = !0, r.pop());
}
let n = 0;
for (; (n = r.indexOf("..", n + 1)) !== -1; ) {
let o = r[n - 1];
if (o && o !== "." && o !== ".." && o !== "**") {
e = !0;
let C = n === 1 && r[n + 1] === "**" ? ["."] : [];
r.splice(n - 1, 2, ...C), r.length === 0 && r.push(""), n -= 2;
}
}
}
} while (e);
return A;
}
// second phase: multi-pattern dedupes
// {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>
// {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>
// {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>
//
// {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>
// ^-- not valid because ** doens't follow symlinks
secondPhasePreProcess(A) {
for (let e = 0; e < A.length - 1; e++)
for (let r = e + 1; r < A.length; r++) {
let i = this.partsMatch(A[e], A[r], !this.preserveMultipleSlashes);
if (i) {
A[e] = [], A[r] = i;
break;
}
}
return A.filter((e) => e.length);
}
partsMatch(A, e, r = !1) {
let i = 0, n = 0, o = [], g = "";
for (; i < A.length && n < e.length; )
if (A[i] === e[n])
o.push(g === "b" ? e[n] : A[i]), i++, n++;
else if (r && A[i] === "**" && e[n] === A[i + 1])
o.push(A[i]), i++;
else if (r && e[n] === "**" && A[i] === e[n + 1])
o.push(e[n]), n++;
else if (A[i] === "*" && e[n] && (this.options.dot || !e[n].startsWith(".")) && e[n] !== "**") {
if (g === "b")
return !1;
g = "a", o.push(A[i]), i++, n++;
} else if (e[n] === "*" && A[i] && (this.options.dot || !A[i].startsWith(".")) && A[i] !== "**") {
if (g === "a")
return !1;
g = "b", o.push(e[n]), i++, n++;
} else
return !1;
return A.length === e.length && o;
}
parseNegate() {
if (this.nonegate)
return;
let A = this.pattern, e = !1, r = 0;
for (let i = 0; i < A.length && A.charAt(i) === "!"; i++)
e = !e, r++;
r && (this.pattern = A.slice(r)), this.negate = e;
}
// set partial to true to test if, for example,
// "/a/b" matches the start of "/*/b/*/d"
// Partial means, if you run out of file before you run
// out of pattern, then that's fine, as long as all
// the parts match.
matchOne(A, e, r = !1) {
let i = this.options;
if (this.isWindows) {
let D = typeof A[0] == "string" && /^[a-z]:$/i.test(A[0]), N = !D && A[0] === "" && A[1] === "" && A[2] === "?" && /^[a-z]:$/i.test(A[3]),
k = typeof e[0] == "string" && /^[a-z]:$/i.test(e[0]), _ = !k && e[0] === "" && e[1] === "" && e[2] === "?" && typeof e[3] == "string" &&
/^[a-z]:$/i.test(e[3]), L = N ? 3 : D ? 0 : void 0, J = _ ? 3 : k ? 0 : void 0;
if (typeof L == "number" && typeof J == "number") {
let [U, $] = [A[L], e[J]];
U.toLowerCase() === $.toLowerCase() && (e[J] = U, J > L ? e = e.slice(J) : L > J && (A = A.slice(L)));
}
}
let { optimizationLevel: n = 1 } = this.options;
n >= 2 && (A = this.levelTwoFileOptimize(A)), this.debug("matchOne", this, { file: A, pattern: e }), this.debug("matchOne", A.length, e.
length);
for (var o = 0, g = 0, C = A.length, I = e.length; o < C && g < I; o++, g++) {
this.debug("matchOne loop");
var E = e[g], Q = A[o];
if (this.debug(e, E, Q), E === !1)
return !1;
if (E === HA) {
this.debug("GLOBSTAR", [e, E, Q]);
var B = o, p = g + 1;
if (p === I) {
for (this.debug("** at the end"); o < C; o++)
if (A[o] === "." || A[o] === ".." || !i.dot && A[o].charAt(0) === ".")
return !1;
return !0;
}
for (; B < C; ) {
var w = A[B];
if (this.debug(`
globstar while`, A, B, e, p, w), this.matchOne(A.slice(B), e.slice(p), r))
return this.debug("globstar found match!", B, C, w), !0;
if (w === "." || w === ".." || !i.dot && w.charAt(0) === ".") {
this.debug("dot detected!", A, B, e, p);
break;
}
this.debug("globstar swallow a segment, and continue"), B++;
}
return !!(r && (this.debug(`
>>> no match, partial?`, A, B, e, p), B === C));
}
let D;
if (typeof E == "string" ? (D = Q === E, this.debug("string match", E, Q, D)) : (D = E.test(Q), this.debug("pattern match", E, Q, D)),
!D)
return !1;
}
if (o === C && g === I)
return !0;
if (o === C)
return r;
if (g === I)
return o === C - 1 && A[o] === "";
throw new Error("wtf?");
}
braceExpand() {
return Ol(this.pattern, this.options);
}
parse(A) {
Ei(A);
let e = this.options;
if (A === "**")
return HA;
if (A === "")
return "";
let r, i = null;
(r = A.match(NF)) ? i = e.dot ? RF : MF : (r = A.match(pF)) ? i = (e.nocase ? e.dot ? DF : yF : e.dot ? mF : wF)(r[1]) : (r = A.match(vF)) ?
i = (e.nocase ? e.dot ? xF : LF : e.dot ? YF : PF)(r) : (r = A.match(SF)) ? i = e.dot ? FF : KF : (r = A.match(kF)) && (i = bF);
let n = wr.fromGlob(A, this.options).toMMPattern();
return i && typeof n == "object" && Reflect.defineProperty(n, "test", { value: i }), n;
}
makeRe() {
if (this.regexp || this.regexp === !1)
return this.regexp;
let A = this.set;
if (!A.length)
return this.regexp = !1, this.regexp;
let e = this.options, r = e.noglobstar ? GF : e.dot ? JF : OF, i = new Set(e.nocase ? ["i"] : []), n = A.map((C) => {
let I = C.map((E) => {
if (E instanceof RegExp)
for (let Q of E.flags.split(""))
i.add(Q);
return typeof E == "string" ? zF(E) : E === HA ? HA : E._src;
});
return I.forEach((E, Q) => {
let B = I[Q + 1], p = I[Q - 1];
E !== HA || p === HA || (p === void 0 ? B !== void 0 && B !== HA ? I[Q + 1] = "(?:\\/|" + r + "\\/)?" + B : I[Q] = r : B === void 0 ?
I[Q - 1] = p + "(?:\\/|" + r + ")?" : B !== HA && (I[Q - 1] = p + "(?:\\/|\\/" + r + "\\/)" + B, I[Q + 1] = HA));
}), I.filter((E) => E !== HA).join("/");
}).join("|"), [o, g] = A.length > 1 ? ["(?:", ")"] : ["", ""];
n = "^" + o + n + g + "$", this.negate && (n = "^(?!" + n + ").+$");
try {
this.regexp = new RegExp(n, [...i].join(""));
} catch {
this.regexp = !1;
}
return this.regexp;
}
slashSplit(A) {
return this.preserveMultipleSlashes ? A.split("/") : this.isWindows && /^\/\/[^\/]+/.test(A) ? ["", ...A.split(/\/+/)] : A.split(/\/+/);
}
match(A, e = this.partial) {
if (this.debug("match", A, this.pattern), this.comment)
return !1;
if (this.empty)
return A === "";
if (A === "/" && e)
return !0;
let r = this.options;
this.isWindows && (A = A.split("\\").join("/"));
let i = this.slashSplit(A);
this.debug(this.pattern, "split", i);
let n = this.set;
this.debug(this.pattern, "set", n);
let o = i[i.length - 1];
if (!o)
for (let g = i.length - 2; !o && g >= 0; g--)
o = i[g];
for (let g = 0; g < n.length; g++) {
let C = n[g], I = i;
if (r.matchBase && C.length === 1 && (I = [o]), this.matchOne(I, C, e))
return r.flipNegate ? !0 : !this.negate;
}
return r.flipNegate ? !1 : this.negate;
}
static defaults(A) {
return ZA.defaults(A).Minimatch;
}
};
ZA.AST = wr;
ZA.Minimatch = Ie;
ZA.escape = mr;
ZA.unescape = ke;
// ../node_modules/glob/dist/esm/glob.js
import { fileURLToPath as Sk } from "node:url";
// ../node_modules/lru-cache/dist/esm/index.js
var yr = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, Hl = /* @__PURE__ */ new Set(),
yg = typeof process == "object" && process ? process : {}, jl = /* @__PURE__ */ s((t, A, e, r) => {
typeof yg.emitWarning == "function" ? yg.emitWarning(t, A, e, r) : console.error(`[${e}] ${A}: ${t}`);
}, "emitWarning"), Fs = globalThis.AbortController, Tl = globalThis.AbortSignal;
if (typeof Fs > "u") {
Tl = class {
static {
s(this, "AbortSignal");
}
onabort;
_onabort = [];
reason;
aborted = !1;
addEventListener(r, i) {
this._onabort.push(i);
}
}, Fs = class {
static {
s(this, "AbortController");
}
constructor() {
A();
}
signal = new Tl();
abort(r) {
if (!this.signal.aborted) {
this.signal.reason = r, this.signal.aborted = !0;
for (let i of this.signal._onabort)
i(r);
this.signal.onabort?.(r);
}
}
};
let t = yg.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1", A = /* @__PURE__ */ s(() => {
t && (t = !1, jl("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-c\
ontroller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, pass\
ing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WAR\
NING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", A));
}, "warnACPolyfill");
}
var WF = /* @__PURE__ */ s((t) => !Hl.has(t), "shouldWarn"), hH = Symbol("type"), kt = /* @__PURE__ */ s((t) => t && t === Math.floor(t) && t >
0 && isFinite(t), "isPosInt"), ql = /* @__PURE__ */ s((t) => kt(t) ? t <= Math.pow(2, 8) ? Uint8Array : t <= Math.pow(2, 16) ? Uint16Array :
t <= Math.pow(2, 32) ? Uint32Array : t <= Number.MAX_SAFE_INTEGER ? Dr : null : null, "getUintArray"), Dr = class extends Array {
static {
s(this, "ZeroArray");
}
constructor(A) {
super(A), this.fill(0);
}
}, Dg = class t {
static {
s(this, "Stack");
}
heap;
length;
// private constructor
static #A = !1;
static create(A) {
let e = ql(A);
if (!e)
return [];
t.#A = !0;
let r = new t(A, e);
return t.#A = !1, r;
}
constructor(A, e) {
if (!t.#A)
throw new TypeError("instantiate Stack using Stack.create(n)");
this.heap = new e(A), this.length = 0;
}
push(A) {
this.heap[this.length++] = A;
}
pop() {
return this.heap[--this.length];
}
}, Bi = class t {
static {
s(this, "LRUCache");
}
// options that cannot be changed without disaster
#A;
#e;
#t;
#r;
#n;
#I;
/**
* {@link LRUCache.OptionsBase.ttl}
*/
ttl;
/**
* {@link LRUCache.OptionsBase.ttlResolution}
*/
ttlResolution;
/**
* {@link LRUCache.OptionsBase.ttlAutopurge}
*/
ttlAutopurge;
/**
* {@link LRUCache.OptionsBase.updateAgeOnGet}
*/
updateAgeOnGet;
/**
* {@link LRUCache.OptionsBase.updateAgeOnHas}
*/
updateAgeOnHas;
/**
* {@link LRUCache.OptionsBase.allowStale}
*/
allowStale;
/**
* {@link LRUCache.OptionsBase.noDisposeOnSet}
*/
noDisposeOnSet;
/**
* {@link LRUCache.OptionsBase.noUpdateTTL}
*/
noUpdateTTL;
/**
* {@link LRUCache.OptionsBase.maxEntrySize}
*/
maxEntrySize;
/**
* {@link LRUCache.OptionsBase.sizeCalculation}
*/
sizeCalculation;
/**
* {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
*/
noDeleteOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
*/
noDeleteOnStaleGet;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
*/
allowStaleOnFetchAbort;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
*/
allowStaleOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
*/
ignoreFetchAbort;
// computed properties
#o;
#c;
#g;
#a;
#s;
#B;
#Q;
#l;
#h;
#m;
#u;
#y;
#D;
#d;
#p;
#w;
#E;
/**
* Do not call this method unless you need to inspect the
* inner workings of the cache. If anything returned by this
* object is modified in any way, strange breakage may occur.
*
* These fields are private for a reason!
*
* @internal
*/
static unsafeExposeInternals(A) {
return {
// properties
starts: A.#D,
ttls: A.#d,
sizes: A.#y,
keyMap: A.#g,
keyList: A.#a,
valList: A.#s,
next: A.#B,
prev: A.#Q,
get head() {
return A.#l;
},
get tail() {
return A.#h;
},
free: A.#m,
// methods
isBackgroundFetch: /* @__PURE__ */ s((e) => A.#C(e), "isBackgroundFetch"),
backgroundFetch: /* @__PURE__ */ s((e, r, i, n) => A.#P(e, r, i, n), "backgroundFetch"),
moveToTail: /* @__PURE__ */ s((e) => A.#_(e), "moveToTail"),
indexes: /* @__PURE__ */ s((e) => A.#K(e), "indexes"),
rindexes: /* @__PURE__ */ s((e) => A.#F(e), "rindexes"),
isStale: /* @__PURE__ */ s((e) => A.#f(e), "isStale")
};
}
// Protected read-only members
/**
* {@link LRUCache.OptionsBase.max} (read-only)
*/
get max() {
return this.#A;
}
/**
* {@link LRUCache.OptionsBase.maxSize} (read-only)
*/
get maxSize() {
return this.#e;
}
/**
* The total computed size of items in the cache (read-only)
*/
get calculatedSize() {
return this.#c;
}
/**
* The number of items stored in the cache (read-only)
*/
get size() {
return this.#o;
}
/**
* {@link LRUCache.OptionsBase.fetchMethod} (read-only)
*/
get fetchMethod() {
return this.#n;
}
get memoMethod() {
return this.#I;
}
/**
* {@link LRUCache.OptionsBase.dispose} (read-only)
*/
get dispose() {
return this.#t;
}
/**
* {@link LRUCache.OptionsBase.disposeAfter} (read-only)
*/
get disposeAfter() {
return this.#r;
}
constructor(A) {
let { max: e = 0, ttl: r, ttlResolution: i = 1, ttlAutopurge: n, updateAgeOnGet: o, updateAgeOnHas: g, allowStale: C, dispose: I, disposeAfter: E,
noDisposeOnSet: Q, noUpdateTTL: B, maxSize: p = 0, maxEntrySize: w = 0, sizeCalculation: D, fetchMethod: N, memoMethod: k, noDeleteOnFetchRejection: _,
noDeleteOnStaleGet: L, allowStaleOnFetchRejection: J, allowStaleOnFetchAbort: U, ignoreFetchAbort: $ } = A;
if (e !== 0 && !kt(e))
throw new TypeError("max option must be a nonnegative integer");
let q = e ? ql(e) : Array;
if (!q)
throw new Error("invalid max value: " + e);
if (this.#A = e, this.#e = p, this.maxEntrySize = w || this.#e, this.sizeCalculation = D, this.sizeCalculation) {
if (!this.#e && !this.maxEntrySize)
throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
if (typeof this.sizeCalculation != "function")
throw new TypeError("sizeCalculation set to non-function");
}
if (k !== void 0 && typeof k != "function")
throw new TypeError("memoMethod must be a function if defined");
if (this.#I = k, N !== void 0 && typeof N != "function")
throw new TypeError("fetchMethod must be a function if specified");
if (this.#n = N, this.#w = !!N, this.#g = /* @__PURE__ */ new Map(), this.#a = new Array(e).fill(void 0), this.#s = new Array(e).fill(void 0),
this.#B = new q(e), this.#Q = new q(e), this.#l = 0, this.#h = 0, this.#m = Dg.create(e), this.#o = 0, this.#c = 0, typeof I == "functio\
n" && (this.#t = I), typeof E == "function" ? (this.#r = E, this.#u = []) : (this.#r = void 0, this.#u = void 0), this.#p = !!this.#t, this.#E =
!!this.#r, this.noDisposeOnSet = !!Q, this.noUpdateTTL = !!B, this.noDeleteOnFetchRejection = !!_, this.allowStaleOnFetchRejection = !!J,
this.allowStaleOnFetchAbort = !!U, this.ignoreFetchAbort = !!$, this.maxEntrySize !== 0) {
if (this.#e !== 0 && !kt(this.#e))
throw new TypeError("maxSize must be a positive integer if specified");
if (!kt(this.maxEntrySize))
throw new TypeError("maxEntrySize must be a positive integer if specified");
this.#b();
}
if (this.allowStale = !!C, this.noDeleteOnStaleGet = !!L, this.updateAgeOnGet = !!o, this.updateAgeOnHas = !!g, this.ttlResolution = kt(
i) || i === 0 ? i : 1, this.ttlAutopurge = !!n, this.ttl = r || 0, this.ttl) {
if (!kt(this.ttl))
throw new TypeError("ttl must be a positive integer if specified");
this.#k();
}
if (this.#A === 0 && this.ttl === 0 && this.#e === 0)
throw new TypeError("At least one of max, maxSize, or ttl is required");
if (!this.ttlAutopurge && !this.#A && !this.#e) {
let T = "LRU_CACHE_UNBOUNDED";
WF(T) && (Hl.add(T), jl("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCac\
heWarning", T, t));
}
}
/**
* Return the number of ms left in the item's TTL. If item is not in cache,
* returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
*/
getRemainingTTL(A) {
return this.#g.has(A) ? 1 / 0 : 0;
}
#k() {
let A = new Dr(this.#A), e = new Dr(this.#A);
this.#d = A, this.#D = e, this.#M = (n, o, g = yr.now()) => {
if (e[n] = o !== 0 ? g : 0, A[n] = o, o !== 0 && this.ttlAutopurge) {
let C = setTimeout(() => {
this.#f(n) && this.#N(this.#a[n], "expire");
}, o + 1);
C.unref && C.unref();
}
}, this.#S = (n) => {
e[n] = A[n] !== 0 ? yr.now() : 0;
}, this.#i = (n, o) => {
if (A[o]) {
let g = A[o], C = e[o];
if (!g || !C)
return;
n.ttl = g, n.start = C, n.now = r || i();
let I = n.now - C;
n.remainingTTL = g - I;
}
};
let r = 0, i = /* @__PURE__ */ s(() => {
let n = yr.now();
if (this.ttlResolution > 0) {
r = n;
let o = setTimeout(() => r = 0, this.ttlResolution);
o.unref && o.unref();
}
return n;
}, "getNow");
this.getRemainingTTL = (n) => {
let o = this.#g.get(n);
if (o === void 0)
return 0;
let g = A[o], C = e[o];
if (!g || !C)
return 1 / 0;
let I = (r || i()) - C;
return g - I;
}, this.#f = (n) => {
let o = e[n], g = A[n];
return !!g && !!o && (r || i()) - o > g;
};
}
// conditionally set private methods related to TTL
#S = /* @__PURE__ */ s(() => {
}, "#updateItemAge");
#i = /* @__PURE__ */ s(() => {
}, "#statusTTL");
#M = /* @__PURE__ */ s(() => {
}, "#setItemTTL");
/* c8 ignore stop */
#f = /* @__PURE__ */ s(() => !1, "#isStale");
#b() {
let A = new Dr(this.#A);
this.#c = 0, this.#y = A, this.#R = (e) => {
this.#c -= A[e], A[e] = 0;
}, this.#L = (e, r, i, n) => {
if (this.#C(r))
return 0;
if (!kt(i))
if (n) {
if (typeof n != "function")
throw new TypeError("sizeCalculation must be a function");
if (i = n(r, e), !kt(i))
throw new TypeError("sizeCalculation return invalid (expect positive integer)");
} else
throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size \
must be set.");
return i;
}, this.#v = (e, r, i) => {
if (A[e] = r, this.#e) {
let n = this.#e - A[e];
for (; this.#c > n; )
this.#Y(!0);
}
this.#c += A[e], i && (i.entrySize = r, i.totalCalculatedSize = this.#c);
};
}
#R = /* @__PURE__ */ s((A) => {
}, "#removeItemSize");
#v = /* @__PURE__ */ s((A, e, r) => {
}, "#addItemSize");
#L = /* @__PURE__ */ s((A, e, r, i) => {
if (r || i)
throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
return 0;
}, "#requireSize");
*#K({ allowStale: A = this.allowStale } = {}) {
if (this.#o)
for (let e = this.#h; !(!this.#x(e) || ((A || !this.#f(e)) && (yield e), e === this.#l)); )
e = this.#Q[e];
}
*#F({ allowStale: A = this.allowStale } = {}) {
if (this.#o)
for (let e = this.#l; !(!this.#x(e) || ((A || !this.#f(e)) && (yield e), e === this.#h)); )
e = this.#B[e];
}
#x(A) {
return A !== void 0 && this.#g.get(this.#a[A]) === A;
}
/**
* Return a generator yielding `[key, value]` pairs,
* in order from most recently used to least recently used.
*/
*entries() {
for (let A of this.#K())
this.#s[A] !== void 0 && this.#a[A] !== void 0 && !this.#C(this.#s[A]) && (yield [this.#a[A], this.#s[A]]);
}
/**
* Inverse order version of {@link LRUCache.entries}
*
* Return a generator yielding `[key, value]` pairs,
* in order from least recently used to most recently used.
*/
*rentries() {
for (let A of this.#F())
this.#s[A] !== void 0 && this.#a[A] !== void 0 && !this.#C(this.#s[A]) && (yield [this.#a[A], this.#s[A]]);
}
/**
* Return a generator yielding the keys in the cache,
* in order from most recently used to least recently used.
*/
*keys() {
for (let A of this.#K()) {
let e = this.#a[A];
e !== void 0 && !this.#C(this.#s[A]) && (yield e);
}
}
/**
* Inverse order version of {@link LRUCache.keys}
*
* Return a generator yielding the keys in the cache,
* in order from least recently used to most recently used.
*/
*rkeys() {
for (let A of this.#F()) {
let e = this.#a[A];
e !== void 0 && !this.#C(this.#s[A]) && (yield e);
}
}
/**
* Return a generator yielding the values in the cache,
* in order from most recently used to least recently used.
*/
*values() {
for (let A of this.#K())
this.#s[A] !== void 0 && !this.#C(this.#s[A]) && (yield this.#s[A]);
}
/**
* Inverse order version of {@link LRUCache.values}
*
* Return a generator yielding the values in the cache,
* in order from least recently used to most recently used.
*/
*rvalues() {
for (let A of this.#F())
this.#s[A] !== void 0 && !this.#C(this.#s[A]) && (yield this.#s[A]);
}
/**
* Iterating over the cache itself yields the same results as
* {@link LRUCache.entries}
*/
[Symbol.iterator]() {
return this.entries();
}
/**
* A String value that is used in the creation of the default string
* description of an object. Called by the built-in method
* `Object.prototype.toString`.
*/
[Symbol.toStringTag] = "LRUCache";
/**
* Find a value for which the supplied fn method returns a truthy value,
* similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
*/
find(A, e = {}) {
for (let r of this.#K()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
if (n !== void 0 && A(n, this.#a[r], this))
return this.get(this.#a[r], e);
}
}
/**
* Call the supplied function on each item in the cache, in order from most
* recently used to least recently used.
*
* `fn` is called as `fn(value, key, cache)`.
*
* If `thisp` is provided, function will be called in the `this`-context of
* the provided object, or the cache if no `thisp` object is provided.
*
* Does not update age or recenty of use, or iterate over stale values.
*/
forEach(A, e = this) {
for (let r of this.#K()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
n !== void 0 && A.call(e, n, this.#a[r], this);
}
}
/**
* The same as {@link LRUCache.forEach} but items are iterated over in
* reverse order. (ie, less recently used items are iterated over first.)
*/
rforEach(A, e = this) {
for (let r of this.#F()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
n !== void 0 && A.call(e, n, this.#a[r], this);
}
}
/**
* Delete any stale entries. Returns true if anything was removed,
* false otherwise.
*/
purgeStale() {
let A = !1;
for (let e of this.#F({ allowStale: !0 }))
this.#f(e) && (this.#N(this.#a[e], "expire"), A = !0);
return A;
}
/**
* Get the extended info about a given entry, to get its value, size, and
* TTL info simultaneously. Returns `undefined` if the key is not present.
*
* Unlike {@link LRUCache#dump}, which is designed to be portable and survive
* serialization, the `start` value is always the current timestamp, and the
* `ttl` is a calculated remaining time to live (negative if expired).
*
* Always returns stale values, if their info is found in the cache, so be
* sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
* if relevant.
*/
info(A) {
let e = this.#g.get(A);
if (e === void 0)
return;
let r = this.#s[e], i = this.#C(r) ? r.__staleWhileFetching : r;
if (i === void 0)
return;
let n = { value: i };
if (this.#d && this.#D) {
let o = this.#d[e], g = this.#D[e];
if (o && g) {
let C = o - (yr.now() - g);
n.ttl = C, n.start = Date.now();
}
}
return this.#y && (n.size = this.#y[e]), n;
}
/**
* Return an array of [key, {@link LRUCache.Entry}] tuples which can be
* passed to {@link LRLUCache#load}.
*
* The `start` fields are calculated relative to a portable `Date.now()`
* timestamp, even if `performance.now()` is available.
*
* Stale entries are always included in the `dump`, even if
* {@link LRUCache.OptionsBase.allowStale} is false.
*
* Note: this returns an actual array, not a generator, so it can be more
* easily passed around.
*/
dump() {
let A = [];
for (let e of this.#K({ allowStale: !0 })) {
let r = this.#a[e], i = this.#s[e], n = this.#C(i) ? i.__staleWhileFetching : i;
if (n === void 0 || r === void 0)
continue;
let o = { value: n };
if (this.#d && this.#D) {
o.ttl = this.#d[e];
let g = yr.now() - this.#D[e];
o.start = Math.floor(Date.now() - g);
}
this.#y && (o.size = this.#y[e]), A.unshift([r, o]);
}
return A;
}
/**
* Reset the cache and load in the items in entries in the order listed.
*
* The shape of the resulting cache may be different if the same options are
* not used in both caches.
*
* The `start` fields are assumed to be calculated relative to a portable
* `Date.now()` timestamp, even if `performance.now()` is available.
*/
load(A) {
this.clear();
for (let [e, r] of A) {
if (r.start) {
let i = Date.now() - r.start;
r.start = yr.now() - i;
}
this.set(e, r.value, r);
}
}
/**
* Add a value to the cache.
*
* Note: if `undefined` is specified as a value, this is an alias for
* {@link LRUCache#delete}
*
* Fields on the {@link LRUCache.SetOptions} options param will override
* their corresponding values in the constructor options for the scope
* of this single `set()` operation.
*
* If `start` is provided, then that will set the effective start
* time for the TTL calculation. Note that this must be a previous
* value of `performance.now()` if supported, or a previous value of
* `Date.now()` if not.
*
* Options object may also include `size`, which will prevent
* calling the `sizeCalculation` function and just use the specified
* number if it is a positive integer, and `noDisposeOnSet` which
* will prevent calling a `dispose` function in the case of
* overwrites.
*
* If the `size` (or return value of `sizeCalculation`) for a given
* entry is greater than `maxEntrySize`, then the item will not be
* added to the cache.
*
* Will update the recency of the entry.
*
* If the value is `undefined`, then this is an alias for
* `cache.delete(key)`. `undefined` is never stored in the cache.
*/
set(A, e, r = {}) {
if (e === void 0)
return this.delete(A), this;
let { ttl: i = this.ttl, start: n, noDisposeOnSet: o = this.noDisposeOnSet, sizeCalculation: g = this.sizeCalculation, status: C } = r, {
noUpdateTTL: I = this.noUpdateTTL } = r, E = this.#L(A, e, r.size || 0, g);
if (this.maxEntrySize && E > this.maxEntrySize)
return C && (C.set = "miss", C.maxEntrySizeExceeded = !0), this.#N(A, "set"), this;
let Q = this.#o === 0 ? void 0 : this.#g.get(A);
if (Q === void 0)
Q = this.#o === 0 ? this.#h : this.#m.length !== 0 ? this.#m.pop() : this.#o === this.#A ? this.#Y(!1) : this.#o, this.#a[Q] = A, this.#s[Q] =
e, this.#g.set(A, Q), this.#B[this.#h] = Q, this.#Q[Q] = this.#h, this.#h = Q, this.#o++, this.#v(Q, E, C), C && (C.set = "add"), I = !1;
else {
this.#_(Q);
let B = this.#s[Q];
if (e !== B) {
if (this.#w && this.#C(B)) {
B.__abortController.abort(new Error("replaced"));
let { __staleWhileFetching: p } = B;
p !== void 0 && !o && (this.#p && this.#t?.(p, A, "set"), this.#E && this.#u?.push([p, A, "set"]));
} else o || (this.#p && this.#t?.(B, A, "set"), this.#E && this.#u?.push([B, A, "set"]));
if (this.#R(Q), this.#v(Q, E, C), this.#s[Q] = e, C) {
C.set = "replace";
let p = B && this.#C(B) ? B.__staleWhileFetching : B;
p !== void 0 && (C.oldValue = p);
}
} else C && (C.set = "update");
}
if (i !== 0 && !this.#d && this.#k(), this.#d && (I || this.#M(Q, i, n), C && this.#i(C, Q)), !o && this.#E && this.#u) {
let B = this.#u, p;
for (; p = B?.shift(); )
this.#r?.(...p);
}
return this;
}
/**
* Evict the least recently used item, returning its value or
* `undefined` if cache is empty.
*/
pop() {
try {
for (; this.#o; ) {
let A = this.#s[this.#l];
if (this.#Y(!0), this.#C(A)) {
if (A.__staleWhileFetching)
return A.__staleWhileFetching;
} else if (A !== void 0)
return A;
}
} finally {
if (this.#E && this.#u) {
let A = this.#u, e;
for (; e = A?.shift(); )
this.#r?.(...e);
}
}
}
#Y(A) {
let e = this.#l, r = this.#a[e], i = this.#s[e];
return this.#w && this.#C(i) ? i.__abortController.abort(new Error("evicted")) : (this.#p || this.#E) && (this.#p && this.#t?.(i, r, "ev\
ict"), this.#E && this.#u?.push([i, r, "evict"])), this.#R(e), A && (this.#a[e] = void 0, this.#s[e] = void 0, this.#m.push(e)), this.#o ===
1 ? (this.#l = this.#h = 0, this.#m.length = 0) : this.#l = this.#B[e], this.#g.delete(r), this.#o--, e;
}
/**
* Check if a key is in the cache, without updating the recency of use.
* Will return false if the item is stale, even though it is technically
* in the cache.
*
* Check if a key is in the cache, without updating the recency of
* use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
* to `true` in either the options or the constructor.
*
* Will return `false` if the item is stale, even though it is technically in
* the cache. The difference can be determined (if it matters) by using a
* `status` argument, and inspecting the `has` field.
*
* Will not update item age unless
* {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
*/
has(A, e = {}) {
let { updateAgeOnHas: r = this.updateAgeOnHas, status: i } = e, n = this.#g.get(A);
if (n !== void 0) {
let o = this.#s[n];
if (this.#C(o) && o.__staleWhileFetching === void 0)
return !1;
if (this.#f(n))
i && (i.has = "stale", this.#i(i, n));
else return r && this.#S(n), i && (i.has = "hit", this.#i(i, n)), !0;
} else i && (i.has = "miss");
return !1;
}
/**
* Like {@link LRUCache#get} but doesn't update recency or delete stale
* items.
*
* Returns `undefined` if the item is stale, unless
* {@link LRUCache.OptionsBase.allowStale} is set.
*/
peek(A, e = {}) {
let { allowStale: r = this.allowStale } = e, i = this.#g.get(A);
if (i === void 0 || !r && this.#f(i))
return;
let n = this.#s[i];
return this.#C(n) ? n.__staleWhileFetching : n;
}
#P(A, e, r, i) {
let n = e === void 0 ? void 0 : this.#s[e];
if (this.#C(n))
return n;
let o = new Fs(), { signal: g } = r;
g?.addEventListener("abort", () => o.abort(g.reason), {
signal: o.signal
});
let C = {
signal: o.signal,
options: r,
context: i
}, I = /* @__PURE__ */ s((D, N = !1) => {
let { aborted: k } = o.signal, _ = r.ignoreFetchAbort && D !== void 0;
if (r.status && (k && !N ? (r.status.fetchAborted = !0, r.status.fetchError = o.signal.reason, _ && (r.status.fetchAbortIgnored = !0)) :
r.status.fetchResolved = !0), k && !_ && !N)
return Q(o.signal.reason);
let L = p;
return this.#s[e] === p && (D === void 0 ? L.__staleWhileFetching ? this.#s[e] = L.__staleWhileFetching : this.#N(A, "fetch") : (r.status &&
(r.status.fetchUpdated = !0), this.set(A, D, C.options))), D;
}, "cb"), E = /* @__PURE__ */ s((D) => (r.status && (r.status.fetchRejected = !0, r.status.fetchError = D), Q(D)), "eb"), Q = /* @__PURE__ */ s(
(D) => {
let { aborted: N } = o.signal, k = N && r.allowStaleOnFetchAbort, _ = k || r.allowStaleOnFetchRejection, L = _ || r.noDeleteOnFetchRejection,
J = p;
if (this.#s[e] === p && (!L || J.__staleWhileFetching === void 0 ? this.#N(A, "fetch") : k || (this.#s[e] = J.__staleWhileFetching)), _)
return r.status && J.__staleWhileFetching !== void 0 && (r.status.returnedStale = !0), J.__staleWhileFetching;
if (J.__returned === J)
throw D;
}, "fetchFail"), B = /* @__PURE__ */ s((D, N) => {
let k = this.#n?.(A, n, C);
k && k instanceof Promise && k.then((_) => D(_ === void 0 ? void 0 : _), N), o.signal.addEventListener("abort", () => {
(!r.ignoreFetchAbort || r.allowStaleOnFetchAbort) && (D(void 0), r.allowStaleOnFetchAbort && (D = /* @__PURE__ */ s((_) => I(_, !0),
"res")));
});
}, "pcall");
r.status && (r.status.fetchDispatched = !0);
let p = new Promise(B).then(I, E), w = Object.assign(p, {
__abortController: o,
__staleWhileFetching: n,
__returned: void 0
});
return e === void 0 ? (this.set(A, w, { ...C.options, status: void 0 }), e = this.#g.get(A)) : this.#s[e] = w, w;
}
#C(A) {
if (!this.#w)
return !1;
let e = A;
return !!e && e instanceof Promise && e.hasOwnProperty("__staleWhileFetching") && e.__abortController instanceof Fs;
}
async fetch(A, e = {}) {
let {
// get options
allowStale: r = this.allowStale,
updateAgeOnGet: i = this.updateAgeOnGet,
noDeleteOnStaleGet: n = this.noDeleteOnStaleGet,
// set options
ttl: o = this.ttl,
noDisposeOnSet: g = this.noDisposeOnSet,
size: C = 0,
sizeCalculation: I = this.sizeCalculation,
noUpdateTTL: E = this.noUpdateTTL,
// fetch exclusive options
noDeleteOnFetchRejection: Q = this.noDeleteOnFetchRejection,
allowStaleOnFetchRejection: B = this.allowStaleOnFetchRejection,
ignoreFetchAbort: p = this.ignoreFetchAbort,
allowStaleOnFetchAbort: w = this.allowStaleOnFetchAbort,
context: D,
forceRefresh: N = !1,
status: k,
signal: _
} = e;
if (!this.#w)
return k && (k.fetch = "get"), this.get(A, {
allowStale: r,
updateAgeOnGet: i,
noDeleteOnStaleGet: n,
status: k
});
let L = {
allowStale: r,
updateAgeOnGet: i,
noDeleteOnStaleGet: n,
ttl: o,
noDisposeOnSet: g,
size: C,
sizeCalculation: I,
noUpdateTTL: E,
noDeleteOnFetchRejection: Q,
allowStaleOnFetchRejection: B,
allowStaleOnFetchAbort: w,
ignoreFetchAbort: p,
status: k,
signal: _
}, J = this.#g.get(A);
if (J === void 0) {
k && (k.fetch = "miss");
let U = this.#P(A, J, L, D);
return U.__returned = U;
} else {
let U = this.#s[J];
if (this.#C(U)) {
let mA = r && U.__staleWhileFetching !== void 0;
return k && (k.fetch = "inflight", mA && (k.returnedStale = !0)), mA ? U.__staleWhileFetching : U.__returned = U;
}
let $ = this.#f(J);
if (!N && !$)
return k && (k.fetch = "hit"), this.#_(J), i && this.#S(J), k && this.#i(k, J), U;
let q = this.#P(A, J, L, D), eA = q.__staleWhileFetching !== void 0 && r;
return k && (k.fetch = $ ? "stale" : "refresh", eA && $ && (k.returnedStale = !0)), eA ? q.__staleWhileFetching : q.__returned = q;
}
}
async forceFetch(A, e = {}) {
let r = await this.fetch(A, e);
if (r === void 0)
throw new Error("fetch() returned undefined");
return r;
}
memo(A, e = {}) {
let r = this.#I;
if (!r)
throw new Error("no memoMethod provided to constructor");
let { context: i, forceRefresh: n, ...o } = e, g = this.get(A, o);
if (!n && g !== void 0)
return g;
let C = r(A, g, {
options: o,
context: i
});
return this.set(A, C, o), C;
}
/**
* Return a value from the cache. Will update the recency of the cache
* entry found.
*
* If the key is not found, get() will return `undefined`.
*/
get(A, e = {}) {
let { allowStale: r = this.allowStale, updateAgeOnGet: i = this.updateAgeOnGet, noDeleteOnStaleGet: n = this.noDeleteOnStaleGet, status: o } = e,
g = this.#g.get(A);
if (g !== void 0) {
let C = this.#s[g], I = this.#C(C);
return o && this.#i(o, g), this.#f(g) ? (o && (o.get = "stale"), I ? (o && r && C.__staleWhileFetching !== void 0 && (o.returnedStale =
!0), r ? C.__staleWhileFetching : void 0) : (n || this.#N(A, "expire"), o && r && (o.returnedStale = !0), r ? C : void 0)) : (o && (o.
get = "hit"), I ? C.__staleWhileFetching : (this.#_(g), i && this.#S(g), C));
} else o && (o.get = "miss");
}
#U(A, e) {
this.#Q[e] = A, this.#B[A] = e;
}
#_(A) {
A !== this.#h && (A === this.#l ? this.#l = this.#B[A] : this.#U(this.#Q[A], this.#B[A]), this.#U(this.#h, A), this.#h = A);
}
/**
* Deletes a key out of the cache.
*
* Returns true if the key was deleted, false otherwise.
*/
delete(A) {
return this.#N(A, "delete");
}
#N(A, e) {
let r = !1;
if (this.#o !== 0) {
let i = this.#g.get(A);
if (i !== void 0)
if (r = !0, this.#o === 1)
this.#G(e);
else {
this.#R(i);
let n = this.#s[i];
if (this.#C(n) ? n.__abortController.abort(new Error("deleted")) : (this.#p || this.#E) && (this.#p && this.#t?.(n, A, e), this.#E &&
this.#u?.push([n, A, e])), this.#g.delete(A), this.#a[i] = void 0, this.#s[i] = void 0, i === this.#h)
this.#h = this.#Q[i];
else if (i === this.#l)
this.#l = this.#B[i];
else {
let o = this.#Q[i];
this.#B[o] = this.#B[i];
let g = this.#B[i];
this.#Q[g] = this.#Q[i];
}
this.#o--, this.#m.push(i);
}
}
if (this.#E && this.#u?.length) {
let i = this.#u, n;
for (; n = i?.shift(); )
this.#r?.(...n);
}
return r;
}
/**
* Clear the cache entirely, throwing away all values.
*/
clear() {
return this.#G("delete");
}
#G(A) {
for (let e of this.#F({ allowStale: !0 })) {
let r = this.#s[e];
if (this.#C(r))
r.__abortController.abort(new Error("deleted"));
else {
let i = this.#a[e];
this.#p && this.#t?.(r, i, A), this.#E && this.#u?.push([r, i, A]);
}
}
if (this.#g.clear(), this.#s.fill(void 0), this.#a.fill(void 0), this.#d && this.#D && (this.#d.fill(0), this.#D.fill(0)), this.#y && this.#y.
fill(0), this.#l = 0, this.#h = 0, this.#m.length = 0, this.#c = 0, this.#o = 0, this.#E && this.#u) {
let e = this.#u, r;
for (; r = e?.shift(); )
this.#r?.(...r);
}
}
};
// ../node_modules/path-scurry/dist/esm/index.js
import { posix as nk, win32 as Lg } from "node:path";
import { fileURLToPath as ok } from "node:url";
import { lstatSync as gk, readdir as ak, readdirSync as Ck, readlinkSync as ck, realpathSync as Ik } from "fs";
import * as hk from "node:fs";
import { lstat as Ek, readdir as uk, readlink as Bk, realpath as Qk } from "node:fs/promises";
// ../node_modules/minipass/dist/esm/index.js
import { EventEmitter as Mg } from "node:events";
import Zl from "node:stream";
import { StringDecoder as VF } from "node:string_decoder";
var zl = typeof process == "object" && process ? process : {
stdout: null,
stderr: null
}, XF = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && (t instanceof Nt || t instanceof Zl || ZF(t) || $F(t)), "isStream"), ZF = /* @__PURE__ */ s(
(t) => !!t && typeof t == "object" && t instanceof Mg && typeof t.pipe == "function" && // node core Writable streams have a pipe() method, but it throws
t.pipe !== Zl.Writable.prototype.pipe, "isReadable"), $F = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && t instanceof Mg && typeof t.
write == "function" && typeof t.end == "function", "isWritable"), gt = Symbol("EOF"), at = Symbol("maybeEmitEnd"), bt = Symbol("emittedEnd"),
ks = Symbol("emittingEnd"), Qi = Symbol("emittedError"), bs = Symbol("closed"), Wl = Symbol("read"), Ns = Symbol("flush"), Vl = Symbol("flus\
hChunk"), be = Symbol("encoding"), Sr = Symbol("decoder"), PA = Symbol("flowing"), fi = Symbol("paused"), Kr = Symbol("resume"), UA = Symbol(
"buffer"), $A = Symbol("pipes"), _A = Symbol("bufferLength"), Sg = Symbol("bufferPush"), Ms = Symbol("bufferShift"), jA = Symbol("objectMode"),
kA = Symbol("destroyed"), Kg = Symbol("error"), Fg = Symbol("emitData"), Xl = Symbol("emitEnd"), kg = Symbol("emitEnd2"), Te = Symbol("async"),
bg = Symbol("abort"), Rs = Symbol("aborted"), di = Symbol("signal"), Ar = Symbol("dataListeners"), he = Symbol("discarded"), pi = /* @__PURE__ */ s(
(t) => Promise.resolve().then(t), "defer"), Ak = /* @__PURE__ */ s((t) => t(), "nodefer"), ek = /* @__PURE__ */ s((t) => t === "end" || t ===
"finish" || t === "prefinish", "isEndish"), tk = /* @__PURE__ */ s((t) => t instanceof ArrayBuffer || !!t && typeof t == "object" && t.constructor &&
t.constructor.name === "ArrayBuffer" && t.byteLength >= 0, "isArrayBufferLike"), rk = /* @__PURE__ */ s((t) => !Buffer.isBuffer(t) && ArrayBuffer.
isView(t), "isArrayBufferView"), vs = class {
static {
s(this, "Pipe");
}
src;
dest;
opts;
ondrain;
constructor(A, e, r) {
this.src = A, this.dest = e, this.opts = r, this.ondrain = () => A[Kr](), this.dest.on("drain", this.ondrain);
}
unpipe() {
this.dest.removeListener("drain", this.ondrain);
}
// only here for the prototype
/* c8 ignore start */
proxyErrors(A) {
}
/* c8 ignore stop */
end() {
this.unpipe(), this.opts.end && this.dest.end();
}
}, Ng = class extends vs {
static {
s(this, "PipeProxyErrors");
}
unpipe() {
this.src.removeListener("error", this.proxyErrors), super.unpipe();
}
constructor(A, e, r) {
super(A, e, r), this.proxyErrors = (i) => e.emit("error", i), A.on("error", this.proxyErrors);
}
}, ik = /* @__PURE__ */ s((t) => !!t.objectMode, "isObjectModeOptions"), sk = /* @__PURE__ */ s((t) => !t.objectMode && !!t.encoding && t.encoding !==
"buffer", "isEncodingOptions"), Nt = class extends Mg {
static {
s(this, "Minipass");
}
[PA] = !1;
[fi] = !1;
[$A] = [];
[UA] = [];
[jA];
[be];
[Te];
[Sr];
[gt] = !1;
[bt] = !1;
[ks] = !1;
[bs] = !1;
[Qi] = null;
[_A] = 0;
[kA] = !1;
[di];
[Rs] = !1;
[Ar] = 0;
[he] = !1;
/**
* true if the stream can be written
*/
writable = !0;
/**
* true if the stream can be read
*/
readable = !0;
/**
* If `RType` is Buffer, then options do not need to be provided.
* Otherwise, an options object must be provided to specify either
* {@link Minipass.SharedOptions.objectMode} or
* {@link Minipass.SharedOptions.encoding}, as appropriate.
*/
constructor(...A) {
let e = A[0] || {};
if (super(), e.objectMode && typeof e.encoding == "string")
throw new TypeError("Encoding and objectMode may not be used together");
ik(e) ? (this[jA] = !0, this[be] = null) : sk(e) ? (this[be] = e.encoding, this[jA] = !1) : (this[jA] = !1, this[be] = null), this[Te] =
!!e.async, this[Sr] = this[be] ? new VF(this[be]) : null, e && e.debugExposeBuffer === !0 && Object.defineProperty(this, "buffer", { get: /* @__PURE__ */ s(
() => this[UA], "get") }), e && e.debugExposePipes === !0 && Object.defineProperty(this, "pipes", { get: /* @__PURE__ */ s(() => this[$A],
"get") });
let { signal: r } = e;
r && (this[di] = r, r.aborted ? this[bg]() : r.addEventListener("abort", () => this[bg]()));
}
/**
* The amount of data stored in the buffer waiting to be read.
*
* For Buffer strings, this will be the total byte length.
* For string encoding streams, this will be the string character length,
* according to JavaScript's `string.length` logic.
* For objectMode streams, this is a count of the items waiting to be
* emitted.
*/
get bufferLength() {
return this[_A];
}
/**
* The `BufferEncoding` currently in use, or `null`
*/
get encoding() {
return this[be];
}
/**
* @deprecated - This is a read only property
*/
set encoding(A) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* @deprecated - Encoding may only be set at instantiation time
*/
setEncoding(A) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* True if this is an objectMode stream
*/
get objectMode() {
return this[jA];
}
/**
* @deprecated - This is a read-only property
*/
set objectMode(A) {
throw new Error("objectMode must be set at instantiation time");
}
/**
* true if this is an async stream
*/
get async() {
return this[Te];
}
/**
* Set to true to make this stream async.
*
* Once set, it cannot be unset, as this would potentially cause incorrect
* behavior. Ie, a sync stream can be made async, but an async stream
* cannot be safely made sync.
*/
set async(A) {
this[Te] = this[Te] || !!A;
}
// drop everything and get out of the flow completely
[bg]() {
this[Rs] = !0, this.emit("abort", this[di]?.reason), this.destroy(this[di]?.reason);
}
/**
* True if the stream has been aborted.
*/
get aborted() {
return this[Rs];
}
/**
* No-op setter. Stream aborted status is set via the AbortSignal provided
* in the constructor options.
*/
set aborted(A) {
}
write(A, e, r) {
if (this[Rs])
return !1;
if (this[gt])
throw new Error("write after end");
if (this[kA])
return this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" })),
!0;
typeof e == "function" && (r = e, e = "utf8"), e || (e = "utf8");
let i = this[Te] ? pi : Ak;
if (!this[jA] && !Buffer.isBuffer(A)) {
if (rk(A))
A = Buffer.from(A.buffer, A.byteOffset, A.byteLength);
else if (tk(A))
A = Buffer.from(A);
else if (typeof A != "string")
throw new Error("Non-contiguous data written to non-objectMode stream");
}
return this[jA] ? (this[PA] && this[_A] !== 0 && this[Ns](!0), this[PA] ? this.emit("data", A) : this[Sg](A), this[_A] !== 0 && this.emit(
"readable"), r && i(r), this[PA]) : A.length ? (typeof A == "string" && // unless it is a string already ready for us to use
!(e === this[be] && !this[Sr]?.lastNeed) && (A = Buffer.from(A, e)), Buffer.isBuffer(A) && this[be] && (A = this[Sr].write(A)), this[PA] &&
this[_A] !== 0 && this[Ns](!0), this[PA] ? this.emit("data", A) : this[Sg](A), this[_A] !== 0 && this.emit("readable"), r && i(r), this[PA]) :
(this[_A] !== 0 && this.emit("readable"), r && i(r), this[PA]);
}
/**
* Low-level explicit read method.
*
* In objectMode, the argument is ignored, and one item is returned if
* available.
*
* `n` is the number of bytes (or in the case of encoding streams,
* characters) to consume. If `n` is not provided, then the entire buffer
* is returned, or `null` is returned if no data is available.
*
* If `n` is greater that the amount of data in the internal buffer,
* then `null` is returned.
*/
read(A) {
if (this[kA])
return null;
if (this[he] = !1, this[_A] === 0 || A === 0 || A && A > this[_A])
return this[at](), null;
this[jA] && (A = null), this[UA].length > 1 && !this[jA] && (this[UA] = [
this[be] ? this[UA].join("") : Buffer.concat(this[UA], this[_A])
]);
let e = this[Wl](A || null, this[UA][0]);
return this[at](), e;
}
[Wl](A, e) {
if (this[jA])
this[Ms]();
else {
let r = e;
A === r.length || A === null ? this[Ms]() : typeof r == "string" ? (this[UA][0] = r.slice(A), e = r.slice(0, A), this[_A] -= A) : (this[UA][0] =
r.subarray(A), e = r.subarray(0, A), this[_A] -= A);
}
return this.emit("data", e), !this[UA].length && !this[gt] && this.emit("drain"), e;
}
end(A, e, r) {
return typeof A == "function" && (r = A, A = void 0), typeof e == "function" && (r = e, e = "utf8"), A !== void 0 && this.write(A, e), r &&
this.once("end", r), this[gt] = !0, this.writable = !1, (this[PA] || !this[fi]) && this[at](), this;
}
// don't let the internal resume be overwritten
[Kr]() {
this[kA] || (!this[Ar] && !this[$A].length && (this[he] = !0), this[fi] = !1, this[PA] = !0, this.emit("resume"), this[UA].length ? this[Ns]() :
this[gt] ? this[at]() : this.emit("drain"));
}
/**
* Resume the stream if it is currently in a paused state
*
* If called when there are no pipe destinations or `data` event listeners,
* this will place the stream in a "discarded" state, where all data will
* be thrown away. The discarded state is removed if a pipe destination or
* data handler is added, if pause() is called, or if any synchronous or
* asynchronous iteration is started.
*/
resume() {
return this[Kr]();
}
/**
* Pause the stream
*/
pause() {
this[PA] = !1, this[fi] = !0, this[he] = !1;
}
/**
* true if the stream has been forcibly destroyed
*/
get destroyed() {
return this[kA];
}
/**
* true if the stream is currently in a flowing state, meaning that
* any writes will be immediately emitted.
*/
get flowing() {
return this[PA];
}
/**
* true if the stream is currently in a paused state
*/
get paused() {
return this[fi];
}
[Sg](A) {
this[jA] ? this[_A] += 1 : this[_A] += A.length, this[UA].push(A);
}
[Ms]() {
return this[jA] ? this[_A] -= 1 : this[_A] -= this[UA][0].length, this[UA].shift();
}
[Ns](A = !1) {
do
;
while (this[Vl](this[Ms]()) && this[UA].length);
!A && !this[UA].length && !this[gt] && this.emit("drain");
}
[Vl](A) {
return this.emit("data", A), this[PA];
}
/**
* Pipe all data emitted by this stream into the destination provided.
*
* Triggers the flow of data.
*/
pipe(A, e) {
if (this[kA])
return A;
this[he] = !1;
let r = this[bt];
return e = e || {}, A === zl.stdout || A === zl.stderr ? e.end = !1 : e.end = e.end !== !1, e.proxyErrors = !!e.proxyErrors, r ? e.end &&
A.end() : (this[$A].push(e.proxyErrors ? new Ng(this, A, e) : new vs(this, A, e)), this[Te] ? pi(() => this[Kr]()) : this[Kr]()), A;
}
/**
* Fully unhook a piped destination stream.
*
* If the destination stream was the only consumer of this stream (ie,
* there are no other piped destinations or `'data'` event listeners)
* then the flow of data will stop until there is another consumer or
* {@link Minipass#resume} is explicitly called.
*/
unpipe(A) {
let e = this[$A].find((r) => r.dest === A);
e && (this[$A].length === 1 ? (this[PA] && this[Ar] === 0 && (this[PA] = !1), this[$A] = []) : this[$A].splice(this[$A].indexOf(e), 1), e.
unpipe());
}
/**
* Alias for {@link Minipass#on}
*/
addListener(A, e) {
return this.on(A, e);
}
/**
* Mostly identical to `EventEmitter.on`, with the following
* behavior differences to prevent data loss and unnecessary hangs:
*
* - Adding a 'data' event handler will trigger the flow of data
*
* - Adding a 'readable' event handler when there is data waiting to be read
* will cause 'readable' to be emitted immediately.
*
* - Adding an 'endish' event handler ('end', 'finish', etc.) which has
* already passed will cause the event to be emitted immediately and all
* handlers removed.
*
* - Adding an 'error' event handler after an error has been emitted will
* cause the event to be re-emitted immediately with the error previously
* raised.
*/
on(A, e) {
let r = super.on(A, e);
if (A === "data")
this[he] = !1, this[Ar]++, !this[$A].length && !this[PA] && this[Kr]();
else if (A === "readable" && this[_A] !== 0)
super.emit("readable");
else if (ek(A) && this[bt])
super.emit(A), this.removeAllListeners(A);
else if (A === "error" && this[Qi]) {
let i = e;
this[Te] ? pi(() => i.call(this, this[Qi])) : i.call(this, this[Qi]);
}
return r;
}
/**
* Alias for {@link Minipass#off}
*/
removeListener(A, e) {
return this.off(A, e);
}
/**
* Mostly identical to `EventEmitter.off`
*
* If a 'data' event handler is removed, and it was the last consumer
* (ie, there are no pipe destinations or other 'data' event listeners),
* then the flow of data will stop until there is another consumer or
* {@link Minipass#resume} is explicitly called.
*/
off(A, e) {
let r = super.off(A, e);
return A === "data" && (this[Ar] = this.listeners("data").length, this[Ar] === 0 && !this[he] && !this[$A].length && (this[PA] = !1)), r;
}
/**
* Mostly identical to `EventEmitter.removeAllListeners`
*
* If all 'data' event handlers are removed, and they were the last consumer
* (ie, there are no pipe destinations), then the flow of data will stop
* until there is another consumer or {@link Minipass#resume} is explicitly
* called.
*/
removeAllListeners(A) {
let e = super.removeAllListeners(A);
return (A === "data" || A === void 0) && (this[Ar] = 0, !this[he] && !this[$A].length && (this[PA] = !1)), e;
}
/**
* true if the 'end' event has been emitted
*/
get emittedEnd() {
return this[bt];
}
[at]() {
!this[ks] && !this[bt] && !this[kA] && this[UA].length === 0 && this[gt] && (this[ks] = !0, this.emit("end"), this.emit("prefinish"), this.
emit("finish"), this[bs] && this.emit("close"), this[ks] = !1);
}
/**
* Mostly identical to `EventEmitter.emit`, with the following
* behavior differences to prevent data loss and unnecessary hangs:
*
* If the stream has been destroyed, and the event is something other
* than 'close' or 'error', then `false` is returned and no handlers
* are called.
*
* If the event is 'end', and has already been emitted, then the event
* is ignored. If the stream is in a paused or non-flowing state, then
* the event will be deferred until data flow resumes. If the stream is
* async, then handlers will be called on the next tick rather than
* immediately.
*
* If the event is 'close', and 'end' has not yet been emitted, then
* the event will be deferred until after 'end' is emitted.
*
* If the event is 'error', and an AbortSignal was provided for the stream,
* and there are no listeners, then the event is ignored, matching the
* behavior of node core streams in the presense of an AbortSignal.
*
* If the event is 'finish' or 'prefinish', then all listeners will be
* removed after emitting the event, to prevent double-firing.
*/
emit(A, ...e) {
let r = e[0];
if (A !== "error" && A !== "close" && A !== kA && this[kA])
return !1;
if (A === "data")
return !this[jA] && !r ? !1 : this[Te] ? (pi(() => this[Fg](r)), !0) : this[Fg](r);
if (A === "end")
return this[Xl]();
if (A === "close") {
if (this[bs] = !0, !this[bt] && !this[kA])
return !1;
let n = super.emit("close");
return this.removeAllListeners("close"), n;
} else if (A === "error") {
this[Qi] = r, super.emit(Kg, r);
let n = !this[di] || this.listeners("error").length ? super.emit("error", r) : !1;
return this[at](), n;
} else if (A === "resume") {
let n = super.emit("resume");
return this[at](), n;
} else if (A === "finish" || A === "prefinish") {
let n = super.emit(A);
return this.removeAllListeners(A), n;
}
let i = super.emit(A, ...e);
return this[at](), i;
}
[Fg](A) {
for (let r of this[$A])
r.dest.write(A) === !1 && this.pause();
let e = this[he] ? !1 : super.emit("data", A);
return this[at](), e;
}
[Xl]() {
return this[bt] ? !1 : (this[bt] = !0, this.readable = !1, this[Te] ? (pi(() => this[kg]()), !0) : this[kg]());
}
[kg]() {
if (this[Sr]) {
let e = this[Sr].end();
if (e) {
for (let r of this[$A])
r.dest.write(e);
this[he] || super.emit("data", e);
}
}
for (let e of this[$A])
e.end();
let A = super.emit("end");
return this.removeAllListeners("end"), A;
}
/**
* Return a Promise that resolves to an array of all emitted data once
* the stream ends.
*/
async collect() {
let A = Object.assign([], {
dataLength: 0
});
this[jA] || (A.dataLength = 0);
let e = this.promise();
return this.on("data", (r) => {
A.push(r), this[jA] || (A.dataLength += r.length);
}), await e, A;
}
/**
* Return a Promise that resolves to the concatenation of all emitted data
* once the stream ends.
*
* Not allowed on objectMode streams.
*/
async concat() {
if (this[jA])
throw new Error("cannot concat in objectMode");
let A = await this.collect();
return this[be] ? A.join("") : Buffer.concat(A, A.dataLength);
}
/**
* Return a void Promise that resolves once the stream ends.
*/
async promise() {
return new Promise((A, e) => {
this.on(kA, () => e(new Error("stream destroyed"))), this.on("error", (r) => e(r)), this.on("end", () => A());
});
}
/**
* Asynchronous `for await of` iteration.
*
* This will continue emitting all chunks until the stream terminates.
*/
[Symbol.asyncIterator]() {
this[he] = !1;
let A = !1, e = /* @__PURE__ */ s(async () => (this.pause(), A = !0, { value: void 0, done: !0 }), "stop");
return {
next: /* @__PURE__ */ s(() => {
if (A)
return e();
let i = this.read();
if (i !== null)
return Promise.resolve({ done: !1, value: i });
if (this[gt])
return e();
let n, o, g = /* @__PURE__ */ s((Q) => {
this.off("data", C), this.off("end", I), this.off(kA, E), e(), o(Q);
}, "onerr"), C = /* @__PURE__ */ s((Q) => {
this.off("error", g), this.off("end", I), this.off(kA, E), this.pause(), n({ value: Q, done: !!this[gt] });
}, "ondata"), I = /* @__PURE__ */ s(() => {
this.off("error", g), this.off("data", C), this.off(kA, E), e(), n({ done: !0, value: void 0 });
}, "onend"), E = /* @__PURE__ */ s(() => g(new Error("stream destroyed")), "ondestroy");
return new Promise((Q, B) => {
o = B, n = Q, this.once(kA, E), this.once("error", g), this.once("end", I), this.once("data", C);
});
}, "next"),
throw: e,
return: e,
[Symbol.asyncIterator]() {
return this;
}
};
}
/**
* Synchronous `for of` iteration.
*
* The iteration will terminate when the internal buffer runs out, even
* if the stream has not yet terminated.
*/
[Symbol.iterator]() {
this[he] = !1;
let A = !1, e = /* @__PURE__ */ s(() => (this.pause(), this.off(Kg, e), this.off(kA, e), this.off("end", e), A = !0, { done: !0, value: void 0 }),
"stop"), r = /* @__PURE__ */ s(() => {
if (A)
return e();
let i = this.read();
return i === null ? e() : { done: !1, value: i };
}, "next");
return this.once("end", e), this.once(Kg, e), this.once(kA, e), {
next: r,
throw: e,
return: e,
[Symbol.iterator]() {
return this;
}
};
}
/**
* Destroy a stream, preventing it from being used for any further purpose.
*
* If the stream has a `close()` method, then it will be called on
* destruction.
*
* After destruction, any attempt to write data, read data, or emit most
* events will be ignored.
*
* If an error argument is provided, then it will be emitted in an
* 'error' event.
*/
destroy(A) {
if (this[kA])
return A ? this.emit("error", A) : this.emit(kA), this;
this[kA] = !0, this[he] = !0, this[UA].length = 0, this[_A] = 0;
let e = this;
return typeof e.close == "function" && !this[bs] && e.close(), A ? this.emit("error", A) : this.emit(kA), this;
}
/**
* Alias for {@link isStream}
*
* Former export location, maintained for backwards compatibility.
*
* @deprecated
*/
static get isStream() {
return XF;
}
};
// ../node_modules/path-scurry/dist/esm/index.js
var lk = Ik.native, mi = {
lstatSync: gk,
readdir: ak,
readdirSync: Ck,
readlinkSync: ck,
realpathSync: lk,
promises: {
lstat: Ek,
readdir: uk,
readlink: Bk,
realpath: Qk
}
}, rE = /* @__PURE__ */ s((t) => !t || t === mi || t === hk ? mi : {
...mi,
...t,
promises: {
...mi.promises,
...t.promises || {}
}
}, "fsFromOption"), iE = /^\\\\\?\\([a-z]:)\\?$/i, fk = /* @__PURE__ */ s((t) => t.replace(/\//g, "\\").replace(iE, "$1\\"), "uncToDrive"), dk = /[\\\/]/,
fe = 0, sE = 1, nE = 2, He = 4, oE = 6, gE = 8, er = 10, aE = 12, Qe = 15, wi = ~Qe, Rg = 16, $l = 32, yi = 64, Ne = 128, Ls = 256, Ys = 512,
AE = yi | Ne | Ys, pk = 1023, vg = /* @__PURE__ */ s((t) => t.isFile() ? gE : t.isDirectory() ? He : t.isSymbolicLink() ? er : t.isCharacterDevice() ?
nE : t.isBlockDevice() ? oE : t.isSocket() ? aE : t.isFIFO() ? sE : fe, "entToType"), eE = /* @__PURE__ */ new Map(), Di = /* @__PURE__ */ s(
(t) => {
let A = eE.get(t);
if (A)
return A;
let e = t.normalize("NFKD");
return eE.set(t, e), e;
}, "normalize"), tE = /* @__PURE__ */ new Map(), xs = /* @__PURE__ */ s((t) => {
let A = tE.get(t);
if (A)
return A;
let e = Di(t.toLowerCase());
return tE.set(t, e), e;
}, "normalizeNocase"), Ps = class extends Bi {
static {
s(this, "ResolveCache");
}
constructor() {
super({ max: 256 });
}
}, xg = class extends Bi {
static {
s(this, "ChildrenCache");
}
constructor(A = 16 * 1024) {
super({
maxSize: A,
// parent + children
sizeCalculation: /* @__PURE__ */ s((e) => e.length + 1, "sizeCalculation")
});
}
}, CE = Symbol("PathScurry setAsCwd"), qA = class {
static {
s(this, "PathBase");
}
/**
* the basename of this path
*
* **Important**: *always* test the path name against any test string
* usingthe {@link isNamed} method, and not by directly comparing this
* string. Otherwise, unicode path strings that the system sees as identical
* will not be properly treated as the same path, leading to incorrect
* behavior and possible security issues.
*/
name;
/**
* the Path entry corresponding to the path root.
*
* @internal
*/
root;
/**
* All roots found within the current PathScurry family
*
* @internal
*/
roots;
/**
* a reference to the parent path, or undefined in the case of root entries
*
* @internal
*/
parent;
/**
* boolean indicating whether paths are compared case-insensitively
* @internal
*/
nocase;
/**
* boolean indicating that this path is the current working directory
* of the PathScurry collection that contains it.
*/
isCWD = !1;
// potential default fs override
#A;
// Stats fields
#e;
get dev() {
return this.#e;
}
#t;
get mode() {
return this.#t;
}
#r;
get nlink() {
return this.#r;
}
#n;
get uid() {
return this.#n;
}
#I;
get gid() {
return this.#I;
}
#o;
get rdev() {
return this.#o;
}
#c;
get blksize() {
return this.#c;
}
#g;
get ino() {
return this.#g;
}
#a;
get size() {
return this.#a;
}
#s;
get blocks() {
return this.#s;
}
#B;
get atimeMs() {
return this.#B;
}
#Q;
get mtimeMs() {
return this.#Q;
}
#l;
get ctimeMs() {
return this.#l;
}
#h;
get birthtimeMs() {
return this.#h;
}
#m;
get atime() {
return this.#m;
}
#u;
get mtime() {
return this.#u;
}
#y;
get ctime() {
return this.#y;
}
#D;
get birthtime() {
return this.#D;
}
#d;
#p;
#w;
#E;
#k;
#S;
#i;
#M;
#f;
#b;
/**
* This property is for compatibility with the Dirent class as of
* Node v20, where Dirent['parentPath'] refers to the path of the
* directory that was passed to readdir. For root entries, it's the path
* to the entry itself.
*/
get parentPath() {
return (this.parent || this).fullpath();
}
/**
* Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
* this property refers to the *parent* path, not the path object itself.
*/
get path() {
return this.parentPath;
}
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = fe, r, i, n, o, g) {
this.name = A, this.#d = n ? xs(A) : Di(A), this.#i = e & pk, this.nocase = n, this.roots = i, this.root = r || this, this.#M = o, this.#w =
g.fullpath, this.#k = g.relative, this.#S = g.relativePosix, this.parent = g.parent, this.parent ? this.#A = this.parent.#A : this.#A = rE(
g.fs);
}
/**
* Returns the depth of the Path object from its root.
*
* For example, a path at `/foo/bar` would have a depth of 2.
*/
depth() {
return this.#p !== void 0 ? this.#p : this.parent ? this.#p = this.parent.depth() + 1 : this.#p = 0;
}
/**
* @internal
*/
childrenCache() {
return this.#M;
}
/**
* Get the Path object referenced by the string path, resolved from this Path
*/
resolve(A) {
if (!A)
return this;
let e = this.getRootString(A), i = A.substring(e.length).split(this.splitSep);
return e ? this.getRoot(e).#R(i) : this.#R(i);
}
#R(A) {
let e = this;
for (let r of A)
e = e.child(r);
return e;
}
/**
* Returns the cached children Path objects, if still available. If they
* have fallen out of the cache, then returns an empty array, and resets the
* READDIR_CALLED bit, so that future calls to readdir() will require an fs
* lookup.
*
* @internal
*/
children() {
let A = this.#M.get(this);
if (A)
return A;
let e = Object.assign([], { provisional: 0 });
return this.#M.set(this, e), this.#i &= ~Rg, e;
}
/**
* Resolves a path portion and returns or creates the child Path.
*
* Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
* `'..'`.
*
* This should not be called directly. If `pathPart` contains any path
* separators, it will lead to unsafe undefined behavior.
*
* Use `Path.resolve()` instead.
*
* @internal
*/
child(A, e) {
if (A === "" || A === ".")
return this;
if (A === "..")
return this.parent || this;
let r = this.children(), i = this.nocase ? xs(A) : Di(A);
for (let C of r)
if (C.#d === i)
return C;
let n = this.parent ? this.sep : "", o = this.#w ? this.#w + n + A : void 0, g = this.newChild(A, fe, {
...e,
parent: this,
fullpath: o
});
return this.canReaddir() || (g.#i |= Ne), r.push(g), g;
}
/**
* The relative path from the cwd. If it does not share an ancestor with
* the cwd, then this ends up being equivalent to the fullpath()
*/
relative() {
if (this.isCWD)
return "";
if (this.#k !== void 0)
return this.#k;
let A = this.name, e = this.parent;
if (!e)
return this.#k = this.name;
let r = e.relative();
return r + (!r || !e.parent ? "" : this.sep) + A;
}
/**
* The relative path from the cwd, using / as the path separator.
* If it does not share an ancestor with
* the cwd, then this ends up being equivalent to the fullpathPosix()
* On posix systems, this is identical to relative().
*/
relativePosix() {
if (this.sep === "/")
return this.relative();
if (this.isCWD)
return "";
if (this.#S !== void 0)
return this.#S;
let A = this.name, e = this.parent;
if (!e)
return this.#S = this.fullpathPosix();
let r = e.relativePosix();
return r + (!r || !e.parent ? "" : "/") + A;
}
/**
* The fully resolved path string for this Path entry
*/
fullpath() {
if (this.#w !== void 0)
return this.#w;
let A = this.name, e = this.parent;
if (!e)
return this.#w = this.name;
let i = e.fullpath() + (e.parent ? this.sep : "") + A;
return this.#w = i;
}
/**
* On platforms other than windows, this is identical to fullpath.
*
* On windows, this is overridden to return the forward-slash form of the
* full UNC path.
*/
fullpathPosix() {
if (this.#E !== void 0)
return this.#E;
if (this.sep === "/")
return this.#E = this.fullpath();
if (!this.parent) {
let i = this.fullpath().replace(/\\/g, "/");
return /^[a-z]:\//i.test(i) ? this.#E = `//?/${i}` : this.#E = i;
}
let A = this.parent, e = A.fullpathPosix(), r = e + (!e || !A.parent ? "" : "/") + this.name;
return this.#E = r;
}
/**
* Is the Path of an unknown type?
*
* Note that we might know *something* about it if there has been a previous
* filesystem operation, for example that it does not exist, or is not a
* link, or whether it has child entries.
*/
isUnknown() {
return (this.#i & Qe) === fe;
}
isType(A) {
return this[`is${A}`]();
}
getType() {
return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" :
this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
/* c8 ignore start */
this.isSocket() ? "Socket" : "Unknown"
);
}
/**
* Is the Path a regular file?
*/
isFile() {
return (this.#i & Qe) === gE;
}
/**
* Is the Path a directory?
*/
isDirectory() {
return (this.#i & Qe) === He;
}
/**
* Is the path a character device?
*/
isCharacterDevice() {
return (this.#i & Qe) === nE;
}
/**
* Is the path a block device?
*/
isBlockDevice() {
return (this.#i & Qe) === oE;
}
/**
* Is the path a FIFO pipe?
*/
isFIFO() {
return (this.#i & Qe) === sE;
}
/**
* Is the path a socket?
*/
isSocket() {
return (this.#i & Qe) === aE;
}
/**
* Is the path a symbolic link?
*/
isSymbolicLink() {
return (this.#i & er) === er;
}
/**
* Return the entry if it has been subject of a successful lstat, or
* undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* simply
* mean that we haven't called lstat on it.
*/
lstatCached() {
return this.#i & $l ? this : void 0;
}
/**
* Return the cached link target if the entry has been the subject of a
* successful readlink, or undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* readlink() has been called at some point.
*/
readlinkCached() {
return this.#f;
}
/**
* Returns the cached realpath target if the entry has been the subject
* of a successful realpath, or undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* realpath() has been called at some point.
*/
realpathCached() {
return this.#b;
}
/**
* Returns the cached child Path entries array if the entry has been the
* subject of a successful readdir(), or [] otherwise.
*
* Does not read the filesystem, so an empty array *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* readdir() has been called recently enough to still be valid.
*/
readdirCached() {
let A = this.children();
return A.slice(0, A.provisional);
}
/**
* Return true if it's worth trying to readlink. Ie, we don't (yet) have
* any indication that readlink will definitely fail.
*
* Returns false if the path is known to not be a symlink, if a previous
* readlink failed, or if the entry does not exist.
*/
canReadlink() {
if (this.#f)
return !0;
if (!this.parent)
return !1;
let A = this.#i & Qe;
return !(A !== fe && A !== er || this.#i & Ls || this.#i & Ne);
}
/**
* Return true if readdir has previously been successfully called on this
* path, indicating that cachedReaddir() is likely valid.
*/
calledReaddir() {
return !!(this.#i & Rg);
}
/**
* Returns true if the path is known to not exist. That is, a previous lstat
* or readdir failed to verify its existence when that would have been
* expected, or a parent entry was marked either enoent or enotdir.
*/
isENOENT() {
return !!(this.#i & Ne);
}
/**
* Return true if the path is a match for the given path name. This handles
* case sensitivity and unicode normalization.
*
* Note: even on case-sensitive systems, it is **not** safe to test the
* equality of the `.name` property to determine whether a given pathname
* matches, due to unicode normalization mismatches.
*
* Always use this method instead of testing the `path.name` property
* directly.
*/
isNamed(A) {
return this.nocase ? this.#d === xs(A) : this.#d === Di(A);
}
/**
* Return the Path object corresponding to the target of a symbolic link.
*
* If the Path is not a symbolic link, or if the readlink call fails for any
* reason, `undefined` is returned.
*
* Result is cached, and thus may be outdated if the filesystem is mutated.
*/
async readlink() {
let A = this.#f;
if (A)
return A;
if (this.canReadlink() && this.parent)
try {
let e = await this.#A.promises.readlink(this.fullpath()), r = (await this.parent.realpath())?.resolve(e);
if (r)
return this.#f = r;
} catch (e) {
this.#C(e.code);
return;
}
}
/**
* Synchronous {@link PathBase.readlink}
*/
readlinkSync() {
let A = this.#f;
if (A)
return A;
if (this.canReadlink() && this.parent)
try {
let e = this.#A.readlinkSync(this.fullpath()), r = this.parent.realpathSync()?.resolve(e);
if (r)
return this.#f = r;
} catch (e) {
this.#C(e.code);
return;
}
}
#v(A) {
this.#i |= Rg;
for (let e = A.provisional; e < A.length; e++) {
let r = A[e];
r && r.#L();
}
}
#L() {
this.#i & Ne || (this.#i = (this.#i | Ne) & wi, this.#K());
}
#K() {
let A = this.children();
A.provisional = 0;
for (let e of A)
e.#L();
}
#F() {
this.#i |= Ys, this.#x();
}
// save the information when we know the entry is not a dir
#x() {
if (this.#i & yi)
return;
let A = this.#i;
(A & Qe) === He && (A &= wi), this.#i = A | yi, this.#K();
}
#Y(A = "") {
A === "ENOTDIR" || A === "EPERM" ? this.#x() : A === "ENOENT" ? this.#L() : this.children().provisional = 0;
}
#P(A = "") {
A === "ENOTDIR" ? this.parent.#x() : A === "ENOENT" && this.#L();
}
#C(A = "") {
let e = this.#i;
e |= Ls, A === "ENOENT" && (e |= Ne), (A === "EINVAL" || A === "UNKNOWN") && (e &= wi), this.#i = e, A === "ENOTDIR" && this.parent && this.
parent.#x();
}
#U(A, e) {
return this.#N(A, e) || this.#_(A, e);
}
#_(A, e) {
let r = vg(A), i = this.newChild(A.name, r, { parent: this }), n = i.#i & Qe;
return n !== He && n !== er && n !== fe && (i.#i |= yi), e.unshift(i), e.provisional++, i;
}
#N(A, e) {
for (let r = e.provisional; r < e.length; r++) {
let i = e[r];
if ((this.nocase ? xs(A.name) : Di(A.name)) === i.#d)
return this.#G(A, i, r, e);
}
}
#G(A, e, r, i) {
let n = e.name;
return e.#i = e.#i & wi | vg(A), n !== A.name && (e.name = A.name), r !== i.provisional && (r === i.length - 1 ? i.pop() : i.splice(r, 1),
i.unshift(e)), i.provisional++, e;
}
/**
* Call lstat() on this Path, and update all known information that can be
* determined.
*
* Note that unlike `fs.lstat()`, the returned value does not contain some
* information, such as `mode`, `dev`, `nlink`, and `ino`. If that
* information is required, you will need to call `fs.lstat` yourself.
*
* If the Path refers to a nonexistent file, or if the lstat call fails for
* any reason, `undefined` is returned. Otherwise the updated Path object is
* returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async lstat() {
if ((this.#i & Ne) === 0)
try {
return this.#H(await this.#A.promises.lstat(this.fullpath())), this;
} catch (A) {
this.#P(A.code);
}
}
/**
* synchronous {@link PathBase.lstat}
*/
lstatSync() {
if ((this.#i & Ne) === 0)
try {
return this.#H(this.#A.lstatSync(this.fullpath())), this;
} catch (A) {
this.#P(A.code);
}
}
#H(A) {
let { atime: e, atimeMs: r, birthtime: i, birthtimeMs: n, blksize: o, blocks: g, ctime: C, ctimeMs: I, dev: E, gid: Q, ino: B, mode: p, mtime: w,
mtimeMs: D, nlink: N, rdev: k, size: _, uid: L } = A;
this.#m = e, this.#B = r, this.#D = i, this.#h = n, this.#c = o, this.#s = g, this.#y = C, this.#l = I, this.#e = E, this.#I = Q, this.#g =
B, this.#t = p, this.#u = w, this.#Q = D, this.#r = N, this.#o = k, this.#a = _, this.#n = L;
let J = vg(A);
this.#i = this.#i & wi | J | $l, J !== fe && J !== He && J !== er && (this.#i |= yi);
}
#O = [];
#T = !1;
#j(A) {
this.#T = !1;
let e = this.#O.slice();
this.#O.length = 0, e.forEach((r) => r(null, A));
}
/**
* Standard node-style callback interface to get list of directory entries.
*
* If the Path cannot or does not contain any children, then an empty array
* is returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*
* @param cb The callback called with (er, entries). Note that the `er`
* param is somewhat extraneous, as all readdir() errors are handled and
* simply result in an empty set of entries being returned.
* @param allowZalgo Boolean indicating that immediately known results should
* *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
* zalgo at your peril, the dark pony lord is devious and unforgiving.
*/
readdirCB(A, e = !1) {
if (!this.canReaddir()) {
e ? A(null, []) : queueMicrotask(() => A(null, []));
return;
}
let r = this.children();
if (this.calledReaddir()) {
let n = r.slice(0, r.provisional);
e ? A(null, n) : queueMicrotask(() => A(null, n));
return;
}
if (this.#O.push(A), this.#T)
return;
this.#T = !0;
let i = this.fullpath();
this.#A.readdir(i, { withFileTypes: !0 }, (n, o) => {
if (n)
this.#Y(n.code), r.provisional = 0;
else {
for (let g of o)
this.#U(g, r);
this.#v(r);
}
this.#j(r.slice(0, r.provisional));
});
}
#J;
/**
* Return an array of known child entries.
*
* If the Path cannot or does not contain any children, then an empty array
* is returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async readdir() {
if (!this.canReaddir())
return [];
let A = this.children();
if (this.calledReaddir())
return A.slice(0, A.provisional);
let e = this.fullpath();
if (this.#J)
await this.#J;
else {
let r = /* @__PURE__ */ s(() => {
}, "resolve");
this.#J = new Promise((i) => r = i);
try {
for (let i of await this.#A.promises.readdir(e, {
withFileTypes: !0
}))
this.#U(i, A);
this.#v(A);
} catch (i) {
this.#Y(i.code), A.provisional = 0;
}
this.#J = void 0, r();
}
return A.slice(0, A.provisional);
}
/**
* synchronous {@link PathBase.readdir}
*/
readdirSync() {
if (!this.canReaddir())
return [];
let A = this.children();
if (this.calledReaddir())
return A.slice(0, A.provisional);
let e = this.fullpath();
try {
for (let r of this.#A.readdirSync(e, {
withFileTypes: !0
}))
this.#U(r, A);
this.#v(A);
} catch (r) {
this.#Y(r.code), A.provisional = 0;
}
return A.slice(0, A.provisional);
}
canReaddir() {
if (this.#i & AE)
return !1;
let A = Qe & this.#i;
return A === fe || A === He || A === er;
}
shouldWalk(A, e) {
return (this.#i & He) === He && !(this.#i & AE) && !A.has(this) && (!e || e(this));
}
/**
* Return the Path object corresponding to path as resolved
* by realpath(3).
*
* If the realpath call fails for any reason, `undefined` is returned.
*
* Result is cached, and thus may be outdated if the filesystem is mutated.
* On success, returns a Path object.
*/
async realpath() {
if (this.#b)
return this.#b;
if (!((Ys | Ls | Ne) & this.#i))
try {
let A = await this.#A.promises.realpath(this.fullpath());
return this.#b = this.resolve(A);
} catch {
this.#F();
}
}
/**
* Synchronous {@link realpath}
*/
realpathSync() {
if (this.#b)
return this.#b;
if (!((Ys | Ls | Ne) & this.#i))
try {
let A = this.#A.realpathSync(this.fullpath());
return this.#b = this.resolve(A);
} catch {
this.#F();
}
}
/**
* Internal method to mark this Path object as the scurry cwd,
* called by {@link PathScurry#chdir}
*
* @internal
*/
[CE](A) {
if (A === this)
return;
A.isCWD = !1, this.isCWD = !0;
let e = /* @__PURE__ */ new Set([]), r = [], i = this;
for (; i && i.parent; )
e.add(i), i.#k = r.join(this.sep), i.#S = r.join("/"), i = i.parent, r.push("..");
for (i = A; i && i.parent && !e.has(i); )
i.#k = void 0, i.#S = void 0, i = i.parent;
}
}, Us = class t extends qA {
static {
s(this, "PathWin32");
}
/**
* Separator for generating path strings.
*/
sep = "\\";
/**
* Separator for parsing path strings.
*/
splitSep = dk;
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = fe, r, i, n, o, g) {
super(A, e, r, i, n, o, g);
}
/**
* @internal
*/
newChild(A, e = fe, r = {}) {
return new t(A, e, this.root, this.roots, this.nocase, this.childrenCache(), r);
}
/**
* @internal
*/
getRootString(A) {
return Lg.parse(A).root;
}
/**
* @internal
*/
getRoot(A) {
if (A = fk(A.toUpperCase()), A === this.root.name)
return this.root;
for (let [e, r] of Object.entries(this.roots))
if (this.sameRoot(A, e))
return this.roots[A] = r;
return this.roots[A] = new Fr(A, this).root;
}
/**
* @internal
*/
sameRoot(A, e = this.root.name) {
return A = A.toUpperCase().replace(/\//g, "\\").replace(iE, "$1\\"), A === e;
}
}, _s = class t extends qA {
static {
s(this, "PathPosix");
}
/**
* separator for parsing path strings
*/
splitSep = "/";
/**
* separator for generating path strings
*/
sep = "/";
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = fe, r, i, n, o, g) {
super(A, e, r, i, n, o, g);
}
/**
* @internal
*/
getRootString(A) {
return A.startsWith("/") ? "/" : "";
}
/**
* @internal
*/
getRoot(A) {
return this.root;
}
/**
* @internal
*/
newChild(A, e = fe, r = {}) {
return new t(A, e, this.root, this.roots, this.nocase, this.childrenCache(), r);
}
}, Gs = class {
static {
s(this, "PathScurryBase");
}
/**
* The root Path entry for the current working directory of this Scurry
*/
root;
/**
* The string path for the root of this Scurry's current working directory
*/
rootPath;
/**
* A collection of all roots encountered, referenced by rootPath
*/
roots;
/**
* The Path entry corresponding to this PathScurry's current working directory.
*/
cwd;
#A;
#e;
#t;
/**
* Perform path comparisons case-insensitively.
*
* Defaults true on Darwin and Windows systems, false elsewhere.
*/
nocase;
#r;
/**
* This class should not be instantiated directly.
*
* Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
*
* @internal
*/
constructor(A = process.cwd(), e, r, { nocase: i, childrenCacheSize: n = 16 * 1024, fs: o = mi } = {}) {
this.#r = rE(o), (A instanceof URL || A.startsWith("file://")) && (A = ok(A));
let g = e.resolve(A);
this.roots = /* @__PURE__ */ Object.create(null), this.rootPath = this.parseRootPath(g), this.#A = new Ps(), this.#e = new Ps(), this.#t =
new xg(n);
let C = g.substring(this.rootPath.length).split(r);
if (C.length === 1 && !C[0] && C.pop(), i === void 0)
throw new TypeError("must provide nocase setting to PathScurryBase ctor");
this.nocase = i, this.root = this.newRoot(this.#r), this.roots[this.rootPath] = this.root;
let I = this.root, E = C.length - 1, Q = e.sep, B = this.rootPath, p = !1;
for (let w of C) {
let D = E--;
I = I.child(w, {
relative: new Array(D).fill("..").join(Q),
relativePosix: new Array(D).fill("..").join("/"),
fullpath: B += (p ? "" : Q) + w
}), p = !0;
}
this.cwd = I;
}
/**
* Get the depth of a provided path, string, or the cwd
*/
depth(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.depth();
}
/**
* Return the cache of child entries. Exposed so subclasses can create
* child Path objects in a platform-specific way.
*
* @internal
*/
childrenCache() {
return this.#t;
}
/**
* Resolve one or more path strings to a resolved string
*
* Same interface as require('path').resolve.
*
* Much faster than path.resolve() when called multiple times for the same
* path, because the resolved Path objects are cached. Much slower
* otherwise.
*/
resolve(...A) {
let e = "";
for (let n = A.length - 1; n >= 0; n--) {
let o = A[n];
if (!(!o || o === ".") && (e = e ? `${o}/${e}` : o, this.isAbsolute(o)))
break;
}
let r = this.#A.get(e);
if (r !== void 0)
return r;
let i = this.cwd.resolve(e).fullpath();
return this.#A.set(e, i), i;
}
/**
* Resolve one or more path strings to a resolved string, returning
* the posix path. Identical to .resolve() on posix systems, but on
* windows will return a forward-slash separated UNC path.
*
* Same interface as require('path').resolve.
*
* Much faster than path.resolve() when called multiple times for the same
* path, because the resolved Path objects are cached. Much slower
* otherwise.
*/
resolvePosix(...A) {
let e = "";
for (let n = A.length - 1; n >= 0; n--) {
let o = A[n];
if (!(!o || o === ".") && (e = e ? `${o}/${e}` : o, this.isAbsolute(o)))
break;
}
let r = this.#e.get(e);
if (r !== void 0)
return r;
let i = this.cwd.resolve(e).fullpathPosix();
return this.#e.set(e, i), i;
}
/**
* find the relative path from the cwd to the supplied path string or entry
*/
relative(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.relative();
}
/**
* find the relative path from the cwd to the supplied path string or
* entry, using / as the path delimiter, even on Windows.
*/
relativePosix(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.relativePosix();
}
/**
* Return the basename for the provided string or Path object
*/
basename(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.name;
}
/**
* Return the dirname for the provided string or Path object
*/
dirname(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), (A.parent || A).fullpath();
}
async readdir(A = this.cwd, e = {
withFileTypes: !0
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r } = e;
if (A.canReaddir()) {
let i = await A.readdir();
return r ? i : i.map((n) => n.name);
} else
return [];
}
readdirSync(A = this.cwd, e = {
withFileTypes: !0
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0 } = e;
return A.canReaddir() ? r ? A.readdirSync() : A.readdirSync().map((i) => i.name) : [];
}
/**
* Call lstat() on the string or Path object, and update all known
* information that can be determined.
*
* Note that unlike `fs.lstat()`, the returned value does not contain some
* information, such as `mode`, `dev`, `nlink`, and `ino`. If that
* information is required, you will need to call `fs.lstat` yourself.
*
* If the Path refers to a nonexistent file, or if the lstat call fails for
* any reason, `undefined` is returned. Otherwise the updated Path object is
* returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async lstat(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.lstat();
}
/**
* synchronous {@link PathScurryBase.lstat}
*/
lstatSync(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.lstatSync();
}
async readlink(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A.withFileTypes, A = this.cwd);
let r = await A.readlink();
return e ? r : r?.fullpath();
}
readlinkSync(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A.withFileTypes, A = this.cwd);
let r = A.readlinkSync();
return e ? r : r?.fullpath();
}
async realpath(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A.withFileTypes, A = this.cwd);
let r = await A.realpath();
return e ? r : r?.fullpath();
}
realpathSync(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A.withFileTypes, A = this.cwd);
let r = A.realpathSync();
return e ? r : r?.fullpath();
}
async walk(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = [];
(!n || n(A)) && g.push(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set(), I = /* @__PURE__ */ s((Q, B) => {
C.add(Q), Q.readdirCB((p, w) => {
if (p)
return B(p);
let D = w.length;
if (!D)
return B();
let N = /* @__PURE__ */ s(() => {
--D === 0 && B();
}, "next");
for (let k of w)
(!n || n(k)) && g.push(r ? k : k.fullpath()), i && k.isSymbolicLink() ? k.realpath().then((_) => _?.isUnknown() ? _.lstat() : _).then(
(_) => _?.shouldWalk(C, o) ? I(_, N) : N()) : k.shouldWalk(C, o) ? I(k, N) : N();
}, !0);
}, "walk"), E = A;
return new Promise((Q, B) => {
I(E, (p) => {
if (p)
return B(p);
Q(g);
});
});
}
walkSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = [];
(!n || n(A)) && g.push(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set([A]);
for (let I of C) {
let E = I.readdirSync();
for (let Q of E) {
(!n || n(Q)) && g.push(r ? Q : Q.fullpath());
let B = Q;
if (Q.isSymbolicLink()) {
if (!(i && (B = Q.realpathSync())))
continue;
B.isUnknown() && B.lstatSync();
}
B.shouldWalk(C, o) && C.add(B);
}
}
return g;
}
/**
* Support for `for await`
*
* Alias for {@link PathScurryBase.iterate}
*
* Note: As of Node 19, this is very slow, compared to other methods of
* walking. Consider using {@link PathScurryBase.stream} if memory overhead
* and backpressure are concerns, or {@link PathScurryBase.walk} if not.
*/
[Symbol.asyncIterator]() {
return this.iterate();
}
iterate(A = this.cwd, e = {}) {
return typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd), this.stream(A, e)[Symbol.asyncIterator]();
}
/**
* Iterating over a PathScurry performs a synchronous walk.
*
* Alias for {@link PathScurryBase.iterateSync}
*/
[Symbol.iterator]() {
return this.iterateSync();
}
*iterateSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e;
(!n || n(A)) && (yield r ? A : A.fullpath());
let g = /* @__PURE__ */ new Set([A]);
for (let C of g) {
let I = C.readdirSync();
for (let E of I) {
(!n || n(E)) && (yield r ? E : E.fullpath());
let Q = E;
if (E.isSymbolicLink()) {
if (!(i && (Q = E.realpathSync())))
continue;
Q.isUnknown() && Q.lstatSync();
}
Q.shouldWalk(g, o) && g.add(Q);
}
}
}
stream(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = new Nt({ objectMode: !0 });
(!n || n(A)) && g.write(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set(), I = [A], E = 0, Q = /* @__PURE__ */ s(() => {
let B = !1;
for (; !B; ) {
let p = I.shift();
if (!p) {
E === 0 && g.end();
return;
}
E++, C.add(p);
let w = /* @__PURE__ */ s((N, k, _ = !1) => {
if (N)
return g.emit("error", N);
if (i && !_) {
let L = [];
for (let J of k)
J.isSymbolicLink() && L.push(J.realpath().then((U) => U?.isUnknown() ? U.lstat() : U));
if (L.length) {
Promise.all(L).then(() => w(null, k, !0));
return;
}
}
for (let L of k)
L && (!n || n(L)) && (g.write(r ? L : L.fullpath()) || (B = !0));
E--;
for (let L of k) {
let J = L.realpathCached() || L;
J.shouldWalk(C, o) && I.push(J);
}
B && !g.flowing ? g.once("drain", Q) : D || Q();
}, "onReaddir"), D = !0;
p.readdirCB(w, !0), D = !1;
}
}, "process");
return Q(), g;
}
streamSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof qA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = new Nt({ objectMode: !0 }), C = /* @__PURE__ */ new Set();
(!n || n(A)) && g.write(r ? A : A.fullpath());
let I = [A], E = 0, Q = /* @__PURE__ */ s(() => {
let B = !1;
for (; !B; ) {
let p = I.shift();
if (!p) {
E === 0 && g.end();
return;
}
E++, C.add(p);
let w = p.readdirSync();
for (let D of w)
(!n || n(D)) && (g.write(r ? D : D.fullpath()) || (B = !0));
E--;
for (let D of w) {
let N = D;
if (D.isSymbolicLink()) {
if (!(i && (N = D.realpathSync())))
continue;
N.isUnknown() && N.lstatSync();
}
N.shouldWalk(C, o) && I.push(N);
}
}
B && !g.flowing && g.once("drain", Q);
}, "process");
return Q(), g;
}
chdir(A = this.cwd) {
let e = this.cwd;
this.cwd = typeof A == "string" ? this.cwd.resolve(A) : A, this.cwd[CE](e);
}
}, Fr = class extends Gs {
static {
s(this, "PathScurryWin32");
}
/**
* separator for generating path strings
*/
sep = "\\";
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !0 } = e;
super(A, Lg, "\\", { ...e, nocase: r }), this.nocase = r;
for (let i = this.cwd; i; i = i.parent)
i.nocase = this.nocase;
}
/**
* @internal
*/
parseRootPath(A) {
return Lg.parse(A).root.toUpperCase();
}
/**
* @internal
*/
newRoot(A) {
return new Us(this.rootPath, He, void 0, this.roots, this.nocase, this.childrenCache(), { fs: A });
}
/**
* Return true if the provided path string is an absolute path
*/
isAbsolute(A) {
return A.startsWith("/") || A.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(A);
}
}, kr = class extends Gs {
static {
s(this, "PathScurryPosix");
}
/**
* separator for generating path strings
*/
sep = "/";
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !1 } = e;
super(A, nk, "/", { ...e, nocase: r }), this.nocase = r;
}
/**
* @internal
*/
parseRootPath(A) {
return "/";
}
/**
* @internal
*/
newRoot(A) {
return new _s(this.rootPath, He, void 0, this.roots, this.nocase, this.childrenCache(), { fs: A });
}
/**
* Return true if the provided path string is an absolute path
*/
isAbsolute(A) {
return A.startsWith("/");
}
}, Si = class extends kr {
static {
s(this, "PathScurryDarwin");
}
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !0 } = e;
super(A, { ...e, nocase: r });
}
}, KH = process.platform === "win32" ? Us : _s, cE = process.platform === "win32" ? Fr : process.platform === "darwin" ? Si : kr;
// ../node_modules/glob/dist/esm/pattern.js
var wk = /* @__PURE__ */ s((t) => t.length >= 1, "isPatternList"), mk = /* @__PURE__ */ s((t) => t.length >= 1, "isGlobList"), br = class t {
static {
s(this, "Pattern");
}
#A;
#e;
#t;
length;
#r;
#n;
#I;
#o;
#c;
#g;
#a = !0;
constructor(A, e, r, i) {
if (!wk(A))
throw new TypeError("empty pattern list");
if (!mk(e))
throw new TypeError("empty glob list");
if (e.length !== A.length)
throw new TypeError("mismatched pattern list and glob list lengths");
if (this.length = A.length, r < 0 || r >= this.length)
throw new TypeError("index out of range");
if (this.#A = A, this.#e = e, this.#t = r, this.#r = i, this.#t === 0) {
if (this.isUNC()) {
let [n, o, g, C, ...I] = this.#A, [E, Q, B, p, ...w] = this.#e;
I[0] === "" && (I.shift(), w.shift());
let D = [n, o, g, C, ""].join("/"), N = [E, Q, B, p, ""].join("/");
this.#A = [D, ...I], this.#e = [N, ...w], this.length = this.#A.length;
} else if (this.isDrive() || this.isAbsolute()) {
let [n, ...o] = this.#A, [g, ...C] = this.#e;
o[0] === "" && (o.shift(), C.shift());
let I = n + "/", E = g + "/";
this.#A = [I, ...o], this.#e = [E, ...C], this.length = this.#A.length;
}
}
}
/**
* The first entry in the parsed list of patterns
*/
pattern() {
return this.#A[this.#t];
}
/**
* true of if pattern() returns a string
*/
isString() {
return typeof this.#A[this.#t] == "string";
}
/**
* true of if pattern() returns GLOBSTAR
*/
isGlobstar() {
return this.#A[this.#t] === HA;
}
/**
* true if pattern() returns a regexp
*/
isRegExp() {
return this.#A[this.#t] instanceof RegExp;
}
/**
* The /-joined set of glob parts that make up this pattern
*/
globString() {
return this.#I = this.#I || (this.#t === 0 ? this.isAbsolute() ? this.#e[0] + this.#e.slice(1).join("/") : this.#e.join("/") : this.#e.slice(
this.#t).join("/"));
}
/**
* true if there are more pattern parts after this one
*/
hasMore() {
return this.length > this.#t + 1;
}
/**
* The rest of the pattern after this part, or null if this is the end
*/
rest() {
return this.#n !== void 0 ? this.#n : this.hasMore() ? (this.#n = new t(this.#A, this.#e, this.#t + 1, this.#r), this.#n.#g = this.#g, this.#n.#c =
this.#c, this.#n.#o = this.#o, this.#n) : this.#n = null;
}
/**
* true if the pattern represents a //unc/path/ on windows
*/
isUNC() {
let A = this.#A;
return this.#c !== void 0 ? this.#c : this.#c = this.#r === "win32" && this.#t === 0 && A[0] === "" && A[1] === "" && typeof A[2] == "st\
ring" && !!A[2] && typeof A[3] == "string" && !!A[3];
}
// pattern like C:/...
// split = ['C:', ...]
// XXX: would be nice to handle patterns like `c:*` to test the cwd
// in c: for *, but I don't know of a way to even figure out what that
// cwd is without actually chdir'ing into it?
/**
* True if the pattern starts with a drive letter on Windows
*/
isDrive() {
let A = this.#A;
return this.#o !== void 0 ? this.#o : this.#o = this.#r === "win32" && this.#t === 0 && this.length > 1 && typeof A[0] == "string" && /^[a-z]:$/i.
test(A[0]);
}
// pattern = '/' or '/...' or '/x/...'
// split = ['', ''] or ['', ...] or ['', 'x', ...]
// Drive and UNC both considered absolute on windows
/**
* True if the pattern is rooted on an absolute path
*/
isAbsolute() {
let A = this.#A;
return this.#g !== void 0 ? this.#g : this.#g = A[0] === "" && A.length > 1 || this.isDrive() || this.isUNC();
}
/**
* consume the root of the pattern, and return it
*/
root() {
let A = this.#A[0];
return typeof A == "string" && this.isAbsolute() && this.#t === 0 ? A : "";
}
/**
* Check to see if the current globstar pattern is allowed to follow
* a symbolic link.
*/
checkFollowGlobstar() {
return !(this.#t === 0 || !this.isGlobstar() || !this.#a);
}
/**
* Mark that the current globstar pattern is following a symbolic link
*/
markFollowGlobstar() {
return this.#t === 0 || !this.isGlobstar() || !this.#a ? !1 : (this.#a = !1, !0);
}
};
// ../node_modules/glob/dist/esm/ignore.js
var yk = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Nr = class {
static {
s(this, "Ignore");
}
relative;
relativeChildren;
absolute;
absoluteChildren;
platform;
mmopts;
constructor(A, { nobrace: e, nocase: r, noext: i, noglobstar: n, platform: o = yk }) {
this.relative = [], this.absolute = [], this.relativeChildren = [], this.absoluteChildren = [], this.platform = o, this.mmopts = {
dot: !0,
nobrace: e,
nocase: r,
noext: i,
noglobstar: n,
optimizationLevel: 2,
platform: o,
nocomment: !0,
nonegate: !0
};
for (let g of A)
this.add(g);
}
add(A) {
let e = new Ie(A, this.mmopts);
for (let r = 0; r < e.set.length; r++) {
let i = e.set[r], n = e.globParts[r];
if (!i || !n)
throw new Error("invalid pattern object");
for (; i[0] === "." && n[0] === "."; )
i.shift(), n.shift();
let o = new br(i, n, 0, this.platform), g = new Ie(o.globString(), this.mmopts), C = n[n.length - 1] === "**", I = o.isAbsolute();
I ? this.absolute.push(g) : this.relative.push(g), C && (I ? this.absoluteChildren.push(g) : this.relativeChildren.push(g));
}
}
ignored(A) {
let e = A.fullpath(), r = `${e}/`, i = A.relative() || ".", n = `${i}/`;
for (let o of this.relative)
if (o.match(i) || o.match(n))
return !0;
for (let o of this.absolute)
if (o.match(e) || o.match(r))
return !0;
return !1;
}
childrenIgnored(A) {
let e = A.fullpath() + "/", r = (A.relative() || ".") + "/";
for (let i of this.relativeChildren)
if (i.match(r))
return !0;
for (let i of this.absoluteChildren)
if (i.match(e))
return !0;
return !1;
}
};
// ../node_modules/glob/dist/esm/processor.js
var Yg = class t {
static {
s(this, "HasWalkedCache");
}
store;
constructor(A = /* @__PURE__ */ new Map()) {
this.store = A;
}
copy() {
return new t(new Map(this.store));
}
hasWalked(A, e) {
return this.store.get(A.fullpath())?.has(e.globString());
}
storeWalked(A, e) {
let r = A.fullpath(), i = this.store.get(r);
i ? i.add(e.globString()) : this.store.set(r, /* @__PURE__ */ new Set([e.globString()]));
}
}, Pg = class {
static {
s(this, "MatchRecord");
}
store = /* @__PURE__ */ new Map();
add(A, e, r) {
let i = (e ? 2 : 0) | (r ? 1 : 0), n = this.store.get(A);
this.store.set(A, n === void 0 ? i : i & n);
}
// match, absolute, ifdir
entries() {
return [...this.store.entries()].map(([A, e]) => [
A,
!!(e & 2),
!!(e & 1)
]);
}
}, Ug = class {
static {
s(this, "SubWalks");
}
store = /* @__PURE__ */ new Map();
add(A, e) {
if (!A.canReaddir())
return;
let r = this.store.get(A);
r ? r.find((i) => i.globString() === e.globString()) || r.push(e) : this.store.set(A, [e]);
}
get(A) {
let e = this.store.get(A);
if (!e)
throw new Error("attempting to walk unknown path");
return e;
}
entries() {
return this.keys().map((A) => [A, this.store.get(A)]);
}
keys() {
return [...this.store.keys()].filter((A) => A.canReaddir());
}
}, Ki = class t {
static {
s(this, "Processor");
}
hasWalkedCache;
matches = new Pg();
subwalks = new Ug();
patterns;
follow;
dot;
opts;
constructor(A, e) {
this.opts = A, this.follow = !!A.follow, this.dot = !!A.dot, this.hasWalkedCache = e ? e.copy() : new Yg();
}
processPatterns(A, e) {
this.patterns = e;
let r = e.map((i) => [A, i]);
for (let [i, n] of r) {
this.hasWalkedCache.storeWalked(i, n);
let o = n.root(), g = n.isAbsolute() && this.opts.absolute !== !1;
if (o) {
i = i.resolve(o === "/" && this.opts.root !== void 0 ? this.opts.root : o);
let Q = n.rest();
if (Q)
n = Q;
else {
this.matches.add(i, !0, !1);
continue;
}
}
if (i.isENOENT())
continue;
let C, I, E = !1;
for (; typeof (C = n.pattern()) == "string" && (I = n.rest()); )
i = i.resolve(C), n = I, E = !0;
if (C = n.pattern(), I = n.rest(), E) {
if (this.hasWalkedCache.hasWalked(i, n))
continue;
this.hasWalkedCache.storeWalked(i, n);
}
if (typeof C == "string") {
let Q = C === ".." || C === "" || C === ".";
this.matches.add(i.resolve(C), g, Q);
continue;
} else if (C === HA) {
(!i.isSymbolicLink() || this.follow || n.checkFollowGlobstar()) && this.subwalks.add(i, n);
let Q = I?.pattern(), B = I?.rest();
if (!I || (Q === "" || Q === ".") && !B)
this.matches.add(i, g, Q === "" || Q === ".");
else if (Q === "..") {
let p = i.parent || i;
B ? this.hasWalkedCache.hasWalked(p, B) || this.subwalks.add(p, B) : this.matches.add(p, g, !0);
}
} else C instanceof RegExp && this.subwalks.add(i, n);
}
return this;
}
subwalkTargets() {
return this.subwalks.keys();
}
child() {
return new t(this.opts, this.hasWalkedCache);
}
// return a new Processor containing the subwalks for each
// child entry, and a set of matches, and
// a hasWalkedCache that's a copy of this one
// then we're going to call
filterEntries(A, e) {
let r = this.subwalks.get(A), i = this.child();
for (let n of e)
for (let o of r) {
let g = o.isAbsolute(), C = o.pattern(), I = o.rest();
C === HA ? i.testGlobstar(n, o, I, g) : C instanceof RegExp ? i.testRegExp(n, C, I, g) : i.testString(n, C, I, g);
}
return i;
}
testGlobstar(A, e, r, i) {
if ((this.dot || !A.name.startsWith(".")) && (e.hasMore() || this.matches.add(A, i, !1), A.canReaddir() && (this.follow || !A.isSymbolicLink() ?
this.subwalks.add(A, e) : A.isSymbolicLink() && (r && e.checkFollowGlobstar() ? this.subwalks.add(A, r) : e.markFollowGlobstar() && this.
subwalks.add(A, e)))), r) {
let n = r.pattern();
if (typeof n == "string" && // dots and empty were handled already
n !== ".." && n !== "" && n !== ".")
this.testString(A, n, r.rest(), i);
else if (n === "..") {
let o = A.parent || A;
this.subwalks.add(o, r);
} else n instanceof RegExp && this.testRegExp(A, n, r.rest(), i);
}
}
testRegExp(A, e, r, i) {
e.test(A.name) && (r ? this.subwalks.add(A, r) : this.matches.add(A, i, !1));
}
testString(A, e, r, i) {
A.isNamed(e) && (r ? this.subwalks.add(A, r) : this.matches.add(A, i, !1));
}
};
// ../node_modules/glob/dist/esm/walker.js
var Dk = /* @__PURE__ */ s((t, A) => typeof t == "string" ? new Nr([t], A) : Array.isArray(t) ? new Nr(t, A) : t, "makeIgnore"), Js = class {
static {
s(this, "GlobUtil");
}
path;
patterns;
opts;
seen = /* @__PURE__ */ new Set();
paused = !1;
aborted = !1;
#A = [];
#e;
#t;
signal;
maxDepth;
includeChildMatches;
constructor(A, e, r) {
if (this.patterns = A, this.path = e, this.opts = r, this.#t = !r.posix && r.platform === "win32" ? "\\" : "/", this.includeChildMatches =
r.includeChildMatches !== !1, (r.ignore || !this.includeChildMatches) && (this.#e = Dk(r.ignore ?? [], r), !this.includeChildMatches && typeof this.#e.
add != "function")) {
let i = "cannot ignore child matches, ignore lacks add() method.";
throw new Error(i);
}
this.maxDepth = r.maxDepth || 1 / 0, r.signal && (this.signal = r.signal, this.signal.addEventListener("abort", () => {
this.#A.length = 0;
}));
}
#r(A) {
return this.seen.has(A) || !!this.#e?.ignored?.(A);
}
#n(A) {
return !!this.#e?.childrenIgnored?.(A);
}
// backpressure mechanism
pause() {
this.paused = !0;
}
resume() {
if (this.signal?.aborted)
return;
this.paused = !1;
let A;
for (; !this.paused && (A = this.#A.shift()); )
A();
}
onResume(A) {
this.signal?.aborted || (this.paused ? this.#A.push(A) : A());
}
// do the requisite realpath/stat checking, and return the path
// to add or undefined to filter it out.
async matchCheck(A, e) {
if (e && this.opts.nodir)
return;
let r;
if (this.opts.realpath) {
if (r = A.realpathCached() || await A.realpath(), !r)
return;
A = r;
}
let n = A.isUnknown() || this.opts.stat ? await A.lstat() : A;
if (this.opts.follow && this.opts.nodir && n?.isSymbolicLink()) {
let o = await n.realpath();
o && (o.isUnknown() || this.opts.stat) && await o.lstat();
}
return this.matchCheckTest(n, e);
}
matchCheckTest(A, e) {
return A && (this.maxDepth === 1 / 0 || A.depth() <= this.maxDepth) && (!e || A.canReaddir()) && (!this.opts.nodir || !A.isDirectory()) &&
(!this.opts.nodir || !this.opts.follow || !A.isSymbolicLink() || !A.realpathCached()?.isDirectory()) && !this.#r(A) ? A : void 0;
}
matchCheckSync(A, e) {
if (e && this.opts.nodir)
return;
let r;
if (this.opts.realpath) {
if (r = A.realpathCached() || A.realpathSync(), !r)
return;
A = r;
}
let n = A.isUnknown() || this.opts.stat ? A.lstatSync() : A;
if (this.opts.follow && this.opts.nodir && n?.isSymbolicLink()) {
let o = n.realpathSync();
o && (o?.isUnknown() || this.opts.stat) && o.lstatSync();
}
return this.matchCheckTest(n, e);
}
matchFinish(A, e) {
if (this.#r(A))
return;
if (!this.includeChildMatches && this.#e?.add) {
let n = `${A.relativePosix()}/**`;
this.#e.add(n);
}
let r = this.opts.absolute === void 0 ? e : this.opts.absolute;
this.seen.add(A);
let i = this.opts.mark && A.isDirectory() ? this.#t : "";
if (this.opts.withFileTypes)
this.matchEmit(A);
else if (r) {
let n = this.opts.posix ? A.fullpathPosix() : A.fullpath();
this.matchEmit(n + i);
} else {
let n = this.opts.posix ? A.relativePosix() : A.relative(), o = this.opts.dotRelative && !n.startsWith(".." + this.#t) ? "." + this.#t :
"";
this.matchEmit(n ? o + n + i : "." + i);
}
}
async match(A, e, r) {
let i = await this.matchCheck(A, r);
i && this.matchFinish(i, e);
}
matchSync(A, e, r) {
let i = this.matchCheckSync(A, r);
i && this.matchFinish(i, e);
}
walkCB(A, e, r) {
this.signal?.aborted && r(), this.walkCB2(A, e, new Ki(this.opts), r);
}
walkCB2(A, e, r, i) {
if (this.#n(A))
return i();
if (this.signal?.aborted && i(), this.paused) {
this.onResume(() => this.walkCB2(A, e, r, i));
return;
}
r.processPatterns(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || (n++, this.match(g, C, I).then(() => o()));
for (let g of r.subwalkTargets()) {
if (this.maxDepth !== 1 / 0 && g.depth() >= this.maxDepth)
continue;
n++;
let C = g.readdirCached();
g.calledReaddir() ? this.walkCB3(g, C, r, o) : g.readdirCB((I, E) => this.walkCB3(g, E, r, o), !0);
}
o();
}
walkCB3(A, e, r, i) {
r = r.filterEntries(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || (n++, this.match(g, C, I).then(() => o()));
for (let [g, C] of r.subwalks.entries())
n++, this.walkCB2(g, C, r.child(), o);
o();
}
walkCBSync(A, e, r) {
this.signal?.aborted && r(), this.walkCB2Sync(A, e, new Ki(this.opts), r);
}
walkCB2Sync(A, e, r, i) {
if (this.#n(A))
return i();
if (this.signal?.aborted && i(), this.paused) {
this.onResume(() => this.walkCB2Sync(A, e, r, i));
return;
}
r.processPatterns(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || this.matchSync(g, C, I);
for (let g of r.subwalkTargets()) {
if (this.maxDepth !== 1 / 0 && g.depth() >= this.maxDepth)
continue;
n++;
let C = g.readdirSync();
this.walkCB3Sync(g, C, r, o);
}
o();
}
walkCB3Sync(A, e, r, i) {
r = r.filterEntries(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || this.matchSync(g, C, I);
for (let [g, C] of r.subwalks.entries())
n++, this.walkCB2Sync(g, C, r.child(), o);
o();
}
}, Fi = class extends Js {
static {
s(this, "GlobWalker");
}
matches = /* @__PURE__ */ new Set();
constructor(A, e, r) {
super(A, e, r);
}
matchEmit(A) {
this.matches.add(A);
}
async walk() {
if (this.signal?.aborted)
throw this.signal.reason;
return this.path.isUnknown() && await this.path.lstat(), await new Promise((A, e) => {
this.walkCB(this.path, this.patterns, () => {
this.signal?.aborted ? e(this.signal.reason) : A(this.matches);
});
}), this.matches;
}
walkSync() {
if (this.signal?.aborted)
throw this.signal.reason;
return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => {
if (this.signal?.aborted)
throw this.signal.reason;
}), this.matches;
}
}, ki = class extends Js {
static {
s(this, "GlobStream");
}
results;
constructor(A, e, r) {
super(A, e, r), this.results = new Nt({
signal: this.signal,
objectMode: !0
}), this.results.on("drain", () => this.resume()), this.results.on("resume", () => this.resume());
}
matchEmit(A) {
this.results.write(A), this.results.flowing || this.pause();
}
stream() {
let A = this.path;
return A.isUnknown() ? A.lstat().then(() => {
this.walkCB(A, this.patterns, () => this.results.end());
}) : this.walkCB(A, this.patterns, () => this.results.end()), this.results;
}
streamSync() {
return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => this.results.end()), this.results;
}
};
// ../node_modules/glob/dist/esm/glob.js
var Kk = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Me = class {
static {
s(this, "Glob");
}
absolute;
cwd;
root;
dot;
dotRelative;
follow;
ignore;
magicalBraces;
mark;
matchBase;
maxDepth;
nobrace;
nocase;
nodir;
noext;
noglobstar;
pattern;
platform;
realpath;
scurry;
stat;
signal;
windowsPathsNoEscape;
withFileTypes;
includeChildMatches;
/**
* The options provided to the constructor.
*/
opts;
/**
* An array of parsed immutable {@link Pattern} objects.
*/
patterns;
/**
* All options are stored as properties on the `Glob` object.
*
* See {@link GlobOptions} for full options descriptions.
*
* Note that a previous `Glob` object can be passed as the
* `GlobOptions` to another `Glob` instantiation to re-use settings
* and caches with a new pattern.
*
* Traversal functions can be called multiple times to run the walk
* again.
*/
constructor(A, e) {
if (!e)
throw new TypeError("glob options required");
if (this.withFileTypes = !!e.withFileTypes, this.signal = e.signal, this.follow = !!e.follow, this.dot = !!e.dot, this.dotRelative = !!e.
dotRelative, this.nodir = !!e.nodir, this.mark = !!e.mark, e.cwd ? (e.cwd instanceof URL || e.cwd.startsWith("file://")) && (e.cwd = Sk(
e.cwd)) : this.cwd = "", this.cwd = e.cwd || "", this.root = e.root, this.magicalBraces = !!e.magicalBraces, this.nobrace = !!e.nobrace,
this.noext = !!e.noext, this.realpath = !!e.realpath, this.absolute = e.absolute, this.includeChildMatches = e.includeChildMatches !== !1,
this.noglobstar = !!e.noglobstar, this.matchBase = !!e.matchBase, this.maxDepth = typeof e.maxDepth == "number" ? e.maxDepth : 1 / 0, this.
stat = !!e.stat, this.ignore = e.ignore, this.withFileTypes && this.absolute !== void 0)
throw new Error("cannot set absolute and withFileTypes:true");
if (typeof A == "string" && (A = [A]), this.windowsPathsNoEscape = !!e.windowsPathsNoEscape || e.allowWindowsEscape === !1, this.windowsPathsNoEscape &&
(A = A.map((C) => C.replace(/\\/g, "/"))), this.matchBase) {
if (e.noglobstar)
throw new TypeError("base matching requires globstar");
A = A.map((C) => C.includes("/") ? C : `./**/${C}`);
}
if (this.pattern = A, this.platform = e.platform || Kk, this.opts = { ...e, platform: this.platform }, e.scurry) {
if (this.scurry = e.scurry, e.nocase !== void 0 && e.nocase !== e.scurry.nocase)
throw new Error("nocase option contradicts provided scurry option");
} else {
let C = e.platform === "win32" ? Fr : e.platform === "darwin" ? Si : e.platform ? kr : cE;
this.scurry = new C(this.cwd, {
nocase: e.nocase,
fs: e.fs
});
}
this.nocase = this.scurry.nocase;
let r = this.platform === "darwin" || this.platform === "win32", i = {
// default nocase based on platform
...e,
dot: this.dot,
matchBase: this.matchBase,
nobrace: this.nobrace,
nocase: this.nocase,
nocaseMagicOnly: r,
nocomment: !0,
noext: this.noext,
nonegate: !0,
optimizationLevel: 2,
platform: this.platform,
windowsPathsNoEscape: this.windowsPathsNoEscape,
debug: !!this.opts.debug
}, n = this.pattern.map((C) => new Ie(C, i)), [o, g] = n.reduce((C, I) => (C[0].push(...I.set), C[1].push(...I.globParts), C), [[], []]);
this.patterns = o.map((C, I) => {
let E = g[I];
if (!E)
throw new Error("invalid pattern object");
return new br(C, E, 0, this.platform);
});
}
async walk() {
return [
...await new Fi(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).walk()
];
}
walkSync() {
return [
...new Fi(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).walkSync()
];
}
stream() {
return new ki(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).stream();
}
streamSync() {
return new ki(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).streamSync();
}
/**
* Default sync iteration function. Returns a Generator that
* iterates over the results.
*/
iterateSync() {
return this.streamSync()[Symbol.iterator]();
}
[Symbol.iterator]() {
return this.iterateSync();
}
/**
* Default async iteration function. Returns an AsyncGenerator that
* iterates over the results.
*/
iterate() {
return this.stream()[Symbol.asyncIterator]();
}
[Symbol.asyncIterator]() {
return this.iterate();
}
};
// ../node_modules/glob/dist/esm/has-magic.js
var _g = /* @__PURE__ */ s((t, A = {}) => {
Array.isArray(t) || (t = [t]);
for (let e of t)
if (new Ie(e, A).hasMagic())
return !0;
return !1;
}, "hasMagic");
// ../node_modules/glob/dist/esm/index.js
function Ts(t, A = {}) {
return new Me(t, A).streamSync();
}
s(Ts, "globStreamSync");
function hE(t, A = {}) {
return new Me(t, A).stream();
}
s(hE, "globStream");
function Hs(t, A = {}) {
return new Me(t, A).walkSync();
}
s(Hs, "globSync");
async function IE(t, A = {}) {
return new Me(t, A).walk();
}
s(IE, "glob_");
function js(t, A = {}) {
return new Me(t, A).iterateSync();
}
s(js, "globIterateSync");
function lE(t, A = {}) {
return new Me(t, A).iterate();
}
s(lE, "globIterate");
var Fk = Ts, kk = Object.assign(hE, { sync: Ts }), bk = js, Nk = Object.assign(lE, {
sync: js
}), Mk = Object.assign(Hs, {
stream: Ts,
iterate: js
}), Os = Object.assign(IE, {
glob: IE,
globSync: Hs,
sync: Mk,
globStream: hE,
stream: kk,
globStreamSync: Ts,
streamSync: Fk,
globIterate: lE,
iterate: Nk,
globIterateSync: js,
iterateSync: bk,
Glob: Me,
hasMagic: _g,
escape: mr,
unescape: ke
});
Os.glob = Os;
// src/common/utils/validate-configuration-files.ts
Mr();
var uE = cA(ot(), 1);
async function qs(t, A) {
let e = `{${Array.from(fg).join(",")}}`, r = await Os(Ae(EE(t, `main${e}`)), {
cwd: A ?? process.cwd()
}), [i] = r;
if (r.length > 1 && Rk.warn(uE.dedent`
Multiple main files found in your configDir (${EE(t)}).
Storybook will use the first one found and ignore the others. Please remove the extra files.
`), !i)
throw new vk({ location: t });
}
s(qs, "validateConfigurationFiles");
// src/common/utils/load-custom-presets.ts
function BE({ configDir: t }) {
qs(t);
let A = Ii(Gg(t, "presets"));
if (Ii(Gg(t, "main"))) {
let r = hi(Gg(t, "main"));
if (r)
return [r];
}
return A || [];
}
s(BE, "loadCustomPresets");
// src/common/utils/safeResolve.ts
var pE = cA(Og(), 1);
var wE = /* @__PURE__ */ s((t, A) => {
try {
return (0, pE.default)(t, A);
} catch {
return;
}
}, "safeResolveFrom"), zs = /* @__PURE__ */ s((t) => {
try {
return v.resolve(t);
} catch {
return;
}
}, "safeResolve");
// src/common/utils/strip-abs-node-modules-path.ts
Mr();
import { posix as xk, sep as Yk } from "node:path";
function Pk(t) {
return xk.normalize(Ae(t));
}
s(Pk, "normalizePath");
function mE(t) {
let A = t.split(`node_modules${Yk}`);
return Pk(A[A.length - 1]);
}
s(mE, "stripAbsNodeModulesPath");
// src/common/presets.ts
var Ni = /* @__PURE__ */ s((t) => t != null && typeof t == "object" && Array.isArray(t) === !1, "isObject"), _k = /* @__PURE__ */ s((t) => typeof t ==
"function", "isFunction");
function Gk(t) {
return t.filter((A) => {
let e = typeof A == "string" ? A : A.name;
return !/@storybook[\\\\/]preset-typescript/.test(e);
});
}
s(Gk, "filterPresetsConfig");
function yE(t) {
let { dir: A, name: e, ext: r } = SE(t);
if (r === ".mjs")
return t;
let i = Tg(A, `${e}.mjs`);
if (zs(i))
return i;
if (r === ".cjs") {
let n = Tg(A, `${e}.js`);
if (zs(n))
return n;
}
return t;
}
s(yE, "resolvePathToESM");
function DE(t, A, e) {
return _k(t) ? [...t({ ...e, ...A })] : Array.isArray(t) ? [...t] : [];
}
s(DE, "resolvePresetFunction");
var Jk = /* @__PURE__ */ s((t, A, e) => {
let r = A.startsWith("/") ? zs : wE.bind(null, t), i = r(A);
if (i) {
let { dir: B, name: p } = SE(i);
if (A.match(/\/(manager|register(-panel)?)(\.(js|mjs|ts|tsx|jsx))?$/))
return {
type: "virtual",
name: A,
// we remove the extension
// this is a bit of a hack to try to find .mjs files
// node can only ever resolve .js files; it does not look at the exports field in package.json
managerEntries: [yE(Tg(B, p))]
};
if (A.match(/\/(preset)(\.(js|mjs|ts|tsx|jsx))?$/))
return {
type: "presets",
name: i
};
}
let n = /* @__PURE__ */ s((B) => {
if (r(`${A}${B}`))
return `${A}${B}`;
}, "checkExists"), o = /* @__PURE__ */ s((B, p) => {
let w = r(`${A}${B}`);
if (w)
return p ? yE(w) : w;
}, "absolutizeExport"), g = o("/manager", !0), C = o("/register", !0) || o("/register-panel", !0), I = n("/preview"), E = o("/preview", !0),
Q = o("/preset", !1);
if (!(g || I) && Q)
return {
type: "presets",
name: Q
};
if (g || C || I || Q) {
let B = [];
return g && B.push(g), !g && C && !Q && B.push(C), {
type: "virtual",
name: A,
...B.length ? { managerEntries: B } : {},
...I ? {
previewAnnotations: [
E ? {
// TODO: Evaluate if searching for node_modules in a yarn pnp environment is correct
bare: I.includes("node_modules") ? mE(I) : I,
absolute: E
} : I
]
} : {},
...Q ? { presets: [{ name: Q, options: e }] } : {}
};
}
if (i)
return {
type: "presets",
name: i
};
}, "resolveAddonName"), Ok = /* @__PURE__ */ s(({ configDir: t }) => (A) => {
let e = Ni(A) && A.options || void 0, r = Ni(A) ? A.name : A, i;
try {
i = Jk(t, r, e);
} catch {
bi.error(
`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/addons/writi\
ng-presets/
${A}`
);
return;
}
if (!i) {
bi.warn(`Could not resolve addon "${r}", skipping. Is it installed?`);
return;
}
return {
...e ? { options: e } : {},
...i
};
}, "map");
async function Tk(t) {
if (t.type === "virtual") {
let { type: e, name: r, ...i } = t;
return i;
}
let A = t.name ? t.name : t;
return dg(A);
}
s(Tk, "getContent");
async function Hk(t, A, e) {
let r = t.name ? t.name : t;
try {
let i = t.options ? t.options : {}, n = await Tk(t);
if (typeof n == "function" && (n = n(e, i)), Array.isArray(n))
return await Ws(n, A + 1, e);
if (Ni(n)) {
let { addons: o = [], presets: g = [], ...C } = n, I = /* @__PURE__ */ s((B) => !0, "filter");
e.isCritical !== !0 && (e.build?.test?.disabledAddons?.length || 0) > 0 && (I = /* @__PURE__ */ s((B) => {
let p = B.name ? B.name : B;
return !e.build?.test?.disabledAddons?.find((w) => p.includes(w));
}, "filter"));
let E = DE(
g,
i,
e
).filter(I), Q = DE(o, i, e).filter(
I
);
return [
...await Ws([...E], A + 1, e),
...await Ws(
[...Q.map(Ok(e))].filter(Boolean),
A + 1,
e
),
{
name: r,
preset: C,
options: i
}
];
}
throw new Error(KE.dedent`
${t} is not a valid preset
`);
} catch (i) {
if (e?.isCritical)
throw new Uk({
error: i,
presetName: r
});
let n = A > 0 ? ` Failed to load preset: ${JSON.stringify(t)} on level ${A}` : ` Failed to load preset: ${JSON.stringify(t)}`;
return bi.warn(n), bi.error(i), [];
}
}
s(Hk, "loadPreset");
async function Ws(t, A, e) {
return !t || !Array.isArray(t) || !t.length ? [] : (await Promise.all(
t.map(async (r) => Hk(r, A, e))
)).reduce((r, i) => r.concat(i), []);
}
s(Ws, "loadPresets");
function FE(t, A, e, r, i) {
let n = new Promise((o) => o(e));
return t.length ? t.reduce((o, { preset: g, options: C }) => {
let I = g[A];
if (!I)
return o;
if (typeof I == "function") {
let E = I, Q = {
preset: g,
combinedOptions: {
...i,
...r,
...C,
presetsList: t,
presets: {
apply: /* @__PURE__ */ s(async (B, p, w = {}) => FE(t, B, p, w, i), "apply")
}
}
};
return o.then(
(B) => E.call(Q.preset, B, Q.combinedOptions)
);
}
return o.then((E) => Array.isArray(E) && Array.isArray(I) ? [...E, ...I] : Ni(E) && Ni(I) ? { ...E, ...I } : I);
}, n) : n;
}
s(FE, "applyPresets");
async function jk(t, A) {
let e = await Ws(t, 0, A);
return {
apply: /* @__PURE__ */ s(async (r, i, n = {}) => FE(e, r, i, n, A), "apply")
};
}
s(jk, "getPresets");
async function _1(t) {
let { corePresets: A = [], overridePresets: e = [], ...r } = t, i = [
...A,
...BE(t),
...e
], n = Gk(i);
return n.length < i.length && bi.warn(
"Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."
), jk(n, r);
}
s(_1, "loadAllPresets");
// src/common/utils/file-cache.ts
import { createHash as kE, randomBytes as qk } from "node:crypto";
import { mkdirSync as Hg, readFileSync as zk, readdirSync as Wk, rmSync as bE, writeFileSync as Vk } from "node:fs";
import { readFile as NE, readdir as ME, rm as RE, writeFile as Xk } from "node:fs/promises";
import { tmpdir as Zk } from "node:os";
import { join as Mi } from "node:path";
var Vs = class {
static {
s(this, "FileSystemCache");
}
constructor(A = {}) {
this.prefix = (A.ns || A.prefix || "") + "-", this.hash_alg = A.hash_alg || "sha256", this.cache_dir = A.basePath || Mi(Zk(), qk(15).toString(
"base64").replace(/\//g, "-")), this.ttl = A.ttl || 0, kE(this.hash_alg), Hg(this.cache_dir, { recursive: !0 });
}
generateHash(A) {
return Mi(this.cache_dir, this.prefix + kE(this.hash_alg).update(A).digest("hex"));
}
isExpired(A, e) {
return A.ttl != null && e > A.ttl;
}
parseCacheData(A, e) {
let r = JSON.parse(A);
return this.isExpired(r, Date.now()) ? e : r.content;
}
parseSetData(A, e, r = {}) {
let i = r.ttl ?? this.ttl;
return JSON.stringify({ key: A, content: e, ...i && { ttl: Date.now() + i * 1e3 } });
}
async get(A, e) {
try {
let r = await NE(this.generateHash(A), "utf8");
return this.parseCacheData(r, e);
} catch {
return e;
}
}
getSync(A, e) {
try {
let r = zk(this.generateHash(A), "utf8");
return this.parseCacheData(r, e);
} catch {
return e;
}
}
async set(A, e, r = {}) {
let i = typeof r == "number" ? { ttl: r } : r;
Hg(this.cache_dir, { recursive: !0 }), await Xk(this.generateHash(A), this.parseSetData(A, e, i), {
encoding: i.encoding || "utf8"
});
}
setSync(A, e, r = {}) {
let i = typeof r == "number" ? { ttl: r } : r;
Hg(this.cache_dir, { recursive: !0 }), Vk(this.generateHash(A), this.parseSetData(A, e, i), {
encoding: i.encoding || "utf8"
});
}
async setMany(A, e) {
await Promise.all(A.map((r) => this.set(r.key, r.content ?? r.value, e)));
}
setManySync(A, e) {
A.forEach((r) => this.setSync(r.key, r.content ?? r.value, e));
}
async remove(A) {
await RE(this.generateHash(A), { force: !0 });
}
removeSync(A) {
bE(this.generateHash(A), { force: !0 });
}
async clear() {
let A = await ME(this.cache_dir);
await Promise.all(
A.filter((e) => e.startsWith(this.prefix)).map((e) => RE(Mi(this.cache_dir, e), { force: !0 }))
);
}
clearSync() {
Wk(this.cache_dir).filter((A) => A.startsWith(this.prefix)).forEach((A) => bE(Mi(this.cache_dir, A), { force: !0 }));
}
async getAll() {
let A = Date.now(), e = await ME(this.cache_dir);
return (await Promise.all(
e.filter((i) => i.startsWith(this.prefix)).map((i) => NE(Mi(this.cache_dir, i), "utf8"))
)).map((i) => JSON.parse(i)).filter((i) => i.content && !this.isExpired(i, A));
}
async load() {
return {
files: (await this.getAll()).map((e) => ({
path: this.generateHash(e.key),
value: e.content,
key: e.key
}))
};
}
};
function jg(t) {
return new Vs(t);
}
s(jg, "createFileSystemCache");
// src/common/utils/resolve-path-in-sb-cache.ts
import { join as WE } from "node:path";
// node_modules/find-cache-dir/index.js
var zE = cA(LE(), 1);
import ab from "node:process";
import Ri from "node:path";
import en from "node:fs";
// ../node_modules/pkg-dir/index.js
import gb from "node:path";
// ../node_modules/pkg-dir/node_modules/find-up/index.js
import An from "node:path";
import { fileURLToPath as ib } from "node:url";
// ../node_modules/locate-path/index.js
import PE from "node:process";
import UE from "node:path";
import xE, { promises as YE } from "node:fs";
import { fileURLToPath as rb } from "node:url";
// ../node_modules/locate-path/node_modules/p-limit/index.js
zg();
function Xs(t) {
if (!((Number.isInteger(t) || t === Number.POSITIVE_INFINITY) && t > 0))
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
let A = new tr(), e = 0, r = /* @__PURE__ */ s(() => {
e--, A.size > 0 && A.dequeue()();
}, "next"), i = /* @__PURE__ */ s(async (g, C, I) => {
e++;
let E = (async () => g(...I))();
C(E);
try {
await E;
} catch {
}
r();
}, "run"), n = /* @__PURE__ */ s((g, C, I) => {
A.enqueue(i.bind(void 0, g, C, I)), (async () => (await Promise.resolve(), e < t && A.size > 0 && A.dequeue()()))();
}, "enqueue"), o = /* @__PURE__ */ s((g, ...C) => new Promise((I) => {
n(g, I, C);
}), "generator");
return Object.defineProperties(o, {
activeCount: {
get: /* @__PURE__ */ s(() => e, "get")
},
pendingCount: {
get: /* @__PURE__ */ s(() => A.size, "get")
},
clearQueue: {
value: /* @__PURE__ */ s(() => {
A.clear();
}, "value")
}
}), o;
}
s(Xs, "pLimit");
// ../node_modules/locate-path/node_modules/p-locate/index.js
var Zs = class extends Error {
static {
s(this, "EndError");
}
constructor(A) {
super(), this.value = A;
}
}, eb = /* @__PURE__ */ s(async (t, A) => A(await t), "testElement"), tb = /* @__PURE__ */ s(async (t) => {
let A = await Promise.all(t);
if (A[1] === !0)
throw new Zs(A[0]);
return !1;
}, "finder");
async function Wg(t, A, {
concurrency: e = Number.POSITIVE_INFINITY,
preserveOrder: r = !0
} = {}) {
let i = Xs(e), n = [...t].map((g) => [g, i(eb, g, A)]), o = Xs(r ? 1 : Number.POSITIVE_INFINITY);
try {
await Promise.all(n.map((g) => o(tb, g)));
} catch (g) {
if (g instanceof Zs)
return g.value;
throw g;
}
}
s(Wg, "pLocate");
// ../node_modules/locate-path/index.js
var _E = {
directory: "isDirectory",
file: "isFile"
};
function GE(t) {
if (!Object.hasOwnProperty.call(_E, t))
throw new Error(`Invalid type specified: ${t}`);
}
s(GE, "checkType");
var JE = /* @__PURE__ */ s((t, A) => A[_E[t]](), "matchType"), OE = /* @__PURE__ */ s((t) => t instanceof URL ? rb(t) : t, "toPath");
async function $s(t, {
cwd: A = PE.cwd(),
type: e = "file",
allowSymlinks: r = !0,
concurrency: i,
preserveOrder: n
} = {}) {
GE(e), A = OE(A);
let o = r ? YE.stat : YE.lstat;
return Wg(t, async (g) => {
try {
let C = await o(UE.resolve(A, g));
return JE(e, C);
} catch {
return !1;
}
}, { concurrency: i, preserveOrder: n });
}
s($s, "locatePath");
function Rr(t, {
cwd: A = PE.cwd(),
type: e = "file",
allowSymlinks: r = !0
} = {}) {
GE(e), A = OE(A);
let i = r ? xE.statSync : xE.lstatSync;
for (let n of t)
try {
let o = i(UE.resolve(A, n), {
throwIfNoEntry: !1
});
if (!o)
continue;
if (JE(e, o))
return n;
} catch {
}
}
s(Rr, "locatePathSync");
// ../node_modules/pkg-dir/node_modules/path-exists/index.js
import lj, { promises as Ej } from "node:fs";
// ../node_modules/pkg-dir/node_modules/find-up/index.js
var sb = /* @__PURE__ */ s((t) => t instanceof URL ? ib(t) : t, "toPath"), nb = Symbol("findUpStop");
function ob(t, A = {}) {
let e = An.resolve(sb(A.cwd) || ""), { root: r } = An.parse(e), i = A.stopAt || r, n = A.limit || Number.POSITIVE_INFINITY, o = [t].flat(),
g = /* @__PURE__ */ s((I) => {
if (typeof t != "function")
return Rr(o, I);
let E = t(I.cwd);
return typeof E == "string" ? Rr([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = g({ ...A, cwd: e });
if (I === nb || (I && C.push(An.resolve(e, I)), e === i || C.length >= n))
break;
e = An.dirname(e);
}
return C;
}
s(ob, "findUpMultipleSync");
function TE(t, A = {}) {
return ob(t, { ...A, limit: 1 })[0];
}
s(TE, "findUpSync");
// ../node_modules/pkg-dir/index.js
function HE({ cwd: t } = {}) {
let A = TE("package.json", { cwd: t });
return A && gb.dirname(A);
}
s(HE, "packageDirectorySync");
// node_modules/find-cache-dir/index.js
var { env: Vg, cwd: Cb } = ab, jE = /* @__PURE__ */ s((t) => {
try {
return en.accessSync(t, en.constants.W_OK), !0;
} catch {
return !1;
}
}, "isWritable");
function qE(t, A) {
return A.create && en.mkdirSync(t, { recursive: !0 }), t;
}
s(qE, "useDirectory");
function cb(t) {
let A = Ri.join(t, "node_modules");
if (!(!jE(A) && (en.existsSync(A) || !jE(Ri.join(t)))))
return A;
}
s(cb, "getNodeModuleDirectory");
function Xg(t = {}) {
if (Vg.CACHE_DIR && !["true", "false", "1", "0"].includes(Vg.CACHE_DIR))
return qE(Ri.join(Vg.CACHE_DIR, t.name), t);
let { cwd: A = Cb(), files: e } = t;
if (e) {
if (!Array.isArray(e))
throw new TypeError(`Expected \`files\` option to be an array, got \`${typeof e}\`.`);
A = (0, zE.default)(e.map((i) => Ri.resolve(A, i)));
}
if (A = HE({ cwd: A }), !(!A || !cb(A)))
return qE(Ri.join(A, "node_modules", ".cache", t.name), t);
}
s(Xg, "findCacheDirectory");
// src/common/utils/resolve-path-in-sb-cache.ts
function VE(t, A = "default") {
let e = Xg({ name: "storybook" });
return e ||= WE(process.cwd(), "node_modules", ".cache", "storybook"), WE(e, A, t);
}
s(VE, "resolvePathInStorybookCache");
// src/common/utils/cache.ts
var Oj = jg({
basePath: VE("dev-server"),
ns: "storybook"
// Optional. A grouping namespace for items.
});
// src/common/utils/cli.ts
import { createWriteStream as RM, mkdirSync as vM } from "node:fs";
import { readFile as LM, realpath as xM, rename as YM, rm as PM, writeFile as UM } from "node:fs/promises";
import _M from "node:os";
import { join as Ja } from "node:path";
// ../node_modules/crypto-random-string/index.js
import { promisify as Ib } from "util";
import Zg from "crypto";
var XE = Ib(Zg.randomBytes), hb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~".split(""), lb = "0123456789".split(""),
Eb = "CDEHKMPRTUWXY012458".split(""), ub = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~".
split(""), Bb = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""), Qb = /* @__PURE__ */ s((t, A) => {
let e = A.length, r = Math.floor(65536 / e) * e - 1, i = 2 * Math.ceil(1.1 * t), n = "", o = 0;
for (; o < t; ) {
let g = Zg.randomBytes(i), C = 0;
for (; C < i && o < t; ) {
let I = g.readUInt16LE(C);
C += 2, !(I > r) && (n += A[I % e], o++);
}
}
return n;
}, "generateForCustomCharacters"), fb = /* @__PURE__ */ s(async (t, A) => {
let e = A.length, r = Math.floor(65536 / e) * e - 1, i = 2 * Math.ceil(1.1 * t), n = "", o = 0;
for (; o < t; ) {
let g = await XE(i), C = 0;
for (; C < i && o < t; ) {
let I = g.readUInt16LE(C);
C += 2, !(I > r) && (n += A[I % e], o++);
}
}
return n;
}, "generateForCustomCharactersAsync"), db = /* @__PURE__ */ s((t, A, e) => Zg.randomBytes(t).toString(A).slice(0, e), "generateRandomBytes"),
pb = /* @__PURE__ */ s(async (t, A, e) => (await XE(t)).toString(A).slice(0, e), "generateRandomBytesAsync"), wb = /* @__PURE__ */ new Set([
void 0,
"hex",
"base64",
"url-safe",
"numeric",
"distinguishable",
"ascii-printable",
"alphanumeric"
]), ZE = /* @__PURE__ */ s((t, A) => ({ length: e, type: r, characters: i }) => {
if (!(e >= 0 && Number.isFinite(e)))
throw new TypeError("Expected a `length` to be a non-negative finite number");
if (r !== void 0 && i !== void 0)
throw new TypeError("Expected either `type` or `characters`");
if (i !== void 0 && typeof i != "string")
throw new TypeError("Expected `characters` to be string");
if (!wb.has(r))
throw new TypeError(`Unknown type: ${r}`);
if (r === void 0 && i === void 0 && (r = "hex"), r === "hex" || r === void 0 && i === void 0)
return A(Math.ceil(e * 0.5), "hex", e);
if (r === "base64")
return A(Math.ceil(e * 0.75), "base64", e);
if (r === "url-safe")
return t(e, hb);
if (r === "numeric")
return t(e, lb);
if (r === "distinguishable")
return t(e, Eb);
if (r === "ascii-printable")
return t(e, ub);
if (r === "alphanumeric")
return t(e, Bb);
if (i.length === 0)
throw new TypeError("Expected `characters` string length to be greater than or equal to 1");
if (i.length > 65536)
throw new TypeError("Expected `characters` string length to be less or equal to 65536");
return t(e, i.split(""));
}, "createGenerator"), $E = ZE(Qb, db);
$E.async = ZE(fb, pb);
var Au = $E;
// ../node_modules/unique-string/index.js
function $g() {
return Au({ length: 32 });
}
s($g, "uniqueString");
// src/common/satellite-addons.ts
var eu = [
"@storybook/test-runner",
"@chromatic-com/storybook",
"@storybook/addon-designs",
"@storybook/addon-svelte-csf",
"@storybook/addon-coverage",
"@storybook/addon-webpack5-compiler-babel",
"@storybook/addon-webpack5-compiler-swc",
// Storybook for React Native related packages
// TODO: For Storybook 10, we should check about possible automigrations
"@storybook/addon-ondevice-actions",
"@storybook/addon-ondevice-backgrounds",
"@storybook/addon-ondevice-controls",
"@storybook/addon-ondevice-notes",
"@storybook/react-native"
];
// src/common/utils/get-storybook-info.ts
import { existsSync as zB, readFileSync as WB } from "node:fs";
import { dirname as FM, join as kM } from "node:path";
// src/common/js-package-manager/JsPackageManager.ts
import { readFileSync as Kn, writeFileSync as yM } from "node:fs";
import { dirname as Ji, isAbsolute as DM, join as SM, resolve as OB } from "node:path";
import { logger as Ct, prompt as TB } from "storybook/internal/node-logger";
// node_modules/execa/index.js
var bB = cA(aa(), 1);
import { Buffer as aM } from "node:buffer";
import CM from "node:path";
import va from "node:child_process";
import Bn from "node:process";
// ../node_modules/strip-final-newline/index.js
function Ca(t) {
let A = typeof t == "string" ? `
` : 10, e = typeof t == "string" ? "\r" : 13;
return t[t.length - 1] === A && (t = t.slice(0, -1)), t[t.length - 1] === e && (t = t.slice(0, -1)), t;
}
s(Ca, "stripFinalNewline");
// node_modules/npm-run-path/index.js
import sn from "node:process";
import vi from "node:path";
import { fileURLToPath as Ou } from "node:url";
// node_modules/path-key/index.js
function rn(t = {}) {
let {
env: A = process.env,
platform: e = process.platform
} = t;
return e !== "win32" ? "PATH" : Object.keys(A).reverse().find((r) => r.toUpperCase() === "PATH") || "Path";
}
s(rn, "pathKey");
// node_modules/npm-run-path/index.js
var Wb = /* @__PURE__ */ s(({
cwd: t = sn.cwd(),
path: A = sn.env[rn()],
preferLocal: e = !0,
execPath: r = sn.execPath,
addExecPath: i = !0
} = {}) => {
let n = t instanceof URL ? Ou(t) : t, o = vi.resolve(n), g = [];
return e && Vb(g, o), i && Xb(g, r, o), [...g, A].join(vi.delimiter);
}, "npmRunPath"), Vb = /* @__PURE__ */ s((t, A) => {
let e;
for (; e !== A; )
t.push(vi.join(A, "node_modules/.bin")), e = A, A = vi.resolve(A, "..");
}, "applyPreferLocal"), Xb = /* @__PURE__ */ s((t, A, e) => {
let r = A instanceof URL ? Ou(A) : A;
t.push(vi.resolve(e, r, ".."));
}, "applyExecPath"), Tu = /* @__PURE__ */ s(({ env: t = sn.env, ...A } = {}) => {
t = { ...t };
let e = rn({ env: t });
return A.path = t[e], t[e] = Wb(A), t;
}, "npmRunPathEnv");
// node_modules/mimic-fn/index.js
var Zb = /* @__PURE__ */ s((t, A, e, r) => {
if (e === "length" || e === "prototype" || e === "arguments" || e === "caller")
return;
let i = Object.getOwnPropertyDescriptor(t, e), n = Object.getOwnPropertyDescriptor(A, e);
!$b(i, n) && r || Object.defineProperty(t, e, n);
}, "copyProperty"), $b = /* @__PURE__ */ s(function(t, A) {
return t === void 0 || t.configurable || t.writable === A.writable && t.enumerable === A.enumerable && t.configurable === A.configurable &&
(t.writable || t.value === A.value);
}, "canCopyProperty"), AN = /* @__PURE__ */ s((t, A) => {
let e = Object.getPrototypeOf(A);
e !== Object.getPrototypeOf(t) && Object.setPrototypeOf(t, e);
}, "changePrototype"), eN = /* @__PURE__ */ s((t, A) => `/* Wrapped ${t}*/
${A}`, "wrappedToString"), tN = Object.getOwnPropertyDescriptor(Function.prototype, "toString"), rN = Object.getOwnPropertyDescriptor(Function.
prototype.toString, "name"), iN = /* @__PURE__ */ s((t, A, e) => {
let r = e === "" ? "" : `with ${e.trim()}() `, i = eN.bind(null, r, A.toString());
Object.defineProperty(i, "name", rN), Object.defineProperty(t, "toString", { ...tN, value: i });
}, "changeToString");
function ca(t, A, { ignoreNonConfigurable: e = !1 } = {}) {
let { name: r } = t;
for (let i of Reflect.ownKeys(A))
Zb(t, A, i, e);
return AN(t, A), iN(t, A, r), t;
}
s(ca, "mimicFunction");
// node_modules/onetime/index.js
var nn = /* @__PURE__ */ new WeakMap(), Hu = /* @__PURE__ */ s((t, A = {}) => {
if (typeof t != "function")
throw new TypeError("Expected a function");
let e, r = 0, i = t.displayName || t.name || "<anonymous>", n = /* @__PURE__ */ s(function(...o) {
if (nn.set(n, ++r), r === 1)
e = t.apply(this, o), t = null;
else if (A.throw === !0)
throw new Error(`Function \`${i}\` can only be called once`);
return e;
}, "onetime");
return ca(n, t), nn.set(n, r), n;
}, "onetime");
Hu.callCount = (t) => {
if (!nn.has(t))
throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);
return nn.get(t);
};
var ju = Hu;
// node_modules/execa/lib/error.js
import lN from "node:process";
// node_modules/human-signals/build/src/main.js
import { constants as gN } from "node:os";
// node_modules/human-signals/build/src/realtime.js
var qu = /* @__PURE__ */ s(() => {
let t = Ia - zu + 1;
return Array.from({ length: t }, sN);
}, "getRealtimeSignals"), sN = /* @__PURE__ */ s((t, A) => ({
name: `SIGRT${A + 1}`,
number: zu + A,
action: "terminate",
description: "Application-specific signal (realtime)",
standard: "posix"
}), "getRealtimeSignal"), zu = 34, Ia = 64;
// node_modules/human-signals/build/src/signals.js
import { constants as nN } from "node:os";
// node_modules/human-signals/build/src/core.js
var Wu = [
{
name: "SIGHUP",
number: 1,
action: "terminate",
description: "Terminal closed",
standard: "posix"
},
{
name: "SIGINT",
number: 2,
action: "terminate",
description: "User interruption with CTRL-C",
standard: "ansi"
},
{
name: "SIGQUIT",
number: 3,
action: "core",
description: "User interruption with CTRL-\\",
standard: "posix"
},
{
name: "SIGILL",
number: 4,
action: "core",
description: "Invalid machine instruction",
standard: "ansi"
},
{
name: "SIGTRAP",
number: 5,
action: "core",
description: "Debugger breakpoint",
standard: "posix"
},
{
name: "SIGABRT",
number: 6,
action: "core",
description: "Aborted",
standard: "ansi"
},
{
name: "SIGIOT",
number: 6,
action: "core",
description: "Aborted",
standard: "bsd"
},
{
name: "SIGBUS",
number: 7,
action: "core",
description: "Bus error due to misaligned, non-existing address or paging error",
standard: "bsd"
},
{
name: "SIGEMT",
number: 7,
action: "terminate",
description: "Command should be emulated but is not implemented",
standard: "other"
},
{
name: "SIGFPE",
number: 8,
action: "core",
description: "Floating point arithmetic error",
standard: "ansi"
},
{
name: "SIGKILL",
number: 9,
action: "terminate",
description: "Forced termination",
standard: "posix",
forced: !0
},
{
name: "SIGUSR1",
number: 10,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGSEGV",
number: 11,
action: "core",
description: "Segmentation fault",
standard: "ansi"
},
{
name: "SIGUSR2",
number: 12,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGPIPE",
number: 13,
action: "terminate",
description: "Broken pipe or socket",
standard: "posix"
},
{
name: "SIGALRM",
number: 14,
action: "terminate",
description: "Timeout or timer",
standard: "posix"
},
{
name: "SIGTERM",
number: 15,
action: "terminate",
description: "Termination",
standard: "ansi"
},
{
name: "SIGSTKFLT",
number: 16,
action: "terminate",
description: "Stack is empty or overflowed",
standard: "other"
},
{
name: "SIGCHLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "posix"
},
{
name: "SIGCLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "other"
},
{
name: "SIGCONT",
number: 18,
action: "unpause",
description: "Unpaused",
standard: "posix",
forced: !0
},
{
name: "SIGSTOP",
number: 19,
action: "pause",
description: "Paused",
standard: "posix",
forced: !0
},
{
name: "SIGTSTP",
number: 20,
action: "pause",
description: 'Paused using CTRL-Z or "suspend"',
standard: "posix"
},
{
name: "SIGTTIN",
number: 21,
action: "pause",
description: "Background process cannot read terminal input",
standard: "posix"
},
{
name: "SIGBREAK",
number: 21,
action: "terminate",
description: "User interruption with CTRL-BREAK",
standard: "other"
},
{
name: "SIGTTOU",
number: 22,
action: "pause",
description: "Background process cannot write to terminal output",
standard: "posix"
},
{
name: "SIGURG",
number: 23,
action: "ignore",
description: "Socket received out-of-band data",
standard: "bsd"
},
{
name: "SIGXCPU",
number: 24,
action: "core",
description: "Process timed out",
standard: "bsd"
},
{
name: "SIGXFSZ",
number: 25,
action: "core",
description: "File too big",
standard: "bsd"
},
{
name: "SIGVTALRM",
number: 26,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGPROF",
number: 27,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGWINCH",
number: 28,
action: "ignore",
description: "Terminal window size changed",
standard: "bsd"
},
{
name: "SIGIO",
number: 29,
action: "terminate",
description: "I/O is available",
standard: "other"
},
{
name: "SIGPOLL",
number: 29,
action: "terminate",
description: "Watched event",
standard: "other"
},
{
name: "SIGINFO",
number: 29,
action: "ignore",
description: "Request for process information",
standard: "other"
},
{
name: "SIGPWR",
number: 30,
action: "terminate",
description: "Device running out of power",
standard: "systemv"
},
{
name: "SIGSYS",
number: 31,
action: "core",
description: "Invalid system call",
standard: "other"
},
{
name: "SIGUNUSED",
number: 31,
action: "terminate",
description: "Invalid system call",
standard: "other"
}
];
// node_modules/human-signals/build/src/signals.js
var ha = /* @__PURE__ */ s(() => {
let t = qu();
return [...Wu, ...t].map(oN);
}, "getSignals"), oN = /* @__PURE__ */ s(({
name: t,
number: A,
description: e,
action: r,
forced: i = !1,
standard: n
}) => {
let {
signals: { [t]: o }
} = nN, g = o !== void 0;
return { name: t, number: g ? o : A, description: e, supported: g, action: r, forced: i, standard: n };
}, "normalizeSignal");
// node_modules/human-signals/build/src/main.js
var aN = /* @__PURE__ */ s(() => {
let t = ha();
return Object.fromEntries(t.map(CN));
}, "getSignalsByName"), CN = /* @__PURE__ */ s(({
name: t,
number: A,
description: e,
supported: r,
action: i,
forced: n,
standard: o
}) => [t, { name: t, number: A, description: e, supported: r, action: i, forced: n, standard: o }], "getSignalByName"), Vu = aN(), cN = /* @__PURE__ */ s(
() => {
let t = ha(), A = Ia + 1, e = Array.from(
{ length: A },
(r, i) => IN(i, t)
);
return Object.assign({}, ...e);
}, "getSignalsByNumber"), IN = /* @__PURE__ */ s((t, A) => {
let e = hN(t, A);
if (e === void 0)
return {};
let { name: r, description: i, supported: n, action: o, forced: g, standard: C } = e;
return {
[t]: {
name: r,
number: t,
description: i,
supported: n,
action: o,
forced: g,
standard: C
}
};
}, "getSignalByNumber"), hN = /* @__PURE__ */ s((t, A) => {
let e = A.find(({ name: r }) => gN.signals[r] === t);
return e !== void 0 ? e : A.find((r) => r.number === t);
}, "findSignalByNumber"), Vq = cN();
// node_modules/execa/lib/error.js
var EN = /* @__PURE__ */ s(({ timedOut: t, timeout: A, errorCode: e, signal: r, signalDescription: i, exitCode: n, isCanceled: o }) => t ? `\
timed out after ${A} milliseconds` : o ? "was canceled" : e !== void 0 ? `failed with ${e}` : r !== void 0 ? `was killed with ${r} (${i})` :
n !== void 0 ? `failed with exit code ${n}` : "failed", "getErrorPrefix"), Li = /* @__PURE__ */ s(({
stdout: t,
stderr: A,
all: e,
error: r,
signal: i,
exitCode: n,
command: o,
escapedCommand: g,
timedOut: C,
isCanceled: I,
killed: E,
parsed: { options: { timeout: Q, cwd: B = lN.cwd() } }
}) => {
n = n === null ? void 0 : n, i = i === null ? void 0 : i;
let p = i === void 0 ? void 0 : Vu[i].description, w = r && r.code, N = `Command ${EN({ timedOut: C, timeout: Q, errorCode: w, signal: i, signalDescription: p,
exitCode: n, isCanceled: I })}: ${o}`, k = Object.prototype.toString.call(r) === "[object Error]", _ = k ? `${N}
${r.message}` : N, L = [_, A, t].filter(Boolean).join(`
`);
return k ? (r.originalMessage = r.message, r.message = L) : r = new Error(L), r.shortMessage = _, r.command = o, r.escapedCommand = g, r.exitCode =
n, r.signal = i, r.signalDescription = p, r.stdout = t, r.stderr = A, r.cwd = B, e !== void 0 && (r.all = e), "bufferedData" in r && delete r.
bufferedData, r.failed = !0, r.timedOut = !!C, r.isCanceled = I, r.killed = E && !C, r;
}, "makeError");
// node_modules/execa/lib/stdio.js
var on = ["stdin", "stdout", "stderr"], uN = /* @__PURE__ */ s((t) => on.some((A) => t[A] !== void 0), "hasAlias"), Xu = /* @__PURE__ */ s((t) => {
if (!t)
return;
let { stdio: A } = t;
if (A === void 0)
return on.map((r) => t[r]);
if (uN(t))
throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${on.map((r) => `\`${r}\``).join(", ")}`);
if (typeof A == "string")
return A;
if (!Array.isArray(A))
throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof A}\``);
let e = Math.max(A.length, on.length);
return Array.from({ length: e }, (r, i) => A[i]);
}, "normalizeStdio");
// node_modules/execa/lib/kill.js
import fN from "node:os";
// node_modules/signal-exit/dist/mjs/signals.js
var rr = [];
rr.push("SIGHUP", "SIGINT", "SIGTERM");
process.platform !== "win32" && rr.push(
"SIGALRM",
"SIGABRT",
"SIGVTALRM",
"SIGXCPU",
"SIGXFSZ",
"SIGUSR2",
"SIGTRAP",
"SIGSYS",
"SIGQUIT",
"SIGIOT"
// should detect profiler and enable/disable accordingly.
// see #21
// 'SIGPROF'
);
process.platform === "linux" && rr.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
// node_modules/signal-exit/dist/mjs/index.js
var gn = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && typeof t.removeListener == "function" && typeof t.emit == "function" && typeof t.
reallyExit == "function" && typeof t.listeners == "function" && typeof t.kill == "function" && typeof t.pid == "number" && typeof t.on == "f\
unction", "processOk"), la = Symbol.for("signal-exit emitter"), Ea = globalThis, BN = Object.defineProperty.bind(Object), ua = class {
static {
s(this, "Emitter");
}
emitted = {
afterExit: !1,
exit: !1
};
listeners = {
afterExit: [],
exit: []
};
count = 0;
id = Math.random();
constructor() {
if (Ea[la])
return Ea[la];
BN(Ea, la, {
value: this,
writable: !1,
enumerable: !1,
configurable: !1
});
}
on(A, e) {
this.listeners[A].push(e);
}
removeListener(A, e) {
let r = this.listeners[A], i = r.indexOf(e);
i !== -1 && (i === 0 && r.length === 1 ? r.length = 0 : r.splice(i, 1));
}
emit(A, e, r) {
if (this.emitted[A])
return !1;
this.emitted[A] = !0;
let i = !1;
for (let n of this.listeners[A])
i = n(e, r) === !0 || i;
return A === "exit" && (i = this.emit("afterExit", e, r) || i), i;
}
}, an = class {
static {
s(this, "SignalExitBase");
}
}, QN = /* @__PURE__ */ s((t) => ({
onExit(A, e) {
return t.onExit(A, e);
},
load() {
return t.load();
},
unload() {
return t.unload();
}
}), "signalExitWrap"), Ba = class extends an {
static {
s(this, "SignalExitFallback");
}
onExit() {
return () => {
};
}
load() {
}
unload() {
}
}, Qa = class extends an {
static {
s(this, "SignalExit");
}
// "SIGHUP" throws an `ENOSYS` error on Windows,
// so use a supported signal instead
/* c8 ignore start */
#A = fa.platform === "win32" ? "SIGINT" : "SIGHUP";
/* c8 ignore stop */
#e = new ua();
#t;
#r;
#n;
#I = {};
#o = !1;
constructor(A) {
super(), this.#t = A, this.#I = {};
for (let e of rr)
this.#I[e] = () => {
let r = this.#t.listeners(e), { count: i } = this.#e, n = A;
if (typeof n.__signal_exit_emitter__ == "object" && typeof n.__signal_exit_emitter__.count == "number" && (i += n.__signal_exit_emitter__.
count), r.length === i) {
this.unload();
let o = this.#e.emit("exit", null, e), g = e === "SIGHUP" ? this.#A : e;
o || A.kill(A.pid, g);
}
};
this.#n = A.reallyExit, this.#r = A.emit;
}
onExit(A, e) {
if (!gn(this.#t))
return () => {
};
this.#o === !1 && this.load();
let r = e?.alwaysLast ? "afterExit" : "exit";
return this.#e.on(r, A), () => {
this.#e.removeListener(r, A), this.#e.listeners.exit.length === 0 && this.#e.listeners.afterExit.length === 0 && this.unload();
};
}
load() {
if (!this.#o) {
this.#o = !0, this.#e.count += 1;
for (let A of rr)
try {
let e = this.#I[A];
e && this.#t.on(A, e);
} catch {
}
this.#t.emit = (A, ...e) => this.#g(A, ...e), this.#t.reallyExit = (A) => this.#c(A);
}
}
unload() {
this.#o && (this.#o = !1, rr.forEach((A) => {
let e = this.#I[A];
if (!e)
throw new Error("Listener not defined for signal: " + A);
try {
this.#t.removeListener(A, e);
} catch {
}
}), this.#t.emit = this.#r, this.#t.reallyExit = this.#n, this.#e.count -= 1);
}
#c(A) {
return gn(this.#t) ? (this.#t.exitCode = A || 0, this.#e.emit("exit", this.#t.exitCode, null), this.#n.call(this.#t, this.#t.exitCode)) :
0;
}
#g(A, ...e) {
let r = this.#r;
if (A === "exit" && gn(this.#t)) {
typeof e[0] == "number" && (this.#t.exitCode = e[0]);
let i = r.call(this.#t, A, ...e);
return this.#e.emit("exit", this.#t.exitCode, null), i;
} else
return r.call(this.#t, A, ...e);
}
}, fa = globalThis.process, {
/**
* Called when the process is exiting, whether via signal, explicit
* exit, or running out of stuff to do.
*
* If the global process object is not suitable for instrumentation,
* then this will be a no-op.
*
* Returns a function that may be used to unload signal-exit.
*/
onExit: Zu,
/**
* Load the listeners. Likely you never need to call this, unless
* doing a rather deep integration with signal-exit functionality.
* Mostly exposed for the benefit of testing.
*
* @internal
*/
load: o8,
/**
* Unload the listeners. Likely you never need to call this, unless
* doing a rather deep integration with signal-exit functionality.
* Mostly exposed for the benefit of testing.
*
* @internal
*/
unload: g8
} = QN(gn(fa) ? new Qa(fa) : new Ba());
// node_modules/execa/lib/kill.js
var dN = 1e3 * 5, $u = /* @__PURE__ */ s((t, A = "SIGTERM", e = {}) => {
let r = t(A);
return pN(t, A, e, r), r;
}, "spawnedKill"), pN = /* @__PURE__ */ s((t, A, e, r) => {
if (!wN(A, e, r))
return;
let i = yN(e), n = setTimeout(() => {
t("SIGKILL");
}, i);
n.unref && n.unref();
}, "setKillTimeout"), wN = /* @__PURE__ */ s((t, { forceKillAfterTimeout: A }, e) => mN(t) && A !== !1 && e, "shouldForceKill"), mN = /* @__PURE__ */ s(
(t) => t === fN.constants.signals.SIGTERM || typeof t == "string" && t.toUpperCase() === "SIGTERM", "isSigterm"), yN = /* @__PURE__ */ s(({ forceKillAfterTimeout: t = !0 }) => {
if (t === !0)
return dN;
if (!Number.isFinite(t) || t < 0)
throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);
return t;
}, "getForceKillAfterTimeout"), AB = /* @__PURE__ */ s((t, A) => {
t.kill() && (A.isCanceled = !0);
}, "spawnedCancel"), DN = /* @__PURE__ */ s((t, A, e) => {
t.kill(A), e(Object.assign(new Error("Timed out"), { timedOut: !0, signal: A }));
}, "timeoutKill"), eB = /* @__PURE__ */ s((t, { timeout: A, killSignal: e = "SIGTERM" }, r) => {
if (A === 0 || A === void 0)
return r;
let i, n = new Promise((g, C) => {
i = setTimeout(() => {
DN(t, e, C);
}, A);
}), o = r.finally(() => {
clearTimeout(i);
});
return Promise.race([n, o]);
}, "setupTimeout"), tB = /* @__PURE__ */ s(({ timeout: t }) => {
if (t !== void 0 && (!Number.isFinite(t) || t < 0))
throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);
}, "validateTimeout"), rB = /* @__PURE__ */ s(async (t, { cleanup: A, detached: e }, r) => {
if (!A || e)
return r;
let i = Zu(() => {
t.kill();
});
return r.finally(() => {
i();
});
}, "setExitHandler");
// node_modules/execa/lib/pipe.js
import { createWriteStream as SN } from "node:fs";
import { ChildProcess as KN } from "node:child_process";
// node_modules/is-stream/index.js
function Cn(t) {
return t !== null && typeof t == "object" && typeof t.pipe == "function";
}
s(Cn, "isStream");
function da(t) {
return Cn(t) && t.writable !== !1 && typeof t._write == "function" && typeof t._writableState == "object";
}
s(da, "isWritableStream");
// node_modules/execa/lib/pipe.js
var FN = /* @__PURE__ */ s((t) => t instanceof KN && typeof t.then == "function", "isExecaChildProcess"), pa = /* @__PURE__ */ s((t, A, e) => {
if (typeof e == "string")
return t[A].pipe(SN(e)), t;
if (da(e))
return t[A].pipe(e), t;
if (!FN(e))
throw new TypeError("The second argument must be a string, a stream or an Execa child process.");
if (!da(e.stdin))
throw new TypeError("The target child process's stdin must be available.");
return t[A].pipe(e.stdin), e;
}, "pipeToTarget"), iB = /* @__PURE__ */ s((t) => {
t.stdout !== null && (t.pipeStdout = pa.bind(void 0, t, "stdout")), t.stderr !== null && (t.pipeStderr = pa.bind(void 0, t, "stderr")), t.
all !== void 0 && (t.pipeAll = pa.bind(void 0, t, "all"));
}, "addPipeMethods");
// node_modules/execa/lib/stream.js
import { createReadStream as qN, readFileSync as zN } from "node:fs";
import { setTimeout as WN } from "node:timers/promises";
// node_modules/get-stream/source/contents.js
var xi = /* @__PURE__ */ s(async (t, { init: A, convertChunk: e, getSize: r, truncateChunk: i, addChunk: n, getFinalChunk: o, finalize: g }, {
maxBuffer: C = Number.POSITIVE_INFINITY } = {}) => {
if (!bN(t))
throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");
let I = A();
I.length = 0;
try {
for await (let E of t) {
let Q = NN(E), B = e[Q](E, I);
oB({ convertedChunk: B, state: I, getSize: r, truncateChunk: i, addChunk: n, maxBuffer: C });
}
return kN({ state: I, convertChunk: e, getSize: r, truncateChunk: i, addChunk: n, getFinalChunk: o, maxBuffer: C }), g(I);
} catch (E) {
throw E.bufferedData = g(I), E;
}
}, "getStreamContents"), kN = /* @__PURE__ */ s(({ state: t, getSize: A, truncateChunk: e, addChunk: r, getFinalChunk: i, maxBuffer: n }) => {
let o = i(t);
o !== void 0 && oB({ convertedChunk: o, state: t, getSize: A, truncateChunk: e, addChunk: r, maxBuffer: n });
}, "appendFinalChunk"), oB = /* @__PURE__ */ s(({ convertedChunk: t, state: A, getSize: e, truncateChunk: r, addChunk: i, maxBuffer: n }) => {
let o = e(t), g = A.length + o;
if (g <= n) {
sB(t, A, i, g);
return;
}
let C = r(t, n - A.length);
throw C !== void 0 && sB(C, A, i, n), new cn();
}, "appendChunk"), sB = /* @__PURE__ */ s((t, A, e, r) => {
A.contents = e(t, A, r), A.length = r;
}, "addNewChunk"), bN = /* @__PURE__ */ s((t) => typeof t == "object" && t !== null && typeof t[Symbol.asyncIterator] == "function", "isAsyn\
cIterable"), NN = /* @__PURE__ */ s((t) => {
let A = typeof t;
if (A === "string")
return "string";
if (A !== "object" || t === null)
return "others";
if (globalThis.Buffer?.isBuffer(t))
return "buffer";
let e = nB.call(t);
return e === "[object ArrayBuffer]" ? "arrayBuffer" : e === "[object DataView]" ? "dataView" : Number.isInteger(t.byteLength) && Number.isInteger(
t.byteOffset) && nB.call(t.buffer) === "[object ArrayBuffer]" ? "typedArray" : "others";
}, "getChunkType"), { toString: nB } = Object.prototype, cn = class extends Error {
static {
s(this, "MaxBufferError");
}
name = "MaxBufferError";
constructor() {
super("maxBuffer exceeded");
}
};
// node_modules/get-stream/source/utils.js
var wa = /* @__PURE__ */ s((t) => t, "identity"), ma = /* @__PURE__ */ s(() => {
}, "noop"), ya = /* @__PURE__ */ s(({ contents: t }) => t, "getContentsProp"), In = /* @__PURE__ */ s((t) => {
throw new Error(`Streams in object mode are not supported: ${String(t)}`);
}, "throwObjectStream"), hn = /* @__PURE__ */ s((t) => t.length, "getLengthProp");
// node_modules/get-stream/source/array-buffer.js
async function Da(t, A) {
return xi(t, _N, A);
}
s(Da, "getStreamAsArrayBuffer");
var MN = /* @__PURE__ */ s(() => ({ contents: new ArrayBuffer(0) }), "initArrayBuffer"), RN = /* @__PURE__ */ s((t) => vN.encode(t), "useTex\
tEncoder"), vN = new TextEncoder(), gB = /* @__PURE__ */ s((t) => new Uint8Array(t), "useUint8Array"), aB = /* @__PURE__ */ s((t) => new Uint8Array(
t.buffer, t.byteOffset, t.byteLength), "useUint8ArrayWithOffset"), LN = /* @__PURE__ */ s((t, A) => t.slice(0, A), "truncateArrayBufferChunk"),
xN = /* @__PURE__ */ s((t, { contents: A, length: e }, r) => {
let i = IB() ? PN(A, r) : YN(A, r);
return new Uint8Array(i).set(t, e), i;
}, "addArrayBufferChunk"), YN = /* @__PURE__ */ s((t, A) => {
if (A <= t.byteLength)
return t;
let e = new ArrayBuffer(cB(A));
return new Uint8Array(e).set(new Uint8Array(t), 0), e;
}, "resizeArrayBufferSlow"), PN = /* @__PURE__ */ s((t, A) => {
if (A <= t.maxByteLength)
return t.resize(A), t;
let e = new ArrayBuffer(A, { maxByteLength: cB(A) });
return new Uint8Array(e).set(new Uint8Array(t), 0), e;
}, "resizeArrayBuffer"), cB = /* @__PURE__ */ s((t) => CB ** Math.ceil(Math.log(t) / Math.log(CB)), "getNewContentsLength"), CB = 2, UN = /* @__PURE__ */ s(
({ contents: t, length: A }) => IB() ? t : t.slice(0, A), "finalizeArrayBuffer"), IB = /* @__PURE__ */ s(() => "resize" in ArrayBuffer.prototype,
"hasArrayBufferResize"), _N = {
init: MN,
convertChunk: {
string: RN,
buffer: gB,
arrayBuffer: gB,
dataView: aB,
typedArray: aB,
others: In
},
getSize: hn,
truncateChunk: LN,
addChunk: xN,
getFinalChunk: ma,
finalize: UN
};
// node_modules/get-stream/source/buffer.js
async function ln(t, A) {
if (!("Buffer" in globalThis))
throw new Error("getStreamAsBuffer() is only supported in Node.js");
try {
return hB(await Da(t, A));
} catch (e) {
throw e.bufferedData !== void 0 && (e.bufferedData = hB(e.bufferedData)), e;
}
}
s(ln, "getStreamAsBuffer");
var hB = /* @__PURE__ */ s((t) => globalThis.Buffer.from(t), "arrayBufferToNodeBuffer");
// node_modules/get-stream/source/string.js
async function Sa(t, A) {
return xi(t, HN, A);
}
s(Sa, "getStreamAsString");
var GN = /* @__PURE__ */ s(() => ({ contents: "", textDecoder: new TextDecoder() }), "initString"), En = /* @__PURE__ */ s((t, { textDecoder: A }) => A.
decode(t, { stream: !0 }), "useTextDecoder"), JN = /* @__PURE__ */ s((t, { contents: A }) => A + t, "addStringChunk"), ON = /* @__PURE__ */ s(
(t, A) => t.slice(0, A), "truncateStringChunk"), TN = /* @__PURE__ */ s(({ textDecoder: t }) => {
let A = t.decode();
return A === "" ? void 0 : A;
}, "getFinalStringChunk"), HN = {
init: GN,
convertChunk: {
string: wa,
buffer: En,
arrayBuffer: En,
dataView: En,
typedArray: En,
others: In
},
getSize: hn,
truncateChunk: ON,
addChunk: JN,
getFinalChunk: TN,
finalize: ya
};
// node_modules/execa/lib/stream.js
var uB = cA(EB(), 1);
var BB = /* @__PURE__ */ s((t) => {
if (t !== void 0)
throw new TypeError("The `input` and `inputFile` options cannot be both set.");
}, "validateInputOptions"), VN = /* @__PURE__ */ s(({ input: t, inputFile: A }) => typeof A != "string" ? t : (BB(t), zN(A)), "getInputSync"),
QB = /* @__PURE__ */ s((t) => {
let A = VN(t);
if (Cn(A))
throw new TypeError("The `input` option cannot be a stream in sync mode");
return A;
}, "handleInputSync"), XN = /* @__PURE__ */ s(({ input: t, inputFile: A }) => typeof A != "string" ? t : (BB(t), qN(A)), "getInput"), fB = /* @__PURE__ */ s(
(t, A) => {
let e = XN(A);
e !== void 0 && (Cn(e) ? e.pipe(t.stdin) : t.stdin.end(e));
}, "handleInput"), dB = /* @__PURE__ */ s((t, { all: A }) => {
if (!A || !t.stdout && !t.stderr)
return;
let e = (0, uB.default)();
return t.stdout && e.add(t.stdout), t.stderr && e.add(t.stderr), e;
}, "makeAllStream"), Ka = /* @__PURE__ */ s(async (t, A) => {
if (!(!t || A === void 0)) {
await WN(0), t.destroy();
try {
return await A;
} catch (e) {
return e.bufferedData;
}
}
}, "getBufferedData"), Fa = /* @__PURE__ */ s((t, { encoding: A, buffer: e, maxBuffer: r }) => {
if (!(!t || !e))
return A === "utf8" || A === "utf-8" ? Sa(t, { maxBuffer: r }) : A === null || A === "buffer" ? ln(t, { maxBuffer: r }) : ZN(t, r, A);
}, "getStreamPromise"), ZN = /* @__PURE__ */ s(async (t, A, e) => (await ln(t, { maxBuffer: A })).toString(e), "applyEncoding"), pB = /* @__PURE__ */ s(
async ({ stdout: t, stderr: A, all: e }, { encoding: r, buffer: i, maxBuffer: n }, o) => {
let g = Fa(t, { encoding: r, buffer: i, maxBuffer: n }), C = Fa(A, { encoding: r, buffer: i, maxBuffer: n }), I = Fa(e, { encoding: r, buffer: i,
maxBuffer: n * 2 });
try {
return await Promise.all([o, g, C, I]);
} catch (E) {
return Promise.all([
{ error: E, signal: E.signal, timedOut: E.timedOut },
Ka(t, g),
Ka(A, C),
Ka(e, I)
]);
}
}, "getSpawnedResult");
// node_modules/execa/lib/promise.js
var $N = (async () => {
})().constructor.prototype, AM = ["then", "catch", "finally"].map((t) => [
t,
Reflect.getOwnPropertyDescriptor($N, t)
]), ka = /* @__PURE__ */ s((t, A) => {
for (let [e, r] of AM) {
let i = typeof A == "function" ? (...n) => Reflect.apply(r.value, A(), n) : r.value.bind(A);
Reflect.defineProperty(t, e, { ...r, value: i });
}
}, "mergePromise"), wB = /* @__PURE__ */ s((t) => new Promise((A, e) => {
t.on("exit", (r, i) => {
A({ exitCode: r, signal: i });
}), t.on("error", (r) => {
e(r);
}), t.stdin && t.stdin.on("error", (r) => {
e(r);
});
}), "getSpawnedPromise");
// node_modules/execa/lib/command.js
import { Buffer as eM } from "node:buffer";
import { ChildProcess as tM } from "node:child_process";
var DB = /* @__PURE__ */ s((t, A = []) => Array.isArray(A) ? [t, ...A] : [t], "normalizeArgs"), rM = /^[\w.-]+$/, iM = /* @__PURE__ */ s((t) => typeof t !=
"string" || rM.test(t) ? t : `"${t.replaceAll('"', '\\"')}"`, "escapeArg"), ba = /* @__PURE__ */ s((t, A) => DB(t, A).join(" "), "joinComman\
d"), Na = /* @__PURE__ */ s((t, A) => DB(t, A).map((e) => iM(e)).join(" "), "getEscapedCommand"), SB = / +/g, KB = /* @__PURE__ */ s((t) => {
let A = [];
for (let e of t.trim().split(SB)) {
let r = A.at(-1);
r && r.endsWith("\\") ? A[A.length - 1] = `${r.slice(0, -1)} ${e}` : A.push(e);
}
return A;
}, "parseCommand"), mB = /* @__PURE__ */ s((t) => {
let A = typeof t;
if (A === "string")
return t;
if (A === "number")
return String(t);
if (A === "object" && t !== null && !(t instanceof tM) && "stdout" in t) {
let e = typeof t.stdout;
if (e === "string")
return t.stdout;
if (eM.isBuffer(t.stdout))
return t.stdout.toString();
throw new TypeError(`Unexpected "${e}" stdout in template expression`);
}
throw new TypeError(`Unexpected "${A}" in template expression`);
}, "parseExpression"), yB = /* @__PURE__ */ s((t, A, e) => e || t.length === 0 || A.length === 0 ? [...t, ...A] : [
...t.slice(0, -1),
`${t.at(-1)}${A[0]}`,
...A.slice(1)
], "concatTokens"), sM = /* @__PURE__ */ s(({ templates: t, expressions: A, tokens: e, index: r, template: i }) => {
let n = i ?? t.raw[r], o = n.split(SB).filter(Boolean), g = yB(
e,
o,
n.startsWith(" ")
);
if (r === A.length)
return g;
let C = A[r], I = Array.isArray(C) ? C.map((E) => mB(E)) : [mB(C)];
return yB(
g,
I,
n.endsWith(" ")
);
}, "parseTemplate"), Ma = /* @__PURE__ */ s((t, A) => {
let e = [];
for (let [r, i] of t.entries())
e = sM({ templates: t, expressions: A, tokens: e, index: r, template: i });
return e;
}, "parseTemplates");
// node_modules/execa/lib/verbose.js
import { debuglog as nM } from "node:util";
import oM from "node:process";
var FB = nM("execa").enabled, un = /* @__PURE__ */ s((t, A) => String(t).padStart(A, "0"), "padField"), gM = /* @__PURE__ */ s(() => {
let t = /* @__PURE__ */ new Date();
return `${un(t.getHours(), 2)}:${un(t.getMinutes(), 2)}:${un(t.getSeconds(), 2)}.${un(t.getMilliseconds(), 3)}`;
}, "getTimestamp"), Ra = /* @__PURE__ */ s((t, { verbose: A }) => {
A && oM.stderr.write(`[${gM()}] ${t}
`);
}, "logCommand");
// node_modules/execa/index.js
var cM = 1e3 * 1e3 * 100, IM = /* @__PURE__ */ s(({ env: t, extendEnv: A, preferLocal: e, localDir: r, execPath: i }) => {
let n = A ? { ...Bn.env, ...t } : t;
return e ? Tu({ env: n, cwd: r, execPath: i }) : n;
}, "getEnv"), NB = /* @__PURE__ */ s((t, A, e = {}) => {
let r = bB.default._parse(t, A, e);
return t = r.command, A = r.args, e = r.options, e = {
maxBuffer: cM,
buffer: !0,
stripFinalNewline: !0,
extendEnv: !0,
preferLocal: !1,
localDir: e.cwd || Bn.cwd(),
execPath: Bn.execPath,
encoding: "utf8",
reject: !0,
cleanup: !0,
all: !1,
windowsHide: !0,
verbose: FB,
...e
}, e.env = IM(e), e.stdio = Xu(e), Bn.platform === "win32" && CM.basename(t, ".exe") === "cmd" && A.unshift("/q"), { file: t, args: A, options: e,
parsed: r };
}, "handleArguments"), Yi = /* @__PURE__ */ s((t, A, e) => typeof A != "string" && !aM.isBuffer(A) ? e === void 0 ? void 0 : "" : t.stripFinalNewline ?
Ca(A) : A, "handleOutput");
function La(t, A, e) {
let r = NB(t, A, e), i = ba(t, A), n = Na(t, A);
Ra(n, r.options), tB(r.options);
let o;
try {
o = va.spawn(r.file, r.args, r.options);
} catch (p) {
let w = new va.ChildProcess(), D = Promise.reject(Li({
error: p,
stdout: "",
stderr: "",
all: "",
command: i,
escapedCommand: n,
parsed: r,
timedOut: !1,
isCanceled: !1,
killed: !1
}));
return ka(w, D), w;
}
let g = wB(o), C = eB(o, r.options, g), I = rB(o, r.options, C), E = { isCanceled: !1 };
o.kill = $u.bind(null, o.kill.bind(o)), o.cancel = AB.bind(null, o, E);
let B = ju(/* @__PURE__ */ s(async () => {
let [{ error: p, exitCode: w, signal: D, timedOut: N }, k, _, L] = await pB(o, r.options, I), J = Yi(r.options, k), U = Yi(r.options, _),
$ = Yi(r.options, L);
if (p || w !== 0 || D !== null) {
let q = Li({
error: p,
exitCode: w,
signal: D,
stdout: J,
stderr: U,
all: $,
command: i,
escapedCommand: n,
parsed: r,
timedOut: N,
isCanceled: E.isCanceled || (r.options.signal ? r.options.signal.aborted : !1),
killed: o.killed
});
if (!r.options.reject)
return q;
throw q;
}
return {
command: i,
escapedCommand: n,
exitCode: 0,
stdout: J,
stderr: U,
all: $,
failed: !1,
timedOut: !1,
isCanceled: !1,
killed: !1
};
}, "handlePromise"));
return fB(o, r.options), o.all = dB(o, r.options), iB(o), ka(o, B), o;
}
s(La, "execa");
function MB(t, A, e) {
let r = NB(t, A, e), i = ba(t, A), n = Na(t, A);
Ra(n, r.options);
let o = QB(r.options), g;
try {
g = va.spawnSync(r.file, r.args, { ...r.options, input: o });
} catch (E) {
throw Li({
error: E,
stdout: "",
stderr: "",
all: "",
command: i,
escapedCommand: n,
parsed: r,
timedOut: !1,
isCanceled: !1,
killed: !1
});
}
let C = Yi(r.options, g.stdout, g.error), I = Yi(r.options, g.stderr, g.error);
if (g.error || g.status !== 0 || g.signal !== null) {
let E = Li({
stdout: C,
stderr: I,
error: g.error,
signal: g.signal,
exitCode: g.status,
command: i,
escapedCommand: n,
parsed: r,
timedOut: g.error && g.error.code === "ETIMEDOUT",
isCanceled: !1,
killed: g.signal !== null
});
if (!r.options.reject)
return E;
throw E;
}
return {
command: i,
escapedCommand: n,
exitCode: 0,
stdout: C,
stderr: I,
failed: !1,
timedOut: !1,
isCanceled: !1,
killed: !1
};
}
s(MB, "execaSync");
var hM = /* @__PURE__ */ s(({ input: t, inputFile: A, stdio: e }) => t === void 0 && A === void 0 && e === void 0 ? { stdin: "inherit" } : {},
"normalizeScriptStdin"), kB = /* @__PURE__ */ s((t = {}) => ({
preferLocal: !0,
...hM(t),
...t
}), "normalizeScriptOptions");
function RB(t) {
function A(e, ...r) {
if (!Array.isArray(e))
return RB({ ...t, ...e });
let [i, ...n] = Ma(e, r);
return La(i, n, kB(t));
}
return s(A, "$"), A.sync = (e, ...r) => {
if (!Array.isArray(e))
throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");
let [i, ...n] = Ma(e, r);
return MB(i, n, kB(t));
}, A;
}
s(RB, "create$");
var Fz = RB();
function vB(t, A) {
let [e, ...r] = KB(t);
return MB(e, r, A);
}
s(vB, "execaCommandSync");
// ../node_modules/find-up/index.js
import je from "node:path";
// ../node_modules/find-up/node_modules/unicorn-magic/node.js
import { fileURLToPath as lM } from "node:url";
function Pi(t) {
return t instanceof URL ? lM(t) : t;
}
s(Pi, "toPath");
// ../node_modules/find-up/node_modules/path-exists/index.js
import xz, { promises as Yz } from "node:fs";
// ../node_modules/find-up/index.js
var LB = Symbol("findUpStop");
async function EM(t, A = {}) {
let e = je.resolve(Pi(A.cwd) ?? ""), { root: r } = je.parse(e), i = je.resolve(e, Pi(A.stopAt ?? r)), n = A.limit ?? Number.POSITIVE_INFINITY,
o = [t].flat(), g = /* @__PURE__ */ s(async (I) => {
if (typeof t != "function")
return $s(o, I);
let E = await t(I.cwd);
return typeof E == "string" ? $s([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = await g({ ...A, cwd: e });
if (I === LB || (I && C.push(je.resolve(e, I)), e === i || C.length >= n))
break;
e = je.dirname(e);
}
return C;
}
s(EM, "findUpMultiple");
function Qn(t, A = {}) {
let e = je.resolve(Pi(A.cwd) ?? ""), { root: r } = je.parse(e), i = je.resolve(e, Pi(A.stopAt) ?? r), n = A.limit ?? Number.POSITIVE_INFINITY,
o = [t].flat(), g = /* @__PURE__ */ s((I) => {
if (typeof t != "function")
return Rr(o, I);
let E = t(I.cwd);
return typeof E == "string" ? Rr([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = g({ ...A, cwd: e });
if (I === LB || (I && C.push(je.resolve(e, I)), e === i || C.length >= n))
break;
e = je.dirname(e);
}
return C;
}
s(Qn, "findUpMultipleSync");
async function xB(t, A = {}) {
return (await EM(t, { ...A, limit: 1 }))[0];
}
s(xB, "findUp");
function QA(t, A = {}) {
return Qn(t, { ...A, limit: 1 })[0];
}
s(QA, "findUpSync");
// src/common/js-package-manager/JsPackageManager.ts
var Pa = cA(Ui(), 1);
import { gt as KM, satisfies as HB } from "semver";
// ../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
var fM = process.env.NODE_ENV === "production", Ya = "Invariant failed";
function UB(t, A) {
if (!t) {
if (fM)
throw new Error(Ya);
var e = typeof A == "function" ? A() : A, r = e ? "".concat(Ya, ": ").concat(e) : Ya;
throw new Error(r);
}
}
s(UB, "invariant");
// src/common/utils/HandledError.ts
var _i = class extends Error {
constructor(e) {
super(String(e));
this.handled = !0;
typeof e != "string" && (this.cause = e);
}
static {
s(this, "HandledError");
}
};
// src/common/utils/paths.ts
import { join as Sn, relative as dM, resolve as pM, sep as wM } from "node:path";
// src/common/js-package-manager/constants.ts
var pn = "package-lock.json", wn = "pnpm-lock.yaml", mn = "yarn.lock", yn = "bun.lock", Dn = "bun.lockb", _B = [
pn,
wn,
mn,
yn,
Dn
];
// src/common/utils/paths.ts
var Gi, pA = /* @__PURE__ */ s(() => {
if (Gi)
return Gi;
let t;
if (process.env.STORYBOOK_PROJECT_ROOT)
return process.env.STORYBOOK_PROJECT_ROOT;
try {
let A = QA(".git", { type: "directory" });
A && (t = Sn(A, ".."));
} catch {
}
try {
let A = QA(".svn", { type: "directory" });
A && (t = t || Sn(A, ".."));
} catch {
}
try {
let A = QA(".hg", { type: "directory" });
A && (t = t || Sn(A, ".."));
} catch {
}
try {
let A = __dirname.split("node_modules"), e = !dM(A[0], process.cwd()).startsWith("..");
t = t || (e && A.length >= 2 ? A[0] : void 0);
} catch {
}
try {
let A = QA(_B, {
type: "file"
});
A && (t = t || Sn(A, ".."));
} catch {
}
return Gi = t || process.cwd(), Gi;
}, "getProjectRoot"), iW = /* @__PURE__ */ s(() => {
Gi = void 0;
}, "invalidateProjectRootCache"), GB = /* @__PURE__ */ s((t) => t.split(process.platform === "win32" ? ";" : ":").filter(Boolean).map((A) => pM(
"./", A)), "nodePathsToArray"), mM = /^\.{1,2}([/\\]|$)/;
function JB(t) {
return mM.test(t) ? t : `.${wM}${t}`;
}
s(JB, "normalizeStoryPath");
// src/common/js-package-manager/JsPackageManager.ts
var ir = {
COREPACK_ENABLE_STRICT: "0",
COREPACK_ENABLE_AUTO_PIN: "0",
NO_UPDATE_NOTIFIER: "true"
};
function jB(t) {
let A = t.lastIndexOf("@");
if (A <= 0)
return [t, void 0];
let e = t.slice(0, A), r = t.slice(A + 1);
return [e, r];
}
s(jB, "getPackageDetails");
var ee = class t {
static {
s(this, "JsPackageManager");
}
static {
/** Cache for latest version results to avoid repeated network calls. */
this.latestVersionCache = /* @__PURE__ */ new Map();
}
static {
/** Cache for installed version results to avoid repeated file system calls. */
this.installedVersionCache = /* @__PURE__ */ new Map();
}
constructor(A) {
this.cwd = A?.cwd || process.cwd(), this.instanceDir = A?.configDir ? DM(A?.configDir) ? Ji(A?.configDir) : Ji(SM(this.cwd, A?.configDir)) :
this.cwd, this.packageJsonPaths = t.listAllPackageJsonPaths(
this.instanceDir,
A?.storiesPaths
), this.primaryPackageJson = this.#e();
}
isStorybookInMonorepo() {
let A = QA("turbo.json", { stopAt: pA() }), e = QA("rush.json", { stopAt: pA() }), r = QA("nx.json", { stopAt: pA() });
if (A || e || r)
return !0;
let i = Qn("package.json", { stopAt: pA() });
if (i.length === 0)
return !1;
for (let n of i) {
let o = Kn(n, "utf8");
if (JSON.parse(o).workspaces)
return !0;
}
return !1;
}
async installDependencies(A) {
await TB.executeTask(() => this.runInstall(A), {
id: "install-dependencies",
intro: "Installing dependencies...",
error: "An error occurred while installing dependencies.",
success: "Dependencies installed"
}), this.clearInstalledVersionCache();
}
async dedupeDependencies(A) {
await TB.executeTask(
() => this.runInternalCommand("dedupe", [...A?.force ? ["--force"] : []], this.cwd),
{
id: "dedupe-dependencies",
intro: "Deduplicating dependencies...",
error: "An error occurred while deduplicating dependencies.",
success: "Dependencies deduplicated"
}
), this.clearInstalledVersionCache();
}
/** Read the `package.json` file available in the provided directory */
static getPackageJson(A) {
let e = Kn(A, "utf8"), r = JSON.parse(e);
return {
...r,
dependencies: { ...r.dependencies },
devDependencies: { ...r.devDependencies },
peerDependencies: { ...r.peerDependencies }
};
}
writePackageJson(A, e = this.cwd) {
let r = { ...A };
["dependencies", "devDependencies", "peerDependencies"].forEach((o) => {
r[o] && Object.keys(r[o]).length === 0 && delete r[o];
});
let n = `${JSON.stringify(r, null, 2)}
`;
yM(OB(e, "package.json"), n, "utf8");
}
getAllDependencies() {
let A = {};
for (let e of this.packageJsonPaths) {
let r = t.getPackageJson(e), { dependencies: i, devDependencies: n, peerDependencies: o } = r;
Object.assign(A, i, n, o);
}
return A;
}
isDependencyInstalled(A) {
return Object.keys(this.getAllDependencies()).includes(A);
}
/**
* Add dependencies to a project using `yarn add` or `npm install`.
*
* @example
*
* ```ts
* addDependencies(options, [
* `@storybook/react@${storybookVersion}`,
* `@storybook/addon-links@${linksVersion}`,
* ]);
* ```
*
* @param {Object} options Contains `skipInstall`, `packageJson` and `installAsDevDependencies`
* which we use to determine how we install packages.
* @param {Array} dependencies Contains a list of packages to add.
*/
async addDependencies(A, e) {
let {
skipInstall: r,
writeOutputToFile: i = !0,
packageJsonInfo: n = this.primaryPackageJson
} = A;
if (r) {
let { operationDir: o, packageJson: g } = n, C = {};
for (let E of e) {
let [Q, B] = jB(E), p = await this.getVersion(Q);
C[Q] = B ?? p;
}
let I = g[A.type];
Object.assign(I, C), this.writePackageJson(g, o);
} else
try {
let o = this.runAddDeps(
e,
A.type === "devDependencies",
i
);
return this.clearInstalledVersionCache(), o;
} catch (o) {
throw Ct.error(`
An error occurred while installing dependencies:`), Ct.log(o.message), new _i(o);
}
}
/**
* Removing dependencies from the package.json file, which is found first starting from the
* instance root. The method does not run a package manager install like `npm install`.
*
* @example
*
* ```ts
* removeDependencies([`@storybook/react`]);
* ```
*
* @param dependencies Contains a list of packages to remove.
*/
async removeDependencies(A) {
for (let e of this.packageJsonPaths)
try {
let r = t.getPackageJson(e), i = !1;
if (A.forEach((n) => {
r.dependencies && r.dependencies[n] && (delete r.dependencies[n], i = !0), r.devDependencies && r.devDependencies[n] && (delete r.
devDependencies[n], i = !0), r.peerDependencies && r.peerDependencies[n] && (delete r.peerDependencies[n], i = !0);
}), i) {
this.writePackageJson(r, Ji(e));
break;
}
} catch (r) {
Ct.warn(`Could not process ${e} for dependency removal: ${String(r)}`);
}
}
/**
* Return an array of strings matching following format: `<package_name>@<package_latest_version>`
*
* For packages in the storybook monorepo, when the latest version is equal to the version of the
* current CLI the version is not added to the string.
*
* When a package is in the monorepo, and the version is not equal to the CLI version, the version
* is taken from the versions.ts file and added to the string.
*
* @param packages
*/
getVersionedPackages(A) {
return Promise.all(
A.map(async (e) => {
let [r, i] = jB(e);
if (i && !(r in nt))
return e;
let n = await this.latestVersion(r, i), g = nt[r];
return g === n || !g ? `${r}@^${n}` : `${r}@${g}`;
})
);
}
/**
* Return an array of string standing for the latest version of the input packages. To be able to
* identify which version goes with which package the order of the input array is keep.
*
* @param packageNames
*/
getVersions(...A) {
return Promise.all(
A.map((e) => this.getVersion(e))
);
}
/**
* Return the latest version of the input package available on npmjs registry. If constraint are
* provided it return the latest version matching the constraints.
*
* For `@storybook/*` packages the latest version is retrieved from `cli/src/versions.json` file
* directly
*
* @param packageName The name of the package
* @param constraint A valid semver constraint, example: '1.x || >=2.5.0 || 5.0.0 - 7.2.3'
*/
async getVersion(A, e) {
let r;
A in nt && (r = nt[A]);
let i;
try {
if (i = await this.latestVersion(A, e), !i)
throw new Error(`No version found for ${A}`);
} catch (o) {
if (r)
return Ct.warn(`
${Pa.default.yellow(String(o))}`), r;
throw Ct.error(`
${Pa.default.red(String(o))}`), new _i(o);
}
return `^${r && (!e || HB(r, e)) && KM(r, i) ? r : i}`;
}
/**
* Get the latest version of the package available on npmjs.com. If constraint is set then it
* returns a version satisfying it, otherwise the latest version available is returned.
*
* @param packageName Name of the package
* @param constraint Version range to use to constraint the returned version
*/
async latestVersion(A, e) {
let r = e ? `${A}@${e}` : A, i = t.latestVersionCache.get(r);
if (i)
return Ct.debug(`Using cached version for ${A}...`), i;
let n;
Ct.debug(`Getting CLI versions from NPM for ${A}...`);
try {
if (!e)
n = await this.runGetVersions(A, !1);
else {
let g = (await this.runGetVersions(A, !0)).reverse().find((C) => HB(C, e));
UB(
g != null,
`No version satisfying the constraint: ${A}${e}`
), n = g;
}
return t.latestVersionCache.set(r, n), n;
} catch {
return t.latestVersionCache.set(r, null), null;
}
}
/**
* Clear the latest version cache. Useful for testing or when you want to refresh version
* information.
*
* @param packageName Optional package name to clear only specific entries. If not provided,
* clears all cache.
*/
static clearLatestVersionCache(A) {
A ? Array.from(t.latestVersionCache.keys()).filter(
(r) => r === A || r.startsWith(`${A}@`)
).forEach((r) => t.latestVersionCache.delete(r)) : t.latestVersionCache.clear();
}
/**
* Clear the installed version cache for a specific package or all packages.
*
* @param packageName Optional package name to clear from cache. If not provided, clears all.
*/
clearInstalledVersionCache(A) {
A ? Array.from(t.installedVersionCache.keys()).filter(
(r) => r.endsWith(`::${A}`)
).forEach((r) => t.installedVersionCache.delete(r)) : t.installedVersionCache.clear();
}
/**
* Clear both the latest version cache and installed version cache. This should be called after
* any operation that modifies dependencies.
*/
clearAllVersionCaches() {
t.clearLatestVersionCache(), this.clearInstalledVersionCache();
}
addStorybookCommandInScripts(A) {
let r = `storybook dev -p ${A?.port ?? 6006}`, i = "storybook build", n = A?.preCommand ? this.getRunCommand(A.preCommand) : void 0;
this.addScripts({
storybook: [n, r].filter(Boolean).join(" && "),
"build-storybook": [n, i].filter(Boolean).join(" && ")
});
}
addScripts(A) {
let { operationDir: e, packageJson: r } = this.#e();
this.writePackageJson(
{
...r,
scripts: {
...r.scripts,
...A
}
},
e
);
}
addPackageResolutions(A) {
let { operationDir: e, packageJson: r } = this.#e(), i = this.getResolutions(r, A);
this.writePackageJson({ ...r, ...i }, e);
}
executeCommandSync({
command: A,
args: e = [],
stdio: r,
cwd: i,
ignoreError: n = !1,
env: o,
...g
}) {
try {
return vB([A, ...e].join(" "), {
cwd: i ?? this.cwd,
stdio: r ?? "pipe",
shell: !0,
cleanup: !0,
env: {
...ir,
...o
},
...g
}).stdout ?? "";
} catch (C) {
if (n !== !0)
throw C;
return "";
}
}
/**
* Execute a command asynchronously and return the execa process. This allows you to hook into
* stdout/stderr streams and monitor the process.
*
* @example Const process = packageManager.executeCommand({ command: 'npm', args: ['install'] });
* process.stdout?.on('data', (data) => console.log(data.toString())); const result = await
* process;
*/
executeCommand({
command: A,
args: e = [],
stdio: r,
cwd: i,
ignoreError: n = !1,
env: o,
...g
}) {
let C = La([A, ...e].join(" "), {
cwd: i ?? this.cwd,
stdio: r ?? "pipe",
encoding: "utf8",
shell: !0,
cleanup: !0,
env: {
...ir,
...o
},
...g
});
return n && C.catch((I) => {
}), C;
}
/** Returns the installed (within node_modules or pnp zip) version of a specified package */
async getInstalledVersion(A) {
let e = A;
try {
let r = t.installedVersionCache.get(e);
if (r !== void 0)
return Ct.debug(`Using cached installed version for ${A}...`), r;
Ct.debug(`Getting installed version for ${A}...`);
let i = await this.findInstallations([A]);
if (!i)
return t.installedVersionCache.set(e, null), null;
let n = Object.entries(i.dependencies)[0]?.[1]?.[0].version || null;
return t.installedVersionCache.set(e, n), n;
} catch {
return t.installedVersionCache.set(e, null), null;
}
}
async isPackageInstalled(A) {
return await this.getInstalledVersion(A) !== null;
}
/**
* Searches for a dependency/devDependency in all package.json files and returns the version of
* the dependency.
*/
getDependencyVersion(A) {
return this.packageJsonPaths.map((r) => {
let i = t.getPackageJson(r);
return i.dependencies?.[A] ?? i.devDependencies?.[A];
}).filter(Boolean)[0] ?? null;
}
// Helper to read and check a package.json for storybook dependency
static hasStorybookDependency(A) {
try {
let e = Kn(A, "utf-8"), r = JSON.parse(e);
return !!(r.dependencies && r.dependencies.storybook || r.devDependencies && r.devDependencies.storybook);
} catch {
return !1;
}
}
// Helper to read and check a package.json for storybook dependency
static hasAnyStorybookDependency(A) {
try {
let e = Kn(A, "utf-8"), r = JSON.parse(e), i = {
...r.dependencies,
...r.devDependencies
};
return Object.keys(i).some((n) => n.includes("storybook"));
} catch {
return !1;
}
}
/**
* Find the primary package.json file in the project root. The primary package.json file is the
* one that contains the `storybook` dependency. If no primary package.json file is found, the
* function will return the package.json file in the project root.
*/
#A() {
for (let A of this.packageJsonPaths)
if (t.hasStorybookDependency(A))
return A;
return this.packageJsonPaths[0] ?? OB(this.cwd, "package.json");
}
/** List all package.json files starting from the given directory and stopping at the project root. */
static listAllPackageJsonPaths(A, e) {
let r = Qn("package.json", {
cwd: A,
stopAt: pA()
});
if (!e)
return r;
let i = pA(), o = Hs("**/package.json", {
cwd: i,
absolute: !0,
ignore: ["**/node_modules/**", "**/dist/**"]
}).filter((g) => {
let C = Ji(g);
return e.some((I) => I.startsWith(C));
});
return Array.from(/* @__PURE__ */ new Set([...r, ...o]));
}
/**
* Get the primary package.json file and its operation directory. The primary package.json file is
* the one that contains the storybook dependency. If the primary package.json file is not found,
* the function returns information about thepackage.json file in the current working directory.
*/
#e() {
let A = this.#A();
return t.getPackageJsonInfo(A);
}
static getPackageJsonInfo(A) {
let e = Ji(A);
return {
packageJsonPath: A,
operationDir: e,
get packageJson() {
return t.getPackageJson(A);
}
};
}
};
// src/common/utils/get-storybook-configuration.ts
function qB(t, A, e) {
if (!t)
return null;
let r = t.split(/[\s='"]+/), i = r.indexOf(e);
return i === -1 && (i = r.indexOf(A)), i === -1 ? null : r[i + 1];
}
s(qB, "getStorybookConfiguration");
// src/common/utils/get-storybook-info.ts
var _a = {
"@storybook/react": "react",
"@storybook/vue3": "vue3",
"@storybook/angular": "angular",
"@storybook/html": "html",
"@storybook/web-components": "web-components",
"@storybook/polymer": "polymer",
"@storybook/ember": "ember",
"@storybook/svelte": "svelte",
"@storybook/preact": "preact",
"@storybook/server": "server",
// community (outside of monorepo)
"storybook-framework-qwik": "qwik",
"storybook-solidjs": "solid",
/** @deprecated This is deprecated. */
"@storybook/vue": "vue"
}, xr = {
"@storybook/angular": "angular",
"@storybook/ember": "ember",
"@storybook/html-vite": "html-vite",
"@storybook/nextjs": "nextjs",
"@storybook/preact-vite": "preact-vite",
"@storybook/react-vite": "react-vite",
"@storybook/react-webpack5": "react-webpack5",
"@storybook/server-webpack5": "server-webpack5",
"@storybook/svelte-vite": "svelte-vite",
"@storybook/sveltekit": "sveltekit",
"@storybook/vue3-vite": "vue3-vite",
"@storybook/nextjs-vite": "nextjs-vite",
"@storybook/react-native-web-vite": "react-native-web-vite",
"@storybook/web-components-vite": "web-components-vite",
// community (outside of monorepo)
"storybook-framework-qwik": "qwik",
"storybook-solidjs-vite": "solid",
"storybook-react-rsbuild": "react-rsbuild",
"storybook-vue3-rsbuild": "vue3-rsbuild"
}, SW = ["@storybook/builder-webpack5", "@storybook/builder-vite"], bM = /* @__PURE__ */ s(({ dependencies: t, devDependencies: A, peerDependencies: e }, r) => [
Object.entries(t || {}).find(r),
Object.entries(A || {}).find(r),
Object.entries(e || {}).find(r)
], "findDependency"), NM = /* @__PURE__ */ s((t) => {
let A = ee.listAllPackageJsonPaths(FM(t));
for (let e of A) {
let r = JSON.parse(WB(e, "utf-8")), [i, n, o] = bM(r, ([I]) => _a[I]), [g, C] = i || n || o || [];
if (g && C)
return {
version: C,
frameworkPackage: g
};
}
return {
version: void 0,
frameworkPackage: void 0
};
}, "getRendererInfo"), MM = ["ts", "js", "tsx", "jsx", "mjs", "cjs"], Ua = /* @__PURE__ */ s((t, A) => {
let e = kM(A, t), r = MM.find((i) => zB(`${e}.${i}`));
return r ? `${e}.${r}` : null;
}, "findConfigFile"), Ga = /* @__PURE__ */ s((t) => {
let A = t ?? ".storybook";
if (!zB(A)) {
let e = ee.listAllPackageJsonPaths(A);
for (let r of e) {
let n = JSON.parse(WB(r, "utf-8")).scripts?.storybook;
if (n && !t) {
let o = qB(n, "-c", "--config-dir");
if (o) {
A = o;
break;
}
}
}
}
return {
configDir: A,
mainConfigPath: Ua("main", A),
previewConfigPath: Ua("preview", A),
managerConfigPath: Ua("manager", A)
};
}, "getConfigInfo"), KW = /* @__PURE__ */ s((t = ".storybook") => {
let A = NM(t), e = Ga(t);
return {
...A,
...e
};
}, "getStorybookInfo");
// src/common/utils/cli.ts
var GM = /* @__PURE__ */ s(() => xM(_M.tmpdir()), "tempDir"), VB = /* @__PURE__ */ s(async (t = "") => Ja(await GM(), t + $g()), "getPath");
async function JM({ prefix: t = "" } = {}) {
let A = await VB(t);
return vM(A), A;
}
s(JM, "temporaryDirectory");
async function OM({ name: t, extension: A } = {}) {
if (t) {
if (A != null)
throw new Error("The `name` and `extension` options are mutually exclusive");
return Ja(await JM(), t);
}
return await VB() + (A == null ? "" : "." + A.replace(/^\./, ""));
}
s(OM, "temporaryFile");
function PW(t) {
return t.split(",").map((A) => A.trim()).filter((A) => A.length > 0);
}
s(PW, "parseList");
async function UW(t) {
return (await Promise.all(
Object.keys(_a).map(async (e) => ({
name: e,
version: t.getModulePackageJSON(e)?.version ?? null
}))
)).filter(({ version: e }) => !!e)[0]?.version || nt.storybook;
}
s(UW, "getCoercedStorybookVersion");
function _W(t, A) {
Object.keys(A).forEach((e) => {
let r = A[e], i = process.env[r];
i && (t[e] = i);
});
}
s(_W, "getEnvConfig");
var GW = /* @__PURE__ */ s(async (t = "storybook.log") => {
let A = Ja(process.cwd(), t), e = await OM({ name: t }), r = RM(e, { encoding: "utf8" });
return new Promise((i, n) => {
r.once("open", () => {
i({ logStream: r, moveLogFile: /* @__PURE__ */ s(async () => YM(e, A), "moveLogFile"), clearLogFile: /* @__PURE__ */ s(async () => UM(
e, ""), "clearLogFile"), removeLogFile: /* @__PURE__ */ s(async () => PM(e, { recursive: !0, force: !0 }), "removeLogFile"), readLogFile: /* @__PURE__ */ s(
async () => LM(e, { encoding: "utf8" }), "readLogFile") });
}), r.once("error", n);
});
}, "createLogStream"), XB = /* @__PURE__ */ s((t) => !!nt[t], "isCorePackage"), JW = /* @__PURE__ */ s((t) => eu.includes(t), "isSatelliteAd\
don");
// src/common/utils/check-addon-order.ts
import { logger as Oa } from "storybook/internal/node-logger";
var Ta = /* @__PURE__ */ s((t) => (A) => {
let e = A.name || A;
return e && e.replaceAll(/(\\){1,2}/g, "/").includes(t);
}, "predicateFor"), TM = /* @__PURE__ */ s((t, A, e) => {
let r = t.findIndex(Ta("@storybook/addon-essentials")), i = t.findIndex(Ta(A.name)), n = t.findIndex(Ta(e.name));
return i === -1 && A.inEssentials && (i = r), n === -1 && e.inEssentials && (n = r), i !== -1 && n !== -1 && i <= n;
}, "isCorrectOrder"), jW = /* @__PURE__ */ s(async ({ before: t, after: A, configFile: e, getConfig: r }) => {
try {
let i = await r(e);
if (!i?.addons) {
Oa.warn("Unable to find 'addons' config in main Storybook config");
return;
}
if (!TM(i.addons, t, A)) {
let n = " (or '@storybook/addon-essentials')", o = `'${t.name}'${t.inEssentials ? n : ""}`, g = `'${A.name}'${A.inEssentials ? n : ""}`;
Oa.warn(
`Expected ${o} to be listed before ${g} in main Storybook config.`
);
}
} catch {
Oa.warn(`Unable to load config file: ${e}`);
}
}, "checkAddonOrder");
// ../node_modules/lazy-universal-dotenv/lib/index.mjs
var aQ = cA($B(), 1), CQ = cA(sQ(), 1), cQ = cA(gQ(), 1);
import gR from "fs";
import aR from "path";
var Mt = aR.join(aQ.default.get(), ".env");
function IQ({ nodeEnv: t, buildTarget: A } = {}) {
let e = {}, r = {}, i = { "process.env": r }, n = typeof t > "u" ? process.env.NODE_ENV : t, o = typeof t > "u" ? process.env.BUILD_TARGET :
A;
return [
o && n && `${Mt}.${o}.${n}.local`,
o && n && `${Mt}.${o}.${n}`,
o && n !== "test" && `${Mt}.${o}.local`,
o && `${Mt}.${o}`,
n && `${Mt}.${n}.local`,
n && `${Mt}.${n}`,
n !== "test" && `${Mt}.local`,
Mt
].filter(Boolean).forEach((C) => {
if (gR.existsSync(C)) {
let I = CQ.default.config({
path: C
});
e = Object.assign({}, e, cQ.default.expand(I).parsed);
}
}), Object.keys(e).forEach((C) => {
r[C] = JSON.stringify(e[C]);
}), { raw: e, stringified: r, webpack: i };
}
s(IQ, "getEnvironment");
// src/common/utils/envs.ts
function o4(t = {}) {
let A = t.production ? "production" : "development", e = {
// eslint-disable-next-line @typescript-eslint/dot-notation
NODE_ENV: process.env.NODE_ENV || A,
NODE_PATH: process.env.NODE_PATH || "",
STORYBOOK: process.env.STORYBOOK || "true",
// This is to support CRA's public folder feature.
// In production we set this to dot(.) to allow the browser to access these assets
// even when deployed inside a subpath. (like in GitHub pages)
// In development this is just empty as we always serves from the root.
PUBLIC_URL: t.production ? "." : ""
};
Object.keys(process.env).filter((g) => /^STORYBOOK_/.test(g)).forEach((g) => {
e[g] = process.env[g];
});
let r = Object.entries(e).reduce(
(g, [C, I]) => Object.assign(g, { [C]: JSON.stringify(I) }),
{}
), { stringified: i, raw: n } = IQ({ nodeEnv: e.NODE_ENV }), o = { ...e, ...n };
return o.NODE_PATH = GB(o.NODE_PATH || ""), {
stringified: { ...r, ...i },
raw: o
};
}
s(o4, "loadEnvs");
var g4 = /* @__PURE__ */ s((t) => Object.entries(t).reduce((A, [e, r]) => (A[e] = JSON.stringify(r), A), {}), "stringifyEnvs"), a4 = /* @__PURE__ */ s(
(t) => Object.entries(t).reduce((e, [r, i]) => (e[`process.env.${r}`] = JSON.stringify(i), e), {}), "stringifyProcessEnvs");
// src/common/utils/common-glob-options.ts
var CR = /node_modules/, hQ = /* @__PURE__ */ s((t) => CR.test(t) ? {} : { ignore: ["**/node_modules/**"] }, "commonGlobOptions");
// src/common/utils/framework-to-renderer.ts
var lQ = {
// frameworks
angular: "angular",
ember: "ember",
"html-vite": "html",
nextjs: "react",
"nextjs-vite": "react",
"preact-vite": "preact",
qwik: "qwik",
"react-vite": "react",
"react-webpack5": "react",
"server-webpack5": "server",
solid: "solid",
"svelte-vite": "svelte",
sveltekit: "svelte",
"vue3-vite": "vue3",
nuxt: "vue3",
"web-components-vite": "web-components",
"react-rsbuild": "react",
"vue3-rsbuild": "vue3",
// renderers
html: "html",
preact: "preact",
"react-native": "react-native",
"react-native-web-vite": "react",
react: "react",
server: "server",
svelte: "svelte",
vue3: "vue3",
"web-components": "web-components"
};
// src/common/utils/get-builder-options.ts
async function E4(t) {
let A = await t.presets.apply("framework", {}, t);
if (typeof A != "string" && A?.options?.builder)
return A.options.builder;
let { builder: e } = await t.presets.apply("core", {}, t);
return typeof e != "string" && e?.options ? e.options : {};
}
s(E4, "getBuilderOptions");
// src/common/utils/get-framework-name.ts
var uQ = cA(ot(), 1);
// src/common/utils/normalize-path.ts
import { posix as cR } from "node:path";
function EQ(t) {
return cR.normalize(t.replace(/\\/g, "/"));
}
s(EQ, "normalizePath");
// src/common/utils/get-framework-name.ts
async function BQ(t) {
let A = await t.presets.apply("framework", "", t);
if (!A)
throw new Error(uQ.dedent`
You must specify a framework in '.storybook/main.js' config.
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
`);
return typeof A == "object" ? A.name : A;
}
s(BQ, "getFrameworkName");
var QQ = /* @__PURE__ */ s((t) => {
let A = EQ(t);
return Object.keys(xr).find((r) => A.endsWith(r)) ?? t;
}, "extractProperFrameworkName");
// src/common/utils/get-renderer-name.ts
async function F4(t) {
let A = await t.presets.apply("core", {}, t);
return !A || !A.renderer ? BQ(t) : A.renderer;
}
s(F4, "getRendererName");
async function k4(t) {
let A = QQ(t), e = xr[A];
return e ? lQ[e] : null;
}
s(k4, "extractProperRendererNameFromFramework");
// src/common/utils/get-storybook-refs.ts
import { readFile as fQ } from "node:fs/promises";
import { dirname as IR, join as hR } from "node:path";
import { logger as lR } from "storybook/internal/node-logger";
var dQ = cA(Og(), 1);
var ER = /* @__PURE__ */ s(async (t) => {
let A = await xB("package.json", {
cwd: t.configDir,
stopAt: pA()
});
if (!A)
return {};
let e = IR(A), { dependencies: r = [], devDependencies: i = [] } = JSON.parse(await fQ(A, { encoding: "utf8" })) || {}, n = Object.keys({ ...r,
...i });
return (await Promise.all(
n.map(async (g) => {
try {
let C = (0, dQ.default)(e, hR(g, "package.json")), { storybook: I, name: E, version: Q } = JSON.parse(await fQ(C, { encoding: "utf8" })) ||
{};
if (I?.url)
return { id: E, ...I, version: Q };
} catch (C) {
if (C.code === "ERR_PACKAGE_PATH_NOT_EXPORTED")
return;
lR.warn(`unable to find package.json for ${g}`);
return;
}
})
)).filter(Boolean).reduce(
(g, C) => ({
...g,
[C.id]: {
id: C.id.toLowerCase(),
url: pQ(C.url),
title: C.title,
version: C.version
}
}),
{}
);
}, "getAutoRefs"), uR = /* @__PURE__ */ s((t) => fetch(`${t}/iframe.html`).then(
async ({ ok: A, status: e }) => {
if (A) {
if (e !== 200)
return !1;
let r = await fetch(`${t}/iframe.html`, {
headers: { Accept: "application/json" }
});
if (r.ok && (await r.json().catch(() => ({}))).loginUrl)
return !1;
}
return A;
},
() => !1
), "checkRef"), pQ = /* @__PURE__ */ s((t) => t.replace(/\/$/, ""), "stripTrailingSlash"), BR = /* @__PURE__ */ s((t) => {
let A = t.replace(/[A-Z]/g, (e) => ` ${e}`).replace(/[-_][A-Z]/gi, (e) => ` ${e.toUpperCase()}`).replace(/-/g, " ").replace(/_/g, " ");
return `${A.substring(0, 1).toUpperCase()}${A.substring(1)}`.trim();
}, "toTitle");
async function Y4(t) {
if (t.test)
return {};
let A = await t.presets.apply("refs", await ER(t));
return Object.entries(A).forEach(([e, r]) => {
if (r.disable) {
delete A[e];
return;
}
A[e.toLowerCase()] = {
...r,
id: e.toLowerCase(),
title: r.title || BR(r.id || e),
url: pQ(r.url)
};
}), await Promise.all(
Object.entries(A).map(async ([e, r]) => {
let i = await uR(r.url);
A[e] = { ...r, type: i ? "server-checked" : "unknown" };
})
), A;
}
s(Y4, "getRefs");
// src/common/utils/glob-to-regexp.ts
var GQ = cA(Nn(), 1);
function JQ(t) {
let A = GQ.makeRe(t, {
fastpaths: !1,
noglobstar: !1,
bash: !1
});
if (!A.source.startsWith("^"))
throw new Error(`Invalid glob: >> ${t} >> ${A}`);
return t.startsWith("./") ? new RegExp(
["^\\.", t.startsWith("./**") ? "" : "[\\\\/]", A.source.substring(1)].join("")
) : A;
}
s(JQ, "globToRegexp");
// src/common/utils/interpolate.ts
var X4 = /* @__PURE__ */ s((t, A) => Object.entries(A).reduce((e, [r, i]) => {
let n = i.replace(/\\/g, "/").replace(/\$/g, "$$$");
return e.replace(new RegExp(`{{${r}}}`, "g"), n);
}, t), "interpolate");
// src/common/utils/load-main-config.ts
import { readFile as XR } from "node:fs/promises";
import { relative as OQ, resolve as ZR } from "node:path";
import {
MainFileESMOnlyImportError as $R,
MainFileEvaluationError as A0
} from "storybook/internal/server-errors";
async function s3({
configDir: t = ".storybook",
noCache: A = !1,
cwd: e
}) {
await qs(t, e);
let r = hi(ZR(t, "main"));
A && r && v.cache[r] && delete v.cache[r];
try {
return await Ii(r);
} catch (i) {
if (!(i instanceof Error))
throw i;
if (i.message.match(/Cannot use import statement outside a module/)) {
let n = OQ(process.cwd(), r), o = i.stack?.match(new RegExp(`${n}:(\\d+):(\\d+)`))?.[1], g, C;
if (o) {
let Q = (await XR(r, "utf-8")).split(`
`);
g = parseInt(o, 10) - 1, C = Q[g];
}
let I = new $R({
line: C,
location: n,
num: g
});
throw delete I.stack, I;
}
throw new A0({
location: OQ(process.cwd(), r),
error: i
});
}
}
s(s3, "loadMainConfig");
// src/common/utils/load-manager-or-addons-file.ts
var TQ = cA(ot(), 1);
import { resolve as iC } from "node:path";
import { logger as e0 } from "storybook/internal/node-logger";
function c3({ configDir: t }) {
let A = pr(iC(t, "addons")), e = pr(iC(t, "manager"));
if ((A || e) && e0.info("=> Loading custom manager config"), A && e)
throw new Error(TQ.dedent`
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${iC(
t,
"addons"
)})`);
return e || A;
}
s(c3, "loadManagerOrAddonsFile");
// src/common/utils/load-preview-or-config-file.ts
var HQ = cA(ot(), 1);
import { resolve as sC } from "node:path";
function u3({ configDir: t }) {
let A = pr(sC(t, "config")), e = pr(sC(t, "preview"));
if (A && e)
throw new Error(HQ.dedent`
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${sC(
t,
"config"
)})`);
return e || A;
}
s(u3, "loadPreviewOrConfigFile");
// src/common/utils/log.ts
var nr = cA(Ui(), 1);
import { logger as Mn } from "storybook/internal/node-logger";
var d3 = /* @__PURE__ */ s((t) => (process.stdout.write(nr.default.cyan(" \u2022 ") + t), (A, e) => {
if (A) {
if (process.stdout.write(`. ${nr.default.red("\u2716")}
`), Mn.error(`
${nr.default.red(A)}`), !e)
return;
let r = e.split(`
`).map((i) => ` ${nr.default.dim(i)}`).join(`
`);
Mn.error(`${r}
`);
return;
}
process.stdout.write(`. ${nr.default.green("\u2713")}
`);
}), "commandLog");
function p3(t) {
let A = t.split(`
`).map((e) => ` ${e}`).join(`
`);
Mn.log(A);
}
s(p3, "paddedLog");
function jQ(t, A) {
let e = "";
for (let r = 0; r < A; r += 1)
e += t;
return e;
}
s(jQ, "getChars");
function w3(t, A) {
let e = 0, i = t.map((n) => (e = n.length > e ? n.length : e, n)).map((n) => {
let o = e - n.length, g = n + jQ(" ", o);
return g = jQ(" ", A || 2) + nr.default.inverse(` ${g} `), g;
}).join(`
`);
Mn.log(i);
}
s(w3, "codeLog");
// src/common/utils/log-config.ts
var qQ = cA(Ui(), 1);
function D3(t, A) {
console.log(qQ.default.cyan(String(t))), console.dir(A, { depth: null });
}
s(D3, "logConfig");
// src/common/utils/normalize-stories.ts
var WQ = cA(Nn(), 1);
Mr();
import { lstatSync as t0 } from "node:fs";
import { basename as r0, dirname as i0, relative as s0, resolve as zQ } from "node:path";
import { InvalidStoriesEntryError as n0 } from "storybook/internal/server-errors";
var Rn = "", o0 = "**/*.@(mdx|stories.@(js|jsx|mjs|ts|tsx))", g0 = /* @__PURE__ */ s((t, A) => {
try {
return t0(zQ(t, A)).isDirectory();
} catch {
return !1;
}
}, "isDirectory"), a0 = /* @__PURE__ */ s(({
configDir: t,
workingDir: A,
directory: e
}) => {
let r = zQ(t, e), i = s0(A, r);
return JB(i);
}, "getDirectoryFromWorkingDir"), C0 = /* @__PURE__ */ s((t, { configDir: A, workingDir: e, defaultFilesPattern: r = o0 }) => {
let i;
if (typeof t == "string") {
let I = WQ.scan(t);
if (I.isGlob) {
let E = I.prefix + I.base, Q = I.glob;
i = {
titlePrefix: Rn,
directory: E,
files: Q
};
} else g0(A, t) ? i = {
titlePrefix: Rn,
directory: t,
files: r
} : i = {
titlePrefix: Rn,
directory: i0(t),
files: r0(t)
};
} else
i = {
titlePrefix: Rn,
files: r,
...t
};
let n = Ae(i.files), { directory: o } = i, g = Ae(
a0({
configDir: A,
workingDir: e,
directory: o
})
).replace(/\/$/, ""), C = JQ(`${g}/${n}`);
return {
...i,
directory: g,
importPathMatcher: C
};
}, "normalizeStoriesEntry"), v3 = /* @__PURE__ */ s((t, A) => {
if (!t || Array.isArray(t) && t.length === 0)
throw new n0();
return t.map((e) => C0(e, A));
}, "normalizeStories");
// src/common/utils/readTemplate.ts
import { readFile as c0 } from "node:fs/promises";
async function P3(t) {
return c0(t, {
encoding: "utf8"
});
}
s(P3, "readTemplate");
// src/common/utils/remove.ts
var VQ = cA(ot(), 1);
import { readConfig as I0, writeConfig as h0 } from "storybook/internal/csf-tools";
import { logger as vn } from "storybook/internal/node-logger";
async function T3(t, A) {
let { packageManager: e, skipInstall: r } = A, { mainConfigPath: i, configDir: n } = Ga(A.configDir);
if (typeof n > "u")
throw new Error(VQ.dedent`
Unable to find storybook config directory
`);
if (!i) {
vn.error("Unable to find storybook main.js config");
return;
}
let o = await I0(i);
if (vn.debug(`Uninstalling ${t}`), await e.removeDependencies([t]), r || await e.installDependencies(), (o.getNamesFromPath(["addons"]) ??
[]).includes(t)) {
vn.debug(`Removing '${t}' from main.js addons field.`);
try {
o.removeEntryFromArray(["addons"], t), await h0(o);
} catch (C) {
vn.warn(`Failed to remove '${t}' from main.js addons field. ${String(C)}`);
}
}
}
s(T3, "removeAddon");
// src/common/utils/symlinks.ts
function q3() {
let { NODE_OPTIONS: t, NODE_PRESERVE_SYMLINKS: A } = process.env;
return !!A || t?.includes("--preserve-symlinks");
}
s(q3, "isPreservingSymlinks");
// src/common/utils/template.ts
import { existsSync as XQ, readFileSync as Ln } from "node:fs";
import { dirname as ZQ, resolve as $Q } from "node:path";
var Af = /* @__PURE__ */ s((t, A = {}) => Object.entries(A).reduce((e, [r, i]) => e.replace(new RegExp(`%${r}%`, "g"), i), t), "interpolate");
function Z3(t, A) {
let e = ZQ(v.resolve("storybook/internal/package.json")), r = Ln(`${e}/assets/server/base-preview-body.html`, "utf8"), i = $Q(t, "preview-\
body.html"), n = r;
return XQ(i) && (n = Ln(i, "utf8") + n), Af(n, A);
}
s(Z3, "getPreviewBodyTemplate");
function $3(t, A) {
let e = ZQ(v.resolve("storybook/internal/package.json")), r = Ln(`${e}/assets/server/base-preview-head.html`, "utf8"), i = $Q(t, "preview-\
head.html"), n = r;
return XQ(i) && (n += Ln(i, "utf8")), Af(n, A);
}
s($3, "getPreviewHeadTemplate");
// src/common/utils/validate-config.ts
import { join as l0 } from "node:path";
import {
CouldNotEvaluateFrameworkError as E0,
InvalidFrameworkNameError as u0,
MissingFrameworkFieldError as B0
} from "storybook/internal/server-errors";
var ef = ["html", "preact", "react", "server", "svelte", "vue", "vue3", "web-components"], Q0 = [...ef, ...ef.map((t) => `@storybook/${t}`)];
function sV(t) {
if (!t)
throw new B0();
if (Q0.includes(t))
throw new u0({ frameworkName: t });
if (!Object.keys(xr).includes(t))
try {
v.resolve(l0(t, "preset"));
} catch {
throw new E0({ frameworkName: t });
}
}
s(sV, "validateFrameworkName");
// src/common/utils/satisfies.ts
function gV() {
return (t) => t;
}
s(gV, "satisfies");
// src/common/utils/formatter.ts
async function tf() {
return import("prettier").catch((t) => ({
resolveConfig: /* @__PURE__ */ s(async () => null, "resolveConfig"),
format: /* @__PURE__ */ s((A) => A, "format")
}));
}
s(tf, "getPrettier");
async function cV(t, A) {
try {
let { resolveConfig: e, format: r } = await tf(), i = await e(t);
return !i || Object.keys(i).length === 0 ? await f0(t, A) : await r(A, {
...i,
filepath: t
});
} catch {
return A;
}
}
s(cV, "formatFileContent");
async function f0(t, A) {
let { resolveConfig: e, format: r } = await tf(), i = await e(t, { editorconfig: !0 });
return !i || Object.keys(i).length === 0 ? A : r(A, {
...i,
filepath: t
});
}
s(f0, "formatWithEditorConfig");
// src/common/utils/get-story-id.ts
var gf = cA(ot(), 1);
import { relative as y0 } from "node:path";
import { normalizeStories as D0, normalizeStoryPath as S0 } from "storybook/internal/common";
import { sanitize as K0, storyNameFromExport as F0, toId as k0 } from "storybook/internal/csf";
// src/preview-api/modules/store/autoTitle.ts
Mr();
var sf = cA(ot(), 1);
import { once as d0 } from "storybook/internal/client-logger";
var p0 = /* @__PURE__ */ s((t) => {
if (t.length === 0)
return t;
let A = t[t.length - 1], e = A?.replace(/(?:[.](?:story|stories))?([.][^.]+)$/i, "");
if (t.length === 1)
return [e];
let r = t[t.length - 2];
return e && r && e.toLowerCase() === r.toLowerCase() ? [...t.slice(0, -2), e] : e && (/^(story|stories)([.][^.]+)$/i.test(A) || /^index$/i.
test(e)) ? t.slice(0, -1) : [...t.slice(0, -1), e];
}, "sanitize");
function rf(t) {
return t.flatMap((A) => A.split("/")).filter(Boolean).join("/");
}
s(rf, "pathJoin");
var nf = /* @__PURE__ */ s((t, A, e) => {
let { directory: r, importPathMatcher: i, titlePrefix: n = "" } = A || {};
typeof t == "number" && d0.warn(sf.dedent`
CSF Auto-title received a numeric fileName. This typically happens when
webpack is mis-configured in production mode. To force webpack to produce
filenames, set optimization.moduleIds = "named" in your webpack config.
`);
let o = Ae(String(t));
if (i.exec(o)) {
if (!e) {
let g = o.replace(r, ""), C = rf([n, g]).split("/");
return C = p0(C), C.join("/");
}
return n ? rf([n, e]) : e;
}
}, "userOrAutoTitleFromSpecifier");
// src/common/utils/posix.ts
import { posix as w0, sep as m0 } from "node:path";
var of = /* @__PURE__ */ s((t, A = m0) => t.split(A).filter(Boolean).join(w0.sep), "posix");
// src/common/utils/get-story-id.ts
async function SV(t, A) {
let e = await A.presets.apply("stories", [], A), r = b0({
...t,
stories: e,
configDir: A.configDir
});
if (r === void 0)
throw new Error(gf.dedent`
The new story file was successfully generated, but we are unable to index it. Please ensure that the new Story file is matched by the 'stories' glob pattern in your Storybook configuration.
`);
let i = F0(t.exportedStoryName), n = k0(r, i), o = K0(r);
return { storyId: n, kind: o };
}
s(SV, "getStoryId");
function b0({
storyFilePath: t,
configDir: A,
stories: e,
workingDir: r = process.cwd(),
userTitle: i
}) {
let n = D0(e, {
configDir: A,
workingDir: r
}), o = y0(r, t), g = of(S0(o));
return n.map((C) => nf(g, C, i)).filter(Boolean)[0];
}
s(b0, "getStoryTitle");
// src/common/utils/get-addon-names.ts
var af = /* @__PURE__ */ s((t) => (t.addons || []).map((r) => {
let i = "";
if (typeof r == "string" ? i = r : typeof r == "object" && (i = r.name), !i.startsWith("."))
return i = i.replace(/.*node_modules\//, ""), i.replace(/\/dist\/.*$/, "").replace(/\.[mc]?[tj]?sx?$/, "").replace(/\/register$/, "").replace(
/\/manager$/, "").replace(/\/preset$/, "");
}).filter((r) => r != null), "getAddonNames");
// src/common/utils/sync-main-preview-addons.ts
var nC = cA(Ui(), 1);
import { types as Pr } from "storybook/internal/babel";
import {
isCsfFactoryPreview as R0,
readConfig as v0,
writeConfig as L0
} from "storybook/internal/csf-tools";
import { logger as x0 } from "storybook/internal/node-logger";
// src/common/utils/get-addon-annotations.ts
import N0 from "node:path";
function M0(t) {
return t.replace(/^@storybook\//, "").split(/[^a-zA-Z0-9]+/).map(
(e, r) => r === 0 ? e.toLowerCase() : e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()
).join("").replace(/^./, (e) => e.toLowerCase());
}
s(M0, "getAnnotationsName");
async function Cf(t) {
try {
let A = {
// core addons will have a function as default export in index entrypoint
importPath: t,
importName: M0(t),
isCoreAddon: XB(t)
};
return t === "@storybook/addon-essentials" || (A.isCoreAddon || (A.importPath = `${t}/preview`), v.resolve(N0.join(t, "preview"))), A;
} catch {
}
return null;
}
s(Cf, "getAddonAnnotations");
// src/common/utils/sync-main-preview-addons.ts
async function _V(t, A) {
let e = await v0(A), r = await Y0(t, e);
await L0(r);
}
s(_V, "syncStorybookAddons");
async function Y0(t, A) {
if (!R0(A))
return A;
let r = af(t);
if (!r)
return A;
let i = [], n = A.getFieldNode(["addons"]);
for (let o of r) {
let g = await Cf(o);
if (g) {
if (A._ast.program.body.find(
(I) => Pr.isImportDeclaration(I) && I.source.value === g.importPath
))
continue;
(!n || Pr.isArrayExpression(n) && !n.elements.some(
(I) => Pr.isIdentifier(I) && I.name === g.importName
)) && (i.push(o), g.isCoreAddon ? (A.setImport(g.importName, g.importPath), A.appendNodeToArray(
["addons"],
Pr.callExpression(Pr.identifier(g.importName), [])
)) : (A.setImport({ namespace: g.importName }, g.importPath), A.appendNodeToArray(["addons"], Pr.identifier(g.importName))));
}
}
return i.length > 0 && x0.log(
`Synchronizing addons from main config in ${nC.default.cyan(A.fileName)}:
${i.map(nC.default.magenta).join(", ")}`
), A;
}
s(Y0, "getSyncedStorybookAddons");
// src/common/js-package-manager/JsPackageManagerFactory.ts
var es = cA(aa(), 1);
import { basename as Tx, parse as Qd, relative as Hx } from "node:path";
// src/common/js-package-manager/BUNProxy.ts
import { existsSync as P0, readFileSync as U0 } from "node:fs";
import { platform as _0 } from "node:os";
import { join as G0 } from "node:path";
import { logger as J0 } from "storybook/internal/node-logger";
import { FindPackageVersionsError as O0 } from "storybook/internal/server-errors";
import T0 from "semver/functions/sort.js";
var H0 = /npm ERR! code (\w+)/, j0 = {
E401: "Authentication failed or is required.",
E403: "Access to the resource is forbidden.",
E404: "Requested resource not found.",
EACCES: "Permission issue.",
EAI_FAIL: "DNS lookup failed.",
EBADENGINE: "Engine compatibility check failed.",
EBADPLATFORM: "Platform not supported.",
ECONNREFUSED: "Connection refused.",
ECONNRESET: "Connection reset.",
EEXIST: "File or directory already exists.",
EINVALIDTYPE: "Invalid type encountered.",
EISGIT: "Git operation failed or conflicts with an existing file.",
EJSONPARSE: "Error parsing JSON data.",
EMISSINGARG: "Required argument missing.",
ENEEDAUTH: "Authentication needed.",
ENOAUDIT: "No audit available.",
ENOENT: "File or directory does not exist.",
ENOGIT: "Git not found or failed to run.",
ENOLOCK: "Lockfile missing.",
ENOSPC: "Insufficient disk space.",
ENOTFOUND: "Resource not found.",
EOTP: "One-time password required.",
EPERM: "Permission error.",
EPUBLISHCONFLICT: "Conflict during package publishing.",
ERESOLVE: "Dependency resolution error.",
EROFS: "File system is read-only.",
ERR_SOCKET_TIMEOUT: "Socket timed out.",
ETARGET: "Package target not found.",
ETIMEDOUT: "Operation timed out.",
ETOOMANYARGS: "Too many arguments provided.",
EUNKNOWNTYPE: "Unknown type encountered."
}, xn = class extends ee {
constructor() {
super(...arguments);
this.type = "bun";
}
static {
s(this, "BUNProxy");
}
async initPackageJson() {
return this.executeCommand({ command: "bun", args: ["init"] });
}
getRunStorybookCommand() {
return "bun run storybook";
}
getRunCommand(e) {
return `bun run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `bunx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
getModulePackageJSON(e) {
let r = QA(
(n) => {
let o = G0(n, "node_modules", e, "package.json");
return P0(o) ? o : void 0;
},
{ cwd: this.cwd, stopAt: pA() }
);
return r ? JSON.parse(U0(r, "utf-8")) : null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "bun",
args: ["run", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "bun",
args: ["run", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "bun", args: [e, ...r], cwd: i, stdio: n });
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = /* @__PURE__ */ s(async ({ packageDepth: n }) => {
let o = _0() === "win32" ? "2>NUL" : "2>/dev/null";
return this.executeCommand({
command: "npm",
args: ["ls", "--json", `--depth=${n}`, o],
env: {
FORCE_COLOR: "false"
}
});
}, "exec");
try {
let g = (await await i({ packageDepth: r })).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
try {
let C = (await await i({ packageDepth: 0 })).stdout ?? "", I = JSON.parse(C);
return this.mapDependencies(I, e);
} catch {
J0.debug("An issue occurred while trying to find dependencies metadata using npm.");
return;
}
}
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "bun",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: "inherit",
cwd: this.cwd
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "npm",
// "npm config" commands are not allowed in workspaces per default
// https://github.com/npm/cli/issues/6099#issuecomment-1847584792
args: ["config", "get", "registry", "-ws=false", "-iwr"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "bun",
args: ["add", ...i, ...this.getInstallArgs()],
stdio: "pipe",
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "npm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new O0({
error: n,
packageManager: "NPM",
packageName: e
});
}
}
/**
* @param input The output of `npm ls --json`
* @param pattern A list of package names to filter the result. * can be used as a placeholder
*/
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = /* @__PURE__ */ s(([C, I]) => {
if (!C || !r.some((Q) => new RegExp(`^${Q.replace(/\*/g, ".*")}$`).test(C)))
return;
let E = {
version: I.version,
location: ""
};
n[C]?.includes(E.version) || (i[C] ? i[C].push(E) : i[C] = [E], n[C] = T0([...n[C] || [], E.version]), n[C].length > 1 && (o[C] = n[C])),
I.dependencies && Object.entries(I.dependencies).forEach(g);
}, "recurse");
return Object.entries(e.dependencies).forEach(g), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "npm ls --depth=1",
dedupeCommand: "npm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "NPM error", i = e.match(H0);
if (i) {
let n = i[1];
n && (r = `${r} ${n}`);
let o = j0[n];
o && (r = `${r} - ${o}`);
}
return r.trim();
}
};
// src/common/js-package-manager/NPMProxy.ts
import { existsSync as q0, readFileSync as z0 } from "node:fs";
import { platform as W0 } from "node:os";
import { join as V0 } from "node:path";
import { logger as X0, prompt as cf } from "storybook/internal/node-logger";
import { FindPackageVersionsError as Z0 } from "storybook/internal/server-errors";
import $0 from "semver/functions/sort.js";
var Av = /npm (ERR!|error) (code|errno) (\w+)/i, ev = {
E401: "Authentication failed or is required.",
E403: "Access to the resource is forbidden.",
E404: "Requested resource not found.",
EACCES: "Permission issue.",
EAI_FAIL: "DNS lookup failed.",
EBADENGINE: "Engine compatibility check failed.",
EBADPLATFORM: "Platform not supported.",
ECONNREFUSED: "Connection refused.",
ECONNRESET: "Connection reset.",
EEXIST: "File or directory already exists.",
EINVALIDTYPE: "Invalid type encountered.",
EISGIT: "Git operation failed or conflicts with an existing file.",
EJSONPARSE: "Error parsing JSON data.",
EMISSINGARG: "Required argument missing.",
ENEEDAUTH: "Authentication needed.",
ENOAUDIT: "No audit available.",
ENOENT: "File or directory does not exist.",
ENOGIT: "Git not found or failed to run.",
ENOLOCK: "Lockfile missing.",
ENOSPC: "Insufficient disk space.",
ENOTFOUND: "Resource not found.",
EOTP: "One-time password required.",
EPERM: "Permission error.",
EPUBLISHCONFLICT: "Conflict during package publishing.",
ERESOLVE: "Dependency resolution error.",
EROFS: "File system is read-only.",
ERR_SOCKET_TIMEOUT: "Socket timed out.",
ETARGET: "Package target not found.",
ETIMEDOUT: "Operation timed out.",
ETOOMANYARGS: "Too many arguments provided.",
EUNKNOWNTYPE: "Unknown type encountered."
}, Yn = class extends ee {
constructor() {
super(...arguments);
this.type = "npm";
}
static {
s(this, "NPMProxy");
}
getRunCommand(e) {
return `npm run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `npx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
getModulePackageJSON(e) {
let r = QA(
(n) => {
let o = V0(n, "node_modules", e, "package.json");
return q0(o) ? o : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: pA() }
);
return r ? JSON.parse(z0(r, "utf-8")) : null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "npm",
args: ["exec", "--", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "npm",
args: ["exec", "--", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({
command: "npm",
args: [e, ...r],
cwd: i,
stdio: n
});
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = /* @__PURE__ */ s(({ packageDepth: n }) => {
let o = W0() === "win32" ? "2>NUL" : "2>/dev/null";
return this.executeCommand({
command: "npm",
args: ["ls", "--json", `--depth=${n}`, o],
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
});
}, "exec");
try {
let o = (await i({ packageDepth: r })).stdout ?? "", g = JSON.parse(o);
return this.mapDependencies(g, e);
} catch {
try {
let g = (await i({ packageDepth: 0 })).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
X0.debug("An issue occurred while trying to find dependencies metadata using npm.");
return;
}
}
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "npm",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
cwd: this.cwd,
stdio: cf.getPreferredStdio()
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "npm",
// "npm config" commands are not allowed in workspaces per default
// https://github.com/npm/cli/issues/6099#issuecomment-1847584792
args: ["config", "get", "registry", "-ws=false", "-iwr"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "npm",
args: ["install", ...i, ...this.getInstallArgs()],
stdio: cf.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "npm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new Z0({
error: n,
packageManager: "NPM",
packageName: e
});
}
}
/**
* @param input The output of `npm ls --json`
* @param pattern A list of package names to filter the result. * can be used as a placeholder
*/
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = /* @__PURE__ */ s(([C, I]) => {
if (!C || !r.some((Q) => new RegExp(`^${Q.replace(/\*/g, ".*")}$`).test(C)))
return;
let E = {
version: I.version,
location: ""
};
n[C]?.includes(E.version) || (i[C] ? i[C].push(E) : i[C] = [E], n[C] = $0([...n[C] || [], E.version]), n[C].length > 1 && (o[C] = n[C])),
I.dependencies && Object.entries(I.dependencies).forEach(g);
}, "recurse");
return Object.entries(e.dependencies).forEach(g), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "npm ls --depth=1",
dedupeCommand: "npm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "NPM error", i = e.match(Av);
if (i) {
let n = i[3];
n && (r = `${r} ${n}`);
let o = ev[n];
o && (r = `${r} - ${o}`);
}
return r.trim();
}
};
// src/common/js-package-manager/PNPMProxy.ts
import { existsSync as If, readFileSync as hf } from "node:fs";
import { join as lf } from "node:path";
import { prompt as Ef } from "storybook/internal/node-logger";
import { FindPackageVersionsError as tv } from "storybook/internal/server-errors";
var rv = /(ELIFECYCLE|ERR_PNPM_[A-Z_]+)\s+(.*)/i, Pn = class extends ee {
constructor() {
super(...arguments);
this.type = "pnpm";
}
static {
s(this, "PNPMProxy");
}
detectWorkspaceRoot() {
let r = `${process.cwd()}/pnpm-workspace.yaml`;
return If(r);
}
getRunCommand(e) {
return `pnpm run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `pnpm dlx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
async getPnpmVersion() {
return (await this.executeCommand({
command: "pnpm",
args: ["--version"]
})).stdout ?? null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = [], this.detectWorkspaceRoot() && this.installArgs.push("-w")), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "pnpm",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "pnpm",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({
command: "pnpm",
args: [e, ...r],
cwd: i,
stdio: n
});
}
async getRegistryURL() {
let r = ((await this.executeCommand({
command: "pnpm",
args: ["config", "get", "registry"]
})).stdout ?? "").trim();
return r === "undefined" ? void 0 : r;
}
async findInstallations(e, { depth: r = 99 } = {}) {
try {
let n = (await this.executeCommand({
command: "pnpm",
args: ["list", e.map((g) => `"${g}"`).join(" "), "--json", `--depth=${r}`],
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "", o = JSON.parse(n);
return this.mapDependencies(o, e);
} catch {
return;
}
}
getModulePackageJSON(e) {
let r = QA([".pnp.js", ".pnp.cjs"], {
cwd: this.primaryPackageJson.operationDir,
stopAt: pA()
});
if (r)
try {
let n = v(r), o = n.resolveToUnqualified(e, this.cwd, {
considerBuiltins: !1
}), g = n.findPackageLocator(o), C = n.getPackageInformation(g);
return JSON.parse(
hf(lf(C.packageLocation, "package.json"), "utf-8")
);
} catch (n) {
return n.code !== "MODULE_NOT_FOUND" && console.error("Error while fetching package version in PNPM PnP mode:", n), null;
}
let i = QA(
(n) => {
let o = lf(n, "node_modules", e, "package.json");
return If(o) ? o : void 0;
},
{ cwd: this.cwd, stopAt: pA() }
);
return i ? JSON.parse(hf(i, "utf-8")) : null;
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "pnpm",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: Ef.getPreferredStdio(),
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
r && (i = ["-D", ...i]);
let n = ["add", ...i, ...this.getInstallArgs()];
return this.executeCommand({
command: "pnpm",
args: n,
stdio: Ef.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "pnpm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new tv({
error: n,
packageManager: "PNPM",
packageName: e
});
}
}
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = e.reduce((I, E) => {
let { devDependencies: Q, dependencies: B, peerDependencies: p } = E, w = { ...Q, ...B, ...p };
return Object.assign(I, w);
}, {}), C = /* @__PURE__ */ s(([I, E]) => {
if (!I || !r.some((B) => new RegExp(`^${B.replace(/\*/g, ".*")}$`).test(I)))
return;
let Q = {
version: E.version,
location: ""
};
n[I]?.includes(Q.version) || (i[I] ? i[I].push(Q) : i[I] = [Q], n[I] = [...n[I] || [], Q.version], n[I].length > 1 && (o[I] = n[I])), E.
dependencies && Object.entries(E.dependencies).forEach(C);
}, "recurse");
return Object.entries(g).forEach(C), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "pnpm list --depth=1",
dedupeCommand: "pnpm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "PNPM error", i = e.match(rv);
if (i) {
let [n] = i;
n && (r = `${r} ${n}`);
}
return r.trim();
}
};
// src/common/js-package-manager/Yarn1Proxy.ts
import { existsSync as iv, readFileSync as sv } from "node:fs";
import { join as nv } from "node:path";
import { prompt as uf } from "storybook/internal/node-logger";
import { FindPackageVersionsError as ov } from "storybook/internal/server-errors";
// src/common/js-package-manager/util.ts
var Un = /* @__PURE__ */ s((t = "") => {
let [A, e, r] = t.replace(/[└─├]+/g, "").trim().split("@"), i = (r || e).replace("npm:", "");
return { name: r ? `@${e}` : A, value: { version: i, location: "" } };
}, "parsePackageData");
// src/common/js-package-manager/Yarn1Proxy.ts
var gv = /^error\s(.*)$/gm, _n = class extends ee {
constructor() {
super(...arguments);
this.type = "yarn1";
}
static {
s(this, "Yarn1Proxy");
}
getInstallArgs() {
return this.installArgs || (this.installArgs = ["--ignore-workspace-root-check"]), this.installArgs;
}
getRunCommand(e) {
return `yarn ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `npx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "yarn",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: ["exec", e, ...r], cwd: i, stdio: n });
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: [e, ...r], cwd: i, stdio: n });
}
getModulePackageJSON(e) {
let r = QA(
(i) => {
let n = nv(i, "node_modules", e, "package.json");
return iv(n) ? n : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: pA() }
);
return r ? JSON.parse(sv(r, "utf-8")) : null;
}
async getRegistryURL() {
let r = ((await this.executeCommand({
command: "yarn",
args: ["config", "get", "registry"]
})).stdout ?? "").trim();
return r === "undefined" ? void 0 : r;
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = ["list", "--pattern", e.map((n) => `"${n}"`).join(" "), "--json"];
r !== 0 && i.push("--recursive");
try {
let g = (await this.executeCommand({
command: "yarn",
args: i.concat(e),
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
return;
}
}
getResolutions(e, r) {
return {
resolutions: {
...e.resolutions,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "yarn",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: uf.getPreferredStdio(),
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "yarn",
args: ["add", ...this.getInstallArgs(), ...i],
stdio: uf.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = [r ? "versions" : "version", "--json"];
try {
let g = (await this.executeCommand({
command: "yarn",
args: ["info", e, ...i]
})).stdout ?? "", C = JSON.parse(g);
if (C.type === "inspect")
return C.data;
throw new Error("Yarn did not provide an output with type 'inspect'.");
} catch (n) {
throw new ov({
error: n,
packageManager: "Yarn 1",
packageName: e
});
}
}
mapDependencies(e, r) {
if (e.type === "tree") {
let { trees: i } = e.data, n = {}, o = {}, g = {}, C = /* @__PURE__ */ s((I) => {
let { children: E } = I, { name: Q, value: B } = Un(I.name);
!Q || !r.some((p) => new RegExp(`^${p.replace(/\*/g, ".*")}$`).test(Q)) || (o[Q]?.includes(B.version) || (n[Q] ? n[Q].push(B) : n[Q] =
[B], o[Q] = [...o[Q] || [], B.version], o[Q].length > 1 && (g[Q] = o[Q])), E.forEach(C));
}, "recurse");
return i.forEach(C), {
dependencies: n,
duplicatedDependencies: g,
infoCommand: "yarn why",
dedupeCommand: "yarn dedupe"
};
}
throw new Error("Something went wrong while parsing yarn output");
}
parseErrorFromLogs(e) {
let r = "YARN1 error", i = e.match(gv);
if (i) {
let n = i[0]?.replace(/^error\s(.*)$/, "$1");
n && (r = `${r}: ${n}`);
}
return r.trim();
}
};
// src/common/js-package-manager/Yarn2Proxy.ts
var Hr = cA(sd(), 1), Bd = cA(ld(), 1);
import { existsSync as _x, readFileSync as Gx } from "node:fs";
import { join as Ed } from "node:path";
import { prompt as Jx } from "storybook/internal/node-logger";
import { FindPackageVersionsError as Ox } from "storybook/internal/server-errors";
var ud = {
YN0001: "EXCEPTION",
YN0002: "MISSING_PEER_DEPENDENCY",
YN0003: "CYCLIC_DEPENDENCIES",
YN0004: "DISABLED_BUILD_SCRIPTS",
YN0005: "BUILD_DISABLED",
YN0006: "SOFT_LINK_BUILD",
YN0007: "MUST_BUILD",
YN0008: "MUST_REBUILD",
YN0009: "BUILD_FAILED",
YN0010: "RESOLVER_NOT_FOUND",
YN0011: "FETCHER_NOT_FOUND",
YN0012: "LINKER_NOT_FOUND",
YN0013: "FETCH_NOT_CACHED",
YN0014: "YARN_IMPORT_FAILED",
YN0015: "REMOTE_INVALID",
YN0016: "REMOTE_NOT_FOUND",
YN0018: "CACHE_CHECKSUM_MISMATCH",
YN0019: "UNUSED_CACHE_ENTRY",
YN0020: "MISSING_LOCKFILE_ENTRY",
YN0022: "TOO_MANY_MATCHING_WORKSPACES",
YN0023: "CONSTRAINTS_MISSING_DEPENDENCY",
YN0024: "CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",
YN0025: "CONSTRAINTS_EXTRANEOUS_DEPENDENCY",
YN0026: "CONSTRAINTS_INVALID_DEPENDENCY",
YN0027: "CANT_SUGGEST_RESOLUTIONS",
YN0028: "FROZEN_LOCKFILE_EXCEPTION",
YN0029: "CROSS_DRIVE_VIRTUAL_LOCAL",
YN0030: "FETCH_FAILED",
YN0031: "DANGEROUS_NODE_MODULES",
YN0035: "NETWORK_ERROR",
YN0046: "AUTOMERGE_FAILED_TO_PARSE",
YN0047: "AUTOMERGE_IMMUTABLE",
YN0048: "AUTOMERGE_SUCCESS",
YN0049: "AUTOMERGE_REQUIRED",
YN0050: "DEPRECATED_CLI_SETTINGS",
YN0059: "INVALID_RANGE_PEER_DEPENDENCY",
YN0060: "INCOMPATIBLE_PEER_DEPENDENCY",
YN0062: "INCOMPATIBLE_OS",
YN0063: "INCOMPATIBLE_CPU",
YN0069: "REDUNDANT_PACKAGE_EXTENSION",
YN0071: "NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",
YN0072: "NM_PRESERVE_SYMLINKS_REQUIRED",
YN0074: "NM_HARDLINKS_MODE_DOWNGRADED",
YN0075: "PROLOG_INSTANTIATION_ERROR",
YN0076: "INCOMPATIBLE_ARCHITECTURE",
YN0077: "GHOST_ARCHITECTURE",
YN0078: "RESOLUTION_MISMATCH",
YN0080: "NETWORK_DISABLED",
YN0081: "NETWORK_UNSAFE_HTTP",
YN0082: "RESOLUTION_FAILED",
YN0083: "AUTOMERGE_GIT_ERROR",
YN0086: "EXPLAIN_PEER_DEPENDENCIES_CTA",
YN0090: "OFFLINE_MODE_ENABLED"
}, uo = class extends ee {
constructor() {
super(...arguments);
this.type = "yarn2";
}
static {
s(this, "Yarn2Proxy");
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
getRunCommand(e) {
return `yarn ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `yarn dlx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "yarn",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: ["exec", e, ...r], cwd: i, stdio: n });
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: [e, ...r], cwd: i, stdio: n });
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = ["info", "--name-only"];
r !== 0 && i.push("--recursive");
try {
let o = (await this.executeCommand({
command: "yarn",
args: i.concat(e),
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "";
return this.mapDependencies(o, e);
} catch {
return;
}
}
getModulePackageJSON(e) {
let r = QA([".pnp.js", ".pnp.cjs"], {
cwd: this.cwd,
stopAt: pA()
});
if (r)
try {
let o = v(r), g = o.resolveToUnqualified(
e,
this.primaryPackageJson.operationDir,
{
considerBuiltins: !1
}
), C = o.findPackageLocator(g), I = o.getPackageInformation(C), E = new Hr.ZipOpenFS({
libzip: (0, Bd.getLibzipSync)()
}), Q = new Hr.VirtualFS({ baseFs: E }), B = new Hr.PosixFS(Q), p = Ed(I.packageLocation, "package.json");
return B.readJsonSync(p);
} catch (o) {
return o.code !== "MODULE_NOT_FOUND" && console.error("Error while fetching package version in Yarn PnP mode:", o), null;
}
let i = QA(
(o) => {
let g = Ed(o, "node_modules", e, "package.json");
return _x(g) ? g : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: pA() }
);
return i ? JSON.parse(Gx(i, "utf-8")) : null;
}
getResolutions(e, r) {
return {
resolutions: {
...e.resolutions,
...r
}
};
}
runInstall() {
return this.executeCommand({
command: "yarn",
args: ["install", ...this.getInstallArgs()],
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "yarn",
args: ["add", ...this.getInstallArgs(), ...i],
stdio: Jx.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "yarn",
args: ["config", "get", "npmRegistryServer"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
async runGetVersions(e, r) {
let i = r ? "versions" : "version", n = ["--fields", i, "--json"];
try {
let C = (await this.executeCommand({
command: "yarn",
args: ["npm", "info", e, ...n]
})).stdout ?? "";
return JSON.parse(C)[i];
} catch (o) {
throw new Ox({
error: o,
packageManager: "Yarn Berry",
packageName: e
});
}
}
mapDependencies(e, r) {
let i = e.split(`
`), n = {}, o = {}, g = {};
return i.forEach((C) => {
if (!C || !r.some((Q) => new RegExp(`${Q.replace(/\*/g, ".*")}`).test(C)))
return;
let { name: I, value: E } = Un(C.replaceAll('"', ""));
o[I]?.includes(E.version) || (n[I] ? n[I].push(E) : n[I] = [E], o[I] = [...o[I] || [], E.version], o[I].length > 1 && (g[I] = o[I]));
}), {
dependencies: n,
duplicatedDependencies: g,
infoCommand: "yarn why",
dedupeCommand: "yarn dedupe"
};
}
parseErrorFromLogs(e) {
let r = "YARN2 error", i = [], n = /(YN\d{4}): (.+)/g, o;
for (; (o = n.exec(e)) !== null; ) {
let g = o[1], C = o[2].replace(/[┌│└]/g, "").trim();
g in ud && i.push({
code: g,
message: `${ud[g]}
-> ${C}
`
});
}
return [
r,
i.map(({ code: g, message: C }) => `${g}: ${C}`).join(`
`)
].join(`
`);
}
};
// src/common/js-package-manager/JsPackageManagerFactory.ts
var fd = class {
static {
s(this, "JsPackageManagerFactory");
}
static {
/** Cache for package manager instances */
this.cache = /* @__PURE__ */ new Map();
}
/** Generate a cache key based on the parameters */
static getCacheKey(A, e = ".storybook", r = process.cwd(), i) {
return JSON.stringify({ force: A || null, configDir: e, cwd: r, storiesPaths: i });
}
/** Clear the package manager cache */
static clearCache() {
this.cache.clear();
}
/**
* Determine which package manager type to use based on lockfiles, commands, and environment
*
* @param cwd - Current working directory
* @returns Package manager type as string: 'npm', 'pnpm', 'bun', 'yarn1', or 'yarn2'
* @throws Error if no usable package manager is found
*/
static getPackageManagerType(A = process.cwd()) {
let e = pA(), i = [
QA(mn, { cwd: A, stopAt: e }),
QA(wn, { cwd: A, stopAt: e }),
QA(pn, { cwd: A, stopAt: e }),
QA(yn, { cwd: A, stopAt: e }),
QA(Dn, { cwd: A, stopAt: e })
].filter(Boolean).sort((I, E) => {
let Q = Qd(I).dir, B = Qd(E).dir, p = Hx(Q, B);
return Q === B ? 0 : p.startsWith("..") ? -1 : 1;
})[0], n = i && Tx(i), o = Wx(A);
if (o && n === mn)
return o === 1 ? "yarn1" : "yarn2";
if (zx(A) && n === wn)
return "pnpm";
let g = jx(A);
if (g && n === pn)
return "npm";
if (qx(A) && (n === yn || n === Dn))
return "bun";
let C = this.inferPackageManagerFromUserAgent();
if (C && C in this.PROXY_MAP)
return C;
if (g)
return "npm";
throw new Error("Unable to find a usable package manager within NPM, PNPM, Yarn and Yarn 2");
}
static getPackageManager({
force: A,
configDir: e = ".storybook",
storiesPaths: r,
ignoreCache: i = !1
} = {}, n = process.cwd()) {
let o = this.getCacheKey(A, e, n, r), g = this.cache.get(o);
if (g && !i)
return g;
if (A && A in this.PROXY_MAP) {
let E = new this.PROXY_MAP[A]({ cwd: n, configDir: e, storiesPaths: r });
return this.cache.set(o, E), E;
}
let C = this.getPackageManagerType(n), I = new this.PROXY_MAP[C]({ cwd: n, configDir: e, storiesPaths: r });
return this.cache.set(o, I), I;
}
static {
/** Look up map of package manager proxies by name */
this.PROXY_MAP = {
npm: Yn,
pnpm: Pn,
yarn1: _n,
yarn2: uo,
bun: xn
};
}
/**
* Infer the package manager based on the command the user is running. Each package manager sets
* the `npm_config_user_agent` environment variable with its name and version e.g. "npm/7.24.0"
* Which is really useful when invoking commands via npx/pnpx/yarn create/etc.
*/
static inferPackageManagerFromUserAgent() {
let A = process.env.npm_config_user_agent;
if (A) {
let e = A.split(" ")[0], [r, i] = e.split("/");
if (r === "pnpm")
return "pnpm";
if (r === "npm")
return "npm";
if (r === "yarn")
return `yarn${i?.startsWith("1.") ? "1" : "2"}`;
}
}
};
function jx(t) {
return (0, es.sync)("npm", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...ir
}
}).status === 0;
}
s(jx, "hasNPM");
function qx(t) {
return (0, es.sync)("bun", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...ir
}
}).status === 0;
}
s(qx, "hasBun");
function zx(t) {
return (0, es.sync)("pnpm", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...ir
}
}).status === 0;
}
s(zx, "hasPNPM");
function Wx(t) {
let A = (0, es.sync)("yarn", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...ir
}
});
if (A.status !== 0)
return;
let e = A.output.toString().replace(/,/g, "").replace(/"/g, "");
return /^1\.+/.test(e) ? 1 : 2;
}
s(Wx, "getYarnVersion");
// src/common/utils/scan-and-transform-files.ts
var oK = cA(Wm(), 1);
async function KAA({
promptMessage: t = "Enter a custom glob pattern to scan (or press enter to use default):",
defaultGlob: A = "**/*.{mjs,cjs,js,jsx,ts,tsx,mdx}",
dryRun: e = !1,
force: r = !1,
transformFn: i,
transformOptions: n
}) {
let { glob: o } = r ? { glob: A } : await (0, oK.default)({
type: "text",
name: "glob",
message: t,
initial: A
});
console.log("Scanning for affected files...");
let g = (await Promise.resolve().then(() => (nK(), sK))).globby, C = await g([o], {
...hQ(""),
ignore: ["**/node_modules/**"],
dot: !0,
cwd: pA(),
absolute: !0
});
return console.log(`Scanning ${C.length} files...`), i(C, n, e);
}
s(KAA, "scanAndTransformFiles");
// src/common/utils/transform-imports.ts
import { readFile as FO, writeFile as kO } from "node:fs/promises";
function bO(t, A) {
let e = !1, r = t;
for (let [i, n] of Object.entries(A)) {
let o = new RegExp(`(['"])${i}(/.*)?\\1`, "g");
o.test(r) && (r = r.replace(o, `$1${n}$2$1`), e = !0);
}
return e ? r : null;
}
s(bO, "transformImports");
var RAA = /* @__PURE__ */ s(async (t, A, e) => {
let r = [], { default: i } = await Promise.resolve().then(() => (CK(), aK)), n = i(10);
return await Promise.all(
t.map(
(o) => n(async () => {
try {
let g = await FO(o, "utf-8"), C = bO(g, A);
!e && C && await kO(o, C);
} catch (g) {
r.push({ file: o, error: g });
}
})
)
), r;
}, "transformImportFiles");
export {
ir as COMMON_ENV_VARS,
o0 as DEFAULT_FILES_PATTERN,
Vs as FileSystemCache,
_i as HandledError,
ee as JsPackageManager,
fd as JsPackageManagerFactory,
fg as boost,
SW as builderPackages,
Oj as cache,
jW as checkAddonOrder,
w3 as codeLog,
d3 as commandLog,
hQ as commonGlobOptions,
jg as createFileSystemCache,
GW as createLogStream,
QQ as extractProperFrameworkName,
k4 as extractProperRendererNameFromFramework,
Gk as filterPresetsConfig,
Ua as findConfigFile,
cV as formatFileContent,
xr as frameworkPackages,
lQ as frameworkToRenderer,
af as getAddonNames,
ER as getAutoRefs,
E4 as getBuilderOptions,
jQ as getChars,
UW as getCoercedStorybookVersion,
Ga as getConfigInfo,
a0 as getDirectoryFromWorkingDir,
_W as getEnvConfig,
BQ as getFrameworkName,
pr as getInterpretedFile,
Bl as getInterpretedFileWithExt,
jB as getPackageDetails,
jk as getPresets,
Z3 as getPreviewBodyTemplate,
$3 as getPreviewHeadTemplate,
pA as getProjectRoot,
Y4 as getRefs,
F4 as getRendererName,
SV as getStoryId,
b0 as getStoryTitle,
qB as getStorybookConfiguration,
KW as getStorybookInfo,
Y0 as getSyncedStorybookAddons,
JQ as globToRegexp,
dg as interopRequireDefault,
X4 as interpolate,
iW as invalidateProjectRootCache,
XB as isCorePackage,
q3 as isPreservingSymlinks,
JW as isSatelliteAddon,
_1 as loadAllPresets,
BE as loadCustomPresets,
o4 as loadEnvs,
s3 as loadMainConfig,
c3 as loadManagerOrAddonsFile,
Hk as loadPreset,
u3 as loadPreviewOrConfigFile,
D3 as logConfig,
GB as nodePathsToArray,
v3 as normalizeStories,
C0 as normalizeStoriesEntry,
JB as normalizeStoryPath,
p3 as paddedLog,
PW as parseList,
of as posix,
P3 as readTemplate,
T3 as removeAddon,
_a as rendererPackages,
Jk as resolveAddonName,
VE as resolvePathInStorybookCache,
gV as satisfies,
KAA as scanAndTransformFiles,
Ii as serverRequire,
hi as serverResolve,
g4 as stringifyEnvs,
a4 as stringifyProcessEnvs,
mE as stripAbsNodeModulesPath,
_V as syncStorybookAddons,
JM as temporaryDirectory,
OM as temporaryFile,
RAA as transformImportFiles,
qs as validateConfigurationFiles,
sV as validateFrameworkName,
nt as versions
};