File: //lib/node_modules/pnpm/dist/pnpm.mjs
import { createRequire as _cr } from 'module';const require = _cr(import.meta.url); const __filename = import.meta.filename; const __dirname = import.meta.dirname;var _ew=process.emitWarning;process.emitWarning=function(w,...a){if(String(w).includes('SQLite')&&(a[0]==='ExperimentalWarning'||(a[0]&&a[0].type==='ExperimentalWarning')))return;return _ew.call(process,w,...a)};
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __require = /* @__PURE__ */ ((x3) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x3, {
get: (a2, b) => (typeof require !== "undefined" ? require : a2)[b]
}) : x3)(function(x3) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error('Dynamic require of "' + x3 + '" is not supported');
});
var __esm = (fn, res, err2) => function __init() {
if (err2) throw err2[0];
try {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
} catch (e) {
throw err2 = [e], e;
}
};
var __commonJS = (cb, mod2) => function __require3() {
try {
return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports;
} catch (e) {
throw mod2 = 0, e;
}
};
var __export = (target2, all) => {
for (var name in all)
__defProp(target2, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from5, except, desc) => {
if (from5 && typeof from5 === "object" || typeof from5 === "function") {
for (let key of __getOwnPropNames(from5))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from5[key], enumerable: !(desc = __getOwnPropDesc(from5, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod2, isNodeMode, target2) => (target2 = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps(
// 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.
isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target2, "default", { value: mod2, enumerable: true }) : target2,
mod2
));
var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2);
// ../core/constants/lib/index.js
var WANTED_LOCKFILE, LOCKFILE_MAJOR_VERSION, LOCKFILE_VERSION, MANIFEST_BASE_NAMES, ENGINE_NAME, LAYOUT_VERSION, STORE_VERSION, GLOBAL_LAYOUT_VERSION, GLOBAL_CONFIG_YAML_FILENAME, WORKSPACE_MANIFEST_FILENAME, ABBREVIATED_META_DIR, FULL_META_DIR, FULL_FILTERED_META_DIR;
var init_lib = __esm({
"../core/constants/lib/index.js"() {
"use strict";
WANTED_LOCKFILE = "pnpm-lock.yaml";
LOCKFILE_MAJOR_VERSION = "9";
LOCKFILE_VERSION = `${LOCKFILE_MAJOR_VERSION}.0`;
MANIFEST_BASE_NAMES = ["package.json", "package.json5", "package.yaml"];
ENGINE_NAME = `${process.platform};${process.arch};node${process.version.split(".")[0].substring(1)}`;
LAYOUT_VERSION = 5;
STORE_VERSION = "v11";
GLOBAL_LAYOUT_VERSION = "v11";
GLOBAL_CONFIG_YAML_FILENAME = "config.yaml";
WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml";
ABBREVIATED_META_DIR = "v11/metadata";
FULL_META_DIR = "v11/metadata-full";
FULL_FILTERED_META_DIR = "v11/metadata-full-filtered";
}
});
// ../core/error/lib/index.js
function redactUrlCredentials(text) {
let result2 = "";
let cursor = 0;
while (cursor < text.length) {
const schemeSep = text.indexOf("://", cursor);
if (schemeSep === -1)
return result2 + text.slice(cursor);
const authorityStart = schemeSep + 3;
result2 += text.slice(cursor, authorityStart);
cursor = authorityStart;
if (schemeSep === 0 || !isSchemeTailChar(text.charCodeAt(schemeSep - 1)))
continue;
let lastAt = -1;
for (let i4 = authorityStart; i4 < text.length; i4++) {
const code = text.charCodeAt(i4);
if (code === 47 || code === 63 || code === 35 || isAsciiWhitespace(code))
break;
if (code === 64)
lastAt = i4;
}
if (lastAt !== -1)
cursor = lastAt + 1;
}
return result2;
}
function isSchemeTailChar(code) {
return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122;
}
function isAsciiWhitespace(code) {
return code === 32 || code === 9 || code === 10 || code === 11 || code === 12 || code === 13;
}
function hideAuthInformation(authHeaderValue) {
const [authType, token] = authHeaderValue.split(" ");
if (token == null)
return "[hidden]";
if (token.length < 20) {
return `${authType} [hidden]`;
}
return `${authType} ${token.substring(0, 4)}[hidden]`;
}
var PnpmError, FetchError, LockfileMissingDependencyError;
var init_lib2 = __esm({
"../core/error/lib/index.js"() {
"use strict";
init_lib();
PnpmError = class extends Error {
code;
hint;
attempts;
prefix;
pkgsStack;
constructor(code, message, opts3) {
super(message, { cause: opts3?.cause });
this.code = code.startsWith("ERR_PNPM_") ? code : `ERR_PNPM_${code}`;
this.hint = opts3?.hint;
this.attempts = opts3?.attempts;
}
};
FetchError = class extends PnpmError {
response;
request;
constructor(request, response, hint) {
const _request = {
url: request.url
};
if (request.authHeaderValue) {
_request.authHeaderValue = hideAuthInformation(request.authHeaderValue);
}
const message = `GET ${redactUrlCredentials(request.url)}: ${response.statusText} - ${response.status}`;
if (response.status === 401 || response.status === 403 || response.status === 404) {
hint = hint ? `${hint}
` : "";
if (_request.authHeaderValue) {
hint += `An authorization header was used: ${_request.authHeaderValue}`;
} else {
hint += "No authorization header was set for the request.";
}
}
super(`FETCH_${response.status}`, message, { hint });
this.request = _request;
this.response = response;
}
};
LockfileMissingDependencyError = class extends PnpmError {
constructor(depPath) {
const message = `Broken lockfile: no entry for '${depPath}' in ${WANTED_LOCKFILE}`;
super("LOCKFILE_MISSING_DEPENDENCY", message, {
hint: "This issue is probably caused by a badly resolved merge conflict.\nTo fix the lockfile, run 'pnpm install --no-frozen-lockfile'."
});
}
};
}
});
// ../core/logger/lib/LogBase.js
var init_LogBase = __esm({
"../core/logger/lib/LogBase.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-safe-stringify/2.1.1/71177aa317bf9c10d6ba54feb1e03d154d670845bac275960b4cc587a01d5783/node_modules/fast-safe-stringify/index.js
var require_fast_safe_stringify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-safe-stringify/2.1.1/71177aa317bf9c10d6ba54feb1e03d154d670845bac275960b4cc587a01d5783/node_modules/fast-safe-stringify/index.js"(exports2, module2) {
module2.exports = stringify2;
stringify2.default = stringify2;
stringify2.stable = deterministicStringify;
stringify2.stableStringify = deterministicStringify;
var LIMIT_REPLACE_NODE = "[...]";
var CIRCULAR_REPLACE_NODE = "[Circular]";
var arr = [];
var replacerStack = [];
function defaultOptions4() {
return {
depthLimit: Number.MAX_SAFE_INTEGER,
edgesLimit: Number.MAX_SAFE_INTEGER
};
}
function stringify2(obj, replacer2, spacer, options) {
if (typeof options === "undefined") {
options = defaultOptions4();
}
decirc(obj, "", 0, [], void 0, 0, options);
var res;
try {
if (replacerStack.length === 0) {
res = JSON.stringify(obj, replacer2, spacer);
} else {
res = JSON.stringify(obj, replaceGetterValues(replacer2), spacer);
}
} catch (_) {
return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
} finally {
while (arr.length !== 0) {
var part = arr.pop();
if (part.length === 4) {
Object.defineProperty(part[0], part[1], part[3]);
} else {
part[0][part[1]] = part[2];
}
}
}
return res;
}
function setReplace(replace, val, k2, parent) {
var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k2);
if (propertyDescriptor.get !== void 0) {
if (propertyDescriptor.configurable) {
Object.defineProperty(parent, k2, { value: replace });
arr.push([parent, k2, val, propertyDescriptor]);
} else {
replacerStack.push([val, k2, replace]);
}
} else {
parent[k2] = replace;
arr.push([parent, k2, val]);
}
}
function decirc(val, k2, edgeIndex, stack, parent, depth, options) {
depth += 1;
var i4;
if (typeof val === "object" && val !== null) {
for (i4 = 0; i4 < stack.length; i4++) {
if (stack[i4] === val) {
setReplace(CIRCULAR_REPLACE_NODE, val, k2, parent);
return;
}
}
if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
setReplace(LIMIT_REPLACE_NODE, val, k2, parent);
return;
}
if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
setReplace(LIMIT_REPLACE_NODE, val, k2, parent);
return;
}
stack.push(val);
if (Array.isArray(val)) {
for (i4 = 0; i4 < val.length; i4++) {
decirc(val[i4], i4, i4, stack, val, depth, options);
}
} else {
var keys4 = Object.keys(val);
for (i4 = 0; i4 < keys4.length; i4++) {
var key = keys4[i4];
decirc(val[key], key, i4, stack, val, depth, options);
}
}
stack.pop();
}
}
function compareFunction(a2, b) {
if (a2 < b) {
return -1;
}
if (a2 > b) {
return 1;
}
return 0;
}
function deterministicStringify(obj, replacer2, spacer, options) {
if (typeof options === "undefined") {
options = defaultOptions4();
}
var tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj;
var res;
try {
if (replacerStack.length === 0) {
res = JSON.stringify(tmp, replacer2, spacer);
} else {
res = JSON.stringify(tmp, replaceGetterValues(replacer2), spacer);
}
} catch (_) {
return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
} finally {
while (arr.length !== 0) {
var part = arr.pop();
if (part.length === 4) {
Object.defineProperty(part[0], part[1], part[3]);
} else {
part[0][part[1]] = part[2];
}
}
}
return res;
}
function deterministicDecirc(val, k2, edgeIndex, stack, parent, depth, options) {
depth += 1;
var i4;
if (typeof val === "object" && val !== null) {
for (i4 = 0; i4 < stack.length; i4++) {
if (stack[i4] === val) {
setReplace(CIRCULAR_REPLACE_NODE, val, k2, parent);
return;
}
}
try {
if (typeof val.toJSON === "function") {
return;
}
} catch (_) {
return;
}
if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
setReplace(LIMIT_REPLACE_NODE, val, k2, parent);
return;
}
if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
setReplace(LIMIT_REPLACE_NODE, val, k2, parent);
return;
}
stack.push(val);
if (Array.isArray(val)) {
for (i4 = 0; i4 < val.length; i4++) {
deterministicDecirc(val[i4], i4, i4, stack, val, depth, options);
}
} else {
var tmp = {};
var keys4 = Object.keys(val).sort(compareFunction);
for (i4 = 0; i4 < keys4.length; i4++) {
var key = keys4[i4];
deterministicDecirc(val[key], key, i4, stack, val, depth, options);
tmp[key] = val[key];
}
if (typeof parent !== "undefined") {
arr.push([parent, k2, val]);
parent[k2] = tmp;
} else {
return tmp;
}
}
stack.pop();
}
}
function replaceGetterValues(replacer2) {
replacer2 = typeof replacer2 !== "undefined" ? replacer2 : function(k2, v) {
return v;
};
return function(key, val) {
if (replacerStack.length > 0) {
for (var i4 = 0; i4 < replacerStack.length; i4++) {
var part = replacerStack[i4];
if (part[1] === key && part[0] === val) {
val = part[2];
replacerStack.splice(i4, 1);
break;
}
}
}
return replacer2.call(this, key, val);
};
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/individual/3.0.0/82ec8ef054bfaf915092db8496dd7cdf5d8a529ff6202ce432d93772b51b5045/node_modules/individual/index.js
var require_individual = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/individual/3.0.0/82ec8ef054bfaf915092db8496dd7cdf5d8a529ff6202ce432d93772b51b5045/node_modules/individual/index.js"(exports2, module2) {
"use strict";
var root = typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
module2.exports = Individual;
function Individual(key, value) {
if (key in root) {
return root[key];
}
root[key] = value;
return value;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bole/5.0.29/6922e0a3a11b46fb67db71b821bacb20a87db33d8d1fb079a84a148dc6373834/node_modules/bole/format.js
var require_format = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bole/5.0.29/6922e0a3a11b46fb67db71b821bacb20a87db33d8d1fb079a84a148dc6373834/node_modules/bole/format.js"(exports2, module2) {
var utilformat = __require("util").format;
function format2(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
if (a16 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
}
if (a15 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
}
if (a14 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
}
if (a13 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
}
if (a12 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
}
if (a11 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
}
if (a10 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
}
if (a9 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
if (a8 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7, a8);
}
if (a7 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6, a7);
}
if (a6 !== void 0) {
return utilformat(a1, a2, a3, a4, a5, a6);
}
if (a5 !== void 0) {
return utilformat(a1, a2, a3, a4, a5);
}
if (a4 !== void 0) {
return utilformat(a1, a2, a3, a4);
}
if (a3 !== void 0) {
return utilformat(a1, a2, a3);
}
if (a2 !== void 0) {
return utilformat(a1, a2);
}
return a1;
}
module2.exports = format2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bole/5.0.29/6922e0a3a11b46fb67db71b821bacb20a87db33d8d1fb079a84a148dc6373834/node_modules/bole/bole.js
var require_bole = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bole/5.0.29/6922e0a3a11b46fb67db71b821bacb20a87db33d8d1fb079a84a148dc6373834/node_modules/bole/bole.js"(exports2, module2) {
"use strict";
var _stringify = require_fast_safe_stringify();
var individual = require_individual()("$$bole", { fastTime: false });
var format2 = require_format();
var levels = "debug info warn error".split(" ");
var os17 = __require("os");
var pid = process.pid;
var hasObjMode = false;
var scache = [];
var hostname;
try {
hostname = os17.hostname();
} catch (e) {
hostname = os17.version().indexOf("Windows 7 ") === 0 ? "windows7" : "hostname-unknown";
}
var hostnameSt = _stringify(hostname);
for (const level of levels) {
scache[level] = ',"hostname":' + hostnameSt + ',"pid":' + pid + ',"level":"' + level;
Number(scache[level]);
if (!Array.isArray(individual[level])) {
individual[level] = [];
}
}
function stackToString(e) {
let s = e.stack;
let ce;
if (typeof e.cause === "function" && (ce = e.cause())) {
s += "\nCaused by: " + stackToString(ce);
}
return s;
}
function errorToOut(err2, out) {
out.err = {
name: err2.name,
message: err2.message,
code: err2.code,
// perhaps
stack: stackToString(err2)
};
}
function requestToOut(req2, out) {
out.req = {
method: req2.method,
url: req2.url,
headers: req2.headers,
remoteAddress: req2.connection.remoteAddress,
remotePort: req2.connection.remotePort
};
}
function objectToOut(obj, out) {
for (const k2 in obj) {
if (Object.prototype.hasOwnProperty.call(obj, k2) && obj[k2] !== void 0) {
out[k2] = obj[k2];
}
}
}
function objectMode(stream2) {
return stream2._writableState && stream2._writableState.objectMode === true;
}
function stringify2(level, name, message, obj) {
let s = '{"time":' + (individual.fastTime ? Date.now() : '"' + (/* @__PURE__ */ new Date()).toISOString() + '"') + scache[level] + '","name":' + name + (message !== void 0 ? ',"message":' + _stringify(message) : "");
for (const k2 in obj) {
s += "," + _stringify(k2) + ":" + _stringify(obj[k2]);
}
s += "}";
Number(s);
return s;
}
function extend3(level, name, message, obj) {
const newObj = {
time: individual.fastTime ? Date.now() : (/* @__PURE__ */ new Date()).toISOString(),
hostname,
pid,
level,
name
};
if (message !== void 0) {
obj.message = message;
}
for (const k2 in obj) {
newObj[k2] = obj[k2];
}
return newObj;
}
function levelLogger(level, name) {
const outputs = individual[level];
const nameSt = _stringify(name);
return function namedLevelLogger(inp, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
if (outputs.length === 0) {
return;
}
const out = {};
let objectOut;
let i4 = 0;
const l = outputs.length;
let stringified;
let message;
if (typeof inp === "string" || inp == null) {
if (!(message = format2(inp, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
message = void 0;
}
} else {
if (inp instanceof Error) {
if (typeof a2 === "object") {
objectToOut(a2, out);
errorToOut(inp, out);
if (!(message = format2(a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
message = void 0;
}
} else {
errorToOut(inp, out);
if (!(message = format2(a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
message = void 0;
}
}
} else {
if (!(message = format2(a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
message = void 0;
}
}
if (typeof inp === "boolean") {
message = String(inp);
} else if (typeof inp === "object" && !(inp instanceof Error)) {
if (inp.method && inp.url && inp.headers && inp.socket) {
requestToOut(inp, out);
} else {
objectToOut(inp, out);
}
}
}
if (l === 1 && !hasObjMode) {
outputs[0].write(Buffer.from(stringify2(level, nameSt, message, out) + "\n"));
return;
}
for (; i4 < l; i4++) {
if (objectMode(outputs[i4])) {
if (objectOut === void 0) {
objectOut = extend3(level, name, message, out);
}
outputs[i4].write(objectOut);
} else {
if (stringified === void 0) {
stringified = Buffer.from(stringify2(level, nameSt, message, out) + "\n");
}
outputs[i4].write(stringified);
}
}
};
}
function bole7(name) {
function boleLogger(subname) {
return bole7(name + ":" + subname);
}
function makeLogger(p, level) {
p[level] = levelLogger(level, name);
return p;
}
return levels.reduce(makeLogger, boleLogger);
}
bole7.output = function output(opt) {
let b = false;
if (Array.isArray(opt)) {
opt.forEach(bole7.output);
return bole7;
}
if (typeof opt.level !== "string") {
throw new TypeError('Must provide a "level" option');
}
for (const level of levels) {
if (!b && level === opt.level) {
b = true;
}
if (b) {
if (opt.stream && objectMode(opt.stream)) {
hasObjMode = true;
}
individual[level].push(opt.stream);
}
}
return bole7;
};
bole7.reset = function reset2() {
for (const level of levels) {
individual[level].splice(0, individual[level].length);
}
individual.fastTime = false;
return bole7;
};
bole7.setFastTime = function setFastTime(b) {
if (!arguments.length) {
individual.fastTime = true;
} else {
individual.fastTime = b;
}
return bole7;
};
module2.exports = bole7;
}
});
// ../core/logger/lib/logger.js
function globalWarn(message) {
globalLogger.warn(message);
}
function globalInfo(message) {
globalLogger.info(message);
}
var import_bole, logger, globalLogger;
var init_logger = __esm({
"../core/logger/lib/logger.js"() {
"use strict";
import_bole = __toESM(require_bole(), 1);
import_bole.default.setFastTime();
logger = (0, import_bole.default)("pnpm");
globalLogger = (0, import_bole.default)("pnpm:global");
}
});
// ../core/logger/lib/LogLevel.js
var init_LogLevel = __esm({
"../core/logger/lib/LogLevel.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/split2/4.2.0/40e414c630ab7f443818aa50ee06a670a46fe60cf81f7f81a46733d76a4ce6ba/node_modules/split2/index.js
var require_split2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/split2/4.2.0/40e414c630ab7f443818aa50ee06a670a46fe60cf81f7f81a46733d76a4ce6ba/node_modules/split2/index.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("stream");
var { StringDecoder: StringDecoder4 } = __require("string_decoder");
var kLast = /* @__PURE__ */ Symbol("last");
var kDecoder = /* @__PURE__ */ Symbol("decoder");
function transform3(chunk, enc, cb) {
let list2;
if (this.overflow) {
const buf = this[kDecoder].write(chunk);
list2 = buf.split(this.matcher);
if (list2.length === 1) return cb();
list2.shift();
this.overflow = false;
} else {
this[kLast] += this[kDecoder].write(chunk);
list2 = this[kLast].split(this.matcher);
}
this[kLast] = list2.pop();
for (let i4 = 0; i4 < list2.length; i4++) {
try {
push(this, this.mapper(list2[i4]));
} catch (error) {
return cb(error);
}
}
this.overflow = this[kLast].length > this.maxLength;
if (this.overflow && !this.skipOverflow) {
cb(new Error("maximum buffer reached"));
return;
}
cb();
}
function flush(cb) {
this[kLast] += this[kDecoder].end();
if (this[kLast]) {
try {
push(this, this.mapper(this[kLast]));
} catch (error) {
return cb(error);
}
}
cb();
}
function push(self2, val) {
if (val !== void 0) {
self2.push(val);
}
}
function noop5(incoming) {
return incoming;
}
function split4(matcher, mapper, options) {
matcher = matcher || /\r?\n/;
mapper = mapper || noop5;
options = options || {};
switch (arguments.length) {
case 1:
if (typeof matcher === "function") {
mapper = matcher;
matcher = /\r?\n/;
} else if (typeof matcher === "object" && !(matcher instanceof RegExp) && !matcher[Symbol.split]) {
options = matcher;
matcher = /\r?\n/;
}
break;
case 2:
if (typeof matcher === "function") {
options = mapper;
mapper = matcher;
matcher = /\r?\n/;
} else if (typeof mapper === "object") {
options = mapper;
mapper = noop5;
}
}
options = Object.assign({}, options);
options.autoDestroy = true;
options.transform = transform3;
options.flush = flush;
options.readableObjectMode = true;
const stream2 = new Transform2(options);
stream2[kLast] = "";
stream2[kDecoder] = new StringDecoder4("utf8");
stream2.matcher = matcher;
stream2.mapper = mapper;
stream2.maxLength = options.maxLength;
stream2.skipOverflow = options.skipOverflow || false;
stream2.overflow = false;
stream2._destroy = function(err2, cb) {
this._writableState.errorEmitted = false;
cb(err2);
};
return stream2;
}
module2.exports = split4;
}
});
// ../core/logger/lib/ndjsonParse.js
function parse() {
function parseRow(row) {
try {
if (row)
return JSON.parse(row);
} catch (_e) {
if (opts.strict) {
this.emit("error", new Error(`Could not parse row "${row.length > 50 ? `${row.slice(0, 50)}...` : row}"`));
}
}
}
return (0, import_split2.default)(parseRow, opts);
}
var import_split2, opts;
var init_ndjsonParse = __esm({
"../core/logger/lib/ndjsonParse.js"() {
"use strict";
import_split2 = __toESM(require_split2(), 1);
opts = { strict: true };
}
});
// ../core/logger/lib/streamParser.js
function createStreamParser() {
const sp = parse();
import_bole2.default.output([
{
level: "debug",
stream: sp
}
]);
return sp;
}
var import_bole2, streamParser;
var init_streamParser = __esm({
"../core/logger/lib/streamParser.js"() {
"use strict";
import_bole2 = __toESM(require_bole(), 1);
init_ndjsonParse();
streamParser = createStreamParser();
}
});
// ../core/logger/lib/writeToConsole.js
function writeToConsole() {
import_bole3.default.output([
{
level: "debug",
stream: process.stdout
}
]);
}
var import_bole3;
var init_writeToConsole = __esm({
"../core/logger/lib/writeToConsole.js"() {
"use strict";
import_bole3 = __toESM(require_bole(), 1);
}
});
// ../core/logger/lib/index.js
var init_lib3 = __esm({
"../core/logger/lib/index.js"() {
"use strict";
init_LogBase();
init_logger();
init_LogLevel();
init_streamParser();
init_writeToConsole();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@rushstack/worker-pool/0.7.18/64149ccffc90d93fcb29d86cbe334e4462db7db035b3fba3a51b0e3d9793e8b6/node_modules/@rushstack/worker-pool/lib-commonjs/WorkerPool.js
var require_WorkerPool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@rushstack/worker-pool/0.7.18/64149ccffc90d93fcb29d86cbe334e4462db7db035b3fba3a51b0e3d9793e8b6/node_modules/@rushstack/worker-pool/lib-commonjs/WorkerPool.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.WorkerPool = exports2.WORKER_ID_SYMBOL = void 0;
var node_worker_threads_1 = __require("node:worker_threads");
exports2.WORKER_ID_SYMBOL = /* @__PURE__ */ Symbol("workerId");
var WorkerPool2 = class {
constructor(options) {
const { id, maxWorkers, onWorkerDestroyed, prepareWorker, workerData, workerScriptPath, workerResourceLimits } = options;
this.id = id;
this.maxWorkers = maxWorkers;
this._alive = [];
this._error = void 0;
this._finishing = false;
this._idle = [];
this._nextId = 0;
this._onComplete = [];
this._onWorkerDestroyed = onWorkerDestroyed;
this._pending = [];
this._prepare = prepareWorker;
this._workerData = workerData;
this._workerScript = workerScriptPath;
this._workerResourceLimits = workerResourceLimits;
}
/**
* Gets the count of active workers.
*/
getActiveCount() {
return this._alive.length - this._idle.length;
}
/**
* Gets the count of idle workers.
*/
getIdleCount() {
return this._idle.length;
}
/**
* Gets the count of live workers.
*/
getLiveCount() {
return this._alive.length;
}
/**
* Tells the pool to shut down when all workers are done.
* Returns a promise that will be fulfilled if all workers finish successfully, or reject with the first error.
*/
async finishAsync() {
this._finishing = true;
if (this._error) {
throw this._error;
}
if (!this._alive.length) {
return;
}
for (const worker of this._idle.splice(0)) {
worker.postMessage(false);
}
await new Promise((resolve4, reject3) => this._onComplete.push([resolve4, reject3]));
}
/**
* Resets the pool and allows more work
*/
reset() {
this._finishing = false;
this._error = void 0;
}
/**
* Returns a worker to the pool. If the pool is finishing, deallocates the worker.
* @param worker - The worker to free
*/
checkinWorker(worker) {
if (this._error) {
worker.postMessage(false);
return;
}
const next2 = this._pending.shift();
if (next2) {
next2[0](worker);
} else if (this._finishing) {
worker.postMessage(false);
} else {
this._idle.push(worker);
}
}
/**
* Checks out a currently available worker or waits for the next free worker.
* @param allowCreate - If creating new workers is allowed (subject to maxSize)
*/
async checkoutWorkerAsync(allowCreate) {
if (this._error) {
throw this._error;
}
let worker = this._idle.shift();
if (!worker && allowCreate) {
worker = this._createWorker();
}
if (worker) {
return worker;
}
return await new Promise((resolve4, reject3) => {
this._pending.push([resolve4, reject3]);
});
}
/**
* Creates a new worker if allowed by maxSize.
*/
_createWorker() {
if (this._alive.length >= this.maxWorkers) {
return;
}
const worker = new node_worker_threads_1.Worker(this._workerScript, {
eval: false,
workerData: this._workerData,
resourceLimits: this._workerResourceLimits
});
const id = `${this.id}#${++this._nextId}`;
worker[exports2.WORKER_ID_SYMBOL] = id;
this._alive.push(worker);
worker.on("error", (err2) => {
this._onError(err2);
this._destroyWorker(worker);
});
worker.once("exit", (exitCode) => {
if (exitCode !== 0) {
this._onError(new Error(`Worker ${id} exited with code ${exitCode}`));
}
this._destroyWorker(worker);
});
if (this._prepare) {
this._prepare(worker);
}
return worker;
}
/**
* Cleans up a worker
*/
_destroyWorker(worker) {
const aliveIndex = this._alive.indexOf(worker);
if (aliveIndex >= 0) {
this._alive.splice(aliveIndex, 1);
}
const freeIndex = this._idle.indexOf(worker);
if (freeIndex >= 0) {
this._idle.splice(freeIndex, 1);
}
worker.unref();
if (this._onWorkerDestroyed) {
this._onWorkerDestroyed();
}
if (!this._alive.length && !this._error) {
for (const [resolve4] of this._onComplete.splice(0)) {
resolve4();
}
}
}
/**
* Notifies all pending callbacks that an error has occurred and switches this pool into error state.
*/
_onError(error) {
this._error = error;
for (const [, reject3] of this._pending.splice(0)) {
reject3(this._error);
}
for (const [, reject3] of this._onComplete.splice(0)) {
reject3(this._error);
}
}
};
exports2.WorkerPool = WorkerPool2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@rushstack/worker-pool/0.7.18/64149ccffc90d93fcb29d86cbe334e4462db7db035b3fba3a51b0e3d9793e8b6/node_modules/@rushstack/worker-pool/lib-commonjs/index.js
var require_lib_commonjs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@rushstack/worker-pool/0.7.18/64149ccffc90d93fcb29d86cbe334e4462db7db035b3fba3a51b0e3d9793e8b6/node_modules/@rushstack/worker-pool/lib-commonjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.WorkerPool = exports2.WORKER_ID_SYMBOL = void 0;
var WorkerPool_1 = require_WorkerPool();
Object.defineProperty(exports2, "WORKER_ID_SYMBOL", { enumerable: true, get: function() {
return WorkerPool_1.WORKER_ID_SYMBOL;
} });
Object.defineProperty(exports2, "WorkerPool", { enumerable: true, get: function() {
return WorkerPool_1.WorkerPool;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-windows/1.0.2/8de297753f5a2f0d3154b27e41b774686b53f5e3c186cf9f734f0a5ce4054b2e/node_modules/is-windows/index.js
var require_is_windows = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-windows/1.0.2/8de297753f5a2f0d3154b27e41b774686b53f5e3c186cf9f734f0a5ce4054b2e/node_modules/is-windows/index.js"(exports2, module2) {
(function(factory) {
if (exports2 && typeof exports2 === "object" && typeof module2 !== "undefined") {
module2.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else if (typeof window !== "undefined") {
window.isWindows = factory();
} else if (typeof global !== "undefined") {
global.isWindows = factory();
} else if (typeof self !== "undefined") {
self.isWindows = factory();
} else {
this.isWindows = factory();
}
})(function() {
"use strict";
return function isWindows15() {
return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE));
};
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yocto-queue/1.2.2/348d8ba76aa8900ea8a2afbfce3cd78b8cda7172621258f8b7f12b7e257691be/node_modules/yocto-queue/index.js
var Node, Queue;
var init_yocto_queue = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yocto-queue/1.2.2/348d8ba76aa8900ea8a2afbfce3cd78b8cda7172621258f8b7f12b7e257691be/node_modules/yocto-queue/index.js"() {
Node = class {
value;
next;
constructor(value) {
this.value = value;
}
};
Queue = class {
#head;
#tail;
#size;
constructor() {
this.clear();
}
enqueue(value) {
const node = new Node(value);
if (this.#head) {
this.#tail.next = node;
this.#tail = node;
} else {
this.#head = node;
this.#tail = node;
}
this.#size++;
}
dequeue() {
const current = this.#head;
if (!current) {
return;
}
this.#head = this.#head.next;
this.#size--;
if (!this.#head) {
this.#tail = void 0;
}
return current.value;
}
peek() {
if (!this.#head) {
return;
}
return this.#head.value;
}
clear() {
this.#head = void 0;
this.#tail = void 0;
this.#size = 0;
}
get size() {
return this.#size;
}
*[Symbol.iterator]() {
let current = this.#head;
while (current) {
yield current.value;
current = current.next;
}
}
*drain() {
while (this.#head) {
yield this.dequeue();
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/7.3.0/6ec9feb7819f6cb4bdfcfd8eda73a8272adb6fab475fd25c071d310cdb20840b/node_modules/p-limit/index.js
function pLimit(concurrency) {
let rejectOnClear = false;
if (typeof concurrency === "object") {
({ concurrency, rejectOnClear = false } = concurrency);
}
validateConcurrency(concurrency);
if (typeof rejectOnClear !== "boolean") {
throw new TypeError("Expected `rejectOnClear` to be a boolean");
}
const queue2 = new Queue();
let activeCount = 0;
const resumeNext = () => {
if (activeCount < concurrency && queue2.size > 0) {
activeCount++;
queue2.dequeue().run();
}
};
const next2 = () => {
activeCount--;
resumeNext();
};
const run2 = async (function_, resolve4, arguments_) => {
const result2 = (async () => function_(...arguments_))();
resolve4(result2);
try {
await result2;
} catch {
}
next2();
};
const enqueue = (function_, resolve4, reject3, arguments_) => {
const queueItem = { reject: reject3 };
new Promise((internalResolve) => {
queueItem.run = internalResolve;
queue2.enqueue(queueItem);
}).then(run2.bind(void 0, function_, resolve4, arguments_));
if (activeCount < concurrency) {
resumeNext();
}
};
const generator = (function_, ...arguments_) => new Promise((resolve4, reject3) => {
enqueue(function_, resolve4, reject3, arguments_);
});
Object.defineProperties(generator, {
activeCount: {
get: () => activeCount
},
pendingCount: {
get: () => queue2.size
},
clearQueue: {
value() {
if (!rejectOnClear) {
queue2.clear();
return;
}
const abortError = AbortSignal.abort().reason;
while (queue2.size > 0) {
queue2.dequeue().reject(abortError);
}
}
},
concurrency: {
get: () => concurrency,
set(newConcurrency) {
validateConcurrency(newConcurrency);
concurrency = newConcurrency;
queueMicrotask(() => {
while (activeCount < concurrency && queue2.size > 0) {
resumeNext();
}
});
}
},
map: {
async value(iterable, function_) {
const promises = Array.from(iterable, (value, index2) => this(function_, value, index2));
return Promise.all(promises);
}
}
});
return generator;
}
function validateConcurrency(concurrency) {
if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
}
}
var init_p_limit = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/7.3.0/6ec9feb7819f6cb4bdfcfd8eda73a8272adb6fab475fd25c071d310cdb20840b/node_modules/p-limit/index.js"() {
init_yocto_queue();
}
});
// ../worker/lib/index.js
var lib_exports = {};
__export(lib_exports, {
TarballIntegrityError: () => TarballIntegrityError,
addFilesFromDir: () => addFilesFromDir,
addFilesFromTarball: () => addFilesFromTarball,
calcMaxWorkers: () => calcMaxWorkers,
finishWorkers: () => finishWorkers,
hardLinkDir: () => hardLinkDir,
importPackage: () => importPackage,
initStoreDir: () => initStoreDir,
readPkgFromCafs: () => readPkgFromCafs,
restartWorkerPool: () => restartWorkerPool,
symlinkAllModules: () => symlinkAllModules
});
import { execSync } from "node:child_process";
import os from "node:os";
import path2 from "node:path";
async function restartWorkerPool() {
await finishWorkers();
workerPool = createTarballWorkerPool();
}
async function finishWorkers() {
const finish = global.finishWorkers;
global.finishWorkers = void 0;
await finish?.();
workerPool = void 0;
}
function createTarballWorkerPool() {
const maxWorkers = calcMaxWorkers();
const workerPool2 = new import_worker_pool.WorkerPool({
id: "pnpm",
maxWorkers,
workerScriptPath: path2.join(import.meta.dirname, "worker.js")
});
if (global.finishWorkers) {
const previous = global.finishWorkers;
global.finishWorkers = async () => {
await previous();
await workerPool2.finishAsync();
};
} else {
global.finishWorkers = () => workerPool2.finishAsync();
}
return workerPool2;
}
function calcMaxWorkers() {
if (process.env.PNPM_MAX_WORKERS) {
return parseInt(process.env.PNPM_MAX_WORKERS);
}
if (process.env.PNPM_WORKERS) {
const idleCPUs = Math.abs(parseInt(process.env.PNPM_WORKERS));
return Math.max(2, availableParallelism() - idleCPUs) - 1;
}
return Math.max(1, availableParallelism() - 1);
}
function availableParallelism() {
return os.availableParallelism?.() ?? os.cpus().length;
}
async function addFilesFromDir(opts3) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error, value, indexWrites }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
reject3(new PnpmError(error.code ?? "GIT_FETCH_FAILED", error.message));
return;
}
if (indexWrites) {
try {
opts3.storeIndex.setRawMany(indexWrites);
} catch (err2) {
reject3(err2);
return;
}
}
resolve4(value);
});
localWorker.postMessage({
type: "add-dir",
storeDir: opts3.storeDir,
dir: opts3.dir,
filesIndexFile: opts3.filesIndexFile,
sideEffectsCacheKey: opts3.sideEffectsCacheKey,
readManifest: opts3.readManifest,
pkg: opts3.pkg,
appendManifest: opts3.appendManifest,
files: opts3.files,
includeNodeModules: opts3.includeNodeModules
});
});
}
async function addFilesFromTarball(opts3) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error, value, indexWrites }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
if (error.type === "integrity_validation_failed") {
reject3(new TarballIntegrityError({
...error,
url: opts3.url
}));
return;
}
reject3(new PnpmError(error.code ?? "TARBALL_EXTRACT", `Failed to add tarball from "${opts3.url}" to store: ${error.message}`));
return;
}
if (indexWrites) {
try {
opts3.storeIndex.queueWrites(indexWrites);
} catch (err2) {
reject3(err2);
return;
}
}
resolve4(value);
});
localWorker.postMessage({
type: "extract",
buffer: opts3.buffer,
storeDir: opts3.storeDir,
integrity: opts3.integrity,
filesIndexFile: opts3.filesIndexFile,
readManifest: opts3.readManifest,
pkg: opts3.pkg,
appendManifest: opts3.appendManifest,
ignoreFilePattern: opts3.ignoreFilePattern
});
});
}
async function readPkgFromCafs(ctx, filesIndexFile, opts3) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error, value, warnings }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
reject3(new PnpmError(error.code ?? "READ_FROM_STORE", error.message, { hint: error.hint }));
return;
}
if (warnings) {
for (const warning of warnings) {
globalWarn(warning);
}
}
resolve4(value);
});
localWorker.postMessage({
type: "readPkgFromCafs",
filesIndexFile,
...ctx,
...opts3
});
});
}
async function importPackage(opts3) {
return limitImportingPackage(async () => {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error, value }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
reject3(new PnpmError(error.code ?? "LINKING_FAILED", `[importPackage ${opts3.targetDir}] ${error.message}`));
return;
}
resolve4(value);
});
localWorker.postMessage({
type: "link",
...opts3
});
});
});
}
async function symlinkAllModules(opts3) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error, value }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
const hint = opts3.deps?.[0]?.modules != null ? createErrorHint(error, opts3.deps[0].modules) : void 0;
reject3(new PnpmError(error.code ?? "SYMLINK_FAILED", `[symlinkAllModules] ${error.message}`, { hint }));
return;
}
resolve4(value);
});
localWorker.postMessage({
type: "symlinkAllModules",
...opts3
});
});
}
function createErrorHint(err2, checkedDir) {
if ("code" in err2 && err2.code === "EISDIR" && (0, import_is_windows.default)()) {
const checkedDrive = `${checkedDir.split(":")[0]}:`;
if (isDriveExFat(checkedDrive)) {
return `The "${checkedDrive}" drive is exFAT, which does not support symlinks. This will cause installation to fail. You can set the node-linker to "hoisted" to avoid this issue.`;
}
}
return void 0;
}
function isDriveExFat(drive) {
if (!/^[a-z]:$/i.test(drive)) {
throw new Error(`${drive} is not a valid disk on Windows`);
}
try {
const output = execSync(`powershell -Command "Get-Volume -DriveLetter ${drive.replace(":", "")} | Select-Object -ExpandProperty FileSystem"`).toString();
const lines = output.trim().split("\n");
const name = lines[0].trim();
return name === "exFAT";
} catch {
return false;
}
}
async function hardLinkDir(src2, destDirs) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
await new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
reject3(new PnpmError(error.code ?? "HARDLINK_FAILED", error.message));
return;
}
resolve4();
});
localWorker.postMessage({
type: "hardLinkDir",
src: src2,
destDirs
});
});
}
async function initStoreDir(storeDir) {
if (!workerPool) {
workerPool = createTarballWorkerPool();
}
const localWorker = await workerPool.checkoutWorkerAsync(true);
return new Promise((resolve4, reject3) => {
localWorker.once("message", ({ status, error }) => {
workerPool.checkinWorker(localWorker);
if (status === "error") {
reject3(new PnpmError(error.code ?? "INIT_CAFS_FAILED", error.message));
return;
}
resolve4();
});
localWorker.postMessage({
type: "init-store",
storeDir
});
});
}
var import_worker_pool, import_is_windows, workerPool, TarballIntegrityError, limitImportingPackage;
var init_lib4 = __esm({
"../worker/lib/index.js"() {
"use strict";
init_lib2();
init_lib3();
import_worker_pool = __toESM(require_lib_commonjs(), 1);
import_is_windows = __toESM(require_is_windows(), 1);
init_p_limit();
TarballIntegrityError = class extends PnpmError {
found;
expected;
algorithm;
sri;
url;
constructor(opts3) {
super("TARBALL_INTEGRITY", `Got unexpected checksum for "${opts3.url}". Wanted "${opts3.expected}". Got "${opts3.found}".`, {
attempts: opts3.attempts,
hint: `The downloaded tarball does not match the integrity recorded in the lockfile. pnpm will not silently overwrite the locked integrity \u2014 that would defeat the lockfile's protection if a registry or proxy is serving tampered content.
If you trust the new content (legitimate republish, or stale local metadata cache):
- Run "pnpm store prune" and retry, in case only the metadata cache is out of date.
- Run "pnpm install --update-checksums" to refresh the locked integrity from the registry.
If you did not expect this package to change, treat it as a potential supply-chain issue and verify the new content before re-running with --update-checksums.`
});
this.found = opts3.found;
this.expected = opts3.expected;
this.algorithm = opts3.algorithm;
this.sri = opts3.sri;
this.url = opts3.url;
}
};
limitImportingPackage = pLimit(4);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/load-json-file/7.0.1/dbd04cc64095fbd5cd55a7af38baeafcf5d82cb8d99f88d07cf0902ad6b5e65b/node_modules/load-json-file/index.js
import { readFileSync, promises as fs } from "node:fs";
async function loadJsonFile(filePath, options) {
const buffer3 = await readFile(filePath);
return parse2(buffer3, options);
}
function loadJsonFileSync(filePath, options) {
const buffer3 = readFileSync(filePath);
return parse2(buffer3, options);
}
var readFile, parse2;
var init_load_json_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/load-json-file/7.0.1/dbd04cc64095fbd5cd55a7af38baeafcf5d82cb8d99f88d07cf0902ad6b5e65b/node_modules/load-json-file/index.js"() {
({ readFile } = fs);
parse2 = (buffer3, { beforeParse, reviver } = {}) => {
let data = new TextDecoder().decode(buffer3);
if (typeof beforeParse === "function") {
data = beforeParse(data);
}
return JSON.parse(data, reviver);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/debug.js
var require_debug = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/debug.js"(exports2, module2) {
"use strict";
var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
};
module2.exports = debug;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/constants.js
var require_constants = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/constants.js"(exports2, module2) {
"use strict";
var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16;
var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
var RELEASE_TYPES = [
"major",
"premajor",
"minor",
"preminor",
"patch",
"prepatch",
"prerelease"
];
module2.exports = {
MAX_LENGTH,
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_SAFE_INTEGER,
RELEASE_TYPES,
SEMVER_SPEC_VERSION,
FLAG_INCLUDE_PRERELEASE: 1,
FLAG_LOOSE: 2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/re.js
var require_re = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/re.js"(exports2, module2) {
"use strict";
var {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_LENGTH
} = require_constants();
var debug = require_debug();
exports2 = module2.exports = {};
var re = exports2.re = [];
var safeRe = exports2.safeRe = [];
var src2 = exports2.src = [];
var safeSrc = exports2.safeSrc = [];
var t2 = exports2.t = {};
var R2 = 0;
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var safeRegexReplacements = [
["\\s", 1],
["\\d", MAX_LENGTH],
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
];
var makeSafeRegex = (value) => {
for (const [token, max4] of safeRegexReplacements) {
value = value.split(`${token}*`).join(`${token}{0,${max4}}`).split(`${token}+`).join(`${token}{1,${max4}}`);
}
return value;
};
var createToken = (name, value, isGlobal) => {
const safe = makeSafeRegex(value);
const index2 = R2++;
debug(name, index2, value);
t2[name] = index2;
src2[index2] = value;
safeSrc[index2] = safe;
re[index2] = new RegExp(value, isGlobal ? "g" : void 0);
safeRe[index2] = new RegExp(safe, isGlobal ? "g" : void 0);
};
createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
createToken("MAINVERSION", `(${src2[t2.NUMERICIDENTIFIER]})\\.(${src2[t2.NUMERICIDENTIFIER]})\\.(${src2[t2.NUMERICIDENTIFIER]})`);
createToken("MAINVERSIONLOOSE", `(${src2[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src2[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src2[t2.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASEIDENTIFIER", `(?:${src2[t2.NONNUMERICIDENTIFIER]}|${src2[t2.NUMERICIDENTIFIER]})`);
createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src2[t2.NONNUMERICIDENTIFIER]}|${src2[t2.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASE", `(?:-(${src2[t2.PRERELEASEIDENTIFIER]}(?:\\.${src2[t2.PRERELEASEIDENTIFIER]})*))`);
createToken("PRERELEASELOOSE", `(?:-?(${src2[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src2[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);
createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
createToken("BUILD", `(?:\\+(${src2[t2.BUILDIDENTIFIER]}(?:\\.${src2[t2.BUILDIDENTIFIER]})*))`);
createToken("FULLPLAIN", `v?${src2[t2.MAINVERSION]}${src2[t2.PRERELEASE]}?${src2[t2.BUILD]}?`);
createToken("FULL", `^${src2[t2.FULLPLAIN]}$`);
createToken("LOOSEPLAIN", `[v=\\s]*${src2[t2.MAINVERSIONLOOSE]}${src2[t2.PRERELEASELOOSE]}?${src2[t2.BUILD]}?`);
createToken("LOOSE", `^${src2[t2.LOOSEPLAIN]}$`);
createToken("GTLT", "((?:<|>)?=?)");
createToken("XRANGEIDENTIFIERLOOSE", `${src2[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
createToken("XRANGEIDENTIFIER", `${src2[t2.NUMERICIDENTIFIER]}|x|X|\\*`);
createToken("XRANGEPLAIN", `[v=\\s]*(${src2[t2.XRANGEIDENTIFIER]})(?:\\.(${src2[t2.XRANGEIDENTIFIER]})(?:\\.(${src2[t2.XRANGEIDENTIFIER]})(?:${src2[t2.PRERELEASE]})?${src2[t2.BUILD]}?)?)?`);
createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src2[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src2[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src2[t2.XRANGEIDENTIFIERLOOSE]})(?:${src2[t2.PRERELEASELOOSE]})?${src2[t2.BUILD]}?)?)?`);
createToken("XRANGE", `^${src2[t2.GTLT]}\\s*${src2[t2.XRANGEPLAIN]}$`);
createToken("XRANGELOOSE", `^${src2[t2.GTLT]}\\s*${src2[t2.XRANGEPLAINLOOSE]}$`);
createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
createToken("COERCE", `${src2[t2.COERCEPLAIN]}(?:$|[^\\d])`);
createToken("COERCEFULL", src2[t2.COERCEPLAIN] + `(?:${src2[t2.PRERELEASE]})?(?:${src2[t2.BUILD]})?(?:$|[^\\d])`);
createToken("COERCERTL", src2[t2.COERCE], true);
createToken("COERCERTLFULL", src2[t2.COERCEFULL], true);
createToken("LONETILDE", "(?:~>?)");
createToken("TILDETRIM", `(\\s*)${src2[t2.LONETILDE]}\\s+`, true);
exports2.tildeTrimReplace = "$1~";
createToken("TILDE", `^${src2[t2.LONETILDE]}${src2[t2.XRANGEPLAIN]}$`);
createToken("TILDELOOSE", `^${src2[t2.LONETILDE]}${src2[t2.XRANGEPLAINLOOSE]}$`);
createToken("LONECARET", "(?:\\^)");
createToken("CARETTRIM", `(\\s*)${src2[t2.LONECARET]}\\s+`, true);
exports2.caretTrimReplace = "$1^";
createToken("CARET", `^${src2[t2.LONECARET]}${src2[t2.XRANGEPLAIN]}$`);
createToken("CARETLOOSE", `^${src2[t2.LONECARET]}${src2[t2.XRANGEPLAINLOOSE]}$`);
createToken("COMPARATORLOOSE", `^${src2[t2.GTLT]}\\s*(${src2[t2.LOOSEPLAIN]})$|^$`);
createToken("COMPARATOR", `^${src2[t2.GTLT]}\\s*(${src2[t2.FULLPLAIN]})$|^$`);
createToken("COMPARATORTRIM", `(\\s*)${src2[t2.GTLT]}\\s*(${src2[t2.LOOSEPLAIN]}|${src2[t2.XRANGEPLAIN]})`, true);
exports2.comparatorTrimReplace = "$1$2$3";
createToken("HYPHENRANGE", `^\\s*(${src2[t2.XRANGEPLAIN]})\\s+-\\s+(${src2[t2.XRANGEPLAIN]})\\s*$`);
createToken("HYPHENRANGELOOSE", `^\\s*(${src2[t2.XRANGEPLAINLOOSE]})\\s+-\\s+(${src2[t2.XRANGEPLAINLOOSE]})\\s*$`);
createToken("STAR", "(<|>)?=?\\s*\\*");
createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/parse-options.js"(exports2, module2) {
"use strict";
var looseOption = Object.freeze({ loose: true });
var emptyOpts = Object.freeze({});
var parseOptions = (options) => {
if (!options) {
return emptyOpts;
}
if (typeof options !== "object") {
return looseOption;
}
return options;
};
module2.exports = parseOptions;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/identifiers.js"(exports2, module2) {
"use strict";
var numeric = /^[0-9]+$/;
var compareIdentifiers = (a2, b) => {
if (typeof a2 === "number" && typeof b === "number") {
return a2 === b ? 0 : a2 < b ? -1 : 1;
}
const anum = numeric.test(a2);
const bnum = numeric.test(b);
if (anum && bnum) {
a2 = +a2;
b = +b;
}
return a2 === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b ? -1 : 1;
};
var rcompareIdentifiers = (a2, b) => compareIdentifiers(b, a2);
module2.exports = {
compareIdentifiers,
rcompareIdentifiers
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/semver.js
var require_semver = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/semver.js"(exports2, module2) {
"use strict";
var debug = require_debug();
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
var { safeRe: re, t: t2 } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
var isPrereleaseIdentifier = (prerelease, identifier) => {
const identifiers = identifier.split(".");
if (identifiers.length > prerelease.length) {
return false;
}
for (let i4 = 0; i4 < identifiers.length; i4++) {
if (compareIdentifiers(prerelease[i4], identifiers[i4]) !== 0) {
return false;
}
}
return true;
};
var SemVer = class _SemVer {
constructor(version2, options) {
options = parseOptions(options);
if (version2 instanceof _SemVer) {
if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
return version2;
} else {
version2 = version2.version;
}
} else if (typeof version2 !== "string") {
throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
}
if (version2.length > MAX_LENGTH) {
throw new TypeError(
`version is longer than ${MAX_LENGTH} characters`
);
}
debug("SemVer", version2, options);
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
const m = version2.trim().match(options.loose ? re[t2.LOOSE] : re[t2.FULL]);
if (!m) {
throw new TypeError(`Invalid Version: ${version2}`);
}
this.raw = version2;
this.major = +m[1];
this.minor = +m[2];
this.patch = +m[3];
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
throw new TypeError("Invalid major version");
}
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
throw new TypeError("Invalid minor version");
}
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
throw new TypeError("Invalid patch version");
}
if (!m[4]) {
this.prerelease = [];
} else {
this.prerelease = m[4].split(".").map((id) => {
if (/^[0-9]+$/.test(id)) {
const num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER) {
return num;
}
}
return id;
});
}
this.build = m[5] ? m[5].split(".") : [];
this.format();
}
format() {
this.version = `${this.major}.${this.minor}.${this.patch}`;
if (this.prerelease.length) {
this.version += `-${this.prerelease.join(".")}`;
}
return this.version;
}
toString() {
return this.version;
}
compare(other) {
debug("SemVer.compare", this.version, this.options, other);
if (!(other instanceof _SemVer)) {
if (typeof other === "string" && other === this.version) {
return 0;
}
other = new _SemVer(other, this.options);
}
if (other.version === this.version) {
return 0;
}
return this.compareMain(other) || this.comparePre(other);
}
compareMain(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
if (this.major < other.major) {
return -1;
}
if (this.major > other.major) {
return 1;
}
if (this.minor < other.minor) {
return -1;
}
if (this.minor > other.minor) {
return 1;
}
if (this.patch < other.patch) {
return -1;
}
if (this.patch > other.patch) {
return 1;
}
return 0;
}
comparePre(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
if (this.prerelease.length && !other.prerelease.length) {
return -1;
} else if (!this.prerelease.length && other.prerelease.length) {
return 1;
} else if (!this.prerelease.length && !other.prerelease.length) {
return 0;
}
let i4 = 0;
do {
const a2 = this.prerelease[i4];
const b = other.prerelease[i4];
debug("prerelease compare", i4, a2, b);
if (a2 === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a2 === void 0) {
return -1;
} else if (a2 === b) {
continue;
} else {
return compareIdentifiers(a2, b);
}
} while (++i4);
}
compareBuild(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
let i4 = 0;
do {
const a2 = this.build[i4];
const b = other.build[i4];
debug("build compare", i4, a2, b);
if (a2 === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a2 === void 0) {
return -1;
} else if (a2 === b) {
continue;
} else {
return compareIdentifiers(a2, b);
}
} while (++i4);
}
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc(release, identifier, identifierBase) {
if (release.startsWith("pre")) {
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (identifier) {
const match = `-${identifier}`.match(this.options.loose ? re[t2.PRERELEASELOOSE] : re[t2.PRERELEASE]);
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`);
}
}
}
switch (release) {
case "premajor":
this.prerelease.length = 0;
this.patch = 0;
this.minor = 0;
this.major++;
this.inc("pre", identifier, identifierBase);
break;
case "preminor":
this.prerelease.length = 0;
this.patch = 0;
this.minor++;
this.inc("pre", identifier, identifierBase);
break;
case "prepatch":
this.prerelease.length = 0;
this.inc("patch", identifier, identifierBase);
this.inc("pre", identifier, identifierBase);
break;
// If the input is a non-prerelease version, this acts the same as
// prepatch.
case "prerelease":
if (this.prerelease.length === 0) {
this.inc("patch", identifier, identifierBase);
}
this.inc("pre", identifier, identifierBase);
break;
case "release":
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`);
}
this.prerelease.length = 0;
break;
case "major":
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
this.major++;
}
this.minor = 0;
this.patch = 0;
this.prerelease = [];
break;
case "minor":
if (this.patch !== 0 || this.prerelease.length === 0) {
this.minor++;
}
this.patch = 0;
this.prerelease = [];
break;
case "patch":
if (this.prerelease.length === 0) {
this.patch++;
}
this.prerelease = [];
break;
// This probably shouldn't be used publicly.
// 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
case "pre": {
const base = Number(identifierBase) ? 1 : 0;
if (this.prerelease.length === 0) {
this.prerelease = [base];
} else {
let i4 = this.prerelease.length;
while (--i4 >= 0) {
if (typeof this.prerelease[i4] === "number") {
this.prerelease[i4]++;
i4 = -2;
}
}
if (i4 === -1) {
if (identifier === this.prerelease.join(".") && identifierBase === false) {
throw new Error("invalid increment argument: identifier already exists");
}
this.prerelease.push(base);
}
}
if (identifier) {
let prerelease = [identifier, base];
if (identifierBase === false) {
prerelease = [identifier];
}
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
const prereleaseBase = this.prerelease[identifier.split(".").length];
if (isNaN(prereleaseBase)) {
this.prerelease = prerelease;
}
} else {
this.prerelease = prerelease;
}
}
break;
}
default:
throw new Error(`invalid increment argument: ${release}`);
}
this.raw = this.format();
if (this.build.length) {
this.raw += `+${this.build.join(".")}`;
}
return this;
}
};
module2.exports = SemVer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/parse.js
var require_parse = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/parse.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var parse12 = (version2, options, throwErrors = false) => {
if (version2 instanceof SemVer) {
return version2;
}
try {
return new SemVer(version2, options);
} catch (er) {
if (!throwErrors) {
return null;
}
throw er;
}
};
module2.exports = parse12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/valid.js
var require_valid = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/valid.js"(exports2, module2) {
"use strict";
var parse12 = require_parse();
var valid6 = (version2, options) => {
const v = parse12(version2, options);
return v ? v.version : null;
};
module2.exports = valid6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/clean.js
var require_clean = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/clean.js"(exports2, module2) {
"use strict";
var parse12 = require_parse();
var clean2 = (version2, options) => {
const s = parse12(version2.trim().replace(/^[=v]+/, ""), options);
return s ? s.version : null;
};
module2.exports = clean2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-license-ids/3.0.23/b9ecf04b031822f0b7bd6fefb53e3d9a430d9952a8f772c345694537448bf8d5/node_modules/spdx-license-ids/index.json
var require_spdx_license_ids = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-license-ids/3.0.23/b9ecf04b031822f0b7bd6fefb53e3d9a430d9952a8f772c345694537448bf8d5/node_modules/spdx-license-ids/index.json"(exports2, module2) {
module2.exports = [
"0BSD",
"3D-Slicer-1.0",
"AAL",
"ADSL",
"AFL-1.1",
"AFL-1.2",
"AFL-2.0",
"AFL-2.1",
"AFL-3.0",
"AGPL-1.0-only",
"AGPL-1.0-or-later",
"AGPL-3.0-only",
"AGPL-3.0-or-later",
"ALGLIB-Documentation",
"AMD-newlib",
"AMDPLPA",
"AML",
"AML-glslang",
"AMPAS",
"ANTLR-PD",
"ANTLR-PD-fallback",
"APAFML",
"APL-1.0",
"APSL-1.0",
"APSL-1.1",
"APSL-1.2",
"APSL-2.0",
"ASWF-Digital-Assets-1.0",
"ASWF-Digital-Assets-1.1",
"Abstyles",
"AdaCore-doc",
"Adobe-2006",
"Adobe-Display-PostScript",
"Adobe-Glyph",
"Adobe-Utopia",
"Advanced-Cryptics-Dictionary",
"Afmparse",
"Aladdin",
"Apache-1.0",
"Apache-1.1",
"Apache-2.0",
"App-s2p",
"Arphic-1999",
"Artistic-1.0",
"Artistic-1.0-Perl",
"Artistic-1.0-cl8",
"Artistic-2.0",
"Artistic-dist",
"Aspell-RU",
"BOLA-1.1",
"BSD-1-Clause",
"BSD-2-Clause",
"BSD-2-Clause-Darwin",
"BSD-2-Clause-Patent",
"BSD-2-Clause-Views",
"BSD-2-Clause-first-lines",
"BSD-2-Clause-pkgconf-disclaimer",
"BSD-3-Clause",
"BSD-3-Clause-Attribution",
"BSD-3-Clause-Clear",
"BSD-3-Clause-HP",
"BSD-3-Clause-LBNL",
"BSD-3-Clause-Modification",
"BSD-3-Clause-No-Military-License",
"BSD-3-Clause-No-Nuclear-License",
"BSD-3-Clause-No-Nuclear-License-2014",
"BSD-3-Clause-No-Nuclear-Warranty",
"BSD-3-Clause-Open-MPI",
"BSD-3-Clause-Sun",
"BSD-3-Clause-Tso",
"BSD-3-Clause-acpica",
"BSD-3-Clause-flex",
"BSD-4-Clause",
"BSD-4-Clause-Shortened",
"BSD-4-Clause-UC",
"BSD-4.3RENO",
"BSD-4.3TAHOE",
"BSD-Advertising-Acknowledgement",
"BSD-Attribution-HPND-disclaimer",
"BSD-Inferno-Nettverk",
"BSD-Mark-Modifications",
"BSD-Protection",
"BSD-Source-Code",
"BSD-Source-beginning-file",
"BSD-Systemics",
"BSD-Systemics-W3Works",
"BSL-1.0",
"BUSL-1.1",
"Baekmuk",
"Bahyph",
"Barr",
"Beerware",
"BitTorrent-1.0",
"BitTorrent-1.1",
"Bitstream-Charter",
"Bitstream-Vera",
"BlueOak-1.0.0",
"Boehm-GC",
"Boehm-GC-without-fee",
"Borceux",
"Brian-Gladman-2-Clause",
"Brian-Gladman-3-Clause",
"Buddy",
"C-UDA-1.0",
"CAL-1.0",
"CAL-1.0-Combined-Work-Exception",
"CAPEC-tou",
"CATOSL-1.1",
"CC-BY-1.0",
"CC-BY-2.0",
"CC-BY-2.5",
"CC-BY-2.5-AU",
"CC-BY-3.0",
"CC-BY-3.0-AT",
"CC-BY-3.0-AU",
"CC-BY-3.0-DE",
"CC-BY-3.0-IGO",
"CC-BY-3.0-NL",
"CC-BY-3.0-US",
"CC-BY-4.0",
"CC-BY-NC-1.0",
"CC-BY-NC-2.0",
"CC-BY-NC-2.5",
"CC-BY-NC-3.0",
"CC-BY-NC-3.0-DE",
"CC-BY-NC-4.0",
"CC-BY-NC-ND-1.0",
"CC-BY-NC-ND-2.0",
"CC-BY-NC-ND-2.5",
"CC-BY-NC-ND-3.0",
"CC-BY-NC-ND-3.0-DE",
"CC-BY-NC-ND-3.0-IGO",
"CC-BY-NC-ND-4.0",
"CC-BY-NC-SA-1.0",
"CC-BY-NC-SA-2.0",
"CC-BY-NC-SA-2.0-DE",
"CC-BY-NC-SA-2.0-FR",
"CC-BY-NC-SA-2.0-UK",
"CC-BY-NC-SA-2.5",
"CC-BY-NC-SA-3.0",
"CC-BY-NC-SA-3.0-DE",
"CC-BY-NC-SA-3.0-IGO",
"CC-BY-NC-SA-4.0",
"CC-BY-ND-1.0",
"CC-BY-ND-2.0",
"CC-BY-ND-2.5",
"CC-BY-ND-3.0",
"CC-BY-ND-3.0-DE",
"CC-BY-ND-4.0",
"CC-BY-SA-1.0",
"CC-BY-SA-2.0",
"CC-BY-SA-2.0-UK",
"CC-BY-SA-2.1-JP",
"CC-BY-SA-2.5",
"CC-BY-SA-3.0",
"CC-BY-SA-3.0-AT",
"CC-BY-SA-3.0-DE",
"CC-BY-SA-3.0-IGO",
"CC-BY-SA-4.0",
"CC-PDDC",
"CC-PDM-1.0",
"CC-SA-1.0",
"CC0-1.0",
"CDDL-1.0",
"CDDL-1.1",
"CDL-1.0",
"CDLA-Permissive-1.0",
"CDLA-Permissive-2.0",
"CDLA-Sharing-1.0",
"CECILL-1.0",
"CECILL-1.1",
"CECILL-2.0",
"CECILL-2.1",
"CECILL-B",
"CECILL-C",
"CERN-OHL-1.1",
"CERN-OHL-1.2",
"CERN-OHL-P-2.0",
"CERN-OHL-S-2.0",
"CERN-OHL-W-2.0",
"CFITSIO",
"CMU-Mach",
"CMU-Mach-nodoc",
"CNRI-Jython",
"CNRI-Python",
"CNRI-Python-GPL-Compatible",
"COIL-1.0",
"CPAL-1.0",
"CPL-1.0",
"CPOL-1.02",
"CUA-OPL-1.0",
"Caldera",
"Caldera-no-preamble",
"Catharon",
"ClArtistic",
"Clips",
"Community-Spec-1.0",
"Condor-1.1",
"Cornell-Lossless-JPEG",
"Cronyx",
"Crossword",
"CryptoSwift",
"CrystalStacker",
"Cube",
"D-FSL-1.0",
"DEC-3-Clause",
"DL-DE-BY-2.0",
"DL-DE-ZERO-2.0",
"DOC",
"DRL-1.0",
"DRL-1.1",
"DSDP",
"DocBook-DTD",
"DocBook-Schema",
"DocBook-Stylesheet",
"DocBook-XML",
"Dotseqn",
"ECL-1.0",
"ECL-2.0",
"EFL-1.0",
"EFL-2.0",
"EPICS",
"EPL-1.0",
"EPL-2.0",
"ESA-PL-permissive-2.4",
"ESA-PL-strong-copyleft-2.4",
"ESA-PL-weak-copyleft-2.4",
"EUDatagrid",
"EUPL-1.0",
"EUPL-1.1",
"EUPL-1.2",
"Elastic-2.0",
"Entessa",
"ErlPL-1.1",
"Eurosym",
"FBM",
"FDK-AAC",
"FSFAP",
"FSFAP-no-warranty-disclaimer",
"FSFUL",
"FSFULLR",
"FSFULLRSD",
"FSFULLRWD",
"FSL-1.1-ALv2",
"FSL-1.1-MIT",
"FTL",
"Fair",
"Ferguson-Twofish",
"Frameworx-1.0",
"FreeBSD-DOC",
"FreeImage",
"Furuseth",
"GCR-docs",
"GD",
"GFDL-1.1-invariants-only",
"GFDL-1.1-invariants-or-later",
"GFDL-1.1-no-invariants-only",
"GFDL-1.1-no-invariants-or-later",
"GFDL-1.1-only",
"GFDL-1.1-or-later",
"GFDL-1.2-invariants-only",
"GFDL-1.2-invariants-or-later",
"GFDL-1.2-no-invariants-only",
"GFDL-1.2-no-invariants-or-later",
"GFDL-1.2-only",
"GFDL-1.2-or-later",
"GFDL-1.3-invariants-only",
"GFDL-1.3-invariants-or-later",
"GFDL-1.3-no-invariants-only",
"GFDL-1.3-no-invariants-or-later",
"GFDL-1.3-only",
"GFDL-1.3-or-later",
"GL2PS",
"GLWTPL",
"GPL-1.0-only",
"GPL-1.0-or-later",
"GPL-2.0-only",
"GPL-2.0-or-later",
"GPL-3.0-only",
"GPL-3.0-or-later",
"Game-Programming-Gems",
"Giftware",
"Glide",
"Glulxe",
"Graphics-Gems",
"Gutmann",
"HDF5",
"HIDAPI",
"HP-1986",
"HP-1989",
"HPND",
"HPND-DEC",
"HPND-Fenneberg-Livingston",
"HPND-INRIA-IMAG",
"HPND-Intel",
"HPND-Kevlin-Henney",
"HPND-MIT-disclaimer",
"HPND-Markus-Kuhn",
"HPND-Netrek",
"HPND-Pbmplus",
"HPND-SMC",
"HPND-UC",
"HPND-UC-export-US",
"HPND-doc",
"HPND-doc-sell",
"HPND-export-US",
"HPND-export-US-acknowledgement",
"HPND-export-US-modify",
"HPND-export2-US",
"HPND-merchantability-variant",
"HPND-sell-MIT-disclaimer-xserver",
"HPND-sell-regexpr",
"HPND-sell-variant",
"HPND-sell-variant-MIT-disclaimer",
"HPND-sell-variant-MIT-disclaimer-rev",
"HPND-sell-variant-critical-systems",
"HTMLTIDY",
"HaskellReport",
"Hippocratic-2.1",
"IBM-pibs",
"ICU",
"IEC-Code-Components-EULA",
"IJG",
"IJG-short",
"IPA",
"IPL-1.0",
"ISC",
"ISC-Veillard",
"ISO-permission",
"ImageMagick",
"Imlib2",
"Info-ZIP",
"Inner-Net-2.0",
"InnoSetup",
"Intel",
"Intel-ACPI",
"Interbase-1.0",
"JPL-image",
"JPNIC",
"JSON",
"Jam",
"JasPer-2.0",
"Kastrup",
"Kazlib",
"Knuth-CTAN",
"LAL-1.2",
"LAL-1.3",
"LGPL-2.0-only",
"LGPL-2.0-or-later",
"LGPL-2.1-only",
"LGPL-2.1-or-later",
"LGPL-3.0-only",
"LGPL-3.0-or-later",
"LGPLLR",
"LOOP",
"LPD-document",
"LPL-1.0",
"LPL-1.02",
"LPPL-1.0",
"LPPL-1.1",
"LPPL-1.2",
"LPPL-1.3a",
"LPPL-1.3c",
"LZMA-SDK-9.11-to-9.20",
"LZMA-SDK-9.22",
"Latex2e",
"Latex2e-translated-notice",
"Leptonica",
"LiLiQ-P-1.1",
"LiLiQ-R-1.1",
"LiLiQ-Rplus-1.1",
"Libpng",
"Linux-OpenIB",
"Linux-man-pages-1-para",
"Linux-man-pages-copyleft",
"Linux-man-pages-copyleft-2-para",
"Linux-man-pages-copyleft-var",
"Lucida-Bitmap-Fonts",
"MIPS",
"MIT",
"MIT-0",
"MIT-CMU",
"MIT-Click",
"MIT-Festival",
"MIT-Khronos-old",
"MIT-Modern-Variant",
"MIT-STK",
"MIT-Wu",
"MIT-advertising",
"MIT-enna",
"MIT-feh",
"MIT-open-group",
"MIT-testregex",
"MITNFA",
"MMIXware",
"MMPL-1.0.1",
"MPEG-SSG",
"MPL-1.0",
"MPL-1.1",
"MPL-2.0",
"MPL-2.0-no-copyleft-exception",
"MS-LPL",
"MS-PL",
"MS-RL",
"MTLL",
"Mackerras-3-Clause",
"Mackerras-3-Clause-acknowledgment",
"MakeIndex",
"Martin-Birgmeier",
"McPhee-slideshow",
"Minpack",
"MirOS",
"Motosoto",
"MulanPSL-1.0",
"MulanPSL-2.0",
"Multics",
"Mup",
"NAIST-2003",
"NASA-1.3",
"NBPL-1.0",
"NCBI-PD",
"NCGL-UK-2.0",
"NCL",
"NCSA",
"NGPL",
"NICTA-1.0",
"NIST-PD",
"NIST-PD-TNT",
"NIST-PD-fallback",
"NIST-Software",
"NLOD-1.0",
"NLOD-2.0",
"NLPL",
"NOSL",
"NPL-1.0",
"NPL-1.1",
"NPOSL-3.0",
"NRL",
"NTIA-PD",
"NTP",
"NTP-0",
"Naumen",
"NetCDF",
"Newsletr",
"Nokia",
"Noweb",
"O-UDA-1.0",
"OAR",
"OCCT-PL",
"OCLC-2.0",
"ODC-By-1.0",
"ODbL-1.0",
"OFFIS",
"OFL-1.0",
"OFL-1.0-RFN",
"OFL-1.0-no-RFN",
"OFL-1.1",
"OFL-1.1-RFN",
"OFL-1.1-no-RFN",
"OGC-1.0",
"OGDL-Taiwan-1.0",
"OGL-Canada-2.0",
"OGL-UK-1.0",
"OGL-UK-2.0",
"OGL-UK-3.0",
"OGTSL",
"OLDAP-1.1",
"OLDAP-1.2",
"OLDAP-1.3",
"OLDAP-1.4",
"OLDAP-2.0",
"OLDAP-2.0.1",
"OLDAP-2.1",
"OLDAP-2.2",
"OLDAP-2.2.1",
"OLDAP-2.2.2",
"OLDAP-2.3",
"OLDAP-2.4",
"OLDAP-2.5",
"OLDAP-2.6",
"OLDAP-2.7",
"OLDAP-2.8",
"OLFL-1.3",
"OML",
"OPL-1.0",
"OPL-UK-3.0",
"OPUBL-1.0",
"OSC-1.0",
"OSET-PL-2.1",
"OSL-1.0",
"OSL-1.1",
"OSL-2.0",
"OSL-2.1",
"OSL-3.0",
"OSSP",
"OpenMDW-1.0",
"OpenPBS-2.3",
"OpenSSL",
"OpenSSL-standalone",
"OpenVision",
"PADL",
"PDDL-1.0",
"PHP-3.0",
"PHP-3.01",
"PPL",
"PSF-2.0",
"ParaType-Free-Font-1.3",
"Parity-6.0.0",
"Parity-7.0.0",
"Pixar",
"Plexus",
"PolyForm-Noncommercial-1.0.0",
"PolyForm-Small-Business-1.0.0",
"PostgreSQL",
"Python-2.0",
"Python-2.0.1",
"QPL-1.0",
"QPL-1.0-INRIA-2004",
"Qhull",
"RHeCos-1.1",
"RPL-1.1",
"RPL-1.5",
"RPSL-1.0",
"RSA-MD",
"RSCPL",
"Rdisc",
"Ruby",
"Ruby-pty",
"SAX-PD",
"SAX-PD-2.0",
"SCEA",
"SGI-B-1.0",
"SGI-B-1.1",
"SGI-B-2.0",
"SGI-OpenGL",
"SGMLUG-PM",
"SGP4",
"SHL-0.5",
"SHL-0.51",
"SISSL",
"SISSL-1.2",
"SL",
"SMAIL-GPL",
"SMLNJ",
"SMPPL",
"SNIA",
"SOFA",
"SPL-1.0",
"SSH-OpenSSH",
"SSH-short",
"SSLeay-standalone",
"SSPL-1.0",
"SUL-1.0",
"SWL",
"Saxpath",
"SchemeReport",
"Sendmail",
"Sendmail-8.23",
"Sendmail-Open-Source-1.1",
"SimPL-2.0",
"Sleepycat",
"Soundex",
"Spencer-86",
"Spencer-94",
"Spencer-99",
"SugarCRM-1.1.3",
"Sun-PPP",
"Sun-PPP-2000",
"SunPro",
"Symlinks",
"TAPR-OHL-1.0",
"TCL",
"TCP-wrappers",
"TGPPL-1.0",
"TMate",
"TORQUE-1.1",
"TOSL",
"TPDL",
"TPL-1.0",
"TTWL",
"TTYP0",
"TU-Berlin-1.0",
"TU-Berlin-2.0",
"TekHVC",
"TermReadKey",
"ThirdEye",
"TrustedQSL",
"UCAR",
"UCL-1.0",
"UMich-Merit",
"UPL-1.0",
"URT-RLE",
"Ubuntu-font-1.0",
"UnRAR",
"Unicode-3.0",
"Unicode-DFS-2015",
"Unicode-DFS-2016",
"Unicode-TOU",
"UnixCrypt",
"Unlicense",
"Unlicense-libtelnet",
"Unlicense-libwhirlpool",
"VOSTROM",
"VSL-1.0",
"Vim",
"Vixie-Cron",
"W3C",
"W3C-19980720",
"W3C-20150513",
"WTFNMFPL",
"WTFPL",
"Watcom-1.0",
"Widget-Workshop",
"WordNet",
"Wsuipa",
"X11",
"X11-distribute-modifications-variant",
"X11-no-permit-persons",
"X11-swapped",
"XFree86-1.1",
"XSkat",
"Xdebug-1.03",
"Xerox",
"Xfig",
"Xnet",
"YPL-1.0",
"YPL-1.1",
"ZPL-1.1",
"ZPL-2.0",
"ZPL-2.1",
"Zed",
"Zeeff",
"Zend-2.0",
"Zimbra-1.3",
"Zimbra-1.4",
"Zlib",
"any-OSI",
"any-OSI-perl-modules",
"bcrypt-Solar-Designer",
"blessing",
"bzip2-1.0.6",
"check-cvs",
"checkmk",
"copyleft-next-0.3.0",
"copyleft-next-0.3.1",
"curl",
"cve-tou",
"diffmark",
"dtoa",
"dvipdfm",
"eGenix",
"etalab-2.0",
"fwlw",
"gSOAP-1.3b",
"generic-xts",
"gnuplot",
"gtkbook",
"hdparm",
"hyphen-bulgarian",
"iMatix",
"jove",
"libpng-1.6.35",
"libpng-2.0",
"libselinux-1.0",
"libtiff",
"libutil-David-Nugent",
"lsof",
"magaz",
"mailprio",
"man2html",
"metamail",
"mpi-permissive",
"mpich2",
"mplus",
"ngrep",
"pkgconf",
"pnmstitch",
"psfrag",
"psutils",
"python-ldap",
"radvd",
"snprintf",
"softSurfer",
"ssh-keyscan",
"swrule",
"threeparttable",
"ulem",
"w3m",
"wwl",
"xinetd",
"xkeyboard-config-Zinoviev",
"xlock",
"xpp",
"xzoom",
"zlib-acknowledgement"
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-license-ids/3.0.23/b9ecf04b031822f0b7bd6fefb53e3d9a430d9952a8f772c345694537448bf8d5/node_modules/spdx-license-ids/deprecated.json
var require_deprecated = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-license-ids/3.0.23/b9ecf04b031822f0b7bd6fefb53e3d9a430d9952a8f772c345694537448bf8d5/node_modules/spdx-license-ids/deprecated.json"(exports2, module2) {
module2.exports = [
"AGPL-1.0",
"AGPL-3.0",
"BSD-2-Clause-FreeBSD",
"BSD-2-Clause-NetBSD",
"GFDL-1.1",
"GFDL-1.2",
"GFDL-1.3",
"GPL-1.0",
"GPL-2.0",
"GPL-2.0-with-GCC-exception",
"GPL-2.0-with-autoconf-exception",
"GPL-2.0-with-bison-exception",
"GPL-2.0-with-classpath-exception",
"GPL-2.0-with-font-exception",
"GPL-3.0",
"GPL-3.0-with-GCC-exception",
"GPL-3.0-with-autoconf-exception",
"LGPL-2.0",
"LGPL-2.1",
"LGPL-3.0",
"Net-SNMP",
"Nunit",
"StandardML-NJ",
"bzip2-1.0.5",
"eCos-2.0",
"wxWindows"
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-exceptions/2.5.0/84a4d711f292f8700460e10d3de3b6ded5409912124ca2833bd0aa92a90002ea/node_modules/spdx-exceptions/index.json
var require_spdx_exceptions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-exceptions/2.5.0/84a4d711f292f8700460e10d3de3b6ded5409912124ca2833bd0aa92a90002ea/node_modules/spdx-exceptions/index.json"(exports2, module2) {
module2.exports = [
"389-exception",
"Asterisk-exception",
"Autoconf-exception-2.0",
"Autoconf-exception-3.0",
"Autoconf-exception-generic",
"Autoconf-exception-generic-3.0",
"Autoconf-exception-macro",
"Bison-exception-1.24",
"Bison-exception-2.2",
"Bootloader-exception",
"Classpath-exception-2.0",
"CLISP-exception-2.0",
"cryptsetup-OpenSSL-exception",
"DigiRule-FOSS-exception",
"eCos-exception-2.0",
"Fawkes-Runtime-exception",
"FLTK-exception",
"fmt-exception",
"Font-exception-2.0",
"freertos-exception-2.0",
"GCC-exception-2.0",
"GCC-exception-2.0-note",
"GCC-exception-3.1",
"Gmsh-exception",
"GNAT-exception",
"GNOME-examples-exception",
"GNU-compiler-exception",
"gnu-javamail-exception",
"GPL-3.0-interface-exception",
"GPL-3.0-linking-exception",
"GPL-3.0-linking-source-exception",
"GPL-CC-1.0",
"GStreamer-exception-2005",
"GStreamer-exception-2008",
"i2p-gpl-java-exception",
"KiCad-libraries-exception",
"LGPL-3.0-linking-exception",
"libpri-OpenH323-exception",
"Libtool-exception",
"Linux-syscall-note",
"LLGPL",
"LLVM-exception",
"LZMA-exception",
"mif-exception",
"OCaml-LGPL-linking-exception",
"OCCT-exception-1.0",
"OpenJDK-assembly-exception-1.0",
"openvpn-openssl-exception",
"PS-or-PDF-font-exception-20170817",
"QPL-1.0-INRIA-2004-exception",
"Qt-GPL-exception-1.0",
"Qt-LGPL-exception-1.1",
"Qwt-exception-1.0",
"SANE-exception",
"SHL-2.0",
"SHL-2.1",
"stunnel-exception",
"SWI-exception",
"Swift-exception",
"Texinfo-exception",
"u-boot-exception-2.0",
"UBDL-exception",
"Universal-FOSS-exception-1.0",
"vsftpd-openssl-exception",
"WxWindows-exception-3.1",
"x11vnc-openssl-exception"
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/scan.js
var require_scan = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/scan.js"(exports2, module2) {
"use strict";
var licenses = [].concat(require_spdx_license_ids()).concat(require_deprecated());
var exceptions = require_spdx_exceptions();
module2.exports = function(source) {
var index2 = 0;
function hasMore() {
return index2 < source.length;
}
function read2(value) {
if (value instanceof RegExp) {
var chars = source.slice(index2);
var match = chars.match(value);
if (match) {
index2 += match[0].length;
return match[0];
}
} else {
if (source.indexOf(value, index2) === index2) {
index2 += value.length;
return value;
}
}
}
function skipWhitespace() {
read2(/[ ]*/);
}
function operator() {
var string;
var possibilities = ["WITH", "AND", "OR", "(", ")", ":", "+"];
for (var i4 = 0; i4 < possibilities.length; i4++) {
string = read2(possibilities[i4]);
if (string) {
break;
}
}
if (string === "+" && index2 > 1 && source[index2 - 2] === " ") {
throw new Error("Space before `+`");
}
return string && {
type: "OPERATOR",
string
};
}
function idstring() {
return read2(/[A-Za-z0-9-.]+/);
}
function expectIdstring() {
var string = idstring();
if (!string) {
throw new Error("Expected idstring at offset " + index2);
}
return string;
}
function documentRef() {
if (read2("DocumentRef-")) {
var string = expectIdstring();
return { type: "DOCUMENTREF", string };
}
}
function licenseRef() {
if (read2("LicenseRef-")) {
var string = expectIdstring();
return { type: "LICENSEREF", string };
}
}
function identifier() {
var begin = index2;
var string = idstring();
if (licenses.indexOf(string) !== -1) {
return {
type: "LICENSE",
string
};
} else if (exceptions.indexOf(string) !== -1) {
return {
type: "EXCEPTION",
string
};
}
index2 = begin;
}
function parseToken2() {
return operator() || documentRef() || licenseRef() || identifier();
}
var tokens = [];
while (hasMore()) {
skipWhitespace();
if (!hasMore()) {
break;
}
var token = parseToken2();
if (!token) {
throw new Error("Unexpected `" + source[index2] + "` at offset " + index2);
}
tokens.push(token);
}
return tokens;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/parse.js
var require_parse2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/parse.js"(exports2, module2) {
"use strict";
module2.exports = function(tokens) {
var index2 = 0;
function hasMore() {
return index2 < tokens.length;
}
function token() {
return hasMore() ? tokens[index2] : null;
}
function next2() {
if (!hasMore()) {
throw new Error();
}
index2++;
}
function parseOperator(operator) {
var t2 = token();
if (t2 && t2.type === "OPERATOR" && operator === t2.string) {
next2();
return t2.string;
}
}
function parseWith() {
if (parseOperator("WITH")) {
var t2 = token();
if (t2 && t2.type === "EXCEPTION") {
next2();
return t2.string;
}
throw new Error("Expected exception after `WITH`");
}
}
function parseLicenseRef() {
var begin = index2;
var string = "";
var t2 = token();
if (t2.type === "DOCUMENTREF") {
next2();
string += "DocumentRef-" + t2.string + ":";
if (!parseOperator(":")) {
throw new Error("Expected `:` after `DocumentRef-...`");
}
}
t2 = token();
if (t2.type === "LICENSEREF") {
next2();
string += "LicenseRef-" + t2.string;
return { license: string };
}
index2 = begin;
}
function parseLicense() {
var t2 = token();
if (t2 && t2.type === "LICENSE") {
next2();
var node2 = { license: t2.string };
if (parseOperator("+")) {
node2.plus = true;
}
var exception2 = parseWith();
if (exception2) {
node2.exception = exception2;
}
return node2;
}
}
function parseParenthesizedExpression() {
var left = parseOperator("(");
if (!left) {
return;
}
var expr = parseExpression2();
if (!parseOperator(")")) {
throw new Error("Expected `)`");
}
return expr;
}
function parseAtom() {
return parseParenthesizedExpression() || parseLicenseRef() || parseLicense();
}
function makeBinaryOpParser(operator, nextParser) {
return function parseBinaryOp() {
var left = nextParser();
if (!left) {
return;
}
if (!parseOperator(operator)) {
return left;
}
var right = parseBinaryOp();
if (!right) {
throw new Error("Expected expression");
}
return {
left,
conjunction: operator.toLowerCase(),
right
};
};
}
var parseAnd = makeBinaryOpParser("AND", parseAtom);
var parseExpression2 = makeBinaryOpParser("OR", parseAnd);
var node = parseExpression2();
if (!node || hasMore()) {
throw new Error("Syntax error");
}
return node;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/index.js
var require_spdx_expression_parse = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-expression-parse/3.0.1/1f87c1cf2c95978a41fb5c72a6fa92fffa604dfb27db2b4cd1e6f5bffacb4f72/node_modules/spdx-expression-parse/index.js"(exports2, module2) {
"use strict";
var scan3 = require_scan();
var parse12 = require_parse2();
module2.exports = function(source) {
return parse12(scan3(source));
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-correct/3.2.0/953412edf6e0c76ab49ddea31c6828d8790e9b871d0b73d8ee97bc8e4ed559e5/node_modules/spdx-correct/index.js
var require_spdx_correct = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/spdx-correct/3.2.0/953412edf6e0c76ab49ddea31c6828d8790e9b871d0b73d8ee97bc8e4ed559e5/node_modules/spdx-correct/index.js"(exports2, module2) {
var parse12 = require_spdx_expression_parse();
var spdxLicenseIds = require_spdx_license_ids();
function valid6(string) {
try {
parse12(string);
return true;
} catch (error) {
return false;
}
}
function sortTranspositions(a2, b) {
var length = b[0].length - a2[0].length;
if (length !== 0) return length;
return a2[0].toUpperCase().localeCompare(b[0].toUpperCase());
}
var transpositions = [
["APGL", "AGPL"],
["Gpl", "GPL"],
["GLP", "GPL"],
["APL", "Apache"],
["ISD", "ISC"],
["GLP", "GPL"],
["IST", "ISC"],
["Claude", "Clause"],
[" or later", "+"],
[" International", ""],
["GNU", "GPL"],
["GUN", "GPL"],
["+", ""],
["GNU GPL", "GPL"],
["GNU LGPL", "LGPL"],
["GNU/GPL", "GPL"],
["GNU GLP", "GPL"],
["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL"],
["GNU Lesser General Public License", "LGPL"],
["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
["GNU Lesser General Public License", "LGPL-2.1"],
["LESSER GENERAL PUBLIC LICENSE", "LGPL"],
["Lesser General Public License", "LGPL"],
["LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
["Lesser General Public License", "LGPL-2.1"],
["GNU General Public License", "GPL"],
["Gnu public license", "GPL"],
["GNU Public License", "GPL"],
["GNU GENERAL PUBLIC LICENSE", "GPL"],
["MTI", "MIT"],
["Mozilla Public License", "MPL"],
["Universal Permissive License", "UPL"],
["WTH", "WTF"],
["WTFGPL", "WTFPL"],
["-License", ""]
].sort(sortTranspositions);
var TRANSPOSED = 0;
var CORRECT = 1;
var transforms = [
// e.g. 'mit'
function(argument) {
return argument.toUpperCase();
},
// e.g. 'MIT '
function(argument) {
return argument.trim();
},
// e.g. 'M.I.T.'
function(argument) {
return argument.replace(/\./g, "");
},
// e.g. 'Apache- 2.0'
function(argument) {
return argument.replace(/\s+/g, "");
},
// e.g. 'CC BY 4.0''
function(argument) {
return argument.replace(/\s+/g, "-");
},
// e.g. 'LGPLv2.1'
function(argument) {
return argument.replace("v", "-");
},
// e.g. 'Apache 2.0'
function(argument) {
return argument.replace(/,?\s*(\d)/, "-$1");
},
// e.g. 'GPL 2'
function(argument) {
return argument.replace(/,?\s*(\d)/, "-$1.0");
},
// e.g. 'Apache Version 2.0'
function(argument) {
return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2");
},
// e.g. 'Apache Version 2'
function(argument) {
return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2.0");
},
// e.g. 'ZLIB'
function(argument) {
return argument[0].toUpperCase() + argument.slice(1);
},
// e.g. 'MPL/2.0'
function(argument) {
return argument.replace("/", "-");
},
// e.g. 'Apache 2'
function(argument) {
return argument.replace(/\s*V\s*(\d)/, "-$1").replace(/(\d)$/, "$1.0");
},
// e.g. 'GPL-2.0', 'GPL-3.0'
function(argument) {
if (argument.indexOf("3.0") !== -1) {
return argument + "-or-later";
} else {
return argument + "-only";
}
},
// e.g. 'GPL-2.0-'
function(argument) {
return argument + "only";
},
// e.g. 'GPL2'
function(argument) {
return argument.replace(/(\d)$/, "-$1.0");
},
// e.g. 'BSD 3'
function(argument) {
return argument.replace(/(-| )?(\d)$/, "-$2-Clause");
},
// e.g. 'BSD clause 3'
function(argument) {
return argument.replace(/(-| )clause(-| )(\d)/, "-$3-Clause");
},
// e.g. 'New BSD license'
function(argument) {
return argument.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, "BSD-3-Clause");
},
// e.g. 'Simplified BSD license'
function(argument) {
return argument.replace(/\bSimplified(-| )?BSD((-| )License)?/i, "BSD-2-Clause");
},
// e.g. 'Free BSD license'
function(argument) {
return argument.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i, "BSD-2-Clause-$1BSD");
},
// e.g. 'Clear BSD license'
function(argument) {
return argument.replace(/\bClear(-| )?BSD((-| )License)?/i, "BSD-3-Clause-Clear");
},
// e.g. 'Old BSD License'
function(argument) {
return argument.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i, "BSD-4-Clause");
},
// e.g. 'BY-NC-4.0'
function(argument) {
return "CC-" + argument;
},
// e.g. 'BY-NC'
function(argument) {
return "CC-" + argument + "-4.0";
},
// e.g. 'Attribution-NonCommercial'
function(argument) {
return argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "");
},
// e.g. 'Attribution-NonCommercial'
function(argument) {
return "CC-" + argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "") + "-4.0";
}
];
var licensesWithVersions = spdxLicenseIds.map(function(id) {
var match = /^(.*)-\d+\.\d+$/.exec(id);
return match ? [match[0], match[1]] : [id, null];
}).reduce(function(objectMap, item) {
var key = item[1];
objectMap[key] = objectMap[key] || [];
objectMap[key].push(item[0]);
return objectMap;
}, {});
var licensesWithOneVersion = Object.keys(licensesWithVersions).map(function makeEntries(key) {
return [key, licensesWithVersions[key]];
}).filter(function identifySoleVersions(item) {
return (
// Licenses has just one valid version suffix.
item[1].length === 1 && item[0] !== null && // APL will be considered Apache, rather than APL-1.0
item[0] !== "APL"
);
}).map(function createLastResorts(item) {
return [item[0], item[1][0]];
});
licensesWithVersions = void 0;
var lastResorts = [
["UNLI", "Unlicense"],
["WTF", "WTFPL"],
["2 CLAUSE", "BSD-2-Clause"],
["2-CLAUSE", "BSD-2-Clause"],
["3 CLAUSE", "BSD-3-Clause"],
["3-CLAUSE", "BSD-3-Clause"],
["AFFERO", "AGPL-3.0-or-later"],
["AGPL", "AGPL-3.0-or-later"],
["APACHE", "Apache-2.0"],
["ARTISTIC", "Artistic-2.0"],
["Affero", "AGPL-3.0-or-later"],
["BEER", "Beerware"],
["BOOST", "BSL-1.0"],
["BSD", "BSD-2-Clause"],
["CDDL", "CDDL-1.1"],
["ECLIPSE", "EPL-1.0"],
["FUCK", "WTFPL"],
["GNU", "GPL-3.0-or-later"],
["LGPL", "LGPL-3.0-or-later"],
["GPLV1", "GPL-1.0-only"],
["GPL-1", "GPL-1.0-only"],
["GPLV2", "GPL-2.0-only"],
["GPL-2", "GPL-2.0-only"],
["GPL", "GPL-3.0-or-later"],
["MIT +NO-FALSE-ATTRIBS", "MITNFA"],
["MIT", "MIT"],
["MPL", "MPL-2.0"],
["X11", "X11"],
["ZLIB", "Zlib"]
].concat(licensesWithOneVersion).sort(sortTranspositions);
var SUBSTRING = 0;
var IDENTIFIER2 = 1;
var validTransformation = function(identifier) {
for (var i4 = 0; i4 < transforms.length; i4++) {
var transformed = transforms[i4](identifier).trim();
if (transformed !== identifier && valid6(transformed)) {
return transformed;
}
}
return null;
};
var validLastResort = function(identifier) {
var upperCased = identifier.toUpperCase();
for (var i4 = 0; i4 < lastResorts.length; i4++) {
var lastResort = lastResorts[i4];
if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {
return lastResort[IDENTIFIER2];
}
}
return null;
};
var anyCorrection = function(identifier, check2) {
for (var i4 = 0; i4 < transpositions.length; i4++) {
var transposition = transpositions[i4];
var transposed = transposition[TRANSPOSED];
if (identifier.indexOf(transposed) > -1) {
var corrected = identifier.replace(
transposed,
transposition[CORRECT]
);
var checked = check2(corrected);
if (checked !== null) {
return checked;
}
}
}
return null;
};
module2.exports = function(identifier, options) {
options = options || {};
var upgrade = options.upgrade === void 0 ? true : !!options.upgrade;
function postprocess(value) {
return upgrade ? upgradeGPLs(value) : value;
}
var validArugment = typeof identifier === "string" && identifier.trim().length !== 0;
if (!validArugment) {
throw Error("Invalid argument. Expected non-empty string.");
}
identifier = identifier.trim();
if (valid6(identifier)) {
return postprocess(identifier);
}
var noPlus = identifier.replace(/\+$/, "").trim();
if (valid6(noPlus)) {
return postprocess(noPlus);
}
var transformed = validTransformation(identifier);
if (transformed !== null) {
return postprocess(transformed);
}
transformed = anyCorrection(identifier, function(argument) {
if (valid6(argument)) {
return argument;
}
return validTransformation(argument);
});
if (transformed !== null) {
return postprocess(transformed);
}
transformed = validLastResort(identifier);
if (transformed !== null) {
return postprocess(transformed);
}
transformed = anyCorrection(identifier, validLastResort);
if (transformed !== null) {
return postprocess(transformed);
}
return null;
};
function upgradeGPLs(value) {
if ([
"GPL-1.0",
"LGPL-1.0",
"AGPL-1.0",
"GPL-2.0",
"LGPL-2.0",
"AGPL-2.0",
"LGPL-2.1"
].indexOf(value) !== -1) {
return value + "-only";
} else if ([
"GPL-1.0+",
"GPL-2.0+",
"GPL-3.0+",
"LGPL-2.0+",
"LGPL-2.1+",
"LGPL-3.0+",
"AGPL-1.0+",
"AGPL-3.0+"
].indexOf(value) !== -1) {
return value.replace(/\+$/, "-or-later");
} else if (["GPL-3.0", "LGPL-3.0", "AGPL-3.0"].indexOf(value) !== -1) {
return value + "-or-later";
} else {
return value;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-license/3.0.4/93832b02e3fcfbb94dc370baef4142df8479d246565fa3a21e63843fedcea255/node_modules/validate-npm-package-license/index.js
var require_validate_npm_package_license = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-license/3.0.4/93832b02e3fcfbb94dc370baef4142df8479d246565fa3a21e63843fedcea255/node_modules/validate-npm-package-license/index.js"(exports2, module2) {
var parse12 = require_spdx_expression_parse();
var correct = require_spdx_correct();
var genericWarning = 'license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"';
var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;
function startsWith(prefix, string) {
return string.slice(0, prefix.length) === prefix;
}
function usesLicenseRef(ast) {
if (ast.hasOwnProperty("license")) {
var license = ast.license;
return startsWith("LicenseRef", license) || startsWith("DocumentRef", license);
} else {
return usesLicenseRef(ast.left) || usesLicenseRef(ast.right);
}
}
module2.exports = function(argument) {
var ast;
try {
ast = parse12(argument);
} catch (e) {
var match;
if (argument === "UNLICENSED" || argument === "UNLICENCED") {
return {
validForOldPackages: true,
validForNewPackages: true,
unlicensed: true
};
} else if (match = fileReferenceRE.exec(argument)) {
return {
validForOldPackages: true,
validForNewPackages: true,
inFile: match[1]
};
} else {
var result2 = {
validForOldPackages: false,
validForNewPackages: false,
warnings: [genericWarning]
};
if (argument.trim().length !== 0) {
var corrected = correct(argument);
if (corrected) {
result2.warnings.push(
'license is similar to the valid expression "' + corrected + '"'
);
}
}
return result2;
}
}
if (usesLicenseRef(ast)) {
return {
validForNewPackages: false,
validForOldPackages: false,
spdx: true,
warnings: [genericWarning]
};
} else {
return {
validForNewPackages: true,
validForOldPackages: true,
spdx: true
};
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/11.5.2/3c8a5c5c2cceba3fecd9e8d125966b3ed0ce73d9dab68b7445d94e4705306a7a/node_modules/lru-cache/dist/commonjs/node/index.min.js
var require_index_min = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/11.5.2/3c8a5c5c2cceba3fecd9e8d125966b3ed0ce73d9dab68b7445d94e4705306a7a/node_modules/lru-cache/dist/commonjs/node/index.min.js"(exports2) {
"use strict";
var j2 = (u2, t2) => () => (t2 || u2((t2 = { exports: {} }).exports, t2), t2.exports);
var I3 = j2((O2) => {
"use strict";
Object.defineProperty(O2, "__esModule", { value: true });
O2.tracing = O2.metrics = void 0;
var U2 = __require("node:diagnostics_channel");
O2.metrics = (0, U2.channel)("lru-cache:metrics");
O2.tracing = (0, U2.tracingChannel)("lru-cache");
});
var P2 = j2((R2) => {
"use strict";
Object.defineProperty(R2, "__esModule", { value: true });
R2.defaultPerf = void 0;
R2.defaultPerf = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date;
});
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LRUCache = void 0;
var g = I3();
var N = P2();
var C = () => g.metrics.hasSubscribers || g.tracing.hasSubscribers;
var k2 = /* @__PURE__ */ new Set();
var G3 = typeof process == "object" && process ? process : {};
var V = (u2, t2, e, i4) => {
typeof G3.emitWarning == "function" ? G3.emitWarning(u2, t2, e, i4) : console.error(`[${e}] ${t2}: ${u2}`);
};
var q = (u2) => !k2.has(u2);
var T2 = (u2) => !!u2 && u2 === Math.floor(u2) && u2 > 0 && isFinite(u2);
var H2 = (u2) => T2(u2) ? u2 <= Math.pow(2, 8) ? Uint8Array : u2 <= Math.pow(2, 16) ? Uint16Array : u2 <= Math.pow(2, 32) ? Uint32Array : u2 <= Number.MAX_SAFE_INTEGER ? W2 : null : null;
var W2 = class extends Array {
constructor(t2) {
super(t2), this.fill(0);
}
};
var L3 = class u2 {
heap;
length;
static #o = false;
static create(t2) {
let e = H2(t2);
if (!e) return [];
u2.#o = true;
let i4 = new u2(t2, e);
return u2.#o = false, i4;
}
constructor(t2, e) {
if (!u2.#o) throw new TypeError("instantiate Stack using Stack.create(n)");
this.heap = new e(t2), this.length = 0;
}
push(t2) {
this.heap[this.length++] = t2;
}
pop() {
return this.heap[--this.length];
}
};
var M3 = class u2 {
#o;
#c;
#m;
#W;
#S;
#x;
#j;
#w;
get perf() {
return this.#w;
}
ttl;
ttlResolution;
ttlAutopurge;
updateAgeOnGet;
updateAgeOnHas;
allowStale;
noDisposeOnSet;
noUpdateTTL;
maxEntrySize;
sizeCalculation;
noDeleteOnFetchRejection;
noDeleteOnStaleGet;
allowStaleOnFetchAbort;
allowStaleOnFetchRejection;
ignoreFetchAbort;
backgroundFetchSize;
#n;
#b;
#s;
#i;
#t;
#l;
#u;
#a;
#h;
#_;
#r;
#y;
#F;
#d;
#g;
#T;
#U;
#f;
#R;
static unsafeExposeInternals(t2) {
return { starts: t2.#F, ttls: t2.#d, autopurgeTimers: t2.#g, sizes: t2.#y, keyMap: t2.#s, keyList: t2.#i, valList: t2.#t, next: t2.#l, prev: t2.#u, get head() {
return t2.#a;
}, get tail() {
return t2.#h;
}, free: t2.#_, isBackgroundFetch: (e) => t2.#e(e), backgroundFetch: (e, i4, s, n2) => t2.#G(e, i4, s, n2), moveToTail: (e) => t2.#M(e), indexes: (e) => t2.#A(e), rindexes: (e) => t2.#z(e), isStale: (e) => t2.#p(e) };
}
get max() {
return this.#o;
}
get maxSize() {
return this.#c;
}
get calculatedSize() {
return this.#b;
}
get size() {
return this.#n;
}
get fetchMethod() {
return this.#x;
}
get memoMethod() {
return this.#j;
}
get dispose() {
return this.#m;
}
get onInsert() {
return this.#W;
}
get disposeAfter() {
return this.#S;
}
constructor(t2) {
let { max: e = 0, ttl: i4, ttlResolution: s = 1, ttlAutopurge: n2, updateAgeOnGet: o2, updateAgeOnHas: l, allowStale: h2, dispose: r, onInsert: c3, disposeAfter: w, noDisposeOnSet: y, noUpdateTTL: d3, maxSize: p = 0, maxEntrySize: f = 0, sizeCalculation: _, fetchMethod: a2, memoMethod: S3, noDeleteOnFetchRejection: F, noDeleteOnStaleGet: b, allowStaleOnFetchRejection: m, allowStaleOnFetchAbort: A2, ignoreFetchAbort: z, backgroundFetchSize: x3 = 1, perf: v } = t2;
if (this.backgroundFetchSize = x3, v !== void 0 && typeof v?.now != "function") throw new TypeError("perf option must have a now() method if specified");
if (this.#w = v ?? N.defaultPerf, e !== 0 && !T2(e)) throw new TypeError("max option must be a nonnegative integer");
let E = e ? H2(e) : Array;
if (!E) throw new Error("invalid max value: " + e);
if (this.#o = e, this.#c = p, this.maxEntrySize = f || this.#c, this.sizeCalculation = _, this.sizeCalculation) {
if (!this.#c && !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 (S3 !== void 0 && typeof S3 != "function") throw new TypeError("memoMethod must be a function if defined");
if (this.#j = S3, a2 !== void 0 && typeof a2 != "function") throw new TypeError("fetchMethod must be a function if specified");
if (this.#x = a2, this.#U = !!a2, this.#s = /* @__PURE__ */ new Map(), this.#i = Array.from({ length: e }).fill(void 0), this.#t = Array.from({ length: e }).fill(void 0), this.#l = new E(e), this.#u = new E(e), this.#a = 0, this.#h = 0, this.#_ = L3.create(e), this.#n = 0, this.#b = 0, typeof r == "function" && (this.#m = r), typeof c3 == "function" && (this.#W = c3), typeof w == "function" ? (this.#S = w, this.#r = []) : (this.#S = void 0, this.#r = void 0), this.#T = !!this.#m, this.#R = !!this.#W, this.#f = !!this.#S, this.noDisposeOnSet = !!y, this.noUpdateTTL = !!d3, this.noDeleteOnFetchRejection = !!F, this.allowStaleOnFetchRejection = !!m, this.allowStaleOnFetchAbort = !!A2, this.ignoreFetchAbort = !!z, this.maxEntrySize !== 0) {
if (this.#c !== 0 && !T2(this.#c)) throw new TypeError("maxSize must be a positive integer if specified");
if (!T2(this.maxEntrySize)) throw new TypeError("maxEntrySize must be a positive integer if specified");
this.#X();
}
if (this.allowStale = !!h2, this.noDeleteOnStaleGet = !!b, this.updateAgeOnGet = !!o2, this.updateAgeOnHas = !!l, this.ttlResolution = T2(s) || s === 0 ? s : 1, this.ttlAutopurge = !!n2, this.ttl = i4 || 0, this.ttl) {
if (!T2(this.ttl)) throw new TypeError("ttl must be a positive integer if specified");
this.#k();
}
if (this.#o === 0 && this.ttl === 0 && this.#c === 0) throw new TypeError("At least one of max, maxSize, or ttl is required");
if (!this.ttlAutopurge && !this.#o && !this.#c) {
let D3 = "LRU_CACHE_UNBOUNDED";
q(D3) && (k2.add(D3), V("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", D3, u2));
}
}
getRemainingTTL(t2) {
return this.#s.has(t2) ? 1 / 0 : 0;
}
#k() {
let t2 = new W2(this.#o), e = new W2(this.#o);
this.#d = t2, this.#F = e;
let i4 = this.ttlAutopurge ? Array.from({ length: this.#o }) : void 0;
this.#g = i4, this.#H = (h2, r, c3 = this.#w.now()) => {
e[h2] = r !== 0 ? c3 : 0, t2[h2] = r, s(h2, r);
}, this.#D = (h2) => {
e[h2] = t2[h2] !== 0 ? this.#w.now() : 0, s(h2, t2[h2]);
};
let s = this.ttlAutopurge ? (h2, r) => {
if (i4?.[h2] && (clearTimeout(i4[h2]), i4[h2] = void 0), r && r !== 0 && i4) {
let c3 = setTimeout(() => {
this.#p(h2) ? (this.#v(this.#i[h2], "expire"), i4[h2] = void 0) : s(h2, l(h2));
}, r + 1);
c3.unref && c3.unref(), i4[h2] = c3;
}
} : () => {
};
this.#E = (h2, r) => {
if (t2[r]) {
let c3 = t2[r], w = e[r];
if (!c3 || !w) return;
h2.ttl = c3, h2.start = w, h2.now = n2 || o2();
let y = h2.now - w;
h2.remainingTTL = c3 - y;
}
};
let n2 = 0, o2 = () => {
let h2 = this.#w.now();
if (this.ttlResolution > 0) {
n2 = h2;
let r = setTimeout(() => n2 = 0, this.ttlResolution);
r.unref && r.unref();
}
return h2;
};
this.getRemainingTTL = (h2) => {
let r = this.#s.get(h2);
return r === void 0 ? 0 : l(r);
};
let l = (h2) => {
let r = t2[h2], c3 = e[h2];
if (!r || !c3) return 1 / 0;
let w = (n2 || o2()) - c3;
return r - w;
};
this.#p = (h2) => {
let r = e[h2], c3 = t2[h2];
return !!c3 && !!r && (n2 || o2()) - r > c3;
};
}
#D = () => {
};
#E = () => {
};
#H = () => {
};
#p = () => false;
#X() {
let t2 = new W2(this.#o);
this.#b = 0, this.#y = t2, this.#C = (e) => {
this.#b -= t2[e], t2[e] = 0;
}, this.#N = (e, i4, s, n2) => {
if (!T2(s)) {
if (this.#e(i4)) return this.backgroundFetchSize;
if (n2) {
if (typeof n2 != "function") throw new TypeError("sizeCalculation must be a function");
if (s = n2(i4, e), !T2(s)) 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 s;
}, this.#I = (e, i4, s) => {
if (t2[e] = i4, this.#c) {
let n2 = this.#c - t2[e];
for (; this.#b > n2; ) this.#P(true);
}
this.#b += t2[e], s && (s.entrySize = i4, s.totalCalculatedSize = this.#b);
};
}
#C = (t2) => {
};
#I = (t2, e, i4) => {
};
#N = (t2, e, i4, s) => {
if (i4 || s) throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
return 0;
};
*#A({ allowStale: t2 = this.allowStale } = {}) {
if (this.#n) for (let e = this.#h; this.#V(e) && ((t2 || !this.#p(e)) && (yield e), e !== this.#a); ) e = this.#u[e];
}
*#z({ allowStale: t2 = this.allowStale } = {}) {
if (this.#n) for (let e = this.#a; this.#V(e) && ((t2 || !this.#p(e)) && (yield e), e !== this.#h); ) e = this.#l[e];
}
#V(t2) {
return t2 !== void 0 && this.#s.get(this.#i[t2]) === t2;
}
*entries() {
for (let t2 of this.#A()) this.#t[t2] !== void 0 && this.#i[t2] !== void 0 && !this.#e(this.#t[t2]) && (yield [this.#i[t2], this.#t[t2]]);
}
*rentries() {
for (let t2 of this.#z()) this.#t[t2] !== void 0 && this.#i[t2] !== void 0 && !this.#e(this.#t[t2]) && (yield [this.#i[t2], this.#t[t2]]);
}
*keys() {
for (let t2 of this.#A()) {
let e = this.#i[t2];
e !== void 0 && !this.#e(this.#t[t2]) && (yield e);
}
}
*rkeys() {
for (let t2 of this.#z()) {
let e = this.#i[t2];
e !== void 0 && !this.#e(this.#t[t2]) && (yield e);
}
}
*values() {
for (let t2 of this.#A()) this.#t[t2] !== void 0 && !this.#e(this.#t[t2]) && (yield this.#t[t2]);
}
*rvalues() {
for (let t2 of this.#z()) this.#t[t2] !== void 0 && !this.#e(this.#t[t2]) && (yield this.#t[t2]);
}
[Symbol.iterator]() {
return this.entries();
}
[Symbol.toStringTag] = "LRUCache";
find(t2, e = {}) {
for (let i4 of this.#A()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 !== void 0 && t2(n2, this.#i[i4], this)) return this.#L(this.#i[i4], e);
}
}
forEach(t2, e = this) {
for (let i4 of this.#A()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== void 0 && t2.call(e, n2, this.#i[i4], this);
}
}
rforEach(t2, e = this) {
for (let i4 of this.#z()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== void 0 && t2.call(e, n2, this.#i[i4], this);
}
}
purgeStale() {
let t2 = false;
for (let e of this.#z({ allowStale: true })) this.#p(e) && (this.#v(this.#i[e], "expire"), t2 = true);
return t2;
}
info(t2) {
let e = this.#s.get(t2);
if (e === void 0) return;
let i4 = this.#t[e], s = this.#e(i4) ? i4.__staleWhileFetching : i4;
if (s === void 0) return;
let n2 = { value: s };
if (this.#d && this.#F) {
let o2 = this.#d[e], l = this.#F[e];
if (o2 && l) {
let h2 = o2 - (this.#w.now() - l);
n2.ttl = h2, n2.start = Date.now();
}
}
return this.#y && (n2.size = this.#y[e]), n2;
}
dump() {
let t2 = [];
for (let e of this.#A({ allowStale: true })) {
let i4 = this.#i[e], s = this.#t[e], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 === void 0 || i4 === void 0) continue;
let o2 = { value: n2 };
if (this.#d && this.#F) {
o2.ttl = this.#d[e];
let l = this.#w.now() - this.#F[e];
o2.start = Math.floor(Date.now() - l);
}
this.#y && (o2.size = this.#y[e]), t2.unshift([i4, o2]);
}
return t2;
}
load(t2) {
this.clear();
for (let [e, i4] of t2) {
if (i4.start) {
let s = Date.now() - i4.start;
i4.start = this.#w.now() - s;
}
this.#O(e, i4.value, i4);
}
}
set(t2, e, i4 = {}) {
let { status: s = g.metrics.hasSubscribers ? {} : void 0 } = i4;
i4.status = s, s && (s.op = "set", s.key = t2, e !== void 0 && (s.value = e), s.cache = this);
let n2 = this.#O(t2, e, i4);
return s && g.metrics.hasSubscribers && g.metrics.publish(s), n2;
}
#O(t2, e, i4, s) {
let { ttl: n2 = this.ttl, start: o2, noDisposeOnSet: l = this.noDisposeOnSet, sizeCalculation: h2 = this.sizeCalculation, status: r } = i4, c3 = this.#e(e);
if (e === void 0) return r && (r.set = "deleted"), this.delete(t2), this;
let { noUpdateTTL: w = this.noUpdateTTL } = i4;
r && !c3 && (r.value = e);
let y = this.#N(t2, e, i4.size || 0, h2, r);
if (this.maxEntrySize && y > this.maxEntrySize) return this.#v(t2, "set"), r && (r.set = "miss", r.maxEntrySizeExceeded = true), this;
let d3 = this.#n === 0 ? void 0 : this.#s.get(t2);
if (d3 === void 0) d3 = this.#n === 0 ? this.#h : this.#_.length !== 0 ? this.#_.pop() : this.#n === this.#o ? this.#P(false) : this.#n, this.#i[d3] = t2, this.#t[d3] = e, this.#s.set(t2, d3), this.#l[this.#h] = d3, this.#u[d3] = this.#h, this.#h = d3, this.#n++, this.#I(d3, y, r), r && (r.set = "add"), w = false, this.#R && !c3 && this.#W?.(e, t2, "add");
else {
this.#M(d3);
let p = this.#t[d3];
if (e !== p) {
if (!l) if (this.#e(p)) {
p !== s && p.__abortController.abort(new Error("replaced"));
let { __staleWhileFetching: f } = p;
f !== void 0 && f !== e && (this.#T && this.#m?.(f, t2, "set"), this.#f && this.#r?.push([f, t2, "set"]));
} else this.#T && this.#m?.(p, t2, "set"), this.#f && this.#r?.push([p, t2, "set"]);
if (this.#C(d3), this.#I(d3, y, r), this.#t[d3] = e, !c3) {
let f = p && this.#e(p) ? p.__staleWhileFetching : p, _ = f === void 0 ? "add" : e !== f ? "replace" : "update";
r && (r.set = _, f !== void 0 && (r.oldValue = f)), this.#R && this.onInsert?.(e, t2, _);
}
} else c3 || (r && (r.set = "update"), this.#R && this.onInsert?.(e, t2, "update"));
}
if (n2 !== 0 && !this.#d && this.#k(), this.#d && (w || this.#H(d3, n2, o2), r && this.#E(r, d3)), !l && this.#f && this.#r) {
let p = this.#r, f;
for (; f = p?.shift(); ) this.#S?.(...f);
}
return this;
}
pop() {
try {
for (; this.#n; ) {
let t2 = this.#t[this.#a];
if (this.#P(true), this.#e(t2)) {
if (t2.__staleWhileFetching) return t2.__staleWhileFetching;
} else if (t2 !== void 0) return t2;
}
} finally {
if (this.#f && this.#r) {
let t2 = this.#r, e;
for (; e = t2?.shift(); ) this.#S?.(...e);
}
}
}
#P(t2) {
let e = this.#a, i4 = this.#i[e], s = this.#t[e], n2 = this.#e(s);
n2 && s.__abortController.abort(new Error("evicted"));
let o2 = n2 ? s.__staleWhileFetching : s;
return (this.#T || this.#f) && o2 !== void 0 && (this.#T && this.#m?.(o2, i4, "evict"), this.#f && this.#r?.push([o2, i4, "evict"])), this.#C(e), this.#g?.[e] && (clearTimeout(this.#g[e]), this.#g[e] = void 0), t2 && (this.#i[e] = void 0, this.#t[e] = void 0, this.#_.push(e)), this.#n === 1 ? (this.#a = this.#h = 0, this.#_.length = 0) : this.#a = this.#l[e], this.#s.delete(i4), this.#n--, e;
}
has(t2, e = {}) {
let { status: i4 = g.metrics.hasSubscribers ? {} : void 0 } = e;
e.status = i4, i4 && (i4.op = "has", i4.key = t2, i4.cache = this);
let s = this.#Y(t2, e);
return g.metrics.hasSubscribers && g.metrics.publish(i4), s;
}
#Y(t2, e = {}) {
let { updateAgeOnHas: i4 = this.updateAgeOnHas, status: s } = e, n2 = this.#s.get(t2);
if (n2 !== void 0) {
let o2 = this.#t[n2];
if (this.#e(o2) && o2.__staleWhileFetching === void 0) return false;
if (this.#p(n2)) s && (s.has = "stale", this.#E(s, n2));
else return i4 && this.#D(n2), s && (s.has = "hit", this.#E(s, n2)), true;
} else s && (s.has = "miss");
return false;
}
peek(t2, e = {}) {
let { status: i4 = C() ? {} : void 0 } = e;
i4 && (i4.op = "peek", i4.key = t2, i4.cache = this), e.status = i4;
let s = this.#J(t2, e);
return g.metrics.hasSubscribers && g.metrics.publish(i4), s;
}
#J(t2, e) {
let { status: i4, allowStale: s = this.allowStale } = e, n2 = this.#s.get(t2);
if (n2 === void 0 || !s && this.#p(n2)) {
i4 && (i4.peek = n2 === void 0 ? "miss" : "stale");
return;
}
let o2 = this.#t[n2], l = this.#e(o2) ? o2.__staleWhileFetching : o2;
return i4 && (l !== void 0 ? (i4.peek = "hit", i4.value = l) : i4.peek = "miss"), l;
}
#G(t2, e, i4, s) {
let n2 = e === void 0 ? void 0 : this.#t[e];
if (this.#e(n2)) return n2;
let o2 = new AbortController(), { signal: l } = i4;
l?.addEventListener("abort", () => o2.abort(l.reason), { signal: o2.signal });
let h2 = { signal: o2.signal, options: i4, context: s }, r = (f, _ = false) => {
let { aborted: a2 } = o2.signal, S3 = i4.ignoreFetchAbort && f !== void 0, F = i4.ignoreFetchAbort || !!(i4.allowStaleOnFetchAbort && f !== void 0);
if (i4.status && (a2 && !_ ? (i4.status.fetchAborted = true, i4.status.fetchError = o2.signal.reason, S3 && (i4.status.fetchAbortIgnored = true)) : i4.status.fetchResolved = true), a2 && !S3 && !_) return w(o2.signal.reason, F);
let b = d3, m = this.#t[e];
return (m === d3 || m === void 0 && S3 && _) && (f === void 0 ? b.__staleWhileFetching !== void 0 ? this.#t[e] = b.__staleWhileFetching : this.#v(t2, "fetch") : (i4.status && (i4.status.fetchUpdated = true), this.#O(t2, f, h2.options, b))), f;
}, c3 = (f) => (i4.status && (i4.status.fetchRejected = true, i4.status.fetchError = f), w(f, false)), w = (f, _) => {
let { aborted: a2 } = o2.signal, S3 = a2 && i4.allowStaleOnFetchAbort, F = S3 || i4.allowStaleOnFetchRejection, b = F || i4.noDeleteOnFetchRejection, m = d3;
if (this.#t[e] === d3 && (!b || !_ && m.__staleWhileFetching === void 0 ? this.#v(t2, "fetch") : S3 || (this.#t[e] = m.__staleWhileFetching)), F) return i4.status && m.__staleWhileFetching !== void 0 && (i4.status.returnedStale = true), m.__staleWhileFetching;
if (m.__returned === m) throw f;
}, y = (f, _) => {
let a2 = this.#x?.(t2, n2, h2);
o2.signal.addEventListener("abort", () => {
(!i4.ignoreFetchAbort || i4.allowStaleOnFetchAbort) && (f(void 0), i4.allowStaleOnFetchAbort && (f = (S3) => r(S3, true)));
}), a2 && a2 instanceof Promise ? a2.then((S3) => f(S3 === void 0 ? void 0 : S3), _) : a2 !== void 0 && f(a2);
};
i4.status && (i4.status.fetchDispatched = true);
let d3 = new Promise(y).then(r, c3), p = Object.assign(d3, { __abortController: o2, __staleWhileFetching: n2, __returned: void 0 });
return e === void 0 ? (this.#O(t2, p, { ...h2.options, status: void 0 }), e = this.#s.get(t2)) : this.#t[e] = p, p;
}
#e(t2) {
if (!this.#U) return false;
let e = t2;
return !!e && e instanceof Promise && e.hasOwnProperty("__staleWhileFetching") && e.__abortController instanceof AbortController;
}
fetch(t2, e = {}) {
let i4 = g.tracing.hasSubscribers, { status: s = C() ? {} : void 0 } = e;
e.status = s, s && e.context && (s.context = e.context);
let n2 = this.#q(t2, e);
return s && i4 && (s.trace = true, g.tracing.tracePromise(() => n2, s).catch(() => {
})), n2;
}
async #q(t2, e = {}) {
let { allowStale: i4 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, ttl: o2 = this.ttl, noDisposeOnSet: l = this.noDisposeOnSet, size: h2 = 0, sizeCalculation: r = this.sizeCalculation, noUpdateTTL: c3 = this.noUpdateTTL, noDeleteOnFetchRejection: w = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection: y = this.allowStaleOnFetchRejection, ignoreFetchAbort: d3 = this.ignoreFetchAbort, allowStaleOnFetchAbort: p = this.allowStaleOnFetchAbort, context: f, forceRefresh: _ = false, status: a2, signal: S3 } = e;
if (a2 && (a2.op = "fetch", a2.key = t2, _ && (a2.forceRefresh = true), a2.cache = this), !this.#U) return a2 && (a2.fetch = "get"), this.#L(t2, { allowStale: i4, updateAgeOnGet: s, noDeleteOnStaleGet: n2, status: a2 });
let F = { allowStale: i4, updateAgeOnGet: s, noDeleteOnStaleGet: n2, ttl: o2, noDisposeOnSet: l, size: h2, sizeCalculation: r, noUpdateTTL: c3, noDeleteOnFetchRejection: w, allowStaleOnFetchRejection: y, allowStaleOnFetchAbort: p, ignoreFetchAbort: d3, status: a2, signal: S3 }, b = this.#s.get(t2);
if (b === void 0) {
a2 && (a2.fetch = "miss");
let m = this.#G(t2, b, F, f);
return m.__returned = m;
} else {
let m = this.#t[b];
if (this.#e(m)) {
let E = i4 && m.__staleWhileFetching !== void 0;
return a2 && (a2.fetch = "inflight", E && (a2.returnedStale = true)), E ? m.__staleWhileFetching : m.__returned = m;
}
let A2 = this.#p(b);
if (!_ && !A2) return a2 && (a2.fetch = "hit"), this.#M(b), s && this.#D(b), a2 && this.#E(a2, b), m;
let z = this.#G(t2, b, F, f), v = z.__staleWhileFetching !== void 0 && i4;
return a2 && (a2.fetch = A2 ? "stale" : "refresh", v && A2 && (a2.returnedStale = true)), v ? z.__staleWhileFetching : z.__returned = z;
}
}
forceFetch(t2, e = {}) {
let i4 = g.tracing.hasSubscribers, { status: s = C() ? {} : void 0 } = e;
e.status = s, s && e.context && (s.context = e.context);
let n2 = this.#K(t2, e);
return s && i4 && (s.trace = true, g.tracing.tracePromise(() => n2, s).catch(() => {
})), n2;
}
async #K(t2, e = {}) {
let i4 = await this.#q(t2, e);
if (i4 === void 0) throw new Error("fetch() returned undefined");
return i4;
}
memo(t2, e = {}) {
let { status: i4 = g.metrics.hasSubscribers ? {} : void 0 } = e;
e.status = i4, i4 && (i4.op = "memo", i4.key = t2, e.context && (i4.context = e.context), i4.cache = this);
let s = this.#Q(t2, e);
return i4 && (i4.value = s), g.metrics.hasSubscribers && g.metrics.publish(i4), s;
}
#Q(t2, e = {}) {
let i4 = this.#j;
if (!i4) throw new Error("no memoMethod provided to constructor");
let { context: s, status: n2, forceRefresh: o2, ...l } = e;
n2 && o2 && (n2.forceRefresh = true);
let h2 = this.#L(t2, l), r = o2 || h2 === void 0;
if (n2 && (n2.memo = r ? "miss" : "hit", r || (n2.value = h2)), !r) return h2;
let c3 = i4(t2, h2, { options: l, context: s });
return n2 && (n2.value = c3), this.#O(t2, c3, l), c3;
}
get(t2, e = {}) {
let { status: i4 = g.metrics.hasSubscribers ? {} : void 0 } = e;
e.status = i4, i4 && (i4.op = "get", i4.key = t2, i4.cache = this);
let s = this.#L(t2, e);
return i4 && (s !== void 0 && (i4.value = s), g.metrics.hasSubscribers && g.metrics.publish(i4)), s;
}
#L(t2, e = {}) {
let { allowStale: i4 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, status: o2 } = e, l = this.#s.get(t2);
if (l === void 0) {
o2 && (o2.get = "miss");
return;
}
let h2 = this.#t[l], r = this.#e(h2);
return o2 && this.#E(o2, l), this.#p(l) ? r ? (o2 && (o2.get = "stale-fetching"), i4 && h2.__staleWhileFetching !== void 0 ? (o2 && (o2.returnedStale = true), h2.__staleWhileFetching) : void 0) : (n2 || this.#v(t2, "expire"), o2 && (o2.get = "stale"), i4 ? (o2 && (o2.returnedStale = true), h2) : void 0) : (o2 && (o2.get = r ? "fetching" : "hit"), this.#M(l), s && this.#D(l), r ? h2.__staleWhileFetching : h2);
}
#B(t2, e) {
this.#u[e] = t2, this.#l[t2] = e;
}
#M(t2) {
t2 !== this.#h && (t2 === this.#a ? this.#a = this.#l[t2] : this.#B(this.#u[t2], this.#l[t2]), this.#B(this.#h, t2), this.#h = t2);
}
delete(t2) {
return this.#v(t2, "delete");
}
#v(t2, e) {
g.metrics.hasSubscribers && g.metrics.publish({ op: "delete", delete: e, key: t2, cache: this });
let i4 = false;
if (this.#n !== 0) {
let s = this.#s.get(t2);
if (s !== void 0) if (this.#g?.[s] && (clearTimeout(this.#g[s]), this.#g[s] = void 0), i4 = true, this.#n === 1) this.#$(e);
else {
this.#C(s);
let n2 = this.#t[s];
if (this.#e(n2) ? n2.__abortController.abort(new Error("deleted")) : (this.#T || this.#f) && (this.#T && this.#m?.(n2, t2, e), this.#f && this.#r?.push([n2, t2, e])), this.#s.delete(t2), this.#i[s] = void 0, this.#t[s] = void 0, s === this.#h) this.#h = this.#u[s];
else if (s === this.#a) this.#a = this.#l[s];
else {
let o2 = this.#u[s];
this.#l[o2] = this.#l[s];
let l = this.#l[s];
this.#u[l] = this.#u[s];
}
this.#n--, this.#_.push(s);
}
}
if (this.#f && this.#r?.length) {
let s = this.#r, n2;
for (; n2 = s?.shift(); ) this.#S?.(...n2);
}
return i4;
}
clear() {
return this.#$("delete");
}
#$(t2) {
for (let e of this.#z({ allowStale: true })) {
let i4 = this.#t[e];
if (this.#e(i4)) i4.__abortController.abort(new Error("deleted"));
else {
let s = this.#i[e];
this.#T && this.#m?.(i4, s, t2), this.#f && this.#r?.push([i4, s, t2]);
}
}
if (this.#s.clear(), this.#t.fill(void 0), this.#i.fill(void 0), this.#d && this.#F) {
this.#d.fill(0), this.#F.fill(0);
for (let e of this.#g ?? []) e !== void 0 && clearTimeout(e);
this.#g?.fill(void 0);
}
if (this.#y && this.#y.fill(0), this.#a = 0, this.#h = 0, this.#_.length = 0, this.#b = 0, this.#n = 0, this.#f && this.#r) {
let e = this.#r, i4;
for (; i4 = e?.shift(); ) this.#S?.(...i4);
}
}
};
exports2.LRUCache = M3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/hosts.js
var require_hosts = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/hosts.js"(exports2, module2) {
"use strict";
var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
var formatHashFragment = (f) => f.toLowerCase().replace(/^\W+/g, "").replace(/(?<!\W)\W+$/, "").replace(/\//g, "").replace(/\W+/g, "-");
var defaults4 = {
sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
edittemplate: ({ domain, user, project, committish, editpath, path: path236 }) => `https://${domain}/${user}/${project}${maybeJoin("/", editpath, "/", maybeEncode(committish || "HEAD"), "/", path236)}`,
browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
browsetreetemplate: ({ domain, user, project, committish, treepath, path: path236, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "HEAD")}/${path236}${maybeJoin("#", hashformat(fragment || ""))}`,
browseblobtemplate: ({ domain, user, project, committish, blobpath, path: path236, fragment, hashformat }) => `https://${domain}/${user}/${project}/${blobpath}/${maybeEncode(committish || "HEAD")}/${path236}${maybeJoin("#", hashformat(fragment || ""))}`,
docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ domain, user, project, committish, path: path236 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish || "HEAD")}/${path236}`,
shortcuttemplate: ({ type: type4, user, project, committish }) => `${type4}:${user}/${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
hashformat: formatHashFragment
};
var hosts = {};
hosts.github = {
// First two are insecure and generally shouldn't be used any more, but
// they are still supported.
protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "github.com",
treepath: "tree",
blobpath: "blob",
editpath: "edit",
filetemplate: ({ auth, user, project, committish, path: path236 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish || "HEAD")}/${path236}`,
gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
extract: (url7) => {
let [, user, project, type4, committish] = url7.pathname.split("/", 5);
if (type4 && type4 !== "tree") {
return;
}
if (!type4) {
committish = url7.hash.slice(1);
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish };
}
};
hosts.bitbucket = {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "bitbucket.org",
treepath: "src",
blobpath: "src",
editpath: "?mode=edit",
edittemplate: ({ domain, user, project, committish, treepath, path: path236, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish || "HEAD"), "/", path236, editpath)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish || "HEAD")}.tar.gz`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (["get"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
};
hosts.gitlab = {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gitlab.com",
treepath: "tree",
blobpath: "tree",
editpath: "-/edit",
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/api/v4/projects/${maybeEncode(user + "/" + project)}/repository/archive.tar.gz?sha=${maybeEncode(committish || "HEAD")}`,
extract: (url7) => {
const path236 = url7.pathname.slice(1);
if (path236.includes("/-/") || path236.includes("/archive.tar.gz")) {
return;
}
const segments = path236.split("/");
let project = segments.pop();
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
const user = segments.join("/");
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
};
hosts.gist = {
protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gist.github.com",
editpath: "edit",
sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
edittemplate: ({ domain, user, project, committish, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", maybeEncode(committish))}/${editpath}`,
browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
browsetreetemplate: ({ domain, project, committish, path: path236, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path236))}`,
browseblobtemplate: ({ domain, project, committish, path: path236, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path236))}`,
docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ user, project, committish, path: path236 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path236}`,
shortcuttemplate: ({ type: type4, project, committish }) => `${type4}:${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (aux === "raw") {
return;
}
if (!project) {
if (!user) {
return;
}
project = user;
user = null;
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
return { user, project, committish: url7.hash.slice(1) };
},
hashformat: function(fragment) {
return fragment && "file-" + formatHashFragment(fragment);
}
};
hosts.sourcehut = {
protocols: ["git+ssh:", "https:"],
domain: "git.sr.ht",
treepath: "tree",
blobpath: "tree",
filetemplate: ({ domain, user, project, committish, path: path236 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "HEAD"}/${path236}`,
httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "HEAD"}.tar.gz`,
bugstemplate: () => null,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (["archive"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
};
for (const [name, host] of Object.entries(hosts)) {
hosts[name] = Object.assign({}, defaults4, host);
}
module2.exports = hosts;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/parse-url.js
var require_parse_url = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/parse-url.js"(exports2, module2) {
var url7 = __require("url");
var lastIndexOfBefore = (str2, char, beforeChar) => {
const startPosition = str2.indexOf(beforeChar);
return str2.lastIndexOf(char, startPosition > -1 ? startPosition : Infinity);
};
var safeUrl = (u2) => {
try {
return new url7.URL(u2);
} catch {
}
};
var correctProtocol = (arg, protocols) => {
const firstColon = arg.indexOf(":");
const proto2 = arg.slice(0, firstColon + 1);
if (Object.prototype.hasOwnProperty.call(protocols, proto2)) {
return arg;
}
if (arg.substr(firstColon, 3) === "://") {
return arg;
}
const firstAt = arg.indexOf("@");
if (firstAt > -1) {
if (firstAt > firstColon) {
return `git+ssh://${arg}`;
} else {
return arg;
}
}
return `${arg.slice(0, firstColon + 1)}//${arg.slice(firstColon + 1)}`;
};
var correctUrl2 = (giturl) => {
const firstAt = lastIndexOfBefore(giturl, "@", "#");
const lastColonBeforeHash = lastIndexOfBefore(giturl, ":", "#");
if (lastColonBeforeHash > firstAt) {
giturl = giturl.slice(0, lastColonBeforeHash) + "/" + giturl.slice(lastColonBeforeHash + 1);
}
if (lastIndexOfBefore(giturl, ":", "#") === -1 && giturl.indexOf("//") === -1) {
giturl = `git+ssh://${giturl}`;
}
return giturl;
};
module2.exports = (giturl, protocols) => {
const withProtocol = protocols ? correctProtocol(giturl, protocols) : giturl;
return safeUrl(withProtocol) || safeUrl(correctUrl2(withProtocol));
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/from-url.js
var require_from_url = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/from-url.js"(exports2, module2) {
"use strict";
var parseUrl = require_parse_url();
var isGitHubShorthand = (arg) => {
const firstHash = arg.indexOf("#");
const firstSlash = arg.indexOf("/");
const secondSlash = arg.indexOf("/", firstSlash + 1);
const firstColon = arg.indexOf(":");
const firstSpace = /\s/.exec(arg);
const firstAt = arg.indexOf("@");
const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
const hasSlash = firstSlash > 0;
const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
const doesNotStartWithDot = !arg.startsWith(".");
return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
};
module2.exports = (giturl, opts3, { gitHosts, protocols }) => {
if (!giturl) {
return;
}
const correctedUrl = isGitHubShorthand(giturl) ? `github:${giturl}` : giturl;
const parsed = parseUrl(correctedUrl, protocols);
if (!parsed) {
return;
}
const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
const gitHostName = gitHostShortcut || gitHostDomain;
if (!gitHostName) {
return;
}
const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
let auth = null;
if (protocols[parsed.protocol]?.auth && (parsed.username || parsed.password)) {
auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
}
let committish = null;
let user = null;
let project = null;
let defaultRepresentation = null;
try {
if (gitHostShortcut) {
let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
const firstAt = pathname.indexOf("@");
if (firstAt > -1) {
pathname = pathname.slice(firstAt + 1);
}
const lastSlash = pathname.lastIndexOf("/");
if (lastSlash > -1) {
user = decodeURIComponent(pathname.slice(0, lastSlash));
if (!user) {
user = null;
}
project = decodeURIComponent(pathname.slice(lastSlash + 1));
} else {
project = decodeURIComponent(pathname);
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (parsed.hash) {
committish = decodeURIComponent(parsed.hash.slice(1));
}
defaultRepresentation = "shortcut";
} else {
if (!gitHostInfo.protocols.includes(parsed.protocol)) {
return;
}
const segments = gitHostInfo.extract(parsed);
if (!segments) {
return;
}
user = segments.user && decodeURIComponent(segments.user);
project = decodeURIComponent(segments.project);
committish = decodeURIComponent(segments.committish);
defaultRepresentation = protocols[parsed.protocol]?.name || parsed.protocol.slice(0, -1);
}
} catch (err2) {
if (err2 instanceof URIError) {
return;
} else {
throw err2;
}
}
return [gitHostName, user, auth, project, committish, defaultRepresentation, opts3];
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/index.js
var require_lib = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/9.0.3/0236043d24a75df82d5b736b50b2144e801f90f8866fd36abdbcc5420eeaa952/node_modules/hosted-git-info/lib/index.js"(exports2, module2) {
"use strict";
var { LRUCache } = require_index_min();
var hosts = require_hosts();
var fromUrl = require_from_url();
var parseUrl = require_parse_url();
var cache = new LRUCache({ max: 1e3 });
function unknownHostedUrl(url7) {
try {
const {
protocol,
hostname,
pathname
} = new URL(url7);
if (!hostname) {
return null;
}
const proto2 = /(?:git\+)http:$/.test(protocol) ? "http:" : "https:";
const path236 = pathname.replace(/\.git$/, "");
return `${proto2}//${hostname}${path236}`;
} catch {
return null;
}
}
var GitHost = class _GitHost {
constructor(type4, user, auth, project, committish, defaultRepresentation, opts3 = {}) {
Object.assign(this, _GitHost.#gitHosts[type4], {
type: type4,
user,
auth,
project,
committish,
default: defaultRepresentation,
opts: opts3
});
}
static #gitHosts = { byShortcut: {}, byDomain: {} };
static #protocols = {
"git+ssh:": { name: "sshurl" },
"ssh:": { name: "sshurl" },
"git+https:": { name: "https", auth: true },
"git:": { auth: true },
"http:": { auth: true },
"https:": { auth: true },
"git+http:": { auth: true }
};
static addHost(name, host) {
_GitHost.#gitHosts[name] = host;
_GitHost.#gitHosts.byDomain[host.domain] = name;
_GitHost.#gitHosts.byShortcut[`${name}:`] = name;
_GitHost.#protocols[`${name}:`] = { name };
}
static fromUrl(giturl, opts3) {
if (typeof giturl !== "string") {
return;
}
const key = giturl + JSON.stringify(opts3 || {});
if (!cache.has(key)) {
const hostArgs = fromUrl(giturl, opts3, {
gitHosts: _GitHost.#gitHosts,
protocols: _GitHost.#protocols
});
cache.set(key, hostArgs ? new _GitHost(...hostArgs) : void 0);
}
return cache.get(key);
}
static fromManifest(manifest, opts3 = {}) {
if (!manifest || typeof manifest !== "object") {
return;
}
const r = manifest.repository;
const rurl = r && (typeof r === "string" ? r : typeof r === "object" && typeof r.url === "string" ? r.url : null);
if (!rurl) {
throw new Error("no repository");
}
const info = rurl && _GitHost.fromUrl(rurl.replace(/^git\+/, ""), opts3) || null;
if (info) {
return info;
}
const unk = unknownHostedUrl(rurl);
return _GitHost.fromUrl(unk, opts3) || unk;
}
static parseUrl(url7) {
return parseUrl(url7);
}
#fill(template, opts3) {
if (typeof template !== "function") {
return null;
}
const options = { ...this, ...this.opts, ...opts3 };
if (!options.path) {
options.path = "";
}
if (options.path.startsWith("/")) {
options.path = options.path.slice(1);
}
if (options.noCommittish) {
options.committish = null;
}
const result2 = template(options);
return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
}
hash() {
return this.committish ? `#${this.committish}` : "";
}
ssh(opts3) {
return this.#fill(this.sshtemplate, opts3);
}
sshurl(opts3) {
return this.#fill(this.sshurltemplate, opts3);
}
browse(path236, ...args) {
if (typeof path236 !== "string") {
return this.#fill(this.browsetemplate, path236);
}
if (typeof args[0] !== "string") {
return this.#fill(this.browsetreetemplate, { ...args[0], path: path236 });
}
return this.#fill(this.browsetreetemplate, { ...args[1], fragment: args[0], path: path236 });
}
// If the path is known to be a file, then browseFile should be used. For some hosts
// the url is the same as browse, but for others like GitHub a file can use both `/tree/`
// and `/blob/` in the path. When using a default committish of `HEAD` then the `/tree/`
// path will redirect to a specific commit. Using the `/blob/` path avoids this and
// does not redirect to a different commit.
browseFile(path236, ...args) {
if (typeof args[0] !== "string") {
return this.#fill(this.browseblobtemplate, { ...args[0], path: path236 });
}
return this.#fill(this.browseblobtemplate, { ...args[1], fragment: args[0], path: path236 });
}
docs(opts3) {
return this.#fill(this.docstemplate, opts3);
}
bugs(opts3) {
return this.#fill(this.bugstemplate, opts3);
}
https(opts3) {
return this.#fill(this.httpstemplate, opts3);
}
git(opts3) {
return this.#fill(this.gittemplate, opts3);
}
shortcut(opts3) {
return this.#fill(this.shortcuttemplate, opts3);
}
path(opts3) {
return this.#fill(this.pathtemplate, opts3);
}
tarball(opts3) {
return this.#fill(this.tarballtemplate, { ...opts3, noCommittish: false });
}
file(path236, opts3) {
return this.#fill(this.filetemplate, { ...opts3, path: path236 });
}
edit(path236, opts3) {
return this.#fill(this.edittemplate, { ...opts3, path: path236 });
}
getDefaultRepresentation() {
return this.default;
}
toString(opts3) {
if (this.default && typeof this[this.default] === "function") {
return this[this.default](opts3);
}
return this.sshurl(opts3);
}
};
for (const [name, host] of Object.entries(hosts)) {
GitHost.addHost(name, host);
}
module2.exports = GitHost;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/extract_description.js
var require_extract_description = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/extract_description.js"(exports2, module2) {
module2.exports = extractDescription;
function extractDescription(d3) {
if (!d3) {
return;
}
if (d3 === "ERROR: No README data found!") {
return;
}
d3 = d3.trim().split("\n");
let s = 0;
while (d3[s] && d3[s].trim().match(/^(#|$)/)) {
s++;
}
const l = d3.length;
let e = s + 1;
while (e < l && d3[e].trim()) {
e++;
}
return d3.slice(s, e).join(" ").trim();
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/typos.json
var require_typos = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/typos.json"(exports2, module2) {
module2.exports = {
topLevel: {
dependancies: "dependencies",
dependecies: "dependencies",
depdenencies: "dependencies",
devEependencies: "devDependencies",
depends: "dependencies",
"dev-dependencies": "devDependencies",
devDependences: "devDependencies",
devDepenencies: "devDependencies",
devdependencies: "devDependencies",
repostitory: "repository",
repo: "repository",
prefereGlobal: "preferGlobal",
hompage: "homepage",
hampage: "homepage",
autohr: "author",
autor: "author",
contributers: "contributors",
publicationConfig: "publishConfig",
script: "scripts"
},
bugs: { web: "url", name: "url" },
script: { server: "start", tests: "test" }
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/fixer.js
var require_fixer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/fixer.js"(exports2, module2) {
var { URL: URL7 } = __require("node:url");
var isValidSemver = require_valid();
var cleanSemver = require_clean();
var validateLicense = require_validate_npm_package_license();
var hostedGitInfo = require_lib();
var { isBuiltin } = __require("node:module");
var depTypes = ["dependencies", "devDependencies", "optionalDependencies"];
var extractDescription = require_extract_description();
var typos = require_typos();
var isEmail = (str2) => str2.includes("@") && str2.indexOf("@") < str2.lastIndexOf(".");
module2.exports = {
// default warning function
warn: function() {
},
fixRepositoryField: function(data) {
if (data.repositories) {
this.warn("repositories");
data.repository = data.repositories[0];
}
if (!data.repository) {
return this.warn("missingRepository");
}
if (typeof data.repository === "string") {
data.repository = {
type: "git",
url: data.repository
};
}
var r = data.repository.url || "";
if (r) {
var hosted = hostedGitInfo.fromUrl(r);
if (hosted) {
r = data.repository.url = hosted.getDefaultRepresentation() === "shortcut" ? hosted.https() : hosted.toString();
}
}
if (r.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)) {
this.warn("brokenGitUrl", r);
}
},
fixTypos: function(data) {
Object.keys(typos.topLevel).forEach(function(d3) {
if (Object.prototype.hasOwnProperty.call(data, d3)) {
this.warn("typo", d3, typos.topLevel[d3]);
}
}, this);
},
fixScriptsField: function(data) {
if (!data.scripts) {
return;
}
if (typeof data.scripts !== "object") {
this.warn("nonObjectScripts");
delete data.scripts;
return;
}
Object.keys(data.scripts).forEach(function(k2) {
if (typeof data.scripts[k2] !== "string") {
this.warn("nonStringScript");
delete data.scripts[k2];
} else if (typos.script[k2] && !data.scripts[typos.script[k2]]) {
this.warn("typo", k2, typos.script[k2], "scripts");
}
}, this);
},
fixFilesField: function(data) {
var files = data.files;
if (files && !Array.isArray(files)) {
this.warn("nonArrayFiles");
delete data.files;
} else if (data.files) {
data.files = data.files.filter(function(file) {
if (!file || typeof file !== "string") {
this.warn("invalidFilename", file);
return false;
} else {
return true;
}
}, this);
}
},
fixBinField: function(data) {
if (!data.bin) {
return;
}
if (typeof data.bin === "string") {
var b = {};
var match;
if (match = data.name.match(/^@[^/]+[/](.*)$/)) {
b[match[1]] = data.bin;
} else {
b[data.name] = data.bin;
}
data.bin = b;
}
},
fixManField: function(data) {
if (!data.man) {
return;
}
if (typeof data.man === "string") {
data.man = [data.man];
}
},
fixBundleDependenciesField: function(data) {
var bdd = "bundledDependencies";
var bd = "bundleDependencies";
if (data[bdd] && !data[bd]) {
data[bd] = data[bdd];
delete data[bdd];
}
if (data[bd] && !Array.isArray(data[bd])) {
this.warn("nonArrayBundleDependencies");
delete data[bd];
} else if (data[bd]) {
data[bd] = data[bd].filter(function(filtered) {
if (!filtered || typeof filtered !== "string") {
this.warn("nonStringBundleDependency", filtered);
return false;
} else {
if (!data.dependencies) {
data.dependencies = {};
}
if (!Object.prototype.hasOwnProperty.call(data.dependencies, filtered)) {
this.warn("nonDependencyBundleDependency", filtered);
data.dependencies[filtered] = "*";
}
return true;
}
}, this);
}
},
fixDependencies: function(data) {
objectifyDeps(data, this.warn);
addOptionalDepsToDeps(data, this.warn);
this.fixBundleDependenciesField(data);
["dependencies", "devDependencies"].forEach(function(deps) {
if (!(deps in data)) {
return;
}
if (!data[deps] || typeof data[deps] !== "object") {
this.warn("nonObjectDependencies", deps);
delete data[deps];
return;
}
Object.keys(data[deps]).forEach(function(d3) {
var r = data[deps][d3];
if (typeof r !== "string") {
this.warn("nonStringDependency", d3, JSON.stringify(r));
delete data[deps][d3];
}
var hosted = hostedGitInfo.fromUrl(data[deps][d3]);
if (hosted) {
data[deps][d3] = hosted.toString();
}
}, this);
}, this);
},
fixModulesField: function(data) {
if (data.modules) {
this.warn("deprecatedModules");
delete data.modules;
}
},
fixKeywordsField: function(data) {
if (typeof data.keywords === "string") {
data.keywords = data.keywords.split(/,\s+/);
}
if (data.keywords && !Array.isArray(data.keywords)) {
delete data.keywords;
this.warn("nonArrayKeywords");
} else if (data.keywords) {
data.keywords = data.keywords.filter(function(kw) {
if (typeof kw !== "string" || !kw) {
this.warn("nonStringKeyword");
return false;
} else {
return true;
}
}, this);
}
},
fixVersionField: function(data, strict) {
var loose = !strict;
if (!data.version) {
data.version = "";
return true;
}
if (!isValidSemver(data.version, loose)) {
throw new Error('Invalid version: "' + data.version + '"');
}
data.version = cleanSemver(data.version, loose);
return true;
},
fixPeople: function(data) {
modifyPeople(data, unParsePerson);
modifyPeople(data, parsePerson);
},
fixNameField: function(data, options) {
if (typeof options === "boolean") {
options = { strict: options };
} else if (typeof options === "undefined") {
options = {};
}
var strict = options.strict;
if (!data.name && !strict) {
data.name = "";
return;
}
if (typeof data.name !== "string") {
throw new Error("name field must be a string.");
}
if (!strict) {
data.name = data.name.trim();
}
ensureValidName(data.name, strict, options.allowLegacyCase);
if (isBuiltin(data.name)) {
this.warn("conflictingName", data.name);
}
},
fixDescriptionField: function(data) {
if (data.description && typeof data.description !== "string") {
this.warn("nonStringDescription");
delete data.description;
}
if (data.readme && !data.description) {
data.description = extractDescription(data.readme);
}
if (data.description === void 0) {
delete data.description;
}
if (!data.description) {
this.warn("missingDescription");
}
},
fixReadmeField: function(data) {
if (!data.readme) {
this.warn("missingReadme");
data.readme = "ERROR: No README data found!";
}
},
fixBugsField: function(data) {
if (!data.bugs && data.repository && data.repository.url) {
var hosted = hostedGitInfo.fromUrl(data.repository.url);
if (hosted && hosted.bugs()) {
data.bugs = { url: hosted.bugs() };
}
} else if (data.bugs) {
if (typeof data.bugs === "string") {
if (isEmail(data.bugs)) {
data.bugs = { email: data.bugs };
} else if (URL7.canParse(data.bugs)) {
data.bugs = { url: data.bugs };
} else {
this.warn("nonEmailUrlBugsString");
}
} else {
bugsTypos(data.bugs, this.warn);
var oldBugs = data.bugs;
data.bugs = {};
if (oldBugs.url) {
if (URL7.canParse(oldBugs.url)) {
data.bugs.url = oldBugs.url;
} else {
this.warn("nonUrlBugsUrlField");
}
}
if (oldBugs.email) {
if (typeof oldBugs.email === "string" && isEmail(oldBugs.email)) {
data.bugs.email = oldBugs.email;
} else {
this.warn("nonEmailBugsEmailField");
}
}
}
if (!data.bugs.email && !data.bugs.url) {
delete data.bugs;
this.warn("emptyNormalizedBugs");
}
}
},
fixHomepageField: function(data) {
if (!data.homepage && data.repository && data.repository.url) {
var hosted = hostedGitInfo.fromUrl(data.repository.url);
if (hosted && hosted.docs()) {
data.homepage = hosted.docs();
}
}
if (!data.homepage) {
return;
}
if (typeof data.homepage !== "string") {
this.warn("nonUrlHomepage");
return delete data.homepage;
}
if (!URL7.canParse(data.homepage)) {
data.homepage = "http://" + data.homepage;
}
},
fixLicenseField: function(data) {
const license = data.license || data.licence;
if (!license) {
return this.warn("missingLicense");
}
if (typeof license !== "string" || license.length < 1 || license.trim() === "") {
return this.warn("invalidLicense");
}
if (!validateLicense(license).validForNewPackages) {
return this.warn("invalidLicense");
}
}
};
function isValidScopedPackageName(spec) {
if (spec.charAt(0) !== "@") {
return false;
}
var rest = spec.slice(1).split("/");
if (rest.length !== 2) {
return false;
}
return rest[0] && rest[1] && rest[0] === encodeURIComponent(rest[0]) && rest[1] === encodeURIComponent(rest[1]);
}
function isCorrectlyEncodedName(spec) {
return !spec.match(/[/@\s+%:]/) && spec === encodeURIComponent(spec);
}
function ensureValidName(name, strict, allowLegacyCase) {
if (name.charAt(0) === "." || !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) || strict && !allowLegacyCase && name !== name.toLowerCase() || name.toLowerCase() === "node_modules" || name.toLowerCase() === "favicon.ico") {
throw new Error("Invalid name: " + JSON.stringify(name));
}
}
function modifyPeople(data, fn) {
if (data.author) {
data.author = fn(data.author);
}
["maintainers", "contributors"].forEach(function(set2) {
if (!Array.isArray(data[set2])) {
return;
}
data[set2] = data[set2].map(fn);
});
return data;
}
function unParsePerson(person) {
if (typeof person === "string") {
return person;
}
var name = person.name || "";
var u2 = person.url || person.web;
var wrappedUrl = u2 ? " (" + u2 + ")" : "";
var e = person.email || person.mail;
var wrappedEmail = e ? " <" + e + ">" : "";
return name + wrappedEmail + wrappedUrl;
}
function parsePerson(person) {
if (typeof person !== "string") {
return person;
}
var matchedName = person.match(/^([^(<]+)/);
var matchedUrl = person.match(/\(([^()]+)\)/);
var matchedEmail = person.match(/<([^<>]+)>/);
var obj = {};
if (matchedName && matchedName[0].trim()) {
obj.name = matchedName[0].trim();
}
if (matchedEmail) {
obj.email = matchedEmail[1];
}
if (matchedUrl) {
obj.url = matchedUrl[1];
}
return obj;
}
function addOptionalDepsToDeps(data) {
var o2 = data.optionalDependencies;
if (!o2) {
return;
}
var d3 = data.dependencies || {};
Object.keys(o2).forEach(function(k2) {
d3[k2] = o2[k2];
});
data.dependencies = d3;
}
function depObjectify(deps, type4, warn) {
if (!deps) {
return {};
}
if (typeof deps === "string") {
deps = deps.trim().split(/[\n\r\s\t ,]+/);
}
if (!Array.isArray(deps)) {
return deps;
}
warn("deprecatedArrayDependencies", type4);
var o2 = {};
deps.filter(function(d3) {
return typeof d3 === "string";
}).forEach(function(d3) {
d3 = d3.trim().split(/(:?[@\s><=])/);
var dn = d3.shift();
var dv = d3.join("");
dv = dv.trim();
dv = dv.replace(/^@/, "");
o2[dn] = dv;
});
return o2;
}
function objectifyDeps(data, warn) {
depTypes.forEach(function(type4) {
if (!data[type4]) {
return;
}
data[type4] = depObjectify(data[type4], type4, warn);
});
}
function bugsTypos(bugs, warn) {
if (!bugs) {
return;
}
Object.keys(bugs).forEach(function(k2) {
if (typos.bugs[k2]) {
warn("typo", k2, typos.bugs[k2], "bugs");
bugs[typos.bugs[k2]] = bugs[k2];
delete bugs[k2];
}
});
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/warning_messages.json
var require_warning_messages = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/warning_messages.json"(exports2, module2) {
module2.exports = {
repositories: "'repositories' (plural) Not supported. Please pick one as the 'repository' field",
missingRepository: "No repository field.",
brokenGitUrl: "Probably broken git url: %s",
nonObjectScripts: "scripts must be an object",
nonStringScript: "script values must be string commands",
nonArrayFiles: "Invalid 'files' member",
invalidFilename: "Invalid filename in 'files' list: %s",
nonArrayBundleDependencies: "Invalid 'bundleDependencies' list. Must be array of package names",
nonStringBundleDependency: "Invalid bundleDependencies member: %s",
nonDependencyBundleDependency: "Non-dependency in bundleDependencies: %s",
nonObjectDependencies: "%s field must be an object",
nonStringDependency: "Invalid dependency: %s %s",
deprecatedArrayDependencies: "specifying %s as array is deprecated",
deprecatedModules: "modules field is deprecated",
nonArrayKeywords: "keywords should be an array of strings",
nonStringKeyword: "keywords should be an array of strings",
conflictingName: "%s is also the name of a node core module.",
nonStringDescription: "'description' field should be a string",
missingDescription: "No description",
missingReadme: "No README data",
missingLicense: "No license field.",
nonEmailUrlBugsString: "Bug string field must be url, email, or {email,url}",
nonUrlBugsUrlField: "bugs.url field must be a string url. Deleted.",
nonEmailBugsEmailField: "bugs.email field must be a string email. Deleted.",
emptyNormalizedBugs: "Normalized value of bugs field is an empty object. Deleted.",
nonUrlHomepage: "homepage field must be a string url. Deleted.",
invalidLicense: "license should be a valid SPDX license expression",
typo: "%s should probably be %s."
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/make_warning.js
var require_make_warning = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/make_warning.js"(exports2, module2) {
var util64 = __require("util");
var messages = require_warning_messages();
module2.exports = function() {
var args = Array.prototype.slice.call(arguments, 0);
var warningName = args.shift();
if (warningName === "typo") {
return makeTypoWarning.apply(null, args);
} else {
var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'";
args.unshift(msgTemplate);
return util64.format.apply(null, args);
}
};
function makeTypoWarning(providedName, probableName, field) {
if (field) {
providedName = field + "['" + providedName + "']";
probableName = field + "['" + probableName + "']";
}
return util64.format(messages.typo, providedName, probableName);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/normalize.js
var require_normalize = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-package-data/8.0.0/a58dcc1753ae241207c8e5c37e5bd6f41682fc5ed59c408a57b942039f6e9e9c/node_modules/normalize-package-data/lib/normalize.js"(exports2, module2) {
module2.exports = normalize11;
var fixer = require_fixer();
normalize11.fixer = fixer;
var makeWarning = require_make_warning();
var fieldsToFix = [
"name",
"version",
"description",
"repository",
"modules",
"scripts",
"files",
"bin",
"man",
"bugs",
"keywords",
"readme",
"homepage",
"license"
];
var otherThingsToFix = ["dependencies", "people", "typos"];
var thingsToFix = fieldsToFix.map(function(fieldName) {
return ucFirst(fieldName) + "Field";
});
thingsToFix = thingsToFix.concat(otherThingsToFix);
function normalize11(data, warn, strict) {
if (warn === true) {
warn = null;
strict = true;
}
if (!strict) {
strict = false;
}
if (!warn || data.private) {
warn = function() {
};
}
if (data.scripts && data.scripts.install === "node-gyp rebuild" && !data.scripts.preinstall) {
data.gypfile = true;
}
fixer.warn = function() {
warn(makeWarning.apply(null, arguments));
};
thingsToFix.forEach(function(thingName) {
fixer["fix" + ucFirst(thingName)](data, strict);
});
data._id = data.name + "@" + data.version;
}
function ucFirst(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
}
});
// ../pkg-manifest/reader/lib/index.js
import path3 from "node:path";
import util from "node:util";
function readPackageJsonSync(pkgPath) {
try {
const manifest = loadJsonFileSync(pkgPath);
(0, import_normalize_package_data.default)(manifest);
return manifest;
} catch (err2) {
if (err2.code)
throw err2;
throw new PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err2.message}`);
}
}
async function readPackageJson(pkgPath) {
try {
const manifest = await loadJsonFile(pkgPath);
(0, import_normalize_package_data.default)(manifest);
return manifest;
} catch (err2) {
if (err2.code)
throw err2;
throw new PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err2.message}`);
}
}
function readPackageJsonFromDirSync(pkgPath) {
return readPackageJsonSync(path3.join(pkgPath, "package.json"));
}
async function readPackageJsonFromDir(pkgPath) {
return readPackageJson(path3.join(pkgPath, "package.json"));
}
async function safeReadPackageJson(pkgPath) {
try {
return await readPackageJson(pkgPath);
} catch (err2) {
if (err2.code !== "ENOENT")
throw err2;
return null;
}
}
async function safeReadPackageJsonFromDir(pkgPath) {
return safeReadPackageJson(path3.join(pkgPath, "package.json"));
}
function readPackageJsonFromDirRawSync(pkgPath) {
try {
return loadJsonFileSync(path3.join(pkgPath, "package.json"));
} catch (err2) {
if (util.types.isNativeError(err2) && "code" in err2)
throw err2;
throw new PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err2 instanceof Error ? err2.message : String(err2)}`);
}
}
var import_normalize_package_data;
var init_lib5 = __esm({
"../pkg-manifest/reader/lib/index.js"() {
"use strict";
init_lib2();
init_load_json_file();
import_normalize_package_data = __toESM(require_normalize(), 1);
}
});
// ../core/core-loggers/lib/contextLogger.js
var contextLogger;
var init_contextLogger = __esm({
"../core/core-loggers/lib/contextLogger.js"() {
"use strict";
init_lib3();
contextLogger = logger("context");
}
});
// ../core/core-loggers/lib/deprecationLogger.js
var deprecationLogger;
var init_deprecationLogger = __esm({
"../core/core-loggers/lib/deprecationLogger.js"() {
"use strict";
init_lib3();
deprecationLogger = logger("deprecation");
}
});
// ../core/core-loggers/lib/executionTimeLogger.js
var executionTimeLogger;
var init_executionTimeLogger = __esm({
"../core/core-loggers/lib/executionTimeLogger.js"() {
"use strict";
init_lib3();
executionTimeLogger = logger("execution-time");
}
});
// ../core/core-loggers/lib/fetchingProgressLogger.js
var fetchingProgressLogger;
var init_fetchingProgressLogger = __esm({
"../core/core-loggers/lib/fetchingProgressLogger.js"() {
"use strict";
init_lib3();
fetchingProgressLogger = logger("fetching-progress");
}
});
// ../core/core-loggers/lib/hookLogger.js
var hookLogger;
var init_hookLogger = __esm({
"../core/core-loggers/lib/hookLogger.js"() {
"use strict";
init_lib3();
hookLogger = logger("hook");
}
});
// ../core/core-loggers/lib/ignoredScriptsLogger.js
var ignoredScriptsLogger;
var init_ignoredScriptsLogger = __esm({
"../core/core-loggers/lib/ignoredScriptsLogger.js"() {
"use strict";
init_lib3();
ignoredScriptsLogger = logger("ignored-scripts");
}
});
// ../core/core-loggers/lib/installCheckLogger.js
var installCheckLogger;
var init_installCheckLogger = __esm({
"../core/core-loggers/lib/installCheckLogger.js"() {
"use strict";
init_lib3();
installCheckLogger = logger("install-check");
}
});
// ../core/core-loggers/lib/installingConfigDeps.js
var installingConfigDepsLogger;
var init_installingConfigDeps = __esm({
"../core/core-loggers/lib/installingConfigDeps.js"() {
"use strict";
init_lib3();
installingConfigDepsLogger = logger("installing-config-deps");
}
});
// ../core/core-loggers/lib/lifecycleLogger.js
var lifecycleLogger;
var init_lifecycleLogger = __esm({
"../core/core-loggers/lib/lifecycleLogger.js"() {
"use strict";
init_lib3();
lifecycleLogger = logger("lifecycle");
}
});
// ../core/core-loggers/lib/linkLogger.js
var linkLogger;
var init_linkLogger = __esm({
"../core/core-loggers/lib/linkLogger.js"() {
"use strict";
init_lib3();
linkLogger = logger("link");
}
});
// ../core/core-loggers/lib/lockfileVerificationLogger.js
var lockfileVerificationLogger;
var init_lockfileVerificationLogger = __esm({
"../core/core-loggers/lib/lockfileVerificationLogger.js"() {
"use strict";
init_lib3();
lockfileVerificationLogger = logger("lockfile-verification");
}
});
// ../core/core-loggers/lib/packageImportMethodLogger.js
var packageImportMethodLogger;
var init_packageImportMethodLogger = __esm({
"../core/core-loggers/lib/packageImportMethodLogger.js"() {
"use strict";
init_lib3();
packageImportMethodLogger = logger("package-import-method");
}
});
// ../core/core-loggers/lib/packageManifestLogger.js
var packageManifestLogger;
var init_packageManifestLogger = __esm({
"../core/core-loggers/lib/packageManifestLogger.js"() {
"use strict";
init_lib3();
packageManifestLogger = logger("package-manifest");
}
});
// ../core/core-loggers/lib/peerDependencyIssues.js
var peerDependencyIssuesLogger;
var init_peerDependencyIssues = __esm({
"../core/core-loggers/lib/peerDependencyIssues.js"() {
"use strict";
init_lib3();
peerDependencyIssuesLogger = logger("peer-dependency-issues");
}
});
// ../core/core-loggers/lib/progressLogger.js
var progressLogger;
var init_progressLogger = __esm({
"../core/core-loggers/lib/progressLogger.js"() {
"use strict";
init_lib3();
progressLogger = logger("progress");
}
});
// ../core/core-loggers/lib/registryLogger.js
var init_registryLogger = __esm({
"../core/core-loggers/lib/registryLogger.js"() {
"use strict";
}
});
// ../core/core-loggers/lib/removalLogger.js
var removalLogger;
var init_removalLogger = __esm({
"../core/core-loggers/lib/removalLogger.js"() {
"use strict";
init_lib3();
removalLogger = logger("removal");
}
});
// ../core/core-loggers/lib/requestRetryLogger.js
var requestRetryLogger;
var init_requestRetryLogger = __esm({
"../core/core-loggers/lib/requestRetryLogger.js"() {
"use strict";
init_lib3();
requestRetryLogger = logger("request-retry");
}
});
// ../core/core-loggers/lib/rootLogger.js
var rootLogger;
var init_rootLogger = __esm({
"../core/core-loggers/lib/rootLogger.js"() {
"use strict";
init_lib3();
rootLogger = logger("root");
}
});
// ../core/core-loggers/lib/scopeLogger.js
var scopeLogger;
var init_scopeLogger = __esm({
"../core/core-loggers/lib/scopeLogger.js"() {
"use strict";
init_lib3();
scopeLogger = logger("scope");
}
});
// ../core/core-loggers/lib/skippedOptionalDependencyLogger.js
var skippedOptionalDependencyLogger;
var init_skippedOptionalDependencyLogger = __esm({
"../core/core-loggers/lib/skippedOptionalDependencyLogger.js"() {
"use strict";
init_lib3();
skippedOptionalDependencyLogger = logger("skipped-optional-dependency");
}
});
// ../core/core-loggers/lib/stageLogger.js
var stageLogger;
var init_stageLogger = __esm({
"../core/core-loggers/lib/stageLogger.js"() {
"use strict";
init_lib3();
stageLogger = logger("stage");
}
});
// ../core/core-loggers/lib/statsLogger.js
var statsLogger;
var init_statsLogger = __esm({
"../core/core-loggers/lib/statsLogger.js"() {
"use strict";
init_lib3();
statsLogger = logger("stats");
}
});
// ../core/core-loggers/lib/summaryLogger.js
var summaryLogger;
var init_summaryLogger = __esm({
"../core/core-loggers/lib/summaryLogger.js"() {
"use strict";
init_lib3();
summaryLogger = logger("summary");
}
});
// ../core/core-loggers/lib/updateCheckLogger.js
var updateCheckLogger;
var init_updateCheckLogger = __esm({
"../core/core-loggers/lib/updateCheckLogger.js"() {
"use strict";
init_lib3();
updateCheckLogger = logger("update-check");
}
});
// ../core/core-loggers/lib/all.js
var init_all = __esm({
"../core/core-loggers/lib/all.js"() {
"use strict";
init_contextLogger();
init_deprecationLogger();
init_executionTimeLogger();
init_fetchingProgressLogger();
init_hookLogger();
init_ignoredScriptsLogger();
init_installCheckLogger();
init_installingConfigDeps();
init_lifecycleLogger();
init_linkLogger();
init_lockfileVerificationLogger();
init_packageImportMethodLogger();
init_packageManifestLogger();
init_peerDependencyIssues();
init_progressLogger();
init_registryLogger();
init_removalLogger();
init_requestRetryLogger();
init_rootLogger();
init_scopeLogger();
init_skippedOptionalDependencyLogger();
init_stageLogger();
init_statsLogger();
init_summaryLogger();
init_updateCheckLogger();
}
});
// ../core/core-loggers/lib/index.js
var init_lib6 = __esm({
"../core/core-loggers/lib/index.js"() {
"use strict";
init_all();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/lib/spawn.js
import { spawn as _spawn } from "child_process";
import { EventEmitter } from "events";
function startRunning(log3) {
if (progressEnabled == null) progressEnabled = log3.progressEnabled;
if (progressEnabled) log3.disableProgress();
++running;
}
function stopRunning(log3) {
--running;
if (progressEnabled && running === 0) log3.enableProgress();
}
function willCmdOutput(stdio) {
if (stdio === "inherit") return true;
if (!Array.isArray(stdio)) return false;
for (let fh = 1; fh <= 2; ++fh) {
if (stdio[fh] === "inherit") return true;
if (stdio[fh] === 1 || stdio[fh] === 2) return true;
}
return false;
}
function spawn(cmd, args, options, log3) {
const cmdWillOutput = willCmdOutput(options && options.stdio);
if (cmdWillOutput) startRunning(log3);
const raw = _spawn(cmd, args, options);
const cooked = new EventEmitter();
raw.on("error", function(er) {
if (cmdWillOutput) stopRunning(log3);
er.file = cmd;
cooked.emit("error", er);
}).on("close", function(code, signal) {
if (cmdWillOutput) stopRunning(log3);
if (code === 127) {
const er = new Error("spawn ENOENT");
er.code = "ENOENT";
er.errno = "ENOENT";
er.syscall = "spawn";
er.file = cmd;
cooked.emit("error", er);
} else {
cooked.emit("close", code, signal);
}
});
cooked.stdin = raw.stdin;
cooked.stdout = raw.stdout;
cooked.stderr = raw.stderr;
cooked.kill = function(sig) {
return raw.kill(sig);
};
return cooked;
}
var progressEnabled, running;
var init_spawn = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/lib/spawn.js"() {
running = 0;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tslib/2.8.1/ef04cb918080dbc449e2ce3d21f749e314adbcd20f189125968547b4240d49ef/node_modules/tslib/tslib.es6.mjs
var tslib_es6_exports = {};
__export(tslib_es6_exports, {
__addDisposableResource: () => __addDisposableResource,
__assign: () => __assign,
__asyncDelegator: () => __asyncDelegator,
__asyncGenerator: () => __asyncGenerator,
__asyncValues: () => __asyncValues,
__await: () => __await,
__awaiter: () => __awaiter,
__classPrivateFieldGet: () => __classPrivateFieldGet,
__classPrivateFieldIn: () => __classPrivateFieldIn,
__classPrivateFieldSet: () => __classPrivateFieldSet,
__createBinding: () => __createBinding,
__decorate: () => __decorate,
__disposeResources: () => __disposeResources,
__esDecorate: () => __esDecorate,
__exportStar: () => __exportStar,
__extends: () => __extends,
__generator: () => __generator,
__importDefault: () => __importDefault,
__importStar: () => __importStar,
__makeTemplateObject: () => __makeTemplateObject,
__metadata: () => __metadata,
__param: () => __param,
__propKey: () => __propKey,
__read: () => __read,
__rest: () => __rest,
__rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
__runInitializers: () => __runInitializers,
__setFunctionName: () => __setFunctionName,
__spread: () => __spread,
__spreadArray: () => __spreadArray,
__spreadArrays: () => __spreadArrays,
__values: () => __values,
default: () => tslib_es6_default
});
function __extends(d3, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d3, b);
function __() {
this.constructor = d3;
}
d3.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
function __rest(s, e) {
var t2 = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t2[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i4 = 0, p = Object.getOwnPropertySymbols(s); i4 < p.length; i4++) {
if (e.indexOf(p[i4]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i4]))
t2[p[i4]] = s[p[i4]];
}
return t2;
}
function __decorate(decorators, target2, key, desc) {
var c3 = arguments.length, r = c3 < 3 ? target2 : desc === null ? desc = Object.getOwnPropertyDescriptor(target2, key) : desc, d3;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target2, key, desc);
else for (var i4 = decorators.length - 1; i4 >= 0; i4--) if (d3 = decorators[i4]) r = (c3 < 3 ? d3(r) : c3 > 3 ? d3(target2, key, r) : d3(target2, key)) || r;
return c3 > 3 && r && Object.defineProperty(target2, key, r), r;
}
function __param(paramIndex, decorator) {
return function(target2, key) {
decorator(target2, key, paramIndex);
};
}
function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) {
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
return f;
}
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target2 = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target2 ? Object.getOwnPropertyDescriptor(target2, contextIn.name) : {});
var _, done = false;
for (var i4 = decorators.length - 1; i4 >= 0; i4--) {
var context = {};
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
context.addInitializer = function(f) {
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
extraInitializers.push(accept(f || null));
};
var result2 = (0, decorators[i4])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result2 === void 0) continue;
if (result2 === null || typeof result2 !== "object") throw new TypeError("Object expected");
if (_ = accept(result2.get)) descriptor.get = _;
if (_ = accept(result2.set)) descriptor.set = _;
if (_ = accept(result2.init)) initializers.unshift(_);
} else if (_ = accept(result2)) {
if (kind === "field") initializers.unshift(_);
else descriptor[key] = _;
}
}
if (target2) Object.defineProperty(target2, contextIn.name, descriptor);
done = true;
}
function __runInitializers(thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i4 = 0; i4 < initializers.length; i4++) {
value = useValue ? initializers[i4].call(thisArg, value) : initializers[i4].call(thisArg);
}
return useValue ? value : void 0;
}
function __propKey(x3) {
return typeof x3 === "symbol" ? x3 : "".concat(x3);
}
function __setFunctionName(f, name, prefix) {
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
}
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P2, generator) {
function adopt(value) {
return value instanceof P2 ? value : new P2(function(resolve4) {
resolve4(value);
});
}
return new (P2 || (P2 = Promise))(function(resolve4, reject3) {
function fulfilled(value) {
try {
step2(generator.next(value));
} catch (e) {
reject3(e);
}
}
function rejected(value) {
try {
step2(generator["throw"](value));
} catch (e) {
reject3(e);
}
}
function step2(result2) {
result2.done ? resolve4(result2.value) : adopt(result2.value).then(fulfilled, rejected);
}
step2((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() {
if (t2[0] & 1) throw t2[1];
return t2[1];
}, trys: [], ops: [] }, f, y, t2, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
return this;
}), g;
function verb(n2) {
return function(v) {
return step2([n2, v]);
};
}
function step2(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t2 = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t2 = y["return"]) && t2.call(y), 0) : y.next) && !(t2 = t2.call(y, op[1])).done) return t2;
if (y = 0, t2) op = [op[0] & 2, t2.value];
switch (op[0]) {
case 0:
case 1:
t2 = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t2 = _.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t2[1]) {
_.label = t2[1];
t2 = op;
break;
}
if (t2 && _.label < t2[2]) {
_.label = t2[2];
_.ops.push(op);
break;
}
if (t2[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t2 = 0;
}
if (op[0] & 5) throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
function __exportStar(m, o2) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o2, p)) __createBinding(o2, m, p);
}
function __values(o2) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o2[s], i4 = 0;
if (m) return m.call(o2);
if (o2 && typeof o2.length === "number") return {
next: function() {
if (o2 && i4 >= o2.length) o2 = void 0;
return { value: o2 && o2[i4++], done: !o2 };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function __read(o2, n2) {
var m = typeof Symbol === "function" && o2[Symbol.iterator];
if (!m) return o2;
var i4 = m.call(o2), r, ar = [], e;
try {
while ((n2 === void 0 || n2-- > 0) && !(r = i4.next()).done) ar.push(r.value);
} catch (error) {
e = { error };
} finally {
try {
if (r && !r.done && (m = i4["return"])) m.call(i4);
} finally {
if (e) throw e.error;
}
}
return ar;
}
function __spread() {
for (var ar = [], i4 = 0; i4 < arguments.length; i4++)
ar = ar.concat(__read(arguments[i4]));
return ar;
}
function __spreadArrays() {
for (var s = 0, i4 = 0, il = arguments.length; i4 < il; i4++) s += arguments[i4].length;
for (var r = Array(s), k2 = 0, i4 = 0; i4 < il; i4++)
for (var a2 = arguments[i4], j2 = 0, jl = a2.length; j2 < jl; j2++, k2++)
r[k2] = a2[j2];
return r;
}
function __spreadArray(to, from5, pack3) {
if (pack3 || arguments.length === 2) for (var i4 = 0, l = from5.length, ar; i4 < l; i4++) {
if (ar || !(i4 in from5)) {
if (!ar) ar = Array.prototype.slice.call(from5, 0, i4);
ar[i4] = from5[i4];
}
}
return to.concat(ar || Array.prototype.slice.call(from5));
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i4, q = [];
return i4 = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i4[Symbol.asyncIterator] = function() {
return this;
}, i4;
function awaitReturn(f) {
return function(v) {
return Promise.resolve(v).then(f, reject3);
};
}
function verb(n2, f) {
if (g[n2]) {
i4[n2] = function(v) {
return new Promise(function(a2, b) {
q.push([n2, v, a2, b]) > 1 || resume(n2, v);
});
};
if (f) i4[n2] = f(i4[n2]);
}
}
function resume(n2, v) {
try {
step2(g[n2](v));
} catch (e) {
settle(q[0][3], e);
}
}
function step2(r) {
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject3) : settle(q[0][2], r);
}
function fulfill(value) {
resume("next", value);
}
function reject3(value) {
resume("throw", value);
}
function settle(f, v) {
if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
}
}
function __asyncDelegator(o2) {
var i4, p;
return i4 = {}, verb("next"), verb("throw", function(e) {
throw e;
}), verb("return"), i4[Symbol.iterator] = function() {
return this;
}, i4;
function verb(n2, f) {
i4[n2] = o2[n2] ? function(v) {
return (p = !p) ? { value: __await(o2[n2](v)), done: false } : f ? f(v) : v;
} : f;
}
}
function __asyncValues(o2) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o2[Symbol.asyncIterator], i4;
return m ? m.call(o2) : (o2 = typeof __values === "function" ? __values(o2) : o2[Symbol.iterator](), i4 = {}, verb("next"), verb("throw"), verb("return"), i4[Symbol.asyncIterator] = function() {
return this;
}, i4);
function verb(n2) {
i4[n2] = o2[n2] && function(v) {
return new Promise(function(resolve4, reject3) {
v = o2[n2](v), settle(resolve4, reject3, v.done, v.value);
});
};
}
function settle(resolve4, reject3, d3, v) {
Promise.resolve(v).then(function(v2) {
resolve4({ value: v2, done: d3 });
}, reject3);
}
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", { value: raw });
} else {
cooked.raw = raw;
}
return cooked;
}
function __importStar(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k2 = ownKeys(mod2), i4 = 0; i4 < k2.length; i4++) if (k2[i4] !== "default") __createBinding(result2, mod2, k2[i4]);
}
__setModuleDefault(result2, mod2);
return result2;
}
function __importDefault(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
}
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
}
function __classPrivateFieldIn(state, receiver) {
if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
return typeof state === "function" ? receiver === state : state.has(receiver);
}
function __addDisposableResource(env3, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
var dispose, inner;
if (async) {
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
dispose = value[Symbol.asyncDispose];
}
if (dispose === void 0) {
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
dispose = value[Symbol.dispose];
if (async) inner = dispose;
}
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
if (inner) dispose = function() {
try {
inner.call(this);
} catch (e) {
return Promise.reject(e);
}
};
env3.stack.push({ value, dispose, async });
} else if (async) {
env3.stack.push({ async: true });
}
return value;
}
function __disposeResources(env3) {
function fail(e) {
env3.error = env3.hasError ? new _SuppressedError(e, env3.error, "An error was suppressed during disposal.") : e;
env3.hasError = true;
}
var r, s = 0;
function next2() {
while (r = env3.stack.pop()) {
try {
if (!r.async && s === 1) return s = 0, env3.stack.push(r), Promise.resolve().then(next2);
if (r.dispose) {
var result2 = r.dispose.call(r.value);
if (r.async) return s |= 2, Promise.resolve(result2).then(next2, function(e) {
fail(e);
return next2();
});
} else s |= 1;
} catch (e) {
fail(e);
}
}
if (s === 1) return env3.hasError ? Promise.reject(env3.error) : Promise.resolve();
if (env3.hasError) throw env3.error;
}
return next2();
}
function __rewriteRelativeImportExtension(path236, preserveJsx) {
if (typeof path236 === "string" && /^\.\.?\//.test(path236)) {
return path236.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d3, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d3 && (!ext || !cm) ? m : d3 + ext + "." + cm.toLowerCase() + "js";
});
}
return path236;
}
var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
var init_tslib_es6 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tslib/2.8.1/ef04cb918080dbc449e2ce3d21f749e314adbcd20f189125968547b4240d49ef/node_modules/tslib/tslib.es6.mjs"() {
extendStatics = function(d3, b) {
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d4, b2) {
d4.__proto__ = b2;
} || function(d4, b2) {
for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d4[p] = b2[p];
};
return extendStatics(d3, b);
};
__assign = function() {
__assign = Object.assign || function __assign2(t2) {
for (var s, i4 = 1, n2 = arguments.length; i4 < n2; i4++) {
s = arguments[i4];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t2[p] = s[p];
}
return t2;
};
return __assign.apply(this, arguments);
};
__createBinding = Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
});
__setModuleDefault = Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["default"] = v;
};
ownKeys = function(o2) {
ownKeys = Object.getOwnPropertyNames || function(o3) {
var ar = [];
for (var k2 in o3) if (Object.prototype.hasOwnProperty.call(o3, k2)) ar[ar.length] = k2;
return ar;
};
return ownKeys(o2);
};
_SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
tslib_es6_default = {
__extends,
__assign,
__rest,
__decorate,
__param,
__esDecorate,
__runInitializers,
__propKey,
__setFunctionName,
__metadata,
__awaiter,
__generator,
__createBinding,
__exportStar,
__values,
__read,
__spread,
__spreadArrays,
__spreadArray,
__await,
__asyncGenerator,
__asyncDelegator,
__asyncValues,
__makeTemplateObject,
__importStar,
__importDefault,
__classPrivateFieldGet,
__classPrivateFieldSet,
__classPrivateFieldIn,
__addDisposableResource,
__disposeResources,
__rewriteRelativeImportExtension
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/constants.js
var require_constants2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SAFE_TIME = exports2.S_IFLNK = exports2.S_IFREG = exports2.S_IFDIR = exports2.S_IFMT = void 0;
exports2.S_IFMT = 61440;
exports2.S_IFDIR = 16384;
exports2.S_IFREG = 32768;
exports2.S_IFLNK = 40960;
exports2.SAFE_TIME = 456789e3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/errors.js
var require_errors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/errors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EBUSY = EBUSY;
exports2.ENOSYS = ENOSYS;
exports2.EINVAL = EINVAL;
exports2.EBADF = EBADF;
exports2.ENOENT = ENOENT;
exports2.ENOTDIR = ENOTDIR;
exports2.EISDIR = EISDIR;
exports2.EEXIST = EEXIST;
exports2.EROFS = EROFS;
exports2.ENOTEMPTY = ENOTEMPTY;
exports2.EOPNOTSUPP = EOPNOTSUPP;
exports2.ERR_DIR_CLOSED = ERR_DIR_CLOSED;
function makeError2(code, message) {
return Object.assign(new Error(`${code}: ${message}`), { code });
}
function EBUSY(message) {
return makeError2(`EBUSY`, message);
}
function ENOSYS(message, reason) {
return makeError2(`ENOSYS`, `${message}, ${reason}`);
}
function EINVAL(reason) {
return makeError2(`EINVAL`, `invalid argument, ${reason}`);
}
function EBADF(reason) {
return makeError2(`EBADF`, `bad file descriptor, ${reason}`);
}
function ENOENT(reason) {
return makeError2(`ENOENT`, `no such file or directory, ${reason}`);
}
function ENOTDIR(reason) {
return makeError2(`ENOTDIR`, `not a directory, ${reason}`);
}
function EISDIR(reason) {
return makeError2(`EISDIR`, `illegal operation on a directory, ${reason}`);
}
function EEXIST(reason) {
return makeError2(`EEXIST`, `file already exists, ${reason}`);
}
function EROFS(reason) {
return makeError2(`EROFS`, `read-only filesystem, ${reason}`);
}
function ENOTEMPTY(reason) {
return makeError2(`ENOTEMPTY`, `directory not empty, ${reason}`);
}
function EOPNOTSUPP(reason) {
return makeError2(`EOPNOTSUPP`, `operation not supported, ${reason}`);
}
function ERR_DIR_CLOSED() {
return makeError2(`ERR_DIR_CLOSED`, `Directory handle was closed`);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/statUtils.js
var require_statUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/statUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BigIntStatsEntry = exports2.StatEntry = exports2.DirEntry = exports2.DEFAULT_MODE = void 0;
exports2.makeDefaultStats = makeDefaultStats;
exports2.makeEmptyStats = makeEmptyStats;
exports2.clearStats = clearStats;
exports2.convertToBigIntStats = convertToBigIntStats;
exports2.areStatsEqual = areStatsEqual;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var nodeUtils = tslib_12.__importStar(__require("util"));
var constants_1 = require_constants2();
exports2.DEFAULT_MODE = constants_1.S_IFREG | 420;
var DirEntry = class {
constructor() {
this.name = ``;
this.path = ``;
this.mode = 0;
}
isBlockDevice() {
return false;
}
isCharacterDevice() {
return false;
}
isDirectory() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR;
}
isFIFO() {
return false;
}
isFile() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG;
}
isSocket() {
return false;
}
isSymbolicLink() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK;
}
};
exports2.DirEntry = DirEntry;
var StatEntry = class {
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 = exports2.DEFAULT_MODE;
this.nlink = 1;
this.rdev = 0;
this.blocks = 1;
}
isBlockDevice() {
return false;
}
isCharacterDevice() {
return false;
}
isDirectory() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR;
}
isFIFO() {
return false;
}
isFile() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG;
}
isSocket() {
return false;
}
isSymbolicLink() {
return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK;
}
};
exports2.StatEntry = StatEntry;
var BigIntStatsEntry = class {
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(exports2.DEFAULT_MODE);
this.nlink = BigInt(1);
this.rdev = BigInt(0);
this.blocks = BigInt(1);
}
isBlockDevice() {
return false;
}
isCharacterDevice() {
return false;
}
isDirectory() {
return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFDIR);
}
isFIFO() {
return false;
}
isFile() {
return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFREG);
}
isSocket() {
return false;
}
isSymbolicLink() {
return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFLNK);
}
};
exports2.BigIntStatsEntry = BigIntStatsEntry;
function makeDefaultStats() {
return new StatEntry();
}
function makeEmptyStats() {
return clearStats(makeDefaultStats());
}
function clearStats(stats) {
for (const key in stats) {
if (Object.hasOwn(stats, key)) {
const element = stats[key];
if (typeof element === `number`) {
stats[key] = 0;
} else if (typeof element === `bigint`) {
stats[key] = BigInt(0);
} else if (nodeUtils.types.isDate(element)) {
stats[key] = /* @__PURE__ */ new Date(0);
}
}
}
return stats;
}
function convertToBigIntStats(stats) {
const bigintStats = new BigIntStatsEntry();
for (const key in stats) {
if (Object.hasOwn(stats, key)) {
const element = stats[key];
if (typeof element === `number`) {
bigintStats[key] = BigInt(Math.floor(element));
} else if (nodeUtils.types.isDate(element)) {
bigintStats[key] = new Date(element);
}
}
}
bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6) + BigInt(Math.floor(stats.atimeMs % 1 * 1e3)) * BigInt(1e3);
bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6) + BigInt(Math.floor(stats.mtimeMs % 1 * 1e3)) * BigInt(1e3);
bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6) + BigInt(Math.floor(stats.ctimeMs % 1 * 1e3)) * BigInt(1e3);
bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6) + BigInt(Math.floor(stats.birthtimeMs % 1 * 1e3)) * BigInt(1e3);
return bigintStats;
}
function areStatsEqual(a2, b) {
if (a2.atimeMs !== b.atimeMs)
return false;
if (a2.birthtimeMs !== b.birthtimeMs)
return false;
if (a2.blksize !== b.blksize)
return false;
if (a2.blocks !== b.blocks)
return false;
if (a2.ctimeMs !== b.ctimeMs)
return false;
if (a2.dev !== b.dev)
return false;
if (a2.gid !== b.gid)
return false;
if (a2.ino !== b.ino)
return false;
if (a2.isBlockDevice() !== b.isBlockDevice())
return false;
if (a2.isCharacterDevice() !== b.isCharacterDevice())
return false;
if (a2.isDirectory() !== b.isDirectory())
return false;
if (a2.isFIFO() !== b.isFIFO())
return false;
if (a2.isFile() !== b.isFile())
return false;
if (a2.isSocket() !== b.isSocket())
return false;
if (a2.isSymbolicLink() !== b.isSymbolicLink())
return false;
if (a2.mode !== b.mode)
return false;
if (a2.mtimeMs !== b.mtimeMs)
return false;
if (a2.nlink !== b.nlink)
return false;
if (a2.rdev !== b.rdev)
return false;
if (a2.size !== b.size)
return false;
if (a2.uid !== b.uid)
return false;
const aN = a2;
const bN = b;
if (aN.atimeNs !== bN.atimeNs)
return false;
if (aN.mtimeNs !== bN.mtimeNs)
return false;
if (aN.ctimeNs !== bN.ctimeNs)
return false;
if (aN.birthtimeNs !== bN.birthtimeNs)
return false;
return true;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/path.js
var require_path = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/path.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = void 0;
exports2.convertPath = convertPath;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var path_1 = tslib_12.__importDefault(__require("path"));
var PathType;
(function(PathType2) {
PathType2[PathType2["File"] = 0] = "File";
PathType2[PathType2["Portable"] = 1] = "Portable";
PathType2[PathType2["Native"] = 2] = "Native";
})(PathType || (PathType = {}));
exports2.PortablePath = {
root: `/`,
dot: `.`,
parent: `..`
};
exports2.Filename = {
home: `~`,
nodeModules: `node_modules`,
manifest: `package.json`,
lockfile: `yarn.lock`,
virtual: `__virtual__`,
/**
* @deprecated
*/
pnpJs: `.pnp.js`,
pnpCjs: `.pnp.cjs`,
pnpData: `.pnp.data.json`,
pnpEsmLoader: `.pnp.loader.mjs`,
rc: `.yarnrc.yml`,
env: `.env`
};
exports2.npath = Object.create(path_1.default);
exports2.ppath = Object.create(path_1.default.posix);
exports2.npath.cwd = () => process.cwd();
exports2.ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd;
if (process.platform === `win32`) {
exports2.ppath.resolve = (...segments) => {
if (segments.length > 0 && exports2.ppath.isAbsolute(segments[0])) {
return path_1.default.posix.resolve(...segments);
} else {
return path_1.default.posix.resolve(exports2.ppath.cwd(), ...segments);
}
};
}
var contains3 = function(pathUtils, from5, to) {
from5 = pathUtils.normalize(from5);
to = pathUtils.normalize(to);
if (from5 === to)
return `.`;
if (!from5.endsWith(pathUtils.sep))
from5 = from5 + pathUtils.sep;
if (to.startsWith(from5)) {
return to.slice(from5.length);
} else {
return null;
}
};
exports2.npath.contains = (from5, to) => contains3(exports2.npath, from5, to);
exports2.ppath.contains = (from5, to) => contains3(exports2.ppath, from5, to);
var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
function fromPortablePathWin32(p) {
let portablePathMatch, uncPortablePathMatch;
if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
p = portablePathMatch[1];
else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP))
p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
else
return p;
return p.replace(/\//g, `\\`);
}
function toPortablePathWin32(p) {
p = p.replace(/\\/g, `/`);
let windowsPathMatch, uncWindowsPathMatch;
if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
p = `/${windowsPathMatch[1]}`;
else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP))
p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
return p;
}
var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p;
var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p;
exports2.npath.fromPortablePath = fromPortablePath;
exports2.npath.toPortablePath = toPortablePath;
function convertPath(targetPathUtils, sourcePath) {
return targetPathUtils === exports2.npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js
var require_copyPromise = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setupCopyIndex = setupCopyIndex;
exports2.copyPromise = copyPromise;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var constants6 = tslib_12.__importStar(require_constants2());
var path_1 = require_path();
var defaultTime = new Date(constants6.SAFE_TIME * 1e3);
var defaultTimeMs = defaultTime.getTime();
async function setupCopyIndex(destinationFs, linkStrategy) {
const hexCharacters = `0123456789abcdef`;
await destinationFs.mkdirPromise(linkStrategy.indexPath, { recursive: true });
const promises = [];
for (const l1 of hexCharacters)
for (const l2 of hexCharacters)
promises.push(destinationFs.mkdirPromise(destinationFs.pathUtils.join(linkStrategy.indexPath, `${l1}${l2}`), { recursive: true }));
await Promise.all(promises);
return linkStrategy.indexPath;
}
async function copyPromise(destinationFs, destination, sourceFs, source, opts3) {
const normalizedDestination = destinationFs.pathUtils.normalize(destination);
const normalizedSource = sourceFs.pathUtils.normalize(source);
const prelayout = [];
const postlayout = [];
const { atime, mtime } = opts3.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource);
await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts3, didParentExist: true });
for (const operation5 of prelayout)
await operation5();
await Promise.all(postlayout.map((operation5) => {
return operation5();
}));
}
async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts3) {
const destinationStat = opts3.didParentExist ? await maybeLStat(destinationFs, destination) : null;
const sourceStat = await sourceFs.lstatPromise(source);
const { atime, mtime } = opts3.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat;
let updated;
switch (true) {
case sourceStat.isDirectory():
{
updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
case sourceStat.isFile():
{
updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
case sourceStat.isSymbolicLink():
{
updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
default: {
throw new Error(`Unsupported file type (${sourceStat.mode})`);
}
}
if (opts3.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime));
updated = true;
}
if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) {
postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511));
updated = true;
}
}
return updated;
}
async function maybeLStat(baseFs, p) {
try {
return await baseFs.lstatPromise(p);
} catch {
return null;
}
}
async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null && !destinationStat.isDirectory()) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
let updated = false;
if (destinationStat === null) {
prelayout.push(async () => {
try {
await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
} catch (err2) {
if (err2.code !== `EEXIST`) {
throw err2;
}
}
});
updated = true;
}
const entries = await sourceFs.readdirPromise(source);
const nextOpts = opts3.didParentExist && !destinationStat ? { ...opts3, didParentExist: false } : opts3;
if (opts3.stableSort) {
for (const entry of entries.sort()) {
if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
updated = true;
}
}
} else {
const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
}));
if (entriesUpdateStatus.some((status) => status)) {
updated = true;
}
}
return updated;
}
async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3, linkStrategy) {
const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
const defaultMode = 420;
const sourceMode = sourceStat.mode & 511;
const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
let AtomicBehavior;
(function(AtomicBehavior2) {
AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename";
})(AtomicBehavior || (AtomicBehavior = {}));
let atomicBehavior = AtomicBehavior.Rename;
let indexStat = await maybeLStat(destinationFs, indexPath);
if (destinationStat) {
const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino;
const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs;
if (isDestinationHardlinkedFromIndex) {
if (isIndexModified && linkStrategy.autoRepair) {
atomicBehavior = AtomicBehavior.Lock;
indexStat = null;
}
}
if (!isDestinationHardlinkedFromIndex) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
}
const tempPath2 = !indexStat && atomicBehavior === AtomicBehavior.Rename ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null;
let tempPathCleaned = false;
prelayout.push(async () => {
if (!indexStat) {
if (atomicBehavior === AtomicBehavior.Lock) {
await destinationFs.lockPromise(indexPath, async () => {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(indexPath, content);
});
}
if (atomicBehavior === AtomicBehavior.Rename && tempPath2) {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(tempPath2, content);
try {
await destinationFs.linkPromise(tempPath2, indexPath);
} catch (err2) {
if (err2.code === `EEXIST`) {
tempPathCleaned = true;
await destinationFs.unlinkPromise(tempPath2);
} else {
throw err2;
}
}
}
}
if (!destinationStat) {
await destinationFs.linkPromise(indexPath, destination);
}
});
postlayout.push(async () => {
if (!indexStat) {
await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
if (sourceMode !== defaultMode) {
await destinationFs.chmodPromise(indexPath, sourceMode);
}
}
if (tempPath2 && !tempPathCleaned) {
await destinationFs.unlinkPromise(tempPath2);
}
});
return false;
}
async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
prelayout.push(async () => {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(destination, content);
});
return true;
}
async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (opts3.linkStrategy?.type === `HardlinkFromIndex`) {
return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3, opts3.linkStrategy);
} else {
return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
}
async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
prelayout.push(async () => {
await destinationFs.symlinkPromise((0, path_1.convertPath)(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
});
return true;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js
var require_opendir = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CustomDir = void 0;
exports2.opendir = opendir;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var errors2 = tslib_12.__importStar(require_errors());
var CustomDir = class {
constructor(path236, nextDirent, opts3 = {}) {
this.path = path236;
this.nextDirent = nextDirent;
this.opts = opts3;
this.closed = false;
}
throwIfClosed() {
if (this.closed) {
throw errors2.ERR_DIR_CLOSED();
}
}
async *[Symbol.asyncIterator]() {
try {
let dirent;
while ((dirent = await this.read()) !== null) {
yield dirent;
}
} finally {
await this.close();
}
}
read(cb) {
const dirent = this.readSync();
if (typeof cb !== `undefined`)
return cb(null, dirent);
return Promise.resolve(dirent);
}
readSync() {
this.throwIfClosed();
return this.nextDirent();
}
close(cb) {
this.closeSync();
if (typeof cb !== `undefined`)
return cb(null);
return Promise.resolve();
}
closeSync() {
this.throwIfClosed();
this.opts.onClose?.();
this.closed = true;
}
};
exports2.CustomDir = CustomDir;
function opendir(fakeFs, path236, entries, opts3) {
const nextDirent = () => {
const filename = entries.shift();
if (typeof filename === `undefined`)
return null;
const entryPath = fakeFs.pathUtils.join(path236, filename);
return Object.assign(fakeFs.statSync(entryPath), {
name: filename,
path: void 0
});
};
return new CustomDir(path236, nextDirent, opts3);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js
var require_CustomStatWatcher = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CustomStatWatcher = exports2.Status = exports2.Event = void 0;
exports2.assertStatus = assertStatus;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var events_1 = __require("events");
var statUtils = tslib_12.__importStar(require_statUtils());
var Event2;
(function(Event3) {
Event3["Change"] = "change";
Event3["Stop"] = "stop";
})(Event2 || (exports2.Event = Event2 = {}));
var Status;
(function(Status2) {
Status2["Ready"] = "ready";
Status2["Running"] = "running";
Status2["Stopped"] = "stopped";
})(Status || (exports2.Status = Status = {}));
function assertStatus(current, expected) {
if (current !== expected) {
throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`);
}
}
var CustomStatWatcher = class _CustomStatWatcher extends events_1.EventEmitter {
static create(fakeFs, path236, opts3) {
const statWatcher = new _CustomStatWatcher(fakeFs, path236, opts3);
statWatcher.start();
return statWatcher;
}
constructor(fakeFs, path236, { bigint = false } = {}) {
super();
this.status = Status.Ready;
this.changeListeners = /* @__PURE__ */ new Map();
this.startTimeout = null;
this.fakeFs = fakeFs;
this.path = path236;
this.bigint = bigint;
this.lastStats = this.stat();
}
start() {
assertStatus(this.status, Status.Ready);
this.status = Status.Running;
this.startTimeout = setTimeout(() => {
this.startTimeout = null;
if (!this.fakeFs.existsSync(this.path)) {
this.emit(Event2.Change, this.lastStats, this.lastStats);
}
}, 3);
}
stop() {
assertStatus(this.status, Status.Running);
this.status = Status.Stopped;
if (this.startTimeout !== null) {
clearTimeout(this.startTimeout);
this.startTimeout = null;
}
this.emit(Event2.Stop);
}
stat() {
try {
return this.fakeFs.statSync(this.path, { bigint: this.bigint });
} catch {
const statInstance = this.bigint ? new statUtils.BigIntStatsEntry() : new statUtils.StatEntry();
return statUtils.clearStats(statInstance);
}
}
/**
* 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(opts3) {
const interval = setInterval(() => {
const currentStats = this.stat();
const previousStats = this.lastStats;
if (statUtils.areStatsEqual(currentStats, previousStats))
return;
this.lastStats = currentStats;
this.emit(Event2.Change, currentStats, previousStats);
}, opts3.interval);
return opts3.persistent ? interval : interval.unref();
}
/**
* Registers a listener and assigns it an interval.
*/
registerChangeListener(listener, opts3) {
this.addListener(Event2.Change, listener);
this.changeListeners.set(listener, this.makeInterval(opts3));
}
/**
* Unregisters the listener and clears the assigned interval.
*/
unregisterChangeListener(listener) {
this.removeListener(Event2.Change, listener);
const interval = this.changeListeners.get(listener);
if (typeof interval !== `undefined`)
clearInterval(interval);
this.changeListeners.delete(listener);
}
/**
* Unregisters all listeners and clears all assigned intervals.
*/
unregisterAllChangeListeners() {
for (const listener of this.changeListeners.keys()) {
this.unregisterChangeListener(listener);
}
}
hasChangeListeners() {
return this.changeListeners.size > 0;
}
/**
* Refs all stored intervals.
*/
ref() {
for (const interval of this.changeListeners.values())
interval.ref();
return this;
}
/**
* Unrefs all stored intervals.
*/
unref() {
for (const interval of this.changeListeners.values())
interval.unref();
return this;
}
};
exports2.CustomStatWatcher = CustomStatWatcher;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js
var require_watchFile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.watchFile = watchFile;
exports2.unwatchFile = unwatchFile;
exports2.unwatchAllFiles = unwatchAllFiles;
var CustomStatWatcher_1 = require_CustomStatWatcher();
var statWatchersByFakeFS = /* @__PURE__ */ new WeakMap();
function watchFile(fakeFs, path236, a2, b) {
let bigint;
let persistent;
let interval;
let listener;
switch (typeof a2) {
case `function`:
{
bigint = false;
persistent = true;
interval = 5007;
listener = a2;
}
break;
default:
{
({
bigint = false,
persistent = true,
interval = 5007
} = a2);
listener = b;
}
break;
}
let statWatchers = statWatchersByFakeFS.get(fakeFs);
if (typeof statWatchers === `undefined`)
statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map());
let statWatcher = statWatchers.get(path236);
if (typeof statWatcher === `undefined`) {
statWatcher = CustomStatWatcher_1.CustomStatWatcher.create(fakeFs, path236, { bigint });
statWatchers.set(path236, statWatcher);
}
statWatcher.registerChangeListener(listener, { persistent, interval });
return statWatcher;
}
function unwatchFile(fakeFs, path236, cb) {
const statWatchers = statWatchersByFakeFS.get(fakeFs);
if (typeof statWatchers === `undefined`)
return;
const statWatcher = statWatchers.get(path236);
if (typeof statWatcher === `undefined`)
return;
if (typeof cb === `undefined`)
statWatcher.unregisterAllChangeListeners();
else
statWatcher.unregisterChangeListener(cb);
if (!statWatcher.hasChangeListeners()) {
statWatcher.stop();
statWatchers.delete(path236);
}
}
function unwatchAllFiles(fakeFs) {
const statWatchers = statWatchersByFakeFS.get(fakeFs);
if (typeof statWatchers === `undefined`)
return;
for (const path236 of statWatchers.keys()) {
unwatchFile(fakeFs, path236);
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/FakeFS.js
var require_FakeFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/FakeFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BasePortableFakeFS = exports2.FakeFS = void 0;
exports2.normalizeLineEndings = normalizeLineEndings;
var crypto_1 = __require("crypto");
var os_1 = __require("os");
var copyPromise_1 = require_copyPromise();
var path_1 = require_path();
var FakeFS = class {
constructor(pathUtils) {
this.pathUtils = pathUtils;
}
async *genTraversePromise(init2, { stableSort = false } = {}) {
const stack = [init2];
while (stack.length > 0) {
const p = stack.shift();
const entry = await this.lstatPromise(p);
if (entry.isDirectory()) {
const entries = await this.readdirPromise(p);
if (stableSort) {
for (const entry2 of entries.sort()) {
stack.push(this.pathUtils.join(p, entry2));
}
} else {
throw new Error(`Not supported`);
}
} else {
yield p;
}
}
}
async checksumFilePromise(path236, { algorithm = `sha512` } = {}) {
const fd2 = await this.openPromise(path236, `r`);
try {
const CHUNK_SIZE = 65536;
const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
const hash2 = (0, crypto_1.createHash)(algorithm);
let bytesRead = 0;
while ((bytesRead = await this.readPromise(fd2, chunk, 0, CHUNK_SIZE)) !== 0)
hash2.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
return hash2.digest(`hex`);
} finally {
await this.closePromise(fd2);
}
}
async removePromise(p, { recursive: recursive2 = true, maxRetries = 5 } = {}) {
let stat2;
try {
stat2 = await this.lstatPromise(p);
} catch (error) {
if (error.code === `ENOENT`) {
return;
} else {
throw error;
}
}
if (stat2.isDirectory()) {
if (recursive2) {
const entries = await this.readdirPromise(p);
await Promise.all(entries.map((entry) => {
return this.removePromise(this.pathUtils.resolve(p, entry));
}));
}
for (let t2 = 0; t2 <= maxRetries; t2++) {
try {
await this.rmdirPromise(p);
break;
} catch (error) {
if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) {
throw error;
} else if (t2 < maxRetries) {
await new Promise((resolve4) => setTimeout(resolve4, t2 * 100));
}
}
}
} else {
await this.unlinkPromise(p);
}
}
removeSync(p, { recursive: recursive2 = true } = {}) {
let stat2;
try {
stat2 = this.lstatSync(p);
} catch (error) {
if (error.code === `ENOENT`) {
return;
} else {
throw error;
}
}
if (stat2.isDirectory()) {
if (recursive2)
for (const entry of this.readdirSync(p))
this.removeSync(this.pathUtils.resolve(p, entry));
this.rmdirSync(p);
} else {
this.unlinkSync(p);
}
}
async mkdirpPromise(p, { chmod, utimes } = {}) {
p = this.resolve(p);
if (p === this.pathUtils.dirname(p))
return void 0;
const parts = p.split(this.pathUtils.sep);
let createdDirectory;
for (let u2 = 2; u2 <= parts.length; ++u2) {
const subPath = parts.slice(0, u2).join(this.pathUtils.sep);
if (!this.existsSync(subPath)) {
try {
await this.mkdirPromise(subPath);
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
createdDirectory ??= subPath;
if (chmod != null)
await this.chmodPromise(subPath, chmod);
if (utimes != null) {
await this.utimesPromise(subPath, utimes[0], utimes[1]);
} else {
const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
}
}
}
return createdDirectory;
}
mkdirpSync(p, { chmod, utimes } = {}) {
p = this.resolve(p);
if (p === this.pathUtils.dirname(p))
return void 0;
const parts = p.split(this.pathUtils.sep);
let createdDirectory;
for (let u2 = 2; u2 <= parts.length; ++u2) {
const subPath = parts.slice(0, u2).join(this.pathUtils.sep);
if (!this.existsSync(subPath)) {
try {
this.mkdirSync(subPath);
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
createdDirectory ??= subPath;
if (chmod != null)
this.chmodSync(subPath, chmod);
if (utimes != null) {
this.utimesSync(subPath, utimes[0], utimes[1]);
} else {
const parentStat = this.statSync(this.pathUtils.dirname(subPath));
this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
}
}
}
return createdDirectory;
}
async copyPromise(destination, source, { baseFs = this, overwrite: overwrite2 = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) {
return await (0, copyPromise_1.copyPromise)(this, destination, baseFs, source, { overwrite: overwrite2, stableSort, stableTime, linkStrategy });
}
copySync(destination, source, { baseFs = this, overwrite: overwrite2 = true } = {}) {
const stat2 = baseFs.lstatSync(source);
const exists = this.existsSync(destination);
if (stat2.isDirectory()) {
this.mkdirpSync(destination);
const directoryListing = baseFs.readdirSync(source);
for (const entry of directoryListing) {
this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite: overwrite2 });
}
} else if (stat2.isFile()) {
if (!exists || overwrite2) {
if (exists)
this.removeSync(destination);
const content = baseFs.readFileSync(source);
this.writeFileSync(destination, content);
}
} else if (stat2.isSymbolicLink()) {
if (!exists || overwrite2) {
if (exists)
this.removeSync(destination);
const target2 = baseFs.readlinkSync(source);
this.symlinkSync((0, path_1.convertPath)(this.pathUtils, target2), destination);
}
} else {
throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat2.mode.toString(8).padStart(6, `0`)})`);
}
const mode = stat2.mode & 511;
this.chmodSync(destination, mode);
}
async changeFilePromise(p, content, opts3 = {}) {
if (Buffer.isBuffer(content)) {
return this.changeFileBufferPromise(p, content, opts3);
} else {
return this.changeFileTextPromise(p, content, opts3);
}
}
async changeFileBufferPromise(p, content, { mode } = {}) {
let current = Buffer.alloc(0);
try {
current = await this.readFilePromise(p);
} catch {
}
if (Buffer.compare(current, content) === 0)
return;
await this.writeFilePromise(p, content, { mode });
}
async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) {
let current = ``;
try {
current = await this.readFilePromise(p, `utf8`);
} catch {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
return;
await this.writeFilePromise(p, normalizedContent, { mode });
}
changeFileSync(p, content, opts3 = {}) {
if (Buffer.isBuffer(content)) {
return this.changeFileBufferSync(p, content, opts3);
} else {
return this.changeFileTextSync(p, content, opts3);
}
}
changeFileBufferSync(p, content, { mode } = {}) {
let current = Buffer.alloc(0);
try {
current = this.readFileSync(p);
} catch {
}
if (Buffer.compare(current, content) === 0)
return;
this.writeFileSync(p, content, { mode });
}
changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) {
let current = ``;
try {
current = this.readFileSync(p, `utf8`);
} catch {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
return;
this.writeFileSync(p, normalizedContent, { mode });
}
async movePromise(fromP, toP) {
try {
await this.renamePromise(fromP, toP);
} catch (error) {
if (error.code === `EXDEV`) {
await this.copyPromise(toP, fromP);
await this.removePromise(fromP);
} else {
throw error;
}
}
}
moveSync(fromP, toP) {
try {
this.renameSync(fromP, toP);
} catch (error) {
if (error.code === `EXDEV`) {
this.copySync(toP, fromP);
this.removeSync(fromP);
} else {
throw error;
}
}
}
async lockPromise(affectedPath, callback2) {
const lockPath = `${affectedPath}.flock`;
const interval = 1e3 / 60;
const startTime = Date.now();
let fd2 = null;
const isAlive = async () => {
let pid;
try {
[pid] = await this.readJsonPromise(lockPath);
} catch {
return Date.now() - startTime < 500;
}
try {
process.kill(pid, 0);
return true;
} catch {
return false;
}
};
while (fd2 === null) {
try {
fd2 = await this.openPromise(lockPath, `wx`);
} catch (error) {
if (error.code === `EEXIST`) {
if (!await isAlive()) {
try {
await this.unlinkPromise(lockPath);
continue;
} catch {
}
}
if (Date.now() - startTime < 60 * 1e3) {
await new Promise((resolve4) => setTimeout(resolve4, interval));
} else {
throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
}
} else {
throw error;
}
}
}
await this.writePromise(fd2, JSON.stringify([process.pid]));
try {
return await callback2();
} finally {
try {
await this.closePromise(fd2);
await this.unlinkPromise(lockPath);
} catch {
}
}
}
async readJsonPromise(p) {
const content = await this.readFilePromise(p, `utf8`);
try {
return JSON.parse(content);
} catch (error) {
error.message += ` (in ${p})`;
throw error;
}
}
readJsonSync(p) {
const content = this.readFileSync(p, `utf8`);
try {
return JSON.parse(content);
} catch (error) {
error.message += ` (in ${p})`;
throw error;
}
}
async writeJsonPromise(p, data, { compact = false } = {}) {
const space = compact ? 0 : 2;
return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)}
`);
}
writeJsonSync(p, data, { compact = false } = {}) {
const space = compact ? 0 : 2;
return this.writeFileSync(p, `${JSON.stringify(data, null, space)}
`);
}
async preserveTimePromise(p, cb) {
const stat2 = await this.lstatPromise(p);
const result2 = await cb();
if (typeof result2 !== `undefined`)
p = result2;
await this.lutimesPromise(p, stat2.atime, stat2.mtime);
}
async preserveTimeSync(p, cb) {
const stat2 = this.lstatSync(p);
const result2 = cb();
if (typeof result2 !== `undefined`)
p = result2;
this.lutimesSync(p, stat2.atime, stat2.mtime);
}
};
exports2.FakeFS = FakeFS;
var BasePortableFakeFS = class extends FakeFS {
constructor() {
super(path_1.ppath);
}
};
exports2.BasePortableFakeFS = BasePortableFakeFS;
function getEndOfLine(content) {
const matches2 = content.match(/\r?\n/g);
if (matches2 === null)
return os_1.EOL;
const crlf = matches2.filter((nl) => nl === `\r
`).length;
const lf = matches2.length - crlf;
return crlf > lf ? `\r
` : `
`;
}
function normalizeLineEndings(originalContent, newContent) {
return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js
var require_ProxiedFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProxiedFS = void 0;
var FakeFS_1 = require_FakeFS();
var ProxiedFS = class extends FakeFS_1.FakeFS {
getExtractHint(hints) {
return this.baseFs.getExtractHint(hints);
}
resolve(path236) {
return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path236)));
}
getRealPath() {
return this.mapFromBase(this.baseFs.getRealPath());
}
async openPromise(p, flags, mode) {
return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
}
openSync(p, flags, mode) {
return this.baseFs.openSync(this.mapToBase(p), flags, mode);
}
async opendirPromise(p, opts3) {
return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts3), { path: p });
}
opendirSync(p, opts3) {
return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts3), { path: p });
}
async readPromise(fd2, buffer3, offset, length, position3) {
return await this.baseFs.readPromise(fd2, buffer3, offset, length, position3);
}
readSync(fd2, buffer3, offset, length, position3) {
return this.baseFs.readSync(fd2, buffer3, offset, length, position3);
}
async writePromise(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return await this.baseFs.writePromise(fd2, buffer3, offset);
} else {
return await this.baseFs.writePromise(fd2, buffer3, offset, length, position3);
}
}
writeSync(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return this.baseFs.writeSync(fd2, buffer3, offset);
} else {
return this.baseFs.writeSync(fd2, buffer3, offset, length, position3);
}
}
async closePromise(fd2) {
return this.baseFs.closePromise(fd2);
}
closeSync(fd2) {
this.baseFs.closeSync(fd2);
}
createReadStream(p, opts3) {
return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts3);
}
createWriteStream(p, opts3) {
return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts3);
}
async realpathPromise(p) {
return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
}
realpathSync(p) {
return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
}
async existsPromise(p) {
return this.baseFs.existsPromise(this.mapToBase(p));
}
existsSync(p) {
return this.baseFs.existsSync(this.mapToBase(p));
}
accessSync(p, mode) {
return this.baseFs.accessSync(this.mapToBase(p), mode);
}
async accessPromise(p, mode) {
return this.baseFs.accessPromise(this.mapToBase(p), mode);
}
async statPromise(p, opts3) {
return this.baseFs.statPromise(this.mapToBase(p), opts3);
}
statSync(p, opts3) {
return this.baseFs.statSync(this.mapToBase(p), opts3);
}
async fstatPromise(fd2, opts3) {
return this.baseFs.fstatPromise(fd2, opts3);
}
fstatSync(fd2, opts3) {
return this.baseFs.fstatSync(fd2, opts3);
}
lstatPromise(p, opts3) {
return this.baseFs.lstatPromise(this.mapToBase(p), opts3);
}
lstatSync(p, opts3) {
return this.baseFs.lstatSync(this.mapToBase(p), opts3);
}
async fchmodPromise(fd2, mask) {
return this.baseFs.fchmodPromise(fd2, mask);
}
fchmodSync(fd2, mask) {
return this.baseFs.fchmodSync(fd2, mask);
}
async chmodPromise(p, mask) {
return this.baseFs.chmodPromise(this.mapToBase(p), mask);
}
chmodSync(p, mask) {
return this.baseFs.chmodSync(this.mapToBase(p), mask);
}
async fchownPromise(fd2, uid, gid) {
return this.baseFs.fchownPromise(fd2, uid, gid);
}
fchownSync(fd2, uid, gid) {
return this.baseFs.fchownSync(fd2, uid, gid);
}
async chownPromise(p, uid, gid) {
return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
}
chownSync(p, uid, gid) {
return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
}
async renamePromise(oldP, newP) {
return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
}
renameSync(oldP, newP) {
return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
}
async copyFilePromise(sourceP, destP, flags = 0) {
return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
}
copyFileSync(sourceP, destP, flags = 0) {
return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
}
async appendFilePromise(p, content, opts3) {
return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts3);
}
appendFileSync(p, content, opts3) {
return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts3);
}
async writeFilePromise(p, content, opts3) {
return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts3);
}
writeFileSync(p, content, opts3) {
return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts3);
}
async unlinkPromise(p) {
return this.baseFs.unlinkPromise(this.mapToBase(p));
}
unlinkSync(p) {
return this.baseFs.unlinkSync(this.mapToBase(p));
}
async utimesPromise(p, atime, mtime) {
return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
}
utimesSync(p, atime, mtime) {
return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
}
async lutimesPromise(p, atime, mtime) {
return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime);
}
lutimesSync(p, atime, mtime) {
return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime);
}
async mkdirPromise(p, opts3) {
return this.baseFs.mkdirPromise(this.mapToBase(p), opts3);
}
mkdirSync(p, opts3) {
return this.baseFs.mkdirSync(this.mapToBase(p), opts3);
}
async rmdirPromise(p, opts3) {
return this.baseFs.rmdirPromise(this.mapToBase(p), opts3);
}
rmdirSync(p, opts3) {
return this.baseFs.rmdirSync(this.mapToBase(p), opts3);
}
async rmPromise(p, opts3) {
return this.baseFs.rmPromise(this.mapToBase(p), opts3);
}
rmSync(p, opts3) {
return this.baseFs.rmSync(this.mapToBase(p), opts3);
}
async linkPromise(existingP, newP) {
return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
}
linkSync(existingP, newP) {
return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
}
async symlinkPromise(target2, p, type4) {
const mappedP = this.mapToBase(p);
if (this.pathUtils.isAbsolute(target2))
return this.baseFs.symlinkPromise(this.mapToBase(target2), mappedP, type4);
const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target2));
const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
return this.baseFs.symlinkPromise(mappedTarget, mappedP, type4);
}
symlinkSync(target2, p, type4) {
const mappedP = this.mapToBase(p);
if (this.pathUtils.isAbsolute(target2))
return this.baseFs.symlinkSync(this.mapToBase(target2), mappedP, type4);
const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target2));
const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
return this.baseFs.symlinkSync(mappedTarget, mappedP, type4);
}
async readFilePromise(p, encoding) {
return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
}
readFileSync(p, encoding) {
return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
}
readdirPromise(p, opts3) {
return this.baseFs.readdirPromise(this.mapToBase(p), opts3);
}
readdirSync(p, opts3) {
return this.baseFs.readdirSync(this.mapToBase(p), opts3);
}
async readlinkPromise(p) {
return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
}
readlinkSync(p) {
return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
}
async truncatePromise(p, len) {
return this.baseFs.truncatePromise(this.mapToBase(p), len);
}
truncateSync(p, len) {
return this.baseFs.truncateSync(this.mapToBase(p), len);
}
async ftruncatePromise(fd2, len) {
return this.baseFs.ftruncatePromise(fd2, len);
}
ftruncateSync(fd2, len) {
return this.baseFs.ftruncateSync(fd2, len);
}
watch(p, a2, b) {
return this.baseFs.watch(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
watchFile(p, a2, b) {
return this.baseFs.watchFile(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
unwatchFile(p, cb) {
return this.baseFs.unwatchFile(this.mapToBase(p), cb);
}
fsMapToBase(p) {
if (typeof p === `number`) {
return p;
} else {
return this.mapToBase(p);
}
}
};
exports2.ProxiedFS = ProxiedFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/AliasFS.js
var require_AliasFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/AliasFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AliasFS = void 0;
var ProxiedFS_1 = require_ProxiedFS();
var AliasFS = class extends ProxiedFS_1.ProxiedFS {
constructor(target2, { baseFs, pathUtils }) {
super(pathUtils);
this.target = target2;
this.baseFs = baseFs;
}
getRealPath() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapFromBase(p) {
return p;
}
mapToBase(p) {
return p;
}
};
exports2.AliasFS = AliasFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NodeFS.js
var require_NodeFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NodeFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NodeFS = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fs_1 = tslib_12.__importDefault(__require("fs"));
var FakeFS_1 = require_FakeFS();
var path_1 = require_path();
function direntToPortable(dirent) {
const portableDirent = dirent;
if (typeof dirent.path === `string`)
portableDirent.path = path_1.npath.toPortablePath(dirent.path);
return portableDirent;
}
var NodeFS = class extends FakeFS_1.BasePortableFakeFS {
constructor(realFs = fs_1.default) {
super();
this.realFs = realFs;
}
getExtractHint() {
return false;
}
getRealPath() {
return path_1.PortablePath.root;
}
resolve(p) {
return path_1.ppath.resolve(p);
}
async openPromise(p, flags, mode) {
return await new Promise((resolve4, reject3) => {
this.realFs.open(path_1.npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve4, reject3));
});
}
openSync(p, flags, mode) {
return this.realFs.openSync(path_1.npath.fromPortablePath(p), flags, mode);
}
async opendirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (typeof opts3 !== `undefined`) {
this.realFs.opendir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.opendir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
}).then((dir) => {
const dirWithFixedPath = dir;
Object.defineProperty(dirWithFixedPath, `path`, {
value: p,
configurable: true,
writable: true
});
return dirWithFixedPath;
});
}
opendirSync(p, opts3) {
const dir = typeof opts3 !== `undefined` ? this.realFs.opendirSync(path_1.npath.fromPortablePath(p), opts3) : this.realFs.opendirSync(path_1.npath.fromPortablePath(p));
const dirWithFixedPath = dir;
Object.defineProperty(dirWithFixedPath, `path`, {
value: p,
configurable: true,
writable: true
});
return dirWithFixedPath;
}
async readPromise(fd2, buffer3, offset = 0, length = 0, position3 = -1) {
return await new Promise((resolve4, reject3) => {
this.realFs.read(fd2, buffer3, offset, length, position3, (error, bytesRead) => {
if (error) {
reject3(error);
} else {
resolve4(bytesRead);
}
});
});
}
readSync(fd2, buffer3, offset, length, position3) {
return this.realFs.readSync(fd2, buffer3, offset, length, position3);
}
async writePromise(fd2, buffer3, offset, length, position3) {
return await new Promise((resolve4, reject3) => {
if (typeof buffer3 === `string`) {
return this.realFs.write(fd2, buffer3, offset, this.makeCallback(resolve4, reject3));
} else {
return this.realFs.write(fd2, buffer3, offset, length, position3, this.makeCallback(resolve4, reject3));
}
});
}
writeSync(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return this.realFs.writeSync(fd2, buffer3, offset);
} else {
return this.realFs.writeSync(fd2, buffer3, offset, length, position3);
}
}
async closePromise(fd2) {
await new Promise((resolve4, reject3) => {
this.realFs.close(fd2, this.makeCallback(resolve4, reject3));
});
}
closeSync(fd2) {
this.realFs.closeSync(fd2);
}
createReadStream(p, opts3) {
const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;
return this.realFs.createReadStream(realPath, opts3);
}
createWriteStream(p, opts3) {
const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;
return this.realFs.createWriteStream(realPath, opts3);
}
async realpathPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.realpath(path_1.npath.fromPortablePath(p), {}, this.makeCallback(resolve4, reject3));
}).then((path236) => {
return path_1.npath.toPortablePath(path236);
});
}
realpathSync(p) {
return path_1.npath.toPortablePath(this.realFs.realpathSync(path_1.npath.fromPortablePath(p), {}));
}
async existsPromise(p) {
return await new Promise((resolve4) => {
this.realFs.exists(path_1.npath.fromPortablePath(p), resolve4);
});
}
accessSync(p, mode) {
return this.realFs.accessSync(path_1.npath.fromPortablePath(p), mode);
}
async accessPromise(p, mode) {
return await new Promise((resolve4, reject3) => {
this.realFs.access(path_1.npath.fromPortablePath(p), mode, this.makeCallback(resolve4, reject3));
});
}
existsSync(p) {
return this.realFs.existsSync(path_1.npath.fromPortablePath(p));
}
async statPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.stat(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.stat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
statSync(p, opts3) {
if (opts3) {
return this.realFs.statSync(path_1.npath.fromPortablePath(p), opts3);
} else {
return this.realFs.statSync(path_1.npath.fromPortablePath(p));
}
}
async fstatPromise(fd2, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.fstat(fd2, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.fstat(fd2, this.makeCallback(resolve4, reject3));
}
});
}
fstatSync(fd2, opts3) {
if (opts3) {
return this.realFs.fstatSync(fd2, opts3);
} else {
return this.realFs.fstatSync(fd2);
}
}
async lstatPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.lstat(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.lstat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
lstatSync(p, opts3) {
if (opts3) {
return this.realFs.lstatSync(path_1.npath.fromPortablePath(p), opts3);
} else {
return this.realFs.lstatSync(path_1.npath.fromPortablePath(p));
}
}
async fchmodPromise(fd2, mask) {
return await new Promise((resolve4, reject3) => {
this.realFs.fchmod(fd2, mask, this.makeCallback(resolve4, reject3));
});
}
fchmodSync(fd2, mask) {
return this.realFs.fchmodSync(fd2, mask);
}
async chmodPromise(p, mask) {
return await new Promise((resolve4, reject3) => {
this.realFs.chmod(path_1.npath.fromPortablePath(p), mask, this.makeCallback(resolve4, reject3));
});
}
chmodSync(p, mask) {
return this.realFs.chmodSync(path_1.npath.fromPortablePath(p), mask);
}
async fchownPromise(fd2, uid, gid) {
return await new Promise((resolve4, reject3) => {
this.realFs.fchown(fd2, uid, gid, this.makeCallback(resolve4, reject3));
});
}
fchownSync(fd2, uid, gid) {
return this.realFs.fchownSync(fd2, uid, gid);
}
async chownPromise(p, uid, gid) {
return await new Promise((resolve4, reject3) => {
this.realFs.chown(path_1.npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve4, reject3));
});
}
chownSync(p, uid, gid) {
return this.realFs.chownSync(path_1.npath.fromPortablePath(p), uid, gid);
}
async renamePromise(oldP, newP) {
return await new Promise((resolve4, reject3) => {
this.realFs.rename(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve4, reject3));
});
}
renameSync(oldP, newP) {
return this.realFs.renameSync(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP));
}
async copyFilePromise(sourceP, destP, flags = 0) {
return await new Promise((resolve4, reject3) => {
this.realFs.copyFile(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags, this.makeCallback(resolve4, reject3));
});
}
copyFileSync(sourceP, destP, flags = 0) {
return this.realFs.copyFileSync(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags);
}
async appendFilePromise(p, content, opts3) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
if (opts3) {
this.realFs.appendFile(fsNativePath, content, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve4, reject3));
}
});
}
appendFileSync(p, content, opts3) {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
if (opts3) {
this.realFs.appendFileSync(fsNativePath, content, opts3);
} else {
this.realFs.appendFileSync(fsNativePath, content);
}
}
async writeFilePromise(p, content, opts3) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
if (opts3) {
this.realFs.writeFile(fsNativePath, content, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve4, reject3));
}
});
}
writeFileSync(p, content, opts3) {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
if (opts3) {
this.realFs.writeFileSync(fsNativePath, content, opts3);
} else {
this.realFs.writeFileSync(fsNativePath, content);
}
}
async unlinkPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.unlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
});
}
unlinkSync(p) {
return this.realFs.unlinkSync(path_1.npath.fromPortablePath(p));
}
async utimesPromise(p, atime, mtime) {
return await new Promise((resolve4, reject3) => {
this.realFs.utimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve4, reject3));
});
}
utimesSync(p, atime, mtime) {
this.realFs.utimesSync(path_1.npath.fromPortablePath(p), atime, mtime);
}
async lutimesPromise(p, atime, mtime) {
return await new Promise((resolve4, reject3) => {
this.realFs.lutimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve4, reject3));
});
}
lutimesSync(p, atime, mtime) {
this.realFs.lutimesSync(path_1.npath.fromPortablePath(p), atime, mtime);
}
async mkdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
this.realFs.mkdir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
});
}
mkdirSync(p, opts3) {
return this.realFs.mkdirSync(path_1.npath.fromPortablePath(p), opts3);
}
async rmdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.rmdir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.rmdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
rmdirSync(p, opts3) {
return this.realFs.rmdirSync(path_1.npath.fromPortablePath(p), opts3);
}
async rmPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.rm(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.rm(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
rmSync(p, opts3) {
return this.realFs.rmSync(path_1.npath.fromPortablePath(p), opts3);
}
async linkPromise(existingP, newP) {
return await new Promise((resolve4, reject3) => {
this.realFs.link(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve4, reject3));
});
}
linkSync(existingP, newP) {
return this.realFs.linkSync(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP));
}
async symlinkPromise(target2, p, type4) {
return await new Promise((resolve4, reject3) => {
this.realFs.symlink(path_1.npath.fromPortablePath(target2.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type4, this.makeCallback(resolve4, reject3));
});
}
symlinkSync(target2, p, type4) {
return this.realFs.symlinkSync(path_1.npath.fromPortablePath(target2.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type4);
}
async readFilePromise(p, encoding) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve4, reject3));
});
}
readFileSync(p, encoding) {
const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
return this.realFs.readFileSync(fsNativePath, encoding);
}
async readdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
if (opts3.recursive && process.platform === `win32`) {
if (opts3.withFileTypes) {
this.realFs.readdir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback((results) => resolve4(results.map(direntToPortable)), reject3));
} else {
this.realFs.readdir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback((results) => resolve4(results.map(path_1.npath.toPortablePath)), reject3));
}
} else {
this.realFs.readdir(path_1.npath.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
}
} else {
this.realFs.readdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
readdirSync(p, opts3) {
if (opts3) {
if (opts3.recursive && process.platform === `win32`) {
if (opts3.withFileTypes) {
return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts3).map(direntToPortable);
} else {
return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts3).map(path_1.npath.toPortablePath);
}
} else {
return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts3);
}
} else {
return this.realFs.readdirSync(path_1.npath.fromPortablePath(p));
}
}
async readlinkPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.readlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}).then((path236) => {
return path_1.npath.toPortablePath(path236);
});
}
readlinkSync(p) {
return path_1.npath.toPortablePath(this.realFs.readlinkSync(path_1.npath.fromPortablePath(p)));
}
async truncatePromise(p, len) {
return await new Promise((resolve4, reject3) => {
this.realFs.truncate(path_1.npath.fromPortablePath(p), len, this.makeCallback(resolve4, reject3));
});
}
truncateSync(p, len) {
return this.realFs.truncateSync(path_1.npath.fromPortablePath(p), len);
}
async ftruncatePromise(fd2, len) {
return await new Promise((resolve4, reject3) => {
this.realFs.ftruncate(fd2, len, this.makeCallback(resolve4, reject3));
});
}
ftruncateSync(fd2, len) {
return this.realFs.ftruncateSync(fd2, len);
}
watch(p, a2, b) {
return this.realFs.watch(
path_1.npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
watchFile(p, a2, b) {
return this.realFs.watchFile(
path_1.npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
unwatchFile(p, cb) {
return this.realFs.unwatchFile(path_1.npath.fromPortablePath(p), cb);
}
makeCallback(resolve4, reject3) {
return (err2, result2) => {
if (err2) {
reject3(err2);
} else {
resolve4(result2);
}
};
}
};
exports2.NodeFS = NodeFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/CwdFS.js
var require_CwdFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/CwdFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CwdFS = void 0;
var NodeFS_1 = require_NodeFS();
var ProxiedFS_1 = require_ProxiedFS();
var path_1 = require_path();
var CwdFS = class extends ProxiedFS_1.ProxiedFS {
constructor(target2, { baseFs = new NodeFS_1.NodeFS() } = {}) {
super(path_1.ppath);
this.target = this.pathUtils.normalize(target2);
this.baseFs = baseFs;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target);
}
resolve(p) {
if (this.pathUtils.isAbsolute(p)) {
return path_1.ppath.normalize(p);
} else {
return this.baseFs.resolve(path_1.ppath.join(this.target, p));
}
}
mapFromBase(path236) {
return path236;
}
mapToBase(path236) {
if (this.pathUtils.isAbsolute(path236)) {
return path236;
} else {
return this.pathUtils.join(this.target, path236);
}
}
};
exports2.CwdFS = CwdFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/JailFS.js
var require_JailFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/JailFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JailFS = void 0;
var NodeFS_1 = require_NodeFS();
var ProxiedFS_1 = require_ProxiedFS();
var path_1 = require_path();
var JAIL_ROOT = path_1.PortablePath.root;
var JailFS = class extends ProxiedFS_1.ProxiedFS {
constructor(target2, { baseFs = new NodeFS_1.NodeFS() } = {}) {
super(path_1.ppath);
this.target = this.pathUtils.resolve(path_1.PortablePath.root, target2);
this.baseFs = baseFs;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(path_1.PortablePath.root, this.target));
}
getTarget() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapToBase(p) {
const normalized = this.pathUtils.normalize(p);
if (this.pathUtils.isAbsolute(p))
return this.pathUtils.resolve(this.target, this.pathUtils.relative(JAIL_ROOT, p));
if (normalized.match(/^\.\.\/?/))
throw new Error(`Resolving this path (${p}) would escape the jail`);
return this.pathUtils.resolve(this.target, p);
}
mapFromBase(p) {
return this.pathUtils.resolve(JAIL_ROOT, this.pathUtils.relative(this.target, p));
}
};
exports2.JailFS = JailFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/LazyFS.js
var require_LazyFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/LazyFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LazyFS = void 0;
var ProxiedFS_1 = require_ProxiedFS();
var LazyFS = class extends ProxiedFS_1.ProxiedFS {
constructor(factory, pathUtils) {
super(pathUtils);
this.instance = null;
this.factory = factory;
}
get baseFs() {
if (!this.instance)
this.instance = this.factory();
return this.instance;
}
set baseFs(value) {
this.instance = value;
}
mapFromBase(p) {
return p;
}
mapToBase(p) {
return p;
}
};
exports2.LazyFS = LazyFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/MountFS.js
var require_MountFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/MountFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MountFS = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fs_1 = __require("fs");
var FakeFS_1 = require_FakeFS();
var NodeFS_1 = require_NodeFS();
var watchFile_1 = require_watchFile();
var errors2 = tslib_12.__importStar(require_errors());
var path_1 = require_path();
var MOUNT_MASK = 4278190080;
var MountFS = class extends FakeFS_1.BasePortableFakeFS {
constructor({ baseFs = new NodeFS_1.NodeFS(), filter: filter14 = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs_1.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) {
if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127))
throw new Error(`The magic byte must be set to a round value between 1 and 127 included`);
super();
this.fdMap = /* @__PURE__ */ new Map();
this.nextFd = 3;
this.isMount = /* @__PURE__ */ new Set();
this.notMount = /* @__PURE__ */ new Set();
this.realPaths = /* @__PURE__ */ new Map();
this.limitOpenFilesTimeout = null;
this.baseFs = baseFs;
this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null;
this.factoryPromise = factoryPromise;
this.factorySync = factorySync;
this.filter = filter14;
this.getMountPoint = getMountPoint;
this.magic = magicByte << 24;
this.maxAge = maxAge;
this.maxOpenFiles = maxOpenFiles;
this.typeCheck = typeCheck;
}
getExtractHint(hints) {
return this.baseFs.getExtractHint(hints);
}
getRealPath() {
return this.baseFs.getRealPath();
}
saveAndClose() {
(0, watchFile_1.unwatchAllFiles)(this);
if (this.mountInstances) {
for (const [path236, { childFs }] of this.mountInstances.entries()) {
childFs.saveAndClose?.();
this.mountInstances.delete(path236);
}
}
}
discardAndClose() {
(0, watchFile_1.unwatchAllFiles)(this);
if (this.mountInstances) {
for (const [path236, { childFs }] of this.mountInstances.entries()) {
childFs.discardAndClose?.();
this.mountInstances.delete(path236);
}
}
}
resolve(p) {
return this.baseFs.resolve(p);
}
remapFd(mountFs, fd2) {
const remappedFd = this.nextFd++ | this.magic;
this.fdMap.set(remappedFd, [mountFs, fd2]);
return remappedFd;
}
async openPromise(p, flags, mode) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.openPromise(p, flags, mode);
}, async (mountFs, { subPath }) => {
return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode));
});
}
openSync(p, flags, mode) {
return this.makeCallSync(p, () => {
return this.baseFs.openSync(p, flags, mode);
}, (mountFs, { subPath }) => {
return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode));
});
}
async opendirPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.opendirPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.opendirPromise(subPath, opts3);
}, {
requireSubpath: false
});
}
opendirSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.opendirSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.opendirSync(subPath, opts3);
}, {
requireSubpath: false
});
}
async readPromise(fd2, buffer3, offset, length, position3) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return await this.baseFs.readPromise(fd2, buffer3, offset, length, position3);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`read`);
const [mountFs, realFd] = entry;
return await mountFs.readPromise(realFd, buffer3, offset, length, position3);
}
readSync(fd2, buffer3, offset, length, position3) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.readSync(fd2, buffer3, offset, length, position3);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`readSync`);
const [mountFs, realFd] = entry;
return mountFs.readSync(realFd, buffer3, offset, length, position3);
}
async writePromise(fd2, buffer3, offset, length, position3) {
if ((fd2 & MOUNT_MASK) !== this.magic) {
if (typeof buffer3 === `string`) {
return await this.baseFs.writePromise(fd2, buffer3, offset);
} else {
return await this.baseFs.writePromise(fd2, buffer3, offset, length, position3);
}
}
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`write`);
const [mountFs, realFd] = entry;
if (typeof buffer3 === `string`) {
return await mountFs.writePromise(realFd, buffer3, offset);
} else {
return await mountFs.writePromise(realFd, buffer3, offset, length, position3);
}
}
writeSync(fd2, buffer3, offset, length, position3) {
if ((fd2 & MOUNT_MASK) !== this.magic) {
if (typeof buffer3 === `string`) {
return this.baseFs.writeSync(fd2, buffer3, offset);
} else {
return this.baseFs.writeSync(fd2, buffer3, offset, length, position3);
}
}
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`writeSync`);
const [mountFs, realFd] = entry;
if (typeof buffer3 === `string`) {
return mountFs.writeSync(realFd, buffer3, offset);
} else {
return mountFs.writeSync(realFd, buffer3, offset, length, position3);
}
}
async closePromise(fd2) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return await this.baseFs.closePromise(fd2);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`close`);
this.fdMap.delete(fd2);
const [mountFs, realFd] = entry;
return await mountFs.closePromise(realFd);
}
closeSync(fd2) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.closeSync(fd2);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`closeSync`);
this.fdMap.delete(fd2);
const [mountFs, realFd] = entry;
return mountFs.closeSync(realFd);
}
createReadStream(p, opts3) {
if (p === null)
return this.baseFs.createReadStream(p, opts3);
return this.makeCallSync(p, () => {
return this.baseFs.createReadStream(p, opts3);
}, (mountFs, { archivePath, subPath }) => {
const stream2 = mountFs.createReadStream(subPath, opts3);
stream2.path = path_1.npath.fromPortablePath(this.pathUtils.join(archivePath, subPath));
return stream2;
});
}
createWriteStream(p, opts3) {
if (p === null)
return this.baseFs.createWriteStream(p, opts3);
return this.makeCallSync(p, () => {
return this.baseFs.createWriteStream(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.createWriteStream(subPath, opts3);
});
}
async realpathPromise(p) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.realpathPromise(p);
}, async (mountFs, { archivePath, subPath }) => {
let realArchivePath = this.realPaths.get(archivePath);
if (typeof realArchivePath === `undefined`) {
realArchivePath = await this.baseFs.realpathPromise(archivePath);
this.realPaths.set(archivePath, realArchivePath);
}
return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, await mountFs.realpathPromise(subPath)));
});
}
realpathSync(p) {
return this.makeCallSync(p, () => {
return this.baseFs.realpathSync(p);
}, (mountFs, { archivePath, subPath }) => {
let realArchivePath = this.realPaths.get(archivePath);
if (typeof realArchivePath === `undefined`) {
realArchivePath = this.baseFs.realpathSync(archivePath);
this.realPaths.set(archivePath, realArchivePath);
}
return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, mountFs.realpathSync(subPath)));
});
}
async existsPromise(p) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.existsPromise(p);
}, async (mountFs, { subPath }) => {
return await mountFs.existsPromise(subPath);
});
}
existsSync(p) {
return this.makeCallSync(p, () => {
return this.baseFs.existsSync(p);
}, (mountFs, { subPath }) => {
return mountFs.existsSync(subPath);
});
}
async accessPromise(p, mode) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.accessPromise(p, mode);
}, async (mountFs, { subPath }) => {
return await mountFs.accessPromise(subPath, mode);
});
}
accessSync(p, mode) {
return this.makeCallSync(p, () => {
return this.baseFs.accessSync(p, mode);
}, (mountFs, { subPath }) => {
return mountFs.accessSync(subPath, mode);
});
}
async statPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.statPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.statPromise(subPath, opts3);
});
}
statSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.statSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.statSync(subPath, opts3);
});
}
async fstatPromise(fd2, opts3) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fstatPromise(fd2, opts3);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fstat`);
const [mountFs, realFd] = entry;
return mountFs.fstatPromise(realFd, opts3);
}
fstatSync(fd2, opts3) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fstatSync(fd2, opts3);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fstatSync`);
const [mountFs, realFd] = entry;
return mountFs.fstatSync(realFd, opts3);
}
async lstatPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.lstatPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.lstatPromise(subPath, opts3);
});
}
lstatSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.lstatSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.lstatSync(subPath, opts3);
});
}
async fchmodPromise(fd2, mask) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fchmodPromise(fd2, mask);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fchmod`);
const [mountFs, realFd] = entry;
return mountFs.fchmodPromise(realFd, mask);
}
fchmodSync(fd2, mask) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fchmodSync(fd2, mask);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fchmodSync`);
const [mountFs, realFd] = entry;
return mountFs.fchmodSync(realFd, mask);
}
async chmodPromise(p, mask) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.chmodPromise(p, mask);
}, async (mountFs, { subPath }) => {
return await mountFs.chmodPromise(subPath, mask);
});
}
chmodSync(p, mask) {
return this.makeCallSync(p, () => {
return this.baseFs.chmodSync(p, mask);
}, (mountFs, { subPath }) => {
return mountFs.chmodSync(subPath, mask);
});
}
async fchownPromise(fd2, uid, gid) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fchownPromise(fd2, uid, gid);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fchown`);
const [zipFs, realFd] = entry;
return zipFs.fchownPromise(realFd, uid, gid);
}
fchownSync(fd2, uid, gid) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.fchownSync(fd2, uid, gid);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`fchownSync`);
const [zipFs, realFd] = entry;
return zipFs.fchownSync(realFd, uid, gid);
}
async chownPromise(p, uid, gid) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.chownPromise(p, uid, gid);
}, async (mountFs, { subPath }) => {
return await mountFs.chownPromise(subPath, uid, gid);
});
}
chownSync(p, uid, gid) {
return this.makeCallSync(p, () => {
return this.baseFs.chownSync(p, uid, gid);
}, (mountFs, { subPath }) => {
return mountFs.chownSync(subPath, uid, gid);
});
}
async renamePromise(oldP, newP) {
return await this.makeCallPromise(oldP, async () => {
return await this.makeCallPromise(newP, async () => {
return await this.baseFs.renamePromise(oldP, newP);
}, async () => {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
});
}, async (mountFsO, { subPath: subPathO }) => {
return await this.makeCallPromise(newP, async () => {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
}, async (mountFsN, { subPath: subPathN }) => {
if (mountFsO !== mountFsN) {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
} else {
return await mountFsO.renamePromise(subPathO, subPathN);
}
});
});
}
renameSync(oldP, newP) {
return this.makeCallSync(oldP, () => {
return this.makeCallSync(newP, () => {
return this.baseFs.renameSync(oldP, newP);
}, () => {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
});
}, (mountFsO, { subPath: subPathO }) => {
return this.makeCallSync(newP, () => {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
}, (mountFsN, { subPath: subPathN }) => {
if (mountFsO !== mountFsN) {
throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
} else {
return mountFsO.renameSync(subPathO, subPathN);
}
});
});
}
async copyFilePromise(sourceP, destP, flags = 0) {
const fallback = async (sourceFs, sourceP2, destFs, destP2) => {
if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
if (flags & fs_1.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
let content;
try {
content = await sourceFs.readFilePromise(sourceP2);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
}
await destFs.writeFilePromise(destP2, content);
};
return await this.makeCallPromise(sourceP, async () => {
return await this.makeCallPromise(destP, async () => {
return await this.baseFs.copyFilePromise(sourceP, destP, flags);
}, async (mountFsD, { subPath: subPathD }) => {
return await fallback(this.baseFs, sourceP, mountFsD, subPathD);
});
}, async (mountFsS, { subPath: subPathS }) => {
return await this.makeCallPromise(destP, async () => {
return await fallback(mountFsS, subPathS, this.baseFs, destP);
}, async (mountFsD, { subPath: subPathD }) => {
if (mountFsS !== mountFsD) {
return await fallback(mountFsS, subPathS, mountFsD, subPathD);
} else {
return await mountFsS.copyFilePromise(subPathS, subPathD, flags);
}
});
});
}
copyFileSync(sourceP, destP, flags = 0) {
const fallback = (sourceFs, sourceP2, destFs, destP2) => {
if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
if (flags & fs_1.constants.COPYFILE_EXCL && this.existsSync(sourceP2))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
let content;
try {
content = sourceFs.readFileSync(sourceP2);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
}
destFs.writeFileSync(destP2, content);
};
return this.makeCallSync(sourceP, () => {
return this.makeCallSync(destP, () => {
return this.baseFs.copyFileSync(sourceP, destP, flags);
}, (mountFsD, { subPath: subPathD }) => {
return fallback(this.baseFs, sourceP, mountFsD, subPathD);
});
}, (mountFsS, { subPath: subPathS }) => {
return this.makeCallSync(destP, () => {
return fallback(mountFsS, subPathS, this.baseFs, destP);
}, (mountFsD, { subPath: subPathD }) => {
if (mountFsS !== mountFsD) {
return fallback(mountFsS, subPathS, mountFsD, subPathD);
} else {
return mountFsS.copyFileSync(subPathS, subPathD, flags);
}
});
});
}
async appendFilePromise(p, content, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.appendFilePromise(p, content, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.appendFilePromise(subPath, content, opts3);
});
}
appendFileSync(p, content, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.appendFileSync(p, content, opts3);
}, (mountFs, { subPath }) => {
return mountFs.appendFileSync(subPath, content, opts3);
});
}
async writeFilePromise(p, content, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.writeFilePromise(p, content, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.writeFilePromise(subPath, content, opts3);
});
}
writeFileSync(p, content, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.writeFileSync(p, content, opts3);
}, (mountFs, { subPath }) => {
return mountFs.writeFileSync(subPath, content, opts3);
});
}
async unlinkPromise(p) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.unlinkPromise(p);
}, async (mountFs, { subPath }) => {
return await mountFs.unlinkPromise(subPath);
});
}
unlinkSync(p) {
return this.makeCallSync(p, () => {
return this.baseFs.unlinkSync(p);
}, (mountFs, { subPath }) => {
return mountFs.unlinkSync(subPath);
});
}
async utimesPromise(p, atime, mtime) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.utimesPromise(p, atime, mtime);
}, async (mountFs, { subPath }) => {
return await mountFs.utimesPromise(subPath, atime, mtime);
});
}
utimesSync(p, atime, mtime) {
return this.makeCallSync(p, () => {
return this.baseFs.utimesSync(p, atime, mtime);
}, (mountFs, { subPath }) => {
return mountFs.utimesSync(subPath, atime, mtime);
});
}
async lutimesPromise(p, atime, mtime) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.lutimesPromise(p, atime, mtime);
}, async (mountFs, { subPath }) => {
return await mountFs.lutimesPromise(subPath, atime, mtime);
});
}
lutimesSync(p, atime, mtime) {
return this.makeCallSync(p, () => {
return this.baseFs.lutimesSync(p, atime, mtime);
}, (mountFs, { subPath }) => {
return mountFs.lutimesSync(subPath, atime, mtime);
});
}
async mkdirPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.mkdirPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.mkdirPromise(subPath, opts3);
});
}
mkdirSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.mkdirSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.mkdirSync(subPath, opts3);
});
}
async rmdirPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.rmdirPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.rmdirPromise(subPath, opts3);
});
}
rmdirSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.rmdirSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.rmdirSync(subPath, opts3);
});
}
async rmPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.rmPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.rmPromise(subPath, opts3);
});
}
rmSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.rmSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.rmSync(subPath, opts3);
});
}
async linkPromise(existingP, newP) {
return await this.makeCallPromise(newP, async () => {
return await this.baseFs.linkPromise(existingP, newP);
}, async (mountFs, { subPath }) => {
return await mountFs.linkPromise(existingP, subPath);
});
}
linkSync(existingP, newP) {
return this.makeCallSync(newP, () => {
return this.baseFs.linkSync(existingP, newP);
}, (mountFs, { subPath }) => {
return mountFs.linkSync(existingP, subPath);
});
}
async symlinkPromise(target2, p, type4) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.symlinkPromise(target2, p, type4);
}, async (mountFs, { subPath }) => {
return await mountFs.symlinkPromise(target2, subPath);
});
}
symlinkSync(target2, p, type4) {
return this.makeCallSync(p, () => {
return this.baseFs.symlinkSync(target2, p, type4);
}, (mountFs, { subPath }) => {
return mountFs.symlinkSync(target2, subPath);
});
}
async readFilePromise(p, encoding) {
return this.makeCallPromise(p, async () => {
return await this.baseFs.readFilePromise(p, encoding);
}, async (mountFs, { subPath }) => {
return await mountFs.readFilePromise(subPath, encoding);
});
}
readFileSync(p, encoding) {
return this.makeCallSync(p, () => {
return this.baseFs.readFileSync(p, encoding);
}, (mountFs, { subPath }) => {
return mountFs.readFileSync(subPath, encoding);
});
}
async readdirPromise(p, opts3) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.readdirPromise(p, opts3);
}, async (mountFs, { subPath }) => {
return await mountFs.readdirPromise(subPath, opts3);
}, {
requireSubpath: false
});
}
readdirSync(p, opts3) {
return this.makeCallSync(p, () => {
return this.baseFs.readdirSync(p, opts3);
}, (mountFs, { subPath }) => {
return mountFs.readdirSync(subPath, opts3);
}, {
requireSubpath: false
});
}
async readlinkPromise(p) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.readlinkPromise(p);
}, async (mountFs, { subPath }) => {
return await mountFs.readlinkPromise(subPath);
});
}
readlinkSync(p) {
return this.makeCallSync(p, () => {
return this.baseFs.readlinkSync(p);
}, (mountFs, { subPath }) => {
return mountFs.readlinkSync(subPath);
});
}
async truncatePromise(p, len) {
return await this.makeCallPromise(p, async () => {
return await this.baseFs.truncatePromise(p, len);
}, async (mountFs, { subPath }) => {
return await mountFs.truncatePromise(subPath, len);
});
}
truncateSync(p, len) {
return this.makeCallSync(p, () => {
return this.baseFs.truncateSync(p, len);
}, (mountFs, { subPath }) => {
return mountFs.truncateSync(subPath, len);
});
}
async ftruncatePromise(fd2, len) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.ftruncatePromise(fd2, len);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`ftruncate`);
const [mountFs, realFd] = entry;
return mountFs.ftruncatePromise(realFd, len);
}
ftruncateSync(fd2, len) {
if ((fd2 & MOUNT_MASK) !== this.magic)
return this.baseFs.ftruncateSync(fd2, len);
const entry = this.fdMap.get(fd2);
if (typeof entry === `undefined`)
throw errors2.EBADF(`ftruncateSync`);
const [mountFs, realFd] = entry;
return mountFs.ftruncateSync(realFd, len);
}
watch(p, a2, b) {
return this.makeCallSync(p, () => {
return this.baseFs.watch(
p,
// @ts-expect-error - reason TBS
a2,
b
);
}, (mountFs, { subPath }) => {
return mountFs.watch(
subPath,
// @ts-expect-error - reason TBS
a2,
b
);
});
}
watchFile(p, a2, b) {
return this.makeCallSync(p, () => {
return this.baseFs.watchFile(
p,
// @ts-expect-error - reason TBS
a2,
b
);
}, () => {
return (0, watchFile_1.watchFile)(this, p, a2, b);
});
}
unwatchFile(p, cb) {
return this.makeCallSync(p, () => {
return this.baseFs.unwatchFile(p, cb);
}, () => {
return (0, watchFile_1.unwatchFile)(this, p, cb);
});
}
async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) {
if (typeof p !== `string`)
return await discard();
const normalizedP = this.resolve(p);
const mountInfo = this.findMount(normalizedP);
if (!mountInfo)
return await discard();
if (requireSubpath && mountInfo.subPath === `/`)
return await discard();
return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo));
}
makeCallSync(p, discard, accept, { requireSubpath = true } = {}) {
if (typeof p !== `string`)
return discard();
const normalizedP = this.resolve(p);
const mountInfo = this.findMount(normalizedP);
if (!mountInfo)
return discard();
if (requireSubpath && mountInfo.subPath === `/`)
return discard();
return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo));
}
findMount(p) {
if (this.filter && !this.filter.test(p))
return null;
let filePath = ``;
while (true) {
const pathPartWithArchive = p.substring(filePath.length);
const mountPoint = this.getMountPoint(pathPartWithArchive, filePath);
if (!mountPoint)
return null;
filePath = this.pathUtils.join(filePath, mountPoint);
if (!this.isMount.has(filePath)) {
if (this.notMount.has(filePath))
continue;
try {
if (this.typeCheck !== null && (this.baseFs.statSync(filePath).mode & fs_1.constants.S_IFMT) !== this.typeCheck) {
this.notMount.add(filePath);
continue;
}
} catch {
return null;
}
this.isMount.add(filePath);
}
return {
archivePath: filePath,
subPath: this.pathUtils.join(path_1.PortablePath.root, p.substring(filePath.length))
};
}
}
limitOpenFiles(max4) {
if (this.mountInstances === null)
return;
const now = Date.now();
let nextExpiresAt = now + this.maxAge;
let closeCount = max4 === null ? 0 : this.mountInstances.size - max4;
for (const [path236, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) {
if (refCount !== 0 || childFs.hasOpenFileHandles?.()) {
continue;
} else if (now >= expiresAt) {
childFs.saveAndClose?.();
this.mountInstances.delete(path236);
closeCount -= 1;
continue;
} else if (max4 === null || closeCount <= 0) {
nextExpiresAt = expiresAt;
break;
}
childFs.saveAndClose?.();
this.mountInstances.delete(path236);
closeCount -= 1;
}
if (this.limitOpenFilesTimeout === null && (max4 === null && this.mountInstances.size > 0 || max4 !== null) && isFinite(nextExpiresAt)) {
this.limitOpenFilesTimeout = setTimeout(() => {
this.limitOpenFilesTimeout = null;
this.limitOpenFiles(null);
}, nextExpiresAt - now).unref();
}
}
async getMountPromise(p, accept) {
if (this.mountInstances) {
let cachedMountFs = this.mountInstances.get(p);
if (!cachedMountFs) {
const createFsInstance = await this.factoryPromise(this.baseFs, p);
cachedMountFs = this.mountInstances.get(p);
if (!cachedMountFs) {
cachedMountFs = {
childFs: createFsInstance(),
expiresAt: 0,
refCount: 0
};
}
}
this.mountInstances.delete(p);
this.limitOpenFiles(this.maxOpenFiles - 1);
this.mountInstances.set(p, cachedMountFs);
cachedMountFs.expiresAt = Date.now() + this.maxAge;
cachedMountFs.refCount += 1;
try {
return await accept(cachedMountFs.childFs);
} finally {
cachedMountFs.refCount -= 1;
}
} else {
const mountFs = (await this.factoryPromise(this.baseFs, p))();
try {
return await accept(mountFs);
} finally {
mountFs.saveAndClose?.();
}
}
}
getMountSync(p, accept) {
if (this.mountInstances) {
let cachedMountFs = this.mountInstances.get(p);
if (!cachedMountFs) {
cachedMountFs = {
childFs: this.factorySync(this.baseFs, p),
expiresAt: 0,
refCount: 0
};
}
this.mountInstances.delete(p);
this.limitOpenFiles(this.maxOpenFiles - 1);
this.mountInstances.set(p, cachedMountFs);
cachedMountFs.expiresAt = Date.now() + this.maxAge;
return accept(cachedMountFs.childFs);
} else {
const childFs = this.factorySync(this.baseFs, p);
try {
return accept(childFs);
} finally {
childFs.saveAndClose?.();
}
}
}
};
exports2.MountFS = MountFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NoFS.js
var require_NoFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NoFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NoFS = void 0;
var FakeFS_1 = require_FakeFS();
var path_1 = require_path();
var makeError2 = () => Object.assign(new Error(`ENOSYS: unsupported filesystem access`), { code: `ENOSYS` });
var NoFS = class extends FakeFS_1.FakeFS {
constructor() {
super(path_1.ppath);
}
getExtractHint() {
throw makeError2();
}
getRealPath() {
throw makeError2();
}
resolve() {
throw makeError2();
}
async openPromise() {
throw makeError2();
}
openSync() {
throw makeError2();
}
async opendirPromise() {
throw makeError2();
}
opendirSync() {
throw makeError2();
}
async readPromise() {
throw makeError2();
}
readSync() {
throw makeError2();
}
async writePromise() {
throw makeError2();
}
writeSync() {
throw makeError2();
}
async closePromise() {
throw makeError2();
}
closeSync() {
throw makeError2();
}
createWriteStream() {
throw makeError2();
}
createReadStream() {
throw makeError2();
}
async realpathPromise() {
throw makeError2();
}
realpathSync() {
throw makeError2();
}
async readdirPromise() {
throw makeError2();
}
readdirSync() {
throw makeError2();
}
async existsPromise(p) {
throw makeError2();
}
existsSync(p) {
throw makeError2();
}
async accessPromise() {
throw makeError2();
}
accessSync() {
throw makeError2();
}
async statPromise() {
throw makeError2();
}
statSync() {
throw makeError2();
}
async fstatPromise(fd2) {
throw makeError2();
}
fstatSync(fd2) {
throw makeError2();
}
async lstatPromise(p) {
throw makeError2();
}
lstatSync(p) {
throw makeError2();
}
async fchmodPromise() {
throw makeError2();
}
fchmodSync() {
throw makeError2();
}
async chmodPromise() {
throw makeError2();
}
chmodSync() {
throw makeError2();
}
async fchownPromise() {
throw makeError2();
}
fchownSync() {
throw makeError2();
}
async chownPromise() {
throw makeError2();
}
chownSync() {
throw makeError2();
}
async mkdirPromise() {
throw makeError2();
}
mkdirSync() {
throw makeError2();
}
async rmdirPromise() {
throw makeError2();
}
rmdirSync() {
throw makeError2();
}
async rmPromise() {
throw makeError2();
}
rmSync() {
throw makeError2();
}
async linkPromise() {
throw makeError2();
}
linkSync() {
throw makeError2();
}
async symlinkPromise() {
throw makeError2();
}
symlinkSync() {
throw makeError2();
}
async renamePromise() {
throw makeError2();
}
renameSync() {
throw makeError2();
}
async copyFilePromise() {
throw makeError2();
}
copyFileSync() {
throw makeError2();
}
async appendFilePromise() {
throw makeError2();
}
appendFileSync() {
throw makeError2();
}
async writeFilePromise() {
throw makeError2();
}
writeFileSync() {
throw makeError2();
}
async unlinkPromise() {
throw makeError2();
}
unlinkSync() {
throw makeError2();
}
async utimesPromise() {
throw makeError2();
}
utimesSync() {
throw makeError2();
}
async lutimesPromise() {
throw makeError2();
}
lutimesSync() {
throw makeError2();
}
async readFilePromise() {
throw makeError2();
}
readFileSync() {
throw makeError2();
}
async readlinkPromise() {
throw makeError2();
}
readlinkSync() {
throw makeError2();
}
async truncatePromise() {
throw makeError2();
}
truncateSync() {
throw makeError2();
}
async ftruncatePromise(fd2, len) {
throw makeError2();
}
ftruncateSync(fd2, len) {
throw makeError2();
}
watch() {
throw makeError2();
}
watchFile() {
throw makeError2();
}
unwatchFile() {
throw makeError2();
}
};
exports2.NoFS = NoFS;
NoFS.instance = new NoFS();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/PosixFS.js
var require_PosixFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/PosixFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PosixFS = void 0;
var ProxiedFS_1 = require_ProxiedFS();
var path_1 = require_path();
var PosixFS = class extends ProxiedFS_1.ProxiedFS {
constructor(baseFs) {
super(path_1.npath);
this.baseFs = baseFs;
}
mapFromBase(path236) {
return path_1.npath.fromPortablePath(path236);
}
mapToBase(path236) {
return path_1.npath.toPortablePath(path236);
}
};
exports2.PosixFS = PosixFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/VirtualFS.js
var require_VirtualFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/VirtualFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.VirtualFS = void 0;
var NodeFS_1 = require_NodeFS();
var ProxiedFS_1 = require_ProxiedFS();
var path_1 = require_path();
var NUMBER_REGEXP = /^[0-9]+$/;
var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
var VirtualFS = class _VirtualFS extends ProxiedFS_1.ProxiedFS {
static makeVirtualPath(base, component, to) {
if (path_1.ppath.basename(base) !== `__virtual__`)
throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
if (!path_1.ppath.basename(component).match(VALID_COMPONENT))
throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`);
const target2 = path_1.ppath.relative(path_1.ppath.dirname(base), to);
const segments = target2.split(`/`);
let depth = 0;
while (depth < segments.length && segments[depth] === `..`)
depth += 1;
const finalSegments = segments.slice(depth);
const fullVirtualPath = path_1.ppath.join(base, component, String(depth), ...finalSegments);
return fullVirtualPath;
}
static resolveVirtual(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match || !match[3] && match[5])
return p;
const target2 = path_1.ppath.dirname(match[1]);
if (!match[3] || !match[4])
return target2;
const isnum = NUMBER_REGEXP.test(match[4]);
if (!isnum)
return p;
const depth = Number(match[4]);
const backstep = `../`.repeat(depth);
const subpath = match[5] || `.`;
return _VirtualFS.resolveVirtual(path_1.ppath.join(target2, backstep, subpath));
}
constructor({ baseFs = new NodeFS_1.NodeFS() } = {}) {
super(path_1.ppath);
this.baseFs = baseFs;
}
getExtractHint(hints) {
return this.baseFs.getExtractHint(hints);
}
getRealPath() {
return this.baseFs.getRealPath();
}
realpathSync(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match)
return this.baseFs.realpathSync(p);
if (!match[5])
return p;
const realpath4 = this.baseFs.realpathSync(this.mapToBase(p));
return _VirtualFS.makeVirtualPath(match[1], match[3], realpath4);
}
async realpathPromise(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match)
return await this.baseFs.realpathPromise(p);
if (!match[5])
return p;
const realpath4 = await this.baseFs.realpathPromise(this.mapToBase(p));
return _VirtualFS.makeVirtualPath(match[1], match[3], realpath4);
}
mapToBase(p) {
if (p === ``)
return p;
if (this.pathUtils.isAbsolute(p))
return _VirtualFS.resolveVirtual(p);
const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(path_1.PortablePath.dot));
const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p));
return path_1.ppath.relative(resolvedRoot, resolvedP) || path_1.PortablePath.dot;
}
mapFromBase(p) {
return p;
}
};
exports2.VirtualFS = VirtualFS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NodePathFS.js
var require_NodePathFS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/NodePathFS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NodePathFS = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var buffer_1 = tslib_12.__importDefault(__require("buffer"));
var url_1 = __require("url");
var util_1 = __require("util");
var ProxiedFS_1 = require_ProxiedFS();
var path_1 = require_path();
var NodePathFS = class extends ProxiedFS_1.ProxiedFS {
constructor(baseFs) {
super(path_1.npath);
this.baseFs = baseFs;
}
mapFromBase(path236) {
return path236;
}
mapToBase(path236) {
if (typeof path236 === `string`)
return path236;
if (path236 instanceof URL)
return (0, url_1.fileURLToPath)(path236);
if (Buffer.isBuffer(path236)) {
const str2 = path236.toString();
if (!isUtf8(path236, str2))
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 str2;
}
throw new Error(`Unsupported path type: ${(0, util_1.inspect)(path236)}`);
}
};
exports2.NodePathFS = NodePathFS;
function isUtf8(buf, str2) {
if (typeof buffer_1.default.isUtf8 !== `undefined`)
return buffer_1.default.isUtf8(buf);
return Buffer.byteLength(str2) === buf.byteLength;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js
var require_FileHandle = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js"(exports2) {
"use strict";
var _a2;
var _b2;
var _c;
var _d;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FileHandle = void 0;
var readline_1 = __require("readline");
var kBaseFs = /* @__PURE__ */ Symbol(`kBaseFs`);
var kFd = /* @__PURE__ */ Symbol(`kFd`);
var kClosePromise = /* @__PURE__ */ Symbol(`kClosePromise`);
var kCloseResolve = /* @__PURE__ */ Symbol(`kCloseResolve`);
var kCloseReject = /* @__PURE__ */ Symbol(`kCloseReject`);
var kRefs = /* @__PURE__ */ Symbol(`kRefs`);
var kRef = /* @__PURE__ */ Symbol(`kRef`);
var kUnref = /* @__PURE__ */ Symbol(`kUnref`);
var FileHandle = class {
constructor(fd2, baseFs) {
this[_a2] = 1;
this[_b2] = void 0;
this[_c] = void 0;
this[_d] = void 0;
this[kBaseFs] = baseFs;
this[kFd] = fd2;
}
get fd() {
return this[kFd];
}
async appendFile(data, options) {
try {
this[kRef](this.appendFile);
const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0);
} finally {
this[kUnref]();
}
}
async chown(uid, gid) {
try {
this[kRef](this.chown);
return await this[kBaseFs].fchownPromise(this.fd, uid, gid);
} finally {
this[kUnref]();
}
}
async chmod(mode) {
try {
this[kRef](this.chmod);
return await this[kBaseFs].fchmodPromise(this.fd, mode);
} finally {
this[kUnref]();
}
}
createReadStream(options) {
return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd });
}
createWriteStream(options) {
return this[kBaseFs].createWriteStream(null, { ...options, 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(bufferOrOptions, offsetOrOptions, length, position3) {
try {
this[kRef](this.read);
let buffer3;
let offset;
if (!ArrayBuffer.isView(bufferOrOptions)) {
buffer3 = bufferOrOptions?.buffer ?? Buffer.alloc(16384);
offset = bufferOrOptions?.offset ?? 0;
length = bufferOrOptions?.length ?? buffer3.byteLength - offset;
position3 = bufferOrOptions?.position ?? null;
} else if (typeof offsetOrOptions === `object` && offsetOrOptions !== null) {
buffer3 = bufferOrOptions;
offset = offsetOrOptions?.offset ?? 0;
length = offsetOrOptions?.length ?? buffer3.byteLength - offset;
position3 = offsetOrOptions?.position ?? null;
} else {
buffer3 = bufferOrOptions;
offset = offsetOrOptions ?? 0;
length ??= 0;
}
if (length === 0) {
return {
bytesRead: length,
buffer: buffer3
};
}
const bytesRead = await this[kBaseFs].readPromise(
this.fd,
// FIXME: FakeFS should support ArrayBufferViews directly
Buffer.isBuffer(buffer3) ? buffer3 : Buffer.from(buffer3.buffer, buffer3.byteOffset, buffer3.byteLength),
offset,
length,
position3
);
return {
bytesRead,
buffer: buffer3
};
} finally {
this[kUnref]();
}
}
async readFile(options) {
try {
this[kRef](this.readFile);
const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
return await this[kBaseFs].readFilePromise(this.fd, encoding);
} finally {
this[kUnref]();
}
}
readLines(options) {
return (0, readline_1.createInterface)({
input: this.createReadStream(options),
crlfDelay: Infinity
});
}
async stat(opts3) {
try {
this[kRef](this.stat);
return await this[kBaseFs].fstatPromise(this.fd, opts3);
} finally {
this[kUnref]();
}
}
async truncate(len) {
try {
this[kRef](this.truncate);
return await this[kBaseFs].ftruncatePromise(this.fd, len);
} finally {
this[kUnref]();
}
}
// FIXME: Missing FakeFS version
utimes(atime, mtime) {
throw new Error(`Method not implemented.`);
}
async writeFile(data, options) {
try {
this[kRef](this.writeFile);
const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
await this[kBaseFs].writeFilePromise(this.fd, data, encoding);
} finally {
this[kUnref]();
}
}
async write(...args) {
try {
this[kRef](this.write);
if (ArrayBuffer.isView(args[0])) {
const [buffer3, offset, length, position3] = args;
const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer3, offset ?? void 0, length ?? void 0, position3 ?? void 0);
return { bytesWritten, buffer: buffer3 };
} else {
const [data, position3, encoding] = args;
const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position3, encoding);
return { bytesWritten, buffer: data };
}
} finally {
this[kUnref]();
}
}
// TODO: Use writev from FakeFS when that is implemented
async writev(buffers, position3) {
try {
this[kRef](this.writev);
let bytesWritten = 0;
if (typeof position3 !== `undefined`) {
for (const buffer3 of buffers) {
const writeResult = await this.write(buffer3, void 0, void 0, position3);
bytesWritten += writeResult.bytesWritten;
position3 += writeResult.bytesWritten;
}
} else {
for (const buffer3 of buffers) {
const writeResult = await this.write(buffer3);
bytesWritten += writeResult.bytesWritten;
}
}
return {
buffers,
bytesWritten
};
} finally {
this[kUnref]();
}
}
// FIXME: Missing FakeFS version
readv(buffers, position3) {
throw new Error(`Method not implemented.`);
}
close() {
if (this[kFd] === -1)
return Promise.resolve();
if (this[kClosePromise])
return this[kClosePromise];
this[kRefs]--;
if (this[kRefs] === 0) {
const fd2 = this[kFd];
this[kFd] = -1;
this[kClosePromise] = this[kBaseFs].closePromise(fd2).finally(() => {
this[kClosePromise] = void 0;
});
} else {
this[kClosePromise] = new Promise((resolve4, reject3) => {
this[kCloseResolve] = resolve4;
this[kCloseReject] = reject3;
}).finally(() => {
this[kClosePromise] = void 0;
this[kCloseReject] = void 0;
this[kCloseResolve] = void 0;
});
}
return this[kClosePromise];
}
[(_a2 = kRefs, _b2 = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) {
if (this[kFd] === -1) {
const err2 = new Error(`file closed`);
err2.code = `EBADF`;
err2.syscall = caller.name;
throw err2;
}
this[kRefs]++;
}
[kUnref]() {
this[kRefs]--;
if (this[kRefs] === 0) {
const fd2 = this[kFd];
this[kFd] = -1;
this[kBaseFs].closePromise(fd2).then(this[kCloseResolve], this[kCloseReject]);
}
}
};
exports2.FileHandle = FileHandle;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js
var require_patchFs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.patchFs = patchFs;
exports2.extendFs = extendFs;
var util_1 = __require("util");
var NodePathFS_1 = require_NodePathFS();
var FileHandle_1 = require_FileHandle();
var SYNC_IMPLEMENTATIONS = /* @__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`,
`rmSync`,
`statSync`,
`symlinkSync`,
`truncateSync`,
`ftruncateSync`,
`unlinkSync`,
`unwatchFile`,
`utimesSync`,
`watch`,
`watchFile`,
`writeFileSync`,
`writeSync`
]);
var ASYNC_IMPLEMENTATIONS = /* @__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`,
`rmPromise`,
`statPromise`,
`symlinkPromise`,
`truncatePromise`,
`ftruncatePromise`,
`unlinkPromise`,
`utimesPromise`,
`writeFilePromise`,
`writeSync`
]);
function patchFs(patchedFs, fakeFs) {
fakeFs = new NodePathFS_1.NodePathFS(fakeFs);
const setupFn = (target2, name, replacement) => {
const orig = target2[name];
target2[name] = replacement;
if (typeof orig?.[util_1.promisify.custom] !== `undefined`) {
replacement[util_1.promisify.custom] = orig[util_1.promisify.custom];
}
};
{
setupFn(patchedFs, `exists`, (p, ...args) => {
const hasCallback = typeof args[args.length - 1] === `function`;
const callback2 = hasCallback ? args.pop() : () => {
};
process.nextTick(() => {
fakeFs.existsPromise(p).then((exists) => {
callback2(exists);
}, () => {
callback2(false);
});
});
});
setupFn(patchedFs, `read`, (...args) => {
let [fd2, buffer3, offset, length, position3, callback2] = args;
if (args.length <= 3) {
let options = {};
if (args.length < 3) {
callback2 = args[1];
} else {
options = args[1];
callback2 = args[2];
}
({
buffer: buffer3 = Buffer.alloc(16384),
offset = 0,
length = buffer3.byteLength,
position: position3
} = options);
}
if (offset == null)
offset = 0;
length |= 0;
if (length === 0) {
process.nextTick(() => {
callback2(null, 0, buffer3);
});
return;
}
if (position3 == null)
position3 = -1;
process.nextTick(() => {
fakeFs.readPromise(fd2, buffer3, offset, length, position3).then((bytesRead) => {
callback2(null, bytesRead, buffer3);
}, (error) => {
callback2(error, 0, buffer3);
});
});
});
for (const fnName of ASYNC_IMPLEMENTATIONS) {
const origName = fnName.replace(/Promise$/, ``);
if (typeof patchedFs[origName] === `undefined`)
continue;
const fakeImpl = fakeFs[fnName];
if (typeof fakeImpl === `undefined`)
continue;
const wrapper = (...args) => {
const hasCallback = typeof args[args.length - 1] === `function`;
const callback2 = hasCallback ? args.pop() : () => {
};
process.nextTick(() => {
fakeImpl.apply(fakeFs, args).then((result2) => {
callback2(null, result2);
}, (error) => {
callback2(error);
});
});
};
setupFn(patchedFs, origName, wrapper);
}
patchedFs.realpath.native = patchedFs.realpath;
}
{
setupFn(patchedFs, `existsSync`, (p) => {
try {
return fakeFs.existsSync(p);
} catch {
return false;
}
});
setupFn(patchedFs, `readSync`, (...args) => {
let [fd2, buffer3, offset, length, position3] = args;
if (args.length <= 3) {
const options = args[2] || {};
({ offset = 0, length = buffer3.byteLength, position: position3 } = options);
}
if (offset == null)
offset = 0;
length |= 0;
if (length === 0)
return 0;
if (position3 == null)
position3 = -1;
return fakeFs.readSync(fd2, buffer3, offset, length, position3);
});
for (const fnName of SYNC_IMPLEMENTATIONS) {
const origName = fnName;
if (typeof patchedFs[origName] === `undefined`)
continue;
const fakeImpl = fakeFs[fnName];
if (typeof fakeImpl === `undefined`)
continue;
setupFn(patchedFs, origName, fakeImpl.bind(fakeFs));
}
patchedFs.realpathSync.native = patchedFs.realpathSync;
}
{
const patchedFsPromises = patchedFs.promises;
for (const fnName of ASYNC_IMPLEMENTATIONS) {
const origName = fnName.replace(/Promise$/, ``);
if (typeof patchedFsPromises[origName] === `undefined`)
continue;
const fakeImpl = fakeFs[fnName];
if (typeof fakeImpl === `undefined`)
continue;
if (fnName === `open`)
continue;
setupFn(patchedFsPromises, origName, (pathLike, ...args) => {
if (pathLike instanceof FileHandle_1.FileHandle) {
return pathLike[origName].apply(pathLike, args);
} else {
return fakeImpl.call(fakeFs, pathLike, ...args);
}
});
}
setupFn(patchedFsPromises, `open`, async (...args) => {
const fd2 = await fakeFs.openPromise(...args);
return new FileHandle_1.FileHandle(fd2, fakeFs);
});
}
{
patchedFs.read[util_1.promisify.custom] = async (fd2, buffer3, ...args) => {
const res = fakeFs.readPromise(fd2, buffer3, ...args);
return { bytesRead: await res, buffer: buffer3 };
};
patchedFs.write[util_1.promisify.custom] = async (fd2, buffer3, ...args) => {
const res = fakeFs.writePromise(fd2, buffer3, ...args);
return { bytesWritten: await res, buffer: buffer3 };
};
}
}
function extendFs(realFs, fakeFs) {
const patchedFs = Object.create(realFs);
patchFs(patchedFs, fakeFs);
return patchedFs;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/xfs.js
var require_xfs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/xfs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.xfs = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var os_1 = tslib_12.__importDefault(__require("os"));
var NodeFS_1 = require_NodeFS();
var path_1 = require_path();
function getTempName(prefix) {
const hash2 = Math.ceil(Math.random() * 4294967296).toString(16).padStart(8, `0`);
return `${prefix}${hash2}`;
}
var tmpdirs = /* @__PURE__ */ new Set();
var tmpEnv = null;
function initTmpEnv() {
if (tmpEnv)
return tmpEnv;
const tmpdir = path_1.npath.toPortablePath(os_1.default.tmpdir());
const realTmpdir = exports2.xfs.realpathSync(tmpdir);
process.once(`exit`, () => {
exports2.xfs.rmtempSync();
});
return tmpEnv = {
tmpdir,
realTmpdir
};
}
exports2.xfs = Object.assign(new NodeFS_1.NodeFS(), {
detachTemp(p) {
tmpdirs.delete(p);
},
mktempSync(cb) {
const { tmpdir, realTmpdir } = initTmpEnv();
while (true) {
const name = getTempName(`xfs-`);
try {
this.mkdirSync(path_1.ppath.join(tmpdir, name));
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
const realP = path_1.ppath.join(realTmpdir, name);
tmpdirs.add(realP);
if (typeof cb === `undefined`)
return realP;
try {
return cb(realP);
} finally {
if (tmpdirs.has(realP)) {
tmpdirs.delete(realP);
try {
this.removeSync(realP);
} catch {
}
}
}
}
},
async mktempPromise(cb) {
const { tmpdir, realTmpdir } = initTmpEnv();
while (true) {
const name = getTempName(`xfs-`);
try {
await this.mkdirPromise(path_1.ppath.join(tmpdir, name));
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
const realP = path_1.ppath.join(realTmpdir, name);
tmpdirs.add(realP);
if (typeof cb === `undefined`)
return realP;
try {
return await cb(realP);
} finally {
if (tmpdirs.has(realP)) {
tmpdirs.delete(realP);
try {
await this.removePromise(realP);
} catch {
}
}
}
}
},
async rmtempPromise() {
await Promise.all(Array.from(tmpdirs.values()).map(async (p) => {
try {
await exports2.xfs.removePromise(p, { maxRetries: 0 });
tmpdirs.delete(p);
} catch {
}
}));
},
rmtempSync() {
for (const p of tmpdirs) {
try {
exports2.xfs.removeSync(p);
tmpdirs.delete(p);
} catch {
}
}
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/index.js
var require_lib2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/fslib/3.1.5/0e9904b11de6308a21798242812fdf27d11a2bd1d4eaf78322aa70681bfeb694/node_modules/@yarnpkg/fslib/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.xfs = exports2.extendFs = exports2.patchFs = exports2.VirtualFS = exports2.ProxiedFS = exports2.PosixFS = exports2.NodeFS = exports2.NoFS = exports2.MountFS = exports2.LazyFS = exports2.JailFS = exports2.CwdFS = exports2.BasePortableFakeFS = exports2.FakeFS = exports2.AliasFS = exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = exports2.normalizeLineEndings = exports2.unwatchAllFiles = exports2.unwatchFile = exports2.watchFile = exports2.CustomDir = exports2.opendir = exports2.setupCopyIndex = exports2.statUtils = exports2.errors = exports2.constants = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var constants6 = tslib_12.__importStar(require_constants2());
exports2.constants = constants6;
var errors2 = tslib_12.__importStar(require_errors());
exports2.errors = errors2;
var statUtils = tslib_12.__importStar(require_statUtils());
exports2.statUtils = statUtils;
var copyPromise_1 = require_copyPromise();
Object.defineProperty(exports2, "setupCopyIndex", { enumerable: true, get: function() {
return copyPromise_1.setupCopyIndex;
} });
var opendir_1 = require_opendir();
Object.defineProperty(exports2, "opendir", { enumerable: true, get: function() {
return opendir_1.opendir;
} });
Object.defineProperty(exports2, "CustomDir", { enumerable: true, get: function() {
return opendir_1.CustomDir;
} });
var watchFile_1 = require_watchFile();
Object.defineProperty(exports2, "watchFile", { enumerable: true, get: function() {
return watchFile_1.watchFile;
} });
Object.defineProperty(exports2, "unwatchFile", { enumerable: true, get: function() {
return watchFile_1.unwatchFile;
} });
Object.defineProperty(exports2, "unwatchAllFiles", { enumerable: true, get: function() {
return watchFile_1.unwatchAllFiles;
} });
var FakeFS_1 = require_FakeFS();
Object.defineProperty(exports2, "normalizeLineEndings", { enumerable: true, get: function() {
return FakeFS_1.normalizeLineEndings;
} });
var path_1 = require_path();
Object.defineProperty(exports2, "PortablePath", { enumerable: true, get: function() {
return path_1.PortablePath;
} });
Object.defineProperty(exports2, "Filename", { enumerable: true, get: function() {
return path_1.Filename;
} });
var path_2 = require_path();
Object.defineProperty(exports2, "npath", { enumerable: true, get: function() {
return path_2.npath;
} });
Object.defineProperty(exports2, "ppath", { enumerable: true, get: function() {
return path_2.ppath;
} });
var AliasFS_1 = require_AliasFS();
Object.defineProperty(exports2, "AliasFS", { enumerable: true, get: function() {
return AliasFS_1.AliasFS;
} });
var FakeFS_2 = require_FakeFS();
Object.defineProperty(exports2, "FakeFS", { enumerable: true, get: function() {
return FakeFS_2.FakeFS;
} });
Object.defineProperty(exports2, "BasePortableFakeFS", { enumerable: true, get: function() {
return FakeFS_2.BasePortableFakeFS;
} });
var CwdFS_1 = require_CwdFS();
Object.defineProperty(exports2, "CwdFS", { enumerable: true, get: function() {
return CwdFS_1.CwdFS;
} });
var JailFS_1 = require_JailFS();
Object.defineProperty(exports2, "JailFS", { enumerable: true, get: function() {
return JailFS_1.JailFS;
} });
var LazyFS_1 = require_LazyFS();
Object.defineProperty(exports2, "LazyFS", { enumerable: true, get: function() {
return LazyFS_1.LazyFS;
} });
var MountFS_1 = require_MountFS();
Object.defineProperty(exports2, "MountFS", { enumerable: true, get: function() {
return MountFS_1.MountFS;
} });
var NoFS_1 = require_NoFS();
Object.defineProperty(exports2, "NoFS", { enumerable: true, get: function() {
return NoFS_1.NoFS;
} });
var NodeFS_1 = require_NodeFS();
Object.defineProperty(exports2, "NodeFS", { enumerable: true, get: function() {
return NodeFS_1.NodeFS;
} });
var PosixFS_1 = require_PosixFS();
Object.defineProperty(exports2, "PosixFS", { enumerable: true, get: function() {
return PosixFS_1.PosixFS;
} });
var ProxiedFS_1 = require_ProxiedFS();
Object.defineProperty(exports2, "ProxiedFS", { enumerable: true, get: function() {
return ProxiedFS_1.ProxiedFS;
} });
var VirtualFS_1 = require_VirtualFS();
Object.defineProperty(exports2, "VirtualFS", { enumerable: true, get: function() {
return VirtualFS_1.VirtualFS;
} });
var patchFs_1 = require_patchFs();
Object.defineProperty(exports2, "patchFs", { enumerable: true, get: function() {
return patchFs_1.patchFs;
} });
Object.defineProperty(exports2, "extendFs", { enumerable: true, get: function() {
return patchFs_1.extendFs;
} });
var xfs_1 = require_xfs();
Object.defineProperty(exports2, "xfs", { enumerable: true, get: function() {
return xfs_1.xfs;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/shell.js
var require_shell = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/shell.js"(exports2, module2) {
"use strict";
function peg$subclass(child, parent) {
function ctor() {
this.constructor = child;
}
ctor.prototype = parent.prototype;
child.prototype = new ctor();
}
function peg$SyntaxError(message, expected, found, location) {
this.message = message;
this.expected = expected;
this.found = found;
this.location = location;
this.name = "SyntaxError";
if (typeof Error.captureStackTrace === "function") {
Error.captureStackTrace(this, peg$SyntaxError);
}
}
peg$subclass(peg$SyntaxError, Error);
peg$SyntaxError.buildMessage = function(expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: function(expectation) {
return '"' + literalEscape(expectation.text) + '"';
},
"class": function(expectation) {
var escapedParts = "", i4;
for (i4 = 0; i4 < expectation.parts.length; i4++) {
escapedParts += expectation.parts[i4] instanceof Array ? classEscape(expectation.parts[i4][0]) + "-" + classEscape(expectation.parts[i4][1]) : classEscape(expectation.parts[i4]);
}
return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
},
any: function(expectation) {
return "any character";
},
end: function(expectation) {
return "end of input";
},
other: function(expectation) {
return expectation.description;
}
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
function literalEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function classEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
function describeExpected(expected2) {
var descriptions = new Array(expected2.length), i4, j2;
for (i4 = 0; i4 < expected2.length; i4++) {
descriptions[i4] = describeExpectation(expected2[i4]);
}
descriptions.sort();
if (descriptions.length > 0) {
for (i4 = 1, j2 = 1; i4 < descriptions.length; i4++) {
if (descriptions[i4 - 1] !== descriptions[i4]) {
descriptions[j2] = descriptions[i4];
j2++;
}
}
descriptions.length = j2;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
function peg$parse(input, options) {
options = options !== void 0 ? options : {};
var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(line) {
return line ? line : [];
}, peg$c1 = function(command, type4, then) {
return [{ command, type: type4 }].concat(then || []);
}, peg$c2 = function(command, type4) {
return [{ command, type: type4 || ";" }];
}, peg$c3 = function(then) {
return then;
}, peg$c4 = ";", peg$c5 = peg$literalExpectation(";", false), peg$c6 = "&", peg$c7 = peg$literalExpectation("&", false), peg$c8 = function(chain3, then) {
return then ? { chain: chain3, then } : { chain: chain3 };
}, peg$c9 = function(type4, then) {
return { type: type4, line: then };
}, peg$c10 = "&&", peg$c11 = peg$literalExpectation("&&", false), peg$c12 = "||", peg$c13 = peg$literalExpectation("||", false), peg$c14 = function(main5, then) {
return then ? { ...main5, then } : main5;
}, peg$c15 = function(type4, then) {
return { type: type4, chain: then };
}, peg$c16 = "|&", peg$c17 = peg$literalExpectation("|&", false), peg$c18 = "|", peg$c19 = peg$literalExpectation("|", false), peg$c20 = "=", peg$c21 = peg$literalExpectation("=", false), peg$c22 = function(name, arg) {
return { name, args: [arg] };
}, peg$c23 = function(name) {
return { name, args: [] };
}, peg$c24 = "(", peg$c25 = peg$literalExpectation("(", false), peg$c26 = ")", peg$c27 = peg$literalExpectation(")", false), peg$c28 = function(subshell, args) {
return { type: `subshell`, subshell, args };
}, peg$c29 = "{", peg$c30 = peg$literalExpectation("{", false), peg$c31 = "}", peg$c32 = peg$literalExpectation("}", false), peg$c33 = function(group, args) {
return { type: `group`, group, args };
}, peg$c34 = function(envs, args) {
return { type: `command`, args, envs };
}, peg$c35 = function(envs) {
return { type: `envs`, envs };
}, peg$c36 = function(args) {
return args;
}, peg$c37 = function(arg) {
return arg;
}, peg$c38 = /^[0-9]/, peg$c39 = peg$classExpectation([["0", "9"]], false, false), peg$c40 = function(fd2, redirect, arg) {
return { type: `redirection`, subtype: redirect, fd: fd2 !== null ? parseInt(fd2) : null, args: [arg] };
}, peg$c41 = ">>", peg$c42 = peg$literalExpectation(">>", false), peg$c43 = ">&", peg$c44 = peg$literalExpectation(">&", false), peg$c45 = ">", peg$c46 = peg$literalExpectation(">", false), peg$c47 = "<<<", peg$c48 = peg$literalExpectation("<<<", false), peg$c49 = "<&", peg$c50 = peg$literalExpectation("<&", false), peg$c51 = "<", peg$c52 = peg$literalExpectation("<", false), peg$c53 = function(segments) {
return { type: `argument`, segments: [].concat(...segments) };
}, peg$c54 = function(string) {
return string;
}, peg$c55 = "$'", peg$c56 = peg$literalExpectation("$'", false), peg$c57 = "'", peg$c58 = peg$literalExpectation("'", false), peg$c59 = function(text2) {
return [{ type: `text`, text: text2 }];
}, peg$c60 = '""', peg$c61 = peg$literalExpectation('""', false), peg$c62 = function() {
return { type: `text`, text: `` };
}, peg$c63 = '"', peg$c64 = peg$literalExpectation('"', false), peg$c65 = function(segments) {
return segments;
}, peg$c66 = function(arithmetic) {
return { type: `arithmetic`, arithmetic, quoted: true };
}, peg$c67 = function(shell) {
return { type: `shell`, shell, quoted: true };
}, peg$c68 = function(variable) {
return { type: `variable`, ...variable, quoted: true };
}, peg$c69 = function(text2) {
return { type: `text`, text: text2 };
}, peg$c70 = function(arithmetic) {
return { type: `arithmetic`, arithmetic, quoted: false };
}, peg$c71 = function(shell) {
return { type: `shell`, shell, quoted: false };
}, peg$c72 = function(variable) {
return { type: `variable`, ...variable, quoted: false };
}, peg$c73 = function(pattern) {
return { type: `glob`, pattern };
}, peg$c74 = /^[^']/, peg$c75 = peg$classExpectation(["'"], true, false), peg$c76 = function(chars) {
return chars.join(``);
}, peg$c77 = /^[^$"]/, peg$c78 = peg$classExpectation(["$", '"'], true, false), peg$c79 = "\\\n", peg$c80 = peg$literalExpectation("\\\n", false), peg$c81 = function() {
return ``;
}, peg$c82 = "\\", peg$c83 = peg$literalExpectation("\\", false), peg$c84 = /^[\\$"`]/, peg$c85 = peg$classExpectation(["\\", "$", '"', "`"], false, false), peg$c86 = function(c3) {
return c3;
}, peg$c87 = "\\a", peg$c88 = peg$literalExpectation("\\a", false), peg$c89 = function() {
return "a";
}, peg$c90 = "\\b", peg$c91 = peg$literalExpectation("\\b", false), peg$c92 = function() {
return "\b";
}, peg$c93 = /^[Ee]/, peg$c94 = peg$classExpectation(["E", "e"], false, false), peg$c95 = function() {
return "\x1B";
}, peg$c96 = "\\f", peg$c97 = peg$literalExpectation("\\f", false), peg$c98 = function() {
return "\f";
}, peg$c99 = "\\n", peg$c100 = peg$literalExpectation("\\n", false), peg$c101 = function() {
return "\n";
}, peg$c102 = "\\r", peg$c103 = peg$literalExpectation("\\r", false), peg$c104 = function() {
return "\r";
}, peg$c105 = "\\t", peg$c106 = peg$literalExpectation("\\t", false), peg$c107 = function() {
return " ";
}, peg$c108 = "\\v", peg$c109 = peg$literalExpectation("\\v", false), peg$c110 = function() {
return "\v";
}, peg$c111 = /^[\\'"?]/, peg$c112 = peg$classExpectation(["\\", "'", '"', "?"], false, false), peg$c113 = function(c3) {
return String.fromCharCode(parseInt(c3, 16));
}, peg$c114 = "\\x", peg$c115 = peg$literalExpectation("\\x", false), peg$c116 = "\\u", peg$c117 = peg$literalExpectation("\\u", false), peg$c118 = "\\U", peg$c119 = peg$literalExpectation("\\U", false), peg$c120 = function(c3) {
return String.fromCodePoint(parseInt(c3, 16));
}, peg$c121 = /^[0-7]/, peg$c122 = peg$classExpectation([["0", "7"]], false, false), peg$c123 = /^[0-9a-fA-f]/, peg$c124 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "f"]], false, false), peg$c125 = peg$anyExpectation(), peg$c126 = "{}", peg$c127 = peg$literalExpectation("{}", false), peg$c128 = function() {
return "{}";
}, peg$c129 = "-", peg$c130 = peg$literalExpectation("-", false), peg$c131 = "+", peg$c132 = peg$literalExpectation("+", false), peg$c133 = ".", peg$c134 = peg$literalExpectation(".", false), peg$c135 = function(sign, left, right) {
return { type: `number`, value: (sign === "-" ? -1 : 1) * parseFloat(left.join(``) + `.` + right.join(``)) };
}, peg$c136 = function(sign, value) {
return { type: `number`, value: (sign === "-" ? -1 : 1) * parseInt(value.join(``)) };
}, peg$c137 = function(variable) {
return { type: `variable`, ...variable };
}, peg$c138 = function(name) {
return { type: `variable`, name };
}, peg$c139 = function(value) {
return value;
}, peg$c140 = "*", peg$c141 = peg$literalExpectation("*", false), peg$c142 = "/", peg$c143 = peg$literalExpectation("/", false), peg$c144 = function(left, op, right) {
return { type: op === `*` ? `multiplication` : `division`, right };
}, peg$c145 = function(left, rest) {
return rest.reduce((left2, right) => ({ left: left2, ...right }), left);
}, peg$c146 = function(left, op, right) {
return { type: op === `+` ? `addition` : `subtraction`, right };
}, peg$c147 = "$((", peg$c148 = peg$literalExpectation("$((", false), peg$c149 = "))", peg$c150 = peg$literalExpectation("))", false), peg$c151 = function(arithmetic) {
return arithmetic;
}, peg$c152 = "$(", peg$c153 = peg$literalExpectation("$(", false), peg$c154 = function(command) {
return command;
}, peg$c155 = "${", peg$c156 = peg$literalExpectation("${", false), peg$c157 = ":-", peg$c158 = peg$literalExpectation(":-", false), peg$c159 = function(name, arg) {
return { name, defaultValue: arg };
}, peg$c160 = ":-}", peg$c161 = peg$literalExpectation(":-}", false), peg$c162 = function(name) {
return { name, defaultValue: [] };
}, peg$c163 = ":+", peg$c164 = peg$literalExpectation(":+", false), peg$c165 = function(name, arg) {
return { name, alternativeValue: arg };
}, peg$c166 = ":+}", peg$c167 = peg$literalExpectation(":+}", false), peg$c168 = function(name) {
return { name, alternativeValue: [] };
}, peg$c169 = function(name) {
return { name };
}, peg$c170 = "$", peg$c171 = peg$literalExpectation("$", false), peg$c172 = function(pattern) {
return options.isGlobPattern(pattern);
}, peg$c173 = function(pattern) {
return pattern;
}, peg$c174 = /^[a-zA-Z0-9_]/, peg$c175 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false), peg$c176 = function() {
return text();
}, peg$c177 = /^[$@*?#a-zA-Z0-9_\-]/, peg$c178 = peg$classExpectation(["$", "@", "*", "?", "#", ["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false), peg$c179 = /^[()}<>$|&; \t"']/, peg$c180 = peg$classExpectation(["(", ")", "}", "<", ">", "$", "|", "&", ";", " ", " ", '"', "'"], false, false), peg$c181 = /^[<>&; \t"']/, peg$c182 = peg$classExpectation(["<", ">", "&", ";", " ", " ", '"', "'"], false, false), peg$c183 = /^[ \t]/, peg$c184 = peg$classExpectation([" ", " "], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
if ("startRule" in options) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
function expected(description, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildStructuredError(
[peg$otherExpectation(description)],
input.substring(peg$savedPos, peg$currPos),
location2
);
}
function error(message, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildSimpleError(message, location2);
}
function peg$literalExpectation(text2, ignoreCase) {
return { type: "literal", text: text2, ignoreCase };
}
function peg$classExpectation(parts, inverted, ignoreCase) {
return { type: "class", parts, inverted, ignoreCase };
}
function peg$anyExpectation() {
return { type: "any" };
}
function peg$endExpectation() {
return { type: "end" };
}
function peg$otherExpectation(description) {
return { type: "other", description };
}
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos], p;
if (details) {
return details;
} else {
p = pos - 1;
while (!peg$posDetailsCache[p]) {
p--;
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column
};
while (p < pos) {
if (input.charCodeAt(p) === 10) {
details.line++;
details.column = 1;
} else {
details.column++;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
function peg$computeLocation(startPos, endPos) {
var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
return {
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
}
function peg$fail(expected2) {
if (peg$currPos < peg$maxFailPos) {
return;
}
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected2);
}
function peg$buildSimpleError(message, location2) {
return new peg$SyntaxError(message, null, null, location2);
}
function peg$buildStructuredError(expected2, found, location2) {
return new peg$SyntaxError(
peg$SyntaxError.buildMessage(expected2, found),
expected2,
found,
location2
);
}
function peg$parseStart() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseShellLine();
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c0(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseShellLine() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parseCommandLine();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseS();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseS();
}
if (s2 !== peg$FAILED) {
s3 = peg$parseShellLineType();
if (s3 !== peg$FAILED) {
s4 = peg$parseShellLineThen();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c1(s1, s3, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseCommandLine();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseS();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseS();
}
if (s2 !== peg$FAILED) {
s3 = peg$parseShellLineType();
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c2(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parseShellLineThen() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseShellLine();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c3(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseShellLineType() {
var s0;
if (input.charCodeAt(peg$currPos) === 59) {
s0 = peg$c4;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c5);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 38) {
s0 = peg$c6;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c7);
}
}
}
return s0;
}
function peg$parseCommandLine() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseCommandChain();
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandLineThen();
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseCommandLineThen() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandLineType();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandLine();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseS();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseS();
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c9(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseCommandLineType() {
var s0;
if (input.substr(peg$currPos, 2) === peg$c10) {
s0 = peg$c10;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c11);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c12) {
s0 = peg$c12;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c13);
}
}
}
return s0;
}
function peg$parseCommandChain() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseCommand();
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandChainThen();
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c14(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseCommandChainThen() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandChainType();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandChain();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseS();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseS();
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c15(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseCommandChainType() {
var s0;
if (input.substr(peg$currPos, 2) === peg$c16) {
s0 = peg$c16;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c17);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s0 = peg$c18;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c19);
}
}
}
return s0;
}
function peg$parseVariableAssignment() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseEnvVariable();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s2 = peg$c20;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c21);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseStrictValueArgument();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c22(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseEnvVariable();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s2 = peg$c20;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c21);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c23(s1);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parseCommand() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s2 = peg$c24;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c25);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
s4 = peg$parseShellLine();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseS();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseS();
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c26;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c27);
}
}
if (s6 !== peg$FAILED) {
s7 = [];
s8 = peg$parseS();
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = peg$parseS();
}
if (s7 !== peg$FAILED) {
s8 = [];
s9 = peg$parseRedirectArgument();
while (s9 !== peg$FAILED) {
s8.push(s9);
s9 = peg$parseRedirectArgument();
}
if (s8 !== peg$FAILED) {
s9 = [];
s10 = peg$parseS();
while (s10 !== peg$FAILED) {
s9.push(s10);
s10 = peg$parseS();
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c28(s4, s8);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 123) {
s2 = peg$c29;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c30);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
s4 = peg$parseShellLine();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseS();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseS();
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s6 = peg$c31;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c32);
}
}
if (s6 !== peg$FAILED) {
s7 = [];
s8 = peg$parseS();
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = peg$parseS();
}
if (s7 !== peg$FAILED) {
s8 = [];
s9 = peg$parseRedirectArgument();
while (s9 !== peg$FAILED) {
s8.push(s9);
s9 = peg$parseRedirectArgument();
}
if (s8 !== peg$FAILED) {
s9 = [];
s10 = peg$parseS();
while (s10 !== peg$FAILED) {
s9.push(s10);
s10 = peg$parseS();
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c33(s4, s8);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseVariableAssignment();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseVariableAssignment();
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseArgument();
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseArgument();
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseS();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseS();
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c34(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseVariableAssignment();
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseVariableAssignment();
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c35(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
function peg$parseCommandString() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseValueArgument();
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseValueArgument();
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseS();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseS();
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c36(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseArgument() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseRedirectArgument();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c37(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseValueArgument();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c37(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parseRedirectArgument() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
if (peg$c38.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
s3 = peg$parseRedirectType();
if (s3 !== peg$FAILED) {
s4 = peg$parseValueArgument();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c40(s2, s3, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseRedirectType() {
var s0;
if (input.substr(peg$currPos, 2) === peg$c41) {
s0 = peg$c41;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c42);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c43) {
s0 = peg$c43;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c44);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 62) {
s0 = peg$c45;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c46);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c47) {
s0 = peg$c47;
peg$currPos += 3;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c48);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c49) {
s0 = peg$c49;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c50);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 60) {
s0 = peg$c51;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c52);
}
}
}
}
}
}
}
return s0;
}
function peg$parseValueArgument() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseS();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseS();
}
if (s1 !== peg$FAILED) {
s2 = peg$parseStrictValueArgument();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c37(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseStrictValueArgument() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseArgumentSegment();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseArgumentSegment();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c53(s1);
}
s0 = s1;
return s0;
}
function peg$parseArgumentSegment() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseCQuoteString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c54(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSglQuoteString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c54(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDblQuoteString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c54(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsePlainString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c54(s1);
}
s0 = s1;
}
}
}
return s0;
}
function peg$parseCQuoteString() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c55) {
s1 = peg$c55;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c56);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCQuoteStringText();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c57;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c59(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseSglQuoteString() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c57;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c58);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseSglQuoteStringText();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c57;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c59(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseDblQuoteString() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c60) {
s1 = peg$c60;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c61);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c62();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c63;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c64);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseDblQuoteStringSegment();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseDblQuoteStringSegment();
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c63;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c64);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c65(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parsePlainString() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parsePlainStringSegment();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parsePlainStringSegment();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c65(s1);
}
s0 = s1;
return s0;
}
function peg$parseDblQuoteStringSegment() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseArithmetic();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c66(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSubshell();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c67(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c68(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDblQuoteStringText();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c69(s1);
}
s0 = s1;
}
}
}
return s0;
}
function peg$parsePlainStringSegment() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseArithmetic();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c70(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSubshell();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c71(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c72(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseGlob();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c73(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsePlainStringText();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c69(s1);
}
s0 = s1;
}
}
}
}
return s0;
}
function peg$parseSglQuoteStringText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (peg$c74.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c75);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
if (peg$c74.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c75);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1);
}
s0 = s1;
return s0;
}
function peg$parseDblQuoteStringText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseDblQuoteEscapedChar();
if (s2 === peg$FAILED) {
if (peg$c77.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c78);
}
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseDblQuoteEscapedChar();
if (s2 === peg$FAILED) {
if (peg$c77.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c78);
}
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1);
}
s0 = s1;
return s0;
}
function peg$parseDblQuoteEscapedChar() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c79) {
s1 = peg$c79;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c80);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c81();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c82;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s1 !== peg$FAILED) {
if (peg$c84.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c85);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c86(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parseCQuoteStringText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCQuoteEscapedChar();
if (s2 === peg$FAILED) {
if (peg$c74.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c75);
}
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCQuoteEscapedChar();
if (s2 === peg$FAILED) {
if (peg$c74.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c75);
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1);
}
s0 = s1;
return s0;
}
function peg$parseCQuoteEscapedChar() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c87) {
s1 = peg$c87;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c88);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c89();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c90) {
s1 = peg$c90;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c91);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c92();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c82;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s1 !== peg$FAILED) {
if (peg$c93.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c94);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c95();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c96) {
s1 = peg$c96;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c97);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c98();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c99) {
s1 = peg$c99;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c100);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c101();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c102) {
s1 = peg$c102;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c103);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c104();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c105) {
s1 = peg$c105;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c106);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c107();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c108) {
s1 = peg$c108;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c109);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c110();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c82;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s1 !== peg$FAILED) {
if (peg$c111.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c112);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c86(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseHexCodeString();
}
}
}
}
}
}
}
}
}
return s0;
}
function peg$parseHexCodeString() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c82;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseHexCodeChar0();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c113(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c114) {
s1 = peg$c114;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c115);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$currPos;
s4 = peg$parseHexCodeChar0();
if (s4 !== peg$FAILED) {
s5 = peg$parseHexCodeChar();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = peg$parseHexCodeChar0();
}
if (s3 !== peg$FAILED) {
s2 = input.substring(s2, peg$currPos);
} else {
s2 = s3;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c113(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c116) {
s1 = peg$c116;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$currPos;
s4 = peg$parseHexCodeChar();
if (s4 !== peg$FAILED) {
s5 = peg$parseHexCodeChar();
if (s5 !== peg$FAILED) {
s6 = peg$parseHexCodeChar();
if (s6 !== peg$FAILED) {
s7 = peg$parseHexCodeChar();
if (s7 !== peg$FAILED) {
s4 = [s4, s5, s6, s7];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s2 = input.substring(s2, peg$currPos);
} else {
s2 = s3;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c113(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c118) {
s1 = peg$c118;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c119);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$currPos;
s4 = peg$parseHexCodeChar();
if (s4 !== peg$FAILED) {
s5 = peg$parseHexCodeChar();
if (s5 !== peg$FAILED) {
s6 = peg$parseHexCodeChar();
if (s6 !== peg$FAILED) {
s7 = peg$parseHexCodeChar();
if (s7 !== peg$FAILED) {
s8 = peg$parseHexCodeChar();
if (s8 !== peg$FAILED) {
s9 = peg$parseHexCodeChar();
if (s9 !== peg$FAILED) {
s10 = peg$parseHexCodeChar();
if (s10 !== peg$FAILED) {
s11 = peg$parseHexCodeChar();
if (s11 !== peg$FAILED) {
s4 = [s4, s5, s6, s7, s8, s9, s10, s11];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s2 = input.substring(s2, peg$currPos);
} else {
s2 = s3;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c120(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
function peg$parseHexCodeChar0() {
var s0;
if (peg$c121.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c122);
}
}
return s0;
}
function peg$parseHexCodeChar() {
var s0;
if (peg$c123.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c124);
}
}
return s0;
}
function peg$parsePlainStringText() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s3 = peg$c82;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c126) {
s3 = peg$c126;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c127);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c128();
}
s2 = s3;
if (s2 === peg$FAILED) {
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseSpecialShellChars();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s3 = peg$c82;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c126) {
s3 = peg$c126;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c127);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c128();
}
s2 = s3;
if (s2 === peg$FAILED) {
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseSpecialShellChars();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1);
}
s0 = s1;
return s0;
}
function peg$parseArithmeticPrimary() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 45) {
s1 = peg$c129;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c130);
}
}
if (s1 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 43) {
s1 = peg$c131;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c132);
}
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
s2 = [];
if (peg$c38.test(input.charAt(peg$currPos))) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
if (peg$c38.test(input.charAt(peg$currPos))) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 46) {
s3 = peg$c133;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c134);
}
}
if (s3 !== peg$FAILED) {
s4 = [];
if (peg$c38.test(input.charAt(peg$currPos))) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
if (peg$c38.test(input.charAt(peg$currPos))) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c135(s1, s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 45) {
s1 = peg$c129;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c130);
}
}
if (s1 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 43) {
s1 = peg$c131;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c132);
}
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
s2 = [];
if (peg$c38.test(input.charAt(peg$currPos))) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
if (peg$c38.test(input.charAt(peg$currPos))) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c136(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c137(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseIdentifier();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c138(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c24;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c25);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseS();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseS();
}
if (s2 !== peg$FAILED) {
s3 = peg$parseArithmeticExpression();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c26;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c27);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c139(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
return s0;
}
function peg$parseArithmeticTimesExpression() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseArithmeticPrimary();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 42) {
s5 = peg$c140;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c141);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s5 = peg$c142;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c143);
}
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$parseS();
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$parseS();
}
if (s6 !== peg$FAILED) {
s7 = peg$parseArithmeticPrimary();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c144(s1, s5, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 42) {
s5 = peg$c140;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c141);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s5 = peg$c142;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c143);
}
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$parseS();
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$parseS();
}
if (s6 !== peg$FAILED) {
s7 = peg$parseArithmeticPrimary();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c144(s1, s5, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c145(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseArithmeticExpression() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseArithmeticTimesExpression();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 43) {
s5 = peg$c131;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c132);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 45) {
s5 = peg$c129;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c130);
}
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$parseS();
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$parseS();
}
if (s6 !== peg$FAILED) {
s7 = peg$parseArithmeticTimesExpression();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c146(s1, s5, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 43) {
s5 = peg$c131;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c132);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 45) {
s5 = peg$c129;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c130);
}
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$parseS();
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$parseS();
}
if (s6 !== peg$FAILED) {
s7 = peg$parseArithmeticTimesExpression();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c146(s1, s5, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c145(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseArithmetic() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c147) {
s1 = peg$c147;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c148);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseS();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseS();
}
if (s2 !== peg$FAILED) {
s3 = peg$parseArithmeticExpression();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseS();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseS();
}
if (s4 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c149) {
s5 = peg$c149;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c150);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c151(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseSubshell() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c152) {
s1 = peg$c152;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c153);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseShellLine();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s3 = peg$c26;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c27);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c154(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseVariable() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c155) {
s1 = peg$c155;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c156);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c157) {
s3 = peg$c157;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandString();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c31;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c32);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c159(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c155) {
s1 = peg$c155;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c156);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c160) {
s3 = peg$c160;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c161);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c162(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c155) {
s1 = peg$c155;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c156);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c163) {
s3 = peg$c163;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c164);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandString();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c31;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c32);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c165(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c155) {
s1 = peg$c155;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c156);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c166) {
s3 = peg$c166;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c167);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c168(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c155) {
s1 = peg$c155;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c156);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s3 = peg$c31;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c32);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c169(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 36) {
s1 = peg$c170;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c171);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c169(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
return s0;
}
function peg$parseGlob() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseGlobText();
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$c172(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c173(s1);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseGlobText() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseGlobSpecialShellChars();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseGlobSpecialShellChars();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c125);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c86(s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1);
}
s0 = s1;
return s0;
}
function peg$parseEnvVariable() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (peg$c174.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c175);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (peg$c174.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c175);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c176();
}
s0 = s1;
return s0;
}
function peg$parseIdentifier() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (peg$c177.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c178);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (peg$c177.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c178);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c176();
}
s0 = s1;
return s0;
}
function peg$parseSpecialShellChars() {
var s0;
if (peg$c179.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c180);
}
}
return s0;
}
function peg$parseGlobSpecialShellChars() {
var s0;
if (peg$c181.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c182);
}
}
return s0;
}
function peg$parseS() {
var s0, s1;
s0 = [];
if (peg$c183.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c184);
}
}
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
if (peg$c183.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c184);
}
}
}
} else {
s0 = peg$FAILED;
}
return s0;
}
peg$result = peg$startRuleFunction();
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
peg$fail(peg$endExpectation());
}
throw peg$buildStructuredError(
peg$maxFailExpected,
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
);
}
}
module2.exports = {
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/shell.js
var require_shell2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/shell.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseShell = parseShell;
exports2.stringifyShellLine = stringifyShellLine;
exports2.stringifyShell = stringifyShellLine;
exports2.stringifyCommandLine = stringifyCommandLine;
exports2.stringifyCommandLineThen = stringifyCommandLineThen;
exports2.stringifyCommandChain = stringifyCommandChain;
exports2.stringifyCommandChainThen = stringifyCommandChainThen;
exports2.stringifyCommand = stringifyCommand;
exports2.stringifyEnvSegment = stringifyEnvSegment;
exports2.stringifyArgument = stringifyArgument;
exports2.stringifyRedirectArgument = stringifyRedirectArgument;
exports2.stringifyValueArgument = stringifyValueArgument;
exports2.stringifyArgumentSegment = stringifyArgumentSegment;
exports2.stringifyArithmeticExpression = stringifyArithmeticExpression;
exports2.stringifyShellLine = stringifyShellLine;
exports2.stringifyShell = stringifyShellLine;
var shell_1 = require_shell();
function parseShell(source, options = { isGlobPattern: () => false }) {
try {
return (0, shell_1.parse)(source, options);
} catch (error) {
if (error.location)
error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
throw error;
}
}
function stringifyShellLine(shellLine, { endSemicolon = false } = {}) {
return shellLine.map(({ command, type: type4 }, index2) => `${stringifyCommandLine(command)}${type4 === `;` ? index2 !== shellLine.length - 1 || endSemicolon ? `;` : `` : ` &`}`).join(` `);
}
function stringifyCommandLine(commandLine) {
return `${stringifyCommandChain(commandLine.chain)}${commandLine.then ? ` ${stringifyCommandLineThen(commandLine.then)}` : ``}`;
}
function stringifyCommandLineThen(commandLineThen) {
return `${commandLineThen.type} ${stringifyCommandLine(commandLineThen.line)}`;
}
function stringifyCommandChain(commandChain) {
return `${stringifyCommand(commandChain)}${commandChain.then ? ` ${stringifyCommandChainThen(commandChain.then)}` : ``}`;
}
function stringifyCommandChainThen(commandChainThen) {
return `${commandChainThen.type} ${stringifyCommandChain(commandChainThen.chain)}`;
}
function stringifyCommand(command) {
switch (command.type) {
case `command`:
return `${command.envs.length > 0 ? `${command.envs.map((env3) => stringifyEnvSegment(env3)).join(` `)} ` : ``}${command.args.map((argument) => stringifyArgument(argument)).join(` `)}`;
case `subshell`:
return `(${stringifyShellLine(command.subshell)})${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
case `group`:
return `{ ${stringifyShellLine(command.group, {
/* Bash compat */
endSemicolon: true
})} }${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
case `envs`:
return command.envs.map((env3) => stringifyEnvSegment(env3)).join(` `);
default:
throw new Error(`Unsupported command type: "${command.type}"`);
}
}
function stringifyEnvSegment(envSegment) {
return `${envSegment.name}=${envSegment.args[0] ? stringifyValueArgument(envSegment.args[0]) : ``}`;
}
function stringifyArgument(argument) {
switch (argument.type) {
case `redirection`:
return stringifyRedirectArgument(argument);
case `argument`:
return stringifyValueArgument(argument);
default:
throw new Error(`Unsupported argument type: "${argument.type}"`);
}
}
function stringifyRedirectArgument(argument) {
return `${argument.subtype} ${argument.args.map((argument2) => stringifyValueArgument(argument2)).join(` `)}`;
}
function stringifyValueArgument(argument) {
return argument.segments.map((segment) => stringifyArgumentSegment(segment)).join(``);
}
var ESCAPED_CONTROL_CHARS = /* @__PURE__ */ new Map([
[`\f`, `\\f`],
[`
`, `\\n`],
[`\r`, `\\r`],
[` `, `\\t`],
[`\v`, `\\v`],
[`\0`, `\\0`]
]);
var ESCAPED_DBL_CHARS = new Map([
[`\\`, `\\\\`],
[`$`, `\\$`],
[`"`, `\\"`],
...Array.from(ESCAPED_CONTROL_CHARS, ([c3, replacement]) => {
return [c3, `"$'${replacement}'"`];
})
]);
var getEscapedControlChar = (c3) => {
return ESCAPED_CONTROL_CHARS.get(c3) ?? `\\x${c3.charCodeAt(0).toString(16).padStart(2, `0`)}`;
};
var getEscapedDblChar = (match) => {
return ESCAPED_DBL_CHARS.get(match) ?? `"$'${getEscapedControlChar(match)}'"`;
};
function stringifyArgumentSegment(argumentSegment) {
const doubleQuoteIfRequested = (string, quote2) => quote2 ? `"${string}"` : string;
const quoteIfNeeded = (text) => {
if (text === ``)
return `''`;
if (!text.match(/[()}<>$|&;"'\n\t ]/))
return text;
if (!text.match(/['\t\p{C}]/u))
return `'${text}'`;
if (!text.match(/'/)) {
return `$'${text.replace(/[\t\p{C}]/u, getEscapedControlChar)}'`;
} else {
return `"${text.replace(/["$\t\p{C}]/u, getEscapedDblChar)}"`;
}
};
switch (argumentSegment.type) {
case `text`:
return quoteIfNeeded(argumentSegment.text);
case `glob`:
return argumentSegment.pattern;
case `shell`:
return doubleQuoteIfRequested(`$(${stringifyShellLine(argumentSegment.shell)})`, argumentSegment.quoted);
case `variable`:
return doubleQuoteIfRequested(typeof argumentSegment.defaultValue === `undefined` ? typeof argumentSegment.alternativeValue === `undefined` ? `\${${argumentSegment.name}}` : argumentSegment.alternativeValue.length === 0 ? `\${${argumentSegment.name}:+}` : `\${${argumentSegment.name}:+${argumentSegment.alternativeValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}` : argumentSegment.defaultValue.length === 0 ? `\${${argumentSegment.name}:-}` : `\${${argumentSegment.name}:-${argumentSegment.defaultValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}`, argumentSegment.quoted);
case `arithmetic`:
return `$(( ${stringifyArithmeticExpression(argumentSegment.arithmetic)} ))`;
default:
throw new Error(`Unsupported argument segment type: "${argumentSegment.type}"`);
}
}
function stringifyArithmeticExpression(argument) {
const getOperator = (type4) => {
switch (type4) {
case `addition`:
return `+`;
case `subtraction`:
return `-`;
case `multiplication`:
return `*`;
case `division`:
return `/`;
default:
throw new Error(`Can't extract operator from arithmetic expression of type "${type4}"`);
}
};
const parenthesizeIfRequested = (string, parenthesize) => parenthesize ? `( ${string} )` : string;
const stringifyAndParenthesizeIfNeeded = (expression) => (
// Right now we parenthesize all arithmetic operator expressions because it's easier
parenthesizeIfRequested(stringifyArithmeticExpression(expression), ![`number`, `variable`].includes(expression.type))
);
switch (argument.type) {
case `number`:
return String(argument.value);
case `variable`:
return argument.name;
default:
return `${stringifyAndParenthesizeIfNeeded(argument.left)} ${getOperator(argument.type)} ${stringifyAndParenthesizeIfNeeded(argument.right)}`;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js
var require_resolution = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js"(exports2, module2) {
"use strict";
function peg$subclass(child, parent) {
function ctor() {
this.constructor = child;
}
ctor.prototype = parent.prototype;
child.prototype = new ctor();
}
function peg$SyntaxError(message, expected, found, location) {
this.message = message;
this.expected = expected;
this.found = found;
this.location = location;
this.name = "SyntaxError";
if (typeof Error.captureStackTrace === "function") {
Error.captureStackTrace(this, peg$SyntaxError);
}
}
peg$subclass(peg$SyntaxError, Error);
peg$SyntaxError.buildMessage = function(expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: function(expectation) {
return '"' + literalEscape(expectation.text) + '"';
},
"class": function(expectation) {
var escapedParts = "", i4;
for (i4 = 0; i4 < expectation.parts.length; i4++) {
escapedParts += expectation.parts[i4] instanceof Array ? classEscape(expectation.parts[i4][0]) + "-" + classEscape(expectation.parts[i4][1]) : classEscape(expectation.parts[i4]);
}
return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
},
any: function(expectation) {
return "any character";
},
end: function(expectation) {
return "end of input";
},
other: function(expectation) {
return expectation.description;
}
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
function literalEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function classEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
function describeExpected(expected2) {
var descriptions = new Array(expected2.length), i4, j2;
for (i4 = 0; i4 < expected2.length; i4++) {
descriptions[i4] = describeExpectation(expected2[i4]);
}
descriptions.sort();
if (descriptions.length > 0) {
for (i4 = 1, j2 = 1; i4 < descriptions.length; i4++) {
if (descriptions[i4 - 1] !== descriptions[i4]) {
descriptions[j2] = descriptions[i4];
j2++;
}
}
descriptions.length = j2;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
function peg$parse(input, options) {
options = options !== void 0 ? options : {};
var peg$FAILED = {}, peg$startRuleFunctions = { resolution: peg$parseresolution }, peg$startRuleFunction = peg$parseresolution, peg$c0 = "/", peg$c1 = peg$literalExpectation("/", false), peg$c2 = function(from5, descriptor) {
return { from: from5, descriptor };
}, peg$c3 = function(descriptor) {
return { descriptor };
}, peg$c4 = "@", peg$c5 = peg$literalExpectation("@", false), peg$c6 = function(fullName, description) {
return { fullName, description };
}, peg$c7 = function(fullName) {
return { fullName };
}, peg$c8 = function() {
return text();
}, peg$c9 = /^[^\/@]/, peg$c10 = peg$classExpectation(["/", "@"], true, false), peg$c11 = /^[^\/]/, peg$c12 = peg$classExpectation(["/"], true, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
if ("startRule" in options) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
function expected(description, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildStructuredError(
[peg$otherExpectation(description)],
input.substring(peg$savedPos, peg$currPos),
location2
);
}
function error(message, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildSimpleError(message, location2);
}
function peg$literalExpectation(text2, ignoreCase) {
return { type: "literal", text: text2, ignoreCase };
}
function peg$classExpectation(parts, inverted, ignoreCase) {
return { type: "class", parts, inverted, ignoreCase };
}
function peg$anyExpectation() {
return { type: "any" };
}
function peg$endExpectation() {
return { type: "end" };
}
function peg$otherExpectation(description) {
return { type: "other", description };
}
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos], p;
if (details) {
return details;
} else {
p = pos - 1;
while (!peg$posDetailsCache[p]) {
p--;
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column
};
while (p < pos) {
if (input.charCodeAt(p) === 10) {
details.line++;
details.column = 1;
} else {
details.column++;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
function peg$computeLocation(startPos, endPos) {
var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
return {
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
}
function peg$fail(expected2) {
if (peg$currPos < peg$maxFailPos) {
return;
}
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected2);
}
function peg$buildSimpleError(message, location2) {
return new peg$SyntaxError(message, null, null, location2);
}
function peg$buildStructuredError(expected2, found, location2) {
return new peg$SyntaxError(
peg$SyntaxError.buildMessage(expected2, found),
expected2,
found,
location2
);
}
function peg$parseresolution() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsespecifier();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s2 = peg$c0;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c1);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parsespecifier();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c2(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsespecifier();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c3(s1);
}
s0 = s1;
}
return s0;
}
function peg$parsespecifier() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsefullName();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 64) {
s2 = peg$c4;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c5);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parsedescription();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c6(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsefullName();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c7(s1);
}
s0 = s1;
}
return s0;
}
function peg$parsefullName() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c4;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c5);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseident();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s3 = peg$c0;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c1);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseident();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseident();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8();
}
s0 = s1;
}
return s0;
}
function peg$parseident() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (peg$c9.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c10);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (peg$c9.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c10);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8();
}
s0 = s1;
return s0;
}
function peg$parsedescription() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (peg$c11.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c12);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (peg$c11.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c12);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8();
}
s0 = s1;
return s0;
}
peg$result = peg$startRuleFunction();
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
peg$fail(peg$endExpectation());
}
throw peg$buildStructuredError(
peg$maxFailExpected,
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
);
}
}
module2.exports = {
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/resolution.js
var require_resolution2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/resolution.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseResolution = parseResolution;
exports2.stringifyResolution = stringifyResolution;
var resolution_1 = require_resolution();
function parseResolution(source) {
const legacyResolution = source.match(/^\*{1,2}\/(.*)/);
if (legacyResolution)
throw new Error(`The override for '${source}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${legacyResolution[1]}' instead.`);
try {
return (0, resolution_1.parse)(source);
} catch (error) {
if (error.location)
error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
throw error;
}
}
function stringifyResolution(resolution) {
let str2 = ``;
if (resolution.from) {
str2 += resolution.from.fullName;
if (resolution.from.description)
str2 += `@${resolution.from.description}`;
str2 += `/`;
}
str2 += resolution.descriptor.fullName;
if (resolution.descriptor.description)
str2 += `@${resolution.descriptor.description}`;
return str2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/common.js
var require_common = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/common.js"(exports2, module2) {
"use strict";
function isNothing2(subject) {
return typeof subject === "undefined" || subject === null;
}
function isObject4(subject) {
return typeof subject === "object" && subject !== null;
}
function toArray2(sequence) {
if (Array.isArray(sequence)) return sequence;
else if (isNothing2(sequence)) return [];
return [sequence];
}
function extend3(target2, source) {
var index2, length, key, sourceKeys;
if (source) {
sourceKeys = Object.keys(source);
for (index2 = 0, length = sourceKeys.length; index2 < length; index2 += 1) {
key = sourceKeys[index2];
target2[key] = source[key];
}
}
return target2;
}
function repeat4(string, count2) {
var result2 = "", cycle;
for (cycle = 0; cycle < count2; cycle += 1) {
result2 += string;
}
return result2;
}
function isNegativeZero2(number) {
return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
}
module2.exports.isNothing = isNothing2;
module2.exports.isObject = isObject4;
module2.exports.toArray = toArray2;
module2.exports.repeat = repeat4;
module2.exports.isNegativeZero = isNegativeZero2;
module2.exports.extend = extend3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/exception.js
var require_exception = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/exception.js"(exports2, module2) {
"use strict";
function YAMLException2(reason, mark) {
Error.call(this);
this.name = "YAMLException";
this.reason = reason;
this.mark = mark;
this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : "");
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = new Error().stack || "";
}
}
YAMLException2.prototype = Object.create(Error.prototype);
YAMLException2.prototype.constructor = YAMLException2;
YAMLException2.prototype.toString = function toString4(compact) {
var result2 = this.name + ": ";
result2 += this.reason || "(unknown reason)";
if (!compact && this.mark) {
result2 += " " + this.mark.toString();
}
return result2;
};
module2.exports = YAMLException2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/mark.js
var require_mark = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/mark.js"(exports2, module2) {
"use strict";
var common4 = require_common();
function Mark(name, buffer3, position3, line, column) {
this.name = name;
this.buffer = buffer3;
this.position = position3;
this.line = line;
this.column = column;
}
Mark.prototype.getSnippet = function getSnippet(indent, maxLength) {
var head2, start, tail2, end, snippet2;
if (!this.buffer) return null;
indent = indent || 4;
maxLength = maxLength || 75;
head2 = "";
start = this.position;
while (start > 0 && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) {
start -= 1;
if (this.position - start > maxLength / 2 - 1) {
head2 = " ... ";
start += 5;
break;
}
}
tail2 = "";
end = this.position;
while (end < this.buffer.length && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) {
end += 1;
if (end - this.position > maxLength / 2 - 1) {
tail2 = " ... ";
end -= 5;
break;
}
}
snippet2 = this.buffer.slice(start, end);
return common4.repeat(" ", indent) + head2 + snippet2 + tail2 + "\n" + common4.repeat(" ", indent + this.position - start + head2.length) + "^";
};
Mark.prototype.toString = function toString4(compact) {
var snippet2, where = "";
if (this.name) {
where += 'in "' + this.name + '" ';
}
where += "at line " + (this.line + 1) + ", column " + (this.column + 1);
if (!compact) {
snippet2 = this.getSnippet();
if (snippet2) {
where += ":\n" + snippet2;
}
}
return where;
};
module2.exports = Mark;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type.js
var require_type = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type.js"(exports2, module2) {
"use strict";
var YAMLException2 = require_exception();
var TYPE_CONSTRUCTOR_OPTIONS2 = [
"kind",
"resolve",
"construct",
"instanceOf",
"predicate",
"represent",
"defaultStyle",
"styleAliases"
];
var YAML_NODE_KINDS2 = [
"scalar",
"sequence",
"mapping"
];
function compileStyleAliases2(map26) {
var result2 = {};
if (map26 !== null) {
Object.keys(map26).forEach(function(style) {
map26[style].forEach(function(alias) {
result2[String(alias)] = style;
});
});
}
return result2;
}
function Type2(tag, options) {
options = options || {};
Object.keys(options).forEach(function(name) {
if (TYPE_CONSTRUCTOR_OPTIONS2.indexOf(name) === -1) {
throw new YAMLException2('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
}
});
this.tag = tag;
this.kind = options["kind"] || null;
this.resolve = options["resolve"] || function() {
return true;
};
this.construct = options["construct"] || function(data) {
return data;
};
this.instanceOf = options["instanceOf"] || null;
this.predicate = options["predicate"] || null;
this.represent = options["represent"] || null;
this.defaultStyle = options["defaultStyle"] || null;
this.styleAliases = compileStyleAliases2(options["styleAliases"] || null);
if (YAML_NODE_KINDS2.indexOf(this.kind) === -1) {
throw new YAMLException2('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
}
}
module2.exports = Type2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema.js
var require_schema = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema.js"(exports2, module2) {
"use strict";
var common4 = require_common();
var YAMLException2 = require_exception();
var Type2 = require_type();
function compileList2(schema2, name, result2) {
var exclude = [];
schema2.include.forEach(function(includedSchema) {
result2 = compileList2(includedSchema, name, result2);
});
schema2[name].forEach(function(currentType) {
result2.forEach(function(previousType, previousIndex) {
if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {
exclude.push(previousIndex);
}
});
result2.push(currentType);
});
return result2.filter(function(type4, index2) {
return exclude.indexOf(index2) === -1;
});
}
function compileMap2() {
var result2 = {
scalar: {},
sequence: {},
mapping: {},
fallback: {}
}, index2, length;
function collectType(type4) {
result2[type4.kind][type4.tag] = result2["fallback"][type4.tag] = type4;
}
for (index2 = 0, length = arguments.length; index2 < length; index2 += 1) {
arguments[index2].forEach(collectType);
}
return result2;
}
function Schema2(definition) {
this.include = definition.include || [];
this.implicit = definition.implicit || [];
this.explicit = definition.explicit || [];
this.implicit.forEach(function(type4) {
if (type4.loadKind && type4.loadKind !== "scalar") {
throw new YAMLException2("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
}
});
this.compiledImplicit = compileList2(this, "implicit", []);
this.compiledExplicit = compileList2(this, "explicit", []);
this.compiledTypeMap = compileMap2(this.compiledImplicit, this.compiledExplicit);
}
Schema2.DEFAULT = null;
Schema2.create = function createSchema() {
var schemas, types3;
switch (arguments.length) {
case 1:
schemas = Schema2.DEFAULT;
types3 = arguments[0];
break;
case 2:
schemas = arguments[0];
types3 = arguments[1];
break;
default:
throw new YAMLException2("Wrong number of arguments for Schema.create function");
}
schemas = common4.toArray(schemas);
types3 = common4.toArray(types3);
if (!schemas.every(function(schema2) {
return schema2 instanceof Schema2;
})) {
throw new YAMLException2("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");
}
if (!types3.every(function(type4) {
return type4 instanceof Type2;
})) {
throw new YAMLException2("Specified list of YAML types (or a single Type object) contains a non-Type object.");
}
return new Schema2({
include: schemas,
explicit: types3
});
};
module2.exports = Schema2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/str.js
var require_str = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/str.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
module2.exports = new Type2("tag:yaml.org,2002:str", {
kind: "scalar",
construct: function(data) {
return data !== null ? data : "";
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/seq.js
var require_seq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/seq.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
module2.exports = new Type2("tag:yaml.org,2002:seq", {
kind: "sequence",
construct: function(data) {
return data !== null ? data : [];
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/map.js
var require_map = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/map.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
module2.exports = new Type2("tag:yaml.org,2002:map", {
kind: "mapping",
construct: function(data) {
return data !== null ? data : {};
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js
var require_failsafe = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js"(exports2, module2) {
"use strict";
var Schema2 = require_schema();
module2.exports = new Schema2({
explicit: [
require_str(),
require_seq(),
require_map()
]
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/null.js
var require_null = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/null.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
function resolveYamlNull2(data) {
if (data === null) return true;
var max4 = data.length;
return max4 === 1 && data === "~" || max4 === 4 && (data === "null" || data === "Null" || data === "NULL");
}
function constructYamlNull2() {
return null;
}
function isNull2(object) {
return object === null;
}
module2.exports = new Type2("tag:yaml.org,2002:null", {
kind: "scalar",
resolve: resolveYamlNull2,
construct: constructYamlNull2,
predicate: isNull2,
represent: {
canonical: function() {
return "~";
},
lowercase: function() {
return "null";
},
uppercase: function() {
return "NULL";
},
camelcase: function() {
return "Null";
}
},
defaultStyle: "lowercase"
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/bool.js
var require_bool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/bool.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
function resolveYamlBoolean2(data) {
if (data === null) return false;
var max4 = data.length;
return max4 === 4 && (data === "true" || data === "True" || data === "TRUE") || max4 === 5 && (data === "false" || data === "False" || data === "FALSE");
}
function constructYamlBoolean2(data) {
return data === "true" || data === "True" || data === "TRUE";
}
function isBoolean2(object) {
return Object.prototype.toString.call(object) === "[object Boolean]";
}
module2.exports = new Type2("tag:yaml.org,2002:bool", {
kind: "scalar",
resolve: resolveYamlBoolean2,
construct: constructYamlBoolean2,
predicate: isBoolean2,
represent: {
lowercase: function(object) {
return object ? "true" : "false";
},
uppercase: function(object) {
return object ? "TRUE" : "FALSE";
},
camelcase: function(object) {
return object ? "True" : "False";
}
},
defaultStyle: "lowercase"
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/int.js
var require_int = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/int.js"(exports2, module2) {
"use strict";
var common4 = require_common();
var Type2 = require_type();
function isHexCode2(c3) {
return 48 <= c3 && c3 <= 57 || 65 <= c3 && c3 <= 70 || 97 <= c3 && c3 <= 102;
}
function isOctCode2(c3) {
return 48 <= c3 && c3 <= 55;
}
function isDecCode2(c3) {
return 48 <= c3 && c3 <= 57;
}
function resolveYamlInteger2(data) {
if (data === null) return false;
var max4 = data.length, index2 = 0, hasDigits = false, ch;
if (!max4) return false;
ch = data[index2];
if (ch === "-" || ch === "+") {
ch = data[++index2];
}
if (ch === "0") {
if (index2 + 1 === max4) return true;
ch = data[++index2];
if (ch === "b") {
index2++;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (ch !== "0" && ch !== "1") return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
if (ch === "x") {
index2++;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (!isHexCode2(data.charCodeAt(index2))) return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (!isOctCode2(data.charCodeAt(index2))) return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
if (ch === "_") return false;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (ch === ":") break;
if (!isDecCode2(data.charCodeAt(index2))) {
return false;
}
hasDigits = true;
}
if (!hasDigits || ch === "_") return false;
if (ch !== ":") return true;
return /^(:[0-5]?[0-9])+$/.test(data.slice(index2));
}
function constructYamlInteger2(data) {
var value = data, sign = 1, ch, base, digits = [];
if (value.indexOf("_") !== -1) {
value = value.replace(/_/g, "");
}
ch = value[0];
if (ch === "-" || ch === "+") {
if (ch === "-") sign = -1;
value = value.slice(1);
ch = value[0];
}
if (value === "0") return 0;
if (ch === "0") {
if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
if (value[1] === "x") return sign * parseInt(value, 16);
return sign * parseInt(value, 8);
}
if (value.indexOf(":") !== -1) {
value.split(":").forEach(function(v) {
digits.unshift(parseInt(v, 10));
});
value = 0;
base = 1;
digits.forEach(function(d3) {
value += d3 * base;
base *= 60;
});
return sign * value;
}
return sign * parseInt(value, 10);
}
function isInteger2(object) {
return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common4.isNegativeZero(object));
}
module2.exports = new Type2("tag:yaml.org,2002:int", {
kind: "scalar",
resolve: resolveYamlInteger2,
construct: constructYamlInteger2,
predicate: isInteger2,
represent: {
binary: function(obj) {
return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
},
octal: function(obj) {
return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1);
},
decimal: function(obj) {
return obj.toString(10);
},
/* eslint-disable max-len */
hexadecimal: function(obj) {
return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
}
},
defaultStyle: "decimal",
styleAliases: {
binary: [2, "bin"],
octal: [8, "oct"],
decimal: [10, "dec"],
hexadecimal: [16, "hex"]
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/float.js
var require_float = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/float.js"(exports2, module2) {
"use strict";
var common4 = require_common();
var Type2 = require_type();
var YAML_FLOAT_PATTERN2 = new RegExp(
// 2.5e4, 2.5 and integers
"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
);
function resolveYamlFloat2(data) {
if (data === null) return false;
if (!YAML_FLOAT_PATTERN2.test(data) || // Quick hack to not allow integers end with `_`
// Probably should update regexp & check speed
data[data.length - 1] === "_") {
return false;
}
return true;
}
function constructYamlFloat2(data) {
var value, sign, base, digits;
value = data.replace(/_/g, "").toLowerCase();
sign = value[0] === "-" ? -1 : 1;
digits = [];
if ("+-".indexOf(value[0]) >= 0) {
value = value.slice(1);
}
if (value === ".inf") {
return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
} else if (value === ".nan") {
return NaN;
} else if (value.indexOf(":") >= 0) {
value.split(":").forEach(function(v) {
digits.unshift(parseFloat(v, 10));
});
value = 0;
base = 1;
digits.forEach(function(d3) {
value += d3 * base;
base *= 60;
});
return sign * value;
}
return sign * parseFloat(value, 10);
}
var SCIENTIFIC_WITHOUT_DOT2 = /^[-+]?[0-9]+e/;
function representYamlFloat2(object, style) {
var res;
if (isNaN(object)) {
switch (style) {
case "lowercase":
return ".nan";
case "uppercase":
return ".NAN";
case "camelcase":
return ".NaN";
}
} else if (Number.POSITIVE_INFINITY === object) {
switch (style) {
case "lowercase":
return ".inf";
case "uppercase":
return ".INF";
case "camelcase":
return ".Inf";
}
} else if (Number.NEGATIVE_INFINITY === object) {
switch (style) {
case "lowercase":
return "-.inf";
case "uppercase":
return "-.INF";
case "camelcase":
return "-.Inf";
}
} else if (common4.isNegativeZero(object)) {
return "-0.0";
}
res = object.toString(10);
return SCIENTIFIC_WITHOUT_DOT2.test(res) ? res.replace("e", ".e") : res;
}
function isFloat2(object) {
return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common4.isNegativeZero(object));
}
module2.exports = new Type2("tag:yaml.org,2002:float", {
kind: "scalar",
resolve: resolveYamlFloat2,
construct: constructYamlFloat2,
predicate: isFloat2,
represent: representYamlFloat2,
defaultStyle: "lowercase"
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/json.js
var require_json = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/json.js"(exports2, module2) {
"use strict";
var Schema2 = require_schema();
module2.exports = new Schema2({
include: [
require_failsafe()
],
implicit: [
require_null(),
require_bool(),
require_int(),
require_float()
]
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/core.js
var require_core = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/core.js"(exports2, module2) {
"use strict";
var Schema2 = require_schema();
module2.exports = new Schema2({
include: [
require_json()
]
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/timestamp.js
var require_timestamp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/timestamp.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
var YAML_DATE_REGEXP2 = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
);
var YAML_TIMESTAMP_REGEXP2 = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
);
function resolveYamlTimestamp2(data) {
if (data === null) return false;
if (YAML_DATE_REGEXP2.exec(data) !== null) return true;
if (YAML_TIMESTAMP_REGEXP2.exec(data) !== null) return true;
return false;
}
function constructYamlTimestamp2(data) {
var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
match = YAML_DATE_REGEXP2.exec(data);
if (match === null) match = YAML_TIMESTAMP_REGEXP2.exec(data);
if (match === null) throw new Error("Date resolve error");
year = +match[1];
month = +match[2] - 1;
day = +match[3];
if (!match[4]) {
return new Date(Date.UTC(year, month, day));
}
hour = +match[4];
minute = +match[5];
second = +match[6];
if (match[7]) {
fraction = match[7].slice(0, 3);
while (fraction.length < 3) {
fraction += "0";
}
fraction = +fraction;
}
if (match[9]) {
tz_hour = +match[10];
tz_minute = +(match[11] || 0);
delta = (tz_hour * 60 + tz_minute) * 6e4;
if (match[9] === "-") delta = -delta;
}
date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
if (delta) date.setTime(date.getTime() - delta);
return date;
}
function representYamlTimestamp2(object) {
return object.toISOString();
}
module2.exports = new Type2("tag:yaml.org,2002:timestamp", {
kind: "scalar",
resolve: resolveYamlTimestamp2,
construct: constructYamlTimestamp2,
instanceOf: Date,
represent: representYamlTimestamp2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/merge.js
var require_merge = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/merge.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
function resolveYamlMerge2(data) {
return data === "<<" || data === null;
}
module2.exports = new Type2("tag:yaml.org,2002:merge", {
kind: "scalar",
resolve: resolveYamlMerge2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/binary.js
var require_binary = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/binary.js"(exports2, module2) {
"use strict";
var NodeBuffer;
try {
_require = __require;
NodeBuffer = _require("buffer").Buffer;
} catch (__) {
}
var _require;
var Type2 = require_type();
var BASE64_MAP2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
function resolveYamlBinary2(data) {
if (data === null) return false;
var code, idx, bitlen = 0, max4 = data.length, map26 = BASE64_MAP2;
for (idx = 0; idx < max4; idx++) {
code = map26.indexOf(data.charAt(idx));
if (code > 64) continue;
if (code < 0) return false;
bitlen += 6;
}
return bitlen % 8 === 0;
}
function constructYamlBinary2(data) {
var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max4 = input.length, map26 = BASE64_MAP2, bits2 = 0, result2 = [];
for (idx = 0; idx < max4; idx++) {
if (idx % 4 === 0 && idx) {
result2.push(bits2 >> 16 & 255);
result2.push(bits2 >> 8 & 255);
result2.push(bits2 & 255);
}
bits2 = bits2 << 6 | map26.indexOf(input.charAt(idx));
}
tailbits = max4 % 4 * 6;
if (tailbits === 0) {
result2.push(bits2 >> 16 & 255);
result2.push(bits2 >> 8 & 255);
result2.push(bits2 & 255);
} else if (tailbits === 18) {
result2.push(bits2 >> 10 & 255);
result2.push(bits2 >> 2 & 255);
} else if (tailbits === 12) {
result2.push(bits2 >> 4 & 255);
}
if (NodeBuffer) {
return NodeBuffer.from ? NodeBuffer.from(result2) : new NodeBuffer(result2);
}
return result2;
}
function representYamlBinary2(object) {
var result2 = "", bits2 = 0, idx, tail2, max4 = object.length, map26 = BASE64_MAP2;
for (idx = 0; idx < max4; idx++) {
if (idx % 3 === 0 && idx) {
result2 += map26[bits2 >> 18 & 63];
result2 += map26[bits2 >> 12 & 63];
result2 += map26[bits2 >> 6 & 63];
result2 += map26[bits2 & 63];
}
bits2 = (bits2 << 8) + object[idx];
}
tail2 = max4 % 3;
if (tail2 === 0) {
result2 += map26[bits2 >> 18 & 63];
result2 += map26[bits2 >> 12 & 63];
result2 += map26[bits2 >> 6 & 63];
result2 += map26[bits2 & 63];
} else if (tail2 === 2) {
result2 += map26[bits2 >> 10 & 63];
result2 += map26[bits2 >> 4 & 63];
result2 += map26[bits2 << 2 & 63];
result2 += map26[64];
} else if (tail2 === 1) {
result2 += map26[bits2 >> 2 & 63];
result2 += map26[bits2 << 4 & 63];
result2 += map26[64];
result2 += map26[64];
}
return result2;
}
function isBinary2(object) {
return NodeBuffer && NodeBuffer.isBuffer(object);
}
module2.exports = new Type2("tag:yaml.org,2002:binary", {
kind: "scalar",
resolve: resolveYamlBinary2,
construct: constructYamlBinary2,
predicate: isBinary2,
represent: representYamlBinary2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/omap.js
var require_omap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/omap.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
var _hasOwnProperty2 = Object.prototype.hasOwnProperty;
var _toString3 = Object.prototype.toString;
function resolveYamlOmap2(data) {
if (data === null) return true;
var objectKeys = [], index2, length, pair, pairKey, pairHasKey, object = data;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
pairHasKey = false;
if (_toString3.call(pair) !== "[object Object]") return false;
for (pairKey in pair) {
if (_hasOwnProperty2.call(pair, pairKey)) {
if (!pairHasKey) pairHasKey = true;
else return false;
}
}
if (!pairHasKey) return false;
if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
else return false;
}
return true;
}
function constructYamlOmap2(data) {
return data !== null ? data : [];
}
module2.exports = new Type2("tag:yaml.org,2002:omap", {
kind: "sequence",
resolve: resolveYamlOmap2,
construct: constructYamlOmap2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/pairs.js
var require_pairs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/pairs.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
var _toString3 = Object.prototype.toString;
function resolveYamlPairs2(data) {
if (data === null) return true;
var index2, length, pair, keys4, result2, object = data;
result2 = new Array(object.length);
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
if (_toString3.call(pair) !== "[object Object]") return false;
keys4 = Object.keys(pair);
if (keys4.length !== 1) return false;
result2[index2] = [keys4[0], pair[keys4[0]]];
}
return true;
}
function constructYamlPairs2(data) {
if (data === null) return [];
var index2, length, pair, keys4, result2, object = data;
result2 = new Array(object.length);
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
keys4 = Object.keys(pair);
result2[index2] = [keys4[0], pair[keys4[0]]];
}
return result2;
}
module2.exports = new Type2("tag:yaml.org,2002:pairs", {
kind: "sequence",
resolve: resolveYamlPairs2,
construct: constructYamlPairs2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/set.js
var require_set = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/set.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
var _hasOwnProperty2 = Object.prototype.hasOwnProperty;
function resolveYamlSet2(data) {
if (data === null) return true;
var key, object = data;
for (key in object) {
if (_hasOwnProperty2.call(object, key)) {
if (object[key] !== null) return false;
}
}
return true;
}
function constructYamlSet2(data) {
return data !== null ? data : {};
}
module2.exports = new Type2("tag:yaml.org,2002:set", {
kind: "mapping",
resolve: resolveYamlSet2,
construct: constructYamlSet2
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js
var require_default_safe = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js"(exports2, module2) {
"use strict";
var Schema2 = require_schema();
module2.exports = new Schema2({
include: [
require_core()
],
implicit: [
require_timestamp(),
require_merge()
],
explicit: [
require_binary(),
require_omap(),
require_pairs(),
require_set()
]
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js
var require_undefined = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
function resolveJavascriptUndefined() {
return true;
}
function constructJavascriptUndefined() {
return void 0;
}
function representJavascriptUndefined() {
return "";
}
function isUndefined(object) {
return typeof object === "undefined";
}
module2.exports = new Type2("tag:yaml.org,2002:js/undefined", {
kind: "scalar",
resolve: resolveJavascriptUndefined,
construct: constructJavascriptUndefined,
predicate: isUndefined,
represent: representJavascriptUndefined
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
var require_regexp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js"(exports2, module2) {
"use strict";
var Type2 = require_type();
function resolveJavascriptRegExp(data) {
if (data === null) return false;
if (data.length === 0) return false;
var regexp = data, tail2 = /\/([gim]*)$/.exec(data), modifiers = "";
if (regexp[0] === "/") {
if (tail2) modifiers = tail2[1];
if (modifiers.length > 3) return false;
if (regexp[regexp.length - modifiers.length - 1] !== "/") return false;
}
return true;
}
function constructJavascriptRegExp(data) {
var regexp = data, tail2 = /\/([gim]*)$/.exec(data), modifiers = "";
if (regexp[0] === "/") {
if (tail2) modifiers = tail2[1];
regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
}
return new RegExp(regexp, modifiers);
}
function representJavascriptRegExp(object) {
var result2 = "/" + object.source + "/";
if (object.global) result2 += "g";
if (object.multiline) result2 += "m";
if (object.ignoreCase) result2 += "i";
return result2;
}
function isRegExp(object) {
return Object.prototype.toString.call(object) === "[object RegExp]";
}
module2.exports = new Type2("tag:yaml.org,2002:js/regexp", {
kind: "scalar",
resolve: resolveJavascriptRegExp,
construct: constructJavascriptRegExp,
predicate: isRegExp,
represent: representJavascriptRegExp
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/function.js
var require_function = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/type/js/function.js"(exports2, module2) {
"use strict";
var esprima;
try {
_require = __require;
esprima = _require("esprima");
} catch (_) {
if (typeof window !== "undefined") esprima = window.esprima;
}
var _require;
var Type2 = require_type();
function resolveJavascriptFunction(data) {
if (data === null) return false;
try {
var source = "(" + data + ")", ast = esprima.parse(source, { range: true });
if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
return false;
}
return true;
} catch (err2) {
return false;
}
}
function constructJavascriptFunction(data) {
var source = "(" + data + ")", ast = esprima.parse(source, { range: true }), params = [], body;
if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
throw new Error("Failed to resolve function");
}
ast.body[0].expression.params.forEach(function(param) {
params.push(param.name);
});
body = ast.body[0].expression.body.range;
if (ast.body[0].expression.body.type === "BlockStatement") {
return new Function(params, source.slice(body[0] + 1, body[1] - 1));
}
return new Function(params, "return " + source.slice(body[0], body[1]));
}
function representJavascriptFunction(object) {
return object.toString();
}
function isFunction(object) {
return Object.prototype.toString.call(object) === "[object Function]";
}
module2.exports = new Type2("tag:yaml.org,2002:js/function", {
kind: "scalar",
resolve: resolveJavascriptFunction,
construct: constructJavascriptFunction,
predicate: isFunction,
represent: representJavascriptFunction
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/default_full.js
var require_default_full = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/schema/default_full.js"(exports2, module2) {
"use strict";
var Schema2 = require_schema();
module2.exports = Schema2.DEFAULT = new Schema2({
include: [
require_default_safe()
],
explicit: [
require_undefined(),
require_regexp(),
require_function()
]
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/loader.js
var require_loader = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/loader.js"(exports2, module2) {
"use strict";
var common4 = require_common();
var YAMLException2 = require_exception();
var Mark = require_mark();
var DEFAULT_SAFE_SCHEMA = require_default_safe();
var DEFAULT_FULL_SCHEMA = require_default_full();
var _hasOwnProperty2 = Object.prototype.hasOwnProperty;
var CONTEXT_FLOW_IN2 = 1;
var CONTEXT_FLOW_OUT2 = 2;
var CONTEXT_BLOCK_IN2 = 3;
var CONTEXT_BLOCK_OUT2 = 4;
var CHOMPING_CLIP2 = 1;
var CHOMPING_STRIP2 = 2;
var CHOMPING_KEEP2 = 3;
var PATTERN_NON_PRINTABLE2 = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
var PATTERN_NON_ASCII_LINE_BREAKS2 = /[\x85\u2028\u2029]/;
var PATTERN_FLOW_INDICATORS2 = /[,\[\]\{\}]/;
var PATTERN_TAG_HANDLE2 = /^(?:!|!!|![a-z\-]+!)$/i;
var PATTERN_TAG_URI2 = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
function _class2(obj) {
return Object.prototype.toString.call(obj);
}
function is_EOL2(c3) {
return c3 === 10 || c3 === 13;
}
function is_WHITE_SPACE2(c3) {
return c3 === 9 || c3 === 32;
}
function is_WS_OR_EOL2(c3) {
return c3 === 9 || c3 === 32 || c3 === 10 || c3 === 13;
}
function is_FLOW_INDICATOR2(c3) {
return c3 === 44 || c3 === 91 || c3 === 93 || c3 === 123 || c3 === 125;
}
function fromHexCode2(c3) {
var lc2;
if (48 <= c3 && c3 <= 57) {
return c3 - 48;
}
lc2 = c3 | 32;
if (97 <= lc2 && lc2 <= 102) {
return lc2 - 97 + 10;
}
return -1;
}
function escapedHexLen2(c3) {
if (c3 === 120) {
return 2;
}
if (c3 === 117) {
return 4;
}
if (c3 === 85) {
return 8;
}
return 0;
}
function fromDecimalCode2(c3) {
if (48 <= c3 && c3 <= 57) {
return c3 - 48;
}
return -1;
}
function simpleEscapeSequence2(c3) {
return c3 === 48 ? "\0" : c3 === 97 ? "\x07" : c3 === 98 ? "\b" : c3 === 116 ? " " : c3 === 9 ? " " : c3 === 110 ? "\n" : c3 === 118 ? "\v" : c3 === 102 ? "\f" : c3 === 114 ? "\r" : c3 === 101 ? "\x1B" : c3 === 32 ? " " : c3 === 34 ? '"' : c3 === 47 ? "/" : c3 === 92 ? "\\" : c3 === 78 ? "\x85" : c3 === 95 ? "\xA0" : c3 === 76 ? "\u2028" : c3 === 80 ? "\u2029" : "";
}
function charFromCodepoint2(c3) {
if (c3 <= 65535) {
return String.fromCharCode(c3);
}
return String.fromCharCode(
(c3 - 65536 >> 10) + 55296,
(c3 - 65536 & 1023) + 56320
);
}
function setProperty2(object, key, value) {
if (key === "__proto__") {
Object.defineProperty(object, key, {
configurable: true,
enumerable: true,
writable: true,
value
});
} else {
object[key] = value;
}
}
var simpleEscapeCheck2 = new Array(256);
var simpleEscapeMap2 = new Array(256);
for (i4 = 0; i4 < 256; i4++) {
simpleEscapeCheck2[i4] = simpleEscapeSequence2(i4) ? 1 : 0;
simpleEscapeMap2[i4] = simpleEscapeSequence2(i4);
}
var i4;
function State2(input, options) {
this.input = input;
this.filename = options["filename"] || null;
this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
this.onWarning = options["onWarning"] || null;
this.legacy = options["legacy"] || false;
this.json = options["json"] || false;
this.listener = options["listener"] || null;
this.maxTotalMergeKeys = typeof options["maxTotalMergeKeys"] === "number" ? options["maxTotalMergeKeys"] : 1e4;
this.implicitTypes = this.schema.compiledImplicit;
this.typeMap = this.schema.compiledTypeMap;
this.length = input.length;
this.position = 0;
this.line = 0;
this.lineStart = 0;
this.lineIndent = 0;
this.totalMergeKeys = 0;
this.documents = [];
}
function generateError2(state, message) {
return new YAMLException2(
message,
new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart)
);
}
function throwError2(state, message) {
throw generateError2(state, message);
}
function throwWarning2(state, message) {
if (state.onWarning) {
state.onWarning.call(null, generateError2(state, message));
}
}
var directiveHandlers2 = {
YAML: function handleYamlDirective2(state, name, args) {
var match, major, minor;
if (state.version !== null) {
throwError2(state, "duplication of %YAML directive");
}
if (args.length !== 1) {
throwError2(state, "YAML directive accepts exactly one argument");
}
match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
if (match === null) {
throwError2(state, "ill-formed argument of the YAML directive");
}
major = parseInt(match[1], 10);
minor = parseInt(match[2], 10);
if (major !== 1) {
throwError2(state, "unacceptable YAML version of the document");
}
state.version = args[0];
state.checkLineBreaks = minor < 2;
if (minor !== 1 && minor !== 2) {
throwWarning2(state, "unsupported YAML version of the document");
}
},
TAG: function handleTagDirective2(state, name, args) {
var handle, prefix;
if (args.length !== 2) {
throwError2(state, "TAG directive accepts exactly two arguments");
}
handle = args[0];
prefix = args[1];
if (!PATTERN_TAG_HANDLE2.test(handle)) {
throwError2(state, "ill-formed tag handle (first argument) of the TAG directive");
}
if (_hasOwnProperty2.call(state.tagMap, handle)) {
throwError2(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
}
if (!PATTERN_TAG_URI2.test(prefix)) {
throwError2(state, "ill-formed tag prefix (second argument) of the TAG directive");
}
state.tagMap[handle] = prefix;
}
};
function captureSegment2(state, start, end, checkJson) {
var _position, _length, _character, _result;
if (start < end) {
_result = state.input.slice(start, end);
if (checkJson) {
for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
_character = _result.charCodeAt(_position);
if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
throwError2(state, "expected valid JSON character");
}
}
} else if (PATTERN_NON_PRINTABLE2.test(_result)) {
throwError2(state, "the stream contains non-printable characters");
}
state.result += _result;
}
}
function mergeMappings2(state, destination, source, overridableKeys) {
var sourceKeys, key, index2, quantity;
if (!common4.isObject(source)) {
throwError2(state, "cannot merge mappings; the provided source object is unacceptable");
}
sourceKeys = Object.keys(source);
for (index2 = 0, quantity = sourceKeys.length; index2 < quantity; index2 += 1) {
key = sourceKeys[index2];
if (state.maxTotalMergeKeys !== -1 && ++state.totalMergeKeys > state.maxTotalMergeKeys) {
throwError2(state, "merge keys exceeded maxTotalMergeKeys (" + state.maxTotalMergeKeys + ")");
}
if (!_hasOwnProperty2.call(destination, key)) {
setProperty2(destination, key, source[key]);
overridableKeys[key] = true;
}
}
}
function storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {
var index2, quantity;
if (Array.isArray(keyNode)) {
keyNode = Array.prototype.slice.call(keyNode);
for (index2 = 0, quantity = keyNode.length; index2 < quantity; index2 += 1) {
if (Array.isArray(keyNode[index2])) {
throwError2(state, "nested arrays are not supported inside keys");
}
if (typeof keyNode === "object" && _class2(keyNode[index2]) === "[object Object]") {
keyNode[index2] = "[object Object]";
}
}
}
if (typeof keyNode === "object" && _class2(keyNode) === "[object Object]") {
keyNode = "[object Object]";
}
keyNode = String(keyNode);
if (_result === null) {
_result = {};
}
if (keyTag === "tag:yaml.org,2002:merge") {
if (Array.isArray(valueNode)) {
for (index2 = 0, quantity = valueNode.length; index2 < quantity; index2 += 1) {
mergeMappings2(state, _result, valueNode[index2], overridableKeys);
}
} else {
mergeMappings2(state, _result, valueNode, overridableKeys);
}
} else {
if (!state.json && !_hasOwnProperty2.call(overridableKeys, keyNode) && _hasOwnProperty2.call(_result, keyNode)) {
state.line = startLine || state.line;
state.position = startPos || state.position;
throwError2(state, "duplicated mapping key");
}
setProperty2(_result, keyNode, valueNode);
delete overridableKeys[keyNode];
}
return _result;
}
function readLineBreak2(state) {
var ch;
ch = state.input.charCodeAt(state.position);
if (ch === 10) {
state.position++;
} else if (ch === 13) {
state.position++;
if (state.input.charCodeAt(state.position) === 10) {
state.position++;
}
} else {
throwError2(state, "a line break is expected");
}
state.line += 1;
state.lineStart = state.position;
}
function skipSeparationSpace2(state, allowComments, checkIndent) {
var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
while (is_WHITE_SPACE2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (allowComments && ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 10 && ch !== 13 && ch !== 0);
}
if (is_EOL2(ch)) {
readLineBreak2(state);
ch = state.input.charCodeAt(state.position);
lineBreaks++;
state.lineIndent = 0;
while (ch === 32) {
state.lineIndent++;
ch = state.input.charCodeAt(++state.position);
}
} else {
break;
}
}
if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
throwWarning2(state, "deficient indentation");
}
return lineBreaks;
}
function testDocumentSeparator2(state) {
var _position = state.position, ch;
ch = state.input.charCodeAt(_position);
if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
_position += 3;
ch = state.input.charCodeAt(_position);
if (ch === 0 || is_WS_OR_EOL2(ch)) {
return true;
}
}
return false;
}
function writeFoldedLines2(state, count2) {
if (count2 === 1) {
state.result += " ";
} else if (count2 > 1) {
state.result += common4.repeat("\n", count2 - 1);
}
}
function readPlainScalar2(state, nodeIndent, withinFlowCollection) {
var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
ch = state.input.charCodeAt(state.position);
if (is_WS_OR_EOL2(ch) || is_FLOW_INDICATOR2(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
return false;
}
if (ch === 63 || ch === 45) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL2(following) || withinFlowCollection && is_FLOW_INDICATOR2(following)) {
return false;
}
}
state.kind = "scalar";
state.result = "";
captureStart = captureEnd = state.position;
hasPendingContent = false;
while (ch !== 0) {
if (ch === 58) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL2(following) || withinFlowCollection && is_FLOW_INDICATOR2(following)) {
break;
}
} else if (ch === 35) {
preceding = state.input.charCodeAt(state.position - 1);
if (is_WS_OR_EOL2(preceding)) {
break;
}
} else if (state.position === state.lineStart && testDocumentSeparator2(state) || withinFlowCollection && is_FLOW_INDICATOR2(ch)) {
break;
} else if (is_EOL2(ch)) {
_line = state.line;
_lineStart = state.lineStart;
_lineIndent = state.lineIndent;
skipSeparationSpace2(state, false, -1);
if (state.lineIndent >= nodeIndent) {
hasPendingContent = true;
ch = state.input.charCodeAt(state.position);
continue;
} else {
state.position = captureEnd;
state.line = _line;
state.lineStart = _lineStart;
state.lineIndent = _lineIndent;
break;
}
}
if (hasPendingContent) {
captureSegment2(state, captureStart, captureEnd, false);
writeFoldedLines2(state, state.line - _line);
captureStart = captureEnd = state.position;
hasPendingContent = false;
}
if (!is_WHITE_SPACE2(ch)) {
captureEnd = state.position + 1;
}
ch = state.input.charCodeAt(++state.position);
}
captureSegment2(state, captureStart, captureEnd, false);
if (state.result) {
return true;
}
state.kind = _kind;
state.result = _result;
return false;
}
function readSingleQuotedScalar2(state, nodeIndent) {
var ch, captureStart, captureEnd;
ch = state.input.charCodeAt(state.position);
if (ch !== 39) {
return false;
}
state.kind = "scalar";
state.result = "";
state.position++;
captureStart = captureEnd = state.position;
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
if (ch === 39) {
captureSegment2(state, captureStart, state.position, true);
ch = state.input.charCodeAt(++state.position);
if (ch === 39) {
captureStart = state.position;
state.position++;
captureEnd = state.position;
} else {
return true;
}
} else if (is_EOL2(ch)) {
captureSegment2(state, captureStart, captureEnd, true);
writeFoldedLines2(state, skipSeparationSpace2(state, false, nodeIndent));
captureStart = captureEnd = state.position;
} else if (state.position === state.lineStart && testDocumentSeparator2(state)) {
throwError2(state, "unexpected end of the document within a single quoted scalar");
} else {
state.position++;
captureEnd = state.position;
}
}
throwError2(state, "unexpected end of the stream within a single quoted scalar");
}
function readDoubleQuotedScalar2(state, nodeIndent) {
var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 34) {
return false;
}
state.kind = "scalar";
state.result = "";
state.position++;
captureStart = captureEnd = state.position;
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
if (ch === 34) {
captureSegment2(state, captureStart, state.position, true);
state.position++;
return true;
} else if (ch === 92) {
captureSegment2(state, captureStart, state.position, true);
ch = state.input.charCodeAt(++state.position);
if (is_EOL2(ch)) {
skipSeparationSpace2(state, false, nodeIndent);
} else if (ch < 256 && simpleEscapeCheck2[ch]) {
state.result += simpleEscapeMap2[ch];
state.position++;
} else if ((tmp = escapedHexLen2(ch)) > 0) {
hexLength = tmp;
hexResult = 0;
for (; hexLength > 0; hexLength--) {
ch = state.input.charCodeAt(++state.position);
if ((tmp = fromHexCode2(ch)) >= 0) {
hexResult = (hexResult << 4) + tmp;
} else {
throwError2(state, "expected hexadecimal character");
}
}
state.result += charFromCodepoint2(hexResult);
state.position++;
} else {
throwError2(state, "unknown escape sequence");
}
captureStart = captureEnd = state.position;
} else if (is_EOL2(ch)) {
captureSegment2(state, captureStart, captureEnd, true);
writeFoldedLines2(state, skipSeparationSpace2(state, false, nodeIndent));
captureStart = captureEnd = state.position;
} else if (state.position === state.lineStart && testDocumentSeparator2(state)) {
throwError2(state, "unexpected end of the document within a double quoted scalar");
} else {
state.position++;
captureEnd = state.position;
}
}
throwError2(state, "unexpected end of the stream within a double quoted scalar");
}
function readFlowCollection2(state, nodeIndent) {
var readNext = true, _line, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {}, keyNode, keyTag, valueNode, ch;
ch = state.input.charCodeAt(state.position);
if (ch === 91) {
terminator = 93;
isMapping = false;
_result = [];
} else if (ch === 123) {
terminator = 125;
isMapping = true;
_result = {};
} else {
return false;
}
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(++state.position);
while (ch !== 0) {
skipSeparationSpace2(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if (ch === terminator) {
state.position++;
state.tag = _tag;
state.anchor = _anchor;
state.kind = isMapping ? "mapping" : "sequence";
state.result = _result;
return true;
} else if (!readNext) {
throwError2(state, "missed comma between flow collection entries");
}
keyTag = keyNode = valueNode = null;
isPair = isExplicitPair = false;
if (ch === 63) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL2(following)) {
isPair = isExplicitPair = true;
state.position++;
skipSeparationSpace2(state, true, nodeIndent);
}
}
_line = state.line;
composeNode2(state, nodeIndent, CONTEXT_FLOW_IN2, false, true);
keyTag = state.tag;
keyNode = state.result;
skipSeparationSpace2(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if ((isExplicitPair || state.line === _line) && ch === 58) {
isPair = true;
ch = state.input.charCodeAt(++state.position);
skipSeparationSpace2(state, true, nodeIndent);
composeNode2(state, nodeIndent, CONTEXT_FLOW_IN2, false, true);
valueNode = state.result;
}
if (isMapping) {
storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, valueNode);
} else if (isPair) {
_result.push(storeMappingPair2(state, null, overridableKeys, keyTag, keyNode, valueNode));
} else {
_result.push(keyNode);
}
skipSeparationSpace2(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if (ch === 44) {
readNext = true;
ch = state.input.charCodeAt(++state.position);
} else {
readNext = false;
}
}
throwError2(state, "unexpected end of the stream within a flow collection");
}
function readBlockScalar2(state, nodeIndent) {
var captureStart, folding, chomping = CHOMPING_CLIP2, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
ch = state.input.charCodeAt(state.position);
if (ch === 124) {
folding = false;
} else if (ch === 62) {
folding = true;
} else {
return false;
}
state.kind = "scalar";
state.result = "";
while (ch !== 0) {
ch = state.input.charCodeAt(++state.position);
if (ch === 43 || ch === 45) {
if (CHOMPING_CLIP2 === chomping) {
chomping = ch === 43 ? CHOMPING_KEEP2 : CHOMPING_STRIP2;
} else {
throwError2(state, "repeat of a chomping mode identifier");
}
} else if ((tmp = fromDecimalCode2(ch)) >= 0) {
if (tmp === 0) {
throwError2(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
} else if (!detectedIndent) {
textIndent = nodeIndent + tmp - 1;
detectedIndent = true;
} else {
throwError2(state, "repeat of an indentation width identifier");
}
} else {
break;
}
}
if (is_WHITE_SPACE2(ch)) {
do {
ch = state.input.charCodeAt(++state.position);
} while (is_WHITE_SPACE2(ch));
if (ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (!is_EOL2(ch) && ch !== 0);
}
}
while (ch !== 0) {
readLineBreak2(state);
state.lineIndent = 0;
ch = state.input.charCodeAt(state.position);
while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
state.lineIndent++;
ch = state.input.charCodeAt(++state.position);
}
if (!detectedIndent && state.lineIndent > textIndent) {
textIndent = state.lineIndent;
}
if (is_EOL2(ch)) {
emptyLines++;
continue;
}
if (state.lineIndent < textIndent) {
if (chomping === CHOMPING_KEEP2) {
state.result += common4.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
} else if (chomping === CHOMPING_CLIP2) {
if (didReadContent) {
state.result += "\n";
}
}
break;
}
if (folding) {
if (is_WHITE_SPACE2(ch)) {
atMoreIndented = true;
state.result += common4.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
} else if (atMoreIndented) {
atMoreIndented = false;
state.result += common4.repeat("\n", emptyLines + 1);
} else if (emptyLines === 0) {
if (didReadContent) {
state.result += " ";
}
} else {
state.result += common4.repeat("\n", emptyLines);
}
} else {
state.result += common4.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
}
didReadContent = true;
detectedIndent = true;
emptyLines = 0;
captureStart = state.position;
while (!is_EOL2(ch) && ch !== 0) {
ch = state.input.charCodeAt(++state.position);
}
captureSegment2(state, captureStart, state.position, false);
}
return true;
}
function readBlockSequence2(state, nodeIndent) {
var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
if (ch !== 45) {
break;
}
following = state.input.charCodeAt(state.position + 1);
if (!is_WS_OR_EOL2(following)) {
break;
}
detected = true;
state.position++;
if (skipSeparationSpace2(state, true, -1)) {
if (state.lineIndent <= nodeIndent) {
_result.push(null);
ch = state.input.charCodeAt(state.position);
continue;
}
}
_line = state.line;
composeNode2(state, nodeIndent, CONTEXT_BLOCK_IN2, false, true);
_result.push(state.result);
skipSeparationSpace2(state, true, -1);
ch = state.input.charCodeAt(state.position);
if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
throwError2(state, "bad indentation of a sequence entry");
} else if (state.lineIndent < nodeIndent) {
break;
}
}
if (detected) {
state.tag = _tag;
state.anchor = _anchor;
state.kind = "sequence";
state.result = _result;
return true;
}
return false;
}
function readBlockMapping2(state, nodeIndent, flowIndent) {
var following, allowCompact, _line, _pos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = {}, keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
following = state.input.charCodeAt(state.position + 1);
_line = state.line;
_pos = state.position;
if ((ch === 63 || ch === 58) && is_WS_OR_EOL2(following)) {
if (ch === 63) {
if (atExplicitKey) {
storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, null);
keyTag = keyNode = valueNode = null;
}
detected = true;
atExplicitKey = true;
allowCompact = true;
} else if (atExplicitKey) {
atExplicitKey = false;
allowCompact = true;
} else {
throwError2(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
}
state.position += 1;
ch = following;
} else if (composeNode2(state, flowIndent, CONTEXT_FLOW_OUT2, false, true)) {
if (state.line === _line) {
ch = state.input.charCodeAt(state.position);
while (is_WHITE_SPACE2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (ch === 58) {
ch = state.input.charCodeAt(++state.position);
if (!is_WS_OR_EOL2(ch)) {
throwError2(state, "a whitespace character is expected after the key-value separator within a block mapping");
}
if (atExplicitKey) {
storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, null);
keyTag = keyNode = valueNode = null;
}
detected = true;
atExplicitKey = false;
allowCompact = false;
keyTag = state.tag;
keyNode = state.result;
} else if (detected) {
throwError2(state, "can not read an implicit mapping pair; a colon is missed");
} else {
state.tag = _tag;
state.anchor = _anchor;
return true;
}
} else if (detected) {
throwError2(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
} else {
state.tag = _tag;
state.anchor = _anchor;
return true;
}
} else {
break;
}
if (state.line === _line || state.lineIndent > nodeIndent) {
if (composeNode2(state, nodeIndent, CONTEXT_BLOCK_OUT2, true, allowCompact)) {
if (atExplicitKey) {
keyNode = state.result;
} else {
valueNode = state.result;
}
}
if (!atExplicitKey) {
storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);
keyTag = keyNode = valueNode = null;
}
skipSeparationSpace2(state, true, -1);
ch = state.input.charCodeAt(state.position);
}
if (state.lineIndent > nodeIndent && ch !== 0) {
throwError2(state, "bad indentation of a mapping entry");
} else if (state.lineIndent < nodeIndent) {
break;
}
}
if (atExplicitKey) {
storeMappingPair2(state, _result, overridableKeys, keyTag, keyNode, null);
}
if (detected) {
state.tag = _tag;
state.anchor = _anchor;
state.kind = "mapping";
state.result = _result;
}
return detected;
}
function readTagProperty2(state) {
var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 33) return false;
if (state.tag !== null) {
throwError2(state, "duplication of a tag property");
}
ch = state.input.charCodeAt(++state.position);
if (ch === 60) {
isVerbatim = true;
ch = state.input.charCodeAt(++state.position);
} else if (ch === 33) {
isNamed = true;
tagHandle = "!!";
ch = state.input.charCodeAt(++state.position);
} else {
tagHandle = "!";
}
_position = state.position;
if (isVerbatim) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 0 && ch !== 62);
if (state.position < state.length) {
tagName = state.input.slice(_position, state.position);
ch = state.input.charCodeAt(++state.position);
} else {
throwError2(state, "unexpected end of the stream within a verbatim tag");
}
} else {
while (ch !== 0 && !is_WS_OR_EOL2(ch)) {
if (ch === 33) {
if (!isNamed) {
tagHandle = state.input.slice(_position - 1, state.position + 1);
if (!PATTERN_TAG_HANDLE2.test(tagHandle)) {
throwError2(state, "named tag handle cannot contain such characters");
}
isNamed = true;
_position = state.position + 1;
} else {
throwError2(state, "tag suffix cannot contain exclamation marks");
}
}
ch = state.input.charCodeAt(++state.position);
}
tagName = state.input.slice(_position, state.position);
if (PATTERN_FLOW_INDICATORS2.test(tagName)) {
throwError2(state, "tag suffix cannot contain flow indicator characters");
}
}
if (tagName && !PATTERN_TAG_URI2.test(tagName)) {
throwError2(state, "tag name cannot contain such characters: " + tagName);
}
if (isVerbatim) {
state.tag = tagName;
} else if (_hasOwnProperty2.call(state.tagMap, tagHandle)) {
state.tag = state.tagMap[tagHandle] + tagName;
} else if (tagHandle === "!") {
state.tag = "!" + tagName;
} else if (tagHandle === "!!") {
state.tag = "tag:yaml.org,2002:" + tagName;
} else {
throwError2(state, 'undeclared tag handle "' + tagHandle + '"');
}
return true;
}
function readAnchorProperty2(state) {
var _position, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 38) return false;
if (state.anchor !== null) {
throwError2(state, "duplication of an anchor property");
}
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL2(ch) && !is_FLOW_INDICATOR2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (state.position === _position) {
throwError2(state, "name of an anchor node must contain at least one character");
}
state.anchor = state.input.slice(_position, state.position);
return true;
}
function readAlias2(state) {
var _position, alias, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 42) return false;
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL2(ch) && !is_FLOW_INDICATOR2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (state.position === _position) {
throwError2(state, "name of an alias node must contain at least one character");
}
alias = state.input.slice(_position, state.position);
if (!_hasOwnProperty2.call(state.anchorMap, alias)) {
throwError2(state, 'unidentified alias "' + alias + '"');
}
state.result = state.anchorMap[alias];
skipSeparationSpace2(state, true, -1);
return true;
}
function composeNode2(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, type4, flowIndent, blockIndent;
if (state.listener !== null) {
state.listener("open", state);
}
state.tag = null;
state.anchor = null;
state.kind = null;
state.result = null;
allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT2 === nodeContext || CONTEXT_BLOCK_IN2 === nodeContext;
if (allowToSeek) {
if (skipSeparationSpace2(state, true, -1)) {
atNewLine = true;
if (state.lineIndent > parentIndent) {
indentStatus = 1;
} else if (state.lineIndent === parentIndent) {
indentStatus = 0;
} else if (state.lineIndent < parentIndent) {
indentStatus = -1;
}
}
}
if (indentStatus === 1) {
while (readTagProperty2(state) || readAnchorProperty2(state)) {
if (skipSeparationSpace2(state, true, -1)) {
atNewLine = true;
allowBlockCollections = allowBlockStyles;
if (state.lineIndent > parentIndent) {
indentStatus = 1;
} else if (state.lineIndent === parentIndent) {
indentStatus = 0;
} else if (state.lineIndent < parentIndent) {
indentStatus = -1;
}
} else {
allowBlockCollections = false;
}
}
}
if (allowBlockCollections) {
allowBlockCollections = atNewLine || allowCompact;
}
if (indentStatus === 1 || CONTEXT_BLOCK_OUT2 === nodeContext) {
if (CONTEXT_FLOW_IN2 === nodeContext || CONTEXT_FLOW_OUT2 === nodeContext) {
flowIndent = parentIndent;
} else {
flowIndent = parentIndent + 1;
}
blockIndent = state.position - state.lineStart;
if (indentStatus === 1) {
if (allowBlockCollections && (readBlockSequence2(state, blockIndent) || readBlockMapping2(state, blockIndent, flowIndent)) || readFlowCollection2(state, flowIndent)) {
hasContent = true;
} else {
if (allowBlockScalars && readBlockScalar2(state, flowIndent) || readSingleQuotedScalar2(state, flowIndent) || readDoubleQuotedScalar2(state, flowIndent)) {
hasContent = true;
} else if (readAlias2(state)) {
hasContent = true;
if (state.tag !== null || state.anchor !== null) {
throwError2(state, "alias node should not have any properties");
}
} else if (readPlainScalar2(state, flowIndent, CONTEXT_FLOW_IN2 === nodeContext)) {
hasContent = true;
if (state.tag === null) {
state.tag = "?";
}
}
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
}
} else if (indentStatus === 0) {
hasContent = allowBlockCollections && readBlockSequence2(state, blockIndent);
}
}
if (state.tag !== null && state.tag !== "!") {
if (state.tag === "?") {
if (state.result !== null && state.kind !== "scalar") {
throwError2(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
}
for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
type4 = state.implicitTypes[typeIndex];
if (type4.resolve(state.result)) {
state.result = type4.construct(state.result);
state.tag = type4.tag;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
break;
}
}
} else if (_hasOwnProperty2.call(state.typeMap[state.kind || "fallback"], state.tag)) {
type4 = state.typeMap[state.kind || "fallback"][state.tag];
if (state.result !== null && type4.kind !== state.kind) {
throwError2(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type4.kind + '", not "' + state.kind + '"');
}
if (!type4.resolve(state.result)) {
throwError2(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
} else {
state.result = type4.construct(state.result);
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
}
} else {
throwError2(state, "unknown tag !<" + state.tag + ">");
}
}
if (state.listener !== null) {
state.listener("close", state);
}
return state.tag !== null || state.anchor !== null || hasContent;
}
function readDocument2(state) {
var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
state.version = null;
state.checkLineBreaks = state.legacy;
state.tagMap = {};
state.anchorMap = {};
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
skipSeparationSpace2(state, true, -1);
ch = state.input.charCodeAt(state.position);
if (state.lineIndent > 0 || ch !== 37) {
break;
}
hasDirectives = true;
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
directiveName = state.input.slice(_position, state.position);
directiveArgs = [];
if (directiveName.length < 1) {
throwError2(state, "directive name must not be less than one character in length");
}
while (ch !== 0) {
while (is_WHITE_SPACE2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 0 && !is_EOL2(ch));
break;
}
if (is_EOL2(ch)) break;
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL2(ch)) {
ch = state.input.charCodeAt(++state.position);
}
directiveArgs.push(state.input.slice(_position, state.position));
}
if (ch !== 0) readLineBreak2(state);
if (_hasOwnProperty2.call(directiveHandlers2, directiveName)) {
directiveHandlers2[directiveName](state, directiveName, directiveArgs);
} else {
throwWarning2(state, 'unknown document directive "' + directiveName + '"');
}
}
skipSeparationSpace2(state, true, -1);
if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
state.position += 3;
skipSeparationSpace2(state, true, -1);
} else if (hasDirectives) {
throwError2(state, "directives end mark is expected");
}
composeNode2(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT2, false, true);
skipSeparationSpace2(state, true, -1);
if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS2.test(state.input.slice(documentStart, state.position))) {
throwWarning2(state, "non-ASCII line breaks are interpreted as content");
}
state.documents.push(state.result);
if (state.position === state.lineStart && testDocumentSeparator2(state)) {
if (state.input.charCodeAt(state.position) === 46) {
state.position += 3;
skipSeparationSpace2(state, true, -1);
}
return;
}
if (state.position < state.length - 1) {
throwError2(state, "end of the stream or a document separator is expected");
} else {
return;
}
}
function loadDocuments2(input, options) {
input = String(input);
options = options || {};
if (input.length !== 0) {
if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
input += "\n";
}
if (input.charCodeAt(0) === 65279) {
input = input.slice(1);
}
}
var state = new State2(input, options);
var nullpos = input.indexOf("\0");
if (nullpos !== -1) {
state.position = nullpos;
throwError2(state, "null byte is not allowed in input");
}
state.input += "\0";
while (state.input.charCodeAt(state.position) === 32) {
state.lineIndent += 1;
state.position += 1;
}
while (state.position < state.length - 1) {
readDocument2(state);
}
return state.documents;
}
function loadAll2(input, iterator, options) {
if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") {
options = iterator;
iterator = null;
}
var documents = loadDocuments2(input, options);
if (typeof iterator !== "function") {
return documents;
}
for (var index2 = 0, length = documents.length; index2 < length; index2 += 1) {
iterator(documents[index2]);
}
}
function load3(input, options) {
var documents = loadDocuments2(input, options);
if (documents.length === 0) {
return void 0;
} else if (documents.length === 1) {
return documents[0];
}
throw new YAMLException2("expected a single document in the stream, but found more");
}
function safeLoadAll2(input, iterator, options) {
if (typeof iterator === "object" && iterator !== null && typeof options === "undefined") {
options = iterator;
iterator = null;
}
return loadAll2(input, iterator, common4.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
}
function safeLoad2(input, options) {
return load3(input, common4.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
}
module2.exports.loadAll = loadAll2;
module2.exports.load = load3;
module2.exports.safeLoadAll = safeLoadAll2;
module2.exports.safeLoad = safeLoad2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/dumper.js
var require_dumper = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml/dumper.js"(exports2, module2) {
"use strict";
var common4 = require_common();
var YAMLException2 = require_exception();
var DEFAULT_FULL_SCHEMA = require_default_full();
var DEFAULT_SAFE_SCHEMA = require_default_safe();
var _toString3 = Object.prototype.toString;
var _hasOwnProperty2 = Object.prototype.hasOwnProperty;
var CHAR_TAB2 = 9;
var CHAR_LINE_FEED2 = 10;
var CHAR_CARRIAGE_RETURN2 = 13;
var CHAR_SPACE2 = 32;
var CHAR_EXCLAMATION2 = 33;
var CHAR_DOUBLE_QUOTE2 = 34;
var CHAR_SHARP2 = 35;
var CHAR_PERCENT2 = 37;
var CHAR_AMPERSAND2 = 38;
var CHAR_SINGLE_QUOTE2 = 39;
var CHAR_ASTERISK2 = 42;
var CHAR_COMMA2 = 44;
var CHAR_MINUS2 = 45;
var CHAR_COLON2 = 58;
var CHAR_EQUALS2 = 61;
var CHAR_GREATER_THAN2 = 62;
var CHAR_QUESTION2 = 63;
var CHAR_COMMERCIAL_AT2 = 64;
var CHAR_LEFT_SQUARE_BRACKET2 = 91;
var CHAR_RIGHT_SQUARE_BRACKET2 = 93;
var CHAR_GRAVE_ACCENT2 = 96;
var CHAR_LEFT_CURLY_BRACKET2 = 123;
var CHAR_VERTICAL_LINE2 = 124;
var CHAR_RIGHT_CURLY_BRACKET2 = 125;
var ESCAPE_SEQUENCES2 = {};
ESCAPE_SEQUENCES2[0] = "\\0";
ESCAPE_SEQUENCES2[7] = "\\a";
ESCAPE_SEQUENCES2[8] = "\\b";
ESCAPE_SEQUENCES2[9] = "\\t";
ESCAPE_SEQUENCES2[10] = "\\n";
ESCAPE_SEQUENCES2[11] = "\\v";
ESCAPE_SEQUENCES2[12] = "\\f";
ESCAPE_SEQUENCES2[13] = "\\r";
ESCAPE_SEQUENCES2[27] = "\\e";
ESCAPE_SEQUENCES2[34] = '\\"';
ESCAPE_SEQUENCES2[92] = "\\\\";
ESCAPE_SEQUENCES2[133] = "\\N";
ESCAPE_SEQUENCES2[160] = "\\_";
ESCAPE_SEQUENCES2[8232] = "\\L";
ESCAPE_SEQUENCES2[8233] = "\\P";
var DEPRECATED_BOOLEANS_SYNTAX2 = [
"y",
"Y",
"yes",
"Yes",
"YES",
"on",
"On",
"ON",
"n",
"N",
"no",
"No",
"NO",
"off",
"Off",
"OFF"
];
function compileStyleMap2(schema2, map26) {
var result2, keys4, index2, length, tag, style, type4;
if (map26 === null) return {};
result2 = {};
keys4 = Object.keys(map26);
for (index2 = 0, length = keys4.length; index2 < length; index2 += 1) {
tag = keys4[index2];
style = String(map26[tag]);
if (tag.slice(0, 2) === "!!") {
tag = "tag:yaml.org,2002:" + tag.slice(2);
}
type4 = schema2.compiledTypeMap["fallback"][tag];
if (type4 && _hasOwnProperty2.call(type4.styleAliases, style)) {
style = type4.styleAliases[style];
}
result2[tag] = style;
}
return result2;
}
function encodeHex2(character) {
var string, handle, length;
string = character.toString(16).toUpperCase();
if (character <= 255) {
handle = "x";
length = 2;
} else if (character <= 65535) {
handle = "u";
length = 4;
} else if (character <= 4294967295) {
handle = "U";
length = 8;
} else {
throw new YAMLException2("code point within a string may not be greater than 0xFFFFFFFF");
}
return "\\" + handle + common4.repeat("0", length - string.length) + string;
}
function State2(options) {
this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
this.indent = Math.max(1, options["indent"] || 2);
this.noArrayIndent = options["noArrayIndent"] || false;
this.skipInvalid = options["skipInvalid"] || false;
this.flowLevel = common4.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
this.styleMap = compileStyleMap2(this.schema, options["styles"] || null);
this.sortKeys = options["sortKeys"] || false;
this.lineWidth = options["lineWidth"] || 80;
this.noRefs = options["noRefs"] || false;
this.noCompatMode = options["noCompatMode"] || false;
this.condenseFlow = options["condenseFlow"] || false;
this.implicitTypes = this.schema.compiledImplicit;
this.explicitTypes = this.schema.compiledExplicit;
this.tag = null;
this.result = "";
this.duplicates = [];
this.usedDuplicates = null;
}
function indentString2(string, spaces) {
var ind = common4.repeat(" ", spaces), position3 = 0, next2 = -1, result2 = "", line, length = string.length;
while (position3 < length) {
next2 = string.indexOf("\n", position3);
if (next2 === -1) {
line = string.slice(position3);
position3 = length;
} else {
line = string.slice(position3, next2 + 1);
position3 = next2 + 1;
}
if (line.length && line !== "\n") result2 += ind;
result2 += line;
}
return result2;
}
function generateNextLine2(state, level) {
return "\n" + common4.repeat(" ", state.indent * level);
}
function testImplicitResolving2(state, str2) {
var index2, length, type4;
for (index2 = 0, length = state.implicitTypes.length; index2 < length; index2 += 1) {
type4 = state.implicitTypes[index2];
if (type4.resolve(str2)) {
return true;
}
}
return false;
}
function isWhitespace2(c3) {
return c3 === CHAR_SPACE2 || c3 === CHAR_TAB2;
}
function isPrintable2(c3) {
return 32 <= c3 && c3 <= 126 || 161 <= c3 && c3 <= 55295 && c3 !== 8232 && c3 !== 8233 || 57344 <= c3 && c3 <= 65533 && c3 !== 65279 || 65536 <= c3 && c3 <= 1114111;
}
function isNsChar(c3) {
return isPrintable2(c3) && !isWhitespace2(c3) && c3 !== 65279 && c3 !== CHAR_CARRIAGE_RETURN2 && c3 !== CHAR_LINE_FEED2;
}
function isPlainSafe2(c3, prev) {
return isPrintable2(c3) && c3 !== 65279 && c3 !== CHAR_COMMA2 && c3 !== CHAR_LEFT_SQUARE_BRACKET2 && c3 !== CHAR_RIGHT_SQUARE_BRACKET2 && c3 !== CHAR_LEFT_CURLY_BRACKET2 && c3 !== CHAR_RIGHT_CURLY_BRACKET2 && c3 !== CHAR_COLON2 && (c3 !== CHAR_SHARP2 || prev && isNsChar(prev));
}
function isPlainSafeFirst2(c3) {
return isPrintable2(c3) && c3 !== 65279 && !isWhitespace2(c3) && c3 !== CHAR_MINUS2 && c3 !== CHAR_QUESTION2 && c3 !== CHAR_COLON2 && c3 !== CHAR_COMMA2 && c3 !== CHAR_LEFT_SQUARE_BRACKET2 && c3 !== CHAR_RIGHT_SQUARE_BRACKET2 && c3 !== CHAR_LEFT_CURLY_BRACKET2 && c3 !== CHAR_RIGHT_CURLY_BRACKET2 && c3 !== CHAR_SHARP2 && c3 !== CHAR_AMPERSAND2 && c3 !== CHAR_ASTERISK2 && c3 !== CHAR_EXCLAMATION2 && c3 !== CHAR_VERTICAL_LINE2 && c3 !== CHAR_EQUALS2 && c3 !== CHAR_GREATER_THAN2 && c3 !== CHAR_SINGLE_QUOTE2 && c3 !== CHAR_DOUBLE_QUOTE2 && c3 !== CHAR_PERCENT2 && c3 !== CHAR_COMMERCIAL_AT2 && c3 !== CHAR_GRAVE_ACCENT2;
}
function needIndentIndicator2(string) {
var leadingSpaceRe = /^\n* /;
return leadingSpaceRe.test(string);
}
var STYLE_PLAIN2 = 1;
var STYLE_SINGLE2 = 2;
var STYLE_LITERAL2 = 3;
var STYLE_FOLDED2 = 4;
var STYLE_DOUBLE2 = 5;
function chooseScalarStyle2(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
var i4;
var char, prev_char;
var hasLineBreak = false;
var hasFoldableLine = false;
var shouldTrackWidth = lineWidth !== -1;
var previousLineBreak = -1;
var plain = isPlainSafeFirst2(string.charCodeAt(0)) && !isWhitespace2(string.charCodeAt(string.length - 1));
if (singleLineOnly) {
for (i4 = 0; i4 < string.length; i4++) {
char = string.charCodeAt(i4);
if (!isPrintable2(char)) {
return STYLE_DOUBLE2;
}
prev_char = i4 > 0 ? string.charCodeAt(i4 - 1) : null;
plain = plain && isPlainSafe2(char, prev_char);
}
} else {
for (i4 = 0; i4 < string.length; i4++) {
char = string.charCodeAt(i4);
if (char === CHAR_LINE_FEED2) {
hasLineBreak = true;
if (shouldTrackWidth) {
hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
i4 - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
previousLineBreak = i4;
}
} else if (!isPrintable2(char)) {
return STYLE_DOUBLE2;
}
prev_char = i4 > 0 ? string.charCodeAt(i4 - 1) : null;
plain = plain && isPlainSafe2(char, prev_char);
}
hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i4 - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ");
}
if (!hasLineBreak && !hasFoldableLine) {
return plain && !testAmbiguousType(string) ? STYLE_PLAIN2 : STYLE_SINGLE2;
}
if (indentPerLevel > 9 && needIndentIndicator2(string)) {
return STYLE_DOUBLE2;
}
return hasFoldableLine ? STYLE_FOLDED2 : STYLE_LITERAL2;
}
function writeScalar2(state, string, level, iskey) {
state.dump = (function() {
if (string.length === 0) {
return "''";
}
if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX2.indexOf(string) !== -1) {
return "'" + string + "'";
}
var indent = state.indent * Math.max(1, level);
var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
function testAmbiguity(string2) {
return testImplicitResolving2(state, string2);
}
switch (chooseScalarStyle2(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
case STYLE_PLAIN2:
return string;
case STYLE_SINGLE2:
return "'" + string.replace(/'/g, "''") + "'";
case STYLE_LITERAL2:
return "|" + blockHeader2(string, state.indent) + dropEndingNewline2(indentString2(string, indent));
case STYLE_FOLDED2:
return ">" + blockHeader2(string, state.indent) + dropEndingNewline2(indentString2(foldString2(string, lineWidth), indent));
case STYLE_DOUBLE2:
return '"' + escapeString2(string, lineWidth) + '"';
default:
throw new YAMLException2("impossible error: invalid scalar style");
}
})();
}
function blockHeader2(string, indentPerLevel) {
var indentIndicator = needIndentIndicator2(string) ? String(indentPerLevel) : "";
var clip = string[string.length - 1] === "\n";
var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
var chomp = keep ? "+" : clip ? "" : "-";
return indentIndicator + chomp + "\n";
}
function dropEndingNewline2(string) {
return string[string.length - 1] === "\n" ? string.slice(0, -1) : string;
}
function foldString2(string, width) {
var lineRe = /(\n+)([^\n]*)/g;
var result2 = (function() {
var nextLF = string.indexOf("\n");
nextLF = nextLF !== -1 ? nextLF : string.length;
lineRe.lastIndex = nextLF;
return foldLine2(string.slice(0, nextLF), width);
})();
var prevMoreIndented = string[0] === "\n" || string[0] === " ";
var moreIndented;
var match;
while (match = lineRe.exec(string)) {
var prefix = match[1], line = match[2];
moreIndented = line[0] === " ";
result2 += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine2(line, width);
prevMoreIndented = moreIndented;
}
return result2;
}
function foldLine2(line, width) {
if (line === "" || line[0] === " ") return line;
var breakRe = / [^ ]/g;
var match;
var start = 0, end, curr = 0, next2 = 0;
var result2 = "";
while (match = breakRe.exec(line)) {
next2 = match.index;
if (next2 - start > width) {
end = curr > start ? curr : next2;
result2 += "\n" + line.slice(start, end);
start = end + 1;
}
curr = next2;
}
result2 += "\n";
if (line.length - start > width && curr > start) {
result2 += line.slice(start, curr) + "\n" + line.slice(curr + 1);
} else {
result2 += line.slice(start);
}
return result2.slice(1);
}
function escapeString2(string) {
var result2 = "";
var char, nextChar;
var escapeSeq;
for (var i4 = 0; i4 < string.length; i4++) {
char = string.charCodeAt(i4);
if (char >= 55296 && char <= 56319) {
nextChar = string.charCodeAt(i4 + 1);
if (nextChar >= 56320 && nextChar <= 57343) {
result2 += encodeHex2((char - 55296) * 1024 + nextChar - 56320 + 65536);
i4++;
continue;
}
}
escapeSeq = ESCAPE_SEQUENCES2[char];
result2 += !escapeSeq && isPrintable2(char) ? string[i4] : escapeSeq || encodeHex2(char);
}
return result2;
}
function writeFlowSequence2(state, level, object) {
var _result = "", _tag = state.tag, index2, length;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
if (writeNode2(state, level, object[index2], false, false)) {
if (index2 !== 0) _result += "," + (!state.condenseFlow ? " " : "");
_result += state.dump;
}
}
state.tag = _tag;
state.dump = "[" + _result + "]";
}
function writeBlockSequence2(state, level, object, compact) {
var _result = "", _tag = state.tag, index2, length;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
if (writeNode2(state, level + 1, object[index2], true, true)) {
if (!compact || index2 !== 0) {
_result += generateNextLine2(state, level);
}
if (state.dump && CHAR_LINE_FEED2 === state.dump.charCodeAt(0)) {
_result += "-";
} else {
_result += "- ";
}
_result += state.dump;
}
}
state.tag = _tag;
state.dump = _result || "[]";
}
function writeFlowMapping2(state, level, object) {
var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, pairBuffer;
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
pairBuffer = "";
if (index2 !== 0) pairBuffer += ", ";
if (state.condenseFlow) pairBuffer += '"';
objectKey = objectKeyList[index2];
objectValue = object[objectKey];
if (!writeNode2(state, level, objectKey, false, false)) {
continue;
}
if (state.dump.length > 1024) pairBuffer += "? ";
pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
if (!writeNode2(state, level, objectValue, false, false)) {
continue;
}
pairBuffer += state.dump;
_result += pairBuffer;
}
state.tag = _tag;
state.dump = "{" + _result + "}";
}
function writeBlockMapping2(state, level, object, compact) {
var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, explicitPair, pairBuffer;
if (state.sortKeys === true) {
objectKeyList.sort();
} else if (typeof state.sortKeys === "function") {
objectKeyList.sort(state.sortKeys);
} else if (state.sortKeys) {
throw new YAMLException2("sortKeys must be a boolean or a function");
}
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
pairBuffer = "";
if (!compact || index2 !== 0) {
pairBuffer += generateNextLine2(state, level);
}
objectKey = objectKeyList[index2];
objectValue = object[objectKey];
if (!writeNode2(state, level + 1, objectKey, true, true, true)) {
continue;
}
explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
if (explicitPair) {
if (state.dump && CHAR_LINE_FEED2 === state.dump.charCodeAt(0)) {
pairBuffer += "?";
} else {
pairBuffer += "? ";
}
}
pairBuffer += state.dump;
if (explicitPair) {
pairBuffer += generateNextLine2(state, level);
}
if (!writeNode2(state, level + 1, objectValue, true, explicitPair)) {
continue;
}
if (state.dump && CHAR_LINE_FEED2 === state.dump.charCodeAt(0)) {
pairBuffer += ":";
} else {
pairBuffer += ": ";
}
pairBuffer += state.dump;
_result += pairBuffer;
}
state.tag = _tag;
state.dump = _result || "{}";
}
function detectType2(state, object, explicit) {
var _result, typeList, index2, length, type4, style;
typeList = explicit ? state.explicitTypes : state.implicitTypes;
for (index2 = 0, length = typeList.length; index2 < length; index2 += 1) {
type4 = typeList[index2];
if ((type4.instanceOf || type4.predicate) && (!type4.instanceOf || typeof object === "object" && object instanceof type4.instanceOf) && (!type4.predicate || type4.predicate(object))) {
state.tag = explicit ? type4.tag : "?";
if (type4.represent) {
style = state.styleMap[type4.tag] || type4.defaultStyle;
if (_toString3.call(type4.represent) === "[object Function]") {
_result = type4.represent(object, style);
} else if (_hasOwnProperty2.call(type4.represent, style)) {
_result = type4.represent[style](object, style);
} else {
throw new YAMLException2("!<" + type4.tag + '> tag resolver accepts not "' + style + '" style');
}
state.dump = _result;
}
return true;
}
}
return false;
}
function writeNode2(state, level, object, block, compact, iskey) {
state.tag = null;
state.dump = object;
if (!detectType2(state, object, false)) {
detectType2(state, object, true);
}
var type4 = _toString3.call(state.dump);
if (block) {
block = state.flowLevel < 0 || state.flowLevel > level;
}
var objectOrArray = type4 === "[object Object]" || type4 === "[object Array]", duplicateIndex, duplicate;
if (objectOrArray) {
duplicateIndex = state.duplicates.indexOf(object);
duplicate = duplicateIndex !== -1;
}
if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
compact = false;
}
if (duplicate && state.usedDuplicates[duplicateIndex]) {
state.dump = "*ref_" + duplicateIndex;
} else {
if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
state.usedDuplicates[duplicateIndex] = true;
}
if (type4 === "[object Object]") {
if (block && Object.keys(state.dump).length !== 0) {
writeBlockMapping2(state, level, state.dump, compact);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + state.dump;
}
} else {
writeFlowMapping2(state, level, state.dump);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + " " + state.dump;
}
}
} else if (type4 === "[object Array]") {
var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level;
if (block && state.dump.length !== 0) {
writeBlockSequence2(state, arrayLevel, state.dump, compact);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + state.dump;
}
} else {
writeFlowSequence2(state, arrayLevel, state.dump);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + " " + state.dump;
}
}
} else if (type4 === "[object String]") {
if (state.tag !== "?") {
writeScalar2(state, state.dump, level, iskey);
}
} else {
if (state.skipInvalid) return false;
throw new YAMLException2("unacceptable kind of an object to dump " + type4);
}
if (state.tag !== null && state.tag !== "?") {
state.dump = "!<" + state.tag + "> " + state.dump;
}
}
return true;
}
function getDuplicateReferences2(object, state) {
var objects = [], duplicatesIndexes = [], index2, length;
inspectNode2(object, objects, duplicatesIndexes);
for (index2 = 0, length = duplicatesIndexes.length; index2 < length; index2 += 1) {
state.duplicates.push(objects[duplicatesIndexes[index2]]);
}
state.usedDuplicates = new Array(length);
}
function inspectNode2(object, objects, duplicatesIndexes) {
var objectKeyList, index2, length;
if (object !== null && typeof object === "object") {
index2 = objects.indexOf(object);
if (index2 !== -1) {
if (duplicatesIndexes.indexOf(index2) === -1) {
duplicatesIndexes.push(index2);
}
} else {
objects.push(object);
if (Array.isArray(object)) {
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
inspectNode2(object[index2], objects, duplicatesIndexes);
}
} else {
objectKeyList = Object.keys(object);
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
inspectNode2(object[objectKeyList[index2]], objects, duplicatesIndexes);
}
}
}
}
}
function dump2(input, options) {
options = options || {};
var state = new State2(options);
if (!state.noRefs) getDuplicateReferences2(input, state);
if (writeNode2(state, 0, input, true, true)) return state.dump + "\n";
return "";
}
function safeDump2(input, options) {
return dump2(input, common4.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
}
module2.exports.dump = dump2;
module2.exports.safeDump = safeDump2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml.js
var require_js_yaml = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/lib/js-yaml.js"(exports2, module2) {
"use strict";
var loader2 = require_loader();
var dumper2 = require_dumper();
function deprecated(name) {
return function() {
throw new Error("Function " + name + " is deprecated and cannot be used.");
};
}
module2.exports.Type = require_type();
module2.exports.Schema = require_schema();
module2.exports.FAILSAFE_SCHEMA = require_failsafe();
module2.exports.JSON_SCHEMA = require_json();
module2.exports.CORE_SCHEMA = require_core();
module2.exports.DEFAULT_SAFE_SCHEMA = require_default_safe();
module2.exports.DEFAULT_FULL_SCHEMA = require_default_full();
module2.exports.load = loader2.load;
module2.exports.loadAll = loader2.loadAll;
module2.exports.safeLoad = loader2.safeLoad;
module2.exports.safeLoadAll = loader2.safeLoadAll;
module2.exports.dump = dumper2.dump;
module2.exports.safeDump = dumper2.safeDump;
module2.exports.YAMLException = require_exception();
module2.exports.MINIMAL_SCHEMA = require_failsafe();
module2.exports.SAFE_SCHEMA = require_default_safe();
module2.exports.DEFAULT_SCHEMA = require_default_full();
module2.exports.scan = deprecated("scan");
module2.exports.parse = deprecated("parse");
module2.exports.compose = deprecated("compose");
module2.exports.addConstructor = deprecated("addConstructor");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/index.js
var require_js_yaml2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-yaml/3.15.0/c54f9397ff82cb15bdd05886af07a74607482a66771b1479e81715c2bd21d2a7/node_modules/js-yaml/index.js"(exports2, module2) {
"use strict";
var yaml5 = require_js_yaml();
module2.exports = yaml5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/syml.js
var require_syml = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/grammars/syml.js"(exports2, module2) {
"use strict";
function peg$subclass(child, parent) {
function ctor() {
this.constructor = child;
}
ctor.prototype = parent.prototype;
child.prototype = new ctor();
}
function peg$SyntaxError(message, expected, found, location) {
this.message = message;
this.expected = expected;
this.found = found;
this.location = location;
this.name = "SyntaxError";
if (typeof Error.captureStackTrace === "function") {
Error.captureStackTrace(this, peg$SyntaxError);
}
}
peg$subclass(peg$SyntaxError, Error);
peg$SyntaxError.buildMessage = function(expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: function(expectation) {
return '"' + literalEscape(expectation.text) + '"';
},
"class": function(expectation) {
var escapedParts = "", i4;
for (i4 = 0; i4 < expectation.parts.length; i4++) {
escapedParts += expectation.parts[i4] instanceof Array ? classEscape(expectation.parts[i4][0]) + "-" + classEscape(expectation.parts[i4][1]) : classEscape(expectation.parts[i4]);
}
return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
},
any: function(expectation) {
return "any character";
},
end: function(expectation) {
return "end of input";
},
other: function(expectation) {
return expectation.description;
}
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
function literalEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function classEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
function describeExpected(expected2) {
var descriptions = new Array(expected2.length), i4, j2;
for (i4 = 0; i4 < expected2.length; i4++) {
descriptions[i4] = describeExpectation(expected2[i4]);
}
descriptions.sort();
if (descriptions.length > 0) {
for (i4 = 1, j2 = 1; i4 < descriptions.length; i4++) {
if (descriptions[i4 - 1] !== descriptions[i4]) {
descriptions[j2] = descriptions[i4];
j2++;
}
}
descriptions.length = j2;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
function peg$parse(input, options) {
options = options !== void 0 ? options : {};
var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(statements) {
return [].concat(...statements);
}, peg$c1 = "-", peg$c2 = peg$literalExpectation("-", false), peg$c3 = function(value) {
return value;
}, peg$c4 = function(statements) {
return Object.assign({}, ...statements);
}, peg$c5 = "#", peg$c6 = peg$literalExpectation("#", false), peg$c7 = peg$anyExpectation(), peg$c8 = function() {
return {};
}, peg$c9 = ":", peg$c10 = peg$literalExpectation(":", false), peg$c11 = function(property, value) {
return { [property]: value };
}, peg$c12 = ",", peg$c13 = peg$literalExpectation(",", false), peg$c14 = function(property, other) {
return other;
}, peg$c15 = function(property, others, value) {
return Object.assign({}, ...[property].concat(others).map((property2) => ({ [property2]: value })));
}, peg$c16 = function(statements) {
return statements;
}, peg$c17 = function(expression) {
return expression;
}, peg$c18 = peg$otherExpectation("correct indentation"), peg$c19 = " ", peg$c20 = peg$literalExpectation(" ", false), peg$c21 = function(spaces) {
return spaces.length === indentLevel * INDENT_STEP;
}, peg$c22 = function(spaces) {
return spaces.length === (indentLevel + 1) * INDENT_STEP;
}, peg$c23 = function() {
indentLevel++;
return true;
}, peg$c24 = function() {
indentLevel--;
return true;
}, peg$c25 = function() {
return text();
}, peg$c26 = peg$otherExpectation("pseudostring"), peg$c27 = /^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/, peg$c28 = peg$classExpectation(["\r", "\n", " ", " ", "?", ":", ",", "]", "[", "{", "}", "#", "&", "*", "!", "|", ">", "'", '"', "%", "@", "`", "-"], true, false), peg$c29 = /^[^\r\n\t ,\][{}:#"']/, peg$c30 = peg$classExpectation(["\r", "\n", " ", " ", ",", "]", "[", "{", "}", ":", "#", '"', "'"], true, false), peg$c31 = function() {
return text().replace(/^ *| *$/g, "");
}, peg$c32 = "--", peg$c33 = peg$literalExpectation("--", false), peg$c34 = /^[a-zA-Z\/0-9]/, peg$c35 = peg$classExpectation([["a", "z"], ["A", "Z"], "/", ["0", "9"]], false, false), peg$c36 = /^[^\r\n\t :,]/, peg$c37 = peg$classExpectation(["\r", "\n", " ", " ", ":", ","], true, false), peg$c38 = "null", peg$c39 = peg$literalExpectation("null", false), peg$c40 = function() {
return null;
}, peg$c41 = "true", peg$c42 = peg$literalExpectation("true", false), peg$c43 = function() {
return true;
}, peg$c44 = "false", peg$c45 = peg$literalExpectation("false", false), peg$c46 = function() {
return false;
}, peg$c47 = peg$otherExpectation("string"), peg$c48 = '"', peg$c49 = peg$literalExpectation('"', false), peg$c50 = function() {
return "";
}, peg$c51 = function(chars) {
return chars;
}, peg$c52 = function(chars) {
return chars.join(``);
}, peg$c53 = /^[^"\\\0-\x1F\x7F]/, peg$c54 = peg$classExpectation(['"', "\\", ["\0", ""], "\x7F"], true, false), peg$c55 = '\\"', peg$c56 = peg$literalExpectation('\\"', false), peg$c57 = function() {
return `"`;
}, peg$c58 = "\\\\", peg$c59 = peg$literalExpectation("\\\\", false), peg$c60 = function() {
return `\\`;
}, peg$c61 = "\\/", peg$c62 = peg$literalExpectation("\\/", false), peg$c63 = function() {
return `/`;
}, peg$c64 = "\\b", peg$c65 = peg$literalExpectation("\\b", false), peg$c66 = function() {
return `\b`;
}, peg$c67 = "\\f", peg$c68 = peg$literalExpectation("\\f", false), peg$c69 = function() {
return `\f`;
}, peg$c70 = "\\n", peg$c71 = peg$literalExpectation("\\n", false), peg$c72 = function() {
return `
`;
}, peg$c73 = "\\r", peg$c74 = peg$literalExpectation("\\r", false), peg$c75 = function() {
return `\r`;
}, peg$c76 = "\\t", peg$c77 = peg$literalExpectation("\\t", false), peg$c78 = function() {
return ` `;
}, peg$c79 = "\\u", peg$c80 = peg$literalExpectation("\\u", false), peg$c81 = function(h1, h2, h3, h4) {
return String.fromCharCode(parseInt(`0x${h1}${h2}${h3}${h4}`));
}, peg$c82 = /^[0-9a-fA-F]/, peg$c83 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false), peg$c84 = peg$otherExpectation("blank space"), peg$c85 = /^[ \t]/, peg$c86 = peg$classExpectation([" ", " "], false, false), peg$c87 = peg$otherExpectation("white space"), peg$c88 = /^[ \t\n\r]/, peg$c89 = peg$classExpectation([" ", " ", "\n", "\r"], false, false), peg$c90 = "\r\n", peg$c91 = peg$literalExpectation("\r\n", false), peg$c92 = "\n", peg$c93 = peg$literalExpectation("\n", false), peg$c94 = "\r", peg$c95 = peg$literalExpectation("\r", false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
if ("startRule" in options) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
function expected(description, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildStructuredError(
[peg$otherExpectation(description)],
input.substring(peg$savedPos, peg$currPos),
location2
);
}
function error(message, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildSimpleError(message, location2);
}
function peg$literalExpectation(text2, ignoreCase) {
return { type: "literal", text: text2, ignoreCase };
}
function peg$classExpectation(parts, inverted, ignoreCase) {
return { type: "class", parts, inverted, ignoreCase };
}
function peg$anyExpectation() {
return { type: "any" };
}
function peg$endExpectation() {
return { type: "end" };
}
function peg$otherExpectation(description) {
return { type: "other", description };
}
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos], p;
if (details) {
return details;
} else {
p = pos - 1;
while (!peg$posDetailsCache[p]) {
p--;
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column
};
while (p < pos) {
if (input.charCodeAt(p) === 10) {
details.line++;
details.column = 1;
} else {
details.column++;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
function peg$computeLocation(startPos, endPos) {
var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
return {
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
}
function peg$fail(expected2) {
if (peg$currPos < peg$maxFailPos) {
return;
}
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected2);
}
function peg$buildSimpleError(message, location2) {
return new peg$SyntaxError(message, null, null, location2);
}
function peg$buildStructuredError(expected2, found, location2) {
return new peg$SyntaxError(
peg$SyntaxError.buildMessage(expected2, found),
expected2,
found,
location2
);
}
function peg$parseStart() {
var s0;
s0 = peg$parsePropertyStatements();
return s0;
}
function peg$parseItemStatements() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseItemStatement();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseItemStatement();
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c0(s1);
}
s0 = s1;
return s0;
}
function peg$parseItemStatement() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parseSamedent();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 45) {
s2 = peg$c1;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c2);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseB();
if (s3 !== peg$FAILED) {
s4 = peg$parseExpression();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c3(s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsePropertyStatements() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parsePropertyStatement();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parsePropertyStatement();
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c4(s1);
}
s0 = s1;
return s0;
}
function peg$parsePropertyStatement() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
s1 = peg$parseB();
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 35) {
s3 = peg$c5;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c6);
}
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$parseEOL();
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c7);
}
}
if (s7 !== peg$FAILED) {
s6 = [s6, s7];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$parseEOL();
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c7);
}
}
if (s7 !== peg$FAILED) {
s6 = [s6, s7];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s3 = [s3, s4];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseEOL_ANY();
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseEOL_ANY();
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c8();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSamedent();
if (s1 !== peg$FAILED) {
s2 = peg$parseName();
if (s2 !== peg$FAILED) {
s3 = peg$parseB();
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s4 = peg$c9;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c10);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseB();
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
s6 = peg$parseExpression();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c11(s2, s6);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSamedent();
if (s1 !== peg$FAILED) {
s2 = peg$parseLegacyName();
if (s2 !== peg$FAILED) {
s3 = peg$parseB();
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s4 = peg$c9;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c10);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseB();
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
s6 = peg$parseExpression();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c11(s2, s6);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSamedent();
if (s1 !== peg$FAILED) {
s2 = peg$parseLegacyName();
if (s2 !== peg$FAILED) {
s3 = peg$parseB();
if (s3 !== peg$FAILED) {
s4 = peg$parseLegacyLiteral();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseEOL_ANY();
if (s6 !== peg$FAILED) {
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseEOL_ANY();
}
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c11(s2, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSamedent();
if (s1 !== peg$FAILED) {
s2 = peg$parseLegacyName();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
s5 = peg$parseB();
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s6 = peg$c12;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c13);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseB();
if (s7 === peg$FAILED) {
s7 = null;
}
if (s7 !== peg$FAILED) {
s8 = peg$parseLegacyName();
if (s8 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c14(s2, s8);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$parseB();
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s6 = peg$c12;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c13);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseB();
if (s7 === peg$FAILED) {
s7 = null;
}
if (s7 !== peg$FAILED) {
s8 = peg$parseLegacyName();
if (s8 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c14(s2, s8);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseB();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s5 = peg$c9;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c10);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseB();
if (s6 === peg$FAILED) {
s6 = null;
}
if (s6 !== peg$FAILED) {
s7 = peg$parseExpression();
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c15(s2, s3, s7);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
return s0;
}
function peg$parseExpression() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = peg$currPos;
s3 = peg$parseEOL();
if (s3 !== peg$FAILED) {
s4 = peg$parseExtradent();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 45) {
s5 = peg$c1;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c2);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseB();
if (s6 !== peg$FAILED) {
s3 = [s3, s4, s5, s6];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
peg$silentFails--;
if (s2 !== peg$FAILED) {
peg$currPos = s1;
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEOL_ANY();
if (s2 !== peg$FAILED) {
s3 = peg$parseIndent();
if (s3 !== peg$FAILED) {
s4 = peg$parseItemStatements();
if (s4 !== peg$FAILED) {
s5 = peg$parseDedent();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c16(s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseEOL();
if (s1 !== peg$FAILED) {
s2 = peg$parseIndent();
if (s2 !== peg$FAILED) {
s3 = peg$parsePropertyStatements();
if (s3 !== peg$FAILED) {
s4 = peg$parseDedent();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c16(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseLiteral();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseEOL_ANY();
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseEOL_ANY();
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c17(s1);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
function peg$parseSamedent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
if (input.charCodeAt(peg$currPos) === 32) {
s2 = peg$c19;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c20);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
if (input.charCodeAt(peg$currPos) === 32) {
s2 = peg$c19;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c20);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$c21(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c18);
}
}
return s0;
}
function peg$parseExtradent() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
if (input.charCodeAt(peg$currPos) === 32) {
s2 = peg$c19;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c20);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
if (input.charCodeAt(peg$currPos) === 32) {
s2 = peg$c19;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c20);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$c22(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseIndent() {
var s0;
peg$savedPos = peg$currPos;
s0 = peg$c23();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
return s0;
}
function peg$parseDedent() {
var s0;
peg$savedPos = peg$currPos;
s0 = peg$c24();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
return s0;
}
function peg$parseName() {
var s0;
s0 = peg$parsestring();
if (s0 === peg$FAILED) {
s0 = peg$parsepseudostring();
}
return s0;
}
function peg$parseLegacyName() {
var s0, s1, s2;
s0 = peg$parsestring();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parsepseudostringLegacy();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parsepseudostringLegacy();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c25();
}
s0 = s1;
}
return s0;
}
function peg$parseLiteral() {
var s0;
s0 = peg$parsenull();
if (s0 === peg$FAILED) {
s0 = peg$parseboolean();
if (s0 === peg$FAILED) {
s0 = peg$parsestring();
if (s0 === peg$FAILED) {
s0 = peg$parsepseudostring();
}
}
}
return s0;
}
function peg$parseLegacyLiteral() {
var s0;
s0 = peg$parsenull();
if (s0 === peg$FAILED) {
s0 = peg$parsestring();
if (s0 === peg$FAILED) {
s0 = peg$parsepseudostringLegacy();
}
}
return s0;
}
function peg$parsepseudostring() {
var s0, s1, s2, s3, s4, s5;
peg$silentFails++;
s0 = peg$currPos;
if (peg$c27.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c28);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseB();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
if (peg$c29.test(input.charAt(peg$currPos))) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c30);
}
}
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseB();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
if (peg$c29.test(input.charAt(peg$currPos))) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c30);
}
}
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c31();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c26);
}
}
return s0;
}
function peg$parsepseudostringLegacy() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c32) {
s1 = peg$c32;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c33);
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
if (peg$c34.test(input.charAt(peg$currPos))) {
s2 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c35);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
if (peg$c36.test(input.charAt(peg$currPos))) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c37);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
if (peg$c36.test(input.charAt(peg$currPos))) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c37);
}
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c31();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsenull() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c38) {
s1 = peg$c38;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c39);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c40();
}
s0 = s1;
return s0;
}
function peg$parseboolean() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c41) {
s1 = peg$c41;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c42);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c43();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c44) {
s1 = peg$c44;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c45);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c46();
}
s0 = s1;
}
return s0;
}
function peg$parsestring() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c48;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c49);
}
}
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 34) {
s2 = peg$c48;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c49);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c50();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c48;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c49);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parsechars();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c48;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c49);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c51(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c47);
}
}
return s0;
}
function peg$parsechars() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parsechar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parsechar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c52(s1);
}
s0 = s1;
return s0;
}
function peg$parsechar() {
var s0, s1, s2, s3, s4, s5;
if (peg$c53.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c54);
}
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c55) {
s1 = peg$c55;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c56);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c57();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c58) {
s1 = peg$c58;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c59);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c60();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c61) {
s1 = peg$c61;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c62);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c63();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c64) {
s1 = peg$c64;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c65);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c66();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c67) {
s1 = peg$c67;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c68);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c69();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c70) {
s1 = peg$c70;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c71);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c72();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c73) {
s1 = peg$c73;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c74);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c75();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c76) {
s1 = peg$c76;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c77);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c78();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c79) {
s1 = peg$c79;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c80);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parsehexDigit();
if (s2 !== peg$FAILED) {
s3 = peg$parsehexDigit();
if (s3 !== peg$FAILED) {
s4 = peg$parsehexDigit();
if (s4 !== peg$FAILED) {
s5 = peg$parsehexDigit();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c81(s2, s3, s4, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
return s0;
}
function peg$parsehexDigit() {
var s0;
if (peg$c82.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c83);
}
}
return s0;
}
function peg$parseB() {
var s0, s1;
peg$silentFails++;
s0 = [];
if (peg$c85.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c86);
}
}
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
if (peg$c85.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c86);
}
}
}
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c84);
}
}
return s0;
}
function peg$parseS() {
var s0, s1;
peg$silentFails++;
s0 = [];
if (peg$c88.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c89);
}
}
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
if (peg$c88.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c89);
}
}
}
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c87);
}
}
return s0;
}
function peg$parseEOL_ANY() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseEOL();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseB();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseEOL();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseB();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseEOL();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseEOL() {
var s0;
if (input.substr(peg$currPos, 2) === peg$c90) {
s0 = peg$c90;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c91);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s0 = peg$c92;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c93);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 13) {
s0 = peg$c94;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c95);
}
}
}
}
return s0;
}
const INDENT_STEP = 2;
let indentLevel = 0;
peg$result = peg$startRuleFunction();
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
peg$fail(peg$endExpectation());
}
throw peg$buildStructuredError(
peg$maxFailExpected,
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
);
}
}
module2.exports = {
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/syml.js
var require_syml2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/syml.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PreserveOrdering = void 0;
exports2.stringifySyml = stringifySyml;
exports2.parseSyml = parseSyml;
var js_yaml_1 = require_js_yaml2();
var syml_1 = require_syml();
var simpleStringPattern = /^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/;
var specialObjectKeys = [`__metadata`, `version`, `resolution`, `dependencies`, `peerDependencies`, `dependenciesMeta`, `peerDependenciesMeta`, `binaries`];
var PreserveOrdering = class {
constructor(data) {
this.data = data;
}
};
exports2.PreserveOrdering = PreserveOrdering;
function stringifyString(value) {
if (value.match(simpleStringPattern)) {
return value;
} else {
return JSON.stringify(value);
}
}
function isRemovableField(value) {
if (typeof value === `undefined`)
return true;
if (typeof value === `object` && value !== null && !Array.isArray(value))
return Object.keys(value).every((key) => isRemovableField(value[key]));
return false;
}
function stringifyValue(value, indentLevel, newLineIfObject) {
if (value === null)
return `null
`;
if (typeof value === `number` || typeof value === `boolean`)
return `${value.toString()}
`;
if (typeof value === `string`)
return `${stringifyString(value)}
`;
if (Array.isArray(value)) {
if (value.length === 0)
return `[]
`;
const indent = ` `.repeat(indentLevel);
const serialized = value.map((sub) => {
return `${indent}- ${stringifyValue(sub, indentLevel + 1, false)}`;
}).join(``);
return `
${serialized}`;
}
if (typeof value === `object` && value) {
const [data, sort] = value instanceof PreserveOrdering ? [value.data, false] : [value, true];
const indent = ` `.repeat(indentLevel);
const keys4 = Object.keys(data);
if (sort) {
keys4.sort((a2, b) => {
const aIndex = specialObjectKeys.indexOf(a2);
const bIndex = specialObjectKeys.indexOf(b);
if (aIndex === -1 && bIndex === -1)
return a2 < b ? -1 : a2 > b ? 1 : 0;
if (aIndex !== -1 && bIndex === -1)
return -1;
if (aIndex === -1 && bIndex !== -1)
return 1;
return aIndex - bIndex;
});
}
const fields = keys4.filter((key) => {
return !isRemovableField(data[key]);
}).map((key, index2) => {
const value2 = data[key];
const stringifiedKey = stringifyString(key);
const stringifiedValue = stringifyValue(value2, indentLevel + 1, true);
const recordIndentation = index2 > 0 || newLineIfObject ? indent : ``;
const keyPart = stringifiedKey.length > 1024 ? `? ${stringifiedKey}
${recordIndentation}:` : `${stringifiedKey}:`;
const valuePart = stringifiedValue.startsWith(`
`) ? stringifiedValue : ` ${stringifiedValue}`;
return `${recordIndentation}${keyPart}${valuePart}`;
}).join(indentLevel === 0 ? `
` : ``) || `
`;
if (!newLineIfObject) {
return `${fields}`;
} else {
return `
${fields}`;
}
}
throw new Error(`Unsupported value type (${value})`);
}
function stringifySyml(value) {
try {
const stringified = stringifyValue(value, 0, false);
return stringified !== `
` ? stringified : ``;
} catch (error) {
if (error.location)
error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
throw error;
}
}
stringifySyml.PreserveOrdering = PreserveOrdering;
function parseViaPeg(source) {
if (!source.endsWith(`
`))
source += `
`;
return (0, syml_1.parse)(source);
}
var LEGACY_REGEXP = /^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;
function parseViaJsYaml(source) {
if (LEGACY_REGEXP.test(source))
return parseViaPeg(source);
const value = (0, js_yaml_1.safeLoad)(source, {
schema: js_yaml_1.FAILSAFE_SCHEMA,
json: true
});
if (value === void 0 || value === null)
return {};
if (typeof value !== `object`)
throw new Error(`Expected an indexed object, got a ${typeof value} instead. Does your file follow Yaml's rules?`);
if (Array.isArray(value))
throw new Error(`Expected an indexed object, got an array instead. Does your file follow Yaml's rules?`);
return value;
}
function parseSyml(source) {
return parseViaJsYaml(source);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/index.js
var require_lib3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/parsers/3.0.3/8a40a6e3fc1d026e3eec58c9a9d234f5c21a191df6e66242e0507871c7724a19/node_modules/@yarnpkg/parsers/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.stringifySyml = exports2.parseSyml = exports2.stringifyResolution = exports2.parseResolution = exports2.stringifyValueArgument = exports2.stringifyShellLine = exports2.stringifyRedirectArgument = exports2.stringifyEnvSegment = exports2.stringifyCommandLineThen = exports2.stringifyCommandLine = exports2.stringifyCommandChainThen = exports2.stringifyCommandChain = exports2.stringifyCommand = exports2.stringifyArithmeticExpression = exports2.stringifyArgumentSegment = exports2.stringifyArgument = exports2.stringifyShell = exports2.parseShell = void 0;
var shell_1 = require_shell2();
Object.defineProperty(exports2, "parseShell", { enumerable: true, get: function() {
return shell_1.parseShell;
} });
Object.defineProperty(exports2, "stringifyShell", { enumerable: true, get: function() {
return shell_1.stringifyShell;
} });
Object.defineProperty(exports2, "stringifyArgument", { enumerable: true, get: function() {
return shell_1.stringifyArgument;
} });
Object.defineProperty(exports2, "stringifyArgumentSegment", { enumerable: true, get: function() {
return shell_1.stringifyArgumentSegment;
} });
Object.defineProperty(exports2, "stringifyArithmeticExpression", { enumerable: true, get: function() {
return shell_1.stringifyArithmeticExpression;
} });
Object.defineProperty(exports2, "stringifyCommand", { enumerable: true, get: function() {
return shell_1.stringifyCommand;
} });
Object.defineProperty(exports2, "stringifyCommandChain", { enumerable: true, get: function() {
return shell_1.stringifyCommandChain;
} });
Object.defineProperty(exports2, "stringifyCommandChainThen", { enumerable: true, get: function() {
return shell_1.stringifyCommandChainThen;
} });
Object.defineProperty(exports2, "stringifyCommandLine", { enumerable: true, get: function() {
return shell_1.stringifyCommandLine;
} });
Object.defineProperty(exports2, "stringifyCommandLineThen", { enumerable: true, get: function() {
return shell_1.stringifyCommandLineThen;
} });
Object.defineProperty(exports2, "stringifyEnvSegment", { enumerable: true, get: function() {
return shell_1.stringifyEnvSegment;
} });
Object.defineProperty(exports2, "stringifyRedirectArgument", { enumerable: true, get: function() {
return shell_1.stringifyRedirectArgument;
} });
Object.defineProperty(exports2, "stringifyShellLine", { enumerable: true, get: function() {
return shell_1.stringifyShellLine;
} });
Object.defineProperty(exports2, "stringifyValueArgument", { enumerable: true, get: function() {
return shell_1.stringifyValueArgument;
} });
var resolution_1 = require_resolution2();
Object.defineProperty(exports2, "parseResolution", { enumerable: true, get: function() {
return resolution_1.parseResolution;
} });
Object.defineProperty(exports2, "stringifyResolution", { enumerable: true, get: function() {
return resolution_1.stringifyResolution;
} });
var syml_1 = require_syml2();
Object.defineProperty(exports2, "parseSyml", { enumerable: true, get: function() {
return syml_1.parseSyml;
} });
Object.defineProperty(exports2, "stringifySyml", { enumerable: true, get: function() {
return syml_1.stringifySyml;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-name/1.1.4/db1acd33dd83fced9587bc0d94d0a4a5899ce138b7a3312624091f84f811efb4/node_modules/color-name/index.js
var require_color_name = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-name/1.1.4/db1acd33dd83fced9587bc0d94d0a4a5899ce138b7a3312624091f84f811efb4/node_modules/color-name/index.js"(exports2, module2) {
"use strict";
module2.exports = {
"aliceblue": [240, 248, 255],
"antiquewhite": [250, 235, 215],
"aqua": [0, 255, 255],
"aquamarine": [127, 255, 212],
"azure": [240, 255, 255],
"beige": [245, 245, 220],
"bisque": [255, 228, 196],
"black": [0, 0, 0],
"blanchedalmond": [255, 235, 205],
"blue": [0, 0, 255],
"blueviolet": [138, 43, 226],
"brown": [165, 42, 42],
"burlywood": [222, 184, 135],
"cadetblue": [95, 158, 160],
"chartreuse": [127, 255, 0],
"chocolate": [210, 105, 30],
"coral": [255, 127, 80],
"cornflowerblue": [100, 149, 237],
"cornsilk": [255, 248, 220],
"crimson": [220, 20, 60],
"cyan": [0, 255, 255],
"darkblue": [0, 0, 139],
"darkcyan": [0, 139, 139],
"darkgoldenrod": [184, 134, 11],
"darkgray": [169, 169, 169],
"darkgreen": [0, 100, 0],
"darkgrey": [169, 169, 169],
"darkkhaki": [189, 183, 107],
"darkmagenta": [139, 0, 139],
"darkolivegreen": [85, 107, 47],
"darkorange": [255, 140, 0],
"darkorchid": [153, 50, 204],
"darkred": [139, 0, 0],
"darksalmon": [233, 150, 122],
"darkseagreen": [143, 188, 143],
"darkslateblue": [72, 61, 139],
"darkslategray": [47, 79, 79],
"darkslategrey": [47, 79, 79],
"darkturquoise": [0, 206, 209],
"darkviolet": [148, 0, 211],
"deeppink": [255, 20, 147],
"deepskyblue": [0, 191, 255],
"dimgray": [105, 105, 105],
"dimgrey": [105, 105, 105],
"dodgerblue": [30, 144, 255],
"firebrick": [178, 34, 34],
"floralwhite": [255, 250, 240],
"forestgreen": [34, 139, 34],
"fuchsia": [255, 0, 255],
"gainsboro": [220, 220, 220],
"ghostwhite": [248, 248, 255],
"gold": [255, 215, 0],
"goldenrod": [218, 165, 32],
"gray": [128, 128, 128],
"green": [0, 128, 0],
"greenyellow": [173, 255, 47],
"grey": [128, 128, 128],
"honeydew": [240, 255, 240],
"hotpink": [255, 105, 180],
"indianred": [205, 92, 92],
"indigo": [75, 0, 130],
"ivory": [255, 255, 240],
"khaki": [240, 230, 140],
"lavender": [230, 230, 250],
"lavenderblush": [255, 240, 245],
"lawngreen": [124, 252, 0],
"lemonchiffon": [255, 250, 205],
"lightblue": [173, 216, 230],
"lightcoral": [240, 128, 128],
"lightcyan": [224, 255, 255],
"lightgoldenrodyellow": [250, 250, 210],
"lightgray": [211, 211, 211],
"lightgreen": [144, 238, 144],
"lightgrey": [211, 211, 211],
"lightpink": [255, 182, 193],
"lightsalmon": [255, 160, 122],
"lightseagreen": [32, 178, 170],
"lightskyblue": [135, 206, 250],
"lightslategray": [119, 136, 153],
"lightslategrey": [119, 136, 153],
"lightsteelblue": [176, 196, 222],
"lightyellow": [255, 255, 224],
"lime": [0, 255, 0],
"limegreen": [50, 205, 50],
"linen": [250, 240, 230],
"magenta": [255, 0, 255],
"maroon": [128, 0, 0],
"mediumaquamarine": [102, 205, 170],
"mediumblue": [0, 0, 205],
"mediumorchid": [186, 85, 211],
"mediumpurple": [147, 112, 219],
"mediumseagreen": [60, 179, 113],
"mediumslateblue": [123, 104, 238],
"mediumspringgreen": [0, 250, 154],
"mediumturquoise": [72, 209, 204],
"mediumvioletred": [199, 21, 133],
"midnightblue": [25, 25, 112],
"mintcream": [245, 255, 250],
"mistyrose": [255, 228, 225],
"moccasin": [255, 228, 181],
"navajowhite": [255, 222, 173],
"navy": [0, 0, 128],
"oldlace": [253, 245, 230],
"olive": [128, 128, 0],
"olivedrab": [107, 142, 35],
"orange": [255, 165, 0],
"orangered": [255, 69, 0],
"orchid": [218, 112, 214],
"palegoldenrod": [238, 232, 170],
"palegreen": [152, 251, 152],
"paleturquoise": [175, 238, 238],
"palevioletred": [219, 112, 147],
"papayawhip": [255, 239, 213],
"peachpuff": [255, 218, 185],
"peru": [205, 133, 63],
"pink": [255, 192, 203],
"plum": [221, 160, 221],
"powderblue": [176, 224, 230],
"purple": [128, 0, 128],
"rebeccapurple": [102, 51, 153],
"red": [255, 0, 0],
"rosybrown": [188, 143, 143],
"royalblue": [65, 105, 225],
"saddlebrown": [139, 69, 19],
"salmon": [250, 128, 114],
"sandybrown": [244, 164, 96],
"seagreen": [46, 139, 87],
"seashell": [255, 245, 238],
"sienna": [160, 82, 45],
"silver": [192, 192, 192],
"skyblue": [135, 206, 235],
"slateblue": [106, 90, 205],
"slategray": [112, 128, 144],
"slategrey": [112, 128, 144],
"snow": [255, 250, 250],
"springgreen": [0, 255, 127],
"steelblue": [70, 130, 180],
"tan": [210, 180, 140],
"teal": [0, 128, 128],
"thistle": [216, 191, 216],
"tomato": [255, 99, 71],
"turquoise": [64, 224, 208],
"violet": [238, 130, 238],
"wheat": [245, 222, 179],
"white": [255, 255, 255],
"whitesmoke": [245, 245, 245],
"yellow": [255, 255, 0],
"yellowgreen": [154, 205, 50]
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/conversions.js
var require_conversions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/conversions.js"(exports2, module2) {
var cssKeywords = require_color_name();
var reverseKeywords = {};
for (const key of Object.keys(cssKeywords)) {
reverseKeywords[cssKeywords[key]] = key;
}
var convert = {
rgb: { channels: 3, labels: "rgb" },
hsl: { channels: 3, labels: "hsl" },
hsv: { channels: 3, labels: "hsv" },
hwb: { channels: 3, labels: "hwb" },
cmyk: { channels: 4, labels: "cmyk" },
xyz: { channels: 3, labels: "xyz" },
lab: { channels: 3, labels: "lab" },
lch: { channels: 3, labels: "lch" },
hex: { channels: 1, labels: ["hex"] },
keyword: { channels: 1, labels: ["keyword"] },
ansi16: { channels: 1, labels: ["ansi16"] },
ansi256: { channels: 1, labels: ["ansi256"] },
hcg: { channels: 3, labels: ["h", "c", "g"] },
apple: { channels: 3, labels: ["r16", "g16", "b16"] },
gray: { channels: 1, labels: ["gray"] }
};
module2.exports = convert;
for (const model of Object.keys(convert)) {
if (!("channels" in convert[model])) {
throw new Error("missing channels property: " + model);
}
if (!("labels" in convert[model])) {
throw new Error("missing channel labels property: " + model);
}
if (convert[model].labels.length !== convert[model].channels) {
throw new Error("channel and label counts mismatch: " + model);
}
const { channels, labels } = convert[model];
delete convert[model].channels;
delete convert[model].labels;
Object.defineProperty(convert[model], "channels", { value: channels });
Object.defineProperty(convert[model], "labels", { value: labels });
}
convert.rgb.hsl = function(rgb) {
const r = rgb[0] / 255;
const g = rgb[1] / 255;
const b = rgb[2] / 255;
const min = Math.min(r, g, b);
const max4 = Math.max(r, g, b);
const delta = max4 - min;
let h2;
let s;
if (max4 === min) {
h2 = 0;
} else if (r === max4) {
h2 = (g - b) / delta;
} else if (g === max4) {
h2 = 2 + (b - r) / delta;
} else if (b === max4) {
h2 = 4 + (r - g) / delta;
}
h2 = Math.min(h2 * 60, 360);
if (h2 < 0) {
h2 += 360;
}
const l = (min + max4) / 2;
if (max4 === min) {
s = 0;
} else if (l <= 0.5) {
s = delta / (max4 + min);
} else {
s = delta / (2 - max4 - min);
}
return [h2, s * 100, l * 100];
};
convert.rgb.hsv = function(rgb) {
let rdif;
let gdif;
let bdif;
let h2;
let s;
const r = rgb[0] / 255;
const g = rgb[1] / 255;
const b = rgb[2] / 255;
const v = Math.max(r, g, b);
const diff2 = v - Math.min(r, g, b);
const diffc = function(c3) {
return (v - c3) / 6 / diff2 + 1 / 2;
};
if (diff2 === 0) {
h2 = 0;
s = 0;
} else {
s = diff2 / v;
rdif = diffc(r);
gdif = diffc(g);
bdif = diffc(b);
if (r === v) {
h2 = bdif - gdif;
} else if (g === v) {
h2 = 1 / 3 + rdif - bdif;
} else if (b === v) {
h2 = 2 / 3 + gdif - rdif;
}
if (h2 < 0) {
h2 += 1;
} else if (h2 > 1) {
h2 -= 1;
}
}
return [
h2 * 360,
s * 100,
v * 100
];
};
convert.rgb.hwb = function(rgb) {
const r = rgb[0];
const g = rgb[1];
let b = rgb[2];
const h2 = convert.rgb.hsl(rgb)[0];
const w = 1 / 255 * Math.min(r, Math.min(g, b));
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
return [h2, w * 100, b * 100];
};
convert.rgb.cmyk = function(rgb) {
const r = rgb[0] / 255;
const g = rgb[1] / 255;
const b = rgb[2] / 255;
const k2 = Math.min(1 - r, 1 - g, 1 - b);
const c3 = (1 - r - k2) / (1 - k2) || 0;
const m = (1 - g - k2) / (1 - k2) || 0;
const y = (1 - b - k2) / (1 - k2) || 0;
return [c3 * 100, m * 100, y * 100, k2 * 100];
};
function comparativeDistance(x3, y) {
return (x3[0] - y[0]) ** 2 + (x3[1] - y[1]) ** 2 + (x3[2] - y[2]) ** 2;
}
convert.rgb.keyword = function(rgb) {
const reversed = reverseKeywords[rgb];
if (reversed) {
return reversed;
}
let currentClosestDistance = Infinity;
let currentClosestKeyword;
for (const keyword of Object.keys(cssKeywords)) {
const value = cssKeywords[keyword];
const distance2 = comparativeDistance(rgb, value);
if (distance2 < currentClosestDistance) {
currentClosestDistance = distance2;
currentClosestKeyword = keyword;
}
}
return currentClosestKeyword;
};
convert.keyword.rgb = function(keyword) {
return cssKeywords[keyword];
};
convert.rgb.xyz = function(rgb) {
let r = rgb[0] / 255;
let g = rgb[1] / 255;
let b = rgb[2] / 255;
r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92;
g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92;
b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
const x3 = r * 0.4124 + g * 0.3576 + b * 0.1805;
const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
return [x3 * 100, y * 100, z * 100];
};
convert.rgb.lab = function(rgb) {
const xyz = convert.rgb.xyz(rgb);
let x3 = xyz[0];
let y = xyz[1];
let z = xyz[2];
x3 /= 95.047;
y /= 100;
z /= 108.883;
x3 = x3 > 8856e-6 ? x3 ** (1 / 3) : 7.787 * x3 + 16 / 116;
y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
const l = 116 * y - 16;
const a2 = 500 * (x3 - y);
const b = 200 * (y - z);
return [l, a2, b];
};
convert.hsl.rgb = function(hsl) {
const h2 = hsl[0] / 360;
const s = hsl[1] / 100;
const l = hsl[2] / 100;
let t2;
let t3;
let val;
if (s === 0) {
val = l * 255;
return [val, val, val];
}
if (l < 0.5) {
t2 = l * (1 + s);
} else {
t2 = l + s - l * s;
}
const t1 = 2 * l - t2;
const rgb = [0, 0, 0];
for (let i4 = 0; i4 < 3; i4++) {
t3 = h2 + 1 / 3 * -(i4 - 1);
if (t3 < 0) {
t3++;
}
if (t3 > 1) {
t3--;
}
if (6 * t3 < 1) {
val = t1 + (t2 - t1) * 6 * t3;
} else if (2 * t3 < 1) {
val = t2;
} else if (3 * t3 < 2) {
val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
} else {
val = t1;
}
rgb[i4] = val * 255;
}
return rgb;
};
convert.hsl.hsv = function(hsl) {
const h2 = hsl[0];
let s = hsl[1] / 100;
let l = hsl[2] / 100;
let smin = s;
const lmin = Math.max(l, 0.01);
l *= 2;
s *= l <= 1 ? l : 2 - l;
smin *= lmin <= 1 ? lmin : 2 - lmin;
const v = (l + s) / 2;
const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
return [h2, sv * 100, v * 100];
};
convert.hsv.rgb = function(hsv) {
const h2 = hsv[0] / 60;
const s = hsv[1] / 100;
let v = hsv[2] / 100;
const hi = Math.floor(h2) % 6;
const f = h2 - Math.floor(h2);
const p = 255 * v * (1 - s);
const q = 255 * v * (1 - s * f);
const t2 = 255 * v * (1 - s * (1 - f));
v *= 255;
switch (hi) {
case 0:
return [v, t2, p];
case 1:
return [q, v, p];
case 2:
return [p, v, t2];
case 3:
return [p, q, v];
case 4:
return [t2, p, v];
case 5:
return [v, p, q];
}
};
convert.hsv.hsl = function(hsv) {
const h2 = hsv[0];
const s = hsv[1] / 100;
const v = hsv[2] / 100;
const vmin = Math.max(v, 0.01);
let sl;
let l;
l = (2 - s) * v;
const lmin = (2 - s) * vmin;
sl = s * vmin;
sl /= lmin <= 1 ? lmin : 2 - lmin;
sl = sl || 0;
l /= 2;
return [h2, sl * 100, l * 100];
};
convert.hwb.rgb = function(hwb) {
const h2 = hwb[0] / 360;
let wh = hwb[1] / 100;
let bl = hwb[2] / 100;
const ratio = wh + bl;
let f;
if (ratio > 1) {
wh /= ratio;
bl /= ratio;
}
const i4 = Math.floor(6 * h2);
const v = 1 - bl;
f = 6 * h2 - i4;
if ((i4 & 1) !== 0) {
f = 1 - f;
}
const n2 = wh + f * (v - wh);
let r;
let g;
let b;
switch (i4) {
default:
case 6:
case 0:
r = v;
g = n2;
b = wh;
break;
case 1:
r = n2;
g = v;
b = wh;
break;
case 2:
r = wh;
g = v;
b = n2;
break;
case 3:
r = wh;
g = n2;
b = v;
break;
case 4:
r = n2;
g = wh;
b = v;
break;
case 5:
r = v;
g = wh;
b = n2;
break;
}
return [r * 255, g * 255, b * 255];
};
convert.cmyk.rgb = function(cmyk) {
const c3 = cmyk[0] / 100;
const m = cmyk[1] / 100;
const y = cmyk[2] / 100;
const k2 = cmyk[3] / 100;
const r = 1 - Math.min(1, c3 * (1 - k2) + k2);
const g = 1 - Math.min(1, m * (1 - k2) + k2);
const b = 1 - Math.min(1, y * (1 - k2) + k2);
return [r * 255, g * 255, b * 255];
};
convert.xyz.rgb = function(xyz) {
const x3 = xyz[0] / 100;
const y = xyz[1] / 100;
const z = xyz[2] / 100;
let r;
let g;
let b;
r = x3 * 3.2406 + y * -1.5372 + z * -0.4986;
g = x3 * -0.9689 + y * 1.8758 + z * 0.0415;
b = x3 * 0.0557 + y * -0.204 + z * 1.057;
r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92;
g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92;
b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92;
r = Math.min(Math.max(0, r), 1);
g = Math.min(Math.max(0, g), 1);
b = Math.min(Math.max(0, b), 1);
return [r * 255, g * 255, b * 255];
};
convert.xyz.lab = function(xyz) {
let x3 = xyz[0];
let y = xyz[1];
let z = xyz[2];
x3 /= 95.047;
y /= 100;
z /= 108.883;
x3 = x3 > 8856e-6 ? x3 ** (1 / 3) : 7.787 * x3 + 16 / 116;
y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
const l = 116 * y - 16;
const a2 = 500 * (x3 - y);
const b = 200 * (y - z);
return [l, a2, b];
};
convert.lab.xyz = function(lab) {
const l = lab[0];
const a2 = lab[1];
const b = lab[2];
let x3;
let y;
let z;
y = (l + 16) / 116;
x3 = a2 / 500 + y;
z = y - b / 200;
const y2 = y ** 3;
const x22 = x3 ** 3;
const z2 = z ** 3;
y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
x3 = x22 > 8856e-6 ? x22 : (x3 - 16 / 116) / 7.787;
z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
x3 *= 95.047;
y *= 100;
z *= 108.883;
return [x3, y, z];
};
convert.lab.lch = function(lab) {
const l = lab[0];
const a2 = lab[1];
const b = lab[2];
let h2;
const hr = Math.atan2(b, a2);
h2 = hr * 360 / 2 / Math.PI;
if (h2 < 0) {
h2 += 360;
}
const c3 = Math.sqrt(a2 * a2 + b * b);
return [l, c3, h2];
};
convert.lch.lab = function(lch) {
const l = lch[0];
const c3 = lch[1];
const h2 = lch[2];
const hr = h2 / 360 * 2 * Math.PI;
const a2 = c3 * Math.cos(hr);
const b = c3 * Math.sin(hr);
return [l, a2, b];
};
convert.rgb.ansi16 = function(args, saturation = null) {
const [r, g, b] = args;
let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
value = Math.round(value / 50);
if (value === 0) {
return 30;
}
let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
if (value === 2) {
ansi += 60;
}
return ansi;
};
convert.hsv.ansi16 = function(args) {
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
};
convert.rgb.ansi256 = function(args) {
const r = args[0];
const g = args[1];
const b = args[2];
if (r === g && g === b) {
if (r < 8) {
return 16;
}
if (r > 248) {
return 231;
}
return Math.round((r - 8) / 247 * 24) + 232;
}
const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
return ansi;
};
convert.ansi16.rgb = function(args) {
let color = args % 10;
if (color === 0 || color === 7) {
if (args > 50) {
color += 3.5;
}
color = color / 10.5 * 255;
return [color, color, color];
}
const mult = (~~(args > 50) + 1) * 0.5;
const r = (color & 1) * mult * 255;
const g = (color >> 1 & 1) * mult * 255;
const b = (color >> 2 & 1) * mult * 255;
return [r, g, b];
};
convert.ansi256.rgb = function(args) {
if (args >= 232) {
const c3 = (args - 232) * 10 + 8;
return [c3, c3, c3];
}
args -= 16;
let rem;
const r = Math.floor(args / 36) / 5 * 255;
const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
const b = rem % 6 / 5 * 255;
return [r, g, b];
};
convert.rgb.hex = function(args) {
const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
const string = integer.toString(16).toUpperCase();
return "000000".substring(string.length) + string;
};
convert.hex.rgb = function(args) {
const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if (!match) {
return [0, 0, 0];
}
let colorString = match[0];
if (match[0].length === 3) {
colorString = colorString.split("").map((char) => {
return char + char;
}).join("");
}
const integer = parseInt(colorString, 16);
const r = integer >> 16 & 255;
const g = integer >> 8 & 255;
const b = integer & 255;
return [r, g, b];
};
convert.rgb.hcg = function(rgb) {
const r = rgb[0] / 255;
const g = rgb[1] / 255;
const b = rgb[2] / 255;
const max4 = Math.max(Math.max(r, g), b);
const min = Math.min(Math.min(r, g), b);
const chroma = max4 - min;
let grayscale;
let hue;
if (chroma < 1) {
grayscale = min / (1 - chroma);
} else {
grayscale = 0;
}
if (chroma <= 0) {
hue = 0;
} else if (max4 === r) {
hue = (g - b) / chroma % 6;
} else if (max4 === g) {
hue = 2 + (b - r) / chroma;
} else {
hue = 4 + (r - g) / chroma;
}
hue /= 6;
hue %= 1;
return [hue * 360, chroma * 100, grayscale * 100];
};
convert.hsl.hcg = function(hsl) {
const s = hsl[1] / 100;
const l = hsl[2] / 100;
const c3 = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
let f = 0;
if (c3 < 1) {
f = (l - 0.5 * c3) / (1 - c3);
}
return [hsl[0], c3 * 100, f * 100];
};
convert.hsv.hcg = function(hsv) {
const s = hsv[1] / 100;
const v = hsv[2] / 100;
const c3 = s * v;
let f = 0;
if (c3 < 1) {
f = (v - c3) / (1 - c3);
}
return [hsv[0], c3 * 100, f * 100];
};
convert.hcg.rgb = function(hcg) {
const h2 = hcg[0] / 360;
const c3 = hcg[1] / 100;
const g = hcg[2] / 100;
if (c3 === 0) {
return [g * 255, g * 255, g * 255];
}
const pure = [0, 0, 0];
const hi = h2 % 1 * 6;
const v = hi % 1;
const w = 1 - v;
let mg = 0;
switch (Math.floor(hi)) {
case 0:
pure[0] = 1;
pure[1] = v;
pure[2] = 0;
break;
case 1:
pure[0] = w;
pure[1] = 1;
pure[2] = 0;
break;
case 2:
pure[0] = 0;
pure[1] = 1;
pure[2] = v;
break;
case 3:
pure[0] = 0;
pure[1] = w;
pure[2] = 1;
break;
case 4:
pure[0] = v;
pure[1] = 0;
pure[2] = 1;
break;
default:
pure[0] = 1;
pure[1] = 0;
pure[2] = w;
}
mg = (1 - c3) * g;
return [
(c3 * pure[0] + mg) * 255,
(c3 * pure[1] + mg) * 255,
(c3 * pure[2] + mg) * 255
];
};
convert.hcg.hsv = function(hcg) {
const c3 = hcg[1] / 100;
const g = hcg[2] / 100;
const v = c3 + g * (1 - c3);
let f = 0;
if (v > 0) {
f = c3 / v;
}
return [hcg[0], f * 100, v * 100];
};
convert.hcg.hsl = function(hcg) {
const c3 = hcg[1] / 100;
const g = hcg[2] / 100;
const l = g * (1 - c3) + 0.5 * c3;
let s = 0;
if (l > 0 && l < 0.5) {
s = c3 / (2 * l);
} else if (l >= 0.5 && l < 1) {
s = c3 / (2 * (1 - l));
}
return [hcg[0], s * 100, l * 100];
};
convert.hcg.hwb = function(hcg) {
const c3 = hcg[1] / 100;
const g = hcg[2] / 100;
const v = c3 + g * (1 - c3);
return [hcg[0], (v - c3) * 100, (1 - v) * 100];
};
convert.hwb.hcg = function(hwb) {
const w = hwb[1] / 100;
const b = hwb[2] / 100;
const v = 1 - b;
const c3 = v - w;
let g = 0;
if (c3 < 1) {
g = (v - c3) / (1 - c3);
}
return [hwb[0], c3 * 100, g * 100];
};
convert.apple.rgb = function(apple) {
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
};
convert.rgb.apple = function(rgb) {
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
};
convert.gray.rgb = function(args) {
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
};
convert.gray.hsl = function(args) {
return [0, 0, args[0]];
};
convert.gray.hsv = convert.gray.hsl;
convert.gray.hwb = function(gray2) {
return [0, 100, gray2[0]];
};
convert.gray.cmyk = function(gray2) {
return [0, 0, 0, gray2[0]];
};
convert.gray.lab = function(gray2) {
return [gray2[0], 0, 0];
};
convert.gray.hex = function(gray2) {
const val = Math.round(gray2[0] / 100 * 255) & 255;
const integer = (val << 16) + (val << 8) + val;
const string = integer.toString(16).toUpperCase();
return "000000".substring(string.length) + string;
};
convert.rgb.gray = function(rgb) {
const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
return [val / 255 * 100];
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/route.js
var require_route = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/route.js"(exports2, module2) {
var conversions = require_conversions();
function buildGraph() {
const graph = {};
const models = Object.keys(conversions);
for (let len = models.length, i4 = 0; i4 < len; i4++) {
graph[models[i4]] = {
// http://jsperf.com/1-vs-infinity
// micro-opt, but this is simple.
distance: -1,
parent: null
};
}
return graph;
}
function deriveBFS(fromModel) {
const graph = buildGraph();
const queue2 = [fromModel];
graph[fromModel].distance = 0;
while (queue2.length) {
const current = queue2.pop();
const adjacents = Object.keys(conversions[current]);
for (let len = adjacents.length, i4 = 0; i4 < len; i4++) {
const adjacent = adjacents[i4];
const node = graph[adjacent];
if (node.distance === -1) {
node.distance = graph[current].distance + 1;
node.parent = current;
queue2.unshift(adjacent);
}
}
}
return graph;
}
function link2(from5, to) {
return function(args) {
return to(from5(args));
};
}
function wrapConversion(toModel, graph) {
const path236 = [graph[toModel].parent, toModel];
let fn = conversions[graph[toModel].parent][toModel];
let cur = graph[toModel].parent;
while (graph[cur].parent) {
path236.unshift(graph[cur].parent);
fn = link2(conversions[graph[cur].parent][cur], fn);
cur = graph[cur].parent;
}
fn.conversion = path236;
return fn;
}
module2.exports = function(fromModel) {
const graph = deriveBFS(fromModel);
const conversion = {};
const models = Object.keys(graph);
for (let len = models.length, i4 = 0; i4 < len; i4++) {
const toModel = models[i4];
const node = graph[toModel];
if (node.parent === null) {
continue;
}
conversion[toModel] = wrapConversion(toModel, graph);
}
return conversion;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/index.js
var require_color_convert = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/color-convert/2.0.1/4f6772797e186f77129d8a7c1c86b27315f77c7c395b04cbb5e203e58897407b/node_modules/color-convert/index.js"(exports2, module2) {
var conversions = require_conversions();
var route = require_route();
var convert = {};
var models = Object.keys(conversions);
function wrapRaw(fn) {
const wrappedFn = function(...args) {
const arg0 = args[0];
if (arg0 === void 0 || arg0 === null) {
return arg0;
}
if (arg0.length > 1) {
args = arg0;
}
return fn(args);
};
if ("conversion" in fn) {
wrappedFn.conversion = fn.conversion;
}
return wrappedFn;
}
function wrapRounded(fn) {
const wrappedFn = function(...args) {
const arg0 = args[0];
if (arg0 === void 0 || arg0 === null) {
return arg0;
}
if (arg0.length > 1) {
args = arg0;
}
const result2 = fn(args);
if (typeof result2 === "object") {
for (let len = result2.length, i4 = 0; i4 < len; i4++) {
result2[i4] = Math.round(result2[i4]);
}
}
return result2;
};
if ("conversion" in fn) {
wrappedFn.conversion = fn.conversion;
}
return wrappedFn;
}
models.forEach((fromModel) => {
convert[fromModel] = {};
Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
const routes = route(fromModel);
const routeModels = Object.keys(routes);
routeModels.forEach((toModel) => {
const fn = routes[toModel];
convert[fromModel][toModel] = wrapRounded(fn);
convert[fromModel][toModel].raw = wrapRaw(fn);
});
});
module2.exports = convert;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-styles/4.3.0/19cbb9b0298c7c316d1ea9b4f4af113ca1cfb7bece33e1eb982d38ef24b719ab/node_modules/ansi-styles/index.js
var require_ansi_styles = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-styles/4.3.0/19cbb9b0298c7c316d1ea9b4f4af113ca1cfb7bece33e1eb982d38ef24b719ab/node_modules/ansi-styles/index.js"(exports2, module2) {
"use strict";
var wrapAnsi163 = (fn, offset) => (...args) => {
const code = fn(...args);
return `\x1B[${code + offset}m`;
};
var wrapAnsi2563 = (fn, offset) => (...args) => {
const code = fn(...args);
return `\x1B[${38 + offset};5;${code}m`;
};
var wrapAnsi16m3 = (fn, offset) => (...args) => {
const rgb = fn(...args);
return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
};
var ansi2ansi = (n2) => n2;
var rgb2rgb = (r, g, b) => [r, g, b];
var setLazyProperty = (object, property, get2) => {
Object.defineProperty(object, property, {
get: () => {
const value = get2();
Object.defineProperty(object, property, {
value,
enumerable: true,
configurable: true
});
return value;
},
enumerable: true,
configurable: true
});
};
var colorConvert;
var makeDynamicStyles = (wrap2, targetSpace, identity5, isBackground) => {
if (colorConvert === void 0) {
colorConvert = require_color_convert();
}
const offset = isBackground ? 10 : 0;
const styles4 = {};
for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
if (sourceSpace === targetSpace) {
styles4[name] = wrap2(identity5, offset);
} else if (typeof suite === "object") {
styles4[name] = wrap2(suite[targetSpace], offset);
}
}
return styles4;
};
function assembleStyles3() {
const codes = /* @__PURE__ */ new Map();
const styles4 = {
modifier: {
reset: [0, 0],
// 21 isn't widely supported and 22 does the same thing
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
// Bright color
blackBright: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
// Bright color
bgBlackBright: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
styles4.color.gray = styles4.color.blackBright;
styles4.bgColor.bgGray = styles4.bgColor.bgBlackBright;
styles4.color.grey = styles4.color.blackBright;
styles4.bgColor.bgGrey = styles4.bgColor.bgBlackBright;
for (const [groupName, group] of Object.entries(styles4)) {
for (const [styleName, style] of Object.entries(group)) {
styles4[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
};
group[styleName] = styles4[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles4, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles4, "codes", {
value: codes,
enumerable: false
});
styles4.color.close = "\x1B[39m";
styles4.bgColor.close = "\x1B[49m";
setLazyProperty(styles4.color, "ansi", () => makeDynamicStyles(wrapAnsi163, "ansi16", ansi2ansi, false));
setLazyProperty(styles4.color, "ansi256", () => makeDynamicStyles(wrapAnsi2563, "ansi256", ansi2ansi, false));
setLazyProperty(styles4.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m3, "rgb", rgb2rgb, false));
setLazyProperty(styles4.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi163, "ansi16", ansi2ansi, true));
setLazyProperty(styles4.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi2563, "ansi256", ansi2ansi, true));
setLazyProperty(styles4.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m3, "rgb", rgb2rgb, true));
return styles4;
}
Object.defineProperty(module2, "exports", {
enumerable: true,
get: assembleStyles3
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/has-flag/4.0.0/1fad706e903703154c297a2951628dfd40fbb2e08c338b053c5c129fe3b69d3f/node_modules/has-flag/index.js
var require_has_flag = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/has-flag/4.0.0/1fad706e903703154c297a2951628dfd40fbb2e08c338b053c5c129fe3b69d3f/node_modules/has-flag/index.js"(exports2, module2) {
"use strict";
module2.exports = (flag, argv2 = process.argv) => {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position3 = argv2.indexOf(prefix + flag);
const terminatorPosition = argv2.indexOf("--");
return position3 !== -1 && (terminatorPosition === -1 || position3 < terminatorPosition);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/supports-color/7.2.0/a7e73cdb8490938e8580fddf322eefaa0db2596179188982a430aec866a2c894/node_modules/supports-color/index.js
var require_supports_color = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/supports-color/7.2.0/a7e73cdb8490938e8580fddf322eefaa0db2596179188982a430aec866a2c894/node_modules/supports-color/index.js"(exports2, module2) {
"use strict";
var os17 = __require("os");
var tty5 = __require("tty");
var hasFlag4 = require_has_flag();
var { env: env3 } = process;
var forceColor;
if (hasFlag4("no-color") || hasFlag4("no-colors") || hasFlag4("color=false") || hasFlag4("color=never")) {
forceColor = 0;
} else if (hasFlag4("color") || hasFlag4("colors") || hasFlag4("color=true") || hasFlag4("color=always")) {
forceColor = 1;
}
if ("FORCE_COLOR" in env3) {
if (env3.FORCE_COLOR === "true") {
forceColor = 1;
} else if (env3.FORCE_COLOR === "false") {
forceColor = 0;
} else {
forceColor = env3.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env3.FORCE_COLOR, 10), 3);
}
}
function translateLevel3(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function supportsColor3(haveStream, streamIsTTY) {
if (forceColor === 0) {
return 0;
}
if (hasFlag4("color=16m") || hasFlag4("color=full") || hasFlag4("color=truecolor")) {
return 3;
}
if (hasFlag4("color=256")) {
return 2;
}
if (haveStream && !streamIsTTY && forceColor === void 0) {
return 0;
}
const min = forceColor || 0;
if (env3.TERM === "dumb") {
return min;
}
if (process.platform === "win32") {
const osRelease = os17.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env3) {
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env3) || env3.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env3) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env3.TEAMCITY_VERSION) ? 1 : 0;
}
if (env3.COLORTERM === "truecolor") {
return 3;
}
if ("TERM_PROGRAM" in env3) {
const version2 = parseInt((env3.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env3.TERM_PROGRAM) {
case "iTerm.app":
return version2 >= 3 ? 3 : 2;
case "Apple_Terminal":
return 2;
}
}
if (/-256(color)?$/i.test(env3.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env3.TERM)) {
return 1;
}
if ("COLORTERM" in env3) {
return 1;
}
return min;
}
function getSupportLevel(stream2) {
const level = supportsColor3(stream2, stream2 && stream2.isTTY);
return translateLevel3(level);
}
module2.exports = {
supportsColor: getSupportLevel,
stdout: translateLevel3(supportsColor3(true, tty5.isatty(1))),
stderr: translateLevel3(supportsColor3(true, tty5.isatty(2)))
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/util.js
var require_util = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/util.js"(exports2, module2) {
"use strict";
var stringReplaceAll2 = (string, substring, replacer2) => {
let index2 = string.indexOf(substring);
if (index2 === -1) {
return string;
}
const substringLength = substring.length;
let endIndex = 0;
let returnValue = "";
do {
returnValue += string.substr(endIndex, index2 - endIndex) + substring + replacer2;
endIndex = index2 + substringLength;
index2 = string.indexOf(substring, endIndex);
} while (index2 !== -1);
returnValue += string.substr(endIndex);
return returnValue;
};
var stringEncaseCRLFWithFirstIndex2 = (string, prefix, postfix, index2) => {
let endIndex = 0;
let returnValue = "";
do {
const gotCR = string[index2 - 1] === "\r";
returnValue += string.substr(endIndex, (gotCR ? index2 - 1 : index2) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
endIndex = index2 + 1;
index2 = string.indexOf("\n", endIndex);
} while (index2 !== -1);
returnValue += string.substr(endIndex);
return returnValue;
};
module2.exports = {
stringReplaceAll: stringReplaceAll2,
stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/templates.js
var require_templates = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/templates.js"(exports2, module2) {
"use strict";
var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi;
var ESCAPES2 = /* @__PURE__ */ new Map([
["n", "\n"],
["r", "\r"],
["t", " "],
["b", "\b"],
["f", "\f"],
["v", "\v"],
["0", "\0"],
["\\", "\\"],
["e", "\x1B"],
["a", "\x07"]
]);
function unescape2(c3) {
const u2 = c3[0] === "u";
const bracket = c3[1] === "{";
if (u2 && !bracket && c3.length === 5 || c3[0] === "x" && c3.length === 3) {
return String.fromCharCode(parseInt(c3.slice(1), 16));
}
if (u2 && bracket) {
return String.fromCodePoint(parseInt(c3.slice(2, -1), 16));
}
return ESCAPES2.get(c3) || c3;
}
function parseArguments2(name, arguments_) {
const results = [];
const chunks = arguments_.trim().split(/\s*,\s*/g);
let matches2;
for (const chunk of chunks) {
const number = Number(chunk);
if (!Number.isNaN(number)) {
results.push(number);
} else if (matches2 = chunk.match(STRING_REGEX)) {
results.push(matches2[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape2(escape) : character));
} else {
throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
}
}
return results;
}
function parseStyle(style) {
STYLE_REGEX.lastIndex = 0;
const results = [];
let matches2;
while ((matches2 = STYLE_REGEX.exec(style)) !== null) {
const name = matches2[1];
if (matches2[2]) {
const args = parseArguments2(name, matches2[2]);
results.push([name].concat(args));
} else {
results.push([name]);
}
}
return results;
}
function buildStyle(chalk2, styles4) {
const enabled = {};
for (const layer of styles4) {
for (const style of layer.styles) {
enabled[style[0]] = layer.inverse ? null : style.slice(1);
}
}
let current = chalk2;
for (const [styleName, styles5] of Object.entries(enabled)) {
if (!Array.isArray(styles5)) {
continue;
}
if (!(styleName in current)) {
throw new Error(`Unknown Chalk style: ${styleName}`);
}
current = styles5.length > 0 ? current[styleName](...styles5) : current[styleName];
}
return current;
}
module2.exports = (chalk2, temporary) => {
const styles4 = [];
const chunks = [];
let chunk = [];
temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse2, style, close, character) => {
if (escapeCharacter) {
chunk.push(unescape2(escapeCharacter));
} else if (style) {
const string = chunk.join("");
chunk = [];
chunks.push(styles4.length === 0 ? string : buildStyle(chalk2, styles4)(string));
styles4.push({ inverse: inverse2, styles: parseStyle(style) });
} else if (close) {
if (styles4.length === 0) {
throw new Error("Found extraneous } in Chalk template literal");
}
chunks.push(buildStyle(chalk2, styles4)(chunk.join("")));
chunk = [];
styles4.pop();
} else {
chunk.push(character);
}
});
chunks.push(chunk.join(""));
if (styles4.length > 0) {
const errMsg = `Chalk template literal is missing ${styles4.length} closing bracket${styles4.length === 1 ? "" : "s"} (\`}\`)`;
throw new Error(errMsg);
}
return chunks.join("");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/index.js
var require_source = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/3.0.0/615025f2c08a39e297798d948e1a848bb92c6e5a90143a697b334ec3f26759ab/node_modules/chalk/source/index.js"(exports2, module2) {
"use strict";
var ansiStyles3 = require_ansi_styles();
var { stdout: stdoutColor2, stderr: stderrColor2 } = require_supports_color();
var {
stringReplaceAll: stringReplaceAll2,
stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
} = require_util();
var levelMapping2 = [
"ansi",
"ansi",
"ansi256",
"ansi16m"
];
var styles4 = /* @__PURE__ */ Object.create(null);
var applyOptions2 = (object, options = {}) => {
if (options.level > 3 || options.level < 0) {
throw new Error("The `level` option should be an integer from 0 to 3");
}
const colorLevel = stdoutColor2 ? stdoutColor2.level : 0;
object.level = options.level === void 0 ? colorLevel : options.level;
};
var ChalkClass = class {
constructor(options) {
return chalkFactory2(options);
}
};
var chalkFactory2 = (options) => {
const chalk3 = {};
applyOptions2(chalk3, options);
chalk3.template = (...arguments_) => chalkTag(chalk3.template, ...arguments_);
Object.setPrototypeOf(chalk3, Chalk.prototype);
Object.setPrototypeOf(chalk3.template, chalk3);
chalk3.template.constructor = () => {
throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
};
chalk3.template.Instance = ChalkClass;
return chalk3.template;
};
function Chalk(options) {
return chalkFactory2(options);
}
for (const [styleName, style] of Object.entries(ansiStyles3)) {
styles4[styleName] = {
get() {
const builder = createBuilder2(this, createStyler2(style.open, style.close, this._styler), this._isEmpty);
Object.defineProperty(this, styleName, { value: builder });
return builder;
}
};
}
styles4.visible = {
get() {
const builder = createBuilder2(this, this._styler, true);
Object.defineProperty(this, "visible", { value: builder });
return builder;
}
};
var usedModels2 = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
for (const model of usedModels2) {
styles4[model] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler2(ansiStyles3.color[levelMapping2[level]][model](...arguments_), ansiStyles3.color.close, this._styler);
return createBuilder2(this, styler, this._isEmpty);
};
}
};
}
for (const model of usedModels2) {
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
styles4[bgModel] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler2(ansiStyles3.bgColor[levelMapping2[level]][model](...arguments_), ansiStyles3.bgColor.close, this._styler);
return createBuilder2(this, styler, this._isEmpty);
};
}
};
}
var proto2 = Object.defineProperties(() => {
}, {
...styles4,
level: {
enumerable: true,
get() {
return this._generator.level;
},
set(level) {
this._generator.level = level;
}
}
});
var createStyler2 = (open3, close, parent) => {
let openAll;
let closeAll;
if (parent === void 0) {
openAll = open3;
closeAll = close;
} else {
openAll = parent.openAll + open3;
closeAll = close + parent.closeAll;
}
return {
open: open3,
close,
openAll,
closeAll,
parent
};
};
var createBuilder2 = (self2, _styler, _isEmpty) => {
const builder = (...arguments_) => {
return applyStyle2(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
};
builder.__proto__ = proto2;
builder._generator = self2;
builder._styler = _styler;
builder._isEmpty = _isEmpty;
return builder;
};
var applyStyle2 = (self2, string) => {
if (self2.level <= 0 || !string) {
return self2._isEmpty ? "" : string;
}
let styler = self2._styler;
if (styler === void 0) {
return string;
}
const { openAll, closeAll } = styler;
if (string.indexOf("\x1B") !== -1) {
while (styler !== void 0) {
string = stringReplaceAll2(string, styler.close, styler.open);
styler = styler.parent;
}
}
const lfIndex = string.indexOf("\n");
if (lfIndex !== -1) {
string = stringEncaseCRLFWithFirstIndex2(string, closeAll, openAll, lfIndex);
}
return openAll + string + closeAll;
};
var template;
var chalkTag = (chalk3, ...strings2) => {
const [firstString] = strings2;
if (!Array.isArray(firstString)) {
return strings2.join(" ");
}
const arguments_ = strings2.slice(1);
const parts = [firstString.raw[0]];
for (let i4 = 1; i4 < firstString.length; i4++) {
parts.push(
String(arguments_[i4 - 1]).replace(/[{}\\]/g, "\\$&"),
String(firstString.raw[i4])
);
}
if (template === void 0) {
template = require_templates();
}
return template(chalk3, parts.join(""));
};
Object.defineProperties(Chalk.prototype, styles4);
var chalk2 = Chalk();
chalk2.supportsColor = stdoutColor2;
chalk2.stderr = Chalk({ level: stderrColor2 ? stderrColor2.level : 0 });
chalk2.stderr.supportsColor = stderrColor2;
chalk2.Level = {
None: 0,
Basic: 1,
Ansi256: 2,
TrueColor: 3,
0: "None",
1: "Basic",
2: "Ansi256",
3: "TrueColor"
};
module2.exports = chalk2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/constants.js
var require_constants3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var NODE_INITIAL = 0;
var NODE_SUCCESS = 1;
var NODE_ERRORED = 2;
var START_OF_INPUT = ``;
var END_OF_INPUT = `\0`;
var HELP_COMMAND_INDEX = -1;
var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/;
var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/;
var BATCH_REGEX = /^-[a-zA-Z]{2,}$/;
var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/;
var DEBUG = process.env.DEBUG_CLI === `1`;
exports2.BATCH_REGEX = BATCH_REGEX;
exports2.BINDING_REGEX = BINDING_REGEX;
exports2.DEBUG = DEBUG;
exports2.END_OF_INPUT = END_OF_INPUT;
exports2.HELP_COMMAND_INDEX = HELP_COMMAND_INDEX;
exports2.HELP_REGEX = HELP_REGEX;
exports2.NODE_ERRORED = NODE_ERRORED;
exports2.NODE_INITIAL = NODE_INITIAL;
exports2.NODE_SUCCESS = NODE_SUCCESS;
exports2.OPTION_REGEX = OPTION_REGEX;
exports2.START_OF_INPUT = START_OF_INPUT;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/errors.js
var require_errors2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/errors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var constants6 = require_constants3();
var UsageError = class extends Error {
constructor(message) {
super(message);
this.clipanion = { type: `usage` };
this.name = `UsageError`;
}
};
var UnknownSyntaxError = class extends Error {
constructor(input, candidates) {
super();
this.input = input;
this.candidates = candidates;
this.clipanion = { type: `none` };
this.name = `UnknownSyntaxError`;
if (this.candidates.length === 0) {
this.message = `Command not found, but we're not sure what's the alternative.`;
} else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) {
const [{ reason }] = this.candidates;
this.message = `${reason}
${this.candidates.map(({ usage }) => `$ ${usage}`).join(`
`)}`;
} else if (this.candidates.length === 1) {
const [{ usage }] = this.candidates;
this.message = `Command not found; did you mean:
$ ${usage}
${whileRunning(input)}`;
} else {
this.message = `Command not found; did you mean one of:
${this.candidates.map(({ usage }, index2) => {
return `${`${index2}.`.padStart(4)} ${usage}`;
}).join(`
`)}
${whileRunning(input)}`;
}
}
};
var AmbiguousSyntaxError = class extends Error {
constructor(input, usages) {
super();
this.input = input;
this.usages = usages;
this.clipanion = { type: `none` };
this.name = `AmbiguousSyntaxError`;
this.message = `Cannot find which to pick amongst the following alternatives:
${this.usages.map((usage, index2) => {
return `${`${index2}.`.padStart(4)} ${usage}`;
}).join(`
`)}
${whileRunning(input)}`;
}
};
var whileRunning = (input) => `While running ${input.filter((token) => {
return token !== constants6.END_OF_INPUT;
}).map((token) => {
const json2 = JSON.stringify(token);
if (token.match(/\s/) || token.length === 0 || json2 !== `"${token}"`) {
return json2;
} else {
return token;
}
}).join(` `)}`;
exports2.AmbiguousSyntaxError = AmbiguousSyntaxError;
exports2.UnknownSyntaxError = UnknownSyntaxError;
exports2.UsageError = UsageError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/utils.js
var require_utils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var errors2 = require_errors2();
var isOptionSymbol = /* @__PURE__ */ Symbol(`clipanion/isOption`);
function makeCommandOption(spec) {
return { ...spec, [isOptionSymbol]: true };
}
function rerouteArguments(a2, b) {
if (typeof a2 === `undefined`)
return [a2, b];
if (typeof a2 === `object` && a2 !== null && !Array.isArray(a2)) {
return [void 0, a2];
} else {
return [a2, b];
}
}
function cleanValidationError(message, lowerCase = false) {
let cleaned = message.replace(/^\.: /, ``);
if (lowerCase)
cleaned = cleaned[0].toLowerCase() + cleaned.slice(1);
return cleaned;
}
function formatError2(message, errors$1) {
if (errors$1.length === 1) {
return new errors2.UsageError(`${message}: ${cleanValidationError(errors$1[0], true)}`);
} else {
return new errors2.UsageError(`${message}:
${errors$1.map((error) => `
- ${cleanValidationError(error)}`).join(``)}`);
}
}
function applyValidator(name, value, validator) {
if (typeof validator === `undefined`)
return value;
const errors3 = [];
const coercions = [];
const coercion = (v) => {
const orig = value;
value = v;
return coercion.bind(null, orig);
};
const check2 = validator(value, { errors: errors3, coercions, coercion });
if (!check2)
throw formatError2(`Invalid value for ${name}`, errors3);
for (const [, op] of coercions)
op();
return value;
}
exports2.applyValidator = applyValidator;
exports2.cleanValidationError = cleanValidationError;
exports2.formatError = formatError2;
exports2.isOptionSymbol = isOptionSymbol;
exports2.makeCommandOption = makeCommandOption;
exports2.rerouteArguments = rerouteArguments;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/typanion/3.14.0/01b9bec83b63fffc8af013516fe5341ea9ef2155f032dc3833090560ec1a78ca/node_modules/typanion/lib/index.js
var require_lib4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/typanion/3.14.0/01b9bec83b63fffc8af013516fe5341ea9ef2155f032dc3833090560ec1a78ca/node_modules/typanion/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
function getPrintable(value) {
if (value === null)
return `null`;
if (value === void 0)
return `undefined`;
if (value === ``)
return `an empty string`;
if (typeof value === "symbol")
return `<${value.toString()}>`;
if (Array.isArray(value))
return `an array`;
return JSON.stringify(value);
}
function getPrintableArray(value, conjunction) {
if (value.length === 0)
return `nothing`;
if (value.length === 1)
return getPrintable(value[0]);
const rest = value.slice(0, -1);
const trailing = value[value.length - 1];
const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `;
return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`;
}
function computeKey(state, key) {
var _a2, _b2, _c;
if (typeof key === `number`) {
return `${(_a2 = state === null || state === void 0 ? void 0 : state.p) !== null && _a2 !== void 0 ? _a2 : `.`}[${key}]`;
} else if (simpleKeyRegExp.test(key)) {
return `${(_b2 = state === null || state === void 0 ? void 0 : state.p) !== null && _b2 !== void 0 ? _b2 : ``}.${key}`;
} else {
return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`;
}
}
function plural2(n2, singular, plural3) {
return n2 === 1 ? singular : plural3;
}
var colorStringRegExp = /^#[0-9a-f]{6}$/i;
var colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i;
var base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
var uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i;
var iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;
function pushError({ errors: errors2, p } = {}, message) {
errors2 === null || errors2 === void 0 ? void 0 : errors2.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`);
return false;
}
function makeSetter(target2, key) {
return (v) => {
target2[key] = v;
};
}
function makeCoercionFn(target2, key) {
return (v) => {
const previous = target2[key];
target2[key] = v;
return makeCoercionFn(target2, key).bind(null, previous);
};
}
function makeLazyCoercionFn(fn2, orig, generator) {
const commit = () => {
fn2(generator());
return revert;
};
const revert = () => {
fn2(orig);
return commit;
};
return commit;
}
function isUnknown() {
return makeValidator({
test: (value, state) => {
return true;
}
});
}
function isLiteral(expected) {
return makeValidator({
test: (value, state) => {
if (value !== expected)
return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`);
return true;
}
});
}
function isString() {
return makeValidator({
test: (value, state) => {
if (typeof value !== `string`)
return pushError(state, `Expected a string (got ${getPrintable(value)})`);
return true;
}
});
}
function isEnum(enumSpec) {
const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec);
const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number");
const values = new Set(valuesArray);
if (values.size === 1)
return isLiteral([...values][0]);
return makeValidator({
test: (value, state) => {
if (!values.has(value)) {
if (isAlphaNum) {
return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`);
} else {
return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`);
}
}
return true;
}
});
}
var BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([
[`true`, true],
[`True`, true],
[`1`, true],
[1, true],
[`false`, false],
[`False`, false],
[`0`, false],
[0, false]
]);
function isBoolean2() {
return makeValidator({
test: (value, state) => {
var _a2;
if (typeof value !== `boolean`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const coercion = BOOLEAN_COERCIONS.get(value);
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a boolean (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isNumber() {
return makeValidator({
test: (value, state) => {
var _a2;
if (typeof value !== `number`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
let coercion;
if (typeof value === `string`) {
let val;
try {
val = JSON.parse(value);
} catch (_b2) {
}
if (typeof val === `number`) {
if (JSON.stringify(val) === value) {
coercion = val;
} else {
return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`);
}
}
}
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a number (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isPayload(spec) {
return makeValidator({
test: (value, state) => {
var _a2;
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) === `undefined`)
return pushError(state, `The isPayload predicate can only be used with coercion enabled`);
if (typeof state.coercion === `undefined`)
return pushError(state, `Unbound coercion result`);
if (typeof value !== `string`)
return pushError(state, `Expected a string (got ${getPrintable(value)})`);
let inner;
try {
inner = JSON.parse(value);
} catch (_b2) {
return pushError(state, `Expected a JSON string (got ${getPrintable(value)})`);
}
const wrapper = { value: inner };
if (!spec(inner, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(wrapper, `value`) })))
return false;
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, wrapper.value)]);
return true;
}
});
}
function isDate() {
return makeValidator({
test: (value, state) => {
var _a2;
if (!(value instanceof Date)) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
let coercion;
if (typeof value === `string` && iso8601RegExp.test(value)) {
coercion = new Date(value);
} else {
let timestamp2;
if (typeof value === `string`) {
let val;
try {
val = JSON.parse(value);
} catch (_b2) {
}
if (typeof val === `number`) {
timestamp2 = val;
}
} else if (typeof value === `number`) {
timestamp2 = value;
}
if (typeof timestamp2 !== `undefined`) {
if (Number.isSafeInteger(timestamp2) || !Number.isSafeInteger(timestamp2 * 1e3)) {
coercion = new Date(timestamp2 * 1e3);
} else {
return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`);
}
}
}
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a date (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isArray(spec, { delimiter } = {}) {
return makeValidator({
test: (value, state) => {
var _a2;
const originalValue = value;
if (typeof value === `string` && typeof delimiter !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
value = value.split(delimiter);
}
}
if (!Array.isArray(value))
return pushError(state, `Expected an array (got ${getPrintable(value)})`);
let valid6 = true;
for (let t2 = 0, T2 = value.length; t2 < T2; ++t2) {
valid6 = spec(value[t2], Object.assign(Object.assign({}, state), { p: computeKey(state, t2), coercion: makeCoercionFn(value, t2) })) && valid6;
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
if (value !== originalValue)
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, value)]);
return valid6;
}
});
}
function isSet(spec, { delimiter } = {}) {
const isArrayValidator = isArray(spec, { delimiter });
return makeValidator({
test: (value, state) => {
var _a2, _b2;
if (Object.getPrototypeOf(value).toString() === `[object Set]`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const originalValues = [...value];
const coercedValues = [...value];
if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
const updateValue = () => coercedValues.some((val, t2) => val !== originalValues[t2]) ? new Set(coercedValues) : value;
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
return true;
} else {
let valid6 = true;
for (const subValue of value) {
valid6 = spec(subValue, Object.assign({}, state)) && valid6;
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid6;
}
}
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const store = { value };
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
return false;
state.coercions.push([(_b2 = state.p) !== null && _b2 !== void 0 ? _b2 : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]);
return true;
}
return pushError(state, `Expected a set (got ${getPrintable(value)})`);
}
});
}
function isMap(keySpec, valueSpec) {
const isArrayValidator = isArray(isTuple([keySpec, valueSpec]));
const isRecordValidator = isRecord2(valueSpec, { keys: keySpec });
return makeValidator({
test: (value, state) => {
var _a2, _b2, _c;
if (Object.getPrototypeOf(value).toString() === `[object Map]`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const originalValues = [...value];
const coercedValues = [...value];
if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
const updateValue = () => coercedValues.some((val, t2) => val[0] !== originalValues[t2][0] || val[1] !== originalValues[t2][1]) ? new Map(coercedValues) : value;
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
return true;
} else {
let valid6 = true;
for (const [key, subValue] of value) {
valid6 = keySpec(key, Object.assign({}, state)) && valid6;
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
valid6 = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid6;
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid6;
}
}
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const store = { value };
if (Array.isArray(value)) {
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
state.coercions.push([(_b2 = state.p) !== null && _b2 !== void 0 ? _b2 : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]);
return true;
} else {
if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
return false;
state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]);
return true;
}
}
return pushError(state, `Expected a map (got ${getPrintable(value)})`);
}
});
}
function isTuple(spec, { delimiter } = {}) {
const lengthValidator = hasExactLength(spec.length);
return makeValidator({
test: (value, state) => {
var _a2;
if (typeof value === `string` && typeof delimiter !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
value = value.split(delimiter);
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, value)]);
}
}
if (!Array.isArray(value))
return pushError(state, `Expected a tuple (got ${getPrintable(value)})`);
let valid6 = lengthValidator(value, Object.assign({}, state));
for (let t2 = 0, T2 = value.length; t2 < T2 && t2 < spec.length; ++t2) {
valid6 = spec[t2](value[t2], Object.assign(Object.assign({}, state), { p: computeKey(state, t2), coercion: makeCoercionFn(value, t2) })) && valid6;
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid6;
}
});
}
function isRecord2(spec, { keys: keySpec = null } = {}) {
const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec]));
return makeValidator({
test: (value, state) => {
var _a2;
if (Array.isArray(value)) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
value = Object.fromEntries(value);
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, value)]);
return true;
}
}
if (typeof value !== `object` || value === null)
return pushError(state, `Expected an object (got ${getPrintable(value)})`);
const keys4 = Object.keys(value);
let valid6 = true;
for (let t2 = 0, T2 = keys4.length; t2 < T2 && (valid6 || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t2) {
const key = keys4[t2];
const sub = value[key];
if (key === `__proto__` || key === `constructor`) {
valid6 = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
continue;
}
if (keySpec !== null && !keySpec(key, state)) {
valid6 = false;
continue;
}
if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) {
valid6 = false;
continue;
}
}
return valid6;
}
});
}
function isDict(spec, opts3 = {}) {
return isRecord2(spec, opts3);
}
function isObject4(props3, { extra: extraSpec = null } = {}) {
const specKeys = Object.keys(props3);
const validator = makeValidator({
test: (value, state) => {
if (typeof value !== `object` || value === null)
return pushError(state, `Expected an object (got ${getPrintable(value)})`);
const keys4 = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]);
const extra = {};
let valid6 = true;
for (const key of keys4) {
if (key === `constructor` || key === `__proto__`) {
valid6 = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
} else {
const spec = Object.prototype.hasOwnProperty.call(props3, key) ? props3[key] : void 0;
const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0;
if (typeof spec !== `undefined`) {
valid6 = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid6;
} else if (extraSpec === null) {
valid6 = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`);
} else {
Object.defineProperty(extra, key, {
enumerable: true,
get: () => sub,
set: makeSetter(value, key)
});
}
}
if (!valid6 && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
if (extraSpec !== null && (valid6 || (state === null || state === void 0 ? void 0 : state.errors) != null))
valid6 = extraSpec(extra, state) && valid6;
return valid6;
}
});
return Object.assign(validator, {
properties: props3
});
}
function isPartial(props3) {
return isObject4(props3, { extra: isRecord2(isUnknown()) });
}
var isInstanceOf = (constructor) => makeValidator({
test: (value, state) => {
if (!(value instanceof constructor))
return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`);
return true;
}
});
var isOneOf = (specs, { exclusive = false } = {}) => makeValidator({
test: (value, state) => {
var _a2, _b2, _c;
const matches2 = [];
const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
for (let t2 = 0, T2 = specs.length; t2 < T2; ++t2) {
const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
if (specs[t2](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a2 = state === null || state === void 0 ? void 0 : state.p) !== null && _a2 !== void 0 ? _a2 : `.`}#${t2 + 1}` }))) {
matches2.push([`#${t2 + 1}`, subCoercions]);
if (!exclusive) {
break;
}
} else {
errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]);
}
}
if (matches2.length === 1) {
const [, subCoercions] = matches2[0];
if (typeof subCoercions !== `undefined`)
(_b2 = state === null || state === void 0 ? void 0 : state.coercions) === null || _b2 === void 0 ? void 0 : _b2.push(...subCoercions);
return true;
}
if (matches2.length > 1)
pushError(state, `Expected to match exactly a single predicate (matched ${matches2.join(`, `)})`);
else
(_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer);
return false;
}
});
function makeTrait(value) {
return () => {
return value;
};
}
function makeValidator({ test }) {
return makeTrait(test)();
}
var TypeAssertionError = class extends Error {
constructor({ errors: errors2 } = {}) {
let errorMessage = `Type mismatch`;
if (errors2 && errors2.length > 0) {
errorMessage += `
`;
for (const error of errors2) {
errorMessage += `
- ${error}`;
}
}
super(errorMessage);
}
};
function assert13(val, validator) {
if (!validator(val)) {
throw new TypeAssertionError();
}
}
function assertWithErrors(val, validator) {
const errors2 = [];
if (!validator(val, { errors: errors2 })) {
throw new TypeAssertionError({ errors: errors2 });
}
}
function softAssert(val, validator) {
}
function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) {
const errors2 = storeErrors ? [] : void 0;
if (!coerce) {
if (validator(value, { errors: errors2 })) {
return throws ? value : { value, errors: void 0 };
} else if (!throws) {
return { value: void 0, errors: errors2 !== null && errors2 !== void 0 ? errors2 : true };
} else {
throw new TypeAssertionError({ errors: errors2 });
}
}
const state = { value };
const coercion = makeCoercionFn(state, `value`);
const coercions = [];
if (!validator(value, { errors: errors2, coercion, coercions })) {
if (!throws) {
return { value: void 0, errors: errors2 !== null && errors2 !== void 0 ? errors2 : true };
} else {
throw new TypeAssertionError({ errors: errors2 });
}
}
for (const [, apply] of coercions)
apply();
if (throws) {
return state.value;
} else {
return { value: state.value, errors: void 0 };
}
}
function fn(validators, fn2) {
const isValidArgList = isTuple(validators);
return ((...args) => {
const check2 = isValidArgList(args);
if (!check2)
throw new TypeAssertionError();
return fn2(...args);
});
}
function hasMinLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length >= length))
return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasMaxLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length <= length))
return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasExactLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length === length))
return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasUniqueItems({ map: map26 } = {}) {
return makeValidator({
test: (value, state) => {
const set2 = /* @__PURE__ */ new Set();
const dup = /* @__PURE__ */ new Set();
for (let t2 = 0, T2 = value.length; t2 < T2; ++t2) {
const sub = value[t2];
const key = typeof map26 !== `undefined` ? map26(sub) : sub;
if (set2.has(key)) {
if (dup.has(key))
continue;
pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`);
dup.add(key);
} else {
set2.add(key);
}
}
return dup.size === 0;
}
});
}
function isNegative() {
return makeValidator({
test: (value, state) => {
if (!(value <= 0))
return pushError(state, `Expected to be negative (got ${value})`);
return true;
}
});
}
function isPositive() {
return makeValidator({
test: (value, state) => {
if (!(value >= 0))
return pushError(state, `Expected to be positive (got ${value})`);
return true;
}
});
}
function isAtLeast(n2) {
return makeValidator({
test: (value, state) => {
if (!(value >= n2))
return pushError(state, `Expected to be at least ${n2} (got ${value})`);
return true;
}
});
}
function isAtMost(n2) {
return makeValidator({
test: (value, state) => {
if (!(value <= n2))
return pushError(state, `Expected to be at most ${n2} (got ${value})`);
return true;
}
});
}
function isInInclusiveRange(a2, b) {
return makeValidator({
test: (value, state) => {
if (!(value >= a2 && value <= b))
return pushError(state, `Expected to be in the [${a2}; ${b}] range (got ${value})`);
return true;
}
});
}
function isInExclusiveRange(a2, b) {
return makeValidator({
test: (value, state) => {
if (!(value >= a2 && value < b))
return pushError(state, `Expected to be in the [${a2}; ${b}[ range (got ${value})`);
return true;
}
});
}
function isInteger2({ unsafe: unsafe2 = false } = {}) {
return makeValidator({
test: (value, state) => {
if (value !== Math.round(value))
return pushError(state, `Expected to be an integer (got ${value})`);
if (!unsafe2 && !Number.isSafeInteger(value))
return pushError(state, `Expected to be a safe integer (got ${value})`);
return true;
}
});
}
function matchesRegExp(regExp) {
return makeValidator({
test: (value, state) => {
if (!regExp.test(value))
return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`);
return true;
}
});
}
function isLowerCase() {
return makeValidator({
test: (value, state) => {
if (value !== value.toLowerCase())
return pushError(state, `Expected to be all-lowercase (got ${value})`);
return true;
}
});
}
function isUpperCase() {
return makeValidator({
test: (value, state) => {
if (value !== value.toUpperCase())
return pushError(state, `Expected to be all-uppercase (got ${value})`);
return true;
}
});
}
function isUUID4() {
return makeValidator({
test: (value, state) => {
if (!uuid4RegExp.test(value))
return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`);
return true;
}
});
}
function isISO8601() {
return makeValidator({
test: (value, state) => {
if (!iso8601RegExp.test(value))
return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`);
return true;
}
});
}
function isHexColor({ alpha = false }) {
return makeValidator({
test: (value, state) => {
const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value);
if (!res)
return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`);
return true;
}
});
}
function isBase64() {
return makeValidator({
test: (value, state) => {
if (!base64RegExp.test(value))
return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`);
return true;
}
});
}
function isJSON(spec = isUnknown()) {
return makeValidator({
test: (value, state) => {
let data;
try {
data = JSON.parse(value);
} catch (_a2) {
return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`);
}
return spec(data, state);
}
});
}
function cascade(spec, ...followups) {
const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
return makeValidator({
test: (value, state) => {
var _a2, _b2;
const context = { value };
const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0;
const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions })))
return false;
const reverts = [];
if (typeof subCoercions !== `undefined`)
for (const [, coercion] of subCoercions)
reverts.push(coercion());
try {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (context.value !== value) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
state.coercions.push([(_a2 = state.p) !== null && _a2 !== void 0 ? _a2 : `.`, state.coercion.bind(null, context.value)]);
}
(_b2 = state === null || state === void 0 ? void 0 : state.coercions) === null || _b2 === void 0 ? void 0 : _b2.push(...subCoercions);
}
return resolvedFollowups.every((spec2) => {
return spec2(context.value, state);
});
} finally {
for (const revert of reverts) {
revert();
}
}
}
});
}
function applyCascade(spec, ...followups) {
const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
return cascade(spec, resolvedFollowups);
}
function isOptional(spec) {
return makeValidator({
test: (value, state) => {
if (typeof value === `undefined`)
return true;
return spec(value, state);
}
});
}
function isNullable(spec) {
return makeValidator({
test: (value, state) => {
if (value === null)
return true;
return spec(value, state);
}
});
}
var checks = {
missing: (keys4, key) => keys4.has(key),
undefined: (keys4, key, value) => keys4.has(key) && typeof value[key] !== `undefined`,
nil: (keys4, key, value) => keys4.has(key) && value[key] != null,
falsy: (keys4, key, value) => keys4.has(key) && !!value[key]
};
function hasRequiredKeys(requiredKeys, options) {
var _a2;
const requiredSet = new Set(requiredKeys);
const check2 = checks[(_a2 = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a2 !== void 0 ? _a2 : "missing"];
return makeValidator({
test: (value, state) => {
const keys4 = new Set(Object.keys(value));
const problems = [];
for (const key of requiredSet)
if (!check2(keys4, key, value))
problems.push(key);
if (problems.length > 0)
return pushError(state, `Missing required ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
return true;
}
});
}
function hasAtLeastOneKey(requiredKeys, options) {
var _a2;
const requiredSet = new Set(requiredKeys);
const check2 = checks[(_a2 = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a2 !== void 0 ? _a2 : "missing"];
return makeValidator({
test: (value, state) => {
const keys4 = Object.keys(value);
const valid6 = keys4.some((key) => check2(requiredSet, key, value));
if (!valid6)
return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`);
return true;
}
});
}
function hasForbiddenKeys(forbiddenKeys, options) {
var _a2;
const forbiddenSet = new Set(forbiddenKeys);
const check2 = checks[(_a2 = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a2 !== void 0 ? _a2 : "missing"];
return makeValidator({
test: (value, state) => {
const keys4 = new Set(Object.keys(value));
const problems = [];
for (const key of forbiddenSet)
if (check2(keys4, key, value))
problems.push(key);
if (problems.length > 0)
return pushError(state, `Forbidden ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
return true;
}
});
}
function hasMutuallyExclusiveKeys(exclusiveKeys, options) {
var _a2;
const exclusiveSet = new Set(exclusiveKeys);
const check2 = checks[(_a2 = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a2 !== void 0 ? _a2 : "missing"];
return makeValidator({
test: (value, state) => {
const keys4 = new Set(Object.keys(value));
const used = [];
for (const key of exclusiveSet)
if (check2(keys4, key, value))
used.push(key);
if (used.length > 1)
return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`);
return true;
}
});
}
(function(KeyRelationship) {
KeyRelationship["Forbids"] = "Forbids";
KeyRelationship["Requires"] = "Requires";
})(exports2.KeyRelationship || (exports2.KeyRelationship = {}));
var keyRelationships = {
[exports2.KeyRelationship.Forbids]: {
expect: false,
message: `forbids using`
},
[exports2.KeyRelationship.Requires]: {
expect: true,
message: `requires using`
}
};
function hasKeyRelationship(subject, relationship, others, options) {
var _a2, _b2;
const skipped = new Set((_a2 = options === null || options === void 0 ? void 0 : options.ignore) !== null && _a2 !== void 0 ? _a2 : []);
const check2 = checks[(_b2 = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _b2 !== void 0 ? _b2 : "missing"];
const otherSet = new Set(others);
const spec = keyRelationships[relationship];
const conjunction = relationship === exports2.KeyRelationship.Forbids ? `or` : `and`;
return makeValidator({
test: (value, state) => {
const keys4 = new Set(Object.keys(value));
if (!check2(keys4, subject, value) || skipped.has(value[subject]))
return true;
const problems = [];
for (const key of otherSet)
if ((check2(keys4, key, value) && !skipped.has(value[key])) !== spec.expect)
problems.push(key);
if (problems.length >= 1)
return pushError(state, `Property "${subject}" ${spec.message} ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`);
return true;
}
});
}
exports2.TypeAssertionError = TypeAssertionError;
exports2.applyCascade = applyCascade;
exports2.as = as;
exports2.assert = assert13;
exports2.assertWithErrors = assertWithErrors;
exports2.cascade = cascade;
exports2.fn = fn;
exports2.hasAtLeastOneKey = hasAtLeastOneKey;
exports2.hasExactLength = hasExactLength;
exports2.hasForbiddenKeys = hasForbiddenKeys;
exports2.hasKeyRelationship = hasKeyRelationship;
exports2.hasMaxLength = hasMaxLength;
exports2.hasMinLength = hasMinLength;
exports2.hasMutuallyExclusiveKeys = hasMutuallyExclusiveKeys;
exports2.hasRequiredKeys = hasRequiredKeys;
exports2.hasUniqueItems = hasUniqueItems;
exports2.isArray = isArray;
exports2.isAtLeast = isAtLeast;
exports2.isAtMost = isAtMost;
exports2.isBase64 = isBase64;
exports2.isBoolean = isBoolean2;
exports2.isDate = isDate;
exports2.isDict = isDict;
exports2.isEnum = isEnum;
exports2.isHexColor = isHexColor;
exports2.isISO8601 = isISO8601;
exports2.isInExclusiveRange = isInExclusiveRange;
exports2.isInInclusiveRange = isInInclusiveRange;
exports2.isInstanceOf = isInstanceOf;
exports2.isInteger = isInteger2;
exports2.isJSON = isJSON;
exports2.isLiteral = isLiteral;
exports2.isLowerCase = isLowerCase;
exports2.isMap = isMap;
exports2.isNegative = isNegative;
exports2.isNullable = isNullable;
exports2.isNumber = isNumber;
exports2.isObject = isObject4;
exports2.isOneOf = isOneOf;
exports2.isOptional = isOptional;
exports2.isPartial = isPartial;
exports2.isPayload = isPayload;
exports2.isPositive = isPositive;
exports2.isRecord = isRecord2;
exports2.isSet = isSet;
exports2.isString = isString;
exports2.isTuple = isTuple;
exports2.isUUID4 = isUUID4;
exports2.isUnknown = isUnknown;
exports2.isUpperCase = isUpperCase;
exports2.makeTrait = makeTrait;
exports2.makeValidator = makeValidator;
exports2.matchesRegExp = matchesRegExp;
exports2.softAssert = softAssert;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/Command.js
var require_Command = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/Command.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n2 = /* @__PURE__ */ Object.create(null);
if (e) {
Object.keys(e).forEach(function(k2) {
if (k2 !== "default") {
var d3 = Object.getOwnPropertyDescriptor(e, k2);
Object.defineProperty(n2, k2, d3.get ? d3 : {
enumerable: true,
get: function() {
return e[k2];
}
});
}
});
}
n2["default"] = e;
return Object.freeze(n2);
}
var Command = class {
constructor() {
this.help = false;
}
/**
* Defines the usage information for the given command.
*/
static Usage(usage) {
return usage;
}
/**
* Standard error handler which will simply rethrow the error. Can be used
* to add custom logic to handle errors from the command or simply return
* the parent class error handling.
*/
async catch(error) {
throw error;
}
async validateAndExecute() {
const commandClass = this.constructor;
const cascade = commandClass.schema;
if (Array.isArray(cascade)) {
const { isDict, isUnknown, applyCascade } = await Promise.resolve().then(function() {
return /* @__PURE__ */ _interopNamespace(require_lib4());
});
const schema2 = applyCascade(isDict(isUnknown()), cascade);
const errors2 = [];
const coercions = [];
const check2 = schema2(this, { errors: errors2, coercions });
if (!check2)
throw utils.formatError(`Invalid option schema`, errors2);
for (const [, op] of coercions) {
op();
}
} else if (cascade != null) {
throw new Error(`Invalid command schema`);
}
const exitCode = await this.execute();
if (typeof exitCode !== `undefined`) {
return exitCode;
} else {
return 0;
}
}
};
Command.isOption = utils.isOptionSymbol;
Command.Default = [];
exports2.Command = Command;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/format.js
var require_format2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/format.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var MAX_LINE_LENGTH = 80;
var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`);
for (let t2 = 0; t2 <= 24; ++t2)
richLine[richLine.length - t2] = `\x1B[38;5;${232 + t2}m\u2501`;
var richFormat = {
header: (str2) => `\x1B[1m\u2501\u2501\u2501 ${str2}${str2.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str2.length + 5).join(``)}` : `:`}\x1B[0m`,
bold: (str2) => `\x1B[1m${str2}\x1B[22m`,
error: (str2) => `\x1B[31m\x1B[1m${str2}\x1B[22m\x1B[39m`,
code: (str2) => `\x1B[36m${str2}\x1B[39m`
};
var textFormat = {
header: (str2) => str2,
bold: (str2) => str2,
error: (str2) => str2,
code: (str2) => str2
};
function dedent(text) {
const lines = text.split(`
`);
const nonEmptyLines = lines.filter((line) => line.match(/\S/));
const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0;
return lines.map((line) => line.slice(indent).trimRight()).join(`
`);
}
function formatMarkdownish(text, { format: format2, paragraphs }) {
text = text.replace(/\r\n?/g, `
`);
text = dedent(text);
text = text.replace(/^\n+|\n+$/g, ``);
text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2
`);
text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `);
if (paragraphs) {
text = text.split(/\n/).map((paragraph) => {
const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/);
if (!bulletMatch)
return paragraph.match(/(.{1,80})(?: |$)/g).join(`
`);
const indent = paragraph.length - paragraph.trimStart().length;
return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index2) => {
return ` `.repeat(indent) + (index2 === 0 ? `- ` : ` `) + line;
}).join(`
`);
}).join(`
`);
}
text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return format2.code($1 + $2 + $1);
});
text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return format2.bold($1 + $2 + $1);
});
return text ? `${text}
` : ``;
}
exports2.formatMarkdownish = formatMarkdownish;
exports2.richFormat = richFormat;
exports2.textFormat = textFormat;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/core.js
var require_core2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/core.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var constants6 = require_constants3();
var errors2 = require_errors2();
function debug(str2) {
if (constants6.DEBUG) {
console.log(str2);
}
}
var basicHelpState = {
candidateUsage: null,
requiredOptions: [],
errorMessage: null,
ignoreOptions: false,
path: [],
positionals: [],
options: [],
remainder: null,
selectedIndex: constants6.HELP_COMMAND_INDEX
};
function makeStateMachine() {
return {
nodes: [makeNode2(), makeNode2(), makeNode2()]
};
}
function makeAnyOfMachine(inputs) {
const output = makeStateMachine();
const heads = [];
let offset = output.nodes.length;
for (const input of inputs) {
heads.push(offset);
for (let t2 = 0; t2 < input.nodes.length; ++t2)
if (!isTerminalNode(t2))
output.nodes.push(cloneNode(input.nodes[t2], offset));
offset += input.nodes.length - 2;
}
for (const head2 of heads)
registerShortcut(output, constants6.NODE_INITIAL, head2);
return output;
}
function injectNode(machine, node) {
machine.nodes.push(node);
return machine.nodes.length - 1;
}
function simplifyMachine(input) {
const visited = /* @__PURE__ */ new Set();
const process24 = (node) => {
if (visited.has(node))
return;
visited.add(node);
const nodeDef = input.nodes[node];
for (const transitions of Object.values(nodeDef.statics))
for (const { to } of transitions)
process24(to);
for (const [, { to }] of nodeDef.dynamics)
process24(to);
for (const { to } of nodeDef.shortcuts)
process24(to);
const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to));
while (nodeDef.shortcuts.length > 0) {
const { to } = nodeDef.shortcuts.shift();
const toDef = input.nodes[to];
for (const [segment, transitions] of Object.entries(toDef.statics)) {
const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment];
for (const transition of transitions) {
if (!store.some(({ to: to2 }) => transition.to === to2)) {
store.push(transition);
}
}
}
for (const [test, transition] of toDef.dynamics)
if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2))
nodeDef.dynamics.push([test, transition]);
for (const transition of toDef.shortcuts) {
if (!shortcuts.has(transition.to)) {
nodeDef.shortcuts.push(transition);
shortcuts.add(transition.to);
}
}
}
};
process24(constants6.NODE_INITIAL);
}
function debugMachine(machine, { prefix = `` } = {}) {
if (constants6.DEBUG) {
debug(`${prefix}Nodes are:`);
for (let t2 = 0; t2 < machine.nodes.length; ++t2) {
debug(`${prefix} ${t2}: ${JSON.stringify(machine.nodes[t2])}`);
}
}
}
function runMachineInternal(machine, input, partial = false) {
debug(`Running a vm on ${JSON.stringify(input)}`);
let branches = [{ node: constants6.NODE_INITIAL, state: {
candidateUsage: null,
requiredOptions: [],
errorMessage: null,
ignoreOptions: false,
options: [],
path: [],
positionals: [],
remainder: null,
selectedIndex: null
} }];
debugMachine(machine, { prefix: ` ` });
const tokens = [constants6.START_OF_INPUT, ...input];
for (let t2 = 0; t2 < tokens.length; ++t2) {
const segment = tokens[t2];
debug(` Processing ${JSON.stringify(segment)}`);
const nextBranches = [];
for (const { node, state } of branches) {
debug(` Current node is ${node}`);
const nodeDef = machine.nodes[node];
if (node === constants6.NODE_ERRORED) {
nextBranches.push({ node, state });
continue;
}
console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`);
const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment);
if (!partial || t2 < tokens.length - 1 || hasExactMatch) {
if (hasExactMatch) {
const transitions = nodeDef.statics[segment];
for (const { to, reducer } of transitions) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute2(reducers, reducer, state, segment) : state });
debug(` Static transition to ${to} found`);
}
} else {
debug(` No static transition found`);
}
} else {
let hasMatches = false;
for (const candidate of Object.keys(nodeDef.statics)) {
if (!candidate.startsWith(segment))
continue;
if (segment === candidate) {
for (const { to, reducer } of nodeDef.statics[candidate]) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute2(reducers, reducer, state, segment) : state });
debug(` Static transition to ${to} found`);
}
} else {
for (const { to } of nodeDef.statics[candidate]) {
nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } });
debug(` Static transition to ${to} found (partial match)`);
}
}
hasMatches = true;
}
if (!hasMatches) {
debug(` No partial static transition found`);
}
}
if (segment !== constants6.END_OF_INPUT) {
for (const [test, { to, reducer }] of nodeDef.dynamics) {
if (execute2(tests, test, state, segment)) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute2(reducers, reducer, state, segment) : state });
debug(` Dynamic transition to ${to} found (via ${test})`);
}
}
}
}
if (nextBranches.length === 0 && segment === constants6.END_OF_INPUT && input.length === 1) {
return [{
node: constants6.NODE_INITIAL,
state: basicHelpState
}];
}
if (nextBranches.length === 0) {
throw new errors2.UnknownSyntaxError(input, branches.filter(({ node }) => {
return node !== constants6.NODE_ERRORED;
}).map(({ state }) => {
return { usage: state.candidateUsage, reason: null };
}));
}
if (nextBranches.every(({ node }) => node === constants6.NODE_ERRORED)) {
throw new errors2.UnknownSyntaxError(input, nextBranches.map(({ state }) => {
return { usage: state.candidateUsage, reason: state.errorMessage };
}));
}
branches = trimSmallerBranches(nextBranches);
}
if (branches.length > 0) {
debug(` Results:`);
for (const branch of branches) {
debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`);
}
} else {
debug(` No results`);
}
return branches;
}
function checkIfNodeIsFinished(node, state) {
if (state.selectedIndex !== null)
return true;
if (Object.prototype.hasOwnProperty.call(node.statics, constants6.END_OF_INPUT)) {
for (const { to } of node.statics[constants6.END_OF_INPUT])
if (to === constants6.NODE_SUCCESS)
return true;
}
return false;
}
function suggestMachine(machine, input, partial) {
const prefix = partial && input.length > 0 ? [``] : [];
const branches = runMachineInternal(machine, input, partial);
const suggestions = [];
const suggestionsJson = /* @__PURE__ */ new Set();
const traverseSuggestion = (suggestion, node, skipFirst = true) => {
let nextNodes = [node];
while (nextNodes.length > 0) {
const currentNodes = nextNodes;
nextNodes = [];
for (const node2 of currentNodes) {
const nodeDef = machine.nodes[node2];
const keys4 = Object.keys(nodeDef.statics);
for (const key of Object.keys(nodeDef.statics)) {
const segment = keys4[0];
for (const { to, reducer } of nodeDef.statics[segment]) {
if (reducer !== `pushPath`)
continue;
if (!skipFirst)
suggestion.push(segment);
nextNodes.push(to);
}
}
}
skipFirst = false;
}
const json2 = JSON.stringify(suggestion);
if (suggestionsJson.has(json2))
return;
suggestions.push(suggestion);
suggestionsJson.add(json2);
};
for (const { node, state } of branches) {
if (state.remainder !== null) {
traverseSuggestion([state.remainder], node);
continue;
}
const nodeDef = machine.nodes[node];
const isFinished = checkIfNodeIsFinished(nodeDef, state);
for (const [candidate, transitions] of Object.entries(nodeDef.statics))
if (isFinished && candidate !== constants6.END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`))
traverseSuggestion([...prefix, candidate], node);
if (!isFinished)
continue;
for (const [test, { to }] of nodeDef.dynamics) {
if (to === constants6.NODE_ERRORED)
continue;
const tokens = suggest(test, state);
if (tokens === null)
continue;
for (const token of tokens) {
traverseSuggestion([...prefix, token], node);
}
}
}
return [...suggestions].sort();
}
function runMachine(machine, input) {
const branches = runMachineInternal(machine, [...input, constants6.END_OF_INPUT]);
return selectBestState(input, branches.map(({ state }) => {
return state;
}));
}
function trimSmallerBranches(branches) {
let maxPathSize = 0;
for (const { state } of branches)
if (state.path.length > maxPathSize)
maxPathSize = state.path.length;
return branches.filter(({ state }) => {
return state.path.length === maxPathSize;
});
}
function selectBestState(input, states) {
const terminalStates = states.filter((state) => {
return state.selectedIndex !== null;
});
if (terminalStates.length === 0)
throw new Error();
const requiredOptionsSetStates = terminalStates.filter((state) => state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name))));
if (requiredOptionsSetStates.length === 0) {
throw new errors2.UnknownSyntaxError(input, terminalStates.map((state) => ({
usage: state.candidateUsage,
reason: null
})));
}
let maxPathSize = 0;
for (const state of requiredOptionsSetStates)
if (state.path.length > maxPathSize)
maxPathSize = state.path.length;
const bestPathBranches = requiredOptionsSetStates.filter((state) => {
return state.path.length === maxPathSize;
});
const getPositionalCount = (state) => state.positionals.filter(({ extra }) => {
return !extra;
}).length + state.options.length;
const statesWithPositionalCount = bestPathBranches.map((state) => {
return { state, positionalCount: getPositionalCount(state) };
});
let maxPositionalCount = 0;
for (const { positionalCount } of statesWithPositionalCount)
if (positionalCount > maxPositionalCount)
maxPositionalCount = positionalCount;
const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => {
return positionalCount === maxPositionalCount;
}).map(({ state }) => {
return state;
});
const fixedStates = aggregateHelpStates(bestPositionalStates);
if (fixedStates.length > 1)
throw new errors2.AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage));
return fixedStates[0];
}
function aggregateHelpStates(states) {
const notHelps = [];
const helps = [];
for (const state of states) {
if (state.selectedIndex === constants6.HELP_COMMAND_INDEX) {
helps.push(state);
} else {
notHelps.push(state);
}
}
if (helps.length > 0) {
notHelps.push({
...basicHelpState,
path: findCommonPrefix(...helps.map((state) => state.path)),
options: helps.reduce((options, state) => options.concat(state.options), [])
});
}
return notHelps;
}
function findCommonPrefix(firstPath, secondPath, ...rest) {
if (secondPath === void 0)
return Array.from(firstPath);
return findCommonPrefix(firstPath.filter((segment, i4) => segment === secondPath[i4]), ...rest);
}
function makeNode2() {
return {
dynamics: [],
shortcuts: [],
statics: {}
};
}
function isTerminalNode(node) {
return node === constants6.NODE_SUCCESS || node === constants6.NODE_ERRORED;
}
function cloneTransition(input, offset = 0) {
return {
to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to,
reducer: input.reducer
};
}
function cloneNode(input, offset = 0) {
const output = makeNode2();
for (const [test, transition] of input.dynamics)
output.dynamics.push([test, cloneTransition(transition, offset)]);
for (const transition of input.shortcuts)
output.shortcuts.push(cloneTransition(transition, offset));
for (const [segment, transitions] of Object.entries(input.statics))
output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset));
return output;
}
function registerDynamic(machine, from5, test, to, reducer) {
machine.nodes[from5].dynamics.push([
test,
{ to, reducer }
]);
}
function registerShortcut(machine, from5, to, reducer) {
machine.nodes[from5].shortcuts.push({ to, reducer });
}
function registerStatic(machine, from5, test, to, reducer) {
const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from5].statics, test) ? machine.nodes[from5].statics[test] = [] : machine.nodes[from5].statics[test];
store.push({ to, reducer });
}
function execute2(store, callback2, state, segment) {
if (Array.isArray(callback2)) {
const [name, ...args] = callback2;
return store[name](state, segment, ...args);
} else {
return store[callback2](state, segment);
}
}
function suggest(callback2, state) {
const fn = Array.isArray(callback2) ? tests[callback2[0]] : tests[callback2];
if (typeof fn.suggest === `undefined`)
return null;
const args = Array.isArray(callback2) ? callback2.slice(1) : [];
return fn.suggest(state, ...args);
}
var tests = {
always: () => {
return true;
},
isOptionLike: (state, segment) => {
return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`));
},
isNotOptionLike: (state, segment) => {
return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`);
},
isOption: (state, segment, name, hidden2) => {
return !state.ignoreOptions && segment === name;
},
isBatchOption: (state, segment, names) => {
return !state.ignoreOptions && constants6.BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`));
},
isBoundOption: (state, segment, names, options) => {
const optionParsing = segment.match(constants6.BINDING_REGEX);
return !state.ignoreOptions && !!optionParsing && constants6.OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding);
},
isNegatedOption: (state, segment, name) => {
return !state.ignoreOptions && segment === `--no-${name.slice(2)}`;
},
isHelp: (state, segment) => {
return !state.ignoreOptions && constants6.HELP_REGEX.test(segment);
},
isUnsupportedOption: (state, segment, names) => {
return !state.ignoreOptions && segment.startsWith(`-`) && constants6.OPTION_REGEX.test(segment) && !names.includes(segment);
},
isInvalidOption: (state, segment) => {
return !state.ignoreOptions && segment.startsWith(`-`) && !constants6.OPTION_REGEX.test(segment);
}
};
tests.isOption.suggest = (state, name, hidden2 = true) => {
return !hidden2 ? [name] : null;
};
var reducers = {
setCandidateState: (state, segment, candidateState) => {
return { ...state, ...candidateState };
},
setSelectedIndex: (state, segment, index2) => {
return { ...state, selectedIndex: index2 };
},
pushBatch: (state, segment) => {
return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) };
},
pushBound: (state, segment) => {
const [, name, value] = segment.match(constants6.BINDING_REGEX);
return { ...state, options: state.options.concat({ name, value }) };
},
pushPath: (state, segment) => {
return { ...state, path: state.path.concat(segment) };
},
pushPositional: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) };
},
pushExtra: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) };
},
pushExtraNoLimits: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) };
},
pushTrue: (state, segment, name = segment) => {
return { ...state, options: state.options.concat({ name: segment, value: true }) };
},
pushFalse: (state, segment, name = segment) => {
return { ...state, options: state.options.concat({ name, value: false }) };
},
pushUndefined: (state, segment) => {
return { ...state, options: state.options.concat({ name: segment, value: void 0 }) };
},
pushStringValue: (state, segment) => {
var _a2;
const copy2 = { ...state, options: [...state.options] };
const lastOption = state.options[state.options.length - 1];
lastOption.value = ((_a2 = lastOption.value) !== null && _a2 !== void 0 ? _a2 : []).concat([segment]);
return copy2;
},
setStringValue: (state, segment) => {
const copy2 = { ...state, options: [...state.options] };
const lastOption = state.options[state.options.length - 1];
lastOption.value = segment;
return copy2;
},
inhibateOptions: (state) => {
return { ...state, ignoreOptions: true };
},
useHelp: (state, segment, command) => {
const [
,
/* name */
,
index2
] = segment.match(constants6.HELP_REGEX);
if (typeof index2 !== `undefined`) {
return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index2 }] };
} else {
return { ...state, options: [{ name: `-c`, value: String(command) }] };
}
},
setError: (state, segment, errorMessage) => {
if (segment === constants6.END_OF_INPUT) {
return { ...state, errorMessage: `${errorMessage}.` };
} else {
return { ...state, errorMessage: `${errorMessage} ("${segment}").` };
}
},
setOptionArityError: (state, segment) => {
const lastOption = state.options[state.options.length - 1];
return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` };
}
};
var NoLimits = /* @__PURE__ */ Symbol();
var CommandBuilder = class {
constructor(cliIndex, cliOpts) {
this.allOptionNames = [];
this.arity = { leading: [], trailing: [], extra: [], proxy: false };
this.options = [];
this.paths = [];
this.cliIndex = cliIndex;
this.cliOpts = cliOpts;
}
addPath(path236) {
this.paths.push(path236);
}
setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) {
Object.assign(this.arity, { leading, trailing, extra, proxy });
}
addPositional({ name = `arg`, required = true } = {}) {
if (!required && this.arity.extra === NoLimits)
throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`);
if (!required && this.arity.trailing.length > 0)
throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`);
if (!required && this.arity.extra !== NoLimits) {
this.arity.extra.push(name);
} else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) {
this.arity.leading.push(name);
} else {
this.arity.trailing.push(name);
}
}
addRest({ name = `arg`, required = 0 } = {}) {
if (this.arity.extra === NoLimits)
throw new Error(`Infinite lists cannot be declared multiple times in the same command`);
if (this.arity.trailing.length > 0)
throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`);
for (let t2 = 0; t2 < required; ++t2)
this.addPositional({ name });
this.arity.extra = NoLimits;
}
addProxy({ required = 0 } = {}) {
this.addRest({ required });
this.arity.proxy = true;
}
addOption({ names, description, arity = 0, hidden: hidden2 = false, required = false, allowBinding = true }) {
if (!allowBinding && arity > 1)
throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`);
if (!Number.isInteger(arity))
throw new Error(`The arity must be an integer, got ${arity}`);
if (arity < 0)
throw new Error(`The arity must be positive, got ${arity}`);
this.allOptionNames.push(...names);
this.options.push({ names, description, arity, hidden: hidden2, required, allowBinding });
}
setContext(context) {
this.context = context;
}
usage({ detailed = true, inlineOptions = true } = {}) {
const segments = [this.cliOpts.binaryName];
const detailedOptionList = [];
if (this.paths.length > 0)
segments.push(...this.paths[0]);
if (detailed) {
for (const { names, arity, hidden: hidden2, description, required } of this.options) {
if (hidden2)
continue;
const args = [];
for (let t2 = 0; t2 < arity; ++t2)
args.push(` #${t2}`);
const definition = `${names.join(`,`)}${args.join(``)}`;
if (!inlineOptions && description) {
detailedOptionList.push({ definition, description, required });
} else {
segments.push(required ? `<${definition}>` : `[${definition}]`);
}
}
segments.push(...this.arity.leading.map((name) => `<${name}>`));
if (this.arity.extra === NoLimits)
segments.push(`...`);
else
segments.push(...this.arity.extra.map((name) => `[${name}]`));
segments.push(...this.arity.trailing.map((name) => `<${name}>`));
}
const usage = segments.join(` `);
return { usage, options: detailedOptionList };
}
compile() {
if (typeof this.context === `undefined`)
throw new Error(`Assertion failed: No context attached`);
const machine = makeStateMachine();
let firstNode = constants6.NODE_INITIAL;
const candidateUsage = this.usage().usage;
const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names);
firstNode = injectNode(machine, makeNode2());
registerStatic(machine, constants6.NODE_INITIAL, constants6.START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]);
const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`;
const paths3 = this.paths.length > 0 ? this.paths : [[]];
for (const path236 of paths3) {
let lastPathNode = firstNode;
if (path236.length > 0) {
const optionPathNode = injectNode(machine, makeNode2());
registerShortcut(machine, lastPathNode, optionPathNode);
this.registerOptions(machine, optionPathNode);
lastPathNode = optionPathNode;
}
for (let t2 = 0; t2 < path236.length; ++t2) {
const nextPathNode = injectNode(machine, makeNode2());
registerStatic(machine, lastPathNode, path236[t2], nextPathNode, `pushPath`);
lastPathNode = nextPathNode;
}
if (this.arity.leading.length > 0 || !this.arity.proxy) {
const helpNode = injectNode(machine, makeNode2());
registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]);
registerStatic(machine, helpNode, constants6.END_OF_INPUT, constants6.NODE_SUCCESS, [`setSelectedIndex`, constants6.HELP_COMMAND_INDEX]);
this.registerOptions(machine, lastPathNode);
}
if (this.arity.leading.length > 0)
registerStatic(machine, lastPathNode, constants6.END_OF_INPUT, constants6.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
let lastLeadingNode = lastPathNode;
for (let t2 = 0; t2 < this.arity.leading.length; ++t2) {
const nextLeadingNode = injectNode(machine, makeNode2());
if (!this.arity.proxy || t2 + 1 !== this.arity.leading.length)
this.registerOptions(machine, nextLeadingNode);
if (this.arity.trailing.length > 0 || t2 + 1 !== this.arity.leading.length)
registerStatic(machine, nextLeadingNode, constants6.END_OF_INPUT, constants6.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`);
lastLeadingNode = nextLeadingNode;
}
let lastExtraNode = lastLeadingNode;
if (this.arity.extra === NoLimits || this.arity.extra.length > 0) {
const extraShortcutNode = injectNode(machine, makeNode2());
registerShortcut(machine, lastLeadingNode, extraShortcutNode);
if (this.arity.extra === NoLimits) {
const extraNode = injectNode(machine, makeNode2());
if (!this.arity.proxy)
this.registerOptions(machine, extraNode);
registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`);
registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`);
registerShortcut(machine, extraNode, extraShortcutNode);
} else {
for (let t2 = 0; t2 < this.arity.extra.length; ++t2) {
const nextExtraNode = injectNode(machine, makeNode2());
if (!this.arity.proxy || t2 > 0)
this.registerOptions(machine, nextExtraNode);
registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`);
registerShortcut(machine, nextExtraNode, extraShortcutNode);
lastExtraNode = nextExtraNode;
}
}
lastExtraNode = extraShortcutNode;
}
if (this.arity.trailing.length > 0)
registerStatic(machine, lastExtraNode, constants6.END_OF_INPUT, constants6.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
let lastTrailingNode = lastExtraNode;
for (let t2 = 0; t2 < this.arity.trailing.length; ++t2) {
const nextTrailingNode = injectNode(machine, makeNode2());
if (!this.arity.proxy)
this.registerOptions(machine, nextTrailingNode);
if (t2 + 1 < this.arity.trailing.length)
registerStatic(machine, nextTrailingNode, constants6.END_OF_INPUT, constants6.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`);
lastTrailingNode = nextTrailingNode;
}
registerDynamic(machine, lastTrailingNode, positionalArgument, constants6.NODE_ERRORED, [`setError`, `Extraneous positional argument`]);
registerStatic(machine, lastTrailingNode, constants6.END_OF_INPUT, constants6.NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]);
}
return {
machine,
context: this.context
};
}
registerOptions(machine, node) {
registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`);
registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`);
registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`);
registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], constants6.NODE_ERRORED, [`setError`, `Unsupported option name`]);
registerDynamic(machine, node, [`isInvalidOption`], constants6.NODE_ERRORED, [`setError`, `Invalid option name`]);
for (const option of this.options) {
const longestName = option.names.reduce((longestName2, name) => {
return name.length > longestName2.length ? name : longestName2;
}, ``);
if (option.arity === 0) {
for (const name of option.names) {
registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`);
if (name.startsWith(`--`) && !name.startsWith(`--no-`)) {
registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]);
}
}
} else {
let lastNode = injectNode(machine, makeNode2());
for (const name of option.names)
registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`);
for (let t2 = 0; t2 < option.arity; ++t2) {
const nextNode = injectNode(machine, makeNode2());
registerStatic(machine, lastNode, constants6.END_OF_INPUT, constants6.NODE_ERRORED, `setOptionArityError`);
registerDynamic(machine, lastNode, `isOptionLike`, constants6.NODE_ERRORED, `setOptionArityError`);
const action = option.arity === 1 ? `setStringValue` : `pushStringValue`;
registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action);
lastNode = nextNode;
}
registerShortcut(machine, lastNode, node);
}
}
}
};
var CliBuilder = class _CliBuilder {
constructor({ binaryName = `...` } = {}) {
this.builders = [];
this.opts = { binaryName };
}
static build(cbs, opts3 = {}) {
return new _CliBuilder(opts3).commands(cbs).compile();
}
getBuilderByIndex(n2) {
if (!(n2 >= 0 && n2 < this.builders.length))
throw new Error(`Assertion failed: Out-of-bound command index (${n2})`);
return this.builders[n2];
}
commands(cbs) {
for (const cb of cbs)
cb(this.command());
return this;
}
command() {
const builder = new CommandBuilder(this.builders.length, this.opts);
this.builders.push(builder);
return builder;
}
compile() {
const machines = [];
const contexts = [];
for (const builder of this.builders) {
const { machine: machine2, context } = builder.compile();
machines.push(machine2);
contexts.push(context);
}
const machine = makeAnyOfMachine(machines);
simplifyMachine(machine);
return {
machine,
contexts,
process: (input) => {
return runMachine(machine, input);
},
suggest: (input, partial) => {
return suggestMachine(machine, input, partial);
}
};
}
};
exports2.CliBuilder = CliBuilder;
exports2.CommandBuilder = CommandBuilder;
exports2.NoLimits = NoLimits;
exports2.aggregateHelpStates = aggregateHelpStates;
exports2.cloneNode = cloneNode;
exports2.cloneTransition = cloneTransition;
exports2.debug = debug;
exports2.debugMachine = debugMachine;
exports2.execute = execute2;
exports2.injectNode = injectNode;
exports2.isTerminalNode = isTerminalNode;
exports2.makeAnyOfMachine = makeAnyOfMachine;
exports2.makeNode = makeNode2;
exports2.makeStateMachine = makeStateMachine;
exports2.reducers = reducers;
exports2.registerDynamic = registerDynamic;
exports2.registerShortcut = registerShortcut;
exports2.registerStatic = registerStatic;
exports2.runMachineInternal = runMachineInternal;
exports2.selectBestState = selectBestState;
exports2.simplifyMachine = simplifyMachine;
exports2.suggest = suggest;
exports2.tests = tests;
exports2.trimSmallerBranches = trimSmallerBranches;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/HelpCommand.js
var require_HelpCommand = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/HelpCommand.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var Command = require_Command();
var HelpCommand = class _HelpCommand extends Command.Command {
constructor(contexts) {
super();
this.contexts = contexts;
this.commands = [];
}
static from(state, contexts) {
const command = new _HelpCommand(contexts);
command.path = state.path;
for (const opt of state.options) {
switch (opt.name) {
case `-c`:
{
command.commands.push(Number(opt.value));
}
break;
case `-i`:
{
command.index = Number(opt.value);
}
break;
}
}
return command;
}
async execute() {
let commands2 = this.commands;
if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands2.length)
commands2 = [commands2[this.index]];
if (commands2.length === 0) {
this.context.stdout.write(this.cli.usage());
} else if (commands2.length === 1) {
this.context.stdout.write(this.cli.usage(this.contexts[commands2[0]].commandClass, { detailed: true }));
} else if (commands2.length > 1) {
this.context.stdout.write(`Multiple commands match your selection:
`);
this.context.stdout.write(`
`);
let index2 = 0;
for (const command of this.commands)
this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index2++}. `.padStart(5) }));
this.context.stdout.write(`
`);
this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
`);
}
}
};
exports2.HelpCommand = HelpCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/Cli.js
var require_Cli = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/Cli.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var constants6 = require_constants3();
var Command = require_Command();
var tty5 = __require("tty");
var core2 = require_core2();
var format2 = require_format2();
var HelpCommand = require_HelpCommand();
function _interopDefaultLegacy(e) {
return e && typeof e === "object" && "default" in e ? e : { "default": e };
}
var tty__default = /* @__PURE__ */ _interopDefaultLegacy(tty5);
var errorCommandSymbol = /* @__PURE__ */ Symbol(`clipanion/errorCommand`);
function getDefaultColorDepth() {
if (process.env.FORCE_COLOR === `0`)
return 1;
if (process.env.FORCE_COLOR === `1`)
return 8;
if (typeof process.stdout !== `undefined` && process.stdout.isTTY)
return 8;
return 1;
}
var Cli = class _Cli {
constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) {
this.registrations = /* @__PURE__ */ new Map();
this.builder = new core2.CliBuilder({ binaryName: binaryNameOpt });
this.binaryLabel = binaryLabel;
this.binaryName = binaryNameOpt;
this.binaryVersion = binaryVersion;
this.enableCapture = enableCapture;
this.enableColors = enableColors;
}
/**
* Creates a new Cli and registers all commands passed as parameters.
*
* @param commandClasses The Commands to register
* @returns The created `Cli` instance
*/
static from(commandClasses, options = {}) {
const cli = new _Cli(options);
for (const commandClass of commandClasses)
cli.register(commandClass);
return cli;
}
/**
* Registers a command inside the CLI.
*/
register(commandClass) {
var _a2;
const specs = /* @__PURE__ */ new Map();
const command = new commandClass();
for (const key in command) {
const value = command[key];
if (typeof value === `object` && value !== null && value[Command.Command.isOption]) {
specs.set(key, value);
}
}
const builder = this.builder.command();
const index2 = builder.cliIndex;
const paths3 = (_a2 = commandClass.paths) !== null && _a2 !== void 0 ? _a2 : command.paths;
if (typeof paths3 !== `undefined`)
for (const path236 of paths3)
builder.addPath(path236);
this.registrations.set(commandClass, { specs, builder, index: index2 });
for (const [key, { definition }] of specs.entries())
definition(builder, key);
builder.setContext({
commandClass
});
}
process(input) {
const { contexts, process: process24 } = this.builder.compile();
const state = process24(input);
switch (state.selectedIndex) {
case constants6.HELP_COMMAND_INDEX: {
return HelpCommand.HelpCommand.from(state, contexts);
}
default:
{
const { commandClass } = contexts[state.selectedIndex];
const record = this.registrations.get(commandClass);
if (typeof record === `undefined`)
throw new Error(`Assertion failed: Expected the command class to have been registered.`);
const command = new commandClass();
command.path = state.path;
try {
for (const [key, { transformer }] of record.specs.entries())
command[key] = transformer(record.builder, key, state);
return command;
} catch (error) {
error[errorCommandSymbol] = command;
throw error;
}
}
break;
}
}
async run(input, userContext) {
var _a2;
let command;
const context = {
..._Cli.defaultContext,
...userContext
};
const colored = (_a2 = this.enableColors) !== null && _a2 !== void 0 ? _a2 : context.colorDepth > 1;
if (!Array.isArray(input)) {
command = input;
} else {
try {
command = this.process(input);
} catch (error) {
context.stdout.write(this.error(error, { colored }));
return 1;
}
}
if (command.help) {
context.stdout.write(this.usage(command, { colored, detailed: true }));
return 0;
}
command.context = context;
command.cli = {
binaryLabel: this.binaryLabel,
binaryName: this.binaryName,
binaryVersion: this.binaryVersion,
enableCapture: this.enableCapture,
enableColors: this.enableColors,
definitions: () => this.definitions(),
error: (error, opts3) => this.error(error, opts3),
format: (colored2) => this.format(colored2),
process: (input2) => this.process(input2),
run: (input2, subContext) => this.run(input2, { ...context, ...subContext }),
usage: (command2, opts3) => this.usage(command2, opts3)
};
const activate = this.enableCapture ? getCaptureActivator(context) : noopCaptureActivator;
let exitCode;
try {
exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0)));
} catch (error) {
context.stdout.write(this.error(error, { colored, command }));
return 1;
}
return exitCode;
}
async runExit(input, context) {
process.exitCode = await this.run(input, context);
}
suggest(input, partial) {
const { suggest } = this.builder.compile();
return suggest(input, partial);
}
definitions({ colored = false } = {}) {
const data = [];
for (const [commandClass, { index: index2 }] of this.registrations) {
if (typeof commandClass.usage === `undefined`)
continue;
const { usage: path236 } = this.getUsageByIndex(index2, { detailed: false });
const { usage, options } = this.getUsageByIndex(index2, { detailed: true, inlineOptions: false });
const category = typeof commandClass.usage.category !== `undefined` ? format2.formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0;
const description = typeof commandClass.usage.description !== `undefined` ? format2.formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0;
const details = typeof commandClass.usage.details !== `undefined` ? format2.formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0;
const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [format2.formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0;
data.push({ path: path236, usage, category, description, details, examples, options });
}
return data;
}
usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) {
var _a2;
if (command === null) {
for (const commandClass2 of this.registrations.keys()) {
const paths3 = commandClass2.paths;
const isDocumented = typeof commandClass2.usage !== `undefined`;
const isExclusivelyDefault = !paths3 || paths3.length === 0 || paths3.length === 1 && paths3[0].length === 0;
const isDefault = isExclusivelyDefault || ((_a2 = paths3 === null || paths3 === void 0 ? void 0 : paths3.some((path236) => path236.length === 0)) !== null && _a2 !== void 0 ? _a2 : false);
if (isDefault) {
if (command) {
command = null;
break;
} else {
command = commandClass2;
}
} else {
if (isDocumented) {
command = null;
continue;
}
}
}
if (command) {
detailed = true;
}
}
const commandClass = command !== null && command instanceof Command.Command ? command.constructor : command;
let result2 = ``;
if (!commandClass) {
const commandsByCategories = /* @__PURE__ */ new Map();
for (const [commandClass2, { index: index2 }] of this.registrations.entries()) {
if (typeof commandClass2.usage === `undefined`)
continue;
const category = typeof commandClass2.usage.category !== `undefined` ? format2.formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null;
let categoryCommands = commandsByCategories.get(category);
if (typeof categoryCommands === `undefined`)
commandsByCategories.set(category, categoryCommands = []);
const { usage } = this.getUsageByIndex(index2);
categoryCommands.push({ commandClass: commandClass2, usage });
}
const categoryNames = Array.from(commandsByCategories.keys()).sort((a2, b) => {
if (a2 === null)
return -1;
if (b === null)
return 1;
return a2.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` });
});
const hasLabel = typeof this.binaryLabel !== `undefined`;
const hasVersion = typeof this.binaryVersion !== `undefined`;
if (hasLabel || hasVersion) {
if (hasLabel && hasVersion)
result2 += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
`;
else if (hasLabel)
result2 += `${this.format(colored).header(`${this.binaryLabel}`)}
`;
else
result2 += `${this.format(colored).header(`${this.binaryVersion}`)}
`;
result2 += ` ${this.format(colored).bold(prefix)}${this.binaryName} <command>
`;
} else {
result2 += `${this.format(colored).bold(prefix)}${this.binaryName} <command>
`;
}
for (const categoryName of categoryNames) {
const commands2 = commandsByCategories.get(categoryName).slice().sort((a2, b) => {
return a2.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` });
});
const header = categoryName !== null ? categoryName.trim() : `General commands`;
result2 += `
`;
result2 += `${this.format(colored).header(`${header}`)}
`;
for (const { commandClass: commandClass2, usage } of commands2) {
const doc = commandClass2.usage.description || `undocumented`;
result2 += `
`;
result2 += ` ${this.format(colored).bold(usage)}
`;
result2 += ` ${format2.formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`;
}
}
result2 += `
`;
result2 += format2.formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true });
} else {
if (!detailed) {
const { usage } = this.getUsageByRegistration(commandClass);
result2 += `${this.format(colored).bold(prefix)}${usage}
`;
} else {
const { description = ``, details = ``, examples = [] } = commandClass.usage || {};
if (description !== ``) {
result2 += format2.formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase());
result2 += `
`;
}
if (details !== `` || examples.length > 0) {
result2 += `${this.format(colored).header(`Usage`)}
`;
result2 += `
`;
}
const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false });
result2 += `${this.format(colored).bold(prefix)}${usage}
`;
if (options.length > 0) {
result2 += `
`;
result2 += `${format2.richFormat.header(`Options`)}
`;
const maxDefinitionLength = options.reduce((length, option) => {
return Math.max(length, option.definition.length);
}, 0);
result2 += `
`;
for (const { definition, description: description2 } of options) {
result2 += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${format2.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`;
}
}
if (details !== ``) {
result2 += `
`;
result2 += `${this.format(colored).header(`Details`)}
`;
result2 += `
`;
result2 += format2.formatMarkdownish(details, { format: this.format(colored), paragraphs: true });
}
if (examples.length > 0) {
result2 += `
`;
result2 += `${this.format(colored).header(`Examples`)}
`;
for (const [description2, example] of examples) {
result2 += `
`;
result2 += format2.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false });
result2 += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)}
`;
}
}
}
}
return result2;
}
error(error, _a2) {
var _b2;
var { colored, command = (_b2 = error[errorCommandSymbol]) !== null && _b2 !== void 0 ? _b2 : null } = _a2 === void 0 ? {} : _a2;
if (!(error instanceof Error))
error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`);
let result2 = ``;
let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`);
if (name === `Error`)
name = `Internal Error`;
result2 += `${this.format(colored).error(name)}: ${error.message}
`;
const meta = error.clipanion;
if (typeof meta !== `undefined`) {
if (meta.type === `usage`) {
result2 += `
`;
result2 += this.usage(command);
}
} else {
if (error.stack) {
result2 += `${error.stack.replace(/^.*\n/, ``)}
`;
}
}
return result2;
}
format(colored) {
var _a2;
return ((_a2 = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a2 !== void 0 ? _a2 : _Cli.defaultContext.colorDepth > 1) ? format2.richFormat : format2.textFormat;
}
getUsageByRegistration(klass, opts3) {
const record = this.registrations.get(klass);
if (typeof record === `undefined`)
throw new Error(`Assertion failed: Unregistered command`);
return this.getUsageByIndex(record.index, opts3);
}
getUsageByIndex(n2, opts3) {
return this.builder.getBuilderByIndex(n2).usage(opts3);
}
};
Cli.defaultContext = {
stdin: process.stdin,
stdout: process.stdout,
stderr: process.stderr,
colorDepth: `getColorDepth` in tty__default["default"].WriteStream.prototype ? tty__default["default"].WriteStream.prototype.getColorDepth() : getDefaultColorDepth()
};
var gContextStorage;
function getCaptureActivator(context) {
let contextStorage = gContextStorage;
if (typeof contextStorage === `undefined`) {
if (context.stdout === process.stdout && context.stderr === process.stderr)
return noopCaptureActivator;
const { AsyncLocalStorage: LazyAsyncLocalStorage } = __require("async_hooks");
contextStorage = gContextStorage = new LazyAsyncLocalStorage();
const origStdoutWrite = process.stdout._write;
process.stdout._write = function(chunk, encoding, cb) {
const context2 = contextStorage.getStore();
if (typeof context2 === `undefined`)
return origStdoutWrite.call(this, chunk, encoding, cb);
return context2.stdout.write(chunk, encoding, cb);
};
const origStderrWrite = process.stderr._write;
process.stderr._write = function(chunk, encoding, cb) {
const context2 = contextStorage.getStore();
if (typeof context2 === `undefined`)
return origStderrWrite.call(this, chunk, encoding, cb);
return context2.stderr.write(chunk, encoding, cb);
};
}
return (fn) => {
return contextStorage.run(context, fn);
};
}
function noopCaptureActivator(fn) {
return fn();
}
exports2.Cli = Cli;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/definitions.js
var require_definitions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/definitions.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var Command = require_Command();
var DefinitionsCommand = class extends Command.Command {
async execute() {
this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)}
`);
}
};
DefinitionsCommand.paths = [[`--clipanion=definitions`]];
exports2.DefinitionsCommand = DefinitionsCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/help.js
var require_help = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/help.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var Command = require_Command();
var HelpCommand = class extends Command.Command {
async execute() {
this.context.stdout.write(this.cli.usage());
}
};
HelpCommand.paths = [[`-h`], [`--help`]];
exports2.HelpCommand = HelpCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/version.js
var require_version = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var Command = require_Command();
var VersionCommand = class extends Command.Command {
async execute() {
var _a2;
this.context.stdout.write(`${(_a2 = this.cli.binaryVersion) !== null && _a2 !== void 0 ? _a2 : `<unknown>`}
`);
}
};
VersionCommand.paths = [[`-v`], [`--version`]];
exports2.VersionCommand = VersionCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/index.js
var require_builtins = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/builtins/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var definitions = require_definitions();
var help81 = require_help();
var version2 = require_version();
exports2.DefinitionsCommand = definitions.DefinitionsCommand;
exports2.HelpCommand = help81.HelpCommand;
exports2.VersionCommand = version2.VersionCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Array.js
var require_Array = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Array.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
function Array2(descriptor, initialValueBase, optsBase) {
const [initialValue, opts3] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const { arity = 1 } = opts3;
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return utils.makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
arity,
hidden: opts3 === null || opts3 === void 0 ? void 0 : opts3.hidden,
description: opts3 === null || opts3 === void 0 ? void 0 : opts3.description,
required: opts3.required
});
},
transformer(builder, key, state) {
let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : [];
currentValue.push(value);
}
return currentValue;
}
});
}
exports2.Array = Array2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Boolean.js
var require_Boolean = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Boolean.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
function Boolean2(descriptor, initialValueBase, optsBase) {
const [initialValue, opts3] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return utils.makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
allowBinding: false,
arity: 0,
hidden: opts3.hidden,
description: opts3.description,
required: opts3.required
});
},
transformer(builer, key, state) {
let currentValue = initialValue;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
currentValue = value;
}
return currentValue;
}
});
}
exports2.Boolean = Boolean2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Counter.js
var require_Counter = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Counter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
function Counter2(descriptor, initialValueBase, optsBase) {
const [initialValue, opts3] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return utils.makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
allowBinding: false,
arity: 0,
hidden: opts3.hidden,
description: opts3.description,
required: opts3.required
});
},
transformer(builder, key, state) {
let currentValue = initialValue;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0;
if (!value) {
currentValue = 0;
} else {
currentValue += 1;
}
}
return currentValue;
}
});
}
exports2.Counter = Counter2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Proxy.js
var require_Proxy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Proxy.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
function Proxy2(opts3 = {}) {
return utils.makeCommandOption({
definition(builder, key) {
var _a2;
builder.addProxy({
name: (_a2 = opts3.name) !== null && _a2 !== void 0 ? _a2 : key,
required: opts3.required
});
},
transformer(builder, key, state) {
return state.positionals.map(({ value }) => value);
}
});
}
exports2.Proxy = Proxy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Rest.js
var require_Rest = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/Rest.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
var core2 = require_core2();
function Rest(opts3 = {}) {
return utils.makeCommandOption({
definition(builder, key) {
var _a2;
builder.addRest({
name: (_a2 = opts3.name) !== null && _a2 !== void 0 ? _a2 : key,
required: opts3.required
});
},
transformer(builder, key, state) {
const isRestPositional = (index2) => {
const positional = state.positionals[index2];
if (positional.extra === core2.NoLimits)
return true;
if (positional.extra === false && index2 < builder.arity.leading.length)
return true;
return false;
};
let count2 = 0;
while (count2 < state.positionals.length && isRestPositional(count2))
count2 += 1;
return state.positionals.splice(0, count2).map(({ value }) => value);
}
});
}
exports2.Rest = Rest;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/String.js
var require_String = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/String.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
var core2 = require_core2();
function StringOption(descriptor, initialValueBase, optsBase) {
const [initialValue, opts3] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const { arity = 1 } = opts3;
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return utils.makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
arity: opts3.tolerateBoolean ? 0 : arity,
hidden: opts3.hidden,
description: opts3.description,
required: opts3.required
});
},
transformer(builder, key, state) {
let usedName;
let currentValue = initialValue;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
usedName = name;
currentValue = value;
}
if (typeof currentValue === `string`) {
return utils.applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts3.validator);
} else {
return currentValue;
}
}
});
}
function StringPositional(opts3 = {}) {
const { required = true } = opts3;
return utils.makeCommandOption({
definition(builder, key) {
var _a2;
builder.addPositional({
name: (_a2 = opts3.name) !== null && _a2 !== void 0 ? _a2 : key,
required: opts3.required
});
},
transformer(builder, key, state) {
var _a2;
for (let i4 = 0; i4 < state.positionals.length; ++i4) {
if (state.positionals[i4].extra === core2.NoLimits)
continue;
if (required && state.positionals[i4].extra === true)
continue;
if (!required && state.positionals[i4].extra === false)
continue;
const [positional] = state.positionals.splice(i4, 1);
return utils.applyValidator((_a2 = opts3.name) !== null && _a2 !== void 0 ? _a2 : key, positional.value, opts3.validator);
}
return void 0;
}
});
}
function String2(descriptor, ...args) {
if (typeof descriptor === `string`) {
return StringOption(descriptor, ...args);
} else {
return StringPositional(descriptor);
}
}
exports2.String = String2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/index.js
var require_options = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/options/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils();
var _Array = require_Array();
var _Boolean = require_Boolean();
var Counter2 = require_Counter();
var _Proxy = require_Proxy();
var Rest = require_Rest();
var _String = require_String();
exports2.applyValidator = utils.applyValidator;
exports2.cleanValidationError = utils.cleanValidationError;
exports2.formatError = utils.formatError;
exports2.isOptionSymbol = utils.isOptionSymbol;
exports2.makeCommandOption = utils.makeCommandOption;
exports2.rerouteArguments = utils.rerouteArguments;
exports2.Array = _Array.Array;
exports2.Boolean = _Boolean.Boolean;
exports2.Counter = Counter2.Counter;
exports2.Proxy = _Proxy.Proxy;
exports2.Rest = Rest.Rest;
exports2.String = _String.String;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/index.js
var require_advanced = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/clipanion/3.2.0-rc.6/23222bdcfc643cdf493929a474d229a1041e5dceeec18bed0e3374c38e65101e/node_modules/clipanion/lib/advanced/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var errors2 = require_errors2();
var Command = require_Command();
var format2 = require_format2();
var Cli = require_Cli();
var index2 = require_builtins();
var index$12 = require_options();
exports2.UsageError = errors2.UsageError;
exports2.Command = Command.Command;
exports2.formatMarkdownish = format2.formatMarkdownish;
exports2.Cli = Cli.Cli;
exports2.Builtins = index2;
exports2.Option = index$12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/commands/entry.js
var require_entry = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/commands/entry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fslib_12 = require_lib2();
var clipanion_12 = require_advanced();
var index_1 = require_lib5();
var EntryCommand = class extends clipanion_12.Command {
constructor() {
super(...arguments);
this.cwd = clipanion_12.Option.String(`--cwd`, process.cwd(), {
description: `The directory to run the command in`
});
this.commandName = clipanion_12.Option.String();
this.args = clipanion_12.Option.Proxy();
}
async execute() {
const command = this.args.length > 0 ? `${this.commandName} ${this.args.join(` `)}` : this.commandName;
return await (0, index_1.execute)(command, [], {
cwd: fslib_12.npath.toPortablePath(this.cwd),
stdin: this.context.stdin,
stdout: this.context.stdout,
stderr: this.context.stderr
});
}
};
EntryCommand.usage = {
description: `run a command using yarn's portable shell`,
details: `
This command will run a command using Yarn's portable shell.
Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell.
Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell.
Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used.
For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md.
`,
examples: [[
`Run a simple command`,
`$0 echo Hello`
], [
`Run a command with a glob pattern`,
`$0 echo '*.js'`
], [
`Run a command with a redirection`,
`$0 echo Hello World '>' hello.txt`
], [
`Run a command with an escaped glob pattern (The double escape is needed in Unix shells)`,
`$0 echo '"*.js"'`
], [
`Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)`,
`$0 "GREETING=Hello echo $GREETING World"`
]]
};
exports2.default = EntryCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/errors.js
var require_errors3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/errors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ShellError = void 0;
var ShellError = class extends Error {
constructor(message) {
super(message);
this.name = `ShellError`;
}
};
exports2.ShellError = ShellError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/array.js
var require_array = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/array.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.splitWhen = exports2.flatten = void 0;
function flatten2(items) {
return items.reduce((collection, item) => [].concat(collection, item), []);
}
exports2.flatten = flatten2;
function splitWhen(items, predicate) {
const result2 = [[]];
let groupIndex = 0;
for (const item of items) {
if (predicate(item)) {
groupIndex++;
result2[groupIndex] = [];
} else {
result2[groupIndex].push(item);
}
}
return result2;
}
exports2.splitWhen = splitWhen;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/errno.js
var require_errno = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/errno.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isEnoentCodeError = void 0;
function isEnoentCodeError(error) {
return error.code === "ENOENT";
}
exports2.isEnoentCodeError = isEnoentCodeError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/fs.js
var require_fs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/fs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createDirentFromStats = void 0;
var DirentFromStats = class {
constructor(name, stats) {
this.name = name;
this.isBlockDevice = stats.isBlockDevice.bind(stats);
this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
this.isDirectory = stats.isDirectory.bind(stats);
this.isFIFO = stats.isFIFO.bind(stats);
this.isFile = stats.isFile.bind(stats);
this.isSocket = stats.isSocket.bind(stats);
this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
}
};
function createDirentFromStats(name, stats) {
return new DirentFromStats(name, stats);
}
exports2.createDirentFromStats = createDirentFromStats;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/path.js
var require_path2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/path.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.convertPosixPathToPattern = exports2.convertWindowsPathToPattern = exports2.convertPathToPattern = exports2.escapePosixPath = exports2.escapeWindowsPath = exports2.escape = exports2.removeLeadingDotSegment = exports2.makeAbsolute = exports2.unixify = void 0;
var os17 = __require("os");
var path236 = __require("path");
var IS_WINDOWS_PLATFORM = os17.platform() === "win32";
var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g;
var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g;
var DOS_DEVICE_PATH_RE = /^\\\\([.?])/;
var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@[\]{}])/g;
function unixify(filepath) {
return filepath.replace(/\\/g, "/");
}
exports2.unixify = unixify;
function makeAbsolute(cwd, filepath) {
return path236.resolve(cwd, filepath);
}
exports2.makeAbsolute = makeAbsolute;
function removeLeadingDotSegment(entry) {
if (entry.charAt(0) === ".") {
const secondCharactery = entry.charAt(1);
if (secondCharactery === "/" || secondCharactery === "\\") {
return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
}
}
return entry;
}
exports2.removeLeadingDotSegment = removeLeadingDotSegment;
exports2.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath2;
function escapeWindowsPath(pattern) {
return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
}
exports2.escapeWindowsPath = escapeWindowsPath;
function escapePosixPath2(pattern) {
return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
}
exports2.escapePosixPath = escapePosixPath2;
exports2.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern;
function convertWindowsPathToPattern(filepath) {
return escapeWindowsPath(filepath).replace(DOS_DEVICE_PATH_RE, "//$1").replace(WINDOWS_BACKSLASHES_RE, "/");
}
exports2.convertWindowsPathToPattern = convertWindowsPathToPattern;
function convertPosixPathToPattern(filepath) {
return escapePosixPath2(filepath);
}
exports2.convertPosixPathToPattern = convertPosixPathToPattern;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-extglob/2.1.1/a31b887f7d8fd45bac03cbc721084fb7eadd6056f0d86063907b9e7f109f7f5e/node_modules/is-extglob/index.js
var require_is_extglob = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-extglob/2.1.1/a31b887f7d8fd45bac03cbc721084fb7eadd6056f0d86063907b9e7f109f7f5e/node_modules/is-extglob/index.js"(exports2, module2) {
module2.exports = function isExtglob(str2) {
if (typeof str2 !== "string" || str2 === "") {
return false;
}
var match;
while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str2)) {
if (match[2]) return true;
str2 = str2.slice(match.index + match[0].length);
}
return false;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-glob/4.0.3/5f6010d19ebbd407d4ddad3f32ad93b07ae9baaa0b44d778899bd947e1a7324b/node_modules/is-glob/index.js
var require_is_glob = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-glob/4.0.3/5f6010d19ebbd407d4ddad3f32ad93b07ae9baaa0b44d778899bd947e1a7324b/node_modules/is-glob/index.js"(exports2, module2) {
var isExtglob = require_is_extglob();
var chars = { "{": "}", "(": ")", "[": "]" };
var strictCheck = function(str2) {
if (str2[0] === "!") {
return true;
}
var index2 = 0;
var pipeIndex = -2;
var closeSquareIndex = -2;
var closeCurlyIndex = -2;
var closeParenIndex = -2;
var backSlashIndex = -2;
while (index2 < str2.length) {
if (str2[index2] === "*") {
return true;
}
if (str2[index2 + 1] === "?" && /[\].+)]/.test(str2[index2])) {
return true;
}
if (closeSquareIndex !== -1 && str2[index2] === "[" && str2[index2 + 1] !== "]") {
if (closeSquareIndex < index2) {
closeSquareIndex = str2.indexOf("]", index2);
}
if (closeSquareIndex > index2) {
if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
return true;
}
backSlashIndex = str2.indexOf("\\", index2);
if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
return true;
}
}
}
if (closeCurlyIndex !== -1 && str2[index2] === "{" && str2[index2 + 1] !== "}") {
closeCurlyIndex = str2.indexOf("}", index2);
if (closeCurlyIndex > index2) {
backSlashIndex = str2.indexOf("\\", index2);
if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
return true;
}
}
}
if (closeParenIndex !== -1 && str2[index2] === "(" && str2[index2 + 1] === "?" && /[:!=]/.test(str2[index2 + 2]) && str2[index2 + 3] !== ")") {
closeParenIndex = str2.indexOf(")", index2);
if (closeParenIndex > index2) {
backSlashIndex = str2.indexOf("\\", index2);
if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
return true;
}
}
}
if (pipeIndex !== -1 && str2[index2] === "(" && str2[index2 + 1] !== "|") {
if (pipeIndex < index2) {
pipeIndex = str2.indexOf("|", index2);
}
if (pipeIndex !== -1 && str2[pipeIndex + 1] !== ")") {
closeParenIndex = str2.indexOf(")", pipeIndex);
if (closeParenIndex > pipeIndex) {
backSlashIndex = str2.indexOf("\\", pipeIndex);
if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
return true;
}
}
}
}
if (str2[index2] === "\\") {
var open3 = str2[index2 + 1];
index2 += 2;
var close = chars[open3];
if (close) {
var n2 = str2.indexOf(close, index2);
if (n2 !== -1) {
index2 = n2 + 1;
}
}
if (str2[index2] === "!") {
return true;
}
} else {
index2++;
}
}
return false;
};
var relaxedCheck = function(str2) {
if (str2[0] === "!") {
return true;
}
var index2 = 0;
while (index2 < str2.length) {
if (/[*?{}()[\]]/.test(str2[index2])) {
return true;
}
if (str2[index2] === "\\") {
var open3 = str2[index2 + 1];
index2 += 2;
var close = chars[open3];
if (close) {
var n2 = str2.indexOf(close, index2);
if (n2 !== -1) {
index2 = n2 + 1;
}
}
if (str2[index2] === "!") {
return true;
}
} else {
index2++;
}
}
return false;
};
module2.exports = function isGlob(str2, options) {
if (typeof str2 !== "string" || str2 === "") {
return false;
}
if (isExtglob(str2)) {
return true;
}
var check2 = strictCheck;
if (options && options.strict === false) {
check2 = relaxedCheck;
}
return check2(str2);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/glob-parent/5.1.2/fedc04e54f83a0c0643c3abdfa28e0c97c4bf9ac1c7dd2f1e5201e4f33e3e49d/node_modules/glob-parent/index.js
var require_glob_parent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/glob-parent/5.1.2/fedc04e54f83a0c0643c3abdfa28e0c97c4bf9ac1c7dd2f1e5201e4f33e3e49d/node_modules/glob-parent/index.js"(exports2, module2) {
"use strict";
var isGlob = require_is_glob();
var pathPosixDirname = __require("path").posix.dirname;
var isWin32 = __require("os").platform() === "win32";
var slash = "/";
var backslash = /\\/g;
var enclosure = /[\{\[].*[\}\]]$/;
var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
module2.exports = function globParent(str2, opts3) {
var options = Object.assign({ flipBackslashes: true }, opts3);
if (options.flipBackslashes && isWin32 && str2.indexOf(slash) < 0) {
str2 = str2.replace(backslash, slash);
}
if (enclosure.test(str2)) {
str2 += slash;
}
str2 += "a";
do {
str2 = pathPosixDirname(str2);
} while (isGlob(str2) || globby.test(str2));
return str2.replace(escaped, "$1");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/utils.js
var require_utils2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/utils.js"(exports2) {
"use strict";
exports2.isInteger = (num) => {
if (typeof num === "number") {
return Number.isInteger(num);
}
if (typeof num === "string" && num.trim() !== "") {
return Number.isInteger(Number(num));
}
return false;
};
exports2.find = (node, type4) => node.nodes.find((node2) => node2.type === type4);
exports2.exceedsLimit = (min, max4, step2 = 1, limit) => {
if (limit === false) return false;
if (!exports2.isInteger(min) || !exports2.isInteger(max4)) return false;
return (Number(max4) - Number(min)) / Number(step2) >= limit;
};
exports2.escapeNode = (block, n2 = 0, type4) => {
const node = block.nodes[n2];
if (!node) return;
if (type4 && node.type === type4 || node.type === "open" || node.type === "close") {
if (node.escaped !== true) {
node.value = "\\" + node.value;
node.escaped = true;
}
}
};
exports2.encloseBrace = (node) => {
if (node.type !== "brace") return false;
if (node.commas >> 0 + node.ranges >> 0 === 0) {
node.invalid = true;
return true;
}
return false;
};
exports2.isInvalidBrace = (block) => {
if (block.type !== "brace") return false;
if (block.invalid === true || block.dollar) return true;
if (block.commas >> 0 + block.ranges >> 0 === 0) {
block.invalid = true;
return true;
}
if (block.open !== true || block.close !== true) {
block.invalid = true;
return true;
}
return false;
};
exports2.isOpenOrClose = (node) => {
if (node.type === "open" || node.type === "close") {
return true;
}
return node.open === true || node.close === true;
};
exports2.reduce = (nodes) => nodes.reduce((acc, node) => {
if (node.type === "text") acc.push(node.value);
if (node.type === "range") node.type = "text";
return acc;
}, []);
exports2.flatten = (...args) => {
const result2 = [];
const flat = (arr) => {
for (let i4 = 0; i4 < arr.length; i4++) {
const ele = arr[i4];
if (Array.isArray(ele)) {
flat(ele);
continue;
}
if (ele !== void 0) {
result2.push(ele);
}
}
return result2;
};
flat(args);
return result2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/stringify.js
var require_stringify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/stringify.js"(exports2, module2) {
"use strict";
var utils = require_utils2();
module2.exports = (ast, options = {}) => {
const stringify2 = (node, parent = {}) => {
const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
const invalidNode = node.invalid === true && options.escapeInvalid === true;
let output = "";
if (node.value) {
if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
return "\\" + node.value;
}
return node.value;
}
if (node.value) {
return node.value;
}
if (node.nodes) {
for (const child of node.nodes) {
output += stringify2(child);
}
}
return output;
};
return stringify2(ast);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-number/7.0.0/9613abb83deb6b72fdd092fda49730946a626517d4926a9f5c00ca322630c588/node_modules/is-number/index.js
var require_is_number = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-number/7.0.0/9613abb83deb6b72fdd092fda49730946a626517d4926a9f5c00ca322630c588/node_modules/is-number/index.js"(exports2, module2) {
"use strict";
module2.exports = function(num) {
if (typeof num === "number") {
return num - num === 0;
}
if (typeof num === "string" && num.trim() !== "") {
return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
}
return false;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/to-regex-range/5.0.1/e55082e174dc917a955607638a77d8978552a7d78773d047c1263c740e4d7c0f/node_modules/to-regex-range/index.js
var require_to_regex_range = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/to-regex-range/5.0.1/e55082e174dc917a955607638a77d8978552a7d78773d047c1263c740e4d7c0f/node_modules/to-regex-range/index.js"(exports2, module2) {
"use strict";
var isNumber = require_is_number();
var toRegexRange = (min, max4, options) => {
if (isNumber(min) === false) {
throw new TypeError("toRegexRange: expected the first argument to be a number");
}
if (max4 === void 0 || min === max4) {
return String(min);
}
if (isNumber(max4) === false) {
throw new TypeError("toRegexRange: expected the second argument to be a number.");
}
let opts3 = { relaxZeros: true, ...options };
if (typeof opts3.strictZeros === "boolean") {
opts3.relaxZeros = opts3.strictZeros === false;
}
let relax = String(opts3.relaxZeros);
let shorthand = String(opts3.shorthand);
let capture = String(opts3.capture);
let wrap2 = String(opts3.wrap);
let cacheKey = min + ":" + max4 + "=" + relax + shorthand + capture + wrap2;
if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
return toRegexRange.cache[cacheKey].result;
}
let a2 = Math.min(min, max4);
let b = Math.max(min, max4);
if (Math.abs(a2 - b) === 1) {
let result2 = min + "|" + max4;
if (opts3.capture) {
return `(${result2})`;
}
if (opts3.wrap === false) {
return result2;
}
return `(?:${result2})`;
}
let isPadded = hasPadding(min) || hasPadding(max4);
let state = { min, max: max4, a: a2, b };
let positives = [];
let negatives = [];
if (isPadded) {
state.isPadded = isPadded;
state.maxLen = String(state.max).length;
}
if (a2 < 0) {
let newMin = b < 0 ? Math.abs(b) : 1;
negatives = splitToPatterns(newMin, Math.abs(a2), state, opts3);
a2 = state.a = 0;
}
if (b >= 0) {
positives = splitToPatterns(a2, b, state, opts3);
}
state.negatives = negatives;
state.positives = positives;
state.result = collatePatterns(negatives, positives, opts3);
if (opts3.capture === true) {
state.result = `(${state.result})`;
} else if (opts3.wrap !== false && positives.length + negatives.length > 1) {
state.result = `(?:${state.result})`;
}
toRegexRange.cache[cacheKey] = state;
return state.result;
};
function collatePatterns(neg, pos, options) {
let onlyNegative = filterPatterns(neg, pos, "-", false, options) || [];
let onlyPositive = filterPatterns(pos, neg, "", false, options) || [];
let intersected = filterPatterns(neg, pos, "-?", true, options) || [];
let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
return subpatterns.join("|");
}
function splitToRanges(min, max4) {
let nines = 1;
let zeros = 1;
let stop = countNines(min, nines);
let stops = /* @__PURE__ */ new Set([max4]);
while (min <= stop && stop <= max4) {
stops.add(stop);
nines += 1;
stop = countNines(min, nines);
}
stop = countZeros(max4 + 1, zeros) - 1;
while (min < stop && stop <= max4) {
stops.add(stop);
zeros += 1;
stop = countZeros(max4 + 1, zeros) - 1;
}
stops = [...stops];
stops.sort(compare3);
return stops;
}
function rangeToPattern(start, stop, options) {
if (start === stop) {
return { pattern: start, count: [], digits: 0 };
}
let zipped = zip(start, stop);
let digits = zipped.length;
let pattern = "";
let count2 = 0;
for (let i4 = 0; i4 < digits; i4++) {
let [startDigit, stopDigit] = zipped[i4];
if (startDigit === stopDigit) {
pattern += startDigit;
} else if (startDigit !== "0" || stopDigit !== "9") {
pattern += toCharacterClass(startDigit, stopDigit, options);
} else {
count2++;
}
}
if (count2) {
pattern += options.shorthand === true ? "\\d" : "[0-9]";
}
return { pattern, count: [count2], digits };
}
function splitToPatterns(min, max4, tok, options) {
let ranges = splitToRanges(min, max4);
let tokens = [];
let start = min;
let prev;
for (let i4 = 0; i4 < ranges.length; i4++) {
let max5 = ranges[i4];
let obj = rangeToPattern(String(start), String(max5), options);
let zeros = "";
if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
if (prev.count.length > 1) {
prev.count.pop();
}
prev.count.push(obj.count[0]);
prev.string = prev.pattern + toQuantifier(prev.count);
start = max5 + 1;
continue;
}
if (tok.isPadded) {
zeros = padZeros(max5, tok, options);
}
obj.string = zeros + obj.pattern + toQuantifier(obj.count);
tokens.push(obj);
start = max5 + 1;
prev = obj;
}
return tokens;
}
function filterPatterns(arr, comparison, prefix, intersection, options) {
let result2 = [];
for (let ele of arr) {
let { string } = ele;
if (!intersection && !contains3(comparison, "string", string)) {
result2.push(prefix + string);
}
if (intersection && contains3(comparison, "string", string)) {
result2.push(prefix + string);
}
}
return result2;
}
function zip(a2, b) {
let arr = [];
for (let i4 = 0; i4 < a2.length; i4++) arr.push([a2[i4], b[i4]]);
return arr;
}
function compare3(a2, b) {
return a2 > b ? 1 : b > a2 ? -1 : 0;
}
function contains3(arr, key, val) {
return arr.some((ele) => ele[key] === val);
}
function countNines(min, len) {
return Number(String(min).slice(0, -len) + "9".repeat(len));
}
function countZeros(integer, zeros) {
return integer - integer % Math.pow(10, zeros);
}
function toQuantifier(digits) {
let [start = 0, stop = ""] = digits;
if (stop || start > 1) {
return `{${start + (stop ? "," + stop : "")}}`;
}
return "";
}
function toCharacterClass(a2, b, options) {
return `[${a2}${b - a2 === 1 ? "" : "-"}${b}]`;
}
function hasPadding(str2) {
return /^-?(0+)\d/.test(str2);
}
function padZeros(value, tok, options) {
if (!tok.isPadded) {
return value;
}
let diff2 = Math.abs(tok.maxLen - String(value).length);
let relax = options.relaxZeros !== false;
switch (diff2) {
case 0:
return "";
case 1:
return relax ? "0?" : "0";
case 2:
return relax ? "0{0,2}" : "00";
default: {
return relax ? `0{0,${diff2}}` : `0{${diff2}}`;
}
}
}
toRegexRange.cache = {};
toRegexRange.clearCache = () => toRegexRange.cache = {};
module2.exports = toRegexRange;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fill-range/7.1.1/cdf2fb341eb6146d178e71e3e567948d1810e3947af7ae4c97c575c1cbd80d2a/node_modules/fill-range/index.js
var require_fill_range = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fill-range/7.1.1/cdf2fb341eb6146d178e71e3e567948d1810e3947af7ae4c97c575c1cbd80d2a/node_modules/fill-range/index.js"(exports2, module2) {
"use strict";
var util64 = __require("util");
var toRegexRange = require_to_regex_range();
var isObject4 = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
var transform3 = (toNumber) => {
return (value) => toNumber === true ? Number(value) : String(value);
};
var isValidValue = (value) => {
return typeof value === "number" || typeof value === "string" && value !== "";
};
var isNumber = (num) => Number.isInteger(+num);
var zeros = (input) => {
let value = `${input}`;
let index2 = -1;
if (value[0] === "-") value = value.slice(1);
if (value === "0") return false;
while (value[++index2] === "0") ;
return index2 > 0;
};
var stringify2 = (start, end, options) => {
if (typeof start === "string" || typeof end === "string") {
return true;
}
return options.stringify === true;
};
var pad4 = (input, maxLength, toNumber) => {
if (maxLength > 0) {
let dash = input[0] === "-" ? "-" : "";
if (dash) input = input.slice(1);
input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
}
if (toNumber === false) {
return String(input);
}
return input;
};
var toMaxLen = (input, maxLength) => {
let negative = input[0] === "-" ? "-" : "";
if (negative) {
input = input.slice(1);
maxLength--;
}
while (input.length < maxLength) input = "0" + input;
return negative ? "-" + input : input;
};
var toSequence = (parts, options, maxLen) => {
parts.negatives.sort((a2, b) => a2 < b ? -1 : a2 > b ? 1 : 0);
parts.positives.sort((a2, b) => a2 < b ? -1 : a2 > b ? 1 : 0);
let prefix = options.capture ? "" : "?:";
let positives = "";
let negatives = "";
let result2;
if (parts.positives.length) {
positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|");
}
if (parts.negatives.length) {
negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`;
}
if (positives && negatives) {
result2 = `${positives}|${negatives}`;
} else {
result2 = positives || negatives;
}
if (options.wrap) {
return `(${prefix}${result2})`;
}
return result2;
};
var toRange = (a2, b, isNumbers, options) => {
if (isNumbers) {
return toRegexRange(a2, b, { wrap: false, ...options });
}
let start = String.fromCharCode(a2);
if (a2 === b) return start;
let stop = String.fromCharCode(b);
return `[${start}-${stop}]`;
};
var toRegex = (start, end, options) => {
if (Array.isArray(start)) {
let wrap2 = options.wrap === true;
let prefix = options.capture ? "" : "?:";
return wrap2 ? `(${prefix}${start.join("|")})` : start.join("|");
}
return toRegexRange(start, end, options);
};
var rangeError = (...args) => {
return new RangeError("Invalid range arguments: " + util64.inspect(...args));
};
var invalidRange = (start, end, options) => {
if (options.strictRanges === true) throw rangeError([start, end]);
return [];
};
var invalidStep = (step2, options) => {
if (options.strictRanges === true) {
throw new TypeError(`Expected step "${step2}" to be a number`);
}
return [];
};
var fillNumbers = (start, end, step2 = 1, options = {}) => {
let a2 = Number(start);
let b = Number(end);
if (!Number.isInteger(a2) || !Number.isInteger(b)) {
if (options.strictRanges === true) throw rangeError([start, end]);
return [];
}
if (a2 === 0) a2 = 0;
if (b === 0) b = 0;
let descending = a2 > b;
let startString = String(start);
let endString = String(end);
let stepString = String(step2);
step2 = Math.max(Math.abs(step2), 1);
let padded = zeros(startString) || zeros(endString) || zeros(stepString);
let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
let toNumber = padded === false && stringify2(start, end, options) === false;
let format2 = options.transform || transform3(toNumber);
if (options.toRegex && step2 === 1) {
return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
}
let parts = { negatives: [], positives: [] };
let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
let range = [];
let index2 = 0;
while (descending ? a2 >= b : a2 <= b) {
if (options.toRegex === true && step2 > 1) {
push(a2);
} else {
range.push(pad4(format2(a2, index2), maxLen, toNumber));
}
a2 = descending ? a2 - step2 : a2 + step2;
index2++;
}
if (options.toRegex === true) {
return step2 > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options });
}
return range;
};
var fillLetters = (start, end, step2 = 1, options = {}) => {
if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
return invalidRange(start, end, options);
}
let format2 = options.transform || ((val) => String.fromCharCode(val));
let a2 = `${start}`.charCodeAt(0);
let b = `${end}`.charCodeAt(0);
let descending = a2 > b;
let min = Math.min(a2, b);
let max4 = Math.max(a2, b);
if (options.toRegex && step2 === 1) {
return toRange(min, max4, false, options);
}
let range = [];
let index2 = 0;
while (descending ? a2 >= b : a2 <= b) {
range.push(format2(a2, index2));
a2 = descending ? a2 - step2 : a2 + step2;
index2++;
}
if (options.toRegex === true) {
return toRegex(range, null, { wrap: false, options });
}
return range;
};
var fill = (start, end, step2, options = {}) => {
if (end == null && isValidValue(start)) {
return [start];
}
if (!isValidValue(start) || !isValidValue(end)) {
return invalidRange(start, end, options);
}
if (typeof step2 === "function") {
return fill(start, end, 1, { transform: step2 });
}
if (isObject4(step2)) {
return fill(start, end, 0, step2);
}
let opts3 = { ...options };
if (opts3.capture === true) opts3.wrap = true;
step2 = step2 || opts3.step || 1;
if (!isNumber(step2)) {
if (step2 != null && !isObject4(step2)) return invalidStep(step2, opts3);
return fill(start, end, 1, step2);
}
if (isNumber(start) && isNumber(end)) {
return fillNumbers(start, end, step2, opts3);
}
return fillLetters(start, end, Math.max(Math.abs(step2), 1), opts3);
};
module2.exports = fill;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/compile.js
var require_compile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/compile.js"(exports2, module2) {
"use strict";
var fill = require_fill_range();
var utils = require_utils2();
var compile = (ast, options = {}) => {
const walk = (node, parent = {}) => {
const invalidBlock = utils.isInvalidBrace(parent);
const invalidNode = node.invalid === true && options.escapeInvalid === true;
const invalid = invalidBlock === true || invalidNode === true;
const prefix = options.escapeInvalid === true ? "\\" : "";
let output = "";
if (node.isOpen === true) {
return prefix + node.value;
}
if (node.isClose === true) {
console.log("node.isClose", prefix, node.value);
return prefix + node.value;
}
if (node.type === "open") {
return invalid ? prefix + node.value : "(";
}
if (node.type === "close") {
return invalid ? prefix + node.value : ")";
}
if (node.type === "comma") {
return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
}
if (node.value) {
return node.value;
}
if (node.nodes && node.ranges > 0) {
const args = utils.reduce(node.nodes);
const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });
if (range.length !== 0) {
return args.length > 1 && range.length > 1 ? `(${range})` : range;
}
}
if (node.nodes) {
for (const child of node.nodes) {
output += walk(child, node);
}
}
return output;
};
return walk(ast);
};
module2.exports = compile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/expand.js
var require_expand = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/expand.js"(exports2, module2) {
"use strict";
var fill = require_fill_range();
var stringify2 = require_stringify();
var utils = require_utils2();
var append = (queue2 = "", stash = "", enclose = false) => {
const result2 = [];
queue2 = [].concat(queue2);
stash = [].concat(stash);
if (!stash.length) return queue2;
if (!queue2.length) {
return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
}
for (const item of queue2) {
if (Array.isArray(item)) {
for (const value of item) {
result2.push(append(value, stash, enclose));
}
} else {
for (let ele of stash) {
if (enclose === true && typeof ele === "string") ele = `{${ele}}`;
result2.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
}
}
}
return utils.flatten(result2);
};
var expand = (ast, options = {}) => {
const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit;
const walk = (node, parent = {}) => {
node.queue = [];
let p = parent;
let q = parent.queue;
while (p.type !== "brace" && p.type !== "root" && p.parent) {
p = p.parent;
q = p.queue;
}
if (node.invalid || node.dollar) {
q.push(append(q.pop(), stringify2(node, options)));
return;
}
if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
q.push(append(q.pop(), ["{}"]));
return;
}
if (node.nodes && node.ranges > 0) {
const args = utils.reduce(node.nodes);
if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
}
let range = fill(...args, options);
if (range.length === 0) {
range = stringify2(node, options);
}
q.push(append(q.pop(), range));
node.nodes = [];
return;
}
const enclose = utils.encloseBrace(node);
let queue2 = node.queue;
let block = node;
while (block.type !== "brace" && block.type !== "root" && block.parent) {
block = block.parent;
queue2 = block.queue;
}
for (let i4 = 0; i4 < node.nodes.length; i4++) {
const child = node.nodes[i4];
if (child.type === "comma" && node.type === "brace") {
if (i4 === 1) queue2.push("");
queue2.push("");
continue;
}
if (child.type === "close") {
q.push(append(q.pop(), queue2, enclose));
continue;
}
if (child.value && child.type !== "open") {
queue2.push(append(queue2.pop(), child.value));
continue;
}
if (child.nodes) {
walk(child, node);
}
}
return queue2;
};
return utils.flatten(walk(ast));
};
module2.exports = expand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/constants.js
var require_constants4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/constants.js"(exports2, module2) {
"use strict";
module2.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",
/* \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 */
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/parse.js
var require_parse3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/lib/parse.js"(exports2, module2) {
"use strict";
var stringify2 = require_stringify();
var {
MAX_LENGTH,
CHAR_BACKSLASH,
/* \ */
CHAR_BACKTICK,
/* ` */
CHAR_COMMA: CHAR_COMMA2,
/* , */
CHAR_DOT,
/* . */
CHAR_LEFT_PARENTHESES,
/* ( */
CHAR_RIGHT_PARENTHESES,
/* ) */
CHAR_LEFT_CURLY_BRACE,
/* { */
CHAR_RIGHT_CURLY_BRACE,
/* } */
CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET2,
/* [ */
CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET2,
/* ] */
CHAR_DOUBLE_QUOTE: CHAR_DOUBLE_QUOTE2,
/* " */
CHAR_SINGLE_QUOTE: CHAR_SINGLE_QUOTE2,
/* ' */
CHAR_NO_BREAK_SPACE,
CHAR_ZERO_WIDTH_NOBREAK_SPACE
} = require_constants4();
var parse12 = (input, options = {}) => {
if (typeof input !== "string") {
throw new TypeError("Expected a string");
}
const opts3 = options || {};
const max4 = typeof opts3.maxLength === "number" ? Math.min(MAX_LENGTH, opts3.maxLength) : MAX_LENGTH;
if (input.length > max4) {
throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max4})`);
}
const ast = { type: "root", input, nodes: [] };
const stack = [ast];
let block = ast;
let prev = ast;
let brackets = 0;
const length = input.length;
let index2 = 0;
let depth = 0;
let value;
const advance = () => input[index2++];
const push = (node) => {
if (node.type === "text" && prev.type === "dot") {
prev.type = "text";
}
if (prev && prev.type === "text" && node.type === "text") {
prev.value += node.value;
return;
}
block.nodes.push(node);
node.parent = block;
node.prev = prev;
prev = node;
return node;
};
push({ type: "bos" });
while (index2 < length) {
block = stack[stack.length - 1];
value = advance();
if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
continue;
}
if (value === CHAR_BACKSLASH) {
push({ type: "text", value: (options.keepEscaping ? value : "") + advance() });
continue;
}
if (value === CHAR_RIGHT_SQUARE_BRACKET2) {
push({ type: "text", value: "\\" + value });
continue;
}
if (value === CHAR_LEFT_SQUARE_BRACKET2) {
brackets++;
let next2;
while (index2 < length && (next2 = advance())) {
value += next2;
if (next2 === CHAR_LEFT_SQUARE_BRACKET2) {
brackets++;
continue;
}
if (next2 === CHAR_BACKSLASH) {
value += advance();
continue;
}
if (next2 === CHAR_RIGHT_SQUARE_BRACKET2) {
brackets--;
if (brackets === 0) {
break;
}
}
}
push({ type: "text", value });
continue;
}
if (value === CHAR_LEFT_PARENTHESES) {
block = push({ type: "paren", nodes: [] });
stack.push(block);
push({ type: "text", value });
continue;
}
if (value === CHAR_RIGHT_PARENTHESES) {
if (block.type !== "paren") {
push({ type: "text", value });
continue;
}
block = stack.pop();
push({ type: "text", value });
block = stack[stack.length - 1];
continue;
}
if (value === CHAR_DOUBLE_QUOTE2 || value === CHAR_SINGLE_QUOTE2 || value === CHAR_BACKTICK) {
const open3 = value;
let next2;
if (options.keepQuotes !== true) {
value = "";
}
while (index2 < length && (next2 = advance())) {
if (next2 === CHAR_BACKSLASH) {
value += next2 + advance();
continue;
}
if (next2 === open3) {
if (options.keepQuotes === true) value += next2;
break;
}
value += next2;
}
push({ type: "text", value });
continue;
}
if (value === CHAR_LEFT_CURLY_BRACE) {
depth++;
const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
const brace = {
type: "brace",
open: true,
close: false,
dollar,
depth,
commas: 0,
ranges: 0,
nodes: []
};
block = push(brace);
stack.push(block);
push({ type: "open", value });
continue;
}
if (value === CHAR_RIGHT_CURLY_BRACE) {
if (block.type !== "brace") {
push({ type: "text", value });
continue;
}
const type4 = "close";
block = stack.pop();
block.close = true;
push({ type: type4, value });
depth--;
block = stack[stack.length - 1];
continue;
}
if (value === CHAR_COMMA2 && depth > 0) {
if (block.ranges > 0) {
block.ranges = 0;
const open3 = block.nodes.shift();
block.nodes = [open3, { type: "text", value: stringify2(block) }];
}
push({ type: "comma", value });
block.commas++;
continue;
}
if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
const siblings = block.nodes;
if (depth === 0 || siblings.length === 0) {
push({ type: "text", value });
continue;
}
if (prev.type === "dot") {
block.range = [];
prev.value += value;
prev.type = "range";
if (block.nodes.length !== 3 && block.nodes.length !== 5) {
block.invalid = true;
block.ranges = 0;
prev.type = "text";
continue;
}
block.ranges++;
block.args = [];
continue;
}
if (prev.type === "range") {
siblings.pop();
const before = siblings[siblings.length - 1];
before.value += prev.value + value;
prev = before;
block.ranges--;
continue;
}
push({ type: "dot", value });
continue;
}
push({ type: "text", value });
}
do {
block = stack.pop();
if (block.type !== "root") {
block.nodes.forEach((node) => {
if (!node.nodes) {
if (node.type === "open") node.isOpen = true;
if (node.type === "close") node.isClose = true;
if (!node.nodes) node.type = "text";
node.invalid = true;
}
});
const parent = stack[stack.length - 1];
const index3 = parent.nodes.indexOf(block);
parent.nodes.splice(index3, 1, ...block.nodes);
}
} while (stack.length > 0);
push({ type: "eos" });
return ast;
};
module2.exports = parse12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/index.js
var require_braces = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/braces/3.0.3/d2039003dfed14fc26988ac9171b4dfe6ab58307723d49dad0895a1368a75bcb/node_modules/braces/index.js"(exports2, module2) {
"use strict";
var stringify2 = require_stringify();
var compile = require_compile();
var expand = require_expand();
var parse12 = require_parse3();
var braces = (input, options = {}) => {
let output = [];
if (Array.isArray(input)) {
for (const pattern of input) {
const result2 = braces.create(pattern, options);
if (Array.isArray(result2)) {
output.push(...result2);
} else {
output.push(result2);
}
}
} else {
output = [].concat(braces.create(input, options));
}
if (options && options.expand === true && options.nodupes === true) {
output = [...new Set(output)];
}
return output;
};
braces.parse = (input, options = {}) => parse12(input, options);
braces.stringify = (input, options = {}) => {
if (typeof input === "string") {
return stringify2(braces.parse(input, options), options);
}
return stringify2(input, options);
};
braces.compile = (input, options = {}) => {
if (typeof input === "string") {
input = braces.parse(input, options);
}
return compile(input, options);
};
braces.expand = (input, options = {}) => {
if (typeof input === "string") {
input = braces.parse(input, options);
}
let result2 = expand(input, options);
if (options.noempty === true) {
result2 = result2.filter(Boolean);
}
if (options.nodupes === true) {
result2 = [...new Set(result2)];
}
return result2;
};
braces.create = (input, options = {}) => {
if (input === "" || input.length < 3) {
return [input];
}
return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options);
};
module2.exports = braces;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/constants.js
var require_constants5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/constants.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var WIN_SLASH = "\\\\/";
var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
var DEFAULT_MAX_EXTGLOB_RECURSION = 0;
var DOT_LITERAL = "\\.";
var PLUS_LITERAL = "\\+";
var QMARK_LITERAL = "\\?";
var SLASH_LITERAL = "\\/";
var ONE_CHAR = "(?=.)";
var QMARK = "[^/]";
var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
var NO_DOT = `(?!${DOT_LITERAL})`;
var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
var STAR = `${QMARK}*?`;
var POSIX_CHARS = {
DOT_LITERAL,
PLUS_LITERAL,
QMARK_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR
};
var WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: `[${WIN_SLASH}]`,
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
NO_DOT: `(?!${DOT_LITERAL})`,
NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
};
var POSIX_REGEX_SOURCE = {
__proto__: null,
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"
};
module2.exports = {
DEFAULT_MAX_EXTGLOB_RECURSION,
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// 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: {
__proto__: null,
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// 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: path236.sep,
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win32) {
return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/utils.js
var require_utils3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/utils.js"(exports2) {
"use strict";
var path236 = __require("path");
var win32 = process.platform === "win32";
var {
REGEX_BACKSLASH,
REGEX_REMOVE_BACKSLASH,
REGEX_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_GLOBAL
} = require_constants5();
exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
exports2.hasRegexChars = (str2) => REGEX_SPECIAL_CHARS.test(str2);
exports2.isRegexChar = (str2) => str2.length === 1 && exports2.hasRegexChars(str2);
exports2.escapeRegex = (str2) => str2.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
exports2.toPosixSlashes = (str2) => str2.replace(REGEX_BACKSLASH, "/");
exports2.removeBackslashes = (str2) => {
return str2.replace(REGEX_REMOVE_BACKSLASH, (match) => {
return match === "\\" ? "" : match;
});
};
exports2.supportsLookbehinds = () => {
const segs = process.version.slice(1).split(".").map(Number);
if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
return true;
}
return false;
};
exports2.isWindows = (options) => {
if (options && typeof options.windows === "boolean") {
return options.windows;
}
return win32 === true || path236.sep === "\\";
};
exports2.escapeLast = (input, char, lastIdx) => {
const idx = input.lastIndexOf(char, lastIdx);
if (idx === -1) return input;
if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
return `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports2.removePrefix = (input, state = {}) => {
let output = input;
if (output.startsWith("./")) {
output = output.slice(2);
state.prefix = "./";
}
return output;
};
exports2.wrapOutput = (input, state = {}, options = {}) => {
const prepend = options.contains ? "" : "^";
const append = options.contains ? "" : "$";
let output = `${prepend}(?:${input})${append}`;
if (state.negated === true) {
output = `(?:^(?!${output}).*$)`;
}
return output;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/scan.js
var require_scan2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/scan.js"(exports2, module2) {
"use strict";
var utils = require_utils3();
var {
CHAR_ASTERISK: CHAR_ASTERISK2,
/* * */
CHAR_AT,
/* @ */
CHAR_BACKWARD_SLASH,
/* \ */
CHAR_COMMA: CHAR_COMMA2,
/* , */
CHAR_DOT,
/* . */
CHAR_EXCLAMATION_MARK,
/* ! */
CHAR_FORWARD_SLASH,
/* / */
CHAR_LEFT_CURLY_BRACE,
/* { */
CHAR_LEFT_PARENTHESES,
/* ( */
CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET2,
/* [ */
CHAR_PLUS,
/* + */
CHAR_QUESTION_MARK,
/* ? */
CHAR_RIGHT_CURLY_BRACE,
/* } */
CHAR_RIGHT_PARENTHESES,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET2
/* ] */
} = require_constants5();
var isPathSeparator = (code) => {
return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
};
var depth = (token) => {
if (token.isPrefix !== true) {
token.depth = token.isGlobstar ? Infinity : 1;
}
};
var scan3 = (input, options) => {
const opts3 = options || {};
const length = input.length - 1;
const scanToEnd = opts3.parts === true || opts3.scanToEnd === true;
const slashes = [];
const tokens = [];
const parts = [];
let str2 = input;
let index2 = -1;
let start = 0;
let lastIndex = 0;
let isBrace = false;
let isBracket = false;
let isGlob = false;
let isExtglob = false;
let isGlobstar = false;
let braceEscaped = false;
let backslashes = false;
let negated = false;
let negatedExtglob = false;
let finished7 = false;
let braces = 0;
let prev;
let code;
let token = { value: "", depth: 0, isGlob: false };
const eos = () => index2 >= length;
const peek = () => str2.charCodeAt(index2 + 1);
const advance = () => {
prev = code;
return str2.charCodeAt(++index2);
};
while (index2 < length) {
code = advance();
let next2;
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
if (code === CHAR_LEFT_CURLY_BRACE) {
braceEscaped = true;
}
continue;
}
if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
braces++;
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (code === CHAR_LEFT_CURLY_BRACE) {
braces++;
continue;
}
if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (braceEscaped !== true && code === CHAR_COMMA2) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_RIGHT_CURLY_BRACE) {
braces--;
if (braces === 0) {
braceEscaped = false;
isBrace = token.isBrace = true;
finished7 = true;
break;
}
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_FORWARD_SLASH) {
slashes.push(index2);
tokens.push(token);
token = { value: "", depth: 0, isGlob: false };
if (finished7 === true) continue;
if (prev === CHAR_DOT && index2 === start + 1) {
start += 2;
continue;
}
lastIndex = index2 + 1;
continue;
}
if (opts3.noext !== true) {
const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK2 || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
isExtglob = token.isExtglob = true;
finished7 = true;
if (code === CHAR_EXCLAMATION_MARK && index2 === start) {
negatedExtglob = true;
}
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
isGlob = token.isGlob = true;
finished7 = true;
break;
}
}
continue;
}
break;
}
}
if (code === CHAR_ASTERISK2) {
if (prev === CHAR_ASTERISK2) isGlobstar = token.isGlobstar = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_QUESTION_MARK) {
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_LEFT_SQUARE_BRACKET2) {
while (eos() !== true && (next2 = advance())) {
if (next2 === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (next2 === CHAR_RIGHT_SQUARE_BRACKET2) {
isBracket = token.isBracket = true;
isGlob = token.isGlob = true;
finished7 = true;
break;
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (opts3.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index2 === start) {
negated = token.negated = true;
start++;
continue;
}
if (opts3.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_LEFT_PARENTHESES) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
finished7 = true;
break;
}
}
continue;
}
break;
}
if (isGlob === true) {
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
}
if (opts3.noext === true) {
isExtglob = false;
isGlob = false;
}
let base = str2;
let prefix = "";
let glob2 = "";
if (start > 0) {
prefix = str2.slice(0, start);
str2 = str2.slice(start);
lastIndex -= start;
}
if (base && isGlob === true && lastIndex > 0) {
base = str2.slice(0, lastIndex);
glob2 = str2.slice(lastIndex);
} else if (isGlob === true) {
base = "";
glob2 = str2;
} else {
base = str2;
}
if (base && base !== "" && base !== "/" && base !== str2) {
if (isPathSeparator(base.charCodeAt(base.length - 1))) {
base = base.slice(0, -1);
}
}
if (opts3.unescape === true) {
if (glob2) glob2 = utils.removeBackslashes(glob2);
if (base && backslashes === true) {
base = utils.removeBackslashes(base);
}
}
const state = {
prefix,
input,
start,
base,
glob: glob2,
isBrace,
isBracket,
isGlob,
isExtglob,
isGlobstar,
negated,
negatedExtglob
};
if (opts3.tokens === true) {
state.maxDepth = 0;
if (!isPathSeparator(code)) {
tokens.push(token);
}
state.tokens = tokens;
}
if (opts3.parts === true || opts3.tokens === true) {
let prevIndex;
for (let idx = 0; idx < slashes.length; idx++) {
const n2 = prevIndex ? prevIndex + 1 : start;
const i4 = slashes[idx];
const value = input.slice(n2, i4);
if (opts3.tokens) {
if (idx === 0 && start !== 0) {
tokens[idx].isPrefix = true;
tokens[idx].value = prefix;
} else {
tokens[idx].value = value;
}
depth(tokens[idx]);
state.maxDepth += tokens[idx].depth;
}
if (idx !== 0 || value !== "") {
parts.push(value);
}
prevIndex = i4;
}
if (prevIndex && prevIndex + 1 < input.length) {
const value = input.slice(prevIndex + 1);
parts.push(value);
if (opts3.tokens) {
tokens[tokens.length - 1].value = value;
depth(tokens[tokens.length - 1]);
state.maxDepth += tokens[tokens.length - 1].depth;
}
}
state.slashes = slashes;
state.parts = parts;
}
return state;
};
module2.exports = scan3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/parse.js
var require_parse4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/parse.js"(exports2, module2) {
"use strict";
var constants6 = require_constants5();
var utils = require_utils3();
var {
MAX_LENGTH,
POSIX_REGEX_SOURCE,
REGEX_NON_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_BACKREF,
REPLACEMENTS
} = constants6;
var expandRange = (args, options) => {
if (typeof options.expandRange === "function") {
return options.expandRange(...args, options);
}
args.sort();
const value = `[${args.join("-")}]`;
try {
new RegExp(value);
} catch (ex) {
return args.map((v) => utils.escapeRegex(v)).join("..");
}
return value;
};
var syntaxError = (type4, char) => {
return `Missing ${type4}: "${char}" - use "\\\\${char}" to match literal characters`;
};
var splitTopLevel = (input) => {
const parts = [];
let bracket = 0;
let paren = 0;
let quote2 = 0;
let value = "";
let escaped = false;
for (const ch of input) {
if (escaped === true) {
value += ch;
escaped = false;
continue;
}
if (ch === "\\") {
value += ch;
escaped = true;
continue;
}
if (ch === '"') {
quote2 = quote2 === 1 ? 0 : 1;
value += ch;
continue;
}
if (quote2 === 0) {
if (ch === "[") {
bracket++;
} else if (ch === "]" && bracket > 0) {
bracket--;
} else if (bracket === 0) {
if (ch === "(") {
paren++;
} else if (ch === ")" && paren > 0) {
paren--;
} else if (ch === "|" && paren === 0) {
parts.push(value);
value = "";
continue;
}
}
}
value += ch;
}
parts.push(value);
return parts;
};
var isPlainBranch = (branch) => {
let escaped = false;
for (const ch of branch) {
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (/[?*+@!()[\]{}]/.test(ch)) {
return false;
}
}
return true;
};
var normalizeSimpleBranch = (branch) => {
let value = branch.trim();
let changed = true;
while (changed === true) {
changed = false;
if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
value = value.slice(2, -1);
changed = true;
}
}
if (!isPlainBranch(value)) {
return;
}
return value.replace(/\\(.)/g, "$1");
};
var hasRepeatedCharPrefixOverlap = (branches) => {
const values = branches.map(normalizeSimpleBranch).filter(Boolean);
for (let i4 = 0; i4 < values.length; i4++) {
for (let j2 = i4 + 1; j2 < values.length; j2++) {
const a2 = values[i4];
const b = values[j2];
const char = a2[0];
if (!char || a2 !== char.repeat(a2.length) || b !== char.repeat(b.length)) {
continue;
}
if (a2 === b || a2.startsWith(b) || b.startsWith(a2)) {
return true;
}
}
}
return false;
};
var parseRepeatedExtglob = (pattern, requireEnd = true) => {
if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") {
return;
}
let bracket = 0;
let paren = 0;
let quote2 = 0;
let escaped = false;
for (let i4 = 1; i4 < pattern.length; i4++) {
const ch = pattern[i4];
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (ch === '"') {
quote2 = quote2 === 1 ? 0 : 1;
continue;
}
if (quote2 === 1) {
continue;
}
if (ch === "[") {
bracket++;
continue;
}
if (ch === "]" && bracket > 0) {
bracket--;
continue;
}
if (bracket > 0) {
continue;
}
if (ch === "(") {
paren++;
continue;
}
if (ch === ")") {
paren--;
if (paren === 0) {
if (requireEnd === true && i4 !== pattern.length - 1) {
return;
}
return {
type: pattern[0],
body: pattern.slice(2, i4),
end: i4
};
}
}
}
};
var getStarExtglobSequenceOutput = (pattern) => {
let index2 = 0;
const chars = [];
while (index2 < pattern.length) {
const match = parseRepeatedExtglob(pattern.slice(index2), false);
if (!match || match.type !== "*") {
return;
}
const branches = splitTopLevel(match.body).map((branch2) => branch2.trim());
if (branches.length !== 1) {
return;
}
const branch = normalizeSimpleBranch(branches[0]);
if (!branch || branch.length !== 1) {
return;
}
chars.push(branch);
index2 += match.end + 1;
}
if (chars.length < 1) {
return;
}
const source = chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`;
return `${source}*`;
};
var repeatedExtglobRecursion = (pattern) => {
let depth = 0;
let value = pattern.trim();
let match = parseRepeatedExtglob(value);
while (match) {
depth++;
value = match.body.trim();
match = parseRepeatedExtglob(value);
}
return depth;
};
var analyzeRepeatedExtglob = (body, options) => {
if (options.maxExtglobRecursion === false) {
return { risky: false };
}
const max4 = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants6.DEFAULT_MAX_EXTGLOB_RECURSION;
const branches = splitTopLevel(body).map((branch) => branch.trim());
if (branches.length > 1) {
if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) {
return { risky: true };
}
}
for (const branch of branches) {
const safeOutput = getStarExtglobSequenceOutput(branch);
if (safeOutput) {
return { risky: true, safeOutput };
}
if (repeatedExtglobRecursion(branch) > max4) {
return { risky: true };
}
}
return { risky: false };
};
var parse12 = (input, options) => {
if (typeof input !== "string") {
throw new TypeError("Expected a string");
}
input = REPLACEMENTS[input] || input;
const opts3 = { ...options };
const max4 = typeof opts3.maxLength === "number" ? Math.min(MAX_LENGTH, opts3.maxLength) : MAX_LENGTH;
let len = input.length;
if (len > max4) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max4}`);
}
const bos = { type: "bos", value: "", output: opts3.prepend || "" };
const tokens = [bos];
const capture = opts3.capture ? "" : "?:";
const win32 = utils.isWindows(options);
const PLATFORM_CHARS = constants6.globChars(win32);
const EXTGLOB_CHARS = constants6.extglobChars(PLATFORM_CHARS);
const {
DOT_LITERAL,
PLUS_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK,
QMARK_NO_DOT,
STAR,
START_ANCHOR
} = PLATFORM_CHARS;
const globstar = (opts4) => {
return `(${capture}(?:(?!${START_ANCHOR}${opts4.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const nodot = opts3.dot ? "" : NO_DOT;
const qmarkNoDot = opts3.dot ? QMARK : QMARK_NO_DOT;
let star = opts3.bash === true ? globstar(opts3) : STAR;
if (opts3.capture) {
star = `(${star})`;
}
if (typeof opts3.noext === "boolean") {
opts3.noextglob = opts3.noext;
}
const state = {
input,
index: -1,
start: 0,
dot: opts3.dot === true,
consumed: "",
output: "",
prefix: "",
backtrack: false,
negated: false,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: false,
tokens
};
input = utils.removePrefix(input, state);
len = input.length;
const extglobs = [];
const braces = [];
const stack = [];
let prev = bos;
let value;
const eos = () => state.index === len - 1;
const peek = state.peek = (n2 = 1) => input[state.index + n2];
const advance = state.advance = () => input[++state.index] || "";
const remaining = () => input.slice(state.index + 1);
const consume = (value2 = "", num = 0) => {
state.consumed += value2;
state.index += num;
};
const append = (token) => {
state.output += token.output != null ? token.output : token.value;
consume(token.value);
};
const negate = () => {
let count2 = 1;
while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
advance();
state.start++;
count2++;
}
if (count2 % 2 === 0) {
return false;
}
state.negated = true;
state.start++;
return true;
};
const increment2 = (type4) => {
state[type4]++;
stack.push(type4);
};
const decrement = (type4) => {
state[type4]--;
stack.pop();
};
const push = (tok) => {
if (prev.type === "globstar") {
const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
state.output = state.output.slice(0, -prev.output.length);
prev.type = "star";
prev.value = "*";
prev.output = star;
state.output += prev.output;
}
}
if (extglobs.length && tok.type !== "paren") {
extglobs[extglobs.length - 1].inner += tok.value;
}
if (tok.value || tok.output) append(tok);
if (prev && prev.type === "text" && tok.type === "text") {
prev.value += tok.value;
prev.output = (prev.output || "") + tok.value;
return;
}
tok.prev = prev;
tokens.push(tok);
prev = tok;
};
const extglobOpen = (type4, value2) => {
const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
token.prev = prev;
token.parens = state.parens;
token.output = state.output;
token.startIndex = state.index;
token.tokensIndex = tokens.length;
const output = (opts3.capture ? "(" : "") + token.open;
increment2("parens");
push({ type: type4, value: value2, output: state.output ? "" : ONE_CHAR });
push({ type: "paren", extglob: true, value: advance(), output });
extglobs.push(token);
};
const extglobClose = (token) => {
const literal = input.slice(token.startIndex, state.index + 1);
const body = input.slice(token.startIndex + 2, state.index);
const analysis = analyzeRepeatedExtglob(body, opts3);
if ((token.type === "plus" || token.type === "star") && analysis.risky) {
const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts3.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : void 0;
const open3 = tokens[token.tokensIndex];
open3.type = "text";
open3.value = literal;
open3.output = safeOutput || utils.escapeRegex(literal);
for (let i4 = token.tokensIndex + 1; i4 < tokens.length; i4++) {
tokens[i4].value = "";
tokens[i4].output = "";
delete tokens[i4].suffix;
}
state.output = token.output + open3.output;
state.backtrack = true;
push({ type: "paren", extglob: true, value, output: "" });
decrement("parens");
return;
}
let output = token.close + (opts3.capture ? ")" : "");
let rest;
if (token.type === "negate") {
let extglobStar = star;
if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
extglobStar = globstar(opts3);
}
if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
output = token.close = `)$))${extglobStar}`;
}
if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
const expression = parse12(rest, { ...options, fastpaths: false }).output;
output = token.close = `)${expression})${extglobStar})`;
}
if (token.prev.type === "bos") {
state.negatedExtglob = true;
}
}
push({ type: "paren", extglob: true, value, output });
decrement("parens");
};
if (opts3.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
let backslashes = false;
let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index2) => {
if (first === "\\") {
backslashes = true;
return m;
}
if (first === "?") {
if (esc) {
return esc + first + (rest ? QMARK.repeat(rest.length) : "");
}
if (index2 === 0) {
return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
}
return QMARK.repeat(chars.length);
}
if (first === ".") {
return DOT_LITERAL.repeat(chars.length);
}
if (first === "*") {
if (esc) {
return esc + first + (rest ? star : "");
}
return star;
}
return esc ? m : `\\${m}`;
});
if (backslashes === true) {
if (opts3.unescape === true) {
output = output.replace(/\\/g, "");
} else {
output = output.replace(/\\+/g, (m) => {
return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
});
}
}
if (output === input && opts3.contains === true) {
state.output = input;
return state;
}
state.output = utils.wrapOutput(output, state, options);
return state;
}
while (!eos()) {
value = advance();
if (value === "\0") {
continue;
}
if (value === "\\") {
const next2 = peek();
if (next2 === "/" && opts3.bash !== true) {
continue;
}
if (next2 === "." || next2 === ";") {
continue;
}
if (!next2) {
value += "\\";
push({ type: "text", value });
continue;
}
const match = /^\\+/.exec(remaining());
let slashes = 0;
if (match && match[0].length > 2) {
slashes = match[0].length;
state.index += slashes;
if (slashes % 2 !== 0) {
value += "\\";
}
}
if (opts3.unescape === true) {
value = advance();
} else {
value += advance();
}
if (state.brackets === 0) {
push({ type: "text", value });
continue;
}
}
if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
if (opts3.posix !== false && value === ":") {
const inner = prev.value.slice(1);
if (inner.includes("[")) {
prev.posix = true;
if (inner.includes(":")) {
const idx = prev.value.lastIndexOf("[");
const pre = prev.value.slice(0, idx);
const rest2 = prev.value.slice(idx + 2);
const posix2 = POSIX_REGEX_SOURCE[rest2];
if (posix2) {
prev.value = pre + posix2;
state.backtrack = true;
advance();
if (!bos.output && tokens.indexOf(prev) === 1) {
bos.output = ONE_CHAR;
}
continue;
}
}
}
}
if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
value = `\\${value}`;
}
if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
value = `\\${value}`;
}
if (opts3.posix === true && value === "!" && prev.value === "[") {
value = "^";
}
prev.value += value;
append({ value });
continue;
}
if (state.quotes === 1 && value !== '"') {
value = utils.escapeRegex(value);
prev.value += value;
append({ value });
continue;
}
if (value === '"') {
state.quotes = state.quotes === 1 ? 0 : 1;
if (opts3.keepQuotes === true) {
push({ type: "text", value });
}
continue;
}
if (value === "(") {
increment2("parens");
push({ type: "paren", value });
continue;
}
if (value === ")") {
if (state.parens === 0 && opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "("));
}
const extglob = extglobs[extglobs.length - 1];
if (extglob && state.parens === extglob.parens + 1) {
extglobClose(extglobs.pop());
continue;
}
push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
decrement("parens");
continue;
}
if (value === "[") {
if (opts3.nobracket === true || !remaining().includes("]")) {
if (opts3.nobracket !== true && opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("closing", "]"));
}
value = `\\${value}`;
} else {
increment2("brackets");
}
push({ type: "bracket", value });
continue;
}
if (value === "]") {
if (opts3.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
push({ type: "text", value, output: `\\${value}` });
continue;
}
if (state.brackets === 0) {
if (opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "["));
}
push({ type: "text", value, output: `\\${value}` });
continue;
}
decrement("brackets");
const prevValue = prev.value.slice(1);
if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
value = `/${value}`;
}
prev.value += value;
append({ value });
if (opts3.literalBrackets === false || utils.hasRegexChars(prevValue)) {
continue;
}
const escaped = utils.escapeRegex(prev.value);
state.output = state.output.slice(0, -prev.value.length);
if (opts3.literalBrackets === true) {
state.output += escaped;
prev.value = escaped;
continue;
}
prev.value = `(${capture}${escaped}|${prev.value})`;
state.output += prev.value;
continue;
}
if (value === "{" && opts3.nobrace !== true) {
increment2("braces");
const open3 = {
type: "brace",
value,
output: "(",
outputIndex: state.output.length,
tokensIndex: state.tokens.length
};
braces.push(open3);
push(open3);
continue;
}
if (value === "}") {
const brace = braces[braces.length - 1];
if (opts3.nobrace === true || !brace) {
push({ type: "text", value, output: value });
continue;
}
let output = ")";
if (brace.dots === true) {
const arr = tokens.slice();
const range = [];
for (let i4 = arr.length - 1; i4 >= 0; i4--) {
tokens.pop();
if (arr[i4].type === "brace") {
break;
}
if (arr[i4].type !== "dots") {
range.unshift(arr[i4].value);
}
}
output = expandRange(range, opts3);
state.backtrack = true;
}
if (brace.comma !== true && brace.dots !== true) {
const out = state.output.slice(0, brace.outputIndex);
const toks = state.tokens.slice(brace.tokensIndex);
brace.value = brace.output = "\\{";
value = output = "\\}";
state.output = out;
for (const t2 of toks) {
state.output += t2.output || t2.value;
}
}
push({ type: "brace", value, output });
decrement("braces");
braces.pop();
continue;
}
if (value === "|") {
if (extglobs.length > 0) {
extglobs[extglobs.length - 1].conditions++;
}
push({ type: "text", value });
continue;
}
if (value === ",") {
let output = value;
const brace = braces[braces.length - 1];
if (brace && stack[stack.length - 1] === "braces") {
brace.comma = true;
output = "|";
}
push({ type: "comma", value, output });
continue;
}
if (value === "/") {
if (prev.type === "dot" && state.index === state.start + 1) {
state.start = state.index + 1;
state.consumed = "";
state.output = "";
tokens.pop();
prev = bos;
continue;
}
push({ type: "slash", value, output: SLASH_LITERAL });
continue;
}
if (value === ".") {
if (state.braces > 0 && prev.type === "dot") {
if (prev.value === ".") prev.output = DOT_LITERAL;
const brace = braces[braces.length - 1];
prev.type = "dots";
prev.output += value;
prev.value += value;
brace.dots = true;
continue;
}
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
push({ type: "text", value, output: DOT_LITERAL });
continue;
}
push({ type: "dot", value, output: DOT_LITERAL });
continue;
}
if (value === "?") {
const isGroup2 = prev && prev.value === "(";
if (!isGroup2 && opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("qmark", value);
continue;
}
if (prev && prev.type === "paren") {
const next2 = peek();
let output = value;
if (next2 === "<" && !utils.supportsLookbehinds()) {
throw new Error("Node.js v10 or higher is required for regex lookbehinds");
}
if (prev.value === "(" && !/[!=<:]/.test(next2) || next2 === "<" && !/<([!=]|\w+>)/.test(remaining())) {
output = `\\${value}`;
}
push({ type: "text", value, output });
continue;
}
if (opts3.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
push({ type: "qmark", value, output: QMARK_NO_DOT });
continue;
}
push({ type: "qmark", value, output: QMARK });
continue;
}
if (value === "!") {
if (opts3.noextglob !== true && peek() === "(") {
if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
extglobOpen("negate", value);
continue;
}
}
if (opts3.nonegate !== true && state.index === 0) {
negate();
continue;
}
}
if (value === "+") {
if (opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("plus", value);
continue;
}
if (prev && prev.value === "(" || opts3.regex === false) {
push({ type: "plus", value, output: PLUS_LITERAL });
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
push({ type: "plus", value });
continue;
}
push({ type: "plus", value: PLUS_LITERAL });
continue;
}
if (value === "@") {
if (opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
push({ type: "at", extglob: true, value, output: "" });
continue;
}
push({ type: "text", value });
continue;
}
if (value !== "*") {
if (value === "$" || value === "^") {
value = `\\${value}`;
}
const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
if (match) {
value += match[0];
state.index += match[0].length;
}
push({ type: "text", value });
continue;
}
if (prev && (prev.type === "globstar" || prev.star === true)) {
prev.type = "star";
prev.star = true;
prev.value += value;
prev.output = star;
state.backtrack = true;
state.globstar = true;
consume(value);
continue;
}
let rest = remaining();
if (opts3.noextglob !== true && /^\([^?]/.test(rest)) {
extglobOpen("star", value);
continue;
}
if (prev.type === "star") {
if (opts3.noglobstar === true) {
consume(value);
continue;
}
const prior = prev.prev;
const before = prior.prev;
const isStart = prior.type === "slash" || prior.type === "bos";
const afterStar = before && (before.type === "star" || before.type === "globstar");
if (opts3.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
push({ type: "star", value, output: "" });
continue;
}
const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
push({ type: "star", value, output: "" });
continue;
}
while (rest.slice(0, 3) === "/**") {
const after = input[state.index + 4];
if (after && after !== "/") {
break;
}
rest = rest.slice(3);
consume("/**", 3);
}
if (prior.type === "bos" && eos()) {
prev.type = "globstar";
prev.value += value;
prev.output = globstar(opts3);
state.output = prev.output;
state.globstar = true;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = globstar(opts3) + (opts3.strictSlashes ? ")" : "|$)");
prev.value += value;
state.globstar = true;
state.output += prior.output + prev.output;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
const end = rest[1] !== void 0 ? "|$" : "";
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = `${globstar(opts3)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
prev.value += value;
state.output += prior.output + prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
if (prior.type === "bos" && rest[0] === "/") {
prev.type = "globstar";
prev.value += value;
prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts3)}${SLASH_LITERAL})`;
state.output = prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
state.output = state.output.slice(0, -prev.output.length);
prev.type = "globstar";
prev.output = globstar(opts3);
prev.value += value;
state.output += prev.output;
state.globstar = true;
consume(value);
continue;
}
const token = { type: "star", value, output: star };
if (opts3.bash === true) {
token.output = ".*?";
if (prev.type === "bos" || prev.type === "slash") {
token.output = nodot + token.output;
}
push(token);
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts3.regex === true) {
token.output = value;
push(token);
continue;
}
if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
if (prev.type === "dot") {
state.output += NO_DOT_SLASH;
prev.output += NO_DOT_SLASH;
} else if (opts3.dot === true) {
state.output += NO_DOTS_SLASH;
prev.output += NO_DOTS_SLASH;
} else {
state.output += nodot;
prev.output += nodot;
}
if (peek() !== "*") {
state.output += ONE_CHAR;
prev.output += ONE_CHAR;
}
}
push(token);
}
while (state.brackets > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
state.output = utils.escapeLast(state.output, "[");
decrement("brackets");
}
while (state.parens > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
state.output = utils.escapeLast(state.output, "(");
decrement("parens");
}
while (state.braces > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
state.output = utils.escapeLast(state.output, "{");
decrement("braces");
}
if (opts3.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
}
if (state.backtrack === true) {
state.output = "";
for (const token of state.tokens) {
state.output += token.output != null ? token.output : token.value;
if (token.suffix) {
state.output += token.suffix;
}
}
}
return state;
};
parse12.fastpaths = (input, options) => {
const opts3 = { ...options };
const max4 = typeof opts3.maxLength === "number" ? Math.min(MAX_LENGTH, opts3.maxLength) : MAX_LENGTH;
const len = input.length;
if (len > max4) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max4}`);
}
input = REPLACEMENTS[input] || input;
const win32 = utils.isWindows(options);
const {
DOT_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOTS_SLASH,
STAR,
START_ANCHOR
} = constants6.globChars(win32);
const nodot = opts3.dot ? NO_DOTS : NO_DOT;
const slashDot = opts3.dot ? NO_DOTS_SLASH : NO_DOT;
const capture = opts3.capture ? "" : "?:";
const state = { negated: false, prefix: "" };
let star = opts3.bash === true ? ".*?" : STAR;
if (opts3.capture) {
star = `(${star})`;
}
const globstar = (opts4) => {
if (opts4.noglobstar === true) return star;
return `(${capture}(?:(?!${START_ANCHOR}${opts4.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const create = (str2) => {
switch (str2) {
case "*":
return `${nodot}${ONE_CHAR}${star}`;
case ".*":
return `${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*.*":
return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*/*":
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
case "**":
return nodot + globstar(opts3);
case "**/*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
case "**/*.*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "**/.*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
default: {
const match = /^(.*?)\.(\w+)$/.exec(str2);
if (!match) return;
const source2 = create(match[1]);
if (!source2) return;
return source2 + DOT_LITERAL + match[2];
}
}
};
const output = utils.removePrefix(input, state);
let source = create(output);
if (source && opts3.strictSlashes !== true) {
source += `${SLASH_LITERAL}?`;
}
return source;
};
module2.exports = parse12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/picomatch.js
var require_picomatch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var scan3 = require_scan2();
var parse12 = require_parse4();
var utils = require_utils3();
var constants6 = require_constants5();
var isObject4 = (val) => val && typeof val === "object" && !Array.isArray(val);
var picomatch2 = (glob2, options, returnState = false) => {
if (Array.isArray(glob2)) {
const fns = glob2.map((input) => picomatch2(input, options, returnState));
const arrayMatcher = (str2) => {
for (const isMatch of fns) {
const state2 = isMatch(str2);
if (state2) return state2;
}
return false;
};
return arrayMatcher;
}
const isState = isObject4(glob2) && glob2.tokens && glob2.input;
if (glob2 === "" || typeof glob2 !== "string" && !isState) {
throw new TypeError("Expected pattern to be a non-empty string");
}
const opts3 = options || {};
const posix2 = utils.isWindows(options);
const regex2 = isState ? picomatch2.compileRe(glob2, options) : picomatch2.makeRe(glob2, options, false, true);
const state = regex2.state;
delete regex2.state;
let isIgnored = () => false;
if (opts3.ignore) {
const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
isIgnored = picomatch2(opts3.ignore, ignoreOpts, returnState);
}
const matcher = (input, returnObject = false) => {
const { isMatch, match, output } = picomatch2.test(input, regex2, options, { glob: glob2, posix: posix2 });
const result2 = { glob: glob2, state, regex: regex2, posix: posix2, input, output, match, isMatch };
if (typeof opts3.onResult === "function") {
opts3.onResult(result2);
}
if (isMatch === false) {
result2.isMatch = false;
return returnObject ? result2 : false;
}
if (isIgnored(input)) {
if (typeof opts3.onIgnore === "function") {
opts3.onIgnore(result2);
}
result2.isMatch = false;
return returnObject ? result2 : false;
}
if (typeof opts3.onMatch === "function") {
opts3.onMatch(result2);
}
return returnObject ? result2 : true;
};
if (returnState) {
matcher.state = state;
}
return matcher;
};
picomatch2.test = (input, regex2, options, { glob: glob2, posix: posix2 } = {}) => {
if (typeof input !== "string") {
throw new TypeError("Expected input to be a string");
}
if (input === "") {
return { isMatch: false, output: "" };
}
const opts3 = options || {};
const format2 = opts3.format || (posix2 ? utils.toPosixSlashes : null);
let match = input === glob2;
let output = match && format2 ? format2(input) : input;
if (match === false) {
output = format2 ? format2(input) : input;
match = output === glob2;
}
if (match === false || opts3.capture === true) {
if (opts3.matchBase === true || opts3.basename === true) {
match = picomatch2.matchBase(input, regex2, options, posix2);
} else {
match = regex2.exec(output);
}
}
return { isMatch: Boolean(match), match, output };
};
picomatch2.matchBase = (input, glob2, options, posix2 = utils.isWindows(options)) => {
const regex2 = glob2 instanceof RegExp ? glob2 : picomatch2.makeRe(glob2, options);
return regex2.test(path236.basename(input));
};
picomatch2.isMatch = (str2, patterns, options) => picomatch2(patterns, options)(str2);
picomatch2.parse = (pattern, options) => {
if (Array.isArray(pattern)) return pattern.map((p) => picomatch2.parse(p, options));
return parse12(pattern, { ...options, fastpaths: false });
};
picomatch2.scan = (input, options) => scan3(input, options);
picomatch2.compileRe = (state, options, returnOutput = false, returnState = false) => {
if (returnOutput === true) {
return state.output;
}
const opts3 = options || {};
const prepend = opts3.contains ? "" : "^";
const append = opts3.contains ? "" : "$";
let source = `${prepend}(?:${state.output})${append}`;
if (state && state.negated === true) {
source = `^(?!${source}).*$`;
}
const regex2 = picomatch2.toRegex(source, options);
if (returnState === true) {
regex2.state = state;
}
return regex2;
};
picomatch2.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
if (!input || typeof input !== "string") {
throw new TypeError("Expected a non-empty string");
}
let parsed = { negated: false, fastpaths: true };
if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
parsed.output = parse12.fastpaths(input, options);
}
if (!parsed.output) {
parsed = parse12(input, options);
}
return picomatch2.compileRe(parsed, options, returnOutput, returnState);
};
picomatch2.toRegex = (source, options) => {
try {
const opts3 = options || {};
return new RegExp(source, opts3.flags || (opts3.nocase ? "i" : ""));
} catch (err2) {
if (options && options.debug === true) throw err2;
return /$^/;
}
};
picomatch2.constants = constants6;
module2.exports = picomatch2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/index.js
var require_picomatch2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/2.3.2/970562b178c2a3cae5d09ba562604a9292f4cc3586bd7d210594148d4f487bd5/node_modules/picomatch/index.js"(exports2, module2) {
"use strict";
module2.exports = require_picomatch();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/micromatch/4.0.8/e3e5f26f16f8b95548bbbd14ad679e23348853c21837502922840101deaebdcd/node_modules/micromatch/index.js
var require_micromatch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/micromatch/4.0.8/e3e5f26f16f8b95548bbbd14ad679e23348853c21837502922840101deaebdcd/node_modules/micromatch/index.js"(exports2, module2) {
"use strict";
var util64 = __require("util");
var braces = require_braces();
var picomatch2 = require_picomatch2();
var utils = require_utils3();
var isEmptyString = (v) => v === "" || v === "./";
var hasBraces = (v) => {
const index2 = v.indexOf("{");
return index2 > -1 && v.indexOf("}", index2) > -1;
};
var micromatch3 = (list2, patterns, options) => {
patterns = [].concat(patterns);
list2 = [].concat(list2);
let omit3 = /* @__PURE__ */ new Set();
let keep = /* @__PURE__ */ new Set();
let items = /* @__PURE__ */ new Set();
let negatives = 0;
let onResult = (state) => {
items.add(state.output);
if (options && options.onResult) {
options.onResult(state);
}
};
for (let i4 = 0; i4 < patterns.length; i4++) {
let isMatch = picomatch2(String(patterns[i4]), { ...options, onResult }, true);
let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
if (negated) negatives++;
for (let item of list2) {
let matched = isMatch(item, true);
let match = negated ? !matched.isMatch : matched.isMatch;
if (!match) continue;
if (negated) {
omit3.add(matched.output);
} else {
omit3.delete(matched.output);
keep.add(matched.output);
}
}
}
let result2 = negatives === patterns.length ? [...items] : [...keep];
let matches2 = result2.filter((item) => !omit3.has(item));
if (options && matches2.length === 0) {
if (options.failglob === true) {
throw new Error(`No matches found for "${patterns.join(", ")}"`);
}
if (options.nonull === true || options.nullglob === true) {
return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
}
}
return matches2;
};
micromatch3.match = micromatch3;
micromatch3.matcher = (pattern, options) => picomatch2(pattern, options);
micromatch3.isMatch = (str2, patterns, options) => picomatch2(patterns, options)(str2);
micromatch3.any = micromatch3.isMatch;
micromatch3.not = (list2, patterns, options = {}) => {
patterns = [].concat(patterns).map(String);
let result2 = /* @__PURE__ */ new Set();
let items = [];
let onResult = (state) => {
if (options.onResult) options.onResult(state);
items.push(state.output);
};
let matches2 = new Set(micromatch3(list2, patterns, { ...options, onResult }));
for (let item of items) {
if (!matches2.has(item)) {
result2.add(item);
}
}
return [...result2];
};
micromatch3.contains = (str2, pattern, options) => {
if (typeof str2 !== "string") {
throw new TypeError(`Expected a string: "${util64.inspect(str2)}"`);
}
if (Array.isArray(pattern)) {
return pattern.some((p) => micromatch3.contains(str2, p, options));
}
if (typeof pattern === "string") {
if (isEmptyString(str2) || isEmptyString(pattern)) {
return false;
}
if (str2.includes(pattern) || str2.startsWith("./") && str2.slice(2).includes(pattern)) {
return true;
}
}
return micromatch3.isMatch(str2, pattern, { ...options, contains: true });
};
micromatch3.matchKeys = (obj, patterns, options) => {
if (!utils.isObject(obj)) {
throw new TypeError("Expected the first argument to be an object");
}
let keys4 = micromatch3(Object.keys(obj), patterns, options);
let res = {};
for (let key of keys4) res[key] = obj[key];
return res;
};
micromatch3.some = (list2, patterns, options) => {
let items = [].concat(list2);
for (let pattern of [].concat(patterns)) {
let isMatch = picomatch2(String(pattern), options);
if (items.some((item) => isMatch(item))) {
return true;
}
}
return false;
};
micromatch3.every = (list2, patterns, options) => {
let items = [].concat(list2);
for (let pattern of [].concat(patterns)) {
let isMatch = picomatch2(String(pattern), options);
if (!items.every((item) => isMatch(item))) {
return false;
}
}
return true;
};
micromatch3.all = (str2, patterns, options) => {
if (typeof str2 !== "string") {
throw new TypeError(`Expected a string: "${util64.inspect(str2)}"`);
}
return [].concat(patterns).every((p) => picomatch2(p, options)(str2));
};
micromatch3.capture = (glob2, input, options) => {
let posix2 = utils.isWindows(options);
let regex2 = picomatch2.makeRe(String(glob2), { ...options, capture: true });
let match = regex2.exec(posix2 ? utils.toPosixSlashes(input) : input);
if (match) {
return match.slice(1).map((v) => v === void 0 ? "" : v);
}
};
micromatch3.makeRe = (...args) => picomatch2.makeRe(...args);
micromatch3.scan = (...args) => picomatch2.scan(...args);
micromatch3.parse = (patterns, options) => {
let res = [];
for (let pattern of [].concat(patterns || [])) {
for (let str2 of braces(String(pattern), options)) {
res.push(picomatch2.parse(str2, options));
}
}
return res;
};
micromatch3.braces = (pattern, options) => {
if (typeof pattern !== "string") throw new TypeError("Expected a string");
if (options && options.nobrace === true || !hasBraces(pattern)) {
return [pattern];
}
return braces(pattern, options);
};
micromatch3.braceExpand = (pattern, options) => {
if (typeof pattern !== "string") throw new TypeError("Expected a string");
return micromatch3.braces(pattern, { ...options, expand: true });
};
micromatch3.hasBraces = hasBraces;
module2.exports = micromatch3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/pattern.js
var require_pattern = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/pattern.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isAbsolute = exports2.partitionAbsoluteAndRelative = exports2.removeDuplicateSlashes = exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0;
var path236 = __require("path");
var globParent = require_glob_parent();
var micromatch3 = require_micromatch();
var GLOBSTAR = "**";
var ESCAPE_SYMBOL = "\\";
var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
function isStaticPattern(pattern, options = {}) {
return !isDynamicPattern2(pattern, options);
}
exports2.isStaticPattern = isStaticPattern;
function isDynamicPattern2(pattern, options = {}) {
if (pattern === "") {
return false;
}
if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
return true;
}
if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
return true;
}
if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
return true;
}
if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {
return true;
}
return false;
}
exports2.isDynamicPattern = isDynamicPattern2;
function hasBraceExpansion(pattern) {
const openingBraceIndex = pattern.indexOf("{");
if (openingBraceIndex === -1) {
return false;
}
const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
if (closingBraceIndex === -1) {
return false;
}
const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
}
function convertToPositivePattern(pattern) {
return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
}
exports2.convertToPositivePattern = convertToPositivePattern;
function convertToNegativePattern(pattern) {
return "!" + pattern;
}
exports2.convertToNegativePattern = convertToNegativePattern;
function isNegativePattern(pattern) {
return pattern.startsWith("!") && pattern[1] !== "(";
}
exports2.isNegativePattern = isNegativePattern;
function isPositivePattern(pattern) {
return !isNegativePattern(pattern);
}
exports2.isPositivePattern = isPositivePattern;
function getNegativePatterns(patterns) {
return patterns.filter(isNegativePattern);
}
exports2.getNegativePatterns = getNegativePatterns;
function getPositivePatterns(patterns) {
return patterns.filter(isPositivePattern);
}
exports2.getPositivePatterns = getPositivePatterns;
function getPatternsInsideCurrentDirectory(patterns) {
return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
}
exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
function getPatternsOutsideCurrentDirectory(patterns) {
return patterns.filter(isPatternRelatedToParentDirectory);
}
exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
function isPatternRelatedToParentDirectory(pattern) {
return pattern.startsWith("..") || pattern.startsWith("./..");
}
exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
function getBaseDirectory(pattern) {
return globParent(pattern, { flipBackslashes: false });
}
exports2.getBaseDirectory = getBaseDirectory;
function hasGlobStar(pattern) {
return pattern.includes(GLOBSTAR);
}
exports2.hasGlobStar = hasGlobStar;
function endsWithSlashGlobStar(pattern) {
return pattern.endsWith("/" + GLOBSTAR);
}
exports2.endsWithSlashGlobStar = endsWithSlashGlobStar;
function isAffectDepthOfReadingPattern(pattern) {
const basename2 = path236.basename(pattern);
return endsWithSlashGlobStar(pattern) || isStaticPattern(basename2);
}
exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
function expandPatternsWithBraceExpansion(patterns) {
return patterns.reduce((collection, pattern) => {
return collection.concat(expandBraceExpansion(pattern));
}, []);
}
exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
function expandBraceExpansion(pattern) {
const patterns = micromatch3.braces(pattern, { expand: true, nodupes: true, keepEscaping: true });
patterns.sort((a2, b) => a2.length - b.length);
return patterns.filter((pattern2) => pattern2 !== "");
}
exports2.expandBraceExpansion = expandBraceExpansion;
function getPatternParts(pattern, options) {
let { parts } = micromatch3.scan(pattern, Object.assign(Object.assign({}, options), { parts: true }));
if (parts.length === 0) {
parts = [pattern];
}
if (parts[0].startsWith("/")) {
parts[0] = parts[0].slice(1);
parts.unshift("");
}
return parts;
}
exports2.getPatternParts = getPatternParts;
function makeRe(pattern, options) {
return micromatch3.makeRe(pattern, options);
}
exports2.makeRe = makeRe;
function convertPatternsToRe(patterns, options) {
return patterns.map((pattern) => makeRe(pattern, options));
}
exports2.convertPatternsToRe = convertPatternsToRe;
function matchAny(entry, patternsRe) {
return patternsRe.some((patternRe) => patternRe.test(entry));
}
exports2.matchAny = matchAny;
function removeDuplicateSlashes(pattern) {
return pattern.replace(DOUBLE_SLASH_RE, "/");
}
exports2.removeDuplicateSlashes = removeDuplicateSlashes;
function partitionAbsoluteAndRelative(patterns) {
const absolute2 = [];
const relative2 = [];
for (const pattern of patterns) {
if (isAbsolute4(pattern)) {
absolute2.push(pattern);
} else {
relative2.push(pattern);
}
}
return [absolute2, relative2];
}
exports2.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
function isAbsolute4(pattern) {
return path236.isAbsolute(pattern);
}
exports2.isAbsolute = isAbsolute4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/merge2/1.4.1/020a5dba6708533d1a210be2e70dc318b18a338e31693a47aac3f81caa5b43bf/node_modules/merge2/index.js
var require_merge2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/merge2/1.4.1/020a5dba6708533d1a210be2e70dc318b18a338e31693a47aac3f81caa5b43bf/node_modules/merge2/index.js"(exports2, module2) {
"use strict";
var Stream = __require("stream");
var PassThrough3 = Stream.PassThrough;
var slice4 = Array.prototype.slice;
module2.exports = merge22;
function merge22() {
const streamsQueue = [];
const args = slice4.call(arguments);
let merging = false;
let options = args[args.length - 1];
if (options && !Array.isArray(options) && options.pipe == null) {
args.pop();
} else {
options = {};
}
const doEnd = options.end !== false;
const doPipeError = options.pipeError === true;
if (options.objectMode == null) {
options.objectMode = true;
}
if (options.highWaterMark == null) {
options.highWaterMark = 64 * 1024;
}
const mergedStream = PassThrough3(options);
function addStream() {
for (let i4 = 0, len = arguments.length; i4 < len; i4++) {
streamsQueue.push(pauseStreams(arguments[i4], options));
}
mergeStream();
return this;
}
function mergeStream() {
if (merging) {
return;
}
merging = true;
let streams = streamsQueue.shift();
if (!streams) {
process.nextTick(endStream2);
return;
}
if (!Array.isArray(streams)) {
streams = [streams];
}
let pipesCount = streams.length + 1;
function next2() {
if (--pipesCount > 0) {
return;
}
merging = false;
mergeStream();
}
function pipe3(stream2) {
function onend() {
stream2.removeListener("merge2UnpipeEnd", onend);
stream2.removeListener("end", onend);
if (doPipeError) {
stream2.removeListener("error", onerror);
}
next2();
}
function onerror(err2) {
mergedStream.emit("error", err2);
}
if (stream2._readableState.endEmitted) {
return next2();
}
stream2.on("merge2UnpipeEnd", onend);
stream2.on("end", onend);
if (doPipeError) {
stream2.on("error", onerror);
}
stream2.pipe(mergedStream, { end: false });
stream2.resume();
}
for (let i4 = 0; i4 < streams.length; i4++) {
pipe3(streams[i4]);
}
next2();
}
function endStream2() {
merging = false;
mergedStream.emit("queueDrain");
if (doEnd) {
mergedStream.end();
}
}
mergedStream.setMaxListeners(0);
mergedStream.add = addStream;
mergedStream.on("unpipe", function(stream2) {
stream2.emit("merge2UnpipeEnd");
});
if (args.length) {
addStream.apply(null, args);
}
return mergedStream;
}
function pauseStreams(streams, options) {
if (!Array.isArray(streams)) {
if (!streams._readableState && streams.pipe) {
streams = streams.pipe(PassThrough3(options));
}
if (!streams._readableState || !streams.pause || !streams.pipe) {
throw new Error("Only readable stream can be merged.");
}
streams.pause();
} else {
for (let i4 = 0, len = streams.length; i4 < len; i4++) {
streams[i4] = pauseStreams(streams[i4], options);
}
}
return streams;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/stream.js
var require_stream = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/stream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.merge = void 0;
var merge22 = require_merge2();
function merge7(streams) {
const mergedStream = merge22(streams);
streams.forEach((stream2) => {
stream2.once("error", (error) => mergedStream.emit("error", error));
});
mergedStream.once("close", () => propagateCloseEventToSources(streams));
mergedStream.once("end", () => propagateCloseEventToSources(streams));
return mergedStream;
}
exports2.merge = merge7;
function propagateCloseEventToSources(streams) {
streams.forEach((stream2) => stream2.emit("close"));
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/string.js
var require_string = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/string.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isEmpty = exports2.isString = void 0;
function isString(input) {
return typeof input === "string";
}
exports2.isString = isString;
function isEmpty4(input) {
return input === "";
}
exports2.isEmpty = isEmpty4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/index.js
var require_utils4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/utils/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0;
var array = require_array();
exports2.array = array;
var errno = require_errno();
exports2.errno = errno;
var fs126 = require_fs();
exports2.fs = fs126;
var path236 = require_path2();
exports2.path = path236;
var pattern = require_pattern();
exports2.pattern = pattern;
var stream2 = require_stream();
exports2.stream = stream2;
var string = require_string();
exports2.string = string;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/managers/tasks.js
var require_tasks = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/managers/tasks.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0;
var utils = require_utils4();
function generate(input, settings) {
const patterns = processPatterns2(input, settings);
const ignore2 = processPatterns2(settings.ignore, settings);
const positivePatterns = getPositivePatterns(patterns);
const negativePatterns = getNegativePatternsAsPositive(patterns, ignore2);
const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
const staticTasks = convertPatternsToTasks(
staticPatterns,
negativePatterns,
/* dynamic */
false
);
const dynamicTasks = convertPatternsToTasks(
dynamicPatterns,
negativePatterns,
/* dynamic */
true
);
return staticTasks.concat(dynamicTasks);
}
exports2.generate = generate;
function processPatterns2(input, settings) {
let patterns = input;
if (settings.braceExpansion) {
patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns);
}
if (settings.baseNameMatch) {
patterns = patterns.map((pattern) => pattern.includes("/") ? pattern : `**/${pattern}`);
}
return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern));
}
function convertPatternsToTasks(positive, negative, dynamic) {
const tasks = [];
const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
if ("." in insideCurrentDirectoryGroup) {
tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
} else {
tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
}
return tasks;
}
exports2.convertPatternsToTasks = convertPatternsToTasks;
function getPositivePatterns(patterns) {
return utils.pattern.getPositivePatterns(patterns);
}
exports2.getPositivePatterns = getPositivePatterns;
function getNegativePatternsAsPositive(patterns, ignore2) {
const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore2);
const positive = negative.map(utils.pattern.convertToPositivePattern);
return positive;
}
exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
function groupPatternsByBaseDirectory(patterns) {
const group = {};
return patterns.reduce((collection, pattern) => {
const base = utils.pattern.getBaseDirectory(pattern);
if (base in collection) {
collection[base].push(pattern);
} else {
collection[base] = [pattern];
}
return collection;
}, group);
}
exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
function convertPatternGroupsToTasks(positive, negative, dynamic) {
return Object.keys(positive).map((base) => {
return convertPatternGroupToTask(base, positive[base], negative, dynamic);
});
}
exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
function convertPatternGroupToTask(base, positive, negative, dynamic) {
return {
dynamic,
positive,
negative,
base,
patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
};
}
exports2.convertPatternGroupToTask = convertPatternGroupToTask;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/providers/async.js
var require_async = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.read = void 0;
function read2(path236, settings, callback2) {
settings.fs.lstat(path236, (lstatError, lstat2) => {
if (lstatError !== null) {
callFailureCallback(callback2, lstatError);
return;
}
if (!lstat2.isSymbolicLink() || !settings.followSymbolicLink) {
callSuccessCallback(callback2, lstat2);
return;
}
settings.fs.stat(path236, (statError, stat2) => {
if (statError !== null) {
if (settings.throwErrorOnBrokenSymbolicLink) {
callFailureCallback(callback2, statError);
return;
}
callSuccessCallback(callback2, lstat2);
return;
}
if (settings.markSymbolicLink) {
stat2.isSymbolicLink = () => true;
}
callSuccessCallback(callback2, stat2);
});
});
}
exports2.read = read2;
function callFailureCallback(callback2, error) {
callback2(error);
}
function callSuccessCallback(callback2, result2) {
callback2(null, result2);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/providers/sync.js
var require_sync = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.read = void 0;
function read2(path236, settings) {
const lstat2 = settings.fs.lstatSync(path236);
if (!lstat2.isSymbolicLink() || !settings.followSymbolicLink) {
return lstat2;
}
try {
const stat2 = settings.fs.statSync(path236);
if (settings.markSymbolicLink) {
stat2.isSymbolicLink = () => true;
}
return stat2;
} catch (error) {
if (!settings.throwErrorOnBrokenSymbolicLink) {
return lstat2;
}
throw error;
}
}
exports2.read = read2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/adapters/fs.js
var require_fs2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
var fs126 = __require("fs");
exports2.FILE_SYSTEM_ADAPTER = {
lstat: fs126.lstat,
stat: fs126.stat,
lstatSync: fs126.lstatSync,
statSync: fs126.statSync
};
function createFileSystemAdapter(fsMethods) {
if (fsMethods === void 0) {
return exports2.FILE_SYSTEM_ADAPTER;
}
return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
}
exports2.createFileSystemAdapter = createFileSystemAdapter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/settings.js
var require_settings = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/settings.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fs126 = require_fs2();
var Settings = class {
constructor(_options = {}) {
this._options = _options;
this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
this.fs = fs126.createFileSystemAdapter(this._options.fs);
this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
}
_getValue(option, value) {
return option !== null && option !== void 0 ? option : value;
}
};
exports2.default = Settings;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/index.js
var require_out = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.stat/2.0.5/a18fe583fa720fc7a562f64b45734df4ad1fd796cd7d66bee7833dc660f30bcf/node_modules/@nodelib/fs.stat/out/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.statSync = exports2.stat = exports2.Settings = void 0;
var async = require_async();
var sync3 = require_sync();
var settings_1 = require_settings();
exports2.Settings = settings_1.default;
function stat2(path236, optionsOrSettingsOrCallback, callback2) {
if (typeof optionsOrSettingsOrCallback === "function") {
async.read(path236, getSettings(), optionsOrSettingsOrCallback);
return;
}
async.read(path236, getSettings(optionsOrSettingsOrCallback), callback2);
}
exports2.stat = stat2;
function statSync4(path236, optionsOrSettings) {
const settings = getSettings(optionsOrSettings);
return sync3.read(path236, settings);
}
exports2.statSync = statSync4;
function getSettings(settingsOrOptions = {}) {
if (settingsOrOptions instanceof settings_1.default) {
return settingsOrOptions;
}
return new settings_1.default(settingsOrOptions);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/queue-microtask/1.2.3/5004b678cd06a4c9cf01ec5a4a3e88e0dab2d5e57ebf6952bbba02687d2d4b96/node_modules/queue-microtask/index.js
var require_queue_microtask = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/queue-microtask/1.2.3/5004b678cd06a4c9cf01ec5a4a3e88e0dab2d5e57ebf6952bbba02687d2d4b96/node_modules/queue-microtask/index.js"(exports2, module2) {
var promise2;
module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise2 || (promise2 = Promise.resolve())).then(cb).catch((err2) => setTimeout(() => {
throw err2;
}, 0));
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-parallel/1.2.0/3913053af3a6a9a6db127d62f377d6c4737d2538ca54cac3931789acb2492492/node_modules/run-parallel/index.js
var require_run_parallel = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-parallel/1.2.0/3913053af3a6a9a6db127d62f377d6c4737d2538ca54cac3931789acb2492492/node_modules/run-parallel/index.js"(exports2, module2) {
module2.exports = runParallel;
var queueMicrotask2 = require_queue_microtask();
function runParallel(tasks, cb) {
let results, pending, keys4;
let isSync = true;
if (Array.isArray(tasks)) {
results = [];
pending = tasks.length;
} else {
keys4 = Object.keys(tasks);
results = {};
pending = keys4.length;
}
function done(err2) {
function end() {
if (cb) cb(err2, results);
cb = null;
}
if (isSync) queueMicrotask2(end);
else end();
}
function each(i4, err2, result2) {
results[i4] = result2;
if (--pending === 0 || err2) {
done(err2);
}
}
if (!pending) {
done(null);
} else if (keys4) {
keys4.forEach(function(key) {
tasks[key](function(err2, result2) {
each(key, err2, result2);
});
});
} else {
tasks.forEach(function(task, i4) {
task(function(err2, result2) {
each(i4, err2, result2);
});
});
}
isSync = false;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/constants.js
var require_constants6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
var NODE_PROCESS_VERSION_PARTS = process.versions.node.split(".");
if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) {
throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
}
var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
var SUPPORTED_MAJOR_VERSION = 10;
var SUPPORTED_MINOR_VERSION = 10;
var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/utils/fs.js
var require_fs3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createDirentFromStats = void 0;
var DirentFromStats = class {
constructor(name, stats) {
this.name = name;
this.isBlockDevice = stats.isBlockDevice.bind(stats);
this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
this.isDirectory = stats.isDirectory.bind(stats);
this.isFIFO = stats.isFIFO.bind(stats);
this.isFile = stats.isFile.bind(stats);
this.isSocket = stats.isSocket.bind(stats);
this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
}
};
function createDirentFromStats(name, stats) {
return new DirentFromStats(name, stats);
}
exports2.createDirentFromStats = createDirentFromStats;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/utils/index.js
var require_utils5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fs = void 0;
var fs126 = require_fs3();
exports2.fs = fs126;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/common.js
var require_common2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.joinPathSegments = void 0;
function joinPathSegments(a2, b, separator) {
if (a2.endsWith(separator)) {
return a2 + b;
}
return a2 + separator + b;
}
exports2.joinPathSegments = joinPathSegments;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/async.js
var require_async2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
var fsStat = require_out();
var rpl = require_run_parallel();
var constants_1 = require_constants6();
var utils = require_utils5();
var common4 = require_common2();
function read2(directory, settings, callback2) {
if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
readdirWithFileTypes(directory, settings, callback2);
return;
}
readdir3(directory, settings, callback2);
}
exports2.read = read2;
function readdirWithFileTypes(directory, settings, callback2) {
settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
if (readdirError !== null) {
callFailureCallback(callback2, readdirError);
return;
}
const entries = dirents.map((dirent) => ({
dirent,
name: dirent.name,
path: common4.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
}));
if (!settings.followSymbolicLinks) {
callSuccessCallback(callback2, entries);
return;
}
const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
rpl(tasks, (rplError, rplEntries) => {
if (rplError !== null) {
callFailureCallback(callback2, rplError);
return;
}
callSuccessCallback(callback2, rplEntries);
});
});
}
exports2.readdirWithFileTypes = readdirWithFileTypes;
function makeRplTaskEntry(entry, settings) {
return (done) => {
if (!entry.dirent.isSymbolicLink()) {
done(null, entry);
return;
}
settings.fs.stat(entry.path, (statError, stats) => {
if (statError !== null) {
if (settings.throwErrorOnBrokenSymbolicLink) {
done(statError);
return;
}
done(null, entry);
return;
}
entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
done(null, entry);
});
};
}
function readdir3(directory, settings, callback2) {
settings.fs.readdir(directory, (readdirError, names) => {
if (readdirError !== null) {
callFailureCallback(callback2, readdirError);
return;
}
const tasks = names.map((name) => {
const path236 = common4.joinPathSegments(directory, name, settings.pathSegmentSeparator);
return (done) => {
fsStat.stat(path236, settings.fsStatSettings, (error, stats) => {
if (error !== null) {
done(error);
return;
}
const entry = {
name,
path: path236,
dirent: utils.fs.createDirentFromStats(name, stats)
};
if (settings.stats) {
entry.stats = stats;
}
done(null, entry);
});
};
});
rpl(tasks, (rplError, entries) => {
if (rplError !== null) {
callFailureCallback(callback2, rplError);
return;
}
callSuccessCallback(callback2, entries);
});
});
}
exports2.readdir = readdir3;
function callFailureCallback(callback2, error) {
callback2(error);
}
function callSuccessCallback(callback2, result2) {
callback2(null, result2);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/sync.js
var require_sync2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
var fsStat = require_out();
var constants_1 = require_constants6();
var utils = require_utils5();
var common4 = require_common2();
function read2(directory, settings) {
if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
return readdirWithFileTypes(directory, settings);
}
return readdir3(directory, settings);
}
exports2.read = read2;
function readdirWithFileTypes(directory, settings) {
const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
return dirents.map((dirent) => {
const entry = {
dirent,
name: dirent.name,
path: common4.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
};
if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
try {
const stats = settings.fs.statSync(entry.path);
entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
} catch (error) {
if (settings.throwErrorOnBrokenSymbolicLink) {
throw error;
}
}
}
return entry;
});
}
exports2.readdirWithFileTypes = readdirWithFileTypes;
function readdir3(directory, settings) {
const names = settings.fs.readdirSync(directory);
return names.map((name) => {
const entryPath = common4.joinPathSegments(directory, name, settings.pathSegmentSeparator);
const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
const entry = {
name,
path: entryPath,
dirent: utils.fs.createDirentFromStats(name, stats)
};
if (settings.stats) {
entry.stats = stats;
}
return entry;
});
}
exports2.readdir = readdir3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/adapters/fs.js
var require_fs4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
var fs126 = __require("fs");
exports2.FILE_SYSTEM_ADAPTER = {
lstat: fs126.lstat,
stat: fs126.stat,
lstatSync: fs126.lstatSync,
statSync: fs126.statSync,
readdir: fs126.readdir,
readdirSync: fs126.readdirSync
};
function createFileSystemAdapter(fsMethods) {
if (fsMethods === void 0) {
return exports2.FILE_SYSTEM_ADAPTER;
}
return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
}
exports2.createFileSystemAdapter = createFileSystemAdapter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/settings.js
var require_settings2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var path236 = __require("path");
var fsStat = require_out();
var fs126 = require_fs4();
var Settings = class {
constructor(_options = {}) {
this._options = _options;
this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
this.fs = fs126.createFileSystemAdapter(this._options.fs);
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path236.sep);
this.stats = this._getValue(this._options.stats, false);
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
this.fsStatSettings = new fsStat.Settings({
followSymbolicLink: this.followSymbolicLinks,
fs: this.fs,
throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
});
}
_getValue(option, value) {
return option !== null && option !== void 0 ? option : value;
}
};
exports2.default = Settings;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/index.js
var require_out2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.scandir/2.1.5/e782c397301ae1070a1c79775f17168b1359e43b12ae9e53bffd03056bd135d9/node_modules/@nodelib/fs.scandir/out/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Settings = exports2.scandirSync = exports2.scandir = void 0;
var async = require_async2();
var sync3 = require_sync2();
var settings_1 = require_settings2();
exports2.Settings = settings_1.default;
function scandir(path236, optionsOrSettingsOrCallback, callback2) {
if (typeof optionsOrSettingsOrCallback === "function") {
async.read(path236, getSettings(), optionsOrSettingsOrCallback);
return;
}
async.read(path236, getSettings(optionsOrSettingsOrCallback), callback2);
}
exports2.scandir = scandir;
function scandirSync(path236, optionsOrSettings) {
const settings = getSettings(optionsOrSettings);
return sync3.read(path236, settings);
}
exports2.scandirSync = scandirSync;
function getSettings(settingsOrOptions = {}) {
if (settingsOrOptions instanceof settings_1.default) {
return settingsOrOptions;
}
return new settings_1.default(settingsOrOptions);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/reusify/1.1.0/ba0ed478ca8bcc297c0a0bb75bc1fab72c39937204f3b60af935de964b431505/node_modules/reusify/reusify.js
var require_reusify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/reusify/1.1.0/ba0ed478ca8bcc297c0a0bb75bc1fab72c39937204f3b60af935de964b431505/node_modules/reusify/reusify.js"(exports2, module2) {
"use strict";
function reusify(Constructor) {
var head2 = new Constructor();
var tail2 = head2;
function get2() {
var current = head2;
if (current.next) {
head2 = current.next;
} else {
head2 = new Constructor();
tail2 = head2;
}
current.next = null;
return current;
}
function release(obj) {
tail2.next = obj;
tail2 = obj;
}
return {
get: get2,
release
};
}
module2.exports = reusify;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fastq/1.20.1/e556497869ec3893fd89b8e14a079864c1ae527d27c9ccec81f767b12c4cacdd/node_modules/fastq/queue.js
var require_queue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fastq/1.20.1/e556497869ec3893fd89b8e14a079864c1ae527d27c9ccec81f767b12c4cacdd/node_modules/fastq/queue.js"(exports2, module2) {
"use strict";
var reusify = require_reusify();
function fastqueue(context, worker, _concurrency) {
if (typeof context === "function") {
_concurrency = worker;
worker = context;
context = null;
}
if (!(_concurrency >= 1)) {
throw new Error("fastqueue concurrency must be equal to or greater than 1");
}
var cache = reusify(Task);
var queueHead = null;
var queueTail = null;
var _running = 0;
var errorHandler2 = null;
var self2 = {
push,
drain: noop5,
saturated: noop5,
pause,
paused: false,
get concurrency() {
return _concurrency;
},
set concurrency(value) {
if (!(value >= 1)) {
throw new Error("fastqueue concurrency must be equal to or greater than 1");
}
_concurrency = value;
if (self2.paused) return;
for (; queueHead && _running < _concurrency; ) {
_running++;
release();
}
},
running: running3,
resume,
idle,
length,
getQueue,
unshift,
empty: noop5,
kill,
killAndDrain,
error,
abort
};
return self2;
function running3() {
return _running;
}
function pause() {
self2.paused = true;
}
function length() {
var current = queueHead;
var counter = 0;
while (current) {
current = current.next;
counter++;
}
return counter;
}
function getQueue() {
var current = queueHead;
var tasks = [];
while (current) {
tasks.push(current.value);
current = current.next;
}
return tasks;
}
function resume() {
if (!self2.paused) return;
self2.paused = false;
if (queueHead === null) {
_running++;
release();
return;
}
for (; queueHead && _running < _concurrency; ) {
_running++;
release();
}
}
function idle() {
return _running === 0 && self2.length() === 0;
}
function push(value, done) {
var current = cache.get();
current.context = context;
current.release = release;
current.value = value;
current.callback = done || noop5;
current.errorHandler = errorHandler2;
if (_running >= _concurrency || self2.paused) {
if (queueTail) {
queueTail.next = current;
queueTail = current;
} else {
queueHead = current;
queueTail = current;
self2.saturated();
}
} else {
_running++;
worker.call(context, current.value, current.worked);
}
}
function unshift(value, done) {
var current = cache.get();
current.context = context;
current.release = release;
current.value = value;
current.callback = done || noop5;
current.errorHandler = errorHandler2;
if (_running >= _concurrency || self2.paused) {
if (queueHead) {
current.next = queueHead;
queueHead = current;
} else {
queueHead = current;
queueTail = current;
self2.saturated();
}
} else {
_running++;
worker.call(context, current.value, current.worked);
}
}
function release(holder) {
if (holder) {
cache.release(holder);
}
var next2 = queueHead;
if (next2 && _running <= _concurrency) {
if (!self2.paused) {
if (queueTail === queueHead) {
queueTail = null;
}
queueHead = next2.next;
next2.next = null;
worker.call(context, next2.value, next2.worked);
if (queueTail === null) {
self2.empty();
}
} else {
_running--;
}
} else if (--_running === 0) {
self2.drain();
}
}
function kill() {
queueHead = null;
queueTail = null;
self2.drain = noop5;
}
function killAndDrain() {
queueHead = null;
queueTail = null;
self2.drain();
self2.drain = noop5;
}
function abort() {
var current = queueHead;
queueHead = null;
queueTail = null;
while (current) {
var next2 = current.next;
var callback2 = current.callback;
var errorHandler3 = current.errorHandler;
var val = current.value;
var context2 = current.context;
current.value = null;
current.callback = noop5;
current.errorHandler = null;
if (errorHandler3) {
errorHandler3(new Error("abort"), val);
}
callback2.call(context2, new Error("abort"));
current.release(current);
current = next2;
}
self2.drain = noop5;
}
function error(handler82) {
errorHandler2 = handler82;
}
}
function noop5() {
}
function Task() {
this.value = null;
this.callback = noop5;
this.next = null;
this.release = noop5;
this.context = null;
this.errorHandler = null;
var self2 = this;
this.worked = function worked(err2, result2) {
var callback2 = self2.callback;
var errorHandler2 = self2.errorHandler;
var val = self2.value;
self2.value = null;
self2.callback = noop5;
if (self2.errorHandler) {
errorHandler2(err2, val);
}
callback2.call(self2.context, err2, result2);
self2.release(self2);
};
}
function queueAsPromised(context, worker, _concurrency) {
if (typeof context === "function") {
_concurrency = worker;
worker = context;
context = null;
}
function asyncWrapper(arg, cb) {
worker.call(this, arg).then(function(res) {
cb(null, res);
}, cb);
}
var queue2 = fastqueue(context, asyncWrapper, _concurrency);
var pushCb = queue2.push;
var unshiftCb = queue2.unshift;
queue2.push = push;
queue2.unshift = unshift;
queue2.drained = drained;
return queue2;
function push(value) {
var p = new Promise(function(resolve4, reject3) {
pushCb(value, function(err2, result2) {
if (err2) {
reject3(err2);
return;
}
resolve4(result2);
});
});
p.catch(noop5);
return p;
}
function unshift(value) {
var p = new Promise(function(resolve4, reject3) {
unshiftCb(value, function(err2, result2) {
if (err2) {
reject3(err2);
return;
}
resolve4(result2);
});
});
p.catch(noop5);
return p;
}
function drained() {
var p = new Promise(function(resolve4) {
process.nextTick(function() {
if (queue2.idle()) {
resolve4();
} else {
var previousDrain = queue2.drain;
queue2.drain = function() {
if (typeof previousDrain === "function") previousDrain();
resolve4();
queue2.drain = previousDrain;
};
}
});
});
return p;
}
}
module2.exports = fastqueue;
module2.exports.promise = queueAsPromised;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/common.js
var require_common3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0;
function isFatalError(settings, error) {
if (settings.errorFilter === null) {
return true;
}
return !settings.errorFilter(error);
}
exports2.isFatalError = isFatalError;
function isAppliedFilter(filter14, value) {
return filter14 === null || filter14(value);
}
exports2.isAppliedFilter = isAppliedFilter;
function replacePathSegmentSeparator(filepath, separator) {
return filepath.split(/[/\\]/).join(separator);
}
exports2.replacePathSegmentSeparator = replacePathSegmentSeparator;
function joinPathSegments(a2, b, separator) {
if (a2 === "") {
return b;
}
if (a2.endsWith(separator)) {
return a2 + b;
}
return a2 + separator + b;
}
exports2.joinPathSegments = joinPathSegments;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/reader.js
var require_reader = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var common4 = require_common3();
var Reader2 = class {
constructor(_root, _settings) {
this._root = _root;
this._settings = _settings;
this._root = common4.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
}
};
exports2.default = Reader2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/async.js
var require_async3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var events_1 = __require("events");
var fsScandir = require_out2();
var fastq = require_queue();
var common4 = require_common3();
var reader_1 = require_reader();
var AsyncReader = class extends reader_1.default {
constructor(_root, _settings) {
super(_root, _settings);
this._settings = _settings;
this._scandir = fsScandir.scandir;
this._emitter = new events_1.EventEmitter();
this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
this._isFatalError = false;
this._isDestroyed = false;
this._queue.drain = () => {
if (!this._isFatalError) {
this._emitter.emit("end");
}
};
}
read() {
this._isFatalError = false;
this._isDestroyed = false;
setImmediate(() => {
this._pushToQueue(this._root, this._settings.basePath);
});
return this._emitter;
}
get isDestroyed() {
return this._isDestroyed;
}
destroy() {
if (this._isDestroyed) {
throw new Error("The reader is already destroyed");
}
this._isDestroyed = true;
this._queue.killAndDrain();
}
onEntry(callback2) {
this._emitter.on("entry", callback2);
}
onError(callback2) {
this._emitter.once("error", callback2);
}
onEnd(callback2) {
this._emitter.once("end", callback2);
}
_pushToQueue(directory, base) {
const queueItem = { directory, base };
this._queue.push(queueItem, (error) => {
if (error !== null) {
this._handleError(error);
}
});
}
_worker(item, done) {
this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
if (error !== null) {
done(error, void 0);
return;
}
for (const entry of entries) {
this._handleEntry(entry, item.base);
}
done(null, void 0);
});
}
_handleError(error) {
if (this._isDestroyed || !common4.isFatalError(this._settings, error)) {
return;
}
this._isFatalError = true;
this._isDestroyed = true;
this._emitter.emit("error", error);
}
_handleEntry(entry, base) {
if (this._isDestroyed || this._isFatalError) {
return;
}
const fullpath = entry.path;
if (base !== void 0) {
entry.path = common4.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
}
if (common4.isAppliedFilter(this._settings.entryFilter, entry)) {
this._emitEntry(entry);
}
if (entry.dirent.isDirectory() && common4.isAppliedFilter(this._settings.deepFilter, entry)) {
this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
}
}
_emitEntry(entry) {
this._emitter.emit("entry", entry);
}
};
exports2.default = AsyncReader;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/async.js
var require_async4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var async_1 = require_async3();
var AsyncProvider = class {
constructor(_root, _settings) {
this._root = _root;
this._settings = _settings;
this._reader = new async_1.default(this._root, this._settings);
this._storage = [];
}
read(callback2) {
this._reader.onError((error) => {
callFailureCallback(callback2, error);
});
this._reader.onEntry((entry) => {
this._storage.push(entry);
});
this._reader.onEnd(() => {
callSuccessCallback(callback2, this._storage);
});
this._reader.read();
}
};
exports2.default = AsyncProvider;
function callFailureCallback(callback2, error) {
callback2(error);
}
function callSuccessCallback(callback2, entries) {
callback2(null, entries);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/stream.js
var require_stream2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var stream_12 = __require("stream");
var async_1 = require_async3();
var StreamProvider = class {
constructor(_root, _settings) {
this._root = _root;
this._settings = _settings;
this._reader = new async_1.default(this._root, this._settings);
this._stream = new stream_12.Readable({
objectMode: true,
read: () => {
},
destroy: () => {
if (!this._reader.isDestroyed) {
this._reader.destroy();
}
}
});
}
read() {
this._reader.onError((error) => {
this._stream.emit("error", error);
});
this._reader.onEntry((entry) => {
this._stream.push(entry);
});
this._reader.onEnd(() => {
this._stream.push(null);
});
this._reader.read();
return this._stream;
}
};
exports2.default = StreamProvider;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/sync.js
var require_sync3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fsScandir = require_out2();
var common4 = require_common3();
var reader_1 = require_reader();
var SyncReader = class extends reader_1.default {
constructor() {
super(...arguments);
this._scandir = fsScandir.scandirSync;
this._storage = [];
this._queue = /* @__PURE__ */ new Set();
}
read() {
this._pushToQueue(this._root, this._settings.basePath);
this._handleQueue();
return this._storage;
}
_pushToQueue(directory, base) {
this._queue.add({ directory, base });
}
_handleQueue() {
for (const item of this._queue.values()) {
this._handleDirectory(item.directory, item.base);
}
}
_handleDirectory(directory, base) {
try {
const entries = this._scandir(directory, this._settings.fsScandirSettings);
for (const entry of entries) {
this._handleEntry(entry, base);
}
} catch (error) {
this._handleError(error);
}
}
_handleError(error) {
if (!common4.isFatalError(this._settings, error)) {
return;
}
throw error;
}
_handleEntry(entry, base) {
const fullpath = entry.path;
if (base !== void 0) {
entry.path = common4.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
}
if (common4.isAppliedFilter(this._settings.entryFilter, entry)) {
this._pushToStorage(entry);
}
if (entry.dirent.isDirectory() && common4.isAppliedFilter(this._settings.deepFilter, entry)) {
this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
}
}
_pushToStorage(entry) {
this._storage.push(entry);
}
};
exports2.default = SyncReader;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/sync.js
var require_sync4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var sync_1 = require_sync3();
var SyncProvider = class {
constructor(_root, _settings) {
this._root = _root;
this._settings = _settings;
this._reader = new sync_1.default(this._root, this._settings);
}
read() {
return this._reader.read();
}
};
exports2.default = SyncProvider;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/settings.js
var require_settings3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/settings.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var path236 = __require("path");
var fsScandir = require_out2();
var Settings = class {
constructor(_options = {}) {
this._options = _options;
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, path236.sep);
this.fsScandirSettings = new fsScandir.Settings({
followSymbolicLinks: this._options.followSymbolicLinks,
fs: this._options.fs,
pathSegmentSeparator: this._options.pathSegmentSeparator,
stats: this._options.stats,
throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
});
}
_getValue(option, value) {
return option !== null && option !== void 0 ? option : value;
}
};
exports2.default = Settings;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/index.js
var require_out3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@nodelib/fs.walk/1.2.8/b1d6c9ee0eed3cb108f73a2593634a23c7b72fdd7d0c348ec6eedca2d5c75d23/node_modules/@nodelib/fs.walk/out/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0;
var async_1 = require_async4();
var stream_12 = require_stream2();
var sync_1 = require_sync4();
var settings_1 = require_settings3();
exports2.Settings = settings_1.default;
function walk(directory, optionsOrSettingsOrCallback, callback2) {
if (typeof optionsOrSettingsOrCallback === "function") {
new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
return;
}
new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback2);
}
exports2.walk = walk;
function walkSync2(directory, optionsOrSettings) {
const settings = getSettings(optionsOrSettings);
const provider = new sync_1.default(directory, settings);
return provider.read();
}
exports2.walkSync = walkSync2;
function walkStream(directory, optionsOrSettings) {
const settings = getSettings(optionsOrSettings);
const provider = new stream_12.default(directory, settings);
return provider.read();
}
exports2.walkStream = walkStream;
function getSettings(settingsOrOptions = {}) {
if (settingsOrOptions instanceof settings_1.default) {
return settingsOrOptions;
}
return new settings_1.default(settingsOrOptions);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/reader.js
var require_reader2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/reader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var path236 = __require("path");
var fsStat = require_out();
var utils = require_utils4();
var Reader2 = class {
constructor(_settings) {
this._settings = _settings;
this._fsStatSettings = new fsStat.Settings({
followSymbolicLink: this._settings.followSymbolicLinks,
fs: this._settings.fs,
throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
});
}
_getFullEntryPath(filepath) {
return path236.resolve(this._settings.cwd, filepath);
}
_makeEntry(stats, pattern) {
const entry = {
name: pattern,
path: pattern,
dirent: utils.fs.createDirentFromStats(pattern, stats)
};
if (this._settings.stats) {
entry.stats = stats;
}
return entry;
}
_isFatalError(error) {
return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
}
};
exports2.default = Reader2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/stream.js
var require_stream3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/stream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var stream_12 = __require("stream");
var fsStat = require_out();
var fsWalk = require_out3();
var reader_1 = require_reader2();
var ReaderStream = class extends reader_1.default {
constructor() {
super(...arguments);
this._walkStream = fsWalk.walkStream;
this._stat = fsStat.stat;
}
dynamic(root, options) {
return this._walkStream(root, options);
}
static(patterns, options) {
const filepaths = patterns.map(this._getFullEntryPath, this);
const stream2 = new stream_12.PassThrough({ objectMode: true });
stream2._write = (index2, _enc, done) => {
return this._getEntry(filepaths[index2], patterns[index2], options).then((entry) => {
if (entry !== null && options.entryFilter(entry)) {
stream2.push(entry);
}
if (index2 === filepaths.length - 1) {
stream2.end();
}
done();
}).catch(done);
};
for (let i4 = 0; i4 < filepaths.length; i4++) {
stream2.write(i4);
}
return stream2;
}
_getEntry(filepath, pattern, options) {
return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => {
if (options.errorFilter(error)) {
return null;
}
throw error;
});
}
_getStat(filepath) {
return new Promise((resolve4, reject3) => {
this._stat(filepath, this._fsStatSettings, (error, stats) => {
return error === null ? resolve4(stats) : reject3(error);
});
});
}
};
exports2.default = ReaderStream;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/async.js
var require_async5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fsWalk = require_out3();
var reader_1 = require_reader2();
var stream_12 = require_stream3();
var ReaderAsync = class extends reader_1.default {
constructor() {
super(...arguments);
this._walkAsync = fsWalk.walk;
this._readerStream = new stream_12.default(this._settings);
}
dynamic(root, options) {
return new Promise((resolve4, reject3) => {
this._walkAsync(root, options, (error, entries) => {
if (error === null) {
resolve4(entries);
} else {
reject3(error);
}
});
});
}
async static(patterns, options) {
const entries = [];
const stream2 = this._readerStream.static(patterns, options);
return new Promise((resolve4, reject3) => {
stream2.once("error", reject3);
stream2.on("data", (entry) => entries.push(entry));
stream2.once("end", () => resolve4(entries));
});
}
};
exports2.default = ReaderAsync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/matchers/matcher.js
var require_matcher = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils4();
var Matcher = class {
constructor(_patterns, _settings, _micromatchOptions) {
this._patterns = _patterns;
this._settings = _settings;
this._micromatchOptions = _micromatchOptions;
this._storage = [];
this._fillStorage();
}
_fillStorage() {
for (const pattern of this._patterns) {
const segments = this._getPatternSegments(pattern);
const sections = this._splitSegmentsIntoSections(segments);
this._storage.push({
complete: sections.length <= 1,
pattern,
segments,
sections
});
}
}
_getPatternSegments(pattern) {
const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
return parts.map((part) => {
const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
if (!dynamic) {
return {
dynamic: false,
pattern: part
};
}
return {
dynamic: true,
pattern: part,
patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
};
});
}
_splitSegmentsIntoSections(segments) {
return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
}
};
exports2.default = Matcher;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/matchers/partial.js
var require_partial = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var matcher_1 = require_matcher();
var PartialMatcher = class extends matcher_1.default {
match(filepath) {
const parts = filepath.split("/");
const levels = parts.length;
const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
for (const pattern of patterns) {
const section = pattern.sections[0];
if (!pattern.complete && levels > section.length) {
return true;
}
const match = parts.every((part, index2) => {
const segment = pattern.segments[index2];
if (segment.dynamic && segment.patternRe.test(part)) {
return true;
}
if (!segment.dynamic && segment.pattern === part) {
return true;
}
return false;
});
if (match) {
return true;
}
}
return false;
}
};
exports2.default = PartialMatcher;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/deep.js
var require_deep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/deep.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils4();
var partial_1 = require_partial();
var DeepFilter = class {
constructor(_settings, _micromatchOptions) {
this._settings = _settings;
this._micromatchOptions = _micromatchOptions;
}
getFilter(basePath, positive, negative) {
const matcher = this._getMatcher(positive);
const negativeRe = this._getNegativePatternsRe(negative);
return (entry) => this._filter(basePath, entry, matcher, negativeRe);
}
_getMatcher(patterns) {
return new partial_1.default(patterns, this._settings, this._micromatchOptions);
}
_getNegativePatternsRe(patterns) {
const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
}
_filter(basePath, entry, matcher, negativeRe) {
if (this._isSkippedByDeep(basePath, entry.path)) {
return false;
}
if (this._isSkippedSymbolicLink(entry)) {
return false;
}
const filepath = utils.path.removeLeadingDotSegment(entry.path);
if (this._isSkippedByPositivePatterns(filepath, matcher)) {
return false;
}
return this._isSkippedByNegativePatterns(filepath, negativeRe);
}
_isSkippedByDeep(basePath, entryPath) {
if (this._settings.deep === Infinity) {
return false;
}
return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
}
_getEntryLevel(basePath, entryPath) {
const entryPathDepth = entryPath.split("/").length;
if (basePath === "") {
return entryPathDepth;
}
const basePathDepth = basePath.split("/").length;
return entryPathDepth - basePathDepth;
}
_isSkippedSymbolicLink(entry) {
return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
}
_isSkippedByPositivePatterns(entryPath, matcher) {
return !this._settings.baseNameMatch && !matcher.match(entryPath);
}
_isSkippedByNegativePatterns(entryPath, patternsRe) {
return !utils.pattern.matchAny(entryPath, patternsRe);
}
};
exports2.default = DeepFilter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/entry.js
var require_entry2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/entry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils4();
var EntryFilter = class {
constructor(_settings, _micromatchOptions) {
this._settings = _settings;
this._micromatchOptions = _micromatchOptions;
this.index = /* @__PURE__ */ new Map();
}
getFilter(positive, negative) {
const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative);
const patterns = {
positive: {
all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions)
},
negative: {
absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })),
relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }))
}
};
return (entry) => this._filter(entry, patterns);
}
_filter(entry, patterns) {
const filepath = utils.path.removeLeadingDotSegment(entry.path);
if (this._settings.unique && this._isDuplicateEntry(filepath)) {
return false;
}
if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
return false;
}
const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory());
if (this._settings.unique && isMatched) {
this._createIndexRecord(filepath);
}
return isMatched;
}
_isDuplicateEntry(filepath) {
return this.index.has(filepath);
}
_createIndexRecord(filepath) {
this.index.set(filepath, void 0);
}
_onlyFileFilter(entry) {
return this._settings.onlyFiles && !entry.dirent.isFile();
}
_onlyDirectoryFilter(entry) {
return this._settings.onlyDirectories && !entry.dirent.isDirectory();
}
_isMatchToPatternsSet(filepath, patterns, isDirectory) {
const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory);
if (!isMatched) {
return false;
}
const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory);
if (isMatchedByRelativeNegative) {
return false;
}
const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory);
if (isMatchedByAbsoluteNegative) {
return false;
}
return true;
}
_isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory) {
if (patternsRe.length === 0) {
return false;
}
const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath);
return this._isMatchToPatterns(fullpath, patternsRe, isDirectory);
}
_isMatchToPatterns(filepath, patternsRe, isDirectory) {
if (patternsRe.length === 0) {
return false;
}
const isMatched = utils.pattern.matchAny(filepath, patternsRe);
if (!isMatched && isDirectory) {
return utils.pattern.matchAny(filepath + "/", patternsRe);
}
return isMatched;
}
};
exports2.default = EntryFilter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/error.js
var require_error = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/filters/error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils4();
var ErrorFilter = class {
constructor(_settings) {
this._settings = _settings;
}
getFilter() {
return (error) => this._isNonFatalError(error);
}
_isNonFatalError(error) {
return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
}
};
exports2.default = ErrorFilter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/transformers/entry.js
var require_entry3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils = require_utils4();
var EntryTransformer = class {
constructor(_settings) {
this._settings = _settings;
}
getTransformer() {
return (entry) => this._transform(entry);
}
_transform(entry) {
let filepath = entry.path;
if (this._settings.absolute) {
filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
filepath = utils.path.unixify(filepath);
}
if (this._settings.markDirectories && entry.dirent.isDirectory()) {
filepath += "/";
}
if (!this._settings.objectMode) {
return filepath;
}
return Object.assign(Object.assign({}, entry), { path: filepath });
}
};
exports2.default = EntryTransformer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/provider.js
var require_provider = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/provider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var path236 = __require("path");
var deep_1 = require_deep();
var entry_1 = require_entry2();
var error_1 = require_error();
var entry_2 = require_entry3();
var Provider = class {
constructor(_settings) {
this._settings = _settings;
this.errorFilter = new error_1.default(this._settings);
this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
this.entryTransformer = new entry_2.default(this._settings);
}
_getRootDirectory(task) {
return path236.resolve(this._settings.cwd, task.base);
}
_getReaderOptions(task) {
const basePath = task.base === "." ? "" : task.base;
return {
basePath,
pathSegmentSeparator: "/",
concurrency: this._settings.concurrency,
deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
entryFilter: this.entryFilter.getFilter(task.positive, task.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: true,
strictSlashes: false
};
}
};
exports2.default = Provider;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/async.js
var require_async6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/async.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var async_1 = require_async5();
var provider_1 = require_provider();
var ProviderAsync = class extends provider_1.default {
constructor() {
super(...arguments);
this._reader = new async_1.default(this._settings);
}
async read(task) {
const root = this._getRootDirectory(task);
const options = this._getReaderOptions(task);
const entries = await this.api(root, task, options);
return entries.map((entry) => options.transform(entry));
}
api(root, task, options) {
if (task.dynamic) {
return this._reader.dynamic(root, options);
}
return this._reader.static(task.patterns, options);
}
};
exports2.default = ProviderAsync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/stream.js
var require_stream4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/stream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var stream_12 = __require("stream");
var stream_2 = require_stream3();
var provider_1 = require_provider();
var ProviderStream = class extends provider_1.default {
constructor() {
super(...arguments);
this._reader = new stream_2.default(this._settings);
}
read(task) {
const root = this._getRootDirectory(task);
const options = this._getReaderOptions(task);
const source = this.api(root, task, options);
const destination = new stream_12.Readable({ objectMode: true, read: () => {
} });
source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end"));
destination.once("close", () => source.destroy());
return destination;
}
api(root, task, options) {
if (task.dynamic) {
return this._reader.dynamic(root, options);
}
return this._reader.static(task.patterns, options);
}
};
exports2.default = ProviderStream;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/sync.js
var require_sync5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/readers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fsStat = require_out();
var fsWalk = require_out3();
var reader_1 = require_reader2();
var ReaderSync = class extends reader_1.default {
constructor() {
super(...arguments);
this._walkSync = fsWalk.walkSync;
this._statSync = fsStat.statSync;
}
dynamic(root, options) {
return this._walkSync(root, options);
}
static(patterns, options) {
const entries = [];
for (const pattern of patterns) {
const filepath = this._getFullEntryPath(pattern);
const entry = this._getEntry(filepath, pattern, options);
if (entry === null || !options.entryFilter(entry)) {
continue;
}
entries.push(entry);
}
return entries;
}
_getEntry(filepath, pattern, options) {
try {
const stats = this._getStat(filepath);
return this._makeEntry(stats, pattern);
} catch (error) {
if (options.errorFilter(error)) {
return null;
}
throw error;
}
}
_getStat(filepath) {
return this._statSync(filepath, this._fsStatSettings);
}
};
exports2.default = ReaderSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/sync.js
var require_sync6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/providers/sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var sync_1 = require_sync5();
var provider_1 = require_provider();
var ProviderSync = class extends provider_1.default {
constructor() {
super(...arguments);
this._reader = new sync_1.default(this._settings);
}
read(task) {
const root = this._getRootDirectory(task);
const options = this._getReaderOptions(task);
const entries = this.api(root, task, options);
return entries.map(options.transform);
}
api(root, task, options) {
if (task.dynamic) {
return this._reader.dynamic(root, options);
}
return this._reader.static(task.patterns, options);
}
};
exports2.default = ProviderSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/settings.js
var require_settings4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/settings.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
var fs126 = __require("fs");
var os17 = __require("os");
var CPU_COUNT = Math.max(os17.cpus().length, 1);
exports2.DEFAULT_FILE_SYSTEM_ADAPTER = {
lstat: fs126.lstat,
lstatSync: fs126.lstatSync,
stat: fs126.stat,
statSync: fs126.statSync,
readdir: fs126.readdir,
readdirSync: fs126.readdirSync
};
var Settings = class {
constructor(_options = {}) {
this._options = _options;
this.absolute = this._getValue(this._options.absolute, false);
this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
this.braceExpansion = this._getValue(this._options.braceExpansion, true);
this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
this.cwd = this._getValue(this._options.cwd, process.cwd());
this.deep = this._getValue(this._options.deep, Infinity);
this.dot = this._getValue(this._options.dot, false);
this.extglob = this._getValue(this._options.extglob, true);
this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
this.fs = this._getFileSystemMethods(this._options.fs);
this.globstar = this._getValue(this._options.globstar, true);
this.ignore = this._getValue(this._options.ignore, []);
this.markDirectories = this._getValue(this._options.markDirectories, false);
this.objectMode = this._getValue(this._options.objectMode, false);
this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
this.onlyFiles = this._getValue(this._options.onlyFiles, true);
this.stats = this._getValue(this._options.stats, false);
this.suppressErrors = this._getValue(this._options.suppressErrors, false);
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
this.unique = this._getValue(this._options.unique, true);
if (this.onlyDirectories) {
this.onlyFiles = false;
}
if (this.stats) {
this.objectMode = true;
}
this.ignore = [].concat(this.ignore);
}
_getValue(option, value) {
return option === void 0 ? value : option;
}
_getFileSystemMethods(methods = {}) {
return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
}
};
exports2.default = Settings;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/index.js
var require_out4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-glob/3.3.3/7bbd1b783b00572e63a4e2dde3f7c12481cea32e4ffd96728b8dcfb8c83bd443/node_modules/fast-glob/out/index.js"(exports2, module2) {
"use strict";
var taskManager = require_tasks();
var async_1 = require_async6();
var stream_12 = require_stream4();
var sync_1 = require_sync6();
var settings_1 = require_settings4();
var utils = require_utils4();
async function FastGlob(source, options) {
assertPatternsInput(source);
const works = getWorks(source, async_1.default, options);
const result2 = await Promise.all(works);
return utils.array.flatten(result2);
}
(function(FastGlob2) {
FastGlob2.glob = FastGlob2;
FastGlob2.globSync = sync3;
FastGlob2.globStream = stream2;
FastGlob2.async = FastGlob2;
function sync3(source, options) {
assertPatternsInput(source);
const works = getWorks(source, sync_1.default, options);
return utils.array.flatten(works);
}
FastGlob2.sync = sync3;
function stream2(source, options) {
assertPatternsInput(source);
const works = getWorks(source, stream_12.default, options);
return utils.stream.merge(works);
}
FastGlob2.stream = stream2;
function generateTasks(source, options) {
assertPatternsInput(source);
const patterns = [].concat(source);
const settings = new settings_1.default(options);
return taskManager.generate(patterns, settings);
}
FastGlob2.generateTasks = generateTasks;
function isDynamicPattern2(source, options) {
assertPatternsInput(source);
const settings = new settings_1.default(options);
return utils.pattern.isDynamicPattern(source, settings);
}
FastGlob2.isDynamicPattern = isDynamicPattern2;
function escapePath2(source) {
assertPatternsInput(source);
return utils.path.escape(source);
}
FastGlob2.escapePath = escapePath2;
function convertPathToPattern(source) {
assertPatternsInput(source);
return utils.path.convertPathToPattern(source);
}
FastGlob2.convertPathToPattern = convertPathToPattern;
let posix2;
(function(posix3) {
function escapePath3(source) {
assertPatternsInput(source);
return utils.path.escapePosixPath(source);
}
posix3.escapePath = escapePath3;
function convertPathToPattern2(source) {
assertPatternsInput(source);
return utils.path.convertPosixPathToPattern(source);
}
posix3.convertPathToPattern = convertPathToPattern2;
})(posix2 = FastGlob2.posix || (FastGlob2.posix = {}));
let win32;
(function(win322) {
function escapePath3(source) {
assertPatternsInput(source);
return utils.path.escapeWindowsPath(source);
}
win322.escapePath = escapePath3;
function convertPathToPattern2(source) {
assertPatternsInput(source);
return utils.path.convertWindowsPathToPattern(source);
}
win322.convertPathToPattern = convertPathToPattern2;
})(win32 = FastGlob2.win32 || (FastGlob2.win32 = {}));
})(FastGlob || (FastGlob = {}));
function getWorks(source, _Provider, options) {
const patterns = [].concat(source);
const settings = new settings_1.default(options);
const tasks = taskManager.generate(patterns, settings);
const provider = new _Provider(settings);
return tasks.map(provider.read, provider);
}
function assertPatternsInput(input) {
const source = [].concat(input);
const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
if (!isValidSource) {
throw new TypeError("Patterns must be a string (non empty) or an array of strings");
}
}
module2.exports = FastGlob;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/globUtils.js
var require_globUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/globUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isBraceExpansion = exports2.match = exports2.isGlobPattern = exports2.fastGlobOptions = exports2.micromatchOptions = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fslib_12 = require_lib2();
var fast_glob_1 = tslib_12.__importDefault(require_out4());
var fs_1 = tslib_12.__importDefault(__require("fs"));
var micromatch_12 = tslib_12.__importDefault(require_micromatch());
exports2.micromatchOptions = {
// This is required because we don't want ")/*" to be a valid shell glob pattern.
strictBrackets: true
};
exports2.fastGlobOptions = {
onlyDirectories: false,
onlyFiles: false
};
function isGlobPattern(pattern) {
if (!micromatch_12.default.scan(pattern, exports2.micromatchOptions).isGlob)
return false;
try {
micromatch_12.default.parse(pattern, exports2.micromatchOptions);
} catch {
return false;
}
return true;
}
exports2.isGlobPattern = isGlobPattern;
function match(pattern, { cwd, baseFs }) {
return (0, fast_glob_1.default)(pattern, {
...exports2.fastGlobOptions,
cwd: fslib_12.npath.fromPortablePath(cwd),
fs: (0, fslib_12.extendFs)(fs_1.default, new fslib_12.PosixFS(baseFs))
});
}
exports2.match = match;
function isBraceExpansion(pattern) {
return micromatch_12.default.scan(pattern, exports2.micromatchOptions).isBrace;
}
exports2.isBraceExpansion = isBraceExpansion;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/windows.js
var require_windows = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/windows.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync3;
var fs126 = __require("fs");
function checkPathExt(path236, options) {
var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
if (!pathext) {
return true;
}
pathext = pathext.split(";");
if (pathext.indexOf("") !== -1) {
return true;
}
for (var i4 = 0; i4 < pathext.length; i4++) {
var p = pathext[i4].toLowerCase();
if (p && path236.substr(-p.length).toLowerCase() === p) {
return true;
}
}
return false;
}
function checkStat(stat2, path236, options) {
if (!stat2.isSymbolicLink() && !stat2.isFile()) {
return false;
}
return checkPathExt(path236, options);
}
function isexe(path236, options, cb) {
fs126.stat(path236, function(er, stat2) {
cb(er, er ? false : checkStat(stat2, path236, options));
});
}
function sync3(path236, options) {
return checkStat(fs126.statSync(path236), path236, options);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/mode.js
var require_mode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/mode.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync3;
var fs126 = __require("fs");
function isexe(path236, options, cb) {
fs126.stat(path236, function(er, stat2) {
cb(er, er ? false : checkStat(stat2, options));
});
}
function sync3(path236, options) {
return checkStat(fs126.statSync(path236), options);
}
function checkStat(stat2, options) {
return stat2.isFile() && checkMode(stat2, options);
}
function checkMode(stat2, options) {
var mod2 = stat2.mode;
var uid = stat2.uid;
var gid = stat2.gid;
var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
var u2 = parseInt("100", 8);
var g = parseInt("010", 8);
var o2 = parseInt("001", 8);
var ug = u2 | g;
var ret2 = mod2 & o2 || mod2 & g && gid === myGid || mod2 & u2 && uid === myUid || mod2 & ug && myUid === 0;
return ret2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/index.js
var require_isexe = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/2.0.0/b49cd413d57d8ea430128de708f0af2b808f841b338175c75fae74b70a296b56/node_modules/isexe/index.js"(exports2, module2) {
var fs126 = __require("fs");
var core2;
if (process.platform === "win32" || global.TESTING_WINDOWS) {
core2 = require_windows();
} else {
core2 = require_mode();
}
module2.exports = isexe;
isexe.sync = sync3;
function isexe(path236, options, cb) {
if (typeof options === "function") {
cb = options;
options = {};
}
if (!cb) {
if (typeof Promise !== "function") {
throw new TypeError("callback not provided");
}
return new Promise(function(resolve4, reject3) {
isexe(path236, options || {}, function(er, is) {
if (er) {
reject3(er);
} else {
resolve4(is);
}
});
});
}
core2(path236, options || {}, function(er, is) {
if (er) {
if (er.code === "EACCES" || options && options.ignoreErrors) {
er = null;
is = false;
}
}
cb(er, is);
});
}
function sync3(path236, options) {
try {
return core2.sync(path236, options || {});
} catch (er) {
if (options && options.ignoreErrors || er.code === "EACCES") {
return false;
} else {
throw er;
}
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which/2.0.2/552539f3776c3e1eb0a529e767aae6852f3518bf73e532a9552c4d0550928726/node_modules/which/which.js
var require_which = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which/2.0.2/552539f3776c3e1eb0a529e767aae6852f3518bf73e532a9552c4d0550928726/node_modules/which/which.js"(exports2, module2) {
var isWindows15 = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
var path236 = __require("path");
var COLON = isWindows15 ? ";" : ":";
var isexe = require_isexe();
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, opt) => {
const colon = opt.colon || COLON;
const pathEnv = cmd.match(/\//) || isWindows15 && cmd.match(/\\/) ? [""] : [
// windows always checks the cwd first
...isWindows15 ? [process.cwd()] : [],
...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(colon)
];
const pathExtExe = isWindows15 ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
const pathExt = isWindows15 ? pathExtExe.split(colon) : [""];
if (isWindows15) {
if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
pathExt.unshift("");
}
return {
pathEnv,
pathExt,
pathExtExe
};
};
var which4 = (cmd, opt, cb) => {
if (typeof opt === "function") {
cb = opt;
opt = {};
}
if (!opt)
opt = {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
const step2 = (i4) => new Promise((resolve4, reject3) => {
if (i4 === pathEnv.length)
return opt.all && found.length ? resolve4(found) : reject3(getNotFoundError(cmd));
const ppRaw = pathEnv[i4];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path236.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
resolve4(subStep(p, i4, 0));
});
const subStep = (p, i4, ii) => new Promise((resolve4, reject3) => {
if (ii === pathExt.length)
return resolve4(step2(i4 + 1));
const ext = pathExt[ii];
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
if (!er && is) {
if (opt.all)
found.push(p + ext);
else
return resolve4(p + ext);
}
return resolve4(subStep(p, i4, ii + 1));
});
});
return cb ? step2(0).then((res) => cb(null, res), cb) : step2(0);
};
var whichSync = (cmd, opt) => {
opt = opt || {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (let i4 = 0; i4 < pathEnv.length; i4++) {
const ppRaw = pathEnv[i4];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path236.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
for (let j2 = 0; j2 < pathExt.length; j2++) {
const cur = p + pathExt[j2];
try {
const is = isexe.sync(cur, { pathExt: pathExtExe });
if (is) {
if (opt.all)
found.push(cur);
else
return cur;
}
} catch (ex) {
}
}
}
if (opt.all && found.length)
return found;
if (opt.nothrow)
return null;
throw getNotFoundError(cmd);
};
module2.exports = which4;
which4.sync = whichSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-key/3.1.1/4524722710f23d5df14794bb9ac6310753022b2d064db4bf0dc53fac262d1422/node_modules/path-key/index.js
var require_path_key = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-key/3.1.1/4524722710f23d5df14794bb9ac6310753022b2d064db4bf0dc53fac262d1422/node_modules/path-key/index.js"(exports2, module2) {
"use strict";
var pathKey2 = (options = {}) => {
const environment = options.env || process.env;
const platform5 = options.platform || process.platform;
if (platform5 !== "win32") {
return "PATH";
}
return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
};
module2.exports = pathKey2;
module2.exports.default = pathKey2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/resolveCommand.js
var require_resolveCommand = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var which4 = require_which();
var getPathKey = require_path_key();
function resolveCommandAttempt(parsed, withoutPathExt) {
const env3 = parsed.options.env || process.env;
const cwd = process.cwd();
const hasCustomCwd = parsed.options.cwd != null;
const shouldSwitchCwd = hasCustomCwd && process.chdir !== void 0 && !process.chdir.disabled;
if (shouldSwitchCwd) {
try {
process.chdir(parsed.options.cwd);
} catch (err2) {
}
}
let resolved;
try {
resolved = which4.sync(parsed.command, {
path: env3[getPathKey({ env: env3 })],
pathExt: withoutPathExt ? path236.delimiter : void 0
});
} catch (e) {
} finally {
if (shouldSwitchCwd) {
process.chdir(cwd);
}
}
if (resolved) {
resolved = path236.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
}
return resolved;
}
function resolveCommand(parsed) {
return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
}
module2.exports = resolveCommand;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/escape.js
var require_escape = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
"use strict";
var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
function escapeCommand(arg) {
arg = arg.replace(metaCharsRegExp, "^$1");
return arg;
}
function escapeArgument(arg, doubleEscapeMetaChars) {
arg = `${arg}`;
arg = arg.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"');
arg = arg.replace(/(?=(\\+?)?)\1$/, "$1$1");
arg = `"${arg}"`;
arg = arg.replace(metaCharsRegExp, "^$1");
if (doubleEscapeMetaChars) {
arg = arg.replace(metaCharsRegExp, "^$1");
}
return arg;
}
module2.exports.command = escapeCommand;
module2.exports.argument = escapeArgument;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shebang-regex/3.0.0/82f280adff84cf5ccc1900f1505c7b070891bbab0e1a24f2a47fc5cb4551b008/node_modules/shebang-regex/index.js
var require_shebang_regex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shebang-regex/3.0.0/82f280adff84cf5ccc1900f1505c7b070891bbab0e1a24f2a47fc5cb4551b008/node_modules/shebang-regex/index.js"(exports2, module2) {
"use strict";
module2.exports = /^#!(.*)/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shebang-command/2.0.0/8a593e2b41a0b69672623125edc9ec47df5d5edc811fcc6220217417db76e3ce/node_modules/shebang-command/index.js
var require_shebang_command = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shebang-command/2.0.0/8a593e2b41a0b69672623125edc9ec47df5d5edc811fcc6220217417db76e3ce/node_modules/shebang-command/index.js"(exports2, module2) {
"use strict";
var shebangRegex = require_shebang_regex();
module2.exports = (string = "") => {
const match = string.match(shebangRegex);
if (!match) {
return null;
}
const [path236, argument] = match[0].replace(/#! ?/, "").split(" ");
const binary2 = path236.split("/").pop();
if (binary2 === "env") {
return argument;
}
return argument ? `${binary2} ${argument}` : binary2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/readShebang.js
var require_readShebang = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
"use strict";
var fs126 = __require("fs");
var shebangCommand = require_shebang_command();
function readShebang(command) {
const size = 150;
const buffer3 = Buffer.alloc(size);
let fd2;
try {
fd2 = fs126.openSync(command, "r");
fs126.readSync(fd2, buffer3, 0, size, 0);
fs126.closeSync(fd2);
} catch (e) {
}
return shebangCommand(buffer3.toString());
}
module2.exports = readShebang;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/parse.js
var require_parse5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var resolveCommand = require_resolveCommand();
var escape = require_escape();
var readShebang = require_readShebang();
var isWin2 = process.platform === "win32";
var isExecutableRegExp = /\.(?:com|exe)$/i;
var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
function detectShebang(parsed) {
parsed.file = resolveCommand(parsed);
const shebang = parsed.file && readShebang(parsed.file);
if (shebang) {
parsed.args.unshift(parsed.file);
parsed.command = shebang;
return resolveCommand(parsed);
}
return parsed.file;
}
function parseNonShell(parsed) {
if (!isWin2) {
return parsed;
}
const commandFile = detectShebang(parsed);
const needsShell = !isExecutableRegExp.test(commandFile);
if (parsed.options.forceShell || needsShell) {
const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
parsed.command = path236.normalize(parsed.command);
parsed.command = escape.command(parsed.command);
parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
const shellCommand = [parsed.command].concat(parsed.args).join(" ");
parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
parsed.command = process.env.comspec || "cmd.exe";
parsed.options.windowsVerbatimArguments = true;
}
return parsed;
}
function parse12(command, args, options) {
if (args && !Array.isArray(args)) {
options = args;
args = null;
}
args = args ? args.slice(0) : [];
options = Object.assign({}, options);
const parsed = {
command,
args,
options,
file: void 0,
original: {
command,
args
}
};
return options.shell ? parsed : parseNonShell(parsed);
}
module2.exports = parse12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/enoent.js
var require_enoent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
"use strict";
var isWin2 = process.platform === "win32";
function notFoundError(original, syscall) {
return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
code: "ENOENT",
errno: "ENOENT",
syscall: `${syscall} ${original.command}`,
path: original.command,
spawnargs: original.args
});
}
function hookChildProcess(cp, parsed) {
if (!isWin2) {
return;
}
const originalEmit = cp.emit;
cp.emit = function(name, arg1) {
if (name === "exit") {
const err2 = verifyENOENT(arg1, parsed);
if (err2) {
return originalEmit.call(cp, "error", err2);
}
}
return originalEmit.apply(cp, arguments);
};
}
function verifyENOENT(status, parsed) {
if (isWin2 && status === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawn");
}
return null;
}
function verifyENOENTSync(status, parsed) {
if (isWin2 && status === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawnSync");
}
return null;
}
module2.exports = {
hookChildProcess,
verifyENOENT,
verifyENOENTSync,
notFoundError
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/index.js
var require_cross_spawn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cross-spawn/7.0.6/a0a7b60251bf98d42302e5b6167c5496ce00c1a1aae367d1dcd3d4eca3396349/node_modules/cross-spawn/index.js"(exports2, module2) {
"use strict";
var cp = __require("child_process");
var parse12 = require_parse5();
var enoent = require_enoent();
function spawn7(command, args, options) {
const parsed = parse12(command, args, options);
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
enoent.hookChildProcess(spawned, parsed);
return spawned;
}
function spawnSync4(command, args, options) {
const parsed = parse12(command, args, options);
const result2 = cp.spawnSync(parsed.command, parsed.args, parsed.options);
result2.error = result2.error || enoent.verifyENOENTSync(result2.status, parsed);
return result2;
}
module2.exports = spawn7;
module2.exports.spawn = spawn7;
module2.exports.sync = spawnSync4;
module2.exports._parse = parse12;
module2.exports._enoent = enoent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/pipe.js
var require_pipe = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/pipe.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createOutputStreamsWithPrefix = exports2.start = exports2.Handle = exports2.ProtectedStream = exports2.makeBuiltin = exports2.makeProcess = exports2.Pipe = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var cross_spawn_1 = tslib_12.__importDefault(require_cross_spawn());
var stream_12 = __require("stream");
var string_decoder_1 = __require("string_decoder");
var Pipe;
(function(Pipe2) {
Pipe2[Pipe2["STDIN"] = 0] = "STDIN";
Pipe2[Pipe2["STDOUT"] = 1] = "STDOUT";
Pipe2[Pipe2["STDERR"] = 2] = "STDERR";
})(Pipe || (exports2.Pipe = Pipe = {}));
var activeChildren = /* @__PURE__ */ new Set();
function sigintHandler() {
}
function sigtermHandler() {
for (const child of activeChildren) {
child.kill();
}
}
function makeProcess(name, args, opts3, spawnOpts) {
return (stdio) => {
const stdin = stdio[0] instanceof stream_12.Transform ? `pipe` : stdio[0];
const stdout = stdio[1] instanceof stream_12.Transform ? `pipe` : stdio[1];
const stderr = stdio[2] instanceof stream_12.Transform ? `pipe` : stdio[2];
const child = (0, cross_spawn_1.default)(name, args, { ...spawnOpts, stdio: [
stdin,
stdout,
stderr
] });
activeChildren.add(child);
if (activeChildren.size === 1) {
process.on(`SIGINT`, sigintHandler);
process.on(`SIGTERM`, sigtermHandler);
}
if (stdio[0] instanceof stream_12.Transform)
stdio[0].pipe(child.stdin);
if (stdio[1] instanceof stream_12.Transform)
child.stdout.pipe(stdio[1], { end: false });
if (stdio[2] instanceof stream_12.Transform)
child.stderr.pipe(stdio[2], { end: false });
return {
stdin: child.stdin,
promise: new Promise((resolve4) => {
child.on(`error`, (error) => {
activeChildren.delete(child);
if (activeChildren.size === 0) {
process.off(`SIGINT`, sigintHandler);
process.off(`SIGTERM`, sigtermHandler);
}
switch (error.code) {
case `ENOENT`:
{
stdio[2].write(`command not found: ${name}
`);
resolve4(127);
}
break;
case `EACCES`:
{
stdio[2].write(`permission denied: ${name}
`);
resolve4(128);
}
break;
default:
{
stdio[2].write(`uncaught error: ${error.message}
`);
resolve4(1);
}
break;
}
});
child.on(`close`, (code) => {
activeChildren.delete(child);
if (activeChildren.size === 0) {
process.off(`SIGINT`, sigintHandler);
process.off(`SIGTERM`, sigtermHandler);
}
if (code !== null) {
resolve4(code);
} else {
resolve4(129);
}
});
})
};
};
}
exports2.makeProcess = makeProcess;
function makeBuiltin(builtin) {
return (stdio) => {
const stdin = stdio[0] === `pipe` ? new stream_12.PassThrough() : stdio[0];
return {
stdin,
promise: Promise.resolve().then(() => builtin({
stdin,
stdout: stdio[1],
stderr: stdio[2]
}))
};
};
}
exports2.makeBuiltin = makeBuiltin;
var ProtectedStream = class {
constructor(stream2) {
this.stream = stream2;
}
close() {
}
get() {
return this.stream;
}
};
exports2.ProtectedStream = ProtectedStream;
var PipeStream = class {
constructor() {
this.stream = null;
}
close() {
if (this.stream === null) {
throw new Error(`Assertion failed: No stream attached`);
} else {
this.stream.end();
}
}
attach(stream2) {
this.stream = stream2;
}
get() {
if (this.stream === null) {
throw new Error(`Assertion failed: No stream attached`);
} else {
return this.stream;
}
}
};
var Handle = class _Handle {
static start(implementation, { stdin, stdout, stderr }) {
const chain3 = new _Handle(null, implementation);
chain3.stdin = stdin;
chain3.stdout = stdout;
chain3.stderr = stderr;
return chain3;
}
constructor(ancestor, implementation) {
this.stdin = null;
this.stdout = null;
this.stderr = null;
this.pipe = null;
this.ancestor = ancestor;
this.implementation = implementation;
}
pipeTo(implementation, source = Pipe.STDOUT) {
const next2 = new _Handle(this, implementation);
const pipe3 = new PipeStream();
next2.pipe = pipe3;
next2.stdout = this.stdout;
next2.stderr = this.stderr;
if ((source & Pipe.STDOUT) === Pipe.STDOUT)
this.stdout = pipe3;
else if (this.ancestor !== null)
this.stderr = this.ancestor.stdout;
if ((source & Pipe.STDERR) === Pipe.STDERR)
this.stderr = pipe3;
else if (this.ancestor !== null)
this.stderr = this.ancestor.stderr;
return next2;
}
async exec() {
const stdio = [
`ignore`,
`ignore`,
`ignore`
];
if (this.pipe) {
stdio[0] = `pipe`;
} else {
if (this.stdin === null) {
throw new Error(`Assertion failed: No input stream registered`);
} else {
stdio[0] = this.stdin.get();
}
}
let stdoutLock;
if (this.stdout === null) {
throw new Error(`Assertion failed: No output stream registered`);
} else {
stdoutLock = this.stdout;
stdio[1] = stdoutLock.get();
}
let stderrLock;
if (this.stderr === null) {
throw new Error(`Assertion failed: No error stream registered`);
} else {
stderrLock = this.stderr;
stdio[2] = stderrLock.get();
}
const child = this.implementation(stdio);
if (this.pipe)
this.pipe.attach(child.stdin);
return await child.promise.then((code) => {
stdoutLock.close();
stderrLock.close();
return code;
});
}
async run() {
const promises = [];
for (let handle = this; handle; handle = handle.ancestor)
promises.push(handle.exec());
const exitCodes = await Promise.all(promises);
return exitCodes[0];
}
};
exports2.Handle = Handle;
function start(p, opts3) {
return Handle.start(p, opts3);
}
exports2.start = start;
function createStreamReporter(reportFn, prefix = null) {
const stream2 = new stream_12.PassThrough();
const decoder2 = new string_decoder_1.StringDecoder();
let buffer3 = ``;
stream2.on(`data`, (chunk) => {
let chunkStr = decoder2.write(chunk);
let lineIndex;
do {
lineIndex = chunkStr.indexOf(`
`);
if (lineIndex !== -1) {
const line = buffer3 + chunkStr.substring(0, lineIndex);
chunkStr = chunkStr.substring(lineIndex + 1);
buffer3 = ``;
if (prefix !== null) {
reportFn(`${prefix} ${line}`);
} else {
reportFn(line);
}
}
} while (lineIndex !== -1);
buffer3 += chunkStr;
});
stream2.on(`end`, () => {
const last = decoder2.end();
if (last !== ``) {
if (prefix !== null) {
reportFn(`${prefix} ${last}`);
} else {
reportFn(last);
}
}
});
return stream2;
}
function createOutputStreamsWithPrefix(state, { prefix }) {
return {
stdout: createStreamReporter((text) => state.stdout.write(`${text}
`), state.stdout.isTTY ? prefix : null),
stderr: createStreamReporter((text) => state.stderr.write(`${text}
`), state.stderr.isTTY ? prefix : null)
};
}
exports2.createOutputStreamsWithPrefix = createOutputStreamsWithPrefix;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/index.js
var require_lib5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/shell/4.0.0/e4d3c97bc095084c4a5f406c57a310e03d671ac655e026cb36a0dacdf0a0ad6d/node_modules/@yarnpkg/shell/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.execute = exports2.globUtils = exports2.ShellError = exports2.EntryCommand = void 0;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fslib_12 = require_lib2();
var parsers_1 = require_lib3();
var chalk_1 = tslib_12.__importDefault(require_source());
var os_1 = __require("os");
var stream_12 = __require("stream");
var promises_1 = __require("timers/promises");
var entry_1 = tslib_12.__importDefault(require_entry());
exports2.EntryCommand = entry_1.default;
var errors_1 = require_errors3();
Object.defineProperty(exports2, "ShellError", { enumerable: true, get: function() {
return errors_1.ShellError;
} });
var globUtils = tslib_12.__importStar(require_globUtils());
exports2.globUtils = globUtils;
var pipe_1 = require_pipe();
var pipe_2 = require_pipe();
var StreamType;
(function(StreamType2) {
StreamType2[StreamType2["Readable"] = 1] = "Readable";
StreamType2[StreamType2["Writable"] = 2] = "Writable";
})(StreamType || (StreamType = {}));
function getFileDescriptorStream(fd2, type4, state) {
const stream2 = new stream_12.PassThrough({ autoDestroy: true });
switch (fd2) {
case pipe_2.Pipe.STDIN:
{
if ((type4 & StreamType.Readable) === StreamType.Readable)
state.stdin.pipe(stream2, { end: false });
if ((type4 & StreamType.Writable) === StreamType.Writable && state.stdin instanceof stream_12.Writable) {
stream2.pipe(state.stdin, { end: false });
}
}
break;
case pipe_2.Pipe.STDOUT:
{
if ((type4 & StreamType.Readable) === StreamType.Readable)
state.stdout.pipe(stream2, { end: false });
if ((type4 & StreamType.Writable) === StreamType.Writable) {
stream2.pipe(state.stdout, { end: false });
}
}
break;
case pipe_2.Pipe.STDERR:
{
if ((type4 & StreamType.Readable) === StreamType.Readable)
state.stderr.pipe(stream2, { end: false });
if ((type4 & StreamType.Writable) === StreamType.Writable) {
stream2.pipe(state.stderr, { end: false });
}
}
break;
default: {
throw new errors_1.ShellError(`Bad file descriptor: "${fd2}"`);
}
}
return stream2;
}
function cloneState(state, mergeWith = {}) {
const newState = { ...state, ...mergeWith };
newState.environment = { ...state.environment, ...mergeWith.environment };
newState.variables = { ...state.variables, ...mergeWith.variables };
return newState;
}
var BUILTINS = /* @__PURE__ */ new Map([
[`cd`, async ([target2 = (0, os_1.homedir)(), ...rest], opts3, state) => {
const resolvedTarget = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(target2));
const stat2 = await opts3.baseFs.statPromise(resolvedTarget).catch((error) => {
throw error.code === `ENOENT` ? new errors_1.ShellError(`cd: no such file or directory: ${target2}`) : error;
});
if (!stat2.isDirectory())
throw new errors_1.ShellError(`cd: not a directory: ${target2}`);
state.cwd = resolvedTarget;
return 0;
}],
[`pwd`, async (args, opts3, state) => {
state.stdout.write(`${fslib_12.npath.fromPortablePath(state.cwd)}
`);
return 0;
}],
[`:`, async (args, opts3, state) => {
return 0;
}],
[`true`, async (args, opts3, state) => {
return 0;
}],
[`false`, async (args, opts3, state) => {
return 1;
}],
[`exit`, async ([code, ...rest], opts3, state) => {
return state.exitCode = parseInt(code ?? state.variables[`?`], 10);
}],
[`echo`, async (args, opts3, state) => {
state.stdout.write(`${args.join(` `)}
`);
return 0;
}],
[`sleep`, async ([time], opts3, state) => {
if (typeof time === `undefined`)
throw new errors_1.ShellError(`sleep: missing operand`);
const seconds = Number(time);
if (Number.isNaN(seconds))
throw new errors_1.ShellError(`sleep: invalid time interval '${time}'`);
return await (0, promises_1.setTimeout)(1e3 * seconds, 0);
}],
[`__ysh_run_procedure`, async (args, opts3, state) => {
const procedure = state.procedures[args[0]];
const exitCode = await (0, pipe_2.start)(procedure, {
stdin: new pipe_2.ProtectedStream(state.stdin),
stdout: new pipe_2.ProtectedStream(state.stdout),
stderr: new pipe_2.ProtectedStream(state.stderr)
}).run();
return exitCode;
}],
[`__ysh_set_redirects`, async (args, opts3, state) => {
let stdin = state.stdin;
let stdout = state.stdout;
let stderr = state.stderr;
const inputs = [];
const outputs = [];
const errors2 = [];
let t2 = 0;
while (args[t2] !== `--`) {
const key = args[t2++];
const { type: type4, fd: fd2 } = JSON.parse(key);
const pushInput = (readableFactory) => {
switch (fd2) {
case null:
case 0:
{
inputs.push(readableFactory);
}
break;
default:
throw new Error(`Unsupported file descriptor: "${fd2}"`);
}
};
const pushOutput = (writable2) => {
switch (fd2) {
case null:
case 1:
{
outputs.push(writable2);
}
break;
case 2:
{
errors2.push(writable2);
}
break;
default:
throw new Error(`Unsupported file descriptor: "${fd2}"`);
}
};
const count2 = Number(args[t2++]);
const last = t2 + count2;
for (let u2 = t2; u2 < last; ++t2, ++u2) {
switch (type4) {
case `<`:
{
pushInput(() => {
return opts3.baseFs.createReadStream(fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u2])));
});
}
break;
case `<<<`:
{
pushInput(() => {
const input = new stream_12.PassThrough();
process.nextTick(() => {
input.write(`${args[u2]}
`);
input.end();
});
return input;
});
}
break;
case `<&`:
{
pushInput(() => getFileDescriptorStream(Number(args[u2]), StreamType.Readable, state));
}
break;
case `>`:
case `>>`:
{
const outputPath = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u2]));
if (outputPath === `/dev/null`) {
pushOutput(new stream_12.Writable({
autoDestroy: true,
emitClose: true,
write(chunk, encoding, callback2) {
setImmediate(callback2);
}
}));
} else {
pushOutput(opts3.baseFs.createWriteStream(outputPath, type4 === `>>` ? { flags: `a` } : void 0));
}
}
break;
case `>&`:
{
pushOutput(getFileDescriptorStream(Number(args[u2]), StreamType.Writable, state));
}
break;
default: {
throw new Error(`Assertion failed: Unsupported redirection type: "${type4}"`);
}
}
}
}
if (inputs.length > 0) {
const pipe3 = new stream_12.PassThrough();
stdin = pipe3;
const bindInput = (n2) => {
if (n2 === inputs.length) {
pipe3.end();
} else {
const input = inputs[n2]();
input.pipe(pipe3, { end: false });
input.on(`end`, () => {
bindInput(n2 + 1);
});
}
};
bindInput(0);
}
if (outputs.length > 0) {
const pipe3 = new stream_12.PassThrough();
stdout = pipe3;
for (const output of outputs) {
pipe3.pipe(output);
}
}
if (errors2.length > 0) {
const pipe3 = new stream_12.PassThrough();
stderr = pipe3;
for (const error of errors2) {
pipe3.pipe(error);
}
}
const exitCode = await (0, pipe_2.start)(makeCommandAction(args.slice(t2 + 1), opts3, state), {
stdin: new pipe_2.ProtectedStream(stdin),
stdout: new pipe_2.ProtectedStream(stdout),
stderr: new pipe_2.ProtectedStream(stderr)
}).run();
await Promise.all(outputs.map((output) => {
return new Promise((resolve4, reject3) => {
output.on(`error`, (error) => {
reject3(error);
});
output.on(`close`, () => {
resolve4();
});
output.end();
});
}));
await Promise.all(errors2.map((err2) => {
return new Promise((resolve4, reject3) => {
err2.on(`error`, (error) => {
reject3(error);
});
err2.on(`close`, () => {
resolve4();
});
err2.end();
});
}));
return exitCode;
}]
]);
async function executeBufferedSubshell(ast, opts3, state) {
const chunks = [];
const stdout = new stream_12.PassThrough();
stdout.on(`data`, (chunk) => chunks.push(chunk));
await executeShellLine(ast, opts3, cloneState(state, { stdout }));
return Buffer.concat(chunks).toString().replace(/[\r\n]+$/, ``);
}
async function applyEnvVariables(environmentSegments, opts3, state) {
const envPromises = environmentSegments.map(async (envSegment) => {
const interpolatedArgs = await interpolateArguments(envSegment.args, opts3, state);
return {
name: envSegment.name,
value: interpolatedArgs.join(` `)
};
});
const interpolatedEnvs = await Promise.all(envPromises);
return interpolatedEnvs.reduce((envs, env3) => {
envs[env3.name] = env3.value;
return envs;
}, {});
}
function split4(raw) {
return raw.match(/[^ \r\n\t]+/g) || [];
}
async function evaluateVariable(segment, opts3, state, push, pushAndClose = push) {
switch (segment.name) {
case `$`:
{
push(String(process.pid));
}
break;
case `#`:
{
push(String(opts3.args.length));
}
break;
case `@`:
{
if (segment.quoted) {
for (const raw of opts3.args) {
pushAndClose(raw);
}
} else {
for (const raw of opts3.args) {
const parts = split4(raw);
for (let t2 = 0; t2 < parts.length - 1; ++t2)
pushAndClose(parts[t2]);
push(parts[parts.length - 1]);
}
}
}
break;
case `*`:
{
const raw = opts3.args.join(` `);
if (segment.quoted) {
push(raw);
} else {
for (const part of split4(raw)) {
pushAndClose(part);
}
}
}
break;
case `PPID`:
{
push(String(process.ppid));
}
break;
case `RANDOM`:
{
push(String(Math.floor(Math.random() * 32768)));
}
break;
default:
{
const argIndex = parseInt(segment.name, 10);
let raw;
const isArgument = Number.isFinite(argIndex);
if (isArgument) {
if (argIndex >= 0 && argIndex < opts3.args.length) {
raw = opts3.args[argIndex];
}
} else {
if (Object.hasOwn(state.variables, segment.name)) {
raw = state.variables[segment.name];
} else if (Object.hasOwn(state.environment, segment.name)) {
raw = state.environment[segment.name];
}
}
if (typeof raw !== `undefined` && segment.alternativeValue) {
raw = (await interpolateArguments(segment.alternativeValue, opts3, state)).join(` `);
} else if (typeof raw === `undefined`) {
if (segment.defaultValue) {
raw = (await interpolateArguments(segment.defaultValue, opts3, state)).join(` `);
} else if (segment.alternativeValue) {
raw = ``;
}
}
if (typeof raw === `undefined`) {
if (isArgument)
throw new errors_1.ShellError(`Unbound argument #${argIndex}`);
throw new errors_1.ShellError(`Unbound variable "${segment.name}"`);
}
if (segment.quoted) {
push(raw);
} else {
const parts = split4(raw);
for (let t2 = 0; t2 < parts.length - 1; ++t2)
pushAndClose(parts[t2]);
const part = parts[parts.length - 1];
if (typeof part !== `undefined`) {
push(part);
}
}
}
break;
}
}
var operators = {
addition: (left, right) => left + right,
subtraction: (left, right) => left - right,
multiplication: (left, right) => left * right,
division: (left, right) => Math.trunc(left / right)
};
async function evaluateArithmetic(arithmetic, opts3, state) {
if (arithmetic.type === `number`) {
if (!Number.isInteger(arithmetic.value)) {
throw new Error(`Invalid number: "${arithmetic.value}", only integers are allowed`);
} else {
return arithmetic.value;
}
} else if (arithmetic.type === `variable`) {
const parts = [];
await evaluateVariable({ ...arithmetic, quoted: true }, opts3, state, (result2) => parts.push(result2));
const number = Number(parts.join(` `));
if (Number.isNaN(number)) {
return evaluateArithmetic({ type: `variable`, name: parts.join(` `) }, opts3, state);
} else {
return evaluateArithmetic({ type: `number`, value: number }, opts3, state);
}
} else {
return operators[arithmetic.type](await evaluateArithmetic(arithmetic.left, opts3, state), await evaluateArithmetic(arithmetic.right, opts3, state));
}
}
async function interpolateArguments(commandArgs, opts3, state) {
const redirections = /* @__PURE__ */ new Map();
const interpolated = [];
let interpolatedSegments = [];
const push = (segment) => {
interpolatedSegments.push(segment);
};
const close = () => {
if (interpolatedSegments.length > 0)
interpolated.push(interpolatedSegments.join(``));
interpolatedSegments = [];
};
const pushAndClose = (segment) => {
push(segment);
close();
};
const redirect = (type4, fd2, target2) => {
const key = JSON.stringify({ type: type4, fd: fd2 });
let targets = redirections.get(key);
if (typeof targets === `undefined`)
redirections.set(key, targets = []);
targets.push(target2);
};
for (const commandArg of commandArgs) {
let isGlob = false;
switch (commandArg.type) {
case `redirection`:
{
const interpolatedArgs = await interpolateArguments(commandArg.args, opts3, state);
for (const interpolatedArg of interpolatedArgs) {
redirect(commandArg.subtype, commandArg.fd, interpolatedArg);
}
}
break;
case `argument`:
{
for (const segment of commandArg.segments) {
switch (segment.type) {
case `text`:
{
push(segment.text);
}
break;
case `glob`:
{
push(segment.pattern);
isGlob = true;
}
break;
case `shell`:
{
const raw = await executeBufferedSubshell(segment.shell, opts3, state);
if (segment.quoted) {
push(raw);
} else {
const parts = split4(raw);
for (let t2 = 0; t2 < parts.length - 1; ++t2)
pushAndClose(parts[t2]);
push(parts[parts.length - 1]);
}
}
break;
case `variable`:
{
await evaluateVariable(segment, opts3, state, push, pushAndClose);
}
break;
case `arithmetic`:
{
push(String(await evaluateArithmetic(segment.arithmetic, opts3, state)));
}
break;
}
}
}
break;
}
close();
if (isGlob) {
const pattern = interpolated.pop();
if (typeof pattern === `undefined`)
throw new Error(`Assertion failed: Expected a glob pattern to have been set`);
const matches2 = await opts3.glob.match(pattern, { cwd: state.cwd, baseFs: opts3.baseFs });
if (matches2.length === 0) {
const braceExpansionNotice = globUtils.isBraceExpansion(pattern) ? `. Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22` : ``;
throw new errors_1.ShellError(`No matches found: "${pattern}"${braceExpansionNotice}`);
}
for (const match of matches2.sort()) {
pushAndClose(match);
}
}
}
if (redirections.size > 0) {
const redirectionArgs = [];
for (const [key, targets] of redirections.entries())
redirectionArgs.splice(redirectionArgs.length, 0, key, String(targets.length), ...targets);
interpolated.splice(0, 0, `__ysh_set_redirects`, ...redirectionArgs, `--`);
}
return interpolated;
}
function makeCommandAction(args, opts3, state) {
if (!opts3.builtins.has(args[0]))
args = [`command`, ...args];
const nativeCwd = fslib_12.npath.fromPortablePath(state.cwd);
let env3 = state.environment;
if (typeof env3.PWD !== `undefined`)
env3 = { ...env3, PWD: nativeCwd };
const [name, ...rest] = args;
if (name === `command`) {
return (0, pipe_1.makeProcess)(rest[0], rest.slice(1), opts3, {
cwd: nativeCwd,
env: env3
});
}
const builtin = opts3.builtins.get(name);
if (typeof builtin === `undefined`)
throw new Error(`Assertion failed: A builtin should exist for "${name}"`);
return (0, pipe_1.makeBuiltin)(async ({ stdin, stdout, stderr }) => {
const { stdin: initialStdin, stdout: initialStdout, stderr: initialStderr } = state;
state.stdin = stdin;
state.stdout = stdout;
state.stderr = stderr;
try {
return await builtin(rest, opts3, state);
} finally {
state.stdin = initialStdin;
state.stdout = initialStdout;
state.stderr = initialStderr;
}
});
}
function makeSubshellAction(ast, opts3, state) {
return (stdio) => {
const stdin = new stream_12.PassThrough();
const promise2 = executeShellLine(ast, opts3, cloneState(state, { stdin }));
return { stdin, promise: promise2 };
};
}
function makeGroupAction(ast, opts3, state) {
return (stdio) => {
const stdin = new stream_12.PassThrough();
const promise2 = executeShellLine(ast, opts3, state);
return { stdin, promise: promise2 };
};
}
function makeActionFromProcedure(procedure, args, opts3, activeState) {
if (args.length === 0) {
return procedure;
} else {
let key;
do {
key = String(Math.random());
} while (Object.hasOwn(activeState.procedures, key));
activeState.procedures = { ...activeState.procedures };
activeState.procedures[key] = procedure;
return makeCommandAction([...args, `__ysh_run_procedure`, key], opts3, activeState);
}
}
async function executeCommandChainImpl(node, opts3, state) {
let current = node;
let pipeType = null;
let execution = null;
while (current) {
const activeState = current.then ? { ...state } : state;
let action;
switch (current.type) {
case `command`:
{
const args = await interpolateArguments(current.args, opts3, state);
const environment = await applyEnvVariables(current.envs, opts3, state);
action = current.envs.length ? makeCommandAction(args, opts3, cloneState(activeState, { environment })) : makeCommandAction(args, opts3, activeState);
}
break;
case `subshell`:
{
const args = await interpolateArguments(current.args, opts3, state);
const procedure = makeSubshellAction(current.subshell, opts3, activeState);
action = makeActionFromProcedure(procedure, args, opts3, activeState);
}
break;
case `group`:
{
const args = await interpolateArguments(current.args, opts3, state);
const procedure = makeGroupAction(current.group, opts3, activeState);
action = makeActionFromProcedure(procedure, args, opts3, activeState);
}
break;
case `envs`:
{
const environment = await applyEnvVariables(current.envs, opts3, state);
activeState.environment = { ...activeState.environment, ...environment };
action = makeCommandAction([`true`], opts3, activeState);
}
break;
}
if (typeof action === `undefined`)
throw new Error(`Assertion failed: An action should have been generated`);
if (pipeType === null) {
execution = (0, pipe_2.start)(action, {
stdin: new pipe_2.ProtectedStream(activeState.stdin),
stdout: new pipe_2.ProtectedStream(activeState.stdout),
stderr: new pipe_2.ProtectedStream(activeState.stderr)
});
} else {
if (execution === null)
throw new Error(`Assertion failed: The execution pipeline should have been setup`);
switch (pipeType) {
case `|`:
{
execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT);
}
break;
case `|&`:
{
execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT | pipe_2.Pipe.STDERR);
}
break;
}
}
if (current.then) {
pipeType = current.then.type;
current = current.then.chain;
} else {
current = null;
}
}
if (execution === null)
throw new Error(`Assertion failed: The execution pipeline should have been setup`);
return await execution.run();
}
async function executeCommandChain(node, opts3, state, { background = false } = {}) {
function getColorizer(index2) {
const colors = [`#2E86AB`, `#A23B72`, `#F18F01`, `#C73E1D`, `#CCE2A3`];
const colorName = colors[index2 % colors.length];
return chalk_1.default.hex(colorName);
}
if (background) {
const index2 = state.nextBackgroundJobIndex++;
const colorizer = getColorizer(index2);
const rawPrefix = `[${index2}]`;
const prefix = colorizer(rawPrefix);
const { stdout, stderr } = (0, pipe_1.createOutputStreamsWithPrefix)(state, { prefix });
state.backgroundJobs.push(executeCommandChainImpl(node, opts3, cloneState(state, { stdout, stderr })).catch((error) => stderr.write(`${error.message}
`)).finally(() => {
if (state.stdout.isTTY) {
state.stdout.write(`Job ${prefix}, '${colorizer((0, parsers_1.stringifyCommandChain)(node))}' has ended
`);
}
}));
return 0;
}
return await executeCommandChainImpl(node, opts3, state);
}
async function executeCommandLine(node, opts3, state, { background = false } = {}) {
let code;
const setCode = (newCode) => {
code = newCode;
state.variables[`?`] = String(newCode);
};
const executeChain = async (line) => {
try {
return await executeCommandChain(line.chain, opts3, state, { background: background && typeof line.then === `undefined` });
} catch (error) {
if (!(error instanceof errors_1.ShellError))
throw error;
state.stderr.write(`${error.message}
`);
return 1;
}
};
setCode(await executeChain(node));
while (node.then) {
if (state.exitCode !== null)
return state.exitCode;
switch (node.then.type) {
case `&&`:
{
if (code === 0) {
setCode(await executeChain(node.then.line));
}
}
break;
case `||`:
{
if (code !== 0) {
setCode(await executeChain(node.then.line));
}
}
break;
default: {
throw new Error(`Assertion failed: Unsupported command type: "${node.then.type}"`);
}
}
node = node.then.line;
}
return code;
}
async function executeShellLine(node, opts3, state) {
const originalBackgroundJobs = state.backgroundJobs;
state.backgroundJobs = [];
let rightMostExitCode = 0;
for (const { command, type: type4 } of node) {
rightMostExitCode = await executeCommandLine(command, opts3, state, { background: type4 === `&` });
if (state.exitCode !== null)
return state.exitCode;
state.variables[`?`] = String(rightMostExitCode);
}
await Promise.all(state.backgroundJobs);
state.backgroundJobs = originalBackgroundJobs;
return rightMostExitCode;
}
function locateArgsVariableInSegment(segment) {
switch (segment.type) {
case `variable`: {
return segment.name === `@` || segment.name === `#` || segment.name === `*` || Number.isFinite(parseInt(segment.name, 10)) || `defaultValue` in segment && !!segment.defaultValue && segment.defaultValue.some((arg) => locateArgsVariableInArgument(arg)) || `alternativeValue` in segment && !!segment.alternativeValue && segment.alternativeValue.some((arg) => locateArgsVariableInArgument(arg));
}
case `arithmetic`: {
return locateArgsVariableInArithmetic(segment.arithmetic);
}
case `shell`: {
return locateArgsVariable(segment.shell);
}
default: {
return false;
}
}
}
function locateArgsVariableInArgument(arg) {
switch (arg.type) {
case `redirection`: {
return arg.args.some((arg2) => locateArgsVariableInArgument(arg2));
}
case `argument`: {
return arg.segments.some((segment) => locateArgsVariableInSegment(segment));
}
default:
throw new Error(`Assertion failed: Unsupported argument type: "${arg.type}"`);
}
}
function locateArgsVariableInArithmetic(arg) {
switch (arg.type) {
case `variable`: {
return locateArgsVariableInSegment(arg);
}
case `number`: {
return false;
}
default:
return locateArgsVariableInArithmetic(arg.left) || locateArgsVariableInArithmetic(arg.right);
}
}
function locateArgsVariable(node) {
return node.some(({ command }) => {
while (command) {
let chain3 = command.chain;
while (chain3) {
let hasArgs;
switch (chain3.type) {
case `subshell`:
{
hasArgs = locateArgsVariable(chain3.subshell);
}
break;
case `command`:
{
hasArgs = chain3.envs.some((env3) => env3.args.some((arg) => {
return locateArgsVariableInArgument(arg);
})) || chain3.args.some((arg) => {
return locateArgsVariableInArgument(arg);
});
}
break;
}
if (hasArgs)
return true;
if (!chain3.then)
break;
chain3 = chain3.then.chain;
}
if (!command.then)
break;
command = command.then.line;
}
return false;
});
}
async function execute2(command, args = [], { baseFs = new fslib_12.NodeFS(), builtins = {}, cwd = fslib_12.npath.toPortablePath(process.cwd()), env: env3 = process.env, stdin = process.stdin, stdout = process.stdout, stderr = process.stderr, variables = {}, glob: glob2 = globUtils } = {}) {
const normalizedEnv = {};
for (const [key, value] of Object.entries(env3))
if (typeof value !== `undefined`)
normalizedEnv[key] = value;
const normalizedBuiltins = new Map(BUILTINS);
for (const [key, builtin] of Object.entries(builtins))
normalizedBuiltins.set(key, builtin);
if (stdin === null) {
stdin = new stream_12.PassThrough();
stdin.end();
}
const ast = (0, parsers_1.parseShell)(command, glob2);
if (!locateArgsVariable(ast) && ast.length > 0 && args.length > 0) {
let { command: command2 } = ast[ast.length - 1];
while (command2.then)
command2 = command2.then.line;
let chain3 = command2.chain;
while (chain3.then)
chain3 = chain3.then.chain;
if (chain3.type === `command`) {
chain3.args = chain3.args.concat(args.map((arg) => {
return {
type: `argument`,
segments: [{
type: `text`,
text: arg
}]
};
}));
}
}
return await executeShellLine(ast, {
args,
baseFs,
builtins: normalizedBuiltins,
initialStdin: stdin,
initialStdout: stdout,
initialStderr: stderr,
glob: glob2
}, {
cwd,
environment: normalizedEnv,
exitCode: null,
procedures: {},
stdin,
stdout,
stderr,
variables: Object.assign({}, variables, {
[`?`]: 0
}),
nextBackgroundJobIndex: 1,
backgroundJobs: []
});
}
exports2.execute = execute2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/uid-number/0.0.6/d04855dc85bbb4bcc22c591b5735c9bd66e0fa8a79beff5cdea8767cafefe83e/node_modules/uid-number/uid-number.js
var require_uid_number = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/uid-number/0.0.6/d04855dc85bbb4bcc22c591b5735c9bd66e0fa8a79beff5cdea8767cafefe83e/node_modules/uid-number/uid-number.js"(exports2, module2) {
module2.exports = uidNumber2;
var child_process = __require("child_process");
var path236 = __require("path");
var uidSupport = process.getuid && process.setuid;
var uidCache = {};
var gidCache = {};
function uidNumber2(uid, gid, cb) {
if (!uidSupport) return cb();
if (typeof cb !== "function") cb = gid, gid = null;
if (typeof cb !== "function") cb = uid, uid = null;
if (gid == null) gid = process.getgid();
if (uid == null) uid = process.getuid();
if (!isNaN(gid)) gid = gidCache[gid] = +gid;
if (!isNaN(uid)) uid = uidCache[uid] = +uid;
if (uidCache.hasOwnProperty(uid)) uid = uidCache[uid];
if (gidCache.hasOwnProperty(gid)) gid = gidCache[gid];
if (typeof gid === "number" && typeof uid === "number") {
return process.nextTick(cb.bind(null, null, uid, gid));
}
var getter = __require.resolve("./get-uid-gid.js");
child_process.execFile(
process.execPath,
[getter, uid, gid],
function(code, out, stderr) {
if (code) {
var er = new Error("could not get uid/gid\n" + stderr);
er.code = code;
return cb(er);
}
try {
out = JSON.parse(out + "");
} catch (ex) {
return cb(ex);
}
if (out.error) {
var er = new Error(out.error);
er.errno = out.errno;
return cb(er);
}
if (isNaN(out.uid) || isNaN(out.gid)) return cb(new Error(
"Could not get uid/gid: " + JSON.stringify(out)
));
cb(null, uidCache[uid] = +out.uid, gidCache[gid] = +out.gid);
}
);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/byline/1.0.0/fa6df58dc699ae6d0f94f2455b5df743180d224d978e80fd2cc83f13668114f0/node_modules/@pnpm/byline/lib/byline.js
var require_byline = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/byline/1.0.0/fa6df58dc699ae6d0f94f2455b5df743180d224d978e80fd2cc83f13668114f0/node_modules/@pnpm/byline/lib/byline.js"(exports2, module2) {
var stream2 = __require("stream");
var util64 = __require("util");
var timers = __require("timers");
module2.exports = function(readStream, options) {
return module2.exports.createStream(readStream, options);
};
module2.exports.createStream = function(readStream, options) {
if (readStream) {
return createLineStream(readStream, options);
} else {
return new LineStream(options);
}
};
module2.exports.createLineStream = function(readStream) {
console.log("WARNING: byline#createLineStream is deprecated and will be removed soon");
return createLineStream(readStream);
};
function createLineStream(readStream, options) {
if (!readStream) {
throw new Error("expected readStream");
}
if (!readStream.readable) {
throw new Error("readStream must be readable");
}
var ls = new LineStream(options);
readStream.pipe(ls);
return ls;
}
module2.exports.LineStream = LineStream;
function LineStream(options) {
stream2.Transform.call(this, options);
options = options || {};
this._readableState.objectMode = true;
this._lineBuffer = [];
this._keepEmptyLines = options.keepEmptyLines || false;
this._lastChunkEndedWithCR = false;
var self2 = this;
this.on("pipe", function(src2) {
if (!self2.encoding) {
if (src2 instanceof stream2.Readable) {
self2.encoding = src2._readableState.encoding;
}
}
});
}
util64.inherits(LineStream, stream2.Transform);
LineStream.prototype._transform = function(chunk, encoding, done) {
encoding = encoding || "utf8";
if (Buffer.isBuffer(chunk)) {
if (encoding == "buffer") {
chunk = chunk.toString();
encoding = "utf8";
} else {
chunk = chunk.toString(encoding);
}
}
this._chunkEncoding = encoding;
var lines = chunk.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g);
if (this._lastChunkEndedWithCR && chunk[0] == "\n") {
lines.shift();
}
if (this._lineBuffer.length > 0) {
this._lineBuffer[this._lineBuffer.length - 1] += lines[0];
lines.shift();
}
this._lastChunkEndedWithCR = chunk[chunk.length - 1] == "\r";
this._lineBuffer = this._lineBuffer.concat(lines);
this._pushBuffer(encoding, 1, done);
};
LineStream.prototype._pushBuffer = function(encoding, keep, done) {
while (this._lineBuffer.length > keep) {
var line = this._lineBuffer.shift();
if (this._keepEmptyLines || line.length > 0) {
if (!this.push(this._reencode(line, encoding))) {
var self2 = this;
timers.setImmediate(function() {
self2._pushBuffer(encoding, keep, done);
});
return;
}
}
}
done();
};
LineStream.prototype._flush = function(done) {
this._pushBuffer(this._chunkEncoding, 0, done);
};
LineStream.prototype._reencode = function(line, chunkEncoding) {
if (this.encoding && this.encoding != chunkEncoding) {
return Buffer.from(line, chunkEncoding).toString(this.encoding);
} else if (this.encoding) {
return line;
} else {
return Buffer.from(line, chunkEncoding);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/constants/1001.3.1/d7b76e811dc62c15564a513225363643bbc754292ea30726cdf2c2b97b40fa97/node_modules/@pnpm/constants/lib/index.js
var require_lib6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/constants/1001.3.1/d7b76e811dc62c15564a513225363643bbc754292ea30726cdf2c2b97b40fa97/node_modules/@pnpm/constants/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.USEFUL_NON_ROOT_PNPM_FIELDS = exports2.FULL_FILTERED_META_DIR = exports2.FULL_META_DIR = exports2.ABBREVIATED_META_DIR = exports2.WORKSPACE_MANIFEST_FILENAME = exports2.STORE_VERSION = exports2.LAYOUT_VERSION = exports2.ENGINE_NAME = exports2.MANIFEST_BASE_NAMES = exports2.LOCKFILE_VERSION = exports2.LOCKFILE_MAJOR_VERSION = exports2.WANTED_LOCKFILE = void 0;
exports2.getNodeBinLocationForCurrentOS = getNodeBinLocationForCurrentOS;
exports2.getDenoBinLocationForCurrentOS = getDenoBinLocationForCurrentOS2;
exports2.getBunBinLocationForCurrentOS = getBunBinLocationForCurrentOS2;
exports2.WANTED_LOCKFILE = "pnpm-lock.yaml";
exports2.LOCKFILE_MAJOR_VERSION = "9";
exports2.LOCKFILE_VERSION = `${exports2.LOCKFILE_MAJOR_VERSION}.0`;
exports2.MANIFEST_BASE_NAMES = ["package.json", "package.json5", "package.yaml"];
exports2.ENGINE_NAME = `${process.platform};${process.arch};node${process.version.split(".")[0].substring(1)}`;
exports2.LAYOUT_VERSION = 5;
exports2.STORE_VERSION = "v10";
exports2.WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml";
exports2.ABBREVIATED_META_DIR = "metadata-v1.3";
exports2.FULL_META_DIR = "metadata-full-v1.3";
exports2.FULL_FILTERED_META_DIR = "metadata-ff-v1.3";
exports2.USEFUL_NON_ROOT_PNPM_FIELDS = ["executionEnv"];
function getNodeBinLocationForCurrentOS(platform5 = process.platform) {
return platform5 === "win32" ? "node.exe" : "bin/node";
}
function getDenoBinLocationForCurrentOS2(platform5 = process.platform) {
return platform5 === "win32" ? "deno.exe" : "deno";
}
function getBunBinLocationForCurrentOS2(platform5 = process.platform) {
return platform5 === "win32" ? "bun.exe" : "bun";
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/error/1000.1.0/7615b54aca07fb65793d2c5b449f57748ccb32edf18b8276669c68d7b30266bb/node_modules/@pnpm/error/lib/index.js
var require_lib7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/error/1000.1.0/7615b54aca07fb65793d2c5b449f57748ccb32edf18b8276669c68d7b30266bb/node_modules/@pnpm/error/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LockfileMissingDependencyError = exports2.FetchError = exports2.PnpmError = void 0;
var constants_1 = require_lib6();
var PnpmError3 = class extends Error {
code;
hint;
attempts;
prefix;
pkgsStack;
constructor(code, message, opts3) {
super(message, { cause: opts3?.cause });
this.code = code.startsWith("ERR_PNPM_") ? code : `ERR_PNPM_${code}`;
this.hint = opts3?.hint;
this.attempts = opts3?.attempts;
}
};
exports2.PnpmError = PnpmError3;
var FetchError2 = class extends PnpmError3 {
response;
request;
constructor(request, response, hint) {
const _request = {
url: request.url
};
if (request.authHeaderValue) {
_request.authHeaderValue = hideAuthInformation2(request.authHeaderValue);
}
const message = `GET ${request.url}: ${response.statusText} - ${response.status}`;
if (response.status === 401 || response.status === 403 || response.status === 404) {
hint = hint ? `${hint}
` : "";
if (_request.authHeaderValue) {
hint += `An authorization header was used: ${_request.authHeaderValue}`;
} else {
hint += "No authorization header was set for the request.";
}
}
super(`FETCH_${response.status}`, message, { hint });
this.request = _request;
this.response = response;
}
};
exports2.FetchError = FetchError2;
function hideAuthInformation2(authHeaderValue) {
const [authType, token] = authHeaderValue.split(" ");
if (token == null)
return "[hidden]";
if (token.length < 20) {
return `${authType} [hidden]`;
}
return `${authType} ${token.substring(0, 4)}[hidden]`;
}
var LockfileMissingDependencyError2 = class extends PnpmError3 {
constructor(depPath) {
const message = `Broken lockfile: no entry for '${depPath}' in ${constants_1.WANTED_LOCKFILE}`;
super("LOCKFILE_MISSING_DEPENDENCY", message, {
hint: "This issue is probably caused by a badly resolved merge conflict.\nTo fix the lockfile, run 'pnpm install --no-frozen-lockfile'."
});
}
};
exports2.LockfileMissingDependencyError = LockfileMissingDependencyError2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/3.1.5/0a2a0bf2de536c3b901542b1e0bb2a1d073da4dce47f747114511f415dfa6d0a/node_modules/isexe/dist/commonjs/index.min.js
var require_index_min2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/isexe/3.1.5/0a2a0bf2de536c3b901542b1e0bb2a1d073da4dce47f747114511f415dfa6d0a/node_modules/isexe/dist/commonjs/index.min.js"(exports2) {
"use strict";
var a2 = (t2, e) => () => (e || t2((e = { exports: {} }).exports, e), e.exports);
var _ = a2((i4) => {
"use strict";
Object.defineProperty(i4, "__esModule", { value: true });
i4.sync = i4.isexe = void 0;
var M3 = __require("node:fs"), x3 = __require("node:fs/promises"), q = async (t2, e = {}) => {
let { ignoreErrors: r = false } = e;
try {
return d3(await (0, x3.stat)(t2), e);
} catch (s) {
let n2 = s;
if (r || n2.code === "EACCES") return false;
throw n2;
}
};
i4.isexe = q;
var m = (t2, e = {}) => {
let { ignoreErrors: r = false } = e;
try {
return d3((0, M3.statSync)(t2), e);
} catch (s) {
let n2 = s;
if (r || n2.code === "EACCES") return false;
throw n2;
}
};
i4.sync = m;
var d3 = (t2, e) => t2.isFile() && A2(t2, e), A2 = (t2, e) => {
let r = e.uid ?? process.getuid?.(), s = e.groups ?? process.getgroups?.() ?? [], n2 = e.gid ?? process.getgid?.() ?? s[0];
if (r === void 0 || n2 === void 0) throw new Error("cannot get uid or gid");
let u2 = /* @__PURE__ */ new Set([n2, ...s]), c3 = t2.mode, S3 = t2.uid, P2 = t2.gid, f = parseInt("100", 8), l = parseInt("010", 8), j2 = parseInt("001", 8), C = f | l;
return !!(c3 & j2 || c3 & l && u2.has(P2) || c3 & f && S3 === r || c3 & C && r === 0);
};
});
var g = a2((o2) => {
"use strict";
Object.defineProperty(o2, "__esModule", { value: true });
o2.sync = o2.isexe = void 0;
var T2 = __require("node:fs"), I3 = __require("node:fs/promises"), D3 = __require("node:path"), F = async (t2, e = {}) => {
let { ignoreErrors: r = false } = e;
try {
return y(await (0, I3.stat)(t2), t2, e);
} catch (s) {
let n2 = s;
if (r || n2.code === "EACCES") return false;
throw n2;
}
};
o2.isexe = F;
var L3 = (t2, e = {}) => {
let { ignoreErrors: r = false } = e;
try {
return y((0, T2.statSync)(t2), t2, e);
} catch (s) {
let n2 = s;
if (r || n2.code === "EACCES") return false;
throw n2;
}
};
o2.sync = L3;
var B = (t2, e) => {
let { pathExt: r = process.env.PATHEXT || "" } = e, s = r.split(D3.delimiter);
if (s.indexOf("") !== -1) return true;
for (let n2 of s) {
let u2 = n2.toLowerCase(), c3 = t2.substring(t2.length - u2.length).toLowerCase();
if (u2 && c3 === u2) return true;
}
return false;
}, y = (t2, e, r) => t2.isFile() && B(e, r);
});
var p = a2((h2) => {
"use strict";
Object.defineProperty(h2, "__esModule", { value: true });
});
var v = exports2 && exports2.__createBinding || (Object.create ? (function(t2, e, r, s) {
s === void 0 && (s = r);
var n2 = Object.getOwnPropertyDescriptor(e, r);
(!n2 || ("get" in n2 ? !e.__esModule : n2.writable || n2.configurable)) && (n2 = { enumerable: true, get: function() {
return e[r];
} }), Object.defineProperty(t2, s, n2);
}) : (function(t2, e, r, s) {
s === void 0 && (s = r), t2[s] = e[r];
}));
var G3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(t2, e) {
Object.defineProperty(t2, "default", { enumerable: true, value: e });
}) : function(t2, e) {
t2.default = e;
});
var w = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
var t2 = function(e) {
return t2 = Object.getOwnPropertyNames || function(r) {
var s = [];
for (var n2 in r) Object.prototype.hasOwnProperty.call(r, n2) && (s[s.length] = n2);
return s;
}, t2(e);
};
return function(e) {
if (e && e.__esModule) return e;
var r = {};
if (e != null) for (var s = t2(e), n2 = 0; n2 < s.length; n2++) s[n2] !== "default" && v(r, e, s[n2]);
return G3(r, e), r;
};
})();
var X2 = exports2 && exports2.__exportStar || function(t2, e) {
for (var r in t2) r !== "default" && !Object.prototype.hasOwnProperty.call(e, r) && v(e, t2, r);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.sync = exports2.isexe = exports2.posix = exports2.win32 = void 0;
var E = w(_());
exports2.posix = E;
var O2 = w(g());
exports2.win32 = O2;
X2(p(), exports2);
var H2 = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
var b = H2 === "win32" ? O2 : E;
exports2.isexe = b.isexe;
exports2.sync = b.sync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which/4.0.0/a609b205d6706d17c9118c7393eeed7b543c82ed7f1ccc19839c83a4cf09044e/node_modules/which/lib/index.js
var require_lib8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which/4.0.0/a609b205d6706d17c9118c7393eeed7b543c82ed7f1ccc19839c83a4cf09044e/node_modules/which/lib/index.js"(exports2, module2) {
var { isexe, sync: isexeSync } = require_index_min2();
var { join: join5, delimiter, sep: sep2, posix: posix2 } = __require("path");
var isWindows15 = process.platform === "win32";
var rSlash = new RegExp(`[${posix2.sep}${sep2 === posix2.sep ? "" : sep2}]`.replace(/(\\)/g, "\\$1"));
var rRel = new RegExp(`^\\.${rSlash.source}`);
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, {
path: optPath = process.env.PATH,
pathExt: optPathExt = process.env.PATHEXT,
delimiter: optDelimiter = delimiter
}) => {
const pathEnv = cmd.match(rSlash) ? [""] : [
// windows always checks the cwd first
...isWindows15 ? [process.cwd()] : [],
...(optPath || /* istanbul ignore next: very unusual */
"").split(optDelimiter)
];
if (isWindows15) {
const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter);
const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()]);
if (cmd.includes(".") && pathExt[0] !== "") {
pathExt.unshift("");
}
return { pathEnv, pathExt, pathExtExe };
}
return { pathEnv, pathExt: [""] };
};
var getPathPart = (raw, cmd) => {
const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw;
const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
return prefix + join5(pathPart, cmd);
};
var which4 = async (cmd, opt = {}) => {
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (const envPart of pathEnv) {
const p = getPathPart(envPart, cmd);
for (const ext of pathExt) {
const withExt = p + ext;
const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true });
if (is) {
if (!opt.all) {
return withExt;
}
found.push(withExt);
}
}
}
if (opt.all && found.length) {
return found;
}
if (opt.nothrow) {
return null;
}
throw getNotFoundError(cmd);
};
var whichSync = (cmd, opt = {}) => {
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (const pathEnvPart of pathEnv) {
const p = getPathPart(pathEnvPart, cmd);
for (const ext of pathExt) {
const withExt = p + ext;
const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true });
if (is) {
if (!opt.all) {
return withExt;
}
found.push(withExt);
}
}
}
if (opt.all && found.length) {
return found;
}
if (opt.nothrow) {
return null;
}
throw getNotFoundError(cmd);
};
module2.exports = which4;
which4.sync = whichSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js
import fs2 from "fs";
import path4 from "path";
function extendPath(wd, originalPath, nodeGyp, opts3) {
const pathArr = [...opts3.extraBinPaths || []];
const p = wd.split(/[\\/]node_modules[\\/]/);
let acc = path4.resolve(p.shift());
pathArr.unshift(nodeGyp);
p.forEach((pp) => {
pathArr.unshift(path4.join(acc, "node_modules", ".bin"));
acc = path4.join(acc, "node_modules", pp);
});
pathArr.unshift(path4.join(acc, "node_modules", ".bin"));
if (shouldPrependCurrentNodeDirToPATH(opts3)) {
pathArr.push(path4.dirname(process.execPath));
}
if (originalPath) pathArr.push(originalPath);
return pathArr.join(process.platform === "win32" ? ";" : ":");
}
function shouldPrependCurrentNodeDirToPATH(opts3) {
const cfgsetting = opts3.scriptsPrependNodePath;
if (cfgsetting === false || cfgsetting == null) return false;
if (cfgsetting === true) return true;
let isDifferentNodeInPath;
const isWindows15 = process.platform === "win32";
let foundExecPath;
try {
foundExecPath = import_which.default.sync(path4.basename(process.execPath), { pathExt: isWindows15 ? ";" : ":" });
isDifferentNodeInPath = fs2.realpathSync(process.execPath).toUpperCase() !== fs2.realpathSync(foundExecPath).toUpperCase();
} catch (e) {
isDifferentNodeInPath = true;
}
if (cfgsetting === "warn-only") {
if (isDifferentNodeInPath && !shouldPrependCurrentNodeDirToPATH.hasWarned) {
if (foundExecPath) {
opts3.log.warn("lifecycle", `The node binary used for scripts is ${foundExecPath} but pnpm is using ${process.execPath} itself. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`);
} else {
opts3.log.warn("lifecycle", `pnpm is using ${process.execPath} but there is no node binary in the current PATH. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`);
}
shouldPrependCurrentNodeDirToPATH.hasWarned = true;
}
return false;
}
return isDifferentNodeInPath;
}
var import_which;
var init_extendPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js"() {
import_which = __toESM(require_lib8(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/index.js
import path5 from "path";
import fs3 from "fs";
import { createRequire } from "module";
import { PassThrough } from "stream";
function logid(pkg, stage) {
return `${pkg._id}~${stage}:`;
}
function hookStat(dir, stage, cb) {
const hook = path5.join(dir, ".hooks", stage);
const cachedStatError = hookStatCache.get(hook);
if (cachedStatError === void 0) {
return fs3.stat(hook, (statError) => {
hookStatCache.set(hook, statError);
cb(statError);
});
}
return setImmediate(() => cb(cachedStatError));
}
function lifecycle(pkg, stage, wd, opts3) {
return new Promise((resolve4, reject3) => {
while (pkg && pkg._data) pkg = pkg._data;
if (!pkg) return reject3(new Error("Invalid package data"));
opts3.log.info("lifecycle", logid(pkg, stage), pkg._id);
if (!pkg.scripts) pkg.scripts = {};
if (stage === "prepublish" && opts3.ignorePrepublish) {
opts3.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-prepublish is set to true", pkg._id);
delete pkg.scripts.prepublish;
}
hookStat(opts3.dir, stage, (statError) => {
if (!pkg.scripts[stage] && statError) return resolve4();
validWd(wd || path5.resolve(opts3.dir, pkg.name), (er, wd2) => {
if (er) return reject3(er);
const env3 = makeEnv(pkg, opts3);
env3.npm_lifecycle_event = stage;
env3.npm_node_execpath = env3.NODE = env3.NODE || process.execPath;
env3.npm_package_json = path5.join(wd2, "package.json");
if (process.pkg != null) {
env3.npm_execpath = process.execPath;
} else {
env3.npm_execpath = process.argv[1] || process.cwd();
}
env3.INIT_CWD = process.cwd();
env3.npm_config_node_gyp = env3.npm_config_node_gyp || DEFAULT_NODE_GYP_PATH;
if (opts3.extraEnv) {
for (const [key, value] of Object.entries(opts3.extraEnv)) {
env3[key] = value;
}
}
if (!opts3.unsafePerm) {
const tmpdir = path5.join(wd2, "node_modules", ".tmp");
try {
fs3.mkdirSync(tmpdir, { recursive: true });
} catch (err2) {
if (err2.code !== "EEXIST") throw err2;
}
env3.TMPDIR = tmpdir;
}
lifecycle_(pkg, stage, wd2, opts3, env3, (er2) => {
if (er2) return reject3(er2);
return resolve4();
});
});
});
});
}
function lifecycle_(pkg, stage, wd, opts3, env3, cb) {
env3[PATH] = extendPath(wd, env3[PATH], path5.join(import.meta.dirname, "node-gyp-bin"), opts3);
let packageLifecycle = pkg.scripts && Object.prototype.hasOwnProperty.call(pkg.scripts, stage);
if (opts3.ignoreScripts) {
opts3.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-scripts is set to true", pkg._id);
packageLifecycle = false;
} else if (packageLifecycle) {
env3.npm_lifecycle_script = pkg.scripts[stage];
} else {
opts3.log.silly("lifecycle", logid(pkg, stage), `no script for ${stage}, continuing`);
}
function done(er) {
if (er) {
if (opts3.force) {
opts3.log.info("lifecycle", logid(pkg, stage), "forced, continuing", er);
er = null;
} else if (opts3.failOk) {
opts3.log.warn("lifecycle", logid(pkg, stage), "continuing anyway", er.message);
er = null;
}
}
cb(er);
}
const tasks = [
packageLifecycle && [runPackageLifecycle, pkg, stage, env3, wd, opts3],
[runHookLifecycle, pkg, stage, env3, wd, opts3]
];
let i4 = 0;
function next2(er) {
if (er) return done(er);
while (i4 < tasks.length) {
const task = tasks[i4++];
if (task) {
const [fn, ...args] = task;
fn(...args, next2);
return;
}
}
done();
}
next2();
}
function validWd(d3, cb) {
fs3.stat(d3, (er, st) => {
if (er || !st.isDirectory()) {
const p = path5.dirname(d3);
if (p === d3) {
return cb(new Error("Could not find suitable wd"));
}
return validWd(p, cb);
}
return cb(null, d3);
});
}
function runPackageLifecycle(pkg, stage, env3, wd, opts3, cb) {
const cmd = env3.npm_lifecycle_script;
runCmd(cmd, pkg, env3, stage, wd, opts3, cb);
}
function dequeue() {
running2 = false;
if (queue.length) {
const r = queue.shift();
runCmd.apply(null, r);
}
}
function runCmd(cmd, pkg, env3, stage, wd, opts3, cb) {
if (opts3.runConcurrently !== true) {
if (running2) {
queue.push([cmd, pkg, env3, stage, wd, opts3, cb]);
return;
}
running2 = true;
}
opts3.log.pause();
let unsafe2 = opts3.unsafePerm;
const user = unsafe2 ? null : opts3.user;
const group = unsafe2 ? null : opts3.group;
opts3.log.verbose("lifecycle", logid(pkg, stage), "unsafe-perm in lifecycle", unsafe2);
if (process.platform === "win32") {
unsafe2 = true;
}
if (unsafe2) {
runCmd_(cmd, pkg, env3, wd, opts3, stage, unsafe2, 0, 0, cb);
} else {
(0, import_uid_number.default)(user, group, (er, uid, gid) => {
runCmd_(cmd, pkg, env3, wd, opts3, stage, unsafe2, uid, gid, cb);
});
}
}
function runCmd_(cmd, pkg, env3, wd, opts3, stage, unsafe2, uid, gid, cb_) {
function cb(er) {
cb_.apply(null, arguments);
opts3.log.resume();
process.nextTick(dequeue);
}
const conf = {
cwd: wd,
env: env3,
stdio: opts3.stdio || [0, 1, 2]
};
if (!unsafe2) {
conf.uid = uid ^ 0;
conf.gid = gid ^ 0;
}
let sh = "sh";
let shFlag = "-c";
const customShell = opts3.scriptShell;
if (customShell) {
sh = customShell;
} else if (process.platform === "win32") {
sh = process.env.comspec || "cmd";
shFlag = "/d /s /c";
conf.windowsVerbatimArguments = true;
}
opts3.log.verbose("lifecycle", logid(pkg, stage), "PATH:", env3[PATH]);
opts3.log.verbose("lifecycle", logid(pkg, stage), "CWD:", wd);
opts3.log.silly("lifecycle", logid(pkg, stage), "Args:", [shFlag, cmd]);
if (opts3.shellEmulator) {
const execOpts = { cwd: import_fslib.npath.toPortablePath(wd), env: env3 };
if (opts3.stdio === "pipe") {
const stdout = new PassThrough();
const stderr = new PassThrough();
(0, import_byline.default)(stdout).on("data", (data) => {
opts3.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString());
});
(0, import_byline.default)(stderr).on("data", (data) => {
opts3.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString());
});
execOpts.stdout = stdout;
execOpts.stderr = stderr;
}
(0, import_shell.execute)(cmd, [], execOpts).then((code) => {
opts3.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code);
let er;
if (code) {
er = new Error(`Exit status ${code}`);
er.errno = code;
}
procError(er);
}).catch((err2) => procError(err2));
return;
}
const proc = spawn(sh, [shFlag, cmd], conf, opts3.log);
proc.on("error", procError);
proc.on("close", (code, signal) => {
opts3.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code, " signal:", signal);
let err2;
if (signal) {
err2 = new import_error3.PnpmError("CHILD_PROCESS_FAILED", `Command failed with signal "${signal}"`);
process.kill(process.pid, signal);
} else if (code) {
err2 = new import_error3.PnpmError("CHILD_PROCESS_FAILED", `Exit status ${code}`);
err2.errno = code;
}
procError(err2);
});
(0, import_byline.default)(proc.stdout).on("data", (data) => {
opts3.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString());
});
(0, import_byline.default)(proc.stderr).on("data", (data) => {
opts3.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString());
});
process.once("SIGTERM", procKill);
process.once("SIGINT", procInterrupt);
process.on("exit", procKill);
function procError(er) {
if (er) {
opts3.log.info("lifecycle", logid(pkg, stage), `Failed to exec ${stage} script`);
er.message = `${pkg._id} ${stage}: \`${cmd}\`
${er.message}`;
if (er.code !== "EPERM") {
er.code = "ELIFECYCLE";
}
fs3.stat(opts3.dir, (statError) => {
if (statError && statError.code === "ENOENT" && opts3.dir.split(path5.sep).slice(-1)[0] === "node_modules") {
opts3.log.warn("", "Local package.json exists, but node_modules missing, did you mean to install?");
}
});
er.pkgid = pkg._id;
er.stage = stage;
er.script = cmd;
er.pkgname = pkg.name;
}
process.removeListener("SIGTERM", procKill);
process.removeListener("SIGINT", procKill);
process.removeListener("SIGINT", procInterrupt);
process.removeListener("exit", procKill);
return cb(er);
}
let called = false;
function procKill() {
if (called) return;
called = true;
proc.kill();
}
function procInterrupt() {
proc.kill("SIGINT");
process.once("SIGINT", procKill);
}
}
function runHookLifecycle(pkg, stage, env3, wd, opts3, cb) {
hookStat(opts3.dir, stage, (er) => {
if (er) return cb();
const cmd = path5.join(opts3.dir, ".hooks", stage);
runCmd(cmd, pkg, env3, stage, wd, opts3, cb);
});
}
function makeEnv(data, opts3, prefix, env3) {
prefix = prefix || "npm_package_";
if (!env3) {
env3 = {};
for (const i4 in process.env) {
if (!i4.match(/^npm_package_/) && !i4.match(/^(npm|pnpm)_config_([/@_]|.*:_)/) && (!i4.match(/^PATH$/i) || i4 === PATH)) {
env3[i4] = process.env[i4];
}
}
if (opts3.production) env3.NODE_ENV = "production";
} else if (!Object.prototype.hasOwnProperty.call(data, "_lifecycleEnv")) {
Object.defineProperty(
data,
"_lifecycleEnv",
{
value: env3,
enumerable: false
}
);
}
if (opts3.nodeOptions) env3.NODE_OPTIONS = opts3.nodeOptions;
for (const i4 in data) {
if (i4.charAt(0) !== "_") {
const envKey = (prefix + i4).replace(/[^a-zA-Z0-9_]/g, "_");
if (!["name", "version", "config", "engines", "bin"].includes(i4) && !prefix.startsWith("npm_package_config_") && !prefix.startsWith("npm_package_engines_") && !prefix.startsWith("npm_package_bin_")) {
continue;
}
if (data[i4] && typeof data[i4] === "object") {
try {
JSON.stringify(data[i4]);
makeEnv(data[i4], opts3, `${envKey}_`, env3);
} catch (ex) {
const d3 = data[i4];
makeEnv(
{ name: d3.name, version: d3.version, path: d3.path },
opts3,
`${envKey}_`,
env3
);
}
} else {
env3[envKey] = String(data[i4]);
env3[envKey] = env3[envKey].includes("\n") ? JSON.stringify(env3[envKey]) : env3[envKey];
}
}
}
return env3;
}
var import_shell, import_fslib, import_uid_number, import_byline, import_error3, require2, DEFAULT_NODE_GYP_PATH, hookStatCache, PATH, running2, queue;
var init_npm_lifecycle = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-lifecycle/1100.0.0/f04d97f5a250478d0c99f70dae309a9d1702a35d3d521a54eb18e7437701117d/node_modules/@pnpm/npm-lifecycle/index.js"() {
init_spawn();
import_shell = __toESM(require_lib5(), 1);
import_fslib = __toESM(require_lib2(), 1);
import_uid_number = __toESM(require_uid_number(), 1);
import_byline = __toESM(require_byline(), 1);
import_error3 = __toESM(require_lib7(), 1);
init_extendPath();
require2 = createRequire(import.meta.url);
try {
DEFAULT_NODE_GYP_PATH = require2.resolve("node-gyp/bin/node-gyp");
} catch (err2) {
}
hookStatCache = /* @__PURE__ */ new Map();
PATH = "PATH";
if (process.platform === "win32") {
PATH = "Path";
Object.keys(process.env).forEach((e) => {
if (e.match(/^PATH$/i)) {
PATH = e;
}
});
}
running2 = false;
queue = [];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/vendor/ansi-styles/index.js
function assembleStyles() {
const codes = /* @__PURE__ */ new Map();
for (const [groupName, group] of Object.entries(styles)) {
for (const [styleName, style] of Object.entries(group)) {
styles[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
};
group[styleName] = styles[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles, "codes", {
value: codes,
enumerable: false
});
styles.color.close = "\x1B[39m";
styles.bgColor.close = "\x1B[49m";
styles.color.ansi = wrapAnsi16();
styles.color.ansi256 = wrapAnsi256();
styles.color.ansi16m = wrapAnsi16m();
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
Object.defineProperties(styles, {
rgbToAnsi256: {
value(red2, green2, blue2) {
if (red2 === green2 && green2 === blue2) {
if (red2 < 8) {
return 16;
}
if (red2 > 248) {
return 231;
}
return Math.round((red2 - 8) / 247 * 24) + 232;
}
return 16 + 36 * Math.round(red2 / 255 * 5) + 6 * Math.round(green2 / 255 * 5) + Math.round(blue2 / 255 * 5);
},
enumerable: false
},
hexToRgb: {
value(hex) {
const matches2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
if (!matches2) {
return [0, 0, 0];
}
let [colorString] = matches2;
if (colorString.length === 3) {
colorString = [...colorString].map((character) => character + character).join("");
}
const integer = Number.parseInt(colorString, 16);
return [
/* eslint-disable no-bitwise */
integer >> 16 & 255,
integer >> 8 & 255,
integer & 255
/* eslint-enable no-bitwise */
];
},
enumerable: false
},
hexToAnsi256: {
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
enumerable: false
},
ansi256ToAnsi: {
value(code) {
if (code < 8) {
return 30 + code;
}
if (code < 16) {
return 90 + (code - 8);
}
let red2;
let green2;
let blue2;
if (code >= 232) {
red2 = ((code - 232) * 10 + 8) / 255;
green2 = red2;
blue2 = red2;
} else {
code -= 16;
const remainder = code % 36;
red2 = Math.floor(code / 36) / 5;
green2 = Math.floor(remainder / 6) / 5;
blue2 = remainder % 6 / 5;
}
const value = Math.max(red2, green2, blue2) * 2;
if (value === 0) {
return 30;
}
let result2 = 30 + (Math.round(blue2) << 2 | Math.round(green2) << 1 | Math.round(red2));
if (value === 2) {
result2 += 60;
}
return result2;
},
enumerable: false
},
rgbToAnsi: {
value: (red2, green2, blue2) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red2, green2, blue2)),
enumerable: false
},
hexToAnsi: {
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
enumerable: false
}
});
return styles;
}
var ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
var init_ansi_styles = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/vendor/ansi-styles/index.js"() {
ANSI_BACKGROUND_OFFSET = 10;
wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
wrapAnsi16m = (offset = 0) => (red2, green2, blue2) => `\x1B[${38 + offset};2;${red2};${green2};${blue2}m`;
styles = {
modifier: {
reset: [0, 0],
// 21 isn't widely supported and 22 does the same thing
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
overline: [53, 55],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
// Bright color
blackBright: [90, 39],
gray: [90, 39],
// Alias of `blackBright`
grey: [90, 39],
// Alias of `blackBright`
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
// Bright color
bgBlackBright: [100, 49],
bgGray: [100, 49],
// Alias of `bgBlackBright`
bgGrey: [100, 49],
// Alias of `bgBlackBright`
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
modifierNames = Object.keys(styles.modifier);
foregroundColorNames = Object.keys(styles.color);
backgroundColorNames = Object.keys(styles.bgColor);
colorNames = [...foregroundColorNames, ...backgroundColorNames];
ansiStyles = assembleStyles();
ansi_styles_default = ansiStyles;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/vendor/supports-color/index.js
import process2 from "node:process";
import os2 from "node:os";
import tty from "node:tty";
function hasFlag(flag, argv2 = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position3 = argv2.indexOf(prefix + flag);
const terminatorPosition = argv2.indexOf("--");
return position3 !== -1 && (terminatorPosition === -1 || position3 < terminatorPosition);
}
function envForceColor() {
if ("FORCE_COLOR" in env) {
if (env.FORCE_COLOR === "true") {
return 1;
}
if (env.FORCE_COLOR === "false") {
return 0;
}
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
}
}
function translateLevel(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
const noFlagForceColor = envForceColor();
if (noFlagForceColor !== void 0) {
flagForceColor = noFlagForceColor;
}
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
if (forceColor === 0) {
return 0;
}
if (sniffFlags) {
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
return 3;
}
if (hasFlag("color=256")) {
return 2;
}
}
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
return 1;
}
if (haveStream && !streamIsTTY && forceColor === void 0) {
return 0;
}
const min = forceColor || 0;
if (env.TERM === "dumb") {
return min;
}
if (process2.platform === "win32") {
const osRelease = os2.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env) {
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
return 3;
}
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
}
if (env.COLORTERM === "truecolor") {
return 3;
}
if (env.TERM === "xterm-kitty") {
return 3;
}
if (env.TERM === "xterm-ghostty") {
return 3;
}
if (env.TERM === "wezterm") {
return 3;
}
if ("TERM_PROGRAM" in env) {
const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app": {
return version2 >= 3 ? 3 : 2;
}
case "Apple_Terminal": {
return 2;
}
}
}
if (/-256(color)?$/i.test(env.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
return 1;
}
if ("COLORTERM" in env) {
return 1;
}
return min;
}
function createSupportsColor(stream2, options = {}) {
const level = _supportsColor(stream2, {
streamIsTTY: stream2 && stream2.isTTY,
...options
});
return translateLevel(level);
}
var env, flagForceColor, supportsColor, supports_color_default;
var init_supports_color = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/vendor/supports-color/index.js"() {
({ env } = process2);
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
flagForceColor = 0;
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
flagForceColor = 1;
}
supportsColor = {
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
};
supports_color_default = supportsColor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/utilities.js
function stringReplaceAll(string, substring, replacer2) {
let index2 = string.indexOf(substring);
if (index2 === -1) {
return string;
}
const substringLength = substring.length;
let endIndex = 0;
let returnValue = "";
do {
returnValue += string.slice(endIndex, index2) + substring + replacer2;
endIndex = index2 + substringLength;
index2 = string.indexOf(substring, endIndex);
} while (index2 !== -1);
returnValue += string.slice(endIndex);
return returnValue;
}
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index2) {
let endIndex = 0;
let returnValue = "";
do {
const gotCR = string[index2 - 1] === "\r";
returnValue += string.slice(endIndex, gotCR ? index2 - 1 : index2) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
endIndex = index2 + 1;
index2 = string.indexOf("\n", endIndex);
} while (index2 !== -1);
returnValue += string.slice(endIndex);
return returnValue;
}
var init_utilities = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/utilities.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/index.js
function createChalk(options) {
return chalkFactory(options);
}
var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions, chalkFactory, getModelAnsi, usedModels, proto, createStyler, createBuilder, applyStyle, chalk, chalkStderr, source_default;
var init_source = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/5.6.2/7b61e48ea6529f3478eb79333861d57da6d3107ae3fe1419c07c470318cb5181/node_modules/chalk/source/index.js"() {
init_ansi_styles();
init_supports_color();
init_utilities();
({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
GENERATOR = /* @__PURE__ */ Symbol("GENERATOR");
STYLER = /* @__PURE__ */ Symbol("STYLER");
IS_EMPTY = /* @__PURE__ */ Symbol("IS_EMPTY");
levelMapping = [
"ansi",
"ansi",
"ansi256",
"ansi16m"
];
styles2 = /* @__PURE__ */ Object.create(null);
applyOptions = (object, options = {}) => {
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
throw new Error("The `level` option should be an integer from 0 to 3");
}
const colorLevel = stdoutColor ? stdoutColor.level : 0;
object.level = options.level === void 0 ? colorLevel : options.level;
};
chalkFactory = (options) => {
const chalk2 = (...strings2) => strings2.join(" ");
applyOptions(chalk2, options);
Object.setPrototypeOf(chalk2, createChalk.prototype);
return chalk2;
};
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
styles2[styleName] = {
get() {
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
Object.defineProperty(this, styleName, { value: builder });
return builder;
}
};
}
styles2.visible = {
get() {
const builder = createBuilder(this, this[STYLER], true);
Object.defineProperty(this, "visible", { value: builder });
return builder;
}
};
getModelAnsi = (model, level, type4, ...arguments_) => {
if (model === "rgb") {
if (level === "ansi16m") {
return ansi_styles_default[type4].ansi16m(...arguments_);
}
if (level === "ansi256") {
return ansi_styles_default[type4].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
}
return ansi_styles_default[type4].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
}
if (model === "hex") {
return getModelAnsi("rgb", level, type4, ...ansi_styles_default.hexToRgb(...arguments_));
}
return ansi_styles_default[type4][model](...arguments_);
};
usedModels = ["rgb", "hex", "ansi256"];
for (const model of usedModels) {
styles2[model] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
return createBuilder(this, styler, this[IS_EMPTY]);
};
}
};
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
styles2[bgModel] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
return createBuilder(this, styler, this[IS_EMPTY]);
};
}
};
}
proto = Object.defineProperties(() => {
}, {
...styles2,
level: {
enumerable: true,
get() {
return this[GENERATOR].level;
},
set(level) {
this[GENERATOR].level = level;
}
}
});
createStyler = (open3, close, parent) => {
let openAll;
let closeAll;
if (parent === void 0) {
openAll = open3;
closeAll = close;
} else {
openAll = parent.openAll + open3;
closeAll = close + parent.closeAll;
}
return {
open: open3,
close,
openAll,
closeAll,
parent
};
};
createBuilder = (self2, _styler, _isEmpty) => {
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
Object.setPrototypeOf(builder, proto);
builder[GENERATOR] = self2;
builder[STYLER] = _styler;
builder[IS_EMPTY] = _isEmpty;
return builder;
};
applyStyle = (self2, string) => {
if (self2.level <= 0 || !string) {
return self2[IS_EMPTY] ? "" : string;
}
let styler = self2[STYLER];
if (styler === void 0) {
return string;
}
const { openAll, closeAll } = styler;
if (string.includes("\x1B")) {
while (styler !== void 0) {
string = stringReplaceAll(string, styler.close, styler.open);
styler = styler.parent;
}
}
const lfIndex = string.indexOf("\n");
if (lfIndex !== -1) {
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
}
return openAll + string + closeAll;
};
Object.defineProperties(createChalk.prototype, styles2);
chalk = createChalk();
chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
source_default = chalk;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shlex/3.0.0/13d6b3aca648429d8aa0bceda2b25f615017e732b0f64fdcb2119ee4549680e9/node_modules/shlex/shlex.js
function quote(s) {
if (s === "") {
return "''";
}
const unsafeRe = /[^\w@%\-+=:,./]/;
if (!unsafeRe.test(s)) {
return s;
}
return ("'" + s.replace(/('+)/g, `'"$1"'`) + "'").replace(/^''|''$/g, "");
}
function join(args) {
if (!Array.isArray(args)) {
throw new TypeError("args should be an array");
}
return args.map(quote).join(" ");
}
var init_shlex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/shlex/3.0.0/13d6b3aca648429d8aa0bceda2b25f615017e732b0f64fdcb2119ee4549680e9/node_modules/shlex/shlex.js"() {
"use strict";
}
});
// ../exec/lifecycle/lib/runLifecycleHook.js
import { existsSync } from "node:fs";
import path6 from "node:path";
function noop() {
}
async function runLifecycleHook(stage, manifest, opts3) {
const optional = opts3.optional === true;
if (opts3.scriptShell != null && typeof opts3.scriptShell === "string" && isWindowsBatchFile(opts3.scriptShell)) {
throw new PnpmError("ERR_PNPM_INVALID_SCRIPT_SHELL_WINDOWS", "Cannot spawn .bat or .cmd as a script shell.", {
hint: `The pnpm-workspace.yaml scriptShell option was configured to a .bat or .cmd file. These cannot be used as a script shell reliably.
Please unset the scriptShell option, or configure it to a .exe instead.
`
});
}
const m = { _id: getId(manifest), ...manifest };
m.scripts = { ...m.scripts };
switch (stage) {
case "start":
if (!m.scripts.start) {
if (!existsSync("server.js")) {
throw new PnpmError("NO_SCRIPT_OR_SERVER", "Missing script start or file server.js");
}
m.scripts.start = "node server.js";
}
break;
case "install":
if (!m.scripts.install && !m.scripts.preinstall) {
checkBindingGyp(opts3.pkgRoot, m.scripts);
}
break;
}
if (opts3.args?.length && m.scripts?.[stage]) {
const escapedArgs = (0, import_is_windows2.default)() ? opts3.args.map((arg) => JSON.stringify(arg)).join(" ") : join(opts3.args);
m.scripts[stage] = `${m.scripts[stage]} ${escapedArgs}`;
}
if (m.scripts[stage] === "npx only-allow pnpm" || !m.scripts[stage])
return false;
if (opts3.stdio !== "inherit") {
lifecycleLogger.debug({
depPath: opts3.depPath,
optional,
script: m.scripts[stage],
stage,
wd: opts3.pkgRoot
});
} else if (!opts3.silent) {
process.stderr.write(source_default.dim(`$ ${m.scripts[stage]}`) + "\n");
}
const logLevel = opts3.stdio !== "inherit" || opts3.silent ? "silent" : void 0;
await lifecycle(m, stage, opts3.pkgRoot, {
config: {},
dir: opts3.rootModulesDir,
extraBinPaths: opts3.extraBinPaths,
extraEnv: {
...opts3.extraEnv,
INIT_CWD: opts3.initCwd ?? process.cwd(),
PNPM_SCRIPT_SRC_DIR: opts3.pkgRoot,
...opts3.userAgent ? { npm_config_user_agent: opts3.userAgent } : {}
},
log: {
clearProgress: noop,
info: noop,
level: logLevel,
pause: noop,
resume: noop,
showProgress: noop,
silly: npmLog,
verbose: npmLog,
warn: (...msg) => {
globalWarn(msg.join(" "));
}
},
runConcurrently: true,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
stdio: opts3.stdio ?? "pipe",
unsafePerm: opts3.unsafePerm
});
return true;
function npmLog(prefix, logId, stdtype, line) {
switch (stdtype) {
case "stdout":
case "stderr":
lifecycleLogger.debug({
depPath: opts3.depPath,
line: (line ?? 0).toString(),
stage,
stdio: stdtype,
wd: opts3.pkgRoot
});
return;
case "Returned: code:": {
if (opts3.stdio === "inherit") {
return;
}
const code = line ?? 1;
lifecycleLogger.debug({
depPath: opts3.depPath,
exitCode: code,
optional,
stage,
wd: opts3.pkgRoot
});
}
}
}
}
function checkBindingGyp(root, scripts) {
if (existsSync(path6.join(root, "binding.gyp"))) {
scripts.install = "node-gyp rebuild";
}
}
function getId(manifest) {
return `${manifest.name ?? ""}@${manifest.version ?? ""}`;
}
function isWindowsBatchFile(scriptShell) {
const scriptShellLower = scriptShell.toLowerCase();
return (0, import_is_windows2.default)() && (scriptShellLower.endsWith(".cmd") || scriptShellLower.endsWith(".bat"));
}
var import_is_windows2;
var init_runLifecycleHook = __esm({
"../exec/lifecycle/lib/runLifecycleHook.js"() {
"use strict";
init_lib6();
init_lib2();
init_lib3();
init_npm_lifecycle();
init_source();
import_is_windows2 = __toESM(require_is_windows(), 1);
init_shlex();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/better-path-resolve/2.0.0/e066f8a0a157777f698ec4707dc0026edc830ea8827eeb29a3d32906ea207d48/node_modules/better-path-resolve/index.js
import path7 from "node:path";
function winResolve(p) {
if (arguments.length === 0) return path7.resolve();
if (typeof p !== "string") {
return path7.resolve(p);
}
if (p[1] === ":") {
const cc = p[0].charCodeAt();
if (cc < 65 || cc > 90) {
p = `${p[0].toUpperCase()}${p.substr(1)}`;
}
}
if (p.endsWith(":")) {
return p;
}
return path7.resolve(p);
}
var import_is_windows3, betterPathResolve;
var init_better_path_resolve = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/better-path-resolve/2.0.0/e066f8a0a157777f698ec4707dc0026edc830ea8827eeb29a3d32906ea207d48/node_modules/better-path-resolve/index.js"() {
import_is_windows3 = __toESM(require_is_windows(), 1);
betterPathResolve = (0, import_is_windows3.default)() ? winResolve : path7.resolve;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-subdir/2.0.0/86b3cd44735afb9f459dad7b43ddfc23f1a21495323a3fb38b9ab590c29f23ce/node_modules/is-subdir/index.js
import path8 from "node:path";
function isSubdir(parentDir, subdir) {
const rParent = `${betterPathResolve(parentDir)}${path8.sep}`;
const rDir = `${betterPathResolve(subdir)}${path8.sep}`;
return rDir.startsWith(rParent);
}
var init_is_subdir = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-subdir/2.0.0/86b3cd44735afb9f459dad7b43ddfc23f1a21495323a3fb38b9ab590c29f23ce/node_modules/is-subdir/index.js"() {
init_better_path_resolve();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fdir/6.5.0/92cef02bb7338ec6f865927f0ad397886bc8d20cc74f1aee86f8d27eae78fb28/node_modules/fdir/dist/index.mjs
import { createRequire as createRequire2 } from "module";
import { basename, dirname, normalize, relative, resolve, sep } from "path";
import * as nativeFs from "fs";
function cleanPath(path236) {
let normalized = normalize(path236);
if (normalized.length > 1 && normalized[normalized.length - 1] === sep) normalized = normalized.substring(0, normalized.length - 1);
return normalized;
}
function convertSlashes(path236, separator) {
return path236.replace(SLASHES_REGEX, separator);
}
function isRootDirectory(path236) {
return path236 === "/" || WINDOWS_ROOT_DIR_REGEX.test(path236);
}
function normalizePath(path236, options) {
const { resolvePaths, normalizePath: normalizePath$1, pathSeparator } = options;
const pathNeedsCleaning = process.platform === "win32" && path236.includes("/") || path236.startsWith(".");
if (resolvePaths) path236 = resolve(path236);
if (normalizePath$1 || pathNeedsCleaning) path236 = cleanPath(path236);
if (path236 === ".") return "";
const needsSeperator = path236[path236.length - 1] !== pathSeparator;
return convertSlashes(needsSeperator ? path236 + pathSeparator : path236, pathSeparator);
}
function joinPathWithBasePath(filename, directoryPath) {
return directoryPath + filename;
}
function joinPathWithRelativePath(root, options) {
return function(filename, directoryPath) {
const sameRoot = directoryPath.startsWith(root);
if (sameRoot) return directoryPath.slice(root.length) + filename;
else return convertSlashes(relative(root, directoryPath), options.pathSeparator) + options.pathSeparator + filename;
};
}
function joinPath(filename) {
return filename;
}
function joinDirectoryPath(filename, directoryPath, separator) {
return directoryPath + filename + separator;
}
function build$7(root, options) {
const { relativePaths, includeBasePath } = options;
return relativePaths && root ? joinPathWithRelativePath(root, options) : includeBasePath ? joinPathWithBasePath : joinPath;
}
function pushDirectoryWithRelativePath(root) {
return function(directoryPath, paths3) {
paths3.push(directoryPath.substring(root.length) || ".");
};
}
function pushDirectoryFilterWithRelativePath(root) {
return function(directoryPath, paths3, filters) {
const relativePath2 = directoryPath.substring(root.length) || ".";
if (filters.every((filter14) => filter14(relativePath2, true))) paths3.push(relativePath2);
};
}
function build$6(root, options) {
const { includeDirs, filters, relativePaths } = options;
if (!includeDirs) return empty$2;
if (relativePaths) return filters && filters.length ? pushDirectoryFilterWithRelativePath(root) : pushDirectoryWithRelativePath(root);
return filters && filters.length ? pushDirectoryFilter : pushDirectory;
}
function build$5(options) {
const { excludeFiles, filters, onlyCounts } = options;
if (excludeFiles) return empty$1;
if (filters && filters.length) return onlyCounts ? pushFileFilterAndCount : pushFileFilter;
else if (onlyCounts) return pushFileCount;
else return pushFile;
}
function build$4(options) {
return options.group ? getArrayGroup : getArray;
}
function build$3(options) {
return options.group ? groupFiles : empty;
}
function build$2(options, isSynchronous) {
if (!options.resolveSymlinks || options.excludeSymlinks) return null;
return isSynchronous ? resolveSymlinks : resolveSymlinksAsync;
}
function isRecursive(path236, resolved, state) {
if (state.options.useRealPaths) return isRecursiveUsingRealPaths(resolved, state);
let parent = dirname(path236);
let depth = 1;
while (parent !== state.root && depth < 2) {
const resolvedPath = state.symlinks.get(parent);
const isSameRoot = !!resolvedPath && (resolvedPath === resolved || resolvedPath.startsWith(resolved) || resolved.startsWith(resolvedPath));
if (isSameRoot) depth++;
else parent = dirname(parent);
}
state.symlinks.set(path236, resolved);
return depth > 1;
}
function isRecursiveUsingRealPaths(resolved, state) {
return state.visited.includes(resolved + state.options.pathSeparator);
}
function report(error, callback$1, output, suppressErrors) {
if (error && !suppressErrors) callback$1(error, output);
else callback$1(null, output);
}
function build$1(options, isSynchronous) {
const { onlyCounts, group, maxFiles } = options;
if (onlyCounts) return isSynchronous ? onlyCountsSync : onlyCountsAsync;
else if (group) return isSynchronous ? groupsSync : groupsAsync;
else if (maxFiles) return isSynchronous ? limitFilesSync : limitFilesAsync;
else return isSynchronous ? defaultSync : defaultAsync;
}
function build(isSynchronous) {
return isSynchronous ? walkSync : walkAsync;
}
function promise(root, options) {
return new Promise((resolve$1, reject3) => {
callback(root, options, (err2, output) => {
if (err2) return reject3(err2);
resolve$1(output);
});
});
}
function callback(root, options, callback$1) {
let walker = new Walker(root, options, callback$1);
walker.start();
}
function sync(root, options) {
const walker = new Walker(root, options);
return walker.start();
}
var __require2, SLASHES_REGEX, WINDOWS_ROOT_DIR_REGEX, pushDirectory, pushDirectoryFilter, empty$2, pushFileFilterAndCount, pushFileFilter, pushFileCount, pushFile, empty$1, getArray, getArrayGroup, groupFiles, empty, resolveSymlinksAsync, resolveSymlinks, onlyCountsSync, groupsSync, defaultSync, limitFilesSync, onlyCountsAsync, defaultAsync, limitFilesAsync, groupsAsync, readdirOpts, walkAsync, walkSync, Queue2, Counter, Aborter, Walker, APIBuilder, pm, Builder;
var init_dist = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fdir/6.5.0/92cef02bb7338ec6f865927f0ad397886bc8d20cc74f1aee86f8d27eae78fb28/node_modules/fdir/dist/index.mjs"() {
__require2 = /* @__PURE__ */ createRequire2(import.meta.url);
SLASHES_REGEX = /[\\/]/g;
WINDOWS_ROOT_DIR_REGEX = /^[a-z]:[\\/]$/i;
pushDirectory = (directoryPath, paths3) => {
paths3.push(directoryPath || ".");
};
pushDirectoryFilter = (directoryPath, paths3, filters) => {
const path236 = directoryPath || ".";
if (filters.every((filter14) => filter14(path236, true))) paths3.push(path236);
};
empty$2 = () => {
};
pushFileFilterAndCount = (filename, _paths, counts, filters) => {
if (filters.every((filter14) => filter14(filename, false))) counts.files++;
};
pushFileFilter = (filename, paths3, _counts, filters) => {
if (filters.every((filter14) => filter14(filename, false))) paths3.push(filename);
};
pushFileCount = (_filename, _paths, counts, _filters) => {
counts.files++;
};
pushFile = (filename, paths3) => {
paths3.push(filename);
};
empty$1 = () => {
};
getArray = (paths3) => {
return paths3;
};
getArrayGroup = () => {
return [""].slice(0, 0);
};
groupFiles = (groups, directory, files) => {
groups.push({
directory,
files,
dir: directory
});
};
empty = () => {
};
resolveSymlinksAsync = function(path236, state, callback$1) {
const { queue: queue2, fs: fs126, options: { suppressErrors } } = state;
queue2.enqueue();
fs126.realpath(path236, (error, resolvedPath) => {
if (error) return queue2.dequeue(suppressErrors ? null : error, state);
fs126.stat(resolvedPath, (error$1, stat2) => {
if (error$1) return queue2.dequeue(suppressErrors ? null : error$1, state);
if (stat2.isDirectory() && isRecursive(path236, resolvedPath, state)) return queue2.dequeue(null, state);
callback$1(stat2, resolvedPath);
queue2.dequeue(null, state);
});
});
};
resolveSymlinks = function(path236, state, callback$1) {
const { queue: queue2, fs: fs126, options: { suppressErrors } } = state;
queue2.enqueue();
try {
const resolvedPath = fs126.realpathSync(path236);
const stat2 = fs126.statSync(resolvedPath);
if (stat2.isDirectory() && isRecursive(path236, resolvedPath, state)) return;
callback$1(stat2, resolvedPath);
} catch (e) {
if (!suppressErrors) throw e;
}
};
onlyCountsSync = (state) => {
return state.counts;
};
groupsSync = (state) => {
return state.groups;
};
defaultSync = (state) => {
return state.paths;
};
limitFilesSync = (state) => {
return state.paths.slice(0, state.options.maxFiles);
};
onlyCountsAsync = (state, error, callback$1) => {
report(error, callback$1, state.counts, state.options.suppressErrors);
return null;
};
defaultAsync = (state, error, callback$1) => {
report(error, callback$1, state.paths, state.options.suppressErrors);
return null;
};
limitFilesAsync = (state, error, callback$1) => {
report(error, callback$1, state.paths.slice(0, state.options.maxFiles), state.options.suppressErrors);
return null;
};
groupsAsync = (state, error, callback$1) => {
report(error, callback$1, state.groups, state.options.suppressErrors);
return null;
};
readdirOpts = { withFileTypes: true };
walkAsync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
state.queue.enqueue();
if (currentDepth < 0) return state.queue.dequeue(null, state);
const { fs: fs126 } = state;
state.visited.push(crawlPath);
state.counts.directories++;
fs126.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => {
callback$1(entries, directoryPath, currentDepth);
state.queue.dequeue(state.options.suppressErrors ? null : error, state);
});
};
walkSync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
const { fs: fs126 } = state;
if (currentDepth < 0) return;
state.visited.push(crawlPath);
state.counts.directories++;
let entries = [];
try {
entries = fs126.readdirSync(crawlPath || ".", readdirOpts);
} catch (e) {
if (!state.options.suppressErrors) throw e;
}
callback$1(entries, directoryPath, currentDepth);
};
Queue2 = class {
count = 0;
constructor(onQueueEmpty) {
this.onQueueEmpty = onQueueEmpty;
}
enqueue() {
this.count++;
return this.count;
}
dequeue(error, output) {
if (this.onQueueEmpty && (--this.count <= 0 || error)) {
this.onQueueEmpty(error, output);
if (error) {
output.controller.abort();
this.onQueueEmpty = void 0;
}
}
}
};
Counter = class {
_files = 0;
_directories = 0;
set files(num) {
this._files = num;
}
get files() {
return this._files;
}
set directories(num) {
this._directories = num;
}
get directories() {
return this._directories;
}
/**
* @deprecated use `directories` instead
*/
/* c8 ignore next 3 */
get dirs() {
return this._directories;
}
};
Aborter = class {
aborted = false;
abort() {
this.aborted = true;
}
};
Walker = class {
root;
isSynchronous;
state;
joinPath;
pushDirectory;
pushFile;
getArray;
groupFiles;
resolveSymlink;
walkDirectory;
callbackInvoker;
constructor(root, options, callback$1) {
this.isSynchronous = !callback$1;
this.callbackInvoker = build$1(options, this.isSynchronous);
this.root = normalizePath(root, options);
this.state = {
root: isRootDirectory(this.root) ? this.root : this.root.slice(0, -1),
paths: [""].slice(0, 0),
groups: [],
counts: new Counter(),
options,
queue: new Queue2((error, state) => this.callbackInvoker(state, error, callback$1)),
symlinks: /* @__PURE__ */ new Map(),
visited: [""].slice(0, 0),
controller: new Aborter(),
fs: options.fs || nativeFs
};
this.joinPath = build$7(this.root, options);
this.pushDirectory = build$6(this.root, options);
this.pushFile = build$5(options);
this.getArray = build$4(options);
this.groupFiles = build$3(options);
this.resolveSymlink = build$2(options, this.isSynchronous);
this.walkDirectory = build(this.isSynchronous);
}
start() {
this.pushDirectory(this.root, this.state.paths, this.state.options.filters);
this.walkDirectory(this.state, this.root, this.root, this.state.options.maxDepth, this.walk);
return this.isSynchronous ? this.callbackInvoker(this.state, null) : null;
}
walk = (entries, directoryPath, depth) => {
const { paths: paths3, options: { filters, resolveSymlinks: resolveSymlinks$1, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator }, controller } = this.state;
if (controller.aborted || signal && signal.aborted || maxFiles && paths3.length > maxFiles) return;
const files = this.getArray(this.state.paths);
for (let i4 = 0; i4 < entries.length; ++i4) {
const entry = entries[i4];
if (entry.isFile() || entry.isSymbolicLink() && !resolveSymlinks$1 && !excludeSymlinks) {
const filename = this.joinPath(entry.name, directoryPath);
this.pushFile(filename, files, this.state.counts, filters);
} else if (entry.isDirectory()) {
let path236 = joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator);
if (exclude && exclude(entry.name, path236)) continue;
this.pushDirectory(path236, paths3, filters);
this.walkDirectory(this.state, path236, path236, depth - 1, this.walk);
} else if (this.resolveSymlink && entry.isSymbolicLink()) {
let path236 = joinPathWithBasePath(entry.name, directoryPath);
this.resolveSymlink(path236, this.state, (stat2, resolvedPath) => {
if (stat2.isDirectory()) {
resolvedPath = normalizePath(resolvedPath, this.state.options);
if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path236 + pathSeparator)) return;
this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path236 + pathSeparator, depth - 1, this.walk);
} else {
resolvedPath = useRealPaths ? resolvedPath : path236;
const filename = basename(resolvedPath);
const directoryPath$1 = normalizePath(dirname(resolvedPath), this.state.options);
resolvedPath = this.joinPath(filename, directoryPath$1);
this.pushFile(resolvedPath, files, this.state.counts, filters);
}
});
}
}
this.groupFiles(this.state.groups, directoryPath, files);
};
};
APIBuilder = class {
constructor(root, options) {
this.root = root;
this.options = options;
}
withPromise() {
return promise(this.root, this.options);
}
withCallback(cb) {
callback(this.root, this.options, cb);
}
sync() {
return sync(this.root, this.options);
}
};
pm = null;
try {
__require2.resolve("picomatch");
pm = __require2("picomatch");
} catch {
}
Builder = class {
globCache = {};
options = {
maxDepth: Infinity,
suppressErrors: true,
pathSeparator: sep,
filters: []
};
globFunction;
constructor(options) {
this.options = {
...this.options,
...options
};
this.globFunction = this.options.globFunction;
}
group() {
this.options.group = true;
return this;
}
withPathSeparator(separator) {
this.options.pathSeparator = separator;
return this;
}
withBasePath() {
this.options.includeBasePath = true;
return this;
}
withRelativePaths() {
this.options.relativePaths = true;
return this;
}
withDirs() {
this.options.includeDirs = true;
return this;
}
withMaxDepth(depth) {
this.options.maxDepth = depth;
return this;
}
withMaxFiles(limit) {
this.options.maxFiles = limit;
return this;
}
withFullPaths() {
this.options.resolvePaths = true;
this.options.includeBasePath = true;
return this;
}
withErrors() {
this.options.suppressErrors = false;
return this;
}
withSymlinks({ resolvePaths = true } = {}) {
this.options.resolveSymlinks = true;
this.options.useRealPaths = resolvePaths;
return this.withFullPaths();
}
withAbortSignal(signal) {
this.options.signal = signal;
return this;
}
normalize() {
this.options.normalizePath = true;
return this;
}
filter(predicate) {
this.options.filters.push(predicate);
return this;
}
onlyDirs() {
this.options.excludeFiles = true;
this.options.includeDirs = true;
return this;
}
exclude(predicate) {
this.options.exclude = predicate;
return this;
}
onlyCounts() {
this.options.onlyCounts = true;
return this;
}
crawl(root) {
return new APIBuilder(root || ".", this.options);
}
withGlobFunction(fn) {
this.globFunction = fn;
return this;
}
/**
* @deprecated Pass options using the constructor instead:
* ```ts
* new fdir(options).crawl("/path/to/root");
* ```
* This method will be removed in v7.0
*/
/* c8 ignore next 4 */
crawlWithOptions(root, options) {
this.options = {
...this.options,
...options
};
return new APIBuilder(root || ".", this.options);
}
glob(...patterns) {
if (this.globFunction) return this.globWithOptions(patterns);
return this.globWithOptions(patterns, ...[{ dot: true }]);
}
globWithOptions(patterns, ...options) {
const globFn = this.globFunction || pm;
if (!globFn) throw new Error("Please specify a glob function to use glob matching.");
var isMatch = this.globCache[patterns.join("\0")];
if (!isMatch) {
isMatch = globFn(patterns, ...options);
this.globCache[patterns.join("\0")] = isMatch;
}
this.options.filters.push((path236) => isMatch(path236));
return this;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/constants.js
var require_constants7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/constants.js"(exports2, module2) {
"use strict";
var WIN_SLASH = "\\\\/";
var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
var DEFAULT_MAX_EXTGLOB_RECURSION = 0;
var DOT_LITERAL = "\\.";
var PLUS_LITERAL = "\\+";
var QMARK_LITERAL = "\\?";
var SLASH_LITERAL = "\\/";
var ONE_CHAR = "(?=.)";
var QMARK = "[^/]";
var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
var NO_DOT = `(?!${DOT_LITERAL})`;
var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
var STAR = `${QMARK}*?`;
var SEP3 = "/";
var POSIX_CHARS = {
DOT_LITERAL,
PLUS_LITERAL,
QMARK_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP: SEP3
};
var WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: `[${WIN_SLASH}]`,
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
NO_DOT: `(?!${DOT_LITERAL})`,
NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
SEP: "\\"
};
var POSIX_REGEX_SOURCE = {
__proto__: null,
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"
};
module2.exports = {
DEFAULT_MAX_EXTGLOB_RECURSION,
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// 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: {
__proto__: null,
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// 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 */
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win32) {
return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/utils.js
var require_utils6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/utils.js"(exports2) {
"use strict";
var {
REGEX_BACKSLASH,
REGEX_REMOVE_BACKSLASH,
REGEX_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_GLOBAL
} = require_constants7();
exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
exports2.hasRegexChars = (str2) => REGEX_SPECIAL_CHARS.test(str2);
exports2.isRegexChar = (str2) => str2.length === 1 && exports2.hasRegexChars(str2);
exports2.escapeRegex = (str2) => str2.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
exports2.toPosixSlashes = (str2) => str2.replace(REGEX_BACKSLASH, "/");
exports2.isWindows = () => {
if (typeof navigator !== "undefined" && navigator.platform) {
const platform5 = navigator.platform.toLowerCase();
return platform5 === "win32" || platform5 === "windows";
}
if (typeof process !== "undefined" && process.platform) {
return process.platform === "win32";
}
return false;
};
exports2.removeBackslashes = (str2) => {
return str2.replace(REGEX_REMOVE_BACKSLASH, (match) => {
return match === "\\" ? "" : match;
});
};
exports2.escapeLast = (input, char, lastIdx) => {
const idx = input.lastIndexOf(char, lastIdx);
if (idx === -1) return input;
if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
return `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports2.removePrefix = (input, state = {}) => {
let output = input;
if (output.startsWith("./")) {
output = output.slice(2);
state.prefix = "./";
}
return output;
};
exports2.wrapOutput = (input, state = {}, options = {}) => {
const prepend = options.contains ? "" : "^";
const append = options.contains ? "" : "$";
let output = `${prepend}(?:${input})${append}`;
if (state.negated === true) {
output = `(?:^(?!${output}).*$)`;
}
return output;
};
exports2.basename = (path236, { windows } = {}) => {
const segs = path236.split(windows ? /[\\/]/ : "/");
const last = segs[segs.length - 1];
if (last === "") {
return segs[segs.length - 2];
}
return last;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/scan.js
var require_scan3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/scan.js"(exports2, module2) {
"use strict";
var utils = require_utils6();
var {
CHAR_ASTERISK: CHAR_ASTERISK2,
/* * */
CHAR_AT,
/* @ */
CHAR_BACKWARD_SLASH,
/* \ */
CHAR_COMMA: CHAR_COMMA2,
/* , */
CHAR_DOT,
/* . */
CHAR_EXCLAMATION_MARK,
/* ! */
CHAR_FORWARD_SLASH,
/* / */
CHAR_LEFT_CURLY_BRACE,
/* { */
CHAR_LEFT_PARENTHESES,
/* ( */
CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET2,
/* [ */
CHAR_PLUS,
/* + */
CHAR_QUESTION_MARK,
/* ? */
CHAR_RIGHT_CURLY_BRACE,
/* } */
CHAR_RIGHT_PARENTHESES,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET2
/* ] */
} = require_constants7();
var isPathSeparator = (code) => {
return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
};
var depth = (token) => {
if (token.isPrefix !== true) {
token.depth = token.isGlobstar ? Infinity : 1;
}
};
var scan3 = (input, options) => {
const opts3 = options || {};
const length = input.length - 1;
const scanToEnd = opts3.parts === true || opts3.scanToEnd === true;
const slashes = [];
const tokens = [];
const parts = [];
let str2 = input;
let index2 = -1;
let start = 0;
let lastIndex = 0;
let isBrace = false;
let isBracket = false;
let isGlob = false;
let isExtglob = false;
let isGlobstar = false;
let braceEscaped = false;
let backslashes = false;
let negated = false;
let negatedExtglob = false;
let finished7 = false;
let braces = 0;
let prev;
let code;
let token = { value: "", depth: 0, isGlob: false };
const eos = () => index2 >= length;
const peek = () => str2.charCodeAt(index2 + 1);
const advance = () => {
prev = code;
return str2.charCodeAt(++index2);
};
while (index2 < length) {
code = advance();
let next2;
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
if (code === CHAR_LEFT_CURLY_BRACE) {
braceEscaped = true;
}
continue;
}
if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
braces++;
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (code === CHAR_LEFT_CURLY_BRACE) {
braces++;
continue;
}
if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (braceEscaped !== true && code === CHAR_COMMA2) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_RIGHT_CURLY_BRACE) {
braces--;
if (braces === 0) {
braceEscaped = false;
isBrace = token.isBrace = true;
finished7 = true;
break;
}
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_FORWARD_SLASH) {
slashes.push(index2);
tokens.push(token);
token = { value: "", depth: 0, isGlob: false };
if (finished7 === true) continue;
if (prev === CHAR_DOT && index2 === start + 1) {
start += 2;
continue;
}
lastIndex = index2 + 1;
continue;
}
if (opts3.noext !== true) {
const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK2 || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
isExtglob = token.isExtglob = true;
finished7 = true;
if (code === CHAR_EXCLAMATION_MARK && index2 === start) {
negatedExtglob = true;
}
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
isGlob = token.isGlob = true;
finished7 = true;
break;
}
}
continue;
}
break;
}
}
if (code === CHAR_ASTERISK2) {
if (prev === CHAR_ASTERISK2) isGlobstar = token.isGlobstar = true;
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_QUESTION_MARK) {
isGlob = token.isGlob = true;
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_LEFT_SQUARE_BRACKET2) {
while (eos() !== true && (next2 = advance())) {
if (next2 === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (next2 === CHAR_RIGHT_SQUARE_BRACKET2) {
isBracket = token.isBracket = true;
isGlob = token.isGlob = true;
finished7 = true;
break;
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (opts3.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index2 === start) {
negated = token.negated = true;
start++;
continue;
}
if (opts3.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_LEFT_PARENTHESES) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
finished7 = true;
break;
}
}
continue;
}
break;
}
if (isGlob === true) {
finished7 = true;
if (scanToEnd === true) {
continue;
}
break;
}
}
if (opts3.noext === true) {
isExtglob = false;
isGlob = false;
}
let base = str2;
let prefix = "";
let glob2 = "";
if (start > 0) {
prefix = str2.slice(0, start);
str2 = str2.slice(start);
lastIndex -= start;
}
if (base && isGlob === true && lastIndex > 0) {
base = str2.slice(0, lastIndex);
glob2 = str2.slice(lastIndex);
} else if (isGlob === true) {
base = "";
glob2 = str2;
} else {
base = str2;
}
if (base && base !== "" && base !== "/" && base !== str2) {
if (isPathSeparator(base.charCodeAt(base.length - 1))) {
base = base.slice(0, -1);
}
}
if (opts3.unescape === true) {
if (glob2) glob2 = utils.removeBackslashes(glob2);
if (base && backslashes === true) {
base = utils.removeBackslashes(base);
}
}
const state = {
prefix,
input,
start,
base,
glob: glob2,
isBrace,
isBracket,
isGlob,
isExtglob,
isGlobstar,
negated,
negatedExtglob
};
if (opts3.tokens === true) {
state.maxDepth = 0;
if (!isPathSeparator(code)) {
tokens.push(token);
}
state.tokens = tokens;
}
if (opts3.parts === true || opts3.tokens === true) {
let prevIndex;
for (let idx = 0; idx < slashes.length; idx++) {
const n2 = prevIndex ? prevIndex + 1 : start;
const i4 = slashes[idx];
const value = input.slice(n2, i4);
if (opts3.tokens) {
if (idx === 0 && start !== 0) {
tokens[idx].isPrefix = true;
tokens[idx].value = prefix;
} else {
tokens[idx].value = value;
}
depth(tokens[idx]);
state.maxDepth += tokens[idx].depth;
}
if (idx !== 0 || value !== "") {
parts.push(value);
}
prevIndex = i4;
}
if (prevIndex && prevIndex + 1 < input.length) {
const value = input.slice(prevIndex + 1);
parts.push(value);
if (opts3.tokens) {
tokens[tokens.length - 1].value = value;
depth(tokens[tokens.length - 1]);
state.maxDepth += tokens[tokens.length - 1].depth;
}
}
state.slashes = slashes;
state.parts = parts;
}
return state;
};
module2.exports = scan3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/parse.js
var require_parse6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/parse.js"(exports2, module2) {
"use strict";
var constants6 = require_constants7();
var utils = require_utils6();
var {
MAX_LENGTH,
POSIX_REGEX_SOURCE,
REGEX_NON_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_BACKREF,
REPLACEMENTS
} = constants6;
var expandRange = (args, options) => {
if (typeof options.expandRange === "function") {
return options.expandRange(...args, options);
}
args.sort();
const value = `[${args.join("-")}]`;
try {
new RegExp(value);
} catch (ex) {
return args.map((v) => utils.escapeRegex(v)).join("..");
}
return value;
};
var syntaxError = (type4, char) => {
return `Missing ${type4}: "${char}" - use "\\\\${char}" to match literal characters`;
};
var splitTopLevel = (input) => {
const parts = [];
let bracket = 0;
let paren = 0;
let quote2 = 0;
let value = "";
let escaped = false;
for (const ch of input) {
if (escaped === true) {
value += ch;
escaped = false;
continue;
}
if (ch === "\\") {
value += ch;
escaped = true;
continue;
}
if (ch === '"') {
quote2 = quote2 === 1 ? 0 : 1;
value += ch;
continue;
}
if (quote2 === 0) {
if (ch === "[") {
bracket++;
} else if (ch === "]" && bracket > 0) {
bracket--;
} else if (bracket === 0) {
if (ch === "(") {
paren++;
} else if (ch === ")" && paren > 0) {
paren--;
} else if (ch === "|" && paren === 0) {
parts.push(value);
value = "";
continue;
}
}
}
value += ch;
}
parts.push(value);
return parts;
};
var isPlainBranch = (branch) => {
let escaped = false;
for (const ch of branch) {
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (/[?*+@!()[\]{}]/.test(ch)) {
return false;
}
}
return true;
};
var normalizeSimpleBranch = (branch) => {
let value = branch.trim();
let changed = true;
while (changed === true) {
changed = false;
if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
value = value.slice(2, -1);
changed = true;
}
}
if (!isPlainBranch(value)) {
return;
}
return value.replace(/\\(.)/g, "$1");
};
var hasRepeatedCharPrefixOverlap = (branches) => {
const values = branches.map(normalizeSimpleBranch).filter(Boolean);
for (let i4 = 0; i4 < values.length; i4++) {
for (let j2 = i4 + 1; j2 < values.length; j2++) {
const a2 = values[i4];
const b = values[j2];
const char = a2[0];
if (!char || a2 !== char.repeat(a2.length) || b !== char.repeat(b.length)) {
continue;
}
if (a2 === b || a2.startsWith(b) || b.startsWith(a2)) {
return true;
}
}
}
return false;
};
var parseRepeatedExtglob = (pattern, requireEnd = true) => {
if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") {
return;
}
let bracket = 0;
let paren = 0;
let quote2 = 0;
let escaped = false;
for (let i4 = 1; i4 < pattern.length; i4++) {
const ch = pattern[i4];
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (ch === '"') {
quote2 = quote2 === 1 ? 0 : 1;
continue;
}
if (quote2 === 1) {
continue;
}
if (ch === "[") {
bracket++;
continue;
}
if (ch === "]" && bracket > 0) {
bracket--;
continue;
}
if (bracket > 0) {
continue;
}
if (ch === "(") {
paren++;
continue;
}
if (ch === ")") {
paren--;
if (paren === 0) {
if (requireEnd === true && i4 !== pattern.length - 1) {
return;
}
return {
type: pattern[0],
body: pattern.slice(2, i4),
end: i4
};
}
}
}
};
var buildCharClassStar = (chars) => {
const source = chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`;
return `${source}*`;
};
var getStarExtglobSequenceChars = (pattern) => {
let index2 = 0;
const chars = [];
while (index2 < pattern.length) {
const match = parseRepeatedExtglob(pattern.slice(index2), false);
if (!match || match.type !== "*") {
return;
}
const branches = splitTopLevel(match.body).map((branch2) => branch2.trim());
if (branches.length !== 1) {
return;
}
const branch = normalizeSimpleBranch(branches[0]);
if (!branch || branch.length !== 1) {
return;
}
chars.push(branch);
index2 += match.end + 1;
}
if (chars.length < 1) {
return;
}
return chars;
};
var repeatedExtglobRecursion = (pattern) => {
let depth = 0;
let value = pattern.trim();
let match = parseRepeatedExtglob(value);
while (match) {
depth++;
value = match.body.trim();
match = parseRepeatedExtglob(value);
}
return depth;
};
var analyzeRepeatedExtglob = (body, options) => {
if (options.maxExtglobRecursion === false) {
return { risky: false };
}
const max4 = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants6.DEFAULT_MAX_EXTGLOB_RECURSION;
const branches = splitTopLevel(body).map((branch) => branch.trim());
if (branches.length > 1) {
if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) {
return { risky: true };
}
}
const safeChars = [];
let sawStarSequence = false;
let combinable = true;
for (const branch of branches) {
const chars = getStarExtglobSequenceChars(branch);
if (chars) {
sawStarSequence = true;
safeChars.push(...chars);
continue;
}
const literal = normalizeSimpleBranch(branch);
if (literal && literal.length === 1) {
safeChars.push(literal);
continue;
}
combinable = false;
if (repeatedExtglobRecursion(branch) > max4) {
return { risky: true };
}
}
if (sawStarSequence) {
return combinable ? { risky: true, safeOutput: buildCharClassStar([...new Set(safeChars)]) } : { risky: true };
}
return { risky: false };
};
var parse12 = (input, options) => {
if (typeof input !== "string") {
throw new TypeError("Expected a string");
}
input = REPLACEMENTS[input] || input;
const opts3 = { ...options };
const max4 = typeof opts3.maxLength === "number" ? Math.min(MAX_LENGTH, opts3.maxLength) : MAX_LENGTH;
let len = input.length;
if (len > max4) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max4}`);
}
const bos = { type: "bos", value: "", output: opts3.prepend || "" };
const tokens = [bos];
const capture = opts3.capture ? "" : "?:";
const PLATFORM_CHARS = constants6.globChars(opts3.windows);
const EXTGLOB_CHARS = constants6.extglobChars(PLATFORM_CHARS);
const {
DOT_LITERAL,
PLUS_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK,
QMARK_NO_DOT,
STAR,
START_ANCHOR
} = PLATFORM_CHARS;
const globstar = (opts4) => {
return `(${capture}(?:(?!${START_ANCHOR}${opts4.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const nodot = opts3.dot ? "" : NO_DOT;
const qmarkNoDot = opts3.dot ? QMARK : QMARK_NO_DOT;
let star = opts3.bash === true ? globstar(opts3) : STAR;
if (opts3.capture) {
star = `(${star})`;
}
if (typeof opts3.noext === "boolean") {
opts3.noextglob = opts3.noext;
}
const state = {
input,
index: -1,
start: 0,
dot: opts3.dot === true,
consumed: "",
output: "",
prefix: "",
backtrack: false,
negated: false,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: false,
tokens
};
input = utils.removePrefix(input, state);
len = input.length;
const extglobs = [];
const braces = [];
const stack = [];
let prev = bos;
let value;
const eos = () => state.index === len - 1;
const peek = state.peek = (n2 = 1) => input[state.index + n2];
const advance = state.advance = () => input[++state.index] || "";
const remaining = () => input.slice(state.index + 1);
const consume = (value2 = "", num = 0) => {
state.consumed += value2;
state.index += num;
};
const append = (token) => {
state.output += token.output != null ? token.output : token.value;
consume(token.value);
};
const negate = () => {
let count2 = 1;
while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
advance();
state.start++;
count2++;
}
if (count2 % 2 === 0) {
return false;
}
state.negated = true;
state.start++;
return true;
};
const increment2 = (type4) => {
state[type4]++;
stack.push(type4);
};
const decrement = (type4) => {
state[type4]--;
stack.pop();
};
const push = (tok) => {
if (prev.type === "globstar") {
const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
state.output = state.output.slice(0, -prev.output.length);
prev.type = "star";
prev.value = "*";
prev.output = star;
state.output += prev.output;
}
}
if (extglobs.length && tok.type !== "paren") {
extglobs[extglobs.length - 1].inner += tok.value;
}
if (tok.value || tok.output) append(tok);
if (prev && prev.type === "text" && tok.type === "text") {
prev.output = (prev.output || prev.value) + tok.value;
prev.value += tok.value;
return;
}
tok.prev = prev;
tokens.push(tok);
prev = tok;
};
const extglobOpen = (type4, value2) => {
const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
token.prev = prev;
token.parens = state.parens;
token.output = state.output;
token.startIndex = state.index;
token.tokensIndex = tokens.length;
const output = (opts3.capture ? "(" : "") + token.open;
increment2("parens");
push({ type: type4, value: value2, output: state.output ? "" : ONE_CHAR });
push({ type: "paren", extglob: true, value: advance(), output });
extglobs.push(token);
};
const extglobClose = (token) => {
const literal = input.slice(token.startIndex, state.index + 1);
const body = input.slice(token.startIndex + 2, state.index);
const analysis = analyzeRepeatedExtglob(body, opts3);
if ((token.type === "plus" || token.type === "star") && analysis.risky) {
const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts3.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : void 0;
const open3 = tokens[token.tokensIndex];
open3.type = "text";
open3.value = literal;
open3.output = safeOutput || utils.escapeRegex(literal);
for (let i4 = token.tokensIndex + 1; i4 < tokens.length; i4++) {
tokens[i4].value = "";
tokens[i4].output = "";
delete tokens[i4].suffix;
}
state.output = token.output + open3.output;
state.backtrack = true;
push({ type: "paren", extglob: true, value, output: "" });
decrement("parens");
return;
}
let output = token.close + (opts3.capture ? ")" : "");
let rest;
if (token.type === "negate") {
let extglobStar = star;
if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
extglobStar = globstar(opts3);
}
if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
output = token.close = `)$))${extglobStar}`;
}
if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
const expression = parse12(rest, { ...options, fastpaths: false }).output;
output = token.close = `)${expression})${extglobStar})`;
}
if (token.prev.type === "bos") {
state.negatedExtglob = true;
}
}
push({ type: "paren", extglob: true, value, output });
decrement("parens");
};
if (opts3.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
let backslashes = false;
let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index2) => {
if (first === "\\") {
backslashes = true;
return m;
}
if (first === "?") {
if (esc) {
return esc + first + (rest ? QMARK.repeat(rest.length) : "");
}
if (index2 === 0) {
return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
}
return QMARK.repeat(chars.length);
}
if (first === ".") {
return DOT_LITERAL.repeat(chars.length);
}
if (first === "*") {
if (esc) {
return esc + first + (rest ? star : "");
}
return star;
}
return esc ? m : `\\${m}`;
});
if (backslashes === true) {
if (opts3.unescape === true) {
output = output.replace(/\\/g, "");
} else {
output = output.replace(/\\+/g, (m) => {
return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
});
}
}
if (output === input && opts3.contains === true) {
state.output = input;
return state;
}
state.output = utils.wrapOutput(output, state, options);
return state;
}
while (!eos()) {
value = advance();
if (value === "\0") {
continue;
}
if (value === "\\") {
const next2 = peek();
if (next2 === "/" && opts3.bash !== true) {
continue;
}
if (next2 === "." || next2 === ";") {
continue;
}
if (!next2) {
value += "\\";
push({ type: "text", value });
continue;
}
const match = /^\\+/.exec(remaining());
let slashes = 0;
if (match && match[0].length > 2) {
slashes = match[0].length;
state.index += slashes;
if (slashes % 2 !== 0) {
value += "\\";
}
}
if (opts3.unescape === true) {
value = advance();
} else {
value += advance();
}
if (state.brackets === 0) {
push({ type: "text", value });
continue;
}
}
if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
if (opts3.posix !== false && value === ":") {
const inner = prev.value.slice(1);
if (inner.includes("[")) {
prev.posix = true;
if (inner.includes(":")) {
const idx = prev.value.lastIndexOf("[");
const pre = prev.value.slice(0, idx);
const rest2 = prev.value.slice(idx + 2);
const posix2 = POSIX_REGEX_SOURCE[rest2];
if (posix2) {
prev.value = pre + posix2;
state.backtrack = true;
advance();
if (!bos.output && tokens.indexOf(prev) === 1) {
bos.output = ONE_CHAR;
}
continue;
}
}
}
}
if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
value = `\\${value}`;
}
if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
value = `\\${value}`;
}
if (opts3.posix === true && value === "!" && prev.value === "[") {
value = "^";
}
prev.value += value;
append({ value });
continue;
}
if (state.quotes === 1 && value !== '"') {
value = utils.escapeRegex(value);
prev.value += value;
append({ value });
continue;
}
if (value === '"') {
state.quotes = state.quotes === 1 ? 0 : 1;
if (opts3.keepQuotes === true) {
push({ type: "text", value });
}
continue;
}
if (value === "(") {
increment2("parens");
push({ type: "paren", value });
continue;
}
if (value === ")") {
if (state.parens === 0 && opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "("));
}
const extglob = extglobs[extglobs.length - 1];
if (extglob && state.parens === extglob.parens + 1) {
extglobClose(extglobs.pop());
continue;
}
push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
decrement("parens");
continue;
}
if (value === "[") {
if (opts3.nobracket === true || !remaining().includes("]")) {
if (opts3.nobracket !== true && opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("closing", "]"));
}
value = `\\${value}`;
} else {
increment2("brackets");
}
push({ type: "bracket", value });
continue;
}
if (value === "]") {
if (opts3.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
push({ type: "text", value, output: `\\${value}` });
continue;
}
if (state.brackets === 0) {
if (opts3.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "["));
}
push({ type: "text", value, output: `\\${value}` });
continue;
}
decrement("brackets");
const prevValue = prev.value.slice(1);
if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
value = `/${value}`;
}
prev.value += value;
append({ value });
if (opts3.literalBrackets === false || utils.hasRegexChars(prevValue)) {
continue;
}
const escaped = utils.escapeRegex(prev.value);
state.output = state.output.slice(0, -prev.value.length);
if (opts3.literalBrackets === true) {
state.output += escaped;
prev.value = escaped;
continue;
}
prev.value = `(${capture}${escaped}|${prev.value})`;
state.output += prev.value;
continue;
}
if (value === "{" && opts3.nobrace !== true) {
increment2("braces");
const open3 = {
type: "brace",
value,
output: "(",
outputIndex: state.output.length,
tokensIndex: state.tokens.length
};
braces.push(open3);
push(open3);
continue;
}
if (value === "}") {
const brace = braces[braces.length - 1];
if (opts3.nobrace === true || !brace) {
push({ type: "text", value, output: value });
continue;
}
let output = ")";
if (brace.dots === true) {
const arr = tokens.slice();
const range = [];
for (let i4 = arr.length - 1; i4 >= 0; i4--) {
tokens.pop();
if (arr[i4].type === "brace") {
break;
}
if (arr[i4].type !== "dots") {
range.unshift(arr[i4].value);
}
}
output = expandRange(range, opts3);
state.backtrack = true;
}
if (brace.comma !== true && brace.dots !== true) {
const out = state.output.slice(0, brace.outputIndex);
const toks = state.tokens.slice(brace.tokensIndex);
brace.value = brace.output = "\\{";
value = output = "\\}";
state.output = out;
for (const t2 of toks) {
state.output += t2.output || t2.value;
}
}
push({ type: "brace", value, output });
decrement("braces");
braces.pop();
continue;
}
if (value === "|") {
if (extglobs.length > 0) {
extglobs[extglobs.length - 1].conditions++;
}
push({ type: "text", value });
continue;
}
if (value === ",") {
let output = value;
const brace = braces[braces.length - 1];
if (brace && stack[stack.length - 1] === "braces") {
brace.comma = true;
output = "|";
}
push({ type: "comma", value, output });
continue;
}
if (value === "/") {
if (prev.type === "dot" && state.index === state.start + 1) {
state.start = state.index + 1;
state.consumed = "";
state.output = "";
tokens.pop();
prev = bos;
continue;
}
push({ type: "slash", value, output: SLASH_LITERAL });
continue;
}
if (value === ".") {
if (state.braces > 0 && prev.type === "dot") {
if (prev.value === ".") prev.output = DOT_LITERAL;
const brace = braces[braces.length - 1];
prev.type = "dots";
prev.output += value;
prev.value += value;
brace.dots = true;
continue;
}
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
push({ type: "text", value, output: DOT_LITERAL });
continue;
}
push({ type: "dot", value, output: DOT_LITERAL });
continue;
}
if (value === "?") {
const isGroup2 = prev && prev.value === "(";
if (!isGroup2 && opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("qmark", value);
continue;
}
if (prev && prev.type === "paren") {
const next2 = peek();
let output = value;
if (prev.value === "(" && !/[!=<:]/.test(next2) || next2 === "<" && !/<([!=]|\w+>)/.test(remaining())) {
output = `\\${value}`;
}
push({ type: "text", value, output });
continue;
}
if (opts3.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
push({ type: "qmark", value, output: QMARK_NO_DOT });
continue;
}
push({ type: "qmark", value, output: QMARK });
continue;
}
if (value === "!") {
if (opts3.noextglob !== true && peek() === "(") {
if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
extglobOpen("negate", value);
continue;
}
}
if (opts3.nonegate !== true && state.index === 0) {
negate();
continue;
}
}
if (value === "+") {
if (opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("plus", value);
continue;
}
if (prev && prev.value === "(" || opts3.regex === false) {
push({ type: "plus", value, output: PLUS_LITERAL });
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
push({ type: "plus", value });
continue;
}
push({ type: "plus", value: PLUS_LITERAL });
continue;
}
if (value === "@") {
if (opts3.noextglob !== true && peek() === "(" && peek(2) !== "?") {
push({ type: "at", extglob: true, value, output: "" });
continue;
}
push({ type: "text", value });
continue;
}
if (value !== "*") {
if (value === "$" || value === "^") {
value = `\\${value}`;
}
const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
if (match) {
value += match[0];
state.index += match[0].length;
}
push({ type: "text", value });
continue;
}
if (prev && (prev.type === "globstar" || prev.star === true)) {
prev.type = "star";
prev.star = true;
prev.value += value;
prev.output = star;
state.backtrack = true;
state.globstar = true;
consume(value);
continue;
}
let rest = remaining();
if (opts3.noextglob !== true && /^\([^?]/.test(rest)) {
extglobOpen("star", value);
continue;
}
if (prev.type === "star") {
if (opts3.noglobstar === true) {
consume(value);
continue;
}
const prior = prev.prev;
const before = prior.prev;
const isStart = prior.type === "slash" || prior.type === "bos";
const afterStar = before && (before.type === "star" || before.type === "globstar");
if (opts3.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
push({ type: "star", value, output: "" });
continue;
}
const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
push({ type: "star", value, output: "" });
continue;
}
while (rest.slice(0, 3) === "/**") {
const after = input[state.index + 4];
if (after && after !== "/") {
break;
}
rest = rest.slice(3);
consume("/**", 3);
}
if (prior.type === "bos" && eos()) {
prev.type = "globstar";
prev.value += value;
prev.output = globstar(opts3);
state.output = prev.output;
state.globstar = true;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = globstar(opts3) + (opts3.strictSlashes ? ")" : "|$)");
prev.value += value;
state.globstar = true;
state.output += prior.output + prev.output;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
const end = rest[1] !== void 0 ? "|$" : "";
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = `${globstar(opts3)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
prev.value += value;
state.output += prior.output + prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
if (prior.type === "bos" && rest[0] === "/") {
prev.type = "globstar";
prev.value += value;
prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts3)}${SLASH_LITERAL})`;
state.output = prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
state.output = state.output.slice(0, -prev.output.length);
prev.type = "globstar";
prev.output = globstar(opts3);
prev.value += value;
state.output += prev.output;
state.globstar = true;
consume(value);
continue;
}
const token = { type: "star", value, output: star };
if (opts3.bash === true) {
token.output = ".*?";
if (prev.type === "bos" || prev.type === "slash") {
token.output = nodot + token.output;
}
push(token);
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts3.regex === true) {
token.output = value;
push(token);
continue;
}
if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
if (prev.type === "dot") {
state.output += NO_DOT_SLASH;
prev.output += NO_DOT_SLASH;
} else if (opts3.dot === true) {
state.output += NO_DOTS_SLASH;
prev.output += NO_DOTS_SLASH;
} else {
state.output += nodot;
prev.output += nodot;
}
if (peek() !== "*") {
state.output += ONE_CHAR;
prev.output += ONE_CHAR;
}
}
push(token);
}
while (state.brackets > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
state.output = utils.escapeLast(state.output, "[");
decrement("brackets");
}
while (state.parens > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
state.output = utils.escapeLast(state.output, "(");
decrement("parens");
}
while (state.braces > 0) {
if (opts3.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
state.output = utils.escapeLast(state.output, "{");
decrement("braces");
}
if (opts3.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
}
if (state.backtrack === true) {
state.output = "";
for (const token of state.tokens) {
state.output += token.output != null ? token.output : token.value;
if (token.suffix) {
state.output += token.suffix;
}
}
}
return state;
};
parse12.fastpaths = (input, options) => {
const opts3 = { ...options };
const max4 = typeof opts3.maxLength === "number" ? Math.min(MAX_LENGTH, opts3.maxLength) : MAX_LENGTH;
const len = input.length;
if (len > max4) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max4}`);
}
input = REPLACEMENTS[input] || input;
const {
DOT_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOTS_SLASH,
STAR,
START_ANCHOR
} = constants6.globChars(opts3.windows);
const nodot = opts3.dot ? NO_DOTS : NO_DOT;
const slashDot = opts3.dot ? NO_DOTS_SLASH : NO_DOT;
const capture = opts3.capture ? "" : "?:";
const state = { negated: false, prefix: "" };
let star = opts3.bash === true ? ".*?" : STAR;
if (opts3.capture) {
star = `(${star})`;
}
const globstar = (opts4) => {
if (opts4.noglobstar === true) return star;
return `(${capture}(?:(?!${START_ANCHOR}${opts4.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const create = (str2) => {
switch (str2) {
case "*":
return `${nodot}${ONE_CHAR}${star}`;
case ".*":
return `${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*.*":
return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*/*":
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
case "**":
return nodot + globstar(opts3);
case "**/*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
case "**/*.*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "**/.*":
return `(?:${nodot}${globstar(opts3)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
default: {
const match = /^(.*?)\.(\w+)$/.exec(str2);
if (!match) return;
const source2 = create(match[1]);
if (!source2) return;
return source2 + DOT_LITERAL + match[2];
}
}
};
const output = utils.removePrefix(input, state);
let source = create(output);
if (source && opts3.strictSlashes !== true) {
source += `${SLASH_LITERAL}?`;
}
return source;
};
module2.exports = parse12;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/picomatch.js
var require_picomatch3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
"use strict";
var scan3 = require_scan3();
var parse12 = require_parse6();
var utils = require_utils6();
var constants6 = require_constants7();
var isObject4 = (val) => val && typeof val === "object" && !Array.isArray(val);
var picomatch2 = (glob2, options, returnState = false) => {
if (Array.isArray(glob2)) {
const fns = glob2.map((input) => picomatch2(input, options, returnState));
const arrayMatcher = (str2) => {
for (const isMatch of fns) {
const state2 = isMatch(str2);
if (state2) return state2;
}
return false;
};
return arrayMatcher;
}
const isState = isObject4(glob2) && glob2.tokens && glob2.input;
if (glob2 === "" || typeof glob2 !== "string" && !isState) {
throw new TypeError("Expected pattern to be a non-empty string");
}
const opts3 = options || {};
const posix2 = opts3.windows;
const regex2 = isState ? picomatch2.compileRe(glob2, options) : picomatch2.makeRe(glob2, options, false, true);
const state = regex2.state;
delete regex2.state;
let isIgnored = () => false;
if (opts3.ignore) {
const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
isIgnored = picomatch2(opts3.ignore, ignoreOpts, returnState);
}
const matcher = (input, returnObject = false) => {
const { isMatch, match, output } = picomatch2.test(input, regex2, options, { glob: glob2, posix: posix2 });
const result2 = { glob: glob2, state, regex: regex2, posix: posix2, input, output, match, isMatch };
if (typeof opts3.onResult === "function") {
opts3.onResult(result2);
}
if (isMatch === false) {
result2.isMatch = false;
return returnObject ? result2 : false;
}
if (isIgnored(input)) {
if (typeof opts3.onIgnore === "function") {
opts3.onIgnore(result2);
}
result2.isMatch = false;
return returnObject ? result2 : false;
}
if (typeof opts3.onMatch === "function") {
opts3.onMatch(result2);
}
return returnObject ? result2 : true;
};
if (returnState) {
matcher.state = state;
}
return matcher;
};
picomatch2.test = (input, regex2, options, { glob: glob2, posix: posix2 } = {}) => {
if (typeof input !== "string") {
throw new TypeError("Expected input to be a string");
}
if (input === "") {
return { isMatch: false, output: "" };
}
const opts3 = options || {};
const format2 = opts3.format || (posix2 ? utils.toPosixSlashes : null);
let match = input === glob2;
let output = match && format2 ? format2(input) : input;
if (match === false) {
output = format2 ? format2(input) : input;
match = output === glob2;
}
if (match === false || opts3.capture === true) {
if (opts3.matchBase === true || opts3.basename === true) {
match = picomatch2.matchBase(input, regex2, options, posix2);
} else {
match = regex2.exec(output);
}
}
return { isMatch: Boolean(match), match, output };
};
picomatch2.matchBase = (input, glob2, options, posix2 = options && options.windows) => {
const regex2 = glob2 instanceof RegExp ? glob2 : picomatch2.makeRe(glob2, options);
return regex2.test(utils.basename(input, { windows: posix2 }));
};
picomatch2.isMatch = (str2, patterns, options) => picomatch2(patterns, options)(str2);
picomatch2.parse = (pattern, options) => {
if (Array.isArray(pattern)) return pattern.map((p) => picomatch2.parse(p, options));
return parse12(pattern, { ...options, fastpaths: false });
};
picomatch2.scan = (input, options) => scan3(input, options);
picomatch2.compileRe = (state, options, returnOutput = false, returnState = false) => {
if (returnOutput === true) {
return state.output;
}
const opts3 = options || {};
const prepend = opts3.contains ? "" : "^";
const append = opts3.contains ? "" : "$";
let source = `${prepend}(?:${state.output})${append}`;
if (state && state.negated === true) {
source = `^(?!${source}).*$`;
}
const regex2 = picomatch2.toRegex(source, options);
if (returnState === true) {
regex2.state = state;
}
return regex2;
};
picomatch2.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
if (!input || typeof input !== "string") {
throw new TypeError("Expected a non-empty string");
}
let parsed = { negated: false, fastpaths: true };
if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
parsed.output = parse12.fastpaths(input, options);
}
if (!parsed.output) {
parsed = parse12(input, options);
}
return picomatch2.compileRe(parsed, options, returnOutput, returnState);
};
picomatch2.toRegex = (source, options) => {
try {
const opts3 = options || {};
return new RegExp(source, opts3.flags || (opts3.nocase ? "i" : ""));
} catch (err2) {
if (options && options.debug === true) throw err2;
return /$^/;
}
};
picomatch2.constants = constants6;
module2.exports = picomatch2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/index.js
var require_picomatch4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/index.js"(exports2, module2) {
"use strict";
var pico = require_picomatch3();
var utils = require_utils6();
function picomatch2(glob2, options, returnState = false) {
if (options && (options.windows === null || options.windows === void 0)) {
options = { ...options, windows: utils.isWindows() };
}
return pico(glob2, options, returnState);
}
Object.assign(picomatch2, pico);
module2.exports = picomatch2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinyglobby/0.2.17/a3c70ed15c4e9e54ff4a3063cdf51313cc7d5d784275a9d776aa8e5fc0163ea8/node_modules/tinyglobby/dist/index.mjs
import { readdir, readdirSync, realpath, realpathSync, stat, statSync } from "fs";
import { isAbsolute, posix, resolve as resolve2 } from "path";
import { fileURLToPath } from "url";
function getPartialMatcher(patterns, options = {}) {
const patternsCount = patterns.length;
const patternsParts = Array(patternsCount);
const matchers = Array(patternsCount);
let i4, j2;
for (i4 = 0; i4 < patternsCount; i4++) {
const parts = splitPattern(patterns[i4]);
patternsParts[i4] = parts;
const partsCount = parts.length;
const partMatchers = Array(partsCount);
for (j2 = 0; j2 < partsCount; j2++) partMatchers[j2] = (0, import_picomatch.default)(parts[j2], options);
matchers[i4] = partMatchers;
}
return (input) => {
const inputParts = input.split("/");
if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) return true;
for (i4 = 0; i4 < patternsCount; i4++) {
const patternParts = patternsParts[i4];
const matcher = matchers[i4];
const inputPatternCount = inputParts.length;
const minParts = Math.min(inputPatternCount, patternParts.length);
j2 = 0;
while (j2 < minParts) {
const part = patternParts[j2];
if (part.includes("/")) return true;
if (!matcher[j2](inputParts[j2])) break;
if (!options.noglobstar && part === "**") return true;
j2++;
}
if (j2 === inputPatternCount) return true;
}
return false;
};
}
function buildFormat(cwd, root, absolute2) {
if (cwd === root || root.startsWith(`${cwd}/`)) {
if (absolute2) {
const start = cwd.length + +!isRoot(cwd);
return (p, isDir) => p.slice(start, isDir ? -1 : void 0) || ".";
}
const prefix = root.slice(cwd.length + 1);
if (prefix) return (p, isDir) => {
if (p === ".") return prefix;
const result2 = `${prefix}/${p}`;
return isDir ? result2.slice(0, -1) : result2;
};
return (p, isDir) => isDir && p !== "." ? p.slice(0, -1) : p;
}
if (absolute2) return (p) => posix.relative(cwd, p) || ".";
return (p) => posix.relative(cwd, `${root}/${p}`) || ".";
}
function buildRelative(cwd, root) {
if (root.startsWith(`${cwd}/`)) {
const prefix = root.slice(cwd.length + 1);
return (p) => `${prefix}/${p}`;
}
return (p) => {
const result2 = posix.relative(cwd, `${root}/${p}`);
return p[p.length - 1] === "/" && result2 !== "" ? `${result2}/` : result2 || ".";
};
}
function ensureNonDriveRelativePath(path236) {
return path236.replace(DRIVE_RELATIVE_PATH, (match) => `${match}/`);
}
function splitPattern(path236) {
var _result$parts;
const result2 = import_picomatch.default.scan(path236, splitPatternOptions);
return ((_result$parts = result2.parts) === null || _result$parts === void 0 ? void 0 : _result$parts.length) ? result2.parts : [path236];
}
function isDynamicPattern(pattern, options) {
if ((options === null || options === void 0 ? void 0 : options.caseSensitiveMatch) === false) return true;
const scan3 = import_picomatch.default.scan(pattern);
return scan3.isGlob || scan3.negated;
}
function log(...tasks) {
console.log(`[tinyglobby ${(/* @__PURE__ */ new Date()).toLocaleTimeString("es")}]`, ...tasks);
}
function ensureStringArray(value) {
return typeof value === "string" ? [value] : value !== null && value !== void 0 ? value : [];
}
function normalizePattern(pattern, opts3, props3, isIgnore) {
var _PARENT_DIRECTORY$exe;
const cwd = opts3.cwd;
let result2 = pattern;
if (pattern[pattern.length - 1] === "/") result2 = pattern.slice(0, -1);
if (result2[result2.length - 1] !== "*" && opts3.expandDirectories) result2 += "/**";
const escapedCwd = escapePath(cwd);
result2 = isAbsolute(result2.replace(ESCAPING_BACKSLASHES, "")) ? posix.relative(escapedCwd, result2) : posix.normalize(result2);
const parentDir = (_PARENT_DIRECTORY$exe = PARENT_DIRECTORY.exec(result2)) === null || _PARENT_DIRECTORY$exe === void 0 ? void 0 : _PARENT_DIRECTORY$exe[0];
const parts = splitPattern(result2);
if (parentDir) {
const n2 = (parentDir.length + 1) / 3;
let i4 = 0;
const cwdParts = escapedCwd.split("/");
while (i4 < n2 && parts[i4 + n2] === cwdParts[cwdParts.length + i4 - n2]) {
result2 = result2.slice(0, (n2 - i4 - 1) * 3) + result2.slice((n2 - i4) * 3 + parts[i4 + n2].length + 1) || ".";
i4++;
}
const potentialRoot = posix.join(cwd, parentDir.slice(i4 * 3));
if (potentialRoot[0] !== "." && props3.root.length > potentialRoot.length) {
props3.root = ensureNonDriveRelativePath(potentialRoot);
props3.depthOffset = -n2 + i4;
}
}
if (!isIgnore && props3.depthOffset >= 0) {
var _props$commonPath;
(_props$commonPath = props3.commonPath) !== null && _props$commonPath !== void 0 || (props3.commonPath = parts);
const newCommonPath = [];
const length = Math.min(props3.commonPath.length, parts.length);
for (let i4 = 0; i4 < length; i4++) {
const part = parts[i4];
if (part === "**" && !parts[i4 + 1]) {
newCommonPath.pop();
break;
}
if (i4 === parts.length - 1 || part !== props3.commonPath[i4] || isDynamicPattern(part)) break;
newCommonPath.push(part);
}
props3.depthOffset = newCommonPath.length;
props3.commonPath = newCommonPath;
props3.root = ensureNonDriveRelativePath(newCommonPath.length > 0 ? posix.join(cwd, ...newCommonPath) : cwd);
}
return result2;
}
function processPatterns(options, patterns, props3) {
const matchPatterns = [];
const ignorePatterns = [];
for (const pattern of options.ignore) {
if (!pattern) continue;
if (pattern[0] !== "!" || pattern[1] === "(") ignorePatterns.push(normalizePattern(pattern, options, props3, true));
}
for (const pattern of patterns) {
if (!pattern) continue;
if (pattern[0] !== "!" || pattern[1] === "(") matchPatterns.push(normalizePattern(pattern, options, props3, false));
else if (pattern[1] !== "!" || pattern[2] === "(") ignorePatterns.push(normalizePattern(pattern.slice(1), options, props3, true));
}
return {
match: matchPatterns,
ignore: ignorePatterns
};
}
function buildCrawler(options, patterns) {
const cwd = options.cwd;
const props3 = {
root: cwd,
depthOffset: 0
};
const processed = processPatterns(options, patterns, props3);
if (options.debug) log("internal processing patterns:", processed);
const { absolute: absolute2, caseSensitiveMatch, debug, dot, followSymbolicLinks, onlyDirectories } = options;
const root = props3.root.replace(BACKSLASHES, "");
const matchOptions = {
dot,
nobrace: options.braceExpansion === false,
nocase: !caseSensitiveMatch,
noextglob: options.extglob === false,
noglobstar: options.globstar === false,
posix: true
};
const matcher = (0, import_picomatch.default)(processed.match, matchOptions);
const ignore2 = (0, import_picomatch.default)(processed.ignore, matchOptions);
const partialMatcher = getPartialMatcher(processed.match, matchOptions);
const format2 = buildFormat(cwd, root, absolute2);
const excludeFormatter = absolute2 ? format2 : buildFormat(cwd, root, true);
const excludePredicate = (_, p) => {
const relativePath2 = excludeFormatter(p, true);
return relativePath2 !== "." && !partialMatcher(relativePath2) || ignore2(relativePath2);
};
let maxDepth;
if (options.deep !== void 0) maxDepth = Math.round(options.deep - props3.depthOffset);
const crawler = new Builder({
filters: [debug ? (p, isDirectory) => {
const path236 = format2(p, isDirectory);
const matches2 = matcher(path236) && !ignore2(path236);
if (matches2) log(`matched ${path236}`);
return matches2;
} : (p, isDirectory) => {
const path236 = format2(p, isDirectory);
return matcher(path236) && !ignore2(path236);
}],
exclude: debug ? (_, p) => {
const skipped = excludePredicate(_, p);
log(`${skipped ? "skipped" : "crawling"} ${p}`);
return skipped;
} : excludePredicate,
fs: options.fs,
pathSeparator: "/",
relativePaths: !absolute2,
resolvePaths: absolute2,
includeBasePath: absolute2,
resolveSymlinks: followSymbolicLinks,
excludeSymlinks: !followSymbolicLinks,
excludeFiles: onlyDirectories,
includeDirs: onlyDirectories || !options.onlyFiles,
maxDepth,
signal: options.signal
}).crawl(root);
if (options.debug) log("internal properties:", {
...props3,
root
});
return [crawler, cwd !== root && !absolute2 && buildRelative(cwd, root)];
}
function formatPaths(paths3, mapper) {
if (mapper) for (let i4 = paths3.length - 1; i4 >= 0; i4--) paths3[i4] = mapper(paths3[i4]);
return paths3;
}
function getOptions(options) {
const opts3 = Object.assign({}, options);
for (const key in defaultOptions) if (opts3[key] === void 0) Object.assign(opts3, { [key]: defaultOptions[key] });
opts3.cwd = (opts3.cwd instanceof URL ? fileURLToPath(opts3.cwd) : resolve2(opts3.cwd || process.cwd())).replace(BACKSLASHES, "/");
opts3.ignore = ensureStringArray(opts3.ignore);
opts3.fs && (opts3.fs = {
readdir: opts3.fs.readdir || readdir,
readdirSync: opts3.fs.readdirSync || readdirSync,
realpath: opts3.fs.realpath || realpath,
realpathSync: opts3.fs.realpathSync || realpathSync,
stat: opts3.fs.stat || stat,
statSync: opts3.fs.statSync || statSync
});
if (opts3.debug) log("globbing with options:", opts3);
return opts3;
}
function getCrawler(globInput, inputOptions = {}) {
var _ref;
if (globInput && (inputOptions === null || inputOptions === void 0 ? void 0 : inputOptions.patterns)) throw new Error("Cannot pass patterns as both an argument and an option");
const isModern = isReadonlyArray(globInput) || typeof globInput === "string";
const patterns = ensureStringArray((_ref = isModern ? globInput : globInput.patterns) !== null && _ref !== void 0 ? _ref : "**/*");
const options = getOptions(isModern ? inputOptions : globInput);
return patterns.length > 0 ? buildCrawler(options, patterns) : [];
}
async function glob(globInput, options) {
const [crawler, relative2] = getCrawler(globInput, options);
return crawler ? formatPaths(await crawler.withPromise(), relative2) : [];
}
var import_picomatch, isReadonlyArray, BACKSLASHES, DRIVE_RELATIVE_PATH, isWin, ONLY_PARENT_DIRECTORIES, WIN32_ROOT_DIR, isRoot, splitPatternOptions, POSIX_UNESCAPED_GLOB_SYMBOLS, WIN32_UNESCAPED_GLOB_SYMBOLS, escapePosixPath, escapeWin32Path, escapePath, PARENT_DIRECTORY, ESCAPING_BACKSLASHES, defaultOptions;
var init_dist2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinyglobby/0.2.17/a3c70ed15c4e9e54ff4a3063cdf51313cc7d5d784275a9d776aa8e5fc0163ea8/node_modules/tinyglobby/dist/index.mjs"() {
init_dist();
import_picomatch = __toESM(require_picomatch4(), 1);
isReadonlyArray = Array.isArray;
BACKSLASHES = /\\/g;
DRIVE_RELATIVE_PATH = /^[A-Za-z]:$/;
isWin = process.platform === "win32";
ONLY_PARENT_DIRECTORIES = /^(\/?\.\.)+$/;
WIN32_ROOT_DIR = /^[A-Z]:\/$/i;
isRoot = isWin ? (p) => WIN32_ROOT_DIR.test(p) : (p) => p === "/";
splitPatternOptions = { parts: true };
POSIX_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g;
WIN32_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g;
escapePosixPath = (path236) => path236.replace(POSIX_UNESCAPED_GLOB_SYMBOLS, "\\$&");
escapeWin32Path = (path236) => path236.replace(WIN32_UNESCAPED_GLOB_SYMBOLS, "\\$&");
escapePath = isWin ? escapeWin32Path : escapePosixPath;
PARENT_DIRECTORY = /^(\/?\.\.)+/;
ESCAPING_BACKSLASHES = /\\(?=[()[\]{}!*+?@|])/g;
defaultOptions = {
caseSensitiveMatch: true,
debug: !!process.env.TINYGLOBBY_DEBUG,
expandDirectories: true,
followSymbolicLinks: true,
onlyFiles: true
};
}
});
// ../bins/resolver/lib/index.js
import path9 from "node:path";
function pkgOwnsBin(binName, pkgName) {
return binName === pkgName || BIN_OWNER_OVERRIDES[binName]?.includes(pkgName) === true;
}
async function getBinsFromPackageManifest(manifest, pkgPath) {
if (manifest.bin) {
return commandsFromBin(manifest.bin, manifest.name, pkgPath);
}
if (manifest.directories?.bin) {
const binDir = path9.join(pkgPath, manifest.directories.bin);
if (!isSubdir(pkgPath, binDir)) {
return [];
}
const files = await findFiles(binDir);
return files.map((file) => ({
name: path9.basename(file),
path: path9.join(binDir, file)
}));
}
return [];
}
async function findFiles(dir) {
try {
return await glob("**", {
cwd: dir,
onlyFiles: true,
followSymbolicLinks: false,
expandDirectories: false
});
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
return [];
}
}
function commandsFromBin(bin, pkgName, pkgPath) {
const cmds = [];
for (const [commandName, binRelativePath] of typeof bin === "string" ? [[pkgName, bin]] : Object.entries(bin)) {
const binName = commandName[0] === "@" ? commandName.slice(commandName.indexOf("/") + 1) : commandName;
if (binName === "" || binName === "." || binName === "..") {
continue;
}
if (binName !== encodeURIComponent(binName) && binName !== "$") {
continue;
}
const binPath = path9.join(pkgPath, binRelativePath);
if (!isSubdir(pkgPath, binPath)) {
continue;
}
cmds.push({ name: binName, path: binPath });
}
return cmds;
}
var BIN_OWNER_OVERRIDES;
var init_lib7 = __esm({
"../bins/resolver/lib/index.js"() {
"use strict";
init_is_subdir();
init_dist2();
BIN_OWNER_OVERRIDES = {
npx: ["npm"],
pn: ["pnpm", "@pnpm/exe"],
pnpm: ["@pnpm/exe"],
pnpx: ["pnpm", "@pnpm/exe"],
pnx: ["pnpm", "@pnpm/exe"]
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/polyfills.js
var require_polyfills = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/polyfills.js"(exports2, module2) {
var constants6 = __require("constants");
var origCwd = process.cwd;
var cwd = null;
var platform5 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
process.cwd = function() {
if (!cwd)
cwd = origCwd.call(process);
return cwd;
};
try {
process.cwd();
} catch (er) {
}
if (typeof process.chdir === "function") {
chdir = process.chdir;
process.chdir = function(d3) {
cwd = null;
chdir.call(process, d3);
};
if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
}
var chdir;
module2.exports = patch;
function patch(fs126) {
if (constants6.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
patchLchmod(fs126);
}
if (!fs126.lutimes) {
patchLutimes(fs126);
}
fs126.chown = chownFix(fs126.chown);
fs126.fchown = chownFix(fs126.fchown);
fs126.lchown = chownFix(fs126.lchown);
fs126.chmod = chmodFix(fs126.chmod);
fs126.fchmod = chmodFix(fs126.fchmod);
fs126.lchmod = chmodFix(fs126.lchmod);
fs126.chownSync = chownFixSync(fs126.chownSync);
fs126.fchownSync = chownFixSync(fs126.fchownSync);
fs126.lchownSync = chownFixSync(fs126.lchownSync);
fs126.chmodSync = chmodFixSync(fs126.chmodSync);
fs126.fchmodSync = chmodFixSync(fs126.fchmodSync);
fs126.lchmodSync = chmodFixSync(fs126.lchmodSync);
fs126.stat = statFix(fs126.stat);
fs126.fstat = statFix(fs126.fstat);
fs126.lstat = statFix(fs126.lstat);
fs126.statSync = statFixSync(fs126.statSync);
fs126.fstatSync = statFixSync(fs126.fstatSync);
fs126.lstatSync = statFixSync(fs126.lstatSync);
if (fs126.chmod && !fs126.lchmod) {
fs126.lchmod = function(path236, mode, cb) {
if (cb) process.nextTick(cb);
};
fs126.lchmodSync = function() {
};
}
if (fs126.chown && !fs126.lchown) {
fs126.lchown = function(path236, uid, gid, cb) {
if (cb) process.nextTick(cb);
};
fs126.lchownSync = function() {
};
}
if (platform5 === "win32") {
fs126.rename = typeof fs126.rename !== "function" ? fs126.rename : (function(fs$rename) {
function rename(from5, to, cb) {
var start = Date.now();
var backoff = 0;
fs$rename(from5, to, function CB(er) {
if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
setTimeout(function() {
fs126.stat(to, function(stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from5, to, CB);
else
cb(er);
});
}, backoff);
if (backoff < 100)
backoff += 10;
return;
}
if (cb) cb(er);
});
}
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
return rename;
})(fs126.rename);
}
fs126.read = typeof fs126.read !== "function" ? fs126.read : (function(fs$read) {
function read2(fd2, buffer3, offset, length, position3, callback_) {
var callback2;
if (callback_ && typeof callback_ === "function") {
var eagCounter = 0;
callback2 = function(er, _, __) {
if (er && er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
return fs$read.call(fs126, fd2, buffer3, offset, length, position3, callback2);
}
callback_.apply(this, arguments);
};
}
return fs$read.call(fs126, fd2, buffer3, offset, length, position3, callback2);
}
if (Object.setPrototypeOf) Object.setPrototypeOf(read2, fs$read);
return read2;
})(fs126.read);
fs126.readSync = typeof fs126.readSync !== "function" ? fs126.readSync : /* @__PURE__ */ (function(fs$readSync) {
return function(fd2, buffer3, offset, length, position3) {
var eagCounter = 0;
while (true) {
try {
return fs$readSync.call(fs126, fd2, buffer3, offset, length, position3);
} catch (er) {
if (er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
continue;
}
throw er;
}
}
};
})(fs126.readSync);
function patchLchmod(fs127) {
fs127.lchmod = function(path236, mode, callback2) {
fs127.open(
path236,
constants6.O_WRONLY | constants6.O_SYMLINK,
mode,
function(err2, fd2) {
if (err2) {
if (callback2) callback2(err2);
return;
}
fs127.fchmod(fd2, mode, function(err3) {
fs127.close(fd2, function(err22) {
if (callback2) callback2(err3 || err22);
});
});
}
);
};
fs127.lchmodSync = function(path236, mode) {
var fd2 = fs127.openSync(path236, constants6.O_WRONLY | constants6.O_SYMLINK, mode);
var threw = true;
var ret2;
try {
ret2 = fs127.fchmodSync(fd2, mode);
threw = false;
} finally {
if (threw) {
try {
fs127.closeSync(fd2);
} catch (er) {
}
} else {
fs127.closeSync(fd2);
}
}
return ret2;
};
}
function patchLutimes(fs127) {
if (constants6.hasOwnProperty("O_SYMLINK") && fs127.futimes) {
fs127.lutimes = function(path236, at, mt, cb) {
fs127.open(path236, constants6.O_SYMLINK, function(er, fd2) {
if (er) {
if (cb) cb(er);
return;
}
fs127.futimes(fd2, at, mt, function(er2) {
fs127.close(fd2, function(er22) {
if (cb) cb(er2 || er22);
});
});
});
};
fs127.lutimesSync = function(path236, at, mt) {
var fd2 = fs127.openSync(path236, constants6.O_SYMLINK);
var ret2;
var threw = true;
try {
ret2 = fs127.futimesSync(fd2, at, mt);
threw = false;
} finally {
if (threw) {
try {
fs127.closeSync(fd2);
} catch (er) {
}
} else {
fs127.closeSync(fd2);
}
}
return ret2;
};
} else if (fs127.futimes) {
fs127.lutimes = function(_a2, _b2, _c, cb) {
if (cb) process.nextTick(cb);
};
fs127.lutimesSync = function() {
};
}
}
function chmodFix(orig) {
if (!orig) return orig;
return function(target2, mode, cb) {
return orig.call(fs126, target2, mode, function(er) {
if (chownErOk(er)) er = null;
if (cb) cb.apply(this, arguments);
});
};
}
function chmodFixSync(orig) {
if (!orig) return orig;
return function(target2, mode) {
try {
return orig.call(fs126, target2, mode);
} catch (er) {
if (!chownErOk(er)) throw er;
}
};
}
function chownFix(orig) {
if (!orig) return orig;
return function(target2, uid, gid, cb) {
return orig.call(fs126, target2, uid, gid, function(er) {
if (chownErOk(er)) er = null;
if (cb) cb.apply(this, arguments);
});
};
}
function chownFixSync(orig) {
if (!orig) return orig;
return function(target2, uid, gid) {
try {
return orig.call(fs126, target2, uid, gid);
} catch (er) {
if (!chownErOk(er)) throw er;
}
};
}
function statFix(orig) {
if (!orig) return orig;
return function(target2, options, cb) {
if (typeof options === "function") {
cb = options;
options = null;
}
function callback2(er, stats) {
if (stats) {
if (stats.uid < 0) stats.uid += 4294967296;
if (stats.gid < 0) stats.gid += 4294967296;
}
if (cb) cb.apply(this, arguments);
}
return options ? orig.call(fs126, target2, options, callback2) : orig.call(fs126, target2, callback2);
};
}
function statFixSync(orig) {
if (!orig) return orig;
return function(target2, options) {
var stats = options ? orig.call(fs126, target2, options) : orig.call(fs126, target2);
if (stats) {
if (stats.uid < 0) stats.uid += 4294967296;
if (stats.gid < 0) stats.gid += 4294967296;
}
return stats;
};
}
function chownErOk(er) {
if (!er)
return true;
if (er.code === "ENOSYS")
return true;
var nonroot = !process.getuid || process.getuid() !== 0;
if (nonroot) {
if (er.code === "EINVAL" || er.code === "EPERM")
return true;
}
return false;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/legacy-streams.js
var require_legacy_streams = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
var Stream = __require("stream").Stream;
module2.exports = legacy;
function legacy(fs126) {
return {
ReadStream,
WriteStream
};
function ReadStream(path236, options) {
if (!(this instanceof ReadStream)) return new ReadStream(path236, options);
Stream.call(this);
var self2 = this;
this.path = path236;
this.fd = null;
this.readable = true;
this.paused = false;
this.flags = "r";
this.mode = 438;
this.bufferSize = 64 * 1024;
options = options || {};
var keys4 = Object.keys(options);
for (var index2 = 0, length = keys4.length; index2 < length; index2++) {
var key = keys4[index2];
this[key] = options[key];
}
if (this.encoding) this.setEncoding(this.encoding);
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
throw TypeError("start must be a Number");
}
if (this.end === void 0) {
this.end = Infinity;
} else if ("number" !== typeof this.end) {
throw TypeError("end must be a Number");
}
if (this.start > this.end) {
throw new Error("start must be <= end");
}
this.pos = this.start;
}
if (this.fd !== null) {
process.nextTick(function() {
self2._read();
});
return;
}
fs126.open(this.path, this.flags, this.mode, function(err2, fd2) {
if (err2) {
self2.emit("error", err2);
self2.readable = false;
return;
}
self2.fd = fd2;
self2.emit("open", fd2);
self2._read();
});
}
function WriteStream(path236, options) {
if (!(this instanceof WriteStream)) return new WriteStream(path236, options);
Stream.call(this);
this.path = path236;
this.fd = null;
this.writable = true;
this.flags = "w";
this.encoding = "binary";
this.mode = 438;
this.bytesWritten = 0;
options = options || {};
var keys4 = Object.keys(options);
for (var index2 = 0, length = keys4.length; index2 < length; index2++) {
var key = keys4[index2];
this[key] = options[key];
}
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
throw TypeError("start must be a Number");
}
if (this.start < 0) {
throw new Error("start must be >= zero");
}
this.pos = this.start;
}
this.busy = false;
this._queue = [];
if (this.fd === null) {
this._open = fs126.open;
this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
this.flush();
}
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/clone.js
var require_clone = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/clone.js"(exports2, module2) {
"use strict";
module2.exports = clone4;
var getPrototypeOf = Object.getPrototypeOf || function(obj) {
return obj.__proto__;
};
function clone4(obj) {
if (obj === null || typeof obj !== "object")
return obj;
if (obj instanceof Object)
var copy2 = { __proto__: getPrototypeOf(obj) };
else
var copy2 = /* @__PURE__ */ Object.create(null);
Object.getOwnPropertyNames(obj).forEach(function(key) {
Object.defineProperty(copy2, key, Object.getOwnPropertyDescriptor(obj, key));
});
return copy2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/graceful-fs.js
var require_graceful_fs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-fs/4.2.11/e60a23841f60609f733db41b2b1eced16c30ec8fe2e67c2a9b80e2dab0755700/node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
var fs126 = __require("fs");
var polyfills = require_polyfills();
var legacy = require_legacy_streams();
var clone4 = require_clone();
var util64 = __require("util");
var gracefulQueue;
var previousSymbol;
if (typeof Symbol === "function" && typeof Symbol.for === "function") {
gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
} else {
gracefulQueue = "___graceful-fs.queue";
previousSymbol = "___graceful-fs.previous";
}
function noop5() {
}
function publishQueue(context, queue3) {
Object.defineProperty(context, gracefulQueue, {
get: function() {
return queue3;
}
});
}
var debug = noop5;
if (util64.debuglog)
debug = util64.debuglog("gfs4");
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
debug = function() {
var m = util64.format.apply(util64, arguments);
m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
console.error(m);
};
if (!fs126[gracefulQueue]) {
queue2 = global[gracefulQueue] || [];
publishQueue(fs126, queue2);
fs126.close = (function(fs$close) {
function close(fd2, cb) {
return fs$close.call(fs126, fd2, function(err2) {
if (!err2) {
resetQueue();
}
if (typeof cb === "function")
cb.apply(this, arguments);
});
}
Object.defineProperty(close, previousSymbol, {
value: fs$close
});
return close;
})(fs126.close);
fs126.closeSync = (function(fs$closeSync) {
function closeSync(fd2) {
fs$closeSync.apply(fs126, arguments);
resetQueue();
}
Object.defineProperty(closeSync, previousSymbol, {
value: fs$closeSync
});
return closeSync;
})(fs126.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug(fs126[gracefulQueue]);
__require("assert").equal(fs126[gracefulQueue].length, 0);
});
}
}
var queue2;
if (!global[gracefulQueue]) {
publishQueue(global, fs126[gracefulQueue]);
}
module2.exports = patch(clone4(fs126));
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs126.__patched) {
module2.exports = patch(fs126);
fs126.__patched = true;
}
function patch(fs127) {
polyfills(fs127);
fs127.gracefulify = patch;
fs127.createReadStream = createReadStream3;
fs127.createWriteStream = createWriteStream2;
var fs$readFile = fs127.readFile;
fs127.readFile = readFile4;
function readFile4(path236, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$readFile(path236, options, cb);
function go$readFile(path237, options2, cb2, startTime) {
return fs$readFile(path237, options2, function(err2) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE"))
enqueue([go$readFile, [path237, options2, cb2], err2, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$writeFile = fs127.writeFile;
fs127.writeFile = writeFile3;
function writeFile3(path236, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$writeFile(path236, data, options, cb);
function go$writeFile(path237, data2, options2, cb2, startTime) {
return fs$writeFile(path237, data2, options2, function(err2) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE"))
enqueue([go$writeFile, [path237, data2, options2, cb2], err2, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$appendFile = fs127.appendFile;
if (fs$appendFile)
fs127.appendFile = appendFile;
function appendFile(path236, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$appendFile(path236, data, options, cb);
function go$appendFile(path237, data2, options2, cb2, startTime) {
return fs$appendFile(path237, data2, options2, function(err2) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE"))
enqueue([go$appendFile, [path237, data2, options2, cb2], err2, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$copyFile = fs127.copyFile;
if (fs$copyFile)
fs127.copyFile = copyFile;
function copyFile(src2, dest, flags, cb) {
if (typeof flags === "function") {
cb = flags;
flags = 0;
}
return go$copyFile(src2, dest, flags, cb);
function go$copyFile(src3, dest2, flags2, cb2, startTime) {
return fs$copyFile(src3, dest2, flags2, function(err2) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE" || err2.code === "EBUSY"))
enqueue([go$copyFile, [src3, dest2, flags2, cb2], err2, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$readdir = fs127.readdir;
fs127.readdir = readdir3;
var noReaddirOptionVersions = /^v[0-5]\./;
function readdir3(path236, options, cb) {
if (typeof options === "function")
cb = options, options = null;
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path237, options2, cb2, startTime) {
return fs$readdir(path237, fs$readdirCallback(
path237,
options2,
cb2,
startTime
));
} : function go$readdir2(path237, options2, cb2, startTime) {
return fs$readdir(path237, options2, fs$readdirCallback(
path237,
options2,
cb2,
startTime
));
};
return go$readdir(path236, options, cb);
function fs$readdirCallback(path237, options2, cb2, startTime) {
return function(err2, files) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE"))
enqueue([
go$readdir,
[path237, options2, cb2],
err2,
startTime || Date.now(),
Date.now()
]);
else {
if (files && files.sort)
files.sort();
if (typeof cb2 === "function")
cb2.call(this, err2, files);
}
};
}
}
if (process.version.substr(0, 4) === "v0.8") {
var legStreams = legacy(fs127);
ReadStream = legStreams.ReadStream;
WriteStream = legStreams.WriteStream;
}
var fs$ReadStream = fs127.ReadStream;
if (fs$ReadStream) {
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
ReadStream.prototype.open = ReadStream$open;
}
var fs$WriteStream = fs127.WriteStream;
if (fs$WriteStream) {
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
WriteStream.prototype.open = WriteStream$open;
}
Object.defineProperty(fs127, "ReadStream", {
get: function() {
return ReadStream;
},
set: function(val) {
ReadStream = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(fs127, "WriteStream", {
get: function() {
return WriteStream;
},
set: function(val) {
WriteStream = val;
},
enumerable: true,
configurable: true
});
var FileReadStream = ReadStream;
Object.defineProperty(fs127, "FileReadStream", {
get: function() {
return FileReadStream;
},
set: function(val) {
FileReadStream = val;
},
enumerable: true,
configurable: true
});
var FileWriteStream = WriteStream;
Object.defineProperty(fs127, "FileWriteStream", {
get: function() {
return FileWriteStream;
},
set: function(val) {
FileWriteStream = val;
},
enumerable: true,
configurable: true
});
function ReadStream(path236, options) {
if (this instanceof ReadStream)
return fs$ReadStream.apply(this, arguments), this;
else
return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
}
function ReadStream$open() {
var that = this;
open3(that.path, that.flags, that.mode, function(err2, fd2) {
if (err2) {
if (that.autoClose)
that.destroy();
that.emit("error", err2);
} else {
that.fd = fd2;
that.emit("open", fd2);
that.read();
}
});
}
function WriteStream(path236, options) {
if (this instanceof WriteStream)
return fs$WriteStream.apply(this, arguments), this;
else
return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
}
function WriteStream$open() {
var that = this;
open3(that.path, that.flags, that.mode, function(err2, fd2) {
if (err2) {
that.destroy();
that.emit("error", err2);
} else {
that.fd = fd2;
that.emit("open", fd2);
}
});
}
function createReadStream3(path236, options) {
return new fs127.ReadStream(path236, options);
}
function createWriteStream2(path236, options) {
return new fs127.WriteStream(path236, options);
}
var fs$open = fs127.open;
fs127.open = open3;
function open3(path236, flags, mode, cb) {
if (typeof mode === "function")
cb = mode, mode = null;
return go$open(path236, flags, mode, cb);
function go$open(path237, flags2, mode2, cb2, startTime) {
return fs$open(path237, flags2, mode2, function(err2, fd2) {
if (err2 && (err2.code === "EMFILE" || err2.code === "ENFILE"))
enqueue([go$open, [path237, flags2, mode2, cb2], err2, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
return fs127;
}
function enqueue(elem) {
debug("ENQUEUE", elem[0].name, elem[1]);
fs126[gracefulQueue].push(elem);
retry5();
}
var retryTimer;
function resetQueue() {
var now = Date.now();
for (var i4 = 0; i4 < fs126[gracefulQueue].length; ++i4) {
if (fs126[gracefulQueue][i4].length > 2) {
fs126[gracefulQueue][i4][3] = now;
fs126[gracefulQueue][i4][4] = now;
}
}
retry5();
}
function retry5() {
clearTimeout(retryTimer);
retryTimer = void 0;
if (fs126[gracefulQueue].length === 0)
return;
var elem = fs126[gracefulQueue].shift();
var fn = elem[0];
var args = elem[1];
var err2 = elem[2];
var startTime = elem[3];
var lastTime = elem[4];
if (startTime === void 0) {
debug("RETRY", fn.name, args);
fn.apply(null, args);
} else if (Date.now() - startTime >= 6e4) {
debug("TIMEOUT", fn.name, args);
var cb = args.pop();
if (typeof cb === "function")
cb.call(null, err2);
} else {
var sinceAttempt = Date.now() - lastTime;
var sinceStart = Math.max(lastTime - startTime, 1);
var desiredDelay = Math.min(sinceStart * 1.2, 100);
if (sinceAttempt >= desiredDelay) {
debug("RETRY", fn.name, args);
fn.apply(null, args.concat([startTime]));
} else {
fs126[gracefulQueue].push(elem);
}
}
if (retryTimer === void 0) {
retryTimer = setTimeout(retry5, 0);
}
}
}
});
// ../fs/read-modules-dir/lib/index.js
import path10 from "node:path";
import util2 from "node:util";
async function readModulesDir(modulesDir) {
try {
return await _readModulesDir(modulesDir);
} catch (err2) {
if (util2.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
return null;
throw err2;
}
}
async function _readModulesDir(modulesDir, scope) {
const pkgNames = [];
const parentDir = scope ? path10.join(modulesDir, scope) : modulesDir;
await Promise.all((await readdir2(parentDir, { withFileTypes: true })).map(async (dir) => {
if (dir.isFile() || dir.name[0] === ".")
return;
if (!scope && dir.name[0] === "@") {
pkgNames.push(...await _readModulesDir(modulesDir, dir.name));
return;
}
const pkgName = scope ? `${scope}/${dir.name}` : dir.name;
pkgNames.push(pkgName);
}));
return pkgNames;
}
var import_graceful_fs, readdir2;
var init_lib8 = __esm({
"../fs/read-modules-dir/lib/index.js"() {
"use strict";
import_graceful_fs = __toESM(require_graceful_fs(), 1);
readdir2 = util2.promisify(import_graceful_fs.default.readdir);
}
});
// ../pkg-manifest/utils/lib/getAllDependenciesFromManifest.js
function getAllDependenciesFromManifest(pkg, opts3) {
return {
...pkg.devDependencies,
...pkg.dependencies,
...pkg.optionalDependencies,
...opts3?.autoInstallPeers ? pkg.peerDependencies : {}
};
}
var init_getAllDependenciesFromManifest = __esm({
"../pkg-manifest/utils/lib/getAllDependenciesFromManifest.js"() {
"use strict";
}
});
// ../pkg-manifest/utils/lib/getAllUniqueSpecs.js
function getAllUniqueSpecs(manifests) {
const allSpecs = {};
const ignored = /* @__PURE__ */ new Set();
for (const manifest of manifests) {
const specs = getAllDependenciesFromManifest(manifest);
for (const [name, spec] of Object.entries(specs)) {
if (ignored.has(name))
continue;
if (allSpecs[name] != null && allSpecs[name] !== spec || spec.includes(":")) {
ignored.add(name);
delete allSpecs[name];
continue;
}
allSpecs[name] = spec;
}
}
return allSpecs;
}
var init_getAllUniqueSpecs = __esm({
"../pkg-manifest/utils/lib/getAllUniqueSpecs.js"() {
"use strict";
init_getAllDependenciesFromManifest();
}
});
// ../pkg-manifest/utils/lib/getSpecFromPackageManifest.js
function getSpecFromPackageManifest(manifest, depName) {
return manifest.optionalDependencies?.[depName] ?? manifest.dependencies?.[depName] ?? manifest.devDependencies?.[depName] ?? manifest.peerDependencies?.[depName] ?? "";
}
var init_getSpecFromPackageManifest = __esm({
"../pkg-manifest/utils/lib/getSpecFromPackageManifest.js"() {
"use strict";
}
});
// ../core/types/lib/config.js
var init_config = __esm({
"../core/types/lib/config.js"() {
"use strict";
}
});
// ../core/types/lib/misc.js
var DEPENDENCIES_FIELDS, DEPENDENCIES_OR_PEER_FIELDS, DEFAULT_REGISTRY_SCOPE;
var init_misc = __esm({
"../core/types/lib/misc.js"() {
"use strict";
DEPENDENCIES_FIELDS = [
"optionalDependencies",
"dependencies",
"devDependencies"
];
DEPENDENCIES_OR_PEER_FIELDS = [
...DEPENDENCIES_FIELDS,
"peerDependencies"
];
DEFAULT_REGISTRY_SCOPE = "@";
}
});
// ../core/types/lib/options.js
var init_options = __esm({
"../core/types/lib/options.js"() {
"use strict";
}
});
// ../core/types/lib/package.js
function isRuntimeAlias(alias) {
return RUNTIME_NAMES.includes(alias);
}
var RUNTIME_NAMES;
var init_package = __esm({
"../core/types/lib/package.js"() {
"use strict";
RUNTIME_NAMES = ["node", "deno", "bun"];
}
});
// ../core/types/lib/peerDependencyIssues.js
var init_peerDependencyIssues2 = __esm({
"../core/types/lib/peerDependencyIssues.js"() {
"use strict";
}
});
// ../core/types/lib/project.js
var init_project = __esm({
"../core/types/lib/project.js"() {
"use strict";
}
});
// ../core/types/lib/versioning.js
var init_versioning = __esm({
"../core/types/lib/versioning.js"() {
"use strict";
}
});
// ../core/types/lib/index.js
var init_lib9 = __esm({
"../core/types/lib/index.js"() {
"use strict";
init_config();
init_misc();
init_options();
init_package();
init_peerDependencyIssues2();
init_project();
init_versioning();
}
});
// ../pkg-manifest/utils/lib/convertEnginesRuntimeToDependencies.js
function convertEnginesRuntimeToDependencies(manifest, enginesFieldName, dependenciesFieldName) {
for (const runtimeName of RUNTIME_NAMES) {
const enginesFieldRuntime = manifest[enginesFieldName]?.runtime;
if (enginesFieldRuntime == null || manifest[dependenciesFieldName]?.[runtimeName]) {
continue;
}
const runtimes = Array.isArray(enginesFieldRuntime) ? enginesFieldRuntime : [enginesFieldRuntime];
const runtime = runtimes.find((runtime2) => runtime2.name === runtimeName);
if (runtime?.onFail !== "download") {
continue;
}
if (typeof runtime.version !== "string") {
globalWarn(`Cannot download ${runtimeName} because no version is specified in ${enginesFieldName}.runtime`);
continue;
}
const version2 = runtime.version.trim();
if ("webcontainer" in process.versions) {
globalWarn(`Installation of ${runtimeName} versions is not supported in WebContainer`);
} else {
const deps = manifest[dependenciesFieldName] ??= {};
Object.defineProperty(deps, runtimeName, {
value: `runtime:${version2}`,
enumerable: true,
writable: true,
configurable: true
});
}
}
}
function applyRuntimeOnFailOverride(manifest, onFailOverride) {
for (const [enginesFieldName, dependenciesFieldName] of [
["devEngines", "devDependencies"],
["engines", "dependencies"]
]) {
const enginesFieldRuntime = manifest[enginesFieldName]?.runtime;
if (enginesFieldRuntime == null)
continue;
const runtimes = Array.isArray(enginesFieldRuntime) ? enginesFieldRuntime : [enginesFieldRuntime];
for (const runtime of runtimes) {
runtime.onFail = onFailOverride;
}
if (onFailOverride !== "download") {
const deps = manifest[dependenciesFieldName];
if (deps) {
for (const runtimeName of RUNTIME_NAMES) {
if (typeof deps[runtimeName] === "string" && deps[runtimeName].startsWith("runtime:")) {
delete deps[runtimeName];
}
}
}
} else {
convertEnginesRuntimeToDependencies(manifest, enginesFieldName, dependenciesFieldName);
}
}
}
var init_convertEnginesRuntimeToDependencies = __esm({
"../pkg-manifest/utils/lib/convertEnginesRuntimeToDependencies.js"() {
"use strict";
init_lib3();
init_lib9();
}
});
// ../pkg-manifest/utils/lib/getDependencyTypeFromManifest.js
var init_getDependencyTypeFromManifest = __esm({
"../pkg-manifest/utils/lib/getDependencyTypeFromManifest.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/inc.js
var require_inc = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/inc.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var inc3 = (version2, release, options, identifier, identifierBase) => {
if (typeof options === "string") {
identifierBase = identifier;
identifier = options;
options = void 0;
}
try {
return new SemVer(
version2 instanceof SemVer ? version2.version : version2,
options
).inc(release, identifier, identifierBase).version;
} catch (er) {
return null;
}
};
module2.exports = inc3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/diff.js
var require_diff = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/diff.js"(exports2, module2) {
"use strict";
var parse12 = require_parse();
var diff2 = (version1, version2) => {
const v1 = parse12(version1, null, true);
const v2 = parse12(version2, null, true);
const comparison = v1.compare(v2);
if (comparison === 0) {
return null;
}
const v1Higher = comparison > 0;
const highVersion = v1Higher ? v1 : v2;
const lowVersion = v1Higher ? v2 : v1;
const highHasPre = !!highVersion.prerelease.length;
const lowHasPre = !!lowVersion.prerelease.length;
if (lowHasPre && !highHasPre) {
if (!lowVersion.patch && !lowVersion.minor) {
return "major";
}
if (lowVersion.compareMain(highVersion) === 0) {
if (lowVersion.minor && !lowVersion.patch) {
return "minor";
}
return "patch";
}
}
const prefix = highHasPre ? "pre" : "";
if (v1.major !== v2.major) {
return prefix + "major";
}
if (v1.minor !== v2.minor) {
return prefix + "minor";
}
if (v1.patch !== v2.patch) {
return prefix + "patch";
}
return "prerelease";
};
module2.exports = diff2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/major.js
var require_major = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/major.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var major = (a2, loose) => new SemVer(a2, loose).major;
module2.exports = major;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/minor.js
var require_minor = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/minor.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var minor = (a2, loose) => new SemVer(a2, loose).minor;
module2.exports = minor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/patch.js
var require_patch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/patch.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var patch = (a2, loose) => new SemVer(a2, loose).patch;
module2.exports = patch;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/prerelease.js
var require_prerelease = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/prerelease.js"(exports2, module2) {
"use strict";
var parse12 = require_parse();
var prerelease = (version2, options) => {
const parsed = parse12(version2, options);
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
};
module2.exports = prerelease;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare.js
var require_compare = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var compare3 = (a2, b, loose) => new SemVer(a2, loose).compare(new SemVer(b, loose));
module2.exports = compare3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/rcompare.js
var require_rcompare = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/rcompare.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var rcompare = (a2, b, loose) => compare3(b, a2, loose);
module2.exports = rcompare;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare-loose.js
var require_compare_loose = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare-loose.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var compareLoose = (a2, b) => compare3(a2, b, true);
module2.exports = compareLoose;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare-build.js
var require_compare_build = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/compare-build.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var compareBuild = (a2, b, loose) => {
const versionA = new SemVer(a2, loose);
const versionB = new SemVer(b, loose);
return versionA.compare(versionB) || versionA.compareBuild(versionB);
};
module2.exports = compareBuild;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/sort.js
var require_sort = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/sort.js"(exports2, module2) {
"use strict";
var compareBuild = require_compare_build();
var sort = (list2, loose) => list2.sort((a2, b) => compareBuild(a2, b, loose));
module2.exports = sort;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/rsort.js
var require_rsort = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/rsort.js"(exports2, module2) {
"use strict";
var compareBuild = require_compare_build();
var rsort2 = (list2, loose) => list2.sort((a2, b) => compareBuild(b, a2, loose));
module2.exports = rsort2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/gt.js
var require_gt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/gt.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gt = (a2, b, loose) => compare3(a2, b, loose) > 0;
module2.exports = gt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/lt.js
var require_lt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/lt.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var lt2 = (a2, b, loose) => compare3(a2, b, loose) < 0;
module2.exports = lt2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/eq.js
var require_eq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/eq.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var eq = (a2, b, loose) => compare3(a2, b, loose) === 0;
module2.exports = eq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/neq.js
var require_neq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/neq.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var neq = (a2, b, loose) => compare3(a2, b, loose) !== 0;
module2.exports = neq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/gte.js
var require_gte = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gte = (a2, b, loose) => compare3(a2, b, loose) >= 0;
module2.exports = gte;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/lte.js
var require_lte = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/lte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var lte = (a2, b, loose) => compare3(a2, b, loose) <= 0;
module2.exports = lte;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/cmp.js
var require_cmp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/cmp.js"(exports2, module2) {
"use strict";
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte = require_gte();
var lt2 = require_lt();
var lte = require_lte();
var cmp = (a2, op, b, loose) => {
switch (op) {
case "===":
if (typeof a2 === "object") {
a2 = a2.version;
}
if (typeof b === "object") {
b = b.version;
}
return a2 === b;
case "!==":
if (typeof a2 === "object") {
a2 = a2.version;
}
if (typeof b === "object") {
b = b.version;
}
return a2 !== b;
case "":
case "=":
case "==":
return eq(a2, b, loose);
case "!=":
return neq(a2, b, loose);
case ">":
return gt(a2, b, loose);
case ">=":
return gte(a2, b, loose);
case "<":
return lt2(a2, b, loose);
case "<=":
return lte(a2, b, loose);
default:
throw new TypeError(`Invalid operator: ${op}`);
}
};
module2.exports = cmp;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/coerce.js
var require_coerce = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/coerce.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var parse12 = require_parse();
var { safeRe: re, t: t2 } = require_re();
var coerce = (version2, options) => {
if (version2 instanceof SemVer) {
return version2;
}
if (typeof version2 === "number") {
version2 = String(version2);
}
if (typeof version2 !== "string") {
return null;
}
options = options || {};
let match = null;
if (!options.rtl) {
match = version2.match(options.includePrerelease ? re[t2.COERCEFULL] : re[t2.COERCE]);
} else {
const coerceRtlRegex = options.includePrerelease ? re[t2.COERCERTLFULL] : re[t2.COERCERTL];
let next2;
while ((next2 = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
if (!match || next2.index + next2[0].length !== match.index + match[0].length) {
match = next2;
}
coerceRtlRegex.lastIndex = next2.index + next2[1].length + next2[2].length;
}
coerceRtlRegex.lastIndex = -1;
}
if (match === null) {
return null;
}
const major = match[2];
const minor = match[3] || "0";
const patch = match[4] || "0";
const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
const build2 = options.includePrerelease && match[6] ? `+${match[6]}` : "";
return parse12(`${major}.${minor}.${patch}${prerelease}${build2}`, options);
};
module2.exports = coerce;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/truncate.js
var require_truncate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/truncate.js"(exports2, module2) {
"use strict";
var parse12 = require_parse();
var constants6 = require_constants();
var SemVer = require_semver();
var truncate = (version2, truncation, options) => {
if (!constants6.RELEASE_TYPES.includes(truncation)) {
return null;
}
const clonedVersion = cloneInputVersion(version2, options);
return clonedVersion && doTruncation(clonedVersion, truncation);
};
var cloneInputVersion = (version2, options) => {
const versionStringToParse = version2 instanceof SemVer ? version2.version : version2;
return parse12(versionStringToParse, options);
};
var doTruncation = (version2, truncation) => {
if (isPrerelease(truncation)) {
return version2.version;
}
version2.prerelease = [];
switch (truncation) {
case "major":
version2.minor = 0;
version2.patch = 0;
break;
case "minor":
version2.patch = 0;
break;
}
return version2.format();
};
var isPrerelease = (type4) => {
return type4.startsWith("pre");
};
module2.exports = truncate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/lrucache.js
var require_lrucache = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/internal/lrucache.js"(exports2, module2) {
"use strict";
var LRUCache = class {
constructor() {
this.max = 1e3;
this.map = /* @__PURE__ */ new Map();
}
get(key) {
const value = this.map.get(key);
if (value === void 0) {
return void 0;
} else {
this.map.delete(key);
this.map.set(key, value);
return value;
}
}
delete(key) {
return this.map.delete(key);
}
set(key, value) {
const deleted = this.delete(key);
if (!deleted && value !== void 0) {
if (this.map.size >= this.max) {
const firstKey = this.map.keys().next().value;
this.delete(firstKey);
}
this.map.set(key, value);
}
return this;
}
};
module2.exports = LRUCache;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/range.js
var require_range = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/range.js"(exports2, module2) {
"use strict";
var SPACE_CHARACTERS = /\s+/g;
var Range = class _Range {
constructor(range, options) {
options = parseOptions(options);
if (range instanceof _Range) {
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
return range;
} else {
return new _Range(range.raw, options);
}
}
if (range instanceof Comparator) {
this.raw = range.value;
this.set = [[range]];
this.formatted = void 0;
return this;
}
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c3) => c3.length);
if (!this.set.length) {
throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
}
if (this.set.length > 1) {
const first = this.set[0];
this.set = this.set.filter((c3) => !isNullSet(c3[0]));
if (this.set.length === 0) {
this.set = [first];
} else if (this.set.length > 1) {
for (const c3 of this.set) {
if (c3.length === 1 && isAny(c3[0])) {
this.set = [c3];
break;
}
}
}
}
this.formatted = void 0;
}
get range() {
if (this.formatted === void 0) {
this.formatted = "";
for (let i4 = 0; i4 < this.set.length; i4++) {
if (i4 > 0) {
this.formatted += "||";
}
const comps = this.set[i4];
for (let k2 = 0; k2 < comps.length; k2++) {
if (k2 > 0) {
this.formatted += " ";
}
this.formatted += comps[k2].toString().trim();
}
}
}
return this.formatted;
}
format() {
return this.range;
}
toString() {
return this.range;
}
parseRange(range) {
range = range.replace(BUILDSTRIPRE, "");
const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
const memoKey = memoOpts + ":" + range;
const cached = cache.get(memoKey);
if (cached) {
return cached;
}
const loose = this.options.loose;
const hr = loose ? re[t2.HYPHENRANGELOOSE] : re[t2.HYPHENRANGE];
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
debug("hyphen replace", range);
range = range.replace(re[t2.COMPARATORTRIM], comparatorTrimReplace);
debug("comparator trim", range);
range = range.replace(re[t2.TILDETRIM], tildeTrimReplace);
debug("tilde trim", range);
range = range.replace(re[t2.CARETTRIM], caretTrimReplace);
debug("caret trim", range);
let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
if (loose) {
rangeList = rangeList.filter((comp) => {
debug("loose invalid filter", comp, this.options);
return !!comp.match(re[t2.COMPARATORLOOSE]);
});
}
debug("range list", rangeList);
const rangeMap = /* @__PURE__ */ new Map();
const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
for (const comp of comparators) {
if (isNullSet(comp)) {
return [comp];
}
rangeMap.set(comp.value, comp);
}
if (rangeMap.size > 1 && rangeMap.has("")) {
rangeMap.delete("");
}
const result2 = [...rangeMap.values()];
cache.set(memoKey, result2);
return result2;
}
intersects(range, options) {
if (!(range instanceof _Range)) {
throw new TypeError("a Range is required");
}
return this.set.some((thisComparators) => {
return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
return rangeComparators.every((rangeComparator) => {
return thisComparator.intersects(rangeComparator, options);
});
});
});
});
}
// if ANY of the sets match ALL of its comparators, then pass
test(version2) {
if (!version2) {
return false;
}
if (typeof version2 === "string") {
try {
version2 = new SemVer(version2, this.options);
} catch (er) {
return false;
}
}
for (let i4 = 0; i4 < this.set.length; i4++) {
if (testSet(this.set[i4], version2, this.options)) {
return true;
}
}
return false;
}
};
module2.exports = Range;
var LRU = require_lrucache();
var cache = new LRU();
var parseOptions = require_parse_options();
var Comparator = require_comparator();
var debug = require_debug();
var SemVer = require_semver();
var {
safeRe: re,
src: src2,
t: t2,
comparatorTrimReplace,
tildeTrimReplace,
caretTrimReplace
} = require_re();
var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
var BUILDSTRIPRE = new RegExp(src2[t2.BUILD], "g");
var isNullSet = (c3) => c3.value === "<0.0.0-0";
var isAny = (c3) => c3.value === "";
var isSatisfiable = (comparators, options) => {
let result2 = true;
const remainingComparators = comparators.slice();
let testComparator = remainingComparators.pop();
while (result2 && remainingComparators.length) {
result2 = remainingComparators.every((otherComparator) => {
return testComparator.intersects(otherComparator, options);
});
testComparator = remainingComparators.pop();
}
return result2;
};
var parseComparator = (comp, options) => {
comp = comp.replace(re[t2.BUILD], "");
debug("comp", comp, options);
comp = replaceCarets(comp, options);
debug("caret", comp);
comp = replaceTildes(comp, options);
debug("tildes", comp);
comp = replaceXRanges(comp, options);
debug("xrange", comp);
comp = replaceStars(comp, options);
debug("stars", comp);
return comp;
};
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
var invalidXRangeOrder = (M3, m, p) => isX(M3) && !isX(m) || isX(m) && p && !isX(p);
var replaceTildes = (comp, options) => {
return comp.trim().split(/\s+/).map((c3) => replaceTilde(c3, options)).join(" ");
};
var replaceTilde = (comp, options) => {
const r = options.loose ? re[t2.TILDELOOSE] : re[t2.TILDE];
const z = options.includePrerelease ? "-0" : "";
return comp.replace(r, (_, M3, m, p, pr) => {
debug("tilde", comp, _, M3, m, p, pr);
let ret2;
if (isX(M3)) {
ret2 = "";
} else if (isX(m)) {
ret2 = `>=${M3}.0.0${z} <${+M3 + 1}.0.0-0`;
} else if (isX(p)) {
ret2 = `>=${M3}.${m}.0${z} <${M3}.${+m + 1}.0-0`;
} else if (pr) {
debug("replaceTilde pr", pr);
ret2 = `>=${M3}.${m}.${p}-${pr} <${M3}.${+m + 1}.0-0`;
} else {
ret2 = `>=${M3}.${m}.${p} <${M3}.${+m + 1}.0-0`;
}
debug("tilde return", ret2);
return ret2;
});
};
var replaceCarets = (comp, options) => {
return comp.trim().split(/\s+/).map((c3) => replaceCaret(c3, options)).join(" ");
};
var replaceCaret = (comp, options) => {
debug("caret", comp, options);
const r = options.loose ? re[t2.CARETLOOSE] : re[t2.CARET];
const z = options.includePrerelease ? "-0" : "";
return comp.replace(r, (_, M3, m, p, pr) => {
debug("caret", comp, _, M3, m, p, pr);
let ret2;
if (isX(M3)) {
ret2 = "";
} else if (isX(m)) {
ret2 = `>=${M3}.0.0${z} <${+M3 + 1}.0.0-0`;
} else if (isX(p)) {
if (M3 === "0") {
ret2 = `>=${M3}.${m}.0${z} <${M3}.${+m + 1}.0-0`;
} else {
ret2 = `>=${M3}.${m}.0${z} <${+M3 + 1}.0.0-0`;
}
} else if (pr) {
debug("replaceCaret pr", pr);
if (M3 === "0") {
if (m === "0") {
ret2 = `>=${M3}.${m}.${p}-${pr} <${M3}.${m}.${+p + 1}-0`;
} else {
ret2 = `>=${M3}.${m}.${p}-${pr} <${M3}.${+m + 1}.0-0`;
}
} else {
ret2 = `>=${M3}.${m}.${p}-${pr} <${+M3 + 1}.0.0-0`;
}
} else {
debug("no pr");
if (M3 === "0") {
if (m === "0") {
ret2 = `>=${M3}.${m}.${p} <${M3}.${m}.${+p + 1}-0`;
} else {
ret2 = `>=${M3}.${m}.${p} <${M3}.${+m + 1}.0-0`;
}
} else {
ret2 = `>=${M3}.${m}.${p} <${+M3 + 1}.0.0-0`;
}
}
debug("caret return", ret2);
return ret2;
});
};
var replaceXRanges = (comp, options) => {
debug("replaceXRanges", comp, options);
return comp.split(/\s+/).map((c3) => replaceXRange(c3, options)).join(" ");
};
var replaceXRange = (comp, options) => {
comp = comp.trim();
const r = options.loose ? re[t2.XRANGELOOSE] : re[t2.XRANGE];
return comp.replace(r, (ret2, gtlt, M3, m, p, pr) => {
debug("xRange", comp, ret2, gtlt, M3, m, p, pr);
if (invalidXRangeOrder(M3, m, p)) {
return comp;
}
const xM = isX(M3);
const xm = xM || isX(m);
const xp = xm || isX(p);
const anyX = xp;
if (gtlt === "=" && anyX) {
gtlt = "";
}
pr = options.includePrerelease ? "-0" : "";
if (xM) {
if (gtlt === ">" || gtlt === "<") {
ret2 = "<0.0.0-0";
} else {
ret2 = "*";
}
} else if (gtlt && anyX) {
if (xm) {
m = 0;
}
p = 0;
if (gtlt === ">") {
gtlt = ">=";
if (xm) {
M3 = +M3 + 1;
m = 0;
p = 0;
} else {
m = +m + 1;
p = 0;
}
} else if (gtlt === "<=") {
gtlt = "<";
if (xm) {
M3 = +M3 + 1;
} else {
m = +m + 1;
}
}
if (gtlt === "<") {
pr = "-0";
}
ret2 = `${gtlt + M3}.${m}.${p}${pr}`;
} else if (xm) {
ret2 = `>=${M3}.0.0${pr} <${+M3 + 1}.0.0-0`;
} else if (xp) {
ret2 = `>=${M3}.${m}.0${pr} <${M3}.${+m + 1}.0-0`;
}
debug("xRange return", ret2);
return ret2;
});
};
var replaceStars = (comp, options) => {
debug("replaceStars", comp, options);
return comp.trim().replace(re[t2.STAR], "");
};
var replaceGTE0 = (comp, options) => {
debug("replaceGTE0", comp, options);
return comp.trim().replace(re[options.includePrerelease ? t2.GTE0PRE : t2.GTE0], "");
};
var hyphenReplace = (incPr) => ($0, from5, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
if (isX(fM)) {
from5 = "";
} else if (isX(fm)) {
from5 = `>=${fM}.0.0${incPr ? "-0" : ""}`;
} else if (isX(fp)) {
from5 = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
} else if (fpr) {
from5 = `>=${from5}`;
} else {
from5 = `>=${from5}${incPr ? "-0" : ""}`;
}
if (isX(tM)) {
to = "";
} else if (isX(tm)) {
to = `<${+tM + 1}.0.0-0`;
} else if (isX(tp)) {
to = `<${tM}.${+tm + 1}.0-0`;
} else if (tpr) {
to = `<=${tM}.${tm}.${tp}-${tpr}`;
} else if (incPr) {
to = `<${tM}.${tm}.${+tp + 1}-0`;
} else {
to = `<=${to}`;
}
return `${from5} ${to}`.trim();
};
var testSet = (set2, version2, options) => {
for (let i4 = 0; i4 < set2.length; i4++) {
if (!set2[i4].test(version2)) {
return false;
}
}
if (version2.prerelease.length && !options.includePrerelease) {
for (let i4 = 0; i4 < set2.length; i4++) {
debug(set2[i4].semver);
if (set2[i4].semver === Comparator.ANY) {
continue;
}
if (set2[i4].semver.prerelease.length > 0) {
const allowed = set2[i4].semver;
if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
return true;
}
}
}
return false;
}
return true;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/comparator.js
var require_comparator = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/classes/comparator.js"(exports2, module2) {
"use strict";
var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
var Comparator = class _Comparator {
static get ANY() {
return ANY;
}
constructor(comp, options) {
options = parseOptions(options);
if (comp instanceof _Comparator) {
if (comp.loose === !!options.loose) {
return comp;
} else {
comp = comp.value;
}
}
comp = comp.trim().split(/\s+/).join(" ");
debug("comparator", comp, options);
this.options = options;
this.loose = !!options.loose;
this.parse(comp);
if (this.semver === ANY) {
this.value = "";
} else {
this.value = this.operator + this.semver.version;
}
debug("comp", this);
}
parse(comp) {
const r = this.options.loose ? re[t2.COMPARATORLOOSE] : re[t2.COMPARATOR];
const m = comp.match(r);
if (!m) {
throw new TypeError(`Invalid comparator: ${comp}`);
}
this.operator = m[1] !== void 0 ? m[1] : "";
if (this.operator === "=") {
this.operator = "";
}
if (!m[2]) {
this.semver = ANY;
} else {
this.semver = new SemVer(m[2], this.options.loose);
}
}
toString() {
return this.value;
}
test(version2) {
debug("Comparator.test", version2, this.options.loose);
if (this.semver === ANY || version2 === ANY) {
return true;
}
if (typeof version2 === "string") {
try {
version2 = new SemVer(version2, this.options);
} catch (er) {
return false;
}
}
return cmp(version2, this.operator, this.semver, this.options);
}
intersects(comp, options) {
if (!(comp instanceof _Comparator)) {
throw new TypeError("a Comparator is required");
}
if (this.operator === "") {
if (this.value === "") {
return true;
}
return new Range(comp.value, options).test(this.value);
} else if (comp.operator === "") {
if (comp.value === "") {
return true;
}
return new Range(this.value, options).test(comp.semver);
}
options = parseOptions(options);
if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
return false;
}
if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
return false;
}
if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
return true;
}
if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
return true;
}
if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
return true;
}
if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
return true;
}
if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
return true;
}
return false;
}
};
module2.exports = Comparator;
var parseOptions = require_parse_options();
var { safeRe: re, t: t2 } = require_re();
var cmp = require_cmp();
var debug = require_debug();
var SemVer = require_semver();
var Range = require_range();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/satisfies.js
var require_satisfies = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/functions/satisfies.js"(exports2, module2) {
"use strict";
var Range = require_range();
var satisfies4 = (version2, range, options) => {
try {
range = new Range(range, options);
} catch (er) {
return false;
}
return range.test(version2);
};
module2.exports = satisfies4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/to-comparators.js
var require_to_comparators = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
"use strict";
var Range = require_range();
var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c3) => c3.value).join(" ").trim().split(" "));
module2.exports = toComparators;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/max-satisfying.js
var require_max_satisfying = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var Range = require_range();
var maxSatisfying = (versions, range, options) => {
let max4 = null;
let maxSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions.forEach((v) => {
if (rangeObj.test(v)) {
if (!max4 || maxSV.compare(v) === -1) {
max4 = v;
maxSV = new SemVer(max4, options);
}
}
});
return max4;
};
module2.exports = maxSatisfying;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/min-satisfying.js
var require_min_satisfying = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var Range = require_range();
var minSatisfying = (versions, range, options) => {
let min = null;
let minSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions.forEach((v) => {
if (rangeObj.test(v)) {
if (!min || minSV.compare(v) === 1) {
min = v;
minSV = new SemVer(min, options);
}
}
});
return min;
};
module2.exports = minSatisfying;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/min-version.js
var require_min_version = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/min-version.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var Range = require_range();
var gt = require_gt();
var minVersion = (range, loose) => {
range = new Range(range, loose);
let minver = new SemVer("0.0.0");
if (range.test(minver)) {
return minver;
}
minver = new SemVer("0.0.0-0");
if (range.test(minver)) {
return minver;
}
minver = null;
for (let i4 = 0; i4 < range.set.length; ++i4) {
const comparators = range.set[i4];
let setMin = null;
comparators.forEach((comparator) => {
const compver = new SemVer(comparator.semver.version);
switch (comparator.operator) {
case ">":
if (compver.prerelease.length === 0) {
compver.patch++;
} else {
compver.prerelease.push(0);
}
compver.raw = compver.format();
/* fallthrough */
case "":
case ">=":
if (!setMin || gt(compver, setMin)) {
setMin = compver;
}
break;
case "<":
case "<=":
break;
/* istanbul ignore next */
default:
throw new Error(`Unexpected operation: ${comparator.operator}`);
}
});
if (setMin && (!minver || gt(minver, setMin))) {
minver = setMin;
}
}
if (minver && range.test(minver)) {
return minver;
}
return null;
};
module2.exports = minVersion;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/valid.js
var require_valid2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/valid.js"(exports2, module2) {
"use strict";
var Range = require_range();
var validRange4 = (range, options) => {
try {
return new Range(range, options).range || "*";
} catch (er) {
return null;
}
};
module2.exports = validRange4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/outside.js
var require_outside = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/outside.js"(exports2, module2) {
"use strict";
var SemVer = require_semver();
var Comparator = require_comparator();
var { ANY } = Comparator;
var Range = require_range();
var satisfies4 = require_satisfies();
var gt = require_gt();
var lt2 = require_lt();
var lte = require_lte();
var gte = require_gte();
var outside = (version2, range, hilo, options) => {
version2 = new SemVer(version2, options);
range = new Range(range, options);
let gtfn, ltefn, ltfn, comp, ecomp;
switch (hilo) {
case ">":
gtfn = gt;
ltefn = lte;
ltfn = lt2;
comp = ">";
ecomp = ">=";
break;
case "<":
gtfn = lt2;
ltefn = gte;
ltfn = gt;
comp = "<";
ecomp = "<=";
break;
default:
throw new TypeError('Must provide a hilo val of "<" or ">"');
}
if (satisfies4(version2, range, options)) {
return false;
}
for (let i4 = 0; i4 < range.set.length; ++i4) {
const comparators = range.set[i4];
let high = null;
let low = null;
comparators.forEach((comparator) => {
if (comparator.semver === ANY) {
comparator = new Comparator(">=0.0.0");
}
high = high || comparator;
low = low || comparator;
if (gtfn(comparator.semver, high.semver, options)) {
high = comparator;
} else if (ltfn(comparator.semver, low.semver, options)) {
low = comparator;
}
});
if (high.operator === comp || high.operator === ecomp) {
return false;
}
if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
return false;
} else if (low.operator === ecomp && ltfn(version2, low.semver)) {
return false;
}
}
return true;
};
module2.exports = outside;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/gtr.js
var require_gtr = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/gtr.js"(exports2, module2) {
"use strict";
var outside = require_outside();
var gtr = (version2, range, options) => outside(version2, range, ">", options);
module2.exports = gtr;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/ltr.js
var require_ltr = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/ltr.js"(exports2, module2) {
"use strict";
var outside = require_outside();
var ltr = (version2, range, options) => outside(version2, range, "<", options);
module2.exports = ltr;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/intersects.js
var require_intersects = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/intersects.js"(exports2, module2) {
"use strict";
var Range = require_range();
var intersects = (r1, r2, options) => {
r1 = new Range(r1, options);
r2 = new Range(r2, options);
return r1.intersects(r2, options);
};
module2.exports = intersects;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/simplify.js
var require_simplify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/simplify.js"(exports2, module2) {
"use strict";
var satisfies4 = require_satisfies();
var compare3 = require_compare();
module2.exports = (versions, range, options) => {
const set2 = [];
let first = null;
let prev = null;
const v = versions.sort((a2, b) => compare3(a2, b, options));
for (const version2 of v) {
const included = satisfies4(version2, range, options);
if (included) {
prev = version2;
if (!first) {
first = version2;
}
} else {
if (prev) {
set2.push([first, prev]);
}
prev = null;
first = null;
}
}
if (first) {
set2.push([first, null]);
}
const ranges = [];
for (const [min, max4] of set2) {
if (min === max4) {
ranges.push(min);
} else if (!max4 && min === v[0]) {
ranges.push("*");
} else if (!max4) {
ranges.push(`>=${min}`);
} else if (min === v[0]) {
ranges.push(`<=${max4}`);
} else {
ranges.push(`${min} - ${max4}`);
}
}
const simplified = ranges.join(" || ");
const original = typeof range.raw === "string" ? range.raw : String(range);
return simplified.length < original.length ? simplified : range;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/subset.js
var require_subset = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/ranges/subset.js"(exports2, module2) {
"use strict";
var Range = require_range();
var Comparator = require_comparator();
var { ANY } = Comparator;
var satisfies4 = require_satisfies();
var compare3 = require_compare();
var subset = (sub, dom, options = {}) => {
if (sub === dom) {
return true;
}
sub = new Range(sub, options);
dom = new Range(dom, options);
let sawNonNull = false;
OUTER: for (const simpleSub of sub.set) {
for (const simpleDom of dom.set) {
const isSub = simpleSubset(simpleSub, simpleDom, options);
sawNonNull = sawNonNull || isSub !== null;
if (isSub) {
continue OUTER;
}
}
if (sawNonNull) {
return false;
}
}
return true;
};
var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
var minimumVersion = [new Comparator(">=0.0.0")];
var simpleSubset = (sub, dom, options) => {
if (sub === dom) {
return true;
}
if (sub.length === 1 && sub[0].semver === ANY) {
if (dom.length === 1 && dom[0].semver === ANY) {
return true;
} else if (options.includePrerelease) {
sub = minimumVersionWithPreRelease;
} else {
sub = minimumVersion;
}
}
if (dom.length === 1 && dom[0].semver === ANY) {
if (options.includePrerelease) {
return true;
} else {
dom = minimumVersion;
}
}
const eqSet = /* @__PURE__ */ new Set();
let gt, lt2;
for (const c3 of sub) {
if (c3.operator === ">" || c3.operator === ">=") {
gt = higherGT(gt, c3, options);
} else if (c3.operator === "<" || c3.operator === "<=") {
lt2 = lowerLT(lt2, c3, options);
} else {
eqSet.add(c3.semver);
}
}
if (eqSet.size > 1) {
return null;
}
let gtltComp;
if (gt && lt2) {
gtltComp = compare3(gt.semver, lt2.semver, options);
if (gtltComp > 0) {
return null;
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
return null;
}
}
for (const eq of eqSet) {
if (gt && !satisfies4(eq, String(gt), options)) {
return null;
}
if (lt2 && !satisfies4(eq, String(lt2), options)) {
return null;
}
for (const c3 of dom) {
if (!satisfies4(eq, String(c3), options)) {
return false;
}
}
return true;
}
let higher, lower;
let hasDomLT, hasDomGT;
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
needDomLTPre = false;
}
for (const c3 of dom) {
hasDomGT = hasDomGT || c3.operator === ">" || c3.operator === ">=";
hasDomLT = hasDomLT || c3.operator === "<" || c3.operator === "<=";
if (gt) {
if (needDomGTPre) {
if (c3.semver.prerelease && c3.semver.prerelease.length && c3.semver.major === needDomGTPre.major && c3.semver.minor === needDomGTPre.minor && c3.semver.patch === needDomGTPre.patch) {
needDomGTPre = false;
}
}
if (c3.operator === ">" || c3.operator === ">=") {
higher = higherGT(gt, c3, options);
if (higher === c3 && higher !== gt) {
return false;
}
} else if (gt.operator === ">=" && !c3.test(gt.semver)) {
return false;
}
}
if (lt2) {
if (needDomLTPre) {
if (c3.semver.prerelease && c3.semver.prerelease.length && c3.semver.major === needDomLTPre.major && c3.semver.minor === needDomLTPre.minor && c3.semver.patch === needDomLTPre.patch) {
needDomLTPre = false;
}
}
if (c3.operator === "<" || c3.operator === "<=") {
lower = lowerLT(lt2, c3, options);
if (lower === c3 && lower !== lt2) {
return false;
}
} else if (lt2.operator === "<=" && !c3.test(lt2.semver)) {
return false;
}
}
if (!c3.operator && (lt2 || gt) && gtltComp !== 0) {
return false;
}
}
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
return false;
}
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
return false;
}
if (needDomGTPre || needDomLTPre) {
return false;
}
return true;
};
var higherGT = (a2, b, options) => {
if (!a2) {
return b;
}
const comp = compare3(a2.semver, b.semver, options);
return comp > 0 ? a2 : comp < 0 ? b : b.operator === ">" && a2.operator === ">=" ? b : a2;
};
var lowerLT = (a2, b, options) => {
if (!a2) {
return b;
}
const comp = compare3(a2.semver, b.semver, options);
return comp < 0 ? a2 : comp > 0 ? b : b.operator === "<" && a2.operator === "<=" ? b : a2;
};
module2.exports = subset;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/index.js
var require_semver2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver/7.8.5/50b76942b76b1567bb275b07b36d4efd1f7bc678ee222317e6ec7ff2c047c60d/node_modules/semver/index.js"(exports2, module2) {
"use strict";
var internalRe = require_re();
var constants6 = require_constants();
var SemVer = require_semver();
var identifiers = require_identifiers();
var parse12 = require_parse();
var valid6 = require_valid();
var clean2 = require_clean();
var inc3 = require_inc();
var diff2 = require_diff();
var major = require_major();
var minor = require_minor();
var patch = require_patch();
var prerelease = require_prerelease();
var compare3 = require_compare();
var rcompare = require_rcompare();
var compareLoose = require_compare_loose();
var compareBuild = require_compare_build();
var sort = require_sort();
var rsort2 = require_rsort();
var gt = require_gt();
var lt2 = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce = require_coerce();
var truncate = require_truncate();
var Comparator = require_comparator();
var Range = require_range();
var satisfies4 = require_satisfies();
var toComparators = require_to_comparators();
var maxSatisfying = require_max_satisfying();
var minSatisfying = require_min_satisfying();
var minVersion = require_min_version();
var validRange4 = require_valid2();
var outside = require_outside();
var gtr = require_gtr();
var ltr = require_ltr();
var intersects = require_intersects();
var simplifyRange = require_simplify();
var subset = require_subset();
module2.exports = {
parse: parse12,
valid: valid6,
clean: clean2,
inc: inc3,
diff: diff2,
major,
minor,
patch,
prerelease,
compare: compare3,
rcompare,
compareLoose,
compareBuild,
sort,
rsort: rsort2,
gt,
lt: lt2,
eq,
neq,
gte,
lte,
cmp,
coerce,
truncate,
Comparator,
Range,
satisfies: satisfies4,
toComparators,
maxSatisfying,
minSatisfying,
minVersion,
validRange: validRange4,
outside,
gtr,
ltr,
intersects,
simplifyRange,
subset,
SemVer,
re: internalRe.re,
src: internalRe.src,
tokens: internalRe.t,
SEMVER_SPEC_VERSION: constants6.SEMVER_SPEC_VERSION,
RELEASE_TYPES: constants6.RELEASE_TYPES,
compareIdentifiers: identifiers.compareIdentifiers,
rcompareIdentifiers: identifiers.rcompareIdentifiers
};
}
});
// ../deps/peer-range/lib/index.js
function isValidPeerRange(version2) {
return typeof (0, import_semver.validRange)(version2) === "string" || version2.includes("workspace:") || version2.includes("catalog:");
}
var import_semver;
var init_lib10 = __esm({
"../deps/peer-range/lib/index.js"() {
"use strict";
import_semver = __toESM(require_semver2(), 1);
}
});
// ../pkg-manifest/utils/lib/updateProjectManifestObject.js
function getPeerSpecifier(spec, resolvedVersion, pinnedVersion) {
if (isValidPeerRange(spec))
return spec;
const rangeFromResolved = resolvedVersion ? createVersionSpecFromResolvedVersion(resolvedVersion, pinnedVersion) : null;
return rangeFromResolved ?? "*";
}
function createVersionSpecFromResolvedVersion(resolvedVersion, pinnedVersion) {
const parsed = import_semver2.default.parse(resolvedVersion);
if (!parsed)
return null;
if (parsed.prerelease.length)
return resolvedVersion;
switch (pinnedVersion ?? "major") {
case "none":
case "major":
return `^${resolvedVersion}`;
case "minor":
return `~${resolvedVersion}`;
case "patch":
return resolvedVersion;
default:
return `^${resolvedVersion}`;
}
}
async function updateProjectManifestObject(prefix, packageManifest, packageSpecs) {
for (const packageSpec of packageSpecs) {
if (packageSpec.saveType) {
const spec = packageSpec.bareSpecifier ?? findSpec(packageSpec.alias, packageManifest);
if (spec) {
packageManifest[packageSpec.saveType] = packageManifest[packageSpec.saveType] ?? {};
defineDepEntry(packageManifest[packageSpec.saveType], packageSpec.alias, spec);
for (const deptype of DEPENDENCIES_FIELDS) {
if (deptype !== packageSpec.saveType) {
deleteDepEntry(packageManifest[deptype], packageSpec.alias);
}
}
if (packageSpec.peer === true) {
packageManifest.peerDependencies = packageManifest.peerDependencies ?? {};
defineDepEntry(packageManifest.peerDependencies, packageSpec.alias, getPeerSpecifier(spec, packageSpec.resolvedVersion, packageSpec.pinnedVersion));
}
}
} else if (packageSpec.bareSpecifier) {
const usedDepType = guessDependencyType(packageSpec.alias, packageManifest) ?? "dependencies";
if (usedDepType !== "peerDependencies") {
packageManifest[usedDepType] = packageManifest[usedDepType] ?? {};
defineDepEntry(packageManifest[usedDepType], packageSpec.alias, packageSpec.bareSpecifier);
}
}
}
packageManifestLogger.debug({
prefix,
updated: packageManifest
});
return packageManifest;
}
function findSpec(alias, manifest) {
const foundDepType = guessDependencyType(alias, manifest);
if (foundDepType == null)
return void 0;
const deps = manifest[foundDepType];
return Object.hasOwn(deps, alias) ? deps[alias] : void 0;
}
function guessDependencyType(alias, manifest) {
return DEPENDENCIES_OR_PEER_FIELDS.find((depField) => {
const deps = manifest[depField];
if (deps == null || !Object.hasOwn(deps, alias))
return false;
return deps[alias] === "" || Boolean(deps[alias]);
});
}
function defineDepEntry(target2, alias, value) {
Object.defineProperty(target2, alias, {
value,
enumerable: true,
writable: true,
configurable: true
});
}
function deleteDepEntry(target2, alias) {
if (target2 != null && Object.hasOwn(target2, alias)) {
delete target2[alias];
}
}
var import_semver2;
var init_updateProjectManifestObject = __esm({
"../pkg-manifest/utils/lib/updateProjectManifestObject.js"() {
"use strict";
init_lib6();
init_lib10();
init_lib9();
import_semver2 = __toESM(require_semver2(), 1);
}
});
// ../pkg-manifest/utils/lib/index.js
function filterDependenciesByType(manifest, include) {
return {
...include.devDependencies ? manifest.devDependencies : {},
...include.dependencies ? manifest.dependencies : {},
...include.optionalDependencies ? manifest.optionalDependencies : {}
};
}
function getAllDependenciesFromManifest2(manifest, opts3) {
return {
...manifest.devDependencies,
...manifest.dependencies,
...manifest.optionalDependencies,
...opts3?.autoInstallPeers ? manifest.peerDependencies : {}
};
}
var init_lib11 = __esm({
"../pkg-manifest/utils/lib/index.js"() {
"use strict";
init_getAllUniqueSpecs();
init_getSpecFromPackageManifest();
init_convertEnginesRuntimeToDependencies();
init_getDependencyTypeFromManifest();
init_updateProjectManifestObject();
}
});
// ../text/comments-parser/lib/CommentSpecifier.js
var init_CommentSpecifier = __esm({
"../text/comments-parser/lib/CommentSpecifier.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-comments-strings/1.2.0/36467a0524c5f1f6650027e0e1716346b8fe10bfd5e3ea90ee17f0af89c6b273/node_modules/strip-comments-strings/index.mjs
function replaceOccurences(strings2, str2, replacer2, { includeDelimiter = true }) {
const isCallable = typeof replacer2 === "function";
const n2 = strings2.length;
for (let i4 = n2 - 1; i4 >= 0; --i4) {
const info = strings2[i4];
const replacement = isCallable ? replacer2(info, str2) : replacer2;
if (includeDelimiter) {
str2 = str2.substring(0, info.index - 1) + replacement + str2.substring(info.indexEnd + 1);
} else {
str2 = str2.substring(0, info.index) + replacement + str2.substring(info.indexEnd);
}
}
return str2;
}
var COMMENT_TYPE, REGEX_TYPE, firstFound, getNextClosingElement, movePointerIndex, parseString, stripComments;
var init_strip_comments_strings = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-comments-strings/1.2.0/36467a0524c5f1f6650027e0e1716346b8fe10bfd5e3ea90ee17f0af89c6b273/node_modules/strip-comments-strings/index.mjs"() {
COMMENT_TYPE = {
COMMENT_BLOCK: "commentBlock",
COMMENT_LINE: "commentLine"
};
REGEX_TYPE = "regex";
firstFound = (str2, stringStarters = null) => {
stringStarters = stringStarters || [
{ name: "quote", char: "'" },
{ name: "literal", char: "`" },
{ name: "doubleQuote", char: '"' },
{ name: COMMENT_TYPE.COMMENT_BLOCK, char: "/*" },
{ name: COMMENT_TYPE.COMMENT_LINE, char: "//" },
{ name: REGEX_TYPE, char: "/" }
];
let lastIndex = -1;
let winner = -1;
let item = {};
for (let i4 = 0; i4 < stringStarters.length; ++i4) {
item = stringStarters[i4];
const index2 = str2.indexOf(item.char);
if (index2 > -1 && lastIndex < 0) {
lastIndex = index2;
winner = i4;
}
if (index2 > -1 && index2 < lastIndex) {
lastIndex = index2;
winner = i4;
}
item.index = index2;
}
if (winner === -1) {
return {
index: -1
};
}
return {
char: stringStarters[winner].char,
name: stringStarters[winner].name,
index: lastIndex
};
};
getNextClosingElement = (str2, chars, { specialCharStart = null, specialCharEnd = null } = {}) => {
if (!Array.isArray(chars)) {
chars = [chars];
}
const n2 = str2.length;
for (let i4 = 0; i4 < n2; ++i4) {
const currentChar = str2[i4];
if (currentChar === "\\") {
++i4;
continue;
}
if (specialCharStart && currentChar === specialCharStart) {
const newStr = str2.substring(i4);
const stp = getNextClosingElement(newStr, specialCharEnd);
i4 += stp.index;
}
if (chars.includes(currentChar)) {
return {
index: i4
};
}
}
return {
index: -1
};
};
movePointerIndex = (str2, index2) => {
str2 = str2.substring(index2);
return str2;
};
parseString = (str2) => {
const originalString = str2;
const originalStringLength = originalString.length;
const detectedString = [];
const detectedComments = [];
const detectedRegex = [];
do {
let item = firstFound(str2);
if (item.index === -1) {
break;
}
const enter = {
item
};
if (item.name === COMMENT_TYPE.COMMENT_BLOCK) {
enter.type = item.name;
str2 = movePointerIndex(str2, item.index);
enter.index = originalStringLength - str2.length;
const nextIndex = str2.indexOf("*/");
if (nextIndex === -1) {
throw new Error("Comment Block opened at position ... not enclosed");
}
str2 = movePointerIndex(str2, nextIndex + 2);
enter.indexEnd = originalStringLength - str2.length;
enter.content = originalString.substring(enter.index, enter.indexEnd);
detectedComments.push(enter);
continue;
} else if (item.name === COMMENT_TYPE.COMMENT_LINE) {
enter.type = item.name;
str2 = movePointerIndex(str2, item.index);
enter.index = originalStringLength - str2.length;
let newLinePos = str2.indexOf("\n");
if (newLinePos === -1) {
enter.indexEnd = originalStringLength;
enter.content = originalString.substring(enter.index, enter.indexEnd - 1);
detectedComments.push(enter);
break;
}
str2 = movePointerIndex(str2, newLinePos + 1);
enter.indexEnd = originalStringLength - str2.length - 1;
enter.content = originalString.substring(enter.index, enter.indexEnd);
detectedComments.push(enter);
continue;
} else if (item.name === REGEX_TYPE) {
enter.type = item.name;
str2 = movePointerIndex(str2, item.index + 1);
enter.index = originalStringLength - str2.length - 1;
const nextItem2 = getNextClosingElement(str2, ["/", "\n"], { specialCharStart: "[", specialCharEnd: "]" });
if (nextItem2.index === -1) {
throw new Error(`SCT: (1005) Regex opened at position ${enter.index} not enclosed`);
}
str2 = movePointerIndex(str2, nextItem2.index + 1);
enter.indexEnd = originalStringLength - str2.length;
enter.content = originalString.substring(enter.index, enter.indexEnd);
detectedRegex.push(enter);
continue;
}
str2 = str2.substring(item.index + 1);
enter.index = originalStringLength - str2.length;
const nextItem = getNextClosingElement(str2, item.char);
if (nextItem.index === -1) {
throw new Error(`SCT: (1001) String opened at position ${enter.index} with a ${item.name} not enclosed`);
}
str2 = movePointerIndex(str2, nextItem.index + 1);
enter.indexEnd = originalStringLength - str2.length - 1;
enter.content = originalString.substring(enter.index, enter.indexEnd);
detectedString.push(enter);
} while (true);
return {
text: str2,
strings: detectedString,
comments: detectedComments,
regexes: detectedRegex
};
};
stripComments = (str2, replacer2 = "") => {
const comments = parseString(str2).comments;
str2 = replaceOccurences(comments, str2, replacer2, { includeDelimiter: false });
return str2;
};
}
});
// ../text/comments-parser/lib/extractComments.js
function extractComments(text) {
const hasFinalNewline = text.endsWith("\n");
if (!hasFinalNewline) {
text += "\n";
}
const { comments: rawComments } = parseString(text);
const comments = [];
let stripped = stripComments(text);
if (!hasFinalNewline) {
stripped = stripped.slice(0, -1);
}
let offset = 0;
for (const comment of rawComments) {
const preamble = stripped.slice(0, comment.index - offset);
const lineStart = Math.max(preamble.lastIndexOf("\n"), 0);
const priorLines = preamble.split("\n");
let lineNumber = priorLines.length;
let after = "";
let hasAfter = false;
if (lineNumber === 1) {
if (preamble.trim().length === 0) {
lineNumber = 0;
}
} else {
after = priorLines[lineNumber - 2];
hasAfter = true;
if (priorLines[0].trim().length === 0) {
lineNumber -= 1;
}
}
let lineEnd = stripped.indexOf("\n", lineStart === 0 ? 0 : lineStart + 1);
if (lineEnd < 0) {
lineEnd = stripped.length;
}
const whitespaceMatch = stripped.slice(lineStart, comment.index - offset).match(/^\s*/);
const newComment = {
type: comment.type,
content: comment.content,
lineNumber,
on: stripped.slice(lineStart, lineEnd),
whitespace: whitespaceMatch ? whitespaceMatch[0] : ""
};
if (hasAfter) {
newComment.after = after;
}
const nextLineEnd = stripped.indexOf("\n", lineEnd + 1);
if (nextLineEnd >= 0) {
newComment.before = stripped.slice(lineEnd, nextLineEnd);
}
comments.push(newComment);
offset += comment.indexEnd - comment.index;
}
return {
text: stripped,
comments: comments.length ? comments : void 0,
hasFinalNewline
};
}
var init_extractComments = __esm({
"../text/comments-parser/lib/extractComments.js"() {
"use strict";
init_strip_comments_strings();
}
});
// ../text/comments-parser/lib/insertComments.js
function insertComments(json2, comments) {
const jsonLines = json2.split("\n");
const index2 = {};
const canonicalizer = /[\s'"]/g;
for (let i4 = 0; i4 < jsonLines.length; ++i4) {
const key = jsonLines[i4].replace(canonicalizer, "");
if (key in index2) {
index2[key] = -1;
} else {
index2[key] = i4;
}
}
const jsonPrefix = {};
for (const comment of comments) {
let key = comment.on.replace(canonicalizer, "");
if (key && index2[key] !== void 0 && index2[key] >= 0) {
jsonLines[index2[key]] += " " + comment.content;
continue;
}
if (comment.before === void 0) {
jsonLines[jsonLines.length - 1] += comment.whitespace + comment.content;
continue;
}
let location = comment.lineNumber === 0 ? 0 : -1;
if (location < 0) {
key = comment.before.replace(canonicalizer, "");
if (key && index2[key] !== void 0) {
location = index2[key];
}
}
if (location >= 0) {
if (jsonPrefix[location]) {
jsonPrefix[location] += " " + comment.content;
} else {
const inlineWhitespace = comment.whitespace[0] === "\n" ? comment.whitespace.slice(1) : comment.whitespace;
jsonPrefix[location] = inlineWhitespace + comment.content;
}
continue;
}
if (comment.after) {
key = comment.after.replace(canonicalizer, "");
if (key && index2[key] !== void 0 && index2[key] >= 0) {
jsonLines[index2[key]] += comment.whitespace + comment.content;
continue;
}
}
location = comment.lineNumber - 1;
let separator = " ";
if (location >= jsonLines.length) {
location = jsonLines.length - 1;
separator = "\n";
}
jsonLines[location] += separator + comment.content + " /* [comment possibly relocated by pnpm] */";
}
for (let i4 = 0; i4 < jsonLines.length; ++i4) {
if (jsonPrefix[i4]) {
jsonLines[i4] = jsonPrefix[i4] + "\n" + jsonLines[i4];
}
}
return jsonLines.join("\n");
}
var init_insertComments = __esm({
"../text/comments-parser/lib/insertComments.js"() {
"use strict";
}
});
// ../text/comments-parser/lib/index.js
var init_lib12 = __esm({
"../text/comments-parser/lib/index.js"() {
"use strict";
init_CommentSpecifier();
init_extractComments();
init_insertComments();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/unicode.js
var require_unicode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/unicode.js"(exports2, module2) {
module2.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
module2.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
module2.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/util.js
var require_util2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/util.js"(exports2, module2) {
var unicode = require_unicode();
module2.exports = {
isSpaceSeparator(c3) {
return typeof c3 === "string" && unicode.Space_Separator.test(c3);
},
isIdStartChar(c3) {
return typeof c3 === "string" && (c3 >= "a" && c3 <= "z" || c3 >= "A" && c3 <= "Z" || c3 === "$" || c3 === "_" || unicode.ID_Start.test(c3));
},
isIdContinueChar(c3) {
return typeof c3 === "string" && (c3 >= "a" && c3 <= "z" || c3 >= "A" && c3 <= "Z" || c3 >= "0" && c3 <= "9" || c3 === "$" || c3 === "_" || c3 === "\u200C" || c3 === "\u200D" || unicode.ID_Continue.test(c3));
},
isDigit(c3) {
return typeof c3 === "string" && /[0-9]/.test(c3);
},
isHexDigit(c3) {
return typeof c3 === "string" && /[0-9A-Fa-f]/.test(c3);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/parse.js
var require_parse7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/parse.js"(exports2, module2) {
var util64 = require_util2();
var source;
var parseState;
var stack;
var pos;
var line;
var column;
var token;
var key;
var root;
module2.exports = function parse12(text, reviver) {
source = String(text);
parseState = "start";
stack = [];
pos = 0;
line = 1;
column = 0;
token = void 0;
key = void 0;
root = void 0;
do {
token = lex();
parseStates[parseState]();
} while (token.type !== "eof");
if (typeof reviver === "function") {
return internalize({ "": root }, "", reviver);
}
return root;
};
function internalize(holder, name, reviver) {
const value = holder[name];
if (value != null && typeof value === "object") {
if (Array.isArray(value)) {
for (let i4 = 0; i4 < value.length; i4++) {
const key2 = String(i4);
const replacement = internalize(value, key2, reviver);
if (replacement === void 0) {
delete value[key2];
} else {
Object.defineProperty(value, key2, {
value: replacement,
writable: true,
enumerable: true,
configurable: true
});
}
}
} else {
for (const key2 in value) {
const replacement = internalize(value, key2, reviver);
if (replacement === void 0) {
delete value[key2];
} else {
Object.defineProperty(value, key2, {
value: replacement,
writable: true,
enumerable: true,
configurable: true
});
}
}
}
}
return reviver.call(holder, name, value);
}
var lexState;
var buffer3;
var doubleQuote;
var sign;
var c3;
function lex() {
lexState = "default";
buffer3 = "";
doubleQuote = false;
sign = 1;
for (; ; ) {
c3 = peek();
const token2 = lexStates[lexState]();
if (token2) {
return token2;
}
}
}
function peek() {
if (source[pos]) {
return String.fromCodePoint(source.codePointAt(pos));
}
}
function read2() {
const c4 = peek();
if (c4 === "\n") {
line++;
column = 0;
} else if (c4) {
column += c4.length;
} else {
column++;
}
if (c4) {
pos += c4.length;
}
return c4;
}
var lexStates = {
default() {
switch (c3) {
case " ":
case "\v":
case "\f":
case " ":
case "\xA0":
case "\uFEFF":
case "\n":
case "\r":
case "\u2028":
case "\u2029":
read2();
return;
case "/":
read2();
lexState = "comment";
return;
case void 0:
read2();
return newToken("eof");
}
if (util64.isSpaceSeparator(c3)) {
read2();
return;
}
return lexStates[parseState]();
},
comment() {
switch (c3) {
case "*":
read2();
lexState = "multiLineComment";
return;
case "/":
read2();
lexState = "singleLineComment";
return;
}
throw invalidChar(read2());
},
multiLineComment() {
switch (c3) {
case "*":
read2();
lexState = "multiLineCommentAsterisk";
return;
case void 0:
throw invalidChar(read2());
}
read2();
},
multiLineCommentAsterisk() {
switch (c3) {
case "*":
read2();
return;
case "/":
read2();
lexState = "default";
return;
case void 0:
throw invalidChar(read2());
}
read2();
lexState = "multiLineComment";
},
singleLineComment() {
switch (c3) {
case "\n":
case "\r":
case "\u2028":
case "\u2029":
read2();
lexState = "default";
return;
case void 0:
read2();
return newToken("eof");
}
read2();
},
value() {
switch (c3) {
case "{":
case "[":
return newToken("punctuator", read2());
case "n":
read2();
literal("ull");
return newToken("null", null);
case "t":
read2();
literal("rue");
return newToken("boolean", true);
case "f":
read2();
literal("alse");
return newToken("boolean", false);
case "-":
case "+":
if (read2() === "-") {
sign = -1;
}
lexState = "sign";
return;
case ".":
buffer3 = read2();
lexState = "decimalPointLeading";
return;
case "0":
buffer3 = read2();
lexState = "zero";
return;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
buffer3 = read2();
lexState = "decimalInteger";
return;
case "I":
read2();
literal("nfinity");
return newToken("numeric", Infinity);
case "N":
read2();
literal("aN");
return newToken("numeric", NaN);
case '"':
case "'":
doubleQuote = read2() === '"';
buffer3 = "";
lexState = "string";
return;
}
throw invalidChar(read2());
},
identifierNameStartEscape() {
if (c3 !== "u") {
throw invalidChar(read2());
}
read2();
const u2 = unicodeEscape();
switch (u2) {
case "$":
case "_":
break;
default:
if (!util64.isIdStartChar(u2)) {
throw invalidIdentifier();
}
break;
}
buffer3 += u2;
lexState = "identifierName";
},
identifierName() {
switch (c3) {
case "$":
case "_":
case "\u200C":
case "\u200D":
buffer3 += read2();
return;
case "\\":
read2();
lexState = "identifierNameEscape";
return;
}
if (util64.isIdContinueChar(c3)) {
buffer3 += read2();
return;
}
return newToken("identifier", buffer3);
},
identifierNameEscape() {
if (c3 !== "u") {
throw invalidChar(read2());
}
read2();
const u2 = unicodeEscape();
switch (u2) {
case "$":
case "_":
case "\u200C":
case "\u200D":
break;
default:
if (!util64.isIdContinueChar(u2)) {
throw invalidIdentifier();
}
break;
}
buffer3 += u2;
lexState = "identifierName";
},
sign() {
switch (c3) {
case ".":
buffer3 = read2();
lexState = "decimalPointLeading";
return;
case "0":
buffer3 = read2();
lexState = "zero";
return;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
buffer3 = read2();
lexState = "decimalInteger";
return;
case "I":
read2();
literal("nfinity");
return newToken("numeric", sign * Infinity);
case "N":
read2();
literal("aN");
return newToken("numeric", NaN);
}
throw invalidChar(read2());
},
zero() {
switch (c3) {
case ".":
buffer3 += read2();
lexState = "decimalPoint";
return;
case "e":
case "E":
buffer3 += read2();
lexState = "decimalExponent";
return;
case "x":
case "X":
buffer3 += read2();
lexState = "hexadecimal";
return;
}
return newToken("numeric", sign * 0);
},
decimalInteger() {
switch (c3) {
case ".":
buffer3 += read2();
lexState = "decimalPoint";
return;
case "e":
case "E":
buffer3 += read2();
lexState = "decimalExponent";
return;
}
if (util64.isDigit(c3)) {
buffer3 += read2();
return;
}
return newToken("numeric", sign * Number(buffer3));
},
decimalPointLeading() {
if (util64.isDigit(c3)) {
buffer3 += read2();
lexState = "decimalFraction";
return;
}
throw invalidChar(read2());
},
decimalPoint() {
switch (c3) {
case "e":
case "E":
buffer3 += read2();
lexState = "decimalExponent";
return;
}
if (util64.isDigit(c3)) {
buffer3 += read2();
lexState = "decimalFraction";
return;
}
return newToken("numeric", sign * Number(buffer3));
},
decimalFraction() {
switch (c3) {
case "e":
case "E":
buffer3 += read2();
lexState = "decimalExponent";
return;
}
if (util64.isDigit(c3)) {
buffer3 += read2();
return;
}
return newToken("numeric", sign * Number(buffer3));
},
decimalExponent() {
switch (c3) {
case "+":
case "-":
buffer3 += read2();
lexState = "decimalExponentSign";
return;
}
if (util64.isDigit(c3)) {
buffer3 += read2();
lexState = "decimalExponentInteger";
return;
}
throw invalidChar(read2());
},
decimalExponentSign() {
if (util64.isDigit(c3)) {
buffer3 += read2();
lexState = "decimalExponentInteger";
return;
}
throw invalidChar(read2());
},
decimalExponentInteger() {
if (util64.isDigit(c3)) {
buffer3 += read2();
return;
}
return newToken("numeric", sign * Number(buffer3));
},
hexadecimal() {
if (util64.isHexDigit(c3)) {
buffer3 += read2();
lexState = "hexadecimalInteger";
return;
}
throw invalidChar(read2());
},
hexadecimalInteger() {
if (util64.isHexDigit(c3)) {
buffer3 += read2();
return;
}
return newToken("numeric", sign * Number(buffer3));
},
string() {
switch (c3) {
case "\\":
read2();
buffer3 += escape();
return;
case '"':
if (doubleQuote) {
read2();
return newToken("string", buffer3);
}
buffer3 += read2();
return;
case "'":
if (!doubleQuote) {
read2();
return newToken("string", buffer3);
}
buffer3 += read2();
return;
case "\n":
case "\r":
throw invalidChar(read2());
case "\u2028":
case "\u2029":
separatorChar(c3);
break;
case void 0:
throw invalidChar(read2());
}
buffer3 += read2();
},
start() {
switch (c3) {
case "{":
case "[":
return newToken("punctuator", read2());
}
lexState = "value";
},
beforePropertyName() {
switch (c3) {
case "$":
case "_":
buffer3 = read2();
lexState = "identifierName";
return;
case "\\":
read2();
lexState = "identifierNameStartEscape";
return;
case "}":
return newToken("punctuator", read2());
case '"':
case "'":
doubleQuote = read2() === '"';
lexState = "string";
return;
}
if (util64.isIdStartChar(c3)) {
buffer3 += read2();
lexState = "identifierName";
return;
}
throw invalidChar(read2());
},
afterPropertyName() {
if (c3 === ":") {
return newToken("punctuator", read2());
}
throw invalidChar(read2());
},
beforePropertyValue() {
lexState = "value";
},
afterPropertyValue() {
switch (c3) {
case ",":
case "}":
return newToken("punctuator", read2());
}
throw invalidChar(read2());
},
beforeArrayValue() {
if (c3 === "]") {
return newToken("punctuator", read2());
}
lexState = "value";
},
afterArrayValue() {
switch (c3) {
case ",":
case "]":
return newToken("punctuator", read2());
}
throw invalidChar(read2());
},
end() {
throw invalidChar(read2());
}
};
function newToken(type4, value) {
return {
type: type4,
value,
line,
column
};
}
function literal(s) {
for (const c4 of s) {
const p = peek();
if (p !== c4) {
throw invalidChar(read2());
}
read2();
}
}
function escape() {
const c4 = peek();
switch (c4) {
case "b":
read2();
return "\b";
case "f":
read2();
return "\f";
case "n":
read2();
return "\n";
case "r":
read2();
return "\r";
case "t":
read2();
return " ";
case "v":
read2();
return "\v";
case "0":
read2();
if (util64.isDigit(peek())) {
throw invalidChar(read2());
}
return "\0";
case "x":
read2();
return hexEscape();
case "u":
read2();
return unicodeEscape();
case "\n":
case "\u2028":
case "\u2029":
read2();
return "";
case "\r":
read2();
if (peek() === "\n") {
read2();
}
return "";
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
throw invalidChar(read2());
case void 0:
throw invalidChar(read2());
}
return read2();
}
function hexEscape() {
let buffer4 = "";
let c4 = peek();
if (!util64.isHexDigit(c4)) {
throw invalidChar(read2());
}
buffer4 += read2();
c4 = peek();
if (!util64.isHexDigit(c4)) {
throw invalidChar(read2());
}
buffer4 += read2();
return String.fromCodePoint(parseInt(buffer4, 16));
}
function unicodeEscape() {
let buffer4 = "";
let count2 = 4;
while (count2-- > 0) {
const c4 = peek();
if (!util64.isHexDigit(c4)) {
throw invalidChar(read2());
}
buffer4 += read2();
}
return String.fromCodePoint(parseInt(buffer4, 16));
}
var parseStates = {
start() {
if (token.type === "eof") {
throw invalidEOF();
}
push();
},
beforePropertyName() {
switch (token.type) {
case "identifier":
case "string":
key = token.value;
parseState = "afterPropertyName";
return;
case "punctuator":
pop();
return;
case "eof":
throw invalidEOF();
}
},
afterPropertyName() {
if (token.type === "eof") {
throw invalidEOF();
}
parseState = "beforePropertyValue";
},
beforePropertyValue() {
if (token.type === "eof") {
throw invalidEOF();
}
push();
},
beforeArrayValue() {
if (token.type === "eof") {
throw invalidEOF();
}
if (token.type === "punctuator" && token.value === "]") {
pop();
return;
}
push();
},
afterPropertyValue() {
if (token.type === "eof") {
throw invalidEOF();
}
switch (token.value) {
case ",":
parseState = "beforePropertyName";
return;
case "}":
pop();
}
},
afterArrayValue() {
if (token.type === "eof") {
throw invalidEOF();
}
switch (token.value) {
case ",":
parseState = "beforeArrayValue";
return;
case "]":
pop();
}
},
end() {
}
};
function push() {
let value;
switch (token.type) {
case "punctuator":
switch (token.value) {
case "{":
value = {};
break;
case "[":
value = [];
break;
}
break;
case "null":
case "boolean":
case "numeric":
case "string":
value = token.value;
break;
}
if (root === void 0) {
root = value;
} else {
const parent = stack[stack.length - 1];
if (Array.isArray(parent)) {
parent.push(value);
} else {
Object.defineProperty(parent, key, {
value,
writable: true,
enumerable: true,
configurable: true
});
}
}
if (value !== null && typeof value === "object") {
stack.push(value);
if (Array.isArray(value)) {
parseState = "beforeArrayValue";
} else {
parseState = "beforePropertyName";
}
} else {
const current = stack[stack.length - 1];
if (current == null) {
parseState = "end";
} else if (Array.isArray(current)) {
parseState = "afterArrayValue";
} else {
parseState = "afterPropertyValue";
}
}
}
function pop() {
stack.pop();
const current = stack[stack.length - 1];
if (current == null) {
parseState = "end";
} else if (Array.isArray(current)) {
parseState = "afterArrayValue";
} else {
parseState = "afterPropertyValue";
}
}
function invalidChar(c4) {
if (c4 === void 0) {
return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
}
return syntaxError(`JSON5: invalid character '${formatChar(c4)}' at ${line}:${column}`);
}
function invalidEOF() {
return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
}
function invalidIdentifier() {
column -= 5;
return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
}
function separatorChar(c4) {
console.warn(`JSON5: '${formatChar(c4)}' in strings is not valid ECMAScript; consider escaping`);
}
function formatChar(c4) {
const replacements3 = {
"'": "\\'",
'"': '\\"',
"\\": "\\\\",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
" ": "\\t",
"\v": "\\v",
"\0": "\\0",
"\u2028": "\\u2028",
"\u2029": "\\u2029"
};
if (replacements3[c4]) {
return replacements3[c4];
}
if (c4 < " ") {
const hexString = c4.charCodeAt(0).toString(16);
return "\\x" + ("00" + hexString).substring(hexString.length);
}
return c4;
}
function syntaxError(message) {
const err2 = new SyntaxError(message);
err2.lineNumber = line;
err2.columnNumber = column;
return err2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/stringify.js
var require_stringify2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/stringify.js"(exports2, module2) {
var util64 = require_util2();
module2.exports = function stringify2(value, replacer2, space) {
const stack = [];
let indent = "";
let propertyList;
let replacerFunc;
let gap = "";
let quote2;
if (replacer2 != null && typeof replacer2 === "object" && !Array.isArray(replacer2)) {
space = replacer2.space;
quote2 = replacer2.quote;
replacer2 = replacer2.replacer;
}
if (typeof replacer2 === "function") {
replacerFunc = replacer2;
} else if (Array.isArray(replacer2)) {
propertyList = [];
for (const v of replacer2) {
let item;
if (typeof v === "string") {
item = v;
} else if (typeof v === "number" || v instanceof String || v instanceof Number) {
item = String(v);
}
if (item !== void 0 && propertyList.indexOf(item) < 0) {
propertyList.push(item);
}
}
}
if (space instanceof Number) {
space = Number(space);
} else if (space instanceof String) {
space = String(space);
}
if (typeof space === "number") {
if (space > 0) {
space = Math.min(10, Math.floor(space));
gap = " ".substr(0, space);
}
} else if (typeof space === "string") {
gap = space.substr(0, 10);
}
return serializeProperty("", { "": value });
function serializeProperty(key, holder) {
let value2 = holder[key];
if (value2 != null) {
if (typeof value2.toJSON5 === "function") {
value2 = value2.toJSON5(key);
} else if (typeof value2.toJSON === "function") {
value2 = value2.toJSON(key);
}
}
if (replacerFunc) {
value2 = replacerFunc.call(holder, key, value2);
}
if (value2 instanceof Number) {
value2 = Number(value2);
} else if (value2 instanceof String) {
value2 = String(value2);
} else if (value2 instanceof Boolean) {
value2 = value2.valueOf();
}
switch (value2) {
case null:
return "null";
case true:
return "true";
case false:
return "false";
}
if (typeof value2 === "string") {
return quoteString2(value2, false);
}
if (typeof value2 === "number") {
return String(value2);
}
if (typeof value2 === "object") {
return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
}
return void 0;
}
function quoteString2(value2) {
const quotes = {
"'": 0.1,
'"': 0.2
};
const replacements3 = {
"'": "\\'",
'"': '\\"',
"\\": "\\\\",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
" ": "\\t",
"\v": "\\v",
"\0": "\\0",
"\u2028": "\\u2028",
"\u2029": "\\u2029"
};
let product = "";
for (let i4 = 0; i4 < value2.length; i4++) {
const c3 = value2[i4];
switch (c3) {
case "'":
case '"':
quotes[c3]++;
product += c3;
continue;
case "\0":
if (util64.isDigit(value2[i4 + 1])) {
product += "\\x00";
continue;
}
}
if (replacements3[c3]) {
product += replacements3[c3];
continue;
}
if (c3 < " ") {
let hexString = c3.charCodeAt(0).toString(16);
product += "\\x" + ("00" + hexString).substring(hexString.length);
continue;
}
product += c3;
}
const quoteChar = quote2 || Object.keys(quotes).reduce((a2, b) => quotes[a2] < quotes[b] ? a2 : b);
product = product.replace(new RegExp(quoteChar, "g"), replacements3[quoteChar]);
return quoteChar + product + quoteChar;
}
function serializeObject(value2) {
if (stack.indexOf(value2) >= 0) {
throw TypeError("Converting circular structure to JSON5");
}
stack.push(value2);
let stepback = indent;
indent = indent + gap;
let keys4 = propertyList || Object.keys(value2);
let partial = [];
for (const key of keys4) {
const propertyString = serializeProperty(key, value2);
if (propertyString !== void 0) {
let member = serializeKey(key) + ":";
if (gap !== "") {
member += " ";
}
member += propertyString;
partial.push(member);
}
}
let final;
if (partial.length === 0) {
final = "{}";
} else {
let properties;
if (gap === "") {
properties = partial.join(",");
final = "{" + properties + "}";
} else {
let separator = ",\n" + indent;
properties = partial.join(separator);
final = "{\n" + indent + properties + ",\n" + stepback + "}";
}
}
stack.pop();
indent = stepback;
return final;
}
function serializeKey(key) {
if (key.length === 0) {
return quoteString2(key, true);
}
const firstChar = String.fromCodePoint(key.codePointAt(0));
if (!util64.isIdStartChar(firstChar)) {
return quoteString2(key, true);
}
for (let i4 = firstChar.length; i4 < key.length; i4++) {
if (!util64.isIdContinueChar(String.fromCodePoint(key.codePointAt(i4)))) {
return quoteString2(key, true);
}
}
return key;
}
function serializeArray(value2) {
if (stack.indexOf(value2) >= 0) {
throw TypeError("Converting circular structure to JSON5");
}
stack.push(value2);
let stepback = indent;
indent = indent + gap;
let partial = [];
for (let i4 = 0; i4 < value2.length; i4++) {
const propertyString = serializeProperty(String(i4), value2);
partial.push(propertyString !== void 0 ? propertyString : "null");
}
let final;
if (partial.length === 0) {
final = "[]";
} else {
if (gap === "") {
let properties = partial.join(",");
final = "[" + properties + "]";
} else {
let separator = ",\n" + indent;
let properties = partial.join(separator);
final = "[\n" + indent + properties + ",\n" + stepback + "]";
}
}
stack.pop();
indent = stepback;
return final;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/index.js
var require_lib9 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/json5/2.2.3/f162a9b4613e6c0b6bda605606cba5f1d6fe32bf2ae34c6f3248b8ba7db73c93/node_modules/json5/lib/index.js"(exports2, module2) {
var parse12 = require_parse7();
var stringify2 = require_stringify2();
var JSON53 = {
parse: parse12,
stringify: stringify2
};
module2.exports = JSON53;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/cjs/signals.js
var require_signals = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/cjs/signals.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.signals = void 0;
exports2.signals = [];
exports2.signals.push("SIGHUP", "SIGINT", "SIGTERM");
if (process.platform !== "win32") {
exports2.signals.push(
"SIGALRM",
"SIGABRT",
"SIGVTALRM",
"SIGXCPU",
"SIGXFSZ",
"SIGUSR2",
"SIGTRAP",
"SIGSYS",
"SIGQUIT",
"SIGIOT"
// should detect profiler and enable/disable accordingly.
// see #21
// 'SIGPROF'
);
}
if (process.platform === "linux") {
exports2.signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/cjs/index.js
var require_cjs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/cjs/index.js"(exports2) {
"use strict";
var _a2;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.unload = exports2.load = exports2.onExit = exports2.signals = void 0;
var signals_js_1 = require_signals();
Object.defineProperty(exports2, "signals", { enumerable: true, get: function() {
return signals_js_1.signals;
} });
var processOk2 = (process25) => !!process25 && typeof process25 === "object" && typeof process25.removeListener === "function" && typeof process25.emit === "function" && typeof process25.reallyExit === "function" && typeof process25.listeners === "function" && typeof process25.kill === "function" && typeof process25.pid === "number" && typeof process25.on === "function";
var kExitEmitter2 = /* @__PURE__ */ Symbol.for("signal-exit emitter");
var global3 = globalThis;
var ObjectDefineProperty2 = Object.defineProperty.bind(Object);
var Emitter2 = class {
emitted = {
afterExit: false,
exit: false
};
listeners = {
afterExit: [],
exit: []
};
count = 0;
id = Math.random();
constructor() {
if (global3[kExitEmitter2]) {
return global3[kExitEmitter2];
}
ObjectDefineProperty2(global3, kExitEmitter2, {
value: this,
writable: false,
enumerable: false,
configurable: false
});
}
on(ev, fn) {
this.listeners[ev].push(fn);
}
removeListener(ev, fn) {
const list2 = this.listeners[ev];
const i4 = list2.indexOf(fn);
if (i4 === -1) {
return;
}
if (i4 === 0 && list2.length === 1) {
list2.length = 0;
} else {
list2.splice(i4, 1);
}
}
emit(ev, code, signal) {
if (this.emitted[ev]) {
return false;
}
this.emitted[ev] = true;
let ret2 = false;
for (const fn of this.listeners[ev]) {
ret2 = fn(code, signal) === true || ret2;
}
if (ev === "exit") {
ret2 = this.emit("afterExit", code, signal) || ret2;
}
return ret2;
}
};
var SignalExitBase2 = class {
};
var signalExitWrap2 = (handler82) => {
return {
onExit(cb, opts3) {
return handler82.onExit(cb, opts3);
},
load() {
return handler82.load();
},
unload() {
return handler82.unload();
}
};
};
var SignalExitFallback2 = class extends SignalExitBase2 {
onExit() {
return () => {
};
}
load() {
}
unload() {
}
};
var SignalExit2 = class extends SignalExitBase2 {
// "SIGHUP" throws an `ENOSYS` error on Windows,
// so use a supported signal instead
/* c8 ignore start */
#hupSig = process24.platform === "win32" ? "SIGINT" : "SIGHUP";
/* c8 ignore stop */
#emitter = new Emitter2();
#process;
#originalProcessEmit;
#originalProcessReallyExit;
#sigListeners = {};
#loaded = false;
constructor(process25) {
super();
this.#process = process25;
this.#sigListeners = {};
for (const sig of signals_js_1.signals) {
this.#sigListeners[sig] = () => {
const listeners = this.#process.listeners(sig);
let { count: count2 } = this.#emitter;
const p = process25;
if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
count2 += p.__signal_exit_emitter__.count;
}
if (listeners.length === count2) {
this.unload();
const ret2 = this.#emitter.emit("exit", null, sig);
const s = sig === "SIGHUP" ? this.#hupSig : sig;
if (!ret2)
process25.kill(process25.pid, s);
}
};
}
this.#originalProcessReallyExit = process25.reallyExit;
this.#originalProcessEmit = process25.emit;
}
onExit(cb, opts3) {
if (!processOk2(this.#process)) {
return () => {
};
}
if (this.#loaded === false) {
this.load();
}
const ev = opts3?.alwaysLast ? "afterExit" : "exit";
this.#emitter.on(ev, cb);
return () => {
this.#emitter.removeListener(ev, cb);
if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
this.unload();
}
};
}
load() {
if (this.#loaded) {
return;
}
this.#loaded = true;
this.#emitter.count += 1;
for (const sig of signals_js_1.signals) {
try {
const fn = this.#sigListeners[sig];
if (fn)
this.#process.on(sig, fn);
} catch (_) {
}
}
this.#process.emit = (ev, ...a2) => {
return this.#processEmit(ev, ...a2);
};
this.#process.reallyExit = (code) => {
return this.#processReallyExit(code);
};
}
unload() {
if (!this.#loaded) {
return;
}
this.#loaded = false;
signals_js_1.signals.forEach((sig) => {
const listener = this.#sigListeners[sig];
if (!listener) {
throw new Error("Listener not defined for signal: " + sig);
}
try {
this.#process.removeListener(sig, listener);
} catch (_) {
}
});
this.#process.emit = this.#originalProcessEmit;
this.#process.reallyExit = this.#originalProcessReallyExit;
this.#emitter.count -= 1;
}
#processReallyExit(code) {
if (!processOk2(this.#process)) {
return 0;
}
this.#process.exitCode = code || 0;
this.#emitter.emit("exit", this.#process.exitCode, null);
return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
}
#processEmit(ev, ...args) {
const og = this.#originalProcessEmit;
if (ev === "exit" && processOk2(this.#process)) {
if (typeof args[0] === "number") {
this.#process.exitCode = args[0];
}
const ret2 = og.call(this.#process, ev, ...args);
this.#emitter.emit("exit", this.#process.exitCode, null);
return ret2;
} else {
return og.call(this.#process, ev, ...args);
}
}
};
var process24 = globalThis.process;
_a2 = signalExitWrap2(processOk2(process24) ? new SignalExit2(process24) : new SignalExitFallback2()), /**
* 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.
*/
exports2.onExit = _a2.onExit, /**
* 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
*/
exports2.load = _a2.load, /**
* 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
*/
exports2.unload = _a2.unload;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-file-atomic/7.0.1/3f58e6a24a6082d2cd35ba9cf64ab163d8e567e01caa4bf20e304366e65c2727/node_modules/write-file-atomic/lib/index.js
var require_lib10 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-file-atomic/7.0.1/3f58e6a24a6082d2cd35ba9cf64ab163d8e567e01caa4bf20e304366e65c2727/node_modules/write-file-atomic/lib/index.js"(exports2, module2) {
"use strict";
module2.exports = writeFile3;
module2.exports.sync = writeFileSync2;
module2.exports._getTmpname = getTmpname;
module2.exports._cleanupOnExit = cleanupOnExit2;
var fs126 = __require("fs");
var crypto13 = __require("node:crypto");
var { onExit: onExit2 } = require_cjs();
var path236 = __require("path");
var { promisify: promisify15 } = __require("util");
var activeFiles = {};
var threadId2 = (function getId2() {
try {
const workerThreads2 = __require("worker_threads");
return workerThreads2.threadId;
} catch (e) {
return 0;
}
})();
var invocations = 0;
function getTmpname(filename) {
return filename + "." + crypto13.createHash("sha1").update(__filename).update(String(process.pid)).update(String(threadId2)).update(String(++invocations)).digest().readUInt32BE(0);
}
function cleanupOnExit2(tmpfile) {
return () => {
try {
fs126.unlinkSync(typeof tmpfile === "function" ? tmpfile() : tmpfile);
} catch {
}
};
}
function serializeActiveFile(absoluteName) {
return new Promise((resolve4) => {
if (!activeFiles[absoluteName]) {
activeFiles[absoluteName] = [];
}
activeFiles[absoluteName].push(resolve4);
if (activeFiles[absoluteName].length === 1) {
resolve4();
}
});
}
function isChownErrOk(err2) {
if (err2.code === "ENOSYS") {
return true;
}
const nonroot = !process.getuid || process.getuid() !== 0;
if (nonroot) {
if (err2.code === "EINVAL" || err2.code === "EPERM") {
return true;
}
}
return false;
}
async function writeFileAsync(filename, data, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
let fd2;
let tmpfile;
const removeOnExitHandler = onExit2(cleanupOnExit2(() => tmpfile));
const absoluteName = path236.resolve(filename);
try {
await serializeActiveFile(absoluteName);
const truename = await promisify15(fs126.realpath)(filename).catch(() => filename);
tmpfile = getTmpname(truename);
if (!options.mode || !options.chown) {
const stats = await promisify15(fs126.stat)(truename).catch(() => {
});
if (stats) {
if (options.mode == null) {
options.mode = stats.mode;
}
if (options.chown == null && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid };
}
}
}
fd2 = await promisify15(fs126.open)(tmpfile, "w", options.mode);
if (options.tmpfileCreated) {
await options.tmpfileCreated(tmpfile);
}
if (ArrayBuffer.isView(data)) {
await promisify15(fs126.write)(fd2, data, 0, data.length, 0);
} else if (data != null) {
await promisify15(fs126.write)(fd2, String(data), 0, String(options.encoding || "utf8"));
}
if (options.fsync !== false) {
await promisify15(fs126.fsync)(fd2);
}
await promisify15(fs126.close)(fd2);
fd2 = null;
if (options.chown) {
await promisify15(fs126.chown)(tmpfile, options.chown.uid, options.chown.gid).catch((err2) => {
if (!isChownErrOk(err2)) {
throw err2;
}
});
}
if (options.mode) {
await promisify15(fs126.chmod)(tmpfile, options.mode).catch((err2) => {
if (!isChownErrOk(err2)) {
throw err2;
}
});
}
await promisify15(fs126.rename)(tmpfile, truename);
} finally {
if (fd2) {
await promisify15(fs126.close)(fd2).catch(
/* istanbul ignore next */
() => {
}
);
}
removeOnExitHandler();
await promisify15(fs126.unlink)(tmpfile).catch(() => {
});
activeFiles[absoluteName].shift();
if (activeFiles[absoluteName].length > 0) {
activeFiles[absoluteName][0]();
} else {
delete activeFiles[absoluteName];
}
}
}
async function writeFile3(filename, data, options, callback2) {
if (options instanceof Function) {
callback2 = options;
options = {};
}
const promise2 = writeFileAsync(filename, data, options);
if (callback2) {
try {
const result2 = await promise2;
return callback2(result2);
} catch (err2) {
return callback2(err2);
}
}
return promise2;
}
function writeFileSync2(filename, data, options) {
if (typeof options === "string") {
options = { encoding: options };
} else if (!options) {
options = {};
}
try {
filename = fs126.realpathSync(filename);
} catch (ex) {
}
const tmpfile = getTmpname(filename);
if (!options.mode || !options.chown) {
try {
const stats = fs126.statSync(filename);
options = Object.assign({}, options);
if (!options.mode) {
options.mode = stats.mode;
}
if (!options.chown && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid };
}
} catch (ex) {
}
}
let fd2;
const cleanup2 = cleanupOnExit2(tmpfile);
const removeOnExitHandler = onExit2(cleanup2);
let threw = true;
try {
fd2 = fs126.openSync(tmpfile, "w", options.mode || 438);
if (options.tmpfileCreated) {
options.tmpfileCreated(tmpfile);
}
if (ArrayBuffer.isView(data)) {
fs126.writeSync(fd2, data, 0, data.length, 0);
} else if (data != null) {
fs126.writeSync(fd2, String(data), 0, String(options.encoding || "utf8"));
}
if (options.fsync !== false) {
fs126.fsyncSync(fd2);
}
fs126.closeSync(fd2);
fd2 = null;
if (options.chown) {
try {
fs126.chownSync(tmpfile, options.chown.uid, options.chown.gid);
} catch (err2) {
if (!isChownErrOk(err2)) {
throw err2;
}
}
}
if (options.mode) {
try {
fs126.chmodSync(tmpfile, options.mode);
} catch (err2) {
if (!isChownErrOk(err2)) {
throw err2;
}
}
}
fs126.renameSync(tmpfile, filename);
threw = false;
} finally {
if (fd2) {
try {
fs126.closeSync(fd2);
} catch (ex) {
}
}
removeOnExitHandler();
if (threw) {
cleanup2();
}
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/js-yaml/0.0.11/7b2ef9ecac61472c03f3323b540887208e9b2699f699b43ede700d7823812a93/node_modules/@zkochan/js-yaml/dist/js-yaml.mjs
function isNothing(subject) {
return typeof subject === "undefined" || subject === null;
}
function isObject(subject) {
return typeof subject === "object" && subject !== null;
}
function toArray(sequence) {
if (Array.isArray(sequence)) return sequence;
else if (isNothing(sequence)) return [];
return [sequence];
}
function extend(target2, source) {
var index2, length, key, sourceKeys;
if (source) {
sourceKeys = Object.keys(source);
for (index2 = 0, length = sourceKeys.length; index2 < length; index2 += 1) {
key = sourceKeys[index2];
target2[key] = source[key];
}
}
return target2;
}
function repeat(string, count2) {
var result2 = "", cycle;
for (cycle = 0; cycle < count2; cycle += 1) {
result2 += string;
}
return result2;
}
function isNegativeZero(number) {
return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
}
function formatError(exception2, compact) {
var where = "", message = exception2.reason || "(unknown reason)";
if (!exception2.mark) return message;
if (exception2.mark.name) {
where += 'in "' + exception2.mark.name + '" ';
}
where += "(" + (exception2.mark.line + 1) + ":" + (exception2.mark.column + 1) + ")";
if (!compact && exception2.mark.snippet) {
where += "\n\n" + exception2.mark.snippet;
}
return message + " " + where;
}
function YAMLException$1(reason, mark) {
Error.call(this);
this.name = "YAMLException";
this.reason = reason;
this.mark = mark;
this.message = formatError(this, false);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = new Error().stack || "";
}
}
function getLine(buffer3, lineStart, lineEnd, position3, maxLineLength) {
var head2 = "";
var tail2 = "";
var maxHalfLength = Math.floor(maxLineLength / 2) - 1;
if (position3 - lineStart > maxHalfLength) {
head2 = " ... ";
lineStart = position3 - maxHalfLength + head2.length;
}
if (lineEnd - position3 > maxHalfLength) {
tail2 = " ...";
lineEnd = position3 + maxHalfLength - tail2.length;
}
return {
str: head2 + buffer3.slice(lineStart, lineEnd).replace(/\t/g, "\u2192") + tail2,
pos: position3 - lineStart + head2.length
// relative position
};
}
function padStart(string, max4) {
return common.repeat(" ", max4 - string.length) + string;
}
function makeSnippet(mark, options) {
options = Object.create(options || null);
if (!mark.buffer) return null;
if (!options.maxLength) options.maxLength = 79;
if (typeof options.indent !== "number") options.indent = 1;
if (typeof options.linesBefore !== "number") options.linesBefore = 3;
if (typeof options.linesAfter !== "number") options.linesAfter = 2;
var re = /\r?\n|\r|\0/g;
var lineStarts = [0];
var lineEnds = [];
var match;
var foundLineNo = -1;
while (match = re.exec(mark.buffer)) {
lineEnds.push(match.index);
lineStarts.push(match.index + match[0].length);
if (mark.position <= match.index && foundLineNo < 0) {
foundLineNo = lineStarts.length - 2;
}
}
if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
var result2 = "", i4, line;
var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
for (i4 = 1; i4 <= options.linesBefore; i4++) {
if (foundLineNo - i4 < 0) break;
line = getLine(
mark.buffer,
lineStarts[foundLineNo - i4],
lineEnds[foundLineNo - i4],
mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i4]),
maxLineLength
);
result2 = common.repeat(" ", options.indent) + padStart((mark.line - i4 + 1).toString(), lineNoLength) + " | " + line.str + "\n" + result2;
}
line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
result2 += common.repeat(" ", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + " | " + line.str + "\n";
result2 += common.repeat("-", options.indent + lineNoLength + 3 + line.pos) + "^\n";
for (i4 = 1; i4 <= options.linesAfter; i4++) {
if (foundLineNo + i4 >= lineEnds.length) break;
line = getLine(
mark.buffer,
lineStarts[foundLineNo + i4],
lineEnds[foundLineNo + i4],
mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i4]),
maxLineLength
);
result2 += common.repeat(" ", options.indent) + padStart((mark.line + i4 + 1).toString(), lineNoLength) + " | " + line.str + "\n";
}
return result2.replace(/\n$/, "");
}
function compileStyleAliases(map26) {
var result2 = {};
if (map26 !== null) {
Object.keys(map26).forEach(function(style) {
map26[style].forEach(function(alias) {
result2[String(alias)] = style;
});
});
}
return result2;
}
function Type$1(tag, options) {
options = options || {};
Object.keys(options).forEach(function(name) {
if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
}
});
this.tag = tag;
this.kind = options["kind"] || null;
this.resolve = options["resolve"] || function() {
return true;
};
this.construct = options["construct"] || function(data) {
return data;
};
this.instanceOf = options["instanceOf"] || null;
this.predicate = options["predicate"] || null;
this.represent = options["represent"] || null;
this.representName = options["representName"] || null;
this.defaultStyle = options["defaultStyle"] || null;
this.multi = options["multi"] || false;
this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
}
}
function compileList(schema2, name, result2) {
var exclude = [];
schema2[name].forEach(function(currentType) {
result2.forEach(function(previousType, previousIndex) {
if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {
exclude.push(previousIndex);
}
});
result2.push(currentType);
});
return result2.filter(function(type4, index2) {
return exclude.indexOf(index2) === -1;
});
}
function compileMap() {
var result2 = {
scalar: {},
sequence: {},
mapping: {},
fallback: {},
multi: {
scalar: [],
sequence: [],
mapping: [],
fallback: []
}
}, index2, length;
function collectType(type4) {
if (type4.multi) {
result2.multi[type4.kind].push(type4);
result2.multi["fallback"].push(type4);
} else {
result2[type4.kind][type4.tag] = result2["fallback"][type4.tag] = type4;
}
}
for (index2 = 0, length = arguments.length; index2 < length; index2 += 1) {
arguments[index2].forEach(collectType);
}
return result2;
}
function Schema$1(definition) {
return this.extend(definition);
}
function resolveYamlNull(data) {
if (data === null) return true;
var max4 = data.length;
return max4 === 1 && data === "~" || max4 === 4 && (data === "null" || data === "Null" || data === "NULL");
}
function constructYamlNull() {
return null;
}
function isNull(object) {
return object === null;
}
function resolveYamlBoolean(data) {
if (data === null) return false;
var max4 = data.length;
return max4 === 4 && (data === "true" || data === "True" || data === "TRUE") || max4 === 5 && (data === "false" || data === "False" || data === "FALSE");
}
function constructYamlBoolean(data) {
return data === "true" || data === "True" || data === "TRUE";
}
function isBoolean(object) {
return Object.prototype.toString.call(object) === "[object Boolean]";
}
function isHexCode(c3) {
return 48 <= c3 && c3 <= 57 || 65 <= c3 && c3 <= 70 || 97 <= c3 && c3 <= 102;
}
function isOctCode(c3) {
return 48 <= c3 && c3 <= 55;
}
function isDecCode(c3) {
return 48 <= c3 && c3 <= 57;
}
function resolveYamlInteger(data) {
if (data === null) return false;
var max4 = data.length, index2 = 0, hasDigits = false, ch;
if (!max4) return false;
ch = data[index2];
if (ch === "-" || ch === "+") {
ch = data[++index2];
}
if (ch === "0") {
if (index2 + 1 === max4) return true;
ch = data[++index2];
if (ch === "b") {
index2++;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (ch !== "0" && ch !== "1") return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
if (ch === "x") {
index2++;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (!isHexCode(data.charCodeAt(index2))) return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
if (ch === "o") {
index2++;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (!isOctCode(data.charCodeAt(index2))) return false;
hasDigits = true;
}
return hasDigits && ch !== "_";
}
}
if (ch === "_") return false;
for (; index2 < max4; index2++) {
ch = data[index2];
if (ch === "_") continue;
if (!isDecCode(data.charCodeAt(index2))) {
return false;
}
hasDigits = true;
}
if (!hasDigits || ch === "_") return false;
return true;
}
function constructYamlInteger(data) {
var value = data, sign = 1, ch;
if (value.indexOf("_") !== -1) {
value = value.replace(/_/g, "");
}
ch = value[0];
if (ch === "-" || ch === "+") {
if (ch === "-") sign = -1;
value = value.slice(1);
ch = value[0];
}
if (value === "0") return 0;
if (ch === "0") {
if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
if (value[1] === "x") return sign * parseInt(value.slice(2), 16);
if (value[1] === "o") return sign * parseInt(value.slice(2), 8);
}
return sign * parseInt(value, 10);
}
function isInteger(object) {
return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object));
}
function resolveYamlFloat(data) {
if (data === null) return false;
if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`
// Probably should update regexp & check speed
data[data.length - 1] === "_") {
return false;
}
return true;
}
function constructYamlFloat(data) {
var value, sign;
value = data.replace(/_/g, "").toLowerCase();
sign = value[0] === "-" ? -1 : 1;
if ("+-".indexOf(value[0]) >= 0) {
value = value.slice(1);
}
if (value === ".inf") {
return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
} else if (value === ".nan") {
return NaN;
}
return sign * parseFloat(value, 10);
}
function representYamlFloat(object, style) {
var res;
if (isNaN(object)) {
switch (style) {
case "lowercase":
return ".nan";
case "uppercase":
return ".NAN";
case "camelcase":
return ".NaN";
}
} else if (Number.POSITIVE_INFINITY === object) {
switch (style) {
case "lowercase":
return ".inf";
case "uppercase":
return ".INF";
case "camelcase":
return ".Inf";
}
} else if (Number.NEGATIVE_INFINITY === object) {
switch (style) {
case "lowercase":
return "-.inf";
case "uppercase":
return "-.INF";
case "camelcase":
return "-.Inf";
}
} else if (common.isNegativeZero(object)) {
return "-0.0";
}
res = object.toString(10);
return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res;
}
function isFloat(object) {
return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object));
}
function resolveYamlTimestamp(data) {
if (data === null) return false;
if (YAML_DATE_REGEXP.exec(data) !== null) return true;
if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
return false;
}
function constructYamlTimestamp(data) {
var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
match = YAML_DATE_REGEXP.exec(data);
if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
if (match === null) throw new Error("Date resolve error");
year = +match[1];
month = +match[2] - 1;
day = +match[3];
if (!match[4]) {
return new Date(Date.UTC(year, month, day));
}
hour = +match[4];
minute = +match[5];
second = +match[6];
if (match[7]) {
fraction = match[7].slice(0, 3);
while (fraction.length < 3) {
fraction += "0";
}
fraction = +fraction;
}
if (match[9]) {
tz_hour = +match[10];
tz_minute = +(match[11] || 0);
delta = (tz_hour * 60 + tz_minute) * 6e4;
if (match[9] === "-") delta = -delta;
}
date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
if (delta) date.setTime(date.getTime() - delta);
return date;
}
function representYamlTimestamp(object) {
return object.toISOString();
}
function resolveYamlMerge(data) {
return data === "<<" || data === null;
}
function resolveYamlBinary(data) {
if (data === null) return false;
var code, idx, bitlen = 0, max4 = data.length, map26 = BASE64_MAP;
for (idx = 0; idx < max4; idx++) {
code = map26.indexOf(data.charAt(idx));
if (code > 64) continue;
if (code < 0) return false;
bitlen += 6;
}
return bitlen % 8 === 0;
}
function constructYamlBinary(data) {
var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max4 = input.length, map26 = BASE64_MAP, bits2 = 0, result2 = [];
for (idx = 0; idx < max4; idx++) {
if (idx % 4 === 0 && idx) {
result2.push(bits2 >> 16 & 255);
result2.push(bits2 >> 8 & 255);
result2.push(bits2 & 255);
}
bits2 = bits2 << 6 | map26.indexOf(input.charAt(idx));
}
tailbits = max4 % 4 * 6;
if (tailbits === 0) {
result2.push(bits2 >> 16 & 255);
result2.push(bits2 >> 8 & 255);
result2.push(bits2 & 255);
} else if (tailbits === 18) {
result2.push(bits2 >> 10 & 255);
result2.push(bits2 >> 2 & 255);
} else if (tailbits === 12) {
result2.push(bits2 >> 4 & 255);
}
return new Uint8Array(result2);
}
function representYamlBinary(object) {
var result2 = "", bits2 = 0, idx, tail2, max4 = object.length, map26 = BASE64_MAP;
for (idx = 0; idx < max4; idx++) {
if (idx % 3 === 0 && idx) {
result2 += map26[bits2 >> 18 & 63];
result2 += map26[bits2 >> 12 & 63];
result2 += map26[bits2 >> 6 & 63];
result2 += map26[bits2 & 63];
}
bits2 = (bits2 << 8) + object[idx];
}
tail2 = max4 % 3;
if (tail2 === 0) {
result2 += map26[bits2 >> 18 & 63];
result2 += map26[bits2 >> 12 & 63];
result2 += map26[bits2 >> 6 & 63];
result2 += map26[bits2 & 63];
} else if (tail2 === 2) {
result2 += map26[bits2 >> 10 & 63];
result2 += map26[bits2 >> 4 & 63];
result2 += map26[bits2 << 2 & 63];
result2 += map26[64];
} else if (tail2 === 1) {
result2 += map26[bits2 >> 2 & 63];
result2 += map26[bits2 << 4 & 63];
result2 += map26[64];
result2 += map26[64];
}
return result2;
}
function isBinary(obj) {
return Object.prototype.toString.call(obj) === "[object Uint8Array]";
}
function resolveYamlOmap(data) {
if (data === null) return true;
var objectKeys = [], index2, length, pair, pairKey, pairHasKey, object = data;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
pairHasKey = false;
if (_toString$2.call(pair) !== "[object Object]") return false;
for (pairKey in pair) {
if (_hasOwnProperty$3.call(pair, pairKey)) {
if (!pairHasKey) pairHasKey = true;
else return false;
}
}
if (!pairHasKey) return false;
if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
else return false;
}
return true;
}
function constructYamlOmap(data) {
return data !== null ? data : [];
}
function resolveYamlPairs(data) {
if (data === null) return true;
var index2, length, pair, keys4, result2, object = data;
result2 = new Array(object.length);
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
if (_toString$1.call(pair) !== "[object Object]") return false;
keys4 = Object.keys(pair);
if (keys4.length !== 1) return false;
result2[index2] = [keys4[0], pair[keys4[0]]];
}
return true;
}
function constructYamlPairs(data) {
if (data === null) return [];
var index2, length, pair, keys4, result2, object = data;
result2 = new Array(object.length);
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
pair = object[index2];
keys4 = Object.keys(pair);
result2[index2] = [keys4[0], pair[keys4[0]]];
}
return result2;
}
function resolveYamlSet(data) {
if (data === null) return true;
var key, object = data;
for (key in object) {
if (_hasOwnProperty$2.call(object, key)) {
if (object[key] !== null) return false;
}
}
return true;
}
function constructYamlSet(data) {
return data !== null ? data : {};
}
function _class(obj) {
return Object.prototype.toString.call(obj);
}
function is_EOL(c3) {
return c3 === 10 || c3 === 13;
}
function is_WHITE_SPACE(c3) {
return c3 === 9 || c3 === 32;
}
function is_WS_OR_EOL(c3) {
return c3 === 9 || c3 === 32 || c3 === 10 || c3 === 13;
}
function is_FLOW_INDICATOR(c3) {
return c3 === 44 || c3 === 91 || c3 === 93 || c3 === 123 || c3 === 125;
}
function fromHexCode(c3) {
var lc2;
if (48 <= c3 && c3 <= 57) {
return c3 - 48;
}
lc2 = c3 | 32;
if (97 <= lc2 && lc2 <= 102) {
return lc2 - 97 + 10;
}
return -1;
}
function escapedHexLen(c3) {
if (c3 === 120) {
return 2;
}
if (c3 === 117) {
return 4;
}
if (c3 === 85) {
return 8;
}
return 0;
}
function fromDecimalCode(c3) {
if (48 <= c3 && c3 <= 57) {
return c3 - 48;
}
return -1;
}
function simpleEscapeSequence(c3) {
return c3 === 48 ? "\0" : c3 === 97 ? "\x07" : c3 === 98 ? "\b" : c3 === 116 ? " " : c3 === 9 ? " " : c3 === 110 ? "\n" : c3 === 118 ? "\v" : c3 === 102 ? "\f" : c3 === 114 ? "\r" : c3 === 101 ? "\x1B" : c3 === 32 ? " " : c3 === 34 ? '"' : c3 === 47 ? "/" : c3 === 92 ? "\\" : c3 === 78 ? "\x85" : c3 === 95 ? "\xA0" : c3 === 76 ? "\u2028" : c3 === 80 ? "\u2029" : "";
}
function charFromCodepoint(c3) {
if (c3 <= 65535) {
return String.fromCharCode(c3);
}
return String.fromCharCode(
(c3 - 65536 >> 10) + 55296,
(c3 - 65536 & 1023) + 56320
);
}
function setProperty(object, key, value) {
if (key === "__proto__") {
Object.defineProperty(object, key, {
configurable: true,
enumerable: true,
writable: true,
value
});
} else {
object[key] = value;
}
}
function State$1(input, options) {
this.input = input;
this.filename = options["filename"] || null;
this.schema = options["schema"] || _default;
this.onWarning = options["onWarning"] || null;
this.legacy = options["legacy"] || false;
this.json = options["json"] || false;
this.listener = options["listener"] || null;
this.implicitTypes = this.schema.compiledImplicit;
this.typeMap = this.schema.compiledTypeMap;
this.length = input.length;
this.position = 0;
this.line = 0;
this.lineStart = 0;
this.lineIndent = 0;
this.firstTabInLine = -1;
this.documents = [];
}
function generateError(state, message) {
var mark = {
name: state.filename,
buffer: state.input.slice(0, -1),
// omit trailing \0
position: state.position,
line: state.line,
column: state.position - state.lineStart
};
mark.snippet = snippet(mark);
return new exception(message, mark);
}
function throwError(state, message) {
throw generateError(state, message);
}
function throwWarning(state, message) {
if (state.onWarning) {
state.onWarning.call(null, generateError(state, message));
}
}
function captureSegment(state, start, end, checkJson) {
var _position, _length, _character, _result;
if (start < end) {
_result = state.input.slice(start, end);
if (checkJson) {
for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
_character = _result.charCodeAt(_position);
if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
throwError(state, "expected valid JSON character");
}
}
} else if (PATTERN_NON_PRINTABLE.test(_result)) {
throwError(state, "the stream contains non-printable characters");
}
state.result += _result;
}
}
function mergeMappings(state, destination, source, overridableKeys) {
var sourceKeys, key, index2, quantity;
if (!common.isObject(source)) {
throwError(state, "cannot merge mappings; the provided source object is unacceptable");
}
sourceKeys = Object.keys(source);
for (index2 = 0, quantity = sourceKeys.length; index2 < quantity; index2 += 1) {
key = sourceKeys[index2];
if (!_hasOwnProperty$1.call(destination, key)) {
setProperty(destination, key, source[key]);
overridableKeys[key] = true;
}
}
}
function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {
var index2, quantity;
if (Array.isArray(keyNode)) {
keyNode = Array.prototype.slice.call(keyNode);
for (index2 = 0, quantity = keyNode.length; index2 < quantity; index2 += 1) {
if (Array.isArray(keyNode[index2])) {
throwError(state, "nested arrays are not supported inside keys");
}
if (typeof keyNode === "object" && _class(keyNode[index2]) === "[object Object]") {
keyNode[index2] = "[object Object]";
}
}
}
if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") {
keyNode = "[object Object]";
}
keyNode = String(keyNode);
if (_result === null) {
_result = {};
}
if (keyTag === "tag:yaml.org,2002:merge") {
if (Array.isArray(valueNode)) {
for (index2 = 0, quantity = valueNode.length; index2 < quantity; index2 += 1) {
mergeMappings(state, _result, valueNode[index2], overridableKeys);
}
} else {
mergeMappings(state, _result, valueNode, overridableKeys);
}
} else {
if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) {
state.line = startLine || state.line;
state.lineStart = startLineStart || state.lineStart;
state.position = startPos || state.position;
throwError(state, "duplicated mapping key");
}
setProperty(_result, keyNode, valueNode);
delete overridableKeys[keyNode];
}
return _result;
}
function readLineBreak(state) {
var ch;
ch = state.input.charCodeAt(state.position);
if (ch === 10) {
state.position++;
} else if (ch === 13) {
state.position++;
if (state.input.charCodeAt(state.position) === 10) {
state.position++;
}
} else {
throwError(state, "a line break is expected");
}
state.line += 1;
state.lineStart = state.position;
state.firstTabInLine = -1;
}
function skipSeparationSpace(state, allowComments, checkIndent) {
var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
while (is_WHITE_SPACE(ch)) {
if (ch === 9 && state.firstTabInLine === -1) {
state.firstTabInLine = state.position;
}
ch = state.input.charCodeAt(++state.position);
}
if (allowComments && ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 10 && ch !== 13 && ch !== 0);
}
if (is_EOL(ch)) {
readLineBreak(state);
ch = state.input.charCodeAt(state.position);
lineBreaks++;
state.lineIndent = 0;
while (ch === 32) {
state.lineIndent++;
ch = state.input.charCodeAt(++state.position);
}
} else {
break;
}
}
if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
throwWarning(state, "deficient indentation");
}
return lineBreaks;
}
function testDocumentSeparator(state) {
var _position = state.position, ch;
ch = state.input.charCodeAt(_position);
if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
_position += 3;
ch = state.input.charCodeAt(_position);
if (ch === 0 || is_WS_OR_EOL(ch)) {
return true;
}
}
return false;
}
function writeFoldedLines(state, count2) {
if (count2 === 1) {
state.result += " ";
} else if (count2 > 1) {
state.result += common.repeat("\n", count2 - 1);
}
}
function readPlainScalar(state, nodeIndent, withinFlowCollection) {
var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
ch = state.input.charCodeAt(state.position);
if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
return false;
}
if (ch === 63 || ch === 45) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
return false;
}
}
state.kind = "scalar";
state.result = "";
captureStart = captureEnd = state.position;
hasPendingContent = false;
while (ch !== 0) {
if (ch === 58) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
break;
}
} else if (ch === 35) {
preceding = state.input.charCodeAt(state.position - 1);
if (is_WS_OR_EOL(preceding)) {
break;
}
} else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
break;
} else if (is_EOL(ch)) {
_line = state.line;
_lineStart = state.lineStart;
_lineIndent = state.lineIndent;
skipSeparationSpace(state, false, -1);
if (state.lineIndent >= nodeIndent) {
hasPendingContent = true;
ch = state.input.charCodeAt(state.position);
continue;
} else {
state.position = captureEnd;
state.line = _line;
state.lineStart = _lineStart;
state.lineIndent = _lineIndent;
break;
}
}
if (hasPendingContent) {
captureSegment(state, captureStart, captureEnd, false);
writeFoldedLines(state, state.line - _line);
captureStart = captureEnd = state.position;
hasPendingContent = false;
}
if (!is_WHITE_SPACE(ch)) {
captureEnd = state.position + 1;
}
ch = state.input.charCodeAt(++state.position);
}
captureSegment(state, captureStart, captureEnd, false);
if (state.result) {
return true;
}
state.kind = _kind;
state.result = _result;
return false;
}
function readSingleQuotedScalar(state, nodeIndent) {
var ch, captureStart, captureEnd;
ch = state.input.charCodeAt(state.position);
if (ch !== 39) {
return false;
}
state.kind = "scalar";
state.result = "";
state.position++;
captureStart = captureEnd = state.position;
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
if (ch === 39) {
captureSegment(state, captureStart, state.position, true);
ch = state.input.charCodeAt(++state.position);
if (ch === 39) {
captureStart = state.position;
state.position++;
captureEnd = state.position;
} else {
return true;
}
} else if (is_EOL(ch)) {
captureSegment(state, captureStart, captureEnd, true);
writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
captureStart = captureEnd = state.position;
} else if (state.position === state.lineStart && testDocumentSeparator(state)) {
throwError(state, "unexpected end of the document within a single quoted scalar");
} else {
state.position++;
captureEnd = state.position;
}
}
throwError(state, "unexpected end of the stream within a single quoted scalar");
}
function readDoubleQuotedScalar(state, nodeIndent) {
var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 34) {
return false;
}
state.kind = "scalar";
state.result = "";
state.position++;
captureStart = captureEnd = state.position;
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
if (ch === 34) {
captureSegment(state, captureStart, state.position, true);
state.position++;
return true;
} else if (ch === 92) {
captureSegment(state, captureStart, state.position, true);
ch = state.input.charCodeAt(++state.position);
if (is_EOL(ch)) {
skipSeparationSpace(state, false, nodeIndent);
} else if (ch < 256 && simpleEscapeCheck[ch]) {
state.result += simpleEscapeMap[ch];
state.position++;
} else if ((tmp = escapedHexLen(ch)) > 0) {
hexLength = tmp;
hexResult = 0;
for (; hexLength > 0; hexLength--) {
ch = state.input.charCodeAt(++state.position);
if ((tmp = fromHexCode(ch)) >= 0) {
hexResult = (hexResult << 4) + tmp;
} else {
throwError(state, "expected hexadecimal character");
}
}
state.result += charFromCodepoint(hexResult);
state.position++;
} else {
throwError(state, "unknown escape sequence");
}
captureStart = captureEnd = state.position;
} else if (is_EOL(ch)) {
captureSegment(state, captureStart, captureEnd, true);
writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
captureStart = captureEnd = state.position;
} else if (state.position === state.lineStart && testDocumentSeparator(state)) {
throwError(state, "unexpected end of the document within a double quoted scalar");
} else {
state.position++;
captureEnd = state.position;
}
}
throwError(state, "unexpected end of the stream within a double quoted scalar");
}
function readFlowCollection(state, nodeIndent) {
var readNext = true, _line, _lineStart, _pos, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = /* @__PURE__ */ Object.create(null), keyNode, keyTag, valueNode, ch;
ch = state.input.charCodeAt(state.position);
if (ch === 91) {
terminator = 93;
isMapping = false;
_result = [];
} else if (ch === 123) {
terminator = 125;
isMapping = true;
_result = {};
} else {
return false;
}
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(++state.position);
while (ch !== 0) {
skipSeparationSpace(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if (ch === terminator) {
state.position++;
state.tag = _tag;
state.anchor = _anchor;
state.kind = isMapping ? "mapping" : "sequence";
state.result = _result;
return true;
} else if (!readNext) {
throwError(state, "missed comma between flow collection entries");
} else if (ch === 44) {
throwError(state, "expected the node content, but found ','");
}
keyTag = keyNode = valueNode = null;
isPair = isExplicitPair = false;
if (ch === 63) {
following = state.input.charCodeAt(state.position + 1);
if (is_WS_OR_EOL(following)) {
isPair = isExplicitPair = true;
state.position++;
skipSeparationSpace(state, true, nodeIndent);
}
}
_line = state.line;
_lineStart = state.lineStart;
_pos = state.position;
composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
keyTag = state.tag;
keyNode = state.result;
skipSeparationSpace(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if ((isExplicitPair || state.line === _line) && ch === 58) {
isPair = true;
ch = state.input.charCodeAt(++state.position);
skipSeparationSpace(state, true, nodeIndent);
composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
valueNode = state.result;
}
if (isMapping) {
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);
} else if (isPair) {
_result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));
} else {
_result.push(keyNode);
}
skipSeparationSpace(state, true, nodeIndent);
ch = state.input.charCodeAt(state.position);
if (ch === 44) {
readNext = true;
ch = state.input.charCodeAt(++state.position);
} else {
readNext = false;
}
}
throwError(state, "unexpected end of the stream within a flow collection");
}
function readBlockScalar(state, nodeIndent) {
var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
ch = state.input.charCodeAt(state.position);
if (ch === 124) {
folding = false;
} else if (ch === 62) {
folding = true;
} else {
return false;
}
state.kind = "scalar";
state.result = "";
while (ch !== 0) {
ch = state.input.charCodeAt(++state.position);
if (ch === 43 || ch === 45) {
if (CHOMPING_CLIP === chomping) {
chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
} else {
throwError(state, "repeat of a chomping mode identifier");
}
} else if ((tmp = fromDecimalCode(ch)) >= 0) {
if (tmp === 0) {
throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
} else if (!detectedIndent) {
textIndent = nodeIndent + tmp - 1;
detectedIndent = true;
} else {
throwError(state, "repeat of an indentation width identifier");
}
} else {
break;
}
}
if (is_WHITE_SPACE(ch)) {
do {
ch = state.input.charCodeAt(++state.position);
} while (is_WHITE_SPACE(ch));
if (ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (!is_EOL(ch) && ch !== 0);
}
}
while (ch !== 0) {
readLineBreak(state);
state.lineIndent = 0;
ch = state.input.charCodeAt(state.position);
while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
state.lineIndent++;
ch = state.input.charCodeAt(++state.position);
}
if (!detectedIndent && state.lineIndent > textIndent) {
textIndent = state.lineIndent;
}
if (is_EOL(ch)) {
emptyLines++;
continue;
}
if (state.lineIndent < textIndent) {
if (chomping === CHOMPING_KEEP) {
state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
} else if (chomping === CHOMPING_CLIP) {
if (didReadContent) {
state.result += "\n";
}
}
break;
}
if (folding) {
if (is_WHITE_SPACE(ch)) {
atMoreIndented = true;
state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
} else if (atMoreIndented) {
atMoreIndented = false;
state.result += common.repeat("\n", emptyLines + 1);
} else if (emptyLines === 0) {
if (didReadContent) {
state.result += " ";
}
} else {
state.result += common.repeat("\n", emptyLines);
}
} else {
state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
}
didReadContent = true;
detectedIndent = true;
emptyLines = 0;
captureStart = state.position;
while (!is_EOL(ch) && ch !== 0) {
ch = state.input.charCodeAt(++state.position);
}
captureSegment(state, captureStart, state.position, false);
}
return true;
}
function readBlockSequence(state, nodeIndent) {
var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
if (state.firstTabInLine !== -1) return false;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
if (state.firstTabInLine !== -1) {
state.position = state.firstTabInLine;
throwError(state, "tab characters must not be used in indentation");
}
if (ch !== 45) {
break;
}
following = state.input.charCodeAt(state.position + 1);
if (!is_WS_OR_EOL(following)) {
break;
}
detected = true;
state.position++;
if (skipSeparationSpace(state, true, -1)) {
if (state.lineIndent <= nodeIndent) {
_result.push(null);
ch = state.input.charCodeAt(state.position);
continue;
}
}
_line = state.line;
composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
_result.push(state.result);
skipSeparationSpace(state, true, -1);
ch = state.input.charCodeAt(state.position);
if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
throwError(state, "bad indentation of a sequence entry");
} else if (state.lineIndent < nodeIndent) {
break;
}
}
if (detected) {
state.tag = _tag;
state.anchor = _anchor;
state.kind = "sequence";
state.result = _result;
return true;
}
return false;
}
function readBlockMapping(state, nodeIndent, flowIndent) {
var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = /* @__PURE__ */ Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
if (state.firstTabInLine !== -1) return false;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = _result;
}
ch = state.input.charCodeAt(state.position);
while (ch !== 0) {
if (!atExplicitKey && state.firstTabInLine !== -1) {
state.position = state.firstTabInLine;
throwError(state, "tab characters must not be used in indentation");
}
following = state.input.charCodeAt(state.position + 1);
_line = state.line;
if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {
if (ch === 63) {
if (atExplicitKey) {
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
keyTag = keyNode = valueNode = null;
}
detected = true;
atExplicitKey = true;
allowCompact = true;
} else if (atExplicitKey) {
atExplicitKey = false;
allowCompact = true;
} else {
throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
}
state.position += 1;
ch = following;
} else {
_keyLine = state.line;
_keyLineStart = state.lineStart;
_keyPos = state.position;
if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
break;
}
if (state.line === _line) {
ch = state.input.charCodeAt(state.position);
while (is_WHITE_SPACE(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (ch === 58) {
ch = state.input.charCodeAt(++state.position);
if (!is_WS_OR_EOL(ch)) {
throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
}
if (atExplicitKey) {
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
keyTag = keyNode = valueNode = null;
}
detected = true;
atExplicitKey = false;
allowCompact = false;
keyTag = state.tag;
keyNode = state.result;
} else if (detected) {
throwError(state, "can not read an implicit mapping pair; a colon is missed");
} else {
state.tag = _tag;
state.anchor = _anchor;
return true;
}
} else if (detected) {
throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
} else {
state.tag = _tag;
state.anchor = _anchor;
return true;
}
}
if (state.line === _line || state.lineIndent > nodeIndent) {
if (atExplicitKey) {
_keyLine = state.line;
_keyLineStart = state.lineStart;
_keyPos = state.position;
}
if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
if (atExplicitKey) {
keyNode = state.result;
} else {
valueNode = state.result;
}
}
if (!atExplicitKey) {
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);
keyTag = keyNode = valueNode = null;
}
skipSeparationSpace(state, true, -1);
ch = state.input.charCodeAt(state.position);
}
if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
throwError(state, "bad indentation of a mapping entry");
} else if (state.lineIndent < nodeIndent) {
break;
}
}
if (atExplicitKey) {
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
}
if (detected) {
state.tag = _tag;
state.anchor = _anchor;
state.kind = "mapping";
state.result = _result;
}
return detected;
}
function readTagProperty(state) {
var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 33) return false;
if (state.tag !== null) {
throwError(state, "duplication of a tag property");
}
ch = state.input.charCodeAt(++state.position);
if (ch === 60) {
isVerbatim = true;
ch = state.input.charCodeAt(++state.position);
} else if (ch === 33) {
isNamed = true;
tagHandle = "!!";
ch = state.input.charCodeAt(++state.position);
} else {
tagHandle = "!";
}
_position = state.position;
if (isVerbatim) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 0 && ch !== 62);
if (state.position < state.length) {
tagName = state.input.slice(_position, state.position);
ch = state.input.charCodeAt(++state.position);
} else {
throwError(state, "unexpected end of the stream within a verbatim tag");
}
} else {
while (ch !== 0 && !is_WS_OR_EOL(ch)) {
if (ch === 33) {
if (!isNamed) {
tagHandle = state.input.slice(_position - 1, state.position + 1);
if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
throwError(state, "named tag handle cannot contain such characters");
}
isNamed = true;
_position = state.position + 1;
} else {
throwError(state, "tag suffix cannot contain exclamation marks");
}
}
ch = state.input.charCodeAt(++state.position);
}
tagName = state.input.slice(_position, state.position);
if (PATTERN_FLOW_INDICATORS.test(tagName)) {
throwError(state, "tag suffix cannot contain flow indicator characters");
}
}
if (tagName && !PATTERN_TAG_URI.test(tagName)) {
throwError(state, "tag name cannot contain such characters: " + tagName);
}
try {
tagName = decodeURIComponent(tagName);
} catch (err2) {
throwError(state, "tag name is malformed: " + tagName);
}
if (isVerbatim) {
state.tag = tagName;
} else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {
state.tag = state.tagMap[tagHandle] + tagName;
} else if (tagHandle === "!") {
state.tag = "!" + tagName;
} else if (tagHandle === "!!") {
state.tag = "tag:yaml.org,2002:" + tagName;
} else {
throwError(state, 'undeclared tag handle "' + tagHandle + '"');
}
return true;
}
function readAnchorProperty(state) {
var _position, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 38) return false;
if (state.anchor !== null) {
throwError(state, "duplication of an anchor property");
}
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (state.position === _position) {
throwError(state, "name of an anchor node must contain at least one character");
}
state.anchor = state.input.slice(_position, state.position);
return true;
}
function readAlias(state) {
var _position, alias, ch;
ch = state.input.charCodeAt(state.position);
if (ch !== 42) return false;
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (state.position === _position) {
throwError(state, "name of an alias node must contain at least one character");
}
alias = state.input.slice(_position, state.position);
if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {
throwError(state, 'unidentified alias "' + alias + '"');
}
state.result = state.anchorMap[alias];
skipSeparationSpace(state, true, -1);
return true;
}
function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type4, flowIndent, blockIndent;
if (state.listener !== null) {
state.listener("open", state);
}
state.tag = null;
state.anchor = null;
state.kind = null;
state.result = null;
allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
if (allowToSeek) {
if (skipSeparationSpace(state, true, -1)) {
atNewLine = true;
if (state.lineIndent > parentIndent) {
indentStatus = 1;
} else if (state.lineIndent === parentIndent) {
indentStatus = 0;
} else if (state.lineIndent < parentIndent) {
indentStatus = -1;
}
}
}
if (indentStatus === 1) {
while (readTagProperty(state) || readAnchorProperty(state)) {
if (skipSeparationSpace(state, true, -1)) {
atNewLine = true;
allowBlockCollections = allowBlockStyles;
if (state.lineIndent > parentIndent) {
indentStatus = 1;
} else if (state.lineIndent === parentIndent) {
indentStatus = 0;
} else if (state.lineIndent < parentIndent) {
indentStatus = -1;
}
} else {
allowBlockCollections = false;
}
}
}
if (allowBlockCollections) {
allowBlockCollections = atNewLine || allowCompact;
}
if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
flowIndent = parentIndent;
} else {
flowIndent = parentIndent + 1;
}
blockIndent = state.position - state.lineStart;
if (indentStatus === 1) {
if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
hasContent = true;
} else {
if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
hasContent = true;
} else if (readAlias(state)) {
hasContent = true;
if (state.tag !== null || state.anchor !== null) {
throwError(state, "alias node should not have any properties");
}
} else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
hasContent = true;
if (state.tag === null) {
state.tag = "?";
}
}
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
}
} else if (indentStatus === 0) {
hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
}
}
if (state.tag === null) {
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
} else if (state.tag === "?") {
if (state.result !== null && state.kind !== "scalar") {
throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
}
for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
type4 = state.implicitTypes[typeIndex];
if (type4.resolve(state.result)) {
state.result = type4.construct(state.result);
state.tag = type4.tag;
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
break;
}
}
} else if (state.tag !== "!") {
if (_hasOwnProperty$1.call(state.typeMap[state.kind || "fallback"], state.tag)) {
type4 = state.typeMap[state.kind || "fallback"][state.tag];
} else {
type4 = null;
typeList = state.typeMap.multi[state.kind || "fallback"];
for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {
if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {
type4 = typeList[typeIndex];
break;
}
}
}
if (!type4) {
throwError(state, "unknown tag !<" + state.tag + ">");
}
if (state.result !== null && type4.kind !== state.kind) {
throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type4.kind + '", not "' + state.kind + '"');
}
if (!type4.resolve(state.result, state.tag)) {
throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
} else {
state.result = type4.construct(state.result, state.tag);
if (state.anchor !== null) {
state.anchorMap[state.anchor] = state.result;
}
}
}
if (state.listener !== null) {
state.listener("close", state);
}
return state.tag !== null || state.anchor !== null || hasContent;
}
function readDocument(state) {
var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
state.version = null;
state.checkLineBreaks = state.legacy;
state.tagMap = /* @__PURE__ */ Object.create(null);
state.anchorMap = /* @__PURE__ */ Object.create(null);
while ((ch = state.input.charCodeAt(state.position)) !== 0) {
skipSeparationSpace(state, true, -1);
ch = state.input.charCodeAt(state.position);
if (state.lineIndent > 0 || ch !== 37) {
break;
}
hasDirectives = true;
ch = state.input.charCodeAt(++state.position);
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL(ch)) {
ch = state.input.charCodeAt(++state.position);
}
directiveName = state.input.slice(_position, state.position);
directiveArgs = [];
if (directiveName.length < 1) {
throwError(state, "directive name must not be less than one character in length");
}
while (ch !== 0) {
while (is_WHITE_SPACE(ch)) {
ch = state.input.charCodeAt(++state.position);
}
if (ch === 35) {
do {
ch = state.input.charCodeAt(++state.position);
} while (ch !== 0 && !is_EOL(ch));
break;
}
if (is_EOL(ch)) break;
_position = state.position;
while (ch !== 0 && !is_WS_OR_EOL(ch)) {
ch = state.input.charCodeAt(++state.position);
}
directiveArgs.push(state.input.slice(_position, state.position));
}
if (ch !== 0) readLineBreak(state);
if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {
directiveHandlers[directiveName](state, directiveName, directiveArgs);
} else {
throwWarning(state, 'unknown document directive "' + directiveName + '"');
}
}
skipSeparationSpace(state, true, -1);
if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
state.position += 3;
skipSeparationSpace(state, true, -1);
} else if (hasDirectives) {
throwError(state, "directives end mark is expected");
}
composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
skipSeparationSpace(state, true, -1);
if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
throwWarning(state, "non-ASCII line breaks are interpreted as content");
}
state.documents.push(state.result);
if (state.position === state.lineStart && testDocumentSeparator(state)) {
if (state.input.charCodeAt(state.position) === 46) {
state.position += 3;
skipSeparationSpace(state, true, -1);
}
return;
}
if (state.position < state.length - 1) {
throwError(state, "end of the stream or a document separator is expected");
} else {
return;
}
}
function loadDocuments(input, options) {
input = String(input);
options = options || {};
if (input.length !== 0) {
if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
input += "\n";
}
if (input.charCodeAt(0) === 65279) {
input = input.slice(1);
}
}
var state = new State$1(input, options);
var nullpos = input.indexOf("\0");
if (nullpos !== -1) {
state.position = nullpos;
throwError(state, "null byte is not allowed in input");
}
state.input += "\0";
while (state.input.charCodeAt(state.position) === 32) {
state.lineIndent += 1;
state.position += 1;
}
while (state.position < state.length - 1) {
readDocument(state);
}
return state.documents;
}
function loadAll$1(input, iterator, options) {
if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") {
options = iterator;
iterator = null;
}
var documents = loadDocuments(input, options);
if (typeof iterator !== "function") {
return documents;
}
for (var index2 = 0, length = documents.length; index2 < length; index2 += 1) {
iterator(documents[index2]);
}
}
function load$1(input, options) {
var documents = loadDocuments(input, options);
if (documents.length === 0) {
return void 0;
} else if (documents.length === 1) {
return documents[0];
}
throw new exception("expected a single document in the stream, but found more");
}
function compileStyleMap(schema2, map26) {
var result2, keys4, index2, length, tag, style, type4;
if (map26 === null) return {};
result2 = {};
keys4 = Object.keys(map26);
for (index2 = 0, length = keys4.length; index2 < length; index2 += 1) {
tag = keys4[index2];
style = String(map26[tag]);
if (tag.slice(0, 2) === "!!") {
tag = "tag:yaml.org,2002:" + tag.slice(2);
}
type4 = schema2.compiledTypeMap["fallback"][tag];
if (type4 && _hasOwnProperty.call(type4.styleAliases, style)) {
style = type4.styleAliases[style];
}
result2[tag] = style;
}
return result2;
}
function encodeHex(character) {
var string, handle, length;
string = character.toString(16).toUpperCase();
if (character <= 255) {
handle = "x";
length = 2;
} else if (character <= 65535) {
handle = "u";
length = 4;
} else if (character <= 4294967295) {
handle = "U";
length = 8;
} else {
throw new exception("code point within a string may not be greater than 0xFFFFFFFF");
}
return "\\" + handle + common.repeat("0", length - string.length) + string;
}
function State(options) {
this.blankLines = options["blankLines"] || false;
this.schema = options["schema"] || _default;
this.indent = Math.max(1, options["indent"] || 2);
this.noArrayIndent = options["noArrayIndent"] || false;
this.skipInvalid = options["skipInvalid"] || false;
this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
this.styleMap = compileStyleMap(this.schema, options["styles"] || null);
this.sortKeys = options["sortKeys"] || false;
this.lineWidth = options["lineWidth"] || 80;
this.noRefs = options["noRefs"] || false;
this.noCompatMode = options["noCompatMode"] || false;
this.condenseFlow = options["condenseFlow"] || false;
this.quotingType = options["quotingType"] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;
this.forceQuotes = options["forceQuotes"] || false;
this.replacer = typeof options["replacer"] === "function" ? options["replacer"] : null;
this.implicitTypes = this.schema.compiledImplicit;
this.explicitTypes = this.schema.compiledExplicit;
this.tag = null;
this.result = "";
this.duplicates = [];
this.usedDuplicates = null;
}
function indentString(string, spaces) {
var ind = common.repeat(" ", spaces), position3 = 0, next2 = -1, result2 = "", line, length = string.length;
while (position3 < length) {
next2 = string.indexOf("\n", position3);
if (next2 === -1) {
line = string.slice(position3);
position3 = length;
} else {
line = string.slice(position3, next2 + 1);
position3 = next2 + 1;
}
if (line.length && line !== "\n") result2 += ind;
result2 += line;
}
return result2;
}
function generateNextLine(state, level, doubleLine) {
return "\n" + (doubleLine ? "\n" : "") + common.repeat(" ", state.indent * level);
}
function testImplicitResolving(state, str2) {
var index2, length, type4;
for (index2 = 0, length = state.implicitTypes.length; index2 < length; index2 += 1) {
type4 = state.implicitTypes[index2];
if (type4.resolve(str2)) {
return true;
}
}
return false;
}
function isWhitespace(c3) {
return c3 === CHAR_SPACE || c3 === CHAR_TAB;
}
function isPrintable(c3) {
return 32 <= c3 && c3 <= 126 || 161 <= c3 && c3 <= 55295 && c3 !== 8232 && c3 !== 8233 || 57344 <= c3 && c3 <= 65533 && c3 !== CHAR_BOM || 65536 <= c3 && c3 <= 1114111;
}
function isNsCharOrWhitespace(c3) {
return isPrintable(c3) && c3 !== CHAR_BOM && c3 !== CHAR_CARRIAGE_RETURN && c3 !== CHAR_LINE_FEED;
}
function isPlainSafe(c3, prev, inblock) {
var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c3);
var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c3);
return (
// ns-plain-safe
(inblock ? (
// c = flow-in
cIsNsCharOrWhitespace
) : cIsNsCharOrWhitespace && c3 !== CHAR_COMMA && c3 !== CHAR_LEFT_SQUARE_BRACKET && c3 !== CHAR_RIGHT_SQUARE_BRACKET && c3 !== CHAR_LEFT_CURLY_BRACKET && c3 !== CHAR_RIGHT_CURLY_BRACKET) && c3 !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c3 === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar
);
}
function isPlainSafeFirst(c3) {
return isPrintable(c3) && c3 !== CHAR_BOM && !isWhitespace(c3) && c3 !== CHAR_MINUS && c3 !== CHAR_QUESTION && c3 !== CHAR_COLON && c3 !== CHAR_COMMA && c3 !== CHAR_LEFT_SQUARE_BRACKET && c3 !== CHAR_RIGHT_SQUARE_BRACKET && c3 !== CHAR_LEFT_CURLY_BRACKET && c3 !== CHAR_RIGHT_CURLY_BRACKET && c3 !== CHAR_SHARP && c3 !== CHAR_AMPERSAND && c3 !== CHAR_ASTERISK && c3 !== CHAR_EXCLAMATION && c3 !== CHAR_VERTICAL_LINE && c3 !== CHAR_EQUALS && c3 !== CHAR_GREATER_THAN && c3 !== CHAR_SINGLE_QUOTE && c3 !== CHAR_DOUBLE_QUOTE && c3 !== CHAR_PERCENT && c3 !== CHAR_COMMERCIAL_AT && c3 !== CHAR_GRAVE_ACCENT;
}
function isPlainSafeLast(c3) {
return !isWhitespace(c3) && c3 !== CHAR_COLON;
}
function codePointAt(string, pos) {
var first = string.charCodeAt(pos), second;
if (first >= 55296 && first <= 56319 && pos + 1 < string.length) {
second = string.charCodeAt(pos + 1);
if (second >= 56320 && second <= 57343) {
return (first - 55296) * 1024 + second - 56320 + 65536;
}
}
return first;
}
function needIndentIndicator(string) {
var leadingSpaceRe = /^\n* /;
return leadingSpaceRe.test(string);
}
function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {
var i4;
var char = 0;
var prevChar = null;
var hasLineBreak = false;
var hasFoldableLine = false;
var shouldTrackWidth = lineWidth !== -1;
var previousLineBreak = -1;
var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1));
if (singleLineOnly || forceQuotes) {
for (i4 = 0; i4 < string.length; char >= 65536 ? i4 += 2 : i4++) {
char = codePointAt(string, i4);
if (!isPrintable(char)) {
return STYLE_DOUBLE;
}
plain = plain && isPlainSafe(char, prevChar, inblock);
prevChar = char;
}
} else {
for (i4 = 0; i4 < string.length; char >= 65536 ? i4 += 2 : i4++) {
char = codePointAt(string, i4);
if (char === CHAR_LINE_FEED) {
hasLineBreak = true;
if (shouldTrackWidth) {
hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
i4 - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
previousLineBreak = i4;
}
} else if (!isPrintable(char)) {
return STYLE_DOUBLE;
}
plain = plain && isPlainSafe(char, prevChar, inblock);
prevChar = char;
}
hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i4 - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ");
}
if (!hasLineBreak && !hasFoldableLine) {
if (plain && !forceQuotes && !testAmbiguousType(string)) {
return STYLE_PLAIN;
}
return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
}
if (indentPerLevel > 9 && needIndentIndicator(string)) {
return STYLE_DOUBLE;
}
if (!forceQuotes) {
return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
}
return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
}
function writeScalar(state, string, level, iskey, inblock, singleLO) {
state.dump = (function() {
if (string.length === 0) {
return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''";
}
if (!state.noCompatMode) {
if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {
return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string + '"' : "'" + string + "'";
}
}
var indent = state.indent * Math.max(1, level);
var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
var singleLineOnly = iskey || singleLO || state.flowLevel > -1 && level >= state.flowLevel;
function testAmbiguity(string2) {
return testImplicitResolving(state, string2);
}
switch (chooseScalarStyle(
string,
singleLineOnly,
state.indent,
lineWidth,
testAmbiguity,
state.quotingType,
state.forceQuotes && !iskey,
inblock
)) {
case STYLE_PLAIN:
return string;
case STYLE_SINGLE:
return "'" + string.replace(/'/g, "''") + "'";
case STYLE_LITERAL:
return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
case STYLE_FOLDED:
return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
case STYLE_DOUBLE:
return '"' + escapeString(string) + '"';
default:
throw new exception("impossible error: invalid scalar style");
}
})();
}
function blockHeader(string, indentPerLevel) {
var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : "";
var clip = string[string.length - 1] === "\n";
var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
var chomp = keep ? "+" : clip ? "" : "-";
return indentIndicator + chomp + "\n";
}
function dropEndingNewline(string) {
return string[string.length - 1] === "\n" ? string.slice(0, -1) : string;
}
function foldString(string, width) {
var lineRe = /(\n+)([^\n]*)/g;
var result2 = (function() {
var nextLF = string.indexOf("\n");
nextLF = nextLF !== -1 ? nextLF : string.length;
lineRe.lastIndex = nextLF;
return foldLine(string.slice(0, nextLF), width);
})();
var prevMoreIndented = string[0] === "\n" || string[0] === " ";
var moreIndented;
var match;
while (match = lineRe.exec(string)) {
var prefix = match[1], line = match[2];
moreIndented = line[0] === " ";
result2 += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
prevMoreIndented = moreIndented;
}
return result2;
}
function foldLine(line, width) {
if (line === "" || line[0] === " ") return line;
var breakRe = / [^ ]/g;
var match;
var start = 0, end, curr = 0, next2 = 0;
var result2 = "";
while (match = breakRe.exec(line)) {
next2 = match.index;
if (next2 - start > width) {
end = curr > start ? curr : next2;
result2 += "\n" + line.slice(start, end);
start = end + 1;
}
curr = next2;
}
result2 += "\n";
if (line.length - start > width && curr > start) {
result2 += line.slice(start, curr) + "\n" + line.slice(curr + 1);
} else {
result2 += line.slice(start);
}
return result2.slice(1);
}
function escapeString(string) {
var result2 = "";
var char = 0;
var escapeSeq;
for (var i4 = 0; i4 < string.length; char >= 65536 ? i4 += 2 : i4++) {
char = codePointAt(string, i4);
escapeSeq = ESCAPE_SEQUENCES[char];
if (!escapeSeq && isPrintable(char)) {
result2 += string[i4];
if (char >= 65536) result2 += string[i4 + 1];
} else {
result2 += escapeSeq || encodeHex(char);
}
}
return result2;
}
function writeFlowSequence(state, level, object) {
var _result = "", _tag = state.tag, index2, length, value;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
value = object[index2];
if (state.replacer) {
value = state.replacer.call(object, String(index2), value);
}
if (writeNode(state, level, value, false, false) || typeof value === "undefined" && writeNode(state, level, null, false, false)) {
if (_result !== "") _result += "," + (!state.condenseFlow ? " " : "");
_result += state.dump;
}
}
state.tag = _tag;
state.dump = "[" + _result + "]";
}
function writeBlockSequence(state, level, object, compact) {
var _result = "", _tag = state.tag, index2, length, value;
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
value = object[index2];
if (state.replacer) {
value = state.replacer.call(object, String(index2), value);
}
if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === "undefined" && writeNode(state, level + 1, null, true, true, false, true)) {
if (!compact || _result !== "") {
_result += generateNextLine(state, level);
}
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
_result += "-";
} else {
_result += "- ";
}
_result += state.dump;
}
}
state.tag = _tag;
state.dump = _result || "[]";
}
function writeFlowMapping(state, level, object, singleLineOnly) {
var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, pairBuffer;
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
pairBuffer = "";
if (_result !== "") pairBuffer += ", ";
if (state.condenseFlow) pairBuffer += '"';
objectKey = objectKeyList[index2];
objectValue = object[objectKey];
if (state.replacer) {
objectValue = state.replacer.call(object, objectKey, objectValue);
}
if (!writeNode(state, level, objectKey, false, false, singleLineOnly)) {
continue;
}
if (state.dump.length > 1024) pairBuffer += "? ";
pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
if (!writeNode(state, level, objectValue, false, false, singleLineOnly)) {
continue;
}
pairBuffer += state.dump;
_result += pairBuffer;
}
state.tag = _tag;
state.dump = "{" + _result + "}";
}
function writeBlockMapping(state, level, object, compact, doubleLine) {
var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, explicitPair, pairBuffer;
if (state.sortKeys === true) {
objectKeyList.sort();
} else if (typeof state.sortKeys === "function") {
objectKeyList.sort(state.sortKeys);
} else if (state.sortKeys) {
throw new exception("sortKeys must be a boolean or a function");
}
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
pairBuffer = "";
if (!compact || _result !== "") {
pairBuffer += generateNextLine(state, level, doubleLine);
}
objectKey = objectKeyList[index2];
objectValue = object[objectKey];
if (state.replacer) {
objectValue = state.replacer.call(object, objectKey, objectValue);
}
if (!writeNode(state, level + 1, objectKey, true, true, true)) {
continue;
}
explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
if (explicitPair) {
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
pairBuffer += "?";
} else {
pairBuffer += "? ";
}
}
pairBuffer += state.dump;
if (explicitPair) {
pairBuffer += generateNextLine(state, level);
}
if (!writeNode(state, level + 1, objectValue, true, explicitPair, null, null, objectKey)) {
continue;
}
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
pairBuffer += ":";
} else {
pairBuffer += ": ";
}
pairBuffer += state.dump;
_result += pairBuffer;
}
state.tag = _tag;
state.dump = _result || "{}";
}
function detectType(state, object, explicit) {
var _result, typeList, index2, length, type4, style;
typeList = explicit ? state.explicitTypes : state.implicitTypes;
for (index2 = 0, length = typeList.length; index2 < length; index2 += 1) {
type4 = typeList[index2];
if ((type4.instanceOf || type4.predicate) && (!type4.instanceOf || typeof object === "object" && object instanceof type4.instanceOf) && (!type4.predicate || type4.predicate(object))) {
if (explicit) {
if (type4.multi && type4.representName) {
state.tag = type4.representName(object);
} else {
state.tag = type4.tag;
}
} else {
state.tag = "?";
}
if (type4.represent) {
style = state.styleMap[type4.tag] || type4.defaultStyle;
if (_toString.call(type4.represent) === "[object Function]") {
_result = type4.represent(object, style);
} else if (_hasOwnProperty.call(type4.represent, style)) {
_result = type4.represent[style](object, style);
} else {
throw new exception("!<" + type4.tag + '> tag resolver accepts not "' + style + '" style');
}
state.dump = _result;
}
return true;
}
}
return false;
}
function writeNode(state, level, object, block, compact, iskey, isblockseq, objectKey, singleLineOnly) {
state.tag = null;
state.dump = object;
if (!detectType(state, object, false)) {
detectType(state, object, true);
}
var type4 = _toString.call(state.dump);
var inblock = block;
var tagStr;
if (block) {
block = state.flowLevel < 0 || state.flowLevel > level;
}
var objectOrArray = type4 === "[object Object]" || type4 === "[object Array]", duplicateIndex, duplicate;
if (objectOrArray) {
duplicateIndex = state.duplicates.indexOf(object);
duplicate = duplicateIndex !== -1;
}
if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
compact = false;
}
if (duplicate && state.usedDuplicates[duplicateIndex]) {
state.dump = "*ref_" + duplicateIndex;
} else {
if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
state.usedDuplicates[duplicateIndex] = true;
}
if (type4 === "[object Object]") {
singleLineOnly = SINGLE_LINE_KEYS[objectKey] || objectKey === "resolution" && state.dump.type !== "variations" && state.dump.type !== "binary";
if (block && Object.keys(state.dump).length !== 0 && !singleLineOnly) {
var doubleLine = state.blankLines ? objectKey === "packages" || objectKey === "importers" || objectKey === "snapshots" || level === 0 : false;
writeBlockMapping(state, level, state.dump, compact, doubleLine);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + state.dump;
}
} else {
writeFlowMapping(state, level, state.dump, singleLineOnly);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + " " + state.dump;
}
}
} else if (type4 === "[object Array]") {
singleLineOnly = SINGLE_LINE_KEYS[objectKey];
if (block && state.dump.length !== 0 && !singleLineOnly) {
if (state.noArrayIndent && !isblockseq && level > 0) {
writeBlockSequence(state, level - 1, state.dump, compact);
} else {
writeBlockSequence(state, level, state.dump, compact);
}
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + state.dump;
}
} else {
writeFlowSequence(state, level, state.dump);
if (duplicate) {
state.dump = "&ref_" + duplicateIndex + " " + state.dump;
}
}
} else if (type4 === "[object String]") {
if (state.tag !== "?") {
writeScalar(state, state.dump, level, iskey, inblock, singleLineOnly);
}
} else if (type4 === "[object Undefined]") {
return false;
} else {
if (state.skipInvalid) return false;
throw new exception("unacceptable kind of an object to dump " + type4);
}
if (state.tag !== null && state.tag !== "?") {
tagStr = encodeURI(
state.tag[0] === "!" ? state.tag.slice(1) : state.tag
).replace(/!/g, "%21");
if (state.tag[0] === "!") {
tagStr = "!" + tagStr;
} else if (tagStr.slice(0, 18) === "tag:yaml.org,2002:") {
tagStr = "!!" + tagStr.slice(18);
} else {
tagStr = "!<" + tagStr + ">";
}
state.dump = tagStr + " " + state.dump;
}
}
return true;
}
function getDuplicateReferences(object, state) {
var objects = [], duplicatesIndexes = [], index2, length;
inspectNode(object, objects, duplicatesIndexes);
for (index2 = 0, length = duplicatesIndexes.length; index2 < length; index2 += 1) {
state.duplicates.push(objects[duplicatesIndexes[index2]]);
}
state.usedDuplicates = new Array(length);
}
function inspectNode(object, objects, duplicatesIndexes) {
var objectKeyList, index2, length;
if (object !== null && typeof object === "object") {
index2 = objects.indexOf(object);
if (index2 !== -1) {
if (duplicatesIndexes.indexOf(index2) === -1) {
duplicatesIndexes.push(index2);
}
} else {
objects.push(object);
if (Array.isArray(object)) {
for (index2 = 0, length = object.length; index2 < length; index2 += 1) {
inspectNode(object[index2], objects, duplicatesIndexes);
}
} else {
objectKeyList = Object.keys(object);
for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) {
inspectNode(object[objectKeyList[index2]], objects, duplicatesIndexes);
}
}
}
}
}
function dump$1(input, options) {
options = options || {};
var state = new State(options);
if (!state.noRefs) getDuplicateReferences(input, state);
var value = input;
if (state.replacer) {
value = state.replacer.call({ "": value }, "", value);
}
if (writeNode(state, 0, value, true, true)) return state.dump + "\n";
return "";
}
function renamed(from5, to) {
return function() {
throw new Error("Function yaml." + from5 + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default.");
};
}
var isNothing_1, isObject_1, toArray_1, repeat_1, isNegativeZero_1, extend_1, common, exception, snippet, TYPE_CONSTRUCTOR_OPTIONS, YAML_NODE_KINDS, type, schema, str, seq, map, failsafe, _null, bool, int, YAML_FLOAT_PATTERN, SCIENTIFIC_WITHOUT_DOT, float, json, core, YAML_DATE_REGEXP, YAML_TIMESTAMP_REGEXP, timestamp, merge, BASE64_MAP, binary, _hasOwnProperty$3, _toString$2, omap, _toString$1, pairs, _hasOwnProperty$2, set, _default, _hasOwnProperty$1, CONTEXT_FLOW_IN, CONTEXT_FLOW_OUT, CONTEXT_BLOCK_IN, CONTEXT_BLOCK_OUT, CHOMPING_CLIP, CHOMPING_STRIP, CHOMPING_KEEP, PATTERN_NON_PRINTABLE, PATTERN_NON_ASCII_LINE_BREAKS, PATTERN_FLOW_INDICATORS, PATTERN_TAG_HANDLE, PATTERN_TAG_URI, simpleEscapeCheck, simpleEscapeMap, i, directiveHandlers, loadAll_1, load_1, loader, _toString, _hasOwnProperty, CHAR_BOM, CHAR_TAB, CHAR_LINE_FEED, CHAR_CARRIAGE_RETURN, CHAR_SPACE, CHAR_EXCLAMATION, CHAR_DOUBLE_QUOTE, CHAR_SHARP, CHAR_PERCENT, CHAR_AMPERSAND, CHAR_SINGLE_QUOTE, CHAR_ASTERISK, CHAR_COMMA, CHAR_MINUS, CHAR_COLON, CHAR_EQUALS, CHAR_GREATER_THAN, CHAR_QUESTION, CHAR_COMMERCIAL_AT, CHAR_LEFT_SQUARE_BRACKET, CHAR_RIGHT_SQUARE_BRACKET, CHAR_GRAVE_ACCENT, CHAR_LEFT_CURLY_BRACKET, CHAR_VERTICAL_LINE, CHAR_RIGHT_CURLY_BRACKET, ESCAPE_SEQUENCES, DEPRECATED_BOOLEANS_SYNTAX, DEPRECATED_BASE60_SYNTAX, SINGLE_LINE_KEYS, QUOTING_TYPE_SINGLE, QUOTING_TYPE_DOUBLE, STYLE_PLAIN, STYLE_SINGLE, STYLE_LITERAL, STYLE_FOLDED, STYLE_DOUBLE, dump_1, dumper, Type, Schema, FAILSAFE_SCHEMA, JSON_SCHEMA, CORE_SCHEMA, DEFAULT_SCHEMA, load, loadAll, dump, YAMLException, safeLoad, safeLoadAll, safeDump, jsYaml;
var init_js_yaml = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/js-yaml/0.0.11/7b2ef9ecac61472c03f3323b540887208e9b2699f699b43ede700d7823812a93/node_modules/@zkochan/js-yaml/dist/js-yaml.mjs"() {
isNothing_1 = isNothing;
isObject_1 = isObject;
toArray_1 = toArray;
repeat_1 = repeat;
isNegativeZero_1 = isNegativeZero;
extend_1 = extend;
common = {
isNothing: isNothing_1,
isObject: isObject_1,
toArray: toArray_1,
repeat: repeat_1,
isNegativeZero: isNegativeZero_1,
extend: extend_1
};
YAMLException$1.prototype = Object.create(Error.prototype);
YAMLException$1.prototype.constructor = YAMLException$1;
YAMLException$1.prototype.toString = function toString(compact) {
return this.name + ": " + formatError(this, compact);
};
exception = YAMLException$1;
snippet = makeSnippet;
TYPE_CONSTRUCTOR_OPTIONS = [
"kind",
"multi",
"resolve",
"construct",
"instanceOf",
"predicate",
"represent",
"representName",
"defaultStyle",
"styleAliases"
];
YAML_NODE_KINDS = [
"scalar",
"sequence",
"mapping"
];
type = Type$1;
Schema$1.prototype.extend = function extend2(definition) {
var implicit = [];
var explicit = [];
if (definition instanceof type) {
explicit.push(definition);
} else if (Array.isArray(definition)) {
explicit = explicit.concat(definition);
} else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
if (definition.implicit) implicit = implicit.concat(definition.implicit);
if (definition.explicit) explicit = explicit.concat(definition.explicit);
} else {
throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
}
implicit.forEach(function(type$1) {
if (!(type$1 instanceof type)) {
throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");
}
if (type$1.loadKind && type$1.loadKind !== "scalar") {
throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
}
if (type$1.multi) {
throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
}
});
explicit.forEach(function(type$1) {
if (!(type$1 instanceof type)) {
throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");
}
});
var result2 = Object.create(Schema$1.prototype);
result2.implicit = (this.implicit || []).concat(implicit);
result2.explicit = (this.explicit || []).concat(explicit);
result2.compiledImplicit = compileList(result2, "implicit", []);
result2.compiledExplicit = compileList(result2, "explicit", []);
result2.compiledTypeMap = compileMap(result2.compiledImplicit, result2.compiledExplicit);
return result2;
};
schema = Schema$1;
str = new type("tag:yaml.org,2002:str", {
kind: "scalar",
construct: function(data) {
return data !== null ? data : "";
}
});
seq = new type("tag:yaml.org,2002:seq", {
kind: "sequence",
construct: function(data) {
return data !== null ? data : [];
}
});
map = new type("tag:yaml.org,2002:map", {
kind: "mapping",
construct: function(data) {
return data !== null ? data : {};
}
});
failsafe = new schema({
explicit: [
str,
seq,
map
]
});
_null = new type("tag:yaml.org,2002:null", {
kind: "scalar",
resolve: resolveYamlNull,
construct: constructYamlNull,
predicate: isNull,
represent: {
canonical: function() {
return "~";
},
lowercase: function() {
return "null";
},
uppercase: function() {
return "NULL";
},
camelcase: function() {
return "Null";
},
empty: function() {
return "";
}
},
defaultStyle: "lowercase"
});
bool = new type("tag:yaml.org,2002:bool", {
kind: "scalar",
resolve: resolveYamlBoolean,
construct: constructYamlBoolean,
predicate: isBoolean,
represent: {
lowercase: function(object) {
return object ? "true" : "false";
},
uppercase: function(object) {
return object ? "TRUE" : "FALSE";
},
camelcase: function(object) {
return object ? "True" : "False";
}
},
defaultStyle: "lowercase"
});
int = new type("tag:yaml.org,2002:int", {
kind: "scalar",
resolve: resolveYamlInteger,
construct: constructYamlInteger,
predicate: isInteger,
represent: {
binary: function(obj) {
return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
},
octal: function(obj) {
return obj >= 0 ? "0o" + obj.toString(8) : "-0o" + obj.toString(8).slice(1);
},
decimal: function(obj) {
return obj.toString(10);
},
/* eslint-disable max-len */
hexadecimal: function(obj) {
return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
}
},
defaultStyle: "decimal",
styleAliases: {
binary: [2, "bin"],
octal: [8, "oct"],
decimal: [10, "dec"],
hexadecimal: [16, "hex"]
}
});
YAML_FLOAT_PATTERN = new RegExp(
// 2.5e4, 2.5 and integers
"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
);
SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
float = new type("tag:yaml.org,2002:float", {
kind: "scalar",
resolve: resolveYamlFloat,
construct: constructYamlFloat,
predicate: isFloat,
represent: representYamlFloat,
defaultStyle: "lowercase"
});
json = failsafe.extend({
implicit: [
_null,
bool,
int,
float
]
});
core = json;
YAML_DATE_REGEXP = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
);
YAML_TIMESTAMP_REGEXP = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
);
timestamp = new type("tag:yaml.org,2002:timestamp", {
kind: "scalar",
resolve: resolveYamlTimestamp,
construct: constructYamlTimestamp,
instanceOf: Date,
represent: representYamlTimestamp
});
merge = new type("tag:yaml.org,2002:merge", {
kind: "scalar",
resolve: resolveYamlMerge
});
BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
binary = new type("tag:yaml.org,2002:binary", {
kind: "scalar",
resolve: resolveYamlBinary,
construct: constructYamlBinary,
predicate: isBinary,
represent: representYamlBinary
});
_hasOwnProperty$3 = Object.prototype.hasOwnProperty;
_toString$2 = Object.prototype.toString;
omap = new type("tag:yaml.org,2002:omap", {
kind: "sequence",
resolve: resolveYamlOmap,
construct: constructYamlOmap
});
_toString$1 = Object.prototype.toString;
pairs = new type("tag:yaml.org,2002:pairs", {
kind: "sequence",
resolve: resolveYamlPairs,
construct: constructYamlPairs
});
_hasOwnProperty$2 = Object.prototype.hasOwnProperty;
set = new type("tag:yaml.org,2002:set", {
kind: "mapping",
resolve: resolveYamlSet,
construct: constructYamlSet
});
_default = core.extend({
implicit: [
timestamp,
merge
],
explicit: [
binary,
omap,
pairs,
set
]
});
_hasOwnProperty$1 = Object.prototype.hasOwnProperty;
CONTEXT_FLOW_IN = 1;
CONTEXT_FLOW_OUT = 2;
CONTEXT_BLOCK_IN = 3;
CONTEXT_BLOCK_OUT = 4;
CHOMPING_CLIP = 1;
CHOMPING_STRIP = 2;
CHOMPING_KEEP = 3;
PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
simpleEscapeCheck = new Array(256);
simpleEscapeMap = new Array(256);
for (i = 0; i < 256; i++) {
simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
simpleEscapeMap[i] = simpleEscapeSequence(i);
}
directiveHandlers = {
YAML: function handleYamlDirective(state, name, args) {
var match, major, minor;
if (state.version !== null) {
throwError(state, "duplication of %YAML directive");
}
if (args.length !== 1) {
throwError(state, "YAML directive accepts exactly one argument");
}
match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
if (match === null) {
throwError(state, "ill-formed argument of the YAML directive");
}
major = parseInt(match[1], 10);
minor = parseInt(match[2], 10);
if (major !== 1) {
throwError(state, "unacceptable YAML version of the document");
}
state.version = args[0];
state.checkLineBreaks = minor < 2;
if (minor !== 1 && minor !== 2) {
throwWarning(state, "unsupported YAML version of the document");
}
},
TAG: function handleTagDirective(state, name, args) {
var handle, prefix;
if (args.length !== 2) {
throwError(state, "TAG directive accepts exactly two arguments");
}
handle = args[0];
prefix = args[1];
if (!PATTERN_TAG_HANDLE.test(handle)) {
throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
}
if (_hasOwnProperty$1.call(state.tagMap, handle)) {
throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
}
if (!PATTERN_TAG_URI.test(prefix)) {
throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
}
try {
prefix = decodeURIComponent(prefix);
} catch (err2) {
throwError(state, "tag prefix is malformed: " + prefix);
}
state.tagMap[handle] = prefix;
}
};
loadAll_1 = loadAll$1;
load_1 = load$1;
loader = {
loadAll: loadAll_1,
load: load_1
};
_toString = Object.prototype.toString;
_hasOwnProperty = Object.prototype.hasOwnProperty;
CHAR_BOM = 65279;
CHAR_TAB = 9;
CHAR_LINE_FEED = 10;
CHAR_CARRIAGE_RETURN = 13;
CHAR_SPACE = 32;
CHAR_EXCLAMATION = 33;
CHAR_DOUBLE_QUOTE = 34;
CHAR_SHARP = 35;
CHAR_PERCENT = 37;
CHAR_AMPERSAND = 38;
CHAR_SINGLE_QUOTE = 39;
CHAR_ASTERISK = 42;
CHAR_COMMA = 44;
CHAR_MINUS = 45;
CHAR_COLON = 58;
CHAR_EQUALS = 61;
CHAR_GREATER_THAN = 62;
CHAR_QUESTION = 63;
CHAR_COMMERCIAL_AT = 64;
CHAR_LEFT_SQUARE_BRACKET = 91;
CHAR_RIGHT_SQUARE_BRACKET = 93;
CHAR_GRAVE_ACCENT = 96;
CHAR_LEFT_CURLY_BRACKET = 123;
CHAR_VERTICAL_LINE = 124;
CHAR_RIGHT_CURLY_BRACKET = 125;
ESCAPE_SEQUENCES = {};
ESCAPE_SEQUENCES[0] = "\\0";
ESCAPE_SEQUENCES[7] = "\\a";
ESCAPE_SEQUENCES[8] = "\\b";
ESCAPE_SEQUENCES[9] = "\\t";
ESCAPE_SEQUENCES[10] = "\\n";
ESCAPE_SEQUENCES[11] = "\\v";
ESCAPE_SEQUENCES[12] = "\\f";
ESCAPE_SEQUENCES[13] = "\\r";
ESCAPE_SEQUENCES[27] = "\\e";
ESCAPE_SEQUENCES[34] = '\\"';
ESCAPE_SEQUENCES[92] = "\\\\";
ESCAPE_SEQUENCES[133] = "\\N";
ESCAPE_SEQUENCES[160] = "\\_";
ESCAPE_SEQUENCES[8232] = "\\L";
ESCAPE_SEQUENCES[8233] = "\\P";
DEPRECATED_BOOLEANS_SYNTAX = [
"y",
"Y",
"yes",
"Yes",
"YES",
"on",
"On",
"ON",
"n",
"N",
"no",
"No",
"NO",
"off",
"Off",
"OFF"
];
DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
SINGLE_LINE_KEYS = {
cpu: true,
engines: true,
os: true,
libc: true
};
QUOTING_TYPE_SINGLE = 1;
QUOTING_TYPE_DOUBLE = 2;
STYLE_PLAIN = 1;
STYLE_SINGLE = 2;
STYLE_LITERAL = 3;
STYLE_FOLDED = 4;
STYLE_DOUBLE = 5;
dump_1 = dump$1;
dumper = {
dump: dump_1
};
Type = type;
Schema = schema;
FAILSAFE_SCHEMA = failsafe;
JSON_SCHEMA = json;
CORE_SCHEMA = core;
DEFAULT_SCHEMA = _default;
load = loader.load;
loadAll = loader.loadAll;
dump = dumper.dump;
YAMLException = exception;
safeLoad = renamed("safeLoad", "load");
safeLoadAll = renamed("safeLoadAll", "loadAll");
safeDump = renamed("safeDump", "dump");
jsYaml = {
Type,
Schema,
FAILSAFE_SCHEMA,
JSON_SCHEMA,
CORE_SCHEMA,
DEFAULT_SCHEMA,
load,
loadAll,
dump,
YAMLException,
safeLoad,
safeLoadAll,
safeDump
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-yaml-file/6.0.0/8bb240e96b79fa3e541e2914e1e5053ef89c5aec3cc2e4a89fcaa134630d1a8b/node_modules/write-yaml-file/index.js
import path11 from "node:path";
import fs4 from "node:fs";
async function writeYamlFile(fp, data, opts3) {
if (opts3?.makeDir ?? true) {
await fs4.promises.mkdir(path11.dirname(fp), { recursive: true });
}
return main(import_write_file_atomic.default, fp, data, opts3);
}
var import_write_file_atomic, main;
var init_write_yaml_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-yaml-file/6.0.0/8bb240e96b79fa3e541e2914e1e5053ef89c5aec3cc2e4a89fcaa134630d1a8b/node_modules/write-yaml-file/index.js"() {
import_write_file_atomic = __toESM(require_lib10(), 1);
init_js_yaml();
main = (fn, fp, data, opts3) => {
if (!fp) {
throw new TypeError("Expected a filepath");
}
if (data === void 0) {
throw new TypeError("Expected data to stringify");
}
opts3 = opts3 || {};
const yaml5 = jsYaml.dump(data, opts3);
return fn(fp, yaml5, { mode: opts3.mode });
};
}
});
// ../workspace/project-manifest-writer/lib/index.js
import { promises as fs5 } from "node:fs";
import path12 from "node:path";
async function writeProjectManifest(filePath, manifest, opts3) {
const fileType = filePath.slice(filePath.lastIndexOf(".") + 1).toLowerCase();
if (fileType === "yaml") {
return writeYamlFile(filePath, manifest, YAML_FORMAT);
}
await fs5.mkdir(path12.dirname(filePath), { recursive: true });
const trailingNewline = opts3?.insertFinalNewline === false ? "" : "\n";
const indent = opts3?.indent ?? " ";
const json2 = fileType === "json5" ? stringifyJson5(manifest, indent, opts3?.comments) : JSON.stringify(manifest, void 0, indent);
return (0, import_write_file_atomic2.default)(filePath, `${json2}${trailingNewline}`);
}
function stringifyJson5(obj, indent, comments) {
const json5 = import_json5.default.stringify(obj, void 0, indent);
if (comments) {
return insertComments(json5, comments);
}
return json5;
}
var import_json5, import_write_file_atomic2, YAML_FORMAT;
var init_lib13 = __esm({
"../workspace/project-manifest-writer/lib/index.js"() {
"use strict";
init_lib12();
import_json5 = __toESM(require_lib9(), 1);
import_write_file_atomic2 = __toESM(require_lib10(), 1);
init_write_yaml_file();
YAML_FORMAT = {
noCompatMode: true,
noRefs: true
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-indent/7.0.2/e42fa014dec7f69788573030166cbe50bb0e5a72667eeedf31fb585ad36a547e/node_modules/detect-indent/index.js
function shouldIgnoreSingleSpace(ignoreSingleSpaces, indentType, value) {
return ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && value === 1;
}
function makeIndentsMap(string, ignoreSingleSpaces) {
const indents = /* @__PURE__ */ new Map();
let previousSize = 0;
let previousIndentType;
let key;
for (const line of string.split(/\n/g)) {
if (!line) {
continue;
}
const matches2 = line.match(INDENT_REGEX);
if (matches2 === null) {
previousSize = 0;
previousIndentType = "";
} else {
const indent = matches2[0].length;
const indentType = matches2[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
if (shouldIgnoreSingleSpace(ignoreSingleSpaces, indentType, indent)) {
continue;
}
if (indentType !== previousIndentType) {
previousSize = 0;
}
previousIndentType = indentType;
let use = 1;
let weight = 0;
const indentDifference = indent - previousSize;
previousSize = indent;
if (indentDifference === 0) {
use = 0;
weight = 1;
} else {
const absoluteIndentDifference = Math.abs(indentDifference);
if (shouldIgnoreSingleSpace(ignoreSingleSpaces, indentType, absoluteIndentDifference)) {
continue;
}
key = encodeIndentsKey(indentType, absoluteIndentDifference);
}
const entry = indents.get(key);
indents.set(key, entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight]);
}
}
return indents;
}
function encodeIndentsKey(indentType, indentAmount) {
const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
return typeCharacter + String(indentAmount);
}
function decodeIndentsKey(indentsKey) {
const keyHasTypeSpace = indentsKey[0] === "s";
const type4 = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
const amount = Number(indentsKey.slice(1));
return { type: type4, amount };
}
function getMostUsedKey(indents) {
let result2;
let maxUsed = 0;
let maxWeight = 0;
for (const [key, [usedCount, weight]] of indents) {
if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
maxUsed = usedCount;
maxWeight = weight;
result2 = key;
}
}
return result2;
}
function makeIndentString(type4, amount) {
const indentCharacter = type4 === INDENT_TYPE_SPACE ? " " : " ";
return indentCharacter.repeat(amount);
}
function detectIndent(string) {
if (typeof string !== "string") {
throw new TypeError("Expected a string");
}
let indents = makeIndentsMap(string, true);
if (indents.size === 0) {
indents = makeIndentsMap(string, false);
}
const keyOfMostUsedIndent = getMostUsedKey(indents);
let type4;
let amount = 0;
let indent = "";
if (keyOfMostUsedIndent !== void 0) {
({ type: type4, amount } = decodeIndentsKey(keyOfMostUsedIndent));
indent = makeIndentString(type4, amount);
}
return {
amount,
type: type4,
indent
};
}
var INDENT_REGEX, INDENT_TYPE_SPACE, INDENT_TYPE_TAB;
var init_detect_indent = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-indent/7.0.2/e42fa014dec7f69788573030166cbe50bb0e5a72667eeedf31fb585ad36a547e/node_modules/detect-indent/index.js"() {
INDENT_REGEX = /^(?:( )+|\t+)/;
INDENT_TYPE_SPACE = "space";
INDENT_TYPE_TAB = "tab";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-deep-equal/3.1.3/57fbe5fd6f7d3bd61519466ad102884cc9e5511fabd9777317b6582805433878/node_modules/fast-deep-equal/index.js
var require_fast_deep_equal = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-deep-equal/3.1.3/57fbe5fd6f7d3bd61519466ad102884cc9e5511fabd9777317b6582805433878/node_modules/fast-deep-equal/index.js"(exports2, module2) {
"use strict";
module2.exports = function equal2(a2, b) {
if (a2 === b) return true;
if (a2 && b && typeof a2 == "object" && typeof b == "object") {
if (a2.constructor !== b.constructor) return false;
var length, i4, keys4;
if (Array.isArray(a2)) {
length = a2.length;
if (length != b.length) return false;
for (i4 = length; i4-- !== 0; )
if (!equal2(a2[i4], b[i4])) return false;
return true;
}
if (a2.constructor === RegExp) return a2.source === b.source && a2.flags === b.flags;
if (a2.valueOf !== Object.prototype.valueOf) return a2.valueOf() === b.valueOf();
if (a2.toString !== Object.prototype.toString) return a2.toString() === b.toString();
keys4 = Object.keys(a2);
length = keys4.length;
if (length !== Object.keys(b).length) return false;
for (i4 = length; i4-- !== 0; )
if (!Object.prototype.hasOwnProperty.call(b, keys4[i4])) return false;
for (i4 = length; i4-- !== 0; ) {
var key = keys4[i4];
if (!equal2(a2[key], b[key])) return false;
}
return true;
}
return a2 !== a2 && b !== b;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-bom/5.0.0/c5abc9f591760d7581de2026bc6da7f255db82a0b75d02fcc6cebf460005b3e6/node_modules/strip-bom/index.js
function stripBom(string) {
if (typeof string !== "string") {
throw new TypeError(`Expected a string, got ${typeof string}`);
}
if (string.charCodeAt(0) === 65279) {
return string.slice(1);
}
return string;
}
var init_strip_bom = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-bom/5.0.0/c5abc9f591760d7581de2026bc6da7f255db82a0b75d02fcc6cebf460005b3e6/node_modules/strip-bom/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/read-yaml-file/3.0.0/e251ae834053d2767c2479b6c533dfca41ff11419afef74707e86228c258529a/node_modules/read-yaml-file/index.js
import fs6 from "node:fs";
async function readYamlFile(fp) {
const data = await fs6.promises.readFile(fp, "utf8");
return parse3(data);
}
var parse3;
var init_read_yaml_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/read-yaml-file/3.0.0/e251ae834053d2767c2479b6c533dfca41ff11419afef74707e86228c258529a/node_modules/read-yaml-file/index.js"() {
init_strip_bom();
init_js_yaml();
parse3 = (data) => jsYaml.load(stripBom(data));
}
});
// ../fs/graceful-fs/lib/index.js
import util3, { promisify } from "node:util";
function withEagainRetry(fn, maxRetries = 15) {
return (...args) => {
let attempts = 0;
while (attempts <= maxRetries) {
try {
return fn(...args);
} catch (err2) {
if (util3.types.isNativeError(err2) && "code" in err2 && err2.code === "EAGAIN" && attempts < maxRetries) {
attempts++;
const delay = Math.min(Math.pow(2, attempts), 300);
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, delay);
continue;
}
throw err2;
}
}
throw new Error("Unreachable");
};
}
var import_graceful_fs2, lib_default;
var init_lib14 = __esm({
"../fs/graceful-fs/lib/index.js"() {
"use strict";
import_graceful_fs2 = __toESM(require_graceful_fs(), 1);
lib_default = {
chmod: promisify(import_graceful_fs2.default.chmod),
copyFile: promisify(import_graceful_fs2.default.copyFile),
copyFileSync: withEagainRetry(import_graceful_fs2.default.copyFileSync),
createReadStream: import_graceful_fs2.default.createReadStream,
link: promisify(import_graceful_fs2.default.link),
linkSync: withEagainRetry(import_graceful_fs2.default.linkSync),
mkdir: promisify(import_graceful_fs2.default.mkdir),
mkdirSync: withEagainRetry(import_graceful_fs2.default.mkdirSync),
renameSync: withEagainRetry(import_graceful_fs2.default.renameSync),
readFile: promisify(import_graceful_fs2.default.readFile),
readFileSync: import_graceful_fs2.default.readFileSync,
readdirSync: import_graceful_fs2.default.readdirSync,
stat: promisify(import_graceful_fs2.default.stat),
statSync: import_graceful_fs2.default.statSync,
unlink: promisify(import_graceful_fs2.default.unlink),
unlinkSync: import_graceful_fs2.default.unlinkSync,
writeFile: promisify(import_graceful_fs2.default.writeFile),
writeFileSync: withEagainRetry(import_graceful_fs2.default.writeFileSync)
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picocolors/1.1.1/a2cca8821324d9b53ce284317d33c07b8ca7ab5b808164538a24d91cf6e92abb/node_modules/picocolors/picocolors.js
var require_picocolors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picocolors/1.1.1/a2cca8821324d9b53ce284317d33c07b8ca7ab5b808164538a24d91cf6e92abb/node_modules/picocolors/picocolors.js"(exports2, module2) {
var p = process || {};
var argv2 = p.argv || [];
var env3 = p.env || {};
var isColorSupported = !(!!env3.NO_COLOR || argv2.includes("--no-color")) && (!!env3.FORCE_COLOR || argv2.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env3.TERM !== "dumb" || !!env3.CI);
var formatter = (open3, close, replace = open3) => (input) => {
let string = "" + input, index2 = string.indexOf(close, open3.length);
return ~index2 ? open3 + replaceClose(string, close, replace, index2) + close : open3 + string + close;
};
var replaceClose = (string, close, replace, index2) => {
let result2 = "", cursor = 0;
do {
result2 += string.substring(cursor, index2) + replace;
cursor = index2 + close.length;
index2 = string.indexOf(close, cursor);
} while (~index2);
return result2 + string.substring(cursor);
};
var createColors = (enabled = isColorSupported) => {
let f = enabled ? formatter : () => String;
return {
isColorSupported: enabled,
reset: f("\x1B[0m", "\x1B[0m"),
bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
italic: f("\x1B[3m", "\x1B[23m"),
underline: f("\x1B[4m", "\x1B[24m"),
inverse: f("\x1B[7m", "\x1B[27m"),
hidden: f("\x1B[8m", "\x1B[28m"),
strikethrough: f("\x1B[9m", "\x1B[29m"),
black: f("\x1B[30m", "\x1B[39m"),
red: f("\x1B[31m", "\x1B[39m"),
green: f("\x1B[32m", "\x1B[39m"),
yellow: f("\x1B[33m", "\x1B[39m"),
blue: f("\x1B[34m", "\x1B[39m"),
magenta: f("\x1B[35m", "\x1B[39m"),
cyan: f("\x1B[36m", "\x1B[39m"),
white: f("\x1B[37m", "\x1B[39m"),
gray: f("\x1B[90m", "\x1B[39m"),
bgBlack: f("\x1B[40m", "\x1B[49m"),
bgRed: f("\x1B[41m", "\x1B[49m"),
bgGreen: f("\x1B[42m", "\x1B[49m"),
bgYellow: f("\x1B[43m", "\x1B[49m"),
bgBlue: f("\x1B[44m", "\x1B[49m"),
bgMagenta: f("\x1B[45m", "\x1B[49m"),
bgCyan: f("\x1B[46m", "\x1B[49m"),
bgWhite: f("\x1B[47m", "\x1B[49m"),
blackBright: f("\x1B[90m", "\x1B[39m"),
redBright: f("\x1B[91m", "\x1B[39m"),
greenBright: f("\x1B[92m", "\x1B[39m"),
yellowBright: f("\x1B[93m", "\x1B[39m"),
blueBright: f("\x1B[94m", "\x1B[39m"),
magentaBright: f("\x1B[95m", "\x1B[39m"),
cyanBright: f("\x1B[96m", "\x1B[39m"),
whiteBright: f("\x1B[97m", "\x1B[39m"),
bgBlackBright: f("\x1B[100m", "\x1B[49m"),
bgRedBright: f("\x1B[101m", "\x1B[49m"),
bgGreenBright: f("\x1B[102m", "\x1B[49m"),
bgYellowBright: f("\x1B[103m", "\x1B[49m"),
bgBlueBright: f("\x1B[104m", "\x1B[49m"),
bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
bgCyanBright: f("\x1B[106m", "\x1B[49m"),
bgWhiteBright: f("\x1B[107m", "\x1B[49m")
};
};
module2.exports = createColors();
module2.exports.createColors = createColors;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-tokens/4.0.0/038d358beec99e899526453c19c712efb8d8c5672151a59f81b2da0b0ce1913e/node_modules/js-tokens/index.js
var require_js_tokens = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/js-tokens/4.0.0/038d358beec99e899526453c19c712efb8d8c5672151a59f81b2da0b0ce1913e/node_modules/js-tokens/index.js"(exports2) {
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
exports2.matchToToken = function(match) {
var token = { type: "invalid", value: match[0], closed: void 0 };
if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);
else if (match[5]) token.type = "comment";
else if (match[6]) token.type = "comment", token.closed = !!match[7];
else if (match[8]) token.type = "regex";
else if (match[9]) token.type = "number";
else if (match[10]) token.type = "name";
else if (match[11]) token.type = "punctuator";
else if (match[12]) token.type = "whitespace";
return token;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/identifier.js
var require_identifier = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.isIdentifierChar = isIdentifierChar;
exports2.isIdentifierName = isIdentifierName;
exports2.isIdentifierStart = isIdentifierStart;
var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
var nonASCIIidentifierChars = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
function isInAstralSet(code, set2) {
let pos = 65536;
for (let i4 = 0, length = set2.length; i4 < length; i4 += 2) {
pos += set2[i4];
if (pos > code) return false;
pos += set2[i4 + 1];
if (pos >= code) return true;
}
return false;
}
function isIdentifierStart(code) {
if (code < 65) return code === 36;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 65535) {
return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes);
}
function isIdentifierChar(code) {
if (code < 48) return code === 36;
if (code < 58) return true;
if (code < 65) return false;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 65535) {
return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
}
function isIdentifierName(name) {
let isFirst = true;
for (let i4 = 0; i4 < name.length; i4++) {
let cp = name.charCodeAt(i4);
if ((cp & 64512) === 55296 && i4 + 1 < name.length) {
const trail = name.charCodeAt(++i4);
if ((trail & 64512) === 56320) {
cp = 65536 + ((cp & 1023) << 10) + (trail & 1023);
}
}
if (isFirst) {
isFirst = false;
if (!isIdentifierStart(cp)) {
return false;
}
} else if (!isIdentifierChar(cp)) {
return false;
}
}
return !isFirst;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/keyword.js
var require_keyword = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.isKeyword = isKeyword;
exports2.isReservedWord = isReservedWord;
exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
exports2.isStrictBindReservedWord = isStrictBindReservedWord;
exports2.isStrictReservedWord = isStrictReservedWord;
var reservedWords = {
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
strictBind: ["eval", "arguments"]
};
var keywords = new Set(reservedWords.keyword);
var reservedWordsStrictSet = new Set(reservedWords.strict);
var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
function isReservedWord(word, inModule) {
return inModule && word === "await" || word === "enum";
}
function isStrictReservedWord(word, inModule) {
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
}
function isStrictBindOnlyReservedWord(word) {
return reservedWordsStrictBindSet.has(word);
}
function isStrictBindReservedWord(word, inModule) {
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
}
function isKeyword(word) {
return keywords.has(word);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/index.js
var require_lib11 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/helper-validator-identifier/7.29.7/245b100303fa501912a996539728e1dbb2e9186a607cc4cbcbe5771b75348cad/node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
Object.defineProperty(exports2, "isIdentifierChar", {
enumerable: true,
get: function() {
return _identifier.isIdentifierChar;
}
});
Object.defineProperty(exports2, "isIdentifierName", {
enumerable: true,
get: function() {
return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports2, "isIdentifierStart", {
enumerable: true,
get: function() {
return _identifier.isIdentifierStart;
}
});
Object.defineProperty(exports2, "isKeyword", {
enumerable: true,
get: function() {
return _keyword.isKeyword;
}
});
Object.defineProperty(exports2, "isReservedWord", {
enumerable: true,
get: function() {
return _keyword.isReservedWord;
}
});
Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictBindOnlyReservedWord;
}
});
Object.defineProperty(exports2, "isStrictBindReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictBindReservedWord;
}
});
Object.defineProperty(exports2, "isStrictReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictReservedWord;
}
});
var _identifier = require_identifier();
var _keyword = require_keyword();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/code-frame/7.29.7/f646253350eccedbd048ec93dac6746cd644e4b8d171437bc71f5b670a2ee453/node_modules/@babel/code-frame/lib/index.js
var require_lib12 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@babel/code-frame/7.29.7/f646253350eccedbd048ec93dac6746cd644e4b8d171437bc71f5b670a2ee453/node_modules/@babel/code-frame/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var picocolors = require_picocolors();
var jsTokens = require_js_tokens();
var helperValidatorIdentifier = require_lib11();
function isColorSupported() {
return typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported;
}
var compose2 = (f, g) => (v) => f(g(v));
function buildDefs(colors) {
return {
keyword: colors.cyan,
capitalized: colors.yellow,
jsxIdentifier: colors.yellow,
punctuator: colors.yellow,
number: colors.magenta,
string: colors.green,
regex: colors.magenta,
comment: colors.gray,
invalid: compose2(compose2(colors.white, colors.bgRed), colors.bold),
gutter: colors.gray,
marker: compose2(colors.red, colors.bold),
message: compose2(colors.red, colors.bold),
reset: colors.reset
};
}
var defsOn = buildDefs(picocolors.createColors(true));
var defsOff = buildDefs(picocolors.createColors(false));
function getDefs(enabled) {
return enabled ? defsOn : defsOff;
}
var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]);
var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
var BRACKET = /^[()[\]{}]$/;
var tokenize2;
var JSX_TAG = /^[a-z][\w-]*$/i;
var getTokenType = function(token, offset, text) {
if (token.type === "name") {
const tokenValue = token.value;
if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
return "keyword";
}
if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
return "jsxIdentifier";
}
const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
if (firstChar !== firstChar.toLowerCase()) {
return "capitalized";
}
}
if (token.type === "punctuator" && BRACKET.test(token.value)) {
return "bracket";
}
if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
return "punctuator";
}
return token.type;
};
tokenize2 = function* (text) {
let match;
while (match = jsTokens.default.exec(text)) {
const token = jsTokens.matchToToken(match);
yield {
type: getTokenType(token, match.index, text),
value: token.value
};
}
};
function highlight2(text) {
if (text === "") return "";
const defs = getDefs(true);
let highlighted = "";
for (const {
type: type4,
value
} of tokenize2(text)) {
if (type4 in defs) {
highlighted += value.split(NEWLINE$1).map((str2) => defs[type4](str2)).join("\n");
} else {
highlighted += value;
}
}
return highlighted;
}
var deprecationWarningShown = false;
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
function getMarkerLines(loc, source, opts3, startLineBaseZero) {
const startLoc = Object.assign({
column: 0,
line: -1
}, loc.start);
const endLoc = Object.assign({}, startLoc, loc.end);
const {
linesAbove = 2,
linesBelow = 3
} = opts3 || {};
const startLine = startLoc.line - startLineBaseZero;
const startColumn = startLoc.column;
const endLine = endLoc.line - startLineBaseZero;
const endColumn = endLoc.column;
let start = Math.max(startLine - (linesAbove + 1), 0);
let end = Math.min(source.length, endLine + linesBelow);
if (startLine === -1) {
start = 0;
}
if (endLine === -1) {
end = source.length;
}
const lineDiff = endLine - startLine;
const markerLines = {};
if (lineDiff) {
for (let i4 = 0; i4 <= lineDiff; i4++) {
const lineNumber = i4 + startLine;
if (!startColumn) {
markerLines[lineNumber] = true;
} else if (i4 === 0) {
const sourceLength = source[lineNumber - 1].length;
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
} else if (i4 === lineDiff) {
markerLines[lineNumber] = [0, endColumn];
} else {
const sourceLength = source[lineNumber - i4].length;
markerLines[lineNumber] = [0, sourceLength];
}
}
} else {
if (startColumn === endColumn) {
if (startColumn) {
markerLines[startLine] = [startColumn, 0];
} else {
markerLines[startLine] = true;
}
} else {
markerLines[startLine] = [startColumn, endColumn - startColumn];
}
}
return {
start,
end,
markerLines
};
}
function codeFrameColumns2(rawLines, loc, opts3 = {}) {
const shouldHighlight = opts3.forceColor || isColorSupported() && opts3.highlightCode;
const startLineBaseZero = (opts3.startLine || 1) - 1;
const defs = getDefs(shouldHighlight);
const lines = rawLines.split(NEWLINE);
const {
start,
end,
markerLines
} = getMarkerLines(loc, lines, opts3, startLineBaseZero);
const hasColumns = loc.start && typeof loc.start.column === "number";
const numberMaxWidth = String(end + startLineBaseZero).length;
const highlightedLines = shouldHighlight ? highlight2(rawLines) : rawLines;
let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index3) => {
const number = start + 1 + index3;
const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
const gutter = ` ${paddedNumber} |`;
const hasMarker = markerLines[number];
const lastMarkerLine = !markerLines[number + 1];
if (hasMarker) {
let markerLine = "";
if (Array.isArray(hasMarker)) {
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
const numberOfMarkers = hasMarker[1] || 1;
markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
if (lastMarkerLine && opts3.message) {
markerLine += " " + defs.message(opts3.message);
}
}
return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
} else {
return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
}
}).join("\n");
if (opts3.message && !hasColumns) {
frame = `${" ".repeat(numberMaxWidth + 1)}${opts3.message}
${frame}`;
}
if (shouldHighlight) {
return defs.reset(frame);
} else {
return frame;
}
}
function index2(rawLines, lineNumber, colNumber, opts3 = {}) {
if (!deprecationWarningShown) {
deprecationWarningShown = true;
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
if (process.emitWarning) {
process.emitWarning(message, "DeprecationWarning");
} else {
const deprecationError = new Error(message);
deprecationError.name = "DeprecationWarning";
console.warn(new Error(message));
}
}
colNumber = Math.max(colNumber, 0);
const location = {
start: {
column: colNumber,
line: lineNumber
}
};
return codeFrameColumns2(rawLines, location, opts3);
}
exports2.codeFrameColumns = codeFrameColumns2;
exports2.default = index2;
exports2.highlight = highlight2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/index-to-position/1.2.0/c5dd84ab9ac19a3271490cba3a89462ecf752d60fbd1fc507dd34b9940da911c/node_modules/index-to-position/index.js
function getPosition(text, textIndex, options) {
const lineBreakBefore = textIndex === 0 ? -1 : text.lastIndexOf("\n", textIndex - 1);
const [lineOffset, columnOffset] = getOffsets(options);
return {
line: lineBreakBefore === -1 ? lineOffset : text.slice(0, lineBreakBefore + 1).match(/\n/g).length + lineOffset,
column: textIndex - lineBreakBefore - 1 + columnOffset
};
}
function indexToPosition(text, textIndex, options) {
if (typeof text !== "string") {
throw new TypeError("Text parameter should be a string");
}
if (!Number.isInteger(textIndex)) {
throw new TypeError("Index parameter should be an integer");
}
if (textIndex < 0 || textIndex > text.length) {
throw new RangeError("Index out of bounds");
}
return getPosition(text, textIndex, options);
}
var getOffsets;
var init_index_to_position = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/index-to-position/1.2.0/c5dd84ab9ac19a3271490cba3a89462ecf752d60fbd1fc507dd34b9940da911c/node_modules/index-to-position/index.js"() {
getOffsets = ({
oneBased,
oneBasedLine = oneBased,
oneBasedColumn = oneBased
} = {}) => [oneBasedLine ? 1 : 0, oneBasedColumn ? 1 : 0];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-json/8.3.0/3014bad20dbe1491c02be7a2d772f178763ab8b89549661c57bc31c8ad22dfe6/node_modules/parse-json/index.js
function parseJson(string, reviver, fileName) {
if (typeof reviver === "string") {
fileName = reviver;
reviver = void 0;
}
try {
return JSON.parse(string, reviver);
} catch (error) {
throw new JSONError({
jsonParseError: error,
fileName,
input: string
});
}
}
var import_code_frame, getCodePoint, JSONError, getErrorLocation, addCodePointToUnexpectedToken;
var init_parse_json = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-json/8.3.0/3014bad20dbe1491c02be7a2d772f178763ab8b89549661c57bc31c8ad22dfe6/node_modules/parse-json/index.js"() {
import_code_frame = __toESM(require_lib12(), 1);
init_index_to_position();
getCodePoint = (character) => `\\u{${character.codePointAt(0).toString(16)}}`;
JSONError = class _JSONError extends Error {
name = "JSONError";
fileName;
#input;
#jsonParseError;
#message;
#codeFrame;
#rawCodeFrame;
constructor(messageOrOptions) {
if (typeof messageOrOptions === "string") {
super();
this.#message = messageOrOptions;
} else {
const { jsonParseError, fileName, input } = messageOrOptions;
super(void 0, { cause: jsonParseError });
this.#input = input;
this.#jsonParseError = jsonParseError;
this.fileName = fileName;
}
Error.captureStackTrace?.(this, _JSONError);
}
get message() {
this.#message ??= `${addCodePointToUnexpectedToken(this.#jsonParseError.message)}${this.#input === "" ? " while parsing empty string" : ""}`;
const { codeFrame } = this;
return `${this.#message}${this.fileName ? ` in ${this.fileName}` : ""}${codeFrame ? `
${codeFrame}
` : ""}`;
}
set message(message) {
this.#message = message;
}
#getCodeFrame(highlightCode) {
if (!this.#jsonParseError) {
return;
}
const input = this.#input;
const location = getErrorLocation(input, this.#jsonParseError.message);
if (!location) {
return;
}
return (0, import_code_frame.codeFrameColumns)(input, { start: location }, { highlightCode });
}
get codeFrame() {
this.#codeFrame ??= this.#getCodeFrame(
/* highlightCode */
true
);
return this.#codeFrame;
}
get rawCodeFrame() {
this.#rawCodeFrame ??= this.#getCodeFrame(
/* highlightCode */
false
);
return this.#rawCodeFrame;
}
};
getErrorLocation = (string, message) => {
const match = message.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/);
if (!match) {
return;
}
const { index: index2, line, column } = match.groups;
if (line && column) {
return { line: Number(line), column: Number(column) };
}
return indexToPosition(string, Number(index2), { oneBased: true });
};
addCodePointToUnexpectedToken = (message) => message.replace(
// TODO[engine:node@>=20]: The token always quoted after Node.js 20
/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,
(_, _quote2, token) => `"${token}"(${getCodePoint(token)})`
);
}
});
// ../workspace/project-manifest-reader/lib/readFile.js
async function readJson5File(filePath) {
const text = await readFileWithoutBom(filePath);
try {
return {
data: import_json52.default.parse(text),
text
};
} catch (err2) {
err2.message = `${err2.message} in ${filePath}`;
err2["code"] = "ERR_PNPM_JSON5_PARSE";
throw err2;
}
}
async function readJsonFile(filePath) {
const text = await readFileWithoutBom(filePath);
try {
return {
data: parseJson(text, filePath),
text
};
} catch (err2) {
err2["code"] = "ERR_PNPM_JSON_PARSE";
throw err2;
}
}
async function readFileWithoutBom(path236) {
return stripBom(await lib_default.readFile(path236, "utf8"));
}
var import_json52;
var init_readFile = __esm({
"../workspace/project-manifest-reader/lib/readFile.js"() {
"use strict";
init_lib14();
import_json52 = __toESM(require_lib9(), 1);
init_parse_json();
init_strip_bom();
}
});
// ../workspace/project-manifest-reader/lib/index.js
import { promises as fs7 } from "node:fs";
import path13 from "node:path";
async function safeReadProjectManifestOnly(projectDir) {
return limitProjectManifestReads(async () => {
try {
return await readProjectManifestOnly(projectDir);
} catch (err2) {
if (err2.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") {
return null;
}
throw err2;
}
});
}
async function readProjectManifest(projectDir) {
const result2 = await tryReadProjectManifest(projectDir);
if (result2.manifest !== null) {
return result2;
}
throw new PnpmError("NO_IMPORTER_MANIFEST_FOUND", `No package.json (or package.yaml, or package.json5) was found in "${projectDir}".`);
}
async function readProjectManifestOnly(projectDir) {
const { manifest } = await readProjectManifest(projectDir);
return manifest;
}
async function tryReadProjectManifest(projectDir) {
try {
const manifestPath = path13.join(projectDir, "package.json");
const { data, text } = await readJsonFile(manifestPath);
return {
fileName: "package.json",
manifest: convertManifestAfterRead(data),
writeProjectManifest: createManifestWriter({
...detectFileFormatting(text),
initialManifest: data,
manifestPath
})
};
} catch (err2) {
if (err2.code !== "ENOENT")
throw err2;
}
try {
const manifestPath = path13.join(projectDir, "package.json5");
const { data, text } = await readJson5File(manifestPath);
return {
fileName: "package.json5",
manifest: convertManifestAfterRead(data),
writeProjectManifest: createManifestWriter({
...detectFileFormattingAndComments(text),
initialManifest: data,
manifestPath
})
};
} catch (err2) {
if (err2.code !== "ENOENT")
throw err2;
}
try {
const manifestPath = path13.join(projectDir, "package.yaml");
const manifest = await readPackageYaml(manifestPath);
return {
fileName: "package.yaml",
manifest: convertManifestAfterRead(manifest),
writeProjectManifest: createManifestWriter({ initialManifest: manifest, manifestPath })
};
} catch (err2) {
if (err2.code !== "ENOENT")
throw err2;
}
if ((0, import_is_windows4.default)()) {
let s;
try {
s = await fs7.stat(projectDir);
} catch (err2) {
}
if (s != null && !s.isDirectory()) {
const err2 = new Error(`"${projectDir}" is not a directory`);
err2["code"] = "ENOTDIR";
throw err2;
}
}
const filePath = path13.join(projectDir, "package.json");
return {
fileName: "package.json",
manifest: null,
writeProjectManifest: async (manifest) => writeProjectManifest(filePath, manifest)
};
}
function detectFileFormattingAndComments(text) {
const { comments, text: newText, hasFinalNewline } = extractComments(text);
return {
comments,
indent: detectIndent(newText).indent,
insertFinalNewline: hasFinalNewline
};
}
function detectFileFormatting(text) {
return {
indent: detectIndent(text).indent,
insertFinalNewline: text.endsWith("\n")
};
}
async function readExactProjectManifest(manifestPath) {
const base = path13.basename(manifestPath).toLowerCase();
switch (base) {
case "package.json": {
const { data, text } = await readJsonFile(manifestPath);
return {
manifest: convertManifestAfterRead(data),
writeProjectManifest: createManifestWriter({
...detectFileFormatting(text),
initialManifest: data,
manifestPath
})
};
}
case "package.json5": {
const { data, text } = await readJson5File(manifestPath);
return {
manifest: convertManifestAfterRead(data),
writeProjectManifest: createManifestWriter({
...detectFileFormattingAndComments(text),
initialManifest: data,
manifestPath
})
};
}
case "package.yaml": {
const manifest = await readPackageYaml(manifestPath);
return {
manifest: convertManifestAfterRead(manifest),
writeProjectManifest: createManifestWriter({ initialManifest: manifest, manifestPath })
};
}
}
throw new Error(`Not supported manifest name "${base}"`);
}
async function readPackageYaml(filePath) {
try {
return await readYamlFile(filePath);
} catch (err2) {
if (err2.name !== "YAMLException")
throw err2;
err2.message = `${err2.message}
in ${filePath}`;
err2.code = "ERR_PNPM_YAML_PARSE";
throw err2;
}
}
function createManifestWriter(opts3) {
let initialManifest = normalize2(opts3.initialManifest);
return async (updatedManifest, force) => {
updatedManifest = convertManifestBeforeWrite(normalize2(updatedManifest));
if (force === true || !(0, import_fast_deep_equal.default)(initialManifest, updatedManifest)) {
await writeProjectManifest(opts3.manifestPath, updatedManifest, {
comments: opts3.comments,
indent: opts3.indent,
insertFinalNewline: opts3.insertFinalNewline
});
initialManifest = normalize2(updatedManifest);
return Promise.resolve(void 0);
}
return Promise.resolve(void 0);
};
}
function convertManifestAfterRead(manifest) {
convertEnginesRuntimeToDependencies(manifest, "devEngines", "devDependencies");
convertEnginesRuntimeToDependencies(manifest, "engines", "dependencies");
return manifest;
}
function convertManifestBeforeWrite(manifest) {
convertDependenciesToEnginesRuntime(manifest, "devDependencies", "devEngines");
convertDependenciesToEnginesRuntime(manifest, "dependencies", "engines");
return manifest;
}
function convertDependenciesToEnginesRuntime(manifest, dependenciesFieldName, enginesFieldName) {
const dependencies = readDependenciesField(manifest, dependenciesFieldName);
for (const runtimeName of ["node", "deno", "bun"]) {
const dep = dependencies?.[runtimeName];
if (dependencies != null && typeof dep === "string" && dep.startsWith("runtime:")) {
const version2 = dep.slice("runtime:".length).trim();
manifest[enginesFieldName] ??= {};
const runtimeEntry = {
name: runtimeName,
version: version2,
onFail: "download"
};
const enginesField = manifest[enginesFieldName];
if (!enginesField.runtime) {
enginesField.runtime = runtimeEntry;
} else if (Array.isArray(enginesField.runtime)) {
const existing = enginesField.runtime.find(({ name }) => name === runtimeName);
if (existing) {
Object.assign(existing, runtimeEntry);
} else {
enginesField.runtime.push(runtimeEntry);
}
} else if (enginesField.runtime.name === runtimeName) {
Object.assign(enginesField.runtime, runtimeEntry);
} else {
enginesField.runtime = [
enginesField.runtime,
runtimeEntry
];
}
delete dependencies[runtimeName];
} else {
removeManagedRuntimeEntry(manifest[enginesFieldName], runtimeName);
}
}
}
function readDependenciesField(manifest, dependenciesFieldName) {
const dependencies = manifest[dependenciesFieldName];
if (dependencies === void 0)
return void 0;
if (dependencies === null || typeof dependencies !== "object" || Array.isArray(dependencies)) {
throw new PnpmError("INVALID_DEPENDENCIES_FIELD", `The "${dependenciesFieldName}" field must be an object.`);
}
return dependencies;
}
function removeManagedRuntimeEntry(enginesField, runtimeName) {
if (!enginesField?.runtime)
return;
if (Array.isArray(enginesField.runtime)) {
const runtimes = enginesField.runtime.filter((runtime) => !isManagedRuntimeEntry(runtime, runtimeName));
if (runtimes.length === 0) {
delete enginesField.runtime;
} else {
enginesField.runtime = runtimes;
}
} else if (isManagedRuntimeEntry(enginesField.runtime, runtimeName)) {
delete enginesField.runtime;
}
}
function isManagedRuntimeEntry(runtime, runtimeName) {
return runtime.name === runtimeName && runtime.onFail === "download" && typeof runtime.version === "string";
}
function normalize2(manifest) {
const result2 = {};
for (const key in manifest) {
if (Object.hasOwn(manifest, key)) {
const value = manifest[key];
if (typeof value !== "object" || value === null || !dependencyKeys.has(key) || Array.isArray(value)) {
result2[key] = structuredClone(value);
} else {
const keys4 = Object.keys(value);
if (keys4.length !== 0) {
keys4.sort();
const sortedValue = {};
for (const k2 of keys4) {
sortedValue[k2] = value[k2];
}
result2[key] = sortedValue;
}
}
}
}
return result2;
}
var import_fast_deep_equal, import_is_windows4, limitProjectManifestReads, dependencyKeys;
var init_lib15 = __esm({
"../workspace/project-manifest-reader/lib/index.js"() {
"use strict";
init_lib2();
init_lib11();
init_lib12();
init_lib13();
init_detect_indent();
import_fast_deep_equal = __toESM(require_fast_deep_equal(), 1);
import_is_windows4 = __toESM(require_is_windows(), 1);
init_p_limit();
init_read_yaml_file();
init_readFile();
limitProjectManifestReads = pLimit(4);
dependencyKeys = /* @__PURE__ */ new Set([
"dependencies",
"devDependencies",
"optionalDependencies",
"peerDependencies"
]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cmd-extension/1.0.2/d4e95e91e23d5ee84d5767c67145583dee351ce7379d1a67bfa94dd4ea2f593c/node_modules/cmd-extension/index.js
var require_cmd_extension = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cmd-extension/1.0.2/d4e95e91e23d5ee84d5767c67145583dee351ce7379d1a67bfa94dd4ea2f593c/node_modules/cmd-extension/index.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var cmdExtension2;
if (process.env.PATHEXT) {
cmdExtension2 = process.env.PATHEXT.split(path236.delimiter).find((ext) => ext.toUpperCase() === ".CMD");
}
module2.exports = cmdExtension2 || ".cmd";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/cmd-shim/9.0.6/a6e5be07669e7815d21d9b9a9cb0240e731666984b908ff4ce7635a7e4b85e3a/node_modules/@zkochan/cmd-shim/index.js
import path14 from "node:path";
import { promisify as promisify2 } from "node:util";
function ingestOptions(opts3) {
const opts_ = { ...DEFAULT_OPTIONS, ...opts3 };
opts_.fs_ = opts_.fs ? opts_.fs.promises : gfsPromises;
return opts_;
}
async function cmdShim(src2, to, opts3) {
const opts_ = ingestOptions(opts3);
await cmdShim_(src2, to, opts_);
}
function isShimPointingAt(shimContent, src2) {
return shimContent.includes(`# ${shimTarget(src2)}
`);
}
function rm(path236, opts3) {
return opts3.fs_.unlink(path236).catch(() => {
});
}
async function cmdShim_(src2, to, opts3) {
const srcRuntimeInfo = await searchScriptRuntime(src2, opts3);
await writeShimsPreCommon(to, opts3);
return writeAllShims(src2, to, srcRuntimeInfo, opts3);
}
function writeShimsPreCommon(target2, opts3) {
return opts3.fs_.mkdir(path14.dirname(target2), { recursive: true });
}
function writeAllShims(src2, to, srcRuntimeInfo, opts3) {
const opts_ = ingestOptions(opts3);
const generatorAndExts = [{ generator: generateShShim, extension: "" }];
if (opts_.createCmdFile) {
generatorAndExts.push({ generator: generateCmdShim, extension: import_cmd_extension.default });
}
if (opts_.createPwshFile) {
generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" });
}
return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src2, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_)));
}
function writeShimPre(target2, opts3) {
return rm(target2, opts3);
}
function writeShimPost(target2, opts3) {
return chmodShim(target2, opts3);
}
async function searchScriptRuntime(target2, opts3) {
try {
const data = await opts3.fs_.readFile(target2, "utf8");
const firstLine = data.trim().split(/\r*\n/)[0];
const shebang = firstLine.match(shebangExpr);
if (!shebang) {
const targetExtension = path14.extname(target2).toLowerCase();
const program = extensionToProgramMap.get(targetExtension) || null;
const additionalArgs = program === "cmd" ? "/C" : "";
return {
program,
additionalArgs
};
}
return {
program: shebang[1],
additionalArgs: shebang[2]
};
} catch (err2) {
if (!isWindows5 || err2.code !== "ENOENT")
throw err2;
if (await opts3.fs_.stat(`${target2}${getExeExtension()}`)) {
return {
program: null,
additionalArgs: ""
};
}
throw err2;
}
}
function getExeExtension() {
let cmdExtension2;
if (process.env.PATHEXT) {
cmdExtension2 = process.env.PATHEXT.split(path14.delimiter).find((ext) => ext.toLowerCase() === ".exe");
}
return cmdExtension2 || ".exe";
}
function escapeMsysCmdSwitches(args) {
return args.replace(/(^|\s)\/([CcKk])(\s|$)/g, "$1//$2$3");
}
async function writeShim(src2, to, srcRuntimeInfo, generateShimScript, opts3) {
const defaultArgs = opts3.preserveSymlinks ? "--preserve-symlinks" : "";
const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" ");
opts3 = Object.assign({}, opts3, {
prog: srcRuntimeInfo.program,
args
});
await writeShimPre(to, opts3);
await opts3.fs_.writeFile(to, generateShimScript(src2, to, opts3), "utf8");
return writeShimPost(to, opts3);
}
function generateCmdShim(src2, to, opts3) {
const shTarget = path14.relative(path14.dirname(to), src2);
let target2 = shTarget.split("/").join("\\");
const quotedPathToTarget = path14.isAbsolute(target2) ? `"${target2}"` : `"%~dp0\\${target2}"`;
let longProg;
let prog = opts3.prog;
let args = opts3.args || "";
const nodePath = normalizePathEnvVar(opts3.nodePath).win32;
const prependToPath = normalizePathEnvVar(opts3.prependToPath).win32;
if (!prog) {
prog = quotedPathToTarget;
args = "";
target2 = "";
} else if (prog === "node" && opts3.nodeExecPath) {
prog = `"${opts3.nodeExecPath}"`;
target2 = quotedPathToTarget;
} else {
longProg = `"%~dp0\\${prog}.exe"`;
target2 = quotedPathToTarget;
}
let progArgs = opts3.progArgs ? `${opts3.progArgs.join(` `)} ` : "";
let cmd = "@SETLOCAL\r\n";
if (prependToPath) {
cmd += `@SET "PATH=${prependToPath}:%PATH%"\r
`;
}
if (nodePath) {
cmd += `@IF NOT DEFINED NODE_PATH (\r
@SET "NODE_PATH=${nodePath}"\r
) ELSE (\r
@SET "NODE_PATH=${nodePath};%NODE_PATH%"\r
)\r
`;
}
if (longProg) {
cmd += `@IF EXIST ${longProg} (\r
${longProg} ${args} ${target2} ${progArgs}%*\r
) ELSE (\r
@SET PATHEXT=%PATHEXT:;.JS;=;%\r
${prog} ${args} ${target2} ${progArgs}%*\r
)\r
`;
} else {
cmd += `@${prog} ${args} ${target2} ${progArgs}%*\r
`;
}
return cmd;
}
function generateShShim(src2, to, opts3) {
let shTarget = path14.relative(path14.dirname(to), src2);
let shProg = opts3.prog && opts3.prog.split("\\").join("/");
let shLongProg;
let shLongProgExe = "";
let shProgExe = "";
let shProgHasExe = false;
shTarget = shTarget.split("\\").join("/");
const quotedPathToTarget = path14.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
const quotedPathToTarget_win = path14.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir_win/${shTarget}"`;
let shTarget_win = "";
let args = opts3.args || "";
const isCmdRuntime = opts3.prog === "cmd" || opts3.prog === "cmd.exe";
const shNodePath = normalizePathEnvVar(opts3.nodePath).posix;
if (!shProg) {
shProg = quotedPathToTarget;
args = "";
shTarget = "";
} else if (opts3.prog === "node" && opts3.nodeExecPath) {
shProg = `"${opts3.nodeExecPath}"`;
shTarget = /\.exe$/.test(opts3.nodeExecPath) ? quotedPathToTarget_win : quotedPathToTarget;
} else {
shProgHasExe = /\.exe$/i.test(shProg);
shProgExe = shProgHasExe ? shProg : `${shProg}.exe`;
shLongProg = `"$basedir/${shProg}"`;
shLongProgExe = `"$basedir/${shProgExe}"`;
shTarget = quotedPathToTarget;
shTarget_win = quotedPathToTarget_win;
}
let progArgs = opts3.progArgs ? `${opts3.progArgs.join(` `)} ` : "";
let sh = `#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
basedir_win="$basedir"
exe=""
msys=""
case \`uname -a\` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir_win=\`cygpath -w "$basedir"\`
fi
exe=".exe"
msys="true"
;;
*WSL2*)
if command -v wslpath > /dev/null 2>&1; then
basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
basedir_win="$basedir"
else
exe=".exe"
fi
fi
;;
esac
`;
if (opts3.prependToPath) {
sh += `export PATH="${opts3.prependToPath}:$PATH"
`;
}
if (shNodePath) {
sh += `if [ -z "$NODE_PATH" ]; then
export NODE_PATH="${shNodePath}"
else
export NODE_PATH="${shNodePath}:$NODE_PATH"
fi
`;
}
const generateExecBlock = (execArgs) => {
if (shLongProg) {
if (shProgHasExe) {
return `if [ -x ${shLongProgExe} ]; then
exec ${shLongProgExe} ${execArgs} ${shTarget_win} ${progArgs}"$@"
else
exec ${shProgExe} ${execArgs} ${shTarget_win} ${progArgs}"$@"
fi
`;
} else {
return `if [ -n "$exe" ] && [ -x ${shLongProgExe} ]; then
exec ${shLongProgExe} ${execArgs} ${shTarget_win} ${progArgs}"$@"
elif [ -x ${shLongProg} ]; then
exec ${shLongProg} ${execArgs} ${shTarget} ${progArgs}"$@"
elif command -v ${shProg} >/dev/null 2>&1; then
exec ${shProg} ${execArgs} ${shTarget} ${progArgs}"$@"
elif [ -n "$exe" ] && command -v ${shProgExe} >/dev/null 2>&1; then
exec ${shProgExe} ${execArgs} ${shTarget_win} ${progArgs}"$@"
else
exec ${shProg} ${execArgs} ${shTarget} ${progArgs}"$@"
fi
`;
}
} else {
return `exec ${shProg} ${execArgs} ${shTarget} ${progArgs}"$@"
exit $?
`;
}
};
const msysArgs = isCmdRuntime ? escapeMsysCmdSwitches(args) : args;
if (msysArgs !== args) {
sh += `if [ -n "$msys" ]; then
${indentShellBlock(generateExecBlock(msysArgs))}
else
${indentShellBlock(generateExecBlock(args))}
fi
`;
} else {
sh += generateExecBlock(args);
}
sh += `# ${shimTarget(src2)}
`;
return sh;
}
function indentShellBlock(script) {
return script.split("\n").map((line) => line ? ` ${line}` : line).join("\n");
}
function generatePwshShim(src2, to, opts3) {
let shTarget = path14.relative(path14.dirname(to), src2);
const shProg = opts3.prog && opts3.prog.split("\\").join("/");
let pwshProg = shProg && `"${shProg}$exe"`;
let pwshLongProg;
shTarget = shTarget.split("\\").join("/");
const quotedPathToTarget = path14.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
let args = opts3.args || "";
let normalizedNodePathEnvVar = normalizePathEnvVar(opts3.nodePath);
const nodePath = normalizedNodePathEnvVar.win32;
const shNodePath = normalizedNodePathEnvVar.posix;
let normalizedPrependPathEnvVar = normalizePathEnvVar(opts3.prependToPath);
const prependPath = normalizedPrependPathEnvVar.win32;
const shPrependPath = normalizedPrependPathEnvVar.posix;
if (!pwshProg) {
pwshProg = quotedPathToTarget;
args = "";
shTarget = "";
} else if (opts3.prog === "node" && opts3.nodeExecPath) {
pwshProg = `"${opts3.nodeExecPath}"`;
shTarget = quotedPathToTarget;
} else {
pwshLongProg = `"$basedir/${opts3.prog}$exe"`;
shTarget = quotedPathToTarget;
}
let progArgs = opts3.progArgs ? `${opts3.progArgs.join(` `)} ` : "";
let pwsh = `#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH
$new_node_path="${nodePath}"
` : ""}${prependPath ? `$env_path=$env:PATH
$prepend_path="${prependPath}"
` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`;
if (shNodePath || shPrependPath) {
pwsh += ` else {
${shNodePath ? ` $new_node_path="${shNodePath}"
` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}"
` : ""}}
`;
}
if (shNodePath) {
pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
} else {
$env:NODE_PATH="$new_node_path$pathsep$env_node_path"
}
`;
}
if (opts3.prependToPath) {
pwsh += `
$env:PATH="$prepend_path$pathsep$env:PATH"
`;
}
if (pwshLongProg) {
pwsh += `
$ret=0
if (Test-Path ${pwshLongProg}) {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshProg} ${args} ${shTarget} ${progArgs}$args
}
$ret=$LASTEXITCODE
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret
`;
} else {
pwsh += `
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshProg} ${args} ${shTarget} ${progArgs}$args
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE
`;
}
return pwsh;
}
function chmodShim(to, opts3) {
return opts3.fs_.chmod(to, 493);
}
function normalizePathEnvVar(nodePath) {
if (!nodePath || !nodePath.length) {
return {
win32: "",
posix: ""
};
}
let split4 = typeof nodePath === "string" ? nodePath.split(path14.delimiter) : Array.from(nodePath);
let result2 = {};
for (let i4 = 0; i4 < split4.length; i4++) {
const win32 = split4[i4].split("/").join("\\");
const posix2 = isWindows5 ? split4[i4].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `${isCygwin() ? "/proc/cygdrive" : "/mnt"}/${$1.toLowerCase()}`) : split4[i4];
result2.win32 = result2.win32 ? `${result2.win32};${win32}` : win32;
result2.posix = result2.posix ? `${result2.posix}:${posix2}` : posix2;
result2[i4] = { win32, posix: posix2 };
}
return result2;
}
function shimTarget(src2) {
return `cmd-shim-target=${src2.split("\\").join("/")}`;
}
var import_graceful_fs3, import_cmd_extension, gfsPromises, isWindows5, isCygwin, shebangExpr, DEFAULT_OPTIONS, extensionToProgramMap;
var init_cmd_shim = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/cmd-shim/9.0.6/a6e5be07669e7815d21d9b9a9cb0240e731666984b908ff4ce7635a7e4b85e3a/node_modules/@zkochan/cmd-shim/index.js"() {
import_graceful_fs3 = __toESM(require_graceful_fs(), 1);
import_cmd_extension = __toESM(require_cmd_extension(), 1);
gfsPromises = {
chmod: promisify2(import_graceful_fs3.default.chmod),
mkdir: promisify2(import_graceful_fs3.default.mkdir),
readFile: promisify2(import_graceful_fs3.default.readFile),
stat: promisify2(import_graceful_fs3.default.stat),
unlink: promisify2(import_graceful_fs3.default.unlink),
writeFile: promisify2(import_graceful_fs3.default.writeFile)
};
isWindows5 = process.platform === "win32";
isCygwin = () => isWindows5 && (process.env.TERM === "CYGWIN" || process.env.MSYSTEM !== void 0);
shebangExpr = /^#!\s*(?:\/usr\/bin\/env(?:\s+-S\s*)?)?\s*([^ \t]+)(.*)$/;
DEFAULT_OPTIONS = {
// Create PowerShell file by default if the option hasn't been specified
createPwshFile: true,
createCmdFile: isWindows5
};
extensionToProgramMap = /* @__PURE__ */ new Map([
[".js", "node"],
[".cjs", "node"],
[".mjs", "node"],
[".cmd", "cmd"],
[".bat", "cmd"],
[".ps1", "pwsh"],
[".sh", "sh"]
]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/rimraf/4.0.0/e7aeecc18d1d120ecda04415cbe146a0ad1e4d158a9823e79bfdce5ee3173719/node_modules/@zkochan/rimraf/index.js
import fs8 from "node:fs";
async function rimraf(p) {
try {
await fs8.promises.rm(p, { recursive: true, force: true, maxRetries: 3 });
} catch (err2) {
if (err2.code === "ENOENT") return;
throw err2;
}
}
function rimrafSync(p) {
try {
fs8.rmSync(p, { recursive: true, force: true, maxRetries: 3 });
} catch (err2) {
if (err2.code === "ENOENT") return;
throw err2;
}
}
var init_rimraf = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/rimraf/4.0.0/e7aeecc18d1d120ecda04415cbe146a0ad1e4d158a9823e79bfdce5ee3173719/node_modules/@zkochan/rimraf/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bin-links/6.0.2/214b5bc954b4e61c6b3800d2738e2f43b82349e2ff9ae51f98467b4bc5e7aaaa/node_modules/bin-links/lib/fix-bin.js
var require_fix_bin = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bin-links/6.0.2/214b5bc954b4e61c6b3800d2738e2f43b82349e2ff9ae51f98467b4bc5e7aaaa/node_modules/bin-links/lib/fix-bin.js"(exports2, module2) {
var {
chmod,
open: open3,
readFile: readFile4
} = __require("fs/promises");
var execMode = 511 & ~process.umask();
var writeFileAtomic10 = require_lib10();
var isWindowsHashBang = (buf) => buf[0] === "#".charCodeAt(0) && buf[1] === "!".charCodeAt(0) && /^#![^\n]+\r\n/.test(buf.toString());
var isWindowsHashbangFile = (file) => {
const FALSE = () => false;
return open3(file, "r").then((fh) => {
const buf = Buffer.alloc(2048);
return fh.read(buf, 0, 2048, 0).then(
() => {
const isWHB = isWindowsHashBang(buf);
return fh.close().then(() => isWHB, () => isWHB);
},
// don't leak FD if read() fails
() => fh.close().then(FALSE, FALSE)
);
}, FALSE);
};
var dos2Unix = (file) => readFile4(file, "utf8").then((content) => writeFileAtomic10(file, content.replace(/^(#![^\n]+)\r\n/, "$1\n")));
var fixBin2 = (file, mode = execMode) => chmod(file, mode).then(() => isWindowsHashbangFile(file)).then((isWHB) => isWHB ? dos2Unix(file) : null);
module2.exports = fixBin2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-path/3.0.0/8bd6c90af63ae415509b1b410d4c5ab4687532eeedeee5db9400529260362dbf/node_modules/normalize-path/index.js
var require_normalize_path = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-path/3.0.0/8bd6c90af63ae415509b1b410d4c5ab4687532eeedeee5db9400529260362dbf/node_modules/normalize-path/index.js"(exports2, module2) {
module2.exports = function(path236, stripTrailing) {
if (typeof path236 !== "string") {
throw new TypeError("expected path to be a string");
}
if (path236 === "\\" || path236 === "/") return "/";
var len = path236.length;
if (len <= 1) return path236;
var prefix = "";
if (len > 4 && path236[3] === "\\") {
var ch = path236[2];
if ((ch === "?" || ch === ".") && path236.slice(0, 2) === "\\\\") {
path236 = path236.slice(2);
prefix = "//";
}
}
var segs = path236.split(/[/\\]+/);
if (stripTrailing !== false && segs[segs.length - 1] === "") {
segs.pop();
}
return prefix + segs.join("/");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/F.js
var init_F = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/F.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/T.js
var init_T = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/T.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/__.js
var init__ = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/__.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isPlaceholder.js
function _isPlaceholder(a2) {
return a2 != null && typeof a2 === "object" && a2["@@functional/placeholder"] === true;
}
var init_isPlaceholder = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isPlaceholder.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry1.js
function _curry1(fn) {
return function f1(a2) {
if (arguments.length === 0 || _isPlaceholder(a2)) {
return f1;
} else {
return fn.apply(this, arguments);
}
};
}
var init_curry1 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry1.js"() {
init_isPlaceholder();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry2.js
function _curry2(fn) {
return function f2(a2, b) {
switch (arguments.length) {
case 0:
return f2;
case 1:
return _isPlaceholder(a2) ? f2 : _curry1(function(_b2) {
return fn(a2, _b2);
});
default:
return _isPlaceholder(a2) && _isPlaceholder(b) ? f2 : _isPlaceholder(a2) ? _curry1(function(_a2) {
return fn(_a2, b);
}) : _isPlaceholder(b) ? _curry1(function(_b2) {
return fn(a2, _b2);
}) : fn(a2, b);
}
};
}
var init_curry2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry2.js"() {
init_curry1();
init_isPlaceholder();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/add.js
var init_add = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/add.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_concat.js
function _concat(set1, set2) {
set1 = set1 || [];
set2 = set2 || [];
var idx;
var len1 = set1.length;
var len2 = set2.length;
var result2 = [];
idx = 0;
while (idx < len1) {
result2[result2.length] = set1[idx];
idx += 1;
}
idx = 0;
while (idx < len2) {
result2[result2.length] = set2[idx];
idx += 1;
}
return result2;
}
var init_concat = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_concat.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_arity.js
function _arity(n2, fn) {
switch (n2) {
case 0:
return function() {
return fn.apply(this, arguments);
};
case 1:
return function(a0) {
return fn.apply(this, arguments);
};
case 2:
return function(a0, a1) {
return fn.apply(this, arguments);
};
case 3:
return function(a0, a1, a2) {
return fn.apply(this, arguments);
};
case 4:
return function(a0, a1, a2, a3) {
return fn.apply(this, arguments);
};
case 5:
return function(a0, a1, a2, a3, a4) {
return fn.apply(this, arguments);
};
case 6:
return function(a0, a1, a2, a3, a4, a5) {
return fn.apply(this, arguments);
};
case 7:
return function(a0, a1, a2, a3, a4, a5, a6) {
return fn.apply(this, arguments);
};
case 8:
return function(a0, a1, a2, a3, a4, a5, a6, a7) {
return fn.apply(this, arguments);
};
case 9:
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
return fn.apply(this, arguments);
};
case 10:
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
return fn.apply(this, arguments);
};
default:
throw new Error("First argument to _arity must be a non-negative integer no greater than ten");
}
}
var init_arity = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_arity.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curryN.js
function _curryN(length, received, fn) {
return function() {
var combined = [];
var argsIdx = 0;
var left = length;
var combinedIdx = 0;
while (combinedIdx < received.length || argsIdx < arguments.length) {
var result2;
if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {
result2 = received[combinedIdx];
} else {
result2 = arguments[argsIdx];
argsIdx += 1;
}
combined[combinedIdx] = result2;
if (!_isPlaceholder(result2)) {
left -= 1;
}
combinedIdx += 1;
}
return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));
};
}
var init_curryN = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curryN.js"() {
init_arity();
init_isPlaceholder();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/curryN.js
var curryN, curryN_default;
var init_curryN2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/curryN.js"() {
init_arity();
init_curry1();
init_curry2();
init_curryN();
curryN = /* @__PURE__ */ _curry2(function curryN2(length, fn) {
if (length === 1) {
return _curry1(fn);
}
return _arity(length, _curryN(length, [], fn));
});
curryN_default = curryN;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/addIndex.js
var init_addIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/addIndex.js"() {
init_concat();
init_curry1();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry3.js
function _curry3(fn) {
return function f3(a2, b, c3) {
switch (arguments.length) {
case 0:
return f3;
case 1:
return _isPlaceholder(a2) ? f3 : _curry2(function(_b2, _c) {
return fn(a2, _b2, _c);
});
case 2:
return _isPlaceholder(a2) && _isPlaceholder(b) ? f3 : _isPlaceholder(a2) ? _curry2(function(_a2, _c) {
return fn(_a2, b, _c);
}) : _isPlaceholder(b) ? _curry2(function(_b2, _c) {
return fn(a2, _b2, _c);
}) : _curry1(function(_c) {
return fn(a2, b, _c);
});
default:
return _isPlaceholder(a2) && _isPlaceholder(b) && _isPlaceholder(c3) ? f3 : _isPlaceholder(a2) && _isPlaceholder(b) ? _curry2(function(_a2, _b2) {
return fn(_a2, _b2, c3);
}) : _isPlaceholder(a2) && _isPlaceholder(c3) ? _curry2(function(_a2, _c) {
return fn(_a2, b, _c);
}) : _isPlaceholder(b) && _isPlaceholder(c3) ? _curry2(function(_b2, _c) {
return fn(a2, _b2, _c);
}) : _isPlaceholder(a2) ? _curry1(function(_a2) {
return fn(_a2, b, c3);
}) : _isPlaceholder(b) ? _curry1(function(_b2) {
return fn(a2, _b2, c3);
}) : _isPlaceholder(c3) ? _curry1(function(_c) {
return fn(a2, b, _c);
}) : fn(a2, b, c3);
}
};
}
var init_curry3 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_curry3.js"() {
init_curry1();
init_curry2();
init_isPlaceholder();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/adjust.js
var init_adjust = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/adjust.js"() {
init_concat();
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArray.js
var isArray_default;
var init_isArray = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArray.js"() {
isArray_default = Array.isArray || function _isArray(val) {
return val != null && val.length >= 0 && Object.prototype.toString.call(val) === "[object Array]";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isTransformer.js
function _isTransformer(obj) {
return obj != null && typeof obj["@@transducer/step"] === "function";
}
var init_isTransformer = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isTransformer.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dispatchable.js
function _dispatchable(methodNames, transducerCreator, fn) {
return function() {
if (arguments.length === 0) {
return fn();
}
var obj = arguments[arguments.length - 1];
if (!isArray_default(obj)) {
var idx = 0;
while (idx < methodNames.length) {
if (typeof obj[methodNames[idx]] === "function") {
return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));
}
idx += 1;
}
if (_isTransformer(obj)) {
var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));
return transducer(obj);
}
}
return fn.apply(this, arguments);
};
}
var init_dispatchable = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dispatchable.js"() {
init_isArray();
init_isTransformer();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_reduced.js
function _reduced(x3) {
return x3 && x3["@@transducer/reduced"] ? x3 : {
"@@transducer/value": x3,
"@@transducer/reduced": true
};
}
var init_reduced = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_reduced.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfBase.js
var xfBase_default;
var init_xfBase = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfBase.js"() {
xfBase_default = {
init: function() {
return this.xf["@@transducer/init"]();
},
result: function(result2) {
return this.xf["@@transducer/result"](result2);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xall.js
var init_xall = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xall.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/all.js
var init_all2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/all.js"() {
init_curry2();
init_dispatchable();
init_xall();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/max.js
var max, max_default;
var init_max = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/max.js"() {
init_curry2();
max = /* @__PURE__ */ _curry2(function max2(a2, b) {
return b > a2 ? b : a2;
});
max_default = max;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_map.js
function _map(fn, functor) {
var idx = 0;
var len = functor.length;
var result2 = Array(len);
while (idx < len) {
result2[idx] = fn(functor[idx]);
idx += 1;
}
return result2;
}
var init_map = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_map.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isString.js
function _isString(x3) {
return Object.prototype.toString.call(x3) === "[object String]";
}
var init_isString = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isString.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArrayLike.js
var _isArrayLike, isArrayLike_default;
var init_isArrayLike = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArrayLike.js"() {
init_curry1();
init_isArray();
init_isString();
_isArrayLike = /* @__PURE__ */ _curry1(function isArrayLike(x3) {
if (isArray_default(x3)) {
return true;
}
if (!x3) {
return false;
}
if (typeof x3 !== "object") {
return false;
}
if (_isString(x3)) {
return false;
}
if (x3.length === 0) {
return true;
}
if (x3.length > 0) {
return x3.hasOwnProperty(0) && x3.hasOwnProperty(x3.length - 1);
}
return false;
});
isArrayLike_default = _isArrayLike;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xwrap.js
function _xwrap(fn) {
return new XWrap(fn);
}
var XWrap;
var init_xwrap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xwrap.js"() {
XWrap = /* @__PURE__ */ (function() {
function XWrap2(fn) {
this.f = fn;
}
XWrap2.prototype["@@transducer/init"] = function() {
throw new Error("init not implemented on XWrap");
};
XWrap2.prototype["@@transducer/result"] = function(acc) {
return acc;
};
XWrap2.prototype["@@transducer/step"] = function(acc, x3) {
return this.f(acc, x3);
};
return XWrap2;
})();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/bind.js
var bind, bind_default;
var init_bind = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/bind.js"() {
init_arity();
init_curry2();
bind = /* @__PURE__ */ _curry2(function bind2(fn, thisObj) {
return _arity(fn.length, function() {
return fn.apply(thisObj, arguments);
});
});
bind_default = bind;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_reduce.js
function _arrayReduce(xf, acc, list2) {
var idx = 0;
var len = list2.length;
while (idx < len) {
acc = xf["@@transducer/step"](acc, list2[idx]);
if (acc && acc["@@transducer/reduced"]) {
acc = acc["@@transducer/value"];
break;
}
idx += 1;
}
return xf["@@transducer/result"](acc);
}
function _iterableReduce(xf, acc, iter) {
var step2 = iter.next();
while (!step2.done) {
acc = xf["@@transducer/step"](acc, step2.value);
if (acc && acc["@@transducer/reduced"]) {
acc = acc["@@transducer/value"];
break;
}
step2 = iter.next();
}
return xf["@@transducer/result"](acc);
}
function _methodReduce(xf, acc, obj, methodName) {
return xf["@@transducer/result"](obj[methodName](bind_default(xf["@@transducer/step"], xf), acc));
}
function _reduce(fn, acc, list2) {
if (typeof fn === "function") {
fn = _xwrap(fn);
}
if (isArrayLike_default(list2)) {
return _arrayReduce(fn, acc, list2);
}
if (typeof list2["fantasy-land/reduce"] === "function") {
return _methodReduce(fn, acc, list2, "fantasy-land/reduce");
}
if (list2[symIterator] != null) {
return _iterableReduce(fn, acc, list2[symIterator]());
}
if (typeof list2.next === "function") {
return _iterableReduce(fn, acc, list2);
}
if (typeof list2.reduce === "function") {
return _methodReduce(fn, acc, list2, "reduce");
}
throw new TypeError("reduce: list must be array or iterable");
}
var symIterator;
var init_reduce = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_reduce.js"() {
init_isArrayLike();
init_xwrap();
init_bind();
symIterator = typeof Symbol !== "undefined" ? Symbol.iterator : "@@iterator";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xmap.js
var XMap, _xmap, xmap_default;
var init_xmap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xmap.js"() {
init_curry2();
init_xfBase();
XMap = /* @__PURE__ */ (function() {
function XMap2(f, xf) {
this.xf = xf;
this.f = f;
}
XMap2.prototype["@@transducer/init"] = xfBase_default.init;
XMap2.prototype["@@transducer/result"] = xfBase_default.result;
XMap2.prototype["@@transducer/step"] = function(result2, input) {
return this.xf["@@transducer/step"](result2, this.f(input));
};
return XMap2;
})();
_xmap = /* @__PURE__ */ _curry2(function _xmap2(f, xf) {
return new XMap(f, xf);
});
xmap_default = _xmap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_has.js
function _has(prop3, obj) {
return Object.prototype.hasOwnProperty.call(obj, prop3);
}
var init_has = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_has.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArguments.js
var toString2, _isArguments, isArguments_default;
var init_isArguments = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isArguments.js"() {
init_has();
toString2 = Object.prototype.toString;
_isArguments = /* @__PURE__ */ (function() {
return toString2.call(arguments) === "[object Arguments]" ? function _isArguments2(x3) {
return toString2.call(x3) === "[object Arguments]";
} : function _isArguments2(x3) {
return _has("callee", x3);
};
})();
isArguments_default = _isArguments;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/keys.js
var hasEnumBug, nonEnumerableProps, hasArgsEnumBug, contains, keys, keys_default;
var init_keys = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/keys.js"() {
init_curry1();
init_has();
init_isArguments();
hasEnumBug = !/* @__PURE__ */ {
toString: null
}.propertyIsEnumerable("toString");
nonEnumerableProps = ["constructor", "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"];
hasArgsEnumBug = /* @__PURE__ */ (function() {
"use strict";
return arguments.propertyIsEnumerable("length");
})();
contains = function contains2(list2, item) {
var idx = 0;
while (idx < list2.length) {
if (list2[idx] === item) {
return true;
}
idx += 1;
}
return false;
};
keys = typeof Object.keys === "function" && !hasArgsEnumBug ? /* @__PURE__ */ _curry1(function keys2(obj) {
return Object(obj) !== obj ? [] : Object.keys(obj);
}) : /* @__PURE__ */ _curry1(function keys3(obj) {
if (Object(obj) !== obj) {
return [];
}
var prop3, nIdx;
var ks = [];
var checkArgsLength = hasArgsEnumBug && isArguments_default(obj);
for (prop3 in obj) {
if (_has(prop3, obj) && (!checkArgsLength || prop3 !== "length")) {
ks[ks.length] = prop3;
}
}
if (hasEnumBug) {
nIdx = nonEnumerableProps.length - 1;
while (nIdx >= 0) {
prop3 = nonEnumerableProps[nIdx];
if (_has(prop3, obj) && !contains(ks, prop3)) {
ks[ks.length] = prop3;
}
nIdx -= 1;
}
}
return ks;
});
keys_default = keys;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/map.js
var map2, map_default;
var init_map2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/map.js"() {
init_curry2();
init_dispatchable();
init_map();
init_reduce();
init_xmap();
init_curryN2();
init_keys();
map2 = /* @__PURE__ */ _curry2(
/* @__PURE__ */ _dispatchable(["fantasy-land/map", "map"], xmap_default, function map3(fn, functor) {
switch (Object.prototype.toString.call(functor)) {
case "[object Function]":
return curryN_default(functor.length, function() {
return fn.call(this, functor.apply(this, arguments));
});
case "[object Object]":
return _reduce(function(acc, key) {
acc[key] = fn(functor[key]);
return acc;
}, {}, keys_default(functor));
default:
return _map(fn, functor);
}
})
);
map_default = map2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isInteger.js
var isInteger_default;
var init_isInteger = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isInteger.js"() {
isInteger_default = Number.isInteger || function _isInteger(n2) {
return n2 << 0 === n2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nth.js
var nth, nth_default;
var init_nth = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nth.js"() {
init_curry2();
init_isString();
nth = /* @__PURE__ */ _curry2(function nth2(offset, list2) {
var idx = offset < 0 ? list2.length + offset : offset;
return _isString(list2) ? list2.charAt(idx) : list2[idx];
});
nth_default = nth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/prop.js
var prop, prop_default;
var init_prop = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/prop.js"() {
init_curry2();
init_isInteger();
init_nth();
prop = /* @__PURE__ */ _curry2(function prop2(p, obj) {
if (obj == null) {
return;
}
return isInteger_default(p) ? nth_default(p, obj) : obj[p];
});
prop_default = prop;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pluck.js
var pluck, pluck_default;
var init_pluck = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pluck.js"() {
init_curry2();
init_map2();
init_prop();
pluck = /* @__PURE__ */ _curry2(function pluck2(p, list2) {
return map_default(prop_default(p), list2);
});
pluck_default = pluck;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduce.js
var reduce, reduce_default;
var init_reduce2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduce.js"() {
init_curry3();
init_reduce();
reduce = /* @__PURE__ */ _curry3(_reduce);
reduce_default = reduce;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/allPass.js
var init_allPass = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/allPass.js"() {
init_curry1();
init_curryN2();
init_max();
init_pluck();
init_reduce2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/always.js
var always, always_default;
var init_always = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/always.js"() {
init_curry1();
always = /* @__PURE__ */ _curry1(function always2(val) {
return function() {
return val;
};
});
always_default = always;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/and.js
var and, and_default;
var init_and = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/and.js"() {
init_curry2();
and = /* @__PURE__ */ _curry2(function and2(a2, b) {
return a2 && b;
});
and_default = and;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xany.js
var init_xany = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xany.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/any.js
var init_any = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/any.js"() {
init_curry2();
init_dispatchable();
init_xany();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/anyPass.js
var init_anyPass = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/anyPass.js"() {
init_curry1();
init_curryN2();
init_max();
init_pluck();
init_reduce2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ap.js
var init_ap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ap.js"() {
init_concat();
init_curry2();
init_reduce();
init_map2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_aperture.js
var init_aperture = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_aperture.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xaperture.js
var init_xaperture = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xaperture.js"() {
init_concat();
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/aperture.js
var init_aperture2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/aperture.js"() {
init_aperture();
init_curry2();
init_dispatchable();
init_xaperture();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/append.js
var init_append = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/append.js"() {
init_concat();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/apply.js
var init_apply = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/apply.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/values.js
var init_values = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/values.js"() {
init_curry1();
init_keys();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/applySpec.js
var init_applySpec = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/applySpec.js"() {
init_curry1();
init_isArray();
init_apply();
init_curryN2();
init_max();
init_pluck();
init_reduce2();
init_keys();
init_values();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/applyTo.js
var init_applyTo = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/applyTo.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ascend.js
var init_ascend = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ascend.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_assoc.js
var init_assoc = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_assoc.js"() {
init_isArray();
init_isInteger();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/isNil.js
var init_isNil = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/isNil.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/assocPath.js
var init_assocPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/assocPath.js"() {
init_curry3();
init_has();
init_isInteger();
init_assoc();
init_isNil();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/assoc.js
var init_assoc2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/assoc.js"() {
init_curry3();
init_assocPath();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nAry.js
var init_nAry = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nAry.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/binary.js
var init_binary = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/binary.js"() {
init_curry1();
init_nAry();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isFunction.js
var init_isFunction = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isFunction.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/liftN.js
var init_liftN = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/liftN.js"() {
init_curry2();
init_reduce();
init_ap();
init_curryN2();
init_map2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lift.js
var init_lift = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lift.js"() {
init_curry1();
init_liftN();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/both.js
var init_both = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/both.js"() {
init_curry2();
init_isFunction();
init_and();
init_lift();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/call.js
var init_call = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/call.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_makeFlat.js
function _makeFlat(recursive2) {
return function flatt(list2) {
var value, jlen, j2;
var result2 = [];
var idx = 0;
var ilen = list2.length;
while (idx < ilen) {
if (isArrayLike_default(list2[idx])) {
value = recursive2 ? flatt(list2[idx]) : list2[idx];
j2 = 0;
jlen = value.length;
while (j2 < jlen) {
result2[result2.length] = value[j2];
j2 += 1;
}
} else {
result2[result2.length] = list2[idx];
}
idx += 1;
}
return result2;
};
}
var init_makeFlat = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_makeFlat.js"() {
init_isArrayLike();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_forceReduced.js
function _forceReduced(x3) {
return {
"@@transducer/value": x3,
"@@transducer/reduced": true
};
}
var init_forceReduced = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_forceReduced.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_flatCat.js
var preservingReduced, _flatCat, flatCat_default;
var init_flatCat = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_flatCat.js"() {
init_forceReduced();
init_isArrayLike();
init_reduce();
init_xfBase();
preservingReduced = function(xf) {
return {
"@@transducer/init": xfBase_default.init,
"@@transducer/result": function(result2) {
return xf["@@transducer/result"](result2);
},
"@@transducer/step": function(result2, input) {
var ret2 = xf["@@transducer/step"](result2, input);
return ret2["@@transducer/reduced"] ? _forceReduced(ret2) : ret2;
}
};
};
_flatCat = function _xcat(xf) {
var rxf = preservingReduced(xf);
return {
"@@transducer/init": xfBase_default.init,
"@@transducer/result": function(result2) {
return rxf["@@transducer/result"](result2);
},
"@@transducer/step": function(result2, input) {
return !isArrayLike_default(input) ? _reduce(rxf, result2, [input]) : _reduce(rxf, result2, input);
}
};
};
flatCat_default = _flatCat;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xchain.js
var _xchain, xchain_default;
var init_xchain = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xchain.js"() {
init_curry2();
init_flatCat();
init_map2();
_xchain = /* @__PURE__ */ _curry2(function _xchain2(f, xf) {
return map_default(f, flatCat_default(xf));
});
xchain_default = _xchain;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/chain.js
var chain, chain_default;
var init_chain = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/chain.js"() {
init_curry2();
init_dispatchable();
init_makeFlat();
init_xchain();
init_map2();
chain = /* @__PURE__ */ _curry2(
/* @__PURE__ */ _dispatchable(["fantasy-land/chain", "chain"], xchain_default, function chain2(fn, monad) {
if (typeof monad === "function") {
return function(x3) {
return fn(monad(x3))(x3);
};
}
return _makeFlat(false)(map_default(fn, monad));
})
);
chain_default = chain;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/clamp.js
var init_clamp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/clamp.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_cloneRegExp.js
function _cloneRegExp(pattern) {
return new RegExp(pattern.source, (pattern.global ? "g" : "") + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "") + (pattern.sticky ? "y" : "") + (pattern.unicode ? "u" : ""));
}
var init_cloneRegExp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_cloneRegExp.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/type.js
var type2, type_default;
var init_type = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/type.js"() {
init_curry1();
type2 = /* @__PURE__ */ _curry1(function type3(val) {
return val === null ? "Null" : val === void 0 ? "Undefined" : Object.prototype.toString.call(val).slice(8, -1);
});
type_default = type2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_clone.js
function _clone(value, refFrom, refTo, deep) {
var copy2 = function copy3(copiedValue) {
var len = refFrom.length;
var idx = 0;
while (idx < len) {
if (value === refFrom[idx]) {
return refTo[idx];
}
idx += 1;
}
refFrom[idx] = value;
refTo[idx] = copiedValue;
for (var key in value) {
if (value.hasOwnProperty(key)) {
copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];
}
}
return copiedValue;
};
switch (type_default(value)) {
case "Object":
return copy2(Object.create(Object.getPrototypeOf(value)));
case "Array":
return copy2([]);
case "Date":
return new Date(value.valueOf());
case "RegExp":
return _cloneRegExp(value);
case "Int8Array":
case "Uint8Array":
case "Uint8ClampedArray":
case "Int16Array":
case "Uint16Array":
case "Int32Array":
case "Uint32Array":
case "Float32Array":
case "Float64Array":
case "BigInt64Array":
case "BigUint64Array":
return value.slice();
default:
return value;
}
}
var init_clone = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_clone.js"() {
init_cloneRegExp();
init_type();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/clone.js
var clone, clone_default;
var init_clone2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/clone.js"() {
init_clone();
init_curry1();
clone = /* @__PURE__ */ _curry1(function clone2(value) {
return value != null && typeof value.clone === "function" ? value.clone() : _clone(value, [], [], true);
});
clone_default = clone;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/collectBy.js
var init_collectBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/collectBy.js"() {
init_curry2();
init_reduce();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/comparator.js
var init_comparator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/comparator.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/not.js
var init_not = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/not.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/complement.js
var init_complement = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/complement.js"() {
init_lift();
init_not();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_pipe.js
function _pipe(f, g) {
return function() {
return g.call(this, f.apply(this, arguments));
};
}
var init_pipe = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_pipe.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_checkForMethod.js
function _checkForMethod(methodname, fn) {
return function() {
var length = arguments.length;
if (length === 0) {
return fn();
}
var obj = arguments[length - 1];
return isArray_default(obj) || typeof obj[methodname] !== "function" ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));
};
}
var init_checkForMethod = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_checkForMethod.js"() {
init_isArray();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/slice.js
var slice, slice_default;
var init_slice = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/slice.js"() {
init_checkForMethod();
init_curry3();
slice = /* @__PURE__ */ _curry3(
/* @__PURE__ */ _checkForMethod("slice", function slice2(fromIndex, toIndex, list2) {
return Array.prototype.slice.call(list2, fromIndex, toIndex);
})
);
slice_default = slice;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tail.js
var tail, tail_default;
var init_tail = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tail.js"() {
init_checkForMethod();
init_curry1();
init_slice();
tail = /* @__PURE__ */ _curry1(
/* @__PURE__ */ _checkForMethod(
"tail",
/* @__PURE__ */ slice_default(1, Infinity)
)
);
tail_default = tail;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pipe.js
function pipe() {
if (arguments.length === 0) {
throw new Error("pipe requires at least one argument");
}
return _arity(arguments[0].length, reduce_default(_pipe, arguments[0], tail_default(arguments)));
}
var init_pipe2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pipe.js"() {
init_arity();
init_pipe();
init_reduce2();
init_tail();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reverse.js
var reverse, reverse_default;
var init_reverse = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reverse.js"() {
init_curry1();
init_isString();
reverse = /* @__PURE__ */ _curry1(function reverse2(list2) {
return _isString(list2) ? list2.split("").reverse().join("") : Array.prototype.slice.call(list2, 0).reverse();
});
reverse_default = reverse;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/compose.js
function compose() {
if (arguments.length === 0) {
throw new Error("compose requires at least one argument");
}
return pipe.apply(this, reverse_default(arguments));
}
var init_compose = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/compose.js"() {
init_pipe2();
init_reverse();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/head.js
var head, head_default;
var init_head = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/head.js"() {
init_nth();
head = /* @__PURE__ */ nth_default(0);
head_default = head;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_identity.js
function _identity(x3) {
return x3;
}
var init_identity = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_identity.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/identity.js
var identity, identity_default;
var init_identity2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/identity.js"() {
init_curry1();
init_identity();
identity = /* @__PURE__ */ _curry1(_identity);
identity_default = identity;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pipeWith.js
var pipeWith, pipeWith_default;
var init_pipeWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pipeWith.js"() {
init_arity();
init_curry2();
init_head();
init_reduce();
init_tail();
init_identity2();
pipeWith = /* @__PURE__ */ _curry2(function pipeWith2(xf, list2) {
if (list2.length <= 0) {
return identity_default;
}
var headList = head_default(list2);
var tailList = tail_default(list2);
return _arity(headList.length, function() {
return _reduce(function(result2, f) {
return xf.call(this, f, result2);
}, headList.apply(this, arguments), tailList);
});
});
pipeWith_default = pipeWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/composeWith.js
var init_composeWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/composeWith.js"() {
init_curry2();
init_pipeWith();
init_reverse();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_arrayFromIterator.js
function _arrayFromIterator(iter) {
var list2 = [];
var next2;
while (!(next2 = iter.next()).done) {
list2.push(next2.value);
}
return list2;
}
var init_arrayFromIterator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_arrayFromIterator.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_includesWith.js
function _includesWith(pred, x3, list2) {
var idx = 0;
var len = list2.length;
while (idx < len) {
if (pred(x3, list2[idx])) {
return true;
}
idx += 1;
}
return false;
}
var init_includesWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_includesWith.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_functionName.js
function _functionName(f) {
var match = String(f).match(/^function (\w*)/);
return match == null ? "" : match[1];
}
var init_functionName = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_functionName.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_objectIs.js
function _objectIs(a2, b) {
if (a2 === b) {
return a2 !== 0 || 1 / a2 === 1 / b;
} else {
return a2 !== a2 && b !== b;
}
}
var objectIs_default;
var init_objectIs = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_objectIs.js"() {
objectIs_default = typeof Object.is === "function" ? Object.is : _objectIs;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_equals.js
function _uniqContentEquals(aIterator, bIterator, stackA, stackB) {
var a2 = _arrayFromIterator(aIterator);
var b = _arrayFromIterator(bIterator);
function eq(_a2, _b2) {
return _equals(_a2, _b2, stackA.slice(), stackB.slice());
}
return !_includesWith(function(b2, aItem) {
return !_includesWith(eq, aItem, b2);
}, b, a2);
}
function _equals(a2, b, stackA, stackB) {
if (objectIs_default(a2, b)) {
return true;
}
var typeA = type_default(a2);
if (typeA !== type_default(b)) {
return false;
}
if (typeof a2["fantasy-land/equals"] === "function" || typeof b["fantasy-land/equals"] === "function") {
return typeof a2["fantasy-land/equals"] === "function" && a2["fantasy-land/equals"](b) && typeof b["fantasy-land/equals"] === "function" && b["fantasy-land/equals"](a2);
}
if (typeof a2.equals === "function" || typeof b.equals === "function") {
return typeof a2.equals === "function" && a2.equals(b) && typeof b.equals === "function" && b.equals(a2);
}
switch (typeA) {
case "Arguments":
case "Array":
case "Object":
if (typeof a2.constructor === "function" && _functionName(a2.constructor) === "Promise") {
return a2 === b;
}
break;
case "Boolean":
case "Number":
case "String":
if (!(typeof a2 === typeof b && objectIs_default(a2.valueOf(), b.valueOf()))) {
return false;
}
break;
case "Date":
if (!objectIs_default(a2.valueOf(), b.valueOf())) {
return false;
}
break;
case "Error":
return a2.name === b.name && a2.message === b.message;
case "RegExp":
if (!(a2.source === b.source && a2.global === b.global && a2.ignoreCase === b.ignoreCase && a2.multiline === b.multiline && a2.sticky === b.sticky && a2.unicode === b.unicode)) {
return false;
}
break;
}
var idx = stackA.length - 1;
while (idx >= 0) {
if (stackA[idx] === a2) {
return stackB[idx] === b;
}
idx -= 1;
}
switch (typeA) {
case "Map":
if (a2.size !== b.size) {
return false;
}
return _uniqContentEquals(a2.entries(), b.entries(), stackA.concat([a2]), stackB.concat([b]));
case "Set":
if (a2.size !== b.size) {
return false;
}
return _uniqContentEquals(a2.values(), b.values(), stackA.concat([a2]), stackB.concat([b]));
case "Arguments":
case "Array":
case "Object":
case "Boolean":
case "Number":
case "String":
case "Date":
case "Error":
case "RegExp":
case "Int8Array":
case "Uint8Array":
case "Uint8ClampedArray":
case "Int16Array":
case "Uint16Array":
case "Int32Array":
case "Uint32Array":
case "Float32Array":
case "Float64Array":
case "ArrayBuffer":
break;
default:
return false;
}
var keysA = keys_default(a2);
if (keysA.length !== keys_default(b).length) {
return false;
}
var extendedStackA = stackA.concat([a2]);
var extendedStackB = stackB.concat([b]);
idx = keysA.length - 1;
while (idx >= 0) {
var key = keysA[idx];
if (!(_has(key, b) && _equals(b[key], a2[key], extendedStackA, extendedStackB))) {
return false;
}
idx -= 1;
}
return true;
}
var init_equals = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_equals.js"() {
init_arrayFromIterator();
init_includesWith();
init_functionName();
init_has();
init_objectIs();
init_keys();
init_type();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/equals.js
var equals, equals_default;
var init_equals2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/equals.js"() {
init_curry2();
init_equals();
equals = /* @__PURE__ */ _curry2(function equals2(a2, b) {
return _equals(a2, b, [], []);
});
equals_default = equals;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_indexOf.js
function _indexOf(list2, a2, idx) {
var inf, item;
if (typeof list2.indexOf === "function") {
switch (typeof a2) {
case "number":
if (a2 === 0) {
inf = 1 / a2;
while (idx < list2.length) {
item = list2[idx];
if (item === 0 && 1 / item === inf) {
return idx;
}
idx += 1;
}
return -1;
} else if (a2 !== a2) {
while (idx < list2.length) {
item = list2[idx];
if (typeof item === "number" && item !== item) {
return idx;
}
idx += 1;
}
return -1;
}
return list2.indexOf(a2, idx);
// all these types can utilise Set
case "string":
case "boolean":
case "function":
case "undefined":
return list2.indexOf(a2, idx);
case "object":
if (a2 === null) {
return list2.indexOf(a2, idx);
}
}
}
while (idx < list2.length) {
if (equals_default(list2[idx], a2)) {
return idx;
}
idx += 1;
}
return -1;
}
var init_indexOf = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_indexOf.js"() {
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_includes.js
function _includes(a2, list2) {
return _indexOf(list2, a2, 0) >= 0;
}
var init_includes = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_includes.js"() {
init_indexOf();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_quote.js
var init_quote = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_quote.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_toISOString.js
var pad, _toISOString;
var init_toISOString = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_toISOString.js"() {
pad = function pad2(n2) {
return (n2 < 10 ? "0" : "") + n2;
};
_toISOString = typeof Date.prototype.toISOString === "function" ? function _toISOString2(d3) {
return d3.toISOString();
} : function _toISOString3(d3) {
return d3.getUTCFullYear() + "-" + pad(d3.getUTCMonth() + 1) + "-" + pad(d3.getUTCDate()) + "T" + pad(d3.getUTCHours()) + ":" + pad(d3.getUTCMinutes()) + ":" + pad(d3.getUTCSeconds()) + "." + (d3.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_complement.js
function _complement(f) {
return function() {
return !f.apply(this, arguments);
};
}
var init_complement2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_complement.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_filter.js
function _filter(fn, list2) {
var idx = 0;
var len = list2.length;
var result2 = [];
while (idx < len) {
if (fn(list2[idx])) {
result2[result2.length] = list2[idx];
}
idx += 1;
}
return result2;
}
var init_filter = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_filter.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isObject.js
function _isObject(x3) {
return Object.prototype.toString.call(x3) === "[object Object]";
}
var init_isObject = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isObject.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfilter.js
var XFilter, _xfilter, xfilter_default;
var init_xfilter = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfilter.js"() {
init_curry2();
init_xfBase();
XFilter = /* @__PURE__ */ (function() {
function XFilter2(f, xf) {
this.xf = xf;
this.f = f;
}
XFilter2.prototype["@@transducer/init"] = xfBase_default.init;
XFilter2.prototype["@@transducer/result"] = xfBase_default.result;
XFilter2.prototype["@@transducer/step"] = function(result2, input) {
return this.f(input) ? this.xf["@@transducer/step"](result2, input) : result2;
};
return XFilter2;
})();
_xfilter = /* @__PURE__ */ _curry2(function _xfilter2(f, xf) {
return new XFilter(f, xf);
});
xfilter_default = _xfilter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/filter.js
var filter, filter_default;
var init_filter2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/filter.js"() {
init_curry2();
init_dispatchable();
init_filter();
init_isObject();
init_reduce();
init_xfilter();
init_keys();
filter = /* @__PURE__ */ _curry2(
/* @__PURE__ */ _dispatchable(["fantasy-land/filter", "filter"], xfilter_default, function(pred, filterable) {
return _isObject(filterable) ? _reduce(function(acc, key) {
if (pred(filterable[key])) {
acc[key] = filterable[key];
}
return acc;
}, {}, keys_default(filterable)) : (
// else
_filter(pred, filterable)
);
})
);
filter_default = filter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reject.js
var reject, reject_default;
var init_reject = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reject.js"() {
init_complement2();
init_curry2();
init_filter2();
reject = /* @__PURE__ */ _curry2(function reject2(pred, filterable) {
return filter_default(_complement(pred), filterable);
});
reject_default = reject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_toString.js
var init_toString = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_toString.js"() {
init_includes();
init_map();
init_quote();
init_toISOString();
init_keys();
init_reject();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toString.js
var init_toString2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toString.js"() {
init_curry1();
init_toString();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/concat.js
var init_concat2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/concat.js"() {
init_curry2();
init_isArray();
init_isFunction();
init_isString();
init_toString2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/cond.js
var init_cond = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/cond.js"() {
init_arity();
init_curry1();
init_map2();
init_max();
init_reduce2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/curry.js
var init_curry = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/curry.js"() {
init_curry1();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/constructN.js
var init_constructN = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/constructN.js"() {
init_curry2();
init_curry();
init_nAry();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/construct.js
var init_construct = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/construct.js"() {
init_curry1();
init_constructN();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/converge.js
var converge, converge_default;
var init_converge = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/converge.js"() {
init_curry2();
init_map();
init_curryN2();
init_max();
init_pluck();
init_reduce2();
converge = /* @__PURE__ */ _curry2(function converge2(after, fns) {
return curryN_default(reduce_default(max_default, 0, pluck_default("length", fns)), function() {
var args = arguments;
var context = this;
return after.apply(context, _map(function(fn) {
return fn.apply(context, args);
}, fns));
});
});
converge_default = converge;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/count.js
var init_count = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/count.js"() {
init_reduce();
init_curry();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xreduceBy.js
var XReduceBy, _xreduceBy, xreduceBy_default;
var init_xreduceBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xreduceBy.js"() {
init_curryN();
init_has();
init_xfBase();
XReduceBy = /* @__PURE__ */ (function() {
function XReduceBy2(valueFn, valueAcc, keyFn, xf) {
this.valueFn = valueFn;
this.valueAcc = valueAcc;
this.keyFn = keyFn;
this.xf = xf;
this.inputs = {};
}
XReduceBy2.prototype["@@transducer/init"] = xfBase_default.init;
XReduceBy2.prototype["@@transducer/result"] = function(result2) {
var key;
for (key in this.inputs) {
if (_has(key, this.inputs)) {
result2 = this.xf["@@transducer/step"](result2, this.inputs[key]);
if (result2["@@transducer/reduced"]) {
result2 = result2["@@transducer/value"];
break;
}
}
}
this.inputs = null;
return this.xf["@@transducer/result"](result2);
};
XReduceBy2.prototype["@@transducer/step"] = function(result2, input) {
var key = this.keyFn(input);
this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
return result2;
};
return XReduceBy2;
})();
_xreduceBy = /* @__PURE__ */ _curryN(4, [], function _xreduceBy2(valueFn, valueAcc, keyFn, xf) {
return new XReduceBy(valueFn, valueAcc, keyFn, xf);
});
xreduceBy_default = _xreduceBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceBy.js
var reduceBy, reduceBy_default;
var init_reduceBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceBy.js"() {
init_clone();
init_curryN();
init_dispatchable();
init_has();
init_reduce();
init_reduced();
init_xreduceBy();
reduceBy = /* @__PURE__ */ _curryN(
4,
[],
/* @__PURE__ */ _dispatchable([], xreduceBy_default, function reduceBy2(valueFn, valueAcc, keyFn, list2) {
return _reduce(function(acc, elt) {
var key = keyFn(elt);
var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);
if (value && value["@@transducer/reduced"]) {
return _reduced(acc);
}
acc[key] = value;
return acc;
}, {}, list2);
})
);
reduceBy_default = reduceBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/countBy.js
var init_countBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/countBy.js"() {
init_reduceBy();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dec.js
var init_dec = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dec.js"() {
init_add();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/defaultTo.js
var init_defaultTo = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/defaultTo.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/descend.js
var init_descend = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/descend.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_Set.js
function hasOrAdd(item, shouldAdd, set2) {
var type4 = typeof item;
var prevSize, newSize;
switch (type4) {
case "string":
case "number":
if (item === 0 && 1 / item === -Infinity) {
if (set2._items["-0"]) {
return true;
} else {
if (shouldAdd) {
set2._items["-0"] = true;
}
return false;
}
}
if (set2._nativeSet !== null) {
if (shouldAdd) {
prevSize = set2._nativeSet.size;
set2._nativeSet.add(item);
newSize = set2._nativeSet.size;
return newSize === prevSize;
} else {
return set2._nativeSet.has(item);
}
} else {
if (!(type4 in set2._items)) {
if (shouldAdd) {
set2._items[type4] = {};
set2._items[type4][item] = true;
}
return false;
} else if (item in set2._items[type4]) {
return true;
} else {
if (shouldAdd) {
set2._items[type4][item] = true;
}
return false;
}
}
case "boolean":
if (type4 in set2._items) {
var bIdx = item ? 1 : 0;
if (set2._items[type4][bIdx]) {
return true;
} else {
if (shouldAdd) {
set2._items[type4][bIdx] = true;
}
return false;
}
} else {
if (shouldAdd) {
set2._items[type4] = item ? [false, true] : [true, false];
}
return false;
}
case "function":
if (set2._nativeSet !== null) {
if (shouldAdd) {
prevSize = set2._nativeSet.size;
set2._nativeSet.add(item);
newSize = set2._nativeSet.size;
return newSize === prevSize;
} else {
return set2._nativeSet.has(item);
}
} else {
if (!(type4 in set2._items)) {
if (shouldAdd) {
set2._items[type4] = [item];
}
return false;
}
if (!_includes(item, set2._items[type4])) {
if (shouldAdd) {
set2._items[type4].push(item);
}
return false;
}
return true;
}
case "undefined":
if (set2._items[type4]) {
return true;
} else {
if (shouldAdd) {
set2._items[type4] = true;
}
return false;
}
case "object":
if (item === null) {
if (!set2._items["null"]) {
if (shouldAdd) {
set2._items["null"] = true;
}
return false;
}
return true;
}
/* falls through */
default:
type4 = Object.prototype.toString.call(item);
if (!(type4 in set2._items)) {
if (shouldAdd) {
set2._items[type4] = [item];
}
return false;
}
if (!_includes(item, set2._items[type4])) {
if (shouldAdd) {
set2._items[type4].push(item);
}
return false;
}
return true;
}
}
var _Set, Set_default;
var init_Set = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_Set.js"() {
init_includes();
_Set = /* @__PURE__ */ (function() {
function _Set2() {
this._nativeSet = typeof Set === "function" ? /* @__PURE__ */ new Set() : null;
this._items = {};
}
_Set2.prototype.add = function(item) {
return !hasOrAdd(item, true, this);
};
_Set2.prototype.has = function(item) {
return hasOrAdd(item, false, this);
};
return _Set2;
})();
Set_default = _Set;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/difference.js
var difference, difference_default;
var init_difference = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/difference.js"() {
init_curry2();
init_Set();
difference = /* @__PURE__ */ _curry2(function difference2(first, second) {
var out = [];
var idx = 0;
var firstLen = first.length;
var secondLen = second.length;
var toFilterOut = new Set_default();
for (var i4 = 0; i4 < secondLen; i4 += 1) {
toFilterOut.add(second[i4]);
}
while (idx < firstLen) {
if (toFilterOut.add(first[idx])) {
out[out.length] = first[idx];
}
idx += 1;
}
return out;
});
difference_default = difference;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/differenceWith.js
var init_differenceWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/differenceWith.js"() {
init_includesWith();
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/remove.js
var init_remove = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/remove.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dissoc.js
var init_dissoc = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dissoc.js"() {
init_isInteger();
init_isArray();
init_remove();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dissocPath.js
var init_dissocPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dissocPath.js"() {
init_curry2();
init_dissoc();
init_isInteger();
init_isArray();
init_assoc2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dissoc.js
var init_dissoc2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dissoc.js"() {
init_curry2();
init_dissocPath();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/divide.js
var init_divide = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/divide.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdrop.js
var init_xdrop = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdrop.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/drop.js
var init_drop = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/drop.js"() {
init_curry2();
init_dispatchable();
init_xdrop();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtake.js
var init_xtake = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtake.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/take.js
var init_take = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/take.js"() {
init_curry2();
init_dispatchable();
init_xtake();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dropLast.js
var init_dropLast = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dropLast.js"() {
init_take();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropLast.js
var init_xdropLast = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropLast.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropLast.js
var init_dropLast2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropLast.js"() {
init_curry2();
init_dispatchable();
init_dropLast();
init_xdropLast();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dropLastWhile.js
var init_dropLastWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_dropLastWhile.js"() {
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropLastWhile.js
var init_xdropLastWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropLastWhile.js"() {
init_curry2();
init_reduce();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropLastWhile.js
var init_dropLastWhile2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropLastWhile.js"() {
init_curry2();
init_dispatchable();
init_dropLastWhile();
init_xdropLastWhile();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropRepeatsWith.js
var init_xdropRepeatsWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropRepeatsWith.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/last.js
var init_last = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/last.js"() {
init_nth();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropRepeatsWith.js
var init_dropRepeatsWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropRepeatsWith.js"() {
init_curry2();
init_dispatchable();
init_xdropRepeatsWith();
init_last();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropRepeats.js
var init_dropRepeats = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropRepeats.js"() {
init_curry1();
init_dispatchable();
init_xdropRepeatsWith();
init_dropRepeatsWith();
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropWhile.js
var init_xdropWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xdropWhile.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropWhile.js
var init_dropWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/dropWhile.js"() {
init_curry2();
init_dispatchable();
init_xdropWhile();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/or.js
var init_or = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/or.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/either.js
var init_either = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/either.js"() {
init_curry2();
init_isFunction();
init_lift();
init_or();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isTypedArray.js
function _isTypedArray(val) {
var type4 = Object.prototype.toString.call(val);
return type4 === "[object Uint8ClampedArray]" || type4 === "[object Int8Array]" || type4 === "[object Uint8Array]" || type4 === "[object Int16Array]" || type4 === "[object Uint16Array]" || type4 === "[object Int32Array]" || type4 === "[object Uint32Array]" || type4 === "[object Float32Array]" || type4 === "[object Float64Array]" || type4 === "[object BigInt64Array]" || type4 === "[object BigUint64Array]";
}
var init_isTypedArray = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isTypedArray.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/empty.js
var empty2, empty_default;
var init_empty = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/empty.js"() {
init_curry1();
init_isArguments();
init_isArray();
init_isObject();
init_isString();
init_isTypedArray();
empty2 = /* @__PURE__ */ _curry1(function empty3(x3) {
return x3 != null && typeof x3["fantasy-land/empty"] === "function" ? x3["fantasy-land/empty"]() : x3 != null && x3.constructor != null && typeof x3.constructor["fantasy-land/empty"] === "function" ? x3.constructor["fantasy-land/empty"]() : x3 != null && typeof x3.empty === "function" ? x3.empty() : x3 != null && x3.constructor != null && typeof x3.constructor.empty === "function" ? x3.constructor.empty() : isArray_default(x3) ? [] : _isString(x3) ? "" : _isObject(x3) ? {} : isArguments_default(x3) ? /* @__PURE__ */ (function() {
return arguments;
})() : _isTypedArray(x3) ? x3.constructor.from("") : void 0;
});
empty_default = empty2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeLast.js
var init_takeLast = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeLast.js"() {
init_curry2();
init_drop();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/endsWith.js
var init_endsWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/endsWith.js"() {
init_curry2();
init_equals2();
init_takeLast();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/eqBy.js
var init_eqBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/eqBy.js"() {
init_curry3();
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/eqProps.js
var init_eqProps = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/eqProps.js"() {
init_curry3();
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/evolve.js
var init_evolve = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/evolve.js"() {
init_curry2();
init_isArray();
init_isObject();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfind.js
var init_xfind = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfind.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/find.js
var init_find = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/find.js"() {
init_curry2();
init_dispatchable();
init_xfind();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindIndex.js
var init_xfindIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindIndex.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findIndex.js
var init_findIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findIndex.js"() {
init_curry2();
init_dispatchable();
init_xfindIndex();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindLast.js
var init_xfindLast = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindLast.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findLast.js
var init_findLast = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findLast.js"() {
init_curry2();
init_dispatchable();
init_xfindLast();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindLastIndex.js
var init_xfindLastIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xfindLastIndex.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findLastIndex.js
var init_findLastIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/findLastIndex.js"() {
init_curry2();
init_dispatchable();
init_xfindLastIndex();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/flatten.js
var init_flatten = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/flatten.js"() {
init_curry1();
init_makeFlat();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/flip.js
var flip, flip_default;
var init_flip = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/flip.js"() {
init_curry1();
init_curryN2();
flip = /* @__PURE__ */ _curry1(function flip2(fn) {
return curryN_default(fn.length, function(a2, b) {
var args = Array.prototype.slice.call(arguments, 0);
args[0] = b;
args[1] = a2;
return fn.apply(this, args);
});
});
flip_default = flip;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/forEach.js
var init_forEach = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/forEach.js"() {
init_checkForMethod();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/forEachObjIndexed.js
var init_forEachObjIndexed = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/forEachObjIndexed.js"() {
init_curry2();
init_keys();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/fromPairs.js
var init_fromPairs = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/fromPairs.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/groupBy.js
var groupBy2, groupBy_default;
var init_groupBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/groupBy.js"() {
init_checkForMethod();
init_curry2();
init_reduceBy();
groupBy2 = /* @__PURE__ */ _curry2(
/* @__PURE__ */ _checkForMethod(
"groupBy",
/* @__PURE__ */ reduceBy_default(function(acc, item) {
acc.push(item);
return acc;
}, [])
)
);
groupBy_default = groupBy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/groupWith.js
var init_groupWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/groupWith.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/gt.js
var init_gt = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/gt.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/gte.js
var init_gte = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/gte.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/hasPath.js
var init_hasPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/hasPath.js"() {
init_curry2();
init_has();
init_isNil();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/has.js
var init_has2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/has.js"() {
init_curry2();
init_hasPath();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/hasIn.js
var init_hasIn = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/hasIn.js"() {
init_curry2();
init_isNil();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/identical.js
var init_identical = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/identical.js"() {
init_objectIs();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ifElse.js
var init_ifElse = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/ifElse.js"() {
init_curry3();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/inc.js
var init_inc = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/inc.js"() {
init_add();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/includes.js
var init_includes2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/includes.js"() {
init_includes();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/indexBy.js
var init_indexBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/indexBy.js"() {
init_reduceBy();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/indexOf.js
var init_indexOf2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/indexOf.js"() {
init_curry2();
init_indexOf();
init_isArray();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/init.js
var init_init = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/init.js"() {
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/innerJoin.js
var init_innerJoin = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/innerJoin.js"() {
init_includesWith();
init_curry3();
init_filter();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/insert.js
var init_insert = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/insert.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/insertAll.js
var init_insertAll = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/insertAll.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xuniqBy.js
var XUniqBy, _xuniqBy, xuniqBy_default;
var init_xuniqBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xuniqBy.js"() {
init_curry2();
init_Set();
init_xfBase();
XUniqBy = /* @__PURE__ */ (function() {
function XUniqBy2(f, xf) {
this.xf = xf;
this.f = f;
this.set = new Set_default();
}
XUniqBy2.prototype["@@transducer/init"] = xfBase_default.init;
XUniqBy2.prototype["@@transducer/result"] = xfBase_default.result;
XUniqBy2.prototype["@@transducer/step"] = function(result2, input) {
return this.set.add(this.f(input)) ? this.xf["@@transducer/step"](result2, input) : result2;
};
return XUniqBy2;
})();
_xuniqBy = /* @__PURE__ */ _curry2(function _xuniqBy2(f, xf) {
return new XUniqBy(f, xf);
});
xuniqBy_default = _xuniqBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniqBy.js
var uniqBy, uniqBy_default;
var init_uniqBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniqBy.js"() {
init_Set();
init_curry2();
init_dispatchable();
init_xuniqBy();
uniqBy = /* @__PURE__ */ _curry2(
/* @__PURE__ */ _dispatchable([], xuniqBy_default, function(fn, list2) {
var set2 = new Set_default();
var result2 = [];
var idx = 0;
var appliedItem, item;
while (idx < list2.length) {
item = list2[idx];
appliedItem = fn(item);
if (set2.add(appliedItem)) {
result2.push(item);
}
idx += 1;
}
return result2;
})
);
uniqBy_default = uniqBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniq.js
var uniq, uniq_default;
var init_uniq = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniq.js"() {
init_identity2();
init_uniqBy();
uniq = /* @__PURE__ */ uniqBy_default(identity_default);
uniq_default = uniq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/intersection.js
var init_intersection = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/intersection.js"() {
init_includes();
init_curry2();
init_filter();
init_flip();
init_uniq();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/intersperse.js
var init_intersperse = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/intersperse.js"() {
init_checkForMethod();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_objectAssign.js
function _objectAssign(target2) {
if (target2 == null) {
throw new TypeError("Cannot convert undefined or null to object");
}
var output = Object(target2);
var idx = 1;
var length = arguments.length;
while (idx < length) {
var source = arguments[idx];
if (source != null) {
for (var nextKey in source) {
if (_has(nextKey, source)) {
output[nextKey] = source[nextKey];
}
}
}
idx += 1;
}
return output;
}
var objectAssign_default;
var init_objectAssign = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_objectAssign.js"() {
init_has();
objectAssign_default = typeof Object.assign === "function" ? Object.assign : _objectAssign;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/objOf.js
var init_objOf = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/objOf.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_stepCat.js
var init_stepCat = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_stepCat.js"() {
init_objectAssign();
init_identity();
init_isArrayLike();
init_isTransformer();
init_objOf();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/into.js
var init_into = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/into.js"() {
init_clone();
init_curry3();
init_isTransformer();
init_reduce();
init_stepCat();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invert.js
var init_invert = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invert.js"() {
init_curry1();
init_has();
init_keys();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invertObj.js
var init_invertObj = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invertObj.js"() {
init_curry1();
init_keys();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invoker.js
var init_invoker = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/invoker.js"() {
init_curry2();
init_isFunction();
init_curryN2();
init_toString2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/is.js
var init_is = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/is.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/isEmpty.js
var isEmpty, isEmpty_default;
var init_isEmpty = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/isEmpty.js"() {
init_curry1();
init_empty();
init_equals2();
isEmpty = /* @__PURE__ */ _curry1(function isEmpty2(x3) {
return x3 != null && equals_default(x3, empty_default(x3));
});
isEmpty_default = isEmpty;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/join.js
var init_join = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/join.js"() {
init_invoker();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/juxt.js
var juxt, juxt_default;
var init_juxt = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/juxt.js"() {
init_curry1();
init_converge();
juxt = /* @__PURE__ */ _curry1(function juxt2(fns) {
return converge_default(function() {
return Array.prototype.slice.call(arguments, 0);
}, fns);
});
juxt_default = juxt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/keysIn.js
var init_keysIn = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/keysIn.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lastIndexOf.js
var init_lastIndexOf = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lastIndexOf.js"() {
init_curry2();
init_isArray();
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isNumber.js
var init_isNumber = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isNumber.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/length.js
var init_length = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/length.js"() {
init_curry1();
init_isNumber();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lens.js
var init_lens = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lens.js"() {
init_curry2();
init_map2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/update.js
var init_update = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/update.js"() {
init_curry3();
init_adjust();
init_always();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensIndex.js
var init_lensIndex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensIndex.js"() {
init_curry1();
init_lens();
init_nth();
init_update();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/paths.js
var paths, paths_default;
var init_paths = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/paths.js"() {
init_curry2();
init_isInteger();
init_nth();
paths = /* @__PURE__ */ _curry2(function paths2(pathsArray, obj) {
return pathsArray.map(function(paths3) {
var val = obj;
var idx = 0;
var p;
while (idx < paths3.length) {
if (val == null) {
return;
}
p = paths3[idx];
val = isInteger_default(p) ? nth_default(p, val) : val[p];
idx += 1;
}
return val;
});
});
paths_default = paths;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/path.js
var path15, path_default;
var init_path = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/path.js"() {
init_curry2();
init_paths();
path15 = /* @__PURE__ */ _curry2(function path16(pathAr, obj) {
return paths_default([pathAr], obj)[0];
});
path_default = path15;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensPath.js
var init_lensPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensPath.js"() {
init_curry1();
init_assocPath();
init_lens();
init_path();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensProp.js
var init_lensProp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lensProp.js"() {
init_curry1();
init_assoc2();
init_lens();
init_prop();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lt.js
var init_lt = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lt.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lte.js
var init_lte = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/lte.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapAccum.js
var init_mapAccum = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapAccum.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapAccumRight.js
var init_mapAccumRight = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapAccumRight.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapObjIndexed.js
var init_mapObjIndexed = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mapObjIndexed.js"() {
init_curry2();
init_reduce();
init_keys();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/match.js
var init_match = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/match.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mathMod.js
var init_mathMod = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mathMod.js"() {
init_curry2();
init_isInteger();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/maxBy.js
var init_maxBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/maxBy.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sum.js
var init_sum = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sum.js"() {
init_add();
init_reduce2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mean.js
var init_mean = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mean.js"() {
init_curry1();
init_sum();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/median.js
var init_median = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/median.js"() {
init_curry1();
init_mean();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/memoizeWith.js
var init_memoizeWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/memoizeWith.js"() {
init_arity();
init_curry2();
init_has();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeAll.js
var mergeAll, mergeAll_default;
var init_mergeAll = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeAll.js"() {
init_objectAssign();
init_curry1();
mergeAll = /* @__PURE__ */ _curry1(function mergeAll2(list2) {
return objectAssign_default.apply(null, [{}].concat(list2));
});
mergeAll_default = mergeAll;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeWithKey.js
var init_mergeWithKey = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeWithKey.js"() {
init_curry3();
init_has();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepWithKey.js
var init_mergeDeepWithKey = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepWithKey.js"() {
init_curry3();
init_isObject();
init_mergeWithKey();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepLeft.js
var init_mergeDeepLeft = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepLeft.js"() {
init_curry2();
init_mergeDeepWithKey();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepRight.js
var init_mergeDeepRight = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepRight.js"() {
init_curry2();
init_mergeDeepWithKey();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepWith.js
var init_mergeDeepWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeDeepWith.js"() {
init_curry3();
init_mergeDeepWithKey();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeLeft.js
var init_mergeLeft = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeLeft.js"() {
init_objectAssign();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeRight.js
var mergeRight, mergeRight_default;
var init_mergeRight = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeRight.js"() {
init_objectAssign();
init_curry2();
mergeRight = /* @__PURE__ */ _curry2(function mergeRight2(l, r) {
return objectAssign_default({}, l, r);
});
mergeRight_default = mergeRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeWith.js
var init_mergeWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/mergeWith.js"() {
init_curry3();
init_mergeWithKey();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/min.js
var init_min = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/min.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/minBy.js
var init_minBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/minBy.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_modify.js
var init_modify = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_modify.js"() {
init_isArray();
init_isInteger();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modifyPath.js
var init_modifyPath = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modifyPath.js"() {
init_curry3();
init_isArray();
init_isObject();
init_has();
init_assoc();
init_modify();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modify.js
var init_modify2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modify.js"() {
init_curry3();
init_modifyPath();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modulo.js
var init_modulo = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/modulo.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/move.js
var init_move = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/move.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/multiply.js
var init_multiply = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/multiply.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partialObject.js
var init_partialObject = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partialObject.js"() {
init_mergeDeepRight();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/negate.js
var init_negate = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/negate.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/none.js
var init_none = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/none.js"() {
init_complement2();
init_curry2();
init_all2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nthArg.js
var init_nthArg = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/nthArg.js"() {
init_curry1();
init_curryN2();
init_nth();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/o.js
var init_o = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/o.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_of.js
var init_of = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_of.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/of.js
var init_of2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/of.js"() {
init_curry1();
init_of();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/omit.js
var omit, omit_default;
var init_omit = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/omit.js"() {
init_curry2();
omit = /* @__PURE__ */ _curry2(function omit2(names, obj) {
var result2 = {};
var index2 = {};
var idx = 0;
var len = names.length;
while (idx < len) {
index2[names[idx]] = 1;
idx += 1;
}
for (var prop3 in obj) {
if (!index2.hasOwnProperty(prop3)) {
result2[prop3] = obj[prop3];
}
}
return result2;
});
omit_default = omit;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/on.js
var init_on = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/on.js"() {
init_curryN();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/once.js
var once, once_default;
var init_once = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/once.js"() {
init_arity();
init_curry1();
once = /* @__PURE__ */ _curry1(function once2(fn) {
var called = false;
var result2;
return _arity(fn.length, function() {
if (called) {
return result2;
}
called = true;
result2 = fn.apply(this, arguments);
return result2;
});
});
once_default = once;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_assertPromise.js
var init_assertPromise = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_assertPromise.js"() {
init_isFunction();
init_toString();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/otherwise.js
var init_otherwise = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/otherwise.js"() {
init_curry2();
init_assertPromise();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/over.js
var init_over = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/over.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pair.js
var init_pair = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pair.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_createPartialApplicator.js
var init_createPartialApplicator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_createPartialApplicator.js"() {
init_arity();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partial.js
var init_partial = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partial.js"() {
init_concat();
init_createPartialApplicator();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partialRight.js
var init_partialRight = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partialRight.js"() {
init_concat();
init_createPartialApplicator();
init_flip();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partition.js
var partition, partition_default;
var init_partition = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/partition.js"() {
init_filter2();
init_juxt();
init_reject();
partition = /* @__PURE__ */ juxt_default([filter_default, reject_default]);
partition_default = partition;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathEq.js
var init_pathEq = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathEq.js"() {
init_curry3();
init_equals2();
init_path();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathOr.js
var init_pathOr = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathOr.js"() {
init_curry3();
init_defaultTo();
init_path();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathSatisfies.js
var init_pathSatisfies = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pathSatisfies.js"() {
init_curry3();
init_path();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pick.js
var pick, pick_default;
var init_pick = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pick.js"() {
init_curry2();
pick = /* @__PURE__ */ _curry2(function pick2(names, obj) {
var result2 = {};
var idx = 0;
while (idx < names.length) {
if (names[idx] in obj) {
result2[names[idx]] = obj[names[idx]];
}
idx += 1;
}
return result2;
});
pick_default = pick;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pickAll.js
var pickAll, pickAll_default;
var init_pickAll = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pickAll.js"() {
init_curry2();
pickAll = /* @__PURE__ */ _curry2(function pickAll2(names, obj) {
var result2 = {};
var idx = 0;
var len = names.length;
while (idx < len) {
var name = names[idx];
result2[name] = obj[name];
idx += 1;
}
return result2;
});
pickAll_default = pickAll;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pickBy.js
var pickBy, pickBy_default;
var init_pickBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/pickBy.js"() {
init_curry2();
pickBy = /* @__PURE__ */ _curry2(function pickBy2(test, obj) {
var result2 = {};
for (var prop3 in obj) {
if (test(obj[prop3], prop3, obj)) {
result2[prop3] = obj[prop3];
}
}
return result2;
});
pickBy_default = pickBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/prepend.js
var init_prepend = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/prepend.js"() {
init_concat();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/product.js
var init_product = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/product.js"() {
init_multiply();
init_reduce2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/useWith.js
var init_useWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/useWith.js"() {
init_curry2();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/project.js
var init_project2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/project.js"() {
init_map();
init_identity2();
init_pickAll();
init_useWith();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_promap.js
var init_promap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_promap.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xpromap.js
var init_xpromap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xpromap.js"() {
init_curry3();
init_xfBase();
init_promap();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/promap.js
var init_promap2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/promap.js"() {
init_curry3();
init_dispatchable();
init_promap();
init_xpromap();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propEq.js
var init_propEq = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propEq.js"() {
init_curry3();
init_prop();
init_equals2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propIs.js
var init_propIs = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propIs.js"() {
init_curry3();
init_prop();
init_is();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propOr.js
var init_propOr = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propOr.js"() {
init_curry3();
init_defaultTo();
init_prop();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propSatisfies.js
var init_propSatisfies = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/propSatisfies.js"() {
init_curry3();
init_prop();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/props.js
var props, props_default;
var init_props = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/props.js"() {
init_curry2();
init_path();
props = /* @__PURE__ */ _curry2(function props2(ps2, obj) {
return ps2.map(function(p) {
return path_default([p], obj);
});
});
props_default = props;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/range.js
var init_range = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/range.js"() {
init_curry2();
init_isNumber();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceRight.js
var init_reduceRight = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceRight.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceWhile.js
var init_reduceWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduceWhile.js"() {
init_curryN();
init_reduce();
init_reduced();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduced.js
var init_reduced2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/reduced.js"() {
init_curry1();
init_reduced();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/times.js
var times, times_default;
var init_times = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/times.js"() {
init_curry2();
times = /* @__PURE__ */ _curry2(function times2(fn, n2) {
var len = Number(n2);
var idx = 0;
var list2;
if (len < 0 || isNaN(len)) {
throw new RangeError("n must be a non-negative number");
}
list2 = new Array(len);
while (idx < len) {
list2[idx] = fn(idx);
idx += 1;
}
return list2;
});
times_default = times;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/repeat.js
var repeat2, repeat_default;
var init_repeat = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/repeat.js"() {
init_curry2();
init_always();
init_times();
repeat2 = /* @__PURE__ */ _curry2(function repeat3(value, n2) {
return times_default(always_default(value), n2);
});
repeat_default = repeat2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/replace.js
var init_replace = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/replace.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/scan.js
var init_scan = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/scan.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sequence.js
var init_sequence = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sequence.js"() {
init_curry2();
init_ap();
init_map2();
init_prepend();
init_reduceRight();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/set.js
var init_set = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/set.js"() {
init_curry3();
init_always();
init_over();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sort.js
var init_sort = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sort.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sortBy.js
var sortBy, sortBy_default;
var init_sortBy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sortBy.js"() {
init_curry2();
sortBy = /* @__PURE__ */ _curry2(function sortBy2(fn, list2) {
return Array.prototype.slice.call(list2, 0).sort(function(a2, b) {
var aa = fn(a2);
var bb = fn(b);
return aa < bb ? -1 : aa > bb ? 1 : 0;
});
});
sortBy_default = sortBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sortWith.js
var sortWith, sortWith_default;
var init_sortWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/sortWith.js"() {
init_curry2();
sortWith = /* @__PURE__ */ _curry2(function sortWith2(fns, list2) {
return Array.prototype.slice.call(list2, 0).sort(function(a2, b) {
var result2 = 0;
var i4 = 0;
while (result2 === 0 && i4 < fns.length) {
result2 = fns[i4](a2, b);
i4 += 1;
}
return result2;
});
});
sortWith_default = sortWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/split.js
var init_split = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/split.js"() {
init_invoker();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitAt.js
var init_splitAt = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitAt.js"() {
init_curry2();
init_length();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitEvery.js
var init_splitEvery = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitEvery.js"() {
init_curry2();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitWhen.js
var init_splitWhen = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitWhen.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitWhenever.js
var init_splitWhenever = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/splitWhenever.js"() {
init_curryN();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/startsWith.js
var init_startsWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/startsWith.js"() {
init_curry2();
init_equals2();
init_take();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/subtract.js
var init_subtract = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/subtract.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/symmetricDifference.js
var init_symmetricDifference = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/symmetricDifference.js"() {
init_curry2();
init_concat2();
init_difference();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/symmetricDifferenceWith.js
var init_symmetricDifferenceWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/symmetricDifferenceWith.js"() {
init_curry3();
init_concat2();
init_differenceWith();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeLastWhile.js
var init_takeLastWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeLastWhile.js"() {
init_curry2();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtakeWhile.js
var init_xtakeWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtakeWhile.js"() {
init_curry2();
init_reduced();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeWhile.js
var init_takeWhile = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/takeWhile.js"() {
init_curry2();
init_dispatchable();
init_xtakeWhile();
init_slice();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtap.js
var init_xtap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xtap.js"() {
init_curry2();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tap.js
var init_tap = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tap.js"() {
init_curry2();
init_dispatchable();
init_xtap();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isRegExp.js
var init_isRegExp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_isRegExp.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/test.js
var init_test = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/test.js"() {
init_cloneRegExp();
init_curry2();
init_isRegExp();
init_toString2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/andThen.js
var init_andThen = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/andThen.js"() {
init_curry2();
init_assertPromise();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toLower.js
var init_toLower = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toLower.js"() {
init_invoker();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toPairs.js
var init_toPairs = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toPairs.js"() {
init_curry1();
init_has();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toPairsIn.js
var init_toPairsIn = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toPairsIn.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toUpper.js
var init_toUpper = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/toUpper.js"() {
init_invoker();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/transduce.js
var init_transduce = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/transduce.js"() {
init_reduce();
init_xwrap();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/transpose.js
var init_transpose = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/transpose.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/traverse.js
var init_traverse = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/traverse.js"() {
init_curry3();
init_map2();
init_sequence();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/trim.js
var hasProtoTrim;
var init_trim = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/trim.js"() {
init_curry1();
hasProtoTrim = typeof String.prototype.trim === "function";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tryCatch.js
var init_tryCatch = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/tryCatch.js"() {
init_arity();
init_concat();
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unapply.js
var init_unapply = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unapply.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unary.js
var init_unary = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unary.js"() {
init_curry1();
init_nAry();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uncurryN.js
var init_uncurryN = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uncurryN.js"() {
init_curry2();
init_curryN2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unfold.js
var init_unfold = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unfold.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/union.js
var union, union_default;
var init_union = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/union.js"() {
init_concat();
init_curry2();
init_compose();
init_uniq();
union = /* @__PURE__ */ _curry2(
/* @__PURE__ */ compose(uniq_default, _concat)
);
union_default = union;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xuniqWith.js
var init_xuniqWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/internal/_xuniqWith.js"() {
init_curry2();
init_includesWith();
init_xfBase();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniqWith.js
var init_uniqWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/uniqWith.js"() {
init_curry2();
init_dispatchable();
init_includesWith();
init_xuniqWith();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unionWith.js
var init_unionWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unionWith.js"() {
init_concat();
init_curry3();
init_uniqWith();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unless.js
var init_unless = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unless.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unnest.js
var unnest, unnest_default;
var init_unnest = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unnest.js"() {
init_identity();
init_chain();
unnest = /* @__PURE__ */ chain_default(_identity);
unnest_default = unnest;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/until.js
var init_until = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/until.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unwind.js
var init_unwind = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/unwind.js"() {
init_curry2();
init_isArray();
init_map();
init_assoc();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/valuesIn.js
var init_valuesIn = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/valuesIn.js"() {
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/view.js
var init_view = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/view.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/when.js
var init_when = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/when.js"() {
init_curry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/where.js
var init_where = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/where.js"() {
init_curry2();
init_has();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/whereAny.js
var init_whereAny = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/whereAny.js"() {
init_curry2();
init_has();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/whereEq.js
var init_whereEq = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/whereEq.js"() {
init_curry2();
init_equals2();
init_map2();
init_where();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/without.js
var without, without_default;
var init_without = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/without.js"() {
init_includes();
init_curry2();
init_flip();
init_reject();
without = /* @__PURE__ */ _curry2(function(xs, list2) {
return reject_default(flip_default(_includes)(xs), list2);
});
without_default = without;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/xor.js
var init_xor = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/xor.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/xprod.js
var init_xprod = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/xprod.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zip.js
var init_zip = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zip.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zipObj.js
var init_zipObj = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zipObj.js"() {
init_curry2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zipWith.js
var zipWith, zipWith_default;
var init_zipWith = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/zipWith.js"() {
init_curry3();
zipWith = /* @__PURE__ */ _curry3(function zipWith2(fn, a2, b) {
var rv = [];
var idx = 0;
var len = Math.min(a2.length, b.length);
while (idx < len) {
rv[idx] = fn(a2[idx], b[idx]);
idx += 1;
}
return rv;
});
zipWith_default = zipWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/thunkify.js
var init_thunkify = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/thunkify.js"() {
init_curryN2();
init_curry1();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/index.js
var init_es = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/ramda/0.28.1/c4df61b4c283791367d9ccd5a5b0b321606af832cd85ffa81c5891650816710b/node_modules/@pnpm/ramda/es/index.js"() {
init_F();
init_T();
init__();
init_add();
init_addIndex();
init_adjust();
init_all2();
init_allPass();
init_always();
init_and();
init_any();
init_anyPass();
init_ap();
init_aperture2();
init_append();
init_apply();
init_applySpec();
init_applyTo();
init_ascend();
init_assoc2();
init_assocPath();
init_binary();
init_bind();
init_both();
init_call();
init_chain();
init_clamp();
init_clone2();
init_collectBy();
init_comparator();
init_complement();
init_compose();
init_composeWith();
init_concat2();
init_cond();
init_construct();
init_constructN();
init_converge();
init_count();
init_countBy();
init_curry();
init_curryN2();
init_dec();
init_defaultTo();
init_descend();
init_difference();
init_differenceWith();
init_dissoc2();
init_dissocPath();
init_divide();
init_drop();
init_dropLast2();
init_dropLastWhile2();
init_dropRepeats();
init_dropRepeatsWith();
init_dropWhile();
init_either();
init_empty();
init_endsWith();
init_eqBy();
init_eqProps();
init_equals2();
init_evolve();
init_filter2();
init_find();
init_findIndex();
init_findLast();
init_findLastIndex();
init_flatten();
init_flip();
init_forEach();
init_forEachObjIndexed();
init_fromPairs();
init_groupBy();
init_groupWith();
init_gt();
init_gte();
init_has2();
init_hasIn();
init_hasPath();
init_head();
init_identical();
init_identity2();
init_ifElse();
init_inc();
init_includes2();
init_indexBy();
init_indexOf2();
init_init();
init_innerJoin();
init_insert();
init_insertAll();
init_intersection();
init_intersperse();
init_into();
init_invert();
init_invertObj();
init_invoker();
init_is();
init_isEmpty();
init_isNil();
init_join();
init_juxt();
init_keys();
init_keysIn();
init_last();
init_lastIndexOf();
init_length();
init_lens();
init_lensIndex();
init_lensPath();
init_lensProp();
init_lift();
init_liftN();
init_lt();
init_lte();
init_map2();
init_mapAccum();
init_mapAccumRight();
init_mapObjIndexed();
init_match();
init_mathMod();
init_max();
init_maxBy();
init_mean();
init_median();
init_memoizeWith();
init_mergeAll();
init_mergeDeepLeft();
init_mergeDeepRight();
init_mergeDeepWith();
init_mergeDeepWithKey();
init_mergeLeft();
init_mergeRight();
init_mergeWith();
init_mergeWithKey();
init_min();
init_minBy();
init_modify2();
init_modifyPath();
init_modulo();
init_move();
init_multiply();
init_nAry();
init_partialObject();
init_negate();
init_none();
init_not();
init_nth();
init_nthArg();
init_o();
init_objOf();
init_of2();
init_omit();
init_on();
init_once();
init_or();
init_otherwise();
init_over();
init_pair();
init_partial();
init_partialRight();
init_partition();
init_path();
init_paths();
init_pathEq();
init_pathOr();
init_pathSatisfies();
init_pick();
init_pickAll();
init_pickBy();
init_pipe2();
init_pipeWith();
init_pluck();
init_prepend();
init_product();
init_project2();
init_promap2();
init_prop();
init_propEq();
init_propIs();
init_propOr();
init_propSatisfies();
init_props();
init_range();
init_reduce2();
init_reduceBy();
init_reduceRight();
init_reduceWhile();
init_reduced2();
init_reject();
init_remove();
init_repeat();
init_replace();
init_reverse();
init_scan();
init_sequence();
init_set();
init_slice();
init_sort();
init_sortBy();
init_sortWith();
init_split();
init_splitAt();
init_splitEvery();
init_splitWhen();
init_splitWhenever();
init_startsWith();
init_subtract();
init_sum();
init_symmetricDifference();
init_symmetricDifferenceWith();
init_tail();
init_take();
init_takeLast();
init_takeLastWhile();
init_takeWhile();
init_tap();
init_test();
init_andThen();
init_times();
init_toLower();
init_toPairs();
init_toPairsIn();
init_toString2();
init_toUpper();
init_transduce();
init_transpose();
init_traverse();
init_trim();
init_tryCatch();
init_type();
init_unapply();
init_unary();
init_uncurryN();
init_unfold();
init_union();
init_unionWith();
init_uniq();
init_uniqBy();
init_uniqWith();
init_unless();
init_unnest();
init_until();
init_unwind();
init_update();
init_useWith();
init_values();
init_valuesIn();
init_view();
init_when();
init_where();
init_whereAny();
init_whereEq();
init_without();
init_xor();
init_xprod();
init_zip();
init_zipObj();
init_zipWith();
init_thunkify();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/universalify/2.0.1/3983135594189f71b00fc07b6b17387b476e8a92e19ec2a61c1f0e0d68895f4d/node_modules/universalify/index.js
var require_universalify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/universalify/2.0.1/3983135594189f71b00fc07b6b17387b476e8a92e19ec2a61c1f0e0d68895f4d/node_modules/universalify/index.js"(exports2) {
"use strict";
exports2.fromCallback = function(fn) {
return Object.defineProperty(function(...args) {
if (typeof args[args.length - 1] === "function") fn.apply(this, args);
else {
return new Promise((resolve4, reject3) => {
args.push((err2, res) => err2 != null ? reject3(err2) : resolve4(res));
fn.apply(this, args);
});
}
}, "name", { value: fn.name });
};
exports2.fromPromise = function(fn) {
return Object.defineProperty(function(...args) {
const cb = args[args.length - 1];
if (typeof cb !== "function") return fn.apply(this, args);
else {
args.pop();
fn.apply(this, args).then((r) => cb(null, r), cb);
}
}, "name", { value: fn.name });
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/fs/index.js
var require_fs5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/fs/index.js"(exports2) {
"use strict";
var u2 = require_universalify().fromCallback;
var fs126 = require_graceful_fs();
var api2 = [
"access",
"appendFile",
"chmod",
"chown",
"close",
"copyFile",
"cp",
"fchmod",
"fchown",
"fdatasync",
"fstat",
"fsync",
"ftruncate",
"futimes",
"glob",
"lchmod",
"lchown",
"lutimes",
"link",
"lstat",
"mkdir",
"mkdtemp",
"open",
"opendir",
"readdir",
"readFile",
"readlink",
"realpath",
"rename",
"rm",
"rmdir",
"stat",
"statfs",
"symlink",
"truncate",
"unlink",
"utimes",
"writeFile"
].filter((key) => {
return typeof fs126[key] === "function";
});
Object.assign(exports2, fs126);
api2.forEach((method2) => {
exports2[method2] = u2(fs126[method2]);
});
exports2.exists = function(filename, callback2) {
if (typeof callback2 === "function") {
return fs126.exists(filename, callback2);
}
return new Promise((resolve4) => {
return fs126.exists(filename, resolve4);
});
};
exports2.read = function(fd2, buffer3, offset, length, position3, callback2) {
if (typeof callback2 === "function") {
return fs126.read(fd2, buffer3, offset, length, position3, callback2);
}
return new Promise((resolve4, reject3) => {
fs126.read(fd2, buffer3, offset, length, position3, (err2, bytesRead, buffer4) => {
if (err2) return reject3(err2);
resolve4({ bytesRead, buffer: buffer4 });
});
});
};
exports2.write = function(fd2, buffer3, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.write(fd2, buffer3, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.write(fd2, buffer3, ...args, (err2, bytesWritten, buffer4) => {
if (err2) return reject3(err2);
resolve4({ bytesWritten, buffer: buffer4 });
});
});
};
exports2.readv = function(fd2, buffers, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.readv(fd2, buffers, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.readv(fd2, buffers, ...args, (err2, bytesRead, buffers2) => {
if (err2) return reject3(err2);
resolve4({ bytesRead, buffers: buffers2 });
});
});
};
exports2.writev = function(fd2, buffers, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.writev(fd2, buffers, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.writev(fd2, buffers, ...args, (err2, bytesWritten, buffers2) => {
if (err2) return reject3(err2);
resolve4({ bytesWritten, buffers: buffers2 });
});
});
};
if (typeof fs126.realpath.native === "function") {
exports2.realpath.native = u2(fs126.realpath.native);
} else {
process.emitWarning(
"fs.realpath.native is not a function. Is fs being monkey-patched?",
"Warning",
"fs-extra-WARN0003"
);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/utils.js
var require_utils7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
module2.exports.checkPath = function checkPath(pth) {
if (process.platform === "win32") {
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path236.parse(pth).root, ""));
if (pathHasInvalidWinCharacters) {
const error = new Error(`Path contains invalid characters: ${pth}`);
error.code = "EINVAL";
throw error;
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/make-dir.js
var require_make_dir = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var { checkPath } = require_utils7();
var getMode = (options) => {
const defaults4 = { mode: 511 };
if (typeof options === "number") return options;
return { ...defaults4, ...options }.mode;
};
module2.exports.makeDir = async (dir, options) => {
checkPath(dir);
return fs126.mkdir(dir, {
mode: getMode(options),
recursive: true
});
};
module2.exports.makeDirSync = (dir, options) => {
checkPath(dir);
return fs126.mkdirSync(dir, {
mode: getMode(options),
recursive: true
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/index.js
var require_mkdirs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var { makeDir: _makeDir, makeDirSync } = require_make_dir();
var makeDir = u2(_makeDir);
module2.exports = {
mkdirs: makeDir,
mkdirsSync: makeDirSync,
// alias
mkdirp: makeDir,
mkdirpSync: makeDirSync,
ensureDir: makeDir,
ensureDirSync: makeDirSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/path-exists/index.js
var require_path_exists = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs5();
function pathExists3(path236) {
return fs126.access(path236).then(() => true).catch(() => false);
}
module2.exports = {
pathExists: u2(pathExists3),
pathExistsSync: fs126.existsSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/utimes.js
var require_utimes = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var u2 = require_universalify().fromPromise;
async function utimesMillis(path236, atime, mtime) {
const fd2 = await fs126.open(path236, "r+");
let closeErr = null;
try {
await fs126.futimes(fd2, atime, mtime);
} finally {
try {
await fs126.close(fd2);
} catch (e) {
closeErr = e;
}
}
if (closeErr) {
throw closeErr;
}
}
function utimesMillisSync(path236, atime, mtime) {
const fd2 = fs126.openSync(path236, "r+");
fs126.futimesSync(fd2, atime, mtime);
return fs126.closeSync(fd2);
}
module2.exports = {
utimesMillis: u2(utimesMillis),
utimesMillisSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/stat.js
var require_stat = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/stat.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var path236 = __require("path");
var u2 = require_universalify().fromPromise;
function getStats2(src2, dest, opts3) {
const statFunc = opts3.dereference ? (file) => fs126.stat(file, { bigint: true }) : (file) => fs126.lstat(file, { bigint: true });
return Promise.all([
statFunc(src2),
statFunc(dest).catch((err2) => {
if (err2.code === "ENOENT") return null;
throw err2;
})
]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
}
function getStatsSync(src2, dest, opts3) {
let destStat;
const statFunc = opts3.dereference ? (file) => fs126.statSync(file, { bigint: true }) : (file) => fs126.lstatSync(file, { bigint: true });
const srcStat = statFunc(src2);
try {
destStat = statFunc(dest);
} catch (err2) {
if (err2.code === "ENOENT") return { srcStat, destStat: null };
throw err2;
}
return { srcStat, destStat };
}
async function checkPaths(src2, dest, funcName, opts3) {
const { srcStat, destStat } = await getStats2(src2, dest, opts3);
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path236.basename(src2);
const destBaseName = path236.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return { srcStat, destStat, isChangingCase: true };
}
throw new Error("Source and destination must not be the same.");
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src2}'.`);
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src2}'.`);
}
}
if (srcStat.isDirectory() && isSrcSubdir(src2, dest)) {
throw new Error(errMsg(src2, dest, funcName));
}
return { srcStat, destStat };
}
function checkPathsSync(src2, dest, funcName, opts3) {
const { srcStat, destStat } = getStatsSync(src2, dest, opts3);
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path236.basename(src2);
const destBaseName = path236.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return { srcStat, destStat, isChangingCase: true };
}
throw new Error("Source and destination must not be the same.");
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src2}'.`);
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src2}'.`);
}
}
if (srcStat.isDirectory() && isSrcSubdir(src2, dest)) {
throw new Error(errMsg(src2, dest, funcName));
}
return { srcStat, destStat };
}
async function checkParentPaths(src2, srcStat, dest, funcName) {
const srcParent = path236.resolve(path236.dirname(src2));
const destParent = path236.resolve(path236.dirname(dest));
if (destParent === srcParent || destParent === path236.parse(destParent).root) return;
let destStat;
try {
destStat = await fs126.stat(destParent, { bigint: true });
} catch (err2) {
if (err2.code === "ENOENT") return;
throw err2;
}
if (areIdentical(srcStat, destStat)) {
throw new Error(errMsg(src2, dest, funcName));
}
return checkParentPaths(src2, srcStat, destParent, funcName);
}
function checkParentPathsSync(src2, srcStat, dest, funcName) {
const srcParent = path236.resolve(path236.dirname(src2));
const destParent = path236.resolve(path236.dirname(dest));
if (destParent === srcParent || destParent === path236.parse(destParent).root) return;
let destStat;
try {
destStat = fs126.statSync(destParent, { bigint: true });
} catch (err2) {
if (err2.code === "ENOENT") return;
throw err2;
}
if (areIdentical(srcStat, destStat)) {
throw new Error(errMsg(src2, dest, funcName));
}
return checkParentPathsSync(src2, srcStat, destParent, funcName);
}
function areIdentical(srcStat, destStat) {
return destStat.ino !== void 0 && destStat.dev !== void 0 && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
}
function isSrcSubdir(src2, dest) {
const srcArr = path236.resolve(src2).split(path236.sep).filter((i4) => i4);
const destArr = path236.resolve(dest).split(path236.sep).filter((i4) => i4);
return srcArr.every((cur, i4) => destArr[i4] === cur);
}
function errMsg(src2, dest, funcName) {
return `Cannot ${funcName} '${src2}' to a subdirectory of itself, '${dest}'.`;
}
module2.exports = {
// checkPaths
checkPaths: u2(checkPaths),
checkPathsSync,
// checkParent
checkParentPaths: u2(checkParentPaths),
checkParentPathsSync,
// Misc
isSrcSubdir,
areIdentical
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/async.js
var require_async7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/util/async.js"(exports2, module2) {
"use strict";
async function asyncIteratorConcurrentProcess(iterator, fn) {
const promises = [];
for await (const item of iterator) {
promises.push(
fn(item).then(
() => null,
(err2) => err2 ?? new Error("unknown error")
)
);
}
await Promise.all(
promises.map(
(promise2) => promise2.then((possibleErr) => {
if (possibleErr !== null) throw possibleErr;
})
)
);
}
module2.exports = {
asyncIteratorConcurrentProcess
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/copy.js
var require_copy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var path236 = __require("path");
var { mkdirs } = require_mkdirs();
var { pathExists: pathExists3 } = require_path_exists();
var { utimesMillis } = require_utimes();
var stat2 = require_stat();
var { asyncIteratorConcurrentProcess } = require_async7();
async function copy2(src2, dest, opts3 = {}) {
if (typeof opts3 === "function") {
opts3 = { filter: opts3 };
}
opts3.clobber = "clobber" in opts3 ? !!opts3.clobber : true;
opts3.overwrite = "overwrite" in opts3 ? !!opts3.overwrite : opts3.clobber;
if (opts3.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0001"
);
}
const { srcStat, destStat } = await stat2.checkPaths(src2, dest, "copy", opts3);
await stat2.checkParentPaths(src2, srcStat, dest, "copy");
const include = await runFilter(src2, dest, opts3);
if (!include) return;
const destParent = path236.dirname(dest);
const dirExists = await pathExists3(destParent);
if (!dirExists) {
await mkdirs(destParent);
}
await getStatsAndPerformCopy(destStat, src2, dest, opts3);
}
async function runFilter(src2, dest, opts3) {
if (!opts3.filter) return true;
return opts3.filter(src2, dest);
}
async function getStatsAndPerformCopy(destStat, src2, dest, opts3) {
const statFn = opts3.dereference ? fs126.stat : fs126.lstat;
const srcStat = await statFn(src2);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src2, dest, opts3);
if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src2, dest, opts3);
if (srcStat.isSymbolicLink()) return onLink(destStat, src2, dest, opts3);
if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src2}`);
if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src2}`);
throw new Error(`Unknown file: ${src2}`);
}
async function onFile(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return copyFile(srcStat, src2, dest, opts3);
if (opts3.overwrite) {
await fs126.unlink(dest);
return copyFile(srcStat, src2, dest, opts3);
}
if (opts3.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
async function copyFile(srcStat, src2, dest, opts3) {
await fs126.copyFile(src2, dest);
if (opts3.preserveTimestamps) {
if (fileIsNotWritable(srcStat.mode)) {
await makeFileWritable(dest, srcStat.mode);
}
const updatedSrcStat = await fs126.stat(src2);
await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
}
return fs126.chmod(dest, srcStat.mode);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode) {
return fs126.chmod(dest, srcMode | 128);
}
async function onDir(srcStat, destStat, src2, dest, opts3) {
if (!destStat) {
await fs126.mkdir(dest);
}
await asyncIteratorConcurrentProcess(await fs126.opendir(src2), async (item) => {
const srcItem = path236.join(src2, item.name);
const destItem = path236.join(dest, item.name);
const include = await runFilter(srcItem, destItem, opts3);
if (include) {
const { destStat: destStat2 } = await stat2.checkPaths(srcItem, destItem, "copy", opts3);
await getStatsAndPerformCopy(destStat2, srcItem, destItem, opts3);
}
});
if (!destStat) {
await fs126.chmod(dest, srcStat.mode);
}
}
async function onLink(destStat, src2, dest, opts3) {
let resolvedSrc = await fs126.readlink(src2);
if (opts3.dereference) {
resolvedSrc = path236.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs126.symlink(resolvedSrc, dest);
}
let resolvedDest = null;
try {
resolvedDest = await fs126.readlink(dest);
} catch (e) {
if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs126.symlink(resolvedSrc, dest);
throw e;
}
if (opts3.dereference) {
resolvedDest = path236.resolve(process.cwd(), resolvedDest);
}
if (resolvedSrc !== resolvedDest) {
if (stat2.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (stat2.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
}
await fs126.unlink(dest);
return fs126.symlink(resolvedSrc, dest);
}
module2.exports = copy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/copy-sync.js
var require_copy_sync = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/copy-sync.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var path236 = __require("path");
var mkdirsSync = require_mkdirs().mkdirsSync;
var utimesMillisSync = require_utimes().utimesMillisSync;
var stat2 = require_stat();
function copySync2(src2, dest, opts3) {
if (typeof opts3 === "function") {
opts3 = { filter: opts3 };
}
opts3 = opts3 || {};
opts3.clobber = "clobber" in opts3 ? !!opts3.clobber : true;
opts3.overwrite = "overwrite" in opts3 ? !!opts3.overwrite : opts3.clobber;
if (opts3.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0002"
);
}
const { srcStat, destStat } = stat2.checkPathsSync(src2, dest, "copy", opts3);
stat2.checkParentPathsSync(src2, srcStat, dest, "copy");
if (opts3.filter && !opts3.filter(src2, dest)) return;
const destParent = path236.dirname(dest);
if (!fs126.existsSync(destParent)) mkdirsSync(destParent);
return getStats2(destStat, src2, dest, opts3);
}
function getStats2(destStat, src2, dest, opts3) {
const statSync4 = opts3.dereference ? fs126.statSync : fs126.lstatSync;
const srcStat = statSync4(src2);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src2, dest, opts3);
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src2, dest, opts3);
else if (srcStat.isSymbolicLink()) return onLink(destStat, src2, dest, opts3);
else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src2}`);
else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src2}`);
throw new Error(`Unknown file: ${src2}`);
}
function onFile(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return copyFile(srcStat, src2, dest, opts3);
return mayCopyFile(srcStat, src2, dest, opts3);
}
function mayCopyFile(srcStat, src2, dest, opts3) {
if (opts3.overwrite) {
fs126.unlinkSync(dest);
return copyFile(srcStat, src2, dest, opts3);
} else if (opts3.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
function copyFile(srcStat, src2, dest, opts3) {
fs126.copyFileSync(src2, dest);
if (opts3.preserveTimestamps) handleTimestamps(srcStat.mode, src2, dest);
return setDestMode(dest, srcStat.mode);
}
function handleTimestamps(srcMode, src2, dest) {
if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode);
return setDestTimestamps(src2, dest);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode) {
return setDestMode(dest, srcMode | 128);
}
function setDestMode(dest, srcMode) {
return fs126.chmodSync(dest, srcMode);
}
function setDestTimestamps(src2, dest) {
const updatedSrcStat = fs126.statSync(src2);
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
}
function onDir(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return mkDirAndCopy(srcStat.mode, src2, dest, opts3);
return copyDir(src2, dest, opts3);
}
function mkDirAndCopy(srcMode, src2, dest, opts3) {
fs126.mkdirSync(dest);
copyDir(src2, dest, opts3);
return setDestMode(dest, srcMode);
}
function copyDir(src2, dest, opts3) {
const dir = fs126.opendirSync(src2);
try {
let dirent;
while ((dirent = dir.readSync()) !== null) {
copyDirItem(dirent.name, src2, dest, opts3);
}
} finally {
dir.closeSync();
}
}
function copyDirItem(item, src2, dest, opts3) {
const srcItem = path236.join(src2, item);
const destItem = path236.join(dest, item);
if (opts3.filter && !opts3.filter(srcItem, destItem)) return;
const { destStat } = stat2.checkPathsSync(srcItem, destItem, "copy", opts3);
return getStats2(destStat, srcItem, destItem, opts3);
}
function onLink(destStat, src2, dest, opts3) {
let resolvedSrc = fs126.readlinkSync(src2);
if (opts3.dereference) {
resolvedSrc = path236.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs126.symlinkSync(resolvedSrc, dest);
} else {
let resolvedDest;
try {
resolvedDest = fs126.readlinkSync(dest);
} catch (err2) {
if (err2.code === "EINVAL" || err2.code === "UNKNOWN") return fs126.symlinkSync(resolvedSrc, dest);
throw err2;
}
if (opts3.dereference) {
resolvedDest = path236.resolve(process.cwd(), resolvedDest);
}
if (resolvedSrc !== resolvedDest) {
if (stat2.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (stat2.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
}
return copyLink(resolvedSrc, dest);
}
}
function copyLink(resolvedSrc, dest) {
fs126.unlinkSync(dest);
return fs126.symlinkSync(resolvedSrc, dest);
}
module2.exports = copySync2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/index.js
var require_copy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/copy/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
module2.exports = {
copy: u2(require_copy()),
copySync: require_copy_sync()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/remove/index.js
var require_remove = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/remove/index.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var u2 = require_universalify().fromCallback;
function remove(path236, callback2) {
fs126.rm(path236, { recursive: true, force: true }, callback2);
}
function removeSync(path236) {
fs126.rmSync(path236, { recursive: true, force: true });
}
module2.exports = {
remove: u2(remove),
removeSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/empty/index.js
var require_empty = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/empty/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs5();
var path236 = __require("path");
var mkdir2 = require_mkdirs();
var remove = require_remove();
var emptyDir = u2(async function emptyDir2(dir) {
let items;
try {
items = await fs126.readdir(dir);
} catch {
return mkdir2.mkdirs(dir);
}
return Promise.all(items.map((item) => remove.remove(path236.join(dir, item))));
});
function emptyDirSync(dir) {
let items;
try {
items = fs126.readdirSync(dir);
} catch {
return mkdir2.mkdirsSync(dir);
}
items.forEach((item) => {
item = path236.join(dir, item);
remove.removeSync(item);
});
}
module2.exports = {
emptyDirSync,
emptydirSync: emptyDirSync,
emptyDir,
emptydir: emptyDir
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/file.js
var require_file = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs5();
var mkdir2 = require_mkdirs();
async function createFile(file) {
let stats;
try {
stats = await fs126.stat(file);
} catch {
}
if (stats && stats.isFile()) return;
const dir = path236.dirname(file);
let dirStats = null;
try {
dirStats = await fs126.stat(dir);
} catch (err2) {
if (err2.code === "ENOENT") {
await mkdir2.mkdirs(dir);
await fs126.writeFile(file, "");
return;
} else {
throw err2;
}
}
if (dirStats.isDirectory()) {
await fs126.writeFile(file, "");
} else {
await fs126.readdir(dir);
}
}
function createFileSync(file) {
let stats;
try {
stats = fs126.statSync(file);
} catch {
}
if (stats && stats.isFile()) return;
const dir = path236.dirname(file);
try {
if (!fs126.statSync(dir).isDirectory()) {
fs126.readdirSync(dir);
}
} catch (err2) {
if (err2 && err2.code === "ENOENT") mkdir2.mkdirsSync(dir);
else throw err2;
}
fs126.writeFileSync(file, "");
}
module2.exports = {
createFile: u2(createFile),
createFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/link.js
var require_link = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs5();
var mkdir2 = require_mkdirs();
var { pathExists: pathExists3 } = require_path_exists();
var { areIdentical } = require_stat();
async function createLink(srcpath, dstpath) {
let dstStat;
try {
dstStat = await fs126.lstat(dstpath);
} catch {
}
let srcStat;
try {
srcStat = await fs126.lstat(srcpath);
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureLink");
throw err2;
}
if (dstStat && areIdentical(srcStat, dstStat)) return;
const dir = path236.dirname(dstpath);
const dirExists = await pathExists3(dir);
if (!dirExists) {
await mkdir2.mkdirs(dir);
}
await fs126.link(srcpath, dstpath);
}
function createLinkSync(srcpath, dstpath) {
let dstStat;
try {
dstStat = fs126.lstatSync(dstpath);
} catch {
}
try {
const srcStat = fs126.lstatSync(srcpath);
if (dstStat && areIdentical(srcStat, dstStat)) return;
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureLink");
throw err2;
}
const dir = path236.dirname(dstpath);
const dirExists = fs126.existsSync(dir);
if (dirExists) return fs126.linkSync(srcpath, dstpath);
mkdir2.mkdirsSync(dir);
return fs126.linkSync(srcpath, dstpath);
}
module2.exports = {
createLink: u2(createLink),
createLinkSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink-paths.js
var require_symlink_paths = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var fs126 = require_fs5();
var { pathExists: pathExists3 } = require_path_exists();
var u2 = require_universalify().fromPromise;
async function symlinkPaths(srcpath, dstpath) {
if (path236.isAbsolute(srcpath)) {
try {
await fs126.lstat(srcpath);
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureSymlink");
throw err2;
}
return {
toCwd: srcpath,
toDst: srcpath
};
}
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
const exists = await pathExists3(relativeToDst);
if (exists) {
return {
toCwd: relativeToDst,
toDst: srcpath
};
}
try {
await fs126.lstat(srcpath);
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureSymlink");
throw err2;
}
return {
toCwd: srcpath,
toDst: path236.relative(dstdir, srcpath)
};
}
function symlinkPathsSync(srcpath, dstpath) {
if (path236.isAbsolute(srcpath)) {
const exists2 = fs126.existsSync(srcpath);
if (!exists2) throw new Error("absolute srcpath does not exist");
return {
toCwd: srcpath,
toDst: srcpath
};
}
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
const exists = fs126.existsSync(relativeToDst);
if (exists) {
return {
toCwd: relativeToDst,
toDst: srcpath
};
}
const srcExists = fs126.existsSync(srcpath);
if (!srcExists) throw new Error("relative srcpath does not exist");
return {
toCwd: srcpath,
toDst: path236.relative(dstdir, srcpath)
};
}
module2.exports = {
symlinkPaths: u2(symlinkPaths),
symlinkPathsSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink-type.js
var require_symlink_type = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var u2 = require_universalify().fromPromise;
async function symlinkType(srcpath, type4) {
if (type4) return type4;
let stats;
try {
stats = await fs126.lstat(srcpath);
} catch {
return "file";
}
return stats && stats.isDirectory() ? "dir" : "file";
}
function symlinkTypeSync(srcpath, type4) {
if (type4) return type4;
let stats;
try {
stats = fs126.lstatSync(srcpath);
} catch {
return "file";
}
return stats && stats.isDirectory() ? "dir" : "file";
}
module2.exports = {
symlinkType: u2(symlinkType),
symlinkTypeSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink.js
var require_symlink = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs5();
var { mkdirs, mkdirsSync } = require_mkdirs();
var { symlinkPaths, symlinkPathsSync } = require_symlink_paths();
var { symlinkType, symlinkTypeSync } = require_symlink_type();
var { pathExists: pathExists3 } = require_path_exists();
var { areIdentical } = require_stat();
async function createSymlink(srcpath, dstpath, type4) {
let stats;
try {
stats = await fs126.lstat(dstpath);
} catch {
}
if (stats && stats.isSymbolicLink()) {
let srcStat;
if (path236.isAbsolute(srcpath)) {
srcStat = await fs126.stat(srcpath);
} else {
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
try {
srcStat = await fs126.stat(relativeToDst);
} catch {
srcStat = await fs126.stat(srcpath);
}
}
const dstStat = await fs126.stat(dstpath);
if (areIdentical(srcStat, dstStat)) return;
}
const relative2 = await symlinkPaths(srcpath, dstpath);
srcpath = relative2.toDst;
const toType = await symlinkType(relative2.toCwd, type4);
const dir = path236.dirname(dstpath);
if (!await pathExists3(dir)) {
await mkdirs(dir);
}
return fs126.symlink(srcpath, dstpath, toType);
}
function createSymlinkSync2(srcpath, dstpath, type4) {
let stats;
try {
stats = fs126.lstatSync(dstpath);
} catch {
}
if (stats && stats.isSymbolicLink()) {
let srcStat;
if (path236.isAbsolute(srcpath)) {
srcStat = fs126.statSync(srcpath);
} else {
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
try {
srcStat = fs126.statSync(relativeToDst);
} catch {
srcStat = fs126.statSync(srcpath);
}
}
const dstStat = fs126.statSync(dstpath);
if (areIdentical(srcStat, dstStat)) return;
}
const relative2 = symlinkPathsSync(srcpath, dstpath);
srcpath = relative2.toDst;
type4 = symlinkTypeSync(relative2.toCwd, type4);
const dir = path236.dirname(dstpath);
const exists = fs126.existsSync(dir);
if (exists) return fs126.symlinkSync(srcpath, dstpath, type4);
mkdirsSync(dir);
return fs126.symlinkSync(srcpath, dstpath, type4);
}
module2.exports = {
createSymlink: u2(createSymlink),
createSymlinkSync: createSymlinkSync2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/index.js
var require_ensure = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) {
"use strict";
var { createFile, createFileSync } = require_file();
var { createLink, createLinkSync } = require_link();
var { createSymlink, createSymlinkSync: createSymlinkSync2 } = require_symlink();
module2.exports = {
// file
createFile,
createFileSync,
ensureFile: createFile,
ensureFileSync: createFileSync,
// link
createLink,
createLinkSync,
ensureLink: createLink,
ensureLinkSync: createLinkSync,
// symlink
createSymlink,
createSymlinkSync: createSymlinkSync2,
ensureSymlink: createSymlink,
ensureSymlinkSync: createSymlinkSync2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/jsonfile/6.2.1/4eef6320b797a6391b2bd057b7f45a61f6df9e0461d95dbbea0e70d498ea3860/node_modules/jsonfile/utils.js
var require_utils8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/jsonfile/6.2.1/4eef6320b797a6391b2bd057b7f45a61f6df9e0461d95dbbea0e70d498ea3860/node_modules/jsonfile/utils.js"(exports2, module2) {
function stringify2(obj, { EOL: EOL2 = "\n", finalEOL = true, replacer: replacer2 = null, spaces } = {}) {
const EOF = finalEOL ? EOL2 : "";
const str2 = JSON.stringify(obj, replacer2, spaces);
if (str2 === void 0) {
throw new TypeError(`Converting ${typeof obj} value to JSON is not supported`);
}
return str2.replace(/\n/g, EOL2) + EOF;
}
function stripBom2(content) {
if (Buffer.isBuffer(content)) content = content.toString("utf8");
return content.replace(/^\uFEFF/, "");
}
module2.exports = { stringify: stringify2, stripBom: stripBom2 };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/jsonfile/6.2.1/4eef6320b797a6391b2bd057b7f45a61f6df9e0461d95dbbea0e70d498ea3860/node_modules/jsonfile/index.js
var require_jsonfile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/jsonfile/6.2.1/4eef6320b797a6391b2bd057b7f45a61f6df9e0461d95dbbea0e70d498ea3860/node_modules/jsonfile/index.js"(exports2, module2) {
var _fs;
try {
_fs = require_graceful_fs();
} catch (_) {
_fs = __require("fs");
}
var universalify = require_universalify();
var { stringify: stringify2, stripBom: stripBom2 } = require_utils8();
async function _readFile(file, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
const fs126 = options.fs || _fs;
const shouldThrow = "throws" in options ? options.throws : true;
let data = await universalify.fromCallback(fs126.readFile)(file, options);
data = stripBom2(data);
let obj;
try {
obj = JSON.parse(data, options ? options.reviver : null);
} catch (err2) {
if (shouldThrow) {
err2.message = `${file}: ${err2.message}`;
throw err2;
} else {
return null;
}
}
return obj;
}
var readFile4 = universalify.fromPromise(_readFile);
function readFileSync4(file, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
const fs126 = options.fs || _fs;
const shouldThrow = "throws" in options ? options.throws : true;
try {
let content = fs126.readFileSync(file, options);
content = stripBom2(content);
return JSON.parse(content, options.reviver);
} catch (err2) {
if (shouldThrow) {
err2.message = `${file}: ${err2.message}`;
throw err2;
} else {
return null;
}
}
}
async function _writeFile(file, obj, options = {}) {
const fs126 = options.fs || _fs;
const str2 = stringify2(obj, options);
await universalify.fromCallback(fs126.writeFile)(file, str2, options);
}
var writeFile3 = universalify.fromPromise(_writeFile);
function writeFileSync2(file, obj, options = {}) {
const fs126 = options.fs || _fs;
const str2 = stringify2(obj, options);
return fs126.writeFileSync(file, str2, options);
}
module2.exports = {
readFile: readFile4,
readFileSync: readFileSync4,
writeFile: writeFile3,
writeFileSync: writeFileSync2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/jsonfile.js
var require_jsonfile2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) {
"use strict";
var jsonFile = require_jsonfile();
module2.exports = {
// jsonfile exports
readJson: jsonFile.readFile,
readJsonSync: jsonFile.readFileSync,
writeJson: jsonFile.writeFile,
writeJsonSync: jsonFile.writeFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/output-file/index.js
var require_output_file = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/output-file/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs5();
var path236 = __require("path");
var mkdir2 = require_mkdirs();
var pathExists3 = require_path_exists().pathExists;
async function outputFile(file, data, encoding = "utf-8") {
const dir = path236.dirname(file);
if (!await pathExists3(dir)) {
await mkdir2.mkdirs(dir);
}
return fs126.writeFile(file, data, encoding);
}
function outputFileSync(file, ...args) {
const dir = path236.dirname(file);
if (!fs126.existsSync(dir)) {
mkdir2.mkdirsSync(dir);
}
fs126.writeFileSync(file, ...args);
}
module2.exports = {
outputFile: u2(outputFile),
outputFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/output-json.js
var require_output_json = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
"use strict";
var { stringify: stringify2 } = require_utils8();
var { outputFile } = require_output_file();
async function outputJson(file, data, options = {}) {
const str2 = stringify2(data, options);
await outputFile(file, str2, options);
}
module2.exports = outputJson;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/output-json-sync.js
var require_output_json_sync = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
"use strict";
var { stringify: stringify2 } = require_utils8();
var { outputFileSync } = require_output_file();
function outputJsonSync(file, data, options) {
const str2 = stringify2(data, options);
outputFileSync(file, str2, options);
}
module2.exports = outputJsonSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/index.js
var require_json2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/json/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var jsonFile = require_jsonfile2();
jsonFile.outputJson = u2(require_output_json());
jsonFile.outputJsonSync = require_output_json_sync();
jsonFile.outputJSON = jsonFile.outputJson;
jsonFile.outputJSONSync = jsonFile.outputJsonSync;
jsonFile.writeJSON = jsonFile.writeJson;
jsonFile.writeJSONSync = jsonFile.writeJsonSync;
jsonFile.readJSON = jsonFile.readJson;
jsonFile.readJSONSync = jsonFile.readJsonSync;
module2.exports = jsonFile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/move.js
var require_move = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/move.js"(exports2, module2) {
"use strict";
var fs126 = require_fs5();
var path236 = __require("path");
var { copy: copy2 } = require_copy2();
var { remove } = require_remove();
var { mkdirp } = require_mkdirs();
var { pathExists: pathExists3 } = require_path_exists();
var stat2 = require_stat();
async function move(src2, dest, opts3 = {}) {
const overwrite2 = opts3.overwrite || opts3.clobber || false;
const { srcStat, isChangingCase = false } = await stat2.checkPaths(src2, dest, "move", opts3);
await stat2.checkParentPaths(src2, srcStat, dest, "move");
const destParent = path236.dirname(dest);
const parsedParentPath = path236.parse(destParent);
if (parsedParentPath.root !== destParent) {
await mkdirp(destParent);
}
return doRename(src2, dest, overwrite2, isChangingCase);
}
async function doRename(src2, dest, overwrite2, isChangingCase) {
if (!isChangingCase) {
if (overwrite2) {
await remove(dest);
} else if (await pathExists3(dest)) {
throw new Error("dest already exists.");
}
}
try {
await fs126.rename(src2, dest);
} catch (err2) {
if (err2.code !== "EXDEV") {
throw err2;
}
await moveAcrossDevice(src2, dest, overwrite2);
}
}
async function moveAcrossDevice(src2, dest, overwrite2) {
const opts3 = {
overwrite: overwrite2,
errorOnExist: true,
preserveTimestamps: true
};
await copy2(src2, dest, opts3);
return remove(src2);
}
module2.exports = move;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/move-sync.js
var require_move_sync = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/move-sync.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var path236 = __require("path");
var copySync2 = require_copy2().copySync;
var removeSync = require_remove().removeSync;
var mkdirpSync = require_mkdirs().mkdirpSync;
var stat2 = require_stat();
function moveSync(src2, dest, opts3) {
opts3 = opts3 || {};
const overwrite2 = opts3.overwrite || opts3.clobber || false;
const { srcStat, isChangingCase = false } = stat2.checkPathsSync(src2, dest, "move", opts3);
stat2.checkParentPathsSync(src2, srcStat, dest, "move");
if (!isParentRoot(dest)) mkdirpSync(path236.dirname(dest));
return doRename(src2, dest, overwrite2, isChangingCase);
}
function isParentRoot(dest) {
const parent = path236.dirname(dest);
const parsedPath = path236.parse(parent);
return parsedPath.root === parent;
}
function doRename(src2, dest, overwrite2, isChangingCase) {
if (isChangingCase) return rename(src2, dest, overwrite2);
if (overwrite2) {
removeSync(dest);
return rename(src2, dest, overwrite2);
}
if (fs126.existsSync(dest)) throw new Error("dest already exists.");
return rename(src2, dest, overwrite2);
}
function rename(src2, dest, overwrite2) {
try {
fs126.renameSync(src2, dest);
} catch (err2) {
if (err2.code !== "EXDEV") throw err2;
return moveAcrossDevice(src2, dest, overwrite2);
}
}
function moveAcrossDevice(src2, dest, overwrite2) {
const opts3 = {
overwrite: overwrite2,
errorOnExist: true,
preserveTimestamps: true
};
copySync2(src2, dest, opts3);
return removeSync(src2);
}
module2.exports = moveSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/index.js
var require_move2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/move/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
module2.exports = {
move: u2(require_move()),
moveSync: require_move_sync()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/index.js
var require_lib13 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.4/4cb0d718f8660ad2564c0d882d89a7255b59466c803fa7e6007de96d8c5aa18b/node_modules/fs-extra/lib/index.js"(exports2, module2) {
"use strict";
module2.exports = {
// Export promiseified graceful-fs:
...require_fs5(),
// Export extra methods:
...require_copy2(),
...require_empty(),
...require_ensure(),
...require_json2(),
...require_mkdirs(),
...require_move2(),
...require_output_file(),
...require_path_exists(),
...require_remove()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/rename-overwrite/7.0.1/87428b418e43a94bf7c7f463bfc62ae5e0dc2e0a72cb36b94d07cf207fc3347b/node_modules/rename-overwrite/index.js
import crypto2 from "node:crypto";
import fs9 from "node:fs";
import path17 from "node:path";
async function renameOverwrite(oldPath, newPath, retry5 = 0) {
try {
await fs9.promises.rename(oldPath, newPath);
} catch (err2) {
retry5++;
if (retry5 > 3) throw err2;
switch (err2.code) {
case "ENOTEMPTY":
case "EEXIST":
case "ENOTDIR":
try {
await swapRename(oldPath, newPath);
} catch {
await rimraf(newPath);
await fs9.promises.rename(oldPath, newPath);
}
break;
// Windows Antivirus issues
case "EPERM":
case "EACCESS":
case "EBUSY": {
try {
await rimraf(newPath);
} catch {
}
const start = Date.now();
let backoff = 0;
let lastError = err2;
while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS" || lastError.code === "EBUSY")) {
await new Promise((resolve4) => setTimeout(resolve4, backoff));
try {
await fs9.promises.rename(oldPath, newPath);
return;
} catch (err3) {
lastError = err3;
}
if (backoff < 100) {
backoff += 10;
}
}
throw lastError;
}
case "ENOENT":
try {
await fs9.promises.stat(oldPath);
} catch (statErr) {
if (statErr.code === "ENOENT") {
throw statErr;
}
}
await fs9.promises.mkdir(path17.dirname(newPath), { recursive: true });
await renameOverwrite(oldPath, newPath, retry5);
break;
// Crossing filesystem boundaries so rename is not available
case "EXDEV":
try {
await rimraf(newPath);
} catch (rimrafErr) {
if (rimrafErr.code !== "ENOENT") {
throw rimrafErr;
}
}
await copy(oldPath, newPath);
await rimraf(oldPath);
break;
default:
throw err2;
}
}
}
function renameOverwriteSync(oldPath, newPath, retry5 = 0) {
try {
fs9.renameSync(oldPath, newPath);
} catch (err2) {
retry5++;
if (retry5 > 3) throw err2;
switch (err2.code) {
// Windows Antivirus issues
case "EPERM":
case "EACCESS":
case "EBUSY": {
try {
rimrafSync(newPath);
} catch {
}
const start = Date.now();
let backoff = 0;
let lastError = err2;
while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS" || lastError.code === "EBUSY")) {
const waitUntil = Date.now() + backoff;
while (waitUntil > Date.now()) {
}
try {
fs9.renameSync(oldPath, newPath);
return;
} catch (err3) {
lastError = err3;
}
if (backoff < 100) {
backoff += 10;
}
}
throw lastError;
}
case "ENOTEMPTY":
case "EEXIST":
case "ENOTDIR":
try {
swapRenameSync(oldPath, newPath);
} catch {
rimrafSync(newPath);
fs9.renameSync(oldPath, newPath);
}
break;
case "ENOENT":
fs9.mkdirSync(path17.dirname(newPath), { recursive: true });
renameOverwriteSync(oldPath, newPath, retry5);
return;
// Crossing filesystem boundaries so rename is not available
case "EXDEV":
try {
rimrafSync(newPath);
} catch (rimrafErr) {
if (rimrafErr.code !== "ENOENT") {
throw rimrafErr;
}
}
copySync(oldPath, newPath);
rimrafSync(oldPath);
break;
default:
throw err2;
}
}
}
function tempPath(p) {
return `${p}_${process.pid.toString(16)}_${crypto2.randomBytes(4).toString("hex")}`;
}
async function swapRename(oldPath, newPath) {
const temp = tempPath(newPath);
await fs9.promises.rename(newPath, temp);
try {
await fs9.promises.rename(oldPath, newPath);
} catch (err2) {
try {
await fs9.promises.rename(temp, newPath);
} catch {
}
throw err2;
}
rimraf(temp).catch(() => {
});
}
function swapRenameSync(oldPath, newPath) {
const temp = tempPath(newPath);
fs9.renameSync(newPath, temp);
try {
fs9.renameSync(oldPath, newPath);
} catch (err2) {
try {
fs9.renameSync(temp, newPath);
} catch {
}
throw err2;
}
try {
rimrafSync(temp);
} catch {
}
}
var import_fs_extra, copySync, copy;
var init_rename_overwrite = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/rename-overwrite/7.0.1/87428b418e43a94bf7c7f463bfc62ae5e0dc2e0a72cb36b94d07cf207fc3347b/node_modules/rename-overwrite/index.js"() {
import_fs_extra = __toESM(require_lib13(), 1);
init_rimraf();
({ copySync, copy } = import_fs_extra.default);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/symlink-dir/10.0.1/99651a995e6d76e095bc87316473b0e784f9c820abf21dbac80a697d2ae16c64/node_modules/symlink-dir/dist/index.js
import { promises as fs10, symlinkSync, mkdirSync, readlinkSync, unlinkSync } from "fs";
import { types } from "util";
import pathLib from "path";
function resolveSrcOnWinJunction(src2) {
return `${src2}\\`;
}
function resolveSrcOnTrueSymlink(src2, dest) {
return pathLib.relative(pathLib.dirname(dest), src2);
}
function symlinkDir(target2, path236, opts3) {
path236 = betterPathResolve(path236);
target2 = betterPathResolve(target2);
if (target2 === path236)
throw new Error(`Symlink path is the same as the target path (${target2})`);
return forceSymlink(target2, path236, opts3);
}
function isExistingSymlinkUpToDate(wantedTarget, path236, linkString) {
const existingTarget = pathLib.isAbsolute(linkString) ? linkString : pathLib.join(pathLib.dirname(path236), linkString);
return pathLib.relative(wantedTarget, existingTarget) === "";
}
function createTrueSymlinkAsync(target2, path236) {
return fs10.symlink(resolveSrcOnTrueSymlink(target2, path236), path236, "dir");
}
function createTrueSymlinkSync(target2, path236) {
symlinkSync(resolveSrcOnTrueSymlink(target2, path236), path236, "dir");
}
function createJunctionAsync(target2, path236) {
return fs10.symlink(resolveSrcOnWinJunction(target2), path236, "junction");
}
function createJunctionSync(target2, path236) {
symlinkSync(resolveSrcOnWinJunction(target2), path236, "junction");
}
async function forceSymlink(target2, path236, opts3) {
let initialErr;
try {
if (opts3?.noJunction === true) {
await createTrueSymlinkAsync(target2, path236);
} else {
await createSymlinkAsync(target2, path236);
}
return { reused: false };
} catch (err2) {
switch (err2.code) {
case "ENOENT":
try {
await fs10.mkdir(pathLib.dirname(path236), { recursive: true });
} catch (mkdirError) {
mkdirError.message = `Error while trying to symlink "${target2}" to "${path236}". The error happened while trying to create the parent directory for the symlink target. Details: ${mkdirError}`;
throw mkdirError;
}
await forceSymlink(target2, path236, opts3);
return { reused: false };
case "EEXIST":
case "EISDIR":
initialErr = err2;
break;
default:
throw err2;
}
}
let linkString;
try {
linkString = await fs10.readlink(path236);
} catch (err2) {
if (opts3?.overwrite === false) {
throw initialErr;
}
const parentDir = pathLib.dirname(path236);
let warn;
if (opts3?.renameTried) {
await fs10.unlink(path236);
warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path236)}".`;
} else {
const ignore2 = `.ignored_${pathLib.basename(path236)}`;
try {
await renameOverwrite(path236, pathLib.join(parentDir, ignore2));
} catch (error) {
if (types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
throw initialErr;
}
throw error;
}
warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path236)} => ${ignore2}".`;
}
return {
...await forceSymlink(target2, path236, { ...opts3, renameTried: true }),
warn
};
}
if (isExistingSymlinkUpToDate(target2, path236, linkString)) {
return { reused: true };
}
if (opts3?.overwrite === false) {
throw initialErr;
}
try {
await fs10.unlink(path236);
} catch (error) {
if (!types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") {
throw error;
}
}
return await forceSymlink(target2, path236, opts3);
}
var IS_WINDOWS, createSymlinkAsync, createSymlinkSync;
var init_dist3 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/symlink-dir/10.0.1/99651a995e6d76e095bc87316473b0e784f9c820abf21dbac80a697d2ae16c64/node_modules/symlink-dir/dist/index.js"() {
init_better_path_resolve();
init_rename_overwrite();
IS_WINDOWS = process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE);
if (IS_WINDOWS) {
createSymlinkAsync = async (target2, path236) => {
try {
await createTrueSymlinkAsync(target2, path236);
createSymlinkSync = createTrueSymlinkSync;
createSymlinkAsync = createTrueSymlinkAsync;
} catch (err2) {
if (err2.code === "EPERM") {
await createJunctionAsync(target2, path236);
createSymlinkSync = createJunctionSync;
createSymlinkAsync = createJunctionAsync;
} else {
throw err2;
}
}
};
createSymlinkSync = (target2, path236) => {
try {
createTrueSymlinkSync(target2, path236);
createSymlinkSync = createTrueSymlinkSync;
createSymlinkAsync = createTrueSymlinkAsync;
} catch (err2) {
if (err2.code === "EPERM") {
createJunctionSync(target2, path236);
createSymlinkSync = createJunctionSync;
createSymlinkAsync = createJunctionAsync;
} else {
throw err2;
}
}
};
} else {
createSymlinkAsync = createTrueSymlinkAsync;
createSymlinkSync = createTrueSymlinkSync;
}
}
});
// ../bins/linker/lib/getBinNodePaths.js
import { promises as fs11 } from "node:fs";
import path18 from "node:path";
async function getBinNodePaths(target2) {
const targetDir = path18.dirname(target2);
let dir;
try {
dir = await fs11.realpath(targetDir);
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
dir = targetDir;
}
let currentDir = dir;
while (true) {
if (path18.basename(currentDir) === "node_modules") {
if (path18.basename(path18.dirname(currentDir)) !== "node_modules") {
const nodeModulesDir = currentDir;
const result2 = [];
const rel = path18.relative(nodeModulesDir, dir);
if (rel) {
const relSegments = rel.split(path18.sep);
const pkgDir = relSegments[0].startsWith("@") ? path18.join(nodeModulesDir, relSegments[0], relSegments[1]) : path18.join(nodeModulesDir, relSegments[0]);
result2.push(path18.join(pkgDir, "node_modules"));
}
result2.push(nodeModulesDir);
return result2;
}
}
const parent = path18.dirname(currentDir);
if (parent === currentDir)
break;
currentDir = parent;
}
return [];
}
var init_getBinNodePaths = __esm({
"../bins/linker/lib/getBinNodePaths.js"() {
"use strict";
}
});
// ../bins/linker/lib/index.js
import { existsSync as existsSync2, promises as fs12 } from "node:fs";
import { createRequire as createRequire3 } from "node:module";
import path19 from "node:path";
async function linkBins(modulesDir, binsDir, opts3) {
const allDeps = await readModulesDir(modulesDir);
if (allDeps === null)
return [];
return linkBinsOfPkgsByAliases(allDeps, binsDir, {
...opts3,
modulesDir
});
}
async function linkBinsOfPkgsByAliases(depsAliases, binsDir, opts3) {
const pkgBinOpts = {
allowExoticManifests: false,
...opts3
};
const directDependencies = opts3.projectManifest == null ? void 0 : new Set(Object.keys(getAllDependenciesFromManifest2(opts3.projectManifest)));
const allCmds = unnest_default((await Promise.all(depsAliases.map((alias) => ({
depDir: path19.resolve(opts3.modulesDir, alias),
isDirectDependency: directDependencies?.has(alias)
})).filter(({ depDir }) => !isSubdir(depDir, binsDir)).map(async ({ depDir, isDirectDependency }) => {
const target2 = (0, import_normalize_path.default)(depDir);
const cmds = await getPackageBins(pkgBinOpts, target2);
return cmds.map((cmd) => ({ ...cmd, isDirectDependency }));
}))).filter((cmds) => cmds.length));
const cmdsToLink = directDependencies != null ? preferDirectCmds(allCmds) : allCmds;
return _linkBins(cmdsToLink, binsDir, opts3);
}
function preferDirectCmds(allCmds) {
const [directCmds, hoistedCmds] = partition_default((cmd) => cmd.isDirectDependency === true, allCmds);
const usedDirectCmds = new Set(directCmds.map((directCmd) => directCmd.name));
return [
...directCmds,
...hoistedCmds.filter(({ name }) => !usedDirectCmds.has(name))
];
}
async function linkBinsOfPackages(pkgs, binsTarget, opts3 = {}) {
if (pkgs.length === 0)
return [];
let allCmds = unnest_default((await Promise.all(pkgs.map(async (pkg) => getPackageBinsFromManifest(pkg.manifest, pkg.location)))).filter((cmds) => cmds.length));
const excludeBins = opts3.excludeBins;
if (excludeBins?.size) {
allCmds = allCmds.filter((cmd) => !excludeBins.has(cmd.name));
}
return _linkBins(allCmds, binsTarget, opts3);
}
async function _linkBins(allCmds, binsDir, opts3) {
if (allCmds.length === 0)
return [];
allCmds = deduplicateCommands(allCmds, binsDir);
await fs12.mkdir(binsDir, { recursive: true });
const results = await Promise.allSettled(allCmds.map(async (cmd) => linkBin(cmd, binsDir, opts3)));
for (const result2 of results) {
if (result2.status === "rejected") {
throw result2.reason;
}
}
return allCmds.map((cmd) => cmd.pkgName);
}
function deduplicateCommands(commands2, binsDir) {
const cmdGroups = groupBy_default((cmd) => cmd.name, commands2);
return Object.values(cmdGroups).filter((group) => group !== void 0 && group.length !== 0).map((group) => resolveCommandConflicts(group, binsDir));
}
function resolveCommandConflicts(group, binsDir) {
return group.reduce((a2, b) => {
const [chosen, skipped] = compareCommandsInConflict(a2, b) >= 0 ? [a2, b] : [b, a2];
logCommandConflict(chosen, skipped, binsDir);
return chosen;
});
}
function compareCommandsInConflict(a2, b) {
const aOwns = pkgOwnsBin(a2.name, a2.pkgName);
const bOwns = pkgOwnsBin(b.name, b.pkgName);
if (aOwns && !bOwns)
return 1;
if (!aOwns && bOwns)
return -1;
if (a2.pkgName !== b.pkgName)
return a2.pkgName.localeCompare(b.pkgName);
return import_semver3.default.compare(a2.pkgVersion, b.pkgVersion);
}
function logCommandConflict(chosen, skipped, binsDir) {
binsConflictLogger.debug({
binaryName: skipped.name,
binsDir,
linkedPkgName: chosen.pkgName,
linkedPkgVersion: chosen.pkgVersion,
skippedPkgName: skipped.pkgName,
skippedPkgVersion: skipped.pkgVersion
});
}
async function isFromModules(filename) {
const real = await fs12.realpath(filename);
return (0, import_normalize_path.default)(real).includes("/node_modules/");
}
async function getPackageBins(opts3, target2) {
const manifest = opts3.allowExoticManifests ? await safeReadProjectManifestOnly(target2) : await safeReadPkgJson(target2);
if (manifest == null) {
return [];
}
if (isEmpty_default(manifest.bin) && !await isFromModules(target2)) {
opts3.warn(`Package in ${target2} must have a non-empty bin field to get bin linked.`, "EMPTY_BIN");
}
if (typeof manifest.bin === "string" && !manifest.name) {
throw new PnpmError("INVALID_PACKAGE_NAME", `Package in ${target2} must have a name to get bin linked.`);
}
return getPackageBinsFromManifest(manifest, target2);
}
async function getPackageBinsFromManifest(manifest, pkgDir) {
const cmds = await getBinsFromPackageManifest(manifest, pkgDir);
let nodeExecPath;
if (manifest.engines?.runtime && runtimeHasNodeDownloaded(manifest.engines.runtime)) {
const require4 = createRequire3(import.meta.dirname);
const nodeDir = path19.dirname(require4.resolve("node/CHANGELOG.md", { paths: [pkgDir] }));
if (nodeDir) {
nodeExecPath = path19.join(nodeDir, IS_WINDOWS2 ? "node.exe" : "bin/node");
}
}
return cmds.map((cmd) => ({
...cmd,
pkgName: manifest.name,
pkgVersion: manifest.version,
makePowerShellShim: POWER_SHELL_IS_SUPPORTED && manifest.name !== "pnpm",
nodeExecPath
}));
}
function runtimeHasNodeDownloaded(runtime) {
if (!Array.isArray(runtime)) {
return runtime.name === "node" && runtime.onFail === "download";
}
return runtime.find(({ name }) => name === "node")?.onFail === "download";
}
async function linkBin(cmd, binsDir, opts3) {
const externalBinPath = path19.join(binsDir, cmd.name);
try {
const stat2 = await fs12.lstat(externalBinPath);
if (stat2.isSymbolicLink()) {
const target2 = await fs12.readlink(externalBinPath);
if (target2 === cmd.path || path19.resolve(binsDir, target2) === path19.resolve(cmd.path)) {
return;
}
} else if (stat2.isFile() && stat2.size < CMD_SHIM_MAX_SIZE) {
const content = await fs12.readFile(externalBinPath, "utf8");
if (isShimPointingAt(content, cmd.path)) {
return;
}
}
} catch {
}
if (IS_WINDOWS2) {
const exePath = path19.join(binsDir, `${cmd.name}${getExeExtension2()}`);
const isNodeExe = cmd.name === "node" && cmd.path.toLowerCase().endsWith(".exe");
if (existsSync2(exePath)) {
if (isNodeExe && await isSameFile(exePath, cmd.path)) {
return;
}
globalWarn(`The target bin directory already contains an exe called ${cmd.name}, so removing ${exePath}`);
await rimraf(exePath);
}
if (isNodeExe) {
try {
await fs12.link(cmd.path, exePath);
} catch {
await fs12.copyFile(cmd.path, exePath);
}
return;
}
} else if (cmd.name === "node") {
await rimraf(externalBinPath);
await fs12.symlink(cmd.path, externalBinPath, "file");
return;
}
if (opts3?.preferSymlinkedExecutables && !IS_WINDOWS2 && cmd.nodeExecPath == null) {
try {
await symlinkDir(cmd.path, externalBinPath);
await ensureExecutable(cmd.path, 493);
} catch (err2) {
if (err2.code !== "ENOENT" && err2.code !== "EISDIR") {
throw err2;
}
globalWarn(`Failed to create bin at ${externalBinPath}. ${err2.message}`);
}
return;
}
try {
let nodePath;
if (opts3?.extraNodePaths?.length) {
const binNodePaths = await getBinNodePaths(cmd.path);
if (binNodePaths.length === 0) {
nodePath = opts3.extraNodePaths;
} else {
nodePath = [...binNodePaths];
for (const p of opts3.extraNodePaths) {
if (!binNodePaths.includes(p)) {
nodePath.push(p);
}
}
}
}
await cmdShim(cmd.path, externalBinPath, {
createPwshFile: cmd.makePowerShellShim,
nodePath,
nodeExecPath: cmd.nodeExecPath
});
} catch (err2) {
if (err2.code === "ENOENT" || err2.code === "EISDIR") {
globalWarn(`Failed to create bin at ${externalBinPath}. ${err2.message}`);
return;
}
if (IS_WINDOWS2 && err2.code === "EPERM") {
globalWarn(`Failed to create bin at ${externalBinPath}. ${err2.message}`);
return;
}
throw err2;
}
if (EXECUTABLE_SHEBANG_SUPPORTED) {
await ensureExecutable(cmd.path, 493);
}
}
async function isSameFile(pathA, pathB) {
const [statA, statB] = await Promise.all([
fs12.stat(pathA, { bigint: true }).catch(() => null),
fs12.stat(pathB, { bigint: true }).catch(() => null)
]);
if (statA == null || statB == null)
return false;
if (statA.ino && statB.ino && statA.ino === statB.ino && statA.dev === statB.dev) {
return true;
}
if (statA.size !== statB.size)
return false;
return haveEqualContents(pathA, pathB);
}
async function haveEqualContents(pathA, pathB) {
const [fhA, fhB] = await Promise.all([
fs12.open(pathA, "r").catch(() => null),
fs12.open(pathB, "r").catch(() => null)
]);
if (fhA == null || fhB == null) {
await fhA?.close().catch(() => {
});
await fhB?.close().catch(() => {
});
return false;
}
try {
const bufA = Buffer.alloc(FILE_COMPARE_CHUNK_SIZE);
const bufB = Buffer.alloc(FILE_COMPARE_CHUNK_SIZE);
let position3 = 0;
for (; ; ) {
const [readA, readB] = await Promise.all([
fhA.read(bufA, 0, FILE_COMPARE_CHUNK_SIZE, position3),
fhB.read(bufB, 0, FILE_COMPARE_CHUNK_SIZE, position3)
]);
if (readA.bytesRead !== readB.bytesRead)
return false;
if (readA.bytesRead === 0)
return true;
if (!bufA.subarray(0, readA.bytesRead).equals(bufB.subarray(0, readB.bytesRead))) {
return false;
}
position3 += readA.bytesRead;
}
} catch {
return false;
} finally {
await fhA.close().catch(() => {
});
await fhB.close().catch(() => {
});
}
}
async function ensureExecutable(file, mode) {
try {
await (0, import_fix_bin.default)(file, mode);
} catch (err2) {
if (err2.code === "EPERM" || err2.code === "EACCES" || err2.code === "EROFS") {
const stat2 = await fs12.stat(file).catch(() => void 0);
if (stat2 != null && (stat2.mode & 73) !== 0 && !await hasWindowsShebang(file))
return;
}
throw err2;
}
}
async function hasWindowsShebang(file) {
const fh = await fs12.open(file, "r").catch(() => void 0);
if (fh == null)
return false;
try {
const buf = Buffer.alloc(2048);
await fh.read(buf, 0, 2048, 0);
return buf[0] === 35 && buf[1] === 33 && /^#![^\n]+\r\n/.test(buf.toString());
} catch {
return false;
} finally {
await fh.close().catch(() => {
});
}
}
function getExeExtension2() {
let cmdExtension2;
if (process.env.PATHEXT) {
cmdExtension2 = process.env.PATHEXT.split(path19.delimiter).find((ext) => ext.toUpperCase() === ".EXE");
}
return cmdExtension2 ?? ".exe";
}
async function safeReadPkgJson(pkgDir) {
try {
return await readPackageJsonFromDir(pkgDir);
} catch (err2) {
if (err2.code === "ENOENT") {
return null;
}
throw err2;
}
}
var import_fix_bin, import_is_windows5, import_normalize_path, import_semver3, binsConflictLogger, IS_WINDOWS2, EXECUTABLE_SHEBANG_SUPPORTED, POWER_SHELL_IS_SUPPORTED, CMD_SHIM_MAX_SIZE, FILE_COMPARE_CHUNK_SIZE;
var init_lib16 = __esm({
"../bins/linker/lib/index.js"() {
"use strict";
init_lib7();
init_lib2();
init_lib8();
init_lib3();
init_lib5();
init_lib11();
init_lib15();
init_cmd_shim();
init_rimraf();
import_fix_bin = __toESM(require_fix_bin(), 1);
init_is_subdir();
import_is_windows5 = __toESM(require_is_windows(), 1);
import_normalize_path = __toESM(require_normalize_path(), 1);
init_es();
import_semver3 = __toESM(require_semver2(), 1);
init_dist3();
init_getBinNodePaths();
binsConflictLogger = logger("bins-conflict");
IS_WINDOWS2 = (0, import_is_windows5.default)();
EXECUTABLE_SHEBANG_SUPPORTED = !IS_WINDOWS2;
POWER_SHELL_IS_SUPPORTED = IS_WINDOWS2;
CMD_SHIM_MAX_SIZE = 4 * 1024;
FILE_COMPARE_CHUNK_SIZE = 64 * 1024;
}
});
// ../building/pkg-requires-build/lib/index.js
function pkgRequiresBuild(manifest, filesIndex) {
return Boolean(manifest?.scripts != null && (Boolean(manifest.scripts.preinstall) || Boolean(manifest.scripts.install) || Boolean(manifest.scripts.postinstall)) || filesIncludeInstallScripts(filesIndex));
}
function filesIncludeInstallScripts(filesIndex) {
const keys4 = filesIndex instanceof Map ? filesIndex.keys() : Object.keys(filesIndex);
for (const filename of keys4) {
if (filename === "binding.gyp") {
return true;
}
if (filename.match(/^\.hooks[\\/]/) != null) {
return true;
}
}
return false;
}
var init_lib17 = __esm({
"../building/pkg-requires-build/lib/index.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/balanced-match/4.0.4/20ce58b2b100ca858b16cc41734471d4d3b319709eb185a5c2c65823a18382f2/node_modules/balanced-match/dist/commonjs/index.js
var require_commonjs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/balanced-match/4.0.4/20ce58b2b100ca858b16cc41734471d4d3b319709eb185a5c2c65823a18382f2/node_modules/balanced-match/dist/commonjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.range = exports2.balanced = void 0;
var balanced = (a2, b, str2) => {
const ma = a2 instanceof RegExp ? maybeMatch(a2, str2) : a2;
const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
return r && {
start: r[0],
end: r[1],
pre: str2.slice(0, r[0]),
body: str2.slice(r[0] + ma.length, r[1]),
post: str2.slice(r[1] + mb.length)
};
};
exports2.balanced = balanced;
var maybeMatch = (reg, str2) => {
const m = str2.match(reg);
return m ? m[0] : null;
};
var range = (a2, b, str2) => {
let begs, beg, left, right = void 0, result2;
let ai = str2.indexOf(a2);
let bi = str2.indexOf(b, ai + 1);
let i4 = ai;
if (ai >= 0 && bi > 0) {
if (a2 === b) {
return [ai, bi];
}
begs = [];
left = str2.length;
while (i4 >= 0 && !result2) {
if (i4 === ai) {
begs.push(i4);
ai = str2.indexOf(a2, i4 + 1);
} else if (begs.length === 1) {
const r = begs.pop();
if (r !== void 0)
result2 = [r, bi];
} else {
beg = begs.pop();
if (beg !== void 0 && beg < left) {
left = beg;
right = bi;
}
bi = str2.indexOf(b, i4 + 1);
}
i4 = ai < bi && ai >= 0 ? ai : bi;
}
if (begs.length && right !== void 0) {
result2 = [left, right];
}
}
return result2;
};
exports2.range = range;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/brace-expansion/5.0.7/493f12a010ae2b8e12f4c88ed5c433832351b112cf7cb5fe8313717ae0a54593/node_modules/brace-expansion/dist/commonjs/index.js
var require_commonjs2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/brace-expansion/5.0.7/493f12a010ae2b8e12f4c88ed5c433832351b112cf7cb5fe8313717ae0a54593/node_modules/brace-expansion/dist/commonjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EXPANSION_MAX = void 0;
exports2.expand = expand;
var balanced_match_1 = require_commonjs();
var escSlash = "\0SLASH" + Math.random() + "\0";
var escOpen = "\0OPEN" + Math.random() + "\0";
var escClose = "\0CLOSE" + Math.random() + "\0";
var escComma = "\0COMMA" + Math.random() + "\0";
var escPeriod = "\0PERIOD" + Math.random() + "\0";
var escSlashPattern = new RegExp(escSlash, "g");
var escOpenPattern = new RegExp(escOpen, "g");
var escClosePattern = new RegExp(escClose, "g");
var escCommaPattern = new RegExp(escComma, "g");
var escPeriodPattern = new RegExp(escPeriod, "g");
var slashPattern = /\\\\/g;
var openPattern = /\\{/g;
var closePattern = /\\}/g;
var commaPattern = /\\,/g;
var periodPattern = /\\\./g;
exports2.EXPANSION_MAX = 1e5;
function numeric(str2) {
return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
}
function escapeBraces(str2) {
return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
}
function unescapeBraces(str2) {
return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
}
function parseCommaParts(str2) {
if (!str2) {
return [""];
}
const parts = [];
const m = (0, balanced_match_1.balanced)("{", "}", str2);
if (!m) {
return str2.split(",");
}
const { pre, body, post } = m;
const p = pre.split(",");
p[p.length - 1] += "{" + body + "}";
const postParts = parseCommaParts(post);
if (post.length) {
;
p[p.length - 1] += postParts.shift();
p.push.apply(p, postParts);
}
parts.push.apply(parts, p);
return parts;
}
function expand(str2, options = {}) {
if (!str2) {
return [];
}
const { max: max4 = exports2.EXPANSION_MAX } = options;
if (str2.slice(0, 2) === "{}") {
str2 = "\\{\\}" + str2.slice(2);
}
return expand_(escapeBraces(str2), max4, true).map(unescapeBraces);
}
function embrace(str2) {
return "{" + str2 + "}";
}
function isPadded(el) {
return /^-?0\d/.test(el);
}
function lte(i4, y) {
return i4 <= y;
}
function gte(i4, y) {
return i4 >= y;
}
function expand_(str2, max4, isTop) {
const expansions = [];
for (; ; ) {
const m = (0, balanced_match_1.balanced)("{", "}", str2);
if (!m)
return [str2];
const pre = m.pre;
if (/\$$/.test(m.pre)) {
const post2 = m.post.length ? expand_(m.post, max4, false) : [""];
for (let k2 = 0; k2 < post2.length && k2 < max4; k2++) {
const expansion = pre + "{" + m.body + "}" + post2[k2];
expansions.push(expansion);
}
return expansions;
}
const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
const isSequence = isNumericSequence || isAlphaSequence;
const isOptions = m.body.indexOf(",") >= 0;
if (!isSequence && !isOptions) {
if (m.post.match(/,(?!,).*\}/)) {
str2 = m.pre + "{" + m.body + escClose + m.post;
isTop = true;
continue;
}
return [str2];
}
const post = m.post.length ? expand_(m.post, max4, false) : [""];
let n2;
if (isSequence) {
n2 = m.body.split(/\.\./);
} else {
n2 = parseCommaParts(m.body);
if (n2.length === 1 && n2[0] !== void 0) {
n2 = expand_(n2[0], max4, false).map(embrace);
if (n2.length === 1) {
return post.map((p) => m.pre + n2[0] + p);
}
}
}
let N;
if (isSequence && n2[0] !== void 0 && n2[1] !== void 0) {
const x3 = numeric(n2[0]);
const y = numeric(n2[1]);
const width = Math.max(n2[0].length, n2[1].length);
let incr = n2.length === 3 && n2[2] !== void 0 ? Math.max(Math.abs(numeric(n2[2])), 1) : 1;
let test = lte;
const reverse3 = y < x3;
if (reverse3) {
incr *= -1;
test = gte;
}
const pad4 = n2.some(isPadded);
N = [];
for (let i4 = x3; test(i4, y) && N.length < max4; i4 += incr) {
let c3;
if (isAlphaSequence) {
c3 = String.fromCharCode(i4);
if (c3 === "\\") {
c3 = "";
}
} else {
c3 = String(i4);
if (pad4) {
const need = width - c3.length;
if (need > 0) {
const z = new Array(need + 1).join("0");
if (i4 < 0) {
c3 = "-" + z + c3.slice(1);
} else {
c3 = z + c3;
}
}
}
}
N.push(c3);
}
} else {
N = [];
for (let j2 = 0; j2 < n2.length; j2++) {
N.push.apply(N, expand_(n2[j2], max4, false));
}
}
for (let j2 = 0; j2 < N.length; j2++) {
for (let k2 = 0; k2 < post.length && expansions.length < max4; k2++) {
const expansion = pre + N[j2] + post[k2];
if (!isTop || isSequence || expansion) {
expansions.push(expansion);
}
}
}
return expansions;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
var require_assert_valid_pattern = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.assertValidPattern = void 0;
var MAX_PATTERN_LENGTH = 1024 * 64;
var assertValidPattern = (pattern) => {
if (typeof pattern !== "string") {
throw new TypeError("invalid pattern");
}
if (pattern.length > MAX_PATTERN_LENGTH) {
throw new TypeError("pattern is too long");
}
};
exports2.assertValidPattern = assertValidPattern;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/brace-expressions.js
var require_brace_expressions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseClass = void 0;
var posixClasses = {
"[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
"[:alpha:]": ["\\p{L}\\p{Nl}", true],
"[:ascii:]": ["\\x00-\\x7f", false],
"[:blank:]": ["\\p{Zs}\\t", true],
"[:cntrl:]": ["\\p{Cc}", true],
"[:digit:]": ["\\p{Nd}", true],
"[:graph:]": ["\\p{Z}\\p{C}", true, true],
"[:lower:]": ["\\p{Ll}", true],
"[:print:]": ["\\p{C}", true],
"[:punct:]": ["\\p{P}", true],
"[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
"[:upper:]": ["\\p{Lu}", true],
"[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
"[:xdigit:]": ["A-Fa-f0-9", false]
};
var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
var rangesToString = (ranges) => ranges.join("");
var parseClass = (glob2, position3) => {
const pos = position3;
if (glob2.charAt(pos) !== "[") {
throw new Error("not in a brace expression");
}
const ranges = [];
const negs = [];
let i4 = pos + 1;
let sawStart = false;
let uflag = false;
let escaping = false;
let negate = false;
let endPos = pos;
let rangeStart = "";
WHILE: while (i4 < glob2.length) {
const c3 = glob2.charAt(i4);
if ((c3 === "!" || c3 === "^") && i4 === pos + 1) {
negate = true;
i4++;
continue;
}
if (c3 === "]" && sawStart && !escaping) {
endPos = i4 + 1;
break;
}
sawStart = true;
if (c3 === "\\") {
if (!escaping) {
escaping = true;
i4++;
continue;
}
}
if (c3 === "[" && !escaping) {
for (const [cls, [unip, u2, neg]] of Object.entries(posixClasses)) {
if (glob2.startsWith(cls, i4)) {
if (rangeStart) {
return ["$.", false, glob2.length - pos, true];
}
i4 += cls.length;
if (neg)
negs.push(unip);
else
ranges.push(unip);
uflag = uflag || u2;
continue WHILE;
}
}
}
escaping = false;
if (rangeStart) {
if (c3 > rangeStart) {
ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c3));
} else if (c3 === rangeStart) {
ranges.push(braceEscape(c3));
}
rangeStart = "";
i4++;
continue;
}
if (glob2.startsWith("-]", i4 + 1)) {
ranges.push(braceEscape(c3 + "-"));
i4 += 2;
continue;
}
if (glob2.startsWith("-", i4 + 1)) {
rangeStart = c3;
i4 += 2;
continue;
}
ranges.push(braceEscape(c3));
i4++;
}
if (endPos < i4) {
return ["", false, 0, false];
}
if (!ranges.length && !negs.length) {
return ["$.", false, glob2.length - pos, true];
}
if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
return [regexpEscape(r), false, endPos - pos, false];
}
const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
return [comb, uflag, endPos - pos, true];
};
exports2.parseClass = parseClass;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/unescape.js
var require_unescape = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.unescape = void 0;
var unescape2 = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
if (magicalBraces) {
return windowsPathsNoEscape ? s.replace(/\[([^/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\])\]/g, "$1$2").replace(/\\([^/])/g, "$1");
}
return windowsPathsNoEscape ? s.replace(/\[([^/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\{}])\]/g, "$1$2").replace(/\\([^/{}])/g, "$1");
};
exports2.unescape = unescape2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/ast.js
var require_ast = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
"use strict";
var _a2;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AST = void 0;
var brace_expressions_js_1 = require_brace_expressions();
var unescape_js_1 = require_unescape();
var types3 = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
var isExtglobType = (c3) => types3.has(c3);
var isExtglobAST = (c3) => isExtglobType(c3.type);
var adoptionMap = /* @__PURE__ */ new Map([
["!", ["@"]],
["?", ["?", "@"]],
["@", ["@"]],
["*", ["*", "+", "?", "@"]],
["+", ["+", "@"]]
]);
var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
["!", ["?"]],
["@", ["?"]],
["+", ["?", "*"]]
]);
var adoptionAnyMap = /* @__PURE__ */ new Map([
["!", ["?", "@"]],
["?", ["?", "@"]],
["@", ["?", "@"]],
["*", ["*", "+", "?", "@"]],
["+", ["+", "@", "?", "*"]]
]);
var usurpMap = /* @__PURE__ */ new Map([
["!", /* @__PURE__ */ new Map([["!", "@"]])],
[
"?",
/* @__PURE__ */ new Map([
["*", "*"],
["+", "*"]
])
],
[
"@",
/* @__PURE__ */ new Map([
["!", "!"],
["?", "?"],
["@", "@"],
["*", "*"],
["+", "+"]
])
],
[
"+",
/* @__PURE__ */ new Map([
["?", "*"],
["*", "*"]
])
]
]);
var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
var startNoDot = "(?!\\.)";
var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
var justDots = /* @__PURE__ */ new Set(["..", "."]);
var reSpecials = new Set("().*{}+?[]^$\\!");
var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
var qmark = "[^/]";
var star = qmark + "*?";
var starNoEmpty = qmark + "+?";
var ID = 0;
var AST = class {
type;
#root;
#hasMagic;
#uflag = false;
#parts = [];
#parent;
#parentIndex;
#negs;
#filledNegs = false;
#options;
#toString;
// set to true if it's an extglob with no children
// (which really means one child of '')
#emptyExt = false;
id = ++ID;
get depth() {
return (this.#parent?.depth ?? -1) + 1;
}
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
return {
"@@type": "AST",
id: this.id,
type: this.type,
root: this.#root.id,
parent: this.#parent?.id,
depth: this.depth,
partsLength: this.#parts.length,
parts: this.#parts
};
}
constructor(type4, parent, options = {}) {
this.type = type4;
if (type4)
this.#hasMagic = true;
this.#parent = parent;
this.#root = this.#parent ? this.#parent.#root : this;
this.#options = this.#root === this ? options : this.#root.#options;
this.#negs = this.#root === this ? [] : this.#root.#negs;
if (type4 === "!" && !this.#root.#filledNegs)
this.#negs.push(this);
this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
}
get hasMagic() {
if (this.#hasMagic !== void 0)
return this.#hasMagic;
for (const p of this.#parts) {
if (typeof p === "string")
continue;
if (p.type || p.hasMagic)
return this.#hasMagic = true;
}
return this.#hasMagic;
}
// reconstructs the pattern
toString() {
return this.#toString !== void 0 ? this.#toString : !this.type ? this.#toString = this.#parts.map((p) => String(p)).join("") : this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
}
#fillNegs() {
if (this !== this.#root)
throw new Error("should only call on root");
if (this.#filledNegs)
return this;
this.toString();
this.#filledNegs = true;
let n2;
while (n2 = this.#negs.pop()) {
if (n2.type !== "!")
continue;
let p = n2;
let pp = p.#parent;
while (pp) {
for (let i4 = p.#parentIndex + 1; !pp.type && i4 < pp.#parts.length; i4++) {
for (const part of n2.#parts) {
if (typeof part === "string") {
throw new Error("string part in extglob AST??");
}
part.copyIn(pp.#parts[i4]);
}
}
p = pp;
pp = p.#parent;
}
}
return this;
}
push(...parts) {
for (const p of parts) {
if (p === "")
continue;
if (typeof p !== "string" && !(p instanceof _a2 && p.#parent === this)) {
throw new Error("invalid part: " + p);
}
this.#parts.push(p);
}
}
toJSON() {
const ret2 = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
if (this.isStart() && !this.type)
ret2.unshift([]);
if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
ret2.push({});
}
return ret2;
}
isStart() {
if (this.#root === this)
return true;
if (!this.#parent?.isStart())
return false;
if (this.#parentIndex === 0)
return true;
const p = this.#parent;
for (let i4 = 0; i4 < this.#parentIndex; i4++) {
const pp = p.#parts[i4];
if (!(pp instanceof _a2 && pp.type === "!")) {
return false;
}
}
return true;
}
isEnd() {
if (this.#root === this)
return true;
if (this.#parent?.type === "!")
return true;
if (!this.#parent?.isEnd())
return false;
if (!this.type)
return this.#parent?.isEnd();
const pl = this.#parent ? this.#parent.#parts.length : 0;
return this.#parentIndex === pl - 1;
}
copyIn(part) {
if (typeof part === "string")
this.push(part);
else
this.push(part.clone(this));
}
clone(parent) {
const c3 = new _a2(this.type, parent);
for (const p of this.#parts) {
c3.copyIn(p);
}
return c3;
}
static #parseAST(str2, ast, pos, opt, extDepth) {
const maxDepth = opt.maxExtglobRecursion ?? 2;
let escaping = false;
let inBrace = false;
let braceStart = -1;
let braceNeg = false;
if (ast.type === null) {
let i5 = pos;
let acc2 = "";
while (i5 < str2.length) {
const c3 = str2.charAt(i5++);
if (escaping || c3 === "\\") {
escaping = !escaping;
acc2 += c3;
continue;
}
if (inBrace) {
if (i5 === braceStart + 1) {
if (c3 === "^" || c3 === "!") {
braceNeg = true;
}
} else if (c3 === "]" && !(i5 === braceStart + 2 && braceNeg)) {
inBrace = false;
}
acc2 += c3;
continue;
} else if (c3 === "[") {
inBrace = true;
braceStart = i5;
braceNeg = false;
acc2 += c3;
continue;
}
const doRecurse = !opt.noext && isExtglobType(c3) && str2.charAt(i5) === "(" && extDepth <= maxDepth;
if (doRecurse) {
ast.push(acc2);
acc2 = "";
const ext = new _a2(c3, ast);
i5 = _a2.#parseAST(str2, ext, i5, opt, extDepth + 1);
ast.push(ext);
continue;
}
acc2 += c3;
}
ast.push(acc2);
return i5;
}
let i4 = pos + 1;
let part = new _a2(null, ast);
const parts = [];
let acc = "";
while (i4 < str2.length) {
const c3 = str2.charAt(i4++);
if (escaping || c3 === "\\") {
escaping = !escaping;
acc += c3;
continue;
}
if (inBrace) {
if (i4 === braceStart + 1) {
if (c3 === "^" || c3 === "!") {
braceNeg = true;
}
} else if (c3 === "]" && !(i4 === braceStart + 2 && braceNeg)) {
inBrace = false;
}
acc += c3;
continue;
} else if (c3 === "[") {
inBrace = true;
braceStart = i4;
braceNeg = false;
acc += c3;
continue;
}
const doRecurse = !opt.noext && isExtglobType(c3) && str2.charAt(i4) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
(extDepth <= maxDepth || ast && ast.#canAdoptType(c3));
if (doRecurse) {
const depthAdd = ast && ast.#canAdoptType(c3) ? 0 : 1;
part.push(acc);
acc = "";
const ext = new _a2(c3, part);
part.push(ext);
i4 = _a2.#parseAST(str2, ext, i4, opt, extDepth + depthAdd);
continue;
}
if (c3 === "|") {
part.push(acc);
acc = "";
parts.push(part);
part = new _a2(null, ast);
continue;
}
if (c3 === ")") {
if (acc === "" && ast.#parts.length === 0) {
ast.#emptyExt = true;
}
part.push(acc);
acc = "";
ast.push(...parts, part);
return i4;
}
acc += c3;
}
ast.type = null;
ast.#hasMagic = void 0;
ast.#parts = [str2.substring(pos - 1)];
return i4;
}
#canAdoptWithSpace(child) {
return this.#canAdopt(child, adoptionWithSpaceMap);
}
#canAdopt(child, map26 = adoptionMap) {
if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null) {
return false;
}
const gc = child.#parts[0];
if (!gc || typeof gc !== "object" || gc.type === null) {
return false;
}
return this.#canAdoptType(gc.type, map26);
}
#canAdoptType(c3, map26 = adoptionAnyMap) {
return !!map26.get(this.type)?.includes(c3);
}
#adoptWithSpace(child, index2) {
const gc = child.#parts[0];
const blank = new _a2(null, gc, this.options);
blank.#parts.push("");
gc.push(blank);
this.#adopt(child, index2);
}
#adopt(child, index2) {
const gc = child.#parts[0];
this.#parts.splice(index2, 1, ...gc.#parts);
for (const p of gc.#parts) {
if (typeof p === "object")
p.#parent = this;
}
this.#toString = void 0;
}
#canUsurpType(c3) {
const m = usurpMap.get(this.type);
return !!m?.has(c3);
}
#canUsurp(child) {
if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null || this.#parts.length !== 1) {
return false;
}
const gc = child.#parts[0];
if (!gc || typeof gc !== "object" || gc.type === null) {
return false;
}
return this.#canUsurpType(gc.type);
}
#usurp(child) {
const m = usurpMap.get(this.type);
const gc = child.#parts[0];
const nt = m?.get(gc.type);
if (!nt)
return false;
this.#parts = gc.#parts;
for (const p of this.#parts) {
if (typeof p === "object") {
p.#parent = this;
}
}
this.type = nt;
this.#toString = void 0;
this.#emptyExt = false;
}
static fromGlob(pattern, options = {}) {
const ast = new _a2(null, void 0, options);
_a2.#parseAST(pattern, ast, 0, options, 0);
return ast;
}
// returns the regular expression if there's magic, or the unescaped
// string if not.
toMMPattern() {
if (this !== this.#root)
return this.#root.toMMPattern();
const glob2 = this.toString();
const [re, body, hasMagic, uflag] = this.toRegExpSource();
const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
if (!anyMagic) {
return body;
}
const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
return Object.assign(new RegExp(`^${re}$`, flags), {
_src: re,
_glob: glob2
});
}
get options() {
return this.#options;
}
// 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(allowDot) {
const dot = allowDot ?? !!this.#options.dot;
if (this.#root === this) {
this.#flatten();
this.#fillNegs();
}
if (!isExtglobAST(this)) {
const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
const src2 = this.#parts.map((p) => {
const [re, _, hasMagic, uflag] = typeof p === "string" ? _a2.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
this.#hasMagic = this.#hasMagic || hasMagic;
this.#uflag = this.#uflag || uflag;
return re;
}).join("");
let start2 = "";
if (this.isStart()) {
if (typeof this.#parts[0] === "string") {
const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
if (!dotTravAllowed) {
const aps = addPatternStart;
const needNoTrav = (
// dots are allowed, and the pattern starts with [ or .
dot && aps.has(src2.charAt(0)) || // the pattern starts with \., and then [ or .
src2.startsWith("\\.") && aps.has(src2.charAt(2)) || // the pattern starts with \.\., and then [ or .
src2.startsWith("\\.\\.") && aps.has(src2.charAt(4))
);
const needNoDot = !dot && !allowDot && aps.has(src2.charAt(0));
start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
}
}
}
let end = "";
if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
end = "(?:$|\\/)";
}
const final2 = start2 + src2 + end;
return [
final2,
(0, unescape_js_1.unescape)(src2),
this.#hasMagic = !!this.#hasMagic,
this.#uflag
];
}
const repeated = this.type === "*" || this.type === "+";
const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
let body = this.#partsToRegExp(dot);
if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
const s = this.toString();
const me = this;
me.#parts = [s];
me.type = null;
me.#hasMagic = void 0;
return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
}
let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
if (bodyDotAllowed === body) {
bodyDotAllowed = "";
}
if (bodyDotAllowed) {
body = `(?:${body})(?:${bodyDotAllowed})*?`;
}
let final = "";
if (this.type === "!" && this.#emptyExt) {
final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
} else {
const close = this.type === "!" ? (
// !() must match something,but !(x) can match ''
"))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
final = start + body + close;
}
return [
final,
(0, unescape_js_1.unescape)(body),
this.#hasMagic = !!this.#hasMagic,
this.#uflag
];
}
#flatten() {
if (!isExtglobAST(this)) {
for (const p of this.#parts) {
if (typeof p === "object") {
p.#flatten();
}
}
} else {
let iterations = 0;
let done = false;
do {
done = true;
for (let i4 = 0; i4 < this.#parts.length; i4++) {
const c3 = this.#parts[i4];
if (typeof c3 === "object") {
c3.#flatten();
if (this.#canAdopt(c3)) {
done = false;
this.#adopt(c3, i4);
} else if (this.#canAdoptWithSpace(c3)) {
done = false;
this.#adoptWithSpace(c3, i4);
} else if (this.#canUsurp(c3)) {
done = false;
this.#usurp(c3);
}
}
}
} while (!done && ++iterations < 10);
}
this.#toString = void 0;
}
#partsToRegExp(dot) {
return this.#parts.map((p) => {
if (typeof p === "string") {
throw new Error("string type in extglob ast??");
}
const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot);
this.#uflag = this.#uflag || uflag;
return re;
}).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
}
static #parseGlob(glob2, hasMagic, noEmpty = false) {
let escaping = false;
let re = "";
let uflag = false;
let inStar = false;
for (let i4 = 0; i4 < glob2.length; i4++) {
const c3 = glob2.charAt(i4);
if (escaping) {
escaping = false;
re += (reSpecials.has(c3) ? "\\" : "") + c3;
continue;
}
if (c3 === "*") {
if (inStar)
continue;
inStar = true;
re += noEmpty && /^[*]+$/.test(glob2) ? starNoEmpty : star;
hasMagic = true;
continue;
} else {
inStar = false;
}
if (c3 === "\\") {
if (i4 === glob2.length - 1) {
re += "\\\\";
} else {
escaping = true;
}
continue;
}
if (c3 === "[") {
const [src2, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i4);
if (consumed) {
re += src2;
uflag = uflag || needUflag;
i4 += consumed - 1;
hasMagic = hasMagic || magic;
continue;
}
}
if (c3 === "?") {
re += qmark;
hasMagic = true;
continue;
}
re += regExpEscape(c3);
}
return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
}
};
exports2.AST = AST;
_a2 = AST;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/escape.js
var require_escape2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.escape = void 0;
var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
if (magicalBraces) {
return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
}
return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
};
exports2.escape = escape;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/index.js
var require_commonjs3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minimatch/10.2.5/d78c46fbb0186cba1bcc3d41612b9e33d84002226ebac54bde9604d78394124d/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
var brace_expansion_1 = require_commonjs2();
var assert_valid_pattern_js_1 = require_assert_valid_pattern();
var ast_js_1 = require_ast();
var escape_js_1 = require_escape2();
var unescape_js_1 = require_unescape();
var minimatch = (p, pattern, options = {}) => {
(0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
if (!options.nocomment && pattern.charAt(0) === "#") {
return false;
}
return new Minimatch(pattern, options).match(p);
};
exports2.minimatch = minimatch;
var starDotExtRE = /^\*+([^+@!?*[(]*)$/;
var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
var starDotExtTestNocase = (ext2) => {
ext2 = ext2.toLowerCase();
return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
};
var starDotExtTestNocaseDot = (ext2) => {
ext2 = ext2.toLowerCase();
return (f) => f.toLowerCase().endsWith(ext2);
};
var starDotStarRE = /^\*+\.\*+$/;
var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
var dotStarRE = /^\.\*+$/;
var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
var starRE = /^\*+$/;
var starTest = (f) => f.length !== 0 && !f.startsWith(".");
var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
var qmarksRE = /^\?+([^+@!?*[(]*)?$/;
var qmarksTestNocase = ([$0, ext2 = ""]) => {
const noext = qmarksTestNoExt([$0]);
if (!ext2)
return noext;
ext2 = ext2.toLowerCase();
return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
};
var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
const noext = qmarksTestNoExtDot([$0]);
if (!ext2)
return noext;
ext2 = ext2.toLowerCase();
return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
};
var qmarksTestDot = ([$0, ext2 = ""]) => {
const noext = qmarksTestNoExtDot([$0]);
return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
};
var qmarksTest = ([$0, ext2 = ""]) => {
const noext = qmarksTestNoExt([$0]);
return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
};
var qmarksTestNoExt = ([$0]) => {
const len = $0.length;
return (f) => f.length === len && !f.startsWith(".");
};
var qmarksTestNoExtDot = ([$0]) => {
const len = $0.length;
return (f) => f.length === len && f !== "." && f !== "..";
};
var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
var path236 = {
win32: { sep: "\\" },
posix: { sep: "/" }
};
exports2.sep = defaultPlatform === "win32" ? path236.win32.sep : path236.posix.sep;
exports2.minimatch.sep = exports2.sep;
exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
var qmark = "[^/]";
var star = qmark + "*?";
var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
var filter14 = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
exports2.filter = filter14;
exports2.minimatch.filter = exports2.filter;
var ext = (a2, b = {}) => Object.assign({}, a2, b);
var defaults4 = (def) => {
if (!def || typeof def !== "object" || !Object.keys(def).length) {
return exports2.minimatch;
}
const orig = exports2.minimatch;
const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
return Object.assign(m, {
Minimatch: class Minimatch extends orig.Minimatch {
constructor(pattern, options = {}) {
super(pattern, ext(def, options));
}
static defaults(options) {
return orig.defaults(ext(def, options)).Minimatch;
}
},
AST: class AST extends orig.AST {
/* c8 ignore start */
constructor(type4, parent, options = {}) {
super(type4, parent, ext(def, options));
}
/* c8 ignore stop */
static fromGlob(pattern, options = {}) {
return orig.AST.fromGlob(pattern, ext(def, options));
}
},
unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
escape: (s, options = {}) => orig.escape(s, ext(def, options)),
filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
defaults: (options) => orig.defaults(ext(def, options)),
makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
match: (list2, pattern, options = {}) => orig.match(list2, pattern, ext(def, options)),
sep: orig.sep,
GLOBSTAR: exports2.GLOBSTAR
});
};
exports2.defaults = defaults4;
exports2.minimatch.defaults = exports2.defaults;
var braceExpand = (pattern, options = {}) => {
(0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
return [pattern];
}
return (0, brace_expansion_1.expand)(pattern, { max: options.braceExpandMax });
};
exports2.braceExpand = braceExpand;
exports2.minimatch.braceExpand = exports2.braceExpand;
var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
exports2.makeRe = makeRe;
exports2.minimatch.makeRe = exports2.makeRe;
var match = (list2, pattern, options = {}) => {
const mm = new Minimatch(pattern, options);
list2 = list2.filter((f) => mm.match(f));
if (mm.options.nonull && !list2.length) {
list2.push(pattern);
}
return list2;
};
exports2.match = match;
exports2.minimatch.match = exports2.match;
var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
var Minimatch = class {
options;
set;
pattern;
windowsPathsNoEscape;
nonegate;
negate;
comment;
empty;
preserveMultipleSlashes;
partial;
globSet;
globParts;
nocase;
isWindows;
platform;
windowsNoMagicRoot;
maxGlobstarRecursion;
regexp;
constructor(pattern, options = {}) {
(0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
options = options || {};
this.options = options;
this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
this.pattern = pattern;
this.platform = options.platform || defaultPlatform;
this.isWindows = this.platform === "win32";
const awe = "allowWindowsEscape";
this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options[awe] === false;
if (this.windowsPathsNoEscape) {
this.pattern = this.pattern.replace(/\\/g, "/");
}
this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
this.regexp = null;
this.negate = false;
this.nonegate = !!options.nonegate;
this.comment = false;
this.empty = false;
this.partial = !!options.partial;
this.nocase = !!this.options.nocase;
this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
this.globSet = [];
this.globParts = [];
this.set = [];
this.make();
}
hasMagic() {
if (this.options.magicalBraces && this.set.length > 1) {
return true;
}
for (const pattern of this.set) {
for (const part of pattern) {
if (typeof part !== "string")
return true;
}
}
return false;
}
debug(..._) {
}
make() {
const pattern = this.pattern;
const options = this.options;
if (!options.nocomment && pattern.charAt(0) === "#") {
this.comment = true;
return;
}
if (!pattern) {
this.empty = true;
return;
}
this.parseNegate();
this.globSet = [...new Set(this.braceExpand())];
if (options.debug) {
this.debug = (...args) => console.error(...args);
}
this.debug(this.pattern, this.globSet);
const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
this.globParts = this.preprocess(rawGlobParts);
this.debug(this.pattern, this.globParts);
let set2 = this.globParts.map((s, _, __) => {
if (this.isWindows && this.windowsNoMagicRoot) {
const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
const isDrive = /^[a-z]:/i.test(s[0]);
if (isUNC) {
return [
...s.slice(0, 4),
...s.slice(4).map((ss) => this.parse(ss))
];
} else if (isDrive) {
return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
}
}
return s.map((ss) => this.parse(ss));
});
this.debug(this.pattern, set2);
this.set = set2.filter((s) => s.indexOf(false) === -1);
if (this.isWindows) {
for (let i4 = 0; i4 < this.set.length; i4++) {
const p = this.set[i4];
if (p[0] === "" && p[1] === "" && this.globParts[i4][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
p[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(globParts) {
if (this.options.noglobstar) {
for (const partset of globParts) {
for (let j2 = 0; j2 < partset.length; j2++) {
if (partset[j2] === "**") {
partset[j2] = "*";
}
}
}
}
const { optimizationLevel = 1 } = this.options;
if (optimizationLevel >= 2) {
globParts = this.firstPhasePreProcess(globParts);
globParts = this.secondPhasePreProcess(globParts);
} else if (optimizationLevel >= 1) {
globParts = this.levelOneOptimize(globParts);
} else {
globParts = this.adjascentGlobstarOptimize(globParts);
}
return globParts;
}
// just get rid of adjascent ** portions
adjascentGlobstarOptimize(globParts) {
return globParts.map((parts) => {
let gs = -1;
while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
let i4 = gs;
while (parts[i4 + 1] === "**") {
i4++;
}
if (i4 !== gs) {
parts.splice(gs, i4 - gs);
}
}
return parts;
});
}
// get rid of adjascent ** and resolve .. portions
levelOneOptimize(globParts) {
return globParts.map((parts) => {
parts = parts.reduce((set2, part) => {
const prev = set2[set2.length - 1];
if (part === "**" && prev === "**") {
return set2;
}
if (part === "..") {
if (prev && prev !== ".." && prev !== "." && prev !== "**") {
set2.pop();
return set2;
}
}
set2.push(part);
return set2;
}, []);
return parts.length === 0 ? [""] : parts;
});
}
levelTwoFileOptimize(parts) {
if (!Array.isArray(parts)) {
parts = this.slashSplit(parts);
}
let didSomething = false;
do {
didSomething = false;
if (!this.preserveMultipleSlashes) {
for (let i4 = 1; i4 < parts.length - 1; i4++) {
const p = parts[i4];
if (i4 === 1 && p === "" && parts[0] === "")
continue;
if (p === "." || p === "") {
didSomething = true;
parts.splice(i4, 1);
i4--;
}
}
if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
didSomething = true;
parts.pop();
}
}
let dd = 0;
while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
const p = parts[dd - 1];
if (p && p !== "." && p !== ".." && p !== "**" && !(this.isWindows && /^[a-z]:$/i.test(p))) {
didSomething = true;
parts.splice(dd - 1, 2);
dd -= 2;
}
}
} while (didSomething);
return parts.length === 0 ? [""] : parts;
}
// 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(globParts) {
let didSomething = false;
do {
didSomething = false;
for (let parts of globParts) {
let gs = -1;
while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
let gss = gs;
while (parts[gss + 1] === "**") {
gss++;
}
if (gss > gs) {
parts.splice(gs + 1, gss - gs);
}
let next2 = parts[gs + 1];
const p = parts[gs + 2];
const p2 = parts[gs + 3];
if (next2 !== "..")
continue;
if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
continue;
}
didSomething = true;
parts.splice(gs, 1);
const other = parts.slice(0);
other[gs] = "**";
globParts.push(other);
gs--;
}
if (!this.preserveMultipleSlashes) {
for (let i4 = 1; i4 < parts.length - 1; i4++) {
const p = parts[i4];
if (i4 === 1 && p === "" && parts[0] === "")
continue;
if (p === "." || p === "") {
didSomething = true;
parts.splice(i4, 1);
i4--;
}
}
if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
didSomething = true;
parts.pop();
}
}
let dd = 0;
while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
const p = parts[dd - 1];
if (p && p !== "." && p !== ".." && p !== "**") {
didSomething = true;
const needDot = dd === 1 && parts[dd + 1] === "**";
const splin = needDot ? ["."] : [];
parts.splice(dd - 1, 2, ...splin);
if (parts.length === 0)
parts.push("");
dd -= 2;
}
}
}
} while (didSomething);
return globParts;
}
// 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(globParts) {
for (let i4 = 0; i4 < globParts.length - 1; i4++) {
for (let j2 = i4 + 1; j2 < globParts.length; j2++) {
const matched = this.partsMatch(globParts[i4], globParts[j2], !this.preserveMultipleSlashes);
if (matched) {
globParts[i4] = [];
globParts[j2] = matched;
break;
}
}
}
return globParts.filter((gs) => gs.length);
}
partsMatch(a2, b, emptyGSMatch = false) {
let ai = 0;
let bi = 0;
let result2 = [];
let which4 = "";
while (ai < a2.length && bi < b.length) {
if (a2[ai] === b[bi]) {
result2.push(which4 === "b" ? b[bi] : a2[ai]);
ai++;
bi++;
} else if (emptyGSMatch && a2[ai] === "**" && b[bi] === a2[ai + 1]) {
result2.push(a2[ai]);
ai++;
} else if (emptyGSMatch && b[bi] === "**" && a2[ai] === b[bi + 1]) {
result2.push(b[bi]);
bi++;
} else if (a2[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
if (which4 === "b")
return false;
which4 = "a";
result2.push(a2[ai]);
ai++;
bi++;
} else if (b[bi] === "*" && a2[ai] && (this.options.dot || !a2[ai].startsWith(".")) && a2[ai] !== "**") {
if (which4 === "a")
return false;
which4 = "b";
result2.push(b[bi]);
ai++;
bi++;
} else {
return false;
}
}
return a2.length === b.length && result2;
}
parseNegate() {
if (this.nonegate)
return;
const pattern = this.pattern;
let negate = false;
let negateOffset = 0;
for (let i4 = 0; i4 < pattern.length && pattern.charAt(i4) === "!"; i4++) {
negate = !negate;
negateOffset++;
}
if (negateOffset)
this.pattern = pattern.slice(negateOffset);
this.negate = negate;
}
// 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(file, pattern, partial = false) {
let fileStartIndex = 0;
let patternStartIndex = 0;
if (this.isWindows) {
const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
if (typeof fdi === "number" && typeof pdi === "number") {
const [fd2, pd] = [
file[fdi],
pattern[pdi]
];
if (fd2.toLowerCase() === pd.toLowerCase()) {
pattern[pdi] = fd2;
patternStartIndex = pdi;
fileStartIndex = fdi;
}
}
}
const { optimizationLevel = 1 } = this.options;
if (optimizationLevel >= 2) {
file = this.levelTwoFileOptimize(file);
}
if (pattern.includes(exports2.GLOBSTAR)) {
return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
}
return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
}
#matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
const firstgs = pattern.indexOf(exports2.GLOBSTAR, patternIndex);
const lastgs = pattern.lastIndexOf(exports2.GLOBSTAR);
const [head2, body, tail2] = partial ? [
pattern.slice(patternIndex, firstgs),
pattern.slice(firstgs + 1),
[]
] : [
pattern.slice(patternIndex, firstgs),
pattern.slice(firstgs + 1, lastgs),
pattern.slice(lastgs + 1)
];
if (head2.length) {
const fileHead = file.slice(fileIndex, fileIndex + head2.length);
if (!this.#matchOne(fileHead, head2, partial, 0, 0)) {
return false;
}
fileIndex += head2.length;
patternIndex += head2.length;
}
let fileTailMatch = 0;
if (tail2.length) {
if (tail2.length + fileIndex > file.length)
return false;
let tailStart = file.length - tail2.length;
if (this.#matchOne(file, tail2, partial, tailStart, 0)) {
fileTailMatch = tail2.length;
} else {
if (file[file.length - 1] !== "" || fileIndex + tail2.length === file.length) {
return false;
}
tailStart--;
if (!this.#matchOne(file, tail2, partial, tailStart, 0)) {
return false;
}
fileTailMatch = tail2.length + 1;
}
}
if (!body.length) {
let sawSome = !!fileTailMatch;
for (let i5 = fileIndex; i5 < file.length - fileTailMatch; i5++) {
const f = String(file[i5]);
sawSome = true;
if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
return false;
}
}
return partial || sawSome;
}
const bodySegments = [[[], 0]];
let currentBody = bodySegments[0];
let nonGsParts = 0;
const nonGsPartsSums = [0];
for (const b of body) {
if (b === exports2.GLOBSTAR) {
nonGsPartsSums.push(nonGsParts);
currentBody = [[], 0];
bodySegments.push(currentBody);
} else {
currentBody[0].push(b);
nonGsParts++;
}
}
let i4 = bodySegments.length - 1;
const fileLength = file.length - fileTailMatch;
for (const b of bodySegments) {
b[1] = fileLength - (nonGsPartsSums[i4--] + b[0].length);
}
return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
}
// return false for "nope, not matching"
// return null for "not matching, cannot keep trying"
#matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
const bs = bodySegments[bodyIndex];
if (!bs) {
for (let i4 = fileIndex; i4 < file.length; i4++) {
sawTail = true;
const f = file[i4];
if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
return false;
}
}
return sawTail;
}
const [body, after] = bs;
while (fileIndex <= after) {
const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
if (m && globStarDepth < this.maxGlobstarRecursion) {
const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
if (sub !== false) {
return sub;
}
}
const f = file[fileIndex];
if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
return false;
}
fileIndex++;
}
return partial || null;
}
#matchOne(file, pattern, partial, fileIndex, patternIndex) {
let fi;
let pi;
let pl;
let fl2;
for (fi = fileIndex, pi = patternIndex, fl2 = file.length, pl = pattern.length; fi < fl2 && pi < pl; fi++, pi++) {
this.debug("matchOne loop");
let p = pattern[pi];
let f = file[fi];
this.debug(pattern, p, f);
if (p === false || p === exports2.GLOBSTAR) {
return false;
}
let hit;
if (typeof p === "string") {
hit = f === p;
this.debug("string match", p, f, hit);
} else {
hit = p.test(f);
this.debug("pattern match", p, f, hit);
}
if (!hit)
return false;
}
if (fi === fl2 && pi === pl) {
return true;
} else if (fi === fl2) {
return partial;
} else if (pi === pl) {
return fi === fl2 - 1 && file[fi] === "";
} else {
throw new Error("wtf?");
}
}
braceExpand() {
return (0, exports2.braceExpand)(this.pattern, this.options);
}
parse(pattern) {
(0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
const options = this.options;
if (pattern === "**")
return exports2.GLOBSTAR;
if (pattern === "")
return "";
let m;
let fastTest = null;
if (m = pattern.match(starRE)) {
fastTest = options.dot ? starTestDot : starTest;
} else if (m = pattern.match(starDotExtRE)) {
fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
} else if (m = pattern.match(qmarksRE)) {
fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
} else if (m = pattern.match(starDotStarRE)) {
fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
} else if (m = pattern.match(dotStarRE)) {
fastTest = dotStarTest;
}
const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
if (fastTest && typeof re === "object") {
Reflect.defineProperty(re, "test", { value: fastTest });
}
return re;
}
makeRe() {
if (this.regexp || this.regexp === false)
return this.regexp;
const set2 = this.set;
if (!set2.length) {
this.regexp = false;
return this.regexp;
}
const options = this.options;
const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
const flags = new Set(options.nocase ? ["i"] : []);
let re = set2.map((pattern) => {
const pp = pattern.map((p) => {
if (p instanceof RegExp) {
for (const f of p.flags.split(""))
flags.add(f);
}
return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
});
pp.forEach((p, i4) => {
const next2 = pp[i4 + 1];
const prev = pp[i4 - 1];
if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
return;
}
if (prev === void 0) {
if (next2 !== void 0 && next2 !== exports2.GLOBSTAR) {
pp[i4 + 1] = "(?:\\/|" + twoStar + "\\/)?" + next2;
} else {
pp[i4] = twoStar;
}
} else if (next2 === void 0) {
pp[i4 - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
} else if (next2 !== exports2.GLOBSTAR) {
pp[i4 - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next2;
pp[i4 + 1] = exports2.GLOBSTAR;
}
});
const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
if (this.partial && filtered.length >= 1) {
const prefixes = [];
for (let i4 = 1; i4 <= filtered.length; i4++) {
prefixes.push(filtered.slice(0, i4).join("/"));
}
return "(?:" + prefixes.join("|") + ")";
}
return filtered.join("/");
}).join("|");
const [open3, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
re = "^" + open3 + re + close + "$";
if (this.partial) {
re = "^(?:\\/|" + open3 + re.slice(1, -1) + close + ")$";
}
if (this.negate)
re = "^(?!" + re + ").+$";
try {
this.regexp = new RegExp(re, [...flags].join(""));
} catch {
this.regexp = false;
}
return this.regexp;
}
slashSplit(p) {
if (this.preserveMultipleSlashes) {
return p.split("/");
} else if (this.isWindows && /^\/\/[^/]+/.test(p)) {
return ["", ...p.split(/\/+/)];
} else {
return p.split(/\/+/);
}
}
match(f, partial = this.partial) {
this.debug("match", f, this.pattern);
if (this.comment) {
return false;
}
if (this.empty) {
return f === "";
}
if (f === "/" && partial) {
return true;
}
const options = this.options;
if (this.isWindows) {
f = f.split("\\").join("/");
}
const ff = this.slashSplit(f);
this.debug(this.pattern, "split", ff);
const set2 = this.set;
this.debug(this.pattern, "set", set2);
let filename = ff[ff.length - 1];
if (!filename) {
for (let i4 = ff.length - 2; !filename && i4 >= 0; i4--) {
filename = ff[i4];
}
}
for (const pattern of set2) {
let file = ff;
if (options.matchBase && pattern.length === 1) {
file = [filename];
}
const hit = this.matchOne(file, pattern, partial);
if (hit) {
if (options.flipNegate) {
return true;
}
return !this.negate;
}
}
if (options.flipNegate) {
return false;
}
return this.negate;
}
static defaults(def) {
return exports2.minimatch.defaults(def).Minimatch;
}
};
exports2.Minimatch = Minimatch;
var ast_js_2 = require_ast();
Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
return ast_js_2.AST;
} });
var escape_js_2 = require_escape2();
Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
return escape_js_2.escape;
} });
var unescape_js_2 = require_unescape();
Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
return unescape_js_2.unescape;
} });
exports2.minimatch.AST = ast_js_1.AST;
exports2.minimatch.Minimatch = Minimatch;
exports2.minimatch.escape = escape_js_1.escape;
exports2.minimatch.unescape = unescape_js_1.unescape;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ignore-walk/8.0.0/fe90387d8e3a3602e8ce23b763e18a7b4dc6cbd49a13f0c5d30548d9dd30b769/node_modules/ignore-walk/lib/index.js
var require_lib14 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ignore-walk/8.0.0/fe90387d8e3a3602e8ce23b763e18a7b4dc6cbd49a13f0c5d30548d9dd30b769/node_modules/ignore-walk/lib/index.js"(exports2, module2) {
"use strict";
var fs126 = __require("fs");
var path236 = __require("path");
var EE = __require("events").EventEmitter;
var Minimatch = require_commonjs3().Minimatch;
var Walker2 = class _Walker extends EE {
constructor(opts3) {
opts3 = opts3 || {};
super(opts3);
this.isSymbolicLink = opts3.isSymbolicLink;
this.path = opts3.path || process.cwd();
this.basename = path236.basename(this.path);
this.ignoreFiles = opts3.ignoreFiles || [".ignore"];
this.ignoreRules = {};
this.parent = opts3.parent || null;
this.includeEmpty = !!opts3.includeEmpty;
this.root = this.parent ? this.parent.root : this.path;
this.follow = !!opts3.follow;
this.result = this.parent ? this.parent.result : /* @__PURE__ */ new Set();
this.entries = null;
this.sawError = false;
this.exact = opts3.exact;
}
sort(a2, b) {
return a2.localeCompare(b, "en");
}
emit(ev, data) {
let ret2 = false;
if (!(this.sawError && ev === "error")) {
if (ev === "error") {
this.sawError = true;
} else if (ev === "done" && !this.parent) {
data = Array.from(data).map((e) => /^@/.test(e) ? `./${e}` : e).sort(this.sort);
this.result = data;
}
if (ev === "error" && this.parent) {
ret2 = this.parent.emit("error", data);
} else {
ret2 = super.emit(ev, data);
}
}
return ret2;
}
start() {
fs126.readdir(this.path, (er, entries) => er ? this.emit("error", er) : this.onReaddir(entries));
return this;
}
isIgnoreFile(e) {
return e !== "." && e !== ".." && this.ignoreFiles.indexOf(e) !== -1;
}
onReaddir(entries) {
this.entries = entries;
if (entries.length === 0) {
if (this.includeEmpty) {
this.result.add(this.path.slice(this.root.length + 1));
}
this.emit("done", this.result);
} else {
const hasIg = this.entries.some((e) => this.isIgnoreFile(e));
if (hasIg) {
this.addIgnoreFiles();
} else {
this.filterEntries();
}
}
}
addIgnoreFiles() {
const newIg = this.entries.filter((e) => this.isIgnoreFile(e));
let igCount = newIg.length;
const then = () => {
if (--igCount === 0) {
this.filterEntries();
}
};
newIg.forEach((e) => this.addIgnoreFile(e, then));
}
addIgnoreFile(file, then) {
const ig = path236.resolve(this.path, file);
fs126.readFile(ig, "utf8", (er, data) => er ? this.emit("error", er) : this.onReadIgnoreFile(file, data, then));
}
onReadIgnoreFile(file, data, then) {
const mmopt = {
matchBase: true,
dot: true,
flipNegate: true,
nocase: true
};
const rules = data.split(/\r?\n/).filter((line) => !/^#|^$/.test(line.trim())).map((rule) => {
return new Minimatch(rule.trim(), mmopt);
});
this.ignoreRules[file] = rules;
then();
}
filterEntries() {
const filtered = this.entries.map((entry) => {
const passFile = this.filterEntry(entry);
const passDir = this.filterEntry(entry, true);
return passFile || passDir ? [entry, passFile, passDir] : false;
}).filter((e) => e);
let entryCount = filtered.length;
if (entryCount === 0) {
this.emit("done", this.result);
} else {
const then = () => {
if (--entryCount === 0) {
this.emit("done", this.result);
}
};
filtered.forEach((filt) => {
const entry = filt[0];
const file = filt[1];
const dir = filt[2];
this.stat({ entry, file, dir }, then);
});
}
}
onstat({ st, entry, file, dir, isSymbolicLink }, then) {
const abs2 = this.path + "/" + entry;
if (!st.isDirectory()) {
if (file) {
this.result.add(abs2.slice(this.root.length + 1));
}
then();
} else {
if (dir) {
this.walker(entry, { isSymbolicLink, exact: file || this.filterEntry(entry + "/") }, then);
} else {
then();
}
}
}
stat({ entry, file, dir }, then) {
const abs2 = this.path + "/" + entry;
fs126.lstat(abs2, (lstatErr, lstatResult) => {
if (lstatErr) {
this.emit("error", lstatErr);
} else {
const isSymbolicLink = lstatResult.isSymbolicLink();
if (this.follow && isSymbolicLink) {
fs126.stat(abs2, (statErr, statResult) => {
if (statErr) {
this.emit("error", statErr);
} else {
this.onstat({ st: statResult, entry, file, dir, isSymbolicLink }, then);
}
});
} else {
this.onstat({ st: lstatResult, entry, file, dir, isSymbolicLink }, then);
}
}
});
}
walkerOpt(entry, opts3) {
return {
path: this.path + "/" + entry,
parent: this,
ignoreFiles: this.ignoreFiles,
follow: this.follow,
includeEmpty: this.includeEmpty,
...opts3
};
}
walker(entry, opts3, then) {
new _Walker(this.walkerOpt(entry, opts3)).on("done", then).start();
}
filterEntry(entry, partial, entryBasename) {
let included = true;
if (this.parent && this.parent.filterEntry) {
const parentEntry = this.basename + "/" + entry;
const parentBasename = entryBasename || entry;
included = this.parent.filterEntry(parentEntry, partial, parentBasename);
if (!included && !this.exact) {
return false;
}
}
this.ignoreFiles.forEach((f) => {
if (this.ignoreRules[f]) {
this.ignoreRules[f].forEach((rule) => {
if (rule.negate !== included) {
const isRelativeRule = entryBasename && rule.globParts.some(
(part) => part.length <= (part.slice(-1)[0] ? 1 : 2)
);
const match = rule.match("/" + entry) || rule.match(entry) || !!partial && (rule.match("/" + entry + "/") || rule.match(entry + "/") || rule.negate && (rule.match("/" + entry, true) || rule.match(entry, true)) || isRelativeRule && (rule.match("/" + entryBasename + "/") || rule.match(entryBasename + "/") || rule.negate && (rule.match("/" + entryBasename, true) || rule.match(entryBasename, true))));
if (match) {
included = rule.negate;
}
}
});
}
});
return included;
}
};
var WalkerSync = class _WalkerSync extends Walker2 {
start() {
this.onReaddir(fs126.readdirSync(this.path));
return this;
}
addIgnoreFile(file, then) {
const ig = path236.resolve(this.path, file);
this.onReadIgnoreFile(file, fs126.readFileSync(ig, "utf8"), then);
}
stat({ entry, file, dir }, then) {
const abs2 = this.path + "/" + entry;
let st = fs126.lstatSync(abs2);
const isSymbolicLink = st.isSymbolicLink();
if (this.follow && isSymbolicLink) {
st = fs126.statSync(abs2);
}
this.onstat({ st, entry, file, dir, isSymbolicLink }, then);
}
walker(entry, opts3, then) {
new _WalkerSync(this.walkerOpt(entry, opts3)).start();
then();
}
};
var walk = (opts3, callback2) => {
const p = new Promise((resolve4, reject3) => {
new Walker2(opts3).on("done", resolve4).on("error", reject3).start();
});
return callback2 ? p.then((res) => callback2(null, res), callback2) : p;
};
var walkSync2 = (opts3) => new WalkerSync(opts3).start().result;
module2.exports = walk;
walk.sync = walkSync2;
walk.Walker = Walker2;
walk.WalkerSync = WalkerSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/proc-log/6.1.0/a5811b9c790c15356212fe66986b06edbec5544fea94d867061e6aea968f7549/node_modules/proc-log/lib/index.js
var require_lib15 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/proc-log/6.1.0/a5811b9c790c15356212fe66986b06edbec5544fea94d867061e6aea968f7549/node_modules/proc-log/lib/index.js"(exports2, module2) {
var META = /* @__PURE__ */ Symbol("proc-log.meta");
module2.exports = {
META,
output: {
LEVELS: [
"standard",
"error",
"buffer",
"flush"
],
KEYS: {
standard: "standard",
error: "error",
buffer: "buffer",
flush: "flush"
},
standard: function(...args) {
return process.emit("output", "standard", ...args);
},
error: function(...args) {
return process.emit("output", "error", ...args);
},
buffer: function(...args) {
return process.emit("output", "buffer", ...args);
},
flush: function(...args) {
return process.emit("output", "flush", ...args);
}
},
log: {
LEVELS: [
"notice",
"error",
"warn",
"info",
"verbose",
"http",
"silly",
"timing",
"pause",
"resume"
],
KEYS: {
notice: "notice",
error: "error",
warn: "warn",
info: "info",
verbose: "verbose",
http: "http",
silly: "silly",
timing: "timing",
pause: "pause",
resume: "resume"
},
error: function(...args) {
return process.emit("log", "error", ...args);
},
notice: function(...args) {
return process.emit("log", "notice", ...args);
},
warn: function(...args) {
return process.emit("log", "warn", ...args);
},
info: function(...args) {
return process.emit("log", "info", ...args);
},
verbose: function(...args) {
return process.emit("log", "verbose", ...args);
},
http: function(...args) {
return process.emit("log", "http", ...args);
},
silly: function(...args) {
return process.emit("log", "silly", ...args);
},
timing: function(...args) {
return process.emit("log", "timing", ...args);
},
pause: function() {
return process.emit("log", "pause");
},
resume: function() {
return process.emit("log", "resume");
}
},
time: {
LEVELS: [
"start",
"end"
],
KEYS: {
start: "start",
end: "end"
},
start: function(name, fn) {
process.emit("time", "start", name);
function end() {
return process.emit("time", "end", name);
}
if (typeof fn === "function") {
const res = fn();
if (res && res.finally) {
return res.finally(end);
}
end();
return res;
}
return end;
},
end: function(name) {
return process.emit("time", "end", name);
}
},
input: {
LEVELS: [
"start",
"end",
"read"
],
KEYS: {
start: "start",
end: "end",
read: "read"
},
start: function(...args) {
let fn;
if (typeof args[0] === "function") {
fn = args.shift();
}
process.emit("input", "start", ...args);
function end() {
return process.emit("input", "end", ...args);
}
if (typeof fn === "function") {
const res = fn();
if (res && res.finally) {
return res.finally(end);
}
end();
return res;
}
return end;
},
end: function(...args) {
return process.emit("input", "end", ...args);
},
read: function(...args) {
let resolve4, reject3;
const promise2 = new Promise((_resolve, _reject) => {
resolve4 = _resolve;
reject3 = _reject;
});
process.emit("input", "read", resolve4, reject3, ...args);
return promise2;
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-packlist/10.0.4/31c597534040206ba60e7e64f5e73d03d53a709b75998dcf6a4189a1c0f59126/node_modules/npm-packlist/lib/index.js
var require_lib16 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-packlist/10.0.4/31c597534040206ba60e7e64f5e73d03d53a709b75998dcf6a4189a1c0f59126/node_modules/npm-packlist/lib/index.js"(exports2, module2) {
"use strict";
var { Walker: IgnoreWalker } = require_lib14();
var { lstatSync: lstat2, readFileSync: readFile4 } = __require("fs");
var { basename: basename2, dirname: dirname3, extname, join: join5, relative: relative2, resolve: resolve4, sep: sep2 } = __require("path");
var { log: log3 } = require_lib15();
var defaultRules = /* @__PURE__ */ Symbol("npm-packlist.rules.default");
var strictRules = /* @__PURE__ */ Symbol("npm-packlist.rules.strict");
var nameIsBadForWindows = (file) => /\*/.test(file);
var defaults4 = [
".npmignore",
".gitignore",
"**/.git",
"**/.svn",
"**/.hg",
"**/CVS",
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"/.lock-wscript",
"/.wafpickle-*",
"/build/config.gypi",
"npm-debug.log",
"**/.npmrc",
".*.swp",
".DS_Store",
"**/.DS_Store/**",
"._*",
"**/._*/**",
"*.orig",
"/archived-packages/**"
];
var strictDefaults = [
// these are forcibly excluded
"/.git"
];
var normalizePath14 = (path236) => path236.split("\\").join("/");
var readOutOfTreeIgnoreFiles = (root, rel, result2 = []) => {
for (const file of [".npmignore", ".gitignore"]) {
try {
const ignoreContent = readFile4(join5(root, file), { encoding: "utf8" });
result2.push(ignoreContent);
break;
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
}
}
if (!rel) {
return result2;
}
const firstRel = rel.split(sep2, 1)[0];
const newRoot = join5(root, firstRel);
const newRel = relative2(newRoot, join5(root, rel));
return readOutOfTreeIgnoreFiles(newRoot, newRel, result2);
};
var PackWalker = class _PackWalker extends IgnoreWalker {
constructor(tree, opts3) {
const options = {
...opts3,
includeEmpty: false,
follow: false,
// we path.resolve() here because ignore-walk doesn't do it and we want full paths
path: resolve4(opts3?.path || tree.path).replace(/\\/g, "/"),
ignoreFiles: opts3?.ignoreFiles || [
defaultRules,
"package.json",
".npmignore",
".gitignore",
strictRules
]
};
super(options);
this.isPackage = options.isPackage;
this.seen = options.seen || /* @__PURE__ */ new Set();
this.tree = tree;
this.requiredFiles = options.requiredFiles || [];
const additionalDefaults = [];
if (options.prefix && options.workspaces) {
const path236 = normalizePath14(options.path);
const prefix = normalizePath14(options.prefix);
const workspaces = options.workspaces.map((ws) => normalizePath14(ws));
if (path236 !== prefix && workspaces.includes(path236)) {
const relpath = relative2(options.prefix, dirname3(options.path));
additionalDefaults.push(...readOutOfTreeIgnoreFiles(options.prefix, relpath));
} else if (path236 === prefix) {
additionalDefaults.push(...workspaces.map((w) => normalizePath14(relative2(options.path, w))));
}
}
this.injectRules(defaultRules, [...defaults4, ...additionalDefaults]);
if (!this.isPackage) {
this.injectRules(strictRules, [
...strictDefaults,
...this.requiredFiles.map((file) => `!${file}`)
]);
}
}
// overridden method: we intercept the reading of the package.json file here so that we can
// process it into both the package.json file rules as well as the strictRules synthetic rule set
addIgnoreFile(file, callback2) {
if (file !== "package.json" || !this.isPackage) {
return super.addIgnoreFile(file, callback2);
}
return this.processPackage(callback2);
}
// overridden method: if we're done, but we're a package, then we also need to evaluate bundles
// before we actually emit our done event
emit(ev, data) {
if (ev !== "done" || !this.isPackage) {
return super.emit(ev, data);
}
this.gatherBundles().then(() => {
super.emit("done", this.result);
});
return true;
}
// overridden method: before actually filtering, we make sure that we've removed the rules for
// files that should no longer take effect due to our order of precedence
filterEntries() {
if (this.ignoreRules["package.json"]) {
this.ignoreRules[".npmignore"] = null;
this.ignoreRules[".gitignore"] = null;
} else if (this.ignoreRules[".npmignore"]) {
this.ignoreRules[".gitignore"] = null;
} else if (this.ignoreRules[".gitignore"] && !this.ignoreRules[".npmignore"] && !this.parent) {
log3.warn(
"gitignore-fallback",
"No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files."
);
}
return super.filterEntries();
}
// overridden method: we never want to include anything that isn't a file or directory
onstat(opts3, callback2) {
if (!opts3.st.isFile() && !opts3.st.isDirectory()) {
return callback2();
}
return super.onstat(opts3, callback2);
}
// overridden method: we want to refuse to pack files that are invalid, node-tar protects us from
// a lot of them but not all
stat(opts3, callback2) {
if (nameIsBadForWindows(opts3.entry)) {
return callback2();
}
return super.stat(opts3, callback2);
}
// overridden method: this is called to create options for a child walker when we step
// in to a normal child directory (this will never be a bundle). the default method here
// copies the root's `ignoreFiles` value, but we don't want to respect package.json for
// subdirectories, so we override it with a list that intentionally omits package.json
walkerOpt(entry, opts3) {
let ignoreFiles = null;
if (this.tree.workspaces) {
const workspaceDirs = [...this.tree.workspaces.values()].map((dir) => dir.replace(/\\/g, "/"));
const entryPath = join5(this.path, entry).replace(/\\/g, "/");
if (workspaceDirs.includes(entryPath)) {
ignoreFiles = [
defaultRules,
"package.json",
".npmignore",
".gitignore",
strictRules
];
}
} else {
ignoreFiles = [
defaultRules,
".npmignore",
".gitignore",
strictRules
];
}
return {
...super.walkerOpt(entry, opts3),
ignoreFiles,
// we map over our own requiredFiles and pass ones that are within this entry
requiredFiles: this.requiredFiles.map((file) => {
if (relative2(file, entry) === "..") {
return relative2(entry, file).replace(/\\/g, "/");
}
return false;
}).filter(Boolean)
};
}
// overridden method: we want child walkers to be instances of this class, not ignore-walk
walker(entry, opts3, callback2) {
new _PackWalker(this.tree, this.walkerOpt(entry, opts3)).on("done", callback2).start();
}
// overridden method: we use a custom sort method to help compressibility
sort(a2, b) {
const exta = extname(a2).toLowerCase();
const extb = extname(b).toLowerCase();
const basea = basename2(a2).toLowerCase();
const baseb = basename2(b).toLowerCase();
return exta.localeCompare(extb, "en") || basea.localeCompare(baseb, "en") || a2.localeCompare(b, "en");
}
// convenience method: this joins the given rules with newlines, appends a trailing newline,
// and calls the internal onReadIgnoreFile method
injectRules(filename, rules, callback2 = () => {
}) {
this.onReadIgnoreFile(filename, `${rules.join("\n")}
`, callback2);
}
// custom method: this is called by addIgnoreFile when we find a package.json, it uses the
// arborist tree to pull both default rules and strict rules for the package
processPackage(callback2) {
const {
bin,
browser,
files,
main: main5
} = this.tree.package;
const ignores = [];
const strict = [
...strictDefaults,
"!/package.json",
"!/readme{,.*[^~$]}",
"!/copying{,.*[^~$]}",
"!/license{,.*[^~$]}",
"!/licence{,.*[^~$]}",
"/.git",
"/node_modules",
".npmrc",
"/package-lock.json",
"/yarn.lock",
"/pnpm-lock.yaml",
"/bun.lockb"
];
if (files) {
for (let file of files) {
if (file.startsWith("./")) {
file = file.slice(1);
}
if (file.endsWith("/*")) {
file += "*";
}
const inverse2 = `!${file}`;
try {
const stat2 = lstat2(join5(this.path, file.replace(/^!+/, "")).replace(/\\/g, "/"));
if (stat2.isFile()) {
strict.unshift(inverse2);
this.requiredFiles.push(file.startsWith("/") ? file.slice(1) : file);
} else if (stat2.isDirectory()) {
ignores.push(inverse2);
ignores.push(`${inverse2}/**`);
}
} catch (err2) {
ignores.push(inverse2);
}
}
this.injectRules("package.json", ["*", ...ignores]);
}
if (browser) {
strict.push(`!/${browser}`);
}
if (main5) {
strict.push(`!/${main5}`);
}
if (bin) {
for (const key in bin) {
strict.push(`!/${bin[key]}`);
}
}
this.injectRules(strictRules, strict, callback2);
}
// custom method: after we've finished gathering the files for the root package, we call this
// before emitting the 'done' event in order to gather all of the files for bundled deps
async gatherBundles() {
if (this.seen.has(this.tree)) {
return;
}
this.seen.add(this.tree);
let toBundle;
if (this.tree.isProjectRoot) {
const { bundleDependencies } = this.tree.package;
toBundle = bundleDependencies || [];
} else {
const { dependencies, optionalDependencies } = this.tree.package;
toBundle = Object.keys(dependencies || {}).concat(Object.keys(optionalDependencies || {}));
}
for (const dep of toBundle) {
const edge = this.tree.edgesOut.get(dep);
if (!edge || edge.peer || edge.dev) {
continue;
}
const node = this.tree.edgesOut.get(dep).to;
if (!node) {
continue;
}
const path236 = node.path;
const tree = node.target;
const walkerOpts = {
path: path236,
isPackage: true,
ignoreFiles: [],
seen: this.seen
// pass through seen so we can prevent infinite circular loops
};
if (node.isLink) {
walkerOpts.ignoreFiles.push(defaultRules);
}
walkerOpts.ignoreFiles.push("package.json");
if (node.isLink) {
walkerOpts.ignoreFiles.push(".npmignore");
walkerOpts.ignoreFiles.push(".gitignore");
}
walkerOpts.ignoreFiles.push(strictRules);
const walker = new _PackWalker(tree, walkerOpts);
const bundled = await new Promise((pResolve, pReject) => {
walker.on("error", pReject);
walker.on("done", pResolve);
walker.start();
});
const relativeFrom = relative2(this.root, walker.path);
for (const file of bundled) {
this.result.add(join5(relativeFrom, file).replace(/\\/g, "/"));
}
}
}
};
var walk = (tree, options, callback2) => {
if (typeof options === "function") {
callback2 = options;
options = {};
}
const p = new Promise((pResolve, pReject) => {
new PackWalker(tree, { ...options, isPackage: true }).on("done", pResolve).on("error", pReject).start();
});
return callback2 ? p.then((res) => callback2(null, res), callback2) : p;
};
module2.exports = walk;
walk.Walker = PackWalker;
}
});
// ../fs/packlist/lib/index.js
import fs13 from "node:fs";
import path20 from "node:path";
import util4 from "node:util";
async function packlist(pkgDir, opts3) {
const resolvedPkgDir = path20.resolve(pkgDir);
const workspaceDir = opts3?.workspaceDir == null ? void 0 : path20.resolve(opts3.workspaceDir);
const pkg = opts3?.manifest ?? readPackageJson2(resolvedPkgDir);
const tree = buildRootTree(resolvedPkgDir, pkg);
const packlistOpts = workspaceDir != null && workspaceDir !== resolvedPkgDir && isSubdir(workspaceDir, resolvedPkgDir) ? { prefix: workspaceDir, workspaces: [resolvedPkgDir] } : void 0;
const files = await (0, import_npm_packlist.default)(tree, packlistOpts);
return files.map((file) => file.replace(/^\.[/\\]/, ""));
}
function buildRootTree(pkgDir, pkg) {
const bundledDeps = getRootBundledDeps(pkg);
const normalizedPkg = normalizePackage(pkg);
normalizedPkg.bundleDependencies = bundledDeps;
delete normalizedPkg.bundledDependencies;
const root = makeNode(pkgDir, normalizedPkg, true);
const seen = /* @__PURE__ */ new Map([[pkgDir, root]]);
populateEdges(root, bundledDeps, seen);
return root;
}
function buildBundledTree(pkgDir, seen) {
const cached = seen.get(pkgDir);
if (cached)
return cached;
const pkg = readPackageJson2(pkgDir);
const node = makeNode(pkgDir, normalizePackage(pkg), false);
seen.set(pkgDir, node);
populateEdges(node, getNestedBundledDeps(pkg), seen);
return node;
}
function populateEdges(node, deps, seen) {
for (const dep of deps) {
const depDir = resolveDependency(dep, node.path);
if (!depDir)
continue;
const depNode = buildBundledTree(depDir, seen);
node.edgesOut.set(dep, { to: depNode, peer: false, dev: false });
}
}
function makeNode(pkgDir, pkg, isProjectRoot) {
const node = {
path: pkgDir,
package: pkg,
isProjectRoot,
isLink: false,
edgesOut: /* @__PURE__ */ new Map()
};
node.target = node;
return node;
}
function getRootBundledDeps(pkg) {
const bundle = pkg.bundleDependencies ?? pkg.bundledDependencies;
if (Array.isArray(bundle))
return bundle;
if (bundle === true) {
return Object.keys(pkg.dependencies ?? {});
}
return [];
}
function getNestedBundledDeps(pkg) {
const dependencies = pkg.dependencies ?? {};
const optionalDependencies = pkg.optionalDependencies ?? {};
return [...Object.keys(dependencies), ...Object.keys(optionalDependencies)];
}
function resolveDependency(depName, fromDir) {
let currentDir = fromDir;
while (true) {
const candidate = path20.join(currentDir, "node_modules", depName);
try {
const stat2 = fs13.statSync(path20.join(candidate, "package.json"));
if (stat2.isFile())
return candidate;
} catch (err2) {
if (!util4.types.isNativeError(err2) || !("code" in err2) || err2.code !== "ENOENT") {
throw err2;
}
}
const parent = path20.dirname(currentDir);
if (parent === currentDir)
return void 0;
currentDir = parent;
}
}
function readPackageJson2(dir) {
try {
return JSON.parse(fs13.readFileSync(path20.join(dir, "package.json"), "utf8"));
} catch (err2) {
if (util4.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return {};
}
throw err2;
}
}
function stripDotSlash(p) {
return p.replace(/^\.[/\\]/, "");
}
function normalizePackage(pkg) {
const normalized = { ...pkg };
if (typeof normalized.main === "string") {
normalized.main = stripDotSlash(normalized.main);
}
if (typeof normalized.browser === "string") {
normalized.browser = stripDotSlash(normalized.browser);
}
if (typeof normalized.bin === "string") {
normalized.bin = stripDotSlash(normalized.bin);
} else if (normalized.bin != null && typeof normalized.bin === "object") {
const bin = {};
for (const [key, value] of Object.entries(normalized.bin)) {
bin[key] = stripDotSlash(value);
}
normalized.bin = bin;
}
return normalized;
}
var import_npm_packlist;
var init_lib18 = __esm({
"../fs/packlist/lib/index.js"() {
"use strict";
init_is_subdir();
import_npm_packlist = __toESM(require_lib16(), 1);
}
});
// ../fetching/directory-fetcher/lib/index.js
import { promises as fs14 } from "node:fs";
import path21 from "node:path";
import util5 from "node:util";
function createDirectoryFetcher(opts3) {
const readFileStat = opts3?.resolveSymlinks === true ? realFileStat : fileStat;
const fetchFromDir2 = opts3?.includeOnlyPackageFiles ? fetchPackageFilesFromDir : fetchAllFilesFromDir.bind(null, readFileStat);
const directoryFetcher = (cafs, resolution, opts4) => {
const dir = path21.resolve(opts4.lockfileDir, resolution.directory);
return fetchFromDir2(dir);
};
return {
directory: directoryFetcher
};
}
async function fetchFromDir(dir, opts3) {
if (opts3.includeOnlyPackageFiles) {
return fetchPackageFilesFromDir(dir);
}
const readFileStat = opts3?.resolveSymlinks === true ? realFileStat : fileStat;
return fetchAllFilesFromDir(readFileStat, dir);
}
async function fetchAllFilesFromDir(readFileStat, dir) {
const { filesMap, filesStats } = await _fetchAllFilesFromDir(readFileStat, dir);
const manifest = await safeReadProjectManifestOnly(dir) ?? void 0;
const requiresBuild = pkgRequiresBuild(manifest, filesMap);
return {
local: true,
filesMap,
filesStats,
packageImportMethod: "hardlink",
manifest,
requiresBuild
};
}
async function _fetchAllFilesFromDir(readFileStat, dir, relativeDir = "") {
const filesMap = /* @__PURE__ */ new Map();
const filesStats = {};
const files = await fs14.readdir(dir);
await Promise.all(files.filter((file) => file !== "node_modules").map(async (file) => {
const fileStatResult = await readFileStat(path21.join(dir, file));
if (!fileStatResult)
return;
const { filePath, stat: stat2 } = fileStatResult;
const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file}`;
if (stat2.isDirectory()) {
const subFetchResult = await _fetchAllFilesFromDir(readFileStat, filePath, relativeSubdir);
for (const [key, value] of subFetchResult.filesMap) {
filesMap.set(key, value);
}
Object.assign(filesStats, subFetchResult.filesStats);
} else {
filesMap.set(relativeSubdir, filePath);
filesStats[relativeSubdir] = fileStatResult.stat;
}
}));
return { filesMap, filesStats };
}
async function realFileStat(filePath) {
let stat2 = await fs14.lstat(filePath);
if (!stat2.isSymbolicLink()) {
return { filePath, stat: stat2 };
}
try {
filePath = await fs14.realpath(filePath);
stat2 = await fs14.stat(filePath);
return { filePath, stat: stat2 };
} catch (err2) {
if (util5.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
directoryFetcherLogger.debug({ brokenSymlink: filePath });
return null;
}
throw err2;
}
}
async function fileStat(filePath) {
try {
return {
filePath,
stat: await fs14.stat(filePath)
};
} catch (err2) {
if (util5.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
directoryFetcherLogger.debug({ brokenSymlink: filePath });
return null;
}
throw err2;
}
}
async function fetchPackageFilesFromDir(dir) {
const files = await packlist(dir);
const filesMap = new Map(files.map((file) => [file, path21.join(dir, file)]));
const manifest = await safeReadProjectManifestOnly(dir) ?? void 0;
const requiresBuild = pkgRequiresBuild(manifest, filesMap);
return {
local: true,
filesMap,
packageImportMethod: "hardlink",
manifest,
requiresBuild
};
}
var directoryFetcherLogger;
var init_lib19 = __esm({
"../fetching/directory-fetcher/lib/index.js"() {
"use strict";
init_lib17();
init_lib18();
init_lib3();
init_lib15();
directoryFetcherLogger = logger("directory-fetcher");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-groups/5.0.0/ade025d576f817d1e895db8353a9b72f0a881735c6b8fe940526f9f8dba2d72f/node_modules/run-groups/lib/index.js
async function runGroups(concurrency, groups) {
const limitRun = pLimit(concurrency);
for (const tasks of groups) {
await Promise.all(tasks.map((task) => limitRun(task)));
}
}
var init_lib20 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-groups/5.0.0/ade025d576f817d1e895db8353a9b72f0a881735c6b8fe940526f9f8dba2d72f/node_modules/run-groups/lib/index.js"() {
init_p_limit();
}
});
// ../exec/lifecycle/lib/runLifecycleHooksConcurrently.js
import path22 from "node:path";
async function runLifecycleHooksConcurrently(stages, importers, childConcurrency, opts3) {
const importersByBuildIndex = /* @__PURE__ */ new Map();
for (const importer of importers) {
if (!importersByBuildIndex.has(importer.buildIndex)) {
importersByBuildIndex.set(importer.buildIndex, [importer]);
} else {
importersByBuildIndex.get(importer.buildIndex).push(importer);
}
}
const sortedBuildIndexes = Array.from(importersByBuildIndex.keys()).sort((a2, b) => a2 - b);
const groups = sortedBuildIndexes.map((buildIndex) => {
const importers2 = importersByBuildIndex.get(buildIndex);
return importers2.map(({ manifest, modulesDir, rootDir, stages: importerStages, targetDirs }) => async () => {
await linkBins(modulesDir, path22.join(modulesDir, ".bin"), {
extraNodePaths: opts3.extraNodePaths,
allowExoticManifests: true,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
projectManifest: manifest,
warn: (message) => {
logger.warn({ message, prefix: rootDir });
}
});
const runLifecycleHookOpts = {
...opts3,
depPath: rootDir,
pkgRoot: rootDir,
rootModulesDir: modulesDir
};
let isBuilt = false;
for (const stage of importerStages ?? stages) {
if (await runLifecycleHook(stage, manifest, runLifecycleHookOpts)) {
isBuilt = true;
}
}
if (targetDirs == null || targetDirs.length === 0 || !isBuilt)
return;
const filesResponse = await fetchFromDir(rootDir, { resolveSymlinks: opts3.resolveSymlinksInInjectedDirs });
await Promise.all(targetDirs.map(async (targetDir) => opts3.storeController.importPackage(targetDir, {
filesResponse: {
resolvedFrom: "local-dir",
...filesResponse
},
force: false,
keepModulesDir: true
})));
});
});
await runGroups(childConcurrency, groups);
}
var init_runLifecycleHooksConcurrently = __esm({
"../exec/lifecycle/lib/runLifecycleHooksConcurrently.js"() {
"use strict";
init_lib16();
init_lib19();
init_lib3();
init_lib20();
init_runLifecycleHook();
}
});
// ../exec/lifecycle/lib/trackChildProcess.js
import { spawn as spawn2 } from "node:child_process";
import path23 from "node:path";
function trackChildProcess(child) {
const pid = child.pid;
if (pid == null)
return;
trackedChildPids.add(pid);
const untrack = () => {
trackedChildPids.delete(pid);
};
child.once("close", untrack);
child.once("error", untrack);
}
async function killTrackedProcessTrees() {
await Promise.all(Array.from(trackedChildPids, killProcessTree));
}
async function killProcessTree(pid) {
if (process.platform === "win32") {
const taskkillPath = path23.join(process.env.SystemRoot ?? process.env.windir ?? "C:\\Windows", "System32", "taskkill.exe");
await new Promise((resolve4) => {
const taskkill = spawn2(taskkillPath, ["/pid", pid.toString(), "/T", "/F"], { stdio: "ignore", windowsHide: true });
const timer = setTimeout(() => {
taskkill.kill();
resolve4();
}, 1e4);
timer.unref();
const done = () => {
clearTimeout(timer);
resolve4();
};
taskkill.once("error", done);
taskkill.once("exit", done);
});
} else {
try {
process.kill(pid);
} catch {
}
}
}
var trackedChildPids;
var init_trackChildProcess = __esm({
"../exec/lifecycle/lib/trackChildProcess.js"() {
"use strict";
trackedChildPids = /* @__PURE__ */ new Set();
}
});
// ../exec/lifecycle/lib/index.js
function makeNodeRequireOption(modulePath, env3) {
let { NODE_OPTIONS } = env3 ?? process.env;
NODE_OPTIONS = `${NODE_OPTIONS ?? process.env.NODE_OPTIONS ?? ""} --require=${quotePathIfNeeded(modulePath)}`.trim();
return { NODE_OPTIONS };
}
function makeNodePackageMapOption(packageMapPath, env3) {
let { NODE_OPTIONS } = env3 ?? process.env;
NODE_OPTIONS = `${removeNodePackageMapOption(NODE_OPTIONS ?? process.env.NODE_OPTIONS ?? "")} --experimental-package-map=${quotePathIfNeeded(packageMapPath)}`.trim();
return { NODE_OPTIONS };
}
function quotePathIfNeeded(path236) {
if (!/[\s"'\\]/.test(path236))
return path236;
return `"${path236.replace(/(["\\])/g, "\\$1")}"`;
}
function removeNodePackageMapOption(nodeOptions) {
return nodeOptions.replace(/(?:^|\s)--experimental-package-map=(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+)/g, "").replace(/(?:^|\s)--experimental-package-map\s+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+)/g, "").trim();
}
async function runPostinstallHooks(opts3) {
const pkg = await safeReadPackageJsonFromDir(opts3.pkgRoot);
if (pkg == null)
return false;
if (pkg.scripts == null) {
pkg.scripts = {};
}
if (pkg.scripts.preinstall) {
await runLifecycleHook("preinstall", pkg, opts3);
}
const executedAnInstallScript = await runLifecycleHook("install", pkg, opts3);
if (pkg.scripts.postinstall) {
await runLifecycleHook("postinstall", pkg, opts3);
}
return pkg.scripts.preinstall != null || executedAnInstallScript || pkg.scripts.postinstall != null;
}
var init_lib21 = __esm({
"../exec/lifecycle/lib/index.js"() {
"use strict";
init_lib5();
init_runLifecycleHook();
init_runLifecycleHooksConcurrently();
init_trackChildProcess();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMode.js
var require_QRMode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMode.js"(exports2, module2) {
module2.exports = {
MODE_NUMBER: 1 << 0,
MODE_ALPHA_NUM: 1 << 1,
MODE_8BIT_BYTE: 1 << 2,
MODE_KANJI: 1 << 3
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QR8bitByte.js
var require_QR8bitByte = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QR8bitByte.js"(exports2, module2) {
var QRMode = require_QRMode();
function QR8bitByte(data) {
this.mode = QRMode.MODE_8BIT_BYTE;
this.data = data;
}
QR8bitByte.prototype = {
getLength: function() {
return this.data.length;
},
write: function(buffer3) {
for (var i4 = 0; i4 < this.data.length; i4++) {
buffer3.put(this.data.charCodeAt(i4), 8);
}
}
};
module2.exports = QR8bitByte;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMath.js
var require_QRMath = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMath.js"(exports2, module2) {
var QRMath = {
glog: function(n2) {
if (n2 < 1) {
throw new Error("glog(" + n2 + ")");
}
return QRMath.LOG_TABLE[n2];
},
gexp: function(n2) {
while (n2 < 0) {
n2 += 255;
}
while (n2 >= 256) {
n2 -= 255;
}
return QRMath.EXP_TABLE[n2];
},
EXP_TABLE: new Array(256),
LOG_TABLE: new Array(256)
};
for (i4 = 0; i4 < 8; i4++) {
QRMath.EXP_TABLE[i4] = 1 << i4;
}
var i4;
for (i4 = 8; i4 < 256; i4++) {
QRMath.EXP_TABLE[i4] = QRMath.EXP_TABLE[i4 - 4] ^ QRMath.EXP_TABLE[i4 - 5] ^ QRMath.EXP_TABLE[i4 - 6] ^ QRMath.EXP_TABLE[i4 - 8];
}
var i4;
for (i4 = 0; i4 < 255; i4++) {
QRMath.LOG_TABLE[QRMath.EXP_TABLE[i4]] = i4;
}
var i4;
module2.exports = QRMath;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRPolynomial.js
var require_QRPolynomial = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRPolynomial.js"(exports2, module2) {
var QRMath = require_QRMath();
function QRPolynomial(num, shift) {
if (num.length === void 0) {
throw new Error(num.length + "/" + shift);
}
var offset = 0;
while (offset < num.length && num[offset] === 0) {
offset++;
}
this.num = new Array(num.length - offset + shift);
for (var i4 = 0; i4 < num.length - offset; i4++) {
this.num[i4] = num[i4 + offset];
}
}
QRPolynomial.prototype = {
get: function(index2) {
return this.num[index2];
},
getLength: function() {
return this.num.length;
},
multiply: function(e) {
var num = new Array(this.getLength() + e.getLength() - 1);
for (var i4 = 0; i4 < this.getLength(); i4++) {
for (var j2 = 0; j2 < e.getLength(); j2++) {
num[i4 + j2] ^= QRMath.gexp(QRMath.glog(this.get(i4)) + QRMath.glog(e.get(j2)));
}
}
return new QRPolynomial(num, 0);
},
mod: function(e) {
if (this.getLength() - e.getLength() < 0) {
return this;
}
var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0));
var num = new Array(this.getLength());
for (var i4 = 0; i4 < this.getLength(); i4++) {
num[i4] = this.get(i4);
}
for (var x3 = 0; x3 < e.getLength(); x3++) {
num[x3] ^= QRMath.gexp(QRMath.glog(e.get(x3)) + ratio);
}
return new QRPolynomial(num, 0).mod(e);
}
};
module2.exports = QRPolynomial;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMaskPattern.js
var require_QRMaskPattern = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRMaskPattern.js"(exports2, module2) {
module2.exports = {
PATTERN000: 0,
PATTERN001: 1,
PATTERN010: 2,
PATTERN011: 3,
PATTERN100: 4,
PATTERN101: 5,
PATTERN110: 6,
PATTERN111: 7
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRUtil.js
var require_QRUtil = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRUtil.js"(exports2, module2) {
var QRMode = require_QRMode();
var QRPolynomial = require_QRPolynomial();
var QRMath = require_QRMath();
var QRMaskPattern = require_QRMaskPattern();
var QRUtil = {
PATTERN_POSITION_TABLE: [
[],
[6, 18],
[6, 22],
[6, 26],
[6, 30],
[6, 34],
[6, 22, 38],
[6, 24, 42],
[6, 26, 46],
[6, 28, 50],
[6, 30, 54],
[6, 32, 58],
[6, 34, 62],
[6, 26, 46, 66],
[6, 26, 48, 70],
[6, 26, 50, 74],
[6, 30, 54, 78],
[6, 30, 56, 82],
[6, 30, 58, 86],
[6, 34, 62, 90],
[6, 28, 50, 72, 94],
[6, 26, 50, 74, 98],
[6, 30, 54, 78, 102],
[6, 28, 54, 80, 106],
[6, 32, 58, 84, 110],
[6, 30, 58, 86, 114],
[6, 34, 62, 90, 118],
[6, 26, 50, 74, 98, 122],
[6, 30, 54, 78, 102, 126],
[6, 26, 52, 78, 104, 130],
[6, 30, 56, 82, 108, 134],
[6, 34, 60, 86, 112, 138],
[6, 30, 58, 86, 114, 142],
[6, 34, 62, 90, 118, 146],
[6, 30, 54, 78, 102, 126, 150],
[6, 24, 50, 76, 102, 128, 154],
[6, 28, 54, 80, 106, 132, 158],
[6, 32, 58, 84, 110, 136, 162],
[6, 26, 54, 82, 110, 138, 166],
[6, 30, 58, 86, 114, 142, 170]
],
G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,
G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,
G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,
getBCHTypeInfo: function(data) {
var d3 = data << 10;
while (QRUtil.getBCHDigit(d3) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
d3 ^= QRUtil.G15 << QRUtil.getBCHDigit(d3) - QRUtil.getBCHDigit(QRUtil.G15);
}
return (data << 10 | d3) ^ QRUtil.G15_MASK;
},
getBCHTypeNumber: function(data) {
var d3 = data << 12;
while (QRUtil.getBCHDigit(d3) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
d3 ^= QRUtil.G18 << QRUtil.getBCHDigit(d3) - QRUtil.getBCHDigit(QRUtil.G18);
}
return data << 12 | d3;
},
getBCHDigit: function(data) {
var digit = 0;
while (data !== 0) {
digit++;
data >>>= 1;
}
return digit;
},
getPatternPosition: function(typeNumber) {
return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];
},
getMask: function(maskPattern, i4, j2) {
switch (maskPattern) {
case QRMaskPattern.PATTERN000:
return (i4 + j2) % 2 === 0;
case QRMaskPattern.PATTERN001:
return i4 % 2 === 0;
case QRMaskPattern.PATTERN010:
return j2 % 3 === 0;
case QRMaskPattern.PATTERN011:
return (i4 + j2) % 3 === 0;
case QRMaskPattern.PATTERN100:
return (Math.floor(i4 / 2) + Math.floor(j2 / 3)) % 2 === 0;
case QRMaskPattern.PATTERN101:
return i4 * j2 % 2 + i4 * j2 % 3 === 0;
case QRMaskPattern.PATTERN110:
return (i4 * j2 % 2 + i4 * j2 % 3) % 2 === 0;
case QRMaskPattern.PATTERN111:
return (i4 * j2 % 3 + (i4 + j2) % 2) % 2 === 0;
default:
throw new Error("bad maskPattern:" + maskPattern);
}
},
getErrorCorrectPolynomial: function(errorCorrectLength) {
var a2 = new QRPolynomial([1], 0);
for (var i4 = 0; i4 < errorCorrectLength; i4++) {
a2 = a2.multiply(new QRPolynomial([1, QRMath.gexp(i4)], 0));
}
return a2;
},
getLengthInBits: function(mode, type4) {
if (1 <= type4 && type4 < 10) {
switch (mode) {
case QRMode.MODE_NUMBER:
return 10;
case QRMode.MODE_ALPHA_NUM:
return 9;
case QRMode.MODE_8BIT_BYTE:
return 8;
case QRMode.MODE_KANJI:
return 8;
default:
throw new Error("mode:" + mode);
}
} else if (type4 < 27) {
switch (mode) {
case QRMode.MODE_NUMBER:
return 12;
case QRMode.MODE_ALPHA_NUM:
return 11;
case QRMode.MODE_8BIT_BYTE:
return 16;
case QRMode.MODE_KANJI:
return 10;
default:
throw new Error("mode:" + mode);
}
} else if (type4 < 41) {
switch (mode) {
case QRMode.MODE_NUMBER:
return 14;
case QRMode.MODE_ALPHA_NUM:
return 13;
case QRMode.MODE_8BIT_BYTE:
return 16;
case QRMode.MODE_KANJI:
return 12;
default:
throw new Error("mode:" + mode);
}
} else {
throw new Error("type:" + type4);
}
},
getLostPoint: function(qrCode) {
var moduleCount = qrCode.getModuleCount();
var lostPoint = 0;
var row = 0;
var col = 0;
for (row = 0; row < moduleCount; row++) {
for (col = 0; col < moduleCount; col++) {
var sameCount = 0;
var dark = qrCode.isDark(row, col);
for (var r = -1; r <= 1; r++) {
if (row + r < 0 || moduleCount <= row + r) {
continue;
}
for (var c3 = -1; c3 <= 1; c3++) {
if (col + c3 < 0 || moduleCount <= col + c3) {
continue;
}
if (r === 0 && c3 === 0) {
continue;
}
if (dark === qrCode.isDark(row + r, col + c3)) {
sameCount++;
}
}
}
if (sameCount > 5) {
lostPoint += 3 + sameCount - 5;
}
}
}
for (row = 0; row < moduleCount - 1; row++) {
for (col = 0; col < moduleCount - 1; col++) {
var count2 = 0;
if (qrCode.isDark(row, col)) count2++;
if (qrCode.isDark(row + 1, col)) count2++;
if (qrCode.isDark(row, col + 1)) count2++;
if (qrCode.isDark(row + 1, col + 1)) count2++;
if (count2 === 0 || count2 === 4) {
lostPoint += 3;
}
}
}
for (row = 0; row < moduleCount; row++) {
for (col = 0; col < moduleCount - 6; col++) {
if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {
lostPoint += 40;
}
}
}
for (col = 0; col < moduleCount; col++) {
for (row = 0; row < moduleCount - 6; row++) {
if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {
lostPoint += 40;
}
}
}
var darkCount = 0;
for (col = 0; col < moduleCount; col++) {
for (row = 0; row < moduleCount; row++) {
if (qrCode.isDark(row, col)) {
darkCount++;
}
}
}
var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
lostPoint += ratio * 10;
return lostPoint;
}
};
module2.exports = QRUtil;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js
var require_QRErrorCorrectLevel = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js"(exports2, module2) {
module2.exports = {
L: 1,
M: 0,
Q: 3,
H: 2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRRSBlock.js
var require_QRRSBlock = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRRSBlock.js"(exports2, module2) {
var QRErrorCorrectLevel = require_QRErrorCorrectLevel();
function QRRSBlock(totalCount, dataCount) {
this.totalCount = totalCount;
this.dataCount = dataCount;
}
QRRSBlock.RS_BLOCK_TABLE = [
// L
// M
// Q
// H
// 1
[1, 26, 19],
[1, 26, 16],
[1, 26, 13],
[1, 26, 9],
// 2
[1, 44, 34],
[1, 44, 28],
[1, 44, 22],
[1, 44, 16],
// 3
[1, 70, 55],
[1, 70, 44],
[2, 35, 17],
[2, 35, 13],
// 4
[1, 100, 80],
[2, 50, 32],
[2, 50, 24],
[4, 25, 9],
// 5
[1, 134, 108],
[2, 67, 43],
[2, 33, 15, 2, 34, 16],
[2, 33, 11, 2, 34, 12],
// 6
[2, 86, 68],
[4, 43, 27],
[4, 43, 19],
[4, 43, 15],
// 7
[2, 98, 78],
[4, 49, 31],
[2, 32, 14, 4, 33, 15],
[4, 39, 13, 1, 40, 14],
// 8
[2, 121, 97],
[2, 60, 38, 2, 61, 39],
[4, 40, 18, 2, 41, 19],
[4, 40, 14, 2, 41, 15],
// 9
[2, 146, 116],
[3, 58, 36, 2, 59, 37],
[4, 36, 16, 4, 37, 17],
[4, 36, 12, 4, 37, 13],
// 10
[2, 86, 68, 2, 87, 69],
[4, 69, 43, 1, 70, 44],
[6, 43, 19, 2, 44, 20],
[6, 43, 15, 2, 44, 16],
// 11
[4, 101, 81],
[1, 80, 50, 4, 81, 51],
[4, 50, 22, 4, 51, 23],
[3, 36, 12, 8, 37, 13],
// 12
[2, 116, 92, 2, 117, 93],
[6, 58, 36, 2, 59, 37],
[4, 46, 20, 6, 47, 21],
[7, 42, 14, 4, 43, 15],
// 13
[4, 133, 107],
[8, 59, 37, 1, 60, 38],
[8, 44, 20, 4, 45, 21],
[12, 33, 11, 4, 34, 12],
// 14
[3, 145, 115, 1, 146, 116],
[4, 64, 40, 5, 65, 41],
[11, 36, 16, 5, 37, 17],
[11, 36, 12, 5, 37, 13],
// 15
[5, 109, 87, 1, 110, 88],
[5, 65, 41, 5, 66, 42],
[5, 54, 24, 7, 55, 25],
[11, 36, 12],
// 16
[5, 122, 98, 1, 123, 99],
[7, 73, 45, 3, 74, 46],
[15, 43, 19, 2, 44, 20],
[3, 45, 15, 13, 46, 16],
// 17
[1, 135, 107, 5, 136, 108],
[10, 74, 46, 1, 75, 47],
[1, 50, 22, 15, 51, 23],
[2, 42, 14, 17, 43, 15],
// 18
[5, 150, 120, 1, 151, 121],
[9, 69, 43, 4, 70, 44],
[17, 50, 22, 1, 51, 23],
[2, 42, 14, 19, 43, 15],
// 19
[3, 141, 113, 4, 142, 114],
[3, 70, 44, 11, 71, 45],
[17, 47, 21, 4, 48, 22],
[9, 39, 13, 16, 40, 14],
// 20
[3, 135, 107, 5, 136, 108],
[3, 67, 41, 13, 68, 42],
[15, 54, 24, 5, 55, 25],
[15, 43, 15, 10, 44, 16],
// 21
[4, 144, 116, 4, 145, 117],
[17, 68, 42],
[17, 50, 22, 6, 51, 23],
[19, 46, 16, 6, 47, 17],
// 22
[2, 139, 111, 7, 140, 112],
[17, 74, 46],
[7, 54, 24, 16, 55, 25],
[34, 37, 13],
// 23
[4, 151, 121, 5, 152, 122],
[4, 75, 47, 14, 76, 48],
[11, 54, 24, 14, 55, 25],
[16, 45, 15, 14, 46, 16],
// 24
[6, 147, 117, 4, 148, 118],
[6, 73, 45, 14, 74, 46],
[11, 54, 24, 16, 55, 25],
[30, 46, 16, 2, 47, 17],
// 25
[8, 132, 106, 4, 133, 107],
[8, 75, 47, 13, 76, 48],
[7, 54, 24, 22, 55, 25],
[22, 45, 15, 13, 46, 16],
// 26
[10, 142, 114, 2, 143, 115],
[19, 74, 46, 4, 75, 47],
[28, 50, 22, 6, 51, 23],
[33, 46, 16, 4, 47, 17],
// 27
[8, 152, 122, 4, 153, 123],
[22, 73, 45, 3, 74, 46],
[8, 53, 23, 26, 54, 24],
[12, 45, 15, 28, 46, 16],
// 28
[3, 147, 117, 10, 148, 118],
[3, 73, 45, 23, 74, 46],
[4, 54, 24, 31, 55, 25],
[11, 45, 15, 31, 46, 16],
// 29
[7, 146, 116, 7, 147, 117],
[21, 73, 45, 7, 74, 46],
[1, 53, 23, 37, 54, 24],
[19, 45, 15, 26, 46, 16],
// 30
[5, 145, 115, 10, 146, 116],
[19, 75, 47, 10, 76, 48],
[15, 54, 24, 25, 55, 25],
[23, 45, 15, 25, 46, 16],
// 31
[13, 145, 115, 3, 146, 116],
[2, 74, 46, 29, 75, 47],
[42, 54, 24, 1, 55, 25],
[23, 45, 15, 28, 46, 16],
// 32
[17, 145, 115],
[10, 74, 46, 23, 75, 47],
[10, 54, 24, 35, 55, 25],
[19, 45, 15, 35, 46, 16],
// 33
[17, 145, 115, 1, 146, 116],
[14, 74, 46, 21, 75, 47],
[29, 54, 24, 19, 55, 25],
[11, 45, 15, 46, 46, 16],
// 34
[13, 145, 115, 6, 146, 116],
[14, 74, 46, 23, 75, 47],
[44, 54, 24, 7, 55, 25],
[59, 46, 16, 1, 47, 17],
// 35
[12, 151, 121, 7, 152, 122],
[12, 75, 47, 26, 76, 48],
[39, 54, 24, 14, 55, 25],
[22, 45, 15, 41, 46, 16],
// 36
[6, 151, 121, 14, 152, 122],
[6, 75, 47, 34, 76, 48],
[46, 54, 24, 10, 55, 25],
[2, 45, 15, 64, 46, 16],
// 37
[17, 152, 122, 4, 153, 123],
[29, 74, 46, 14, 75, 47],
[49, 54, 24, 10, 55, 25],
[24, 45, 15, 46, 46, 16],
// 38
[4, 152, 122, 18, 153, 123],
[13, 74, 46, 32, 75, 47],
[48, 54, 24, 14, 55, 25],
[42, 45, 15, 32, 46, 16],
// 39
[20, 147, 117, 4, 148, 118],
[40, 75, 47, 7, 76, 48],
[43, 54, 24, 22, 55, 25],
[10, 45, 15, 67, 46, 16],
// 40
[19, 148, 118, 6, 149, 119],
[18, 75, 47, 31, 76, 48],
[34, 54, 24, 34, 55, 25],
[20, 45, 15, 61, 46, 16]
];
QRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {
var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);
if (rsBlock === void 0) {
throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + errorCorrectLevel);
}
var length = rsBlock.length / 3;
var list2 = [];
for (var i4 = 0; i4 < length; i4++) {
var count2 = rsBlock[i4 * 3 + 0];
var totalCount = rsBlock[i4 * 3 + 1];
var dataCount = rsBlock[i4 * 3 + 2];
for (var j2 = 0; j2 < count2; j2++) {
list2.push(new QRRSBlock(totalCount, dataCount));
}
}
return list2;
};
QRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {
switch (errorCorrectLevel) {
case QRErrorCorrectLevel.L:
return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
case QRErrorCorrectLevel.M:
return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
case QRErrorCorrectLevel.Q:
return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
case QRErrorCorrectLevel.H:
return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
default:
return void 0;
}
};
module2.exports = QRRSBlock;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRBitBuffer.js
var require_QRBitBuffer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/QRBitBuffer.js"(exports2, module2) {
function QRBitBuffer() {
this.buffer = [];
this.length = 0;
}
QRBitBuffer.prototype = {
get: function(index2) {
var bufIndex = Math.floor(index2 / 8);
return (this.buffer[bufIndex] >>> 7 - index2 % 8 & 1) == 1;
},
put: function(num, length) {
for (var i4 = 0; i4 < length; i4++) {
this.putBit((num >>> length - i4 - 1 & 1) == 1);
}
},
getLengthInBits: function() {
return this.length;
},
putBit: function(bit) {
var bufIndex = Math.floor(this.length / 8);
if (this.buffer.length <= bufIndex) {
this.buffer.push(0);
}
if (bit) {
this.buffer[bufIndex] |= 128 >>> this.length % 8;
}
this.length++;
}
};
module2.exports = QRBitBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/index.js
var require_QRCode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/vendor/QRCode/index.js"(exports2, module2) {
var QR8bitByte = require_QR8bitByte();
var QRUtil = require_QRUtil();
var QRPolynomial = require_QRPolynomial();
var QRRSBlock = require_QRRSBlock();
var QRBitBuffer = require_QRBitBuffer();
function QRCode(typeNumber, errorCorrectLevel) {
this.typeNumber = typeNumber;
this.errorCorrectLevel = errorCorrectLevel;
this.modules = null;
this.moduleCount = 0;
this.dataCache = null;
this.dataList = [];
}
QRCode.prototype = {
addData: function(data) {
var newData = new QR8bitByte(data);
this.dataList.push(newData);
this.dataCache = null;
},
isDark: function(row, col) {
if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {
throw new Error(row + "," + col);
}
return this.modules[row][col];
},
getModuleCount: function() {
return this.moduleCount;
},
make: function() {
if (this.typeNumber < 1) {
var typeNumber = 1;
for (typeNumber = 1; typeNumber < 40; typeNumber++) {
var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);
var buffer3 = new QRBitBuffer();
var totalDataCount = 0;
for (var i4 = 0; i4 < rsBlocks.length; i4++) {
totalDataCount += rsBlocks[i4].dataCount;
}
for (var x3 = 0; x3 < this.dataList.length; x3++) {
var data = this.dataList[x3];
buffer3.put(data.mode, 4);
buffer3.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));
data.write(buffer3);
}
if (buffer3.getLengthInBits() <= totalDataCount * 8)
break;
}
this.typeNumber = typeNumber;
}
this.makeImpl(false, this.getBestMaskPattern());
},
makeImpl: function(test, maskPattern) {
this.moduleCount = this.typeNumber * 4 + 17;
this.modules = new Array(this.moduleCount);
for (var row = 0; row < this.moduleCount; row++) {
this.modules[row] = new Array(this.moduleCount);
for (var col = 0; col < this.moduleCount; col++) {
this.modules[row][col] = null;
}
}
this.setupPositionProbePattern(0, 0);
this.setupPositionProbePattern(this.moduleCount - 7, 0);
this.setupPositionProbePattern(0, this.moduleCount - 7);
this.setupPositionAdjustPattern();
this.setupTimingPattern();
this.setupTypeInfo(test, maskPattern);
if (this.typeNumber >= 7) {
this.setupTypeNumber(test);
}
if (this.dataCache === null) {
this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);
}
this.mapData(this.dataCache, maskPattern);
},
setupPositionProbePattern: function(row, col) {
for (var r = -1; r <= 7; r++) {
if (row + r <= -1 || this.moduleCount <= row + r) continue;
for (var c3 = -1; c3 <= 7; c3++) {
if (col + c3 <= -1 || this.moduleCount <= col + c3) continue;
if (0 <= r && r <= 6 && (c3 === 0 || c3 === 6) || 0 <= c3 && c3 <= 6 && (r === 0 || r === 6) || 2 <= r && r <= 4 && 2 <= c3 && c3 <= 4) {
this.modules[row + r][col + c3] = true;
} else {
this.modules[row + r][col + c3] = false;
}
}
}
},
getBestMaskPattern: function() {
var minLostPoint = 0;
var pattern = 0;
for (var i4 = 0; i4 < 8; i4++) {
this.makeImpl(true, i4);
var lostPoint = QRUtil.getLostPoint(this);
if (i4 === 0 || minLostPoint > lostPoint) {
minLostPoint = lostPoint;
pattern = i4;
}
}
return pattern;
},
createMovieClip: function(target_mc, instance_name, depth) {
var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);
var cs = 1;
this.make();
for (var row = 0; row < this.modules.length; row++) {
var y = row * cs;
for (var col = 0; col < this.modules[row].length; col++) {
var x3 = col * cs;
var dark = this.modules[row][col];
if (dark) {
qr_mc.beginFill(0, 100);
qr_mc.moveTo(x3, y);
qr_mc.lineTo(x3 + cs, y);
qr_mc.lineTo(x3 + cs, y + cs);
qr_mc.lineTo(x3, y + cs);
qr_mc.endFill();
}
}
}
return qr_mc;
},
setupTimingPattern: function() {
for (var r = 8; r < this.moduleCount - 8; r++) {
if (this.modules[r][6] !== null) {
continue;
}
this.modules[r][6] = r % 2 === 0;
}
for (var c3 = 8; c3 < this.moduleCount - 8; c3++) {
if (this.modules[6][c3] !== null) {
continue;
}
this.modules[6][c3] = c3 % 2 === 0;
}
},
setupPositionAdjustPattern: function() {
var pos = QRUtil.getPatternPosition(this.typeNumber);
for (var i4 = 0; i4 < pos.length; i4++) {
for (var j2 = 0; j2 < pos.length; j2++) {
var row = pos[i4];
var col = pos[j2];
if (this.modules[row][col] !== null) {
continue;
}
for (var r = -2; r <= 2; r++) {
for (var c3 = -2; c3 <= 2; c3++) {
if (Math.abs(r) === 2 || Math.abs(c3) === 2 || r === 0 && c3 === 0) {
this.modules[row + r][col + c3] = true;
} else {
this.modules[row + r][col + c3] = false;
}
}
}
}
}
},
setupTypeNumber: function(test) {
var bits2 = QRUtil.getBCHTypeNumber(this.typeNumber);
var mod2;
for (var i4 = 0; i4 < 18; i4++) {
mod2 = !test && (bits2 >> i4 & 1) === 1;
this.modules[Math.floor(i4 / 3)][i4 % 3 + this.moduleCount - 8 - 3] = mod2;
}
for (var x3 = 0; x3 < 18; x3++) {
mod2 = !test && (bits2 >> x3 & 1) === 1;
this.modules[x3 % 3 + this.moduleCount - 8 - 3][Math.floor(x3 / 3)] = mod2;
}
},
setupTypeInfo: function(test, maskPattern) {
var data = this.errorCorrectLevel << 3 | maskPattern;
var bits2 = QRUtil.getBCHTypeInfo(data);
var mod2;
for (var v = 0; v < 15; v++) {
mod2 = !test && (bits2 >> v & 1) === 1;
if (v < 6) {
this.modules[v][8] = mod2;
} else if (v < 8) {
this.modules[v + 1][8] = mod2;
} else {
this.modules[this.moduleCount - 15 + v][8] = mod2;
}
}
for (var h2 = 0; h2 < 15; h2++) {
mod2 = !test && (bits2 >> h2 & 1) === 1;
if (h2 < 8) {
this.modules[8][this.moduleCount - h2 - 1] = mod2;
} else if (h2 < 9) {
this.modules[8][15 - h2 - 1 + 1] = mod2;
} else {
this.modules[8][15 - h2 - 1] = mod2;
}
}
this.modules[this.moduleCount - 8][8] = !test;
},
mapData: function(data, maskPattern) {
var inc3 = -1;
var row = this.moduleCount - 1;
var bitIndex = 7;
var byteIndex = 0;
for (var col = this.moduleCount - 1; col > 0; col -= 2) {
if (col === 6) col--;
while (true) {
for (var c3 = 0; c3 < 2; c3++) {
if (this.modules[row][col - c3] === null) {
var dark = false;
if (byteIndex < data.length) {
dark = (data[byteIndex] >>> bitIndex & 1) === 1;
}
var mask = QRUtil.getMask(maskPattern, row, col - c3);
if (mask) {
dark = !dark;
}
this.modules[row][col - c3] = dark;
bitIndex--;
if (bitIndex === -1) {
byteIndex++;
bitIndex = 7;
}
}
}
row += inc3;
if (row < 0 || this.moduleCount <= row) {
row -= inc3;
inc3 = -inc3;
break;
}
}
}
}
};
QRCode.PAD0 = 236;
QRCode.PAD1 = 17;
QRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {
var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel);
var buffer3 = new QRBitBuffer();
for (var i4 = 0; i4 < dataList.length; i4++) {
var data = dataList[i4];
buffer3.put(data.mode, 4);
buffer3.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));
data.write(buffer3);
}
var totalDataCount = 0;
for (var x3 = 0; x3 < rsBlocks.length; x3++) {
totalDataCount += rsBlocks[x3].dataCount;
}
if (buffer3.getLengthInBits() > totalDataCount * 8) {
throw new Error("code length overflow. (" + buffer3.getLengthInBits() + ">" + totalDataCount * 8 + ")");
}
if (buffer3.getLengthInBits() + 4 <= totalDataCount * 8) {
buffer3.put(0, 4);
}
while (buffer3.getLengthInBits() % 8 !== 0) {
buffer3.putBit(false);
}
while (true) {
if (buffer3.getLengthInBits() >= totalDataCount * 8) {
break;
}
buffer3.put(QRCode.PAD0, 8);
if (buffer3.getLengthInBits() >= totalDataCount * 8) {
break;
}
buffer3.put(QRCode.PAD1, 8);
}
return QRCode.createBytes(buffer3, rsBlocks);
};
QRCode.createBytes = function(buffer3, rsBlocks) {
var offset = 0;
var maxDcCount = 0;
var maxEcCount = 0;
var dcdata = new Array(rsBlocks.length);
var ecdata = new Array(rsBlocks.length);
for (var r = 0; r < rsBlocks.length; r++) {
var dcCount = rsBlocks[r].dataCount;
var ecCount = rsBlocks[r].totalCount - dcCount;
maxDcCount = Math.max(maxDcCount, dcCount);
maxEcCount = Math.max(maxEcCount, ecCount);
dcdata[r] = new Array(dcCount);
for (var i4 = 0; i4 < dcdata[r].length; i4++) {
dcdata[r][i4] = 255 & buffer3.buffer[i4 + offset];
}
offset += dcCount;
var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);
var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);
var modPoly = rawPoly.mod(rsPoly);
ecdata[r] = new Array(rsPoly.getLength() - 1);
for (var x3 = 0; x3 < ecdata[r].length; x3++) {
var modIndex = x3 + modPoly.getLength() - ecdata[r].length;
ecdata[r][x3] = modIndex >= 0 ? modPoly.get(modIndex) : 0;
}
}
var totalCodeCount = 0;
for (var y = 0; y < rsBlocks.length; y++) {
totalCodeCount += rsBlocks[y].totalCount;
}
var data = new Array(totalCodeCount);
var index2 = 0;
for (var z = 0; z < maxDcCount; z++) {
for (var s = 0; s < rsBlocks.length; s++) {
if (z < dcdata[s].length) {
data[index2++] = dcdata[s][z];
}
}
}
for (var xx = 0; xx < maxEcCount; xx++) {
for (var t2 = 0; t2 < rsBlocks.length; t2++) {
if (xx < ecdata[t2].length) {
data[index2++] = ecdata[t2][xx];
}
}
}
return data;
};
module2.exports = QRCode;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/lib/main.js
var require_main = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/qrcode-terminal/0.12.0/751cbcc5a2d95c53c2d299cfe0a19376d0a41cb6b78bc81a6f4a8946596ea530/node_modules/qrcode-terminal/lib/main.js"(exports2, module2) {
var QRCode = require_QRCode();
var QRErrorCorrectLevel = require_QRErrorCorrectLevel();
var black2 = "\x1B[40m \x1B[0m";
var white2 = "\x1B[47m \x1B[0m";
var toCell = function(isBlack) {
return isBlack ? black2 : white2;
};
var repeat4 = function(color) {
return {
times: function(count2) {
return new Array(count2).join(color);
}
};
};
var fill = function(length, value) {
var arr = new Array(length);
for (var i4 = 0; i4 < length; i4++) {
arr[i4] = value;
}
return arr;
};
module2.exports = {
error: QRErrorCorrectLevel.L,
generate: function(input, opts3, cb) {
if (typeof opts3 === "function") {
cb = opts3;
opts3 = {};
}
var qrcode = new QRCode(-1, this.error);
qrcode.addData(input);
qrcode.make();
var output = "";
if (opts3 && opts3.small) {
var BLACK = true, WHITE = false;
var moduleCount = qrcode.getModuleCount();
var moduleData = qrcode.modules.slice();
var oddRow = moduleCount % 2 === 1;
if (oddRow) {
moduleData.push(fill(moduleCount, WHITE));
}
var platte = {
WHITE_ALL: "\u2588",
WHITE_BLACK: "\u2580",
BLACK_WHITE: "\u2584",
BLACK_ALL: " "
};
var borderTop = repeat4(platte.BLACK_WHITE).times(moduleCount + 3);
var borderBottom = repeat4(platte.WHITE_BLACK).times(moduleCount + 3);
output += borderTop + "\n";
for (var row = 0; row < moduleCount; row += 2) {
output += platte.WHITE_ALL;
for (var col = 0; col < moduleCount; col++) {
if (moduleData[row][col] === WHITE && moduleData[row + 1][col] === WHITE) {
output += platte.WHITE_ALL;
} else if (moduleData[row][col] === WHITE && moduleData[row + 1][col] === BLACK) {
output += platte.WHITE_BLACK;
} else if (moduleData[row][col] === BLACK && moduleData[row + 1][col] === WHITE) {
output += platte.BLACK_WHITE;
} else {
output += platte.BLACK_ALL;
}
}
output += platte.WHITE_ALL + "\n";
}
if (!oddRow) {
output += borderBottom;
}
} else {
var border = repeat4(white2).times(qrcode.getModuleCount() + 3);
output += border + "\n";
qrcode.modules.forEach(function(row2) {
output += white2;
output += row2.map(toCell).join("");
output += white2 + "\n";
});
output += border;
}
if (cb) cb(output);
else console.log(output);
},
setErrorLevel: function(error) {
this.error = QRErrorCorrectLevel[error] || this.error;
}
};
}
});
// ../network/web-auth/lib/generateQrCode.js
function generateQrCode(text) {
let qrCode;
import_qrcode_terminal.default.generate(text, { small: true }, (code) => {
qrCode = code;
});
if (qrCode != null)
return qrCode;
throw new Error("we were expecting qrcode-terminal to be fully synchronous, but it fails to execute the callback");
}
var import_qrcode_terminal;
var init_generateQrCode = __esm({
"../network/web-auth/lib/generateQrCode.js"() {
"use strict";
import_qrcode_terminal = __toESM(require_main(), 1);
}
});
// ../network/web-auth/lib/WebAuthTimeoutError.js
var WebAuthTimeoutError;
var init_WebAuthTimeoutError = __esm({
"../network/web-auth/lib/WebAuthTimeoutError.js"() {
"use strict";
init_lib2();
WebAuthTimeoutError = class extends PnpmError {
endTime;
startTime;
timeout;
constructor(endTime, startTime, timeout) {
super("WEBAUTH_TIMEOUT", "Web-based authentication timed out before it could be completed", {
hint: "Re-run this command and complete the authentication step in your browser before the time limit is reached"
});
this.endTime = endTime;
this.startTime = startTime;
this.timeout = timeout;
}
};
}
});
// ../network/web-auth/lib/pollForWebAuthToken.js
async function pollForWebAuthToken({ context: { Date: Date2, fetch: fetch2, setTimeout: setTimeout4 }, doneUrl, fetchOptions, timeoutMs = 5 * 60 * 1e3 }) {
const startTime = Date2.now();
const pollIntervalMs = 1e3;
while (true) {
const now = Date2.now();
if (now - startTime > timeoutMs) {
throw new WebAuthTimeoutError(now, startTime, timeoutMs);
}
await new Promise((resolve4) => setTimeout4(resolve4, pollIntervalMs));
let response;
try {
response = await fetch2(doneUrl, fetchOptions);
} catch {
continue;
}
if (!response.ok)
continue;
if (response.status === 202) {
const retryAfterSeconds = Number(response.headers.get("retry-after"));
if (Number.isFinite(retryAfterSeconds)) {
const additionalMs = retryAfterSeconds * 1e3 - pollIntervalMs;
if (additionalMs > 0) {
const nowAfterPoll = Date2.now();
const remainingMs = timeoutMs - (nowAfterPoll - startTime);
if (remainingMs <= 0) {
throw new WebAuthTimeoutError(nowAfterPoll, startTime, timeoutMs);
}
const sleepMs = Math.min(additionalMs, remainingMs);
await new Promise((resolve4) => setTimeout4(resolve4, sleepMs));
}
}
continue;
}
let body;
try {
body = await response.json();
} catch {
continue;
}
if (body.token) {
return body.token;
}
}
}
var init_pollForWebAuthToken = __esm({
"../network/web-auth/lib/pollForWebAuthToken.js"() {
"use strict";
init_WebAuthTimeoutError();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-docker/3.0.0/d6d14924302e21443505895bc5d2512f16d2cc169115ca658dedea7f402bdda2/node_modules/is-docker/index.js
import fs15 from "node:fs";
function hasDockerEnv() {
try {
fs15.statSync("/.dockerenv");
return true;
} catch {
return false;
}
}
function hasDockerCGroup() {
try {
return fs15.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
} catch {
return false;
}
}
function isDocker() {
if (isDockerCached === void 0) {
isDockerCached = hasDockerEnv() || hasDockerCGroup();
}
return isDockerCached;
}
var isDockerCached;
var init_is_docker = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-docker/3.0.0/d6d14924302e21443505895bc5d2512f16d2cc169115ca658dedea7f402bdda2/node_modules/is-docker/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-inside-container/1.0.0/8aa73742d5e40efac8986e75bc613ec6d803ed65dd77844410fdbe0afe54d3f3/node_modules/is-inside-container/index.js
import fs16 from "node:fs";
function isInsideContainer() {
if (cachedResult === void 0) {
cachedResult = hasContainerEnv() || isDocker();
}
return cachedResult;
}
var cachedResult, hasContainerEnv;
var init_is_inside_container = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-inside-container/1.0.0/8aa73742d5e40efac8986e75bc613ec6d803ed65dd77844410fdbe0afe54d3f3/node_modules/is-inside-container/index.js"() {
init_is_docker();
hasContainerEnv = () => {
try {
fs16.statSync("/run/.containerenv");
return true;
} catch {
return false;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-wsl/3.1.1/57a8b170c9225052f231bcd1e1854a519f886d60267bd4d0f141004e036322f3/node_modules/is-wsl/index.js
import process3 from "node:process";
import os3 from "node:os";
import fs17 from "node:fs";
var isWsl, is_wsl_default;
var init_is_wsl = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-wsl/3.1.1/57a8b170c9225052f231bcd1e1854a519f886d60267bd4d0f141004e036322f3/node_modules/is-wsl/index.js"() {
init_is_inside_container();
isWsl = () => {
if (process3.platform !== "linux") {
return false;
}
if (os3.release().toLowerCase().includes("microsoft")) {
if (isInsideContainer()) {
return false;
}
return true;
}
try {
if (fs17.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft")) {
return !isInsideContainer();
}
} catch {
}
if (fs17.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop") || fs17.existsSync("/run/WSL")) {
return !isInsideContainer();
}
return false;
};
is_wsl_default = process3.env.__IS_WSL_TEST__ ? isWsl : isWsl();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/powershell-utils/0.1.0/dc949f7f0b47fdaa92902344332c4836acf239ac7bf346cf7071730aedbcc4b8/node_modules/powershell-utils/index.js
import process4 from "node:process";
import { Buffer as Buffer2 } from "node:buffer";
import { promisify as promisify3 } from "node:util";
import childProcess from "node:child_process";
var execFile, powerShellPath, executePowerShell;
var init_powershell_utils = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/powershell-utils/0.1.0/dc949f7f0b47fdaa92902344332c4836acf239ac7bf346cf7071730aedbcc4b8/node_modules/powershell-utils/index.js"() {
execFile = promisify3(childProcess.execFile);
powerShellPath = () => `${process4.env.SYSTEMROOT || process4.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
executePowerShell = async (command, options = {}) => {
const {
powerShellPath: psPath,
...execFileOptions
} = options;
const encodedCommand = executePowerShell.encodeCommand(command);
return execFile(
psPath ?? powerShellPath(),
[
...executePowerShell.argumentsPrefix,
encodedCommand
],
{
encoding: "utf8",
...execFileOptions
}
);
};
executePowerShell.argumentsPrefix = [
"-NoProfile",
"-NonInteractive",
"-ExecutionPolicy",
"Bypass",
"-EncodedCommand"
];
executePowerShell.encodeCommand = (command) => Buffer2.from(command, "utf16le").toString("base64");
executePowerShell.escapeArgument = (value) => `'${String(value).replaceAll("'", "''")}'`;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/wsl-utils/0.3.1/2151c75b44d6b59cda7a26a65ab35120fdd6d4df926f882511d8d97b7d3a8400/node_modules/wsl-utils/utilities.js
function parseMountPointFromConfig(content) {
for (const line of content.split("\n")) {
if (/^\s*#/.test(line)) {
continue;
}
const match = /^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(line);
if (!match) {
continue;
}
return match.groups.mountPoint.trim().replaceAll(/^["']|["']$/g, "");
}
}
var init_utilities2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/wsl-utils/0.3.1/2151c75b44d6b59cda7a26a65ab35120fdd6d4df926f882511d8d97b7d3a8400/node_modules/wsl-utils/utilities.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/wsl-utils/0.3.1/2151c75b44d6b59cda7a26a65ab35120fdd6d4df926f882511d8d97b7d3a8400/node_modules/wsl-utils/index.js
import { promisify as promisify4 } from "node:util";
import childProcess2 from "node:child_process";
import fs18, { constants as fsConstants } from "node:fs/promises";
var execFile2, wslDrivesMountPoint, powerShellPathFromWsl, powerShellPath2, canAccessPowerShellPromise, canAccessPowerShell, wslDefaultBrowser, convertWslPathToWindows;
var init_wsl_utils = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/wsl-utils/0.3.1/2151c75b44d6b59cda7a26a65ab35120fdd6d4df926f882511d8d97b7d3a8400/node_modules/wsl-utils/index.js"() {
init_is_wsl();
init_powershell_utils();
init_utilities2();
init_is_wsl();
execFile2 = promisify4(childProcess2.execFile);
wslDrivesMountPoint = /* @__PURE__ */ (() => {
const defaultMountPoint = "/mnt/";
let mountPoint;
return async function() {
if (mountPoint) {
return mountPoint;
}
const configFilePath = "/etc/wsl.conf";
let isConfigFileExists = false;
try {
await fs18.access(configFilePath, fsConstants.F_OK);
isConfigFileExists = true;
} catch {
}
if (!isConfigFileExists) {
return defaultMountPoint;
}
const configContent = await fs18.readFile(configFilePath, { encoding: "utf8" });
const parsedMountPoint = parseMountPointFromConfig(configContent);
if (parsedMountPoint === void 0) {
return defaultMountPoint;
}
mountPoint = parsedMountPoint;
mountPoint = mountPoint.endsWith("/") ? mountPoint : `${mountPoint}/`;
return mountPoint;
};
})();
powerShellPathFromWsl = async () => {
const mountPoint = await wslDrivesMountPoint();
return `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`;
};
powerShellPath2 = is_wsl_default ? powerShellPathFromWsl : powerShellPath;
canAccessPowerShell = async () => {
canAccessPowerShellPromise ??= (async () => {
try {
const psPath = await powerShellPath2();
await fs18.access(psPath, fsConstants.X_OK);
return true;
} catch {
return false;
}
})();
return canAccessPowerShellPromise;
};
wslDefaultBrowser = async () => {
const psPath = await powerShellPath2();
const command = String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`;
const { stdout } = await executePowerShell(command, { powerShellPath: psPath });
return stdout.trim();
};
convertWslPathToWindows = async (path236) => {
if (/^[a-z]+:\/\//i.test(path236)) {
return path236;
}
try {
const { stdout } = await execFile2("wslpath", ["-aw", path236], { encoding: "utf8" });
return stdout.trim();
} catch {
return path236;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/define-lazy-prop/3.0.0/9314b7a6965ab89330b4b125b39609f134c3b4aa0ad5214a0fbd374d5321a3d8/node_modules/define-lazy-prop/index.js
function defineLazyProperty(object, propertyName, valueGetter) {
const define2 = (value) => Object.defineProperty(object, propertyName, { value, enumerable: true, writable: true });
Object.defineProperty(object, propertyName, {
configurable: true,
enumerable: true,
get() {
const result2 = valueGetter();
define2(result2);
return result2;
},
set(value) {
define2(value);
}
});
return object;
}
var init_define_lazy_prop = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/define-lazy-prop/3.0.0/9314b7a6965ab89330b4b125b39609f134c3b4aa0ad5214a0fbd374d5321a3d8/node_modules/define-lazy-prop/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser-id/5.0.1/c42deb055771f4ad87c91fdc98ad947ab7aaaba4c2be61697586e3c668fcbd60/node_modules/default-browser-id/index.js
import { promisify as promisify5 } from "node:util";
import process5 from "node:process";
import { execFile as execFile3 } from "node:child_process";
async function defaultBrowserId() {
if (process5.platform !== "darwin") {
throw new Error("macOS only");
}
const { stdout } = await execFileAsync("defaults", ["read", "com.apple.LaunchServices/com.apple.launchservices.secure", "LSHandlers"]);
const match = /LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout);
const browserId = match?.groups.id ?? "com.apple.Safari";
if (browserId === "com.apple.safari") {
return "com.apple.Safari";
}
return browserId;
}
var execFileAsync;
var init_default_browser_id = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser-id/5.0.1/c42deb055771f4ad87c91fdc98ad947ab7aaaba4c2be61697586e3c668fcbd60/node_modules/default-browser-id/index.js"() {
execFileAsync = promisify5(execFile3);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-applescript/7.1.0/2a39032fc707698e2bf13aed22a1c3653777594cd66d81675531e9a6932e15f2/node_modules/run-applescript/index.js
import process6 from "node:process";
import { promisify as promisify6 } from "node:util";
import { execFile as execFile4, execFileSync } from "node:child_process";
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
if (process6.platform !== "darwin") {
throw new Error("macOS only");
}
const outputArguments = humanReadableOutput ? [] : ["-ss"];
const execOptions = {};
if (signal) {
execOptions.signal = signal;
}
const { stdout } = await execFileAsync2("osascript", ["-e", script, outputArguments], execOptions);
return stdout.trim();
}
var execFileAsync2;
var init_run_applescript = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/run-applescript/7.1.0/2a39032fc707698e2bf13aed22a1c3653777594cd66d81675531e9a6932e15f2/node_modules/run-applescript/index.js"() {
execFileAsync2 = promisify6(execFile4);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bundle-name/4.1.0/62cc6c96ff6184628354cd76076af10569493729ffaae52ab011710135159918/node_modules/bundle-name/index.js
async function bundleName(bundleId) {
return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`);
}
var init_bundle_name = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bundle-name/4.1.0/62cc6c96ff6184628354cd76076af10569493729ffaae52ab011710135159918/node_modules/bundle-name/index.js"() {
init_run_applescript();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser/5.5.0/e24d216aa36137a57c3d95773f4f13d5aa523e387c7921d4a38f711df7ff706c/node_modules/default-browser/windows.js
import { promisify as promisify7 } from "node:util";
import { execFile as execFile5 } from "node:child_process";
async function defaultBrowser(_execFileAsync = execFileAsync3) {
const { stdout } = await _execFileAsync("reg", [
"QUERY",
" HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice",
"/v",
"ProgId"
]);
const match = /ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout);
if (!match) {
throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
}
const { id } = match.groups;
const dotIndex = id.lastIndexOf(".");
const hyphenIndex = id.lastIndexOf("-");
const baseIdByDot = dotIndex === -1 ? void 0 : id.slice(0, dotIndex);
const baseIdByHyphen = hyphenIndex === -1 ? void 0 : id.slice(0, hyphenIndex);
return windowsBrowserProgIds[id] ?? windowsBrowserProgIds[baseIdByDot] ?? windowsBrowserProgIds[baseIdByHyphen] ?? { name: id, id };
}
var execFileAsync3, windowsBrowserProgIds, _windowsBrowserProgIdMap, UnknownBrowserError;
var init_windows = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser/5.5.0/e24d216aa36137a57c3d95773f4f13d5aa523e387c7921d4a38f711df7ff706c/node_modules/default-browser/windows.js"() {
execFileAsync3 = promisify7(execFile5);
windowsBrowserProgIds = {
MSEdgeHTM: { name: "Edge", id: "com.microsoft.edge" },
// The missing `L` is correct.
MSEdgeBHTML: { name: "Edge Beta", id: "com.microsoft.edge.beta" },
MSEdgeDHTML: { name: "Edge Dev", id: "com.microsoft.edge.dev" },
AppXq0fevzme2pys62n3e0fbqa7peapykr8v: { name: "Edge", id: "com.microsoft.edge.old" },
ChromeHTML: { name: "Chrome", id: "com.google.chrome" },
ChromeBHTML: { name: "Chrome Beta", id: "com.google.chrome.beta" },
ChromeDHTML: { name: "Chrome Dev", id: "com.google.chrome.dev" },
ChromiumHTM: { name: "Chromium", id: "org.chromium.Chromium" },
BraveHTML: { name: "Brave", id: "com.brave.Browser" },
BraveBHTML: { name: "Brave Beta", id: "com.brave.Browser.beta" },
BraveDHTML: { name: "Brave Dev", id: "com.brave.Browser.dev" },
BraveSSHTM: { name: "Brave Nightly", id: "com.brave.Browser.nightly" },
FirefoxURL: { name: "Firefox", id: "org.mozilla.firefox" },
OperaStable: { name: "Opera", id: "com.operasoftware.Opera" },
VivaldiHTM: { name: "Vivaldi", id: "com.vivaldi.Vivaldi" },
"IE.HTTP": { name: "Internet Explorer", id: "com.microsoft.ie" }
};
_windowsBrowserProgIdMap = new Map(Object.entries(windowsBrowserProgIds));
UnknownBrowserError = class extends Error {
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser/5.5.0/e24d216aa36137a57c3d95773f4f13d5aa523e387c7921d4a38f711df7ff706c/node_modules/default-browser/index.js
import { promisify as promisify8 } from "node:util";
import process7 from "node:process";
import { execFile as execFile6 } from "node:child_process";
async function defaultBrowser2() {
if (process7.platform === "darwin") {
const id = await defaultBrowserId();
const name = await bundleName(id);
return { name, id };
}
if (process7.platform === "linux") {
const { stdout } = await execFileAsync4("xdg-mime", ["query", "default", "x-scheme-handler/http"]);
const id = stdout.trim();
const name = titleize(id.replace(/.desktop$/, "").replace("-", " "));
return { name, id };
}
if (process7.platform === "win32") {
return defaultBrowser();
}
throw new Error("Only macOS, Linux, and Windows are supported");
}
var execFileAsync4, titleize;
var init_default_browser = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/default-browser/5.5.0/e24d216aa36137a57c3d95773f4f13d5aa523e387c7921d4a38f711df7ff706c/node_modules/default-browser/index.js"() {
init_default_browser_id();
init_bundle_name();
init_windows();
init_windows();
execFileAsync4 = promisify8(execFile6);
titleize = (string) => string.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x3) => x3.toUpperCase());
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-in-ssh/1.0.0/32111e6f089a677bf661143ae3c2c7b88d172ce00004319f0a2680296ec8960c/node_modules/is-in-ssh/index.js
import process8 from "node:process";
var isInSsh, is_in_ssh_default;
var init_is_in_ssh = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-in-ssh/1.0.0/32111e6f089a677bf661143ae3c2c7b88d172ce00004319f0a2680296ec8960c/node_modules/is-in-ssh/index.js"() {
isInSsh = Boolean(process8.env.SSH_CONNECTION || process8.env.SSH_CLIENT || process8.env.SSH_TTY);
is_in_ssh_default = isInSsh;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/open/11.0.0/84a8677388d1eccf5149fbf33b044a8b45e60c65099aafe5277d56c9cae9bfaf/node_modules/open/index.js
import process9 from "node:process";
import path24 from "node:path";
import { fileURLToPath as fileURLToPath2 } from "node:url";
import childProcess3 from "node:child_process";
import fs19, { constants as fsConstants2 } from "node:fs/promises";
function detectArchBinary(binary2) {
if (typeof binary2 === "string" || Array.isArray(binary2)) {
return binary2;
}
const { [arch]: archBinary } = binary2;
if (!archBinary) {
throw new Error(`${arch} is not supported`);
}
return archBinary;
}
function detectPlatformBinary({ [platform]: platformBinary }, { wsl } = {}) {
if (wsl && is_wsl_default) {
return detectArchBinary(wsl);
}
if (!platformBinary) {
throw new Error(`${platform} is not supported`);
}
return detectArchBinary(platformBinary);
}
var fallbackAttemptSymbol, __dirname2, localXdgOpenPath, platform, arch, tryEachApp, baseOpen, open, apps, open_default;
var init_open = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/open/11.0.0/84a8677388d1eccf5149fbf33b044a8b45e60c65099aafe5277d56c9cae9bfaf/node_modules/open/index.js"() {
init_wsl_utils();
init_powershell_utils();
init_define_lazy_prop();
init_default_browser();
init_is_inside_container();
init_is_in_ssh();
fallbackAttemptSymbol = /* @__PURE__ */ Symbol("fallbackAttempt");
__dirname2 = import.meta.url ? path24.dirname(fileURLToPath2(import.meta.url)) : "";
localXdgOpenPath = path24.join(__dirname2, "xdg-open");
({ platform, arch } = process9);
tryEachApp = async (apps2, opener) => {
if (apps2.length === 0) {
return;
}
const errors2 = [];
for (const app of apps2) {
try {
return await opener(app);
} catch (error) {
errors2.push(error);
}
}
throw new AggregateError(errors2, "Failed to open in all supported apps");
};
baseOpen = async (options) => {
options = {
wait: false,
background: false,
newInstance: false,
allowNonzeroExitCode: false,
...options
};
const isFallbackAttempt = options[fallbackAttemptSymbol] === true;
delete options[fallbackAttemptSymbol];
if (Array.isArray(options.app)) {
return tryEachApp(options.app, (singleApp) => baseOpen({
...options,
app: singleApp,
[fallbackAttemptSymbol]: true
}));
}
let { name: app, arguments: appArguments = [] } = options.app ?? {};
appArguments = [...appArguments];
if (Array.isArray(app)) {
return tryEachApp(app, (appName) => baseOpen({
...options,
app: {
name: appName,
arguments: appArguments
},
[fallbackAttemptSymbol]: true
}));
}
if (app === "browser" || app === "browserPrivate") {
const ids = {
"com.google.chrome": "chrome",
"google-chrome.desktop": "chrome",
"com.brave.browser": "brave",
"org.mozilla.firefox": "firefox",
"firefox.desktop": "firefox",
"com.microsoft.msedge": "edge",
"com.microsoft.edge": "edge",
"com.microsoft.edgemac": "edge",
"microsoft-edge.desktop": "edge",
"com.apple.safari": "safari"
};
const flags = {
chrome: "--incognito",
brave: "--incognito",
firefox: "--private-window",
edge: "--inPrivate"
// Safari doesn't support private mode via command line
};
let browser;
if (is_wsl_default) {
const progId = await wslDefaultBrowser();
const browserInfo = _windowsBrowserProgIdMap.get(progId);
browser = browserInfo ?? {};
} else {
browser = await defaultBrowser2();
}
if (browser.id in ids) {
const browserName = ids[browser.id.toLowerCase()];
if (app === "browserPrivate") {
if (browserName === "safari") {
throw new Error("Safari doesn't support opening in private mode via command line");
}
appArguments.push(flags[browserName]);
}
return baseOpen({
...options,
app: {
name: apps[browserName],
arguments: appArguments
}
});
}
throw new Error(`${browser.name} is not supported as a default browser`);
}
let command;
const cliArguments = [];
const childProcessOptions = {};
let shouldUseWindowsInWsl = false;
if (is_wsl_default && !isInsideContainer() && !is_in_ssh_default && !app) {
shouldUseWindowsInWsl = await canAccessPowerShell();
}
if (platform === "darwin") {
command = "open";
if (options.wait) {
cliArguments.push("--wait-apps");
}
if (options.background) {
cliArguments.push("--background");
}
if (options.newInstance) {
cliArguments.push("--new");
}
if (app) {
cliArguments.push("-a", app);
}
} else if (platform === "win32" || shouldUseWindowsInWsl) {
command = await powerShellPath2();
cliArguments.push(...executePowerShell.argumentsPrefix);
if (!is_wsl_default) {
childProcessOptions.windowsVerbatimArguments = true;
}
if (is_wsl_default && options.target) {
options.target = await convertWslPathToWindows(options.target);
}
const encodedArguments = ["$ProgressPreference = 'SilentlyContinue';", "Start"];
if (options.wait) {
encodedArguments.push("-Wait");
}
if (app) {
encodedArguments.push(executePowerShell.escapeArgument(app));
if (options.target) {
appArguments.push(options.target);
}
} else if (options.target) {
encodedArguments.push(executePowerShell.escapeArgument(options.target));
}
if (appArguments.length > 0) {
appArguments = appArguments.map((argument) => executePowerShell.escapeArgument(argument));
encodedArguments.push("-ArgumentList", appArguments.join(","));
}
options.target = executePowerShell.encodeCommand(encodedArguments.join(" "));
if (!options.wait) {
childProcessOptions.stdio = "ignore";
}
} else {
if (app) {
command = app;
} else {
const isBundled = !__dirname2 || __dirname2 === "/";
let exeLocalXdgOpen = false;
try {
await fs19.access(localXdgOpenPath, fsConstants2.X_OK);
exeLocalXdgOpen = true;
} catch {
}
const useSystemXdgOpen = process9.versions.electron ?? (platform === "android" || isBundled || !exeLocalXdgOpen);
command = useSystemXdgOpen ? "xdg-open" : localXdgOpenPath;
}
if (appArguments.length > 0) {
cliArguments.push(...appArguments);
}
if (!options.wait) {
childProcessOptions.stdio = "ignore";
childProcessOptions.detached = true;
}
}
if (platform === "darwin" && appArguments.length > 0) {
cliArguments.push("--args", ...appArguments);
}
if (options.target) {
cliArguments.push(options.target);
}
const subprocess = childProcess3.spawn(command, cliArguments, childProcessOptions);
if (options.wait) {
return new Promise((resolve4, reject3) => {
subprocess.once("error", reject3);
subprocess.once("close", (exitCode) => {
if (!options.allowNonzeroExitCode && exitCode !== 0) {
reject3(new Error(`Exited with code ${exitCode}`));
return;
}
resolve4(subprocess);
});
});
}
if (isFallbackAttempt) {
return new Promise((resolve4, reject3) => {
subprocess.once("error", reject3);
subprocess.once("spawn", () => {
subprocess.once("close", (exitCode) => {
subprocess.off("error", reject3);
if (exitCode !== 0) {
reject3(new Error(`Exited with code ${exitCode}`));
return;
}
subprocess.unref();
resolve4(subprocess);
});
});
});
}
subprocess.unref();
return new Promise((resolve4, reject3) => {
subprocess.once("error", reject3);
subprocess.once("spawn", () => {
subprocess.off("error", reject3);
resolve4(subprocess);
});
});
};
open = (target2, options) => {
if (typeof target2 !== "string") {
throw new TypeError("Expected a `target`");
}
return baseOpen({
...options,
target: target2
});
};
apps = {
browser: "browser",
browserPrivate: "browserPrivate"
};
defineLazyProperty(apps, "chrome", () => detectPlatformBinary({
darwin: "google chrome",
win32: "chrome",
// `chromium-browser` is the older deb package name used by Ubuntu/Debian before snap.
linux: ["google-chrome", "google-chrome-stable", "chromium", "chromium-browser"]
}, {
wsl: {
ia32: "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
x64: ["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]
}
}));
defineLazyProperty(apps, "brave", () => detectPlatformBinary({
darwin: "brave browser",
win32: "brave",
linux: ["brave-browser", "brave"]
}, {
wsl: {
ia32: "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",
x64: ["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe", "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]
}
}));
defineLazyProperty(apps, "firefox", () => detectPlatformBinary({
darwin: "firefox",
win32: String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
linux: "firefox"
}, {
wsl: "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"
}));
defineLazyProperty(apps, "edge", () => detectPlatformBinary({
darwin: "microsoft edge",
win32: "msedge",
linux: ["microsoft-edge", "microsoft-edge-dev"]
}, {
wsl: "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
}));
defineLazyProperty(apps, "safari", () => detectPlatformBinary({
darwin: "Safari"
}));
open_default = open;
}
});
// ../network/web-auth/lib/promptBrowserOpen.js
async function promptBrowserOpen({ authUrl, context, pollPromise }) {
const { createReadlineInterface, globalInfo: globalInfo3, globalWarn: globalWarn3, process: process24 } = context;
if (!createReadlineInterface || !process24.stdin.isTTY) {
return pollPromise;
}
let canonicalUrl;
try {
const parsed = new URL(authUrl);
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
return pollPromise;
}
canonicalUrl = parsed.href;
} catch {
return pollPromise;
}
let rl;
try {
rl = createReadlineInterface();
} catch (err2) {
globalWarn3(`Could not set up keyboard listener: ${String(err2)}`);
return pollPromise;
}
globalInfo3("Press ENTER to open the URL in your browser.");
rl.once("line", () => {
const handleOpenError = (err2) => {
globalWarn3(`Could not open browser automatically: ${String(err2)}`);
globalInfo3("Please open the URL shown above manually.");
};
try {
open_default(canonicalUrl).catch(handleOpenError);
} catch (err2) {
handleOpenError(err2);
}
});
try {
return await pollPromise;
} finally {
rl.close();
}
}
var init_promptBrowserOpen = __esm({
"../network/web-auth/lib/promptBrowserOpen.js"() {
"use strict";
init_open();
}
});
// ../network/web-auth/lib/withOtpHandling.js
async function withOtpHandling({ context, fetchOptions, operation: operation5 }) {
const { enquirer, globalInfo: globalInfo3, process: process24 } = context;
try {
return await operation5();
} catch (error) {
if (!isOtpError(error))
throw error;
if (!process24.stdin.isTTY || !process24.stdout.isTTY) {
throw new OtpNonInteractiveError(error.body);
}
let otp;
const authUrl = canonicalHttpUrl(error.body?.authUrl);
const doneUrl = canonicalHttpUrl(error.body?.doneUrl);
if (authUrl != null && doneUrl != null) {
const qrCode = generateQrCode(authUrl);
globalInfo3(`Authenticate your account at:
${authUrl}
${qrCode}`);
const pollPromise = pollForWebAuthToken({
context,
doneUrl,
fetchOptions
});
otp = await promptBrowserOpen({
authUrl,
context,
pollPromise
});
} else {
let otpValue;
try {
otpValue = await enquirer.input({
message: "This operation requires a one-time password.\nEnter OTP:"
});
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
throw error;
}
throw err2;
}
otp = otpValue || void 0;
}
if (otp != null) {
try {
return await operation5(otp);
} catch (retryError) {
if (isOtpError(retryError)) {
throw new OtpSecondChallengeError();
}
throw retryError;
}
}
throw error;
}
}
function canonicalHttpUrl(value) {
if (typeof value !== "string")
return void 0;
try {
const url7 = new URL(value);
if (url7.protocol !== "http:" && url7.protocol !== "https:")
return void 0;
url7.username = "";
url7.password = "";
return url7.href;
} catch {
return void 0;
}
}
var isOtpError, SyntheticOtpError, OtpNonInteractiveError, OtpSecondChallengeError;
var init_withOtpHandling = __esm({
"../network/web-auth/lib/withOtpHandling.js"() {
"use strict";
init_lib2();
init_generateQrCode();
init_pollForWebAuthToken();
init_promptBrowserOpen();
isOtpError = (error) => error != null && typeof error === "object" && "code" in error && error.code === "EOTP";
SyntheticOtpError = class _SyntheticOtpError extends Error {
code = "EOTP";
body;
constructor(body) {
super("This error was meant to be caught by `withOtpHandling`, not to propagate to other parts of the code");
this.body = body;
}
static fromUnknownBody(globalWarn3, body) {
if (body == null || typeof body !== "object") {
return new _SyntheticOtpError(void 0);
}
let authUrl;
let doneUrl;
if ("authUrl" in body) {
if (typeof body.authUrl === "string") {
authUrl = body.authUrl;
} else {
globalWarn3(`OTP error body: authUrl has type ${typeof body.authUrl}, expected string`);
}
}
if ("doneUrl" in body) {
if (typeof body.doneUrl === "string") {
doneUrl = body.doneUrl;
} else {
globalWarn3(`OTP error body: doneUrl has type ${typeof body.doneUrl}, expected string`);
}
}
return new _SyntheticOtpError({ authUrl, doneUrl });
}
};
OtpNonInteractiveError = class extends PnpmError {
authUrl;
doneUrl;
constructor(body) {
super("OTP_NON_INTERACTIVE", "The registry requires additional authentication, but pnpm is not running in an interactive terminal", {
hint: "Re-run this command in an interactive terminal to complete authentication, or provide the --otp option if you are using a classic one-time password (OTP)"
});
const authUrl = canonicalHttpUrl(body?.authUrl);
if (authUrl != null) {
this.authUrl = authUrl;
}
const doneUrl = canonicalHttpUrl(body?.doneUrl);
if (doneUrl != null) {
this.doneUrl = doneUrl;
}
}
};
OtpSecondChallengeError = class extends PnpmError {
constructor() {
super("OTP_SECOND_CHALLENGE", "The registry requested a one-time password (OTP) a second time after one was already provided", {
hint: "This is unexpected behavior from the registry. Try the command again later and, if the issue persists, verify that your registry supports OTP-based authentication or contact the registry administrator."
});
}
};
}
});
// ../network/web-auth/lib/index.js
var init_lib22 = __esm({
"../network/web-auth/lib/index.js"() {
"use strict";
init_generateQrCode();
init_pollForWebAuthToken();
init_promptBrowserOpen();
init_WebAuthTimeoutError();
init_withOtpHandling();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/bin.js
import { spawn as spawn3 } from "node:child_process";
function stripStderr(stderr) {
if (!stderr) return;
stderr = stderr.trim();
const regex2 = /your \d+x\d+ screen size is bogus\. expect trouble/gi;
stderr = stderr.replaceAll(regex2, "");
return stderr.trim();
}
function run(cmd, args, options, done) {
if (typeof options === "function") {
done = options;
options = void 0;
}
let executed = false;
const child = spawn3(cmd, args, options);
let stdout = "";
let stderr = "";
child.stdout.on("data", (data) => {
stdout += data.toString();
});
child.stderr.on("data", (data) => {
stderr += data.toString();
});
child.on("error", (error) => {
if (executed) return;
executed = true;
done(error);
});
child.on("close", (code) => {
if (executed) return;
executed = true;
stderr = stripStderr(stderr);
if (stderr) {
done(new Error(stderr));
return;
}
done(null, stdout, code);
});
}
var init_bin = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/bin.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/parse.js
function parse4(stdout) {
const list2 = [];
for (const rawLine of stdout.split(/\r*\n/)) {
const line = rawLine.trim();
if (!line) continue;
const [rawPpid, rawPid] = line.split(/\s+/);
const ppid = Number.parseInt(rawPpid, 10);
const pid = Number.parseInt(rawPid, 10);
if (Number.isNaN(ppid) || Number.isNaN(pid)) continue;
list2.push([ppid, pid]);
}
return list2;
}
var init_parse = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/parse.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/ps.js
function ps(callback2, run2 = run) {
run2("ps", ["-A", "-o", "ppid,pid"], (error, stdout, code) => {
if (error) {
callback2(error);
return;
}
if (code !== 0) {
callback2(new Error("pidtree ps command exited with code " + code));
return;
}
try {
callback2(null, parse4(stdout));
} catch (error2) {
callback2(error2);
}
});
}
var init_ps = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/ps.js"() {
init_bin();
init_parse();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/wmic.js
function wmic(callback2, run2 = run) {
const args = ["PROCESS", "get", "ParentProcessId,ProcessId"];
const options = { windowsHide: true, windowsVerbatimArguments: true };
run2("wmic", args, options, (error, stdout, code) => {
if (error) {
callback2(error);
return;
}
if (code !== 0) {
callback2(new Error("pidtree wmic command exited with code " + code));
return;
}
try {
callback2(null, parse4(stdout));
} catch (error2) {
callback2(error2);
}
});
}
var init_wmic = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/wmic.js"() {
init_bin();
init_parse();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/powershell.js
function powershell(callback2, run2 = run) {
const args = ["-NoProfile", "-NonInteractive", "-EncodedCommand", ENCODED];
const options = { windowsHide: true };
run2("powershell", args, options, (error, stdout, code) => {
if (error) {
callback2(error);
return;
}
if (code !== 0) {
callback2(
new Error("pidtree powershell command exited with code " + code)
);
return;
}
try {
callback2(null, parse4(stdout));
} catch (error2) {
callback2(error2);
}
});
}
var COMMAND, ENCODED;
var init_powershell = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/powershell.js"() {
init_bin();
init_parse();
COMMAND = `$ProgressPreference = 'SilentlyContinue'; Get-CimInstance -ClassName Win32_Process | ForEach-Object { "$($_.ParentProcessId) $($_.ProcessId)" }`;
ENCODED = Buffer.from(COMMAND, "utf16le").toString("base64");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/get.js
import os4 from "node:os";
function getWindows(callback2, wmicFn = wmic, powershellFn = powershell) {
wmicFn((error, list2) => {
if (error && error.code === "ENOENT") {
powershellFn(callback2);
return;
}
callback2(error, list2);
});
}
function get(callback2) {
if (method === void 0) {
callback2(
new Error(
os4.platform() + " is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"
)
);
return;
}
if (method === "win") {
getWindows(callback2);
return;
}
ps(callback2);
}
var platformToMethod, platform2, method;
var init_get = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/get.js"() {
init_ps();
init_wmic();
init_powershell();
platformToMethod = {
darwin: "ps",
sunos: "ps",
freebsd: "ps",
netbsd: "ps",
win: "win",
linux: "ps",
aix: "ps"
};
platform2 = os4.platform();
if (platform2.startsWith("win")) {
platform2 = "win";
}
method = platformToMethod[platform2];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/pidtree.js
function pidtreeCallback(pid, options, callback2) {
if (typeof options === "function") {
callback2 = options;
options = {};
}
if (typeof options !== "object" || options === null) {
options = {};
}
pid = Number.parseInt(pid, 10);
if (Number.isNaN(pid) || pid < -1) {
callback2(new TypeError("The pid provided is invalid"));
return;
}
get((error, list2) => {
if (error) {
callback2(error);
return;
}
if (pid === -1) {
const all = list2.map(
(entry) => options.advanced ? { ppid: entry[0], pid: entry[1] } : entry[1]
);
callback2(null, all);
return;
}
let root;
for (const entry of list2) {
if (entry[1] === pid) {
root = options.advanced ? { ppid: entry[0], pid } : pid;
break;
}
if (entry[0] === pid) {
root = options.advanced ? { pid } : pid;
}
}
if (root === void 0) {
callback2(new Error("No matching pid found"));
return;
}
const tree = {};
for (const [parentPid, childPid] of list2) {
if (tree[parentPid]) {
tree[parentPid].push(childPid);
} else {
tree[parentPid] = [childPid];
}
}
const pids = [root];
let index2 = 0;
while (index2 < pids.length) {
const current = options.advanced ? pids[index2].pid : pids[index2];
index2++;
const children = tree[current];
if (!children) continue;
for (const childPid of children) {
pids.push(options.advanced ? { ppid: current, pid: childPid } : childPid);
}
delete tree[current];
}
if (!options.root) {
pids.shift();
}
callback2(null, pids);
});
}
var init_pidtree = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/lib/pidtree.js"() {
init_get();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/index.js
import { promisify as promisify9 } from "node:util";
function pidtree(pid, options, callback2) {
if (typeof options === "function") {
callback2 = options;
options = void 0;
}
if (typeof callback2 === "function") {
pidtreeCallback(pid, options, callback2);
return;
}
return pidtreeAsync(pid, options);
}
var pidtreeAsync, pidtree_default;
var init_pidtree2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pidtree/1.0.0/da62a4e02821ca314aa1ad477ab5590ed55f39683590cf4e8fed66cb03dda0a0/node_modules/pidtree/index.js"() {
init_pidtree();
pidtreeAsync = promisify9(pidtreeCallback);
pidtree_default = pidtree;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.nerf-dart/2.0.1/64879d68d58adff46a47a9f7484ba2b88b89cdc59a4e88c1fdd20eb255b82903/node_modules/@pnpm/config.nerf-dart/dist/nerf-dart.js
var require_nerf_dart = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.nerf-dart/2.0.1/64879d68d58adff46a47a9f7484ba2b88b89cdc59a4e88c1fdd20eb255b82903/node_modules/@pnpm/config.nerf-dart/dist/nerf-dart.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.nerfDart = void 0;
var url_1 = __require("url");
function nerfDart4(url7) {
const parsed = new url_1.URL(url7);
const from5 = `${parsed.protocol}//${parsed.host}${parsed.pathname}`;
const rel = new url_1.URL(".", from5);
const res = `//${rel.host}${rel.pathname}`;
return res;
}
exports2.nerfDart = nerfDart4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.nerf-dart/2.0.1/64879d68d58adff46a47a9f7484ba2b88b89cdc59a4e88c1fdd20eb255b82903/node_modules/@pnpm/config.nerf-dart/dist/index.js
var require_dist = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.nerf-dart/2.0.1/64879d68d58adff46a47a9f7484ba2b88b89cdc59a4e88c1fdd20eb255b82903/node_modules/@pnpm/config.nerf-dart/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.nerfDart = void 0;
var nerf_dart_1 = require_nerf_dart();
Object.defineProperty(exports2, "nerfDart", { enumerable: true, get: function() {
return nerf_dart_1.nerfDart;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/11.5.2/3c8a5c5c2cceba3fecd9e8d125966b3ed0ce73d9dab68b7445d94e4705306a7a/node_modules/lru-cache/dist/esm/node/index.min.js
import { tracingChannel as G, channel as P } from "node:diagnostics_channel";
var S, W, L, R, U, M, k, H, T, j, O, x, I;
var init_index_min = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/11.5.2/3c8a5c5c2cceba3fecd9e8d125966b3ed0ce73d9dab68b7445d94e4705306a7a/node_modules/lru-cache/dist/esm/node/index.min.js"() {
S = P("lru-cache:metrics");
W = G("lru-cache");
L = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date;
R = () => S.hasSubscribers || W.hasSubscribers;
U = /* @__PURE__ */ new Set();
M = typeof process == "object" && process ? process : {};
k = (d3, e, t2, i4) => {
typeof M.emitWarning == "function" ? M.emitWarning(d3, e, t2, i4) : console.error(`[${t2}] ${e}: ${d3}`);
};
H = (d3) => !U.has(d3);
T = (d3) => !!d3 && d3 === Math.floor(d3) && d3 > 0 && isFinite(d3);
j = (d3) => T(d3) ? d3 <= Math.pow(2, 8) ? Uint8Array : d3 <= Math.pow(2, 16) ? Uint16Array : d3 <= Math.pow(2, 32) ? Uint32Array : d3 <= Number.MAX_SAFE_INTEGER ? O : null : null;
O = class extends Array {
constructor(e) {
super(e), this.fill(0);
}
};
x = class d {
heap;
length;
static #o = false;
static create(e) {
let t2 = j(e);
if (!t2) return [];
d.#o = true;
let i4 = new d(e, t2);
return d.#o = false, i4;
}
constructor(e, t2) {
if (!d.#o) throw new TypeError("instantiate Stack using Stack.create(n)");
this.heap = new t2(e), this.length = 0;
}
push(e) {
this.heap[this.length++] = e;
}
pop() {
return this.heap[--this.length];
}
};
I = class d2 {
#o;
#c;
#S;
#O;
#w;
#M;
#I;
#m;
get perf() {
return this.#m;
}
ttl;
ttlResolution;
ttlAutopurge;
updateAgeOnGet;
updateAgeOnHas;
allowStale;
noDisposeOnSet;
noUpdateTTL;
maxEntrySize;
sizeCalculation;
noDeleteOnFetchRejection;
noDeleteOnStaleGet;
allowStaleOnFetchAbort;
allowStaleOnFetchRejection;
ignoreFetchAbort;
backgroundFetchSize;
#n;
#b;
#s;
#i;
#t;
#l;
#u;
#a;
#h;
#y;
#r;
#_;
#F;
#d;
#g;
#T;
#U;
#f;
#D;
static unsafeExposeInternals(e) {
return { starts: e.#F, ttls: e.#d, autopurgeTimers: e.#g, sizes: e.#_, keyMap: e.#s, keyList: e.#i, valList: e.#t, next: e.#l, prev: e.#u, get head() {
return e.#a;
}, get tail() {
return e.#h;
}, free: e.#y, isBackgroundFetch: (t2) => e.#e(t2), backgroundFetch: (t2, i4, s, n2) => e.#P(t2, i4, s, n2), moveToTail: (t2) => e.#L(t2), indexes: (t2) => e.#A(t2), rindexes: (t2) => e.#z(t2), isStale: (t2) => e.#p(t2) };
}
get max() {
return this.#o;
}
get maxSize() {
return this.#c;
}
get calculatedSize() {
return this.#b;
}
get size() {
return this.#n;
}
get fetchMethod() {
return this.#M;
}
get memoMethod() {
return this.#I;
}
get dispose() {
return this.#S;
}
get onInsert() {
return this.#O;
}
get disposeAfter() {
return this.#w;
}
constructor(e) {
let { max: t2 = 0, ttl: i4, ttlResolution: s = 1, ttlAutopurge: n2, updateAgeOnGet: o2, updateAgeOnHas: l, allowStale: h2, dispose: r, onInsert: c3, disposeAfter: m, noDisposeOnSet: _, noUpdateTTL: u2, maxSize: g = 0, maxEntrySize: f = 0, sizeCalculation: y, fetchMethod: a2, memoMethod: w, noDeleteOnFetchRejection: F, noDeleteOnStaleGet: b, allowStaleOnFetchRejection: p, allowStaleOnFetchAbort: A2, ignoreFetchAbort: z, backgroundFetchSize: C = 1, perf: E } = e;
if (this.backgroundFetchSize = C, E !== void 0 && typeof E?.now != "function") throw new TypeError("perf option must have a now() method if specified");
if (this.#m = E ?? L, t2 !== 0 && !T(t2)) throw new TypeError("max option must be a nonnegative integer");
let v = t2 ? j(t2) : Array;
if (!v) throw new Error("invalid max value: " + t2);
if (this.#o = t2, this.#c = g, this.maxEntrySize = f || this.#c, this.sizeCalculation = y, this.sizeCalculation) {
if (!this.#c && !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 (w !== void 0 && typeof w != "function") throw new TypeError("memoMethod must be a function if defined");
if (this.#I = w, a2 !== void 0 && typeof a2 != "function") throw new TypeError("fetchMethod must be a function if specified");
if (this.#M = a2, this.#U = !!a2, this.#s = /* @__PURE__ */ new Map(), this.#i = Array.from({ length: t2 }).fill(void 0), this.#t = Array.from({ length: t2 }).fill(void 0), this.#l = new v(t2), this.#u = new v(t2), this.#a = 0, this.#h = 0, this.#y = x.create(t2), this.#n = 0, this.#b = 0, typeof r == "function" && (this.#S = r), typeof c3 == "function" && (this.#O = c3), typeof m == "function" ? (this.#w = m, this.#r = []) : (this.#w = void 0, this.#r = void 0), this.#T = !!this.#S, this.#D = !!this.#O, this.#f = !!this.#w, this.noDisposeOnSet = !!_, this.noUpdateTTL = !!u2, this.noDeleteOnFetchRejection = !!F, this.allowStaleOnFetchRejection = !!p, this.allowStaleOnFetchAbort = !!A2, this.ignoreFetchAbort = !!z, this.maxEntrySize !== 0) {
if (this.#c !== 0 && !T(this.#c)) throw new TypeError("maxSize must be a positive integer if specified");
if (!T(this.maxEntrySize)) throw new TypeError("maxEntrySize must be a positive integer if specified");
this.#X();
}
if (this.allowStale = !!h2, this.noDeleteOnStaleGet = !!b, this.updateAgeOnGet = !!o2, this.updateAgeOnHas = !!l, this.ttlResolution = T(s) || s === 0 ? s : 1, this.ttlAutopurge = !!n2, this.ttl = i4 || 0, this.ttl) {
if (!T(this.ttl)) throw new TypeError("ttl must be a positive integer if specified");
this.#k();
}
if (this.#o === 0 && this.ttl === 0 && this.#c === 0) throw new TypeError("At least one of max, maxSize, or ttl is required");
if (!this.ttlAutopurge && !this.#o && !this.#c) {
let D3 = "LRU_CACHE_UNBOUNDED";
H(D3) && (U.add(D3), k("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", D3, d2));
}
}
getRemainingTTL(e) {
return this.#s.has(e) ? 1 / 0 : 0;
}
#k() {
let e = new O(this.#o), t2 = new O(this.#o);
this.#d = e, this.#F = t2;
let i4 = this.ttlAutopurge ? Array.from({ length: this.#o }) : void 0;
this.#g = i4, this.#H = (h2, r, c3 = this.#m.now()) => {
t2[h2] = r !== 0 ? c3 : 0, e[h2] = r, s(h2, r);
}, this.#R = (h2) => {
t2[h2] = e[h2] !== 0 ? this.#m.now() : 0, s(h2, e[h2]);
};
let s = this.ttlAutopurge ? (h2, r) => {
if (i4?.[h2] && (clearTimeout(i4[h2]), i4[h2] = void 0), r && r !== 0 && i4) {
let c3 = setTimeout(() => {
this.#p(h2) ? (this.#E(this.#i[h2], "expire"), i4[h2] = void 0) : s(h2, l(h2));
}, r + 1);
c3.unref && c3.unref(), i4[h2] = c3;
}
} : () => {
};
this.#v = (h2, r) => {
if (e[r]) {
let c3 = e[r], m = t2[r];
if (!c3 || !m) return;
h2.ttl = c3, h2.start = m, h2.now = n2 || o2();
let _ = h2.now - m;
h2.remainingTTL = c3 - _;
}
};
let n2 = 0, o2 = () => {
let h2 = this.#m.now();
if (this.ttlResolution > 0) {
n2 = h2;
let r = setTimeout(() => n2 = 0, this.ttlResolution);
r.unref && r.unref();
}
return h2;
};
this.getRemainingTTL = (h2) => {
let r = this.#s.get(h2);
return r === void 0 ? 0 : l(r);
};
let l = (h2) => {
let r = e[h2], c3 = t2[h2];
if (!r || !c3) return 1 / 0;
let m = (n2 || o2()) - c3;
return r - m;
};
this.#p = (h2) => {
let r = t2[h2], c3 = e[h2];
return !!c3 && !!r && (n2 || o2()) - r > c3;
};
}
#R = () => {
};
#v = () => {
};
#H = () => {
};
#p = () => false;
#X() {
let e = new O(this.#o);
this.#b = 0, this.#_ = e, this.#x = (t2) => {
this.#b -= e[t2], e[t2] = 0;
}, this.#N = (t2, i4, s, n2) => {
if (!T(s)) {
if (this.#e(i4)) return this.backgroundFetchSize;
if (n2) {
if (typeof n2 != "function") throw new TypeError("sizeCalculation must be a function");
if (s = n2(i4, t2), !T(s)) 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 s;
}, this.#j = (t2, i4, s) => {
if (e[t2] = i4, this.#c) {
let n2 = this.#c - e[t2];
for (; this.#b > n2; ) this.#G(true);
}
this.#b += e[t2], s && (s.entrySize = i4, s.totalCalculatedSize = this.#b);
};
}
#x = (e) => {
};
#j = (e, t2, i4) => {
};
#N = (e, t2, i4, s) => {
if (i4 || s) throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
return 0;
};
*#A({ allowStale: e = this.allowStale } = {}) {
if (this.#n) for (let t2 = this.#h; this.#V(t2) && ((e || !this.#p(t2)) && (yield t2), t2 !== this.#a); ) t2 = this.#u[t2];
}
*#z({ allowStale: e = this.allowStale } = {}) {
if (this.#n) for (let t2 = this.#a; this.#V(t2) && ((e || !this.#p(t2)) && (yield t2), t2 !== this.#h); ) t2 = this.#l[t2];
}
#V(e) {
return e !== void 0 && this.#s.get(this.#i[e]) === e;
}
*entries() {
for (let e of this.#A()) this.#t[e] !== void 0 && this.#i[e] !== void 0 && !this.#e(this.#t[e]) && (yield [this.#i[e], this.#t[e]]);
}
*rentries() {
for (let e of this.#z()) this.#t[e] !== void 0 && this.#i[e] !== void 0 && !this.#e(this.#t[e]) && (yield [this.#i[e], this.#t[e]]);
}
*keys() {
for (let e of this.#A()) {
let t2 = this.#i[e];
t2 !== void 0 && !this.#e(this.#t[e]) && (yield t2);
}
}
*rkeys() {
for (let e of this.#z()) {
let t2 = this.#i[e];
t2 !== void 0 && !this.#e(this.#t[e]) && (yield t2);
}
}
*values() {
for (let e of this.#A()) this.#t[e] !== void 0 && !this.#e(this.#t[e]) && (yield this.#t[e]);
}
*rvalues() {
for (let e of this.#z()) this.#t[e] !== void 0 && !this.#e(this.#t[e]) && (yield this.#t[e]);
}
[Symbol.iterator]() {
return this.entries();
}
[Symbol.toStringTag] = "LRUCache";
find(e, t2 = {}) {
for (let i4 of this.#A()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 !== void 0 && e(n2, this.#i[i4], this)) return this.#C(this.#i[i4], t2);
}
}
forEach(e, t2 = this) {
for (let i4 of this.#A()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== void 0 && e.call(t2, n2, this.#i[i4], this);
}
}
rforEach(e, t2 = this) {
for (let i4 of this.#z()) {
let s = this.#t[i4], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== void 0 && e.call(t2, n2, this.#i[i4], this);
}
}
purgeStale() {
let e = false;
for (let t2 of this.#z({ allowStale: true })) this.#p(t2) && (this.#E(this.#i[t2], "expire"), e = true);
return e;
}
info(e) {
let t2 = this.#s.get(e);
if (t2 === void 0) return;
let i4 = this.#t[t2], s = this.#e(i4) ? i4.__staleWhileFetching : i4;
if (s === void 0) return;
let n2 = { value: s };
if (this.#d && this.#F) {
let o2 = this.#d[t2], l = this.#F[t2];
if (o2 && l) {
let h2 = o2 - (this.#m.now() - l);
n2.ttl = h2, n2.start = Date.now();
}
}
return this.#_ && (n2.size = this.#_[t2]), n2;
}
dump() {
let e = [];
for (let t2 of this.#A({ allowStale: true })) {
let i4 = this.#i[t2], s = this.#t[t2], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 === void 0 || i4 === void 0) continue;
let o2 = { value: n2 };
if (this.#d && this.#F) {
o2.ttl = this.#d[t2];
let l = this.#m.now() - this.#F[t2];
o2.start = Math.floor(Date.now() - l);
}
this.#_ && (o2.size = this.#_[t2]), e.unshift([i4, o2]);
}
return e;
}
load(e) {
this.clear();
for (let [t2, i4] of e) {
if (i4.start) {
let s = Date.now() - i4.start;
i4.start = this.#m.now() - s;
}
this.#W(t2, i4.value, i4);
}
}
set(e, t2, i4 = {}) {
let { status: s = S.hasSubscribers ? {} : void 0 } = i4;
i4.status = s, s && (s.op = "set", s.key = e, t2 !== void 0 && (s.value = t2), s.cache = this);
let n2 = this.#W(e, t2, i4);
return s && S.hasSubscribers && S.publish(s), n2;
}
#W(e, t2, i4, s) {
let { ttl: n2 = this.ttl, start: o2, noDisposeOnSet: l = this.noDisposeOnSet, sizeCalculation: h2 = this.sizeCalculation, status: r } = i4, c3 = this.#e(t2);
if (t2 === void 0) return r && (r.set = "deleted"), this.delete(e), this;
let { noUpdateTTL: m = this.noUpdateTTL } = i4;
r && !c3 && (r.value = t2);
let _ = this.#N(e, t2, i4.size || 0, h2, r);
if (this.maxEntrySize && _ > this.maxEntrySize) return this.#E(e, "set"), r && (r.set = "miss", r.maxEntrySizeExceeded = true), this;
let u2 = this.#n === 0 ? void 0 : this.#s.get(e);
if (u2 === void 0) u2 = this.#n === 0 ? this.#h : this.#y.length !== 0 ? this.#y.pop() : this.#n === this.#o ? this.#G(false) : this.#n, this.#i[u2] = e, this.#t[u2] = t2, this.#s.set(e, u2), this.#l[this.#h] = u2, this.#u[u2] = this.#h, this.#h = u2, this.#n++, this.#j(u2, _, r), r && (r.set = "add"), m = false, this.#D && !c3 && this.#O?.(t2, e, "add");
else {
this.#L(u2);
let g = this.#t[u2];
if (t2 !== g) {
if (!l) if (this.#e(g)) {
g !== s && g.__abortController.abort(new Error("replaced"));
let { __staleWhileFetching: f } = g;
f !== void 0 && f !== t2 && (this.#T && this.#S?.(f, e, "set"), this.#f && this.#r?.push([f, e, "set"]));
} else this.#T && this.#S?.(g, e, "set"), this.#f && this.#r?.push([g, e, "set"]);
if (this.#x(u2), this.#j(u2, _, r), this.#t[u2] = t2, !c3) {
let f = g && this.#e(g) ? g.__staleWhileFetching : g, y = f === void 0 ? "add" : t2 !== f ? "replace" : "update";
r && (r.set = y, f !== void 0 && (r.oldValue = f)), this.#D && this.onInsert?.(t2, e, y);
}
} else c3 || (r && (r.set = "update"), this.#D && this.onInsert?.(t2, e, "update"));
}
if (n2 !== 0 && !this.#d && this.#k(), this.#d && (m || this.#H(u2, n2, o2), r && this.#v(r, u2)), !l && this.#f && this.#r) {
let g = this.#r, f;
for (; f = g?.shift(); ) this.#w?.(...f);
}
return this;
}
pop() {
try {
for (; this.#n; ) {
let e = this.#t[this.#a];
if (this.#G(true), this.#e(e)) {
if (e.__staleWhileFetching) return e.__staleWhileFetching;
} else if (e !== void 0) return e;
}
} finally {
if (this.#f && this.#r) {
let e = this.#r, t2;
for (; t2 = e?.shift(); ) this.#w?.(...t2);
}
}
}
#G(e) {
let t2 = this.#a, i4 = this.#i[t2], s = this.#t[t2], n2 = this.#e(s);
n2 && s.__abortController.abort(new Error("evicted"));
let o2 = n2 ? s.__staleWhileFetching : s;
return (this.#T || this.#f) && o2 !== void 0 && (this.#T && this.#S?.(o2, i4, "evict"), this.#f && this.#r?.push([o2, i4, "evict"])), this.#x(t2), this.#g?.[t2] && (clearTimeout(this.#g[t2]), this.#g[t2] = void 0), e && (this.#i[t2] = void 0, this.#t[t2] = void 0, this.#y.push(t2)), this.#n === 1 ? (this.#a = this.#h = 0, this.#y.length = 0) : this.#a = this.#l[t2], this.#s.delete(i4), this.#n--, t2;
}
has(e, t2 = {}) {
let { status: i4 = S.hasSubscribers ? {} : void 0 } = t2;
t2.status = i4, i4 && (i4.op = "has", i4.key = e, i4.cache = this);
let s = this.#Y(e, t2);
return S.hasSubscribers && S.publish(i4), s;
}
#Y(e, t2 = {}) {
let { updateAgeOnHas: i4 = this.updateAgeOnHas, status: s } = t2, n2 = this.#s.get(e);
if (n2 !== void 0) {
let o2 = this.#t[n2];
if (this.#e(o2) && o2.__staleWhileFetching === void 0) return false;
if (this.#p(n2)) s && (s.has = "stale", this.#v(s, n2));
else return i4 && this.#R(n2), s && (s.has = "hit", this.#v(s, n2)), true;
} else s && (s.has = "miss");
return false;
}
peek(e, t2 = {}) {
let { status: i4 = R() ? {} : void 0 } = t2;
i4 && (i4.op = "peek", i4.key = e, i4.cache = this), t2.status = i4;
let s = this.#J(e, t2);
return S.hasSubscribers && S.publish(i4), s;
}
#J(e, t2) {
let { status: i4, allowStale: s = this.allowStale } = t2, n2 = this.#s.get(e);
if (n2 === void 0 || !s && this.#p(n2)) {
i4 && (i4.peek = n2 === void 0 ? "miss" : "stale");
return;
}
let o2 = this.#t[n2], l = this.#e(o2) ? o2.__staleWhileFetching : o2;
return i4 && (l !== void 0 ? (i4.peek = "hit", i4.value = l) : i4.peek = "miss"), l;
}
#P(e, t2, i4, s) {
let n2 = t2 === void 0 ? void 0 : this.#t[t2];
if (this.#e(n2)) return n2;
let o2 = new AbortController(), { signal: l } = i4;
l?.addEventListener("abort", () => o2.abort(l.reason), { signal: o2.signal });
let h2 = { signal: o2.signal, options: i4, context: s }, r = (f, y = false) => {
let { aborted: a2 } = o2.signal, w = i4.ignoreFetchAbort && f !== void 0, F = i4.ignoreFetchAbort || !!(i4.allowStaleOnFetchAbort && f !== void 0);
if (i4.status && (a2 && !y ? (i4.status.fetchAborted = true, i4.status.fetchError = o2.signal.reason, w && (i4.status.fetchAbortIgnored = true)) : i4.status.fetchResolved = true), a2 && !w && !y) return m(o2.signal.reason, F);
let b = u2, p = this.#t[t2];
return (p === u2 || p === void 0 && w && y) && (f === void 0 ? b.__staleWhileFetching !== void 0 ? this.#t[t2] = b.__staleWhileFetching : this.#E(e, "fetch") : (i4.status && (i4.status.fetchUpdated = true), this.#W(e, f, h2.options, b))), f;
}, c3 = (f) => (i4.status && (i4.status.fetchRejected = true, i4.status.fetchError = f), m(f, false)), m = (f, y) => {
let { aborted: a2 } = o2.signal, w = a2 && i4.allowStaleOnFetchAbort, F = w || i4.allowStaleOnFetchRejection, b = F || i4.noDeleteOnFetchRejection, p = u2;
if (this.#t[t2] === u2 && (!b || !y && p.__staleWhileFetching === void 0 ? this.#E(e, "fetch") : w || (this.#t[t2] = p.__staleWhileFetching)), F) return i4.status && p.__staleWhileFetching !== void 0 && (i4.status.returnedStale = true), p.__staleWhileFetching;
if (p.__returned === p) throw f;
}, _ = (f, y) => {
let a2 = this.#M?.(e, n2, h2);
o2.signal.addEventListener("abort", () => {
(!i4.ignoreFetchAbort || i4.allowStaleOnFetchAbort) && (f(void 0), i4.allowStaleOnFetchAbort && (f = (w) => r(w, true)));
}), a2 && a2 instanceof Promise ? a2.then((w) => f(w === void 0 ? void 0 : w), y) : a2 !== void 0 && f(a2);
};
i4.status && (i4.status.fetchDispatched = true);
let u2 = new Promise(_).then(r, c3), g = Object.assign(u2, { __abortController: o2, __staleWhileFetching: n2, __returned: void 0 });
return t2 === void 0 ? (this.#W(e, g, { ...h2.options, status: void 0 }), t2 = this.#s.get(e)) : this.#t[t2] = g, g;
}
#e(e) {
if (!this.#U) return false;
let t2 = e;
return !!t2 && t2 instanceof Promise && t2.hasOwnProperty("__staleWhileFetching") && t2.__abortController instanceof AbortController;
}
fetch(e, t2 = {}) {
let i4 = W.hasSubscribers, { status: s = R() ? {} : void 0 } = t2;
t2.status = s, s && t2.context && (s.context = t2.context);
let n2 = this.#B(e, t2);
return s && i4 && (s.trace = true, W.tracePromise(() => n2, s).catch(() => {
})), n2;
}
async #B(e, t2 = {}) {
let { allowStale: i4 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, ttl: o2 = this.ttl, noDisposeOnSet: l = this.noDisposeOnSet, size: h2 = 0, sizeCalculation: r = this.sizeCalculation, noUpdateTTL: c3 = this.noUpdateTTL, noDeleteOnFetchRejection: m = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection: _ = this.allowStaleOnFetchRejection, ignoreFetchAbort: u2 = this.ignoreFetchAbort, allowStaleOnFetchAbort: g = this.allowStaleOnFetchAbort, context: f, forceRefresh: y = false, status: a2, signal: w } = t2;
if (a2 && (a2.op = "fetch", a2.key = e, y && (a2.forceRefresh = true), a2.cache = this), !this.#U) return a2 && (a2.fetch = "get"), this.#C(e, { allowStale: i4, updateAgeOnGet: s, noDeleteOnStaleGet: n2, status: a2 });
let F = { allowStale: i4, updateAgeOnGet: s, noDeleteOnStaleGet: n2, ttl: o2, noDisposeOnSet: l, size: h2, sizeCalculation: r, noUpdateTTL: c3, noDeleteOnFetchRejection: m, allowStaleOnFetchRejection: _, allowStaleOnFetchAbort: g, ignoreFetchAbort: u2, status: a2, signal: w }, b = this.#s.get(e);
if (b === void 0) {
a2 && (a2.fetch = "miss");
let p = this.#P(e, b, F, f);
return p.__returned = p;
} else {
let p = this.#t[b];
if (this.#e(p)) {
let v = i4 && p.__staleWhileFetching !== void 0;
return a2 && (a2.fetch = "inflight", v && (a2.returnedStale = true)), v ? p.__staleWhileFetching : p.__returned = p;
}
let A2 = this.#p(b);
if (!y && !A2) return a2 && (a2.fetch = "hit"), this.#L(b), s && this.#R(b), a2 && this.#v(a2, b), p;
let z = this.#P(e, b, F, f), E = z.__staleWhileFetching !== void 0 && i4;
return a2 && (a2.fetch = A2 ? "stale" : "refresh", E && A2 && (a2.returnedStale = true)), E ? z.__staleWhileFetching : z.__returned = z;
}
}
forceFetch(e, t2 = {}) {
let i4 = W.hasSubscribers, { status: s = R() ? {} : void 0 } = t2;
t2.status = s, s && t2.context && (s.context = t2.context);
let n2 = this.#K(e, t2);
return s && i4 && (s.trace = true, W.tracePromise(() => n2, s).catch(() => {
})), n2;
}
async #K(e, t2 = {}) {
let i4 = await this.#B(e, t2);
if (i4 === void 0) throw new Error("fetch() returned undefined");
return i4;
}
memo(e, t2 = {}) {
let { status: i4 = S.hasSubscribers ? {} : void 0 } = t2;
t2.status = i4, i4 && (i4.op = "memo", i4.key = e, t2.context && (i4.context = t2.context), i4.cache = this);
let s = this.#Q(e, t2);
return i4 && (i4.value = s), S.hasSubscribers && S.publish(i4), s;
}
#Q(e, t2 = {}) {
let i4 = this.#I;
if (!i4) throw new Error("no memoMethod provided to constructor");
let { context: s, status: n2, forceRefresh: o2, ...l } = t2;
n2 && o2 && (n2.forceRefresh = true);
let h2 = this.#C(e, l), r = o2 || h2 === void 0;
if (n2 && (n2.memo = r ? "miss" : "hit", r || (n2.value = h2)), !r) return h2;
let c3 = i4(e, h2, { options: l, context: s });
return n2 && (n2.value = c3), this.#W(e, c3, l), c3;
}
get(e, t2 = {}) {
let { status: i4 = S.hasSubscribers ? {} : void 0 } = t2;
t2.status = i4, i4 && (i4.op = "get", i4.key = e, i4.cache = this);
let s = this.#C(e, t2);
return i4 && (s !== void 0 && (i4.value = s), S.hasSubscribers && S.publish(i4)), s;
}
#C(e, t2 = {}) {
let { allowStale: i4 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, status: o2 } = t2, l = this.#s.get(e);
if (l === void 0) {
o2 && (o2.get = "miss");
return;
}
let h2 = this.#t[l], r = this.#e(h2);
return o2 && this.#v(o2, l), this.#p(l) ? r ? (o2 && (o2.get = "stale-fetching"), i4 && h2.__staleWhileFetching !== void 0 ? (o2 && (o2.returnedStale = true), h2.__staleWhileFetching) : void 0) : (n2 || this.#E(e, "expire"), o2 && (o2.get = "stale"), i4 ? (o2 && (o2.returnedStale = true), h2) : void 0) : (o2 && (o2.get = r ? "fetching" : "hit"), this.#L(l), s && this.#R(l), r ? h2.__staleWhileFetching : h2);
}
#$(e, t2) {
this.#u[t2] = e, this.#l[e] = t2;
}
#L(e) {
e !== this.#h && (e === this.#a ? this.#a = this.#l[e] : this.#$(this.#u[e], this.#l[e]), this.#$(this.#h, e), this.#h = e);
}
delete(e) {
return this.#E(e, "delete");
}
#E(e, t2) {
S.hasSubscribers && S.publish({ op: "delete", delete: t2, key: e, cache: this });
let i4 = false;
if (this.#n !== 0) {
let s = this.#s.get(e);
if (s !== void 0) if (this.#g?.[s] && (clearTimeout(this.#g[s]), this.#g[s] = void 0), i4 = true, this.#n === 1) this.#q(t2);
else {
this.#x(s);
let n2 = this.#t[s];
if (this.#e(n2) ? n2.__abortController.abort(new Error("deleted")) : (this.#T || this.#f) && (this.#T && this.#S?.(n2, e, t2), this.#f && this.#r?.push([n2, e, t2])), this.#s.delete(e), this.#i[s] = void 0, this.#t[s] = void 0, s === this.#h) this.#h = this.#u[s];
else if (s === this.#a) this.#a = this.#l[s];
else {
let o2 = this.#u[s];
this.#l[o2] = this.#l[s];
let l = this.#l[s];
this.#u[l] = this.#u[s];
}
this.#n--, this.#y.push(s);
}
}
if (this.#f && this.#r?.length) {
let s = this.#r, n2;
for (; n2 = s?.shift(); ) this.#w?.(...n2);
}
return i4;
}
clear() {
return this.#q("delete");
}
#q(e) {
for (let t2 of this.#z({ allowStale: true })) {
let i4 = this.#t[t2];
if (this.#e(i4)) i4.__abortController.abort(new Error("deleted"));
else {
let s = this.#i[t2];
this.#T && this.#S?.(i4, s, e), this.#f && this.#r?.push([i4, s, e]);
}
}
if (this.#s.clear(), this.#t.fill(void 0), this.#i.fill(void 0), this.#d && this.#F) {
this.#d.fill(0), this.#F.fill(0);
for (let t2 of this.#g ?? []) t2 !== void 0 && clearTimeout(t2);
this.#g?.fill(void 0);
}
if (this.#_ && this.#_.fill(0), this.#a = 0, this.#h = 0, this.#y.length = 0, this.#b = 0, this.#n = 0, this.#f && this.#r) {
let t2 = this.#r, i4;
for (; i4 = t2?.shift(); ) this.#w?.(...i4);
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/smart-buffer/4.2.0/26acde58cd4ef8a6abbb855cd602f8d5b83a031818c1520d891292aba555689e/node_modules/smart-buffer/build/utils.js
var require_utils9 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/smart-buffer/4.2.0/26acde58cd4ef8a6abbb855cd602f8d5b83a031818c1520d891292aba555689e/node_modules/smart-buffer/build/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var buffer_1 = __require("buffer");
var ERRORS = {
INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.",
INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.",
INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.",
INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.",
INVALID_OFFSET: "An invalid offset value was provided.",
INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.",
INVALID_LENGTH: "An invalid length value was provided.",
INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.",
INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.",
INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.",
INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.",
INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data."
};
exports2.ERRORS = ERRORS;
function checkEncoding(encoding) {
if (!buffer_1.Buffer.isEncoding(encoding)) {
throw new Error(ERRORS.INVALID_ENCODING);
}
}
exports2.checkEncoding = checkEncoding;
function isFiniteInteger(value) {
return typeof value === "number" && isFinite(value) && isInteger2(value);
}
exports2.isFiniteInteger = isFiniteInteger;
function checkOffsetOrLengthValue(value, offset) {
if (typeof value === "number") {
if (!isFiniteInteger(value) || value < 0) {
throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH);
}
} else {
throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER);
}
}
function checkLengthValue(length) {
checkOffsetOrLengthValue(length, false);
}
exports2.checkLengthValue = checkLengthValue;
function checkOffsetValue(offset) {
checkOffsetOrLengthValue(offset, true);
}
exports2.checkOffsetValue = checkOffsetValue;
function checkTargetOffset(offset, buff) {
if (offset < 0 || offset > buff.length) {
throw new Error(ERRORS.INVALID_TARGET_OFFSET);
}
}
exports2.checkTargetOffset = checkTargetOffset;
function isInteger2(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
}
function bigIntAndBufferInt64Check(bufferMethod) {
if (typeof BigInt === "undefined") {
throw new Error("Platform does not support JS BigInt type.");
}
if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") {
throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`);
}
}
exports2.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/smart-buffer/4.2.0/26acde58cd4ef8a6abbb855cd602f8d5b83a031818c1520d891292aba555689e/node_modules/smart-buffer/build/smartbuffer.js
var require_smartbuffer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/smart-buffer/4.2.0/26acde58cd4ef8a6abbb855cd602f8d5b83a031818c1520d891292aba555689e/node_modules/smart-buffer/build/smartbuffer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var utils_1 = require_utils9();
var DEFAULT_SMARTBUFFER_SIZE = 4096;
var DEFAULT_SMARTBUFFER_ENCODING = "utf8";
var SmartBuffer = class _SmartBuffer {
/**
* Creates a new SmartBuffer instance.
*
* @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
*/
constructor(options) {
this.length = 0;
this._encoding = DEFAULT_SMARTBUFFER_ENCODING;
this._writeOffset = 0;
this._readOffset = 0;
if (_SmartBuffer.isSmartBufferOptions(options)) {
if (options.encoding) {
utils_1.checkEncoding(options.encoding);
this._encoding = options.encoding;
}
if (options.size) {
if (utils_1.isFiniteInteger(options.size) && options.size > 0) {
this._buff = Buffer.allocUnsafe(options.size);
} else {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE);
}
} else if (options.buff) {
if (Buffer.isBuffer(options.buff)) {
this._buff = options.buff;
this.length = options.buff.length;
} else {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER);
}
} else {
this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
}
} else {
if (typeof options !== "undefined") {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT);
}
this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
}
}
/**
* Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
*
* @param size { Number } The size of the internal Buffer.
* @param encoding { String } The BufferEncoding to use for strings.
*
* @return { SmartBuffer }
*/
static fromSize(size, encoding) {
return new this({
size,
encoding
});
}
/**
* Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
*
* @param buffer { Buffer } The Buffer to use as the internal Buffer value.
* @param encoding { String } The BufferEncoding to use for strings.
*
* @return { SmartBuffer }
*/
static fromBuffer(buff, encoding) {
return new this({
buff,
encoding
});
}
/**
* Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
*
* @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
*/
static fromOptions(options) {
return new this(options);
}
/**
* Type checking function that determines if an object is a SmartBufferOptions object.
*/
static isSmartBufferOptions(options) {
const castOptions = options;
return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0);
}
// Signed integers
/**
* Reads an Int8 value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt8(offset) {
return this._readNumberValue(Buffer.prototype.readInt8, 1, offset);
}
/**
* Reads an Int16BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt16BE(offset) {
return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset);
}
/**
* Reads an Int16LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt16LE(offset) {
return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset);
}
/**
* Reads an Int32BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt32BE(offset) {
return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset);
}
/**
* Reads an Int32LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt32LE(offset) {
return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset);
}
/**
* Reads a BigInt64BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigInt64BE(offset) {
utils_1.bigIntAndBufferInt64Check("readBigInt64BE");
return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset);
}
/**
* Reads a BigInt64LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigInt64LE(offset) {
utils_1.bigIntAndBufferInt64Check("readBigInt64LE");
return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset);
}
/**
* Writes an Int8 value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt8(value, offset) {
this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
return this;
}
/**
* Inserts an Int8 value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt8(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
}
/**
* Writes an Int16BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt16BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
}
/**
* Inserts an Int16BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt16BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
}
/**
* Writes an Int16LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt16LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
}
/**
* Inserts an Int16LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt16LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
}
/**
* Writes an Int32BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt32BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
}
/**
* Inserts an Int32BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt32BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
}
/**
* Writes an Int32LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt32LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
}
/**
* Inserts an Int32LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt32LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
}
/**
* Writes a BigInt64BE value to the current write position (or at optional offset).
*
* @param value { BigInt } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigInt64BE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigInt64BE");
return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
}
/**
* Inserts a BigInt64BE value at the given offset value.
*
* @param value { BigInt } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigInt64BE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigInt64BE");
return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
}
/**
* Writes a BigInt64LE value to the current write position (or at optional offset).
*
* @param value { BigInt } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigInt64LE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigInt64LE");
return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
}
/**
* Inserts a Int64LE value at the given offset value.
*
* @param value { BigInt } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigInt64LE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigInt64LE");
return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
}
// Unsigned Integers
/**
* Reads an UInt8 value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt8(offset) {
return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset);
}
/**
* Reads an UInt16BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt16BE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset);
}
/**
* Reads an UInt16LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt16LE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset);
}
/**
* Reads an UInt32BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt32BE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset);
}
/**
* Reads an UInt32LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt32LE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset);
}
/**
* Reads a BigUInt64BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigUInt64BE(offset) {
utils_1.bigIntAndBufferInt64Check("readBigUInt64BE");
return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset);
}
/**
* Reads a BigUInt64LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigUInt64LE(offset) {
utils_1.bigIntAndBufferInt64Check("readBigUInt64LE");
return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset);
}
/**
* Writes an UInt8 value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt8(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
}
/**
* Inserts an UInt8 value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt8(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
}
/**
* Writes an UInt16BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt16BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
}
/**
* Inserts an UInt16BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt16BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
}
/**
* Writes an UInt16LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt16LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
}
/**
* Inserts an UInt16LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt16LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
}
/**
* Writes an UInt32BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt32BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
}
/**
* Inserts an UInt32BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt32BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
}
/**
* Writes an UInt32LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt32LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
}
/**
* Inserts an UInt32LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt32LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
}
/**
* Writes a BigUInt64BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigUInt64BE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE");
return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
}
/**
* Inserts a BigUInt64BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigUInt64BE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE");
return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
}
/**
* Writes a BigUInt64LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigUInt64LE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE");
return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
}
/**
* Inserts a BigUInt64LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigUInt64LE(value, offset) {
utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE");
return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
}
// Floating Point
/**
* Reads an FloatBE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readFloatBE(offset) {
return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset);
}
/**
* Reads an FloatLE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readFloatLE(offset) {
return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset);
}
/**
* Writes a FloatBE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeFloatBE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
}
/**
* Inserts a FloatBE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertFloatBE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
}
/**
* Writes a FloatLE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeFloatLE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
}
/**
* Inserts a FloatLE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertFloatLE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
}
// Double Floating Point
/**
* Reads an DoublEBE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readDoubleBE(offset) {
return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset);
}
/**
* Reads an DoubleLE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readDoubleLE(offset) {
return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset);
}
/**
* Writes a DoubleBE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeDoubleBE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
}
/**
* Inserts a DoubleBE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertDoubleBE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
}
/**
* Writes a DoubleLE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeDoubleLE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
}
/**
* Inserts a DoubleLE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertDoubleLE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
}
// Strings
/**
* Reads a String from the current read position.
*
* @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
* the string (Defaults to instance level encoding).
* @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
*
* @return { String }
*/
readString(arg1, encoding) {
let lengthVal;
if (typeof arg1 === "number") {
utils_1.checkLengthValue(arg1);
lengthVal = Math.min(arg1, this.length - this._readOffset);
} else {
encoding = arg1;
lengthVal = this.length - this._readOffset;
}
if (typeof encoding !== "undefined") {
utils_1.checkEncoding(encoding);
}
const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding);
this._readOffset += lengthVal;
return value;
}
/**
* Inserts a String
*
* @param value { String } The String value to insert.
* @param offset { Number } The offset to insert the string at.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
insertString(value, offset, encoding) {
utils_1.checkOffsetValue(offset);
return this._handleString(value, true, offset, encoding);
}
/**
* Writes a String
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
writeString(value, arg2, encoding) {
return this._handleString(value, false, arg2, encoding);
}
/**
* Reads a null-terminated String from the current read position.
*
* @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
*
* @return { String }
*/
readStringNT(encoding) {
if (typeof encoding !== "undefined") {
utils_1.checkEncoding(encoding);
}
let nullPos = this.length;
for (let i4 = this._readOffset; i4 < this.length; i4++) {
if (this._buff[i4] === 0) {
nullPos = i4;
break;
}
}
const value = this._buff.slice(this._readOffset, nullPos);
this._readOffset = nullPos + 1;
return value.toString(encoding || this._encoding);
}
/**
* Inserts a null-terminated String.
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
insertStringNT(value, offset, encoding) {
utils_1.checkOffsetValue(offset);
this.insertString(value, offset, encoding);
this.insertUInt8(0, offset + value.length);
return this;
}
/**
* Writes a null-terminated String.
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
writeStringNT(value, arg2, encoding) {
this.writeString(value, arg2, encoding);
this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset);
return this;
}
// Buffers
/**
* Reads a Buffer from the internal read position.
*
* @param length { Number } The length of data to read as a Buffer.
*
* @return { Buffer }
*/
readBuffer(length) {
if (typeof length !== "undefined") {
utils_1.checkLengthValue(length);
}
const lengthVal = typeof length === "number" ? length : this.length;
const endPoint = Math.min(this.length, this._readOffset + lengthVal);
const value = this._buff.slice(this._readOffset, endPoint);
this._readOffset = endPoint;
return value;
}
/**
* Writes a Buffer to the current write position.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
insertBuffer(value, offset) {
utils_1.checkOffsetValue(offset);
return this._handleBuffer(value, true, offset);
}
/**
* Writes a Buffer to the current write position.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
writeBuffer(value, offset) {
return this._handleBuffer(value, false, offset);
}
/**
* Reads a null-terminated Buffer from the current read poisiton.
*
* @return { Buffer }
*/
readBufferNT() {
let nullPos = this.length;
for (let i4 = this._readOffset; i4 < this.length; i4++) {
if (this._buff[i4] === 0) {
nullPos = i4;
break;
}
}
const value = this._buff.slice(this._readOffset, nullPos);
this._readOffset = nullPos + 1;
return value;
}
/**
* Inserts a null-terminated Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
insertBufferNT(value, offset) {
utils_1.checkOffsetValue(offset);
this.insertBuffer(value, offset);
this.insertUInt8(0, offset + value.length);
return this;
}
/**
* Writes a null-terminated Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
writeBufferNT(value, offset) {
if (typeof offset !== "undefined") {
utils_1.checkOffsetValue(offset);
}
this.writeBuffer(value, offset);
this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset);
return this;
}
/**
* Clears the SmartBuffer instance to its original empty state.
*/
clear() {
this._writeOffset = 0;
this._readOffset = 0;
this.length = 0;
return this;
}
/**
* Gets the remaining data left to be read from the SmartBuffer instance.
*
* @return { Number }
*/
remaining() {
return this.length - this._readOffset;
}
/**
* Gets the current read offset value of the SmartBuffer instance.
*
* @return { Number }
*/
get readOffset() {
return this._readOffset;
}
/**
* Sets the read offset value of the SmartBuffer instance.
*
* @param offset { Number } - The offset value to set.
*/
set readOffset(offset) {
utils_1.checkOffsetValue(offset);
utils_1.checkTargetOffset(offset, this);
this._readOffset = offset;
}
/**
* Gets the current write offset value of the SmartBuffer instance.
*
* @return { Number }
*/
get writeOffset() {
return this._writeOffset;
}
/**
* Sets the write offset value of the SmartBuffer instance.
*
* @param offset { Number } - The offset value to set.
*/
set writeOffset(offset) {
utils_1.checkOffsetValue(offset);
utils_1.checkTargetOffset(offset, this);
this._writeOffset = offset;
}
/**
* Gets the currently set string encoding of the SmartBuffer instance.
*
* @return { BufferEncoding } The string Buffer encoding currently set.
*/
get encoding() {
return this._encoding;
}
/**
* Sets the string encoding of the SmartBuffer instance.
*
* @param encoding { BufferEncoding } The string Buffer encoding to set.
*/
set encoding(encoding) {
utils_1.checkEncoding(encoding);
this._encoding = encoding;
}
/**
* Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
*
* @return { Buffer } The Buffer value.
*/
get internalBuffer() {
return this._buff;
}
/**
* Gets the value of the internal managed Buffer (Includes managed data only)
*
* @param { Buffer }
*/
toBuffer() {
return this._buff.slice(0, this.length);
}
/**
* Gets the String value of the internal managed Buffer
*
* @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
*/
toString(encoding) {
const encodingVal = typeof encoding === "string" ? encoding : this._encoding;
utils_1.checkEncoding(encodingVal);
return this._buff.toString(encodingVal, 0, this.length);
}
/**
* Destroys the SmartBuffer instance.
*/
destroy() {
this.clear();
return this;
}
/**
* Handles inserting and writing strings.
*
* @param value { String } The String value to insert.
* @param isInsert { Boolean } True if inserting a string, false if writing.
* @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*/
_handleString(value, isInsert, arg3, encoding) {
let offsetVal = this._writeOffset;
let encodingVal = this._encoding;
if (typeof arg3 === "number") {
offsetVal = arg3;
} else if (typeof arg3 === "string") {
utils_1.checkEncoding(arg3);
encodingVal = arg3;
}
if (typeof encoding === "string") {
utils_1.checkEncoding(encoding);
encodingVal = encoding;
}
const byteLength2 = Buffer.byteLength(value, encodingVal);
if (isInsert) {
this.ensureInsertable(byteLength2, offsetVal);
} else {
this._ensureWriteable(byteLength2, offsetVal);
}
this._buff.write(value, offsetVal, byteLength2, encodingVal);
if (isInsert) {
this._writeOffset += byteLength2;
} else {
if (typeof arg3 === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength2);
} else {
this._writeOffset += byteLength2;
}
}
return this;
}
/**
* Handles writing or insert of a Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*/
_handleBuffer(value, isInsert, offset) {
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
if (isInsert) {
this.ensureInsertable(value.length, offsetVal);
} else {
this._ensureWriteable(value.length, offsetVal);
}
value.copy(this._buff, offsetVal);
if (isInsert) {
this._writeOffset += value.length;
} else {
if (typeof offset === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length);
} else {
this._writeOffset += value.length;
}
}
return this;
}
/**
* Ensures that the internal Buffer is large enough to read data.
*
* @param length { Number } The length of the data that needs to be read.
* @param offset { Number } The offset of the data that needs to be read.
*/
ensureReadable(length, offset) {
let offsetVal = this._readOffset;
if (typeof offset !== "undefined") {
utils_1.checkOffsetValue(offset);
offsetVal = offset;
}
if (offsetVal < 0 || offsetVal + length > this.length) {
throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS);
}
}
/**
* Ensures that the internal Buffer is large enough to insert data.
*
* @param dataLength { Number } The length of the data that needs to be written.
* @param offset { Number } The offset of the data to be written.
*/
ensureInsertable(dataLength, offset) {
utils_1.checkOffsetValue(offset);
this._ensureCapacity(this.length + dataLength);
if (offset < this.length) {
this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length);
}
if (offset + dataLength > this.length) {
this.length = offset + dataLength;
} else {
this.length += dataLength;
}
}
/**
* Ensures that the internal Buffer is large enough to write data.
*
* @param dataLength { Number } The length of the data that needs to be written.
* @param offset { Number } The offset of the data to be written (defaults to writeOffset).
*/
_ensureWriteable(dataLength, offset) {
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
this._ensureCapacity(offsetVal + dataLength);
if (offsetVal + dataLength > this.length) {
this.length = offsetVal + dataLength;
}
}
/**
* Ensures that the internal Buffer is large enough to write at least the given amount of data.
*
* @param minLength { Number } The minimum length of the data needs to be written.
*/
_ensureCapacity(minLength) {
const oldLength = this._buff.length;
if (minLength > oldLength) {
let data = this._buff;
let newLength = oldLength * 3 / 2 + 1;
if (newLength < minLength) {
newLength = minLength;
}
this._buff = Buffer.allocUnsafe(newLength);
data.copy(this._buff, 0, 0, oldLength);
}
}
/**
* Reads a numeric number value using the provided function.
*
* @typeparam T { number | bigint } The type of the value to be read
*
* @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
* @param byteSize { Number } The number of bytes read.
* @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
*
* @returns { T } the number value
*/
_readNumberValue(func, byteSize, offset) {
this.ensureReadable(byteSize, offset);
const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset);
if (typeof offset === "undefined") {
this._readOffset += byteSize;
}
return value;
}
/**
* Inserts a numeric number value based on the given offset and value.
*
* @typeparam T { number | bigint } The type of the value to be written
*
* @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
* @param byteSize { Number } The number of bytes written.
* @param value { T } The number value to write.
* @param offset { Number } the offset to write the number at (REQUIRED).
*
* @returns SmartBuffer this buffer
*/
_insertNumberValue(func, byteSize, value, offset) {
utils_1.checkOffsetValue(offset);
this.ensureInsertable(byteSize, offset);
func.call(this._buff, value, offset);
this._writeOffset += byteSize;
return this;
}
/**
* Writes a numeric number value based on the given offset and value.
*
* @typeparam T { number | bigint } The type of the value to be written
*
* @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
* @param byteSize { Number } The number of bytes written.
* @param value { T } The number value to write.
* @param offset { Number } the offset to write the number at (REQUIRED).
*
* @returns SmartBuffer this buffer
*/
_writeNumberValue(func, byteSize, value, offset) {
if (typeof offset === "number") {
if (offset < 0) {
throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS);
}
utils_1.checkOffsetValue(offset);
}
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
this._ensureWriteable(byteSize, offsetVal);
func.call(this._buff, value, offsetVal);
if (typeof offset === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize);
} else {
this._writeOffset += byteSize;
}
return this;
}
};
exports2.SmartBuffer = SmartBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/constants.js
var require_constants8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SOCKS5_NO_ACCEPTABLE_AUTH = exports2.SOCKS5_CUSTOM_AUTH_END = exports2.SOCKS5_CUSTOM_AUTH_START = exports2.SOCKS_INCOMING_PACKET_SIZES = exports2.SocksClientState = exports2.Socks5Response = exports2.Socks5HostType = exports2.Socks5Auth = exports2.Socks4Response = exports2.SocksCommand = exports2.ERRORS = exports2.DEFAULT_TIMEOUT = void 0;
var DEFAULT_TIMEOUT = 3e4;
exports2.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
var ERRORS = {
InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.",
InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.",
InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.",
InvalidSocksClientOptionsDestination: "An invalid destination host was provided.",
InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.",
InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.",
InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).",
InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.",
InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.",
InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.",
NegotiationError: "Negotiation error",
SocketClosed: "Socket closed",
ProxyConnectionTimedOut: "Proxy connection timed out",
InternalError: "SocksClient internal error (this should not happen)",
InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response",
Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection",
InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response",
Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection",
InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response",
InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)",
InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)",
InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)",
Socks5AuthenticationFailed: "Socks5 Authentication failed",
InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response",
InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection",
InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response",
Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection"
};
exports2.ERRORS = ERRORS;
var SOCKS_INCOMING_PACKET_SIZES = {
Socks5InitialHandshakeResponse: 2,
Socks5UserPassAuthenticationResponse: 2,
// Command response + incoming connection (bind)
Socks5ResponseHeader: 5,
// We need at least 5 to read the hostname length, then we wait for the address+port information.
Socks5ResponseIPv4: 10,
// 4 header + 4 ip + 2 port
Socks5ResponseIPv6: 22,
// 4 header + 16 ip + 2 port
Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7,
// 4 header + 1 host length + host + 2 port
// Command response + incoming connection (bind)
Socks4Response: 8
// 2 header + 2 port + 4 ip
};
exports2.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES;
var SocksCommand;
(function(SocksCommand2) {
SocksCommand2[SocksCommand2["connect"] = 1] = "connect";
SocksCommand2[SocksCommand2["bind"] = 2] = "bind";
SocksCommand2[SocksCommand2["associate"] = 3] = "associate";
})(SocksCommand || (exports2.SocksCommand = SocksCommand = {}));
var Socks4Response;
(function(Socks4Response2) {
Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted";
Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed";
Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected";
Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent";
})(Socks4Response || (exports2.Socks4Response = Socks4Response = {}));
var Socks5Auth;
(function(Socks5Auth2) {
Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth";
Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi";
Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass";
})(Socks5Auth || (exports2.Socks5Auth = Socks5Auth = {}));
var SOCKS5_CUSTOM_AUTH_START = 128;
exports2.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START;
var SOCKS5_CUSTOM_AUTH_END = 254;
exports2.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END;
var SOCKS5_NO_ACCEPTABLE_AUTH = 255;
exports2.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH;
var Socks5Response;
(function(Socks5Response2) {
Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted";
Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure";
Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed";
Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable";
Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable";
Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused";
Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired";
Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported";
Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported";
})(Socks5Response || (exports2.Socks5Response = Socks5Response = {}));
var Socks5HostType;
(function(Socks5HostType2) {
Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4";
Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname";
Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6";
})(Socks5HostType || (exports2.Socks5HostType = Socks5HostType = {}));
var SocksClientState;
(function(SocksClientState2) {
SocksClientState2[SocksClientState2["Created"] = 0] = "Created";
SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting";
SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected";
SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake";
SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse";
SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication";
SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse";
SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake";
SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse";
SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection";
SocksClientState2[SocksClientState2["Established"] = 10] = "Established";
SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected";
SocksClientState2[SocksClientState2["Error"] = 99] = "Error";
})(SocksClientState || (exports2.SocksClientState = SocksClientState = {}));
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/util.js
var require_util3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.shuffleArray = exports2.SocksClientError = void 0;
var SocksClientError = class extends Error {
constructor(message, options) {
super(message);
this.options = options;
}
};
exports2.SocksClientError = SocksClientError;
function shuffleArray(array) {
for (let i4 = array.length - 1; i4 > 0; i4--) {
const j2 = Math.floor(Math.random() * (i4 + 1));
[array[i4], array[j2]] = [array[j2], array[i4]];
}
}
exports2.shuffleArray = shuffleArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/address-error.js
var require_address_error = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/address-error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AddressError = void 0;
var AddressError = class extends Error {
constructor(message, parseMessage) {
super(message);
this.name = "AddressError";
this.parseMessage = parseMessage;
}
};
exports2.AddressError = AddressError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/common.js
var require_common4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isInSubnet = isInSubnet;
exports2.isCorrect = isCorrect;
exports2.prefixLengthFromMask = prefixLengthFromMask;
exports2.numberToPaddedHex = numberToPaddedHex;
exports2.stringToPaddedHex = stringToPaddedHex;
exports2.testBit = testBit;
var address_error_1 = require_address_error();
function isInSubnet(address) {
if (this.subnetMask < address.subnetMask) {
return false;
}
if (this.mask(address.subnetMask) === address.mask()) {
return true;
}
return false;
}
function isCorrect(defaultBits) {
return function() {
if (this.addressMinusSuffix !== this.correctForm()) {
return false;
}
if (this.subnetMask === defaultBits && !this.parsedSubnet) {
return true;
}
return this.parsedSubnet === String(this.subnetMask);
};
}
function prefixLengthFromMask(value, totalBits) {
const binary2 = value.toString(2).padStart(totalBits, "0");
if (binary2.length > totalBits) {
throw new address_error_1.AddressError("Invalid subnet mask.");
}
const firstZero = binary2.indexOf("0");
if (firstZero === -1) {
return totalBits;
}
if (binary2.slice(firstZero).includes("1")) {
throw new address_error_1.AddressError("Invalid subnet mask.");
}
return firstZero;
}
function numberToPaddedHex(number) {
return number.toString(16).padStart(2, "0");
}
function stringToPaddedHex(numberString) {
return numberToPaddedHex(parseInt(numberString, 10));
}
function testBit(binaryValue, position3) {
const { length } = binaryValue;
if (position3 > length) {
return false;
}
const positionInString = length - position3;
return binaryValue.substring(positionInString, positionInString + 1) === "1";
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v4/constants.js
var require_constants9 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v4/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RE_SUBNET_STRING = exports2.RE_ADDRESS = exports2.GROUPS = exports2.BITS = void 0;
exports2.BITS = 32;
exports2.GROUPS = 4;
exports2.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;
exports2.RE_SUBNET_STRING = /\/\d{1,2}$/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ipv4.js
var require_ipv4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ipv4.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k2 in mod2) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2)) __createBinding2(result2, mod2, k2);
}
__setModuleDefault2(result2, mod2);
return result2;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Address4 = void 0;
var common4 = __importStar2(require_common4());
var constants6 = __importStar2(require_constants9());
var address_error_1 = require_address_error();
var isCorrect4 = common4.isCorrect(constants6.BITS);
var Address4 = class _Address4 {
constructor(address) {
this.groups = constants6.GROUPS;
this.parsedAddress = [];
this.parsedSubnet = "";
this.subnet = "/32";
this.subnetMask = 32;
this.v4 = true;
this.isCorrect = isCorrect4;
this.isInSubnet = common4.isInSubnet;
this.address = address;
const subnet = constants6.RE_SUBNET_STRING.exec(address);
if (subnet) {
this.parsedSubnet = subnet[0].replace("/", "");
this.subnetMask = parseInt(this.parsedSubnet, 10);
this.subnet = `/${this.subnetMask}`;
if (this.subnetMask < 0 || this.subnetMask > constants6.BITS) {
throw new address_error_1.AddressError("Invalid subnet mask.");
}
address = address.replace(constants6.RE_SUBNET_STRING, "");
}
this.addressMinusSuffix = address;
this.parsedAddress = this.parse(address);
}
/**
* Returns true if the given string is a valid IPv4 address (with optional
* CIDR subnet), false otherwise. Host bits in the subnet portion are
* allowed (e.g. `192.168.1.5/24` is valid); for strict network-address
* validation compare `correctForm()` to `startAddress().correctForm()`,
* or use `networkForm()`.
*/
static isValid(address) {
try {
new _Address4(address);
return true;
} catch (e) {
return false;
}
}
/**
* Parses an IPv4 address string into its four octet groups and stores the
* result on `this.parsedAddress`. Called automatically by the constructor;
* you typically don't need to call it directly. Throws `AddressError` if
* the input is not a valid IPv4 address.
*/
parse(address) {
const groups = address.split(".");
if (!address.match(constants6.RE_ADDRESS)) {
throw new address_error_1.AddressError("Invalid IPv4 address.");
}
return groups;
}
/**
* Returns the address in correct form: octets joined with `.` and any
* leading zeros stripped (e.g. `192.168.1.1`). For IPv4 this matches the
* canonical dotted-decimal representation.
*/
correctForm() {
return this.parsedAddress.map((part) => parseInt(part, 10)).join(".");
}
/**
* Construct an `Address4` from an address and a dotted-decimal subnet
* mask given as separate strings (e.g. as returned by Node's
* `os.networkInterfaces()`). Throws `AddressError` if the mask is
* non-contiguous (e.g. `255.0.255.0`).
* @example
* var address = Address4.fromAddressAndMask('192.168.1.1', '255.255.255.0');
* address.subnetMask; // 24
*/
static fromAddressAndMask(address, mask) {
const bits2 = common4.prefixLengthFromMask(new _Address4(mask).bigInt(), constants6.BITS);
return new _Address4(`${address}/${bits2}`);
}
/**
* Construct an `Address4` from an address and a Cisco-style wildcard mask
* given as separate strings (e.g. `0.0.0.255` for a `/24`). The wildcard
* mask is the bitwise inverse of the subnet mask. Throws `AddressError`
* if the mask is non-contiguous (e.g. `0.255.0.255`).
* @example
* var address = Address4.fromAddressAndWildcardMask('10.0.0.1', '0.0.0.255');
* address.subnetMask; // 24
*/
static fromAddressAndWildcardMask(address, wildcardMask) {
const wildcard = new _Address4(wildcardMask).bigInt();
const allOnes = (BigInt(1) << BigInt(constants6.BITS)) - BigInt(1);
const mask = wildcard ^ allOnes;
const bits2 = common4.prefixLengthFromMask(mask, constants6.BITS);
return new _Address4(`${address}/${bits2}`);
}
/**
* Construct an `Address4` from a wildcard pattern with trailing `*`
* octets. The number of trailing wildcards determines the prefix
* length: each `*` represents 8 bits.
*
* Only trailing whole-octet wildcards are supported. Partial-octet
* wildcards (e.g. `192.168.0.1*`) and interior wildcards (e.g.
* `192.*.0.1`) throw `AddressError`.
* @example
* Address4.fromWildcard('192.168.0.*').subnet; // '/24'
* Address4.fromWildcard('192.168.*.*').subnet; // '/16'
* Address4.fromWildcard('*.*.*.*').subnet; // '/0'
*/
static fromWildcard(input) {
const groups = input.split(".");
if (groups.length !== constants6.GROUPS) {
throw new address_error_1.AddressError("Wildcard pattern must have 4 octets");
}
let firstWildcard = -1;
for (let i4 = 0; i4 < groups.length; i4++) {
if (groups[i4] === "*") {
if (firstWildcard === -1) {
firstWildcard = i4;
}
} else if (firstWildcard !== -1) {
throw new address_error_1.AddressError("Wildcard `*` must only appear in trailing octets (e.g. `192.168.0.*`)");
}
}
const trailing = firstWildcard === -1 ? 0 : groups.length - firstWildcard;
const replaced = groups.map((g) => g === "*" ? "0" : g);
const subnetBits = constants6.BITS - trailing * 8;
return new _Address4(`${replaced.join(".")}/${subnetBits}`);
}
/**
* Converts a hex string to an IPv4 address object. Accepts 8 hex digits
* with optional `:` separators (e.g. `'7f000001'` or `'7f:00:00:01'`).
* Throws `AddressError` for any other length or for non-hex characters.
* @param {string} hex - a hex string to convert
* @returns {Address4}
*/
static fromHex(hex) {
const stripped = hex.replace(/:/g, "");
if (!/^[0-9a-fA-F]{8}$/.test(stripped)) {
throw new address_error_1.AddressError("IPv4 hex must be exactly 8 hex digits");
}
const groups = [];
for (let i4 = 0; i4 < 8; i4 += 2) {
groups.push(parseInt(stripped.slice(i4, i4 + 2), 16));
}
return new _Address4(groups.join("."));
}
/**
* Converts an integer into a IPv4 address object. The integer must be a
* non-negative safe integer in the range `[0, 2**32 - 1]`; otherwise
* `AddressError` is thrown.
* @param {integer} integer - a number to convert
* @returns {Address4}
*/
static fromInteger(integer) {
if (!Number.isInteger(integer) || integer < 0 || integer > 4294967295) {
throw new address_error_1.AddressError("IPv4 integer must be in the range 0 to 2**32 - 1");
}
return _Address4.fromHex(integer.toString(16).padStart(8, "0"));
}
/**
* Return an address from in-addr.arpa form
* @param {string} arpaFormAddress - an 'in-addr.arpa' form ipv4 address
* @returns {Adress4}
* @example
* var address = Address4.fromArpa(42.2.0.192.in-addr.arpa.)
* address.correctForm(); // '192.0.2.42'
*/
static fromArpa(arpaFormAddress) {
const leader = arpaFormAddress.replace(/(\.in-addr\.arpa)?\.$/, "");
const address = leader.split(".").reverse().join(".");
return new _Address4(address);
}
/**
* Converts an IPv4 address object to a hex string
* @returns {String}
*/
toHex() {
return this.parsedAddress.map((part) => common4.stringToPaddedHex(part)).join(":");
}
/**
* Converts an IPv4 address object to an array of bytes.
*
* To get a Node.js `Buffer`, wrap the result: `Buffer.from(address.toArray())`.
* @returns {Array}
*/
toArray() {
return this.parsedAddress.map((part) => parseInt(part, 10));
}
/**
* Converts an IPv4 address object to an IPv6 address group
* @returns {String}
*/
toGroup6() {
const output = [];
let i4;
for (i4 = 0; i4 < constants6.GROUPS; i4 += 2) {
output.push(`${common4.stringToPaddedHex(this.parsedAddress[i4])}${common4.stringToPaddedHex(this.parsedAddress[i4 + 1])}`);
}
return output.join(":");
}
/**
* Returns the address as a `bigint`
* @returns {bigint}
*/
bigInt() {
return BigInt(`0x${this.parsedAddress.map((n2) => common4.stringToPaddedHex(n2)).join("")}`);
}
/**
* Helper function getting start address.
* @returns {bigint}
*/
_startAddress() {
return BigInt(`0b${this.mask() + "0".repeat(constants6.BITS - this.subnetMask)}`);
}
/**
* The first address in the range given by this address' subnet.
* Often referred to as the Network Address.
* @returns {Address4}
*/
startAddress() {
return _Address4.fromBigInt(this._startAddress());
}
/**
* The first host address in the range given by this address's subnet ie
* the first address after the Network Address
* @returns {Address4}
*/
startAddressExclusive() {
const adjust = BigInt("1");
return _Address4.fromBigInt(this._startAddress() + adjust);
}
/**
* Helper function getting end address.
* @returns {bigint}
*/
_endAddress() {
return BigInt(`0b${this.mask() + "1".repeat(constants6.BITS - this.subnetMask)}`);
}
/**
* The last address in the range given by this address' subnet
* Often referred to as the Broadcast
* @returns {Address4}
*/
endAddress() {
return _Address4.fromBigInt(this._endAddress());
}
/**
* The last host address in the range given by this address's subnet ie
* the last address prior to the Broadcast Address
* @returns {Address4}
*/
endAddressExclusive() {
const adjust = BigInt("1");
return _Address4.fromBigInt(this._endAddress() - adjust);
}
/**
* The dotted-decimal form of the subnet mask, e.g. `255.255.240.0` for
* a `/20`. Returns an `Address4`; call `.correctForm()` for the string.
* @returns {Address4}
*/
subnetMaskAddress() {
return _Address4.fromBigInt(BigInt(`0b${"1".repeat(this.subnetMask)}${"0".repeat(constants6.BITS - this.subnetMask)}`));
}
/**
* The Cisco-style wildcard mask, e.g. `0.0.0.255` for a `/24`. This is
* the bitwise inverse of `subnetMaskAddress()`. Returns an `Address4`;
* call `.correctForm()` for the string.
* @returns {Address4}
*/
wildcardMask() {
return _Address4.fromBigInt(BigInt(`0b${"0".repeat(this.subnetMask)}${"1".repeat(constants6.BITS - this.subnetMask)}`));
}
/**
* The network address in CIDR string form, e.g. `192.168.1.0/24` for
* `192.168.1.5/24`. For an address with no explicit subnet the prefix is
* `/32`, e.g. `networkForm()` on `192.168.1.5` returns `192.168.1.5/32`.
* @returns {string}
*/
networkForm() {
return `${this.startAddress().correctForm()}/${this.subnetMask}`;
}
/**
* Converts a BigInt to a v4 address object. The value must be in the
* range `[0, 2**32 - 1]`; otherwise `AddressError` is thrown.
* @param {bigint} bigInt - a BigInt to convert
* @returns {Address4}
*/
static fromBigInt(bigInt) {
if (bigInt < 0n || bigInt > 0xffffffffn) {
throw new address_error_1.AddressError("IPv4 BigInt must be in the range 0 to 2**32 - 1");
}
return _Address4.fromHex(bigInt.toString(16).padStart(8, "0"));
}
/**
* Convert a byte array to an Address4 object.
*
* To convert from a Node.js `Buffer`, spread it: `Address4.fromByteArray([...buf])`.
* @param {Array<number>} bytes - an array of 4 bytes (0-255)
* @returns {Address4}
*/
static fromByteArray(bytes) {
if (bytes.length !== 4) {
throw new address_error_1.AddressError("IPv4 addresses require exactly 4 bytes");
}
for (let i4 = 0; i4 < bytes.length; i4++) {
if (!Number.isInteger(bytes[i4]) || bytes[i4] < 0 || bytes[i4] > 255) {
throw new address_error_1.AddressError("All bytes must be integers between 0 and 255");
}
}
return this.fromUnsignedByteArray(bytes);
}
/**
* Convert an unsigned byte array to an Address4 object
* @param {Array<number>} bytes - an array of 4 unsigned bytes (0-255)
* @returns {Address4}
*/
static fromUnsignedByteArray(bytes) {
if (bytes.length !== 4) {
throw new address_error_1.AddressError("IPv4 addresses require exactly 4 bytes");
}
const address = bytes.join(".");
return new _Address4(address);
}
/**
* Returns the first n bits of the address, defaulting to the
* subnet mask
* @returns {String}
*/
mask(mask) {
if (mask === void 0) {
mask = this.subnetMask;
}
return this.getBitsBase2(0, mask);
}
/**
* Returns the bits in the given range as a base-2 string
* @returns {string}
*/
getBitsBase2(start, end) {
return this.binaryZeroPad().slice(start, end);
}
/**
* Return the reversed ip6.arpa form of the address
* @param {Object} options
* @param {boolean} options.omitSuffix - omit the "in-addr.arpa" suffix
* @returns {String}
*/
reverseForm(options) {
if (!options) {
options = {};
}
const reversed = this.correctForm().split(".").reverse().join(".");
if (options.omitSuffix) {
return reversed;
}
return `${reversed}.in-addr.arpa.`;
}
/**
* Returns true if the given address is a multicast address
* @returns {boolean}
*/
isMulticast() {
return this.isInSubnet(MULTICAST_V4);
}
/**
* Returns true if the address is in one of the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address ranges (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`).
* @returns {boolean}
*/
isPrivate() {
return PRIVATE_V4.some((subnet) => this.isInSubnet(subnet));
}
/**
* Returns true if the address is in the loopback range `127.0.0.0/8` ([RFC 1122](https://datatracker.ietf.org/doc/html/rfc1122)).
* @returns {boolean}
*/
isLoopback() {
return this.isInSubnet(LOOPBACK_V4);
}
/**
* Returns true if the address is in the link-local range `169.254.0.0/16` ([RFC 3927](https://datatracker.ietf.org/doc/html/rfc3927)).
* @returns {boolean}
*/
isLinkLocal() {
return this.isInSubnet(LINK_LOCAL_V4);
}
/**
* Returns true if the address is the unspecified address `0.0.0.0`.
* @returns {boolean}
*/
isUnspecified() {
return this.isInSubnet(UNSPECIFIED_V4);
}
/**
* Returns true if the address is the limited broadcast address `255.255.255.255` ([RFC 919](https://datatracker.ietf.org/doc/html/rfc919)).
* @returns {boolean}
*/
isBroadcast() {
return this.isInSubnet(BROADCAST_V4);
}
/**
* Returns true if the address is in the carrier-grade NAT range `100.64.0.0/10` ([RFC 6598](https://datatracker.ietf.org/doc/html/rfc6598)).
* @returns {boolean}
*/
isCGNAT() {
return this.isInSubnet(CGNAT_V4);
}
/**
* Returns a zero-padded base-2 string representation of the address
* @returns {string}
*/
binaryZeroPad() {
if (this._binaryZeroPad === void 0) {
this._binaryZeroPad = this.bigInt().toString(2).padStart(constants6.BITS, "0");
}
return this._binaryZeroPad;
}
/**
* Groups an IPv4 address for inclusion at the end of an IPv6 address
* @returns {String}
*/
groupForV6() {
const segments = this.parsedAddress;
return this.address.replace(constants6.RE_ADDRESS, `<span class="hover-group group-v4 group-6">${segments.slice(0, 2).join(".")}</span>.<span class="hover-group group-v4 group-7">${segments.slice(2, 4).join(".")}</span>`);
}
};
exports2.Address4 = Address4;
var MULTICAST_V4 = new Address4("224.0.0.0/4");
var PRIVATE_V4 = [
new Address4("10.0.0.0/8"),
new Address4("172.16.0.0/12"),
new Address4("192.168.0.0/16")
];
var LOOPBACK_V4 = new Address4("127.0.0.0/8");
var LINK_LOCAL_V4 = new Address4("169.254.0.0/16");
var UNSPECIFIED_V4 = new Address4("0.0.0.0/32");
var BROADCAST_V4 = new Address4("255.255.255.255/32");
var CGNAT_V4 = new Address4("100.64.0.0/10");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/constants.js
var require_constants10 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RE_URL_WITH_PORT = exports2.RE_URL = exports2.RE_ZONE_STRING = exports2.RE_SUBNET_STRING = exports2.RE_BAD_ADDRESS = exports2.RE_BAD_CHARACTERS = exports2.TYPES = exports2.SCOPES = exports2.GROUPS = exports2.BITS = void 0;
exports2.BITS = 128;
exports2.GROUPS = 8;
exports2.SCOPES = {
0: "Reserved",
1: "Interface local",
2: "Link local",
4: "Admin local",
5: "Site local",
8: "Organization local",
14: "Global",
15: "Reserved"
};
exports2.TYPES = {
"ff01::1/128": "Multicast (All nodes on this interface)",
"ff01::2/128": "Multicast (All routers on this interface)",
"ff02::1/128": "Multicast (All nodes on this link)",
"ff02::2/128": "Multicast (All routers on this link)",
"ff05::2/128": "Multicast (All routers in this site)",
"ff02::5/128": "Multicast (OSPFv3 AllSPF routers)",
"ff02::6/128": "Multicast (OSPFv3 AllDR routers)",
"ff02::9/128": "Multicast (RIP routers)",
"ff02::a/128": "Multicast (EIGRP routers)",
"ff02::d/128": "Multicast (PIM routers)",
"ff02::16/128": "Multicast (MLDv2 reports)",
"ff01::fb/128": "Multicast (mDNSv6)",
"ff02::fb/128": "Multicast (mDNSv6)",
"ff05::fb/128": "Multicast (mDNSv6)",
"ff02::1:2/128": "Multicast (All DHCP servers and relay agents on this link)",
"ff05::1:2/128": "Multicast (All DHCP servers and relay agents in this site)",
"ff02::1:3/128": "Multicast (All DHCP servers on this link)",
"ff05::1:3/128": "Multicast (All DHCP servers in this site)",
"::/128": "Unspecified",
"::1/128": "Loopback",
"ff00::/8": "Multicast",
"fe80::/10": "Link-local unicast",
"fc00::/7": "Unique local",
"2002::/16": "6to4",
"2001:db8::/32": "Documentation",
"64:ff9b::/96": "NAT64 (well-known)",
"64:ff9b:1::/48": "NAT64 (local-use)"
};
exports2.RE_BAD_CHARACTERS = /([^0-9a-f:/%])/gi;
exports2.RE_BAD_ADDRESS = /([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;
exports2.RE_SUBNET_STRING = /\/\d{1,3}(?=%|$)/;
exports2.RE_ZONE_STRING = /%.*$/;
exports2.RE_URL = /^\[{0,1}([0-9a-f:]+)\]{0,1}/;
exports2.RE_URL_WITH_PORT = /\[([0-9a-f:]+)\]:([0-9]{1,5})/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/helpers.js
var require_helpers = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.escapeHtml = escapeHtml;
exports2.spanAllZeroes = spanAllZeroes;
exports2.spanAll = spanAll;
exports2.spanLeadingZeroes = spanLeadingZeroes;
exports2.simpleGroup = simpleGroup;
function escapeHtml(s) {
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
}
function spanAllZeroes(s) {
return escapeHtml(s).replace(/(0+)/g, '<span class="zero">$1</span>');
}
function spanAll(s, offset = 0) {
const letters = s.split("");
return letters.map((n2, i4) => `<span class="digit value-${escapeHtml(n2)} position-${i4 + offset}">${spanAllZeroes(n2)}</span>`).join("");
}
function spanLeadingZeroesSimple(group) {
return escapeHtml(group).replace(/^(0+)/, '<span class="zero">$1</span>');
}
function spanLeadingZeroes(address) {
const groups = address.split(":");
return groups.map((g) => spanLeadingZeroesSimple(g)).join(":");
}
function simpleGroup(addressString, offset = 0) {
const groups = addressString.split(":");
return groups.map((g, i4) => {
if (/group-v4/.test(g)) {
return g;
}
return `<span class="hover-group group-${i4 + offset}">${spanLeadingZeroesSimple(g)}</span>`;
});
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/regular-expressions.js
var require_regular_expressions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/v6/regular-expressions.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k2 in mod2) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2)) __createBinding2(result2, mod2, k2);
}
__setModuleDefault2(result2, mod2);
return result2;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ADDRESS_BOUNDARY = void 0;
exports2.groupPossibilities = groupPossibilities;
exports2.padGroup = padGroup;
exports2.simpleRegularExpression = simpleRegularExpression;
exports2.possibleElisions = possibleElisions;
var v6 = __importStar2(require_constants10());
function groupPossibilities(possibilities) {
return `(${possibilities.join("|")})`;
}
function padGroup(group) {
if (group.length < 4) {
return `0{0,${4 - group.length}}${group}`;
}
return group;
}
exports2.ADDRESS_BOUNDARY = "[^A-Fa-f0-9:]";
function simpleRegularExpression(groups) {
const zeroIndexes = [];
groups.forEach((group, i4) => {
const groupInteger = parseInt(group, 16);
if (groupInteger === 0) {
zeroIndexes.push(i4);
}
});
const possibilities = zeroIndexes.map((zeroIndex) => groups.map((group, i4) => {
if (i4 === zeroIndex) {
const elision = i4 === 0 || i4 === v6.GROUPS - 1 ? ":" : "";
return groupPossibilities([padGroup(group), elision]);
}
return padGroup(group);
}).join(":"));
possibilities.push(groups.map(padGroup).join(":"));
return groupPossibilities(possibilities);
}
function possibleElisions(elidedGroups, moreLeft, moreRight) {
const left = moreLeft ? "" : ":";
const right = moreRight ? "" : ":";
const possibilities = [];
if (!moreLeft && !moreRight) {
possibilities.push("::");
}
if (moreLeft && moreRight) {
possibilities.push("");
}
if (moreRight && !moreLeft || !moreRight && moreLeft) {
possibilities.push(":");
}
possibilities.push(`${left}(:0{1,4}){1,${elidedGroups - 1}}`);
possibilities.push(`(0{1,4}:){1,${elidedGroups - 1}}${right}`);
possibilities.push(`(0{1,4}:){${elidedGroups - 1}}0{1,4}`);
for (let groups = 1; groups < elidedGroups - 1; groups++) {
for (let position3 = 1; position3 < elidedGroups - groups; position3++) {
possibilities.push(`(0{1,4}:){${position3}}:(0{1,4}:){${elidedGroups - position3 - groups - 1}}0{1,4}`);
}
}
return groupPossibilities(possibilities);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ipv6.js
var require_ipv6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ipv6.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k2 in mod2) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2)) __createBinding2(result2, mod2, k2);
}
__setModuleDefault2(result2, mod2);
return result2;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Address6 = void 0;
var common4 = __importStar2(require_common4());
var constants42 = __importStar2(require_constants9());
var constants6 = __importStar2(require_constants10());
var helpers = __importStar2(require_helpers());
var ipv4_1 = require_ipv4();
var regular_expressions_1 = require_regular_expressions();
var address_error_1 = require_address_error();
var common_1 = require_common4();
var isCorrect6 = common4.isCorrect(constants6.BITS);
function assert13(condition) {
if (!condition) {
throw new Error("Assertion failed.");
}
}
function addCommas(number) {
const r = /(\d+)(\d{3})/;
while (r.test(number)) {
number = number.replace(r, "$1,$2");
}
return number;
}
function spanLeadingZeroes4(n2) {
n2 = n2.replace(/^(0{1,})([1-9]+)$/, '<span class="parse-error">$1</span>$2');
n2 = n2.replace(/^(0{1,})(0)$/, '<span class="parse-error">$1</span>$2');
return n2;
}
function compact(address, slice4) {
const s1 = [];
const s2 = [];
let i4;
for (i4 = 0; i4 < address.length; i4++) {
if (i4 < slice4[0]) {
s1.push(address[i4]);
} else if (i4 > slice4[1]) {
s2.push(address[i4]);
}
}
return s1.concat(["compact"]).concat(s2);
}
function paddedHex(octet) {
return parseInt(octet, 16).toString(16).padStart(4, "0");
}
function unsignByte(b) {
return b & 255;
}
var Address6 = class _Address6 {
constructor(address, optionalGroups) {
this.addressMinusSuffix = "";
this.parsedSubnet = "";
this.subnet = "/128";
this.subnetMask = 128;
this.v4 = false;
this.zone = "";
this.isInSubnet = common4.isInSubnet;
this.isCorrect = isCorrect6;
if (optionalGroups === void 0) {
this.groups = constants6.GROUPS;
} else {
this.groups = optionalGroups;
}
this.address = address;
const subnet = constants6.RE_SUBNET_STRING.exec(address);
if (subnet) {
this.parsedSubnet = subnet[0].replace("/", "");
this.subnetMask = parseInt(this.parsedSubnet, 10);
this.subnet = `/${this.subnetMask}`;
if (Number.isNaN(this.subnetMask) || this.subnetMask < 0 || this.subnetMask > constants6.BITS) {
throw new address_error_1.AddressError("Invalid subnet mask.");
}
address = address.replace(constants6.RE_SUBNET_STRING, "");
} else if (/\//.test(address)) {
throw new address_error_1.AddressError("Invalid subnet mask.");
}
const zone = constants6.RE_ZONE_STRING.exec(address);
if (zone) {
this.zone = zone[0];
address = address.replace(constants6.RE_ZONE_STRING, "");
}
this.addressMinusSuffix = address;
this.parsedAddress = this.parse(this.addressMinusSuffix);
}
/**
* Returns true if the given string is a valid IPv6 address (with optional
* CIDR subnet and zone identifier), false otherwise. Host bits in the
* subnet portion are allowed (e.g. `2001:db8::1/32` is valid); for strict
* network-address validation compare `correctForm()` to
* `startAddress().correctForm()`, or use `networkForm()`.
*/
static isValid(address) {
try {
new _Address6(address);
return true;
} catch (e) {
return false;
}
}
/**
* Convert a BigInt to a v6 address object. The value must be in the
* range `[0, 2**128 - 1]`; otherwise `AddressError` is thrown.
* @param {bigint} bigInt - a BigInt to convert
* @returns {Address6}
* @example
* var bigInt = BigInt('1000000000000');
* var address = Address6.fromBigInt(bigInt);
* address.correctForm(); // '::e8:d4a5:1000'
*/
static fromBigInt(bigInt) {
if (bigInt < 0n || bigInt > (1n << BigInt(constants6.BITS)) - 1n) {
throw new address_error_1.AddressError("IPv6 BigInt must be in the range 0 to 2**128 - 1");
}
const hex = bigInt.toString(16).padStart(32, "0");
const groups = [];
for (let i4 = 0; i4 < constants6.GROUPS; i4++) {
groups.push(hex.slice(i4 * 4, (i4 + 1) * 4));
}
return new _Address6(groups.join(":"));
}
/**
* Parse a URL (with optional bracketed host and port) into an address and
* port. Returns either `{ address, port }` on success or
* `{ error, address: null, port: null }` if the URL could not be parsed.
* Ports are returned as numbers (or `null` if absent or out of range).
* @example
* var addressAndPort = Address6.fromURL('http://[ffff::]:8080/foo/');
* addressAndPort.address.correctForm(); // 'ffff::'
* addressAndPort.port; // 8080
*/
static fromURL(url7) {
let host;
let port = null;
let result2;
if (url7.indexOf("[") !== -1 && url7.indexOf("]:") !== -1) {
result2 = constants6.RE_URL_WITH_PORT.exec(url7);
if (result2 === null) {
return {
error: "failed to parse address with port",
address: null,
port: null
};
}
host = result2[1];
port = result2[2];
} else if (url7.indexOf("/") !== -1) {
url7 = url7.replace(/^[a-z0-9]+:\/\//, "");
result2 = constants6.RE_URL.exec(url7);
if (result2 === null) {
return {
error: "failed to parse address from URL",
address: null,
port: null
};
}
host = result2[1];
} else {
host = url7;
}
if (port) {
port = parseInt(port, 10);
if (port < 0 || port > 65536) {
port = null;
}
} else {
port = null;
}
return {
address: new _Address6(host),
port
};
}
/**
* Construct an `Address6` from an address and a hex subnet mask given as
* separate strings (e.g. as returned by Node's `os.networkInterfaces()`).
* Throws `AddressError` if the mask is non-contiguous (e.g.
* `ffff::ffff`).
* @example
* var address = Address6.fromAddressAndMask('fe80::1', 'ffff:ffff:ffff:ffff::');
* address.subnetMask; // 64
*/
static fromAddressAndMask(address, mask) {
const bits2 = common4.prefixLengthFromMask(new _Address6(mask).bigInt(), constants6.BITS);
return new _Address6(`${address}/${bits2}`);
}
/**
* Construct an `Address6` from an address and a Cisco-style wildcard mask
* given as separate strings (e.g. `::ffff:ffff:ffff:ffff` for a `/64`).
* The wildcard mask is the bitwise inverse of the subnet mask. Throws
* `AddressError` if the mask is non-contiguous.
* @example
* var address = Address6.fromAddressAndWildcardMask('fe80::1', '::ffff:ffff:ffff:ffff');
* address.subnetMask; // 64
*/
static fromAddressAndWildcardMask(address, wildcardMask) {
const wildcard = new _Address6(wildcardMask).bigInt();
const allOnes = (BigInt(1) << BigInt(constants6.BITS)) - BigInt(1);
const mask = wildcard ^ allOnes;
const bits2 = common4.prefixLengthFromMask(mask, constants6.BITS);
return new _Address6(`${address}/${bits2}`);
}
/**
* Construct an `Address6` from a wildcard pattern with trailing `*`
* groups. The number of trailing wildcards determines the prefix
* length: each `*` represents 16 bits. `::` is expanded to zero groups
* (not wildcards) before evaluating trailing wildcards.
*
* Only trailing whole-group wildcards are supported. Partial-group
* wildcards (e.g. `2001:db8::0*`) and interior wildcards (e.g.
* `*::1`) throw `AddressError`.
* @example
* Address6.fromWildcard('2001:db8:*:*:*:*:*:*').subnet; // '/32'
* Address6.fromWildcard('2001:db8::*').subnet; // '/112'
* Address6.fromWildcard('*:*:*:*:*:*:*:*').subnet; // '/0'
*/
static fromWildcard(input) {
if (input.includes("%") || input.includes("/")) {
throw new address_error_1.AddressError("Wildcard pattern must not include a zone or CIDR suffix");
}
const halves = input.split("::");
if (halves.length > 2) {
throw new address_error_1.AddressError("Wildcard pattern cannot contain more than one '::'");
}
let groups;
if (halves.length === 2) {
const left = halves[0] === "" ? [] : halves[0].split(":");
const right = halves[1] === "" ? [] : halves[1].split(":");
const remaining = constants6.GROUPS - left.length - right.length;
if (remaining < 1) {
throw new address_error_1.AddressError("Wildcard pattern with '::' has too many groups");
}
groups = [...left, ...new Array(remaining).fill("0"), ...right];
} else {
groups = input.split(":");
}
if (groups.length !== constants6.GROUPS) {
throw new address_error_1.AddressError("Wildcard pattern must have 8 groups");
}
let firstWildcard = -1;
for (let i4 = 0; i4 < groups.length; i4++) {
if (groups[i4] === "*") {
if (firstWildcard === -1) {
firstWildcard = i4;
}
} else if (firstWildcard !== -1) {
throw new address_error_1.AddressError("Wildcard `*` must only appear in trailing groups (e.g. `2001:db8:*:*:*:*:*:*`)");
}
}
const trailing = firstWildcard === -1 ? 0 : groups.length - firstWildcard;
const replaced = groups.map((g) => g === "*" ? "0" : g);
const subnetBits = constants6.BITS - trailing * 16;
return new _Address6(`${replaced.join(":")}/${subnetBits}`);
}
/**
* Create an IPv6-mapped address given an IPv4 address
* @param {string} address - An IPv4 address string
* @returns {Address6}
* @example
* var address = Address6.fromAddress4('192.168.0.1');
* address.correctForm(); // '::ffff:c0a8:1'
* address.to4in6(); // '::ffff:192.168.0.1'
*/
static fromAddress4(address) {
const address4 = new ipv4_1.Address4(address);
const mask6 = constants6.BITS - (constants42.BITS - address4.subnetMask);
return new _Address6(`::ffff:${address4.correctForm()}/${mask6}`);
}
/**
* Return an address from ip6.arpa form
* @param {string} arpaFormAddress - an 'ip6.arpa' form address
* @returns {Adress6}
* @example
* var address = Address6.fromArpa(e.f.f.f.3.c.2.6.f.f.f.e.6.6.8.e.1.0.6.7.9.4.e.c.0.0.0.0.1.0.0.2.ip6.arpa.)
* address.correctForm(); // '2001:0:ce49:7601:e866:efff:62c3:fffe'
*/
static fromArpa(arpaFormAddress) {
let address = arpaFormAddress.replace(/(\.ip6\.arpa)?\.$/, "");
const semicolonAmount = 7;
if (address.length !== 63) {
throw new address_error_1.AddressError("Invalid 'ip6.arpa' form.");
}
const parts = address.split(".").reverse();
for (let i4 = semicolonAmount; i4 > 0; i4--) {
const insertIndex = i4 * 4;
parts.splice(insertIndex, 0, ":");
}
address = parts.join("");
return new _Address6(address);
}
/**
* Return the Microsoft UNC transcription of the address
* @returns {String} the Microsoft UNC transcription of the address
*/
microsoftTranscription() {
return `${this.correctForm().replace(/:/g, "-")}.ipv6-literal.net`;
}
/**
* Return the first n bits of the address, defaulting to the subnet mask
* @param {number} [mask=subnet] - the number of bits to mask
* @returns {String} the first n bits of the address as a string
*/
mask(mask = this.subnetMask) {
return this.getBitsBase2(0, mask);
}
/**
* Return the number of possible subnets of a given size in the address
* @param {number} [subnetSize=128] - the subnet size
* @returns {String}
*/
// TODO: probably useful to have a numeric version of this too
possibleSubnets(subnetSize = 128) {
const availableBits = constants6.BITS - this.subnetMask;
const subnetBits = Math.abs(subnetSize - constants6.BITS);
const subnetPowers = availableBits - subnetBits;
if (subnetPowers < 0) {
return "0";
}
return addCommas((BigInt("2") ** BigInt(subnetPowers)).toString(10));
}
/**
* Helper function getting start address.
* @returns {bigint}
*/
_startAddress() {
return BigInt(`0b${this.mask() + "0".repeat(constants6.BITS - this.subnetMask)}`);
}
/**
* The first address in the range given by this address' subnet
* Often referred to as the Network Address.
* @returns {Address6}
*/
startAddress() {
return _Address6.fromBigInt(this._startAddress());
}
/**
* The first host address in the range given by this address's subnet ie
* the first address after the Network Address
* @returns {Address6}
*/
startAddressExclusive() {
const adjust = BigInt("1");
return _Address6.fromBigInt(this._startAddress() + adjust);
}
/**
* Helper function getting end address.
* @returns {bigint}
*/
_endAddress() {
return BigInt(`0b${this.mask() + "1".repeat(constants6.BITS - this.subnetMask)}`);
}
/**
* The last address in the range given by this address' subnet
* Often referred to as the Broadcast
* @returns {Address6}
*/
endAddress() {
return _Address6.fromBigInt(this._endAddress());
}
/**
* The last host address in the range given by this address's subnet ie
* the last address prior to the Broadcast Address
* @returns {Address6}
*/
endAddressExclusive() {
const adjust = BigInt("1");
return _Address6.fromBigInt(this._endAddress() - adjust);
}
/**
* The hex form of the subnet mask, e.g. `ffff:ffff:ffff:ffff::` for a
* `/64`. Returns an `Address6`; call `.correctForm()` for the string.
* @returns {Address6}
*/
subnetMaskAddress() {
return _Address6.fromBigInt(BigInt(`0b${"1".repeat(this.subnetMask)}${"0".repeat(constants6.BITS - this.subnetMask)}`));
}
/**
* The Cisco-style wildcard mask, e.g. `::ffff:ffff:ffff:ffff` for a
* `/64`. This is the bitwise inverse of `subnetMaskAddress()`. Returns
* an `Address6`; call `.correctForm()` for the string.
* @returns {Address6}
*/
wildcardMask() {
return _Address6.fromBigInt(BigInt(`0b${"0".repeat(this.subnetMask)}${"1".repeat(constants6.BITS - this.subnetMask)}`));
}
/**
* The network address in CIDR string form, e.g. `2001:db8::/32` for
* `2001:db8::1/32`. For an address with no explicit subnet the prefix
* is `/128`, e.g. `networkForm()` on `2001:db8::1` returns
* `2001:db8::1/128`.
* @returns {string}
*/
networkForm() {
return `${this.startAddress().correctForm()}/${this.subnetMask}`;
}
/**
* Return the scope of the address. The 4-bit scope field
* ([RFC 4291 §2.7](https://datatracker.ietf.org/doc/html/rfc4291#section-2.7))
* is only defined for multicast addresses; for unicast addresses the scope
* is derived from the address type per
* [RFC 4007 §6](https://datatracker.ietf.org/doc/html/rfc4007#section-6).
* @returns {String}
*/
getScope() {
const type4 = this.getType();
if (type4 === "Multicast" || type4.startsWith("Multicast ")) {
const scope = constants6.SCOPES[parseInt(this.getBits(12, 16).toString(10), 10)];
return scope || "Unknown";
}
if (type4 === "Link-local unicast" || type4 === "Loopback") {
return "Link local";
}
if (type4 === "Unspecified") {
return "Unknown";
}
return "Global";
}
/**
* Return the type of the address
* @returns {String}
*/
getType() {
for (let i4 = 0; i4 < TYPE_SUBNETS.length; i4++) {
const entry = TYPE_SUBNETS[i4];
if (this.isInSubnet(entry[0])) {
return entry[1];
}
}
return "Global unicast";
}
/**
* Return the bits in the given range as a BigInt
* @returns {bigint}
*/
getBits(start, end) {
return BigInt(`0b${this.getBitsBase2(start, end)}`);
}
/**
* Return the bits in the given range as a base-2 string
* @returns {String}
*/
getBitsBase2(start, end) {
return this.binaryZeroPad().slice(start, end);
}
/**
* Return the bits in the given range as a base-16 string
* @returns {String}
*/
getBitsBase16(start, end) {
const length = end - start;
if (length % 4 !== 0) {
throw new Error("Length of bits to retrieve must be divisible by four");
}
return this.getBits(start, end).toString(16).padStart(length / 4, "0");
}
/**
* Return the bits that are set past the subnet mask length
* @returns {String}
*/
getBitsPastSubnet() {
return this.getBitsBase2(this.subnetMask, constants6.BITS);
}
/**
* Return the reversed ip6.arpa form of the address
* @param {Object} options
* @param {boolean} options.omitSuffix - omit the "ip6.arpa" suffix
* @returns {String}
*/
reverseForm(options) {
if (!options) {
options = {};
}
const characters = Math.floor(this.subnetMask / 4);
const reversed = this.canonicalForm().replace(/:/g, "").split("").slice(0, characters).reverse().join(".");
if (characters > 0) {
if (options.omitSuffix) {
return reversed;
}
return `${reversed}.ip6.arpa.`;
}
if (options.omitSuffix) {
return "";
}
return "ip6.arpa.";
}
/**
* Returns the address in correct form, per
* [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952): leading zeros
* stripped, the longest run of zero groups collapsed to `::`, and hex digits
* lowercased (e.g. `2001:db8::1`). This is the recommended form for display.
*/
correctForm() {
let i4;
let groups = [];
let zeroCounter = 0;
const zeroes = [];
for (i4 = 0; i4 < this.parsedAddress.length; i4++) {
const value = parseInt(this.parsedAddress[i4], 16);
if (value === 0) {
zeroCounter++;
}
if (value !== 0 && zeroCounter > 0) {
if (zeroCounter > 1) {
zeroes.push([i4 - zeroCounter, i4 - 1]);
}
zeroCounter = 0;
}
}
if (zeroCounter > 1) {
zeroes.push([this.parsedAddress.length - zeroCounter, this.parsedAddress.length - 1]);
}
const zeroLengths = zeroes.map((n2) => n2[1] - n2[0] + 1);
if (zeroes.length > 0) {
const index2 = zeroLengths.indexOf(Math.max(...zeroLengths));
groups = compact(this.parsedAddress, zeroes[index2]);
} else {
groups = this.parsedAddress;
}
for (i4 = 0; i4 < groups.length; i4++) {
if (groups[i4] !== "compact") {
groups[i4] = parseInt(groups[i4], 16).toString(16);
}
}
let correct = groups.join(":");
correct = correct.replace(/^compact$/, "::");
correct = correct.replace(/(^compact)|(compact$)/, ":");
correct = correct.replace(/compact/, "");
return correct;
}
/**
* Return a zero-padded base-2 string representation of the address
* @returns {String}
* @example
* var address = new Address6('2001:4860:4001:803::1011');
* address.binaryZeroPad();
* // '0010000000000001010010000110000001000000000000010000100000000011
* // 0000000000000000000000000000000000000000000000000001000000010001'
*/
binaryZeroPad() {
if (this._binaryZeroPad === void 0) {
this._binaryZeroPad = this.bigInt().toString(2).padStart(constants6.BITS, "0");
}
return this._binaryZeroPad;
}
/**
* Parses a v4-in-v6 string (e.g. `::ffff:192.168.0.1`) by extracting the
* trailing IPv4 address into `this.address4` / `this.parsedAddress4` and
* returning the address with the v4 portion converted to two v6 groups.
* Used internally by `parse()`.
*/
// TODO: Improve the semantics of this helper function
parse4in6(address) {
if (address.indexOf(".") === -1) {
return address;
}
const groups = address.split(":");
const lastGroup = groups.slice(-1)[0];
const address4 = lastGroup.match(constants42.RE_ADDRESS);
if (address4) {
this.parsedAddress4 = address4[0];
this.address4 = new ipv4_1.Address4(this.parsedAddress4);
for (let i4 = 0; i4 < this.address4.groups; i4++) {
if (/^0[0-9]+/.test(this.address4.parsedAddress[i4])) {
const highlighted = this.address4.parsedAddress.map(spanLeadingZeroes4).join(".");
const prefix = groups.slice(0, -1).map(helpers.escapeHtml).join(":");
const separator = groups.length > 1 ? ":" : "";
throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.", `${prefix}${separator}${highlighted}`);
}
}
this.v4 = true;
groups[groups.length - 1] = this.address4.toGroup6();
address = groups.join(":");
}
return address;
}
/**
* Parses an IPv6 address string into its 8 hexadecimal groups (expanding
* any `::` elision and any trailing v4-in-v6 portion) and stores the result
* on `this.parsedAddress`. Called automatically by the constructor; you
* typically don't need to call it directly. Throws `AddressError` if the
* input is malformed.
*/
// TODO: Make private?
parse(address) {
address = this.parse4in6(address);
const badCharacters = address.match(constants6.RE_BAD_CHARACTERS);
if (badCharacters) {
throw new address_error_1.AddressError(`Bad character${badCharacters.length > 1 ? "s" : ""} detected in address: ${badCharacters.join("")}`, address.replace(constants6.RE_BAD_CHARACTERS, '<span class="parse-error">$1</span>'));
}
const badAddress = address.match(constants6.RE_BAD_ADDRESS);
if (badAddress) {
throw new address_error_1.AddressError(`Address failed regex: ${badAddress.join("")}`, address.replace(constants6.RE_BAD_ADDRESS, '<span class="parse-error">$1</span>'));
}
let groups = [];
const halves = address.split("::");
if (halves.length === 2) {
let first = halves[0].split(":");
let last = halves[1].split(":");
if (first.length === 1 && first[0] === "") {
first = [];
}
if (last.length === 1 && last[0] === "") {
last = [];
}
const remaining = this.groups - (first.length + last.length);
if (!remaining) {
throw new address_error_1.AddressError("Error parsing groups");
}
this.elidedGroups = remaining;
this.elisionBegin = first.length;
this.elisionEnd = first.length + this.elidedGroups;
groups = groups.concat(first);
for (let i4 = 0; i4 < remaining; i4++) {
groups.push("0");
}
groups = groups.concat(last);
} else if (halves.length === 1) {
groups = address.split(":");
this.elidedGroups = 0;
} else {
throw new address_error_1.AddressError("Too many :: groups found");
}
groups = groups.map((group) => parseInt(group, 16).toString(16));
if (groups.length !== this.groups) {
throw new address_error_1.AddressError("Incorrect number of groups found");
}
return groups;
}
/**
* Returns the canonical (fully expanded) form of the address: all 8 groups,
* each padded to 4 hex digits, with no `::` collapsing
* (e.g. `2001:0db8:0000:0000:0000:0000:0000:0001`). Useful for sorting and
* byte-exact comparison.
*/
canonicalForm() {
return this.parsedAddress.map(paddedHex).join(":");
}
/**
* Return the decimal form of the address
* @returns {String}
*/
decimal() {
return this.parsedAddress.map((n2) => parseInt(n2, 16).toString(10).padStart(5, "0")).join(":");
}
/**
* Return the address as a BigInt
* @returns {bigint}
*/
bigInt() {
return BigInt(`0x${this.parsedAddress.map(paddedHex).join("")}`);
}
/**
* Return the last two groups of this address as an IPv4 address string
* @returns {Address4}
* @example
* var address = new Address6('2001:4860:4001::1825:bf11');
* address.to4().correctForm(); // '24.37.191.17'
*/
to4() {
const binary2 = this.binaryZeroPad().split("");
return ipv4_1.Address4.fromHex(BigInt(`0b${binary2.slice(96, 128).join("")}`).toString(16).padStart(8, "0"));
}
/**
* Return the v4-in-v6 form of the address
* @returns {String}
*/
to4in6() {
const address4 = this.to4();
const address6 = new _Address6(this.parsedAddress.slice(0, 6).join(":"), 6);
const correct = address6.correctForm();
let infix = "";
if (!/:$/.test(correct)) {
infix = ":";
}
return correct + infix + address4.address;
}
/**
* Decodes the Teredo tunneling fields embedded in this address. Returns the
* Teredo prefix, server IPv4, client IPv4, raw flag bits, cone-NAT flag,
* UDP port, and Microsoft-format flag breakdown (reserved, universal/local,
* group/individual, nonce). Only meaningful for addresses in `2001::/32`.
*/
inspectTeredo() {
const prefix = this.getBitsBase16(0, 32);
const bitsForUdpPort = this.getBits(80, 96);
const udpPort = (bitsForUdpPort ^ BigInt("0xffff")).toString();
const server4 = ipv4_1.Address4.fromHex(this.getBitsBase16(32, 64));
const bitsForClient4 = this.getBits(96, 128);
const client4 = ipv4_1.Address4.fromHex((bitsForClient4 ^ BigInt("0xffffffff")).toString(16).padStart(8, "0"));
const flagsBase2 = this.getBitsBase2(64, 80);
const coneNat = (0, common_1.testBit)(flagsBase2, 15);
const reserved = (0, common_1.testBit)(flagsBase2, 14);
const groupIndividual = (0, common_1.testBit)(flagsBase2, 8);
const universalLocal = (0, common_1.testBit)(flagsBase2, 9);
const nonce = BigInt(`0b${flagsBase2.slice(2, 6) + flagsBase2.slice(8, 16)}`).toString(10);
return {
prefix: `${prefix.slice(0, 4)}:${prefix.slice(4, 8)}`,
server4: server4.address,
client4: client4.address,
flags: flagsBase2,
coneNat,
microsoft: {
reserved,
universalLocal,
groupIndividual,
nonce
},
udpPort
};
}
/**
* Decodes the 6to4 tunneling fields embedded in this address. Returns the
* 6to4 prefix and the embedded IPv4 gateway address. Only meaningful for
* addresses in `2002::/16`.
*/
inspect6to4() {
const prefix = this.getBitsBase16(0, 16);
const gateway = ipv4_1.Address4.fromHex(this.getBitsBase16(16, 48));
return {
prefix: prefix.slice(0, 4),
gateway: gateway.address
};
}
/**
* Return a v6 6to4 address from a v6 v4inv6 address
* @returns {Address6}
*/
to6to4() {
if (!this.is4()) {
return null;
}
const addr6to4 = [
"2002",
this.getBitsBase16(96, 112),
this.getBitsBase16(112, 128),
"",
"/16"
].join(":");
return new _Address6(addr6to4);
}
/**
* Embed an IPv4 address into a NAT64 IPv6 address using the encoding
* defined by [RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052).
* The default prefix is the well-known prefix `64:ff9b::/96`. The prefix
* length must be one of 32, 40, 48, 56, 64, or 96; for prefixes shorter
* than /64 the IPv4 octets are split around the reserved bits 64–71.
* @example
* Address6.fromAddress4Nat64('192.0.2.33').correctForm(); // '64:ff9b::c000:221'
* Address6.fromAddress4Nat64('192.0.2.33', '2001:db8::/32').correctForm(); // '2001:db8:c000:221::'
*/
static fromAddress4Nat64(address, prefix = "64:ff9b::/96") {
const v4 = new ipv4_1.Address4(address);
const prefix6 = new _Address6(prefix);
const pl = prefix6.subnetMask;
if (pl !== 32 && pl !== 40 && pl !== 48 && pl !== 56 && pl !== 64 && pl !== 96) {
throw new address_error_1.AddressError("NAT64 prefix length must be 32, 40, 48, 56, 64, or 96");
}
const prefixBits = prefix6.binaryZeroPad();
const v4Bits = v4.binaryZeroPad();
let bits2;
if (pl === 96) {
bits2 = prefixBits.slice(0, 96) + v4Bits;
} else {
const beforeU = 64 - pl;
bits2 = prefixBits.slice(0, pl) + v4Bits.slice(0, beforeU) + "00000000" + v4Bits.slice(beforeU) + "0".repeat(128 - 72 - (32 - beforeU));
}
const hex = BigInt(`0b${bits2}`).toString(16).padStart(32, "0");
const groups = [];
for (let i4 = 0; i4 < 8; i4++) {
groups.push(hex.slice(i4 * 4, (i4 + 1) * 4));
}
return new _Address6(groups.join(":"));
}
/**
* Extract the embedded IPv4 address from a NAT64 IPv6 address using the
* encoding defined by [RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052).
* The default prefix is the well-known prefix `64:ff9b::/96`. Returns
* `null` if this address is not contained within the given prefix.
* @example
* new Address6('64:ff9b::c000:221').toAddress4Nat64()!.correctForm(); // '192.0.2.33'
*/
toAddress4Nat64(prefix = "64:ff9b::/96") {
const prefix6 = new _Address6(prefix);
const pl = prefix6.subnetMask;
if (pl !== 32 && pl !== 40 && pl !== 48 && pl !== 56 && pl !== 64 && pl !== 96) {
throw new address_error_1.AddressError("NAT64 prefix length must be 32, 40, 48, 56, 64, or 96");
}
if (!this.isInSubnet(prefix6)) {
return null;
}
const bits2 = this.binaryZeroPad();
let v4Bits;
if (pl === 96) {
v4Bits = bits2.slice(96, 128);
} else {
const beforeU = 64 - pl;
v4Bits = bits2.slice(pl, pl + beforeU) + bits2.slice(72, 72 + (32 - beforeU));
}
const octets = [];
for (let i4 = 0; i4 < 4; i4++) {
octets.push(parseInt(v4Bits.slice(i4 * 8, (i4 + 1) * 8), 2).toString());
}
return new ipv4_1.Address4(octets.join("."));
}
/**
* Return a byte array.
*
* To get a Node.js `Buffer`, wrap the result: `Buffer.from(address.toByteArray())`.
* @returns {Array}
*/
toByteArray() {
const valueWithoutPadding = this.bigInt().toString(16);
const leadingPad = "0".repeat(valueWithoutPadding.length % 2);
const value = `${leadingPad}${valueWithoutPadding}`;
const bytes = [];
for (let i4 = 0, length = value.length; i4 < length; i4 += 2) {
bytes.push(parseInt(value.substring(i4, i4 + 2), 16));
}
return bytes;
}
/**
* Return an unsigned byte array.
*
* To get a Node.js `Buffer`, wrap the result: `Buffer.from(address.toUnsignedByteArray())`.
* @returns {Array}
*/
toUnsignedByteArray() {
return this.toByteArray().map(unsignByte);
}
/**
* Convert a byte array to an Address6 object.
*
* To convert from a Node.js `Buffer`, spread it: `Address6.fromByteArray([...buf])`.
* @returns {Address6}
*/
static fromByteArray(bytes) {
return this.fromUnsignedByteArray(bytes.map(unsignByte));
}
/**
* Convert an unsigned byte array to an Address6 object.
*
* To convert from a Node.js `Buffer`, spread it: `Address6.fromUnsignedByteArray([...buf])`.
* @returns {Address6}
*/
static fromUnsignedByteArray(bytes) {
const BYTE_MAX = BigInt("256");
let result2 = BigInt("0");
let multiplier = BigInt("1");
for (let i4 = bytes.length - 1; i4 >= 0; i4--) {
result2 += multiplier * BigInt(bytes[i4].toString(10));
multiplier *= BYTE_MAX;
}
return _Address6.fromBigInt(result2);
}
/**
* Returns true if the address is in the canonical form, false otherwise
* @returns {boolean}
*/
isCanonical() {
return this.addressMinusSuffix === this.canonicalForm();
}
/**
* Returns true if the address is a link local address, false otherwise
* @returns {boolean}
*/
isLinkLocal() {
if (this.getBitsBase2(0, 64) === "1111111010000000000000000000000000000000000000000000000000000000") {
return true;
}
return false;
}
/**
* Returns true if the address is a multicast address, false otherwise
* @returns {boolean}
*/
isMulticast() {
const type4 = this.getType();
return type4 === "Multicast" || type4.startsWith("Multicast ");
}
/**
* Returns true if the address was written in v4-in-v6 dotted-quad notation
* (e.g. `::ffff:127.0.0.1`), false otherwise. This is a notation-level flag
* and does not reflect whether the address bits lie in the IPv4-mapped
* (`::ffff:0:0/96`) subnet — for that, see {@link isMapped4}.
* @returns {boolean}
*/
is4() {
return this.v4;
}
/**
* Returns true if the address is an IPv4-mapped IPv6 address in
* `::ffff:0:0/96` ([RFC 4291 §2.5.5.2](https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.5.2)),
* false otherwise. Unlike {@link is4}, this checks the underlying address
* bits rather than the textual notation, so `::ffff:127.0.0.1` and
* `::ffff:7f00:1` both return true.
* @returns {boolean}
*/
isMapped4() {
return this.isInSubnet(IPV4_MAPPED_SUBNET);
}
/**
* Returns true if the address is a Teredo address, false otherwise
* @returns {boolean}
*/
isTeredo() {
return this.isInSubnet(TEREDO_SUBNET);
}
/**
* Returns true if the address is a 6to4 address, false otherwise
* @returns {boolean}
*/
is6to4() {
return this.isInSubnet(SIX_TO_FOUR_SUBNET);
}
/**
* Returns true if the address is a loopback address, false otherwise
* @returns {boolean}
*/
isLoopback() {
return this.getType() === "Loopback";
}
/**
* Returns true if the address is a Unique Local Address in `fc00::/7` ([RFC 4193](https://datatracker.ietf.org/doc/html/rfc4193)). ULAs are the IPv6 equivalent of IPv4 [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private addresses.
* @returns {boolean}
*/
isULA() {
return this.isInSubnet(ULA_SUBNET);
}
/**
* Returns true if the address is the unspecified address `::`.
* @returns {boolean}
*/
isUnspecified() {
return this.getType() === "Unspecified";
}
/**
* Returns true if the address is in the documentation prefix `2001:db8::/32` ([RFC 3849](https://datatracker.ietf.org/doc/html/rfc3849)).
* @returns {boolean}
*/
isDocumentation() {
return this.isInSubnet(DOCUMENTATION_SUBNET);
}
// #endregion
// #region HTML
/**
* Returns the address as an HTTP URL with the host bracketed, e.g.
* `http://[2001:db8::1]/`. If `optionalPort` is provided it is appended,
* e.g. `http://[2001:db8::1]:8080/`.
*/
href(optionalPort) {
if (optionalPort === void 0) {
optionalPort = "";
} else {
optionalPort = `:${optionalPort}`;
}
return `http://[${this.correctForm()}]${optionalPort}/`;
}
/**
* Returns an HTML `<a>` element whose `href` encodes the address in a URL
* hash fragment (default prefix `/#address=`). Useful for linking between
* pages of an address-inspector UI.
* @param options.className - CSS class for the rendered `<a>` element
* @param options.prefix - hash prefix prepended to the address (default `/#address=`)
* @param options.v4 - when true, render the address in v4-in-v6 form
*/
link(options) {
if (!options) {
options = {};
}
if (options.className === void 0) {
options.className = "";
}
if (options.prefix === void 0) {
options.prefix = "/#address=";
}
if (options.v4 === void 0) {
options.v4 = false;
}
let formFunction = this.correctForm;
if (options.v4) {
formFunction = this.to4in6;
}
const form = formFunction.call(this);
const safeHref = helpers.escapeHtml(`${options.prefix}${form}`);
const safeForm = helpers.escapeHtml(form);
if (options.className) {
const safeClass = helpers.escapeHtml(options.className);
return `<a href="${safeHref}" class="${safeClass}">${safeForm}</a>`;
}
return `<a href="${safeHref}">${safeForm}</a>`;
}
/**
* Groups an address
* @returns {String}
*/
group() {
if (this.elidedGroups === 0) {
return helpers.simpleGroup(this.addressMinusSuffix).join(":");
}
assert13(typeof this.elidedGroups === "number");
assert13(typeof this.elisionBegin === "number");
const output = [];
const [left, right] = this.addressMinusSuffix.split("::");
if (left.length) {
output.push(...helpers.simpleGroup(left));
} else {
output.push("");
}
const classes = ["hover-group"];
for (let i4 = this.elisionBegin; i4 < this.elisionBegin + this.elidedGroups; i4++) {
classes.push(`group-${i4}`);
}
output.push(`<span class="${classes.join(" ")}"></span>`);
if (right.length) {
output.push(...helpers.simpleGroup(right, this.elisionEnd));
} else {
output.push("");
}
if (this.is4()) {
assert13(this.address4 instanceof ipv4_1.Address4);
output.pop();
output.push(this.address4.groupForV6());
}
return output.join(":");
}
// #endregion
// #region Regular expressions
/**
* Generate a regular expression string that can be used to find or validate
* all variations of this address
* @param {boolean} substringSearch
* @returns {string}
*/
regularExpressionString(substringSearch = false) {
let output = [];
const address6 = new _Address6(this.correctForm());
if (address6.elidedGroups === 0) {
output.push((0, regular_expressions_1.simpleRegularExpression)(address6.parsedAddress));
} else if (address6.elidedGroups === constants6.GROUPS) {
output.push((0, regular_expressions_1.possibleElisions)(constants6.GROUPS));
} else {
const halves = address6.address.split("::");
if (halves[0].length) {
output.push((0, regular_expressions_1.simpleRegularExpression)(halves[0].split(":")));
}
assert13(typeof address6.elidedGroups === "number");
output.push((0, regular_expressions_1.possibleElisions)(address6.elidedGroups, halves[0].length !== 0, halves[1].length !== 0));
if (halves[1].length) {
output.push((0, regular_expressions_1.simpleRegularExpression)(halves[1].split(":")));
}
output = [output.join(":")];
}
if (!substringSearch) {
output = [
"(?=^|",
regular_expressions_1.ADDRESS_BOUNDARY,
"|[^\\w\\:])(",
...output,
")(?=[^\\w\\:]|",
regular_expressions_1.ADDRESS_BOUNDARY,
"|$)"
];
}
return output.join("");
}
/**
* Generate a regular expression that can be used to find or validate all
* variations of this address.
* @param {boolean} substringSearch
* @returns {RegExp}
*/
regularExpression(substringSearch = false) {
return new RegExp(this.regularExpressionString(substringSearch), "i");
}
};
exports2.Address6 = Address6;
var TYPE_SUBNETS = Object.keys(constants6.TYPES).map((subnet) => [
new Address6(subnet),
constants6.TYPES[subnet]
]);
var TEREDO_SUBNET = new Address6("2001::/32");
var SIX_TO_FOUR_SUBNET = new Address6("2002::/16");
var ULA_SUBNET = new Address6("fc00::/7");
var DOCUMENTATION_SUBNET = new Address6("2001:db8::/32");
var IPV4_MAPPED_SUBNET = new Address6("::ffff:0:0/96");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ip-address.js
var require_ip_address = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ip-address/10.2.0/6c89ef68526817bb67e611cac10b1c6b7082eb4a8a1ad9bf2268351b7c59ab62/node_modules/ip-address/dist/ip-address.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k2 in mod2) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2)) __createBinding2(result2, mod2, k2);
}
__setModuleDefault2(result2, mod2);
return result2;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.v6 = exports2.AddressError = exports2.Address6 = exports2.Address4 = void 0;
var ipv4_1 = require_ipv4();
Object.defineProperty(exports2, "Address4", { enumerable: true, get: function() {
return ipv4_1.Address4;
} });
var ipv6_1 = require_ipv6();
Object.defineProperty(exports2, "Address6", { enumerable: true, get: function() {
return ipv6_1.Address6;
} });
var address_error_1 = require_address_error();
Object.defineProperty(exports2, "AddressError", { enumerable: true, get: function() {
return address_error_1.AddressError;
} });
var helpers = __importStar2(require_helpers());
exports2.v6 = { helpers };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/helpers.js
var require_helpers2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ipToBuffer = exports2.int32ToIpv4 = exports2.ipv4ToInt32 = exports2.validateSocksClientChainOptions = exports2.validateSocksClientOptions = void 0;
var util_1 = require_util3();
var constants_1 = require_constants8();
var stream2 = __require("stream");
var ip_address_1 = require_ip_address();
var net = __require("net");
function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) {
if (!constants_1.SocksCommand[options.command]) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options);
}
if (acceptedCommands.indexOf(options.command) === -1) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options);
}
if (!isValidSocksRemoteHost(options.destination)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
}
if (!isValidSocksProxy(options.proxy)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
}
validateCustomProxyAuth(options.proxy, options);
if (options.timeout && !isValidTimeoutValue(options.timeout)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
}
if (options.existing_socket && !(options.existing_socket instanceof stream2.Duplex)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options);
}
}
exports2.validateSocksClientOptions = validateSocksClientOptions;
function validateSocksClientChainOptions(options) {
if (options.command !== "connect") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options);
}
if (!isValidSocksRemoteHost(options.destination)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
}
if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options);
}
options.proxies.forEach((proxy) => {
if (!isValidSocksProxy(proxy)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
}
validateCustomProxyAuth(proxy, options);
});
if (options.timeout && !isValidTimeoutValue(options.timeout)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
}
}
exports2.validateSocksClientChainOptions = validateSocksClientChainOptions;
function validateCustomProxyAuth(proxy, options) {
if (proxy.custom_auth_method !== void 0) {
if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options);
}
if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
if (proxy.custom_auth_response_size === void 0) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
}
}
function isValidSocksRemoteHost(remoteHost) {
return remoteHost && typeof remoteHost.host === "string" && Buffer.byteLength(remoteHost.host) < 256 && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535;
}
function isValidSocksProxy(proxy) {
return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5);
}
function isValidTimeoutValue(value) {
return typeof value === "number" && value > 0;
}
function ipv4ToInt32(ip) {
const address = new ip_address_1.Address4(ip);
return address.toArray().reduce((acc, part) => (acc << 8) + part, 0) >>> 0;
}
exports2.ipv4ToInt32 = ipv4ToInt32;
function int32ToIpv4(int32) {
const octet1 = int32 >>> 24 & 255;
const octet2 = int32 >>> 16 & 255;
const octet3 = int32 >>> 8 & 255;
const octet4 = int32 & 255;
return [octet1, octet2, octet3, octet4].join(".");
}
exports2.int32ToIpv4 = int32ToIpv4;
function ipToBuffer(ip) {
if (net.isIPv4(ip)) {
const address = new ip_address_1.Address4(ip);
return Buffer.from(address.toArray());
} else if (net.isIPv6(ip)) {
const address = new ip_address_1.Address6(ip);
return Buffer.from(address.canonicalForm().split(":").map((segment) => segment.padStart(4, "0")).join(""), "hex");
} else {
throw new Error("Invalid IP address format");
}
}
exports2.ipToBuffer = ipToBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/receivebuffer.js
var require_receivebuffer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/common/receivebuffer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ReceiveBuffer = void 0;
var ReceiveBuffer = class {
constructor(size = 4096) {
this.buffer = Buffer.allocUnsafe(size);
this.offset = 0;
this.originalSize = size;
}
get length() {
return this.offset;
}
append(data) {
if (!Buffer.isBuffer(data)) {
throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer.");
}
if (this.offset + data.length >= this.buffer.length) {
const tmp = this.buffer;
this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length));
tmp.copy(this.buffer);
}
data.copy(this.buffer, this.offset);
return this.offset += data.length;
}
peek(length) {
if (length > this.offset) {
throw new Error("Attempted to read beyond the bounds of the managed internal data.");
}
return this.buffer.slice(0, length);
}
get(length) {
if (length > this.offset) {
throw new Error("Attempted to read beyond the bounds of the managed internal data.");
}
const value = Buffer.allocUnsafe(length);
this.buffer.slice(0, length).copy(value);
this.buffer.copyWithin(0, length, length + this.offset - length);
this.offset -= length;
return value;
}
};
exports2.ReceiveBuffer = ReceiveBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/client/socksclient.js
var require_socksclient = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/client/socksclient.js"(exports2) {
"use strict";
var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P2, generator) {
function adopt(value) {
return value instanceof P2 ? value : new P2(function(resolve4) {
resolve4(value);
});
}
return new (P2 || (P2 = Promise))(function(resolve4, reject3) {
function fulfilled(value) {
try {
step2(generator.next(value));
} catch (e) {
reject3(e);
}
}
function rejected(value) {
try {
step2(generator["throw"](value));
} catch (e) {
reject3(e);
}
}
function step2(result2) {
result2.done ? resolve4(result2.value) : adopt(result2.value).then(fulfilled, rejected);
}
step2((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SocksClientError = exports2.SocksClient = void 0;
var events_1 = __require("events");
var net = __require("net");
var smart_buffer_1 = require_smartbuffer();
var constants_1 = require_constants8();
var helpers_1 = require_helpers2();
var receivebuffer_1 = require_receivebuffer();
var util_1 = require_util3();
Object.defineProperty(exports2, "SocksClientError", { enumerable: true, get: function() {
return util_1.SocksClientError;
} });
var ip_address_1 = require_ip_address();
var SocksClient2 = class _SocksClient extends events_1.EventEmitter {
constructor(options) {
super();
this.options = Object.assign({}, options);
(0, helpers_1.validateSocksClientOptions)(options);
this.setState(constants_1.SocksClientState.Created);
}
/**
* Creates a new SOCKS connection.
*
* Note: Supports callbacks and promises. Only supports the connect command.
* @param options { SocksClientOptions } Options.
* @param callback { Function } An optional callback function.
* @returns { Promise }
*/
static createConnection(options, callback2) {
return new Promise((resolve4, reject3) => {
try {
(0, helpers_1.validateSocksClientOptions)(options, ["connect"]);
} catch (err2) {
if (typeof callback2 === "function") {
callback2(err2);
return resolve4(err2);
} else {
return reject3(err2);
}
}
const client = new _SocksClient(options);
client.connect(options.existing_socket);
client.once("established", (info) => {
client.removeAllListeners();
if (typeof callback2 === "function") {
callback2(null, info);
resolve4(info);
} else {
resolve4(info);
}
});
client.once("error", (err2) => {
client.removeAllListeners();
if (typeof callback2 === "function") {
callback2(err2);
resolve4(err2);
} else {
reject3(err2);
}
});
});
}
/**
* Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies.
*
* Note: Supports callbacks and promises. Only supports the connect method.
* Note: Implemented via createConnection() factory function.
* @param options { SocksClientChainOptions } Options
* @param callback { Function } An optional callback function.
* @returns { Promise }
*/
static createConnectionChain(options, callback2) {
return new Promise((resolve4, reject3) => __awaiter2(this, void 0, void 0, function* () {
try {
(0, helpers_1.validateSocksClientChainOptions)(options);
} catch (err2) {
if (typeof callback2 === "function") {
callback2(err2);
return resolve4(err2);
} else {
return reject3(err2);
}
}
if (options.randomizeChain) {
(0, util_1.shuffleArray)(options.proxies);
}
try {
let sock;
for (let i4 = 0; i4 < options.proxies.length; i4++) {
const nextProxy = options.proxies[i4];
const nextDestination = i4 === options.proxies.length - 1 ? options.destination : {
host: options.proxies[i4 + 1].host || options.proxies[i4 + 1].ipaddress,
port: options.proxies[i4 + 1].port
};
const result2 = yield _SocksClient.createConnection({
command: "connect",
proxy: nextProxy,
destination: nextDestination,
existing_socket: sock
});
sock = sock || result2.socket;
}
if (typeof callback2 === "function") {
callback2(null, { socket: sock });
resolve4({ socket: sock });
} else {
resolve4({ socket: sock });
}
} catch (err2) {
if (typeof callback2 === "function") {
callback2(err2);
resolve4(err2);
} else {
reject3(err2);
}
}
}));
}
/**
* Creates a SOCKS UDP Frame.
* @param options
*/
static createUDPFrame(options) {
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt16BE(0);
buff.writeUInt8(options.frameNumber || 0);
if (net.isIPv4(options.remoteHost.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv4);
buff.writeUInt32BE((0, helpers_1.ipv4ToInt32)(options.remoteHost.host));
} else if (net.isIPv6(options.remoteHost.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv6);
buff.writeBuffer((0, helpers_1.ipToBuffer)(options.remoteHost.host));
} else {
buff.writeUInt8(constants_1.Socks5HostType.Hostname);
buff.writeUInt8(Buffer.byteLength(options.remoteHost.host));
buff.writeString(options.remoteHost.host);
}
buff.writeUInt16BE(options.remoteHost.port);
buff.writeBuffer(options.data);
return buff.toBuffer();
}
/**
* Parses a SOCKS UDP frame.
* @param data
*/
static parseUDPFrame(data) {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const frameNumber = buff.readUInt8();
const hostType = buff.readUInt8();
let remoteHost;
if (hostType === constants_1.Socks5HostType.IPv4) {
remoteHost = (0, helpers_1.int32ToIpv4)(buff.readUInt32BE());
} else if (hostType === constants_1.Socks5HostType.IPv6) {
remoteHost = ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm();
} else {
remoteHost = buff.readString(buff.readUInt8());
}
const remotePort = buff.readUInt16BE();
return {
frameNumber,
remoteHost: {
host: remoteHost,
port: remotePort
},
data: buff.readBuffer()
};
}
/**
* Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state.
*/
setState(newState) {
if (this.state !== constants_1.SocksClientState.Error) {
this.state = newState;
}
}
/**
* Starts the connection establishment to the proxy and destination.
* @param existingSocket Connected socket to use instead of creating a new one (internal use).
*/
connect(existingSocket) {
this.onDataReceived = (data) => this.onDataReceivedHandler(data);
this.onClose = () => this.onCloseHandler();
this.onError = (err2) => this.onErrorHandler(err2);
this.onConnect = () => this.onConnectHandler();
const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT);
if (timer.unref && typeof timer.unref === "function") {
timer.unref();
}
if (existingSocket) {
this.socket = existingSocket;
} else {
this.socket = new net.Socket();
}
this.socket.once("close", this.onClose);
this.socket.once("error", this.onError);
this.socket.once("connect", this.onConnect);
this.socket.on("data", this.onDataReceived);
this.setState(constants_1.SocksClientState.Connecting);
this.receiveBuffer = new receivebuffer_1.ReceiveBuffer();
if (existingSocket) {
this.socket.emit("connect");
} else {
this.socket.connect(this.getSocketOptions());
if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) {
this.socket.setNoDelay(!!this.options.set_tcp_nodelay);
}
}
this.prependOnceListener("established", (info) => {
setImmediate(() => {
if (this.receiveBuffer.length > 0) {
const excessData = this.receiveBuffer.get(this.receiveBuffer.length);
info.socket.emit("data", excessData);
}
info.socket.resume();
});
});
}
// Socket options (defaults host/port to options.proxy.host/options.proxy.port)
getSocketOptions() {
return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port });
}
/**
* Handles internal Socks timeout callback.
* Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed.
*/
onEstablishedTimeout() {
if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) {
this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut);
}
}
/**
* Handles Socket connect event.
*/
onConnectHandler() {
this.setState(constants_1.SocksClientState.Connected);
if (this.options.proxy.type === 4) {
this.sendSocks4InitialHandshake();
} else {
this.sendSocks5InitialHandshake();
}
this.setState(constants_1.SocksClientState.SentInitialHandshake);
}
/**
* Handles Socket data event.
* @param data
*/
onDataReceivedHandler(data) {
this.receiveBuffer.append(data);
this.processData();
}
/**
* Handles processing of the data we have received.
*/
processData() {
while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) {
if (this.state === constants_1.SocksClientState.SentInitialHandshake) {
if (this.options.proxy.type === 4) {
this.handleSocks4FinalHandshakeResponse();
} else {
this.handleInitialSocks5HandshakeResponse();
}
} else if (this.state === constants_1.SocksClientState.SentAuthentication) {
this.handleInitialSocks5AuthenticationHandshakeResponse();
} else if (this.state === constants_1.SocksClientState.SentFinalHandshake) {
this.handleSocks5FinalHandshakeResponse();
} else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) {
if (this.options.proxy.type === 4) {
this.handleSocks4IncomingConnectionResponse();
} else {
this.handleSocks5IncomingConnectionResponse();
}
} else {
this.closeSocket(constants_1.ERRORS.InternalError);
break;
}
}
}
/**
* Handles Socket close event.
* @param had_error
*/
onCloseHandler() {
this.closeSocket(constants_1.ERRORS.SocketClosed);
}
/**
* Handles Socket error event.
* @param err
*/
onErrorHandler(err2) {
this.closeSocket(err2.message);
}
/**
* Removes internal event listeners on the underlying Socket.
*/
removeInternalSocketHandlers() {
this.socket.pause();
this.socket.removeListener("data", this.onDataReceived);
this.socket.removeListener("close", this.onClose);
this.socket.removeListener("error", this.onError);
this.socket.removeListener("connect", this.onConnect);
}
/**
* Closes and destroys the underlying Socket. Emits an error event.
* @param err { String } An error string to include in error event.
*/
closeSocket(err2) {
if (this.state !== constants_1.SocksClientState.Error) {
this.setState(constants_1.SocksClientState.Error);
this.socket.destroy();
this.removeInternalSocketHandlers();
this.emit("error", new util_1.SocksClientError(err2, this.options));
}
}
/**
* Sends initial Socks v4 handshake request.
*/
sendSocks4InitialHandshake() {
const userId = this.options.proxy.userId || "";
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(4);
buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
buff.writeUInt16BE(this.options.destination.port);
if (net.isIPv4(this.options.destination.host)) {
buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
buff.writeStringNT(userId);
} else {
buff.writeUInt8(0);
buff.writeUInt8(0);
buff.writeUInt8(0);
buff.writeUInt8(1);
buff.writeStringNT(userId);
buff.writeStringNT(this.options.destination.host);
}
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response;
this.socket.write(buff.toBuffer());
}
/**
* Handles Socks v4 handshake response.
* @param data
*/
handleSocks4FinalHandshakeResponse() {
const data = this.receiveBuffer.get(8);
if (data[1] !== constants_1.Socks4Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`);
} else {
if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const remoteHost = {
port: buff.readUInt16BE(),
host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE())
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
this.emit("bound", { remoteHost, socket: this.socket });
} else {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { socket: this.socket });
}
}
}
/**
* Handles Socks v4 incoming connection request (BIND)
* @param data
*/
handleSocks4IncomingConnectionResponse() {
const data = this.receiveBuffer.get(8);
if (data[1] !== constants_1.Socks4Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`);
} else {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const remoteHost = {
port: buff.readUInt16BE(),
host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE())
};
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
}
}
/**
* Sends initial Socks v5 handshake request.
*/
sendSocks5InitialHandshake() {
const buff = new smart_buffer_1.SmartBuffer();
const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth];
if (this.options.proxy.userId || this.options.proxy.password) {
supportedAuthMethods.push(constants_1.Socks5Auth.UserPass);
}
if (this.options.proxy.custom_auth_method !== void 0) {
supportedAuthMethods.push(this.options.proxy.custom_auth_method);
}
buff.writeUInt8(5);
buff.writeUInt8(supportedAuthMethods.length);
for (const authMethod of supportedAuthMethods) {
buff.writeUInt8(authMethod);
}
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentInitialHandshake);
}
/**
* Handles initial Socks v5 handshake response.
* @param data
*/
handleInitialSocks5HandshakeResponse() {
const data = this.receiveBuffer.get(2);
if (data[0] !== 5) {
this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion);
} else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) {
this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType);
} else {
if (data[1] === constants_1.Socks5Auth.NoAuth) {
this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth;
this.sendSocks5CommandRequest();
} else if (data[1] === constants_1.Socks5Auth.UserPass) {
this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass;
this.sendSocks5UserPassAuthentication();
} else if (data[1] === this.options.proxy.custom_auth_method) {
this.socks5ChosenAuthType = this.options.proxy.custom_auth_method;
this.sendSocks5CustomAuthentication();
} else {
this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType);
}
}
}
/**
* Sends Socks v5 user & password auth handshake.
*
* Note: No auth and user/pass are currently supported.
*/
sendSocks5UserPassAuthentication() {
const userId = this.options.proxy.userId || "";
const password = this.options.proxy.password || "";
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(1);
buff.writeUInt8(Buffer.byteLength(userId));
buff.writeString(userId);
buff.writeUInt8(Buffer.byteLength(password));
buff.writeString(password);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentAuthentication);
}
sendSocks5CustomAuthentication() {
return __awaiter2(this, void 0, void 0, function* () {
this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size;
this.socket.write(yield this.options.proxy.custom_auth_request_handler());
this.setState(constants_1.SocksClientState.SentAuthentication);
});
}
handleSocks5CustomAuthHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return yield this.options.proxy.custom_auth_response_handler(data);
});
}
handleSocks5AuthenticationNoAuthHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return data[1] === 0;
});
}
handleSocks5AuthenticationUserPassHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return data[1] === 0;
});
}
/**
* Handles Socks v5 auth handshake response.
* @param data
*/
handleInitialSocks5AuthenticationHandshakeResponse() {
return __awaiter2(this, void 0, void 0, function* () {
this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse);
let authResult = false;
if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) {
authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2));
} else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) {
authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2));
} else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) {
authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size));
}
if (!authResult) {
this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed);
} else {
this.sendSocks5CommandRequest();
}
});
}
/**
* Sends Socks v5 final handshake request.
*/
sendSocks5CommandRequest() {
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(5);
buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
buff.writeUInt8(0);
if (net.isIPv4(this.options.destination.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv4);
buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
} else if (net.isIPv6(this.options.destination.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv6);
buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
} else {
buff.writeUInt8(constants_1.Socks5HostType.Hostname);
buff.writeUInt8(this.options.destination.host.length);
buff.writeString(this.options.destination.host);
}
buff.writeUInt16BE(this.options.destination.port);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentFinalHandshake);
}
/**
* Handles Socks v5 final handshake response.
* @param data
*/
handleSocks5FinalHandshakeResponse() {
const header = this.receiveBuffer.peek(5);
if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`);
} else {
const addressType = header[3];
let remoteHost;
let buff;
if (addressType === constants_1.Socks5HostType.IPv4) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()),
port: buff.readUInt16BE()
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
} else if (addressType === constants_1.Socks5HostType.Hostname) {
const hostLength = header[4];
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
remoteHost = {
host: buff.readString(hostLength),
port: buff.readUInt16BE()
};
} else if (addressType === constants_1.Socks5HostType.IPv6) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(),
port: buff.readUInt16BE()
};
}
this.setState(constants_1.SocksClientState.ReceivedFinalResponse);
if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
} else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
this.emit("bound", { remoteHost, socket: this.socket });
} else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", {
remoteHost,
socket: this.socket
});
}
}
}
/**
* Handles Socks v5 incoming connection request (BIND).
*/
handleSocks5IncomingConnectionResponse() {
const header = this.receiveBuffer.peek(5);
if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`);
} else {
const addressType = header[3];
let remoteHost;
let buff;
if (addressType === constants_1.Socks5HostType.IPv4) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()),
port: buff.readUInt16BE()
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
} else if (addressType === constants_1.Socks5HostType.Hostname) {
const hostLength = header[4];
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
remoteHost = {
host: buff.readString(hostLength),
port: buff.readUInt16BE()
};
} else if (addressType === constants_1.Socks5HostType.IPv6) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(),
port: buff.readUInt16BE()
};
}
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
}
}
get socksClientOptions() {
return Object.assign({}, this.options);
}
};
exports2.SocksClient = SocksClient2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/index.js
var require_build = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/socks/2.8.9/d15bbe0a5bd995f39e54a104f4d14c0285b4fd00b7405252b2ccee9f2065a90c/node_modules/socks/build/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m, k2);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k2];
} };
}
Object.defineProperty(o2, k22, desc);
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar2(require_socksclient(), exports2);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/symbols.js
var require_symbols = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kClose: /* @__PURE__ */ Symbol("close"),
kDestroy: /* @__PURE__ */ Symbol("destroy"),
kDispatch: /* @__PURE__ */ Symbol("dispatch"),
kUrl: /* @__PURE__ */ Symbol("url"),
kWriting: /* @__PURE__ */ Symbol("writing"),
kResuming: /* @__PURE__ */ Symbol("resuming"),
kQueue: /* @__PURE__ */ Symbol("queue"),
kConnect: /* @__PURE__ */ Symbol("connect"),
kConnecting: /* @__PURE__ */ Symbol("connecting"),
kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
kServerName: /* @__PURE__ */ Symbol("server name"),
kLocalAddress: /* @__PURE__ */ Symbol("local address"),
kHost: /* @__PURE__ */ Symbol("host"),
kNoRef: /* @__PURE__ */ Symbol("no ref"),
kBodyUsed: /* @__PURE__ */ Symbol("used"),
kBody: /* @__PURE__ */ Symbol("abstracted request body"),
kRunning: /* @__PURE__ */ Symbol("running"),
kBlocking: /* @__PURE__ */ Symbol("blocking"),
kPending: /* @__PURE__ */ Symbol("pending"),
kSize: /* @__PURE__ */ Symbol("size"),
kBusy: /* @__PURE__ */ Symbol("busy"),
kQueued: /* @__PURE__ */ Symbol("queued"),
kFree: /* @__PURE__ */ Symbol("free"),
kConnected: /* @__PURE__ */ Symbol("connected"),
kClosed: /* @__PURE__ */ Symbol("closed"),
kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
kReset: /* @__PURE__ */ Symbol("reset"),
kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
kResume: /* @__PURE__ */ Symbol("resume"),
kOnError: /* @__PURE__ */ Symbol("on error"),
kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
kRunningIdx: /* @__PURE__ */ Symbol("running index"),
kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
kError: /* @__PURE__ */ Symbol("error"),
kClients: /* @__PURE__ */ Symbol("clients"),
kClient: /* @__PURE__ */ Symbol("client"),
kParser: /* @__PURE__ */ Symbol("parser"),
kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
kPipelining: /* @__PURE__ */ Symbol("pipelining"),
kSocket: /* @__PURE__ */ Symbol("socket"),
kHostHeader: /* @__PURE__ */ Symbol("host header"),
kConnector: /* @__PURE__ */ Symbol("connector"),
kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
kCounter: /* @__PURE__ */ Symbol("socket request counter"),
kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
kConstruct: /* @__PURE__ */ Symbol("constructable"),
kListeners: /* @__PURE__ */ Symbol("listeners"),
kHTTPContext: /* @__PURE__ */ Symbol("http context"),
kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
kHTTP2InitialWindowSize: /* @__PURE__ */ Symbol("http2 initial window size"),
kHTTP2ConnectionWindowSize: /* @__PURE__ */ Symbol("http2 connection window size"),
kEnableConnectProtocol: /* @__PURE__ */ Symbol("http2session connect protocol"),
kRemoteSettings: /* @__PURE__ */ Symbol("http2session remote settings"),
kHTTP2Stream: /* @__PURE__ */ Symbol("http2session client stream"),
kPingInterval: /* @__PURE__ */ Symbol("ping interval"),
kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent"),
kSocks5ProxyAgent: /* @__PURE__ */ Symbol("socks5 proxy agent")
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/timers.js
var require_timers = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/timers.js"(exports2, module2) {
"use strict";
var fastNow = 0;
var RESOLUTION_MS = 1e3;
var TICK_MS = (RESOLUTION_MS >> 1) - 1;
var fastNowTimeout;
var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
var fastTimers = [];
var NOT_IN_LIST = -2;
var TO_BE_CLEARED = -1;
var PENDING = 0;
var ACTIVE = 1;
function onTick() {
fastNow += TICK_MS;
let idx = 0;
let len = fastTimers.length;
while (idx < len) {
const timer = fastTimers[idx];
if (timer._state === PENDING) {
timer._idleStart = fastNow - TICK_MS;
timer._state = ACTIVE;
} else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
timer._state = TO_BE_CLEARED;
timer._idleStart = -1;
timer._onTimeout(timer._timerArg);
}
if (timer._state === TO_BE_CLEARED) {
timer._state = NOT_IN_LIST;
if (--len !== 0) {
fastTimers[idx] = fastTimers[len];
}
} else {
++idx;
}
}
fastTimers.length = len;
if (fastTimers.length !== 0) {
refreshTimeout();
}
}
function refreshTimeout() {
if (fastNowTimeout?.refresh) {
fastNowTimeout.refresh();
} else {
clearTimeout(fastNowTimeout);
fastNowTimeout = setTimeout(onTick, TICK_MS);
fastNowTimeout?.unref();
}
}
var FastTimer = class {
[kFastTimer] = true;
/**
* The state of the timer, which can be one of the following:
* - NOT_IN_LIST (-2)
* - TO_BE_CLEARED (-1)
* - PENDING (0)
* - ACTIVE (1)
*
* @type {-2|-1|0|1}
* @private
*/
_state = NOT_IN_LIST;
/**
* The number of milliseconds to wait before calling the callback.
*
* @type {number}
* @private
*/
_idleTimeout = -1;
/**
* The time in milliseconds when the timer was started. This value is used to
* calculate when the timer should expire.
*
* @type {number}
* @default -1
* @private
*/
_idleStart = -1;
/**
* The function to be executed when the timer expires.
* @type {Function}
* @private
*/
_onTimeout;
/**
* The argument to be passed to the callback when the timer expires.
*
* @type {*}
* @private
*/
_timerArg;
/**
* @constructor
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should wait
* before the specified function or code is executed.
* @param {*} arg
*/
constructor(callback2, delay, arg) {
this._onTimeout = callback2;
this._idleTimeout = delay;
this._timerArg = arg;
this.refresh();
}
/**
* Sets the timer's start time to the current time, and reschedules the timer
* to call its callback at the previously specified duration adjusted to the
* current time.
* Using this on a timer that has already called its callback will reactivate
* the timer.
*
* @returns {void}
*/
refresh() {
if (this._state === NOT_IN_LIST) {
fastTimers.push(this);
}
if (!fastNowTimeout || fastTimers.length === 1) {
refreshTimeout();
}
this._state = PENDING;
}
/**
* The `clear` method cancels the timer, preventing it from executing.
*
* @returns {void}
* @private
*/
clear() {
this._state = TO_BE_CLEARED;
this._idleStart = -1;
}
};
module2.exports = {
/**
* The setTimeout() method sets a timer which executes a function once the
* timer expires.
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should
* wait before the specified function or code is executed.
* @param {*} [arg] An optional argument to be passed to the callback function
* when the timer expires.
* @returns {NodeJS.Timeout|FastTimer}
*/
setTimeout(callback2, delay, arg) {
return delay <= RESOLUTION_MS ? setTimeout(callback2, delay, arg) : new FastTimer(callback2, delay, arg);
},
/**
* The clearTimeout method cancels an instantiated Timer previously created
* by calling setTimeout.
*
* @param {NodeJS.Timeout|FastTimer} timeout
*/
clearTimeout(timeout) {
if (timeout[kFastTimer]) {
timeout.clear();
} else {
clearTimeout(timeout);
}
},
/**
* The setFastTimeout() method sets a fastTimer which executes a function once
* the timer expires.
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should
* wait before the specified function or code is executed.
* @param {*} [arg] An optional argument to be passed to the callback function
* when the timer expires.
* @returns {FastTimer}
*/
setFastTimeout(callback2, delay, arg) {
return new FastTimer(callback2, delay, arg);
},
/**
* The clearTimeout method cancels an instantiated FastTimer previously
* created by calling setFastTimeout.
*
* @param {FastTimer} timeout
*/
clearFastTimeout(timeout) {
timeout.clear();
},
/**
* The now method returns the value of the internal fast timer clock.
*
* @returns {number}
*/
now() {
return fastNow;
},
/**
* Trigger the onTick function to process the fastTimers array.
* Exported for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
* @param {number} [delay=0] The delay in milliseconds to add to the now value.
*/
tick(delay = 0) {
fastNow += delay - RESOLUTION_MS + 1;
onTick();
onTick();
},
/**
* Reset FastTimers.
* Exported for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
*/
reset() {
fastNow = 0;
fastTimers.length = 0;
clearTimeout(fastNowTimeout);
fastNowTimeout = null;
},
/**
* Exporting for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
*/
kFastTimer
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/errors.js
var require_errors4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/errors.js"(exports2, module2) {
"use strict";
var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
var UndiciError = class extends Error {
constructor(message, options) {
super(message, options);
this.name = "UndiciError";
this.code = "UND_ERR";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kUndiciError] === true;
}
get [kUndiciError]() {
return true;
}
};
var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
var ConnectTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ConnectTimeoutError";
this.message = message || "Connect Timeout Error";
this.code = "UND_ERR_CONNECT_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kConnectTimeoutError] === true;
}
get [kConnectTimeoutError]() {
return true;
}
};
var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
var HeadersTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersTimeoutError";
this.message = message || "Headers Timeout Error";
this.code = "UND_ERR_HEADERS_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHeadersTimeoutError] === true;
}
get [kHeadersTimeoutError]() {
return true;
}
};
var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
var HeadersOverflowError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersOverflowError";
this.message = message || "Headers Overflow Error";
this.code = "UND_ERR_HEADERS_OVERFLOW";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHeadersOverflowError] === true;
}
get [kHeadersOverflowError]() {
return true;
}
};
var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
var BodyTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "BodyTimeoutError";
this.message = message || "Body Timeout Error";
this.code = "UND_ERR_BODY_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kBodyTimeoutError] === true;
}
get [kBodyTimeoutError]() {
return true;
}
};
var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
var InvalidArgumentError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidArgumentError";
this.message = message || "Invalid Argument Error";
this.code = "UND_ERR_INVALID_ARG";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInvalidArgumentError] === true;
}
get [kInvalidArgumentError]() {
return true;
}
};
var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
var InvalidReturnValueError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidReturnValueError";
this.message = message || "Invalid Return Value Error";
this.code = "UND_ERR_INVALID_RETURN_VALUE";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInvalidReturnValueError] === true;
}
get [kInvalidReturnValueError]() {
return true;
}
};
var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
var AbortError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "The operation was aborted";
this.code = "UND_ERR_ABORT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kAbortError] === true;
}
get [kAbortError]() {
return true;
}
};
var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
var RequestAbortedError = class extends AbortError {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "Request aborted";
this.code = "UND_ERR_ABORTED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestAbortedError] === true;
}
get [kRequestAbortedError]() {
return true;
}
};
var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
var InformationalError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InformationalError";
this.message = message || "Request information";
this.code = "UND_ERR_INFO";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInformationalError] === true;
}
get [kInformationalError]() {
return true;
}
};
var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
var RequestContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "RequestContentLengthMismatchError";
this.message = message || "Request body length does not match content-length header";
this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestContentLengthMismatchError] === true;
}
get [kRequestContentLengthMismatchError]() {
return true;
}
};
var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
var ResponseContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseContentLengthMismatchError";
this.message = message || "Response body length does not match content-length header";
this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseContentLengthMismatchError] === true;
}
get [kResponseContentLengthMismatchError]() {
return true;
}
};
var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
var ClientDestroyedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientDestroyedError";
this.message = message || "The client is destroyed";
this.code = "UND_ERR_DESTROYED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kClientDestroyedError] === true;
}
get [kClientDestroyedError]() {
return true;
}
};
var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
var ClientClosedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientClosedError";
this.message = message || "The client is closed";
this.code = "UND_ERR_CLOSED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kClientClosedError] === true;
}
get [kClientClosedError]() {
return true;
}
};
var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
var SocketError = class extends UndiciError {
constructor(message, socket) {
super(message);
this.name = "SocketError";
this.message = message || "Socket error";
this.code = "UND_ERR_SOCKET";
this.socket = socket;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kSocketError] === true;
}
get [kSocketError]() {
return true;
}
};
var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
var NotSupportedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "NotSupportedError";
this.message = message || "Not supported error";
this.code = "UND_ERR_NOT_SUPPORTED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kNotSupportedError] === true;
}
get [kNotSupportedError]() {
return true;
}
};
var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
var BalancedPoolMissingUpstreamError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MissingUpstreamError";
this.message = message || "No upstream has been added to the BalancedPool";
this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kBalancedPoolMissingUpstreamError] === true;
}
get [kBalancedPoolMissingUpstreamError]() {
return true;
}
};
var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
var HTTPParserError = class extends Error {
constructor(message, code, data) {
super(message);
this.name = "HTTPParserError";
this.code = code ? `HPE_${code}` : void 0;
this.data = data ? data.toString() : void 0;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHTTPParserError] === true;
}
get [kHTTPParserError]() {
return true;
}
};
var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
var ResponseExceededMaxSizeError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseExceededMaxSizeError";
this.message = message || "Response content exceeded max size";
this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseExceededMaxSizeError] === true;
}
get [kResponseExceededMaxSizeError]() {
return true;
}
};
var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
var RequestRetryError = class extends UndiciError {
constructor(message, code, { headers, data }) {
super(message);
this.name = "RequestRetryError";
this.message = message || "Request retry error";
this.code = "UND_ERR_REQ_RETRY";
this.statusCode = code;
this.data = data;
this.headers = headers;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestRetryError] === true;
}
get [kRequestRetryError]() {
return true;
}
};
var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
var ResponseError2 = class extends UndiciError {
constructor(message, code, { headers, body }) {
super(message);
this.name = "ResponseError";
this.message = message || "Response error";
this.code = "UND_ERR_RESPONSE";
this.statusCode = code;
this.body = body;
this.headers = headers;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseError] === true;
}
get [kResponseError]() {
return true;
}
};
var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
var SecureProxyConnectionError = class extends UndiciError {
constructor(cause, message, options = {}) {
super(message, { cause, ...options });
this.name = "SecureProxyConnectionError";
this.message = message || "Secure Proxy Connection failed";
this.code = "UND_ERR_PRX_TLS";
this.cause = cause;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kSecureProxyConnectionError] === true;
}
get [kSecureProxyConnectionError]() {
return true;
}
};
var kMaxOriginsReachedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");
var MaxOriginsReachedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MaxOriginsReachedError";
this.message = message || "Maximum allowed origins reached";
this.code = "UND_ERR_MAX_ORIGINS_REACHED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMaxOriginsReachedError] === true;
}
get [kMaxOriginsReachedError]() {
return true;
}
};
var Socks5ProxyError = class extends UndiciError {
constructor(message, code) {
super(message);
this.name = "Socks5ProxyError";
this.message = message || "SOCKS5 proxy error";
this.code = code || "UND_ERR_SOCKS5";
}
};
var kMessageSizeExceededError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
var MessageSizeExceededError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MessageSizeExceededError";
this.message = message || "Max decompressed message size exceeded";
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMessageSizeExceededError] === true;
}
get [kMessageSizeExceededError]() {
return true;
}
};
module2.exports = {
AbortError,
HTTPParserError,
UndiciError,
HeadersTimeoutError,
HeadersOverflowError,
BodyTimeoutError,
RequestContentLengthMismatchError,
ConnectTimeoutError,
InvalidArgumentError,
InvalidReturnValueError,
RequestAbortedError,
ClientDestroyedError,
ClientClosedError,
InformationalError,
SocketError,
NotSupportedError,
ResponseContentLengthMismatchError,
BalancedPoolMissingUpstreamError,
ResponseExceededMaxSizeError,
RequestRetryError,
ResponseError: ResponseError2,
SecureProxyConnectionError,
MaxOriginsReachedError,
Socks5ProxyError,
MessageSizeExceededError
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/constants.js
var require_constants11 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/constants.js"(exports2, module2) {
"use strict";
var wellknownHeaderNames = (
/** @type {const} */
[
"Accept",
"Accept-Encoding",
"Accept-Language",
"Accept-Ranges",
"Access-Control-Allow-Credentials",
"Access-Control-Allow-Headers",
"Access-Control-Allow-Methods",
"Access-Control-Allow-Origin",
"Access-Control-Expose-Headers",
"Access-Control-Max-Age",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Age",
"Allow",
"Alt-Svc",
"Alt-Used",
"Authorization",
"Cache-Control",
"Clear-Site-Data",
"Connection",
"Content-Disposition",
"Content-Encoding",
"Content-Language",
"Content-Length",
"Content-Location",
"Content-Range",
"Content-Security-Policy",
"Content-Security-Policy-Report-Only",
"Content-Type",
"Cookie",
"Cross-Origin-Embedder-Policy",
"Cross-Origin-Opener-Policy",
"Cross-Origin-Resource-Policy",
"Date",
"Device-Memory",
"Downlink",
"ECT",
"ETag",
"Expect",
"Expect-CT",
"Expires",
"Forwarded",
"From",
"Host",
"If-Match",
"If-Modified-Since",
"If-None-Match",
"If-Range",
"If-Unmodified-Since",
"Keep-Alive",
"Last-Modified",
"Link",
"Location",
"Max-Forwards",
"Origin",
"Permissions-Policy",
"Pragma",
"Proxy-Authenticate",
"Proxy-Authorization",
"RTT",
"Range",
"Referer",
"Referrer-Policy",
"Refresh",
"Retry-After",
"Sec-WebSocket-Accept",
"Sec-WebSocket-Extensions",
"Sec-WebSocket-Key",
"Sec-WebSocket-Protocol",
"Sec-WebSocket-Version",
"Server",
"Server-Timing",
"Service-Worker-Allowed",
"Service-Worker-Navigation-Preload",
"Set-Cookie",
"SourceMap",
"Strict-Transport-Security",
"Supports-Loading-Mode",
"TE",
"Timing-Allow-Origin",
"Trailer",
"Transfer-Encoding",
"Upgrade",
"Upgrade-Insecure-Requests",
"User-Agent",
"Vary",
"Via",
"WWW-Authenticate",
"X-Content-Type-Options",
"X-DNS-Prefetch-Control",
"X-Frame-Options",
"X-Permitted-Cross-Domain-Policies",
"X-Powered-By",
"X-Requested-With",
"X-XSS-Protection"
]
);
var headerNameLowerCasedRecord = {};
Object.setPrototypeOf(headerNameLowerCasedRecord, null);
var wellknownHeaderNameBuffers = {};
Object.setPrototypeOf(wellknownHeaderNameBuffers, null);
function getHeaderNameAsBuffer(header) {
let buffer3 = wellknownHeaderNameBuffers[header];
if (buffer3 === void 0) {
buffer3 = Buffer.from(header);
}
return buffer3;
}
for (let i4 = 0; i4 < wellknownHeaderNames.length; ++i4) {
const key = wellknownHeaderNames[i4];
const lowerCasedKey = key.toLowerCase();
headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
}
module2.exports = {
wellknownHeaderNames,
headerNameLowerCasedRecord,
getHeaderNameAsBuffer
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/tree.js
var require_tree = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/tree.js"(exports2, module2) {
"use strict";
var {
wellknownHeaderNames,
headerNameLowerCasedRecord
} = require_constants11();
var TstNode = class _TstNode {
/** @type {any} */
value = null;
/** @type {null | TstNode} */
left = null;
/** @type {null | TstNode} */
middle = null;
/** @type {null | TstNode} */
right = null;
/** @type {number} */
code;
/**
* @param {string} key
* @param {any} value
* @param {number} index
*/
constructor(key, value, index2) {
if (index2 === void 0 || index2 >= key.length) {
throw new TypeError("Unreachable");
}
const code = this.code = key.charCodeAt(index2);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (key.length !== ++index2) {
this.middle = new _TstNode(key, value, index2);
} else {
this.value = value;
}
}
/**
* @param {string} key
* @param {any} value
* @returns {void}
*/
add(key, value) {
const length = key.length;
if (length === 0) {
throw new TypeError("Unreachable");
}
let index2 = 0;
let node = this;
while (true) {
const code = key.charCodeAt(index2);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (node.code === code) {
if (length === ++index2) {
node.value = value;
break;
} else if (node.middle !== null) {
node = node.middle;
} else {
node.middle = new _TstNode(key, value, index2);
break;
}
} else if (node.code < code) {
if (node.left !== null) {
node = node.left;
} else {
node.left = new _TstNode(key, value, index2);
break;
}
} else if (node.right !== null) {
node = node.right;
} else {
node.right = new _TstNode(key, value, index2);
break;
}
}
}
/**
* @param {Uint8Array} key
* @returns {TstNode | null}
*/
search(key) {
const keylength = key.length;
let index2 = 0;
let node = this;
while (node !== null && index2 < keylength) {
let code = key[index2];
if (code <= 90 && code >= 65) {
code |= 32;
}
while (node !== null) {
if (code === node.code) {
if (keylength === ++index2) {
return node;
}
node = node.middle;
break;
}
node = node.code < code ? node.left : node.right;
}
}
return null;
}
};
var TernarySearchTree = class {
/** @type {TstNode | null} */
node = null;
/**
* @param {string} key
* @param {any} value
* @returns {void}
* */
insert(key, value) {
if (this.node === null) {
this.node = new TstNode(key, value, 0);
} else {
this.node.add(key, value);
}
}
/**
* @param {Uint8Array} key
* @returns {any}
*/
lookup(key) {
return this.node?.search(key)?.value ?? null;
}
};
var tree = new TernarySearchTree();
for (let i4 = 0; i4 < wellknownHeaderNames.length; ++i4) {
const key = headerNameLowerCasedRecord[wellknownHeaderNames[i4]];
tree.insert(key, key);
}
module2.exports = {
TernarySearchTree,
tree
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/util.js
var require_util4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/util.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
var { IncomingMessage } = __require("node:http");
var stream2 = __require("node:stream");
var net = __require("node:net");
var { stringify: stringify2 } = __require("node:querystring");
var { EventEmitter: EE } = __require("node:events");
var timers = require_timers();
var { InvalidArgumentError, ConnectTimeoutError } = require_errors4();
var { headerNameLowerCasedRecord } = require_constants11();
var { tree } = require_tree();
var [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
var BodyAsyncIterable = class {
constructor(body) {
this[kBody] = body;
this[kBodyUsed] = false;
}
async *[Symbol.asyncIterator]() {
assert13(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
};
function noop5() {
}
function wrapRequestBody(body) {
if (isStream4(body)) {
if (bodyLength(body) === 0) {
body.on("data", function() {
assert13(false);
});
}
if (typeof body.readableDidRead !== "boolean") {
body[kBodyUsed] = false;
EE.prototype.on.call(body, "data", function() {
this[kBodyUsed] = true;
});
}
return body;
} else if (body && typeof body.pipeTo === "function") {
return new BodyAsyncIterable(body);
} else if (body && isFormDataLike(body)) {
return body;
} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
return new BodyAsyncIterable(body);
} else {
return body;
}
}
function isStream4(obj) {
return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
}
function isBlobLike(object) {
if (object === null) {
return false;
} else if (object instanceof Blob) {
return true;
} else if (typeof object !== "object") {
return false;
} else {
const sTag = object[Symbol.toStringTag];
return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
}
}
function pathHasQueryOrFragment(url7) {
return url7.includes("?") || url7.includes("#");
}
function serializePathWithQuery(url7, queryParams) {
if (pathHasQueryOrFragment(url7)) {
throw new Error('Query params cannot be passed when url already contains "?" or "#".');
}
const stringified = stringify2(queryParams);
if (stringified) {
url7 += "?" + stringified;
}
return url7;
}
function isValidPort(port) {
const value = parseInt(port, 10);
return value === Number(port) && value >= 0 && value <= 65535;
}
function isHttpOrHttpsPrefixed(value) {
return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
}
function parseURL(url7) {
if (typeof url7 === "string") {
url7 = new URL(url7);
if (!isHttpOrHttpsPrefixed(url7.origin || url7.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url7;
}
if (!url7 || typeof url7 !== "object") {
throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
}
if (!(url7 instanceof URL)) {
if (url7.port != null && url7.port !== "" && isValidPort(url7.port) === false) {
throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
}
if (url7.path != null && typeof url7.path !== "string") {
throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
}
if (url7.pathname != null && typeof url7.pathname !== "string") {
throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
}
if (url7.hostname != null && typeof url7.hostname !== "string") {
throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
}
if (url7.origin != null && typeof url7.origin !== "string") {
throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
}
if (!isHttpOrHttpsPrefixed(url7.origin || url7.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
const port = url7.port != null ? url7.port : url7.protocol === "https:" ? 443 : 80;
let origin = url7.origin != null ? url7.origin : `${url7.protocol || ""}//${url7.hostname || ""}:${port}`;
let path236 = url7.path != null ? url7.path : `${url7.pathname || ""}${url7.search || ""}`;
if (origin[origin.length - 1] === "/") {
origin = origin.slice(0, origin.length - 1);
}
if (path236 && path236[0] !== "/") {
path236 = `/${path236}`;
}
return new URL(`${origin}${path236}`);
}
if (!isHttpOrHttpsPrefixed(url7.origin || url7.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url7;
}
function parseOrigin(url7) {
url7 = parseURL(url7);
if (url7.pathname !== "/" || url7.search || url7.hash) {
throw new InvalidArgumentError("invalid url");
}
return url7;
}
function getHostname(host) {
if (host[0] === "[") {
const idx2 = host.indexOf("]");
assert13(idx2 !== -1);
return host.substring(1, idx2);
}
const idx = host.indexOf(":");
if (idx === -1) return host;
return host.substring(0, idx);
}
function getServerName(host) {
if (!host) {
return null;
}
assert13(typeof host === "string");
const servername = getHostname(host);
if (net.isIP(servername)) {
return "";
}
return servername;
}
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function isAsyncIterable(obj) {
return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
}
function isIterable(obj) {
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
}
function hasSafeIterator(obj) {
const prototype = Object.getPrototypeOf(obj);
const ownIterator = Object.prototype.hasOwnProperty.call(obj, Symbol.iterator);
return ownIterator || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
}
function bodyLength(body) {
if (body == null) {
return 0;
} else if (isStream4(body)) {
const state = body._readableState;
return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
} else if (isBlobLike(body)) {
return body.size != null ? body.size : null;
} else if (isBuffer(body)) {
return body.byteLength;
}
return null;
}
function isDestroyed(body) {
return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
}
function destroy(stream3, err2) {
if (stream3 == null || !isStream4(stream3) || isDestroyed(stream3)) {
return;
}
if (typeof stream3.destroy === "function") {
if (Object.getPrototypeOf(stream3).constructor === IncomingMessage) {
stream3.socket = null;
}
stream3.destroy(err2);
} else if (err2) {
queueMicrotask(() => {
stream3.emit("error", err2);
});
}
if (stream3.destroyed !== true) {
stream3[kDestroyed] = true;
}
}
var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
function parseKeepAliveTimeout(val) {
const m = val.match(KEEPALIVE_TIMEOUT_EXPR);
return m ? parseInt(m[1], 10) * 1e3 : null;
}
function headerNameToString(value) {
return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function bufferToLowerCasedHeaderName(value) {
return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function parseHeaders(headers, obj) {
if (obj === void 0) obj = {};
for (let i4 = 0; i4 < headers.length; i4 += 2) {
const key = headerNameToString(headers[i4]);
let val = obj[key];
if (val !== void 0) {
if (!Object.hasOwn(obj, key)) {
const headersValue = typeof headers[i4 + 1] === "string" ? headers[i4 + 1] : Array.isArray(headers[i4 + 1]) ? headers[i4 + 1].map((x3) => x3.toString("latin1")) : headers[i4 + 1].toString("latin1");
if (key === "__proto__") {
Object.defineProperty(obj, key, {
value: headersValue,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = headersValue;
}
} else {
if (typeof val === "string") {
val = [val];
obj[key] = val;
}
val.push(headers[i4 + 1].toString("latin1"));
}
} else {
const headersValue = typeof headers[i4 + 1] === "string" ? headers[i4 + 1] : Array.isArray(headers[i4 + 1]) ? headers[i4 + 1].map((x3) => x3.toString("latin1")) : headers[i4 + 1].toString("latin1");
obj[key] = headersValue;
}
}
return obj;
}
function parseRawHeaders(headers) {
const headersLength = headers.length;
const ret2 = new Array(headersLength);
let key;
let val;
for (let n2 = 0; n2 < headersLength; n2 += 2) {
key = headers[n2];
val = headers[n2 + 1];
typeof key !== "string" && (key = key.toString());
typeof val !== "string" && (val = val.toString("latin1"));
ret2[n2] = key;
ret2[n2 + 1] = val;
}
return ret2;
}
function encodeRawHeaders(headers) {
if (!Array.isArray(headers)) {
throw new TypeError("expected headers to be an array");
}
return headers.map((x3) => Buffer.from(x3));
}
function isBuffer(buffer3) {
return buffer3 instanceof Uint8Array || Buffer.isBuffer(buffer3);
}
function assertRequestHandler(handler82, method2, upgrade) {
if (!handler82 || typeof handler82 !== "object") {
throw new InvalidArgumentError("handler must be an object");
}
if (typeof handler82.onRequestStart === "function") {
return;
}
if (typeof handler82.onConnect !== "function") {
throw new InvalidArgumentError("invalid onConnect method");
}
if (typeof handler82.onError !== "function") {
throw new InvalidArgumentError("invalid onError method");
}
if (typeof handler82.onBodySent !== "function" && handler82.onBodySent !== void 0) {
throw new InvalidArgumentError("invalid onBodySent method");
}
if (upgrade || method2 === "CONNECT") {
if (typeof handler82.onUpgrade !== "function") {
throw new InvalidArgumentError("invalid onUpgrade method");
}
} else {
if (typeof handler82.onHeaders !== "function") {
throw new InvalidArgumentError("invalid onHeaders method");
}
if (typeof handler82.onData !== "function") {
throw new InvalidArgumentError("invalid onData method");
}
if (typeof handler82.onComplete !== "function") {
throw new InvalidArgumentError("invalid onComplete method");
}
}
}
function isDisturbed(body) {
return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
}
function getSocketInfo(socket) {
return {
localAddress: socket.localAddress,
localPort: socket.localPort,
remoteAddress: socket.remoteAddress,
remotePort: socket.remotePort,
remoteFamily: socket.remoteFamily,
timeout: socket.timeout,
bytesWritten: socket.bytesWritten,
bytesRead: socket.bytesRead
};
}
function ReadableStreamFrom(iterable) {
let iterator;
return new ReadableStream(
{
start() {
iterator = iterable[Symbol.asyncIterator]();
},
pull(controller) {
return iterator.next().then(({ done, value }) => {
if (done) {
return queueMicrotask(() => {
controller.close();
controller.byobRequest?.respond(0);
});
} else {
const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
if (buf.byteLength) {
return controller.enqueue(new Uint8Array(buf));
} else {
return this.pull(controller);
}
}
});
},
cancel() {
return iterator.return();
},
type: "bytes"
}
);
}
function isFormDataLike(object) {
return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
}
function addAbortListener3(signal, listener) {
if ("addEventListener" in signal) {
signal.addEventListener("abort", listener, { once: true });
return () => signal.removeEventListener("abort", listener);
}
signal.once("abort", listener);
return () => signal.removeListener("abort", listener);
}
var validTokenChars = new Uint8Array([
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 0-15
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 16-31
0,
1,
0,
1,
1,
1,
1,
1,
0,
0,
1,
1,
0,
1,
1,
0,
// 32-47 (!"#$%&'()*+,-./)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
// 48-63 (0-9:;<=>?)
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
// 64-79 (@A-O)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
1,
1,
// 80-95 (P-Z[\]^_)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
// 96-111 (`a-o)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
1,
0,
1,
0,
// 112-127 (p-z{|}~)
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 128-143
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 144-159
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 160-175
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 176-191
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 192-207
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 208-223
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 224-239
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
// 240-255
]);
function isTokenCharCode(c3) {
return validTokenChars[c3] === 1;
}
var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
function isValidHTTPToken(characters) {
if (characters.length >= 12) return tokenRegExp.test(characters);
if (characters.length === 0) return false;
for (let i4 = 0; i4 < characters.length; i4++) {
if (validTokenChars[characters.charCodeAt(i4)] !== 1) {
return false;
}
}
return true;
}
var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
function isValidHeaderValue(characters) {
return !headerCharRegex.test(characters);
}
var rangeHeaderRegex = /^bytes (\d+)-(\d+)\/(\d+)?$/;
function parseRangeHeader(range) {
if (range == null || range === "") return { start: 0, end: null, size: null };
const m = range ? range.match(rangeHeaderRegex) : null;
return m ? {
start: parseInt(m[1]),
end: m[2] ? parseInt(m[2]) : null,
size: m[3] ? parseInt(m[3]) : null
} : null;
}
function addListener(obj, name, listener) {
const listeners = obj[kListeners] ??= [];
listeners.push([name, listener]);
obj.on(name, listener);
return obj;
}
function removeAllListeners(obj) {
if (obj[kListeners] != null) {
for (const [name, listener] of obj[kListeners]) {
obj.removeListener(name, listener);
}
obj[kListeners] = null;
}
return obj;
}
function errorRequest(client, request, err2) {
try {
request.onError(err2);
assert13(request.aborted);
} catch (err3) {
client.emit("error", err3);
}
}
var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts3) => {
if (!opts3.timeout) {
return noop5;
}
let s1 = null;
let s2 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts3));
});
}, opts3.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
clearImmediate(s2);
};
} : (socketWeakRef, opts3) => {
if (!opts3.timeout) {
return noop5;
}
let s1 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
onConnectTimeout(socketWeakRef.deref(), opts3);
});
}, opts3.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
};
};
function onConnectTimeout(socket, opts3) {
if (socket == null) {
return;
}
let message = "Connect Timeout Error";
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
} else {
message += ` (attempted address: ${opts3.hostname}:${opts3.port},`;
}
message += ` timeout: ${opts3.timeout}ms)`;
destroy(socket, new ConnectTimeoutError(message));
}
function getProtocolFromUrlString(urlString) {
if (urlString[0] === "h" && urlString[1] === "t" && urlString[2] === "t" && urlString[3] === "p") {
switch (urlString[4]) {
case ":":
return "http:";
case "s":
if (urlString[5] === ":") {
return "https:";
}
}
}
return urlString.slice(0, urlString.indexOf(":") + 1);
}
var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
kEnumerableProperty.enumerable = true;
var normalizedMethodRecordsBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizedMethodRecords = {
...normalizedMethodRecordsBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizedMethodRecordsBase, null);
Object.setPrototypeOf(normalizedMethodRecords, null);
module2.exports = {
kEnumerableProperty,
isDisturbed,
isBlobLike,
parseOrigin,
parseURL,
getServerName,
isStream: isStream4,
isIterable,
hasSafeIterator,
isAsyncIterable,
isDestroyed,
headerNameToString,
bufferToLowerCasedHeaderName,
addListener,
removeAllListeners,
errorRequest,
parseRawHeaders,
encodeRawHeaders,
parseHeaders,
parseKeepAliveTimeout,
destroy,
bodyLength,
deepClone,
ReadableStreamFrom,
isBuffer,
assertRequestHandler,
getSocketInfo,
isFormDataLike,
pathHasQueryOrFragment,
serializePathWithQuery,
addAbortListener: addAbortListener3,
isValidHTTPToken,
isValidHeaderValue,
isTokenCharCode,
parseRangeHeader,
normalizedMethodRecordsBase,
normalizedMethodRecords,
isValidPort,
isHttpOrHttpsPrefixed,
nodeMajor,
nodeMinor,
safeHTTPMethods: Object.freeze(["GET", "HEAD", "OPTIONS", "TRACE"]),
wrapRequestBody,
setupConnectTimeout,
getProtocolFromUrlString
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/stats.js
var require_stats = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/stats.js"(exports2, module2) {
"use strict";
var {
kConnected,
kPending,
kRunning,
kSize,
kFree,
kQueued
} = require_symbols();
var ClientStats = class {
constructor(client) {
this.connected = client[kConnected];
this.pending = client[kPending];
this.running = client[kRunning];
this.size = client[kSize];
}
};
var PoolStats = class {
constructor(pool) {
this.connected = pool[kConnected];
this.free = pool[kFree];
this.pending = pool[kPending];
this.queued = pool[kQueued];
this.running = pool[kRunning];
this.size = pool[kSize];
}
};
module2.exports = { ClientStats, PoolStats };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/diagnostics.js
var require_diagnostics = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
"use strict";
var diagnosticsChannel = __require("node:diagnostics_channel");
var util64 = __require("node:util");
var undiciDebugLog = util64.debuglog("undici");
var fetchDebuglog = util64.debuglog("fetch");
var websocketDebuglog = util64.debuglog("websocket");
var channels = {
// Client
beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
connected: diagnosticsChannel.channel("undici:client:connected"),
connectError: diagnosticsChannel.channel("undici:client:connectError"),
sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
// Request
create: diagnosticsChannel.channel("undici:request:create"),
bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
bodyChunkSent: diagnosticsChannel.channel("undici:request:bodyChunkSent"),
bodyChunkReceived: diagnosticsChannel.channel("undici:request:bodyChunkReceived"),
headers: diagnosticsChannel.channel("undici:request:headers"),
trailers: diagnosticsChannel.channel("undici:request:trailers"),
error: diagnosticsChannel.channel("undici:request:error"),
// WebSocket
open: diagnosticsChannel.channel("undici:websocket:open"),
close: diagnosticsChannel.channel("undici:websocket:close"),
socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
ping: diagnosticsChannel.channel("undici:websocket:ping"),
pong: diagnosticsChannel.channel("undici:websocket:pong"),
// ProxyAgent
proxyConnected: diagnosticsChannel.channel("undici:proxy:connected")
};
var isTrackingClientEvents = false;
function trackClientEvents(debugLog = undiciDebugLog) {
if (isTrackingClientEvents) {
return;
}
if (channels.beforeConnect.hasSubscribers || channels.connected.hasSubscribers || channels.connectError.hasSubscribers || channels.sendHeaders.hasSubscribers) {
isTrackingClientEvents = true;
return;
}
isTrackingClientEvents = true;
diagnosticsChannel.subscribe(
"undici:client:beforeConnect",
(evt) => {
const {
connectParams: { version: version2, protocol, port, host }
} = evt;
debugLog(
"connecting to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
version2
);
}
);
diagnosticsChannel.subscribe(
"undici:client:connected",
(evt) => {
const {
connectParams: { version: version2, protocol, port, host }
} = evt;
debugLog(
"connected to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
version2
);
}
);
diagnosticsChannel.subscribe(
"undici:client:connectError",
(evt) => {
const {
connectParams: { version: version2, protocol, port, host },
error
} = evt;
debugLog(
"connection to %s%s using %s%s errored - %s",
host,
port ? `:${port}` : "",
protocol,
version2,
error.message
);
}
);
diagnosticsChannel.subscribe(
"undici:client:sendHeaders",
(evt) => {
const {
request: { method: method2, path: path236, origin }
} = evt;
debugLog("sending request to %s %s%s", method2, origin, path236);
}
);
}
var isTrackingRequestEvents = false;
function trackRequestEvents(debugLog = undiciDebugLog) {
if (isTrackingRequestEvents) {
return;
}
if (channels.headers.hasSubscribers || channels.trailers.hasSubscribers || channels.error.hasSubscribers) {
isTrackingRequestEvents = true;
return;
}
isTrackingRequestEvents = true;
diagnosticsChannel.subscribe(
"undici:request:headers",
(evt) => {
const {
request: { method: method2, path: path236, origin },
response: { statusCode }
} = evt;
debugLog(
"received response to %s %s%s - HTTP %d",
method2,
origin,
path236,
statusCode
);
}
);
diagnosticsChannel.subscribe(
"undici:request:trailers",
(evt) => {
const {
request: { method: method2, path: path236, origin }
} = evt;
debugLog("trailers received from %s %s%s", method2, origin, path236);
}
);
diagnosticsChannel.subscribe(
"undici:request:error",
(evt) => {
const {
request: { method: method2, path: path236, origin },
error
} = evt;
debugLog(
"request to %s %s%s errored - %s",
method2,
origin,
path236,
error.message
);
}
);
}
var isTrackingWebSocketEvents = false;
function trackWebSocketEvents(debugLog = websocketDebuglog) {
if (isTrackingWebSocketEvents) {
return;
}
if (channels.open.hasSubscribers || channels.close.hasSubscribers || channels.socketError.hasSubscribers || channels.ping.hasSubscribers || channels.pong.hasSubscribers) {
isTrackingWebSocketEvents = true;
return;
}
isTrackingWebSocketEvents = true;
diagnosticsChannel.subscribe(
"undici:websocket:open",
(evt) => {
if (evt.address != null) {
const { address, port } = evt.address;
debugLog("connection opened %s%s", address, port ? `:${port}` : "");
} else {
debugLog("connection opened");
}
}
);
diagnosticsChannel.subscribe(
"undici:websocket:close",
(evt) => {
const { websocket, code, reason } = evt;
debugLog(
"closed connection to %s - %s %s",
websocket.url,
code,
reason
);
}
);
diagnosticsChannel.subscribe(
"undici:websocket:socket_error",
(err2) => {
debugLog("connection errored - %s", err2.message);
}
);
diagnosticsChannel.subscribe(
"undici:websocket:ping",
(evt) => {
debugLog("ping received");
}
);
diagnosticsChannel.subscribe(
"undici:websocket:pong",
(evt) => {
debugLog("pong received");
}
);
}
if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
trackClientEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
trackRequestEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
}
if (websocketDebuglog.enabled) {
trackClientEvents(undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog);
trackWebSocketEvents(websocketDebuglog);
}
module2.exports = {
channels
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/request.js
var require_request = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/request.js"(exports2, module2) {
"use strict";
var {
InvalidArgumentError,
NotSupportedError
} = require_errors4();
var assert13 = __require("node:assert");
var {
isValidHTTPToken,
isValidHeaderValue,
isStream: isStream4,
destroy,
isBuffer,
isFormDataLike,
isIterable,
hasSafeIterator,
isBlobLike,
serializePathWithQuery,
assertRequestHandler,
getServerName,
normalizedMethodRecords,
getProtocolFromUrlString
} = require_util4();
var { channels } = require_diagnostics();
var { headerNameLowerCasedRecord } = require_constants11();
var invalidPathRegex = /[^\u0021-\u00ff]/;
function isValidContentLengthHeaderValue(val) {
if (typeof val !== "string" || val.length === 0) {
return false;
}
for (let i4 = 0; i4 < val.length; i4++) {
const charCode = val.charCodeAt(i4);
if (charCode < 48 || charCode > 57) {
return false;
}
}
return true;
}
var kHandler = /* @__PURE__ */ Symbol("handler");
var Request = class {
constructor(origin, {
path: path236,
method: method2,
body,
headers,
query,
idempotent,
blocking,
upgrade,
headersTimeout,
bodyTimeout,
reset: reset2,
expectContinue,
servername,
throwOnError,
maxRedirections,
typeOfService
}, handler82) {
if (typeof path236 !== "string") {
throw new InvalidArgumentError("path must be a string");
} else if (path236[0] !== "/" && !(path236.startsWith("http://") || path236.startsWith("https://")) && method2 !== "CONNECT") {
throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
} else if (invalidPathRegex.test(path236)) {
throw new InvalidArgumentError("invalid request path");
}
if (typeof method2 !== "string") {
throw new InvalidArgumentError("method must be a string");
} else if (normalizedMethodRecords[method2] === void 0 && !isValidHTTPToken(method2)) {
throw new InvalidArgumentError("invalid request method");
}
if (upgrade && typeof upgrade !== "string") {
throw new InvalidArgumentError("upgrade must be a string");
}
if (upgrade && !isValidHeaderValue(upgrade)) {
throw new InvalidArgumentError("invalid upgrade header");
}
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError("invalid headersTimeout");
}
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError("invalid bodyTimeout");
}
if (reset2 != null && typeof reset2 !== "boolean") {
throw new InvalidArgumentError("invalid reset");
}
if (expectContinue != null && typeof expectContinue !== "boolean") {
throw new InvalidArgumentError("invalid expectContinue");
}
if (throwOnError != null) {
throw new InvalidArgumentError("invalid throwOnError");
}
if (maxRedirections != null && maxRedirections !== 0) {
throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
}
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) {
throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
}
this.headersTimeout = headersTimeout;
this.bodyTimeout = bodyTimeout;
this.method = method2;
this.typeOfService = typeOfService ?? 0;
this.abort = null;
if (body == null) {
this.body = null;
} else if (isStream4(body)) {
this.body = body;
const rState = this.body._readableState;
if (!rState || !rState.autoDestroy) {
this.endHandler = function autoDestroy() {
destroy(this);
};
this.body.on("end", this.endHandler);
}
this.errorHandler = (err2) => {
if (this.abort) {
this.abort(err2);
} else {
this.error = err2;
}
};
this.body.on("error", this.errorHandler);
} else if (isBuffer(body)) {
this.body = body.byteLength ? body : null;
} else if (ArrayBuffer.isView(body)) {
this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
} else if (body instanceof ArrayBuffer) {
this.body = body.byteLength ? Buffer.from(body) : null;
} else if (typeof body === "string") {
this.body = body.length ? Buffer.from(body) : null;
} else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
this.body = body;
} else {
throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
}
this.completed = false;
this.aborted = false;
this.upgrade = upgrade || null;
this.path = query ? serializePathWithQuery(path236, query) : path236;
this.origin = origin;
this.protocol = getProtocolFromUrlString(origin);
this.idempotent = idempotent == null ? method2 === "HEAD" || method2 === "GET" : idempotent;
this.blocking = blocking ?? this.method !== "HEAD";
this.reset = reset2 == null ? null : reset2;
this.host = null;
this.contentLength = null;
this.contentType = null;
this.headers = [];
this.expectContinue = expectContinue != null ? expectContinue : false;
if (Array.isArray(headers)) {
if (headers.length % 2 !== 0) {
throw new InvalidArgumentError("headers array must be even");
}
for (let i4 = 0; i4 < headers.length; i4 += 2) {
processHeader(this, headers[i4], headers[i4 + 1]);
}
} else if (headers && typeof headers === "object") {
if (hasSafeIterator(headers)) {
for (const header of headers) {
if (!Array.isArray(header) || header.length !== 2) {
throw new InvalidArgumentError("headers must be in key-value pair format");
}
processHeader(this, header[0], header[1]);
}
} else {
const keys4 = Object.keys(headers);
for (let i4 = 0; i4 < keys4.length; ++i4) {
processHeader(this, keys4[i4], headers[keys4[i4]]);
}
}
} else if (headers != null) {
throw new InvalidArgumentError("headers must be an object or an array");
}
assertRequestHandler(handler82, method2, upgrade);
this.servername = servername || getServerName(this.host) || null;
this[kHandler] = handler82;
if (channels.create.hasSubscribers) {
channels.create.publish({ request: this });
}
}
onBodySent(chunk) {
if (channels.bodyChunkSent.hasSubscribers) {
channels.bodyChunkSent.publish({ request: this, chunk });
}
if (this[kHandler].onBodySent) {
try {
return this[kHandler].onBodySent(chunk);
} catch (err2) {
this.abort(err2);
}
}
}
onRequestSent() {
if (channels.bodySent.hasSubscribers) {
channels.bodySent.publish({ request: this });
}
if (this[kHandler].onRequestSent) {
try {
return this[kHandler].onRequestSent();
} catch (err2) {
this.abort(err2);
}
}
}
onConnect(abort) {
assert13(!this.aborted);
assert13(!this.completed);
if (this.error) {
abort(this.error);
} else {
this.abort = abort;
return this[kHandler].onConnect(abort);
}
}
onResponseStarted() {
return this[kHandler].onResponseStarted?.();
}
onHeaders(statusCode, headers, resume, statusText) {
assert13(!this.aborted);
assert13(!this.completed);
if (channels.headers.hasSubscribers) {
channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
}
try {
return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
} catch (err2) {
this.abort(err2);
}
}
onData(chunk) {
assert13(!this.aborted);
assert13(!this.completed);
if (channels.bodyChunkReceived.hasSubscribers) {
channels.bodyChunkReceived.publish({ request: this, chunk });
}
try {
return this[kHandler].onData(chunk);
} catch (err2) {
this.abort(err2);
return false;
}
}
onUpgrade(statusCode, headers, socket) {
assert13(!this.aborted);
assert13(!this.completed);
return this[kHandler].onUpgrade(statusCode, headers, socket);
}
onComplete(trailers) {
this.onFinally();
assert13(!this.aborted);
assert13(!this.completed);
this.completed = true;
if (channels.trailers.hasSubscribers) {
channels.trailers.publish({ request: this, trailers });
}
try {
return this[kHandler].onComplete(trailers);
} catch (err2) {
this.onError(err2);
}
}
onError(error) {
this.onFinally();
if (channels.error.hasSubscribers) {
channels.error.publish({ request: this, error });
}
if (this.aborted) {
return;
}
this.aborted = true;
return this[kHandler].onError(error);
}
onFinally() {
if (this.errorHandler) {
this.body.off("error", this.errorHandler);
this.errorHandler = null;
}
if (this.endHandler) {
this.body.off("end", this.endHandler);
this.endHandler = null;
}
}
addHeader(key, value) {
processHeader(this, key, value);
return this;
}
};
function processHeader(request, key, val) {
if (val && (typeof val === "object" && !Array.isArray(val))) {
throw new InvalidArgumentError(`invalid ${key} header`);
} else if (val === void 0) {
return;
}
let headerName = headerNameLowerCasedRecord[key];
if (headerName === void 0) {
headerName = key.toLowerCase();
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
throw new InvalidArgumentError("invalid header key");
}
}
if (Array.isArray(val)) {
const arr = [];
for (let i4 = 0; i4 < val.length; i4++) {
if (typeof val[i4] === "string") {
if (!isValidHeaderValue(val[i4])) {
throw new InvalidArgumentError(`invalid ${key} header`);
}
arr.push(val[i4]);
} else if (val[i4] === null) {
arr.push("");
} else if (typeof val[i4] === "object") {
throw new InvalidArgumentError(`invalid ${key} header`);
} else {
arr.push(`${val[i4]}`);
}
}
val = arr;
} else if (typeof val === "string") {
if (!isValidHeaderValue(val)) {
throw new InvalidArgumentError(`invalid ${key} header`);
}
} else if (val === null) {
val = "";
} else {
val = `${val}`;
}
if (headerName === "host") {
if (request.host !== null) {
throw new InvalidArgumentError("duplicate host header");
}
if (typeof val !== "string") {
throw new InvalidArgumentError("invalid host header");
}
request.host = val;
} else if (headerName === "content-length") {
if (request.contentLength !== null) {
throw new InvalidArgumentError("duplicate content-length header");
}
if (!isValidContentLengthHeaderValue(val)) {
throw new InvalidArgumentError("invalid content-length header");
}
request.contentLength = parseInt(val, 10);
} else if (request.contentType === null && headerName === "content-type") {
request.contentType = val;
request.headers.push(key, val);
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
throw new InvalidArgumentError(`invalid ${headerName} header`);
} else if (headerName === "connection") {
const value = typeof val === "string" ? val : null;
if (value === null) {
throw new InvalidArgumentError("invalid connection header");
}
for (const token of value.toLowerCase().split(",")) {
const trimmed = token.trim();
if (!isValidHTTPToken(trimmed)) {
throw new InvalidArgumentError("invalid connection header");
}
if (trimmed === "close") {
request.reset = true;
}
}
} else if (headerName === "expect") {
throw new NotSupportedError("expect header not supported");
} else {
request.headers.push(key, val);
}
}
module2.exports = Request;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/wrap-handler.js
var require_wrap_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/wrap-handler.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
module2.exports = class WrapHandler {
#handler;
constructor(handler82) {
this.#handler = handler82;
}
static wrap(handler82) {
return handler82.onRequestStart ? handler82 : new WrapHandler(handler82);
}
// Unwrap Interface
onConnect(abort, context) {
return this.#handler.onConnect?.(abort, context);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
}
onUpgrade(statusCode, rawHeaders, socket) {
return this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onData(data) {
return this.#handler.onData?.(data);
}
onComplete(trailers) {
return this.#handler.onComplete?.(trailers);
}
onError(err2) {
if (!this.#handler.onError) {
throw err2;
}
return this.#handler.onError?.(err2);
}
// Wrap Interface
onRequestStart(controller, context) {
this.#handler.onConnect?.((reason) => controller.abort(reason), context);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
controller.pause();
}
}
onResponseData(controller, data) {
if (this.#handler.onData?.(data) === false) {
controller.pause();
}
}
onResponseEnd(controller, trailers) {
const rawTrailers = [];
for (const [key, val] of Object.entries(trailers)) {
rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onComplete?.(rawTrailers);
}
onResponseError(controller, err2) {
if (!this.#handler.onError) {
throw new InvalidArgumentError("invalid onError method");
}
this.#handler.onError?.(err2);
}
};
function toRawHeaderValue(value) {
return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/dispatcher.js
var require_dispatcher = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
"use strict";
var EventEmitter4 = __require("node:events");
var WrapHandler = require_wrap_handler();
var wrapInterceptor = (dispatch) => (opts3, handler82) => dispatch(opts3, WrapHandler.wrap(handler82));
var Dispatcher = class extends EventEmitter4 {
dispatch() {
throw new Error("not implemented");
}
close() {
throw new Error("not implemented");
}
destroy() {
throw new Error("not implemented");
}
compose(...args) {
const interceptors = Array.isArray(args[0]) ? args[0] : args;
let dispatch = this.dispatch.bind(this);
for (const interceptor of interceptors) {
if (interceptor == null) {
continue;
}
if (typeof interceptor !== "function") {
throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
}
dispatch = interceptor(dispatch);
dispatch = wrapInterceptor(dispatch);
if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
throw new TypeError("invalid interceptor");
}
}
return new Proxy(this, {
get: (target2, key) => key === "dispatch" ? dispatch : target2[key]
});
}
};
module2.exports = Dispatcher;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/unwrap-handler.js
var require_unwrap_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/unwrap-handler.js"(exports2, module2) {
"use strict";
var { parseHeaders } = require_util4();
var { InvalidArgumentError } = require_errors4();
var kResume = /* @__PURE__ */ Symbol("resume");
var UnwrapController = class {
#paused = false;
#reason = null;
#aborted = false;
#abort;
[kResume] = null;
rawHeaders = null;
rawTrailers = null;
constructor(abort) {
this.#abort = abort;
}
pause() {
this.#paused = true;
}
resume() {
if (this.#paused) {
this.#paused = false;
this[kResume]?.();
}
}
abort(reason) {
if (!this.#aborted) {
this.#aborted = true;
this.#reason = reason;
this.#abort(reason);
}
}
get aborted() {
return this.#aborted;
}
get reason() {
return this.#reason;
}
get paused() {
return this.#paused;
}
};
module2.exports = class UnwrapHandler {
#handler;
#controller;
constructor(handler82) {
this.#handler = handler82;
}
static unwrap(handler82) {
return !handler82.onRequestStart ? handler82 : new UnwrapHandler(handler82);
}
onConnect(abort, context) {
this.#controller = new UnwrapController(abort);
this.#handler.onRequestStart?.(this.#controller, context);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onUpgrade(statusCode, rawHeaders, socket) {
this.#controller.rawHeaders = rawHeaders;
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
this.#controller[kResume] = resume;
this.#controller.rawHeaders = rawHeaders;
this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage);
return !this.#controller.paused;
}
onData(data) {
this.#handler.onResponseData?.(this.#controller, data);
return !this.#controller.paused;
}
onComplete(rawTrailers) {
this.#controller.rawTrailers = rawTrailers;
this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
}
onError(err2) {
if (!this.#handler.onResponseError) {
throw new InvalidArgumentError("invalid onError method");
}
this.#handler.onResponseError?.(this.#controller, err2);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/dispatcher-base.js
var require_dispatcher_base = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
"use strict";
var Dispatcher = require_dispatcher();
var UnwrapHandler = require_unwrap_handler();
var {
ClientDestroyedError,
ClientClosedError,
InvalidArgumentError
} = require_errors4();
var { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols();
var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions");
var DispatcherBase = class extends Dispatcher {
/** @type {boolean} */
[kDestroyed] = false;
/** @type {Array<Function|null} */
[kOnDestroyed] = null;
/** @type {boolean} */
[kClosed] = false;
/** @type {Array<Function>|null} */
[kOnClosed] = null;
/**
* @param {import('../../types/dispatcher').DispatcherOptions} [opts]
*/
constructor(opts3) {
super();
this[kWebSocketOptions] = opts3?.webSocket ?? {};
}
/**
* @returns {import('../../types/dispatcher').WebSocketOptions}
*/
get webSocketOptions() {
return {
maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
// 128 MB default
};
}
/** @returns {boolean} */
get destroyed() {
return this[kDestroyed];
}
/** @returns {boolean} */
get closed() {
return this[kClosed];
}
close(callback2) {
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
this.close((err2, data) => {
return err2 ? reject3(err2) : resolve4(data);
});
});
}
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (this[kDestroyed]) {
const err2 = new ClientDestroyedError();
queueMicrotask(() => callback2(err2, null));
return;
}
if (this[kClosed]) {
if (this[kOnClosed]) {
this[kOnClosed].push(callback2);
} else {
queueMicrotask(() => callback2(null, null));
}
return;
}
this[kClosed] = true;
this[kOnClosed] ??= [];
this[kOnClosed].push(callback2);
const onClosed = () => {
const callbacks = this[kOnClosed];
this[kOnClosed] = null;
for (let i4 = 0; i4 < callbacks.length; i4++) {
callbacks[i4](null, null);
}
};
this[kClose]().then(() => this.destroy()).then(() => queueMicrotask(onClosed));
}
destroy(err2, callback2) {
if (typeof err2 === "function") {
callback2 = err2;
err2 = null;
}
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
this.destroy(err2, (err3, data) => {
return err3 ? reject3(err3) : resolve4(data);
});
});
}
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (this[kDestroyed]) {
if (this[kOnDestroyed]) {
this[kOnDestroyed].push(callback2);
} else {
queueMicrotask(() => callback2(null, null));
}
return;
}
if (!err2) {
err2 = new ClientDestroyedError();
}
this[kDestroyed] = true;
this[kOnDestroyed] ??= [];
this[kOnDestroyed].push(callback2);
const onDestroyed = () => {
const callbacks = this[kOnDestroyed];
this[kOnDestroyed] = null;
for (let i4 = 0; i4 < callbacks.length; i4++) {
callbacks[i4](null, null);
}
};
this[kDestroy](err2).then(() => queueMicrotask(onDestroyed));
}
dispatch(opts3, handler82) {
if (!handler82 || typeof handler82 !== "object") {
throw new InvalidArgumentError("handler must be an object");
}
handler82 = UnwrapHandler.unwrap(handler82);
try {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("opts must be an object.");
}
if (this[kDestroyed] || this[kOnDestroyed]) {
throw new ClientDestroyedError();
}
if (this[kClosed]) {
throw new ClientClosedError();
}
return this[kDispatch](opts3, handler82);
} catch (err2) {
if (typeof handler82.onError !== "function") {
throw err2;
}
handler82.onError(err2);
return false;
}
}
};
module2.exports = DispatcherBase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/connect.js
var require_connect = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/connect.js"(exports2, module2) {
"use strict";
var net = __require("node:net");
var assert13 = __require("node:assert");
var util64 = require_util4();
var { InvalidArgumentError } = require_errors4();
var tls2;
var SessionCache = class WeakSessionCache {
constructor(maxCachedSessions) {
this._maxCachedSessions = maxCachedSessions;
this._sessionCache = /* @__PURE__ */ new Map();
this._sessionRegistry = new FinalizationRegistry((key) => {
if (this._sessionCache.size < this._maxCachedSessions) {
return;
}
const ref = this._sessionCache.get(key);
if (ref !== void 0 && ref.deref() === void 0) {
this._sessionCache.delete(key);
}
});
}
get(sessionKey) {
const ref = this._sessionCache.get(sessionKey);
return ref ? ref.deref() : null;
}
set(sessionKey, session) {
if (this._maxCachedSessions === 0) {
return;
}
if (this._sessionCache.has(sessionKey)) {
this._sessionCache.delete(sessionKey);
} else if (this._sessionCache.size >= this._maxCachedSessions) {
for (const [key, ref] of this._sessionCache) {
if (ref.deref() === void 0) {
this._sessionCache.delete(key);
return;
}
}
const oldest = this._sessionCache.keys().next();
if (!oldest.done) {
this._sessionCache.delete(oldest.value);
}
}
this._sessionCache.set(sessionKey, new WeakRef(session));
this._sessionRegistry.register(session, sessionKey);
}
};
function buildConnector({ allowH2, useH2c, maxCachedSessions, socketPath, timeout, session: customSession, ...opts3 }) {
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
}
const options = { path: socketPath, ...opts3 };
const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
timeout = timeout == null ? 1e4 : timeout;
allowH2 = allowH2 != null ? allowH2 : false;
return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback2) {
let socket;
if (protocol === "https:") {
if (!tls2) {
tls2 = __require("node:tls");
}
servername = servername || options.servername || util64.getServerName(host) || null;
const sessionKey = servername || hostname;
assert13(sessionKey);
const session = customSession || sessionCache.get(sessionKey) || null;
port = port || 443;
socket = tls2.connect({
highWaterMark: 16384,
// TLS in node can't have bigger HWM anyway...
...options,
servername,
session,
localAddress,
ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
socket: httpSocket,
// upgrade socket connection
port,
host: hostname
});
socket.on("session", function(session2) {
sessionCache.set(sessionKey, session2);
});
} else {
assert13(!httpSocket, "httpSocket can only be sent on TLS update");
port = port || 80;
socket = net.connect({
highWaterMark: 64 * 1024,
// Same as nodejs fs streams.
...options,
localAddress,
port,
host: hostname
});
if (useH2c === true) {
socket.alpnProtocol = "h2";
}
}
if (options.keepAlive == null || options.keepAlive) {
const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
socket.setKeepAlive(true, keepAliveInitialDelay);
}
const clearConnectTimeout = util64.setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
queueMicrotask(clearConnectTimeout);
if (callback2) {
const cb = callback2;
callback2 = null;
cb(null, this);
}
}).on("error", function(err2) {
queueMicrotask(clearConnectTimeout);
if (callback2) {
const cb = callback2;
callback2 = null;
cb(err2);
}
});
return socket;
};
}
module2.exports = buildConnector;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/utils.js
var require_utils10 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.enumToMap = enumToMap;
function enumToMap(obj, filter14 = [], exceptions = []) {
const emptyFilter = (filter14?.length ?? 0) === 0;
const emptyExceptions = (exceptions?.length ?? 0) === 0;
return Object.fromEntries(Object.entries(obj).filter(([, value]) => {
return typeof value === "number" && (emptyFilter || filter14.includes(value)) && (emptyExceptions || !exceptions.includes(value));
}));
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/constants.js
var require_constants12 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SPECIAL_HEADERS = exports2.MINOR = exports2.MAJOR = exports2.HTAB_SP_VCHAR_OBS_TEXT = exports2.QUOTED_STRING = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.STATUSES_HTTP = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.HEADER_STATE = exports2.FINISH = exports2.STATUSES = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
var utils_1 = require_utils10();
exports2.ERROR = {
OK: 0,
INTERNAL: 1,
STRICT: 2,
CR_EXPECTED: 25,
LF_EXPECTED: 3,
UNEXPECTED_CONTENT_LENGTH: 4,
UNEXPECTED_SPACE: 30,
CLOSED_CONNECTION: 5,
INVALID_METHOD: 6,
INVALID_URL: 7,
INVALID_CONSTANT: 8,
INVALID_VERSION: 9,
INVALID_HEADER_TOKEN: 10,
INVALID_CONTENT_LENGTH: 11,
INVALID_CHUNK_SIZE: 12,
INVALID_STATUS: 13,
INVALID_EOF_STATE: 14,
INVALID_TRANSFER_ENCODING: 15,
CB_MESSAGE_BEGIN: 16,
CB_HEADERS_COMPLETE: 17,
CB_MESSAGE_COMPLETE: 18,
CB_CHUNK_HEADER: 19,
CB_CHUNK_COMPLETE: 20,
PAUSED: 21,
PAUSED_UPGRADE: 22,
PAUSED_H2_UPGRADE: 23,
USER: 24,
CB_URL_COMPLETE: 26,
CB_STATUS_COMPLETE: 27,
CB_METHOD_COMPLETE: 32,
CB_VERSION_COMPLETE: 33,
CB_HEADER_FIELD_COMPLETE: 28,
CB_HEADER_VALUE_COMPLETE: 29,
CB_CHUNK_EXTENSION_NAME_COMPLETE: 34,
CB_CHUNK_EXTENSION_VALUE_COMPLETE: 35,
CB_RESET: 31,
CB_PROTOCOL_COMPLETE: 38
};
exports2.TYPE = {
BOTH: 0,
// default
REQUEST: 1,
RESPONSE: 2
};
exports2.FLAGS = {
CONNECTION_KEEP_ALIVE: 1 << 0,
CONNECTION_CLOSE: 1 << 1,
CONNECTION_UPGRADE: 1 << 2,
CHUNKED: 1 << 3,
UPGRADE: 1 << 4,
CONTENT_LENGTH: 1 << 5,
SKIPBODY: 1 << 6,
TRAILING: 1 << 7,
// 1 << 8 is unused
TRANSFER_ENCODING: 1 << 9
};
exports2.LENIENT_FLAGS = {
HEADERS: 1 << 0,
CHUNKED_LENGTH: 1 << 1,
KEEP_ALIVE: 1 << 2,
TRANSFER_ENCODING: 1 << 3,
VERSION: 1 << 4,
DATA_AFTER_CLOSE: 1 << 5,
OPTIONAL_LF_AFTER_CR: 1 << 6,
OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
OPTIONAL_CR_BEFORE_LF: 1 << 8,
SPACES_AFTER_CHUNK_SIZE: 1 << 9
};
exports2.METHODS = {
"DELETE": 0,
"GET": 1,
"HEAD": 2,
"POST": 3,
"PUT": 4,
/* pathological */
"CONNECT": 5,
"OPTIONS": 6,
"TRACE": 7,
/* WebDAV */
"COPY": 8,
"LOCK": 9,
"MKCOL": 10,
"MOVE": 11,
"PROPFIND": 12,
"PROPPATCH": 13,
"SEARCH": 14,
"UNLOCK": 15,
"BIND": 16,
"REBIND": 17,
"UNBIND": 18,
"ACL": 19,
/* subversion */
"REPORT": 20,
"MKACTIVITY": 21,
"CHECKOUT": 22,
"MERGE": 23,
/* upnp */
"M-SEARCH": 24,
"NOTIFY": 25,
"SUBSCRIBE": 26,
"UNSUBSCRIBE": 27,
/* RFC-5789 */
"PATCH": 28,
"PURGE": 29,
/* CalDAV */
"MKCALENDAR": 30,
/* RFC-2068, section 19.6.1.2 */
"LINK": 31,
"UNLINK": 32,
/* icecast */
"SOURCE": 33,
/* RFC-7540, section 11.6 */
"PRI": 34,
/* RFC-2326 RTSP */
"DESCRIBE": 35,
"ANNOUNCE": 36,
"SETUP": 37,
"PLAY": 38,
"PAUSE": 39,
"TEARDOWN": 40,
"GET_PARAMETER": 41,
"SET_PARAMETER": 42,
"REDIRECT": 43,
"RECORD": 44,
/* RAOP */
"FLUSH": 45,
/* DRAFT https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html */
"QUERY": 46
};
exports2.STATUSES = {
CONTINUE: 100,
SWITCHING_PROTOCOLS: 101,
PROCESSING: 102,
EARLY_HINTS: 103,
RESPONSE_IS_STALE: 110,
// Unofficial
REVALIDATION_FAILED: 111,
// Unofficial
DISCONNECTED_OPERATION: 112,
// Unofficial
HEURISTIC_EXPIRATION: 113,
// Unofficial
MISCELLANEOUS_WARNING: 199,
// Unofficial
OK: 200,
CREATED: 201,
ACCEPTED: 202,
NON_AUTHORITATIVE_INFORMATION: 203,
NO_CONTENT: 204,
RESET_CONTENT: 205,
PARTIAL_CONTENT: 206,
MULTI_STATUS: 207,
ALREADY_REPORTED: 208,
TRANSFORMATION_APPLIED: 214,
// Unofficial
IM_USED: 226,
MISCELLANEOUS_PERSISTENT_WARNING: 299,
// Unofficial
MULTIPLE_CHOICES: 300,
MOVED_PERMANENTLY: 301,
FOUND: 302,
SEE_OTHER: 303,
NOT_MODIFIED: 304,
USE_PROXY: 305,
SWITCH_PROXY: 306,
// No longer used
TEMPORARY_REDIRECT: 307,
PERMANENT_REDIRECT: 308,
BAD_REQUEST: 400,
UNAUTHORIZED: 401,
PAYMENT_REQUIRED: 402,
FORBIDDEN: 403,
NOT_FOUND: 404,
METHOD_NOT_ALLOWED: 405,
NOT_ACCEPTABLE: 406,
PROXY_AUTHENTICATION_REQUIRED: 407,
REQUEST_TIMEOUT: 408,
CONFLICT: 409,
GONE: 410,
LENGTH_REQUIRED: 411,
PRECONDITION_FAILED: 412,
PAYLOAD_TOO_LARGE: 413,
URI_TOO_LONG: 414,
UNSUPPORTED_MEDIA_TYPE: 415,
RANGE_NOT_SATISFIABLE: 416,
EXPECTATION_FAILED: 417,
IM_A_TEAPOT: 418,
PAGE_EXPIRED: 419,
// Unofficial
ENHANCE_YOUR_CALM: 420,
// Unofficial
MISDIRECTED_REQUEST: 421,
UNPROCESSABLE_ENTITY: 422,
LOCKED: 423,
FAILED_DEPENDENCY: 424,
TOO_EARLY: 425,
UPGRADE_REQUIRED: 426,
PRECONDITION_REQUIRED: 428,
TOO_MANY_REQUESTS: 429,
REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL: 430,
// Unofficial
REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
LOGIN_TIMEOUT: 440,
// Unofficial
NO_RESPONSE: 444,
// Unofficial
RETRY_WITH: 449,
// Unofficial
BLOCKED_BY_PARENTAL_CONTROL: 450,
// Unofficial
UNAVAILABLE_FOR_LEGAL_REASONS: 451,
CLIENT_CLOSED_LOAD_BALANCED_REQUEST: 460,
// Unofficial
INVALID_X_FORWARDED_FOR: 463,
// Unofficial
REQUEST_HEADER_TOO_LARGE: 494,
// Unofficial
SSL_CERTIFICATE_ERROR: 495,
// Unofficial
SSL_CERTIFICATE_REQUIRED: 496,
// Unofficial
HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497,
// Unofficial
INVALID_TOKEN: 498,
// Unofficial
CLIENT_CLOSED_REQUEST: 499,
// Unofficial
INTERNAL_SERVER_ERROR: 500,
NOT_IMPLEMENTED: 501,
BAD_GATEWAY: 502,
SERVICE_UNAVAILABLE: 503,
GATEWAY_TIMEOUT: 504,
HTTP_VERSION_NOT_SUPPORTED: 505,
VARIANT_ALSO_NEGOTIATES: 506,
INSUFFICIENT_STORAGE: 507,
LOOP_DETECTED: 508,
BANDWIDTH_LIMIT_EXCEEDED: 509,
NOT_EXTENDED: 510,
NETWORK_AUTHENTICATION_REQUIRED: 511,
WEB_SERVER_UNKNOWN_ERROR: 520,
// Unofficial
WEB_SERVER_IS_DOWN: 521,
// Unofficial
CONNECTION_TIMEOUT: 522,
// Unofficial
ORIGIN_IS_UNREACHABLE: 523,
// Unofficial
TIMEOUT_OCCURED: 524,
// Unofficial
SSL_HANDSHAKE_FAILED: 525,
// Unofficial
INVALID_SSL_CERTIFICATE: 526,
// Unofficial
RAILGUN_ERROR: 527,
// Unofficial
SITE_IS_OVERLOADED: 529,
// Unofficial
SITE_IS_FROZEN: 530,
// Unofficial
IDENTITY_PROVIDER_AUTHENTICATION_ERROR: 561,
// Unofficial
NETWORK_READ_TIMEOUT: 598,
// Unofficial
NETWORK_CONNECT_TIMEOUT: 599
// Unofficial
};
exports2.FINISH = {
SAFE: 0,
SAFE_WITH_CB: 1,
UNSAFE: 2
};
exports2.HEADER_STATE = {
GENERAL: 0,
CONNECTION: 1,
CONTENT_LENGTH: 2,
TRANSFER_ENCODING: 3,
UPGRADE: 4,
CONNECTION_KEEP_ALIVE: 5,
CONNECTION_CLOSE: 6,
CONNECTION_UPGRADE: 7,
TRANSFER_ENCODING_CHUNKED: 8
};
exports2.METHODS_HTTP = [
exports2.METHODS.DELETE,
exports2.METHODS.GET,
exports2.METHODS.HEAD,
exports2.METHODS.POST,
exports2.METHODS.PUT,
exports2.METHODS.CONNECT,
exports2.METHODS.OPTIONS,
exports2.METHODS.TRACE,
exports2.METHODS.COPY,
exports2.METHODS.LOCK,
exports2.METHODS.MKCOL,
exports2.METHODS.MOVE,
exports2.METHODS.PROPFIND,
exports2.METHODS.PROPPATCH,
exports2.METHODS.SEARCH,
exports2.METHODS.UNLOCK,
exports2.METHODS.BIND,
exports2.METHODS.REBIND,
exports2.METHODS.UNBIND,
exports2.METHODS.ACL,
exports2.METHODS.REPORT,
exports2.METHODS.MKACTIVITY,
exports2.METHODS.CHECKOUT,
exports2.METHODS.MERGE,
exports2.METHODS["M-SEARCH"],
exports2.METHODS.NOTIFY,
exports2.METHODS.SUBSCRIBE,
exports2.METHODS.UNSUBSCRIBE,
exports2.METHODS.PATCH,
exports2.METHODS.PURGE,
exports2.METHODS.MKCALENDAR,
exports2.METHODS.LINK,
exports2.METHODS.UNLINK,
exports2.METHODS.PRI,
// TODO(indutny): should we allow it with HTTP?
exports2.METHODS.SOURCE,
exports2.METHODS.QUERY
];
exports2.METHODS_ICE = [
exports2.METHODS.SOURCE
];
exports2.METHODS_RTSP = [
exports2.METHODS.OPTIONS,
exports2.METHODS.DESCRIBE,
exports2.METHODS.ANNOUNCE,
exports2.METHODS.SETUP,
exports2.METHODS.PLAY,
exports2.METHODS.PAUSE,
exports2.METHODS.TEARDOWN,
exports2.METHODS.GET_PARAMETER,
exports2.METHODS.SET_PARAMETER,
exports2.METHODS.REDIRECT,
exports2.METHODS.RECORD,
exports2.METHODS.FLUSH,
// For AirPlay
exports2.METHODS.GET,
exports2.METHODS.POST
];
exports2.METHOD_MAP = (0, utils_1.enumToMap)(exports2.METHODS);
exports2.H_METHOD_MAP = Object.fromEntries(Object.entries(exports2.METHODS).filter(([k2]) => k2.startsWith("H")));
exports2.STATUSES_HTTP = [
exports2.STATUSES.CONTINUE,
exports2.STATUSES.SWITCHING_PROTOCOLS,
exports2.STATUSES.PROCESSING,
exports2.STATUSES.EARLY_HINTS,
exports2.STATUSES.RESPONSE_IS_STALE,
exports2.STATUSES.REVALIDATION_FAILED,
exports2.STATUSES.DISCONNECTED_OPERATION,
exports2.STATUSES.HEURISTIC_EXPIRATION,
exports2.STATUSES.MISCELLANEOUS_WARNING,
exports2.STATUSES.OK,
exports2.STATUSES.CREATED,
exports2.STATUSES.ACCEPTED,
exports2.STATUSES.NON_AUTHORITATIVE_INFORMATION,
exports2.STATUSES.NO_CONTENT,
exports2.STATUSES.RESET_CONTENT,
exports2.STATUSES.PARTIAL_CONTENT,
exports2.STATUSES.MULTI_STATUS,
exports2.STATUSES.ALREADY_REPORTED,
exports2.STATUSES.TRANSFORMATION_APPLIED,
exports2.STATUSES.IM_USED,
exports2.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,
exports2.STATUSES.MULTIPLE_CHOICES,
exports2.STATUSES.MOVED_PERMANENTLY,
exports2.STATUSES.FOUND,
exports2.STATUSES.SEE_OTHER,
exports2.STATUSES.NOT_MODIFIED,
exports2.STATUSES.USE_PROXY,
exports2.STATUSES.SWITCH_PROXY,
exports2.STATUSES.TEMPORARY_REDIRECT,
exports2.STATUSES.PERMANENT_REDIRECT,
exports2.STATUSES.BAD_REQUEST,
exports2.STATUSES.UNAUTHORIZED,
exports2.STATUSES.PAYMENT_REQUIRED,
exports2.STATUSES.FORBIDDEN,
exports2.STATUSES.NOT_FOUND,
exports2.STATUSES.METHOD_NOT_ALLOWED,
exports2.STATUSES.NOT_ACCEPTABLE,
exports2.STATUSES.PROXY_AUTHENTICATION_REQUIRED,
exports2.STATUSES.REQUEST_TIMEOUT,
exports2.STATUSES.CONFLICT,
exports2.STATUSES.GONE,
exports2.STATUSES.LENGTH_REQUIRED,
exports2.STATUSES.PRECONDITION_FAILED,
exports2.STATUSES.PAYLOAD_TOO_LARGE,
exports2.STATUSES.URI_TOO_LONG,
exports2.STATUSES.UNSUPPORTED_MEDIA_TYPE,
exports2.STATUSES.RANGE_NOT_SATISFIABLE,
exports2.STATUSES.EXPECTATION_FAILED,
exports2.STATUSES.IM_A_TEAPOT,
exports2.STATUSES.PAGE_EXPIRED,
exports2.STATUSES.ENHANCE_YOUR_CALM,
exports2.STATUSES.MISDIRECTED_REQUEST,
exports2.STATUSES.UNPROCESSABLE_ENTITY,
exports2.STATUSES.LOCKED,
exports2.STATUSES.FAILED_DEPENDENCY,
exports2.STATUSES.TOO_EARLY,
exports2.STATUSES.UPGRADE_REQUIRED,
exports2.STATUSES.PRECONDITION_REQUIRED,
exports2.STATUSES.TOO_MANY_REQUESTS,
exports2.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,
exports2.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,
exports2.STATUSES.LOGIN_TIMEOUT,
exports2.STATUSES.NO_RESPONSE,
exports2.STATUSES.RETRY_WITH,
exports2.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,
exports2.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,
exports2.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,
exports2.STATUSES.INVALID_X_FORWARDED_FOR,
exports2.STATUSES.REQUEST_HEADER_TOO_LARGE,
exports2.STATUSES.SSL_CERTIFICATE_ERROR,
exports2.STATUSES.SSL_CERTIFICATE_REQUIRED,
exports2.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,
exports2.STATUSES.INVALID_TOKEN,
exports2.STATUSES.CLIENT_CLOSED_REQUEST,
exports2.STATUSES.INTERNAL_SERVER_ERROR,
exports2.STATUSES.NOT_IMPLEMENTED,
exports2.STATUSES.BAD_GATEWAY,
exports2.STATUSES.SERVICE_UNAVAILABLE,
exports2.STATUSES.GATEWAY_TIMEOUT,
exports2.STATUSES.HTTP_VERSION_NOT_SUPPORTED,
exports2.STATUSES.VARIANT_ALSO_NEGOTIATES,
exports2.STATUSES.INSUFFICIENT_STORAGE,
exports2.STATUSES.LOOP_DETECTED,
exports2.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,
exports2.STATUSES.NOT_EXTENDED,
exports2.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,
exports2.STATUSES.WEB_SERVER_UNKNOWN_ERROR,
exports2.STATUSES.WEB_SERVER_IS_DOWN,
exports2.STATUSES.CONNECTION_TIMEOUT,
exports2.STATUSES.ORIGIN_IS_UNREACHABLE,
exports2.STATUSES.TIMEOUT_OCCURED,
exports2.STATUSES.SSL_HANDSHAKE_FAILED,
exports2.STATUSES.INVALID_SSL_CERTIFICATE,
exports2.STATUSES.RAILGUN_ERROR,
exports2.STATUSES.SITE_IS_OVERLOADED,
exports2.STATUSES.SITE_IS_FROZEN,
exports2.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,
exports2.STATUSES.NETWORK_READ_TIMEOUT,
exports2.STATUSES.NETWORK_CONNECT_TIMEOUT
];
exports2.ALPHA = [];
for (let i4 = "A".charCodeAt(0); i4 <= "Z".charCodeAt(0); i4++) {
exports2.ALPHA.push(String.fromCharCode(i4));
exports2.ALPHA.push(String.fromCharCode(i4 + 32));
}
exports2.NUM_MAP = {
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9
};
exports2.HEX_MAP = {
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9,
A: 10,
B: 11,
C: 12,
D: 13,
E: 14,
F: 15,
a: 10,
b: 11,
c: 12,
d: 13,
e: 14,
f: 15
};
exports2.NUM = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
];
exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
exports2.URL_CHAR = [
"!",
'"',
"$",
"%",
"&",
"'",
"(",
")",
"*",
"+",
",",
"-",
".",
"/",
":",
";",
"<",
"=",
">",
"@",
"[",
"\\",
"]",
"^",
"_",
"`",
"{",
"|",
"}",
"~"
].concat(exports2.ALPHANUM);
exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
exports2.TOKEN = [
"!",
"#",
"$",
"%",
"&",
"'",
"*",
"+",
"-",
".",
"^",
"_",
"`",
"|",
"~"
].concat(exports2.ALPHANUM);
exports2.HEADER_CHARS = [" "];
for (let i4 = 32; i4 <= 255; i4++) {
if (i4 !== 127) {
exports2.HEADER_CHARS.push(i4);
}
}
exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c3) => c3 !== 44);
exports2.QUOTED_STRING = [" ", " "];
for (let i4 = 33; i4 <= 255; i4++) {
if (i4 !== 34 && i4 !== 92) {
exports2.QUOTED_STRING.push(i4);
}
}
exports2.HTAB_SP_VCHAR_OBS_TEXT = [" ", " "];
for (let i4 = 33; i4 <= 126; i4++) {
exports2.HTAB_SP_VCHAR_OBS_TEXT.push(i4);
}
for (let i4 = 128; i4 <= 255; i4++) {
exports2.HTAB_SP_VCHAR_OBS_TEXT.push(i4);
}
exports2.MAJOR = exports2.NUM_MAP;
exports2.MINOR = exports2.MAJOR;
exports2.SPECIAL_HEADERS = {
"connection": exports2.HEADER_STATE.CONNECTION,
"content-length": exports2.HEADER_STATE.CONTENT_LENGTH,
"proxy-connection": exports2.HEADER_STATE.CONNECTION,
"transfer-encoding": exports2.HEADER_STATE.TRANSFER_ENCODING,
"upgrade": exports2.HEADER_STATE.UPGRADE
};
exports2.default = {
ERROR: exports2.ERROR,
TYPE: exports2.TYPE,
FLAGS: exports2.FLAGS,
LENIENT_FLAGS: exports2.LENIENT_FLAGS,
METHODS: exports2.METHODS,
STATUSES: exports2.STATUSES,
FINISH: exports2.FINISH,
HEADER_STATE: exports2.HEADER_STATE,
ALPHA: exports2.ALPHA,
NUM_MAP: exports2.NUM_MAP,
HEX_MAP: exports2.HEX_MAP,
NUM: exports2.NUM,
ALPHANUM: exports2.ALPHANUM,
MARK: exports2.MARK,
USERINFO_CHARS: exports2.USERINFO_CHARS,
URL_CHAR: exports2.URL_CHAR,
HEX: exports2.HEX,
TOKEN: exports2.TOKEN,
HEADER_CHARS: exports2.HEADER_CHARS,
CONNECTION_TOKEN_CHARS: exports2.CONNECTION_TOKEN_CHARS,
QUOTED_STRING: exports2.QUOTED_STRING,
HTAB_SP_VCHAR_OBS_TEXT: exports2.HTAB_SP_VCHAR_OBS_TEXT,
MAJOR: exports2.MAJOR,
MINOR: exports2.MINOR,
SPECIAL_HEADERS: exports2.SPECIAL_HEADERS,
METHODS_HTTP: exports2.METHODS_HTTP,
METHODS_ICE: exports2.METHODS_ICE,
METHODS_RTSP: exports2.METHODS_RTSP,
METHOD_MAP: exports2.METHOD_MAP,
H_METHOD_MAP: exports2.H_METHOD_MAP,
STATUSES_HTTP: exports2.STATUSES_HTTP
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/llhttp-wasm.js
var require_llhttp_wasm = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module2, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
var require_llhttp_simd_wasm = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCuzaAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module2, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/constants.js
var require_constants13 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
"use strict";
var corsSafeListedMethods = (
/** @type {const} */
["GET", "HEAD", "POST"]
);
var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
var nullBodyStatus = (
/** @type {const} */
[101, 204, 205, 304]
);
var redirectStatus = (
/** @type {const} */
[301, 302, 303, 307, 308]
);
var redirectStatusSet = new Set(redirectStatus);
var badPorts = (
/** @type {const} */
[
"1",
"7",
"9",
"11",
"13",
"15",
"17",
"19",
"20",
"21",
"22",
"23",
"25",
"37",
"42",
"43",
"53",
"69",
"77",
"79",
"87",
"95",
"101",
"102",
"103",
"104",
"109",
"110",
"111",
"113",
"115",
"117",
"119",
"123",
"135",
"137",
"139",
"143",
"161",
"179",
"389",
"427",
"465",
"512",
"513",
"514",
"515",
"526",
"530",
"531",
"532",
"540",
"548",
"554",
"556",
"563",
"587",
"601",
"636",
"989",
"990",
"993",
"995",
"1719",
"1720",
"1723",
"2049",
"3659",
"4045",
"4190",
"5060",
"5061",
"6000",
"6566",
"6665",
"6666",
"6667",
"6668",
"6669",
"6679",
"6697",
"10080"
]
);
var badPortsSet = new Set(badPorts);
var referrerPolicyTokens = (
/** @type {const} */
[
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
]
);
var referrerPolicy = (
/** @type {const} */
[
"",
...referrerPolicyTokens
]
);
var referrerPolicyTokensSet = new Set(referrerPolicyTokens);
var requestRedirect = (
/** @type {const} */
["follow", "manual", "error"]
);
var safeMethods = (
/** @type {const} */
["GET", "HEAD", "OPTIONS", "TRACE"]
);
var safeMethodsSet = new Set(safeMethods);
var requestMode = (
/** @type {const} */
["navigate", "same-origin", "no-cors", "cors"]
);
var requestCredentials = (
/** @type {const} */
["omit", "same-origin", "include"]
);
var requestCache = (
/** @type {const} */
[
"default",
"no-store",
"reload",
"no-cache",
"force-cache",
"only-if-cached"
]
);
var requestBodyHeader = (
/** @type {const} */
[
"content-encoding",
"content-language",
"content-location",
"content-type",
// See https://github.com/nodejs/undici/issues/2021
// 'Content-Length' is a forbidden header name, which is typically
// removed in the Headers implementation. However, undici doesn't
// filter out headers, so we add it here.
"content-length"
]
);
var requestDuplex = (
/** @type {const} */
[
"half"
]
);
var forbiddenMethods = (
/** @type {const} */
["CONNECT", "TRACE", "TRACK"]
);
var forbiddenMethodsSet = new Set(forbiddenMethods);
var subresource = (
/** @type {const} */
[
"audio",
"audioworklet",
"font",
"image",
"manifest",
"paintworklet",
"script",
"style",
"track",
"video",
"xslt",
""
]
);
var subresourceSet = new Set(subresource);
module2.exports = {
subresource,
forbiddenMethods,
requestBodyHeader,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
redirectStatus,
corsSafeListedMethods,
nullBodyStatus,
safeMethods,
badPorts,
requestDuplex,
subresourceSet,
badPortsSet,
redirectStatusSet,
corsSafeListedMethodsSet,
safeMethodsSet,
forbiddenMethodsSet,
referrerPolicyTokens: referrerPolicyTokensSet
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/global.js
var require_global = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
"use strict";
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
return globalThis[globalOrigin];
}
function setGlobalOrigin(newOrigin) {
if (newOrigin === void 0) {
Object.defineProperty(globalThis, globalOrigin, {
value: void 0,
writable: true,
enumerable: false,
configurable: false
});
return;
}
const parsedURL = new URL(newOrigin);
if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
}
Object.defineProperty(globalThis, globalOrigin, {
value: parsedURL,
writable: true,
enumerable: false,
configurable: false
});
}
module2.exports = {
getGlobalOrigin,
setGlobalOrigin
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/encoding/index.js
var require_encoding = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/encoding/index.js"(exports2, module2) {
"use strict";
var textDecoder2 = new TextDecoder();
function utf8DecodeBytes(buffer3) {
if (buffer3.length === 0) {
return "";
}
if (buffer3[0] === 239 && buffer3[1] === 187 && buffer3[2] === 191) {
buffer3 = buffer3.subarray(3);
}
const output = textDecoder2.decode(buffer3);
return output;
}
module2.exports = {
utf8DecodeBytes
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/infra/index.js
var require_infra = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/infra/index.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { utf8DecodeBytes } = require_encoding();
function collectASequenceOfCodePoints(condition, input, position3) {
let result2 = "";
while (position3.position < input.length && condition(input[position3.position])) {
result2 += input[position3.position];
position3.position++;
}
return result2;
}
function collectASequenceOfCodePointsFast(char, input, position3) {
const idx = input.indexOf(char, position3.position);
const start = position3.position;
if (idx === -1) {
position3.position = input.length;
return input.slice(start);
}
position3.position = idx;
return input.slice(start, position3.position);
}
var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
function forgivingBase64(data) {
data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
let dataLength = data.length;
if (dataLength % 4 === 0) {
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
}
}
}
if (dataLength % 4 === 1) {
return "failure";
}
if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
return "failure";
}
const buffer3 = Buffer.from(data, "base64");
return new Uint8Array(buffer3.buffer, buffer3.byteOffset, buffer3.byteLength);
}
function isASCIIWhitespace(char) {
return char === 9 || // \t
char === 10 || // \n
char === 12 || // \f
char === 13 || // \r
char === 32;
}
function isomorphicDecode(input) {
const length = input.length;
if ((2 << 15) - 1 > length) {
return String.fromCharCode.apply(null, input);
}
let result2 = "";
let i4 = 0;
let addition = (2 << 15) - 1;
while (i4 < length) {
if (i4 + addition > length) {
addition = length - i4;
}
result2 += String.fromCharCode.apply(null, input.subarray(i4, i4 += addition));
}
return result2;
}
var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
function isomorphicEncode(input) {
assert13(!invalidIsomorphicEncodeValueRegex.test(input));
return input;
}
function parseJSONFromBytes(bytes) {
return JSON.parse(utf8DecodeBytes(bytes));
}
function removeASCIIWhitespace(str2, leading = true, trailing = true) {
return removeChars(str2, leading, trailing, isASCIIWhitespace);
}
function removeChars(str2, leading, trailing, predicate) {
let lead = 0;
let trail = str2.length - 1;
if (leading) {
while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
}
if (trailing) {
while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
}
return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
}
function serializeJavascriptValueToJSONString(value) {
const result2 = JSON.stringify(value);
if (result2 === void 0) {
throw new TypeError("Value is not JSON serializable");
}
assert13(typeof result2 === "string");
return result2;
}
module2.exports = {
collectASequenceOfCodePoints,
collectASequenceOfCodePointsFast,
forgivingBase64,
isASCIIWhitespace,
isomorphicDecode,
isomorphicEncode,
parseJSONFromBytes,
removeASCIIWhitespace,
removeChars,
serializeJavascriptValueToJSONString
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/data-url.js
var require_data_url = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
var encoder = new TextEncoder();
var HTTP_TOKEN_CODEPOINTS = /^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u;
var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/u;
var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;
function dataURLProcessor(dataURL) {
assert13(dataURL.protocol === "data:");
let input = URLSerializer(dataURL, true);
input = input.slice(5);
const position3 = { position: 0 };
let mimeType = collectASequenceOfCodePointsFast(
",",
input,
position3
);
const mimeTypeLength = mimeType.length;
mimeType = removeASCIIWhitespace(mimeType, true, true);
if (position3.position >= input.length) {
return "failure";
}
position3.position++;
const encodedBody = input.slice(mimeTypeLength + 1);
let body = stringPercentDecode(encodedBody);
if (/;(?:\u0020*)base64$/ui.test(mimeType)) {
const stringBody = isomorphicDecode(body);
body = forgivingBase64(stringBody);
if (body === "failure") {
return "failure";
}
mimeType = mimeType.slice(0, -6);
mimeType = mimeType.replace(/(\u0020+)$/u, "");
mimeType = mimeType.slice(0, -1);
}
if (mimeType.startsWith(";")) {
mimeType = "text/plain" + mimeType;
}
let mimeTypeRecord = parseMIMEType(mimeType);
if (mimeTypeRecord === "failure") {
mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
}
return { mimeType: mimeTypeRecord, body };
}
function URLSerializer(url7, excludeFragment = false) {
if (!excludeFragment) {
return url7.href;
}
const href = url7.href;
const hashLength = url7.hash.length;
const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
if (!hashLength && href.endsWith("#")) {
return serialized.slice(0, -1);
}
return serialized;
}
function stringPercentDecode(input) {
const bytes = encoder.encode(input);
return percentDecode(bytes);
}
function isHexCharByte(byte) {
return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
}
function hexByteToNumber(byte) {
return (
// 0-9
byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
);
}
function percentDecode(input) {
const length = input.length;
const output = new Uint8Array(length);
let j2 = 0;
let i4 = 0;
while (i4 < length) {
const byte = input[i4];
if (byte !== 37) {
output[j2++] = byte;
} else if (byte === 37 && !(isHexCharByte(input[i4 + 1]) && isHexCharByte(input[i4 + 2]))) {
output[j2++] = 37;
} else {
output[j2++] = hexByteToNumber(input[i4 + 1]) << 4 | hexByteToNumber(input[i4 + 2]);
i4 += 2;
}
++i4;
}
return length === j2 ? output : output.subarray(0, j2);
}
function parseMIMEType(input) {
input = removeHTTPWhitespace(input, true, true);
const position3 = { position: 0 };
const type4 = collectASequenceOfCodePointsFast(
"/",
input,
position3
);
if (type4.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type4)) {
return "failure";
}
if (position3.position >= input.length) {
return "failure";
}
position3.position++;
let subtype = collectASequenceOfCodePointsFast(
";",
input,
position3
);
subtype = removeHTTPWhitespace(subtype, false, true);
if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
return "failure";
}
const typeLowercase = type4.toLowerCase();
const subtypeLowercase = subtype.toLowerCase();
const mimeType = {
type: typeLowercase,
subtype: subtypeLowercase,
/** @type {Map<string, string>} */
parameters: /* @__PURE__ */ new Map(),
// https://mimesniff.spec.whatwg.org/#mime-type-essence
essence: `${typeLowercase}/${subtypeLowercase}`
};
while (position3.position < input.length) {
position3.position++;
collectASequenceOfCodePoints(
// https://fetch.spec.whatwg.org/#http-whitespace
(char) => HTTP_WHITESPACE_REGEX.test(char),
input,
position3
);
let parameterName = collectASequenceOfCodePoints(
(char) => char !== ";" && char !== "=",
input,
position3
);
parameterName = parameterName.toLowerCase();
if (position3.position < input.length) {
if (input[position3.position] === ";") {
continue;
}
position3.position++;
}
if (position3.position >= input.length) {
break;
}
let parameterValue = null;
if (input[position3.position] === '"') {
parameterValue = collectAnHTTPQuotedString(input, position3, true);
collectASequenceOfCodePointsFast(
";",
input,
position3
);
} else {
parameterValue = collectASequenceOfCodePointsFast(
";",
input,
position3
);
parameterValue = removeHTTPWhitespace(parameterValue, false, true);
if (parameterValue.length === 0) {
continue;
}
}
if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
mimeType.parameters.set(parameterName, parameterValue);
}
}
return mimeType;
}
function collectAnHTTPQuotedString(input, position3, extractValue = false) {
const positionStart = position3.position;
let value = "";
assert13(input[position3.position] === '"');
position3.position++;
while (true) {
value += collectASequenceOfCodePoints(
(char) => char !== '"' && char !== "\\",
input,
position3
);
if (position3.position >= input.length) {
break;
}
const quoteOrBackslash = input[position3.position];
position3.position++;
if (quoteOrBackslash === "\\") {
if (position3.position >= input.length) {
value += "\\";
break;
}
value += input[position3.position];
position3.position++;
} else {
assert13(quoteOrBackslash === '"');
break;
}
}
if (extractValue) {
return value;
}
return input.slice(positionStart, position3.position);
}
function serializeAMimeType(mimeType) {
assert13(mimeType !== "failure");
const { parameters, essence } = mimeType;
let serialization = essence;
for (let [name, value] of parameters.entries()) {
serialization += ";";
serialization += name;
serialization += "=";
if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
value = value.replace(/[\\"]/ug, "\\$&");
value = '"' + value;
value += '"';
}
serialization += value;
}
return serialization;
}
function isHTTPWhiteSpace(char) {
return char === 13 || char === 10 || char === 9 || char === 32;
}
function removeHTTPWhitespace(str2, leading = true, trailing = true) {
return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
}
function minimizeSupportedMimeType(mimeType) {
switch (mimeType.essence) {
case "application/ecmascript":
case "application/javascript":
case "application/x-ecmascript":
case "application/x-javascript":
case "text/ecmascript":
case "text/javascript":
case "text/javascript1.0":
case "text/javascript1.1":
case "text/javascript1.2":
case "text/javascript1.3":
case "text/javascript1.4":
case "text/javascript1.5":
case "text/jscript":
case "text/livescript":
case "text/x-ecmascript":
case "text/x-javascript":
return "text/javascript";
case "application/json":
case "text/json":
return "application/json";
case "image/svg+xml":
return "image/svg+xml";
case "text/xml":
case "application/xml":
return "application/xml";
}
if (mimeType.subtype.endsWith("+json")) {
return "application/json";
}
if (mimeType.subtype.endsWith("+xml")) {
return "application/xml";
}
return "";
}
module2.exports = {
dataURLProcessor,
URLSerializer,
stringPercentDecode,
parseMIMEType,
collectAnHTTPQuotedString,
serializeAMimeType,
removeHTTPWhitespace,
minimizeSupportedMimeType,
HTTP_TOKEN_CODEPOINTS
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/runtime-features.js
var require_runtime_features = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/runtime-features.js"(exports2, module2) {
"use strict";
var lazyLoaders = {
__proto__: null,
"node:crypto": () => __require("node:crypto"),
"node:sqlite": () => __require("node:sqlite"),
"node:worker_threads": () => __require("node:worker_threads"),
"node:zlib": () => __require("node:zlib")
};
function detectRuntimeFeatureByNodeModule(moduleName) {
try {
lazyLoaders[moduleName]();
return true;
} catch (err2) {
if (err2.code !== "ERR_UNKNOWN_BUILTIN_MODULE" && err2.code !== "ERR_NO_CRYPTO") {
throw err2;
}
return false;
}
}
function detectRuntimeFeatureByExportedProperty(moduleName, property) {
const module3 = lazyLoaders[moduleName]();
return typeof module3[property] !== "undefined";
}
var runtimeFeaturesByExportedProperty = (
/** @type {const} */
["markAsUncloneable", "zstd"]
);
var exportedPropertyLookup = {
markAsUncloneable: ["node:worker_threads", "markAsUncloneable"],
zstd: ["node:zlib", "createZstdDecompress"]
};
var runtimeFeaturesAsNodeModule = (
/** @type {const} */
["crypto", "sqlite"]
);
var features = (
/** @type {const} */
[
...runtimeFeaturesAsNodeModule,
...runtimeFeaturesByExportedProperty
]
);
function detectRuntimeFeature(feature) {
if (runtimeFeaturesAsNodeModule.includes(
/** @type {RuntimeFeatureByNodeModule} */
feature
)) {
return detectRuntimeFeatureByNodeModule(`node:${feature}`);
} else if (runtimeFeaturesByExportedProperty.includes(
/** @type {RuntimeFeatureByExportedProperty} */
feature
)) {
const [moduleName, property] = exportedPropertyLookup[feature];
return detectRuntimeFeatureByExportedProperty(moduleName, property);
}
throw new TypeError(`unknown feature: ${feature}`);
}
var RuntimeFeatures = class {
/** @type {Map<Feature, boolean>} */
#map = /* @__PURE__ */ new Map();
/**
* Clears all cached feature detections.
*/
clear() {
this.#map.clear();
}
/**
* @param {Feature} feature
* @returns {boolean}
*/
has(feature) {
return this.#map.get(feature) ?? this.#detectRuntimeFeature(feature);
}
/**
* @param {Feature} feature
* @param {boolean} value
*/
set(feature, value) {
if (features.includes(feature) === false) {
throw new TypeError(`unknown feature: ${feature}`);
}
this.#map.set(feature, value);
}
/**
* @param {Feature} feature
* @returns {boolean}
*/
#detectRuntimeFeature(feature) {
const result2 = detectRuntimeFeature(feature);
this.#map.set(feature, result2);
return result2;
}
};
var instance = new RuntimeFeatures();
module2.exports.runtimeFeatures = instance;
module2.exports.default = instance;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/webidl/index.js
var require_webidl = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/webidl/index.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { types: types3, inspect: inspect3 } = __require("node:util");
var { runtimeFeatures } = require_runtime_features();
var UNDEFINED = 1;
var BOOLEAN = 2;
var STRING = 3;
var SYMBOL = 4;
var NUMBER = 5;
var BIGINT = 6;
var NULL = 7;
var OBJECT = 8;
var FunctionPrototypeSymbolHasInstance = Function.call.bind(Function.prototype[Symbol.hasInstance]);
var webidl = {
converters: {},
util: {},
errors: {},
is: {}
};
webidl.errors.exception = function(message) {
return new TypeError(`${message.header}: ${message.message}`);
};
webidl.errors.conversionFailed = function(opts3) {
const plural2 = opts3.types.length === 1 ? "" : " one of";
const message = `${opts3.argument} could not be converted to${plural2}: ${opts3.types.join(", ")}.`;
return webidl.errors.exception({
header: opts3.prefix,
message
});
};
webidl.errors.invalidArgument = function(context) {
return webidl.errors.exception({
header: context.prefix,
message: `"${context.value}" is an invalid ${context.type}.`
});
};
webidl.brandCheck = function(V, I3) {
if (!FunctionPrototypeSymbolHasInstance(I3, V)) {
const err2 = new TypeError("Illegal invocation");
err2.code = "ERR_INVALID_THIS";
throw err2;
}
};
webidl.brandCheckMultiple = function(List) {
const prototypes = List.map((c3) => webidl.util.MakeTypeAssertion(c3));
return (V) => {
if (prototypes.every((typeCheck) => !typeCheck(V))) {
const err2 = new TypeError("Illegal invocation");
err2.code = "ERR_INVALID_THIS";
throw err2;
}
};
};
webidl.argumentLengthCheck = function({ length }, min, ctx) {
if (length < min) {
throw webidl.errors.exception({
message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
header: ctx
});
}
};
webidl.illegalConstructor = function() {
throw webidl.errors.exception({
header: "TypeError",
message: "Illegal constructor"
});
};
webidl.util.MakeTypeAssertion = function(I3) {
return (O2) => FunctionPrototypeSymbolHasInstance(I3, O2);
};
webidl.util.Type = function(V) {
switch (typeof V) {
case "undefined":
return UNDEFINED;
case "boolean":
return BOOLEAN;
case "string":
return STRING;
case "symbol":
return SYMBOL;
case "number":
return NUMBER;
case "bigint":
return BIGINT;
case "function":
case "object": {
if (V === null) {
return NULL;
}
return OBJECT;
}
}
};
webidl.util.Types = {
UNDEFINED,
BOOLEAN,
STRING,
SYMBOL,
NUMBER,
BIGINT,
NULL,
OBJECT
};
webidl.util.TypeValueToString = function(o2) {
switch (webidl.util.Type(o2)) {
case UNDEFINED:
return "Undefined";
case BOOLEAN:
return "Boolean";
case STRING:
return "String";
case SYMBOL:
return "Symbol";
case NUMBER:
return "Number";
case BIGINT:
return "BigInt";
case NULL:
return "Null";
case OBJECT:
return "Object";
}
};
webidl.util.markAsUncloneable = runtimeFeatures.has("markAsUncloneable") ? __require("node:worker_threads").markAsUncloneable : () => {
};
webidl.util.ConvertToInt = function(V, bitLength2, signedness, flags) {
let upperBound;
let lowerBound2;
if (bitLength2 === 64) {
upperBound = Math.pow(2, 53) - 1;
if (signedness === "unsigned") {
lowerBound2 = 0;
} else {
lowerBound2 = Math.pow(-2, 53) + 1;
}
} else if (signedness === "unsigned") {
lowerBound2 = 0;
upperBound = Math.pow(2, bitLength2) - 1;
} else {
lowerBound2 = -Math.pow(2, bitLength2 - 1);
upperBound = Math.pow(2, bitLength2 - 1) - 1;
}
let x3 = Number(V);
if (x3 === 0) {
x3 = 0;
}
if (webidl.util.HasFlag(flags, webidl.attributes.EnforceRange)) {
if (Number.isNaN(x3) || x3 === Number.POSITIVE_INFINITY || x3 === Number.NEGATIVE_INFINITY) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
});
}
x3 = webidl.util.IntegerPart(x3);
if (x3 < lowerBound2 || x3 > upperBound) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Value must be between ${lowerBound2}-${upperBound}, got ${x3}.`
});
}
return x3;
}
if (!Number.isNaN(x3) && webidl.util.HasFlag(flags, webidl.attributes.Clamp)) {
x3 = Math.min(Math.max(x3, lowerBound2), upperBound);
if (Math.floor(x3) % 2 === 0) {
x3 = Math.floor(x3);
} else {
x3 = Math.ceil(x3);
}
return x3;
}
if (Number.isNaN(x3) || x3 === 0 && Object.is(0, x3) || x3 === Number.POSITIVE_INFINITY || x3 === Number.NEGATIVE_INFINITY) {
return 0;
}
x3 = webidl.util.IntegerPart(x3);
x3 = x3 % Math.pow(2, bitLength2);
if (signedness === "signed" && x3 >= Math.pow(2, bitLength2 - 1)) {
return x3 - Math.pow(2, bitLength2);
}
return x3;
};
webidl.util.IntegerPart = function(n2) {
const r = Math.floor(Math.abs(n2));
if (n2 < 0) {
return -1 * r;
}
return r;
};
webidl.util.Stringify = function(V) {
const type4 = webidl.util.Type(V);
switch (type4) {
case SYMBOL:
return `Symbol(${V.description})`;
case OBJECT:
return inspect3(V);
case STRING:
return `"${V}"`;
case BIGINT:
return `${V}n`;
default:
return `${V}`;
}
};
webidl.util.IsResizableArrayBuffer = function(V) {
if (types3.isArrayBuffer(V)) {
return V.resizable;
}
if (types3.isSharedArrayBuffer(V)) {
return V.growable;
}
throw webidl.errors.exception({
header: "IsResizableArrayBuffer",
message: `"${webidl.util.Stringify(V)}" is not an array buffer.`
});
};
webidl.util.HasFlag = function(flags, attributes) {
return typeof flags === "number" && (flags & attributes) === attributes;
};
webidl.sequenceConverter = function(converter) {
return (V, prefix, argument, Iterable) => {
if (webidl.util.Type(V) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
});
}
const method2 = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
const seq2 = [];
let index2 = 0;
if (method2 === void 0 || typeof method2.next !== "function") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is not iterable.`
});
}
while (true) {
const { done, value } = method2.next();
if (done) {
break;
}
seq2.push(converter(value, prefix, `${argument}[${index2++}]`));
}
return seq2;
};
};
webidl.recordConverter = function(keyConverter, valueConverter) {
return (O2, prefix, argument) => {
if (webidl.util.Type(O2) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} ("${webidl.util.TypeValueToString(O2)}") is not an Object.`
});
}
const result2 = {};
if (!types3.isProxy(O2)) {
const keys5 = [...Object.getOwnPropertyNames(O2), ...Object.getOwnPropertySymbols(O2)];
for (const key of keys5) {
const keyName = webidl.util.Stringify(key);
const typedKey = keyConverter(key, prefix, `Key ${keyName} in ${argument}`);
const typedValue = valueConverter(O2[key], prefix, `${argument}[${keyName}]`);
result2[typedKey] = typedValue;
}
return result2;
}
const keys4 = Reflect.ownKeys(O2);
for (const key of keys4) {
const desc = Reflect.getOwnPropertyDescriptor(O2, key);
if (desc?.enumerable) {
const typedKey = keyConverter(key, prefix, argument);
const typedValue = valueConverter(O2[key], prefix, argument);
result2[typedKey] = typedValue;
}
}
return result2;
};
};
webidl.interfaceConverter = function(TypeCheck, name) {
return (V, prefix, argument) => {
if (!TypeCheck(V)) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${name}.`
});
}
return V;
};
};
webidl.dictionaryConverter = function(converters) {
converters.sort((a2, b) => (a2.key > b.key) - (a2.key < b.key));
return (dictionary, prefix, argument) => {
const dict = {};
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
});
}
for (const options of converters) {
const { key, defaultValue, required, converter } = options;
if (required === true) {
if (dictionary == null || !Object.hasOwn(dictionary, key)) {
throw webidl.errors.exception({
header: prefix,
message: `Missing required key "${key}".`
});
}
}
let value = dictionary?.[key];
const hasDefault = defaultValue !== void 0;
if (hasDefault && value === void 0) {
value = defaultValue();
}
if (required || hasDefault || value !== void 0) {
value = converter(value, prefix, `${argument}.${key}`);
if (options.allowedValues && !options.allowedValues.includes(value)) {
throw webidl.errors.exception({
header: prefix,
message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
});
}
dict[key] = value;
}
}
return dict;
};
};
webidl.nullableConverter = function(converter) {
return (V, prefix, argument) => {
if (V === null) {
return V;
}
return converter(V, prefix, argument);
};
};
webidl.is.USVString = function(value) {
return typeof value === "string" && value.isWellFormed();
};
webidl.is.ReadableStream = webidl.util.MakeTypeAssertion(ReadableStream);
webidl.is.Blob = webidl.util.MakeTypeAssertion(Blob);
webidl.is.URLSearchParams = webidl.util.MakeTypeAssertion(URLSearchParams);
webidl.is.File = webidl.util.MakeTypeAssertion(File);
webidl.is.URL = webidl.util.MakeTypeAssertion(URL);
webidl.is.AbortSignal = webidl.util.MakeTypeAssertion(AbortSignal);
webidl.is.MessagePort = webidl.util.MakeTypeAssertion(MessagePort);
webidl.is.BufferSource = function(V) {
return types3.isArrayBuffer(V) || ArrayBuffer.isView(V) && types3.isArrayBuffer(V.buffer);
};
webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) {
const jsBufferSource = bufferSource;
let jsArrayBuffer = jsBufferSource;
let offset = 0;
let length = 0;
if (types3.isTypedArray(jsBufferSource) || types3.isDataView(jsBufferSource)) {
jsArrayBuffer = jsBufferSource.buffer;
offset = jsBufferSource.byteOffset;
length = jsBufferSource.byteLength;
} else {
assert13(types3.isAnyArrayBuffer(jsBufferSource));
length = jsBufferSource.byteLength;
}
if (jsArrayBuffer.detached) {
return new Uint8Array(0);
}
const bytes = new Uint8Array(length);
const view = new Uint8Array(jsArrayBuffer, offset, length);
bytes.set(view);
return bytes;
};
webidl.converters.DOMString = function(V, prefix, argument, flags) {
if (V === null && webidl.util.HasFlag(flags, webidl.attributes.LegacyNullToEmptyString)) {
return "";
}
if (typeof V === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a DOMString.`
});
}
return String(V);
};
webidl.converters.ByteString = function(V, prefix, argument) {
if (typeof V === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a ByteString.`
});
}
const x3 = String(V);
for (let index2 = 0; index2 < x3.length; index2++) {
if (x3.charCodeAt(index2) > 255) {
throw new TypeError(
`Cannot convert argument to a ByteString because the character at index ${index2} has a value of ${x3.charCodeAt(index2)} which is greater than 255.`
);
}
}
return x3;
};
webidl.converters.USVString = function(value) {
if (typeof value === "string") {
return value.toWellFormed();
}
return `${value}`.toWellFormed();
};
webidl.converters.boolean = function(V) {
const x3 = Boolean(V);
return x3;
};
webidl.converters.any = function(V) {
return V;
};
webidl.converters["long long"] = function(V, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V, 64, "signed", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned long long"] = function(V, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V, 64, "unsigned", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned long"] = function(V, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V, 32, "unsigned", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned short"] = function(V, prefix, argument, flags) {
const x3 = webidl.util.ConvertToInt(V, 16, "unsigned", flags, prefix, argument);
return x3;
};
webidl.converters.ArrayBuffer = function(V, prefix, argument, flags) {
if (webidl.util.Type(V) !== OBJECT || !types3.isArrayBuffer(V)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["ArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable ArrayBuffer.`
});
}
return V;
};
webidl.converters.SharedArrayBuffer = function(V, prefix, argument, flags) {
if (webidl.util.Type(V) !== OBJECT || !types3.isSharedArrayBuffer(V)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["SharedArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable SharedArrayBuffer.`
});
}
return V;
};
webidl.converters.TypedArray = function(V, T2, prefix, argument, flags) {
if (webidl.util.Type(V) !== OBJECT || !types3.isTypedArray(V) || V.constructor.name !== T2.name) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: [T2.name]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V;
};
webidl.converters.DataView = function(V, prefix, argument, flags) {
if (webidl.util.Type(V) !== OBJECT || !types3.isDataView(V)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["DataView"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V;
};
webidl.converters.ArrayBufferView = function(V, prefix, argument, flags) {
if (webidl.util.Type(V) !== OBJECT || !types3.isArrayBufferView(V)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["ArrayBufferView"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V;
};
webidl.converters.BufferSource = function(V, prefix, argument, flags) {
if (types3.isArrayBuffer(V)) {
return webidl.converters.ArrayBuffer(V, prefix, argument, flags);
}
if (types3.isArrayBufferView(V)) {
flags &= ~webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V, prefix, argument, flags);
}
if (types3.isSharedArrayBuffer(V)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a SharedArrayBuffer.`
});
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["ArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters.AllowSharedBufferSource = function(V, prefix, argument, flags) {
if (types3.isArrayBuffer(V)) {
return webidl.converters.ArrayBuffer(V, prefix, argument, flags);
}
if (types3.isSharedArrayBuffer(V)) {
return webidl.converters.SharedArrayBuffer(V, prefix, argument, flags);
}
if (types3.isArrayBufferView(V)) {
flags |= webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V, prefix, argument, flags);
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V)}")`,
types: ["ArrayBuffer", "SharedArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter(
webidl.converters.ByteString
);
webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter(
webidl.converters["sequence<ByteString>"]
);
webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter(
webidl.converters.ByteString,
webidl.converters.ByteString
);
webidl.converters.Blob = webidl.interfaceConverter(webidl.is.Blob, "Blob");
webidl.converters.AbortSignal = webidl.interfaceConverter(
webidl.is.AbortSignal,
"AbortSignal"
);
webidl.converters.EventHandlerNonNull = function(V) {
if (webidl.util.Type(V) !== OBJECT) {
return null;
}
if (typeof V === "function") {
return V;
}
return () => {
};
};
webidl.attributes = {
Clamp: 1 << 0,
EnforceRange: 1 << 1,
AllowShared: 1 << 2,
AllowResizable: 1 << 3,
LegacyNullToEmptyString: 1 << 4
};
module2.exports = {
webidl
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/util.js
var require_util5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var zlib2 = __require("node:zlib");
var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants13();
var { getGlobalOrigin } = require_global();
var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
var { performance: performance2 } = __require("node:perf_hooks");
var { ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util4();
var assert13 = __require("node:assert");
var { isUint8Array: isUint8Array3 } = __require("node:util/types");
var { webidl } = require_webidl();
var { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra();
function responseURL(response) {
const urlList = response.urlList;
const length = urlList.length;
return length === 0 ? null : urlList[length - 1].toString();
}
function responseLocationURL(response, requestFragment) {
if (!redirectStatusSet.has(response.status)) {
return null;
}
let location = response.headersList.get("location", true);
if (location !== null && isValidHeaderValue(location)) {
if (!isValidEncodedURL(location)) {
location = normalizeBinaryStringToUtf8(location);
}
location = new URL(location, responseURL(response));
}
if (location && !location.hash) {
location.hash = requestFragment;
}
return location;
}
function isValidEncodedURL(url7) {
for (let i4 = 0; i4 < url7.length; ++i4) {
const code = url7.charCodeAt(i4);
if (code > 126 || // Non-US-ASCII + DEL
code < 32) {
return false;
}
}
return true;
}
function normalizeBinaryStringToUtf8(value) {
return Buffer.from(value, "binary").toString("utf8");
}
function requestCurrentURL(request) {
return request.urlList[request.urlList.length - 1];
}
function requestBadPort(request) {
const url7 = requestCurrentURL(request);
if (urlIsHttpHttpsScheme(url7) && badPortsSet.has(url7.port)) {
return "blocked";
}
return "allowed";
}
function isErrorLike(object) {
return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
}
function isValidReasonPhrase(statusText) {
for (let i4 = 0; i4 < statusText.length; ++i4) {
const c3 = statusText.charCodeAt(i4);
if (!(c3 === 9 || // HTAB
c3 >= 32 && c3 <= 126 || // SP / VCHAR
c3 >= 128 && c3 <= 255)) {
return false;
}
}
return true;
}
var isValidHeaderName = isValidHTTPToken;
function isValidHeaderValue(potentialValue) {
return (potentialValue[0] === " " || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
}
function parseReferrerPolicy(actualResponse) {
const policyHeader = (actualResponse.headersList.get("referrer-policy", true) ?? "").split(",");
let policy = "";
if (policyHeader.length) {
for (let i4 = policyHeader.length; i4 !== 0; i4--) {
const token = policyHeader[i4 - 1].trim();
if (referrerPolicyTokens.has(token)) {
policy = token;
break;
}
}
}
return policy;
}
function setRequestReferrerPolicyOnRedirect(request, actualResponse) {
const policy = parseReferrerPolicy(actualResponse);
if (policy !== "") {
request.referrerPolicy = policy;
}
}
function crossOriginResourcePolicyCheck() {
return "allowed";
}
function corsCheck() {
return "success";
}
function TAOCheck() {
return "success";
}
function appendFetchMetadata(httpRequest) {
let header = null;
header = httpRequest.mode;
httpRequest.headersList.set("sec-fetch-mode", header, true);
}
function appendRequestOriginHeader(request) {
let serializedOrigin = request.origin;
if (serializedOrigin === "client" || serializedOrigin === void 0) {
return;
}
if (request.responseTainting === "cors" || request.mode === "websocket") {
request.headersList.append("origin", serializedOrigin, true);
} else if (request.method !== "GET" && request.method !== "HEAD") {
switch (request.referrerPolicy) {
case "no-referrer":
serializedOrigin = null;
break;
case "no-referrer-when-downgrade":
case "strict-origin":
case "strict-origin-when-cross-origin":
if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
case "same-origin":
if (!sameOrigin(request, requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
default:
}
request.headersList.append("origin", serializedOrigin, true);
}
}
function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
return timestamp2;
}
function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
return {
domainLookupStartTime: defaultStartTime,
domainLookupEndTime: defaultStartTime,
connectionStartTime: defaultStartTime,
connectionEndTime: defaultStartTime,
secureConnectionStartTime: defaultStartTime,
ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
};
}
return {
domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
};
}
function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
}
function createOpaqueTimingInfo(timingInfo) {
return {
startTime: timingInfo.startTime ?? 0,
redirectStartTime: 0,
redirectEndTime: 0,
postRedirectStartTime: timingInfo.startTime ?? 0,
finalServiceWorkerStartTime: 0,
finalNetworkResponseStartTime: 0,
finalNetworkRequestStartTime: 0,
endTime: 0,
encodedBodySize: 0,
decodedBodySize: 0,
finalConnectionTimingInfo: null
};
}
function makePolicyContainer() {
return {
referrerPolicy: "strict-origin-when-cross-origin"
};
}
function clonePolicyContainer(policyContainer) {
return {
referrerPolicy: policyContainer.referrerPolicy
};
}
function determineRequestsReferrer(request) {
const policy = request.referrerPolicy;
assert13(policy);
let referrerSource = null;
if (request.referrer === "client") {
const globalOrigin = getGlobalOrigin();
if (!globalOrigin || globalOrigin.origin === "null") {
return "no-referrer";
}
referrerSource = new URL(globalOrigin);
} else if (webidl.is.URL(request.referrer)) {
referrerSource = request.referrer;
}
let referrerURL = stripURLForReferrer(referrerSource);
const referrerOrigin = stripURLForReferrer(referrerSource, true);
if (referrerURL.toString().length > 4096) {
referrerURL = referrerOrigin;
}
switch (policy) {
case "no-referrer":
return "no-referrer";
case "origin":
if (referrerOrigin != null) {
return referrerOrigin;
}
return stripURLForReferrer(referrerSource, true);
case "unsafe-url":
return referrerURL;
case "strict-origin": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "strict-origin-when-cross-origin": {
const currentURL = requestCurrentURL(request);
if (sameOrigin(referrerURL, currentURL)) {
return referrerURL;
}
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "same-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return "no-referrer";
case "origin-when-cross-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return referrerOrigin;
case "no-referrer-when-downgrade": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerURL;
}
}
}
function stripURLForReferrer(url7, originOnly = false) {
assert13(webidl.is.URL(url7));
url7 = new URL(url7);
if (urlIsLocal(url7)) {
return "no-referrer";
}
url7.username = "";
url7.password = "";
url7.hash = "";
if (originOnly === true) {
url7.pathname = "";
url7.search = "";
}
return url7;
}
var isPotentialleTrustworthyIPv4 = RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/);
var isPotentiallyTrustworthyIPv6 = RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);
function isOriginIPPotentiallyTrustworthy(origin) {
if (origin.includes(":")) {
if (origin[0] === "[" && origin[origin.length - 1] === "]") {
origin = origin.slice(1, -1);
}
return isPotentiallyTrustworthyIPv6(origin);
}
return isPotentialleTrustworthyIPv4(origin);
}
function isOriginPotentiallyTrustworthy(origin) {
if (origin == null || origin === "null") {
return false;
}
origin = new URL(origin);
if (origin.protocol === "https:" || origin.protocol === "wss:") {
return true;
}
if (isOriginIPPotentiallyTrustworthy(origin.hostname)) {
return true;
}
if (origin.hostname === "localhost" || origin.hostname === "localhost.") {
return true;
}
if (origin.hostname.endsWith(".localhost") || origin.hostname.endsWith(".localhost.")) {
return true;
}
if (origin.protocol === "file:") {
return true;
}
return false;
}
function isURLPotentiallyTrustworthy(url7) {
if (!webidl.is.URL(url7)) {
return false;
}
if (url7.href === "about:blank" || url7.href === "about:srcdoc") {
return true;
}
if (url7.protocol === "data:") return true;
if (url7.protocol === "blob:") return true;
return isOriginPotentiallyTrustworthy(url7.origin);
}
function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {
}
function sameOrigin(A2, B) {
if (A2.origin === B.origin && A2.origin === "null") {
return true;
}
if (A2.protocol === B.protocol && A2.hostname === B.hostname && A2.port === B.port) {
return true;
}
return false;
}
function isAborted(fetchParams) {
return fetchParams.controller.state === "aborted";
}
function isCancelled(fetchParams) {
return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
}
function normalizeMethod(method2) {
return normalizedMethodRecordsBase[method2.toLowerCase()] ?? method2;
}
var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
class FastIterableIterator {
/** @type {any} */
#target;
/** @type {'key' | 'value' | 'key+value'} */
#kind;
/** @type {number} */
#index;
/**
* @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
* @param {unknown} target
* @param {'key' | 'value' | 'key+value'} kind
*/
constructor(target2, kind) {
this.#target = target2;
this.#kind = kind;
this.#index = 0;
}
next() {
if (typeof this !== "object" || this === null || !(#target in this)) {
throw new TypeError(
`'next' called on an object that does not implement interface ${name} Iterator.`
);
}
const index2 = this.#index;
const values = kInternalIterator(this.#target);
const len = values.length;
if (index2 >= len) {
return {
value: void 0,
done: true
};
}
const { [keyIndex]: key, [valueIndex]: value } = values[index2];
this.#index = index2 + 1;
let result2;
switch (this.#kind) {
case "key":
result2 = key;
break;
case "value":
result2 = value;
break;
case "key+value":
result2 = [key, value];
break;
}
return {
value: result2,
done: false
};
}
}
delete FastIterableIterator.prototype.constructor;
Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
Object.defineProperties(FastIterableIterator.prototype, {
[Symbol.toStringTag]: {
writable: false,
enumerable: false,
configurable: true,
value: `${name} Iterator`
},
next: { writable: true, enumerable: true, configurable: true }
});
return function(target2, kind) {
return new FastIterableIterator(target2, kind);
};
}
function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
const properties = {
keys: {
writable: true,
enumerable: true,
configurable: true,
value: function keys4() {
webidl.brandCheck(this, object);
return makeIterator(this, "key");
}
},
values: {
writable: true,
enumerable: true,
configurable: true,
value: function values() {
webidl.brandCheck(this, object);
return makeIterator(this, "value");
}
},
entries: {
writable: true,
enumerable: true,
configurable: true,
value: function entries() {
webidl.brandCheck(this, object);
return makeIterator(this, "key+value");
}
},
forEach: {
writable: true,
enumerable: true,
configurable: true,
value: function forEach(callbackfn, thisArg = globalThis) {
webidl.brandCheck(this, object);
webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
if (typeof callbackfn !== "function") {
throw new TypeError(
`Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
);
}
for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
callbackfn.call(thisArg, value, key, this);
}
}
}
};
return Object.defineProperties(object.prototype, {
...properties,
[Symbol.iterator]: {
writable: true,
enumerable: false,
configurable: true,
value: properties.entries.value
}
});
}
function fullyReadBody(body, processBody, processBodyError) {
const successSteps = processBody;
const errorSteps = processBodyError;
try {
const reader = body.stream.getReader();
readAllBytes(reader, successSteps, errorSteps);
} catch (e) {
errorSteps(e);
}
}
function readableStreamClose(controller) {
try {
controller.close();
controller.byobRequest?.respond(0);
} catch (err2) {
if (!err2.message.includes("Controller is already closed") && !err2.message.includes("ReadableStream is already closed")) {
throw err2;
}
}
}
async function readAllBytes(reader, successSteps, failureSteps) {
try {
const bytes = [];
let byteLength2 = 0;
do {
const { done, value: chunk } = await reader.read();
if (done) {
successSteps(Buffer.concat(bytes, byteLength2));
return;
}
if (!isUint8Array3(chunk)) {
failureSteps(new TypeError("Received non-Uint8Array chunk"));
return;
}
bytes.push(chunk);
byteLength2 += chunk.length;
} while (true);
} catch (e) {
failureSteps(e);
}
}
function urlIsLocal(url7) {
assert13("protocol" in url7);
const protocol = url7.protocol;
return protocol === "about:" || protocol === "blob:" || protocol === "data:";
}
function urlHasHttpsScheme(url7) {
return typeof url7 === "string" && url7[5] === ":" && url7[0] === "h" && url7[1] === "t" && url7[2] === "t" && url7[3] === "p" && url7[4] === "s" || url7.protocol === "https:";
}
function urlIsHttpHttpsScheme(url7) {
assert13("protocol" in url7);
const protocol = url7.protocol;
return protocol === "http:" || protocol === "https:";
}
function simpleRangeHeaderValue(value, allowWhitespace) {
const data = value;
if (!data.startsWith("bytes")) {
return "failure";
}
const position3 = { position: 5 };
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position3
);
}
if (data.charCodeAt(position3.position) !== 61) {
return "failure";
}
position3.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position3
);
}
const rangeStart = collectASequenceOfCodePoints(
(char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
},
data,
position3
);
const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position3
);
}
if (data.charCodeAt(position3.position) !== 45) {
return "failure";
}
position3.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position3
);
}
const rangeEnd = collectASequenceOfCodePoints(
(char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
},
data,
position3
);
const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
if (position3.position < data.length) {
return "failure";
}
if (rangeEndValue === null && rangeStartValue === null) {
return "failure";
}
if (rangeStartValue > rangeEndValue) {
return "failure";
}
return { rangeStartValue, rangeEndValue };
}
function buildContentRange(rangeStart, rangeEnd, fullLength) {
let contentRange = "bytes ";
contentRange += isomorphicEncode(`${rangeStart}`);
contentRange += "-";
contentRange += isomorphicEncode(`${rangeEnd}`);
contentRange += "/";
contentRange += isomorphicEncode(`${fullLength}`);
return contentRange;
}
var InflateStream = class extends Transform2 {
#zlibOptions;
/** @param {zlib.ZlibOptions} [zlibOptions] */
constructor(zlibOptions) {
super();
this.#zlibOptions = zlibOptions;
}
_transform(chunk, encoding, callback2) {
if (!this._inflateStream) {
if (chunk.length === 0) {
callback2();
return;
}
this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
this._inflateStream.on("data", this.push.bind(this));
this._inflateStream.on("end", () => this.push(null));
this._inflateStream.on("error", (err2) => this.destroy(err2));
}
this._inflateStream.write(chunk, encoding, callback2);
}
_final(callback2) {
if (this._inflateStream) {
this._inflateStream.end();
this._inflateStream = null;
}
callback2();
}
};
function createInflate(zlibOptions) {
return new InflateStream(zlibOptions);
}
function extractMimeType(headers) {
let charset = null;
let essence = null;
let mimeType = null;
const values = getDecodeSplit("content-type", headers);
if (values === null) {
return "failure";
}
for (const value of values) {
const temporaryMimeType = parseMIMEType(value);
if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
continue;
}
mimeType = temporaryMimeType;
if (mimeType.essence !== essence) {
charset = null;
if (mimeType.parameters.has("charset")) {
charset = mimeType.parameters.get("charset");
}
essence = mimeType.essence;
} else if (!mimeType.parameters.has("charset") && charset !== null) {
mimeType.parameters.set("charset", charset);
}
}
if (mimeType == null) {
return "failure";
}
return mimeType;
}
function gettingDecodingSplitting(value) {
const input = value;
const position3 = { position: 0 };
const values = [];
let temporaryValue = "";
while (position3.position < input.length) {
temporaryValue += collectASequenceOfCodePoints(
(char) => char !== '"' && char !== ",",
input,
position3
);
if (position3.position < input.length) {
if (input.charCodeAt(position3.position) === 34) {
temporaryValue += collectAnHTTPQuotedString(
input,
position3
);
if (position3.position < input.length) {
continue;
}
} else {
assert13(input.charCodeAt(position3.position) === 44);
position3.position++;
}
}
temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
values.push(temporaryValue);
temporaryValue = "";
}
return values;
}
function getDecodeSplit(name, list2) {
const value = list2.get(name, true);
if (value === null) {
return null;
}
return gettingDecodingSplitting(value);
}
function hasAuthenticationEntry(request) {
return false;
}
function includesCredentials(url7) {
return !!(url7.username || url7.password);
}
function isTraversableNavigable(navigable) {
return navigable != null && navigable !== "client" && navigable !== "no-traversable";
}
var EnvironmentSettingsObjectBase = class {
get baseUrl() {
return getGlobalOrigin();
}
get origin() {
return this.baseUrl?.origin;
}
policyContainer = makePolicyContainer();
};
var EnvironmentSettingsObject = class {
settingsObject = new EnvironmentSettingsObjectBase();
};
var environmentSettingsObject = new EnvironmentSettingsObject();
module2.exports = {
isAborted,
isCancelled,
isValidEncodedURL,
ReadableStreamFrom,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
clampAndCoarsenConnectionTimingInfo,
coarsenedSharedCurrentTime,
determineRequestsReferrer,
makePolicyContainer,
clonePolicyContainer,
appendFetchMetadata,
appendRequestOriginHeader,
TAOCheck,
corsCheck,
crossOriginResourcePolicyCheck,
createOpaqueTimingInfo,
setRequestReferrerPolicyOnRedirect,
isValidHTTPToken,
requestBadPort,
requestCurrentURL,
responseURL,
responseLocationURL,
isURLPotentiallyTrustworthy,
isValidReasonPhrase,
sameOrigin,
normalizeMethod,
iteratorMixin,
createIterator,
isValidHeaderName,
isValidHeaderValue,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlHasHttpsScheme,
urlIsHttpHttpsScheme,
readAllBytes,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
getDecodeSplit,
environmentSettingsObject,
isOriginIPPotentiallyTrustworthy,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/formdata.js
var require_formdata = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
"use strict";
var { iteratorMixin } = require_util5();
var { kEnumerableProperty } = require_util4();
var { webidl } = require_webidl();
var nodeUtil = __require("node:util");
var FormData = class _FormData {
#state = [];
constructor(form = void 0) {
webidl.util.markAsUncloneable(this);
if (form !== void 0) {
throw webidl.errors.conversionFailed({
prefix: "FormData constructor",
argument: "Argument 1",
types: ["undefined"]
});
}
}
append(name, value, filename = void 0) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.append";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.USVString(name);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== void 0) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name, value, filename);
this.#state.push(entry);
}
delete(name) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
this.#state = this.#state.filter((entry) => entry.name !== name);
}
get(name) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.get";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
const idx = this.#state.findIndex((entry) => entry.name === name);
if (idx === -1) {
return null;
}
return this.#state[idx].value;
}
getAll(name) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.getAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
return this.#state.filter((entry) => entry.name === name).map((entry) => entry.value);
}
has(name) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
return this.#state.findIndex((entry) => entry.name === name) !== -1;
}
set(name, value, filename = void 0) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.set";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.USVString(name);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== void 0) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name, value, filename);
const idx = this.#state.findIndex((entry2) => entry2.name === name);
if (idx !== -1) {
this.#state = [
...this.#state.slice(0, idx),
entry,
...this.#state.slice(idx + 1).filter((entry2) => entry2.name !== name)
];
} else {
this.#state.push(entry);
}
}
[nodeUtil.inspect.custom](depth, options) {
const state = this.#state.reduce((a2, b) => {
if (a2[b.name]) {
if (Array.isArray(a2[b.name])) {
a2[b.name].push(b.value);
} else {
a2[b.name] = [a2[b.name], b.value];
}
} else {
a2[b.name] = b.value;
}
return a2;
}, { __proto__: null });
options.depth ??= depth;
options.colors ??= true;
const output = nodeUtil.formatWithOptions(options, state);
return `FormData ${output.slice(output.indexOf("]") + 2)}`;
}
/**
* @param {FormData} formData
*/
static getFormDataState(formData) {
return formData.#state;
}
/**
* @param {FormData} formData
* @param {any[]} newState
*/
static setFormDataState(formData, newState) {
formData.#state = newState;
}
};
var { getFormDataState, setFormDataState } = FormData;
Reflect.deleteProperty(FormData, "getFormDataState");
Reflect.deleteProperty(FormData, "setFormDataState");
iteratorMixin("FormData", FormData, getFormDataState, "name", "value");
Object.defineProperties(FormData.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
getAll: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "FormData",
configurable: true
}
});
function makeEntry(name, value, filename) {
if (typeof value === "string") {
} else {
if (!webidl.is.File(value)) {
value = new File([value], "blob", { type: value.type });
}
if (filename !== void 0) {
const options = {
type: value.type,
lastModified: value.lastModified
};
value = new File([value], filename, options);
}
}
return { name, value };
}
webidl.is.FormData = webidl.util.MakeTypeAssertion(FormData);
module2.exports = { FormData, makeEntry, setFormDataState };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/formdata-parser.js
var require_formdata_parser = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
"use strict";
var { bufferToLowerCasedHeaderName } = require_util4();
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
var { makeEntry } = require_formdata();
var { webidl } = require_webidl();
var assert13 = __require("node:assert");
var { isomorphicDecode } = require_infra();
var dd = Buffer.from("--");
var decoder2 = new TextDecoder();
var decoderIgnoreBOM = new TextDecoder("utf-8", { ignoreBOM: true });
function isAsciiString(chars) {
for (let i4 = 0; i4 < chars.length; ++i4) {
if ((chars.charCodeAt(i4) & ~127) !== 0) {
return false;
}
}
return true;
}
function validateBoundary(boundary) {
const length = boundary.length;
if (length < 27 || length > 70) {
return false;
}
for (let i4 = 0; i4 < length; ++i4) {
const cp = boundary.charCodeAt(i4);
if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
return false;
}
}
return true;
}
function multipartFormDataParser(input, mimeType) {
assert13(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
const boundaryString = mimeType.parameters.get("boundary");
if (boundaryString === void 0) {
throw parsingError("missing boundary in content-type header");
}
const boundary = Buffer.from(`--${boundaryString}`, "utf8");
const entryList = [];
const position3 = { position: 0 };
const firstBoundaryIndex = input.indexOf(boundary);
if (firstBoundaryIndex === -1) {
throw parsingError("no boundary found in multipart body");
}
position3.position = firstBoundaryIndex;
while (true) {
if (input.subarray(position3.position, position3.position + boundary.length).equals(boundary)) {
position3.position += boundary.length;
} else {
throw parsingError("expected a value starting with -- and the boundary");
}
if (bufferStartsWith(input, dd, position3)) {
return entryList;
}
if (input[position3.position] !== 13 || input[position3.position + 1] !== 10) {
throw parsingError("expected CRLF");
}
position3.position += 2;
const result2 = parseMultipartFormDataHeaders(input, position3);
let { name, filename, contentType, encoding } = result2;
position3.position += 2;
let body;
{
const boundaryIndex = input.indexOf(boundary.subarray(2), position3.position);
if (boundaryIndex === -1) {
throw parsingError("expected boundary after body");
}
body = input.subarray(position3.position, boundaryIndex - 4);
position3.position += body.length;
if (encoding === "base64") {
body = Buffer.from(body.toString(), "base64");
}
}
if (input[position3.position] !== 13 || input[position3.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position3.position += 2;
}
let value;
if (filename !== null) {
contentType ??= "text/plain";
if (!isAsciiString(contentType)) {
contentType = "";
}
value = new File([body], filename, { type: contentType });
} else {
value = decoderIgnoreBOM.decode(Buffer.from(body));
}
assert13(webidl.is.USVString(name));
assert13(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
entryList.push(makeEntry(name, value, filename));
}
}
function parseContentDispositionAttribute(input, position3) {
if (input[position3.position] === 59) {
position3.position++;
}
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position3
);
const attributeName = collectASequenceOfBytes(
(char) => isToken(char) && char !== 61 && char !== 42,
// not = or *
input,
position3
);
if (attributeName.length === 0) {
return null;
}
const attrNameStr = attributeName.toString("ascii").toLowerCase();
const isExtended = input[position3.position] === 42;
if (isExtended) {
position3.position++;
}
if (input[position3.position] !== 61) {
return null;
}
position3.position++;
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position3
);
let value;
if (isExtended) {
const headerValue = collectASequenceOfBytes(
(char) => char !== 32 && char !== 13 && char !== 10 && char !== 59,
// not space, CRLF, or ;
input,
position3
);
if (headerValue[0] !== 117 && headerValue[0] !== 85 || // u or U
headerValue[1] !== 116 && headerValue[1] !== 84 || // t or T
headerValue[2] !== 102 && headerValue[2] !== 70 || // f or F
headerValue[3] !== 45 || // -
headerValue[4] !== 56) {
throw parsingError("unknown encoding, expected utf-8''");
}
value = decodeURIComponent(decoder2.decode(headerValue.subarray(7)));
} else if (input[position3.position] === 34) {
position3.position++;
const quotedValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13 && char !== 34,
// not LF, CR, or "
input,
position3
);
if (input[position3.position] !== 34) {
throw parsingError("Closing quote not found");
}
position3.position++;
value = decoder2.decode(quotedValue).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
} else {
const tokenValue = collectASequenceOfBytes(
(char) => isToken(char) && char !== 59,
// not ;
input,
position3
);
value = decoder2.decode(tokenValue);
}
return { name: attrNameStr, value, extended: isExtended };
}
function parseMultipartFormDataHeaders(input, position3) {
let name = null;
let filename = null;
let contentType = null;
let encoding = null;
while (true) {
if (input[position3.position] === 13 && input[position3.position + 1] === 10) {
if (name === null) {
throw parsingError("header name is null");
}
return { name, filename, contentType, encoding };
}
let headerName = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13 && char !== 58,
input,
position3
);
headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
throw parsingError("header name does not match the field-name token production");
}
if (input[position3.position] !== 58) {
throw parsingError("expected :");
}
position3.position++;
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position3
);
switch (bufferToLowerCasedHeaderName(headerName)) {
case "content-disposition": {
name = filename = null;
let filenameIsExtended = false;
const dispositionType = collectASequenceOfBytes(
(char) => isToken(char),
input,
position3
);
if (dispositionType.toString("ascii").toLowerCase() !== "form-data") {
throw parsingError("expected form-data for content-disposition header");
}
while (position3.position < input.length && (input[position3.position] !== 13 || input[position3.position + 1] !== 10)) {
const attribute = parseContentDispositionAttribute(input, position3);
if (!attribute) {
break;
}
if (attribute.name === "name") {
name = attribute.value;
} else if (attribute.name === "filename") {
if (attribute.extended) {
filename = attribute.value;
filenameIsExtended = true;
} else if (!filenameIsExtended) {
filename = attribute.value;
}
}
}
if (name === null) {
throw parsingError("name attribute is required in content-disposition header");
}
break;
}
case "content-type": {
let headerValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position3
);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
contentType = isomorphicDecode(headerValue);
break;
}
case "content-transfer-encoding": {
let headerValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position3
);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
encoding = isomorphicDecode(headerValue);
break;
}
default: {
collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position3
);
}
}
if (input[position3.position] !== 13 || input[position3.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position3.position += 2;
}
}
}
function collectASequenceOfBytes(condition, input, position3) {
let start = position3.position;
while (start < input.length && condition(input[start])) {
++start;
}
return input.subarray(position3.position, position3.position = start);
}
function removeChars(buf, leading, trailing, predicate) {
let lead = 0;
let trail = buf.length - 1;
if (leading) {
while (lead < buf.length && predicate(buf[lead])) lead++;
}
if (trailing) {
while (trail > 0 && predicate(buf[trail])) trail--;
}
return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
}
function bufferStartsWith(buffer3, start, position3) {
if (buffer3.length < start.length) {
return false;
}
for (let i4 = 0; i4 < start.length; i4++) {
if (start[i4] !== buffer3[position3.position + i4]) {
return false;
}
}
return true;
}
function parsingError(cause) {
return new TypeError("Failed to parse body as FormData.", { cause: new TypeError(cause) });
}
function isCTL(char) {
return char <= 31 || char === 127;
}
function isTSpecial(char) {
return char === 40 || // (
char === 41 || // )
char === 60 || // <
char === 62 || // >
char === 64 || // @
char === 44 || // ,
char === 59 || // ;
char === 58 || // :
char === 92 || // \
char === 34 || // "
char === 47 || // /
char === 91 || // [
char === 93 || // ]
char === 63 || // ?
char === 61;
}
function isToken(char) {
return char <= 127 && // ascii
char !== 32 && // space
char !== 9 && !isCTL(char) && !isTSpecial(char);
}
module2.exports = {
multipartFormDataParser,
validateBoundary
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/promise.js
var require_promise = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/promise.js"(exports2, module2) {
"use strict";
function createDeferredPromise() {
let res;
let rej;
const promise2 = new Promise((resolve4, reject3) => {
res = resolve4;
rej = reject3;
});
return { promise: promise2, resolve: res, reject: rej };
}
module2.exports = {
createDeferredPromise
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/body.js
var require_body = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
"use strict";
var util64 = require_util4();
var {
ReadableStreamFrom,
readableStreamClose,
fullyReadBody,
extractMimeType
} = require_util5();
var { FormData, setFormDataState } = require_formdata();
var { webidl } = require_webidl();
var assert13 = __require("node:assert");
var { isErrored, isDisturbed } = __require("node:stream");
var { isUint8Array: isUint8Array3 } = __require("node:util/types");
var { serializeAMimeType } = require_data_url();
var { multipartFormDataParser } = require_formdata_parser();
var { createDeferredPromise } = require_promise();
var { parseJSONFromBytes } = require_infra();
var { utf8DecodeBytes } = require_encoding();
var { runtimeFeatures } = require_runtime_features();
var random2 = runtimeFeatures.has("crypto") ? __require("node:crypto").randomInt : (max4) => Math.floor(Math.random() * max4);
var textEncoder4 = new TextEncoder();
function noop5() {
}
var streamRegistry = new FinalizationRegistry((weakRef) => {
const stream2 = weakRef.deref();
if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
stream2.cancel("Response object has been garbage collected").catch(noop5);
}
});
function extractBody(object, keepalive = false) {
let stream2 = null;
let controller = null;
if (webidl.is.ReadableStream(object)) {
stream2 = object;
} else if (webidl.is.Blob(object)) {
stream2 = object.stream();
} else {
stream2 = new ReadableStream({
pull() {
},
start(c3) {
controller = c3;
},
cancel() {
},
type: "bytes"
});
}
assert13(webidl.is.ReadableStream(stream2));
let action = null;
let source = null;
let length = null;
let type4 = null;
if (typeof object === "string") {
source = object;
type4 = "text/plain;charset=UTF-8";
} else if (webidl.is.URLSearchParams(object)) {
source = object.toString();
type4 = "application/x-www-form-urlencoded;charset=UTF-8";
} else if (webidl.is.BufferSource(object)) {
source = webidl.util.getCopyOfBytesHeldByBufferSource(object);
} else if (webidl.is.FormData(object)) {
const boundary = `----formdata-undici-0${`${random2(1e11)}`.padStart(11, "0")}`;
const prefix = `--${boundary}\r
Content-Disposition: form-data`;
const formdataEscape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
const blobParts = [];
const rn = new Uint8Array([13, 10]);
length = 0;
let hasUnknownSizeValue = false;
for (const [name, value] of object) {
if (typeof value === "string") {
const chunk2 = textEncoder4.encode(prefix + `; name="${formdataEscape(normalizeLinefeeds(name))}"\r
\r
${normalizeLinefeeds(value)}\r
`);
blobParts.push(chunk2);
length += chunk2.byteLength;
} else {
const chunk2 = textEncoder4.encode(`${prefix}; name="${formdataEscape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${formdataEscape(value.name)}"` : "") + `\r
Content-Type: ${value.type || "application/octet-stream"}\r
\r
`);
blobParts.push(chunk2, value, rn);
if (typeof value.size === "number") {
length += chunk2.byteLength + value.size + rn.byteLength;
} else {
hasUnknownSizeValue = true;
}
}
}
const chunk = textEncoder4.encode(`--${boundary}--\r
`);
blobParts.push(chunk);
length += chunk.byteLength;
if (hasUnknownSizeValue) {
length = null;
}
source = object;
action = async function* () {
for (const part of blobParts) {
if (part.stream) {
yield* part.stream();
} else {
yield part;
}
}
};
type4 = `multipart/form-data; boundary=${boundary}`;
} else if (webidl.is.Blob(object)) {
source = object;
length = object.size;
if (object.type) {
type4 = object.type;
}
} else if (typeof object[Symbol.asyncIterator] === "function") {
if (keepalive) {
throw new TypeError("keepalive");
}
if (util64.isDisturbed(object) || object.locked) {
throw new TypeError(
"Response body object should not be disturbed or locked"
);
}
stream2 = webidl.is.ReadableStream(object) ? object : ReadableStreamFrom(object);
}
if (typeof source === "string" || isUint8Array3(source)) {
action = () => {
length = typeof source === "string" ? Buffer.byteLength(source) : source.length;
return source;
};
}
if (action != null) {
;
(async () => {
const result2 = action();
const iterator = result2?.[Symbol.asyncIterator]?.();
if (iterator) {
for await (const bytes of iterator) {
if (isErrored(stream2)) break;
if (bytes.length) {
controller.enqueue(new Uint8Array(bytes));
}
}
} else if (result2?.length && !isErrored(stream2)) {
controller.enqueue(typeof result2 === "string" ? textEncoder4.encode(result2) : new Uint8Array(result2));
}
queueMicrotask(() => readableStreamClose(controller));
})();
}
const body = { stream: stream2, source, length };
return [body, type4];
}
function safelyExtractBody(object, keepalive = false) {
if (webidl.is.ReadableStream(object)) {
assert13(!util64.isDisturbed(object), "The body has already been consumed.");
assert13(!object.locked, "The stream is locked.");
}
return extractBody(object, keepalive);
}
function cloneBody(body) {
const { 0: out1, 1: out2 } = body.stream.tee();
body.stream = out1;
return {
stream: out2,
length: body.length,
source: body.source
};
}
function bodyMixinMethods(instance, getInternalState) {
const methods = {
blob() {
return consumeBody(this, (bytes) => {
let mimeType = bodyMimeType(getInternalState(this));
if (mimeType === null) {
mimeType = "";
} else if (mimeType) {
mimeType = serializeAMimeType(mimeType);
}
return new Blob([bytes], { type: mimeType });
}, instance, getInternalState);
},
arrayBuffer() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes).buffer;
}, instance, getInternalState);
},
text() {
return consumeBody(this, utf8DecodeBytes, instance, getInternalState);
},
json() {
return consumeBody(this, parseJSONFromBytes, instance, getInternalState);
},
formData() {
return consumeBody(this, (value) => {
const mimeType = bodyMimeType(getInternalState(this));
if (mimeType !== null) {
switch (mimeType.essence) {
case "multipart/form-data": {
const parsed = multipartFormDataParser(value, mimeType);
const fd2 = new FormData();
setFormDataState(fd2, parsed);
return fd2;
}
case "application/x-www-form-urlencoded": {
const entries = new URLSearchParams(value.toString());
const fd2 = new FormData();
for (const [name, value2] of entries) {
fd2.append(name, value2);
}
return fd2;
}
}
}
throw new TypeError(
'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
);
}, instance, getInternalState);
},
bytes() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes);
}, instance, getInternalState);
}
};
return methods;
}
function mixinBody(prototype, getInternalState) {
Object.assign(prototype.prototype, bodyMixinMethods(prototype, getInternalState));
}
function consumeBody(object, convertBytesToJSValue, instance, getInternalState) {
try {
webidl.brandCheck(object, instance);
} catch (e) {
return Promise.reject(e);
}
object = getInternalState(object);
if (bodyUnusable(object)) {
return Promise.reject(new TypeError("Body is unusable: Body has already been read"));
}
const promise2 = createDeferredPromise();
const errorSteps = promise2.reject;
const successSteps = (data) => {
try {
promise2.resolve(convertBytesToJSValue(data));
} catch (e) {
errorSteps(e);
}
};
if (object.body == null) {
successSteps(Buffer.allocUnsafe(0));
return promise2.promise;
}
fullyReadBody(object.body, successSteps, errorSteps);
return promise2.promise;
}
function bodyUnusable(object) {
const body = object.body;
return body != null && (body.stream.locked || util64.isDisturbed(body.stream));
}
function bodyMimeType(requestOrResponse) {
const headers = requestOrResponse.headersList;
const mimeType = extractMimeType(headers);
if (mimeType === "failure") {
return null;
}
return mimeType;
}
module2.exports = {
extractBody,
safelyExtractBody,
cloneBody,
mixinBody,
streamRegistry,
bodyUnusable
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client-h1.js
var require_client_h1 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var util64 = require_util4();
var { channels } = require_diagnostics();
var timers = require_timers();
var {
RequestContentLengthMismatchError,
ResponseContentLengthMismatchError,
RequestAbortedError,
HeadersTimeoutError,
HeadersOverflowError,
SocketError,
InformationalError,
BodyTimeoutError,
HTTPParserError,
ResponseExceededMaxSizeError
} = require_errors4();
var {
kUrl,
kReset,
kClient,
kParser,
kBlocking,
kRunning,
kPending,
kSize,
kWriting,
kQueue,
kNoRef,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kSocket,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kMaxRequests,
kCounter,
kMaxResponseSize,
kOnError,
kResume,
kHTTPContext,
kClosed
} = require_symbols();
var constants6 = require_constants12();
var EMPTY_BUF = Buffer.alloc(0);
var FastBuffer = Buffer[Symbol.species];
var removeAllListeners = util64.removeAllListeners;
var kIdleSocketValidation = /* @__PURE__ */ Symbol("kIdleSocketValidation");
var kIdleSocketValidationTimeout = /* @__PURE__ */ Symbol("kIdleSocketValidationTimeout");
var kSocketUsed = /* @__PURE__ */ Symbol("kSocketUsed");
var extractBody;
function lazyllhttp() {
const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
let mod2;
let useWasmSIMD = process.arch !== "ppc64";
if (process.env.UNDICI_NO_WASM_SIMD === "1") {
useWasmSIMD = false;
} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
useWasmSIMD = true;
}
if (useWasmSIMD) {
try {
mod2 = new WebAssembly.Module(require_llhttp_simd_wasm());
} catch {
}
}
if (!mod2) {
mod2 = new WebAssembly.Module(llhttpWasmData || require_llhttp_wasm());
}
return new WebAssembly.Instance(mod2, {
env: {
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_url: (p, at, len) => {
return 0;
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_status: (p, at, len) => {
assert13(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len));
},
/**
* @param {number} p
* @returns {number}
*/
wasm_on_message_begin: (p) => {
assert13(currentParser.ptr === p);
return currentParser.onMessageBegin();
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_header_field: (p, at, len) => {
assert13(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len));
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_header_value: (p, at, len) => {
assert13(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len));
},
/**
* @param {number} p
* @param {number} statusCode
* @param {0|1} upgrade
* @param {0|1} shouldKeepAlive
* @returns {number}
*/
wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
assert13(currentParser.ptr === p);
return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1);
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_body: (p, at, len) => {
assert13(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len));
},
/**
* @param {number} p
* @returns {number}
*/
wasm_on_message_complete: (p) => {
assert13(currentParser.ptr === p);
return currentParser.onMessageComplete();
}
}
});
}
var llhttpInstance = null;
var currentParser = null;
var currentBufferRef = null;
var currentBufferSize = 0;
var currentBufferPtr = null;
var USE_NATIVE_TIMER = 0;
var USE_FAST_TIMER = 1;
var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
var Parser = class {
/**
* @param {import('./client.js')} client
* @param {import('net').Socket} socket
* @param {*} llhttp
*/
constructor(client, socket, { exports: exports3 }) {
this.llhttp = exports3;
this.ptr = this.llhttp.llhttp_alloc(constants6.TYPE.RESPONSE);
this.client = client;
this.socket = socket;
this.timeout = null;
this.timeoutWeakRef = new WeakRef(this);
this.timeoutValue = null;
this.timeoutType = null;
this.statusCode = 0;
this.statusText = "";
this.upgrade = false;
this.headers = [];
this.headersSize = 0;
this.headersMaxSize = client[kMaxHeadersSize];
this.shouldKeepAlive = false;
this.paused = false;
this.resume = this.resume.bind(this);
this.bytesRead = 0;
this.keepAlive = "";
this.contentLength = "";
this.connection = "";
this.maxResponseSize = client[kMaxResponseSize];
}
setTimeout(delay, type4) {
if (delay !== this.timeoutValue || type4 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
if (this.timeout) {
timers.clearTimeout(this.timeout);
this.timeout = null;
}
if (delay) {
if (type4 & USE_FAST_TIMER) {
this.timeout = timers.setFastTimeout(onParserTimeout, delay, this.timeoutWeakRef);
} else {
this.timeout = setTimeout(onParserTimeout, delay, this.timeoutWeakRef);
this.timeout?.unref();
}
}
this.timeoutValue = delay;
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.timeoutType = type4;
}
resume() {
if (this.socket.destroyed || !this.paused) {
return;
}
assert13(this.ptr != null);
assert13(currentParser === null);
this.llhttp.llhttp_resume(this.ptr);
assert13(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.paused = false;
this.execute(this.socket.read() || EMPTY_BUF);
this.readMore();
}
readMore() {
while (!this.paused && this.ptr) {
const chunk = this.socket.read();
if (chunk === null) {
break;
}
this.execute(chunk);
}
}
/**
* @param {Buffer} chunk
*/
execute(chunk) {
assert13(currentParser === null);
assert13(this.ptr != null);
assert13(!this.paused);
const { socket, llhttp } = this;
if (chunk.length > currentBufferSize) {
if (currentBufferPtr) {
llhttp.free(currentBufferPtr);
}
currentBufferSize = Math.ceil(chunk.length / 4096) * 4096;
currentBufferPtr = llhttp.malloc(currentBufferSize);
}
new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(chunk);
try {
let ret2;
try {
currentBufferRef = chunk;
currentParser = this;
ret2 = llhttp.llhttp_execute(this.ptr, currentBufferPtr, chunk.length);
} finally {
currentParser = null;
currentBufferRef = null;
}
if (ret2 !== constants6.ERROR.OK) {
const data = chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr);
if (ret2 === constants6.ERROR.PAUSED_UPGRADE) {
this.onUpgrade(data);
} else if (ret2 === constants6.ERROR.PAUSED) {
this.paused = true;
socket.unshift(data);
} else {
throw this.createError(ret2, data);
}
}
} catch (err2) {
util64.destroy(socket, err2);
}
}
finish() {
assert13(currentParser === null);
assert13(this.ptr != null);
assert13(!this.paused);
const { llhttp } = this;
let ret2;
try {
currentParser = this;
ret2 = llhttp.llhttp_finish(this.ptr);
} finally {
currentParser = null;
}
if (ret2 === constants6.ERROR.OK) {
return null;
}
if (ret2 === constants6.ERROR.PAUSED || ret2 === constants6.ERROR.PAUSED_UPGRADE) {
this.paused = true;
return null;
}
return this.createError(ret2, EMPTY_BUF);
}
createError(ret2, data) {
const { llhttp, contentLength, bytesRead } = this;
if (contentLength && bytesRead !== parseInt(contentLength, 10)) {
return new ResponseContentLengthMismatchError();
}
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
let message = "";
if (ptr) {
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
}
return new HTTPParserError(message, constants6.ERROR[ret2], data);
}
destroy() {
assert13(currentParser === null);
assert13(this.ptr != null);
this.llhttp.llhttp_free(this.ptr);
this.ptr = null;
this.timeout && timers.clearTimeout(this.timeout);
this.timeout = null;
this.timeoutValue = null;
this.timeoutType = null;
this.paused = false;
}
/**
* @param {Buffer} buf
* @returns {0}
*/
onStatus(buf) {
this.statusText = buf.toString();
return 0;
}
/**
* @returns {0|-1}
*/
onMessageBegin() {
const { socket, client } = this;
if (socket.destroyed) {
return -1;
}
if (client[kRunning] === 0) {
util64.destroy(socket, new SocketError("bad response", util64.getSocketInfo(socket)));
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
request.onResponseStarted();
return 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onHeaderField(buf) {
const len = this.headers.length;
if ((len & 1) === 0) {
this.headers.push(buf);
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
this.trackHeader(buf.length);
return 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onHeaderValue(buf) {
let len = this.headers.length;
if ((len & 1) === 1) {
this.headers.push(buf);
len += 1;
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
const key = this.headers[len - 2];
if (key.length === 10) {
const headerName = util64.bufferToLowerCasedHeaderName(key);
if (headerName === "keep-alive") {
this.keepAlive += buf.toString();
} else if (headerName === "connection") {
this.connection += buf.toString();
}
} else if (key.length === 14 && util64.bufferToLowerCasedHeaderName(key) === "content-length") {
this.contentLength += buf.toString();
}
this.trackHeader(buf.length);
return 0;
}
/**
* @param {number} len
*/
trackHeader(len) {
this.headersSize += len;
if (this.headersSize >= this.headersMaxSize) {
util64.destroy(this.socket, new HeadersOverflowError());
}
}
/**
* @param {Buffer} head
*/
onUpgrade(head2) {
const { upgrade, client, socket, headers, statusCode } = this;
assert13(upgrade);
assert13(client[kSocket] === socket);
assert13(!socket.destroyed);
assert13(!this.paused);
assert13((headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert13(request);
assert13(request.upgrade || request.method === "CONNECT");
this.statusCode = 0;
this.statusText = "";
this.shouldKeepAlive = false;
this.headers = [];
this.headersSize = 0;
socket.unshift(head2);
socket[kParser].destroy();
socket[kParser] = null;
socket[kClient] = null;
socket[kError] = null;
removeAllListeners(socket);
client[kSocket] = null;
client[kHTTPContext] = null;
client[kQueue][client[kRunningIdx]++] = null;
client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
try {
request.onUpgrade(statusCode, headers, socket);
} catch (err2) {
util64.destroy(socket, err2);
}
client[kResume]();
}
/**
* @param {number} statusCode
* @param {boolean} upgrade
* @param {boolean} shouldKeepAlive
* @returns {number}
*/
onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
const { client, socket, headers, statusText } = this;
if (socket.destroyed) {
return -1;
}
if (client[kRunning] === 0) {
util64.destroy(socket, new SocketError("bad response", util64.getSocketInfo(socket)));
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
assert13(!this.upgrade);
assert13(this.statusCode < 200);
if (statusCode === 100) {
util64.destroy(socket, new SocketError("bad response", util64.getSocketInfo(socket)));
return -1;
}
if (upgrade && !request.upgrade) {
util64.destroy(socket, new SocketError("bad upgrade", util64.getSocketInfo(socket)));
return -1;
}
assert13(this.timeoutType === TIMEOUT_HEADERS);
this.statusCode = statusCode;
this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
if (this.statusCode >= 200) {
const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];
this.setTimeout(bodyTimeout, TIMEOUT_BODY);
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
if (request.method === "CONNECT") {
assert13(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
if (upgrade) {
assert13(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
assert13((this.headers.length & 1) === 0);
this.headers = [];
this.headersSize = 0;
if (this.shouldKeepAlive && client[kPipelining]) {
const keepAliveTimeout = this.keepAlive ? util64.parseKeepAliveTimeout(this.keepAlive) : null;
if (keepAliveTimeout != null) {
const timeout = Math.min(
keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
client[kKeepAliveMaxTimeout]
);
if (timeout <= 0) {
socket[kReset] = true;
} else {
client[kKeepAliveTimeoutValue] = timeout;
}
} else {
client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
}
} else {
socket[kReset] = true;
}
const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;
if (request.aborted) {
return -1;
}
if (request.method === "HEAD") {
return 1;
}
if (statusCode < 200) {
return 1;
}
if (socket[kBlocking]) {
socket[kBlocking] = false;
client[kResume]();
}
return pause ? constants6.ERROR.PAUSED : 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onBody(buf) {
const { client, socket, statusCode, maxResponseSize } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
assert13(request);
assert13(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
assert13(statusCode >= 200);
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
util64.destroy(socket, new ResponseExceededMaxSizeError());
return -1;
}
this.bytesRead += buf.length;
if (request.onData(buf) === false) {
return constants6.ERROR.PAUSED;
}
return 0;
}
/**
* @returns {number}
*/
onMessageComplete() {
const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
return -1;
}
if (upgrade) {
return 0;
}
assert13(statusCode >= 100);
assert13((this.headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert13(request);
this.statusCode = 0;
this.statusText = "";
this.bytesRead = 0;
this.contentLength = "";
this.keepAlive = "";
this.connection = "";
this.headers = [];
this.headersSize = 0;
if (statusCode < 200) {
return 0;
}
if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
util64.destroy(socket, new ResponseContentLengthMismatchError());
return -1;
}
request.onComplete(headers);
client[kQueue][client[kRunningIdx]++] = null;
socket[kSocketUsed] = client[kPending] === 0;
if (socket[kWriting]) {
assert13(client[kRunning] === 0);
util64.destroy(socket, new InformationalError("reset"));
return constants6.ERROR.PAUSED;
} else if (!shouldKeepAlive) {
util64.destroy(socket, new InformationalError("reset"));
return constants6.ERROR.PAUSED;
} else if (socket[kReset] && client[kRunning] === 0) {
util64.destroy(socket, new InformationalError("reset"));
return constants6.ERROR.PAUSED;
} else if (client[kPipelining] == null || client[kPipelining] === 1) {
setImmediate(client[kResume]);
} else {
client[kResume]();
}
return 0;
}
};
function onParserTimeout(parserWeakRef) {
const parser = parserWeakRef.deref();
if (!parser) {
return;
}
const { socket, timeoutType, client, paused } = parser;
if (timeoutType === TIMEOUT_HEADERS) {
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
assert13(!paused, "cannot be paused while waiting for headers");
util64.destroy(socket, new HeadersTimeoutError());
}
} else if (timeoutType === TIMEOUT_BODY) {
if (!paused) {
util64.destroy(socket, new BodyTimeoutError());
}
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
assert13(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
util64.destroy(socket, new InformationalError("socket idle timeout"));
}
}
function connectH1(client, socket) {
client[kSocket] = socket;
if (!llhttpInstance) {
llhttpInstance = lazyllhttp();
}
if (socket.errored) {
throw socket.errored;
}
if (socket.destroyed) {
throw new SocketError("destroyed");
}
socket[kNoRef] = false;
socket[kWriting] = false;
socket[kReset] = false;
socket[kBlocking] = false;
socket[kIdleSocketValidation] = 0;
socket[kIdleSocketValidationTimeout] = null;
socket[kSocketUsed] = false;
socket[kParser] = new Parser(client, socket, llhttpInstance);
util64.addListener(socket, "error", onHttpSocketError);
util64.addListener(socket, "readable", onHttpSocketReadable);
util64.addListener(socket, "end", onHttpSocketEnd);
util64.addListener(socket, "close", onHttpSocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h1",
defaultPipelining: 1,
write(request) {
return writeH1(client, request);
},
resume() {
resumeH1(client);
},
/**
* @param {Error|undefined} err
* @param {() => void} callback
*/
destroy(err2, callback2) {
if (socket[kClosed]) {
queueMicrotask(callback2);
} else {
socket.on("close", callback2);
socket.destroy(err2);
}
},
/**
* @returns {boolean}
*/
get destroyed() {
return socket.destroyed;
},
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
busy(request) {
if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) {
return true;
}
if (request) {
if (client[kRunning] > 0 && !request.idempotent) {
return true;
}
if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {
return true;
}
if (client[kRunning] > 0 && util64.bodyLength(request.body) !== 0 && (util64.isStream(request.body) || util64.isAsyncIterable(request.body) || util64.isFormDataLike(request.body))) {
return true;
}
}
return false;
}
};
}
function onHttpSocketError(err2) {
assert13(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
const parser = this[kParser];
if (err2.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
const parserErr = parser.finish();
if (parserErr) {
this[kError] = parserErr;
this[kClient][kOnError](parserErr);
}
return;
}
this[kError] = err2;
this[kClient][kOnError](err2);
}
function onHttpSocketReadable() {
this[kParser]?.readMore();
}
function onHttpSocketEnd() {
const parser = this[kParser];
if (parser.statusCode && !parser.shouldKeepAlive) {
const parserErr = parser.finish();
if (parserErr) {
util64.destroy(this, parserErr);
}
return;
}
util64.destroy(this, new SocketError("other side closed", util64.getSocketInfo(this)));
}
function onHttpSocketClose() {
const parser = this[kParser];
clearIdleSocketValidation(this);
if (parser) {
if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
this[kError] = parser.finish() || this[kError];
}
this[kParser].destroy();
this[kParser] = null;
}
const err2 = this[kError] || new SocketError("closed", util64.getSocketInfo(this));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (client.destroyed) {
assert13(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i4 = 0; i4 < requests.length; i4++) {
const request = requests[i4];
util64.errorRequest(client, request, err2);
}
} else if (client[kRunning] > 0 && err2.code !== "UND_ERR_INFO") {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util64.errorRequest(client, request, err2);
}
client[kPendingIdx] = client[kRunningIdx];
assert13(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client[kResume]();
}
function onSocketClose() {
this[kClosed] = true;
}
function clearIdleSocketValidation(socket) {
if (socket[kIdleSocketValidationTimeout]) {
clearTimeout(socket[kIdleSocketValidationTimeout]);
socket[kIdleSocketValidationTimeout] = null;
}
socket[kIdleSocketValidation] = 0;
}
function scheduleIdleSocketValidation(client, socket) {
socket[kIdleSocketValidation] = 1;
socket[kIdleSocketValidationTimeout] = setTimeout(() => {
socket[kIdleSocketValidationTimeout] = null;
socket[kIdleSocketValidation] = 2;
if (client[kSocket] === socket && !socket.destroyed) {
client[kResume]();
}
}, 0);
socket[kIdleSocketValidationTimeout].unref?.();
}
function resumeH1(client) {
const socket = client[kSocket];
if (socket && !socket.destroyed) {
if (client[kSize] === 0) {
if (!socket[kNoRef] && socket.unref) {
socket.unref();
socket[kNoRef] = true;
}
} else if (socket[kNoRef] && socket.ref) {
socket.ref();
socket[kNoRef] = false;
}
if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) {
if (socket[kIdleSocketValidation] === 0) {
scheduleIdleSocketValidation(client, socket);
socket[kParser].readMore();
if (socket.destroyed) {
return;
}
return;
}
if (socket[kIdleSocketValidation] === 1) {
socket[kParser].readMore();
if (socket.destroyed) {
return;
}
return;
}
}
if (client[kRunning] === 0) {
socket[kParser].readMore();
if (socket.destroyed) {
return;
}
}
if (client[kSize] === 0) {
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
}
} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
const request = client[kQueue][client[kRunningIdx]];
const headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout];
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
}
}
}
}
function shouldSendContentLength(method2) {
return method2 !== "GET" && method2 !== "HEAD" && method2 !== "OPTIONS" && method2 !== "TRACE" && method2 !== "CONNECT";
}
function writeH1(client, request) {
const { method: method2, path: path236, host, upgrade, blocking, reset: reset2 } = request;
let { body, headers, contentLength } = request;
const expectsPayload = method2 === "PUT" || method2 === "POST" || method2 === "PATCH" || method2 === "QUERY" || method2 === "PROPFIND" || method2 === "PROPPATCH";
if (util64.isFormDataLike(body)) {
if (!extractBody) {
extractBody = require_body().extractBody;
}
const [bodyStream, contentType] = extractBody(body);
if (request.contentType == null) {
headers.push("content-type", contentType);
}
body = bodyStream.stream;
contentLength = bodyStream.length;
} else if (util64.isBlobLike(body) && request.contentType == null && body.type) {
headers.push("content-type", body.type);
}
if (body && typeof body.read === "function") {
body.read(0);
}
const bodyLength = util64.bodyLength(body);
contentLength = bodyLength ?? contentLength;
if (contentLength === null) {
contentLength = request.contentLength;
}
if (contentLength === 0 && !expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method2) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util64.errorRequest(client, request, new RequestContentLengthMismatchError());
return false;
}
process.emitWarning(new RequestContentLengthMismatchError());
}
const socket = client[kSocket];
clearIdleSocketValidation(socket);
const abort = (err2) => {
if (request.aborted || request.completed) {
return;
}
util64.errorRequest(client, request, err2 || new RequestAbortedError());
util64.destroy(body);
util64.destroy(socket, new InformationalError("aborted"));
};
try {
request.onConnect(abort);
} catch (err2) {
util64.errorRequest(client, request, err2);
}
if (request.aborted) {
return false;
}
if (method2 === "HEAD") {
socket[kReset] = true;
}
if (upgrade || method2 === "CONNECT") {
socket[kReset] = true;
}
if (reset2 != null) {
socket[kReset] = reset2;
}
if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
socket[kReset] = true;
}
if (blocking) {
socket[kBlocking] = true;
}
if (socket.setTypeOfService) {
socket.setTypeOfService(request.typeOfService);
}
let header = `${method2} ${path236} HTTP/1.1\r
`;
if (typeof host === "string") {
header += `host: ${host}\r
`;
} else {
header += client[kHostHeader];
}
if (upgrade) {
header += `connection: upgrade\r
upgrade: ${upgrade}\r
`;
} else if (client[kPipelining] && !socket[kReset]) {
header += "connection: keep-alive\r\n";
} else {
header += "connection: close\r\n";
}
if (Array.isArray(headers)) {
for (let n2 = 0; n2 < headers.length; n2 += 2) {
const key = headers[n2 + 0];
const val = headers[n2 + 1];
if (Array.isArray(val)) {
for (let i4 = 0; i4 < val.length; i4++) {
header += `${key}: ${val[i4]}\r
`;
}
} else {
header += `${key}: ${val}\r
`;
}
}
}
if (channels.sendHeaders.hasSubscribers) {
channels.sendHeaders.publish({ request, headers: header, socket });
}
if (!body || bodyLength === 0) {
writeBuffer2(abort, null, client, request, socket, contentLength, header, expectsPayload);
} else if (util64.isBuffer(body)) {
writeBuffer2(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else if (util64.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload);
} else {
writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload);
}
} else if (util64.isStream(body)) {
writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else if (util64.isIterable(body)) {
writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else {
assert13(false);
}
return true;
}
function writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert13(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
let finished7 = false;
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header });
const onData = function(chunk) {
if (finished7) {
return;
}
try {
if (!writer.write(chunk) && this.pause) {
this.pause();
}
} catch (err2) {
util64.destroy(this, err2);
}
};
const onDrain = function() {
if (finished7) {
return;
}
if (body.resume) {
body.resume();
}
};
const onClose = function() {
queueMicrotask(() => {
body.removeListener("error", onFinished);
});
if (!finished7) {
const err2 = new RequestAbortedError();
queueMicrotask(() => onFinished(err2));
}
};
const onFinished = function(err2) {
if (finished7) {
return;
}
finished7 = true;
assert13(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
socket.off("drain", onDrain).off("error", onFinished);
body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
if (!err2) {
try {
writer.end();
} catch (er) {
err2 = er;
}
}
writer.destroy(err2);
if (err2 && (err2.code !== "UND_ERR_INFO" || err2.message !== "reset")) {
util64.destroy(body, err2);
} else {
util64.destroy(body);
}
};
body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
if (body.resume) {
body.resume();
}
socket.on("drain", onDrain).on("error", onFinished);
if (body.errorEmitted ?? body.errored) {
setImmediate(onFinished, body.errored);
} else if (body.endEmitted ?? body.readableEnded) {
setImmediate(onFinished, null);
}
if (body.closeEmitted ?? body.closed) {
setImmediate(onClose);
}
}
function writeBuffer2(abort, body, client, request, socket, contentLength, header, expectsPayload) {
try {
if (!body) {
if (contentLength === 0) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
assert13(contentLength === null, "no body must not have content length");
socket.write(`${header}\r
`, "latin1");
}
} else if (util64.isBuffer(body)) {
assert13(contentLength === body.byteLength, "buffer body must have content length");
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(body);
socket.uncork();
request.onBodySent(body);
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
}
request.onRequestSent();
client[kResume]();
} catch (err2) {
abort(err2);
}
}
async function writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert13(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
throw new RequestContentLengthMismatchError();
}
const buffer3 = Buffer.from(await body.arrayBuffer());
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(buffer3);
socket.uncork();
request.onBodySent(buffer3);
request.onRequestSent();
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort(err2);
}
}
async function writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert13(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback2 = null;
function onDrain() {
if (callback2) {
const cb = callback2;
callback2 = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve4, reject3) => {
assert13(callback2 === null);
if (socket[kError]) {
reject3(socket[kError]);
} else {
callback2 = resolve4;
}
});
socket.on("close", onDrain).on("drain", onDrain);
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header });
try {
for await (const chunk of body) {
if (socket[kError]) {
throw socket[kError];
}
if (!writer.write(chunk)) {
await waitForDrain();
}
}
writer.end();
} catch (err2) {
writer.destroy(err2);
} finally {
socket.off("close", onDrain).off("drain", onDrain);
}
}
var AsyncWriter = class {
/**
*
* @param {object} arg
* @param {AbortCallback} arg.abort
* @param {import('net').Socket} arg.socket
* @param {import('../core/request.js')} arg.request
* @param {number} arg.contentLength
* @param {import('./client.js')} arg.client
* @param {boolean} arg.expectsPayload
* @param {string} arg.header
*/
constructor({ abort, socket, request, contentLength, client, expectsPayload, header }) {
this.socket = socket;
this.request = request;
this.contentLength = contentLength;
this.client = client;
this.bytesWritten = 0;
this.expectsPayload = expectsPayload;
this.header = header;
this.abort = abort;
socket[kWriting] = true;
}
/**
* @param {Buffer} chunk
* @returns
*/
write(chunk) {
const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return false;
}
const len = Buffer.byteLength(chunk);
if (!len) {
return true;
}
if (contentLength !== null && bytesWritten + len > contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError();
}
process.emitWarning(new RequestContentLengthMismatchError());
}
socket.cork();
if (bytesWritten === 0) {
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
if (contentLength === null) {
socket.write(`${header}transfer-encoding: chunked\r
`, "latin1");
} else {
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
}
}
if (contentLength === null) {
socket.write(`\r
${len.toString(16)}\r
`, "latin1");
}
this.bytesWritten += len;
const ret2 = socket.write(chunk);
socket.uncork();
request.onBodySent(chunk);
if (!ret2) {
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
}
return ret2;
}
/**
* @returns {void}
*/
end() {
const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;
request.onRequestSent();
socket[kWriting] = false;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return;
}
if (bytesWritten === 0) {
if (expectsPayload) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
socket.write(`${header}\r
`, "latin1");
}
} else if (contentLength === null) {
socket.write("\r\n0\r\n\r\n", "latin1");
}
if (contentLength !== null && bytesWritten !== contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError();
} else {
process.emitWarning(new RequestContentLengthMismatchError());
}
}
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
client[kResume]();
}
/**
* @param {Error} [err]
* @returns {void}
*/
destroy(err2) {
const { socket, client, abort } = this;
socket[kWriting] = false;
if (err2) {
assert13(client[kRunning] <= 1, "pipeline should only contain this request");
abort(err2);
}
}
};
module2.exports = connectH1;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client-h2.js
var require_client_h2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { pipeline: pipeline2 } = __require("node:stream");
var util64 = require_util4();
var {
RequestContentLengthMismatchError,
RequestAbortedError,
SocketError,
InformationalError,
InvalidArgumentError
} = require_errors4();
var {
kUrl,
kReset,
kClient,
kRunning,
kPending,
kQueue,
kPendingIdx,
kRunningIdx,
kError,
kSocket,
kStrictContentLength,
kOnError,
kMaxConcurrentStreams,
kPingInterval,
kHTTP2Session,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kSize,
kHTTPContext,
kClosed,
kBodyTimeout,
kEnableConnectProtocol,
kRemoteSettings,
kHTTP2Stream,
kHTTP2SessionState
} = require_symbols();
var { channels } = require_diagnostics();
var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
var extractBody;
var http2;
try {
http2 = __require("node:http2");
} catch {
http2 = { constants: {} };
}
var {
constants: {
HTTP2_HEADER_AUTHORITY,
HTTP2_HEADER_METHOD,
HTTP2_HEADER_PATH,
HTTP2_HEADER_SCHEME,
HTTP2_HEADER_CONTENT_LENGTH,
HTTP2_HEADER_EXPECT,
HTTP2_HEADER_STATUS,
HTTP2_HEADER_PROTOCOL,
NGHTTP2_REFUSED_STREAM,
NGHTTP2_CANCEL
}
} = http2;
function parseH2Headers(headers) {
const result2 = [];
for (const [name, value] of Object.entries(headers)) {
if (Array.isArray(value)) {
for (const subvalue of value) {
result2.push(Buffer.from(name), Buffer.from(subvalue));
}
} else {
result2.push(Buffer.from(name), Buffer.from(value));
}
}
return result2;
}
function connectH2(client, socket) {
client[kSocket] = socket;
const http2InitialWindowSize = client[kHTTP2InitialWindowSize];
const http2ConnectionWindowSize = client[kHTTP2ConnectionWindowSize];
const session = http2.connect(client[kUrl], {
createConnection: () => socket,
peerMaxConcurrentStreams: client[kMaxConcurrentStreams],
settings: {
// TODO(metcoder95): add support for PUSH
enablePush: false,
...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null
}
});
client[kSocket] = socket;
session[kOpenStreams] = 0;
session[kClient] = client;
session[kSocket] = socket;
session[kHTTP2SessionState] = {
ping: {
interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref()
}
};
session[kEnableConnectProtocol] = false;
session[kRemoteSettings] = false;
if (http2ConnectionWindowSize) {
util64.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize));
}
util64.addListener(session, "error", onHttp2SessionError);
util64.addListener(session, "frameError", onHttp2FrameError);
util64.addListener(session, "end", onHttp2SessionEnd);
util64.addListener(session, "goaway", onHttp2SessionGoAway);
util64.addListener(session, "close", onHttp2SessionClose);
util64.addListener(session, "remoteSettings", onHttp2RemoteSettings);
session.unref();
client[kHTTP2Session] = session;
socket[kHTTP2Session] = session;
util64.addListener(socket, "error", onHttp2SocketError);
util64.addListener(socket, "end", onHttp2SocketEnd);
util64.addListener(socket, "close", onHttp2SocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h2",
defaultPipelining: Infinity,
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
write(request) {
return writeH2(client, request);
},
/**
* @returns {void}
*/
resume() {
resumeH2(client);
},
/**
* @param {Error | null} err
* @param {() => void} callback
*/
destroy(err2, callback2) {
if (socket[kClosed]) {
queueMicrotask(callback2);
} else {
socket.destroy(err2).on("close", callback2);
}
},
/**
* @type {boolean}
*/
get destroyed() {
return socket.destroyed;
},
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
busy(request) {
if (request != null) {
if (client[kRunning] > 0) {
if (request.idempotent === false) return true;
if ((request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false) return true;
if (util64.bodyLength(request.body) !== 0 && (util64.isStream(request.body) || util64.isAsyncIterable(request.body) || util64.isFormDataLike(request.body))) return true;
} else {
return (request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false;
}
}
return false;
}
};
}
function resumeH2(client) {
const socket = client[kSocket];
if (socket?.destroyed === false) {
if (client[kSize] === 0 || client[kMaxConcurrentStreams] === 0) {
socket.unref();
client[kHTTP2Session].unref();
} else {
socket.ref();
client[kHTTP2Session].ref();
}
}
}
function applyConnectionWindowSize(connectionWindowSize) {
try {
if (typeof this.setLocalWindowSize === "function") {
this.setLocalWindowSize(connectionWindowSize);
}
} catch {
}
}
function onHttp2RemoteSettings(settings) {
this[kClient][kMaxConcurrentStreams] = settings.maxConcurrentStreams ?? this[kClient][kMaxConcurrentStreams];
if (this[kRemoteSettings] === true && this[kEnableConnectProtocol] === true && settings.enableConnectProtocol === false) {
const err2 = new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
return;
}
this[kEnableConnectProtocol] = settings.enableConnectProtocol ?? this[kEnableConnectProtocol];
this[kRemoteSettings] = true;
this[kClient][kResume]();
}
function onHttp2SendPing(session) {
const state = session[kHTTP2SessionState];
if ((session.closed || session.destroyed) && state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
return;
}
session.ping(onPing.bind(session));
function onPing(err2, duration) {
const client = this[kClient];
const socket = this[kClient];
if (err2 != null) {
const error = new InformationalError(`HTTP/2: "PING" errored - type ${err2.message}`);
socket[kError] = error;
client[kOnError](error);
} else {
client.emit("ping", duration);
}
}
}
function onHttp2SessionError(err2) {
assert13(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
}
function onHttp2FrameError(type4, code, id) {
if (id === 0) {
const err2 = new InformationalError(`HTTP/2: "frameError" received - type ${type4}, code ${code}`);
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
}
}
function onHttp2SessionEnd() {
const err2 = new SocketError("other side closed", util64.getSocketInfo(this[kSocket]));
this.destroy(err2);
util64.destroy(this[kSocket], err2);
}
function onHttp2SessionGoAway(errorCode) {
const err2 = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util64.getSocketInfo(this[kSocket]));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
this.close();
this[kHTTP2Session] = null;
util64.destroy(this[kSocket], err2);
if (client[kRunningIdx] < client[kQueue].length) {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util64.errorRequest(client, request, err2);
client[kPendingIdx] = client[kRunningIdx];
}
assert13(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client.emit("connectionError", client[kUrl], [client], err2);
client[kResume]();
}
function onHttp2SessionClose() {
const { [kClient]: client, [kHTTP2SessionState]: state } = this;
const { [kSocket]: socket } = client;
const err2 = this[kSocket][kError] || this[kError] || new SocketError("closed", util64.getSocketInfo(socket));
client[kSocket] = null;
client[kHTTPContext] = null;
if (state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
}
if (client.destroyed) {
assert13(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i4 = 0; i4 < requests.length; i4++) {
const request = requests[i4];
util64.errorRequest(client, request, err2);
}
}
}
function onHttp2SocketClose() {
const err2 = this[kError] || new SocketError("closed", util64.getSocketInfo(this));
const client = this[kHTTP2Session][kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (this[kHTTP2Session] !== null) {
this[kHTTP2Session].destroy(err2);
}
client[kPendingIdx] = client[kRunningIdx];
assert13(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client[kResume]();
}
function onHttp2SocketError(err2) {
assert13(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kError] = err2;
this[kClient][kOnError](err2);
}
function onHttp2SocketEnd() {
util64.destroy(this, new SocketError("other side closed", util64.getSocketInfo(this)));
}
function onSocketClose() {
this[kClosed] = true;
}
function shouldSendContentLength(method2) {
return method2 !== "GET" && method2 !== "HEAD" && method2 !== "OPTIONS" && method2 !== "TRACE" && method2 !== "CONNECT";
}
function writeH2(client, request) {
const requestTimeout = request.bodyTimeout ?? client[kBodyTimeout];
const session = client[kHTTP2Session];
const { method: method2, path: path236, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request;
let { body } = request;
if (upgrade != null && upgrade !== "websocket") {
util64.errorRequest(client, request, new InvalidArgumentError(`Custom upgrade "${upgrade}" not supported over HTTP/2`));
return false;
}
const headers = {};
for (let n2 = 0; n2 < reqHeaders.length; n2 += 2) {
const key = reqHeaders[n2 + 0];
const val = reqHeaders[n2 + 1];
if (key === "cookie") {
if (headers[key] != null) {
headers[key] = Array.isArray(headers[key]) ? (headers[key].push(val), headers[key]) : [headers[key], val];
} else {
headers[key] = val;
}
continue;
}
if (Array.isArray(val)) {
for (let i4 = 0; i4 < val.length; i4++) {
if (headers[key]) {
headers[key] += `, ${val[i4]}`;
} else {
headers[key] = val[i4];
}
}
} else if (headers[key]) {
headers[key] += `, ${val}`;
} else {
headers[key] = val;
}
}
let stream2 = null;
const { hostname, port } = client[kUrl];
headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
headers[HTTP2_HEADER_METHOD] = method2;
const abort = (err2) => {
if (request.aborted || request.completed) {
return;
}
err2 = err2 || new RequestAbortedError();
util64.errorRequest(client, request, err2);
if (stream2 != null) {
stream2.removeAllListeners("data");
stream2.close();
client[kOnError](err2);
client[kResume]();
}
util64.destroy(body, err2);
};
try {
request.onConnect(abort);
} catch (err2) {
util64.errorRequest(client, request, err2);
}
if (request.aborted) {
return false;
}
if (upgrade || method2 === "CONNECT") {
session.ref();
if (upgrade === "websocket") {
if (session[kEnableConnectProtocol] === false) {
util64.errorRequest(client, request, new InformationalError("HTTP/2: Extended CONNECT protocol not supported by server"));
session.unref();
return false;
}
headers[HTTP2_HEADER_METHOD] = "CONNECT";
headers[HTTP2_HEADER_PROTOCOL] = "websocket";
headers[HTTP2_HEADER_PATH] = path236;
if (protocol === "ws:" || protocol === "wss:") {
headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https";
} else {
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
}
stream2 = session.request(headers, { endStream: false, signal });
stream2[kHTTP2Stream] = true;
stream2.once("response", (headers2, _flags) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream2);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream2.on("error", () => {
if (stream2.rstCode === NGHTTP2_REFUSED_STREAM || stream2.rstCode === NGHTTP2_CANCEL) {
abort(new InformationalError(`HTTP/2: "stream error" received - code ${stream2.rstCode}`));
}
});
stream2.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) session.unref();
});
stream2.setTimeout(requestTimeout);
return true;
}
stream2 = session.request(headers, { endStream: false, signal });
stream2[kHTTP2Stream] = true;
stream2.on("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream2);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream2.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) session.unref();
});
stream2.setTimeout(requestTimeout);
return true;
}
headers[HTTP2_HEADER_PATH] = path236;
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
const expectsPayload = method2 === "PUT" || method2 === "POST" || method2 === "PATCH";
if (body && typeof body.read === "function") {
body.read(0);
}
let contentLength = util64.bodyLength(body);
if (util64.isFormDataLike(body)) {
extractBody ??= require_body().extractBody;
const [bodyStream, contentType] = extractBody(body);
headers["content-type"] = contentType;
body = bodyStream.stream;
contentLength = bodyStream.length;
}
if (contentLength == null) {
contentLength = request.contentLength;
}
if (!expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method2) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util64.errorRequest(client, request, new RequestContentLengthMismatchError());
return false;
}
process.emitWarning(new RequestContentLengthMismatchError());
}
if (contentLength != null) {
assert13(body || contentLength === 0, "no body must not have content length");
headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
}
session.ref();
if (channels.sendHeaders.hasSubscribers) {
let header = "";
for (const key in headers) {
header += `${key}: ${headers[key]}\r
`;
}
channels.sendHeaders.publish({ request, headers: header, socket: session[kSocket] });
}
const shouldEndStream = method2 === "GET" || method2 === "HEAD" || body === null;
if (expectContinue) {
headers[HTTP2_HEADER_EXPECT] = "100-continue";
stream2 = session.request(headers, { endStream: shouldEndStream, signal });
stream2[kHTTP2Stream] = true;
stream2.once("continue", writeBodyH2);
} else {
stream2 = session.request(headers, {
endStream: shouldEndStream,
signal
});
stream2[kHTTP2Stream] = true;
writeBodyH2();
}
++session[kOpenStreams];
stream2.setTimeout(requestTimeout);
let responseReceived = false;
stream2.once("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onResponseStarted();
responseReceived = true;
if (request.aborted) {
stream2.removeAllListeners("data");
return;
}
if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
stream2.pause();
}
stream2.on("data", (chunk) => {
if (request.aborted || request.completed) {
return;
}
if (request.onData(chunk) === false) {
stream2.pause();
}
});
});
stream2.once("end", () => {
stream2.removeAllListeners("data");
if (responseReceived) {
if (!request.aborted && !request.completed) {
request.onComplete({});
}
client[kQueue][client[kRunningIdx]++] = null;
client[kResume]();
} else {
abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
client[kQueue][client[kRunningIdx]++] = null;
client[kPendingIdx] = client[kRunningIdx];
client[kResume]();
}
});
stream2.once("close", () => {
stream2.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
});
stream2.once("error", function(err2) {
stream2.removeAllListeners("data");
abort(err2);
});
stream2.once("frameError", (type4, code) => {
stream2.removeAllListeners("data");
abort(new InformationalError(`HTTP/2: "frameError" received - type ${type4}, code ${code}`));
});
stream2.on("aborted", () => {
stream2.removeAllListeners("data");
});
stream2.on("timeout", () => {
const err2 = new InformationalError(`HTTP/2: "stream timeout after ${requestTimeout}"`);
stream2.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
abort(err2);
});
stream2.once("trailers", (trailers) => {
if (request.aborted || request.completed) {
return;
}
stream2.removeAllListeners("data");
request.onComplete(trailers);
});
return true;
function writeBodyH2() {
if (!body || contentLength === 0) {
writeBuffer2(
abort,
stream2,
null,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util64.isBuffer(body)) {
writeBuffer2(
abort,
stream2,
body,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util64.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable(
abort,
stream2,
body.stream(),
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else {
writeBlob(
abort,
stream2,
body,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
}
} else if (util64.isStream(body)) {
writeStream(
abort,
client[kSocket],
expectsPayload,
stream2,
body,
client,
request,
contentLength
);
} else if (util64.isIterable(body)) {
writeIterable(
abort,
stream2,
body,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else {
assert13(false);
}
}
}
function writeBuffer2(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
try {
if (body != null && util64.isBuffer(body)) {
assert13(contentLength === body.byteLength, "buffer body must have content length");
h2stream.cork();
h2stream.write(body);
h2stream.uncork();
h2stream.end();
request.onBodySent(body);
}
if (!expectsPayload) {
socket[kReset] = true;
}
request.onRequestSent();
client[kResume]();
} catch (error) {
abort(error);
}
}
function writeStream(abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {
assert13(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
const pipe3 = pipeline2(
body,
h2stream,
(err2) => {
if (err2) {
util64.destroy(pipe3, err2);
abort(err2);
} else {
util64.removeAllListeners(pipe3);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
}
}
);
util64.addListener(pipe3, "data", onPipeData);
function onPipeData(chunk) {
request.onBodySent(chunk);
}
}
async function writeBlob(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
assert13(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
throw new RequestContentLengthMismatchError();
}
const buffer3 = Buffer.from(await body.arrayBuffer());
h2stream.cork();
h2stream.write(buffer3);
h2stream.uncork();
h2stream.end();
request.onBodySent(buffer3);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort(err2);
}
}
async function writeIterable(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
assert13(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback2 = null;
function onDrain() {
if (callback2) {
const cb = callback2;
callback2 = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve4, reject3) => {
assert13(callback2 === null);
if (socket[kError]) {
reject3(socket[kError]);
} else {
callback2 = resolve4;
}
});
h2stream.on("close", onDrain).on("drain", onDrain);
try {
for await (const chunk of body) {
if (socket[kError]) {
throw socket[kError];
}
const res = h2stream.write(chunk);
request.onBodySent(chunk);
if (!res) {
await waitForDrain();
}
}
h2stream.end();
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort(err2);
} finally {
h2stream.off("close", onDrain).off("drain", onDrain);
}
}
module2.exports = connectH2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client.js
var require_client = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var net = __require("node:net");
var http2 = __require("node:http");
var util64 = require_util4();
var { ClientStats } = require_stats();
var { channels } = require_diagnostics();
var Request = require_request();
var DispatcherBase = require_dispatcher_base();
var {
InvalidArgumentError,
InformationalError,
ClientDestroyedError
} = require_errors4();
var buildConnector = require_connect();
var {
kUrl,
kServerName,
kClient,
kBusy,
kConnect,
kResuming,
kRunning,
kPending,
kSize,
kQueue,
kConnected,
kConnecting,
kNeedDrain,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kConnector,
kMaxRequests,
kCounter,
kClose,
kDestroy,
kDispatch,
kLocalAddress,
kMaxResponseSize,
kOnError,
kHTTPContext,
kMaxConcurrentStreams,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kPingInterval
} = require_symbols();
var connectH1 = require_client_h1();
var connectH2 = require_client_h2();
var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
var getDefaultNodeMaxHeaderSize = http2 && http2.maxHeaderSize && Number.isInteger(http2.maxHeaderSize) && http2.maxHeaderSize > 0 ? () => http2.maxHeaderSize : () => {
throw new InvalidArgumentError("http module not available or http.maxHeaderSize invalid");
};
var noop5 = () => {
};
function getPipelining(client) {
return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
}
var Client = class extends DispatcherBase {
/**
*
* @param {string|URL} url
* @param {import('../../types/client.js').Client.Options} options
*/
constructor(url7, {
maxHeaderSize,
headersTimeout,
socketTimeout,
requestTimeout,
connectTimeout,
bodyTimeout,
idleTimeout,
keepAlive,
keepAliveTimeout,
maxKeepAliveTimeout,
keepAliveMaxTimeout,
keepAliveTimeoutThreshold,
socketPath,
pipelining,
tls: tls2,
strictContentLength,
maxCachedSessions,
connect: connect2,
maxRequestsPerClient,
localAddress,
maxResponseSize,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
// h2
maxConcurrentStreams,
allowH2,
useH2c,
initialWindowSize,
connectionWindowSize,
pingInterval,
webSocket
} = {}) {
if (keepAlive !== void 0) {
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
}
if (socketTimeout !== void 0) {
throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
}
if (requestTimeout !== void 0) {
throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
}
if (idleTimeout !== void 0) {
throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
}
if (maxKeepAliveTimeout !== void 0) {
throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
}
if (maxHeaderSize != null) {
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) {
throw new InvalidArgumentError("invalid maxHeaderSize");
}
} else {
maxHeaderSize = getDefaultNodeMaxHeaderSize();
}
if (socketPath != null && typeof socketPath !== "string") {
throw new InvalidArgumentError("invalid socketPath");
}
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
throw new InvalidArgumentError("invalid connectTimeout");
}
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
throw new InvalidArgumentError("invalid keepAliveTimeout");
}
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
}
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
}
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
}
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
}
if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
}
if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
throw new InvalidArgumentError("localAddress must be valid string IP address");
}
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
throw new InvalidArgumentError("maxResponseSize must be a positive number");
}
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
}
if (allowH2 != null && typeof allowH2 !== "boolean") {
throw new InvalidArgumentError("allowH2 must be a valid boolean value");
}
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
}
if (useH2c != null && typeof useH2c !== "boolean") {
throw new InvalidArgumentError("useH2c must be a valid boolean value");
}
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) {
throw new InvalidArgumentError("initialWindowSize must be a positive integer, greater than 0");
}
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) {
throw new InvalidArgumentError("connectionWindowSize must be a positive integer, greater than 0");
}
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");
}
super({ webSocket });
if (typeof connect2 !== "function") {
connect2 = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
useH2c,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect2
});
} else {
const customConnect = connect2;
connect2 = (opts3, callback2) => customConnect({
...opts3,
...socketPath != null ? { socketPath } : null,
...allowH2 != null ? { allowH2 } : null
}, callback2);
}
this[kUrl] = util64.parseOrigin(url7);
this[kConnector] = connect2;
this[kPipelining] = pipelining != null ? pipelining : 1;
this[kMaxHeadersSize] = maxHeaderSize;
this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
this[kServerName] = null;
this[kLocalAddress] = localAddress != null ? localAddress : null;
this[kResuming] = 0;
this[kNeedDrain] = 0;
this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
`;
this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
this[kMaxRequests] = maxRequestsPerClient;
this[kClosedResolve] = null;
this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
this[kHTTPContext] = null;
this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
this[kHTTP2InitialWindowSize] = initialWindowSize != null ? initialWindowSize : 262144;
this[kHTTP2ConnectionWindowSize] = connectionWindowSize != null ? connectionWindowSize : 524288;
this[kPingInterval] = pingInterval != null ? pingInterval : 6e4;
this[kQueue] = [];
this[kRunningIdx] = 0;
this[kPendingIdx] = 0;
this[kResume] = (sync3) => resume(this, sync3);
this[kOnError] = (err2) => onError(this, err2);
}
get pipelining() {
return this[kPipelining];
}
set pipelining(value) {
this[kPipelining] = value;
this[kResume](true);
}
get stats() {
return new ClientStats(this);
}
get [kPending]() {
return this[kQueue].length - this[kPendingIdx];
}
get [kRunning]() {
return this[kPendingIdx] - this[kRunningIdx];
}
get [kSize]() {
return this[kQueue].length - this[kRunningIdx];
}
get [kConnected]() {
return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
}
get [kBusy]() {
return Boolean(
this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
);
}
[kConnect](cb) {
connect(this);
this.once("connect", cb);
}
[kDispatch](opts3, handler82) {
const request = new Request(this[kUrl].origin, opts3, handler82);
this[kQueue].push(request);
if (this[kResuming]) {
} else if (util64.bodyLength(request.body) == null && util64.isIterable(request.body)) {
this[kResuming] = 1;
queueMicrotask(() => resume(this));
} else {
this[kResume](true);
}
if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
this[kNeedDrain] = 2;
}
return this[kNeedDrain] < 2;
}
[kClose]() {
return new Promise((resolve4) => {
if (this[kSize]) {
this[kClosedResolve] = resolve4;
} else {
resolve4(null);
}
});
}
[kDestroy](err2) {
return new Promise((resolve4) => {
const requests = this[kQueue].splice(this[kPendingIdx]);
for (let i4 = 0; i4 < requests.length; i4++) {
const request = requests[i4];
util64.errorRequest(this, request, err2);
}
const callback2 = () => {
if (this[kClosedResolve]) {
this[kClosedResolve]();
this[kClosedResolve] = null;
}
resolve4(null);
};
if (this[kHTTPContext]) {
this[kHTTPContext].destroy(err2, callback2);
this[kHTTPContext] = null;
} else {
queueMicrotask(callback2);
}
this[kResume]();
});
}
};
function onError(client, err2) {
if (client[kRunning] === 0 && err2.code !== "UND_ERR_INFO" && err2.code !== "UND_ERR_SOCKET") {
assert13(client[kPendingIdx] === client[kRunningIdx]);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i4 = 0; i4 < requests.length; i4++) {
const request = requests[i4];
util64.errorRequest(client, request, err2);
}
assert13(client[kSize] === 0);
}
}
function connect(client) {
assert13(!client[kConnecting]);
assert13(!client[kHTTPContext]);
let { host, hostname, protocol, port } = client[kUrl];
if (hostname[0] === "[") {
const idx = hostname.indexOf("]");
assert13(idx !== -1);
const ip = hostname.substring(1, idx);
assert13(net.isIPv6(ip));
hostname = ip;
}
client[kConnecting] = true;
if (channels.beforeConnect.hasSubscribers) {
channels.beforeConnect.publish({
connectParams: {
host,
hostname,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector]
});
}
try {
client[kConnector]({
host,
hostname,
protocol,
port,
servername: client[kServerName],
localAddress: client[kLocalAddress]
}, (err2, socket) => {
if (err2) {
handleConnectError(client, err2, { host, hostname, protocol, port });
client[kResume]();
return;
}
if (client.destroyed) {
util64.destroy(socket.on("error", noop5), new ClientDestroyedError());
client[kResume]();
return;
}
assert13(socket);
try {
client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
} catch (err3) {
socket.destroy().on("error", noop5);
handleConnectError(client, err3, { host, hostname, protocol, port });
client[kResume]();
return;
}
client[kConnecting] = false;
socket[kCounter] = 0;
socket[kMaxRequests] = client[kMaxRequests];
socket[kClient] = client;
socket[kError] = null;
if (channels.connected.hasSubscribers) {
channels.connected.publish({
connectParams: {
host,
hostname,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
socket
});
}
client.emit("connect", client[kUrl], [client]);
client[kResume]();
});
} catch (err2) {
handleConnectError(client, err2, { host, hostname, protocol, port });
client[kResume]();
}
}
function handleConnectError(client, err2, { host, hostname, protocol, port }) {
if (client.destroyed) {
return;
}
client[kConnecting] = false;
if (channels.connectError.hasSubscribers) {
channels.connectError.publish({
connectParams: {
host,
hostname,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
error: err2
});
}
if (err2.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
assert13(client[kRunning] === 0);
while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
const request = client[kQueue][client[kPendingIdx]++];
util64.errorRequest(client, request, err2);
}
} else {
onError(client, err2);
}
client.emit("connectionError", client[kUrl], [client], err2);
}
function emitDrain(client) {
client[kNeedDrain] = 0;
client.emit("drain", client[kUrl], [client]);
}
function resume(client, sync3) {
if (client[kResuming] === 2) {
return;
}
client[kResuming] = 2;
_resume(client, sync3);
client[kResuming] = 0;
if (client[kRunningIdx] > 256) {
client[kQueue].splice(0, client[kRunningIdx]);
client[kPendingIdx] -= client[kRunningIdx];
client[kRunningIdx] = 0;
}
}
function _resume(client, sync3) {
while (true) {
if (client.destroyed) {
assert13(client[kPending] === 0);
return;
}
if (client[kClosedResolve] && !client[kSize]) {
client[kClosedResolve]();
client[kClosedResolve] = null;
return;
}
if (client[kHTTPContext]) {
client[kHTTPContext].resume();
}
if (client[kBusy]) {
client[kNeedDrain] = 2;
} else if (client[kNeedDrain] === 2) {
if (sync3) {
client[kNeedDrain] = 1;
queueMicrotask(() => emitDrain(client));
} else {
emitDrain(client);
}
continue;
}
if (client[kPending] === 0) {
return;
}
if (client[kRunning] >= (getPipelining(client) || 1)) {
return;
}
const request = client[kQueue][client[kPendingIdx]];
if (request === null) {
return;
}
if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
if (client[kRunning] > 0) {
return;
}
client[kServerName] = request.servername;
client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
client[kHTTPContext] = null;
resume(client);
});
}
if (client[kConnecting]) {
return;
}
if (!client[kHTTPContext]) {
connect(client);
return;
}
if (client[kHTTPContext].destroyed) {
return;
}
if (client[kHTTPContext].busy(request)) {
return;
}
if (!request.aborted && client[kHTTPContext].write(request)) {
client[kPendingIdx]++;
} else {
client[kQueue].splice(client[kPendingIdx], 1);
}
}
}
module2.exports = Client;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
"use strict";
var kSize = 2048;
var kMask = kSize - 1;
var FixedCircularBuffer = class {
/** @type {number} */
bottom = 0;
/** @type {number} */
top = 0;
/** @type {Array<T|undefined>} */
list = new Array(kSize).fill(void 0);
/** @type {T|null} */
next = null;
/** @returns {boolean} */
isEmpty() {
return this.top === this.bottom;
}
/** @returns {boolean} */
isFull() {
return (this.top + 1 & kMask) === this.bottom;
}
/**
* @param {T} data
* @returns {void}
*/
push(data) {
this.list[this.top] = data;
this.top = this.top + 1 & kMask;
}
/** @returns {T|null} */
shift() {
const nextItem = this.list[this.bottom];
if (nextItem === void 0) {
return null;
}
this.list[this.bottom] = void 0;
this.bottom = this.bottom + 1 & kMask;
return nextItem;
}
};
module2.exports = class FixedQueue {
constructor() {
this.head = this.tail = new FixedCircularBuffer();
}
/** @returns {boolean} */
isEmpty() {
return this.head.isEmpty();
}
/** @param {T} data */
push(data) {
if (this.head.isFull()) {
this.head = this.head.next = new FixedCircularBuffer();
}
this.head.push(data);
}
/** @returns {T|null} */
shift() {
const tail2 = this.tail;
const next2 = tail2.shift();
if (tail2.isEmpty() && tail2.next !== null) {
this.tail = tail2.next;
tail2.next = null;
}
return next2;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/pool-base.js
var require_pool_base = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
"use strict";
var { PoolStats } = require_stats();
var DispatcherBase = require_dispatcher_base();
var FixedQueue = require_fixed_queue();
var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
var kClients = /* @__PURE__ */ Symbol("clients");
var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
var kQueue = /* @__PURE__ */ Symbol("queue");
var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
var kAddClient = /* @__PURE__ */ Symbol("add client");
var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
var PoolBase = class extends DispatcherBase {
[kQueue] = new FixedQueue();
[kQueued] = 0;
[kClients] = [];
[kNeedDrain] = false;
[kOnDrain](client, origin, targets) {
const queue2 = this[kQueue];
let needDrain = false;
while (!needDrain) {
const item = queue2.shift();
if (!item) {
break;
}
this[kQueued]--;
needDrain = !client.dispatch(item.opts, item.handler);
}
client[kNeedDrain] = needDrain;
if (!needDrain && this[kNeedDrain]) {
this[kNeedDrain] = false;
this.emit("drain", origin, [this, ...targets]);
}
if (this[kClosedResolve] && queue2.isEmpty()) {
const closeAll = [];
for (let i4 = 0; i4 < this[kClients].length; i4++) {
const client2 = this[kClients][i4];
if (!client2.destroyed) {
closeAll.push(client2.close());
}
}
return Promise.all(closeAll).then(this[kClosedResolve]);
}
}
[kOnConnect] = (origin, targets) => {
this.emit("connect", origin, [this, ...targets]);
};
[kOnDisconnect] = (origin, targets, err2) => {
this.emit("disconnect", origin, [this, ...targets], err2);
};
[kOnConnectionError] = (origin, targets, err2) => {
this.emit("connectionError", origin, [this, ...targets], err2);
};
get [kBusy]() {
return this[kNeedDrain];
}
get [kConnected]() {
let ret2 = 0;
for (const { [kConnected]: connected } of this[kClients]) {
ret2 += connected;
}
return ret2;
}
get [kFree]() {
let ret2 = 0;
for (const { [kConnected]: connected, [kNeedDrain]: needDrain } of this[kClients]) {
ret2 += connected && !needDrain;
}
return ret2;
}
get [kPending]() {
let ret2 = this[kQueued];
for (const { [kPending]: pending } of this[kClients]) {
ret2 += pending;
}
return ret2;
}
get [kRunning]() {
let ret2 = 0;
for (const { [kRunning]: running3 } of this[kClients]) {
ret2 += running3;
}
return ret2;
}
get [kSize]() {
let ret2 = this[kQueued];
for (const { [kSize]: size } of this[kClients]) {
ret2 += size;
}
return ret2;
}
get stats() {
return new PoolStats(this);
}
[kClose]() {
if (this[kQueue].isEmpty()) {
const closeAll = [];
for (let i4 = 0; i4 < this[kClients].length; i4++) {
const client = this[kClients][i4];
if (!client.destroyed) {
closeAll.push(client.close());
}
}
return Promise.all(closeAll);
} else {
return new Promise((resolve4) => {
this[kClosedResolve] = resolve4;
});
}
}
[kDestroy](err2) {
while (true) {
const item = this[kQueue].shift();
if (!item) {
break;
}
item.handler.onError(err2);
}
const destroyAll = new Array(this[kClients].length);
for (let i4 = 0; i4 < this[kClients].length; i4++) {
destroyAll[i4] = this[kClients][i4].destroy(err2);
}
return Promise.all(destroyAll);
}
[kDispatch](opts3, handler82) {
const dispatcher = this[kGetDispatcher]();
if (!dispatcher) {
this[kNeedDrain] = true;
this[kQueue].push({ opts: opts3, handler: handler82 });
this[kQueued]++;
} else if (!dispatcher.dispatch(opts3, handler82)) {
dispatcher[kNeedDrain] = true;
this[kNeedDrain] = !this[kGetDispatcher]();
}
return !this[kNeedDrain];
}
[kAddClient](client) {
client.on("drain", this[kOnDrain].bind(this, client)).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
this[kClients].push(client);
if (this[kNeedDrain]) {
queueMicrotask(() => {
if (this[kNeedDrain]) {
this[kOnDrain](client, client[kUrl], [client, this]);
}
});
}
return this;
}
[kRemoveClient](client) {
client.close(() => {
const idx = this[kClients].indexOf(client);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
});
this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
}
};
module2.exports = {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/pool.js
var require_pool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
"use strict";
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client = require_client();
var {
InvalidArgumentError
} = require_errors4();
var util64 = require_util4();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = /* @__PURE__ */ Symbol("options");
var kConnections = /* @__PURE__ */ Symbol("connections");
var kFactory = /* @__PURE__ */ Symbol("factory");
function defaultFactory(origin, opts3) {
return new Client(origin, opts3);
}
var Pool = class extends PoolBase {
constructor(origin, {
connections,
factory = defaultFactory,
connect,
connectTimeout,
tls: tls2,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError("invalid connections");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof connect !== "function") {
connect = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect
});
}
super(options);
this[kConnections] = connections || null;
this[kUrl] = util64.parseOrigin(origin);
this[kOptions] = { ...util64.deepClone(options), connect, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
this[kFactory] = factory;
this.on("connect", (origin2, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target2 of targets) {
Object.assign(target2, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin2, targets, error) => {
for (const target2 of targets) {
const idx = this[kClients].indexOf(target2);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
for (const client of this[kClients]) {
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
} else if (!client[kNeedDrain]) {
return client;
}
}
if (!this[kConnections] || this[kClients].length < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
};
module2.exports = Pool;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/balanced-pool.js
var require_balanced_pool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
"use strict";
var {
BalancedPoolMissingUpstreamError,
InvalidArgumentError
} = require_errors4();
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
} = require_pool_base();
var Pool = require_pool();
var { kUrl } = require_symbols();
var util64 = require_util4();
var kFactory = /* @__PURE__ */ Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
var kIndex = /* @__PURE__ */ Symbol("kIndex");
var kWeight = /* @__PURE__ */ Symbol("kWeight");
var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a2, b) {
if (a2 === 0) return b;
while (b !== 0) {
const t2 = b;
b = a2 % b;
a2 = t2;
}
return a2;
}
function defaultFactory(origin, opts3) {
return new Pool(origin, opts3);
}
var BalancedPool = class extends PoolBase {
constructor(upstreams = [], { factory = defaultFactory, ...opts3 } = {}) {
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
super(opts3);
this[kOptions] = { ...util64.deepClone(opts3) };
this[kOptions].interceptors = opts3.interceptors ? { ...opts3.interceptors } : void 0;
this[kIndex] = -1;
this[kCurrentWeight] = 0;
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
if (!Array.isArray(upstreams)) {
upstreams = [upstreams];
}
this[kFactory] = factory;
for (const upstream of upstreams) {
this.addUpstream(upstream);
}
this._updateBalancedPoolStats();
}
addUpstream(upstream) {
const upstreamOrigin = util64.parseOrigin(upstream).origin;
if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
return this;
}
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
this[kAddClient](pool);
pool.on("connect", () => {
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
});
pool.on("connectionError", () => {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
});
pool.on("disconnect", (...args) => {
const err2 = args[2];
if (err2 && err2.code === "UND_ERR_SOCKET") {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
}
});
for (const client of this[kClients]) {
client[kWeight] = this[kMaxWeightPerServer];
}
this._updateBalancedPoolStats();
return this;
}
_updateBalancedPoolStats() {
let result2 = 0;
for (let i4 = 0; i4 < this[kClients].length; i4++) {
result2 = getGreatestCommonDivisor(this[kClients][i4][kWeight], result2);
}
this[kGreatestCommonDivisor] = result2;
}
removeUpstream(upstream) {
const upstreamOrigin = util64.parseOrigin(upstream).origin;
const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
if (pool) {
this[kRemoveClient](pool);
}
return this;
}
getUpstream(upstream) {
const upstreamOrigin = util64.parseOrigin(upstream).origin;
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
}
get upstreams() {
return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
}
[kGetDispatcher]() {
if (this[kClients].length === 0) {
throw new BalancedPoolMissingUpstreamError();
}
const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
if (!dispatcher) {
return;
}
const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a2, b) => a2 && b, true);
if (allClientsBusy) {
return;
}
let counter = 0;
let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
while (counter++ < this[kClients].length) {
this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
const pool = this[kClients][this[kIndex]];
if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
maxWeightIndex = this[kIndex];
}
if (this[kIndex] === 0) {
this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
if (this[kCurrentWeight] <= 0) {
this[kCurrentWeight] = this[kMaxWeightPerServer];
}
}
if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
return pool;
}
}
this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
this[kIndex] = maxWeightIndex;
return this[kClients][maxWeightIndex];
}
};
module2.exports = BalancedPool;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/round-robin-pool.js
var require_round_robin_pool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports2, module2) {
"use strict";
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client = require_client();
var {
InvalidArgumentError
} = require_errors4();
var util64 = require_util4();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = /* @__PURE__ */ Symbol("options");
var kConnections = /* @__PURE__ */ Symbol("connections");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kIndex = /* @__PURE__ */ Symbol("index");
function defaultFactory(origin, opts3) {
return new Client(origin, opts3);
}
var RoundRobinPool = class extends PoolBase {
constructor(origin, {
connections,
factory = defaultFactory,
connect,
connectTimeout,
tls: tls2,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError("invalid connections");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof connect !== "function") {
connect = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect
});
}
super();
this[kConnections] = connections || null;
this[kUrl] = util64.parseOrigin(origin);
this[kOptions] = { ...util64.deepClone(options), connect, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
this[kFactory] = factory;
this[kIndex] = -1;
this.on("connect", (origin2, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target2 of targets) {
Object.assign(target2, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin2, targets, error) => {
for (const target2 of targets) {
const idx = this[kClients].indexOf(target2);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
const clientsLength = this[kClients].length;
if (clientsLength === 0) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
let checked = 0;
while (checked < clientsLength) {
this[kIndex] = (this[kIndex] + 1) % clientsLength;
const client = this[kClients][this[kIndex]];
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
checked++;
continue;
}
if (!client[kNeedDrain]) {
return client;
}
checked++;
}
if (!this[kConnections] || clientsLength < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
};
module2.exports = RoundRobinPool;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/agent.js
var require_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, MaxOriginsReachedError } = require_errors4();
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
var DispatcherBase = require_dispatcher_base();
var Pool = require_pool();
var Client = require_client();
var util64 = require_util4();
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kOrigins = /* @__PURE__ */ Symbol("origins");
function defaultFactory(origin, opts3) {
return opts3 && opts3.connections === 1 ? new Client(origin, opts3) : new Pool(origin, opts3);
}
var Agent2 = class extends DispatcherBase {
constructor({ factory = defaultFactory, maxOrigins = Infinity, connect, ...options } = {}) {
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) {
throw new InvalidArgumentError("maxOrigins must be a number greater than 0");
}
super(options);
if (connect && typeof connect !== "function") {
connect = { ...connect };
}
this[kOptions] = { ...util64.deepClone(options), maxOrigins, connect };
this[kFactory] = factory;
this[kClients] = /* @__PURE__ */ new Map();
this[kOrigins] = /* @__PURE__ */ new Set();
this[kOnDrain] = (origin, targets) => {
this.emit("drain", origin, [this, ...targets]);
};
this[kOnConnect] = (origin, targets) => {
this.emit("connect", origin, [this, ...targets]);
};
this[kOnDisconnect] = (origin, targets, err2) => {
this.emit("disconnect", origin, [this, ...targets], err2);
};
this[kOnConnectionError] = (origin, targets, err2) => {
this.emit("connectionError", origin, [this, ...targets], err2);
};
}
get [kRunning]() {
let ret2 = 0;
for (const { dispatcher } of this[kClients].values()) {
ret2 += dispatcher[kRunning];
}
return ret2;
}
[kDispatch](opts3, handler82) {
let key;
if (opts3.origin && (typeof opts3.origin === "string" || opts3.origin instanceof URL)) {
key = String(opts3.origin);
} else {
throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
}
if (this[kOrigins].size >= this[kOptions].maxOrigins && !this[kOrigins].has(key)) {
throw new MaxOriginsReachedError();
}
const result2 = this[kClients].get(key);
let dispatcher = result2 && result2.dispatcher;
if (!dispatcher) {
const closeClientIfUnused = (connected) => {
const result3 = this[kClients].get(key);
if (result3) {
if (connected) result3.count -= 1;
if (result3.count <= 0) {
this[kClients].delete(key);
if (!result3.dispatcher.destroyed) {
result3.dispatcher.close();
}
}
this[kOrigins].delete(key);
}
};
dispatcher = this[kFactory](opts3.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", (origin, targets) => {
const result3 = this[kClients].get(key);
if (result3) {
result3.count += 1;
}
this[kOnConnect](origin, targets);
}).on("disconnect", (origin, targets, err2) => {
closeClientIfUnused(true);
this[kOnDisconnect](origin, targets, err2);
}).on("connectionError", (origin, targets, err2) => {
closeClientIfUnused(false);
this[kOnConnectionError](origin, targets, err2);
});
this[kClients].set(key, { count: 0, dispatcher });
this[kOrigins].add(key);
}
return dispatcher.dispatch(opts3, handler82);
}
[kClose]() {
const closePromises = [];
for (const { dispatcher } of this[kClients].values()) {
closePromises.push(dispatcher.close());
}
this[kClients].clear();
return Promise.all(closePromises);
}
[kDestroy](err2) {
const destroyPromises = [];
for (const { dispatcher } of this[kClients].values()) {
destroyPromises.push(dispatcher.destroy(err2));
}
this[kClients].clear();
return Promise.all(destroyPromises);
}
get stats() {
const allClientStats = {};
for (const { dispatcher } of this[kClients].values()) {
if (dispatcher.stats) {
allClientStats[dispatcher[kUrl].origin] = dispatcher.stats;
}
}
return allClientStats;
}
};
module2.exports = Agent2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/socks5-utils.js
var require_socks5_utils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/socks5-utils.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var net = __require("node:net");
var { InvalidArgumentError } = require_errors4();
function parseAddress(address) {
if (net.isIPv4(address)) {
const parts = address.split(".").map(Number);
return {
type: 1,
// IPv4
buffer: Buffer6.from(parts)
};
}
if (net.isIPv6(address)) {
return {
type: 4,
// IPv6
buffer: parseIPv6(address)
};
}
const domainBuffer = Buffer6.from(address, "utf8");
if (domainBuffer.length > 255) {
throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
}
return {
type: 3,
// Domain
buffer: Buffer6.concat([Buffer6.from([domainBuffer.length]), domainBuffer])
};
}
function parseIPv6(address) {
const buffer3 = Buffer6.alloc(16);
let normalizedAddress = address;
if (address.includes(".")) {
const lastColonIndex = address.lastIndexOf(":");
const ipv4Part = address.slice(lastColonIndex + 1);
if (net.isIPv4(ipv4Part)) {
const octets = ipv4Part.split(".").map(Number);
const high = (octets[0] << 8 | octets[1]).toString(16);
const low = (octets[2] << 8 | octets[3]).toString(16);
normalizedAddress = `${address.slice(0, lastColonIndex)}:${high}:${low}`;
}
}
const doubleColonIndex = normalizedAddress.indexOf("::");
if (doubleColonIndex !== -1) {
const before = normalizedAddress.slice(0, doubleColonIndex);
const after = normalizedAddress.slice(doubleColonIndex + 2);
const beforeParts = before === "" ? [] : before.split(":");
const afterParts = after === "" ? [] : after.split(":");
let bufferIndex = 0;
for (const part of beforeParts) {
buffer3.writeUInt16BE(parseInt(part, 16), bufferIndex);
bufferIndex += 2;
}
bufferIndex = 16 - afterParts.length * 2;
for (const part of afterParts) {
buffer3.writeUInt16BE(parseInt(part, 16), bufferIndex);
bufferIndex += 2;
}
} else {
const parts = normalizedAddress.split(":");
for (let i4 = 0; i4 < parts.length; i4++) {
buffer3.writeUInt16BE(parseInt(parts[i4], 16), i4 * 2);
}
}
return buffer3;
}
function buildAddressBuffer(type4, addressBuffer, port) {
const portBuffer = Buffer6.allocUnsafe(2);
portBuffer.writeUInt16BE(port, 0);
return Buffer6.concat([
Buffer6.from([type4]),
addressBuffer,
portBuffer
]);
}
function parseResponseAddress(buffer3, offset = 0) {
if (buffer3.length < offset + 1) {
throw new InvalidArgumentError("Buffer too small to contain address type");
}
const addressType = buffer3[offset];
let address;
let currentOffset = offset + 1;
switch (addressType) {
case 1: {
if (buffer3.length < currentOffset + 6) {
throw new InvalidArgumentError("Buffer too small for IPv4 address");
}
address = Array.from(buffer3.subarray(currentOffset, currentOffset + 4)).join(".");
currentOffset += 4;
break;
}
case 3: {
if (buffer3.length < currentOffset + 1) {
throw new InvalidArgumentError("Buffer too small for domain length");
}
const domainLength = buffer3[currentOffset];
currentOffset += 1;
if (buffer3.length < currentOffset + domainLength + 2) {
throw new InvalidArgumentError("Buffer too small for domain address");
}
address = buffer3.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
currentOffset += domainLength;
break;
}
case 4: {
if (buffer3.length < currentOffset + 18) {
throw new InvalidArgumentError("Buffer too small for IPv6 address");
}
const parts = [];
for (let i4 = 0; i4 < 8; i4++) {
const value = buffer3.readUInt16BE(currentOffset + i4 * 2);
parts.push(value.toString(16));
}
address = parts.join(":");
currentOffset += 16;
break;
}
default:
throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
}
if (buffer3.length < currentOffset + 2) {
throw new InvalidArgumentError("Buffer too small for port");
}
const port = buffer3.readUInt16BE(currentOffset);
currentOffset += 2;
return {
address,
port,
bytesRead: currentOffset - offset
};
}
function createReplyError(replyCode) {
const messages = {
1: "General SOCKS server failure",
2: "Connection not allowed by ruleset",
3: "Network unreachable",
4: "Host unreachable",
5: "Connection refused",
6: "TTL expired",
7: "Command not supported",
8: "Address type not supported"
};
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
const error = new Error(message);
error.code = `SOCKS5_${replyCode}`;
return error;
}
module2.exports = {
parseAddress,
parseIPv6,
buildAddressBuffer,
parseResponseAddress,
createReplyError
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/socks5-client.js
var require_socks5_client = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/core/socks5-client.js"(exports2, module2) {
"use strict";
var { EventEmitter: EventEmitter4 } = __require("node:events");
var { Buffer: Buffer6 } = __require("node:buffer");
var { InvalidArgumentError, Socks5ProxyError } = require_errors4();
var { debuglog: debuglog2 } = __require("node:util");
var { parseAddress } = require_socks5_utils();
var debug = debuglog2("undici:socks5");
var EMPTY_BUFFER = Buffer6.alloc(0);
var SOCKS_VERSION = 5;
var AUTH_METHODS = {
NO_AUTH: 0,
GSSAPI: 1,
USERNAME_PASSWORD: 2,
NO_ACCEPTABLE: 255
};
var COMMANDS = {
CONNECT: 1,
BIND: 2,
UDP_ASSOCIATE: 3
};
var ADDRESS_TYPES = {
IPV4: 1,
DOMAIN: 3,
IPV6: 4
};
var REPLY_CODES = {
SUCCEEDED: 0,
GENERAL_FAILURE: 1,
CONNECTION_NOT_ALLOWED: 2,
NETWORK_UNREACHABLE: 3,
HOST_UNREACHABLE: 4,
CONNECTION_REFUSED: 5,
TTL_EXPIRED: 6,
COMMAND_NOT_SUPPORTED: 7,
ADDRESS_TYPE_NOT_SUPPORTED: 8
};
var STATES = {
INITIAL: "initial",
HANDSHAKING: "handshaking",
AUTHENTICATING: "authenticating",
AUTHENTICATED: "authenticated",
CONNECTING: "connecting",
CONNECTED: "connected",
ERROR: "error",
CLOSED: "closed"
};
var Socks5Client = class extends EventEmitter4 {
constructor(socket, options = {}) {
super();
if (!socket) {
throw new InvalidArgumentError("socket is required");
}
this.socket = socket;
this.options = options;
this.state = STATES.INITIAL;
this.buffer = EMPTY_BUFFER;
this.onSocketData = this.onData.bind(this);
this.onSocketError = this.onError.bind(this);
this.onSocketClose = this.onClose.bind(this);
this.authMethods = [];
if (options.username && options.password) {
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
}
this.authMethods.push(AUTH_METHODS.NO_AUTH);
this.socket.on("data", this.onSocketData);
this.socket.on("error", this.onSocketError);
this.socket.on("close", this.onSocketClose);
}
/**
* Handle incoming data from the socket
*/
onData(data) {
debug("received data", data.length, "bytes in state", this.state);
this.buffer = Buffer6.concat([this.buffer, data]);
try {
switch (this.state) {
case STATES.HANDSHAKING:
this.handleHandshakeResponse();
break;
case STATES.AUTHENTICATING:
this.handleAuthResponse();
break;
case STATES.CONNECTING:
this.handleConnectResponse();
break;
}
} catch (err2) {
this.onError(err2);
}
}
/**
* Handle socket errors
*/
onError(err2) {
debug("socket error", err2);
this.state = STATES.ERROR;
this.emit("error", err2);
this.destroy();
}
/**
* Handle socket close
*/
onClose() {
debug("socket closed");
this.state = STATES.CLOSED;
this.emit("close");
}
/**
* Destroy the client and underlying socket
*/
destroy() {
if (this.socket && !this.socket.destroyed) {
this.socket.destroy();
}
}
markAuthenticated() {
this.state = STATES.AUTHENTICATED;
this.emit("authenticated");
}
/**
* Start the SOCKS5 handshake
*/
handshake() {
if (this.state !== STATES.INITIAL) {
throw new InvalidArgumentError("Handshake already started");
}
debug("starting handshake with", this.authMethods.length, "auth methods");
this.state = STATES.HANDSHAKING;
const request = Buffer6.alloc(2 + this.authMethods.length);
request[0] = SOCKS_VERSION;
request[1] = this.authMethods.length;
this.authMethods.forEach((method2, i4) => {
request[2 + i4] = method2;
});
this.socket.write(request);
}
/**
* Handle handshake response from server
*/
handleHandshakeResponse() {
if (this.buffer.length < 2) {
return;
}
const version2 = this.buffer[0];
const method2 = this.buffer[1];
if (version2 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version: ${version2}`, "UND_ERR_SOCKS5_VERSION");
}
if (method2 === AUTH_METHODS.NO_ACCEPTABLE) {
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
}
this.buffer = this.buffer.subarray(2);
debug("server selected auth method", method2);
if (method2 === AUTH_METHODS.NO_AUTH) {
this.markAuthenticated();
} else if (method2 === AUTH_METHODS.USERNAME_PASSWORD) {
this.state = STATES.AUTHENTICATING;
this.sendAuthRequest();
} else {
throw new Socks5ProxyError(`Unsupported authentication method: ${method2}`, "UND_ERR_SOCKS5_AUTH_METHOD");
}
}
/**
* Send username/password authentication request
*/
sendAuthRequest() {
const { username, password } = this.options;
if (!username || !password) {
throw new InvalidArgumentError("Username and password required for authentication");
}
debug("sending username/password auth");
const usernameBuffer = Buffer6.from(username);
const passwordBuffer = Buffer6.from(password);
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
throw new InvalidArgumentError("Username or password too long");
}
const request = Buffer6.alloc(3 + usernameBuffer.length + passwordBuffer.length);
request[0] = 1;
request[1] = usernameBuffer.length;
usernameBuffer.copy(request, 2);
request[2 + usernameBuffer.length] = passwordBuffer.length;
passwordBuffer.copy(request, 3 + usernameBuffer.length);
this.socket.write(request);
}
/**
* Handle authentication response
*/
handleAuthResponse() {
if (this.buffer.length < 2) {
return;
}
const version2 = this.buffer[0];
const status = this.buffer[1];
if (version2 !== 1) {
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version2}`, "UND_ERR_SOCKS5_AUTH_VERSION");
}
if (status !== 0) {
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
}
this.buffer = this.buffer.subarray(2);
debug("authentication successful");
this.markAuthenticated();
}
/**
* Send CONNECT command
* @param {string} address - Target address (IP or domain)
* @param {number} port - Target port
*/
connect(address, port) {
if (this.state === STATES.CONNECTING || this.state === STATES.CONNECTED) {
throw new InvalidArgumentError("Connection already in progress");
}
if (this.state !== STATES.AUTHENTICATED) {
throw new InvalidArgumentError("Client must be authenticated before CONNECT");
}
debug("connecting to", address, port);
this.state = STATES.CONNECTING;
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
this.socket.write(request);
}
/**
* Build a SOCKS5 request
*/
buildConnectRequest(command, address, port) {
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
const request = Buffer6.alloc(4 + addressBuffer.length + 2);
request[0] = SOCKS_VERSION;
request[1] = command;
request[2] = 0;
request[3] = addressType;
addressBuffer.copy(request, 4);
request.writeUInt16BE(port, 4 + addressBuffer.length);
return request;
}
/**
* Handle CONNECT response
*/
handleConnectResponse() {
if (this.buffer.length < 4) {
return;
}
const version2 = this.buffer[0];
const reply = this.buffer[1];
const addressType = this.buffer[3];
if (version2 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version2}`, "UND_ERR_SOCKS5_REPLY_VERSION");
}
let responseLength = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
responseLength += 4 + 2;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
if (this.buffer.length < 5) {
return;
}
responseLength += 1 + this.buffer[4] + 2;
} else if (addressType === ADDRESS_TYPES.IPV6) {
responseLength += 16 + 2;
} else {
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
}
if (this.buffer.length < responseLength) {
return;
}
if (reply !== REPLY_CODES.SUCCEEDED) {
const errorMessage = this.getReplyErrorMessage(reply);
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
}
let boundAddress;
let offset = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
offset += 4;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
const domainLength = this.buffer[offset];
offset += 1;
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
offset += domainLength;
} else if (addressType === ADDRESS_TYPES.IPV6) {
const parts = [];
for (let i4 = 0; i4 < 8; i4++) {
const value = this.buffer.readUInt16BE(offset + i4 * 2);
parts.push(value.toString(16));
}
boundAddress = parts.join(":");
offset += 16;
}
const boundPort = this.buffer.readUInt16BE(offset);
this.buffer = EMPTY_BUFFER;
this.state = STATES.CONNECTED;
this.socket.removeListener("data", this.onSocketData);
debug("connected, bound address:", boundAddress, "port:", boundPort);
this.emit("connected", { address: boundAddress, port: boundPort });
}
/**
* Get human-readable error message for reply code
*/
getReplyErrorMessage(reply) {
switch (reply) {
case REPLY_CODES.GENERAL_FAILURE:
return "General SOCKS server failure";
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
return "Connection not allowed by ruleset";
case REPLY_CODES.NETWORK_UNREACHABLE:
return "Network unreachable";
case REPLY_CODES.HOST_UNREACHABLE:
return "Host unreachable";
case REPLY_CODES.CONNECTION_REFUSED:
return "Connection refused";
case REPLY_CODES.TTL_EXPIRED:
return "TTL expired";
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
return "Command not supported";
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
return "Address type not supported";
default:
return `Unknown error code: ${reply}`;
}
}
};
module2.exports = {
Socks5Client,
AUTH_METHODS,
COMMANDS,
ADDRESS_TYPES,
REPLY_CODES,
STATES
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
var require_socks5_proxy_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports2, module2) {
"use strict";
var { URL: URL7 } = __require("node:url");
var tls2;
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError } = require_errors4();
var { Socks5Client, STATES } = require_socks5_client();
var { kDispatch, kClose, kDestroy } = require_symbols();
var Pool = require_pool();
var buildConnector = require_connect();
var { debuglog: debuglog2 } = __require("node:util");
var debug = debuglog2("undici:socks5-proxy");
var kProxyUrl = /* @__PURE__ */ Symbol("proxy url");
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
var kProxyAuth = /* @__PURE__ */ Symbol("proxy auth");
var kProxyProtocol = /* @__PURE__ */ Symbol("proxy protocol");
var kPools = /* @__PURE__ */ Symbol("pools");
var kConnector = /* @__PURE__ */ Symbol("connector");
var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
var experimentalWarningEmitted = false;
var Socks5ProxyAgent = class extends DispatcherBase {
constructor(proxyUrl, options = {}) {
super();
if (!experimentalWarningEmitted) {
process.emitWarning(
"SOCKS5 proxy support is experimental and subject to change",
"ExperimentalWarning"
);
experimentalWarningEmitted = true;
}
if (!proxyUrl) {
throw new InvalidArgumentError("Proxy URL is mandatory");
}
const url7 = typeof proxyUrl === "string" ? new URL7(proxyUrl) : proxyUrl;
if (url7.protocol !== "socks5:" && url7.protocol !== "socks:") {
throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
}
this[kProxyUrl] = url7;
this[kProxyHeaders] = options.headers || {};
this[kProxyProtocol] = options.proxyTls ? "https:" : "http:";
this[kRequestTls] = options.requestTls;
this[kProxyAuth] = {
username: options.username || (url7.username ? decodeURIComponent(url7.username) : null),
password: options.password || (url7.password ? decodeURIComponent(url7.password) : null)
};
this[kConnector] = options.connect || buildConnector({
...options.proxyTls,
servername: options.proxyTls?.servername || url7.hostname
});
this[kPools] = /* @__PURE__ */ new Map();
}
/**
* Create a SOCKS5 connection to the proxy
*/
async createSocks5Connection(targetHost, targetPort) {
const proxyHost = this[kProxyUrl].hostname;
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
debug("creating SOCKS5 connection to", proxyHost, proxyPort);
const socket = await new Promise((resolve4, reject3) => {
this[kConnector]({
hostname: proxyHost,
host: proxyHost,
port: proxyPort,
protocol: this[kProxyProtocol]
}, (err2, socket2) => {
if (err2) {
reject3(err2);
} else {
resolve4(socket2);
}
});
});
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
socks5Client.on("error", (err2) => {
debug("SOCKS5 error:", err2);
socket.destroy();
});
await socks5Client.handshake();
await new Promise((resolve4, reject3) => {
const timeout = setTimeout(() => {
reject3(new Error("SOCKS5 authentication timeout"));
}, 5e3);
const onAuthenticated = () => {
clearTimeout(timeout);
socks5Client.removeListener("error", onError);
resolve4();
};
const onError = (err2) => {
clearTimeout(timeout);
socks5Client.removeListener("authenticated", onAuthenticated);
reject3(err2);
};
if (socks5Client.state === STATES.AUTHENTICATED) {
clearTimeout(timeout);
resolve4();
} else {
socks5Client.once("authenticated", onAuthenticated);
socks5Client.once("error", onError);
}
});
await socks5Client.connect(targetHost, targetPort);
await new Promise((resolve4, reject3) => {
const timeout = setTimeout(() => {
reject3(new Error("SOCKS5 connection timeout"));
}, 5e3);
const onConnected = (info) => {
debug("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
clearTimeout(timeout);
socks5Client.removeListener("error", onError);
resolve4();
};
const onError = (err2) => {
clearTimeout(timeout);
socks5Client.removeListener("connected", onConnected);
reject3(err2);
};
socks5Client.once("connected", onConnected);
socks5Client.once("error", onError);
});
return socket;
}
/**
* Dispatch a request through the SOCKS5 proxy
*/
[kDispatch](opts3, handler82) {
const { origin } = opts3;
debug("dispatching request to", origin, "via SOCKS5");
try {
const originKey = String(origin);
let pool = this[kPools].get(originKey);
if (!pool || pool.destroyed || pool.closed) {
pool = new Pool(origin, {
pipelining: opts3.pipelining,
connections: opts3.connections,
connect: async (connectOpts, callback2) => {
try {
const url7 = new URL7(origin);
const targetHost = url7.hostname;
const targetPort = parseInt(url7.port) || (url7.protocol === "https:" ? 443 : 80);
debug("establishing SOCKS5 connection to", targetHost, targetPort);
const socket = await this.createSocks5Connection(targetHost, targetPort);
let finalSocket = socket;
if (url7.protocol === "https:") {
if (!tls2) {
tls2 = __require("node:tls");
}
debug("upgrading to TLS");
finalSocket = tls2.connect({
...this[kRequestTls],
socket,
servername: this[kRequestTls]?.servername || targetHost
});
await new Promise((resolve4, reject3) => {
finalSocket.once("secureConnect", resolve4);
finalSocket.once("error", reject3);
});
}
callback2(null, finalSocket);
} catch (err2) {
debug("SOCKS5 connection error:", err2);
callback2(err2);
}
}
});
this[kPools].set(originKey, pool);
}
return pool[kDispatch](opts3, handler82);
} catch (err2) {
debug("dispatch error:", err2);
if (typeof handler82.onResponseError === "function") {
handler82.onResponseError(null, err2);
return false;
} else if (typeof handler82.onError === "function") {
handler82.onError(err2);
return false;
} else {
throw err2;
}
}
}
async [kClose]() {
const closePromises = [];
for (const pool of this[kPools].values()) {
closePromises.push(pool.close());
}
this[kPools].clear();
await Promise.all(closePromises);
}
async [kDestroy](err2) {
const destroyPromises = [];
for (const pool of this[kPools].values()) {
destroyPromises.push(pool.destroy(err2));
}
this[kPools].clear();
await Promise.all(destroyPromises);
}
};
module2.exports = Socks5ProxyAgent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/proxy-agent.js
var require_proxy_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
"use strict";
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
var Agent2 = require_agent();
var Pool = require_pool();
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors4();
var buildConnector = require_connect();
var Client = require_client();
var { channels } = require_diagnostics();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var kAgent = /* @__PURE__ */ Symbol("proxy agent");
var kClient = /* @__PURE__ */ Symbol("proxy client");
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
function defaultFactory(origin, opts3) {
return new Pool(origin, opts3);
}
var noop5 = () => {
};
function defaultAgentFactory(origin, opts3) {
if (opts3.connections === 1) {
return new Client(origin, opts3);
}
return new Pool(origin, opts3);
}
var Http1ProxyWrapper = class extends DispatcherBase {
#client;
constructor(proxyUrl, { headers = {}, connect, factory }) {
if (!proxyUrl) {
throw new InvalidArgumentError("Proxy URL is mandatory");
}
super();
this[kProxyHeaders] = headers;
if (factory) {
this.#client = factory(proxyUrl, { connect });
} else {
this.#client = new Client(proxyUrl, { connect });
}
}
[kDispatch](opts3, handler82) {
const onHeaders = handler82.onHeaders;
handler82.onHeaders = function(statusCode, data, resume) {
if (statusCode === 407) {
if (typeof handler82.onError === "function") {
handler82.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
}
return;
}
if (onHeaders) onHeaders.call(this, statusCode, data, resume);
};
const {
origin,
path: path236 = "/",
headers = {}
} = opts3;
opts3.path = origin + path236;
if (!("host" in headers) && !("Host" in headers)) {
const { host } = new URL(origin);
headers.host = host;
}
opts3.headers = { ...this[kProxyHeaders], ...headers };
return this.#client[kDispatch](opts3, handler82);
}
[kClose]() {
return this.#client.close();
}
[kDestroy](err2) {
return this.#client.destroy(err2);
}
};
var ProxyAgent2 = class extends DispatcherBase {
constructor(opts3) {
if (!opts3 || typeof opts3 === "object" && !(opts3 instanceof URL) && !opts3.uri) {
throw new InvalidArgumentError("Proxy uri is mandatory");
}
const { clientFactory = defaultFactory } = opts3;
if (typeof clientFactory !== "function") {
throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
}
const { proxyTunnel = true } = opts3;
super();
const url7 = this.#getUrl(opts3);
const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url7;
this[kProxy] = { uri: href, protocol };
this[kRequestTls] = opts3.requestTls;
this[kProxyTls] = opts3.proxyTls;
this[kProxyHeaders] = opts3.headers || {};
this[kTunnelProxy] = proxyTunnel;
if (opts3.auth && opts3.token) {
throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
} else if (opts3.auth) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts3.auth}`;
} else if (opts3.token) {
this[kProxyHeaders]["proxy-authorization"] = opts3.token;
} else if (username && password) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
}
const connect = buildConnector({ ...opts3.proxyTls });
this[kConnectEndpoint] = buildConnector({ ...opts3.requestTls });
const agentFactory = opts3.factory || defaultAgentFactory;
const factory = (origin2, options) => {
const { protocol: protocol2 } = new URL(origin2);
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") {
return new Socks5ProxyAgent(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect,
factory: agentFactory,
username: opts3.username || username,
password: opts3.password || password,
proxyTls: opts3.proxyTls,
requestTls: opts3.requestTls
});
}
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
return new Http1ProxyWrapper(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect,
factory: agentFactory
});
}
return agentFactory(origin2, options);
};
if (protocol === "socks5:" || protocol === "socks:") {
this[kClient] = null;
} else {
this[kClient] = clientFactory(url7, { connect });
}
this[kAgent] = new Agent2({
...opts3,
factory,
connect: async (opts4, callback2) => {
if (!this[kClient]) {
callback2(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
return;
}
let requestedPath = opts4.host;
if (!opts4.port) {
requestedPath += `:${defaultProtocolPort(opts4.protocol)}`;
}
try {
const connectParams = {
origin,
port,
path: requestedPath,
signal: opts4.signal,
headers: {
...this[kProxyHeaders],
host: opts4.host,
...opts4.connections == null || opts4.connections > 0 ? { "proxy-connection": "keep-alive" } : {}
},
servername: this[kProxyTls]?.servername || proxyHostname
};
const { socket, statusCode } = await this[kClient].connect(connectParams);
if (statusCode !== 200) {
socket.on("error", noop5).destroy();
callback2(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
return;
}
if (channels.proxyConnected.hasSubscribers) {
channels.proxyConnected.publish({
socket,
connectParams
});
}
if (opts4.protocol !== "https:") {
callback2(null, socket);
return;
}
let servername;
if (this[kRequestTls]) {
servername = this[kRequestTls].servername;
} else {
servername = opts4.servername;
}
this[kConnectEndpoint]({ ...opts4, servername, httpSocket: socket }, callback2);
} catch (err2) {
if (err2.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
callback2(new SecureProxyConnectionError(err2));
} else {
callback2(err2);
}
}
}
});
}
dispatch(opts3, handler82) {
const headers = buildHeaders(opts3.headers);
throwIfProxyAuthIsSent(headers);
if (headers && !("host" in headers) && !("Host" in headers)) {
const { host } = new URL(opts3.origin);
headers.host = host;
}
return this[kAgent].dispatch(
{
...opts3,
headers
},
handler82
);
}
/**
* @param {import('../../types/proxy-agent').ProxyAgent.Options | string | URL} opts
* @returns {URL}
*/
#getUrl(opts3) {
if (typeof opts3 === "string") {
return new URL(opts3);
} else if (opts3 instanceof URL) {
return opts3;
} else {
return new URL(opts3.uri);
}
}
[kClose]() {
const promises = [this[kAgent].close()];
if (this[kClient]) {
promises.push(this[kClient].close());
}
return Promise.all(promises);
}
[kDestroy]() {
const promises = [this[kAgent].destroy()];
if (this[kClient]) {
promises.push(this[kClient].destroy());
}
return Promise.all(promises);
}
};
function buildHeaders(headers) {
if (Array.isArray(headers)) {
const headersPair = {};
for (let i4 = 0; i4 < headers.length; i4 += 2) {
headersPair[headers[i4]] = headers[i4 + 1];
}
return headersPair;
}
return headers;
}
function throwIfProxyAuthIsSent(headers) {
const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
if (existProxyAuth) {
throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
}
}
module2.exports = ProxyAgent2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
var require_env_http_proxy_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
"use strict";
var DispatcherBase = require_dispatcher_base();
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
var ProxyAgent2 = require_proxy_agent();
var Agent2 = require_agent();
var DEFAULT_PORTS = {
"http:": 80,
"https:": 443
};
var EnvHttpProxyAgent = class extends DispatcherBase {
#noProxyValue = null;
#noProxyEntries = null;
#opts = null;
constructor(opts3 = {}) {
super();
this.#opts = opts3;
const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts3;
this[kNoProxyAgent] = new Agent2(agentOpts);
const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
if (HTTP_PROXY) {
this[kHttpProxyAgent] = new ProxyAgent2({ ...agentOpts, uri: HTTP_PROXY });
} else {
this[kHttpProxyAgent] = this[kNoProxyAgent];
}
const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
if (HTTPS_PROXY) {
this[kHttpsProxyAgent] = new ProxyAgent2({ ...agentOpts, uri: HTTPS_PROXY });
} else {
this[kHttpsProxyAgent] = this[kHttpProxyAgent];
}
this.#parseNoProxy();
}
[kDispatch](opts3, handler82) {
const url7 = new URL(opts3.origin);
const agent = this.#getProxyAgentForUrl(url7);
return agent.dispatch(opts3, handler82);
}
[kClose]() {
return Promise.all([
this[kNoProxyAgent].close(),
!this[kHttpProxyAgent][kClosed] && this[kHttpProxyAgent].close(),
!this[kHttpsProxyAgent][kClosed] && this[kHttpsProxyAgent].close()
]);
}
[kDestroy](err2) {
return Promise.all([
this[kNoProxyAgent].destroy(err2),
!this[kHttpProxyAgent][kDestroyed] && this[kHttpProxyAgent].destroy(err2),
!this[kHttpsProxyAgent][kDestroyed] && this[kHttpsProxyAgent].destroy(err2)
]);
}
#getProxyAgentForUrl(url7) {
let { protocol, host: hostname, port } = url7;
hostname = hostname.replace(/:\d*$/, "").toLowerCase();
port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
if (!this.#shouldProxy(hostname, port)) {
return this[kNoProxyAgent];
}
if (protocol === "https:") {
return this[kHttpsProxyAgent];
}
return this[kHttpProxyAgent];
}
#shouldProxy(hostname, port) {
if (this.#noProxyChanged) {
this.#parseNoProxy();
}
if (this.#noProxyEntries.length === 0) {
return true;
}
if (this.#noProxyValue === "*") {
return false;
}
for (let i4 = 0; i4 < this.#noProxyEntries.length; i4++) {
const entry = this.#noProxyEntries[i4];
if (entry.port && entry.port !== port) {
continue;
}
if (hostname === entry.hostname) {
return false;
}
if (hostname.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) {
return false;
}
}
return true;
}
#parseNoProxy() {
const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
const noProxySplit = noProxyValue.split(/[,\s]/);
const noProxyEntries = [];
for (let i4 = 0; i4 < noProxySplit.length; i4++) {
const entry = noProxySplit[i4];
if (!entry) {
continue;
}
const parsed = entry.match(/^(.+):(\d+)$/);
noProxyEntries.push({
// strip leading dot or asterisk with dot
hostname: (parsed ? parsed[1] : entry).replace(/^\*?\./, "").toLowerCase(),
port: parsed ? Number.parseInt(parsed[2], 10) : 0
});
}
this.#noProxyValue = noProxyValue;
this.#noProxyEntries = noProxyEntries;
}
get #noProxyChanged() {
if (this.#opts.noProxy !== void 0) {
return false;
}
return this.#noProxyValue !== this.#noProxyEnv;
}
get #noProxyEnv() {
return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
}
};
module2.exports = EnvHttpProxyAgent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/retry-handler.js
var require_retry_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { kRetryHandlerDefaultRetry } = require_symbols();
var { RequestRetryError } = require_errors4();
var WrapHandler = require_wrap_handler();
var {
isDisturbed,
parseRangeHeader,
wrapRequestBody
} = require_util4();
function calculateRetryAfterHeader(retryAfter) {
const retryTime = new Date(retryAfter).getTime();
return isNaN(retryTime) ? 0 : retryTime - Date.now();
}
var RetryHandler = class _RetryHandler {
constructor(opts3, { dispatch, handler: handler82 }) {
const { retryOptions, ...dispatchOpts } = opts3;
const {
// Retry scoped
retry: retryFn,
maxRetries,
maxTimeout,
minTimeout,
timeoutFactor,
// Response scoped
methods,
errorCodes,
retryAfter,
statusCodes,
throwOnError
} = retryOptions ?? {};
this.error = null;
this.dispatch = dispatch;
this.handler = WrapHandler.wrap(handler82);
this.opts = { ...dispatchOpts, body: wrapRequestBody(opts3.body) };
this.retryOpts = {
throwOnError: throwOnError ?? true,
retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
retryAfter: retryAfter ?? true,
maxTimeout: maxTimeout ?? 30 * 1e3,
// 30s,
minTimeout: minTimeout ?? 500,
// .5s
timeoutFactor: timeoutFactor ?? 2,
maxRetries: maxRetries ?? 5,
// What errors we should retry
methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
// Indicates which errors to retry
statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
// List of errors to retry
errorCodes: errorCodes ?? [
"ECONNRESET",
"ECONNREFUSED",
"ENOTFOUND",
"ENETDOWN",
"ENETUNREACH",
"EHOSTDOWN",
"EHOSTUNREACH",
"EPIPE",
"UND_ERR_SOCKET"
]
};
this.retryCount = 0;
this.retryCountCheckpoint = 0;
this.headersSent = false;
this.start = 0;
this.end = null;
this.etag = null;
}
onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err2) {
if (this.retryOpts.throwOnError) {
if (this.retryOpts.statusCodes.includes(statusCode) === false) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
} else {
this.error = err2;
}
return;
}
if (isDisturbed(this.opts.body)) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
function shouldRetry(passedErr) {
if (passedErr) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
controller.resume();
return;
}
this.error = err2;
controller.resume();
}
controller.pause();
this.retryOpts.retry(
err2,
{
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
},
shouldRetry.bind(this)
);
}
onRequestStart(controller, context) {
if (!this.headersSent) {
this.handler.onRequestStart?.(controller, context);
}
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
static [kRetryHandlerDefaultRetry](err2, { state, opts: opts3 }, cb) {
const { statusCode, code, headers } = err2;
const { method: method2, retryOptions } = opts3;
const {
maxRetries,
minTimeout,
maxTimeout,
timeoutFactor,
statusCodes,
errorCodes,
methods
} = retryOptions;
const { counter } = state;
if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
cb(err2);
return;
}
if (Array.isArray(methods) && !methods.includes(method2)) {
cb(err2);
return;
}
if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
cb(err2);
return;
}
if (counter > maxRetries) {
cb(err2);
return;
}
let retryAfterHeader = headers?.["retry-after"];
if (retryAfterHeader) {
retryAfterHeader = Number(retryAfterHeader);
retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(headers["retry-after"]) : retryAfterHeader * 1e3;
}
const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
setTimeout(() => cb(null), retryTimeout);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.error = null;
this.retryCount += 1;
if (statusCode >= 300) {
const err2 = new RequestRetryError("Request failed", statusCode, {
headers,
data: {
count: this.retryCount
}
});
this.onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err2);
return;
}
if (this.headersSent) {
if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
throw new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const contentRange = parseRangeHeader(headers["content-range"]);
if (!contentRange) {
throw new RequestRetryError("Content-Range mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
if (this.etag != null && this.etag !== headers.etag) {
throw new RequestRetryError("ETag mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const { start, size, end = size ? size - 1 : null } = contentRange;
assert13(this.start === start, "content-range mismatch");
assert13(this.end == null || this.end === end, "content-range mismatch");
return;
}
if (this.end == null) {
if (statusCode === 206) {
const range = parseRangeHeader(headers["content-range"]);
if (range == null) {
this.headersSent = true;
this.handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
return;
}
const { start, size, end = size ? size - 1 : null } = range;
assert13(
start != null && Number.isFinite(start),
"content-range mismatch"
);
assert13(end != null && Number.isFinite(end), "invalid content-length");
this.start = start;
this.end = end;
}
if (this.end == null) {
const contentLength = headers["content-length"];
this.end = contentLength != null ? Number(contentLength) - 1 : null;
}
assert13(Number.isFinite(this.start));
assert13(
this.end == null || Number.isFinite(this.end),
"invalid content-length"
);
this.resume = true;
this.etag = headers.etag != null ? headers.etag : null;
if (this.etag != null && this.etag[0] === "W" && this.etag[1] === "/") {
this.etag = null;
}
this.headersSent = true;
this.handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
} else {
throw new RequestRetryError("Request failed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
}
onResponseData(controller, chunk) {
if (this.error) {
return;
}
this.start += chunk.length;
this.handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.error && this.retryOpts.throwOnError) {
throw this.error;
}
if (!this.error) {
this.retryCount = 0;
return this.handler.onResponseEnd?.(controller, trailers);
}
this.retry(controller);
}
retry(controller) {
if (this.start !== 0) {
const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
if (this.etag != null) {
headers["if-match"] = this.etag;
}
this.opts = {
...this.opts,
headers: {
...this.opts.headers,
...headers
}
};
}
try {
this.retryCountCheckpoint = this.retryCount;
this.dispatch(this.opts, this);
} catch (err2) {
this.handler.onResponseError?.(controller, err2);
}
}
onResponseError(controller, err2) {
if (controller?.aborted || isDisturbed(this.opts.body)) {
this.handler.onResponseError?.(controller, err2);
return;
}
function shouldRetry(returnedErr) {
if (!returnedErr) {
this.retry(controller);
return;
}
this.handler?.onResponseError?.(controller, returnedErr);
}
if (this.retryCount - this.retryCountCheckpoint > 0) {
this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
} else {
this.retryCount += 1;
}
this.retryOpts.retry(
err2,
{
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
},
shouldRetry.bind(this)
);
}
};
module2.exports = RetryHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/retry-agent.js
var require_retry_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
"use strict";
var Dispatcher = require_dispatcher();
var RetryHandler = require_retry_handler();
var RetryAgent = class extends Dispatcher {
#agent = null;
#options = null;
constructor(agent, options = {}) {
super(options);
this.#agent = agent;
this.#options = options;
}
dispatch(opts3, handler82) {
const retry5 = new RetryHandler({
...opts3,
retryOptions: this.#options
}, {
dispatch: this.#agent.dispatch.bind(this.#agent),
handler: handler82
});
return this.#agent.dispatch(opts3, retry5);
}
close() {
return this.#agent.close();
}
destroy() {
return this.#agent.destroy();
}
};
module2.exports = RetryAgent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/h2c-client.js
var require_h2c_client = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/dispatcher/h2c-client.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
var Client = require_client();
var H2CClient = class extends Client {
constructor(origin, clientOpts) {
if (typeof origin === "string") {
origin = new URL(origin);
}
if (origin.protocol !== "http:") {
throw new InvalidArgumentError(
"h2c-client: Only h2c protocol is supported"
);
}
const { maxConcurrentStreams, pipelining, ...opts3 } = clientOpts ?? {};
let defaultMaxConcurrentStreams = 100;
let defaultPipelining = 100;
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) {
defaultMaxConcurrentStreams = maxConcurrentStreams;
}
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
defaultPipelining = pipelining;
}
if (defaultPipelining > defaultMaxConcurrentStreams) {
throw new InvalidArgumentError(
"h2c-client: pipelining cannot be greater than maxConcurrentStreams"
);
}
super(origin, {
...opts3,
maxConcurrentStreams: defaultMaxConcurrentStreams,
pipelining: defaultPipelining,
allowH2: true,
useH2c: true
});
}
};
module2.exports = H2CClient;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/readable.js
var require_readable = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/readable.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { Readable: Readable4 } = __require("node:stream");
var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors4();
var util64 = require_util4();
var { ReadableStreamFrom } = require_util4();
var kConsume = /* @__PURE__ */ Symbol("kConsume");
var kReading = /* @__PURE__ */ Symbol("kReading");
var kBody = /* @__PURE__ */ Symbol("kBody");
var kAbort = /* @__PURE__ */ Symbol("kAbort");
var kContentType = /* @__PURE__ */ Symbol("kContentType");
var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
var kUsed = /* @__PURE__ */ Symbol("kUsed");
var kBytesRead = /* @__PURE__ */ Symbol("kBytesRead");
var noop5 = () => {
};
var BodyReadable = class extends Readable4 {
/**
* @param {object} opts
* @param {(this: Readable, size: number) => void} opts.resume
* @param {() => (void | null)} opts.abort
* @param {string} [opts.contentType = '']
* @param {number} [opts.contentLength]
* @param {number} [opts.highWaterMark = 64 * 1024]
*/
constructor({
resume,
abort,
contentType = "",
contentLength,
highWaterMark = 64 * 1024
// Same as nodejs fs streams.
}) {
super({
autoDestroy: true,
read: resume,
highWaterMark
});
this._readableState.dataEmitted = false;
this[kAbort] = abort;
this[kConsume] = null;
this[kBytesRead] = 0;
this[kBody] = null;
this[kUsed] = false;
this[kContentType] = contentType;
this[kContentLength] = Number.isFinite(contentLength) ? contentLength : null;
this[kReading] = false;
}
/**
* @param {Error|null} err
* @param {(error:(Error|null)) => void} callback
* @returns {void}
*/
_destroy(err2, callback2) {
if (!err2 && !this._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
if (err2) {
this[kAbort]();
}
if (!this[kUsed]) {
setImmediate(callback2, err2);
} else {
callback2(err2);
}
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
on(event, listener) {
if (event === "data" || event === "readable") {
this[kReading] = true;
this[kUsed] = true;
}
return super.on(event, listener);
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
addListener(event, listener) {
return this.on(event, listener);
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
off(event, listener) {
const ret2 = super.off(event, listener);
if (event === "data" || event === "readable") {
this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
}
return ret2;
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
removeListener(event, listener) {
return this.off(event, listener);
}
/**
* @param {Buffer|null} chunk
* @returns {boolean}
*/
push(chunk) {
if (chunk) {
this[kBytesRead] += chunk.length;
if (this[kConsume]) {
consumePush(this[kConsume], chunk);
return this[kReading] ? super.push(chunk) : true;
}
}
return super.push(chunk);
}
/**
* Consumes and returns the body as a string.
*
* @see https://fetch.spec.whatwg.org/#dom-body-text
* @returns {Promise<string>}
*/
text() {
return consume(this, "text");
}
/**
* Consumes and returns the body as a JavaScript Object.
*
* @see https://fetch.spec.whatwg.org/#dom-body-json
* @returns {Promise<unknown>}
*/
json() {
return consume(this, "json");
}
/**
* Consumes and returns the body as a Blob
*
* @see https://fetch.spec.whatwg.org/#dom-body-blob
* @returns {Promise<Blob>}
*/
blob() {
return consume(this, "blob");
}
/**
* Consumes and returns the body as an Uint8Array.
*
* @see https://fetch.spec.whatwg.org/#dom-body-bytes
* @returns {Promise<Uint8Array>}
*/
bytes() {
return consume(this, "bytes");
}
/**
* Consumes and returns the body as an ArrayBuffer.
*
* @see https://fetch.spec.whatwg.org/#dom-body-arraybuffer
* @returns {Promise<ArrayBuffer>}
*/
arrayBuffer() {
return consume(this, "arrayBuffer");
}
/**
* Not implemented
*
* @see https://fetch.spec.whatwg.org/#dom-body-formdata
* @throws {NotSupportedError}
*/
async formData() {
throw new NotSupportedError();
}
/**
* Returns true if the body is not null and the body has been consumed.
* Otherwise, returns false.
*
* @see https://fetch.spec.whatwg.org/#dom-body-bodyused
* @readonly
* @returns {boolean}
*/
get bodyUsed() {
return util64.isDisturbed(this);
}
/**
* @see https://fetch.spec.whatwg.org/#dom-body-body
* @readonly
* @returns {ReadableStream}
*/
get body() {
if (!this[kBody]) {
this[kBody] = ReadableStreamFrom(this);
if (this[kConsume]) {
this[kBody].getReader();
assert13(this[kBody].locked);
}
}
return this[kBody];
}
/**
* Dumps the response body by reading `limit` number of bytes.
* @param {object} opts
* @param {number} [opts.limit = 131072] Number of bytes to read.
* @param {AbortSignal} [opts.signal] An AbortSignal to cancel the dump.
* @returns {Promise<null>}
*/
dump(opts3) {
const signal = opts3?.signal;
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
return Promise.reject(new InvalidArgumentError("signal must be an AbortSignal"));
}
const limit = opts3?.limit && Number.isFinite(opts3.limit) ? opts3.limit : 128 * 1024;
if (signal?.aborted) {
return Promise.reject(signal.reason ?? new AbortError());
}
if (this._readableState.closeEmitted) {
return Promise.resolve(null);
}
return new Promise((resolve4, reject3) => {
if (this[kContentLength] && this[kContentLength] > limit || this[kBytesRead] > limit) {
this.destroy(new AbortError());
}
if (signal) {
const onAbort = () => {
this.destroy(signal.reason ?? new AbortError());
};
signal.addEventListener("abort", onAbort);
this.on("close", function() {
signal.removeEventListener("abort", onAbort);
if (signal.aborted) {
reject3(signal.reason ?? new AbortError());
} else {
resolve4(null);
}
});
} else {
this.on("close", resolve4);
}
this.on("error", noop5).on("data", () => {
if (this[kBytesRead] > limit) {
this.destroy();
}
}).resume();
});
}
/**
* @param {BufferEncoding} encoding
* @returns {this}
*/
setEncoding(encoding) {
if (Buffer.isEncoding(encoding)) {
this._readableState.encoding = encoding;
}
return this;
}
};
function isLocked(bodyReadable) {
return bodyReadable[kBody]?.locked === true || bodyReadable[kConsume] !== null;
}
function isUnusable(bodyReadable) {
return util64.isDisturbed(bodyReadable) || isLocked(bodyReadable);
}
function consume(stream2, type4) {
assert13(!stream2[kConsume]);
return new Promise((resolve4, reject3) => {
if (isUnusable(stream2)) {
const rState = stream2._readableState;
if (rState.destroyed && rState.closeEmitted === false) {
stream2.on("error", reject3).on("close", () => {
reject3(new TypeError("unusable"));
});
} else {
reject3(rState.errored ?? new TypeError("unusable"));
}
} else {
queueMicrotask(() => {
stream2[kConsume] = {
type: type4,
stream: stream2,
resolve: resolve4,
reject: reject3,
length: 0,
body: []
};
stream2.on("error", function(err2) {
consumeFinish(this[kConsume], err2);
}).on("close", function() {
if (this[kConsume].body !== null) {
consumeFinish(this[kConsume], new RequestAbortedError());
}
});
consumeStart(stream2[kConsume]);
});
}
});
}
function consumeStart(consume2) {
if (consume2.body === null) {
return;
}
const { _readableState: state } = consume2.stream;
if (state.bufferIndex) {
const start = state.bufferIndex;
const end = state.buffer.length;
for (let n2 = start; n2 < end; n2++) {
consumePush(consume2, state.buffer[n2]);
}
} else {
for (const chunk of state.buffer) {
consumePush(consume2, chunk);
}
}
if (state.endEmitted) {
consumeEnd(this[kConsume], this._readableState.encoding);
} else {
consume2.stream.on("end", function() {
consumeEnd(this[kConsume], this._readableState.encoding);
});
}
consume2.stream.resume();
while (consume2.stream.read() != null) {
}
}
function chunksDecode(chunks, length, encoding) {
if (chunks.length === 0 || length === 0) {
return "";
}
const buffer3 = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
const bufferLength = buffer3.length;
const start = bufferLength > 2 && buffer3[0] === 239 && buffer3[1] === 187 && buffer3[2] === 191 ? 3 : 0;
if (!encoding || encoding === "utf8" || encoding === "utf-8") {
return buffer3.utf8Slice(start, bufferLength);
} else {
return buffer3.subarray(start, bufferLength).toString(encoding);
}
}
function chunksConcat(chunks, length) {
if (chunks.length === 0 || length === 0) {
return new Uint8Array(0);
}
if (chunks.length === 1) {
return new Uint8Array(chunks[0]);
}
const buffer3 = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
let offset = 0;
for (let i4 = 0; i4 < chunks.length; ++i4) {
const chunk = chunks[i4];
buffer3.set(chunk, offset);
offset += chunk.length;
}
return buffer3;
}
function consumeEnd(consume2, encoding) {
const { type: type4, body, resolve: resolve4, stream: stream2, length } = consume2;
try {
if (type4 === "text") {
resolve4(chunksDecode(body, length, encoding));
} else if (type4 === "json") {
resolve4(JSON.parse(chunksDecode(body, length, encoding)));
} else if (type4 === "arrayBuffer") {
resolve4(chunksConcat(body, length).buffer);
} else if (type4 === "blob") {
resolve4(new Blob(body, { type: stream2[kContentType] }));
} else if (type4 === "bytes") {
resolve4(chunksConcat(body, length));
}
consumeFinish(consume2);
} catch (err2) {
stream2.destroy(err2);
}
}
function consumePush(consume2, chunk) {
consume2.length += chunk.length;
consume2.body.push(chunk);
}
function consumeFinish(consume2, err2) {
if (consume2.body === null) {
return;
}
if (err2) {
consume2.reject(err2);
} else {
consume2.resolve();
}
consume2.type = null;
consume2.stream = null;
consume2.resolve = null;
consume2.reject = null;
consume2.length = 0;
consume2.body = null;
}
module2.exports = {
Readable: BodyReadable,
chunksDecode
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-request.js
var require_api_request = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { AsyncResource: AsyncResource4 } = __require("node:async_hooks");
var { Readable: Readable4 } = require_readable();
var { InvalidArgumentError, RequestAbortedError } = require_errors4();
var util64 = require_util4();
function noop5() {
}
var RequestHandler = class extends AsyncResource4 {
constructor(opts3, callback2) {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
const { signal, method: method2, opaque, body, onInfo, responseHeaders, highWaterMark } = opts3;
try {
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) {
throw new InvalidArgumentError("invalid highWaterMark");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method2 === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_REQUEST");
} catch (err2) {
if (util64.isStream(body)) {
util64.destroy(body.on("error", noop5), err2);
}
throw err2;
}
this.method = method2;
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback2;
this.res = null;
this.abort = null;
this.body = body;
this.trailers = {};
this.context = null;
this.onInfo = onInfo || null;
this.highWaterMark = highWaterMark;
this.reason = null;
this.removeAbortListener = null;
if (signal?.aborted) {
this.reason = signal.reason ?? new RequestAbortedError();
} else if (signal) {
this.removeAbortListener = util64.addAbortListener(signal, () => {
this.reason = signal.reason ?? new RequestAbortedError();
if (this.res) {
util64.destroy(this.res.on("error", noop5), this.reason);
} else if (this.abort) {
this.abort(this.reason);
}
});
}
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert13(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
const { callback: callback2, opaque, abort, context, responseHeaders, highWaterMark } = this;
const headers = responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
const parsedHeaders = responseHeaders === "raw" ? util64.parseHeaders(rawHeaders) : headers;
const contentType = parsedHeaders["content-type"];
const contentLength = parsedHeaders["content-length"];
const res = new Readable4({
resume,
abort,
contentType,
contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
highWaterMark
});
if (this.removeAbortListener) {
res.on("close", this.removeAbortListener);
this.removeAbortListener = null;
}
this.callback = null;
this.res = res;
if (callback2 !== null) {
try {
this.runInAsyncScope(callback2, null, null, {
statusCode,
statusText: statusMessage,
headers,
trailers: this.trailers,
opaque,
body: res,
context
});
} catch (err2) {
this.res = null;
util64.destroy(res.on("error", noop5), err2);
queueMicrotask(() => {
throw err2;
});
}
}
}
onData(chunk) {
return this.res.push(chunk);
}
onComplete(trailers) {
util64.parseHeaders(trailers, this.trailers);
this.res.push(null);
}
onError(err2) {
const { res, callback: callback2, body, opaque } = this;
if (callback2) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback2, null, err2, { opaque });
});
}
if (res) {
this.res = null;
queueMicrotask(() => {
util64.destroy(res.on("error", noop5), err2);
});
}
if (body) {
this.body = null;
if (util64.isStream(body)) {
body.on("error", noop5);
util64.destroy(body, err2);
}
}
if (this.removeAbortListener) {
this.removeAbortListener();
this.removeAbortListener = null;
}
}
};
function request(opts3, callback2) {
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
request.call(this, opts3, (err2, data) => {
return err2 ? reject3(err2) : resolve4(data);
});
});
}
try {
const handler82 = new RequestHandler(opts3, callback2);
this.dispatch(opts3, handler82);
} catch (err2) {
if (typeof callback2 !== "function") {
throw err2;
}
const opaque = opts3?.opaque;
queueMicrotask(() => callback2(err2, { opaque }));
}
}
module2.exports = request;
module2.exports.RequestHandler = RequestHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/abort-signal.js
var require_abort_signal = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
"use strict";
var { addAbortListener: addAbortListener3 } = require_util4();
var { RequestAbortedError } = require_errors4();
var kListener = /* @__PURE__ */ Symbol("kListener");
var kSignal = /* @__PURE__ */ Symbol("kSignal");
function abort(self2) {
if (self2.abort) {
self2.abort(self2[kSignal]?.reason);
} else {
self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
}
removeSignal(self2);
}
function addSignal(self2, signal) {
self2.reason = null;
self2[kSignal] = null;
self2[kListener] = null;
if (!signal) {
return;
}
if (signal.aborted) {
abort(self2);
return;
}
self2[kSignal] = signal;
self2[kListener] = () => {
abort(self2);
};
addAbortListener3(self2[kSignal], self2[kListener]);
}
function removeSignal(self2) {
if (!self2[kSignal]) {
return;
}
if ("removeEventListener" in self2[kSignal]) {
self2[kSignal].removeEventListener("abort", self2[kListener]);
} else {
self2[kSignal].removeListener("abort", self2[kListener]);
}
self2[kSignal] = null;
self2[kListener] = null;
}
module2.exports = {
addSignal,
removeSignal
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-stream.js
var require_api_stream = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { finished: finished7 } = __require("node:stream");
var { AsyncResource: AsyncResource4 } = __require("node:async_hooks");
var { InvalidArgumentError, InvalidReturnValueError } = require_errors4();
var util64 = require_util4();
var { addSignal, removeSignal } = require_abort_signal();
function noop5() {
}
var StreamHandler = class extends AsyncResource4 {
constructor(opts3, factory, callback2) {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
const { signal, method: method2, opaque, body, onInfo, responseHeaders } = opts3;
try {
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("invalid factory");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method2 === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_STREAM");
} catch (err2) {
if (util64.isStream(body)) {
util64.destroy(body.on("error", noop5), err2);
}
throw err2;
}
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.factory = factory;
this.callback = callback2;
this.res = null;
this.abort = null;
this.context = null;
this.trailers = null;
this.body = body;
this.onInfo = onInfo || null;
if (util64.isStream(body)) {
body.on("error", (err2) => {
this.onError(err2);
});
}
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert13(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
const { factory, opaque, context, responseHeaders } = this;
const headers = responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
this.factory = null;
if (factory === null) {
return;
}
const res = this.runInAsyncScope(factory, null, {
statusCode,
headers,
opaque,
context
});
if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
throw new InvalidReturnValueError("expected Writable");
}
finished7(res, { readable: false }, (err2) => {
const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
this.res = null;
if (err2 || !res2?.readable) {
util64.destroy(res2, err2);
}
this.callback = null;
this.runInAsyncScope(callback2, null, err2 || null, { opaque: opaque2, trailers });
if (err2) {
abort();
}
});
res.on("drain", resume);
this.res = res;
const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
return needDrain !== true;
}
onData(chunk) {
const { res } = this;
return res ? res.write(chunk) : true;
}
onComplete(trailers) {
const { res } = this;
removeSignal(this);
if (!res) {
return;
}
this.trailers = util64.parseHeaders(trailers);
res.end();
}
onError(err2) {
const { res, callback: callback2, opaque, body } = this;
removeSignal(this);
this.factory = null;
if (res) {
this.res = null;
util64.destroy(res, err2);
} else if (callback2) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback2, null, err2, { opaque });
});
}
if (body) {
this.body = null;
util64.destroy(body, err2);
}
}
};
function stream2(opts3, factory, callback2) {
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
stream2.call(this, opts3, factory, (err2, data) => {
return err2 ? reject3(err2) : resolve4(data);
});
});
}
try {
const handler82 = new StreamHandler(opts3, factory, callback2);
this.dispatch(opts3, handler82);
} catch (err2) {
if (typeof callback2 !== "function") {
throw err2;
}
const opaque = opts3?.opaque;
queueMicrotask(() => callback2(err2, { opaque }));
}
}
module2.exports = stream2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-pipeline.js
var require_api_pipeline = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
"use strict";
var {
Readable: Readable4,
Duplex: Duplex4,
PassThrough: PassThrough3
} = __require("node:stream");
var assert13 = __require("node:assert");
var { AsyncResource: AsyncResource4 } = __require("node:async_hooks");
var {
InvalidArgumentError,
InvalidReturnValueError,
RequestAbortedError
} = require_errors4();
var util64 = require_util4();
var { addSignal, removeSignal } = require_abort_signal();
function noop5() {
}
var kResume = /* @__PURE__ */ Symbol("resume");
var PipelineRequest = class extends Readable4 {
constructor() {
super({ autoDestroy: true });
this[kResume] = null;
}
_read() {
const { [kResume]: resume } = this;
if (resume) {
this[kResume] = null;
resume();
}
}
_destroy(err2, callback2) {
this._read();
callback2(err2);
}
};
var PipelineResponse = class extends Readable4 {
constructor(resume) {
super({ autoDestroy: true });
this[kResume] = resume;
}
_read() {
this[kResume]();
}
_destroy(err2, callback2) {
if (!err2 && !this._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
callback2(err2);
}
};
var PipelineHandler = class extends AsyncResource4 {
constructor(opts3, handler82) {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof handler82 !== "function") {
throw new InvalidArgumentError("invalid handler");
}
const { signal, method: method2, opaque, onInfo, responseHeaders } = opts3;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method2 === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_PIPELINE");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.handler = handler82;
this.abort = null;
this.context = null;
this.onInfo = onInfo || null;
this.req = new PipelineRequest().on("error", noop5);
this.ret = new Duplex4({
readableObjectMode: opts3.objectMode,
autoDestroy: true,
read: () => {
const { body } = this;
if (body?.resume) {
body.resume();
}
},
write: (chunk, encoding, callback2) => {
const { req: req2 } = this;
if (req2.push(chunk, encoding) || req2._readableState.destroyed) {
callback2();
} else {
req2[kResume] = callback2;
}
},
destroy: (err2, callback2) => {
const { body, req: req2, res, ret: ret2, abort } = this;
if (!err2 && !ret2._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
if (abort && err2) {
abort();
}
util64.destroy(body, err2);
util64.destroy(req2, err2);
util64.destroy(res, err2);
removeSignal(this);
callback2(err2);
}
}).on("prefinish", () => {
const { req: req2 } = this;
req2.push(null);
});
this.res = null;
addSignal(this, signal);
}
onConnect(abort, context) {
const { res } = this;
if (this.reason) {
abort(this.reason);
return;
}
assert13(!res, "pipeline cannot be retried");
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume) {
const { opaque, handler: handler82, context } = this;
if (statusCode < 200) {
if (this.onInfo) {
const headers = this.responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
this.onInfo({ statusCode, headers });
}
return;
}
this.res = new PipelineResponse(resume);
let body;
try {
this.handler = null;
const headers = this.responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
body = this.runInAsyncScope(handler82, null, {
statusCode,
headers,
opaque,
body: this.res,
context
});
} catch (err2) {
this.res.on("error", noop5);
throw err2;
}
if (!body || typeof body.on !== "function") {
throw new InvalidReturnValueError("expected Readable");
}
body.on("data", (chunk) => {
const { ret: ret2, body: body2 } = this;
if (!ret2.push(chunk) && body2.pause) {
body2.pause();
}
}).on("error", (err2) => {
const { ret: ret2 } = this;
util64.destroy(ret2, err2);
}).on("end", () => {
const { ret: ret2 } = this;
ret2.push(null);
}).on("close", () => {
const { ret: ret2 } = this;
if (!ret2._readableState.ended) {
util64.destroy(ret2, new RequestAbortedError());
}
});
this.body = body;
}
onData(chunk) {
const { res } = this;
return res.push(chunk);
}
onComplete(trailers) {
const { res } = this;
res.push(null);
}
onError(err2) {
const { ret: ret2 } = this;
this.handler = null;
util64.destroy(ret2, err2);
}
};
function pipeline2(opts3, handler82) {
try {
const pipelineHandler = new PipelineHandler(opts3, handler82);
this.dispatch({ ...opts3, body: pipelineHandler.req }, pipelineHandler);
return pipelineHandler.ret;
} catch (err2) {
return new PassThrough3().destroy(err2);
}
}
module2.exports = pipeline2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-upgrade.js
var require_api_upgrade = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, SocketError } = require_errors4();
var { AsyncResource: AsyncResource4 } = __require("node:async_hooks");
var assert13 = __require("node:assert");
var util64 = require_util4();
var { kHTTP2Stream } = require_symbols();
var { addSignal, removeSignal } = require_abort_signal();
var UpgradeHandler = class extends AsyncResource4 {
constructor(opts3, callback2) {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
const { signal, opaque, responseHeaders } = opts3;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_UPGRADE");
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback2;
this.abort = null;
this.context = null;
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert13(this.callback);
this.abort = abort;
this.context = null;
}
onHeaders() {
throw new SocketError("bad upgrade", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
assert13(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
const { callback: callback2, opaque, context } = this;
removeSignal(this);
this.callback = null;
const headers = this.responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
this.runInAsyncScope(callback2, null, null, {
headers,
socket,
opaque,
context
});
}
onError(err2) {
const { callback: callback2, opaque } = this;
removeSignal(this);
if (callback2) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback2, null, err2, { opaque });
});
}
}
};
function upgrade(opts3, callback2) {
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
upgrade.call(this, opts3, (err2, data) => {
return err2 ? reject3(err2) : resolve4(data);
});
});
}
try {
const upgradeHandler = new UpgradeHandler(opts3, callback2);
const upgradeOpts = {
...opts3,
method: opts3.method || "GET",
upgrade: opts3.protocol || "Websocket"
};
this.dispatch(upgradeOpts, upgradeHandler);
} catch (err2) {
if (typeof callback2 !== "function") {
throw err2;
}
const opaque = opts3?.opaque;
queueMicrotask(() => callback2(err2, { opaque }));
}
}
module2.exports = upgrade;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-connect.js
var require_api_connect = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { AsyncResource: AsyncResource4 } = __require("node:async_hooks");
var { InvalidArgumentError, SocketError } = require_errors4();
var util64 = require_util4();
var { addSignal, removeSignal } = require_abort_signal();
var ConnectHandler = class extends AsyncResource4 {
constructor(opts3, callback2) {
if (!opts3 || typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof callback2 !== "function") {
throw new InvalidArgumentError("invalid callback");
}
const { signal, opaque, responseHeaders } = opts3;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_CONNECT");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.callback = callback2;
this.abort = null;
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert13(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders() {
throw new SocketError("bad connect", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
const { callback: callback2, opaque, context } = this;
removeSignal(this);
this.callback = null;
let headers = rawHeaders;
if (headers != null) {
headers = this.responseHeaders === "raw" ? util64.parseRawHeaders(rawHeaders) : util64.parseHeaders(rawHeaders);
}
this.runInAsyncScope(callback2, null, null, {
statusCode,
headers,
socket,
opaque,
context
});
}
onError(err2) {
const { callback: callback2, opaque } = this;
removeSignal(this);
if (callback2) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback2, null, err2, { opaque });
});
}
}
};
function connect(opts3, callback2) {
if (callback2 === void 0) {
return new Promise((resolve4, reject3) => {
connect.call(this, opts3, (err2, data) => {
return err2 ? reject3(err2) : resolve4(data);
});
});
}
try {
const connectHandler = new ConnectHandler(opts3, callback2);
const connectOptions = { ...opts3, method: "CONNECT" };
this.dispatch(connectOptions, connectHandler);
} catch (err2) {
if (typeof callback2 !== "function") {
throw err2;
}
const opaque = opts3?.opaque;
queueMicrotask(() => callback2(err2, { opaque }));
}
}
module2.exports = connect;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/index.js
var require_api = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/api/index.js"(exports2, module2) {
"use strict";
module2.exports.request = require_api_request();
module2.exports.stream = require_api_stream();
module2.exports.pipeline = require_api_pipeline();
module2.exports.upgrade = require_api_upgrade();
module2.exports.connect = require_api_connect();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-errors.js
var require_mock_errors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
"use strict";
var { UndiciError } = require_errors4();
var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
var MockNotMatchedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MockNotMatchedError";
this.message = message || "The request does not match any registered mock dispatches";
this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMockNotMatchedError] === true;
}
get [kMockNotMatchedError]() {
return true;
}
};
module2.exports = {
MockNotMatchedError
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-symbols.js
var require_mock_symbols = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kAgent: /* @__PURE__ */ Symbol("agent"),
kOptions: /* @__PURE__ */ Symbol("options"),
kFactory: /* @__PURE__ */ Symbol("factory"),
kDispatches: /* @__PURE__ */ Symbol("dispatches"),
kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
kContentLength: /* @__PURE__ */ Symbol("content length"),
kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
kClose: /* @__PURE__ */ Symbol("close"),
kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
kOriginalDispatch: /* @__PURE__ */ Symbol("original dispatch"),
kOrigin: /* @__PURE__ */ Symbol("origin"),
kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
kNetConnect: /* @__PURE__ */ Symbol("net connect"),
kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
kConnected: /* @__PURE__ */ Symbol("connected"),
kIgnoreTrailingSlash: /* @__PURE__ */ Symbol("ignore trailing slash"),
kMockAgentMockCallHistoryInstance: /* @__PURE__ */ Symbol("mock agent mock call history name"),
kMockAgentRegisterCallHistory: /* @__PURE__ */ Symbol("mock agent register mock call history"),
kMockAgentAddCallHistoryLog: /* @__PURE__ */ Symbol("mock agent add call history log"),
kMockAgentIsCallHistoryEnabled: /* @__PURE__ */ Symbol("mock agent is call history enabled"),
kMockAgentAcceptsNonStandardSearchParameters: /* @__PURE__ */ Symbol("mock agent accepts non standard search parameters"),
kMockCallHistoryAddLog: /* @__PURE__ */ Symbol("mock call history add log"),
kTotalDispatchCount: /* @__PURE__ */ Symbol("total dispatch count")
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-utils.js
var require_mock_utils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
"use strict";
var { MockNotMatchedError } = require_mock_errors();
var {
kDispatches,
kMockAgent,
kOriginalDispatch,
kOrigin,
kGetNetConnect,
kTotalDispatchCount
} = require_mock_symbols();
var { serializePathWithQuery } = require_util4();
var { STATUS_CODES } = __require("node:http");
var {
types: {
isPromise
}
} = __require("node:util");
var { InvalidArgumentError } = require_errors4();
function matchValue(match, value) {
if (typeof match === "string") {
return match === value;
}
if (match instanceof RegExp) {
return match.test(value);
}
if (typeof match === "function") {
return match(value) === true;
}
return false;
}
function lowerCaseEntries(headers) {
return Object.fromEntries(
Object.entries(headers).map(([headerName, headerValue]) => {
return [headerName.toLocaleLowerCase(), headerValue];
})
);
}
function getHeaderByName(headers, key) {
if (Array.isArray(headers)) {
for (let i4 = 0; i4 < headers.length; i4 += 2) {
if (headers[i4].toLocaleLowerCase() === key.toLocaleLowerCase()) {
return headers[i4 + 1];
}
}
return void 0;
} else if (typeof headers.get === "function") {
return headers.get(key);
} else {
return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
}
}
function buildHeadersFromArray(headers) {
const clone4 = headers.slice();
const entries = [];
for (let index2 = 0; index2 < clone4.length; index2 += 2) {
entries.push([clone4[index2], clone4[index2 + 1]]);
}
return Object.fromEntries(entries);
}
function matchHeaders(mockDispatch2, headers) {
if (typeof mockDispatch2.headers === "function") {
if (Array.isArray(headers)) {
headers = buildHeadersFromArray(headers);
}
return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
}
if (typeof mockDispatch2.headers === "undefined") {
return true;
}
if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
return false;
}
for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
const headerValue = getHeaderByName(headers, matchHeaderName);
if (!matchValue(matchHeaderValue, headerValue)) {
return false;
}
}
return true;
}
function normalizeSearchParams(query) {
if (typeof query !== "string") {
return query;
}
const originalQp = new URLSearchParams(query);
const normalizedQp = new URLSearchParams();
for (let [key, value] of originalQp.entries()) {
key = key.replace("[]", "");
const valueRepresentsString = /^(['"]).*\1$/.test(value);
if (valueRepresentsString) {
normalizedQp.append(key, value);
continue;
}
if (value.includes(",")) {
const values = value.split(",");
for (const v of values) {
normalizedQp.append(key, v);
}
continue;
}
normalizedQp.append(key, value);
}
return normalizedQp;
}
function safeUrl(path236) {
if (typeof path236 !== "string") {
return path236;
}
const pathSegments = path236.split("?", 3);
if (pathSegments.length !== 2) {
return path236;
}
const qp = new URLSearchParams(pathSegments.pop());
qp.sort();
return [...pathSegments, qp.toString()].join("?");
}
function matchKey(mockDispatch2, { path: path236, method: method2, body, headers }) {
const pathMatch = matchValue(mockDispatch2.path, path236);
const methodMatch = matchValue(mockDispatch2.method, method2);
const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
const headersMatch = matchHeaders(mockDispatch2, headers);
return pathMatch && methodMatch && bodyMatch && headersMatch;
}
function getResponseData(data) {
if (Buffer.isBuffer(data)) {
return data;
} else if (data instanceof Uint8Array) {
return data;
} else if (data instanceof ArrayBuffer) {
return data;
} else if (typeof data === "object") {
return JSON.stringify(data);
} else if (data) {
return data.toString();
} else {
return "";
}
}
function getMockDispatch(mockDispatches, key) {
const basePath = key.query ? serializePathWithQuery(key.path, key.query) : key.path;
const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
const resolvedPathWithoutTrailingSlash = removeTrailingSlash(resolvedPath);
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path236, ignoreTrailingSlash }) => {
return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(path236)), resolvedPathWithoutTrailingSlash) : matchValue(safeUrl(path236), resolvedPath);
});
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ method: method2 }) => matchValue(method2, key.method));
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
if (matchedMockDispatches.length === 0) {
const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
}
return matchedMockDispatches[0];
}
function addMockDispatch(mockDispatches, key, data, opts3) {
const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false, ...opts3 };
const replyData = typeof data === "function" ? { callback: data } : { ...data };
const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
mockDispatches.push(newMockDispatch);
mockDispatches[kTotalDispatchCount] = (mockDispatches[kTotalDispatchCount] || 0) + 1;
return newMockDispatch;
}
function deleteMockDispatch(mockDispatches, key) {
const index2 = mockDispatches.findIndex((dispatch) => {
if (!dispatch.consumed) {
return false;
}
return matchKey(dispatch, key);
});
if (index2 !== -1) {
mockDispatches.splice(index2, 1);
}
}
function removeTrailingSlash(path236) {
while (path236.endsWith("/")) {
path236 = path236.slice(0, -1);
}
if (path236.length === 0) {
path236 = "/";
}
return path236;
}
function buildKey(opts3) {
const { path: path236, method: method2, body, headers, query } = opts3;
return {
path: path236,
method: method2,
body,
headers,
query
};
}
function generateKeyValues(data) {
const keys4 = Object.keys(data);
const result2 = [];
for (let i4 = 0; i4 < keys4.length; ++i4) {
const key = keys4[i4];
const value = data[key];
const name = Buffer.from(`${key}`);
if (Array.isArray(value)) {
for (let j2 = 0; j2 < value.length; ++j2) {
result2.push(name, Buffer.from(`${value[j2]}`));
}
} else {
result2.push(name, Buffer.from(`${value}`));
}
}
return result2;
}
function getStatusText(statusCode) {
return STATUS_CODES[statusCode] || "unknown";
}
async function getResponse(body) {
const buffers = [];
for await (const data of body) {
buffers.push(data);
}
return Buffer.concat(buffers).toString("utf8");
}
function mockDispatch(opts3, handler82) {
const key = buildKey(opts3);
const mockDispatch2 = getMockDispatch(this[kDispatches], key);
mockDispatch2.timesInvoked++;
if (mockDispatch2.data.callback) {
mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts3) };
}
const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2;
const { timesInvoked, times: times3 } = mockDispatch2;
mockDispatch2.consumed = !persist && timesInvoked >= times3;
mockDispatch2.pending = timesInvoked < times3;
if (error !== null) {
deleteMockDispatch(this[kDispatches], key);
handler82.onError(error);
return true;
}
let aborted2 = false;
let timer = null;
function abort(err2) {
if (aborted2) {
return;
}
aborted2 = true;
if (timer !== null) {
clearTimeout(timer);
timer = null;
}
handler82.onError(err2);
}
handler82.onConnect?.(abort, null);
if (typeof delay === "number" && delay > 0) {
timer = setTimeout(() => {
timer = null;
handleReply(this[kDispatches]);
}, delay);
} else {
handleReply(this[kDispatches]);
}
function handleReply(mockDispatches, _data = data) {
if (aborted2) {
return;
}
const optsHeaders = Array.isArray(opts3.headers) ? buildHeadersFromArray(opts3.headers) : opts3.headers;
const body = typeof _data === "function" ? _data({ ...opts3, headers: optsHeaders }) : _data;
if (isPromise(body)) {
return body.then((newData) => handleReply(mockDispatches, newData));
}
if (aborted2) {
return;
}
const responseData = getResponseData(body);
const responseHeaders = generateKeyValues(headers);
const responseTrailers = generateKeyValues(trailers);
handler82.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
handler82.onData?.(Buffer.from(responseData));
handler82.onComplete?.(responseTrailers);
deleteMockDispatch(mockDispatches, key);
}
function resume() {
}
return true;
}
function buildMockDispatch() {
const agent = this[kMockAgent];
const origin = this[kOrigin];
const originalDispatch = this[kOriginalDispatch];
return function dispatch(opts3, handler82) {
if (agent.isMockActive) {
try {
mockDispatch.call(this, opts3, handler82);
} catch (error) {
if (error.code === "UND_MOCK_ERR_MOCK_NOT_MATCHED") {
const netConnect = agent[kGetNetConnect]();
const totalInterceptsCount = this[kDispatches][kTotalDispatchCount] || this[kDispatches].length;
const pendingInterceptsCount = this[kDispatches].filter(({ consumed }) => !consumed).length;
const interceptsMessage = `, ${pendingInterceptsCount} interceptor(s) remaining out of ${totalInterceptsCount} defined`;
if (netConnect === false) {
throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)${interceptsMessage}`);
}
if (checkNetConnect(netConnect, origin)) {
originalDispatch.call(this, opts3, handler82);
} else {
throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)${interceptsMessage}`);
}
} else {
throw error;
}
}
} else {
originalDispatch.call(this, opts3, handler82);
}
};
}
function checkNetConnect(netConnect, origin) {
const url7 = new URL(origin);
if (netConnect === true) {
return true;
} else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url7.host))) {
return true;
}
return false;
}
function normalizeOrigin(origin) {
if (typeof origin !== "string" && !(origin instanceof URL)) {
return origin;
}
if (origin instanceof URL) {
return origin.origin;
}
return origin.toLowerCase();
}
function buildAndValidateMockOptions(opts3) {
const { agent, ...mockOptions } = opts3;
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") {
throw new InvalidArgumentError("options.enableCallHistory must to be a boolean");
}
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") {
throw new InvalidArgumentError("options.acceptNonStandardSearchParameters must to be a boolean");
}
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") {
throw new InvalidArgumentError("options.ignoreTrailingSlash must to be a boolean");
}
return mockOptions;
}
module2.exports = {
getResponseData,
getMockDispatch,
addMockDispatch,
deleteMockDispatch,
buildKey,
generateKeyValues,
matchValue,
getResponse,
getStatusText,
mockDispatch,
buildMockDispatch,
checkNetConnect,
buildAndValidateMockOptions,
getHeaderByName,
buildHeadersFromArray,
normalizeSearchParams,
normalizeOrigin
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-interceptor.js
var require_mock_interceptor = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
"use strict";
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
var {
kDispatches,
kDispatchKey,
kDefaultHeaders,
kDefaultTrailers,
kContentLength,
kMockDispatch,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { InvalidArgumentError } = require_errors4();
var { serializePathWithQuery } = require_util4();
var MockScope = class {
constructor(mockDispatch) {
this[kMockDispatch] = mockDispatch;
}
/**
* Delay a reply by a set amount in ms.
*/
delay(waitInMs) {
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
}
this[kMockDispatch].delay = waitInMs;
return this;
}
/**
* For a defined reply, never mark as consumed.
*/
persist() {
this[kMockDispatch].persist = true;
return this;
}
/**
* Allow one to define a reply for a set amount of matching requests.
*/
times(repeatTimes) {
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
}
this[kMockDispatch].times = repeatTimes;
return this;
}
};
var MockInterceptor = class {
constructor(opts3, mockDispatches) {
if (typeof opts3 !== "object") {
throw new InvalidArgumentError("opts must be an object");
}
if (typeof opts3.path === "undefined") {
throw new InvalidArgumentError("opts.path must be defined");
}
if (typeof opts3.method === "undefined") {
opts3.method = "GET";
}
if (typeof opts3.path === "string") {
if (opts3.query) {
opts3.path = serializePathWithQuery(opts3.path, opts3.query);
} else {
const parsedURL = new URL(opts3.path, "data://");
opts3.path = parsedURL.pathname + parsedURL.search;
}
}
if (typeof opts3.method === "string") {
opts3.method = opts3.method.toUpperCase();
}
this[kDispatchKey] = buildKey(opts3);
this[kDispatches] = mockDispatches;
this[kIgnoreTrailingSlash] = opts3.ignoreTrailingSlash ?? false;
this[kDefaultHeaders] = {};
this[kDefaultTrailers] = {};
this[kContentLength] = false;
}
createMockScopeDispatchData({ statusCode, data, responseOptions }) {
const responseData = getResponseData(data);
const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
return { statusCode, data, headers, trailers };
}
validateReplyParameters(replyParameters) {
if (typeof replyParameters.statusCode === "undefined") {
throw new InvalidArgumentError("statusCode must be defined");
}
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
throw new InvalidArgumentError("responseOptions must be an object");
}
}
/**
* Mock an undici request with a defined reply.
*/
reply(replyOptionsCallbackOrStatusCode) {
if (typeof replyOptionsCallbackOrStatusCode === "function") {
const wrappedDefaultsCallback = (opts3) => {
const resolvedData = replyOptionsCallbackOrStatusCode(opts3);
if (typeof resolvedData !== "object" || resolvedData === null) {
throw new InvalidArgumentError("reply options callback must return an object");
}
const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
this.validateReplyParameters(replyParameters2);
return {
...this.createMockScopeDispatchData(replyParameters2)
};
};
const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch2);
}
const replyParameters = {
statusCode: replyOptionsCallbackOrStatusCode,
data: arguments[1] === void 0 ? "" : arguments[1],
responseOptions: arguments[2] === void 0 ? {} : arguments[2]
};
this.validateReplyParameters(replyParameters);
const dispatchData = this.createMockScopeDispatchData(replyParameters);
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
/**
* Mock an undici request with a defined error.
*/
replyWithError(error) {
if (typeof error === "undefined") {
throw new InvalidArgumentError("error must be defined");
}
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
/**
* Set default reply headers on the interceptor for subsequent replies
*/
defaultReplyHeaders(headers) {
if (typeof headers === "undefined") {
throw new InvalidArgumentError("headers must be defined");
}
this[kDefaultHeaders] = headers;
return this;
}
/**
* Set default reply trailers on the interceptor for subsequent replies
*/
defaultReplyTrailers(trailers) {
if (typeof trailers === "undefined") {
throw new InvalidArgumentError("trailers must be defined");
}
this[kDefaultTrailers] = trailers;
return this;
}
/**
* Set reply content length header for replies on the interceptor
*/
replyContentLength() {
this[kContentLength] = true;
return this;
}
};
module2.exports.MockInterceptor = MockInterceptor;
module2.exports.MockScope = MockScope;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-client.js
var require_mock_client = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
"use strict";
var { promisify: promisify15 } = __require("node:util");
var Client = require_client();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError } = require_errors4();
var MockClient = class extends Client {
constructor(origin, opts3) {
if (!opts3 || !opts3.agent || typeof opts3.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
super(origin, opts3);
this[kMockAgent] = opts3.agent;
this[kOrigin] = origin;
this[kIgnoreTrailingSlash] = opts3.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
/**
* Sets up the base interceptor for mocking replies from undici.
*/
intercept(opts3) {
return new MockInterceptor(
opts3 && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts3 },
this[kDispatches]
);
}
cleanMocks() {
this[kDispatches] = [];
}
async [kClose]() {
await promisify15(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
};
module2.exports = MockClient;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-call-history.js
var require_mock_call_history = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-call-history.js"(exports2, module2) {
"use strict";
var { kMockCallHistoryAddLog } = require_mock_symbols();
var { InvalidArgumentError } = require_errors4();
function handleFilterCallsWithOptions(criteria, options, handler82, store, allLogs) {
switch (options.operator) {
case "OR":
store.push(...handler82(criteria, allLogs));
return store;
case "AND":
return handler82(criteria, store);
default:
throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
}
function buildAndValidateFilterCallsOptions(options = {}) {
const finalOptions = {};
if ("operator" in options) {
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") {
throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
return {
...finalOptions,
operator: options.operator.toUpperCase()
};
}
return finalOptions;
}
function makeFilterCalls(parameterName) {
return (parameterValue, logs) => {
if (typeof parameterValue === "string" || parameterValue == null) {
return logs.filter((log3) => {
return log3[parameterName] === parameterValue;
});
}
if (parameterValue instanceof RegExp) {
return logs.filter((log3) => {
return parameterValue.test(log3[parameterName]);
});
}
throw new InvalidArgumentError(`${parameterName} parameter should be one of string, regexp, undefined or null`);
};
}
function computeUrlWithMaybeSearchParameters(requestInit) {
try {
const url7 = new URL(requestInit.path, requestInit.origin);
if (url7.search.length !== 0) {
return url7;
}
url7.search = new URLSearchParams(requestInit.query).toString();
return url7;
} catch (error) {
throw new InvalidArgumentError("An error occurred when computing MockCallHistoryLog.url", { cause: error });
}
}
var MockCallHistoryLog = class {
constructor(requestInit = {}) {
this.body = requestInit.body;
this.headers = requestInit.headers;
this.method = requestInit.method;
const url7 = computeUrlWithMaybeSearchParameters(requestInit);
this.fullUrl = url7.toString();
this.origin = url7.origin;
this.path = url7.pathname;
this.searchParams = Object.fromEntries(url7.searchParams);
this.protocol = url7.protocol;
this.host = url7.host;
this.port = url7.port;
this.hash = url7.hash;
}
toMap() {
return /* @__PURE__ */ new Map(
[
["protocol", this.protocol],
["host", this.host],
["port", this.port],
["origin", this.origin],
["path", this.path],
["hash", this.hash],
["searchParams", this.searchParams],
["fullUrl", this.fullUrl],
["method", this.method],
["body", this.body],
["headers", this.headers]
]
);
}
toString() {
const options = { betweenKeyValueSeparator: "->", betweenPairSeparator: "|" };
let result2 = "";
this.toMap().forEach((value, key) => {
if (typeof value === "string" || value === void 0 || value === null) {
result2 = `${result2}${key}${options.betweenKeyValueSeparator}${value}${options.betweenPairSeparator}`;
}
if (typeof value === "object" && value !== null || Array.isArray(value)) {
result2 = `${result2}${key}${options.betweenKeyValueSeparator}${JSON.stringify(value)}${options.betweenPairSeparator}`;
}
});
return result2.slice(0, -1);
}
};
var MockCallHistory = class {
logs = [];
calls() {
return this.logs;
}
firstCall() {
return this.logs.at(0);
}
lastCall() {
return this.logs.at(-1);
}
nthCall(number) {
if (typeof number !== "number") {
throw new InvalidArgumentError("nthCall must be called with a number");
}
if (!Number.isInteger(number)) {
throw new InvalidArgumentError("nthCall must be called with an integer");
}
if (Math.sign(number) !== 1) {
throw new InvalidArgumentError("nthCall must be called with a positive value. use firstCall or lastCall instead");
}
return this.logs.at(number - 1);
}
filterCalls(criteria, options) {
if (this.logs.length === 0) {
return this.logs;
}
if (typeof criteria === "function") {
return this.logs.filter(criteria);
}
if (criteria instanceof RegExp) {
return this.logs.filter((log3) => {
return criteria.test(log3.toString());
});
}
if (typeof criteria === "object" && criteria !== null) {
if (Object.keys(criteria).length === 0) {
return this.logs;
}
const finalOptions = { operator: "OR", ...buildAndValidateFilterCallsOptions(options) };
let maybeDuplicatedLogsFiltered = finalOptions.operator === "AND" ? this.logs : [];
if ("protocol" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered, this.logs);
}
if ("host" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered, this.logs);
}
if ("port" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered, this.logs);
}
if ("origin" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered, this.logs);
}
if ("path" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered, this.logs);
}
if ("hash" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered, this.logs);
}
if ("fullUrl" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered, this.logs);
}
if ("method" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered, this.logs);
}
const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)];
return uniqLogsFiltered;
}
throw new InvalidArgumentError("criteria parameter should be one of function, regexp, or object");
}
filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
filterCallsByHost = makeFilterCalls.call(this, "host");
filterCallsByPort = makeFilterCalls.call(this, "port");
filterCallsByOrigin = makeFilterCalls.call(this, "origin");
filterCallsByPath = makeFilterCalls.call(this, "path");
filterCallsByHash = makeFilterCalls.call(this, "hash");
filterCallsByFullUrl = makeFilterCalls.call(this, "fullUrl");
filterCallsByMethod = makeFilterCalls.call(this, "method");
clear() {
this.logs = [];
}
[kMockCallHistoryAddLog](requestInit) {
const log3 = new MockCallHistoryLog(requestInit);
this.logs.push(log3);
return log3;
}
*[Symbol.iterator]() {
for (const log3 of this.calls()) {
yield log3;
}
}
};
module2.exports.MockCallHistory = MockCallHistory;
module2.exports.MockCallHistoryLog = MockCallHistoryLog;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-pool.js
var require_mock_pool = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
"use strict";
var { promisify: promisify15 } = __require("node:util");
var Pool = require_pool();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError } = require_errors4();
var MockPool = class extends Pool {
constructor(origin, opts3) {
if (!opts3 || !opts3.agent || typeof opts3.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
super(origin, opts3);
this[kMockAgent] = opts3.agent;
this[kOrigin] = origin;
this[kIgnoreTrailingSlash] = opts3.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
/**
* Sets up the base interceptor for mocking replies from undici.
*/
intercept(opts3) {
return new MockInterceptor(
opts3 && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts3 },
this[kDispatches]
);
}
cleanMocks() {
this[kDispatches] = [];
}
async [kClose]() {
await promisify15(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
};
module2.exports = MockPool;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/pending-interceptors-formatter.js
var require_pending_interceptors_formatter = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var { Console } = __require("node:console");
var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
module2.exports = class PendingInterceptorsFormatter {
constructor({ disableColors } = {}) {
this.transform = new Transform2({
transform(chunk, _enc, cb) {
cb(null, chunk);
}
});
this.logger = new Console({
stdout: this.transform,
inspectOptions: {
colors: !disableColors && !process.env.CI
}
});
}
format(pendingInterceptors) {
const withPrettyHeaders = pendingInterceptors.map(
({ method: method2, path: path236, data: { statusCode }, persist, times: times3, timesInvoked, origin }) => ({
Method: method2,
Origin: origin,
Path: path236,
"Status code": statusCode,
Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
Invocations: timesInvoked,
Remaining: persist ? Infinity : times3 - timesInvoked
})
);
this.logger.table(withPrettyHeaders);
return this.transform.read().toString();
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-agent.js
var require_mock_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
"use strict";
var { kClients } = require_symbols();
var Agent2 = require_agent();
var {
kAgent,
kMockAgentSet,
kMockAgentGet,
kDispatches,
kIsMockActive,
kNetConnect,
kGetNetConnect,
kOptions,
kFactory,
kMockAgentRegisterCallHistory,
kMockAgentIsCallHistoryEnabled,
kMockAgentAddCallHistoryLog,
kMockAgentMockCallHistoryInstance,
kMockAgentAcceptsNonStandardSearchParameters,
kMockCallHistoryAddLog,
kIgnoreTrailingSlash
} = require_mock_symbols();
var MockClient = require_mock_client();
var MockPool = require_mock_pool();
var { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
var { InvalidArgumentError, UndiciError } = require_errors4();
var Dispatcher = require_dispatcher();
var PendingInterceptorsFormatter = require_pending_interceptors_formatter();
var { MockCallHistory } = require_mock_call_history();
var MockAgent = class extends Dispatcher {
constructor(opts3 = {}) {
super(opts3);
const mockOptions = buildAndValidateMockOptions(opts3);
this[kNetConnect] = true;
this[kIsMockActive] = true;
this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
if (opts3?.agent && typeof opts3.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
const agent = opts3?.agent ? opts3.agent : new Agent2(opts3);
this[kAgent] = agent;
this[kClients] = agent[kClients];
this[kOptions] = mockOptions;
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
}
}
get(origin) {
const normalizedOrigin = normalizeOrigin(origin);
const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin;
let dispatcher = this[kMockAgentGet](originKey);
if (!dispatcher) {
dispatcher = this[kFactory](originKey);
this[kMockAgentSet](originKey, dispatcher);
}
return dispatcher;
}
dispatch(opts3, handler82) {
opts3.origin = normalizeOrigin(opts3.origin);
this.get(opts3.origin);
this[kMockAgentAddCallHistoryLog](opts3);
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
const dispatchOpts = { ...opts3 };
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
const [path236, searchParams] = dispatchOpts.path.split("?");
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters);
dispatchOpts.path = `${path236}?${normalizedSearchParams}`;
}
return this[kAgent].dispatch(dispatchOpts, handler82);
}
async close() {
this.clearCallHistory();
await this[kAgent].close();
this[kClients].clear();
}
deactivate() {
this[kIsMockActive] = false;
}
activate() {
this[kIsMockActive] = true;
}
enableNetConnect(matcher) {
if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
if (Array.isArray(this[kNetConnect])) {
this[kNetConnect].push(matcher);
} else {
this[kNetConnect] = [matcher];
}
} else if (typeof matcher === "undefined") {
this[kNetConnect] = true;
} else {
throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
}
}
disableNetConnect() {
this[kNetConnect] = false;
}
enableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = true;
return this;
}
disableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = false;
return this;
}
getCallHistory() {
return this[kMockAgentMockCallHistoryInstance];
}
clearCallHistory() {
if (this[kMockAgentMockCallHistoryInstance] !== void 0) {
this[kMockAgentMockCallHistoryInstance].clear();
}
}
// This is required to bypass issues caused by using global symbols - see:
// https://github.com/nodejs/undici/issues/1447
get isMockActive() {
return this[kIsMockActive];
}
[kMockAgentRegisterCallHistory]() {
if (this[kMockAgentMockCallHistoryInstance] === void 0) {
this[kMockAgentMockCallHistoryInstance] = new MockCallHistory();
}
}
[kMockAgentAddCallHistoryLog](opts3) {
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
this[kMockAgentMockCallHistoryInstance][kMockCallHistoryAddLog](opts3);
}
}
[kMockAgentSet](origin, dispatcher) {
this[kClients].set(origin, { count: 0, dispatcher });
}
[kFactory](origin) {
const mockOptions = Object.assign({ agent: this }, this[kOptions]);
return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
}
[kMockAgentGet](origin) {
const result2 = this[kClients].get(origin);
if (result2?.dispatcher) {
return result2.dispatcher;
}
if (typeof origin !== "string") {
const dispatcher = this[kFactory]("http://localhost:9999");
this[kMockAgentSet](origin, dispatcher);
return dispatcher;
}
for (const [keyMatcher, result3] of Array.from(this[kClients])) {
if (result3 && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
const dispatcher = this[kFactory](origin);
this[kMockAgentSet](origin, dispatcher);
dispatcher[kDispatches] = result3.dispatcher[kDispatches];
return dispatcher;
}
}
}
[kGetNetConnect]() {
return this[kNetConnect];
}
pendingInterceptors() {
const mockAgentClients = this[kClients];
return Array.from(mockAgentClients.entries()).flatMap(([origin, result2]) => result2.dispatcher[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
}
assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
const pending = this.pendingInterceptors();
if (pending.length === 0) {
return;
}
throw new UndiciError(
pending.length === 1 ? `1 interceptor is pending:
${pendingInterceptorsFormatter.format(pending)}`.trim() : `${pending.length} interceptors are pending:
${pendingInterceptorsFormatter.format(pending)}`.trim()
);
}
};
module2.exports = MockAgent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-utils.js
var require_snapshot_utils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-utils.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
var { runtimeFeatures } = require_runtime_features();
function createHeaderFilters(matchOptions = {}) {
const { ignoreHeaders = [], excludeHeaders = [], matchHeaders = [], caseSensitive = false } = matchOptions;
return {
ignore: new Set(ignoreHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
exclude: new Set(excludeHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
match: new Set(matchHeaders.map((header) => caseSensitive ? header : header.toLowerCase()))
};
}
var crypto13 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var hashId = crypto13?.hash ? (value) => crypto13.hash("sha256", value, "base64url") : (value) => Buffer.from(value).toString("base64url");
function isUndiciHeaders(headers) {
return Array.isArray(headers) && (headers.length & 1) === 0;
}
function isUrlExcludedFactory(excludePatterns = []) {
if (excludePatterns.length === 0) {
return () => false;
}
return function isUrlExcluded(url7) {
let urlLowerCased;
for (const pattern of excludePatterns) {
if (typeof pattern === "string") {
if (!urlLowerCased) {
urlLowerCased = url7.toLowerCase();
}
if (urlLowerCased.includes(pattern.toLowerCase())) {
return true;
}
} else if (pattern instanceof RegExp) {
if (pattern.test(url7)) {
return true;
}
}
}
return false;
};
}
function normalizeHeaders(headers) {
const normalizedHeaders = {};
if (!headers) return normalizedHeaders;
if (isUndiciHeaders(headers)) {
for (let i4 = 0; i4 < headers.length; i4 += 2) {
const key = headers[i4];
const value = headers[i4 + 1];
if (key && value !== void 0) {
const keyStr = Buffer.isBuffer(key) ? key.toString() : key;
const valueStr = Buffer.isBuffer(value) ? value.toString() : value;
normalizedHeaders[keyStr.toLowerCase()] = valueStr;
}
}
return normalizedHeaders;
}
if (headers && typeof headers === "object") {
for (const [key, value] of Object.entries(headers)) {
if (key && typeof key === "string") {
normalizedHeaders[key.toLowerCase()] = Array.isArray(value) ? value.join(", ") : String(value);
}
}
}
return normalizedHeaders;
}
var validSnapshotModes = (
/** @type {const} */
["record", "playback", "update"]
);
function validateSnapshotMode(mode) {
if (!validSnapshotModes.includes(mode)) {
throw new InvalidArgumentError(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
}
}
module2.exports = {
createHeaderFilters,
hashId,
isUndiciHeaders,
normalizeHeaders,
isUrlExcludedFactory,
validateSnapshotMode
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-recorder.js
var require_snapshot_recorder = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-recorder.js"(exports2, module2) {
"use strict";
var { writeFile: writeFile3, readFile: readFile4, mkdir: mkdir2 } = __require("node:fs/promises");
var { dirname: dirname3, resolve: resolve4 } = __require("node:path");
var { setTimeout: setTimeout4, clearTimeout: clearTimeout2 } = __require("node:timers");
var { InvalidArgumentError, UndiciError } = require_errors4();
var { hashId, isUrlExcludedFactory, normalizeHeaders, createHeaderFilters } = require_snapshot_utils();
function formatRequestKey(opts3, headerFilters, matchOptions = {}) {
const url7 = new URL(opts3.path, opts3.origin);
const normalized = opts3._normalizedHeaders || normalizeHeaders(opts3.headers);
if (!opts3._normalizedHeaders) {
opts3._normalizedHeaders = normalized;
}
return {
method: opts3.method || "GET",
url: matchOptions.matchQuery !== false ? url7.toString() : `${url7.origin}${url7.pathname}`,
headers: filterHeadersForMatching(normalized, headerFilters, matchOptions),
body: matchOptions.matchBody !== false && opts3.body ? String(opts3.body) : ""
};
}
function filterHeadersForMatching(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object") return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { ignore: ignore2, exclude, match } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (exclude.has(headerKey)) continue;
if (ignore2.has(headerKey)) continue;
if (match.size !== 0) {
if (!match.has(headerKey)) continue;
}
filtered[headerKey] = value;
}
return filtered;
}
function filterHeadersForStorage(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object") return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { exclude: excludeSet } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (excludeSet.has(headerKey)) continue;
filtered[headerKey] = value;
}
return filtered;
}
function createRequestHash(formattedRequest) {
const parts = [
formattedRequest.method,
formattedRequest.url
];
if (formattedRequest.headers && typeof formattedRequest.headers === "object") {
const headerKeys = Object.keys(formattedRequest.headers).sort();
for (const key of headerKeys) {
const values = Array.isArray(formattedRequest.headers[key]) ? formattedRequest.headers[key] : [formattedRequest.headers[key]];
parts.push(key);
for (const value of values.sort()) {
parts.push(String(value));
}
}
}
parts.push(formattedRequest.body);
const content = parts.join("|");
return hashId(content);
}
var SnapshotRecorder = class {
/** @type {NodeJS.Timeout | null} */
#flushTimeout;
/** @type {import('./snapshot-utils').IsUrlExcluded} */
#isUrlExcluded;
/** @type {Map<string, SnapshotEntry>} */
#snapshots = /* @__PURE__ */ new Map();
/** @type {string|undefined} */
#snapshotPath;
/** @type {number} */
#maxSnapshots = Infinity;
/** @type {boolean} */
#autoFlush = false;
/** @type {import('./snapshot-utils').HeaderFilters} */
#headerFilters;
/**
* Creates a new SnapshotRecorder instance
* @param {SnapshotRecorderOptions&SnapshotRecorderMatchOptions} [options={}] - Configuration options for the recorder
*/
constructor(options = {}) {
this.#snapshotPath = options.snapshotPath;
this.#maxSnapshots = options.maxSnapshots || Infinity;
this.#autoFlush = options.autoFlush || false;
this.flushInterval = options.flushInterval || 3e4;
this._flushTimer = null;
this.matchOptions = {
matchHeaders: options.matchHeaders || [],
// empty means match all headers
ignoreHeaders: options.ignoreHeaders || [],
excludeHeaders: options.excludeHeaders || [],
matchBody: options.matchBody !== false,
// default: true
matchQuery: options.matchQuery !== false,
// default: true
caseSensitive: options.caseSensitive || false
};
this.#headerFilters = createHeaderFilters(this.matchOptions);
this.shouldRecord = options.shouldRecord || (() => true);
this.shouldPlayback = options.shouldPlayback || (() => true);
this.#isUrlExcluded = isUrlExcludedFactory(options.excludeUrls);
if (this.#autoFlush && this.#snapshotPath) {
this.#startAutoFlush();
}
}
/**
* Records a request-response interaction
* @param {SnapshotRequestOptions} requestOpts - Request options
* @param {SnapshotEntryResponse} response - Response data to record
* @return {Promise<void>} - Resolves when the recording is complete
*/
async record(requestOpts, response) {
if (!this.shouldRecord(requestOpts)) {
return;
}
if (this.isUrlExcluded(requestOpts)) {
return;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash2 = createRequestHash(request);
const normalizedHeaders = normalizeHeaders(response.headers);
const responseData = {
statusCode: response.statusCode,
headers: filterHeadersForStorage(normalizedHeaders, this.#headerFilters, this.matchOptions),
body: Buffer.isBuffer(response.body) ? response.body.toString("base64") : Buffer.from(String(response.body || "")).toString("base64"),
trailers: response.trailers
};
if (this.#snapshots.size >= this.#maxSnapshots && !this.#snapshots.has(hash2)) {
const oldestKey = this.#snapshots.keys().next().value;
this.#snapshots.delete(oldestKey);
}
const existingSnapshot = this.#snapshots.get(hash2);
if (existingSnapshot && existingSnapshot.responses) {
existingSnapshot.responses.push(responseData);
existingSnapshot.timestamp = (/* @__PURE__ */ new Date()).toISOString();
} else {
this.#snapshots.set(hash2, {
request,
responses: [responseData],
// Always store as array for consistency
callCount: 0,
timestamp: (/* @__PURE__ */ new Date()).toISOString()
});
}
if (this.#autoFlush && this.#snapshotPath) {
this.#scheduleFlush();
}
}
/**
* Checks if a URL should be excluded from recording/playback
* @param {SnapshotRequestOptions} requestOpts - Request options to check
* @returns {boolean} - True if URL is excluded
*/
isUrlExcluded(requestOpts) {
const url7 = new URL(requestOpts.path, requestOpts.origin).toString();
return this.#isUrlExcluded(url7);
}
/**
* Finds a matching snapshot for the given request
* Returns the appropriate response based on call count for sequential responses
*
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {SnapshotEntry&Record<'response', SnapshotEntryResponse>|undefined} - Matching snapshot response or undefined if not found
*/
findSnapshot(requestOpts) {
if (!this.shouldPlayback(requestOpts)) {
return void 0;
}
if (this.isUrlExcluded(requestOpts)) {
return void 0;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash2 = createRequestHash(request);
const snapshot = this.#snapshots.get(hash2);
if (!snapshot) return void 0;
const currentCallCount = snapshot.callCount || 0;
const responseIndex = Math.min(currentCallCount, snapshot.responses.length - 1);
snapshot.callCount = currentCallCount + 1;
return {
...snapshot,
response: snapshot.responses[responseIndex]
};
}
/**
* Loads snapshots from file
* @param {string} [filePath] - Optional file path to load snapshots from
* @return {Promise<void>} - Resolves when snapshots are loaded
*/
async loadSnapshots(filePath) {
const path236 = filePath || this.#snapshotPath;
if (!path236) {
throw new InvalidArgumentError("Snapshot path is required");
}
try {
const data = await readFile4(resolve4(path236), "utf8");
const parsed = JSON.parse(data);
if (Array.isArray(parsed)) {
this.#snapshots.clear();
for (const { hash: hash2, snapshot } of parsed) {
this.#snapshots.set(hash2, snapshot);
}
} else {
this.#snapshots = new Map(Object.entries(parsed));
}
} catch (error) {
if (error.code === "ENOENT") {
this.#snapshots.clear();
} else {
throw new UndiciError(`Failed to load snapshots from ${path236}`, { cause: error });
}
}
}
/**
* Saves snapshots to file
*
* @param {string} [filePath] - Optional file path to save snapshots
* @returns {Promise<void>} - Resolves when snapshots are saved
*/
async saveSnapshots(filePath) {
const path236 = filePath || this.#snapshotPath;
if (!path236) {
throw new InvalidArgumentError("Snapshot path is required");
}
const resolvedPath = resolve4(path236);
await mkdir2(dirname3(resolvedPath), { recursive: true });
const data = Array.from(this.#snapshots.entries()).map(([hash2, snapshot]) => ({
hash: hash2,
snapshot
}));
await writeFile3(resolvedPath, JSON.stringify(data, null, 2), { flush: true });
}
/**
* Clears all recorded snapshots
* @returns {void}
*/
clear() {
this.#snapshots.clear();
}
/**
* Gets all recorded snapshots
* @return {Array<SnapshotEntry>} - Array of all recorded snapshots
*/
getSnapshots() {
return Array.from(this.#snapshots.values());
}
/**
* Gets snapshot count
* @return {number} - Number of recorded snapshots
*/
size() {
return this.#snapshots.size;
}
/**
* Resets call counts for all snapshots (useful for test cleanup)
* @returns {void}
*/
resetCallCounts() {
for (const snapshot of this.#snapshots.values()) {
snapshot.callCount = 0;
}
}
/**
* Deletes a specific snapshot by request options
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {boolean} - True if snapshot was deleted, false if not found
*/
deleteSnapshot(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash2 = createRequestHash(request);
return this.#snapshots.delete(hash2);
}
/**
* Gets information about a specific snapshot
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {SnapshotInfo|null} - Snapshot information or null if not found
*/
getSnapshotInfo(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash2 = createRequestHash(request);
const snapshot = this.#snapshots.get(hash2);
if (!snapshot) return null;
return {
hash: hash2,
request: snapshot.request,
responseCount: snapshot.responses ? snapshot.responses.length : snapshot.response ? 1 : 0,
// .response for legacy snapshots
callCount: snapshot.callCount || 0,
timestamp: snapshot.timestamp
};
}
/**
* Replaces all snapshots with new data (full replacement)
* @param {Array<{hash: string; snapshot: SnapshotEntry}>|Record<string, SnapshotEntry>} snapshotData - New snapshot data to replace existing ones
* @returns {void}
*/
replaceSnapshots(snapshotData) {
this.#snapshots.clear();
if (Array.isArray(snapshotData)) {
for (const { hash: hash2, snapshot } of snapshotData) {
this.#snapshots.set(hash2, snapshot);
}
} else if (snapshotData && typeof snapshotData === "object") {
this.#snapshots = new Map(Object.entries(snapshotData));
}
}
/**
* Starts the auto-flush timer
* @returns {void}
*/
#startAutoFlush() {
return this.#scheduleFlush();
}
/**
* Stops the auto-flush timer
* @returns {void}
*/
#stopAutoFlush() {
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.saveSnapshots().catch(() => {
});
this.#flushTimeout = null;
}
}
/**
* Schedules a flush (debounced to avoid excessive writes)
*/
#scheduleFlush() {
this.#flushTimeout = setTimeout4(() => {
this.saveSnapshots().catch(() => {
});
if (this.#autoFlush) {
this.#flushTimeout?.refresh();
} else {
this.#flushTimeout = null;
}
}, 1e3);
}
/**
* Cleanup method to stop timers
* @returns {void}
*/
destroy() {
this.#stopAutoFlush();
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.#flushTimeout = null;
}
}
/**
* Async close method that saves all recordings and performs cleanup
* @returns {Promise<void>}
*/
async close() {
if (this.#snapshotPath && this.#snapshots.size !== 0) {
await this.saveSnapshots();
}
this.destroy();
}
};
module2.exports = { SnapshotRecorder, formatRequestKey, createRequestHash, filterHeadersForMatching, filterHeadersForStorage, createHeaderFilters };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-agent.js
var require_snapshot_agent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/mock/snapshot-agent.js"(exports2, module2) {
"use strict";
var Agent2 = require_agent();
var MockAgent = require_mock_agent();
var { SnapshotRecorder } = require_snapshot_recorder();
var WrapHandler = require_wrap_handler();
var { InvalidArgumentError, UndiciError } = require_errors4();
var { validateSnapshotMode } = require_snapshot_utils();
var kSnapshotRecorder = /* @__PURE__ */ Symbol("kSnapshotRecorder");
var kSnapshotMode = /* @__PURE__ */ Symbol("kSnapshotMode");
var kSnapshotPath = /* @__PURE__ */ Symbol("kSnapshotPath");
var kSnapshotLoaded = /* @__PURE__ */ Symbol("kSnapshotLoaded");
var kRealAgent = /* @__PURE__ */ Symbol("kRealAgent");
var warningEmitted = false;
var SnapshotAgent = class extends MockAgent {
constructor(opts3 = {}) {
if (!warningEmitted) {
process.emitWarning(
"SnapshotAgent is experimental and subject to change",
"ExperimentalWarning"
);
warningEmitted = true;
}
const {
mode = "record",
snapshotPath = null,
...mockAgentOpts
} = opts3;
super(mockAgentOpts);
validateSnapshotMode(mode);
if ((mode === "playback" || mode === "update") && !snapshotPath) {
throw new InvalidArgumentError(`snapshotPath is required when mode is '${mode}'`);
}
this[kSnapshotMode] = mode;
this[kSnapshotPath] = snapshotPath;
this[kSnapshotRecorder] = new SnapshotRecorder({
snapshotPath: this[kSnapshotPath],
mode: this[kSnapshotMode],
maxSnapshots: opts3.maxSnapshots,
autoFlush: opts3.autoFlush,
flushInterval: opts3.flushInterval,
matchHeaders: opts3.matchHeaders,
ignoreHeaders: opts3.ignoreHeaders,
excludeHeaders: opts3.excludeHeaders,
matchBody: opts3.matchBody,
matchQuery: opts3.matchQuery,
caseSensitive: opts3.caseSensitive,
shouldRecord: opts3.shouldRecord,
shouldPlayback: opts3.shouldPlayback,
excludeUrls: opts3.excludeUrls
});
this[kSnapshotLoaded] = false;
if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update" || this[kSnapshotMode] === "playback" && opts3.excludeUrls && opts3.excludeUrls.length > 0) {
this[kRealAgent] = new Agent2(opts3);
}
if ((this[kSnapshotMode] === "playback" || this[kSnapshotMode] === "update") && this[kSnapshotPath]) {
this.loadSnapshots().catch(() => {
});
}
}
dispatch(opts3, handler82) {
handler82 = WrapHandler.wrap(handler82);
const mode = this[kSnapshotMode];
if (this[kSnapshotRecorder].isUrlExcluded(opts3)) {
return this[kRealAgent].dispatch(opts3, handler82);
}
if (mode === "playback" || mode === "update") {
if (!this[kSnapshotLoaded]) {
return this.#asyncDispatch(opts3, handler82);
}
const snapshot = this[kSnapshotRecorder].findSnapshot(opts3);
if (snapshot) {
return this.#replaySnapshot(snapshot, handler82);
} else if (mode === "update") {
return this.#recordAndReplay(opts3, handler82);
} else {
const error = new UndiciError(`No snapshot found for ${opts3.method || "GET"} ${opts3.path}`);
if (handler82.onError) {
handler82.onError(error);
return;
}
throw error;
}
} else if (mode === "record") {
return this.#recordAndReplay(opts3, handler82);
}
}
/**
* Async version of dispatch for when we need to load snapshots first
*/
async #asyncDispatch(opts3, handler82) {
await this.loadSnapshots();
return this.dispatch(opts3, handler82);
}
/**
* Records a real request and replays the response
*/
#recordAndReplay(opts3, handler82) {
const responseData = {
statusCode: null,
headers: {},
trailers: {},
body: []
};
const self2 = this;
const recordingHandler = {
onRequestStart(controller, context) {
return handler82.onRequestStart(controller, { ...context, history: this.history });
},
onRequestUpgrade(controller, statusCode, headers, socket) {
return handler82.onRequestUpgrade(controller, statusCode, headers, socket);
},
onResponseStart(controller, statusCode, headers, statusMessage) {
responseData.statusCode = statusCode;
responseData.headers = headers;
return handler82.onResponseStart(controller, statusCode, headers, statusMessage);
},
onResponseData(controller, chunk) {
responseData.body.push(chunk);
return handler82.onResponseData(controller, chunk);
},
onResponseEnd(controller, trailers) {
responseData.trailers = trailers;
const responseBody = Buffer.concat(responseData.body);
self2[kSnapshotRecorder].record(opts3, {
statusCode: responseData.statusCode,
headers: responseData.headers,
body: responseBody,
trailers: responseData.trailers
}).then(() => handler82.onResponseEnd(controller, trailers)).catch((error) => handler82.onResponseError(controller, error));
}
};
const agent = this[kRealAgent];
return agent.dispatch(opts3, recordingHandler);
}
/**
* Replays a recorded response
*
* @param {Object} snapshot - The recorded snapshot to replay.
* @param {Object} handler - The handler to call with the response data.
* @returns {void}
*/
#replaySnapshot(snapshot, handler82) {
try {
const { response } = snapshot;
const controller = {
pause() {
},
resume() {
},
abort(reason) {
this.aborted = true;
this.reason = reason;
},
aborted: false,
paused: false
};
handler82.onRequestStart(controller);
handler82.onResponseStart(controller, response.statusCode, response.headers);
const body = Buffer.from(response.body, "base64");
handler82.onResponseData(controller, body);
handler82.onResponseEnd(controller, response.trailers);
} catch (error) {
handler82.onError?.(error);
}
}
/**
* Loads snapshots from file
*
* @param {string} [filePath] - Optional file path to load snapshots from.
* @returns {Promise<void>} - Resolves when snapshots are loaded.
*/
async loadSnapshots(filePath) {
await this[kSnapshotRecorder].loadSnapshots(filePath || this[kSnapshotPath]);
this[kSnapshotLoaded] = true;
if (this[kSnapshotMode] === "playback") {
this.#setupMockInterceptors();
}
}
/**
* Saves snapshots to file
*
* @param {string} [filePath] - Optional file path to save snapshots to.
* @returns {Promise<void>} - Resolves when snapshots are saved.
*/
async saveSnapshots(filePath) {
return this[kSnapshotRecorder].saveSnapshots(filePath || this[kSnapshotPath]);
}
/**
* Sets up MockAgent interceptors based on recorded snapshots.
*
* This method creates MockAgent interceptors for each recorded snapshot,
* allowing the SnapshotAgent to fall back to MockAgent's standard intercept
* mechanism in playback mode. Each interceptor is configured to persist
* (remain active for multiple requests) and responds with the recorded
* response data.
*
* Called automatically when loading snapshots in playback mode.
*
* @returns {void}
*/
#setupMockInterceptors() {
for (const snapshot of this[kSnapshotRecorder].getSnapshots()) {
const { request, responses, response } = snapshot;
const url7 = new URL(request.url);
const mockPool = this.get(url7.origin);
const responseData = responses ? responses[0] : response;
if (!responseData) continue;
mockPool.intercept({
path: url7.pathname + url7.search,
method: request.method,
headers: request.headers,
body: request.body
}).reply(responseData.statusCode, responseData.body, {
headers: responseData.headers,
trailers: responseData.trailers
}).persist();
}
}
/**
* Gets the snapshot recorder
* @return {SnapshotRecorder} - The snapshot recorder instance
*/
getRecorder() {
return this[kSnapshotRecorder];
}
/**
* Gets the current mode
* @return {import('./snapshot-utils').SnapshotMode} - The current snapshot mode
*/
getMode() {
return this[kSnapshotMode];
}
/**
* Clears all snapshots
* @returns {void}
*/
clearSnapshots() {
this[kSnapshotRecorder].clear();
}
/**
* Resets call counts for all snapshots (useful for test cleanup)
* @returns {void}
*/
resetCallCounts() {
this[kSnapshotRecorder].resetCallCounts();
}
/**
* Deletes a specific snapshot by request options
* @param {import('./snapshot-recorder').SnapshotRequestOptions} requestOpts - Request options to identify the snapshot
* @return {Promise<boolean>} - Returns true if the snapshot was deleted, false if not found
*/
deleteSnapshot(requestOpts) {
return this[kSnapshotRecorder].deleteSnapshot(requestOpts);
}
/**
* Gets information about a specific snapshot
* @returns {import('./snapshot-recorder').SnapshotInfo|null} - Snapshot information or null if not found
*/
getSnapshotInfo(requestOpts) {
return this[kSnapshotRecorder].getSnapshotInfo(requestOpts);
}
/**
* Replaces all snapshots with new data (full replacement)
* @param {Array<{hash: string; snapshot: import('./snapshot-recorder').SnapshotEntryshotEntry}>|Record<string, import('./snapshot-recorder').SnapshotEntry>} snapshotData - New snapshot data to replace existing snapshots
* @returns {void}
*/
replaceSnapshots(snapshotData) {
this[kSnapshotRecorder].replaceSnapshots(snapshotData);
}
/**
* Closes the agent, saving snapshots and cleaning up resources.
*
* @returns {Promise<void>}
*/
async close() {
await this[kSnapshotRecorder].close();
await this[kRealAgent]?.close();
await super.close();
}
};
module2.exports = SnapshotAgent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/global.js
var require_global2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/global.js"(exports2, module2) {
"use strict";
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.2");
var legacyGlobalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
var { InvalidArgumentError } = require_errors4();
var Agent2 = require_agent();
if (getGlobalDispatcher2() === void 0) {
setGlobalDispatcher2(new Agent2());
}
function setGlobalDispatcher2(agent) {
if (!agent || typeof agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument agent must implement Agent");
}
Object.defineProperty(globalThis, globalDispatcher, {
value: agent,
writable: true,
enumerable: false,
configurable: false
});
Object.defineProperty(globalThis, legacyGlobalDispatcher, {
value: agent,
writable: true,
enumerable: false,
configurable: false
});
}
function getGlobalDispatcher2() {
return globalThis[legacyGlobalDispatcher];
}
var installedExports = (
/** @type {const} */
[
"fetch",
"Headers",
"Response",
"Request",
"FormData",
"WebSocket",
"CloseEvent",
"ErrorEvent",
"MessageEvent",
"EventSource"
]
);
module2.exports = {
setGlobalDispatcher: setGlobalDispatcher2,
getGlobalDispatcher: getGlobalDispatcher2,
installedExports
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/decorator-handler.js
var require_decorator_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var WrapHandler = require_wrap_handler();
module2.exports = class DecoratorHandler {
#handler;
#onCompleteCalled = false;
#onErrorCalled = false;
#onResponseStartCalled = false;
constructor(handler82) {
if (typeof handler82 !== "object" || handler82 === null) {
throw new TypeError("handler must be an object");
}
this.#handler = WrapHandler.wrap(handler82);
}
onRequestStart(...args) {
this.#handler.onRequestStart?.(...args);
}
onRequestUpgrade(...args) {
assert13(!this.#onCompleteCalled);
assert13(!this.#onErrorCalled);
return this.#handler.onRequestUpgrade?.(...args);
}
onResponseStart(...args) {
assert13(!this.#onCompleteCalled);
assert13(!this.#onErrorCalled);
assert13(!this.#onResponseStartCalled);
this.#onResponseStartCalled = true;
return this.#handler.onResponseStart?.(...args);
}
onResponseData(...args) {
assert13(!this.#onCompleteCalled);
assert13(!this.#onErrorCalled);
return this.#handler.onResponseData?.(...args);
}
onResponseEnd(...args) {
assert13(!this.#onCompleteCalled);
assert13(!this.#onErrorCalled);
this.#onCompleteCalled = true;
return this.#handler.onResponseEnd?.(...args);
}
onResponseError(...args) {
this.#onErrorCalled = true;
return this.#handler.onResponseError?.(...args);
}
/**
* @deprecated
*/
onBodySent() {
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/redirect-handler.js
var require_redirect_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
"use strict";
var util64 = require_util4();
var { kBodyUsed } = require_symbols();
var assert13 = __require("node:assert");
var { InvalidArgumentError } = require_errors4();
var EE = __require("node:events");
var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
var kBody = /* @__PURE__ */ Symbol("body");
var noop5 = () => {
};
var BodyAsyncIterable = class {
constructor(body) {
this[kBody] = body;
this[kBodyUsed] = false;
}
async *[Symbol.asyncIterator]() {
assert13(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
};
var RedirectHandler = class _RedirectHandler {
static buildDispatch(dispatcher, maxRedirections) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError("maxRedirections must be a positive number");
}
const dispatch = dispatcher.dispatch.bind(dispatcher);
return (opts3, originalHandler) => dispatch(opts3, new _RedirectHandler(dispatch, maxRedirections, opts3, originalHandler));
}
constructor(dispatch, maxRedirections, opts3, handler82) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError("maxRedirections must be a positive number");
}
this.dispatch = dispatch;
this.location = null;
const { maxRedirections: _, ...cleanOpts } = opts3;
this.opts = cleanOpts;
this.maxRedirections = maxRedirections;
this.handler = handler82;
this.history = [];
if (util64.isStream(this.opts.body)) {
if (util64.bodyLength(this.opts.body) === 0) {
this.opts.body.on("data", function() {
assert13(false);
});
}
if (typeof this.opts.body.readableDidRead !== "boolean") {
this.opts.body[kBodyUsed] = false;
EE.prototype.on.call(this.opts.body, "data", function() {
this[kBodyUsed] = true;
});
}
} else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
this.opts.body = new BodyAsyncIterable(this.opts.body);
} else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util64.isIterable(this.opts.body) && !util64.isFormDataLike(this.opts.body)) {
this.opts.body = new BodyAsyncIterable(this.opts.body);
}
}
onRequestStart(controller, context) {
this.handler.onRequestStart?.(controller, { ...context, history: this.history });
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
throw new Error("max redirects");
}
if ((statusCode === 301 || statusCode === 302) && this.opts.method === "POST") {
this.opts.method = "GET";
if (util64.isStream(this.opts.body)) {
util64.destroy(this.opts.body.on("error", noop5));
}
this.opts.body = null;
}
if (statusCode === 303 && this.opts.method !== "HEAD") {
this.opts.method = "GET";
if (util64.isStream(this.opts.body)) {
util64.destroy(this.opts.body.on("error", noop5));
}
this.opts.body = null;
}
this.location = this.history.length >= this.maxRedirections || util64.isDisturbed(this.opts.body) || redirectableStatusCodes.indexOf(statusCode) === -1 ? null : headers.location;
if (this.opts.origin) {
this.history.push(new URL(this.opts.path, this.opts.origin));
}
if (!this.location) {
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
const { origin, pathname, search: search2 } = util64.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
const path236 = search2 ? `${pathname}${search2}` : pathname;
const redirectUrlString = `${origin}${path236}`;
for (const historyUrl of this.history) {
if (historyUrl.toString() === redirectUrlString) {
throw new InvalidArgumentError(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
}
}
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
this.opts.path = path236;
this.opts.origin = origin;
this.opts.query = null;
}
onResponseData(controller, chunk) {
if (this.location) {
} else {
this.handler.onResponseData?.(controller, chunk);
}
}
onResponseEnd(controller, trailers) {
if (this.location) {
this.dispatch(this.opts, this);
} else {
this.handler.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, error) {
this.handler.onResponseError?.(controller, error);
}
};
function shouldRemoveHeader(header, removeContent, unknownOrigin) {
if (header.length === 4) {
return util64.headerNameToString(header) === "host";
}
if (removeContent && util64.headerNameToString(header).startsWith("content-")) {
return true;
}
if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
const name = util64.headerNameToString(header);
return name === "authorization" || name === "cookie" || name === "proxy-authorization";
}
return false;
}
function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
const ret2 = [];
if (Array.isArray(headers)) {
for (let i4 = 0; i4 < headers.length; i4 += 2) {
if (!shouldRemoveHeader(headers[i4], removeContent, unknownOrigin)) {
ret2.push(headers[i4], headers[i4 + 1]);
}
}
} else if (headers && typeof headers === "object") {
const entries = util64.hasSafeIterator(headers) ? headers : Object.entries(headers);
for (const [key, value] of entries) {
if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
ret2.push(key, value);
}
}
} else {
assert13(headers == null, "headers must be an object or an array");
}
return ret2;
}
module2.exports = RedirectHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/redirect.js
var require_redirect = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
"use strict";
var RedirectHandler = require_redirect_handler();
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
return (dispatch) => {
return function Intercept(opts3, handler82) {
const { maxRedirections = defaultMaxRedirections, ...rest } = opts3;
if (maxRedirections == null || maxRedirections === 0) {
return dispatch(opts3, handler82);
}
const dispatchOpts = { ...rest };
const redirectHandler = new RedirectHandler(dispatch, maxRedirections, dispatchOpts, handler82);
return dispatch(dispatchOpts, redirectHandler);
};
};
}
module2.exports = createRedirectInterceptor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/response-error.js
var require_response_error = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/response-error.js"(exports2, module2) {
"use strict";
var DecoratorHandler = require_decorator_handler();
var { ResponseError: ResponseError2 } = require_errors4();
var ResponseErrorHandler = class extends DecoratorHandler {
#statusCode;
#contentType;
#decoder;
#headers;
#body;
constructor(_opts, { handler: handler82 }) {
super(handler82);
}
#checkContentType(contentType) {
return (this.#contentType ?? "").indexOf(contentType) === 0;
}
onRequestStart(controller, context) {
this.#statusCode = 0;
this.#contentType = null;
this.#decoder = null;
this.#headers = null;
this.#body = "";
return super.onRequestStart(controller, context);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#statusCode = statusCode;
this.#headers = headers;
this.#contentType = headers["content-type"];
if (this.#statusCode < 400) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
if (this.#checkContentType("application/json") || this.#checkContentType("text/plain")) {
this.#decoder = new TextDecoder("utf-8");
}
}
onResponseData(controller, chunk) {
if (this.#statusCode < 400) {
return super.onResponseData(controller, chunk);
}
this.#body += this.#decoder?.decode(chunk, { stream: true }) ?? "";
}
onResponseEnd(controller, trailers) {
if (this.#statusCode >= 400) {
this.#body += this.#decoder?.decode(void 0, { stream: false }) ?? "";
if (this.#checkContentType("application/json")) {
try {
this.#body = JSON.parse(this.#body);
} catch {
}
}
let err2;
const stackTraceLimit = Error.stackTraceLimit;
Error.stackTraceLimit = 0;
try {
err2 = new ResponseError2("Response Error", this.#statusCode, {
body: this.#body,
headers: this.#headers
});
} finally {
Error.stackTraceLimit = stackTraceLimit;
}
super.onResponseError(controller, err2);
} else {
super.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, err2) {
super.onResponseError(controller, err2);
}
};
module2.exports = () => {
return (dispatch) => {
return function Intercept(opts3, handler82) {
return dispatch(opts3, new ResponseErrorHandler(opts3, { handler: handler82 }));
};
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/retry.js
var require_retry = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
"use strict";
var RetryHandler = require_retry_handler();
module2.exports = (globalOpts) => {
return (dispatch) => {
return function retryInterceptor(opts3, handler82) {
return dispatch(
opts3,
new RetryHandler(
{ ...opts3, retryOptions: { ...globalOpts, ...opts3.retryOptions } },
{
handler: handler82,
dispatch
}
)
);
};
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/dump.js
var require_dump = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, RequestAbortedError } = require_errors4();
var DecoratorHandler = require_decorator_handler();
var DumpHandler = class extends DecoratorHandler {
#maxSize = 1024 * 1024;
#dumped = false;
#size = 0;
#controller = null;
aborted = false;
reason = false;
constructor({ maxSize, signal }, handler82) {
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
throw new InvalidArgumentError("maxSize must be a number greater than 0");
}
super(handler82);
this.#maxSize = maxSize ?? this.#maxSize;
}
#abort(reason) {
this.aborted = true;
this.reason = reason;
}
onRequestStart(controller, context) {
controller.abort = this.#abort.bind(this);
this.#controller = controller;
return super.onRequestStart(controller, context);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentLength = headers["content-length"];
if (contentLength != null && contentLength > this.#maxSize) {
throw new RequestAbortedError(
`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
);
}
if (this.aborted === true) {
return true;
}
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
onResponseError(controller, err2) {
if (this.#dumped) {
return;
}
err2 = this.#controller?.reason ?? err2;
super.onResponseError(controller, err2);
}
onResponseData(controller, chunk) {
this.#size = this.#size + chunk.length;
if (this.#size >= this.#maxSize) {
this.#dumped = true;
if (this.aborted === true) {
super.onResponseError(controller, this.reason);
} else {
super.onResponseEnd(controller, {});
}
}
return true;
}
onResponseEnd(controller, trailers) {
if (this.#dumped) {
return;
}
if (this.#controller.aborted === true) {
super.onResponseError(controller, this.reason);
return;
}
super.onResponseEnd(controller, trailers);
}
};
function createDumpInterceptor({ maxSize: defaultMaxSize } = {
maxSize: 1024 * 1024
}) {
return (dispatch) => {
return function Intercept(opts3, handler82) {
const { dumpMaxSize = defaultMaxSize } = opts3;
const dumpHandler = new DumpHandler({ maxSize: dumpMaxSize, signal: opts3.signal }, handler82);
return dispatch(opts3, dumpHandler);
};
};
}
module2.exports = createDumpInterceptor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/dns.js
var require_dns = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
"use strict";
var { isIP } = __require("node:net");
var { lookup } = __require("node:dns");
var DecoratorHandler = require_decorator_handler();
var { InvalidArgumentError, InformationalError } = require_errors4();
var maxInt = Math.pow(2, 31) - 1;
function hasSafeIterator(headers) {
const prototype = Object.getPrototypeOf(headers);
const ownIterator = Object.prototype.hasOwnProperty.call(headers, Symbol.iterator);
return ownIterator || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
}
function isHostHeader(key) {
return typeof key === "string" && key.toLowerCase() === "host";
}
function normalizeHeaders(headers) {
if (headers == null) {
return null;
}
if (Array.isArray(headers)) {
if (headers.length === 0 || !Array.isArray(headers[0])) {
return headers;
}
const normalized = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized.push(header[0], header[1]);
} else {
normalized.push(header);
}
}
return normalized;
}
if (typeof headers === "object" && hasSafeIterator(headers)) {
const normalized = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized.push(header[0], header[1]);
} else {
normalized.push(header);
}
}
return normalized;
}
return headers;
}
function hasHostHeader(headers) {
if (headers == null) {
return false;
}
if (Array.isArray(headers)) {
if (headers.length === 0) {
return false;
}
for (let i4 = 0; i4 < headers.length; i4 += 2) {
if (isHostHeader(headers[i4])) {
return true;
}
}
return false;
}
if (typeof headers === "object") {
for (const key in headers) {
if (isHostHeader(key)) {
return true;
}
}
}
return false;
}
function withHostHeader(host, headers) {
const normalizedHeaders = normalizeHeaders(headers);
if (hasHostHeader(normalizedHeaders)) {
return normalizedHeaders;
}
if (Array.isArray(normalizedHeaders)) {
return ["host", host, ...normalizedHeaders];
}
if (normalizedHeaders && typeof normalizedHeaders === "object") {
return {
host,
...normalizedHeaders
};
}
return { host };
}
var DNSStorage = class {
#maxItems = 0;
#records = /* @__PURE__ */ new Map();
constructor(opts3) {
this.#maxItems = opts3.maxItems;
}
get size() {
return this.#records.size;
}
get(hostname) {
return this.#records.get(hostname) ?? null;
}
set(hostname, records) {
this.#records.set(hostname, records);
}
delete(hostname) {
this.#records.delete(hostname);
}
// Delegate to storage decide can we do more lookups or not
full() {
return this.size >= this.#maxItems;
}
};
var DNSInstance = class {
#maxTTL = 0;
#maxItems = 0;
dualStack = true;
affinity = null;
lookup = null;
pick = null;
storage = null;
constructor(opts3) {
this.#maxTTL = opts3.maxTTL;
this.#maxItems = opts3.maxItems;
this.dualStack = opts3.dualStack;
this.affinity = opts3.affinity;
this.lookup = opts3.lookup ?? this.#defaultLookup;
this.pick = opts3.pick ?? this.#defaultPick;
this.storage = opts3.storage ?? new DNSStorage(opts3);
}
runLookup(origin, opts3, cb) {
const ips = this.storage.get(origin.hostname);
if (ips == null && this.storage.full()) {
cb(null, origin);
return;
}
const newOpts = {
affinity: this.affinity,
dualStack: this.dualStack,
lookup: this.lookup,
pick: this.pick,
...opts3.dns,
maxTTL: this.#maxTTL,
maxItems: this.#maxItems
};
if (ips == null) {
this.lookup(origin, newOpts, (err2, addresses) => {
if (err2 || addresses == null || addresses.length === 0) {
cb(err2 ?? new InformationalError("No DNS entries found"));
return;
}
this.setRecords(origin, addresses);
const records = this.storage.get(origin.hostname);
const ip = this.pick(
origin,
records,
newOpts.affinity
);
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin.port !== "") {
port = `:${origin.port}`;
} else {
port = "";
}
cb(
null,
new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`)
);
});
} else {
const ip = this.pick(
origin,
ips,
newOpts.affinity
);
if (ip == null) {
this.storage.delete(origin.hostname);
this.runLookup(origin, opts3, cb);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin.port !== "") {
port = `:${origin.port}`;
} else {
port = "";
}
cb(
null,
new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`)
);
}
}
#defaultLookup(origin, opts3, cb) {
lookup(
origin.hostname,
{
all: true,
family: this.dualStack === false ? this.affinity : 0,
order: "ipv4first"
},
(err2, addresses) => {
if (err2) {
return cb(err2);
}
const results = /* @__PURE__ */ new Map();
for (const addr of addresses) {
results.set(`${addr.address}:${addr.family}`, addr);
}
cb(null, results.values());
}
);
}
#defaultPick(origin, hostnameRecords, affinity) {
let ip = null;
const { records, offset } = hostnameRecords;
let family;
if (this.dualStack) {
if (affinity == null) {
if (offset == null || offset === maxInt) {
hostnameRecords.offset = 0;
affinity = 4;
} else {
hostnameRecords.offset++;
affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
}
}
if (records[affinity] != null && records[affinity].ips.length > 0) {
family = records[affinity];
} else {
family = records[affinity === 4 ? 6 : 4];
}
} else {
family = records[affinity];
}
if (family == null || family.ips.length === 0) {
return ip;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position3 = family.offset % family.ips.length;
ip = family.ips[position3] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position3, 1);
return this.pick(origin, hostnameRecords, affinity);
}
return ip;
}
pickFamily(origin, ipFamily) {
const records = this.storage.get(origin.hostname)?.records;
if (!records) {
return null;
}
const family = records[ipFamily];
if (!family) {
return null;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position3 = family.offset % family.ips.length;
const ip = family.ips[position3] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position3, 1);
}
return ip;
}
setRecords(origin, addresses) {
const timestamp2 = Date.now();
const records = { records: { 4: null, 6: null } };
let minTTL = this.#maxTTL;
for (const record of addresses) {
record.timestamp = timestamp2;
if (typeof record.ttl === "number") {
record.ttl = Math.min(record.ttl, this.#maxTTL);
minTTL = Math.min(minTTL, record.ttl);
} else {
record.ttl = this.#maxTTL;
}
const familyRecords = records.records[record.family] ?? { ips: [] };
familyRecords.ips.push(record);
records.records[record.family] = familyRecords;
}
this.storage.set(origin.hostname, records, { ttl: minTTL });
}
deleteRecords(origin) {
this.storage.delete(origin.hostname);
}
getHandler(meta, opts3) {
return new DNSDispatchHandler(this, meta, opts3);
}
};
var DNSDispatchHandler = class extends DecoratorHandler {
#state = null;
#opts = null;
#dispatch = null;
#origin = null;
#controller = null;
#newOrigin = null;
#firstTry = true;
constructor(state, { origin, handler: handler82, dispatch, newOrigin }, opts3) {
super(handler82);
this.#origin = origin;
this.#newOrigin = newOrigin;
this.#opts = { ...opts3 };
this.#state = state;
this.#dispatch = dispatch;
}
onResponseError(controller, err2) {
switch (err2.code) {
case "ETIMEDOUT":
case "ECONNREFUSED": {
if (this.#state.dualStack) {
if (!this.#firstTry) {
super.onResponseError(controller, err2);
return;
}
this.#firstTry = false;
const otherFamily = this.#newOrigin.hostname[0] === "[" ? 4 : 6;
const ip = this.#state.pickFamily(this.#origin, otherFamily);
if (ip == null) {
super.onResponseError(controller, err2);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (this.#origin.port !== "") {
port = `:${this.#origin.port}`;
} else {
port = "";
}
const dispatchOpts = {
...this.#opts,
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
headers: withHostHeader(this.#origin.host, this.#opts.headers)
};
this.#dispatch(dispatchOpts, this);
return;
}
super.onResponseError(controller, err2);
break;
}
case "ENOTFOUND":
this.#state.deleteRecords(this.#origin);
super.onResponseError(controller, err2);
break;
default:
super.onResponseError(controller, err2);
break;
}
}
};
module2.exports = (interceptorOpts) => {
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
}
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
throw new InvalidArgumentError(
"Invalid maxItems. Must be a positive number and greater than zero"
);
}
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
}
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
}
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
throw new InvalidArgumentError("Invalid lookup. Must be a function");
}
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
throw new InvalidArgumentError("Invalid pick. Must be a function");
}
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) {
throw new InvalidArgumentError("Invalid storage. Must be a object with methods: { get, set, full, delete }");
}
const dualStack = interceptorOpts?.dualStack ?? true;
let affinity;
if (dualStack) {
affinity = interceptorOpts?.affinity ?? null;
} else {
affinity = interceptorOpts?.affinity ?? 4;
}
const opts3 = {
maxTTL: interceptorOpts?.maxTTL ?? 1e4,
// Expressed in ms
lookup: interceptorOpts?.lookup ?? null,
pick: interceptorOpts?.pick ?? null,
dualStack,
affinity,
maxItems: interceptorOpts?.maxItems ?? Infinity,
storage: interceptorOpts?.storage
};
const instance = new DNSInstance(opts3);
return (dispatch) => {
return function dnsInterceptor(origDispatchOpts, handler82) {
const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
if (isIP(origin.hostname) !== 0) {
return dispatch(origDispatchOpts, handler82);
}
instance.runLookup(origin, origDispatchOpts, (err2, newOrigin) => {
if (err2) {
return handler82.onResponseError(null, err2);
}
const dispatchOpts = {
...origDispatchOpts,
servername: origin.hostname,
// For SNI on TLS
origin: newOrigin.origin,
headers: withHostHeader(origin.host, origDispatchOpts.headers)
};
dispatch(
dispatchOpts,
instance.getHandler(
{ origin, dispatch, handler: handler82, newOrigin },
origDispatchOpts
)
);
});
return true;
};
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/cache.js
var require_cache = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/cache.js"(exports2, module2) {
"use strict";
var {
safeHTTPMethods,
pathHasQueryOrFragment,
hasSafeIterator
} = require_util4();
var { serializePathWithQuery } = require_util4();
function makeCacheKey(opts3) {
if (!opts3.origin) {
throw new Error("opts.origin is undefined");
}
let fullPath = opts3.path || "/";
if (opts3.query && !pathHasQueryOrFragment(fullPath)) {
fullPath = serializePathWithQuery(fullPath, opts3.query);
}
return {
origin: opts3.origin.toString(),
method: opts3.method,
path: fullPath,
headers: opts3.headers
};
}
function normalizeHeaders(opts3) {
let headers;
if (opts3.headers == null) {
headers = {};
} else if (typeof opts3.headers === "object") {
headers = {};
if (hasSafeIterator(opts3.headers)) {
for (const x3 of opts3.headers) {
if (!Array.isArray(x3)) {
throw new Error("opts.headers is not a valid header map");
}
const [key, val] = x3;
if (typeof key !== "string" || typeof val !== "string") {
throw new Error("opts.headers is not a valid header map");
}
headers[key.toLowerCase()] = val;
}
} else {
for (const key of Object.keys(opts3.headers)) {
headers[key.toLowerCase()] = opts3.headers[key];
}
}
} else {
throw new Error("opts.headers is not an object");
}
return headers;
}
function assertCacheKey(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
for (const property of ["origin", "method", "path"]) {
if (typeof key[property] !== "string") {
throw new TypeError(`expected key.${property} to be string, got ${typeof key[property]}`);
}
}
if (key.headers !== void 0 && typeof key.headers !== "object") {
throw new TypeError(`expected headers to be object, got ${typeof key}`);
}
}
function assertCacheValue(value) {
if (typeof value !== "object") {
throw new TypeError(`expected value to be object, got ${typeof value}`);
}
for (const property of ["statusCode", "cachedAt", "staleAt", "deleteAt"]) {
if (typeof value[property] !== "number") {
throw new TypeError(`expected value.${property} to be number, got ${typeof value[property]}`);
}
}
if (typeof value.statusMessage !== "string") {
throw new TypeError(`expected value.statusMessage to be string, got ${typeof value.statusMessage}`);
}
if (value.headers != null && typeof value.headers !== "object") {
throw new TypeError(`expected value.rawHeaders to be object, got ${typeof value.headers}`);
}
if (value.vary !== void 0 && typeof value.vary !== "object") {
throw new TypeError(`expected value.vary to be object, got ${typeof value.vary}`);
}
if (value.etag !== void 0 && typeof value.etag !== "string") {
throw new TypeError(`expected value.etag to be string, got ${typeof value.etag}`);
}
}
function parseCacheControlHeader(header) {
const output = {};
let directives;
if (Array.isArray(header)) {
directives = [];
for (const directive of header) {
directives.push(...directive.split(","));
}
} else {
directives = header.split(",");
}
for (let i4 = 0; i4 < directives.length; i4++) {
const directive = directives[i4].toLowerCase();
const keyValueDelimiter = directive.indexOf("=");
let key;
let value;
if (keyValueDelimiter !== -1) {
key = directive.substring(0, keyValueDelimiter).trimStart();
value = directive.substring(keyValueDelimiter + 1);
} else {
key = directive.trim();
}
switch (key) {
case "min-fresh":
case "max-stale":
case "max-age":
case "s-maxage":
case "stale-while-revalidate":
case "stale-if-error": {
if (value === void 0 || value[0] === " ") {
continue;
}
if (value.length >= 2 && value[0] === '"' && value[value.length - 1] === '"') {
value = value.substring(1, value.length - 1);
}
const parsedValue = parseInt(value, 10);
if (parsedValue !== parsedValue) {
continue;
}
if (key === "max-age" && key in output && output[key] >= parsedValue) {
continue;
}
output[key] = parsedValue;
break;
}
case "private":
case "no-cache": {
if (value) {
if (value[0] === '"') {
const headers = [value.substring(1)];
let foundEndingQuote = value[value.length - 1] === '"';
if (!foundEndingQuote) {
for (let j2 = i4 + 1; j2 < directives.length; j2++) {
const nextPart = directives[j2];
const nextPartLength = nextPart.length;
headers.push(nextPart.trim());
if (nextPartLength !== 0 && nextPart[nextPartLength - 1] === '"') {
foundEndingQuote = true;
break;
}
}
}
if (foundEndingQuote) {
let lastHeader = headers[headers.length - 1];
if (lastHeader[lastHeader.length - 1] === '"') {
lastHeader = lastHeader.substring(0, lastHeader.length - 1);
headers[headers.length - 1] = lastHeader;
}
for (let j2 = 0; j2 < headers.length; j2++) {
headers[j2] = headers[j2].trim();
}
if (key in output) {
output[key] = output[key].concat(headers);
} else {
output[key] = headers;
}
}
} else {
const fieldName = value.trim();
if (key in output) {
output[key] = output[key].concat(fieldName);
} else {
output[key] = [fieldName];
}
}
break;
}
}
// eslint-disable-next-line no-fallthrough
case "public":
case "no-store":
case "must-revalidate":
case "proxy-revalidate":
case "immutable":
case "no-transform":
case "must-understand":
case "only-if-cached":
if (value) {
continue;
}
output[key] = true;
break;
default:
continue;
}
}
return output;
}
function parseVaryHeader(varyHeader, headers) {
if (typeof varyHeader === "string" && varyHeader.includes("*")) {
return headers;
}
const output = (
/** @type {Record<string, string | string[] | null>} */
{}
);
const varyingHeaders = typeof varyHeader === "string" ? varyHeader.split(",") : varyHeader;
for (const header of varyingHeaders) {
const trimmedHeader = header.trim().toLowerCase();
output[trimmedHeader] = headers[trimmedHeader] ?? null;
}
return output;
}
function isEtagUsable(etag) {
if (etag.length <= 2) {
return false;
}
if (etag[0] === '"' && etag[etag.length - 1] === '"') {
return !(etag[1] === '"' || etag.startsWith('"W/'));
}
if (etag.startsWith('W/"') && etag[etag.length - 1] === '"') {
return etag.length !== 4;
}
return false;
}
function assertCacheStore(store, name = "CacheStore") {
if (typeof store !== "object" || store === null) {
throw new TypeError(`expected type of ${name} to be a CacheStore, got ${store === null ? "null" : typeof store}`);
}
for (const fn of ["get", "createWriteStream", "delete"]) {
if (typeof store[fn] !== "function") {
throw new TypeError(`${name} needs to have a \`${fn}()\` function`);
}
}
}
function assertCacheMethods(methods, name = "CacheMethods") {
if (!Array.isArray(methods)) {
throw new TypeError(`expected type of ${name} needs to be an array, got ${methods === null ? "null" : typeof methods}`);
}
if (methods.length === 0) {
throw new TypeError(`${name} needs to have at least one method`);
}
for (const method2 of methods) {
if (!safeHTTPMethods.includes(method2)) {
throw new TypeError(`element of ${name}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method2}`);
}
}
}
function makeDeduplicationKey(cacheKey, excludeHeaders) {
const headers = {};
if (cacheKey.headers) {
const sortedHeaders = Object.keys(cacheKey.headers).sort();
for (const header of sortedHeaders) {
if (excludeHeaders?.has(header.toLowerCase())) {
continue;
}
headers[header] = cacheKey.headers[header];
}
}
return JSON.stringify([cacheKey.origin, cacheKey.method, cacheKey.path, headers]);
}
module2.exports = {
makeCacheKey,
normalizeHeaders,
assertCacheKey,
assertCacheValue,
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable,
assertCacheMethods,
assertCacheStore,
makeDeduplicationKey
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/date.js
var require_date = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/util/date.js"(exports2, module2) {
"use strict";
function parseHttpDate(date) {
switch (date[3]) {
case ",":
return parseImfDate(date);
case " ":
return parseAscTimeDate(date);
default:
return parseRfc850Date(date);
}
}
function parseImfDate(date) {
if (date.length !== 29 || date[4] !== " " || date[7] !== " " || date[11] !== " " || date[16] !== " " || date[19] !== ":" || date[22] !== ":" || date[25] !== " " || date[26] !== "G" || date[27] !== "M" || date[28] !== "T") {
return void 0;
}
let weekday = -1;
if (date[0] === "S" && date[1] === "u" && date[2] === "n") {
weekday = 0;
} else if (date[0] === "M" && date[1] === "o" && date[2] === "n") {
weekday = 1;
} else if (date[0] === "T" && date[1] === "u" && date[2] === "e") {
weekday = 2;
} else if (date[0] === "W" && date[1] === "e" && date[2] === "d") {
weekday = 3;
} else if (date[0] === "T" && date[1] === "h" && date[2] === "u") {
weekday = 4;
} else if (date[0] === "F" && date[1] === "r" && date[2] === "i") {
weekday = 5;
} else if (date[0] === "S" && date[1] === "a" && date[2] === "t") {
weekday = 6;
} else {
return void 0;
}
let day = 0;
if (date[5] === "0") {
const code = date.charCodeAt(6);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date.charCodeAt(5);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date.charCodeAt(6);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date[8] === "J" && date[9] === "a" && date[10] === "n") {
monthIdx = 0;
} else if (date[8] === "F" && date[9] === "e" && date[10] === "b") {
monthIdx = 1;
} else if (date[8] === "M" && date[9] === "a") {
if (date[10] === "r") {
monthIdx = 2;
} else if (date[10] === "y") {
monthIdx = 4;
} else {
return void 0;
}
} else if (date[8] === "J") {
if (date[9] === "a" && date[10] === "n") {
monthIdx = 0;
} else if (date[9] === "u") {
if (date[10] === "n") {
monthIdx = 5;
} else if (date[10] === "l") {
monthIdx = 6;
} else {
return void 0;
}
} else {
return void 0;
}
} else if (date[8] === "A") {
if (date[9] === "p" && date[10] === "r") {
monthIdx = 3;
} else if (date[9] === "u" && date[10] === "g") {
monthIdx = 7;
} else {
return void 0;
}
} else if (date[8] === "S" && date[9] === "e" && date[10] === "p") {
monthIdx = 8;
} else if (date[8] === "O" && date[9] === "c" && date[10] === "t") {
monthIdx = 9;
} else if (date[8] === "N" && date[9] === "o" && date[10] === "v") {
monthIdx = 10;
} else if (date[8] === "D" && date[9] === "e" && date[10] === "c") {
monthIdx = 11;
} else {
return void 0;
}
const yearDigit1 = date.charCodeAt(12);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date.charCodeAt(13);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
const yearDigit3 = date.charCodeAt(14);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return void 0;
}
const yearDigit4 = date.charCodeAt(15);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return void 0;
}
const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
let hour = 0;
if (date[17] === "0") {
const code = date.charCodeAt(18);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date.charCodeAt(17);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date[20] === "0") {
const code = date.charCodeAt(21);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date.charCodeAt(20);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(21);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date[23] === "0") {
const code = date.charCodeAt(24);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date.charCodeAt(23);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(24);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
function parseAscTimeDate(date) {
if (date.length !== 24 || date[7] !== " " || date[10] !== " " || date[19] !== " ") {
return void 0;
}
let weekday = -1;
if (date[0] === "S" && date[1] === "u" && date[2] === "n") {
weekday = 0;
} else if (date[0] === "M" && date[1] === "o" && date[2] === "n") {
weekday = 1;
} else if (date[0] === "T" && date[1] === "u" && date[2] === "e") {
weekday = 2;
} else if (date[0] === "W" && date[1] === "e" && date[2] === "d") {
weekday = 3;
} else if (date[0] === "T" && date[1] === "h" && date[2] === "u") {
weekday = 4;
} else if (date[0] === "F" && date[1] === "r" && date[2] === "i") {
weekday = 5;
} else if (date[0] === "S" && date[1] === "a" && date[2] === "t") {
weekday = 6;
} else {
return void 0;
}
let monthIdx = -1;
if (date[4] === "J" && date[5] === "a" && date[6] === "n") {
monthIdx = 0;
} else if (date[4] === "F" && date[5] === "e" && date[6] === "b") {
monthIdx = 1;
} else if (date[4] === "M" && date[5] === "a") {
if (date[6] === "r") {
monthIdx = 2;
} else if (date[6] === "y") {
monthIdx = 4;
} else {
return void 0;
}
} else if (date[4] === "J") {
if (date[5] === "a" && date[6] === "n") {
monthIdx = 0;
} else if (date[5] === "u") {
if (date[6] === "n") {
monthIdx = 5;
} else if (date[6] === "l") {
monthIdx = 6;
} else {
return void 0;
}
} else {
return void 0;
}
} else if (date[4] === "A") {
if (date[5] === "p" && date[6] === "r") {
monthIdx = 3;
} else if (date[5] === "u" && date[6] === "g") {
monthIdx = 7;
} else {
return void 0;
}
} else if (date[4] === "S" && date[5] === "e" && date[6] === "p") {
monthIdx = 8;
} else if (date[4] === "O" && date[5] === "c" && date[6] === "t") {
monthIdx = 9;
} else if (date[4] === "N" && date[5] === "o" && date[6] === "v") {
monthIdx = 10;
} else if (date[4] === "D" && date[5] === "e" && date[6] === "c") {
monthIdx = 11;
} else {
return void 0;
}
let day = 0;
if (date[8] === " ") {
const code = date.charCodeAt(9);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date.charCodeAt(8);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date.charCodeAt(9);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let hour = 0;
if (date[11] === "0") {
const code = date.charCodeAt(12);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date.charCodeAt(11);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date.charCodeAt(12);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date[14] === "0") {
const code = date.charCodeAt(15);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date.charCodeAt(14);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(15);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date[17] === "0") {
const code = date.charCodeAt(18);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date.charCodeAt(17);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const yearDigit1 = date.charCodeAt(20);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date.charCodeAt(21);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
const yearDigit3 = date.charCodeAt(22);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return void 0;
}
const yearDigit4 = date.charCodeAt(23);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return void 0;
}
const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
function parseRfc850Date(date) {
let commaIndex = -1;
let weekday = -1;
if (date[0] === "S") {
if (date[1] === "u" && date[2] === "n" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
weekday = 0;
commaIndex = 6;
} else if (date[1] === "a" && date[2] === "t" && date[3] === "u" && date[4] === "r" && date[5] === "d" && date[6] === "a" && date[7] === "y") {
weekday = 6;
commaIndex = 8;
}
} else if (date[0] === "M" && date[1] === "o" && date[2] === "n" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
weekday = 1;
commaIndex = 6;
} else if (date[0] === "T") {
if (date[1] === "u" && date[2] === "e" && date[3] === "s" && date[4] === "d" && date[5] === "a" && date[6] === "y") {
weekday = 2;
commaIndex = 7;
} else if (date[1] === "h" && date[2] === "u" && date[3] === "r" && date[4] === "s" && date[5] === "d" && date[6] === "a" && date[7] === "y") {
weekday = 4;
commaIndex = 8;
}
} else if (date[0] === "W" && date[1] === "e" && date[2] === "d" && date[3] === "n" && date[4] === "e" && date[5] === "s" && date[6] === "d" && date[7] === "a" && date[8] === "y") {
weekday = 3;
commaIndex = 9;
} else if (date[0] === "F" && date[1] === "r" && date[2] === "i" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
weekday = 5;
commaIndex = 6;
} else {
return void 0;
}
if (date[commaIndex] !== "," || date.length - commaIndex - 1 !== 23 || date[commaIndex + 1] !== " " || date[commaIndex + 4] !== "-" || date[commaIndex + 8] !== "-" || date[commaIndex + 11] !== " " || date[commaIndex + 14] !== ":" || date[commaIndex + 17] !== ":" || date[commaIndex + 20] !== " " || date[commaIndex + 21] !== "G" || date[commaIndex + 22] !== "M" || date[commaIndex + 23] !== "T") {
return void 0;
}
let day = 0;
if (date[commaIndex + 2] === "0") {
const code = date.charCodeAt(commaIndex + 3);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date.charCodeAt(commaIndex + 2);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date.charCodeAt(commaIndex + 3);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "n") {
monthIdx = 0;
} else if (date[commaIndex + 5] === "F" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "b") {
monthIdx = 1;
} else if (date[commaIndex + 5] === "M" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "r") {
monthIdx = 2;
} else if (date[commaIndex + 5] === "A" && date[commaIndex + 6] === "p" && date[commaIndex + 7] === "r") {
monthIdx = 3;
} else if (date[commaIndex + 5] === "M" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "y") {
monthIdx = 4;
} else if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "n") {
monthIdx = 5;
} else if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "l") {
monthIdx = 6;
} else if (date[commaIndex + 5] === "A" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "g") {
monthIdx = 7;
} else if (date[commaIndex + 5] === "S" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "p") {
monthIdx = 8;
} else if (date[commaIndex + 5] === "O" && date[commaIndex + 6] === "c" && date[commaIndex + 7] === "t") {
monthIdx = 9;
} else if (date[commaIndex + 5] === "N" && date[commaIndex + 6] === "o" && date[commaIndex + 7] === "v") {
monthIdx = 10;
} else if (date[commaIndex + 5] === "D" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "c") {
monthIdx = 11;
} else {
return void 0;
}
const yearDigit1 = date.charCodeAt(commaIndex + 9);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date.charCodeAt(commaIndex + 10);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
let year = (yearDigit1 - 48) * 10 + (yearDigit2 - 48);
year += year < 70 ? 2e3 : 1900;
let hour = 0;
if (date[commaIndex + 12] === "0") {
const code = date.charCodeAt(commaIndex + 13);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date.charCodeAt(commaIndex + 12);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date.charCodeAt(commaIndex + 13);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date[commaIndex + 15] === "0") {
const code = date.charCodeAt(commaIndex + 16);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date.charCodeAt(commaIndex + 15);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(commaIndex + 16);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date[commaIndex + 18] === "0") {
const code = date.charCodeAt(commaIndex + 19);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date.charCodeAt(commaIndex + 18);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date.charCodeAt(commaIndex + 19);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
module2.exports = {
parseHttpDate
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/cache-handler.js
var require_cache_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/cache-handler.js"(exports2, module2) {
"use strict";
var util64 = require_util4();
var {
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable
} = require_cache();
var { parseHttpDate } = require_date();
function noop5() {
}
var HEURISTICALLY_CACHEABLE_STATUS_CODES = [
200,
203,
204,
206,
300,
301,
308,
404,
405,
410,
414,
501
];
var NOT_UNDERSTOOD_STATUS_CODES = [
206
];
var MAX_RESPONSE_AGE = 2147483647e3;
var CacheHandler = class {
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
*/
#cacheKey;
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions['type']}
*/
#cacheType;
/**
* @type {number | undefined}
*/
#cacheByDefault;
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheStore}
*/
#store;
/**
* @type {import('../../types/dispatcher.d.ts').default.DispatchHandler}
*/
#handler;
/**
* @type {import('node:stream').Writable | undefined}
*/
#writeStream;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions} opts
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
*/
constructor({ store, type: type4, cacheByDefault }, cacheKey, handler82) {
this.#store = store;
this.#cacheType = type4;
this.#cacheByDefault = cacheByDefault;
this.#cacheKey = cacheKey;
this.#handler = handler82;
}
onRequestStart(controller, context) {
this.#writeStream?.destroy();
this.#writeStream = void 0;
this.#handler.onRequestStart?.(controller, context);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
* @param {string} statusMessage
*/
onResponseStart(controller, statusCode, resHeaders, statusMessage) {
const downstreamOnHeaders = () => this.#handler.onResponseStart?.(
controller,
statusCode,
resHeaders,
statusMessage
);
const handler82 = this;
if (!util64.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) {
try {
this.#store.delete(this.#cacheKey)?.catch?.(noop5);
} catch {
}
return downstreamOnHeaders();
}
const cacheControlHeader = resHeaders["cache-control"];
const heuristicallyCacheable = resHeaders["last-modified"] && HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode);
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
return downstreamOnHeaders();
}
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
return downstreamOnHeaders();
}
const now = Date.now();
const resAge = resHeaders.age ? getAge(resHeaders.age) : void 0;
if (resAge && resAge >= MAX_RESPONSE_AGE) {
return downstreamOnHeaders();
}
const resDate = typeof resHeaders.date === "string" ? parseHttpDate(resHeaders.date) : void 0;
const staleAt = determineStaleAt(this.#cacheType, now, resAge, resHeaders, resDate, cacheControlDirectives) ?? this.#cacheByDefault;
if (staleAt === void 0 || resAge && resAge > staleAt) {
return downstreamOnHeaders();
}
const baseTime = resDate ? resDate.getTime() : now;
const absoluteStaleAt = staleAt + baseTime;
if (now >= absoluteStaleAt) {
return downstreamOnHeaders();
}
let varyDirectives;
if (this.#cacheKey.headers && resHeaders.vary) {
varyDirectives = parseVaryHeader(resHeaders.vary, this.#cacheKey.headers);
if (!varyDirectives) {
return downstreamOnHeaders();
}
}
const deleteAt = determineDeleteAt(baseTime, cacheControlDirectives, absoluteStaleAt);
const strippedHeaders = stripNecessaryHeaders(resHeaders, cacheControlDirectives);
const value = {
statusCode,
statusMessage,
headers: strippedHeaders,
vary: varyDirectives,
cacheControlDirectives,
cachedAt: resAge ? now - resAge : now,
staleAt: absoluteStaleAt,
deleteAt
};
if (statusCode === 304) {
const handle304 = (cachedValue) => {
if (!cachedValue) {
return downstreamOnHeaders();
}
value.statusCode = cachedValue.statusCode;
value.statusMessage = cachedValue.statusMessage;
value.etag = cachedValue.etag;
value.headers = { ...cachedValue.headers, ...strippedHeaders };
downstreamOnHeaders();
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream || !cachedValue?.body) {
return;
}
if (typeof cachedValue.body.values === "function") {
const bodyIterator = cachedValue.body.values();
const streamCachedBody = () => {
for (const chunk of bodyIterator) {
const full = this.#writeStream.write(chunk) === false;
this.#handler.onResponseData?.(controller, chunk);
if (full) {
break;
}
}
};
this.#writeStream.on("error", function() {
handler82.#writeStream = void 0;
handler82.#store.delete(handler82.#cacheKey);
}).on("drain", () => {
streamCachedBody();
}).on("close", function() {
if (handler82.#writeStream === this) {
handler82.#writeStream = void 0;
}
});
streamCachedBody();
} else if (typeof cachedValue.body.on === "function") {
cachedValue.body.on("data", (chunk) => {
this.#writeStream.write(chunk);
this.#handler.onResponseData?.(controller, chunk);
}).on("end", () => {
this.#writeStream.end();
}).on("error", () => {
this.#writeStream = void 0;
this.#store.delete(this.#cacheKey);
});
this.#writeStream.on("error", function() {
handler82.#writeStream = void 0;
handler82.#store.delete(handler82.#cacheKey);
}).on("close", function() {
if (handler82.#writeStream === this) {
handler82.#writeStream = void 0;
}
});
}
};
const result2 = this.#store.get(this.#cacheKey);
if (result2 && typeof result2.then === "function") {
result2.then(handle304);
} else {
handle304(result2);
}
} else {
if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) {
value.etag = resHeaders.etag;
}
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream) {
return downstreamOnHeaders();
}
this.#writeStream.on("drain", () => controller.resume()).on("error", function() {
handler82.#writeStream = void 0;
handler82.#store.delete(handler82.#cacheKey);
}).on("close", function() {
if (handler82.#writeStream === this) {
handler82.#writeStream = void 0;
}
controller.resume();
});
downstreamOnHeaders();
}
}
onResponseData(controller, chunk) {
if (this.#writeStream?.write(chunk) === false) {
controller.pause();
}
this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
this.#writeStream?.end();
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err2) {
this.#writeStream?.destroy(err2);
this.#writeStream = void 0;
this.#handler.onResponseError?.(controller, err2);
}
};
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
return false;
}
if (!HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === void 0 && // RFC 9111: a private response directive, if the cache is not shared
!(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== void 0 && cacheType === "shared")) {
return false;
}
if (cacheControlDirectives["no-store"]) {
return false;
}
if (cacheType === "shared" && cacheControlDirectives.private === true) {
return false;
}
if (resHeaders.vary?.includes("*")) {
return false;
}
if (reqHeaders?.authorization) {
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) {
return false;
}
if (typeof reqHeaders.authorization !== "string") {
return false;
}
if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
return false;
}
if (Array.isArray(cacheControlDirectives["private"]) && cacheControlDirectives["private"].includes("authorization")) {
return false;
}
}
return true;
}
function getAge(ageHeader) {
const age = parseInt(Array.isArray(ageHeader) ? ageHeader[0] : ageHeader);
return isNaN(age) ? void 0 : age * 1e3;
}
function determineStaleAt(cacheType, now, age, resHeaders, responseDate, cacheControlDirectives) {
if (cacheType === "shared") {
const sMaxAge = cacheControlDirectives["s-maxage"];
if (sMaxAge !== void 0) {
return sMaxAge > 0 ? sMaxAge * 1e3 : void 0;
}
}
const maxAge = cacheControlDirectives["max-age"];
if (maxAge !== void 0) {
return maxAge > 0 ? maxAge * 1e3 : void 0;
}
if (typeof resHeaders.expires === "string") {
const expiresDate = parseHttpDate(resHeaders.expires);
if (expiresDate) {
if (now >= expiresDate.getTime()) {
return void 0;
}
if (responseDate) {
if (responseDate >= expiresDate) {
return void 0;
}
if (age !== void 0 && age > expiresDate - responseDate) {
return void 0;
}
}
return expiresDate.getTime() - now;
}
}
if (typeof resHeaders["last-modified"] === "string") {
const lastModified = new Date(resHeaders["last-modified"]);
if (isValidDate(lastModified)) {
if (lastModified.getTime() >= now) {
return void 0;
}
const responseAge = now - lastModified.getTime();
return responseAge * 0.1;
}
}
if (cacheControlDirectives.immutable) {
return 31536e3;
}
return void 0;
}
function determineDeleteAt(now, cacheControlDirectives, staleAt) {
let staleWhileRevalidate = -Infinity;
let staleIfError = -Infinity;
let immutable = -Infinity;
if (cacheControlDirectives["stale-while-revalidate"]) {
staleWhileRevalidate = staleAt + cacheControlDirectives["stale-while-revalidate"] * 1e3;
}
if (cacheControlDirectives["stale-if-error"]) {
staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1e3;
}
if (cacheControlDirectives.immutable && staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
immutable = now + 31536e6;
}
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity && immutable === -Infinity) {
const freshnessLifetime = staleAt - now;
return staleAt + freshnessLifetime;
}
return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
}
function stripNecessaryHeaders(resHeaders, cacheControlDirectives) {
const headersToRemove = [
"connection",
"proxy-authenticate",
"proxy-authentication-info",
"proxy-authorization",
"proxy-connection",
"te",
"transfer-encoding",
"upgrade",
// We'll add age back when serving it
"age"
];
if (resHeaders["connection"]) {
if (Array.isArray(resHeaders["connection"])) {
headersToRemove.push(...resHeaders["connection"].map((header) => header.trim()));
} else {
headersToRemove.push(...resHeaders["connection"].split(",").map((header) => header.trim()));
}
}
if (Array.isArray(cacheControlDirectives["no-cache"])) {
headersToRemove.push(...cacheControlDirectives["no-cache"]);
}
if (Array.isArray(cacheControlDirectives["private"])) {
headersToRemove.push(...cacheControlDirectives["private"]);
}
let strippedHeaders;
for (const headerName of headersToRemove) {
if (resHeaders[headerName]) {
strippedHeaders ??= { ...resHeaders };
delete strippedHeaders[headerName];
}
}
return strippedHeaders ?? resHeaders;
}
function isValidDate(date) {
return date instanceof Date && Number.isFinite(date.valueOf());
}
module2.exports = CacheHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/cache/memory-cache-store.js
var require_memory_cache_store = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/cache/memory-cache-store.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var { EventEmitter: EventEmitter4 } = __require("node:events");
var { assertCacheKey, assertCacheValue } = require_cache();
var MemoryCacheStore = class extends EventEmitter4 {
#maxCount = 1024;
#maxSize = 104857600;
// 100MB
#maxEntrySize = 5242880;
// 5MB
#size = 0;
#count = 0;
#entries = /* @__PURE__ */ new Map();
#hasEmittedMaxSizeEvent = false;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.MemoryCacheStoreOpts | undefined} [opts]
*/
constructor(opts3) {
super();
if (opts3) {
if (typeof opts3 !== "object") {
throw new TypeError("MemoryCacheStore options must be an object");
}
if (opts3.maxCount !== void 0) {
if (typeof opts3.maxCount !== "number" || !Number.isInteger(opts3.maxCount) || opts3.maxCount < 0) {
throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts3.maxCount;
}
if (opts3.maxSize !== void 0) {
if (typeof opts3.maxSize !== "number" || !Number.isInteger(opts3.maxSize) || opts3.maxSize < 0) {
throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");
}
this.#maxSize = opts3.maxSize;
}
if (opts3.maxEntrySize !== void 0) {
if (typeof opts3.maxEntrySize !== "number" || !Number.isInteger(opts3.maxEntrySize) || opts3.maxEntrySize < 0) {
throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");
}
this.#maxEntrySize = opts3.maxEntrySize;
}
}
}
/**
* Get the current size of the cache in bytes
* @returns {number} The current size of the cache in bytes
*/
get size() {
return this.#size;
}
/**
* Check if the cache is full (either max size or max count reached)
* @returns {boolean} True if the cache is full, false otherwise
*/
isFull() {
return this.#size >= this.#maxSize || this.#count >= this.#maxCount;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} req
* @returns {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined}
*/
get(key) {
assertCacheKey(key);
const topLevelKey = `${key.origin}:${key.path}`;
const now = Date.now();
const entries = this.#entries.get(topLevelKey);
const entry = entries ? findEntry(key, entries, now) : null;
return entry == null ? void 0 : {
statusMessage: entry.statusMessage,
statusCode: entry.statusCode,
headers: entry.headers,
body: entry.body,
vary: entry.vary ? entry.vary : void 0,
etag: entry.etag,
cacheControlDirectives: entry.cacheControlDirectives,
cachedAt: entry.cachedAt,
staleAt: entry.staleAt,
deleteAt: entry.deleteAt
};
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} val
* @returns {Writable | undefined}
*/
createWriteStream(key, val) {
assertCacheKey(key);
assertCacheValue(val);
const topLevelKey = `${key.origin}:${key.path}`;
const store = this;
const entry = { ...key, ...val, body: [], size: 0 };
return new Writable4({
write(chunk, encoding, callback2) {
if (typeof chunk === "string") {
chunk = Buffer.from(chunk, encoding);
}
entry.size += chunk.byteLength;
if (entry.size >= store.#maxEntrySize) {
this.destroy();
} else {
entry.body.push(chunk);
}
callback2(null);
},
final(callback2) {
let entries = store.#entries.get(topLevelKey);
if (!entries) {
entries = [];
store.#entries.set(topLevelKey, entries);
}
const previousEntry = findEntry(key, entries, Date.now());
if (previousEntry) {
const index2 = entries.indexOf(previousEntry);
entries.splice(index2, 1, entry);
store.#size -= previousEntry.size;
} else {
entries.push(entry);
store.#count += 1;
}
store.#size += entry.size;
if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
if (!store.#hasEmittedMaxSizeEvent) {
store.emit("maxSizeExceeded", {
size: store.#size,
maxSize: store.#maxSize,
count: store.#count,
maxCount: store.#maxCount
});
store.#hasEmittedMaxSizeEvent = true;
}
for (const [key2, entries2] of store.#entries) {
for (const entry2 of entries2.splice(0, entries2.length / 2)) {
store.#size -= entry2.size;
store.#count -= 1;
}
if (entries2.length === 0) {
store.#entries.delete(key2);
}
}
if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
store.#hasEmittedMaxSizeEvent = false;
}
}
callback2(null);
}
});
}
/**
* @param {CacheKey} key
*/
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
const topLevelKey = `${key.origin}:${key.path}`;
for (const entry of this.#entries.get(topLevelKey) ?? []) {
this.#size -= entry.size;
this.#count -= 1;
}
this.#entries.delete(topLevelKey);
}
};
function findEntry(key, entries, now) {
return entries.find((entry) => entry.deleteAt > now && entry.method === key.method && (entry.vary == null || Object.keys(entry.vary).every((headerName) => {
if (entry.vary[headerName] === null) {
return key.headers[headerName] === void 0;
}
return entry.vary[headerName] === key.headers[headerName];
})));
}
module2.exports = MemoryCacheStore;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/cache-revalidation-handler.js
var require_cache_revalidation_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var CacheRevalidationHandler = class {
#successful = false;
/**
* @type {((boolean, any) => void) | null}
*/
#callback;
/**
* @type {(import('../../types/dispatcher.d.ts').default.DispatchHandler)}
*/
#handler;
#context;
/**
* @type {boolean}
*/
#allowErrorStatusCodes;
/**
* @param {(boolean) => void} callback Function to call if the cached value is valid
* @param {import('../../types/dispatcher.d.ts').default.DispatchHandlers} handler
* @param {boolean} allowErrorStatusCodes
*/
constructor(callback2, handler82, allowErrorStatusCodes) {
if (typeof callback2 !== "function") {
throw new TypeError("callback must be a function");
}
this.#callback = callback2;
this.#handler = handler82;
this.#allowErrorStatusCodes = allowErrorStatusCodes;
}
onRequestStart(_, context) {
this.#successful = false;
this.#context = context;
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
assert13(this.#callback != null);
this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
this.#callback(this.#successful, this.#context);
this.#callback = null;
if (this.#successful) {
return true;
}
this.#handler.onRequestStart?.(controller, this.#context);
this.#handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
}
onResponseData(controller, chunk) {
if (this.#successful) {
return;
}
return this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.#successful) {
return;
}
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err2) {
if (this.#successful) {
return;
}
if (this.#callback) {
this.#callback(false);
this.#callback = null;
}
if (typeof this.#handler.onResponseError === "function") {
this.#handler.onResponseError(controller, err2);
} else {
throw err2;
}
}
};
module2.exports = CacheRevalidationHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/cache.js
var require_cache2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/cache.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { Readable: Readable4 } = __require("node:stream");
var util64 = require_util4();
var CacheHandler = require_cache_handler();
var MemoryCacheStore = require_memory_cache_store();
var CacheRevalidationHandler = require_cache_revalidation_handler();
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache();
var { AbortError } = require_errors4();
function assertCacheOrigins(origins, name) {
if (origins === void 0) return;
if (!Array.isArray(origins)) {
throw new TypeError(`expected ${name} to be an array or undefined, got ${typeof origins}`);
}
for (let i4 = 0; i4 < origins.length; i4++) {
const origin = origins[i4];
if (typeof origin !== "string" && !(origin instanceof RegExp)) {
throw new TypeError(`expected ${name}[${i4}] to be a string or RegExp, got ${typeof origin}`);
}
}
}
var nop = () => {
};
function needsRevalidation(result2, cacheControlDirectives, { headers = {} }) {
if (cacheControlDirectives?.["no-cache"]) {
return true;
}
if (result2.cacheControlDirectives?.["no-cache"] && !Array.isArray(result2.cacheControlDirectives["no-cache"])) {
return true;
}
if (headers["if-modified-since"] || headers["if-none-match"]) {
return true;
}
return false;
}
function isStale(result2, cacheControlDirectives) {
const now = Date.now();
if (now > result2.staleAt) {
if (cacheControlDirectives?.["max-stale"]) {
const gracePeriod = result2.staleAt + cacheControlDirectives["max-stale"] * 1e3;
return now > gracePeriod;
}
return true;
}
if (cacheControlDirectives?.["min-fresh"]) {
const timeLeftTillStale = result2.staleAt - now;
const threshold = cacheControlDirectives["min-fresh"] * 1e3;
return timeLeftTillStale <= threshold;
}
return false;
}
function withinStaleWhileRevalidateWindow(result2) {
const staleWhileRevalidate = result2.cacheControlDirectives?.["stale-while-revalidate"];
if (!staleWhileRevalidate) {
return false;
}
const now = Date.now();
const staleWhileRevalidateExpiry = result2.staleAt + staleWhileRevalidate * 1e3;
return now <= staleWhileRevalidateExpiry;
}
function handleUncachedResponse(dispatch, globalOpts, cacheKey, handler82, opts3, reqCacheControl) {
if (reqCacheControl?.["only-if-cached"]) {
let aborted2 = false;
try {
if (typeof handler82.onConnect === "function") {
handler82.onConnect(() => {
aborted2 = true;
});
if (aborted2) {
return;
}
}
if (typeof handler82.onHeaders === "function") {
handler82.onHeaders(504, [], nop, "Gateway Timeout");
if (aborted2) {
return;
}
}
if (typeof handler82.onComplete === "function") {
handler82.onComplete([]);
}
} catch (err2) {
if (typeof handler82.onError === "function") {
handler82.onError(err2);
}
}
return true;
}
return dispatch(opts3, new CacheHandler(globalOpts, cacheKey, handler82));
}
function sendCachedValue(handler82, opts3, result2, age, context, isStale2) {
const stream2 = util64.isStream(result2.body) ? result2.body : Readable4.from(result2.body ?? []);
assert13(!stream2.destroyed, "stream should not be destroyed");
assert13(!stream2.readableDidRead, "stream should not be readableDidRead");
const controller = {
resume() {
stream2.resume();
},
pause() {
stream2.pause();
},
get paused() {
return stream2.isPaused();
},
get aborted() {
return stream2.destroyed;
},
get reason() {
return stream2.errored;
},
abort(reason) {
stream2.destroy(reason ?? new AbortError());
}
};
stream2.on("error", function(err2) {
if (!this.readableEnded) {
if (typeof handler82.onResponseError === "function") {
handler82.onResponseError(controller, err2);
} else {
throw err2;
}
}
}).on("close", function() {
if (!this.errored) {
handler82.onResponseEnd?.(controller, {});
}
});
handler82.onRequestStart?.(controller, context);
if (stream2.destroyed) {
return;
}
const headers = { ...result2.headers, age: String(age) };
if (isStale2) {
headers.warning = '110 - "response is stale"';
}
handler82.onResponseStart?.(controller, result2.statusCode, headers, result2.statusMessage);
if (opts3.method === "HEAD") {
stream2.destroy();
} else {
stream2.on("data", function(chunk) {
handler82.onResponseData?.(controller, chunk);
});
}
}
function handleResult2(dispatch, globalOpts, cacheKey, handler82, opts3, reqCacheControl, result2) {
if (!result2) {
return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler82, opts3, reqCacheControl);
}
const now = Date.now();
if (now > result2.deleteAt) {
return dispatch(opts3, new CacheHandler(globalOpts, cacheKey, handler82));
}
const age = Math.round((now - result2.cachedAt) / 1e3);
if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) {
return dispatch(opts3, handler82);
}
const stale = isStale(result2, reqCacheControl);
const revalidate = needsRevalidation(result2, reqCacheControl, opts3);
if (stale || revalidate) {
if (util64.isStream(opts3.body) && util64.bodyLength(opts3.body) !== 0) {
return dispatch(opts3, new CacheHandler(globalOpts, cacheKey, handler82));
}
if (!revalidate && withinStaleWhileRevalidateWindow(result2)) {
sendCachedValue(handler82, opts3, result2, age, null, true);
queueMicrotask(() => {
const headers2 = {
...opts3.headers,
"if-modified-since": new Date(result2.cachedAt).toUTCString()
};
if (result2.etag) {
headers2["if-none-match"] = result2.etag;
}
if (result2.vary) {
for (const key in result2.vary) {
if (result2.vary[key] != null) {
headers2[key] = result2.vary[key];
}
}
}
dispatch(
{
...opts3,
headers: headers2
},
new CacheHandler(globalOpts, cacheKey, {
// Silent handler that just updates the cache
onRequestStart() {
},
onRequestUpgrade() {
},
onResponseStart() {
},
onResponseData() {
},
onResponseEnd() {
},
onResponseError() {
}
})
);
});
return true;
}
let withinStaleIfErrorThreshold = false;
const staleIfErrorExpiry = result2.cacheControlDirectives["stale-if-error"] ?? reqCacheControl?.["stale-if-error"];
if (staleIfErrorExpiry) {
withinStaleIfErrorThreshold = now < result2.staleAt + staleIfErrorExpiry * 1e3;
}
const headers = {
...opts3.headers,
"if-modified-since": new Date(result2.cachedAt).toUTCString()
};
if (result2.etag) {
headers["if-none-match"] = result2.etag;
}
if (result2.vary) {
for (const key in result2.vary) {
if (result2.vary[key] != null) {
headers[key] = result2.vary[key];
}
}
}
return dispatch(
{
...opts3,
headers
},
new CacheRevalidationHandler(
(success, context) => {
if (success) {
sendCachedValue(handler82, opts3, result2, age, context, stale);
} else if (util64.isStream(result2.body)) {
result2.body.on("error", nop).destroy();
}
},
new CacheHandler(globalOpts, cacheKey, handler82),
withinStaleIfErrorThreshold
)
);
}
if (util64.isStream(opts3.body)) {
opts3.body.on("error", nop).destroy();
}
sendCachedValue(handler82, opts3, result2, age, null, false);
}
module2.exports = (opts3 = {}) => {
const {
store = new MemoryCacheStore(),
methods = ["GET"],
cacheByDefault = void 0,
type: type4 = "shared",
origins = void 0
} = opts3;
if (typeof opts3 !== "object" || opts3 === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts3 === null ? "null" : typeof opts3}`);
}
assertCacheStore(store, "opts.store");
assertCacheMethods(methods, "opts.methods");
assertCacheOrigins(origins, "opts.origins");
if (typeof cacheByDefault !== "undefined" && typeof cacheByDefault !== "number") {
throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);
}
if (typeof type4 !== "undefined" && type4 !== "shared" && type4 !== "private") {
throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof type4}`);
}
const globalOpts = {
store,
methods,
cacheByDefault,
type: type4
};
const safeMethodsToNotCache = util64.safeHTTPMethods.filter((method2) => methods.includes(method2) === false);
return (dispatch) => {
return (opts4, handler82) => {
if (!opts4.origin || safeMethodsToNotCache.includes(opts4.method)) {
return dispatch(opts4, handler82);
}
if (origins !== void 0) {
const requestOrigin = opts4.origin.toString().toLowerCase();
let isAllowed = false;
for (let i4 = 0; i4 < origins.length; i4++) {
const allowed = origins[i4];
if (typeof allowed === "string") {
if (allowed.toLowerCase() === requestOrigin) {
isAllowed = true;
break;
}
} else if (allowed.test(requestOrigin)) {
isAllowed = true;
break;
}
}
if (!isAllowed) {
return dispatch(opts4, handler82);
}
}
opts4 = {
...opts4,
headers: normalizeHeaders(opts4)
};
const reqCacheControl = opts4.headers?.["cache-control"] ? parseCacheControlHeader(opts4.headers["cache-control"]) : void 0;
if (reqCacheControl?.["no-store"]) {
return dispatch(opts4, handler82);
}
const cacheKey = makeCacheKey(opts4);
const result2 = store.get(cacheKey);
if (result2 && typeof result2.then === "function") {
return result2.then((result3) => handleResult2(
dispatch,
globalOpts,
cacheKey,
handler82,
opts4,
reqCacheControl,
result3
));
} else {
return handleResult2(
dispatch,
globalOpts,
cacheKey,
handler82,
opts4,
reqCacheControl,
result2
);
}
};
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/decompress.js
var require_decompress = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/decompress.js"(exports2, module2) {
"use strict";
var { createInflate, createGunzip: createGunzip2, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
var { pipeline: pipeline2 } = __require("node:stream");
var DecoratorHandler = require_decorator_handler();
var { runtimeFeatures } = require_runtime_features();
var supportedEncodings = {
gzip: createGunzip2,
"x-gzip": createGunzip2,
br: createBrotliDecompress,
deflate: createInflate,
compress: createInflate,
"x-compress": createInflate,
...runtimeFeatures.has("zstd") ? { zstd: createZstdDecompress } : {}
};
var defaultSkipStatusCodes = (
/** @type {const} */
[204, 304]
);
var warningEmitted = (
/** @type {boolean} */
false
);
var DecompressHandler = class extends DecoratorHandler {
/** @type {Transform[]} */
#decompressors = [];
/** @type {Readonly<number[]>} */
#skipStatusCodes;
/** @type {boolean} */
#skipErrorResponses;
constructor(handler82, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true } = {}) {
super(handler82);
this.#skipStatusCodes = skipStatusCodes;
this.#skipErrorResponses = skipErrorResponses;
}
/**
* Determines if decompression should be skipped based on encoding and status code
* @param {string} contentEncoding - Content-Encoding header value
* @param {number} statusCode - HTTP status code of the response
* @returns {boolean} - True if decompression should be skipped
*/
#shouldSkipDecompression(contentEncoding, statusCode) {
if (!contentEncoding || statusCode < 200) return true;
if (this.#skipStatusCodes.includes(statusCode)) return true;
if (this.#skipErrorResponses && statusCode >= 400) return true;
return false;
}
/**
* Creates a chain of decompressors for multiple content encodings
*
* @param {string} encodings - Comma-separated list of content encodings
* @returns {Array<DecompressorStream>} - Array of decompressor streams
* @throws {Error} - If the number of content-encodings exceeds the maximum allowed
*/
#createDecompressionChain(encodings) {
const parts = encodings.split(",");
const maxContentEncodings = 5;
if (parts.length > maxContentEncodings) {
throw new Error(`too many content-encodings in response: ${parts.length}, maximum allowed is ${maxContentEncodings}`);
}
const decompressors = [];
for (let i4 = parts.length - 1; i4 >= 0; i4--) {
const encoding = parts[i4].trim();
if (!encoding) continue;
if (!supportedEncodings[encoding]) {
decompressors.length = 0;
return decompressors;
}
decompressors.push(supportedEncodings[encoding]());
}
return decompressors;
}
/**
* Sets up event handlers for a decompressor stream using readable events
* @param {DecompressorStream} decompressor - The decompressor stream
* @param {Controller} controller - The controller to coordinate with
* @returns {void}
*/
#setupDecompressorEvents(decompressor, controller) {
decompressor.on("readable", () => {
let chunk;
while ((chunk = decompressor.read()) !== null) {
const result2 = super.onResponseData(controller, chunk);
if (result2 === false) {
break;
}
}
});
decompressor.on("error", (error) => {
super.onResponseError(controller, error);
});
}
/**
* Sets up event handling for a single decompressor
* @param {Controller} controller - The controller to handle events
* @returns {void}
*/
#setupSingleDecompressor(controller) {
const decompressor = this.#decompressors[0];
this.#setupDecompressorEvents(decompressor, controller);
decompressor.on("end", () => {
super.onResponseEnd(controller, {});
});
}
/**
* Sets up event handling for multiple chained decompressors using pipeline
* @param {Controller} controller - The controller to handle events
* @returns {void}
*/
#setupMultipleDecompressors(controller) {
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
this.#setupDecompressorEvents(lastDecompressor, controller);
pipeline2(this.#decompressors, (err2) => {
if (err2) {
super.onResponseError(controller, err2);
return;
}
super.onResponseEnd(controller, {});
});
}
/**
* Cleans up decompressor references to prevent memory leaks
* @returns {void}
*/
#cleanupDecompressors() {
this.#decompressors.length = 0;
}
/**
* @param {Controller} controller
* @param {number} statusCode
* @param {Record<string, string | string[] | undefined>} headers
* @param {string} statusMessage
* @returns {void}
*/
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentEncoding = headers["content-encoding"];
if (this.#shouldSkipDecompression(contentEncoding, statusCode)) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
const decompressors = this.#createDecompressionChain(contentEncoding.toLowerCase());
if (decompressors.length === 0) {
this.#cleanupDecompressors();
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
this.#decompressors = decompressors;
const { "content-encoding": _, "content-length": __, ...newHeaders } = headers;
if (this.#decompressors.length === 1) {
this.#setupSingleDecompressor(controller);
} else {
this.#setupMultipleDecompressors(controller);
}
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
}
/**
* @param {Controller} controller
* @param {Buffer} chunk
* @returns {void}
*/
onResponseData(controller, chunk) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].write(chunk);
return;
}
super.onResponseData(controller, chunk);
}
/**
* @param {Controller} controller
* @param {Record<string, string | string[]> | undefined} trailers
* @returns {void}
*/
onResponseEnd(controller, trailers) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].end();
this.#cleanupDecompressors();
return;
}
super.onResponseEnd(controller, trailers);
}
/**
* @param {Controller} controller
* @param {Error} err
* @returns {void}
*/
onResponseError(controller, err2) {
if (this.#decompressors.length > 0) {
for (const decompressor of this.#decompressors) {
decompressor.destroy(err2);
}
this.#cleanupDecompressors();
}
super.onResponseError(controller, err2);
}
};
function createDecompressInterceptor(options = {}) {
if (!warningEmitted) {
process.emitWarning(
"DecompressInterceptor is experimental and subject to change",
"ExperimentalWarning"
);
warningEmitted = true;
}
return (dispatch) => {
return (opts3, handler82) => {
const decompressHandler = new DecompressHandler(handler82, options);
return dispatch(opts3, decompressHandler);
};
};
}
module2.exports = createDecompressInterceptor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/deduplication-handler.js
var require_deduplication_handler = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/handler/deduplication-handler.js"(exports2, module2) {
"use strict";
var { RequestAbortedError } = require_errors4();
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
var DeduplicationHandler = class {
/**
* @type {DispatchHandler}
*/
#primaryHandler;
/**
* @type {WaitingHandler[]}
*/
#waitingHandlers = [];
/**
* @type {number}
*/
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
/**
* @type {number}
*/
#statusCode = 0;
/**
* @type {Record<string, string | string[]>}
*/
#headers = {};
/**
* @type {string}
*/
#statusMessage = "";
/**
* @type {boolean}
*/
#aborted = false;
/**
* @type {boolean}
*/
#responseStarted = false;
/**
* @type {boolean}
*/
#responseDataStarted = false;
/**
* @type {boolean}
*/
#completed = false;
/**
* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
*/
#controller = null;
/**
* @type {(() => void) | null}
*/
#onComplete = null;
/**
* @param {DispatchHandler} primaryHandler The primary handler
* @param {() => void} onComplete Callback when request completes
* @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
*/
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
this.#primaryHandler = primaryHandler;
this.#onComplete = onComplete;
this.#maxBufferSize = maxBufferSize;
}
/**
* Add a waiting handler that will receive response events.
* Returns false if deduplication can no longer safely attach this handler.
*
* @param {DispatchHandler} handler
* @returns {boolean}
*/
addWaitingHandler(handler82) {
if (this.#completed || this.#responseDataStarted) {
return false;
}
const waitingHandler = this.#createWaitingHandler(handler82);
const waitingController = waitingHandler.controller;
try {
handler82.onRequestStart?.(waitingController, null);
if (waitingController.aborted) {
waitingHandler.done = true;
return true;
}
if (this.#responseStarted) {
handler82.onResponseStart?.(
waitingController,
this.#statusCode,
this.#headers,
this.#statusMessage
);
}
} catch {
waitingHandler.done = true;
return true;
}
if (!waitingController.aborted) {
this.#waitingHandlers.push(waitingHandler);
}
return true;
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {any} context
*/
onRequestStart(controller, context) {
this.#controller = controller;
this.#primaryHandler.onRequestStart?.(controller, context);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} headers
* @param {Socket} socket
*/
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#primaryHandler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {Record<string, string | string[]>} headers
* @param {string} statusMessage
*/
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#responseStarted = true;
this.#statusCode = statusCode;
this.#headers = headers;
this.#statusMessage = statusMessage;
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
for (const waitingHandler of this.#waitingHandlers) {
const { handler: handler82, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
try {
handler82.onResponseStart?.(
waitingController,
statusCode,
headers,
statusMessage
);
} catch {
}
if (waitingController.aborted) {
waitingHandler.done = true;
}
}
this.#pruneDoneWaitingHandlers();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {Buffer} chunk
*/
onResponseData(controller, chunk) {
if (this.#aborted || this.#completed) {
return;
}
this.#responseDataStarted = true;
this.#primaryHandler.onResponseData?.(controller, chunk);
for (const waitingHandler of this.#waitingHandlers) {
const { handler: handler82, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingController.paused) {
this.#bufferWaitingChunk(waitingHandler, chunk);
continue;
}
try {
handler82.onResponseData?.(waitingController, chunk);
} catch {
}
if (waitingController.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
}
this.#pruneDoneWaitingHandlers();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {object} trailers
*/
onResponseEnd(controller, trailers) {
if (this.#aborted || this.#completed) {
return;
}
this.#completed = true;
this.#primaryHandler.onResponseEnd?.(controller, trailers);
for (const waitingHandler of this.#waitingHandlers) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
this.#flushWaitingHandler(waitingHandler);
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
waitingHandler.pendingTrailers = trailers;
continue;
}
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
} catch {
}
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
this.#onComplete?.();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {Error} err
*/
onResponseError(controller, err2) {
if (this.#completed) {
return;
}
this.#aborted = true;
this.#completed = true;
this.#primaryHandler.onResponseError?.(controller, err2);
for (const waitingHandler of this.#waitingHandlers) {
this.#errorWaitingHandler(waitingHandler, err2);
}
this.#waitingHandlers = [];
this.#onComplete?.();
}
/**
* @param {DispatchHandler} handler
* @returns {WaitingHandler}
*/
#createWaitingHandler(handler82) {
const waitingHandler = {
handler: handler82,
controller: null,
bufferedChunks: [],
bufferedBytes: 0,
pendingTrailers: null,
done: false
};
const state = {
aborted: false,
paused: false,
reason: null
};
waitingHandler.controller = {
resume: () => {
if (state.aborted) {
return;
}
state.paused = false;
this.#flushWaitingHandler(waitingHandler);
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
} catch {
}
waitingHandler.pendingTrailers = null;
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
},
pause: () => {
if (!state.aborted) {
state.paused = true;
}
},
get paused() {
return state.paused;
},
get aborted() {
return state.aborted;
},
get reason() {
return state.reason;
},
abort: (reason) => {
state.aborted = true;
state.reason = reason ?? null;
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
};
return waitingHandler;
}
/**
* @param {WaitingHandler} waitingHandler
* @param {Buffer} chunk
*/
#bufferWaitingChunk(waitingHandler, chunk) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
return;
}
const bufferedChunk = Buffer.from(chunk);
waitingHandler.bufferedChunks.push(bufferedChunk);
waitingHandler.bufferedBytes += bufferedChunk.length;
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
const err2 = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
this.#errorWaitingHandler(waitingHandler, err2);
}
}
/**
* @param {WaitingHandler} waitingHandler
*/
#flushWaitingHandler(waitingHandler) {
const { handler: handler82, controller } = waitingHandler;
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
const bufferedChunk = waitingHandler.bufferedChunks.shift();
waitingHandler.bufferedBytes -= bufferedChunk.length;
try {
handler82.onResponseData?.(controller, bufferedChunk);
} catch {
}
if (controller.aborted) {
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
break;
}
}
}
/**
* @param {WaitingHandler} waitingHandler
* @param {Error} err
*/
#errorWaitingHandler(waitingHandler, err2) {
if (waitingHandler.done) {
return;
}
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
try {
waitingHandler.controller.abort(err2);
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err2);
} catch {
}
}
#pruneDoneWaitingHandlers() {
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
}
};
module2.exports = DeduplicationHandler;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/deduplicate.js
var require_deduplicate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/interceptor/deduplicate.js"(exports2, module2) {
"use strict";
var diagnosticsChannel = __require("node:diagnostics_channel");
var util64 = require_util4();
var DeduplicationHandler = require_deduplication_handler();
var { normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require_cache();
var pendingRequestsChannel = diagnosticsChannel.channel("undici:request:pending-requests");
module2.exports = (opts3 = {}) => {
const {
methods = ["GET"],
skipHeaderNames = [],
excludeHeaderNames = [],
maxBufferSize = 5 * 1024 * 1024
} = opts3;
if (typeof opts3 !== "object" || opts3 === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts3 === null ? "null" : typeof opts3}`);
}
if (!Array.isArray(methods)) {
throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
}
for (const method2 of methods) {
if (!util64.safeHTTPMethods.includes(method2)) {
throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method2}`);
}
}
if (!Array.isArray(skipHeaderNames)) {
throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
}
if (!Array.isArray(excludeHeaderNames)) {
throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
}
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) {
throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
}
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name) => name.toLowerCase()));
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name) => name.toLowerCase()));
const pendingRequests = /* @__PURE__ */ new Map();
return (dispatch) => {
return (opts4, handler82) => {
if (!opts4.origin || methods.includes(opts4.method) === false) {
return dispatch(opts4, handler82);
}
opts4 = {
...opts4,
headers: normalizeHeaders(opts4)
};
if (skipHeaderNamesSet.size > 0) {
for (const headerName of Object.keys(opts4.headers)) {
if (skipHeaderNamesSet.has(headerName.toLowerCase())) {
return dispatch(opts4, handler82);
}
}
}
const cacheKey = makeCacheKey(opts4);
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
const pendingHandler = pendingRequests.get(dedupeKey);
if (pendingHandler) {
if (pendingHandler.addWaitingHandler(handler82)) {
return true;
}
return dispatch(opts4, handler82);
}
const deduplicationHandler = new DeduplicationHandler(
handler82,
() => {
pendingRequests.delete(dedupeKey);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" });
}
},
maxBufferSize
);
pendingRequests.set(dedupeKey, deduplicationHandler);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "added" });
}
return dispatch(opts4, deduplicationHandler);
};
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/cache/sqlite-cache-store.js
var require_sqlite_cache_store = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var { assertCacheKey, assertCacheValue } = require_cache();
var DatabaseSync2;
var VERSION2 = 3;
var MAX_ENTRY_SIZE = 2 * 1e3 * 1e3 * 1e3;
module2.exports = class SqliteCacheStore {
#maxEntrySize = MAX_ENTRY_SIZE;
#maxCount = Infinity;
/**
* @type {import('node:sqlite').DatabaseSync}
*/
#db;
/**
* @type {import('node:sqlite').StatementSync}
*/
#getValuesQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#updateValueQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#insertValueQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#deleteExpiredValuesQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#deleteByUrlQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#countEntriesQuery;
/**
* @type {import('node:sqlite').StatementSync | null}
*/
#deleteOldValuesQuery;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.SqliteCacheStoreOpts | undefined} opts
*/
constructor(opts3) {
if (opts3) {
if (typeof opts3 !== "object") {
throw new TypeError("SqliteCacheStore options must be an object");
}
if (opts3.maxEntrySize !== void 0) {
if (typeof opts3.maxEntrySize !== "number" || !Number.isInteger(opts3.maxEntrySize) || opts3.maxEntrySize < 0) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");
}
if (opts3.maxEntrySize > MAX_ENTRY_SIZE) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");
}
this.#maxEntrySize = opts3.maxEntrySize;
}
if (opts3.maxCount !== void 0) {
if (typeof opts3.maxCount !== "number" || !Number.isInteger(opts3.maxCount) || opts3.maxCount < 0) {
throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts3.maxCount;
}
}
if (!DatabaseSync2) {
DatabaseSync2 = __require("node:sqlite").DatabaseSync;
}
this.#db = new DatabaseSync2(opts3?.location ?? ":memory:");
this.#db.exec(`
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;
PRAGMA temp_store = memory;
PRAGMA optimize;
CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION2} (
-- Data specific to us
id INTEGER PRIMARY KEY AUTOINCREMENT,
url TEXT NOT NULL,
method TEXT NOT NULL,
-- Data returned to the interceptor
body BUF NULL,
deleteAt INTEGER NOT NULL,
statusCode INTEGER NOT NULL,
statusMessage TEXT NOT NULL,
headers TEXT NULL,
cacheControlDirectives TEXT NULL,
etag TEXT NULL,
vary TEXT NULL,
cachedAt INTEGER NOT NULL,
staleAt INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION2}_getValuesQuery ON cacheInterceptorV${VERSION2}(url, method, deleteAt);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION2}_deleteByUrlQuery ON cacheInterceptorV${VERSION2}(deleteAt);
`);
this.#getValuesQuery = this.#db.prepare(`
SELECT
id,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
FROM cacheInterceptorV${VERSION2}
WHERE
url = ?
AND method = ?
ORDER BY
deleteAt ASC
`);
this.#updateValueQuery = this.#db.prepare(`
UPDATE cacheInterceptorV${VERSION2} SET
body = ?,
deleteAt = ?,
statusCode = ?,
statusMessage = ?,
headers = ?,
etag = ?,
cacheControlDirectives = ?,
cachedAt = ?,
staleAt = ?
WHERE
id = ?
`);
this.#insertValueQuery = this.#db.prepare(`
INSERT INTO cacheInterceptorV${VERSION2} (
url,
method,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`);
this.#deleteByUrlQuery = this.#db.prepare(
`DELETE FROM cacheInterceptorV${VERSION2} WHERE url = ?`
);
this.#countEntriesQuery = this.#db.prepare(
`SELECT COUNT(*) AS total FROM cacheInterceptorV${VERSION2}`
);
this.#deleteExpiredValuesQuery = this.#db.prepare(
`DELETE FROM cacheInterceptorV${VERSION2} WHERE deleteAt <= ?`
);
this.#deleteOldValuesQuery = this.#maxCount === Infinity ? null : this.#db.prepare(`
DELETE FROM cacheInterceptorV${VERSION2}
WHERE id IN (
SELECT
id
FROM cacheInterceptorV${VERSION2}
ORDER BY cachedAt ASC
LIMIT ?
)
`);
}
close() {
this.#db.close();
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @returns {(import('../../types/cache-interceptor.d.ts').default.GetResult & { body?: Buffer }) | undefined}
*/
get(key) {
assertCacheKey(key);
const value = this.#findValue(key);
return value ? {
body: value.body ? Buffer.from(value.body.buffer, value.body.byteOffset, value.body.byteLength) : void 0,
statusCode: value.statusCode,
statusMessage: value.statusMessage,
headers: value.headers ? JSON.parse(value.headers) : void 0,
etag: value.etag ? value.etag : void 0,
vary: value.vary ? JSON.parse(value.vary) : void 0,
cacheControlDirectives: value.cacheControlDirectives ? JSON.parse(value.cacheControlDirectives) : void 0,
cachedAt: value.cachedAt,
staleAt: value.staleAt,
deleteAt: value.deleteAt
} : void 0;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue & { body: null | Buffer | Array<Buffer>}} value
*/
set(key, value) {
assertCacheKey(key);
const url7 = this.#makeValueUrl(key);
const body = Array.isArray(value.body) ? Buffer.concat(value.body) : value.body;
const size = body?.byteLength;
if (size && size > this.#maxEntrySize) {
return;
}
const existingValue = this.#findValue(key, true);
if (existingValue) {
this.#updateValueQuery.run(
body,
value.deleteAt,
value.statusCode,
value.statusMessage,
value.headers ? JSON.stringify(value.headers) : null,
value.etag ? value.etag : null,
value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null,
value.cachedAt,
value.staleAt,
existingValue.id
);
} else {
this.#insertValueQuery.run(
url7,
key.method,
body,
value.deleteAt,
value.statusCode,
value.statusMessage,
value.headers ? JSON.stringify(value.headers) : null,
value.etag ? value.etag : null,
value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null,
value.vary ? JSON.stringify(value.vary) : null,
value.cachedAt,
value.staleAt
);
this.#prune();
}
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} value
* @returns {Writable | undefined}
*/
createWriteStream(key, value) {
assertCacheKey(key);
assertCacheValue(value);
let size = 0;
const body = [];
const store = this;
return new Writable4({
decodeStrings: true,
write(chunk, encoding, callback2) {
size += chunk.byteLength;
if (size < store.#maxEntrySize) {
body.push(chunk);
} else {
this.destroy();
}
callback2();
},
final(callback2) {
store.set(key, { ...value, body });
callback2();
}
});
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
*/
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
this.#deleteByUrlQuery.run(this.#makeValueUrl(key));
}
#prune() {
if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
return 0;
}
{
const removed = this.#deleteExpiredValuesQuery.run(Date.now()).changes;
if (removed) {
return removed;
}
}
{
const removed = this.#deleteOldValuesQuery?.run(Math.max(Math.floor(this.#maxCount * 0.1), 1)).changes;
if (removed) {
return removed;
}
}
return 0;
}
/**
* Counts the number of rows in the cache
* @returns {Number}
*/
get size() {
const { total } = this.#countEntriesQuery.get();
return total;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @returns {string}
*/
#makeValueUrl(key) {
return `${key.origin}/${key.path}`;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {boolean} [canBeExpired=false]
* @returns {SqliteStoreValue | undefined}
*/
#findValue(key, canBeExpired = false) {
const url7 = this.#makeValueUrl(key);
const { headers, method: method2 } = key;
const values = this.#getValuesQuery.all(url7, method2);
if (values.length === 0) {
return void 0;
}
const now = Date.now();
for (const value of values) {
if (now >= value.deleteAt && !canBeExpired) {
continue;
}
let matches2 = true;
if (value.vary) {
const vary = JSON.parse(value.vary);
for (const header in vary) {
if (!headerValueEquals(headers[header], vary[header])) {
matches2 = false;
break;
}
}
}
if (matches2) {
return value;
}
}
return void 0;
}
};
function headerValueEquals(lhs, rhs) {
if (lhs == null && rhs == null) {
return true;
}
if (lhs == null && rhs != null || lhs != null && rhs == null) {
return false;
}
if (Array.isArray(lhs) && Array.isArray(rhs)) {
if (lhs.length !== rhs.length) {
return false;
}
return lhs.every((x3, i4) => x3 === rhs[i4]);
}
return lhs === rhs;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/headers.js
var require_headers = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
"use strict";
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util4();
var {
iteratorMixin,
isValidHeaderName,
isValidHeaderValue
} = require_util5();
var { webidl } = require_webidl();
var assert13 = __require("node:assert");
var util64 = __require("node:util");
function isHTTPWhiteSpaceCharCode(code) {
return code === 10 || code === 13 || code === 9 || code === 32;
}
function headerValueNormalize(potentialValue) {
let i4 = 0;
let j2 = potentialValue.length;
while (j2 > i4 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j2 - 1))) --j2;
while (j2 > i4 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i4))) ++i4;
return i4 === 0 && j2 === potentialValue.length ? potentialValue : potentialValue.substring(i4, j2);
}
function fill(headers, object) {
if (Array.isArray(object)) {
for (let i4 = 0; i4 < object.length; ++i4) {
const header = object[i4];
if (header.length !== 2) {
throw webidl.errors.exception({
header: "Headers constructor",
message: `expected name/value pair to be length 2, found ${header.length}.`
});
}
appendHeader(headers, header[0], header[1]);
}
} else if (typeof object === "object" && object !== null) {
const keys4 = Object.keys(object);
for (let i4 = 0; i4 < keys4.length; ++i4) {
appendHeader(headers, keys4[i4], object[keys4[i4]]);
}
} else {
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
});
}
}
function appendHeader(headers, name, value) {
value = headerValueNormalize(value);
if (!isValidHeaderName(name)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value: name,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value,
type: "header value"
});
}
if (getHeadersGuard(headers) === "immutable") {
throw new TypeError("immutable");
}
return getHeadersList(headers).append(name, value, false);
}
function headersListSortAndCombine(target2) {
const headersList = getHeadersList(target2);
if (!headersList) {
return [];
}
if (headersList.sortedMap) {
return headersList.sortedMap;
}
const headers = [];
const names = headersList.toSortedArray();
const cookies = headersList.cookies;
if (cookies === null || cookies.length === 1) {
return headersList.sortedMap = names;
}
for (let i4 = 0; i4 < names.length; ++i4) {
const { 0: name, 1: value } = names[i4];
if (name === "set-cookie") {
for (let j2 = 0; j2 < cookies.length; ++j2) {
headers.push([name, cookies[j2]]);
}
} else {
headers.push([name, value]);
}
}
return headersList.sortedMap = headers;
}
function compareHeaderName(a2, b) {
return a2[0] < b[0] ? -1 : 1;
}
var HeadersList = class _HeadersList {
/** @type {[string, string][]|null} */
cookies = null;
sortedMap;
headersMap;
constructor(init2) {
if (init2 instanceof _HeadersList) {
this.headersMap = new Map(init2.headersMap);
this.sortedMap = init2.sortedMap;
this.cookies = init2.cookies === null ? null : [...init2.cookies];
} else {
this.headersMap = new Map(init2);
this.sortedMap = null;
}
}
/**
* @see https://fetch.spec.whatwg.org/#header-list-contains
* @param {string} name
* @param {boolean} isLowerCase
*/
contains(name, isLowerCase) {
return this.headersMap.has(isLowerCase ? name : name.toLowerCase());
}
clear() {
this.headersMap.clear();
this.sortedMap = null;
this.cookies = null;
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-append
* @param {string} name
* @param {string} value
* @param {boolean} isLowerCase
*/
append(name, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name : name.toLowerCase();
const exists = this.headersMap.get(lowercaseName);
if (exists) {
const delimiter = lowercaseName === "cookie" ? "; " : ", ";
this.headersMap.set(lowercaseName, {
name: exists.name,
value: `${exists.value}${delimiter}${value}`
});
} else {
this.headersMap.set(lowercaseName, { name, value });
}
if (lowercaseName === "set-cookie") {
(this.cookies ??= []).push(value);
}
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-set
* @param {string} name
* @param {string} value
* @param {boolean} isLowerCase
*/
set(name, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name : name.toLowerCase();
if (lowercaseName === "set-cookie") {
this.cookies = [value];
}
this.headersMap.set(lowercaseName, { name, value });
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-delete
* @param {string} name
* @param {boolean} isLowerCase
*/
delete(name, isLowerCase) {
this.sortedMap = null;
if (!isLowerCase) name = name.toLowerCase();
if (name === "set-cookie") {
this.cookies = null;
}
this.headersMap.delete(name);
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-get
* @param {string} name
* @param {boolean} isLowerCase
* @returns {string | null}
*/
get(name, isLowerCase) {
return this.headersMap.get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
}
*[Symbol.iterator]() {
for (const { 0: name, 1: { value } } of this.headersMap) {
yield [name, value];
}
}
get entries() {
const headers = {};
if (this.headersMap.size !== 0) {
for (const { name, value } of this.headersMap.values()) {
headers[name] = value;
}
}
return headers;
}
rawValues() {
return this.headersMap.values();
}
get entriesList() {
const headers = [];
if (this.headersMap.size !== 0) {
for (const { 0: lowerName, 1: { name, value } } of this.headersMap) {
if (lowerName === "set-cookie") {
for (const cookie of this.cookies) {
headers.push([name, cookie]);
}
} else {
headers.push([name, value]);
}
}
}
return headers;
}
// https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
toSortedArray() {
const size = this.headersMap.size;
const array = new Array(size);
if (size <= 32) {
if (size === 0) {
return array;
}
const iterator = this.headersMap[Symbol.iterator]();
const firstValue = iterator.next().value;
array[0] = [firstValue[0], firstValue[1].value];
assert13(firstValue[1].value !== null);
for (let i4 = 1, j2 = 0, right = 0, left = 0, pivot = 0, x3, value; i4 < size; ++i4) {
value = iterator.next().value;
x3 = array[i4] = [value[0], value[1].value];
assert13(x3[1] !== null);
left = 0;
right = i4;
while (left < right) {
pivot = left + (right - left >> 1);
if (array[pivot][0] <= x3[0]) {
left = pivot + 1;
} else {
right = pivot;
}
}
if (i4 !== pivot) {
j2 = i4;
while (j2 > left) {
array[j2] = array[--j2];
}
array[left] = x3;
}
}
if (!iterator.next().done) {
throw new TypeError("Unreachable");
}
return array;
} else {
let i4 = 0;
for (const { 0: name, 1: { value } } of this.headersMap) {
array[i4++] = [name, value];
assert13(value !== null);
}
return array.sort(compareHeaderName);
}
}
};
var Headers2 = class _Headers {
#guard;
/**
* @type {HeadersList}
*/
#headersList;
/**
* @param {HeadersInit|Symbol} [init]
* @returns
*/
constructor(init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (init2 === kConstruct) {
return;
}
this.#headersList = new HeadersList();
this.#guard = "none";
if (init2 !== void 0) {
init2 = webidl.converters.HeadersInit(init2, "Headers constructor", "init");
fill(this, init2);
}
}
// https://fetch.spec.whatwg.org/#dom-headers-append
append(name, value) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 2, "Headers.append");
const prefix = "Headers.append";
name = webidl.converters.ByteString(name, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
return appendHeader(this, name, value);
}
// https://fetch.spec.whatwg.org/#dom-headers-delete
delete(name) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
const prefix = "Headers.delete";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName(name)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.delete",
value: name,
type: "header name"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
if (!this.#headersList.contains(name, false)) {
return;
}
this.#headersList.delete(name, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-get
get(name) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.get");
const prefix = "Headers.get";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
}
return this.#headersList.get(name, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-has
has(name) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.has");
const prefix = "Headers.has";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
}
return this.#headersList.contains(name, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-set
set(name, value) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 2, "Headers.set");
const prefix = "Headers.set";
name = webidl.converters.ByteString(name, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
value = headerValueNormalize(value);
if (!isValidHeaderName(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix,
value,
type: "header value"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
this.#headersList.set(name, value, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
getSetCookie() {
webidl.brandCheck(this, _Headers);
const list2 = this.#headersList.cookies;
if (list2) {
return [...list2];
}
return [];
}
[util64.inspect.custom](depth, options) {
options.depth ??= depth;
return `Headers ${util64.formatWithOptions(options, this.#headersList.entries)}`;
}
static getHeadersGuard(o2) {
return o2.#guard;
}
static setHeadersGuard(o2, guard) {
o2.#guard = guard;
}
/**
* @param {Headers} o
*/
static getHeadersList(o2) {
return o2.#headersList;
}
/**
* @param {Headers} target
* @param {HeadersList} list
*/
static setHeadersList(target2, list2) {
target2.#headersList = list2;
}
};
var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers2;
Reflect.deleteProperty(Headers2, "getHeadersGuard");
Reflect.deleteProperty(Headers2, "setHeadersGuard");
Reflect.deleteProperty(Headers2, "getHeadersList");
Reflect.deleteProperty(Headers2, "setHeadersList");
iteratorMixin("Headers", Headers2, headersListSortAndCombine, 0, 1);
Object.defineProperties(Headers2.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
getSetCookie: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Headers",
configurable: true
},
[util64.inspect.custom]: {
enumerable: false
}
});
webidl.converters.HeadersInit = function(V, prefix, argument) {
if (webidl.util.Type(V) === webidl.util.Types.OBJECT) {
const iterator = Reflect.get(V, Symbol.iterator);
if (!util64.types.isProxy(V) && iterator === Headers2.prototype.entries) {
try {
return getHeadersList(V).entriesList;
} catch {
}
}
if (typeof iterator === "function") {
return webidl.converters["sequence<sequence<ByteString>>"](V, prefix, argument, iterator.bind(V));
}
return webidl.converters["record<ByteString, ByteString>"](V, prefix, argument);
}
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
});
};
module2.exports = {
fill,
// for test.
compareHeaderName,
Headers: Headers2,
HeadersList,
getHeadersGuard,
setHeadersGuard,
setHeadersList,
getHeadersList
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/response.js
var require_response = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
"use strict";
var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
var util64 = require_util4();
var nodeUtil = __require("node:util");
var { kEnumerableProperty } = util64;
var {
isValidReasonPhrase,
isCancelled,
isAborted,
isErrorLike,
environmentSettingsObject: relevantRealm
} = require_util5();
var {
redirectStatusSet,
nullBodyStatus
} = require_constants13();
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert13 = __require("node:assert");
var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
var textEncoder4 = new TextEncoder("utf-8");
var Response = class _Response {
/** @type {Headers} */
#headers;
#state;
// Creates network error Response.
static error() {
const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
return responseObject;
}
// https://fetch.spec.whatwg.org/#dom-response-json
static json(data, init2 = void 0) {
webidl.argumentLengthCheck(arguments, 1, "Response.json");
if (init2 !== null) {
init2 = webidl.converters.ResponseInit(init2);
}
const bytes = textEncoder4.encode(
serializeJavascriptValueToJSONString(data)
);
const body = extractBody(bytes);
const responseObject = fromInnerResponse(makeResponse({}), "response");
initializeResponse(responseObject, init2, { body: body[0], type: "application/json" });
return responseObject;
}
// Creates a redirect Response that redirects to url with status status.
static redirect(url7, status = 302) {
webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
url7 = webidl.converters.USVString(url7);
status = webidl.converters["unsigned short"](status);
let parsedURL;
try {
parsedURL = new URL(url7, relevantRealm.settingsObject.baseUrl);
} catch (err2) {
throw new TypeError(`Failed to parse URL from ${url7}`, { cause: err2 });
}
if (!redirectStatusSet.has(status)) {
throw new RangeError(`Invalid status code ${status}`);
}
const responseObject = fromInnerResponse(makeResponse({}), "immutable");
responseObject.#state.status = status;
const value = isomorphicEncode(URLSerializer(parsedURL));
responseObject.#state.headersList.append("location", value, true);
return responseObject;
}
// https://fetch.spec.whatwg.org/#dom-response
constructor(body = null, init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (body === kConstruct) {
return;
}
if (body !== null) {
body = webidl.converters.BodyInit(body, "Response", "body");
}
init2 = webidl.converters.ResponseInit(init2);
this.#state = makeResponse({});
this.#headers = new Headers2(kConstruct);
setHeadersGuard(this.#headers, "response");
setHeadersList(this.#headers, this.#state.headersList);
let bodyWithType = null;
if (body != null) {
const [extractedBody, type4] = extractBody(body);
bodyWithType = { body: extractedBody, type: type4 };
}
initializeResponse(this, init2, bodyWithType);
}
// Returns response’s type, e.g., "cors".
get type() {
webidl.brandCheck(this, _Response);
return this.#state.type;
}
// Returns response’s URL, if it has one; otherwise the empty string.
get url() {
webidl.brandCheck(this, _Response);
const urlList = this.#state.urlList;
const url7 = urlList[urlList.length - 1] ?? null;
if (url7 === null) {
return "";
}
return URLSerializer(url7, true);
}
// Returns whether response was obtained through a redirect.
get redirected() {
webidl.brandCheck(this, _Response);
return this.#state.urlList.length > 1;
}
// Returns response’s status.
get status() {
webidl.brandCheck(this, _Response);
return this.#state.status;
}
// Returns whether response’s status is an ok status.
get ok() {
webidl.brandCheck(this, _Response);
return this.#state.status >= 200 && this.#state.status <= 299;
}
// Returns response’s status message.
get statusText() {
webidl.brandCheck(this, _Response);
return this.#state.statusText;
}
// Returns response’s headers as Headers.
get headers() {
webidl.brandCheck(this, _Response);
return this.#headers;
}
get body() {
webidl.brandCheck(this, _Response);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, _Response);
return !!this.#state.body && util64.isDisturbed(this.#state.body.stream);
}
// Returns a clone of response.
clone() {
webidl.brandCheck(this, _Response);
if (bodyUnusable(this.#state)) {
throw webidl.errors.exception({
header: "Response.clone",
message: "Body has already been consumed."
});
}
const clonedResponse = cloneResponse(this.#state);
if (this.#state.urlList.length !== 0 && this.#state.body?.stream) {
streamRegistry.register(this, new WeakRef(this.#state.body.stream));
}
return fromInnerResponse(clonedResponse, getHeadersGuard(this.#headers));
}
[nodeUtil.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
status: this.status,
statusText: this.statusText,
headers: this.headers,
body: this.body,
bodyUsed: this.bodyUsed,
ok: this.ok,
redirected: this.redirected,
type: this.type,
url: this.url
};
return `Response ${nodeUtil.formatWithOptions(options, properties)}`;
}
/**
* @param {Response} response
*/
static getResponseHeaders(response) {
return response.#headers;
}
/**
* @param {Response} response
* @param {Headers} newHeaders
*/
static setResponseHeaders(response, newHeaders) {
response.#headers = newHeaders;
}
/**
* @param {Response} response
*/
static getResponseState(response) {
return response.#state;
}
/**
* @param {Response} response
* @param {any} newState
*/
static setResponseState(response, newState) {
response.#state = newState;
}
};
var { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } = Response;
Reflect.deleteProperty(Response, "getResponseHeaders");
Reflect.deleteProperty(Response, "setResponseHeaders");
Reflect.deleteProperty(Response, "getResponseState");
Reflect.deleteProperty(Response, "setResponseState");
mixinBody(Response, getResponseState);
Object.defineProperties(Response.prototype, {
type: kEnumerableProperty,
url: kEnumerableProperty,
status: kEnumerableProperty,
ok: kEnumerableProperty,
redirected: kEnumerableProperty,
statusText: kEnumerableProperty,
headers: kEnumerableProperty,
clone: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Response",
configurable: true
}
});
Object.defineProperties(Response, {
json: kEnumerableProperty,
redirect: kEnumerableProperty,
error: kEnumerableProperty
});
function cloneResponse(response) {
if (response.internalResponse) {
return filterResponse(
cloneResponse(response.internalResponse),
response.type
);
}
const newResponse = makeResponse({ ...response, body: null });
if (response.body != null) {
newResponse.body = cloneBody(response.body);
}
return newResponse;
}
function makeResponse(init2) {
return {
aborted: false,
rangeRequested: false,
timingAllowPassed: false,
requestIncludesCredentials: false,
type: "default",
status: 200,
timingInfo: null,
cacheState: "",
statusText: "",
...init2,
headersList: init2?.headersList ? new HeadersList(init2?.headersList) : new HeadersList(),
urlList: init2?.urlList ? [...init2.urlList] : []
};
}
function makeNetworkError(reason) {
const isError = isErrorLike(reason);
return makeResponse({
type: "error",
status: 0,
error: isError ? reason : new Error(reason ? String(reason) : reason),
aborted: reason && reason.name === "AbortError"
});
}
function isNetworkError(response) {
return (
// A network error is a response whose type is "error",
response.type === "error" && // status is 0
response.status === 0
);
}
function makeFilteredResponse(response, state) {
state = {
internalResponse: response,
...state
};
return new Proxy(response, {
get(target2, p) {
return p in state ? state[p] : target2[p];
},
set(target2, p, value) {
assert13(!(p in state));
target2[p] = value;
return true;
}
});
}
function filterResponse(response, type4) {
if (type4 === "basic") {
return makeFilteredResponse(response, {
type: "basic",
headersList: response.headersList
});
} else if (type4 === "cors") {
return makeFilteredResponse(response, {
type: "cors",
headersList: response.headersList
});
} else if (type4 === "opaque") {
return makeFilteredResponse(response, {
type: "opaque",
urlList: [],
status: 0,
statusText: "",
body: null
});
} else if (type4 === "opaqueredirect") {
return makeFilteredResponse(response, {
type: "opaqueredirect",
status: 0,
statusText: "",
headersList: [],
body: null
});
} else {
assert13(false);
}
}
function makeAppropriateNetworkError(fetchParams, err2 = null) {
assert13(isCancelled(fetchParams));
return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err2 })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err2 }));
}
function initializeResponse(response, init2, body) {
if (init2.status !== null && (init2.status < 200 || init2.status > 599)) {
throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
}
if ("statusText" in init2 && init2.statusText != null) {
if (!isValidReasonPhrase(String(init2.statusText))) {
throw new TypeError("Invalid statusText");
}
}
if ("status" in init2 && init2.status != null) {
getResponseState(response).status = init2.status;
}
if ("statusText" in init2 && init2.statusText != null) {
getResponseState(response).statusText = init2.statusText;
}
if ("headers" in init2 && init2.headers != null) {
fill(getResponseHeaders(response), init2.headers);
}
if (body) {
if (nullBodyStatus.includes(response.status)) {
throw webidl.errors.exception({
header: "Response constructor",
message: `Invalid response status code ${response.status}`
});
}
getResponseState(response).body = body.body;
if (body.type != null && !getResponseState(response).headersList.contains("content-type", true)) {
getResponseState(response).headersList.append("content-type", body.type, true);
}
}
}
function fromInnerResponse(innerResponse, guard) {
const response = new Response(kConstruct);
setResponseState(response, innerResponse);
const headers = new Headers2(kConstruct);
setResponseHeaders(response, headers);
setHeadersList(headers, innerResponse.headersList);
setHeadersGuard(headers, guard);
if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) {
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
}
return response;
}
webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
if (typeof V === "string") {
return webidl.converters.USVString(V, prefix, name);
}
if (webidl.is.Blob(V)) {
return V;
}
if (webidl.is.BufferSource(V)) {
return V;
}
if (webidl.is.FormData(V)) {
return V;
}
if (webidl.is.URLSearchParams(V)) {
return V;
}
return webidl.converters.DOMString(V, prefix, name);
};
webidl.converters.BodyInit = function(V, prefix, argument) {
if (webidl.is.ReadableStream(V)) {
return V;
}
if (V?.[Symbol.asyncIterator]) {
return V;
}
return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
};
webidl.converters.ResponseInit = webidl.dictionaryConverter([
{
key: "status",
converter: webidl.converters["unsigned short"],
defaultValue: () => 200
},
{
key: "statusText",
converter: webidl.converters.ByteString,
defaultValue: () => ""
},
{
key: "headers",
converter: webidl.converters.HeadersInit
}
]);
webidl.is.Response = webidl.util.MakeTypeAssertion(Response);
module2.exports = {
isNetworkError,
makeNetworkError,
makeResponse,
makeAppropriateNetworkError,
filterResponse,
Response,
cloneResponse,
fromInnerResponse,
getResponseState
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/request.js
var require_request2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
"use strict";
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
var util64 = require_util4();
var nodeUtil = __require("node:util");
var {
isValidHTTPToken,
sameOrigin,
environmentSettingsObject
} = require_util5();
var {
forbiddenMethodsSet,
corsSafeListedMethodsSet,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
requestDuplex
} = require_constants13();
var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util64;
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert13 = __require("node:assert");
var { getMaxListeners, setMaxListeners: setMaxListeners2, defaultMaxListeners } = __require("node:events");
var kAbortController = /* @__PURE__ */ Symbol("abortController");
var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
signal.removeEventListener("abort", abort);
});
var dependentControllerMap = /* @__PURE__ */ new WeakMap();
var abortSignalHasEventHandlerLeakWarning;
try {
abortSignalHasEventHandlerLeakWarning = getMaxListeners(new AbortController().signal) > 0;
} catch {
abortSignalHasEventHandlerLeakWarning = false;
}
function buildAbort(acRef) {
return abort;
function abort() {
const ac = acRef.deref();
if (ac !== void 0) {
requestFinalizer.unregister(abort);
this.removeEventListener("abort", abort);
ac.abort(this.reason);
const controllerList = dependentControllerMap.get(ac.signal);
if (controllerList !== void 0) {
if (controllerList.size !== 0) {
for (const ref of controllerList) {
const ctrl = ref.deref();
if (ctrl !== void 0) {
ctrl.abort(this.reason);
}
}
controllerList.clear();
}
dependentControllerMap.delete(ac.signal);
}
}
}
}
var patchMethodWarning = false;
var Request = class _Request {
/** @type {AbortSignal} */
#signal;
/** @type {import('../../dispatcher/dispatcher')} */
#dispatcher;
/** @type {Headers} */
#headers;
#state;
// https://fetch.spec.whatwg.org/#dom-request
constructor(input, init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (input === kConstruct) {
return;
}
const prefix = "Request constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
input = webidl.converters.RequestInfo(input);
init2 = webidl.converters.RequestInit(init2);
let request = null;
let fallbackMode = null;
const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
let signal = null;
if (typeof input === "string") {
this.#dispatcher = init2.dispatcher;
let parsedURL;
try {
parsedURL = new URL(input, baseUrl);
} catch (err2) {
throw new TypeError("Failed to parse URL from " + input, { cause: err2 });
}
if (parsedURL.username || parsedURL.password) {
throw new TypeError(
"Request cannot be constructed from a URL that includes credentials: " + input
);
}
request = makeRequest({ urlList: [parsedURL] });
fallbackMode = "cors";
} else {
assert13(webidl.is.Request(input));
request = input.#state;
signal = input.#signal;
this.#dispatcher = init2.dispatcher || input.#dispatcher;
}
const origin = environmentSettingsObject.settingsObject.origin;
let window2 = "client";
if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) {
window2 = request.window;
}
if (init2.window != null) {
throw new TypeError(`'window' option '${window2}' must be null`);
}
if ("window" in init2) {
window2 = "no-window";
}
request = makeRequest({
// URL request’s URL.
// undici implementation note: this is set as the first item in request's urlList in makeRequest
// method request’s method.
method: request.method,
// header list A copy of request’s header list.
// undici implementation note: headersList is cloned in makeRequest
headersList: request.headersList,
// unsafe-request flag Set.
unsafeRequest: request.unsafeRequest,
// client This’s relevant settings object.
client: environmentSettingsObject.settingsObject,
// window window.
window: window2,
// priority request’s priority.
priority: request.priority,
// origin request’s origin. The propagation of the origin is only significant for navigation requests
// being handled by a service worker. In this scenario a request can have an origin that is different
// from the current client.
origin: request.origin,
// referrer request’s referrer.
referrer: request.referrer,
// referrer policy request’s referrer policy.
referrerPolicy: request.referrerPolicy,
// mode request’s mode.
mode: request.mode,
// credentials mode request’s credentials mode.
credentials: request.credentials,
// cache mode request’s cache mode.
cache: request.cache,
// redirect mode request’s redirect mode.
redirect: request.redirect,
// integrity metadata request’s integrity metadata.
integrity: request.integrity,
// keepalive request’s keepalive.
keepalive: request.keepalive,
// reload-navigation flag request’s reload-navigation flag.
reloadNavigation: request.reloadNavigation,
// history-navigation flag request’s history-navigation flag.
historyNavigation: request.historyNavigation,
// URL list A clone of request’s URL list.
urlList: [...request.urlList]
});
const initHasKey = Object.keys(init2).length !== 0;
if (initHasKey) {
if (request.mode === "navigate") {
request.mode = "same-origin";
}
request.reloadNavigation = false;
request.historyNavigation = false;
request.origin = "client";
request.referrer = "client";
request.referrerPolicy = "";
request.url = request.urlList[request.urlList.length - 1];
request.urlList = [request.url];
}
if (init2.referrer !== void 0) {
const referrer = init2.referrer;
if (referrer === "") {
request.referrer = "no-referrer";
} else {
let parsedReferrer;
try {
parsedReferrer = new URL(referrer, baseUrl);
} catch (err2) {
throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err2 });
}
if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
request.referrer = "client";
} else {
request.referrer = parsedReferrer;
}
}
}
if (init2.referrerPolicy !== void 0) {
request.referrerPolicy = init2.referrerPolicy;
}
let mode;
if (init2.mode !== void 0) {
mode = init2.mode;
} else {
mode = fallbackMode;
}
if (mode === "navigate") {
throw webidl.errors.exception({
header: "Request constructor",
message: "invalid request mode navigate."
});
}
if (mode != null) {
request.mode = mode;
}
if (init2.credentials !== void 0) {
request.credentials = init2.credentials;
}
if (init2.cache !== void 0) {
request.cache = init2.cache;
}
if (request.cache === "only-if-cached" && request.mode !== "same-origin") {
throw new TypeError(
"'only-if-cached' can be set only with 'same-origin' mode"
);
}
if (init2.redirect !== void 0) {
request.redirect = init2.redirect;
}
if (init2.integrity != null) {
request.integrity = String(init2.integrity);
}
if (init2.keepalive !== void 0) {
request.keepalive = Boolean(init2.keepalive);
}
if (init2.method !== void 0) {
let method2 = init2.method;
const mayBeNormalized = normalizedMethodRecords[method2];
if (mayBeNormalized !== void 0) {
request.method = mayBeNormalized;
} else {
if (!isValidHTTPToken(method2)) {
throw new TypeError(`'${method2}' is not a valid HTTP method.`);
}
const upperCase = method2.toUpperCase();
if (forbiddenMethodsSet.has(upperCase)) {
throw new TypeError(`'${method2}' HTTP method is unsupported.`);
}
method2 = normalizedMethodRecordsBase[upperCase] ?? method2;
request.method = method2;
}
if (!patchMethodWarning && request.method === "patch") {
process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.", {
code: "UNDICI-FETCH-patch"
});
patchMethodWarning = true;
}
}
if (init2.signal !== void 0) {
signal = init2.signal;
}
this.#state = request;
const ac = new AbortController();
this.#signal = ac.signal;
if (signal != null) {
if (signal.aborted) {
ac.abort(signal.reason);
} else {
this[kAbortController] = ac;
const acRef = new WeakRef(ac);
const abort = buildAbort(acRef);
if (abortSignalHasEventHandlerLeakWarning && getMaxListeners(signal) === defaultMaxListeners) {
setMaxListeners2(1500, signal);
}
util64.addAbortListener(signal, abort);
requestFinalizer.register(ac, { signal, abort }, abort);
}
}
this.#headers = new Headers2(kConstruct);
setHeadersList(this.#headers, request.headersList);
setHeadersGuard(this.#headers, "request");
if (mode === "no-cors") {
if (!corsSafeListedMethodsSet.has(request.method)) {
throw new TypeError(
`'${request.method} is unsupported in no-cors mode.`
);
}
setHeadersGuard(this.#headers, "request-no-cors");
}
if (initHasKey) {
const headersList = getHeadersList(this.#headers);
const headers = init2.headers !== void 0 ? init2.headers : new HeadersList(headersList);
headersList.clear();
if (headers instanceof HeadersList) {
for (const { name, value } of headers.rawValues()) {
headersList.append(name, value, false);
}
headersList.cookies = headers.cookies;
} else {
fillHeaders(this.#headers, headers);
}
}
const inputBody = webidl.is.Request(input) ? input.#state.body : null;
if ((init2.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {
throw new TypeError("Request with GET/HEAD method cannot have body.");
}
let initBody = null;
if (init2.body != null) {
const [extractedBody, contentType] = extractBody(
init2.body,
request.keepalive
);
initBody = extractedBody;
if (contentType && !getHeadersList(this.#headers).contains("content-type", true)) {
this.#headers.append("content-type", contentType, true);
}
}
const inputOrInitBody = initBody ?? inputBody;
if (inputOrInitBody != null && inputOrInitBody.source == null) {
if (initBody != null && init2.duplex == null) {
throw new TypeError("RequestInit: duplex option is required when sending a body.");
}
if (request.mode !== "same-origin" && request.mode !== "cors") {
throw new TypeError(
'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
);
}
request.useCORSPreflightFlag = true;
}
let finalBody = inputOrInitBody;
if (initBody == null && inputBody != null) {
if (bodyUnusable(input.#state)) {
throw new TypeError(
"Cannot construct a Request with a Request object that has already been used."
);
}
const identityTransform = new TransformStream();
inputBody.stream.pipeThrough(identityTransform);
finalBody = {
source: inputBody.source,
length: inputBody.length,
stream: identityTransform.readable
};
}
this.#state.body = finalBody;
}
// Returns request’s HTTP method, which is "GET" by default.
get method() {
webidl.brandCheck(this, _Request);
return this.#state.method;
}
// Returns the URL of request as a string.
get url() {
webidl.brandCheck(this, _Request);
return URLSerializer(this.#state.url);
}
// Returns a Headers object consisting of the headers associated with request.
// Note that headers added in the network layer by the user agent will not
// be accounted for in this object, e.g., the "Host" header.
get headers() {
webidl.brandCheck(this, _Request);
return this.#headers;
}
// Returns the kind of resource requested by request, e.g., "document"
// or "script".
get destination() {
webidl.brandCheck(this, _Request);
return this.#state.destination;
}
// Returns the referrer of request. Its value can be a same-origin URL if
// explicitly set in init, the empty string to indicate no referrer, and
// "about:client" when defaulting to the global’s default. This is used
// during fetching to determine the value of the `Referer` header of the
// request being made.
get referrer() {
webidl.brandCheck(this, _Request);
if (this.#state.referrer === "no-referrer") {
return "";
}
if (this.#state.referrer === "client") {
return "about:client";
}
return this.#state.referrer.toString();
}
// Returns the referrer policy associated with request.
// This is used during fetching to compute the value of the request’s
// referrer.
get referrerPolicy() {
webidl.brandCheck(this, _Request);
return this.#state.referrerPolicy;
}
// Returns the mode associated with request, which is a string indicating
// whether the request will use CORS, or will be restricted to same-origin
// URLs.
get mode() {
webidl.brandCheck(this, _Request);
return this.#state.mode;
}
// Returns the credentials mode associated with request,
// which is a string indicating whether credentials will be sent with the
// request always, never, or only when sent to a same-origin URL.
get credentials() {
webidl.brandCheck(this, _Request);
return this.#state.credentials;
}
// Returns the cache mode associated with request,
// which is a string indicating how the request will
// interact with the browser’s cache when fetching.
get cache() {
webidl.brandCheck(this, _Request);
return this.#state.cache;
}
// Returns the redirect mode associated with request,
// which is a string indicating how redirects for the
// request will be handled during fetching. A request
// will follow redirects by default.
get redirect() {
webidl.brandCheck(this, _Request);
return this.#state.redirect;
}
// Returns request’s subresource integrity metadata, which is a
// cryptographic hash of the resource being fetched. Its value
// consists of multiple hashes separated by whitespace. [SRI]
get integrity() {
webidl.brandCheck(this, _Request);
return this.#state.integrity;
}
// Returns a boolean indicating whether or not request can outlive the
// global in which it was created.
get keepalive() {
webidl.brandCheck(this, _Request);
return this.#state.keepalive;
}
// Returns a boolean indicating whether or not request is for a reload
// navigation.
get isReloadNavigation() {
webidl.brandCheck(this, _Request);
return this.#state.reloadNavigation;
}
// Returns a boolean indicating whether or not request is for a history
// navigation (a.k.a. back-forward navigation).
get isHistoryNavigation() {
webidl.brandCheck(this, _Request);
return this.#state.historyNavigation;
}
// Returns the signal associated with request, which is an AbortSignal
// object indicating whether or not request has been aborted, and its
// abort event handler.
get signal() {
webidl.brandCheck(this, _Request);
return this.#signal;
}
get body() {
webidl.brandCheck(this, _Request);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, _Request);
return !!this.#state.body && util64.isDisturbed(this.#state.body.stream);
}
get duplex() {
webidl.brandCheck(this, _Request);
return "half";
}
// Returns a clone of request.
clone() {
webidl.brandCheck(this, _Request);
if (bodyUnusable(this.#state)) {
throw new TypeError("unusable");
}
const clonedRequest = cloneRequest(this.#state);
const ac = new AbortController();
if (this.signal.aborted) {
ac.abort(this.signal.reason);
} else {
let list2 = dependentControllerMap.get(this.signal);
if (list2 === void 0) {
list2 = /* @__PURE__ */ new Set();
dependentControllerMap.set(this.signal, list2);
}
const acRef = new WeakRef(ac);
list2.add(acRef);
util64.addAbortListener(
ac.signal,
buildAbort(acRef)
);
}
return fromInnerRequest(clonedRequest, this.#dispatcher, ac.signal, getHeadersGuard(this.#headers));
}
[nodeUtil.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
method: this.method,
url: this.url,
headers: this.headers,
destination: this.destination,
referrer: this.referrer,
referrerPolicy: this.referrerPolicy,
mode: this.mode,
credentials: this.credentials,
cache: this.cache,
redirect: this.redirect,
integrity: this.integrity,
keepalive: this.keepalive,
isReloadNavigation: this.isReloadNavigation,
isHistoryNavigation: this.isHistoryNavigation,
signal: this.signal
};
return `Request ${nodeUtil.formatWithOptions(options, properties)}`;
}
/**
* @param {Request} request
* @param {AbortSignal} newSignal
*/
static setRequestSignal(request, newSignal) {
request.#signal = newSignal;
return request;
}
/**
* @param {Request} request
*/
static getRequestDispatcher(request) {
return request.#dispatcher;
}
/**
* @param {Request} request
* @param {import('../../dispatcher/dispatcher')} newDispatcher
*/
static setRequestDispatcher(request, newDispatcher) {
request.#dispatcher = newDispatcher;
}
/**
* @param {Request} request
* @param {Headers} newHeaders
*/
static setRequestHeaders(request, newHeaders) {
request.#headers = newHeaders;
}
/**
* @param {Request} request
*/
static getRequestState(request) {
return request.#state;
}
/**
* @param {Request} request
* @param {any} newState
*/
static setRequestState(request, newState) {
request.#state = newState;
}
};
var { setRequestSignal, getRequestDispatcher, setRequestDispatcher, setRequestHeaders, getRequestState, setRequestState } = Request;
Reflect.deleteProperty(Request, "setRequestSignal");
Reflect.deleteProperty(Request, "getRequestDispatcher");
Reflect.deleteProperty(Request, "setRequestDispatcher");
Reflect.deleteProperty(Request, "setRequestHeaders");
Reflect.deleteProperty(Request, "getRequestState");
Reflect.deleteProperty(Request, "setRequestState");
mixinBody(Request, getRequestState);
function makeRequest(init2) {
return {
method: init2.method ?? "GET",
localURLsOnly: init2.localURLsOnly ?? false,
unsafeRequest: init2.unsafeRequest ?? false,
body: init2.body ?? null,
client: init2.client ?? null,
reservedClient: init2.reservedClient ?? null,
replacesClientId: init2.replacesClientId ?? "",
window: init2.window ?? "client",
keepalive: init2.keepalive ?? false,
serviceWorkers: init2.serviceWorkers ?? "all",
initiator: init2.initiator ?? "",
destination: init2.destination ?? "",
priority: init2.priority ?? null,
origin: init2.origin ?? "client",
policyContainer: init2.policyContainer ?? "client",
referrer: init2.referrer ?? "client",
referrerPolicy: init2.referrerPolicy ?? "",
mode: init2.mode ?? "no-cors",
useCORSPreflightFlag: init2.useCORSPreflightFlag ?? false,
credentials: init2.credentials ?? "same-origin",
useCredentials: init2.useCredentials ?? false,
cache: init2.cache ?? "default",
redirect: init2.redirect ?? "follow",
integrity: init2.integrity ?? "",
cryptoGraphicsNonceMetadata: init2.cryptoGraphicsNonceMetadata ?? "",
parserMetadata: init2.parserMetadata ?? "",
reloadNavigation: init2.reloadNavigation ?? false,
historyNavigation: init2.historyNavigation ?? false,
userActivation: init2.userActivation ?? false,
taintedOrigin: init2.taintedOrigin ?? false,
redirectCount: init2.redirectCount ?? 0,
responseTainting: init2.responseTainting ?? "basic",
preventNoCacheCacheControlHeaderModification: init2.preventNoCacheCacheControlHeaderModification ?? false,
done: init2.done ?? false,
timingAllowFailed: init2.timingAllowFailed ?? false,
useURLCredentials: init2.useURLCredentials ?? void 0,
traversableForUserPrompts: init2.traversableForUserPrompts ?? "client",
urlList: init2.urlList,
url: init2.urlList[0],
headersList: init2.headersList ? new HeadersList(init2.headersList) : new HeadersList()
};
}
function cloneRequest(request) {
const newRequest = makeRequest({ ...request, body: null });
if (request.body != null) {
newRequest.body = cloneBody(request.body);
}
return newRequest;
}
function fromInnerRequest(innerRequest, dispatcher, signal, guard) {
const request = new Request(kConstruct);
setRequestState(request, innerRequest);
setRequestDispatcher(request, dispatcher);
setRequestSignal(request, signal);
const headers = new Headers2(kConstruct);
setRequestHeaders(request, headers);
setHeadersList(headers, innerRequest.headersList);
setHeadersGuard(headers, guard);
return request;
}
Object.defineProperties(Request.prototype, {
method: kEnumerableProperty,
url: kEnumerableProperty,
headers: kEnumerableProperty,
redirect: kEnumerableProperty,
clone: kEnumerableProperty,
signal: kEnumerableProperty,
duplex: kEnumerableProperty,
destination: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
isHistoryNavigation: kEnumerableProperty,
isReloadNavigation: kEnumerableProperty,
keepalive: kEnumerableProperty,
integrity: kEnumerableProperty,
cache: kEnumerableProperty,
credentials: kEnumerableProperty,
attribute: kEnumerableProperty,
referrerPolicy: kEnumerableProperty,
referrer: kEnumerableProperty,
mode: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Request",
configurable: true
}
});
webidl.is.Request = webidl.util.MakeTypeAssertion(Request);
webidl.converters.RequestInfo = function(V) {
if (typeof V === "string") {
return webidl.converters.USVString(V);
}
if (webidl.is.Request(V)) {
return V;
}
return webidl.converters.USVString(V);
};
webidl.converters.RequestInit = webidl.dictionaryConverter([
{
key: "method",
converter: webidl.converters.ByteString
},
{
key: "headers",
converter: webidl.converters.HeadersInit
},
{
key: "body",
converter: webidl.nullableConverter(
webidl.converters.BodyInit
)
},
{
key: "referrer",
converter: webidl.converters.USVString
},
{
key: "referrerPolicy",
converter: webidl.converters.DOMString,
// https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
allowedValues: referrerPolicy
},
{
key: "mode",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#concept-request-mode
allowedValues: requestMode
},
{
key: "credentials",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestcredentials
allowedValues: requestCredentials
},
{
key: "cache",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestcache
allowedValues: requestCache
},
{
key: "redirect",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestredirect
allowedValues: requestRedirect
},
{
key: "integrity",
converter: webidl.converters.DOMString
},
{
key: "keepalive",
converter: webidl.converters.boolean
},
{
key: "signal",
converter: webidl.nullableConverter(
(signal) => webidl.converters.AbortSignal(
signal,
"RequestInit",
"signal"
)
)
},
{
key: "window",
converter: webidl.converters.any
},
{
key: "duplex",
converter: webidl.converters.DOMString,
allowedValues: requestDuplex
},
{
key: "dispatcher",
// undici specific option
converter: webidl.converters.any
},
{
key: "priority",
converter: webidl.converters.DOMString,
allowedValues: ["high", "low", "auto"],
defaultValue: () => "auto"
}
]);
module2.exports = {
Request,
makeRequest,
fromInnerRequest,
cloneRequest,
getRequestDispatcher,
getRequestState
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
var require_subresource_integrity = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var validSRIHashAlgorithmTokenSet = /* @__PURE__ */ new Map([["sha256", 0], ["sha384", 1], ["sha512", 2]]);
var crypto13;
if (runtimeFeatures.has("crypto")) {
crypto13 = __require("node:crypto");
const cryptoHashes = crypto13.getHashes();
if (cryptoHashes.length === 0) {
validSRIHashAlgorithmTokenSet.clear();
}
for (const algorithm of validSRIHashAlgorithmTokenSet.keys()) {
if (cryptoHashes.includes(algorithm) === false) {
validSRIHashAlgorithmTokenSet.delete(algorithm);
}
}
} else {
validSRIHashAlgorithmTokenSet.clear();
}
var getSRIHashAlgorithmIndex = (
/** @type {GetSRIHashAlgorithmIndex} */
Map.prototype.get.bind(
validSRIHashAlgorithmTokenSet
)
);
var isValidSRIHashAlgorithm = (
/** @type {IsValidSRIHashAlgorithm} */
Map.prototype.has.bind(validSRIHashAlgorithmTokenSet)
);
var bytesMatch = runtimeFeatures.has("crypto") === false || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => {
const parsedMetadata = parseMetadata(metadataList);
if (parsedMetadata.length === 0) {
return true;
}
const metadata = getStrongestMetadata(parsedMetadata);
for (const item of metadata) {
const algorithm = item.alg;
const expectedValue = item.val;
const actualValue = applyAlgorithmToBytes(algorithm, bytes);
if (caseSensitiveMatch(actualValue, expectedValue)) {
return true;
}
}
return false;
};
function getStrongestMetadata(metadataList) {
const result2 = [];
let strongest = null;
for (const item of metadataList) {
assert13(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
if (result2.length === 0) {
result2.push(item);
strongest = item;
continue;
}
const currentAlgorithm = (
/** @type {Metadata} */
strongest.alg
);
const currentAlgorithmIndex = getSRIHashAlgorithmIndex(currentAlgorithm);
const newAlgorithm = item.alg;
const newAlgorithmIndex = getSRIHashAlgorithmIndex(newAlgorithm);
if (newAlgorithmIndex < currentAlgorithmIndex) {
continue;
} else if (newAlgorithmIndex > currentAlgorithmIndex) {
strongest = item;
result2[0] = item;
result2.length = 1;
} else {
result2.push(item);
}
}
return result2;
}
function parseMetadata(metadata) {
const result2 = [];
for (const item of metadata.split(" ")) {
const expressionAndOptions = item.split("?", 1);
const algorithmExpression = expressionAndOptions[0];
let base64Value = "";
const algorithmAndValue = [algorithmExpression.slice(0, 6), algorithmExpression.slice(7)];
const algorithm = algorithmAndValue[0];
if (!isValidSRIHashAlgorithm(algorithm)) {
continue;
}
if (algorithmAndValue[1]) {
base64Value = algorithmAndValue[1];
}
const metadata2 = {
alg: algorithm,
val: base64Value
};
result2.push(metadata2);
}
return result2;
}
var applyAlgorithmToBytes = (algorithm, bytes) => {
return crypto13.hash(algorithm, bytes, "base64");
};
function caseSensitiveMatch(actualValue, expectedValue) {
let actualValueLength = actualValue.length;
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
let expectedValueLength = expectedValue.length;
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (actualValueLength !== expectedValueLength) {
return false;
}
for (let i4 = 0; i4 < actualValueLength; ++i4) {
if (actualValue[i4] === expectedValue[i4] || actualValue[i4] === "+" && expectedValue[i4] === "-" || actualValue[i4] === "/" && expectedValue[i4] === "_") {
continue;
}
return false;
}
return true;
}
module2.exports = {
applyAlgorithmToBytes,
bytesMatch,
caseSensitiveMatch,
isValidSRIHashAlgorithm,
getStrongestMetadata,
parseMetadata
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/index.js
var require_fetch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
"use strict";
var {
makeNetworkError,
makeAppropriateNetworkError,
filterResponse,
makeResponse,
fromInnerResponse,
getResponseState
} = require_response();
var { HeadersList } = require_headers();
var { Request, cloneRequest, getRequestDispatcher, getRequestState } = require_request2();
var zlib2 = __require("node:zlib");
var {
makePolicyContainer,
clonePolicyContainer,
requestBadPort,
TAOCheck,
appendRequestOriginHeader,
responseLocationURL,
requestCurrentURL,
setRequestReferrerPolicyOnRedirect,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
createOpaqueTimingInfo,
appendFetchMetadata,
corsCheck,
crossOriginResourcePolicyCheck,
determineRequestsReferrer,
coarsenedSharedCurrentTime,
sameOrigin,
isCancelled,
isAborted,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlIsHttpHttpsScheme,
urlHasHttpsScheme,
clampAndCoarsenConnectionTimingInfo,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
} = require_util5();
var assert13 = __require("node:assert");
var { safelyExtractBody, extractBody } = require_body();
var {
redirectStatusSet,
nullBodyStatus,
safeMethodsSet,
requestBodyHeader,
subresourceSet
} = require_constants13();
var EE = __require("node:events");
var { Readable: Readable4, pipeline: pipeline2, finished: finished7, isErrored, isReadable } = __require("node:stream");
var { addAbortListener: addAbortListener3, bufferToLowerCasedHeaderName } = require_util4();
var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url();
var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();
var { webidl } = require_webidl();
var { STATUS_CODES } = __require("node:http");
var { bytesMatch } = require_subresource_integrity();
var { createDeferredPromise } = require_promise();
var { isomorphicEncode } = require_infra();
var { runtimeFeatures } = require_runtime_features();
var hasZstd = runtimeFeatures.has("zstd");
var GET_OR_HEAD = ["GET", "HEAD"];
var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
var resolveObjectURL;
var Fetch = class extends EE {
constructor(dispatcher) {
super();
this.dispatcher = dispatcher;
this.connection = null;
this.dump = false;
this.state = "ongoing";
}
terminate(reason) {
if (this.state !== "ongoing") {
return;
}
this.state = "terminated";
this.connection?.destroy(reason);
this.emit("terminated", reason);
}
// https://fetch.spec.whatwg.org/#fetch-controller-abort
abort(error) {
if (this.state !== "ongoing") {
return;
}
this.state = "aborted";
if (!error) {
error = new DOMException("The operation was aborted.", "AbortError");
}
this.serializedAbortReason = error;
this.connection?.destroy(error);
this.emit("terminated", error);
}
};
function handleFetchDone(response) {
finalizeAndReportTiming(response, "fetch");
}
function fetch2(input, init2 = void 0) {
webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
let p = createDeferredPromise();
let requestObject;
try {
requestObject = new Request(input, init2);
} catch (e) {
p.reject(e);
return p.promise;
}
const request = getRequestState(requestObject);
if (requestObject.signal.aborted) {
abortFetch(p, request, null, requestObject.signal.reason, null);
return p.promise;
}
const globalObject = request.client.globalObject;
if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
request.serviceWorkers = "none";
}
let responseObject = null;
let locallyAborted = false;
let controller = null;
addAbortListener3(
requestObject.signal,
() => {
locallyAborted = true;
assert13(controller != null);
controller.abort(requestObject.signal.reason);
const realResponse = responseObject?.deref();
abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller);
}
);
const processResponse = (response) => {
if (locallyAborted) {
return;
}
if (response.aborted) {
abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller);
return;
}
if (response.type === "error") {
p.reject(new TypeError("fetch failed", { cause: response.error }));
return;
}
responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
p.resolve(responseObject.deref());
p = null;
};
controller = fetching({
request,
processResponseEndOfBody: handleFetchDone,
processResponse,
dispatcher: getRequestDispatcher(requestObject),
// undici
// Keep requestObject alive to prevent its AbortController from being GC'd
// See https://github.com/nodejs/undici/issues/4627
requestObject
});
return p.promise;
}
function finalizeAndReportTiming(response, initiatorType = "other") {
if (response.type === "error" && response.aborted) {
return;
}
if (!response.urlList?.length) {
return;
}
const originalURL = response.urlList[0];
let timingInfo = response.timingInfo;
let cacheState = response.cacheState;
if (!urlIsHttpHttpsScheme(originalURL)) {
return;
}
if (timingInfo === null) {
return;
}
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo({
startTime: timingInfo.startTime
});
cacheState = "";
}
timingInfo.endTime = coarsenedSharedCurrentTime();
response.timingInfo = timingInfo;
markResourceTiming(
timingInfo,
originalURL.href,
initiatorType,
globalThis,
cacheState,
"",
// bodyType
response.status
);
}
var markResourceTiming = performance.markResourceTiming;
function abortFetch(p, request, responseObject, error, controller) {
if (p) {
p.reject(error);
}
if (request.body?.stream != null && isReadable(request.body.stream)) {
request.body.stream.cancel(error).catch((err2) => {
if (err2.code === "ERR_INVALID_STATE") {
return;
}
throw err2;
});
}
if (responseObject == null) {
return;
}
const response = getResponseState(responseObject);
if (response.body?.stream != null && isReadable(response.body.stream)) {
controller.error(error);
}
}
function fetching({
request,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseEndOfBody,
processResponseConsumeBody,
useParallelQueue = false,
dispatcher = getGlobalDispatcher2(),
// undici
requestObject = null
// Keep alive to prevent AbortController GC, see #4627
}) {
assert13(dispatcher);
let taskDestination = null;
let crossOriginIsolatedCapability = false;
if (request.client != null) {
taskDestination = request.client.globalObject;
crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;
}
const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
const timingInfo = createOpaqueTimingInfo({
startTime: currentTime
});
const fetchParams = {
controller: new Fetch(dispatcher),
request,
timingInfo,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseConsumeBody,
processResponseEndOfBody,
taskDestination,
crossOriginIsolatedCapability,
// Keep requestObject alive to prevent its AbortController from being GC'd
requestObject
};
assert13(!request.body || request.body.stream);
if (request.window === "client") {
request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
}
if (request.origin === "client") {
request.origin = request.client.origin;
}
if (request.policyContainer === "client") {
if (request.client != null) {
request.policyContainer = clonePolicyContainer(
request.client.policyContainer
);
} else {
request.policyContainer = makePolicyContainer();
}
}
if (!request.headersList.contains("accept", true)) {
const value = "*/*";
request.headersList.append("accept", value, true);
}
if (!request.headersList.contains("accept-language", true)) {
request.headersList.append("accept-language", "*", true);
}
if (request.priority === null) {
}
if (subresourceSet.has(request.destination)) {
}
mainFetch(fetchParams, false);
return fetchParams.controller;
}
async function mainFetch(fetchParams, recursive2) {
try {
const request = fetchParams.request;
let response = null;
if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
response = makeNetworkError("local URLs only");
}
tryUpgradeRequestToAPotentiallyTrustworthyURL(request);
if (requestBadPort(request) === "blocked") {
response = makeNetworkError("bad port");
}
if (request.referrerPolicy === "") {
request.referrerPolicy = request.policyContainer.referrerPolicy;
}
if (request.referrer !== "no-referrer") {
request.referrer = determineRequestsReferrer(request);
}
if (response === null) {
const currentURL = requestCurrentURL(request);
if (
// - request’s current URL’s origin is same origin with request’s origin,
// and request’s response tainting is "basic"
sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data"
currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
(request.mode === "navigate" || request.mode === "websocket")
) {
request.responseTainting = "basic";
response = await schemeFetch(fetchParams);
} else if (request.mode === "same-origin") {
response = makeNetworkError('request mode cannot be "same-origin"');
} else if (request.mode === "no-cors") {
if (request.redirect !== "follow") {
response = makeNetworkError(
'redirect mode cannot be "follow" for "no-cors" request'
);
} else {
request.responseTainting = "opaque";
response = await schemeFetch(fetchParams);
}
} else if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
response = makeNetworkError("URL scheme must be a HTTP(S) scheme");
} else {
request.responseTainting = "cors";
response = await httpFetch(fetchParams);
}
}
if (recursive2) {
return response;
}
if (response.status !== 0 && !response.internalResponse) {
if (request.responseTainting === "cors") {
}
if (request.responseTainting === "basic") {
response = filterResponse(response, "basic");
} else if (request.responseTainting === "cors") {
response = filterResponse(response, "cors");
} else if (request.responseTainting === "opaque") {
response = filterResponse(response, "opaque");
} else {
assert13(false);
}
}
let internalResponse = response.status === 0 ? response : response.internalResponse;
if (internalResponse.urlList.length === 0) {
internalResponse.urlList.push(...request.urlList);
}
if (!request.timingAllowFailed) {
response.timingAllowPassed = true;
}
if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range", true)) {
response = internalResponse = makeNetworkError();
}
if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
internalResponse.body = null;
fetchParams.controller.dump = true;
}
if (request.integrity) {
const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
if (request.responseTainting === "opaque" || response.body == null) {
processBodyError(response.error);
return;
}
const processBody = (bytes) => {
if (!bytesMatch(bytes, request.integrity)) {
processBodyError("integrity mismatch");
return;
}
response.body = safelyExtractBody(bytes)[0];
fetchFinale(fetchParams, response);
};
fullyReadBody(response.body, processBody, processBodyError);
} else {
fetchFinale(fetchParams, response);
}
} catch (err2) {
fetchParams.controller.terminate(err2);
}
}
function schemeFetch(fetchParams) {
if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
return Promise.resolve(makeAppropriateNetworkError(fetchParams));
}
const { request } = fetchParams;
const { protocol: scheme } = requestCurrentURL(request);
switch (scheme) {
case "about:": {
return Promise.resolve(makeNetworkError("about scheme is not supported"));
}
case "blob:": {
if (!resolveObjectURL) {
resolveObjectURL = __require("node:buffer").resolveObjectURL;
}
const blobURLEntry = requestCurrentURL(request);
if (blobURLEntry.search.length !== 0) {
return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
}
const blob = resolveObjectURL(blobURLEntry.toString());
if (request.method !== "GET" || !webidl.is.Blob(blob)) {
return Promise.resolve(makeNetworkError("invalid method"));
}
const response = makeResponse();
const fullLength = blob.size;
const serializedFullLength = isomorphicEncode(`${fullLength}`);
const type4 = blob.type;
if (!request.headersList.contains("range", true)) {
const bodyWithType = extractBody(blob);
response.statusText = "OK";
response.body = bodyWithType[0];
response.headersList.set("content-length", serializedFullLength, true);
response.headersList.set("content-type", type4, true);
} else {
response.rangeRequested = true;
const rangeHeader = request.headersList.get("range", true);
const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
if (rangeValue === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
if (rangeStart === null) {
rangeStart = fullLength - rangeEnd;
rangeEnd = rangeStart + rangeEnd - 1;
} else {
if (rangeStart >= fullLength) {
return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
}
if (rangeEnd === null || rangeEnd >= fullLength) {
rangeEnd = fullLength - 1;
}
}
const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type4);
const slicedBodyWithType = extractBody(slicedBlob);
response.body = slicedBodyWithType[0];
const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
response.status = 206;
response.statusText = "Partial Content";
response.headersList.set("content-length", serializedSlicedLength, true);
response.headersList.set("content-type", type4, true);
response.headersList.set("content-range", contentRange, true);
}
return Promise.resolve(response);
}
case "data:": {
const currentURL = requestCurrentURL(request);
const dataURLStruct = dataURLProcessor(currentURL);
if (dataURLStruct === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
const mimeType = serializeAMimeType(dataURLStruct.mimeType);
return Promise.resolve(makeResponse({
statusText: "OK",
headersList: [
["content-type", { name: "Content-Type", value: mimeType }]
],
body: safelyExtractBody(dataURLStruct.body)[0]
}));
}
case "file:": {
return Promise.resolve(makeNetworkError("not implemented... yet..."));
}
case "http:":
case "https:": {
return httpFetch(fetchParams).catch((err2) => makeNetworkError(err2));
}
default: {
return Promise.resolve(makeNetworkError("unknown scheme"));
}
}
}
function finalizeResponse(fetchParams, response) {
fetchParams.request.done = true;
if (fetchParams.processResponseDone != null) {
queueMicrotask(() => fetchParams.processResponseDone(response));
}
}
function fetchFinale(fetchParams, response) {
let timingInfo = fetchParams.timingInfo;
const processResponseEndOfBody = () => {
const unsafeEndTime = Date.now();
if (fetchParams.request.destination === "document") {
fetchParams.controller.fullTimingInfo = timingInfo;
}
fetchParams.controller.reportTimingSteps = () => {
if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
return;
}
timingInfo.endTime = unsafeEndTime;
let cacheState = response.cacheState;
const bodyInfo = response.bodyInfo;
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo(timingInfo);
cacheState = "";
}
let responseStatus = 0;
if (fetchParams.request.mode !== "navigate" || !response.hasCrossOriginRedirects) {
responseStatus = response.status;
const mimeType = extractMimeType(response.headersList);
if (mimeType !== "failure") {
bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
}
}
if (fetchParams.request.initiatorType != null) {
markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
}
};
const processResponseEndOfBodyTask = () => {
fetchParams.request.done = true;
if (fetchParams.processResponseEndOfBody != null) {
queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
}
if (fetchParams.request.initiatorType != null) {
fetchParams.controller.reportTimingSteps();
}
};
queueMicrotask(() => processResponseEndOfBodyTask());
};
if (fetchParams.processResponse != null) {
queueMicrotask(() => {
fetchParams.processResponse(response);
fetchParams.processResponse = null;
});
}
const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
if (internalResponse.body == null) {
processResponseEndOfBody();
} else {
finished7(internalResponse.body.stream, () => {
processResponseEndOfBody();
});
}
}
async function httpFetch(fetchParams) {
const request = fetchParams.request;
let response = null;
let actualResponse = null;
const timingInfo = fetchParams.timingInfo;
if (request.serviceWorkers === "all") {
}
if (response === null) {
if (request.redirect === "follow") {
request.serviceWorkers = "none";
}
actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
return makeNetworkError("cors failure");
}
if (TAOCheck(request, response) === "failure") {
request.timingAllowFailed = true;
}
}
if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
request.origin,
request.client,
request.destination,
actualResponse
) === "blocked") {
return makeNetworkError("blocked");
}
if (redirectStatusSet.has(actualResponse.status)) {
if (request.redirect !== "manual") {
fetchParams.controller.connection.destroy(void 0, false);
}
if (request.redirect === "error") {
response = makeNetworkError("unexpected redirect");
} else if (request.redirect === "manual") {
response = actualResponse;
} else if (request.redirect === "follow") {
response = await httpRedirectFetch(fetchParams, response);
} else {
assert13(false);
}
}
response.timingInfo = timingInfo;
return response;
}
function httpRedirectFetch(fetchParams, response) {
const request = fetchParams.request;
const actualResponse = response.internalResponse ? response.internalResponse : response;
let locationURL;
try {
locationURL = responseLocationURL(
actualResponse,
requestCurrentURL(request).hash
);
if (locationURL == null) {
return response;
}
} catch (err2) {
return Promise.resolve(makeNetworkError(err2));
}
if (!urlIsHttpHttpsScheme(locationURL)) {
return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
}
if (request.redirectCount === 20) {
return Promise.resolve(makeNetworkError("redirect count exceeded"));
}
request.redirectCount += 1;
if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {
return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
}
if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
return Promise.resolve(makeNetworkError(
'URL cannot contain credentials for request mode "cors"'
));
}
if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {
return Promise.resolve(makeNetworkError());
}
if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) {
request.method = "GET";
request.body = null;
for (const headerName of requestBodyHeader) {
request.headersList.delete(headerName);
}
}
if (!sameOrigin(requestCurrentURL(request), locationURL)) {
request.headersList.delete("authorization", true);
request.headersList.delete("proxy-authorization", true);
request.headersList.delete("cookie", true);
request.headersList.delete("host", true);
}
if (request.body != null) {
assert13(request.body.source != null);
request.body = safelyExtractBody(request.body.source)[0];
}
const timingInfo = fetchParams.timingInfo;
timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
if (timingInfo.redirectStartTime === 0) {
timingInfo.redirectStartTime = timingInfo.startTime;
}
request.urlList.push(locationURL);
setRequestReferrerPolicyOnRedirect(request, actualResponse);
return mainFetch(fetchParams, true);
}
async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
const request = fetchParams.request;
let httpFetchParams = null;
let httpRequest = null;
let response = null;
const httpCache = null;
const revalidatingFlag = false;
if (request.window === "no-window" && request.redirect === "error") {
httpFetchParams = fetchParams;
httpRequest = request;
} else {
httpRequest = cloneRequest(request);
httpFetchParams = { ...fetchParams };
httpFetchParams.request = httpRequest;
}
const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";
const contentLength = httpRequest.body ? httpRequest.body.length : null;
let contentLengthHeaderValue = null;
if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
contentLengthHeaderValue = "0";
}
if (contentLength != null) {
contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
}
if (contentLengthHeaderValue != null && !httpRequest.headersList.contains("content-length", true)) {
httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
}
if (contentLength != null && httpRequest.keepalive) {
}
if (webidl.is.URL(httpRequest.referrer)) {
httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
}
appendRequestOriginHeader(httpRequest);
appendFetchMetadata(httpRequest);
if (!httpRequest.headersList.contains("user-agent", true)) {
httpRequest.headersList.append("user-agent", defaultUserAgent, true);
}
if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "max-age=0", true);
}
if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
if (!httpRequest.headersList.contains("pragma", true)) {
httpRequest.headersList.append("pragma", "no-cache", true);
}
if (!httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "no-cache", true);
}
}
if (httpRequest.headersList.contains("range", true)) {
httpRequest.headersList.append("accept-encoding", "identity", true);
}
if (!httpRequest.headersList.contains("accept-encoding", true)) {
if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
} else {
httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
}
}
httpRequest.headersList.delete("host", true);
if (includeCredentials) {
if (!httpRequest.headersList.contains("authorization", true)) {
let authorizationValue = null;
if (hasAuthenticationEntry(httpRequest) && (httpRequest.useURLCredentials === void 0 || !includesCredentials(requestCurrentURL(httpRequest)))) {
} else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
const { username, password } = requestCurrentURL(httpRequest);
authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
}
if (authorizationValue !== null) {
httpRequest.headersList.append("Authorization", authorizationValue, false);
}
}
}
if (httpCache == null) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
}
if (response == null) {
if (httpRequest.cache === "only-if-cached") {
return makeNetworkError("only if cached");
}
const forwardResponse = await httpNetworkFetch(
httpFetchParams,
includeCredentials,
isNewConnectionFetch
);
if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
}
if (revalidatingFlag && forwardResponse.status === 304) {
}
if (response == null) {
response = forwardResponse;
}
}
response.urlList = [...httpRequest.urlList];
if (httpRequest.headersList.contains("range", true)) {
response.rangeRequested = true;
}
response.requestIncludesCredentials = includeCredentials;
if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && (request.useURLCredentials !== void 0 || isTraversableNavigable(request.traversableForUserPrompts))) {
if (request.body != null) {
if (request.body.source == null) {
return response;
}
request.body = safelyExtractBody(request.body.source)[0];
}
if (request.useURLCredentials === void 0 || isAuthenticationFetch) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return response;
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(fetchParams, true);
}
if (response.status === 407) {
if (request.window === "no-window") {
return makeNetworkError();
}
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return makeNetworkError("proxy authentication required");
}
if (
// response’s status is 421
response.status === 421 && // isNewConnectionFetch is false
!isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
(request.body == null || request.body.source != null)
) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(
fetchParams,
isAuthenticationFetch,
true
);
}
if (isAuthenticationFetch) {
}
return response;
}
async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
assert13(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
fetchParams.controller.connection = {
abort: null,
destroyed: false,
destroy(err2, abort = true) {
if (!this.destroyed) {
this.destroyed = true;
if (abort) {
this.abort?.(err2 ?? new DOMException("The operation was aborted.", "AbortError"));
}
}
}
};
const request = fetchParams.request;
let response = null;
const timingInfo = fetchParams.timingInfo;
const httpCache = null;
if (httpCache == null) {
request.cache = "no-store";
}
const newConnection = forceNewConnection ? "yes" : "no";
if (request.mode === "websocket") {
} else {
}
let requestBody = null;
if (request.body == null && fetchParams.processRequestEndOfBody) {
queueMicrotask(() => fetchParams.processRequestEndOfBody());
} else if (request.body != null) {
const processBodyChunk = async function* (bytes) {
if (isCancelled(fetchParams)) {
return;
}
yield bytes;
fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
};
const processEndOfBody = () => {
if (isCancelled(fetchParams)) {
return;
}
if (fetchParams.processRequestEndOfBody) {
fetchParams.processRequestEndOfBody();
}
};
const processBodyError = (e) => {
if (isCancelled(fetchParams)) {
return;
}
if (e.name === "AbortError") {
fetchParams.controller.abort();
} else {
fetchParams.controller.terminate(e);
}
};
requestBody = (async function* () {
try {
for await (const bytes of request.body.stream) {
yield* processBodyChunk(bytes);
}
processEndOfBody();
} catch (err2) {
processBodyError(err2);
}
})();
}
try {
const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
if (socket) {
response = makeResponse({ status, statusText, headersList, socket });
} else {
const iterator = body[Symbol.asyncIterator]();
fetchParams.controller.next = () => iterator.next();
response = makeResponse({ status, statusText, headersList });
}
} catch (err2) {
if (err2.name === "AbortError") {
fetchParams.controller.connection.destroy();
return makeAppropriateNetworkError(fetchParams, err2);
}
return makeNetworkError(err2);
}
const pullAlgorithm = () => {
return fetchParams.controller.resume();
};
const cancelAlgorithm = (reason) => {
if (!isCancelled(fetchParams)) {
fetchParams.controller.abort(reason);
}
};
const stream2 = new ReadableStream(
{
start(controller) {
fetchParams.controller.controller = controller;
},
pull: pullAlgorithm,
cancel: cancelAlgorithm,
type: "bytes"
}
);
response.body = { stream: stream2, source: null, length: null };
if (!fetchParams.controller.resume) {
fetchParams.controller.on("terminated", onAborted);
}
fetchParams.controller.resume = async () => {
while (true) {
let bytes;
let isFailure;
try {
const { done, value } = await fetchParams.controller.next();
if (isAborted(fetchParams)) {
break;
}
bytes = done ? void 0 : value;
} catch (err2) {
if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
bytes = void 0;
} else {
bytes = err2;
isFailure = true;
}
}
if (bytes === void 0) {
readableStreamClose(fetchParams.controller.controller);
finalizeResponse(fetchParams, response);
return;
}
timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
if (isFailure) {
fetchParams.controller.terminate(bytes);
return;
}
const buffer3 = new Uint8Array(bytes);
if (buffer3.byteLength) {
fetchParams.controller.controller.enqueue(buffer3);
}
if (isErrored(stream2)) {
fetchParams.controller.terminate();
return;
}
if (fetchParams.controller.controller.desiredSize <= 0) {
return;
}
}
};
function onAborted(reason) {
if (isAborted(fetchParams)) {
response.aborted = true;
if (isReadable(stream2)) {
fetchParams.controller.controller.error(
fetchParams.controller.serializedAbortReason
);
}
} else {
if (isReadable(stream2)) {
fetchParams.controller.controller.error(new TypeError("terminated", {
cause: isErrorLike(reason) ? reason : void 0
}));
}
}
fetchParams.controller.connection.destroy();
}
return response;
function dispatch({ body }) {
const url7 = requestCurrentURL(request);
const agent = fetchParams.controller.dispatcher;
const path236 = url7.pathname + url7.search;
const hasTrailingQuestionMark = url7.search.length === 0 && url7.href[url7.href.length - url7.hash.length - 1] === "?";
return new Promise((resolve4, reject3) => agent.dispatch(
{
path: hasTrailingQuestionMark ? `${path236}?` : path236,
origin: url7.origin,
method: request.method,
body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
headers: request.headersList.entries,
maxRedirections: 0,
upgrade: request.mode === "websocket" ? "websocket" : void 0
},
{
body: null,
abort: null,
onConnect(abort) {
const { connection } = fetchParams.controller;
timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
if (connection.destroyed) {
abort(new DOMException("The operation was aborted.", "AbortError"));
} else {
fetchParams.controller.on("terminated", abort);
this.abort = connection.abort = abort;
}
timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onResponseStarted() {
timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onHeaders(status, rawHeaders, resume, statusText) {
if (status < 200) {
return false;
}
const headersList = new HeadersList();
for (let i4 = 0; i4 < rawHeaders.length; i4 += 2) {
const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i4]);
const value = rawHeaders[i4 + 1];
if (Array.isArray(value) && !Buffer.isBuffer(rawHeaders[i4 + 1])) {
for (const val of value) {
headersList.append(nameStr, val.toString("latin1"), true);
}
} else {
headersList.append(nameStr, value.toString("latin1"), true);
}
}
const location = headersList.get("location", true);
this.body = new Readable4({ read: resume });
const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status);
const decoders = [];
if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
const contentEncoding = headersList.get("content-encoding", true);
const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
const maxContentEncodings = 5;
if (codings.length > maxContentEncodings) {
reject3(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
return true;
}
for (let i4 = codings.length - 1; i4 >= 0; --i4) {
const coding = codings[i4].trim();
if (coding === "x-gzip" || coding === "gzip") {
decoders.push(zlib2.createGunzip({
// Be less strict when decoding compressed responses, since sometimes
// servers send slightly invalid responses that are still accepted
// by common browsers.
// Always using Z_SYNC_FLUSH is what cURL does.
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "deflate") {
decoders.push(createInflate({
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "br") {
decoders.push(zlib2.createBrotliDecompress({
flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
}));
} else if (coding === "zstd" && hasZstd) {
decoders.push(zlib2.createZstdDecompress({
flush: zlib2.constants.ZSTD_e_continue,
finishFlush: zlib2.constants.ZSTD_e_end
}));
} else {
decoders.length = 0;
break;
}
}
}
const onError = this.onError.bind(this);
resolve4({
status,
statusText,
headersList,
body: decoders.length ? pipeline2(this.body, ...decoders, (err2) => {
if (err2) {
this.onError(err2);
}
}).on("error", onError) : this.body.on("error", onError)
});
return true;
},
onData(chunk) {
if (fetchParams.controller.dump) {
return;
}
const bytes = chunk;
timingInfo.encodedBodySize += bytes.byteLength;
return this.body.push(bytes);
},
onComplete() {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
fetchParams.controller.ended = true;
this.body.push(null);
},
onError(error) {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
this.body?.destroy(error);
fetchParams.controller.terminate(error);
reject3(error);
},
onRequestUpgrade(_controller, status, headers, socket) {
if (socket.session != null && status !== 200 || socket.session == null && status !== 101) {
return false;
}
const headersList = new HeadersList();
for (const [name, value] of Object.entries(headers)) {
if (value == null) {
continue;
}
const headerName = name.toLowerCase();
if (Array.isArray(value)) {
for (const entry of value) {
headersList.append(headerName, String(entry), true);
}
} else {
headersList.append(headerName, String(value), true);
}
}
resolve4({
status,
statusText: STATUS_CODES[status],
headersList,
socket
});
return true;
},
onUpgrade(status, rawHeaders, socket) {
if (socket.session != null && status !== 200 || socket.session == null && status !== 101) {
return false;
}
const headersList = new HeadersList();
for (let i4 = 0; i4 < rawHeaders.length; i4 += 2) {
const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i4]);
const value = rawHeaders[i4 + 1];
if (Array.isArray(value) && !Buffer.isBuffer(rawHeaders[i4 + 1])) {
for (const val of value) {
headersList.append(nameStr, val.toString("latin1"), true);
}
} else {
headersList.append(nameStr, value.toString("latin1"), true);
}
}
resolve4({
status,
statusText: STATUS_CODES[status],
headersList,
socket
});
return true;
}
}
));
}
}
module2.exports = {
fetch: fetch2,
Fetch,
fetching,
finalizeAndReportTiming
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/util.js
var require_util6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { URLSerializer } = require_data_url();
var { isValidHeaderName } = require_util5();
function urlEquals(A2, B, excludeFragment = false) {
const serializedA = URLSerializer(A2, excludeFragment);
const serializedB = URLSerializer(B, excludeFragment);
return serializedA === serializedB;
}
function getFieldValues(header) {
assert13(header !== null);
const values = [];
for (let value of header.split(",")) {
value = value.trim();
if (isValidHeaderName(value)) {
values.push(value);
}
}
return values;
}
module2.exports = {
urlEquals,
getFieldValues
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/cache.js
var require_cache3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
"use strict";
var assert13 = __require("node:assert");
var { kConstruct } = require_symbols();
var { urlEquals, getFieldValues } = require_util6();
var { kEnumerableProperty, isDisturbed } = require_util4();
var { webidl } = require_webidl();
var { cloneResponse, fromInnerResponse, getResponseState } = require_response();
var { Request, fromInnerRequest, getRequestState } = require_request2();
var { fetching } = require_fetch();
var { urlIsHttpHttpsScheme, readAllBytes } = require_util5();
var { createDeferredPromise } = require_promise();
var Cache = class _Cache {
/**
* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
* @type {requestResponseList}
*/
#relevantRequestResponseList;
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
this.#relevantRequestResponseList = arguments[1];
}
async match(request, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.match";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
const p = this.#internalMatchAll(request, options, 1);
if (p.length === 0) {
return;
}
return p[0];
}
async matchAll(request = void 0, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.matchAll";
if (request !== void 0) request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
return this.#internalMatchAll(request, options);
}
async add(request) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.add";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
const requests = [request];
const responseArrayPromise = this.addAll(requests);
return await responseArrayPromise;
}
async addAll(requests) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.addAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
const responsePromises = [];
const requestList = [];
for (let request of requests) {
if (request === void 0) {
throw webidl.errors.conversionFailed({
prefix,
argument: "Argument 1",
types: ["undefined is not allowed"]
});
}
request = webidl.converters.RequestInfo(request);
if (typeof request === "string") {
continue;
}
const r = getRequestState(request);
if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme when method is not GET."
});
}
}
const fetchControllers = [];
for (const request of requests) {
const r = getRequestState(new Request(request));
if (!urlIsHttpHttpsScheme(r.url)) {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme."
});
}
r.initiator = "fetch";
r.destination = "subresource";
requestList.push(r);
const responsePromise = createDeferredPromise();
fetchControllers.push(fetching({
request: r,
processResponse(response) {
if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "Received an invalid status code or the request failed."
}));
} else if (response.headersList.contains("vary")) {
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "invalid vary field value"
}));
for (const controller of fetchControllers) {
controller.abort();
}
return;
}
}
}
},
processResponseEndOfBody(response) {
if (response.aborted) {
responsePromise.reject(new DOMException("aborted", "AbortError"));
return;
}
responsePromise.resolve(response);
}
}));
responsePromises.push(responsePromise.promise);
}
const p = Promise.all(responsePromises);
const responses = await p;
const operations = [];
let index2 = 0;
for (const response of responses) {
const operation5 = {
type: "put",
// 7.3.2
request: requestList[index2],
// 7.3.3
response
// 7.3.4
};
operations.push(operation5);
index2++;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(void 0);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async put(request, response) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.put";
webidl.argumentLengthCheck(arguments, 2, prefix);
request = webidl.converters.RequestInfo(request);
response = webidl.converters.Response(response, prefix, "response");
let innerRequest = null;
if (webidl.is.Request(request)) {
innerRequest = getRequestState(request);
} else {
innerRequest = getRequestState(new Request(request));
}
if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected an http/s scheme when method is not GET"
});
}
const innerResponse = getResponseState(response);
if (innerResponse.status === 206) {
throw webidl.errors.exception({
header: prefix,
message: "Got 206 status"
});
}
if (innerResponse.headersList.contains("vary")) {
const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
throw webidl.errors.exception({
header: prefix,
message: "Got * vary field value"
});
}
}
}
if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
throw webidl.errors.exception({
header: prefix,
message: "Response body is locked or disturbed"
});
}
const clonedResponse = cloneResponse(innerResponse);
const bodyReadPromise = createDeferredPromise();
if (innerResponse.body != null) {
const stream2 = innerResponse.body.stream;
const reader = stream2.getReader();
readAllBytes(reader, bodyReadPromise.resolve, bodyReadPromise.reject);
} else {
bodyReadPromise.resolve(void 0);
}
const operations = [];
const operation5 = {
type: "put",
// 14.
request: innerRequest,
// 15.
response: clonedResponse
// 16.
};
operations.push(operation5);
const bytes = await bodyReadPromise.promise;
if (clonedResponse.body != null) {
clonedResponse.body.source = bytes;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve();
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async delete(request, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r = null;
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return false;
}
} else {
assert13(typeof request === "string");
r = getRequestState(new Request(request));
}
const operations = [];
const operation5 = {
type: "delete",
request: r,
options
};
operations.push(operation5);
const cacheJobPromise = createDeferredPromise();
let errorData = null;
let requestResponses;
try {
requestResponses = this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(!!requestResponses?.length);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
/**
* @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
* @param {any} request
* @param {import('../../../types/cache').CacheQueryOptions} options
* @returns {Promise<readonly Request[]>}
*/
async keys(request = void 0, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.keys";
if (request !== void 0) request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r = null;
if (request !== void 0) {
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r = getRequestState(new Request(request));
}
}
const promise2 = createDeferredPromise();
const requests = [];
if (request === void 0) {
for (const requestResponse of this.#relevantRequestResponseList) {
requests.push(requestResponse[0]);
}
} else {
const requestResponses = this.#queryCache(r, options);
for (const requestResponse of requestResponses) {
requests.push(requestResponse[0]);
}
}
queueMicrotask(() => {
const requestList = [];
for (const request2 of requests) {
const requestObject = fromInnerRequest(
request2,
void 0,
new AbortController().signal,
"immutable"
);
requestList.push(requestObject);
}
promise2.resolve(Object.freeze(requestList));
});
return promise2.promise;
}
/**
* @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
* @param {CacheBatchOperation[]} operations
* @returns {requestResponseList}
*/
#batchCacheOperations(operations) {
const cache = this.#relevantRequestResponseList;
const backupCache = [...cache];
const addedItems = [];
const resultList = [];
try {
for (const operation5 of operations) {
if (operation5.type !== "delete" && operation5.type !== "put") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: 'operation type does not match "delete" or "put"'
});
}
if (operation5.type === "delete" && operation5.response != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "delete operation should not have an associated response"
});
}
if (this.#queryCache(operation5.request, operation5.options, addedItems).length) {
throw new DOMException("???", "InvalidStateError");
}
let requestResponses;
if (operation5.type === "delete") {
requestResponses = this.#queryCache(operation5.request, operation5.options);
if (requestResponses.length === 0) {
return [];
}
for (const requestResponse of requestResponses) {
const idx = cache.indexOf(requestResponse);
assert13(idx !== -1);
cache.splice(idx, 1);
}
} else if (operation5.type === "put") {
if (operation5.response == null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "put operation should have an associated response"
});
}
const r = operation5.request;
if (!urlIsHttpHttpsScheme(r.url)) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "expected http or https scheme"
});
}
if (r.method !== "GET") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "not get method"
});
}
if (operation5.options != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "options must not be defined"
});
}
requestResponses = this.#queryCache(operation5.request);
for (const requestResponse of requestResponses) {
const idx = cache.indexOf(requestResponse);
assert13(idx !== -1);
cache.splice(idx, 1);
}
cache.push([operation5.request, operation5.response]);
addedItems.push([operation5.request, operation5.response]);
}
resultList.push([operation5.request, operation5.response]);
}
return resultList;
} catch (e) {
this.#relevantRequestResponseList.length = 0;
this.#relevantRequestResponseList = backupCache;
throw e;
}
}
/**
* @see https://w3c.github.io/ServiceWorker/#query-cache
* @param {any} requestQuery
* @param {import('../../../types/cache').CacheQueryOptions} options
* @param {requestResponseList} targetStorage
* @returns {requestResponseList}
*/
#queryCache(requestQuery, options, targetStorage) {
const resultList = [];
const storage = targetStorage ?? this.#relevantRequestResponseList;
for (const requestResponse of storage) {
const [cachedRequest, cachedResponse] = requestResponse;
if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
resultList.push(requestResponse);
}
}
return resultList;
}
/**
* @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
* @param {any} requestQuery
* @param {any} request
* @param {any | null} response
* @param {import('../../../types/cache').CacheQueryOptions | undefined} options
* @returns {boolean}
*/
#requestMatchesCachedItem(requestQuery, request, response = null, options) {
const queryURL = new URL(requestQuery.url);
const cachedURL = new URL(request.url);
if (options?.ignoreSearch) {
cachedURL.search = "";
queryURL.search = "";
}
if (!urlEquals(queryURL, cachedURL, true)) {
return false;
}
if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
return true;
}
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
return false;
}
const requestValue = request.headersList.get(fieldValue);
const queryValue = requestQuery.headersList.get(fieldValue);
if (requestValue !== queryValue) {
return false;
}
}
return true;
}
#internalMatchAll(request, options, maxResponses = Infinity) {
let r = null;
if (request !== void 0) {
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r = getRequestState(new Request(request));
}
}
const responses = [];
if (request === void 0) {
for (const requestResponse of this.#relevantRequestResponseList) {
responses.push(requestResponse[1]);
}
} else {
const requestResponses = this.#queryCache(r, options);
for (const requestResponse of requestResponses) {
responses.push(requestResponse[1]);
}
}
const responseList = [];
for (const response of responses) {
const responseObject = fromInnerResponse(cloneResponse(response), "immutable");
responseList.push(responseObject);
if (responseList.length >= maxResponses) {
break;
}
}
return Object.freeze(responseList);
}
};
Object.defineProperties(Cache.prototype, {
[Symbol.toStringTag]: {
value: "Cache",
configurable: true
},
match: kEnumerableProperty,
matchAll: kEnumerableProperty,
add: kEnumerableProperty,
addAll: kEnumerableProperty,
put: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
var cacheQueryOptionConverters = [
{
key: "ignoreSearch",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreMethod",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreVary",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
...cacheQueryOptionConverters,
{
key: "cacheName",
converter: webidl.converters.DOMString
}
]);
webidl.converters.Response = webidl.interfaceConverter(
webidl.is.Response,
"Response"
);
webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter(
webidl.converters.RequestInfo
);
module2.exports = {
Cache
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/cachestorage.js
var require_cachestorage = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
"use strict";
var { Cache } = require_cache3();
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util4();
var { kConstruct } = require_symbols();
var CacheStorage = class _CacheStorage {
/**
* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
* @type {Map<string, import('./cache').requestResponseList}
*/
#caches = /* @__PURE__ */ new Map();
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
}
async match(request, options = {}) {
webidl.brandCheck(this, _CacheStorage);
webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
request = webidl.converters.RequestInfo(request);
options = webidl.converters.MultiCacheQueryOptions(options);
if (options.cacheName != null) {
if (this.#caches.has(options.cacheName)) {
const cacheList2 = this.#caches.get(options.cacheName);
const cache = new Cache(kConstruct, cacheList2);
return await cache.match(request, options);
}
} else {
for (const cacheList2 of this.#caches.values()) {
const cache = new Cache(kConstruct, cacheList2);
const response = await cache.match(request, options);
if (response !== void 0) {
return response;
}
}
}
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-has
* @param {string} cacheName
* @returns {Promise<boolean>}
*/
async has(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.has(cacheName);
}
/**
* @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
* @param {string} cacheName
* @returns {Promise<Cache>}
*/
async open(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.open";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
if (this.#caches.has(cacheName)) {
const cache2 = this.#caches.get(cacheName);
return new Cache(kConstruct, cache2);
}
const cache = [];
this.#caches.set(cacheName, cache);
return new Cache(kConstruct, cache);
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
* @param {string} cacheName
* @returns {Promise<boolean>}
*/
async delete(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.delete(cacheName);
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
* @returns {Promise<string[]>}
*/
async keys() {
webidl.brandCheck(this, _CacheStorage);
const keys4 = this.#caches.keys();
return [...keys4];
}
};
Object.defineProperties(CacheStorage.prototype, {
[Symbol.toStringTag]: {
value: "CacheStorage",
configurable: true
},
match: kEnumerableProperty,
has: kEnumerableProperty,
open: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
module2.exports = {
CacheStorage
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/constants.js
var require_constants14 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
"use strict";
var maxAttributeValueSize = 1024;
var maxNameValuePairSize = 4096;
module2.exports = {
maxAttributeValueSize,
maxNameValuePairSize
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/util.js
var require_util7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
"use strict";
function isCTLExcludingHtab(value) {
for (let i4 = 0; i4 < value.length; ++i4) {
const code = value.charCodeAt(i4);
if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
return true;
}
}
return false;
}
function validateCookieName(name) {
for (let i4 = 0; i4 < name.length; ++i4) {
const code = name.charCodeAt(i4);
if (code < 33 || // exclude CTLs (0-31), SP and HT
code > 126 || // exclude non-ascii and DEL
code === 34 || // "
code === 40 || // (
code === 41 || // )
code === 60 || // <
code === 62 || // >
code === 64 || // @
code === 44 || // ,
code === 59 || // ;
code === 58 || // :
code === 92 || // \
code === 47 || // /
code === 91 || // [
code === 93 || // ]
code === 63 || // ?
code === 61 || // =
code === 123 || // {
code === 125) {
throw new Error("Invalid cookie name");
}
}
}
function validateCookieValue(value) {
let len = value.length;
let i4 = 0;
if (value[0] === '"') {
if (len === 1 || value[len - 1] !== '"') {
throw new Error("Invalid cookie value");
}
--len;
++i4;
}
while (i4 < len) {
const code = value.charCodeAt(i4++);
if (code < 33 || // exclude CTLs (0-31)
code > 126 || // non-ascii and DEL (127)
code === 34 || // "
code === 44 || // ,
code === 59 || // ;
code === 92) {
throw new Error("Invalid cookie value");
}
}
}
function validateCookiePath(path236) {
for (let i4 = 0; i4 < path236.length; ++i4) {
const code = path236.charCodeAt(i4);
if (code < 32 || // exclude CTLs (0-31)
code === 127 || // DEL
code === 59) {
throw new Error("Invalid cookie path");
}
}
}
function validateCookieDomain(domain) {
if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
throw new Error("Invalid cookie domain");
}
}
var IMFDays = [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
];
var IMFMonths = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
];
var IMFPaddedNumbers = Array(61).fill(0).map((_, i4) => i4.toString().padStart(2, "0"));
function toIMFDate(date) {
if (typeof date === "number") {
date = new Date(date);
}
return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
}
function validateCookieMaxAge(maxAge) {
if (maxAge < 0) {
throw new Error("Invalid cookie max-age");
}
}
function stringify2(cookie) {
if (cookie.name.length === 0) {
return null;
}
validateCookieName(cookie.name);
validateCookieValue(cookie.value);
const out = [`${cookie.name}=${cookie.value}`];
if (cookie.name.startsWith("__Secure-")) {
cookie.secure = true;
}
if (cookie.name.startsWith("__Host-")) {
cookie.secure = true;
cookie.domain = null;
cookie.path = "/";
}
if (cookie.secure) {
out.push("Secure");
}
if (cookie.httpOnly) {
out.push("HttpOnly");
}
if (typeof cookie.maxAge === "number") {
validateCookieMaxAge(cookie.maxAge);
out.push(`Max-Age=${cookie.maxAge}`);
}
if (cookie.domain) {
validateCookieDomain(cookie.domain);
out.push(`Domain=${cookie.domain}`);
}
if (cookie.path) {
validateCookiePath(cookie.path);
out.push(`Path=${cookie.path}`);
}
if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
out.push(`Expires=${toIMFDate(cookie.expires)}`);
}
if (cookie.sameSite) {
out.push(`SameSite=${cookie.sameSite}`);
}
for (const part of cookie.unparsed) {
if (!part.includes("=")) {
throw new Error("Invalid unparsed");
}
const [key, ...value] = part.split("=");
out.push(`${key.trim()}=${value.join("=")}`);
}
return out.join("; ");
}
module2.exports = {
isCTLExcludingHtab,
validateCookieName,
validateCookiePath,
validateCookieValue,
toIMFDate,
stringify: stringify2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/parse.js
var require_parse8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
"use strict";
var { collectASequenceOfCodePointsFast } = require_infra();
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants14();
var { isCTLExcludingHtab } = require_util7();
var assert13 = __require("node:assert");
function parseSetCookie(header) {
if (isCTLExcludingHtab(header)) {
return null;
}
let nameValuePair = "";
let unparsedAttributes = "";
let name = "";
let value = "";
if (header.includes(";")) {
const position3 = { position: 0 };
nameValuePair = collectASequenceOfCodePointsFast(";", header, position3);
unparsedAttributes = header.slice(position3.position);
} else {
nameValuePair = header;
}
if (!nameValuePair.includes("=")) {
value = nameValuePair;
} else {
const position3 = { position: 0 };
name = collectASequenceOfCodePointsFast(
"=",
nameValuePair,
position3
);
value = nameValuePair.slice(position3.position + 1);
}
name = name.trim();
value = value.trim();
if (name.length + value.length > maxNameValuePairSize) {
return null;
}
return {
name,
value,
...parseUnparsedAttributes(unparsedAttributes)
};
}
function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
if (unparsedAttributes.length === 0) {
return cookieAttributeList;
}
assert13(unparsedAttributes[0] === ";");
unparsedAttributes = unparsedAttributes.slice(1);
let cookieAv = "";
if (unparsedAttributes.includes(";")) {
cookieAv = collectASequenceOfCodePointsFast(
";",
unparsedAttributes,
{ position: 0 }
);
unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
} else {
cookieAv = unparsedAttributes;
unparsedAttributes = "";
}
let attributeName = "";
let attributeValue = "";
if (cookieAv.includes("=")) {
const position3 = { position: 0 };
attributeName = collectASequenceOfCodePointsFast(
"=",
cookieAv,
position3
);
attributeValue = cookieAv.slice(position3.position + 1);
} else {
attributeName = cookieAv;
}
attributeName = attributeName.trim();
attributeValue = attributeValue.trim();
if (attributeValue.length > maxAttributeValueSize) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const attributeNameLowercase = attributeName.toLowerCase();
if (attributeNameLowercase === "expires") {
const expiryTime = new Date(attributeValue);
cookieAttributeList.expires = expiryTime;
} else if (attributeNameLowercase === "max-age") {
const charCode = attributeValue.charCodeAt(0);
if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
if (!/^\d+$/.test(attributeValue)) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const deltaSeconds = Number(attributeValue);
cookieAttributeList.maxAge = deltaSeconds;
} else if (attributeNameLowercase === "domain") {
let cookieDomain = attributeValue;
if (cookieDomain[0] === ".") {
cookieDomain = cookieDomain.slice(1);
}
cookieDomain = cookieDomain.toLowerCase();
cookieAttributeList.domain = cookieDomain;
} else if (attributeNameLowercase === "path") {
let cookiePath = "";
if (attributeValue.length === 0 || attributeValue[0] !== "/") {
cookiePath = "/";
} else {
cookiePath = attributeValue;
}
cookieAttributeList.path = cookiePath;
} else if (attributeNameLowercase === "secure") {
cookieAttributeList.secure = true;
} else if (attributeNameLowercase === "httponly") {
cookieAttributeList.httpOnly = true;
} else if (attributeNameLowercase === "samesite") {
const attributeValueLowercase = attributeValue.toLowerCase();
if (attributeValueLowercase === "none") {
cookieAttributeList.sameSite = "None";
} else if (attributeValueLowercase === "strict") {
cookieAttributeList.sameSite = "Strict";
} else if (attributeValueLowercase === "lax") {
cookieAttributeList.sameSite = "Lax";
}
} else {
cookieAttributeList.unparsed ??= [];
cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
}
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
module2.exports = {
parseSetCookie,
parseUnparsedAttributes
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/index.js
var require_cookies = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
"use strict";
var { parseSetCookie } = require_parse8();
var { stringify: stringify2 } = require_util7();
var { webidl } = require_webidl();
var { Headers: Headers2 } = require_headers();
var brandChecks = webidl.brandCheckMultiple([Headers2, globalThis.Headers].filter(Boolean));
function getCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getCookies");
brandChecks(headers);
const cookie = headers.get("cookie");
const out = {};
if (!cookie) {
return out;
}
for (const piece of cookie.split(";")) {
const [name, ...value] = piece.split("=");
out[name.trim()] = value.join("=");
}
return out;
}
function deleteCookie(headers, name, attributes) {
brandChecks(headers);
const prefix = "deleteCookie";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.DOMString(name, prefix, "name");
attributes = webidl.converters.DeleteCookieAttributes(attributes);
setCookie(headers, {
name,
value: "",
expires: /* @__PURE__ */ new Date(0),
...attributes
});
}
function getSetCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
brandChecks(headers);
const cookies = headers.getSetCookie();
if (!cookies) {
return [];
}
return cookies.map((pair) => parseSetCookie(pair));
}
function parseCookie(cookie) {
cookie = webidl.converters.DOMString(cookie);
return parseSetCookie(cookie);
}
function setCookie(headers, cookie) {
webidl.argumentLengthCheck(arguments, 2, "setCookie");
brandChecks(headers);
cookie = webidl.converters.Cookie(cookie);
const str2 = stringify2(cookie);
if (str2) {
headers.append("set-cookie", str2, true);
}
}
webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
}
]);
webidl.converters.Cookie = webidl.dictionaryConverter([
{
converter: webidl.converters.DOMString,
key: "name"
},
{
converter: webidl.converters.DOMString,
key: "value"
},
{
converter: webidl.nullableConverter((value) => {
if (typeof value === "number") {
return webidl.converters["unsigned long long"](value);
}
return new Date(value);
}),
key: "expires",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters["long long"]),
key: "maxAge",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "secure",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "httpOnly",
defaultValue: () => null
},
{
converter: webidl.converters.USVString,
key: "sameSite",
allowedValues: ["Strict", "Lax", "None"]
},
{
converter: webidl.sequenceConverter(webidl.converters.DOMString),
key: "unparsed",
defaultValue: () => []
}
]);
module2.exports = {
getCookies,
deleteCookie,
getSetCookies,
setCookie,
parseCookie
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/events.js
var require_events = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util4();
var { kConstruct } = require_symbols();
var MessageEvent = class _MessageEvent extends Event {
#eventInit;
constructor(type4, eventInitDict = {}) {
if (type4 === kConstruct) {
super(arguments[1], arguments[2]);
webidl.util.markAsUncloneable(this);
return;
}
const prefix = "MessageEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type4 = webidl.converters.DOMString(type4, prefix, "type");
eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
super(type4, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get data() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.data;
}
get origin() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.origin;
}
get lastEventId() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.lastEventId;
}
get source() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.source;
}
get ports() {
webidl.brandCheck(this, _MessageEvent);
if (!Object.isFrozen(this.#eventInit.ports)) {
Object.freeze(this.#eventInit.ports);
}
return this.#eventInit.ports;
}
initMessageEvent(type4, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
webidl.brandCheck(this, _MessageEvent);
webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
return new _MessageEvent(type4, {
bubbles,
cancelable,
data,
origin,
lastEventId,
source,
ports
});
}
static createFastMessageEvent(type4, init2) {
const messageEvent = new _MessageEvent(kConstruct, type4, init2);
messageEvent.#eventInit = init2;
messageEvent.#eventInit.data ??= null;
messageEvent.#eventInit.origin ??= "";
messageEvent.#eventInit.lastEventId ??= "";
messageEvent.#eventInit.source ??= null;
messageEvent.#eventInit.ports ??= [];
return messageEvent;
}
};
var { createFastMessageEvent } = MessageEvent;
delete MessageEvent.createFastMessageEvent;
var CloseEvent = class _CloseEvent extends Event {
#eventInit;
constructor(type4, eventInitDict = {}) {
const prefix = "CloseEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type4 = webidl.converters.DOMString(type4, prefix, "type");
eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
super(type4, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get wasClean() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.wasClean;
}
get code() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.code;
}
get reason() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.reason;
}
};
var ErrorEvent = class _ErrorEvent extends Event {
#eventInit;
constructor(type4, eventInitDict) {
const prefix = "ErrorEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
super(type4, eventInitDict);
webidl.util.markAsUncloneable(this);
type4 = webidl.converters.DOMString(type4, prefix, "type");
eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
this.#eventInit = eventInitDict;
}
get message() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.message;
}
get filename() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.filename;
}
get lineno() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.lineno;
}
get colno() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.colno;
}
get error() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.error;
}
};
Object.defineProperties(MessageEvent.prototype, {
[Symbol.toStringTag]: {
value: "MessageEvent",
configurable: true
},
data: kEnumerableProperty,
origin: kEnumerableProperty,
lastEventId: kEnumerableProperty,
source: kEnumerableProperty,
ports: kEnumerableProperty,
initMessageEvent: kEnumerableProperty
});
Object.defineProperties(CloseEvent.prototype, {
[Symbol.toStringTag]: {
value: "CloseEvent",
configurable: true
},
reason: kEnumerableProperty,
code: kEnumerableProperty,
wasClean: kEnumerableProperty
});
Object.defineProperties(ErrorEvent.prototype, {
[Symbol.toStringTag]: {
value: "ErrorEvent",
configurable: true
},
message: kEnumerableProperty,
filename: kEnumerableProperty,
lineno: kEnumerableProperty,
colno: kEnumerableProperty,
error: kEnumerableProperty
});
webidl.converters.MessagePort = webidl.interfaceConverter(
webidl.is.MessagePort,
"MessagePort"
);
webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter(
webidl.converters.MessagePort
);
var eventInit = [
{
key: "bubbles",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "cancelable",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "composed",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.MessageEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "data",
converter: webidl.converters.any,
defaultValue: () => null
},
{
key: "origin",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lastEventId",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "source",
// Node doesn't implement WindowProxy or ServiceWorker, so the only
// valid value for source is a MessagePort.
converter: webidl.nullableConverter(webidl.converters.MessagePort),
defaultValue: () => null
},
{
key: "ports",
converter: webidl.converters["sequence<MessagePort>"],
defaultValue: () => []
}
]);
webidl.converters.CloseEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "wasClean",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "code",
converter: webidl.converters["unsigned short"],
defaultValue: () => 0
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "message",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "filename",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lineno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "colno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "error",
converter: webidl.converters.any
}
]);
module2.exports = {
MessageEvent,
CloseEvent,
ErrorEvent,
createFastMessageEvent
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/constants.js
var require_constants15 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
"use strict";
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
var staticPropertyDescriptors = {
enumerable: true,
writable: false,
configurable: false
};
var states = {
CONNECTING: 0,
OPEN: 1,
CLOSING: 2,
CLOSED: 3
};
var sentCloseFrameState = {
SENT: 1,
RECEIVED: 2
};
var opcodes = {
CONTINUATION: 0,
TEXT: 1,
BINARY: 2,
CLOSE: 8,
PING: 9,
PONG: 10
};
var maxUnsigned16Bit = 65535;
var parserStates = {
INFO: 0,
PAYLOADLENGTH_16: 2,
PAYLOADLENGTH_64: 3,
READ_DATA: 4
};
var emptyBuffer = Buffer.allocUnsafe(0);
var sendHints = {
text: 1,
typedArray: 2,
arrayBuffer: 3,
blob: 4
};
module2.exports = {
uid,
sentCloseFrameState,
staticPropertyDescriptors,
states,
opcodes,
maxUnsigned16Bit,
parserStates,
emptyBuffer,
sendHints
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/util.js
var require_util8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
"use strict";
var { states, opcodes } = require_constants15();
var { isUtf8 } = __require("node:buffer");
var { removeHTTPWhitespace } = require_data_url();
var { collectASequenceOfCodePointsFast } = require_infra();
function isConnecting(readyState) {
return readyState === states.CONNECTING;
}
function isEstablished(readyState) {
return readyState === states.OPEN;
}
function isClosing(readyState) {
return readyState === states.CLOSING;
}
function isClosed(readyState) {
return readyState === states.CLOSED;
}
function fireEvent(e, target2, eventFactory = (type4, init2) => new Event(type4, init2), eventInitDict = {}) {
const event = eventFactory(e, eventInitDict);
target2.dispatchEvent(event);
}
function websocketMessageReceived(handler82, type4, data) {
handler82.onMessage(type4, data);
}
function toArrayBuffer(buffer3) {
if (buffer3.byteLength === buffer3.buffer.byteLength) {
return buffer3.buffer;
}
return new Uint8Array(buffer3).buffer;
}
function isValidSubprotocol(protocol) {
if (protocol.length === 0) {
return false;
}
for (let i4 = 0; i4 < protocol.length; ++i4) {
const code = protocol.charCodeAt(i4);
if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
code > 126 || code === 34 || // "
code === 40 || // (
code === 41 || // )
code === 44 || // ,
code === 47 || // /
code === 58 || // :
code === 59 || // ;
code === 60 || // <
code === 61 || // =
code === 62 || // >
code === 63 || // ?
code === 64 || // @
code === 91 || // [
code === 92 || // \
code === 93 || // ]
code === 123 || // {
code === 125) {
return false;
}
}
return true;
}
function isValidStatusCode(code) {
if (code >= 1e3 && code < 1015) {
return code !== 1004 && // reserved
code !== 1005 && // "MUST NOT be set as a status code"
code !== 1006;
}
return code >= 3e3 && code <= 4999;
}
function isControlFrame(opcode) {
return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
}
function isContinuationFrame(opcode) {
return opcode === opcodes.CONTINUATION;
}
function isTextBinaryFrame(opcode) {
return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
}
function isValidOpcode(opcode) {
return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
}
function parseExtensions(extensions2) {
const position3 = { position: 0 };
const extensionList = /* @__PURE__ */ new Map();
while (position3.position < extensions2.length) {
const pair = collectASequenceOfCodePointsFast(";", extensions2, position3);
const [name, value = ""] = pair.split("=", 2);
extensionList.set(
removeHTTPWhitespace(name, true, false),
removeHTTPWhitespace(value, false, true)
);
position3.position++;
}
return extensionList;
}
function isValidClientWindowBits(value) {
if (value.length === 0) {
return false;
}
for (let i4 = 0; i4 < value.length; i4++) {
const byte = value.charCodeAt(i4);
if (byte < 48 || byte > 57) {
return false;
}
}
const num = Number.parseInt(value, 10);
return num >= 8 && num <= 15;
}
function getURLRecord(url7, baseURL) {
let urlRecord;
try {
urlRecord = new URL(url7, baseURL);
} catch (e) {
throw new DOMException(e, "SyntaxError");
}
if (urlRecord.protocol === "http:") {
urlRecord.protocol = "ws:";
} else if (urlRecord.protocol === "https:") {
urlRecord.protocol = "wss:";
}
if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
throw new DOMException("expected a ws: or wss: url", "SyntaxError");
}
if (urlRecord.hash.length || urlRecord.href.endsWith("#")) {
throw new DOMException("hash", "SyntaxError");
}
return urlRecord;
}
function validateCloseCodeAndReason(code, reason) {
if (code !== null) {
if (code !== 1e3 && (code < 3e3 || code > 4999)) {
throw new DOMException("invalid code", "InvalidAccessError");
}
}
if (reason !== null) {
const reasonBytesLength = Buffer.byteLength(reason);
if (reasonBytesLength > 123) {
throw new DOMException(`Reason must be less than 123 bytes; received ${reasonBytesLength}`, "SyntaxError");
}
}
}
var utf8Decode = (() => {
if (typeof process.versions.icu === "string") {
const fatalDecoder = new TextDecoder("utf-8", { fatal: true });
return fatalDecoder.decode.bind(fatalDecoder);
}
return function(buffer3) {
if (isUtf8(buffer3)) {
return buffer3.toString("utf-8");
}
throw new TypeError("Invalid utf-8 received.");
};
})();
module2.exports = {
isConnecting,
isEstablished,
isClosing,
isClosed,
fireEvent,
isValidSubprotocol,
isValidStatusCode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isContinuationFrame,
isTextBinaryFrame,
isValidOpcode,
parseExtensions,
isValidClientWindowBits,
toArrayBuffer,
getURLRecord,
validateCloseCodeAndReason
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/frame.js
var require_frame = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
"use strict";
var { runtimeFeatures } = require_runtime_features();
var { maxUnsigned16Bit, opcodes } = require_constants15();
var BUFFER_SIZE = 8 * 1024;
var buffer3 = null;
var bufIdx = BUFFER_SIZE;
var randomFillSync = runtimeFeatures.has("crypto") ? __require("node:crypto").randomFillSync : function randomFillSync2(buffer4, _offset, _size) {
for (let i4 = 0; i4 < buffer4.length; ++i4) {
buffer4[i4] = Math.random() * 255 | 0;
}
return buffer4;
};
function generateMask() {
if (bufIdx === BUFFER_SIZE) {
bufIdx = 0;
randomFillSync(buffer3 ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE);
}
return [buffer3[bufIdx++], buffer3[bufIdx++], buffer3[bufIdx++], buffer3[bufIdx++]];
}
var WebsocketFrameSend = class {
/**
* @param {Buffer|undefined} data
*/
constructor(data) {
this.frameData = data;
}
createFrame(opcode) {
const frameData = this.frameData;
const maskKey = generateMask();
const bodyLength = frameData?.byteLength ?? 0;
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const buffer4 = Buffer.allocUnsafe(bodyLength + offset);
buffer4[0] = buffer4[1] = 0;
buffer4[0] |= 128;
buffer4[0] = (buffer4[0] & 240) + opcode;
buffer4[offset - 4] = maskKey[0];
buffer4[offset - 3] = maskKey[1];
buffer4[offset - 2] = maskKey[2];
buffer4[offset - 1] = maskKey[3];
buffer4[1] = payloadLength;
if (payloadLength === 126) {
buffer4.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
buffer4[2] = buffer4[3] = 0;
buffer4.writeUIntBE(bodyLength, 4, 6);
}
buffer4[1] |= 128;
for (let i4 = 0; i4 < bodyLength; ++i4) {
buffer4[offset + i4] = frameData[i4] ^ maskKey[i4 & 3];
}
return buffer4;
}
/**
* @param {Uint8Array} buffer
*/
static createFastTextFrame(buffer4) {
const maskKey = generateMask();
const bodyLength = buffer4.length;
for (let i4 = 0; i4 < bodyLength; ++i4) {
buffer4[i4] ^= maskKey[i4 & 3];
}
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const head2 = Buffer.allocUnsafeSlow(offset);
head2[0] = 128 | opcodes.TEXT;
head2[1] = payloadLength | 128;
head2[offset - 4] = maskKey[0];
head2[offset - 3] = maskKey[1];
head2[offset - 2] = maskKey[2];
head2[offset - 1] = maskKey[3];
if (payloadLength === 126) {
head2.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
head2[2] = head2[3] = 0;
head2.writeUIntBE(bodyLength, 4, 6);
}
return [head2, buffer4];
}
};
module2.exports = {
WebsocketFrameSend,
generateMask
// for benchmark
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/connection.js
var require_connection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
"use strict";
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants15();
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util8();
var { makeRequest } = require_request2();
var { fetching } = require_fetch();
var { Headers: Headers2, getHeadersList } = require_headers();
var { getDecodeSplit } = require_util5();
var { WebsocketFrameSend } = require_frame();
var assert13 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var crypto13 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var warningEmitted = false;
function establishWebSocketConnection(url7, protocols, client, handler82, options) {
const requestURL = url7;
requestURL.protocol = url7.protocol === "ws:" ? "http:" : "https:";
const request = makeRequest({
urlList: [requestURL],
client,
serviceWorkers: "none",
referrer: "no-referrer",
mode: "websocket",
credentials: "include",
cache: "no-store",
redirect: "error",
useURLCredentials: true
});
if (options.headers) {
const headersList = getHeadersList(new Headers2(options.headers));
request.headersList = headersList;
}
const keyValue = crypto13.randomBytes(16).toString("base64");
request.headersList.append("sec-websocket-key", keyValue, true);
request.headersList.append("sec-websocket-version", "13", true);
for (const protocol of protocols) {
request.headersList.append("sec-websocket-protocol", protocol, true);
}
const permessageDeflate = "permessage-deflate; client_max_window_bits";
request.headersList.append("sec-websocket-extensions", permessageDeflate, true);
const controller = fetching({
request,
useParallelQueue: true,
dispatcher: options.dispatcher,
processResponse(response) {
if (response.type === "error" || response.status !== 101) {
if (response.socket?.session == null) {
failWebsocketConnection(handler82, 1002, "Received network error or non-101 status code.", response.error);
return;
}
if (response.status !== 200) {
failWebsocketConnection(handler82, 1002, "Received network error or non-200 status code.", response.error);
return;
}
}
if (warningEmitted === false && response.socket?.session != null) {
process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.", "ExperimentalWarning");
warningEmitted = true;
}
if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
failWebsocketConnection(handler82, 1002, "Server did not respond with sent protocols.");
return;
}
if (response.socket.session == null && response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
failWebsocketConnection(handler82, 1002, 'Server did not set Upgrade header to "websocket".');
return;
}
if (response.socket.session == null && response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
failWebsocketConnection(handler82, 1002, 'Server did not set Connection header to "upgrade".');
return;
}
const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
const digest = crypto13.hash("sha1", keyValue + uid, "base64");
if (secWSAccept !== digest) {
failWebsocketConnection(handler82, 1002, "Incorrect hash received in Sec-WebSocket-Accept header.");
return;
}
const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
let extensions2;
if (secExtension !== null) {
extensions2 = parseExtensions(secExtension);
if (!extensions2.has("permessage-deflate")) {
failWebsocketConnection(handler82, 1002, "Sec-WebSocket-Extensions header does not match.");
return;
}
}
const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
if (secProtocol !== null) {
const requestProtocols = getDecodeSplit("sec-websocket-protocol", request.headersList);
if (!requestProtocols.includes(secProtocol)) {
failWebsocketConnection(handler82, 1002, "Protocol was not set in the opening handshake.");
return;
}
}
response.socket.on("data", handler82.onSocketData);
response.socket.on("close", handler82.onSocketClose);
response.socket.on("error", handler82.onSocketError);
handler82.wasEverConnected = true;
handler82.onConnectionEstablished(response, extensions2);
}
});
return controller;
}
function closeWebSocketConnection(object, code, reason, validate2 = false) {
code ??= null;
reason ??= "";
if (validate2) validateCloseCodeAndReason(code, reason);
if (isClosed(object.readyState) || isClosing(object.readyState)) {
} else if (!isEstablished(object.readyState)) {
failWebsocketConnection(object);
object.readyState = states.CLOSING;
} else if (!object.closeState.has(sentCloseFrameState.SENT) && !object.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend();
if (reason.length !== 0 && code === null) {
code = 1e3;
}
assert13(code === null || Number.isInteger(code));
if (code === null && reason.length === 0) {
frame.frameData = emptyBuffer;
} else if (code !== null && reason === null) {
frame.frameData = Buffer.allocUnsafe(2);
frame.frameData.writeUInt16BE(code, 0);
} else if (code !== null && reason !== null) {
frame.frameData = Buffer.allocUnsafe(2 + Buffer.byteLength(reason));
frame.frameData.writeUInt16BE(code, 0);
frame.frameData.write(reason, 2, "utf-8");
} else {
frame.frameData = emptyBuffer;
}
object.socket.write(frame.createFrame(opcodes.CLOSE));
object.closeState.add(sentCloseFrameState.SENT);
object.readyState = states.CLOSING;
} else {
object.readyState = states.CLOSING;
}
}
function failWebsocketConnection(handler82, code, reason, cause) {
if (isEstablished(handler82.readyState)) {
closeWebSocketConnection(handler82, code, reason, false);
}
handler82.controller.abort();
if (isConnecting(handler82.readyState)) {
handler82.onSocketClose();
} else if (handler82.socket?.destroyed === false) {
handler82.socket.destroy();
}
}
module2.exports = {
establishWebSocketConnection,
failWebsocketConnection,
closeWebSocketConnection
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/permessage-deflate.js
var require_permessage_deflate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
"use strict";
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
var { isValidClientWindowBits } = require_util8();
var { MessageSizeExceededError } = require_errors4();
var tail2 = Buffer.from([0, 0, 255, 255]);
var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
var kLength = /* @__PURE__ */ Symbol("kLength");
var PerMessageDeflate = class {
/** @type {import('node:zlib').InflateRaw} */
#inflate;
#options = {};
#maxPayloadSize = 0;
/**
* @param {Map<string, string>} extensions
*/
constructor(extensions2, options) {
this.#options.serverNoContextTakeover = extensions2.has("server_no_context_takeover");
this.#options.serverMaxWindowBits = extensions2.get("server_max_window_bits");
this.#maxPayloadSize = options.maxPayloadSize;
}
/**
* Decompress a compressed payload.
* @param {Buffer} chunk Compressed data
* @param {boolean} fin Final fragment flag
* @param {Function} callback Callback function
*/
decompress(chunk, fin, callback2) {
if (!this.#inflate) {
let windowBits = Z_DEFAULT_WINDOWBITS;
if (this.#options.serverMaxWindowBits) {
if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
callback2(new Error("Invalid server_max_window_bits"));
return;
}
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
}
try {
this.#inflate = createInflateRaw({ windowBits });
} catch (err2) {
callback2(err2);
return;
}
this.#inflate[kBuffer] = [];
this.#inflate[kLength] = 0;
this.#inflate.on("data", (data) => {
this.#inflate[kLength] += data.length;
if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
callback2(new MessageSizeExceededError());
this.#inflate.removeAllListeners();
this.#inflate = null;
return;
}
this.#inflate[kBuffer].push(data);
});
this.#inflate.on("error", (err2) => {
this.#inflate = null;
callback2(err2);
});
}
this.#inflate.write(chunk);
if (fin) {
this.#inflate.write(tail2);
}
this.#inflate.flush(() => {
if (!this.#inflate) {
return;
}
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
this.#inflate[kBuffer].length = 0;
this.#inflate[kLength] = 0;
callback2(null, full);
});
}
};
module2.exports = { PerMessageDeflate };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/receiver.js
var require_receiver = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var assert13 = __require("node:assert");
var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants15();
var {
isValidStatusCode,
isValidOpcode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isTextBinaryFrame,
isContinuationFrame
} = require_util8();
var { failWebsocketConnection } = require_connection();
var { WebsocketFrameSend } = require_frame();
var { PerMessageDeflate } = require_permessage_deflate();
var { MessageSizeExceededError } = require_errors4();
var ByteParser = class extends Writable4 {
#buffers = [];
#fragmentsBytes = 0;
#byteOffset = 0;
#loop = false;
#state = parserStates.INFO;
#info = {};
#fragments = [];
/** @type {Map<string, PerMessageDeflate>} */
#extensions;
/** @type {import('./websocket').Handler} */
#handler;
/** @type {number} */
#maxFragments;
/** @type {number} */
#maxPayloadSize;
/**
* @param {import('./websocket').Handler} handler
* @param {Map<string, string>|null} extensions
* @param {{ maxFragments?: number, maxPayloadSize?: number }} [options]
*/
constructor(handler82, extensions2, options = {}) {
super();
this.#handler = handler82;
this.#extensions = extensions2 == null ? /* @__PURE__ */ new Map() : extensions2;
this.#maxFragments = options.maxFragments ?? 0;
this.#maxPayloadSize = options.maxPayloadSize ?? 0;
if (this.#extensions.has("permessage-deflate")) {
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions2, options));
}
}
/**
* @param {Buffer} chunk
* @param {() => void} callback
*/
_write(chunk, _, callback2) {
this.#buffers.push(chunk);
this.#byteOffset += chunk.length;
this.#loop = true;
this.run(callback2);
}
#validatePayloadLength() {
if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) {
failWebsocketConnection(this.#handler, 1009, "Payload size exceeds maximum allowed size");
return false;
}
return true;
}
/**
* Runs whenever a new chunk is received.
* Callback is called whenever there are no more chunks buffering,
* or not enough bytes are buffered to parse.
*/
run(callback2) {
while (this.#loop) {
if (this.#state === parserStates.INFO) {
if (this.#byteOffset < 2) {
return callback2();
}
const buffer3 = this.consume(2);
const fin = (buffer3[0] & 128) !== 0;
const opcode = buffer3[0] & 15;
const masked = (buffer3[1] & 128) === 128;
const fragmented = !fin && opcode !== opcodes.CONTINUATION;
const payloadLength = buffer3[1] & 127;
const rsv1 = buffer3[0] & 64;
const rsv2 = buffer3[0] & 32;
const rsv3 = buffer3[0] & 16;
if (!isValidOpcode(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid opcode received");
return callback2();
}
if (masked) {
failWebsocketConnection(this.#handler, 1002, "Frame cannot be masked");
return callback2();
}
if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
failWebsocketConnection(this.#handler, 1002, "Expected RSV1 to be clear.");
return;
}
if (rsv2 !== 0 || rsv3 !== 0) {
failWebsocketConnection(this.#handler, 1002, "RSV1, RSV2, RSV3 must be clear");
return;
}
if (fragmented && !isTextBinaryFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid frame type was fragmented.");
return;
}
if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
failWebsocketConnection(this.#handler, 1002, "Expected continuation frame");
return;
}
if (this.#info.fragmented && fragmented) {
failWebsocketConnection(this.#handler, 1002, "Fragmented frame exceeded 125 bytes.");
return;
}
if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Control frame either too large or fragmented");
return;
}
if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
failWebsocketConnection(this.#handler, 1002, "Unexpected continuation frame");
return;
}
if (payloadLength <= 125) {
this.#info.payloadLength = payloadLength;
this.#state = parserStates.READ_DATA;
if (!this.#validatePayloadLength()) {
return;
}
} else if (payloadLength === 126) {
this.#state = parserStates.PAYLOADLENGTH_16;
} else if (payloadLength === 127) {
this.#state = parserStates.PAYLOADLENGTH_64;
}
if (isTextBinaryFrame(opcode)) {
this.#info.binaryType = opcode;
this.#info.compressed = rsv1 !== 0;
}
this.#info.opcode = opcode;
this.#info.masked = masked;
this.#info.fin = fin;
this.#info.fragmented = fragmented;
} else if (this.#state === parserStates.PAYLOADLENGTH_16) {
if (this.#byteOffset < 2) {
return callback2();
}
const buffer3 = this.consume(2);
this.#info.payloadLength = buffer3.readUInt16BE(0);
this.#state = parserStates.READ_DATA;
if (!this.#validatePayloadLength()) {
return;
}
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
if (this.#byteOffset < 8) {
return callback2();
}
const buffer3 = this.consume(8);
const upper = buffer3.readUInt32BE(0);
const lower = buffer3.readUInt32BE(4);
if (upper !== 0 || lower > 2 ** 31 - 1) {
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
return;
}
this.#info.payloadLength = lower;
this.#state = parserStates.READ_DATA;
if (!this.#validatePayloadLength()) {
return;
}
} else if (this.#state === parserStates.READ_DATA) {
if (this.#byteOffset < this.#info.payloadLength) {
return callback2();
}
const body = this.consume(this.#info.payloadLength);
if (isControlFrame(this.#info.opcode)) {
this.#loop = this.parseControlFrame(body);
this.#state = parserStates.INFO;
} else {
if (!this.#info.compressed) {
if (!this.writeFragments(body)) {
return;
}
if (!this.#info.fragmented && this.#info.fin) {
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
}
this.#state = parserStates.INFO;
} else {
this.#extensions.get("permessage-deflate").decompress(
body,
this.#info.fin,
(error, data) => {
if (error) {
const code = error instanceof MessageSizeExceededError ? 1009 : 1007;
failWebsocketConnection(this.#handler, code, error.message);
return;
}
if (!this.writeFragments(data)) {
return;
}
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
failWebsocketConnection(this.#handler, 1009, new MessageSizeExceededError().message);
return;
}
if (!this.#info.fin) {
this.#state = parserStates.INFO;
this.#loop = true;
this.run(callback2);
return;
}
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
this.#loop = true;
this.#state = parserStates.INFO;
this.run(callback2);
},
this.#fragmentsBytes
);
this.#loop = false;
break;
}
}
}
}
}
/**
* Take n bytes from the buffered Buffers
* @param {number} n
* @returns {Buffer}
*/
consume(n2) {
if (n2 > this.#byteOffset) {
throw new Error("Called consume() before buffers satiated.");
} else if (n2 === 0) {
return emptyBuffer;
}
this.#byteOffset -= n2;
const first = this.#buffers[0];
if (first.length > n2) {
this.#buffers[0] = first.subarray(n2, first.length);
return first.subarray(0, n2);
} else if (first.length === n2) {
return this.#buffers.shift();
} else {
let offset = 0;
const buffer3 = Buffer.allocUnsafeSlow(n2);
while (offset !== n2) {
const next2 = this.#buffers[0];
const length = next2.length;
if (length + offset === n2) {
buffer3.set(this.#buffers.shift(), offset);
break;
} else if (length + offset > n2) {
buffer3.set(next2.subarray(0, n2 - offset), offset);
this.#buffers[0] = next2.subarray(n2 - offset);
break;
} else {
buffer3.set(this.#buffers.shift(), offset);
offset += length;
}
}
return buffer3;
}
}
writeFragments(fragment) {
if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) {
failWebsocketConnection(this.#handler, 1008, "Too many message fragments");
return false;
}
this.#fragmentsBytes += fragment.length;
this.#fragments.push(fragment);
return true;
}
consumeFragments() {
const fragments = this.#fragments;
if (fragments.length === 1) {
this.#fragmentsBytes = 0;
return fragments.shift();
}
let offset = 0;
const output = Buffer.allocUnsafeSlow(this.#fragmentsBytes);
for (let i4 = 0; i4 < fragments.length; ++i4) {
const buffer3 = fragments[i4];
output.set(buffer3, offset);
offset += buffer3.length;
}
this.#fragments = [];
this.#fragmentsBytes = 0;
return output;
}
parseCloseBody(data) {
assert13(data.length !== 1);
let code;
if (data.length >= 2) {
code = data.readUInt16BE(0);
}
if (code !== void 0 && !isValidStatusCode(code)) {
return { code: 1002, reason: "Invalid status code", error: true };
}
let reason = data.subarray(2);
if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
reason = reason.subarray(3);
}
try {
reason = utf8Decode(reason);
} catch {
return { code: 1007, reason: "Invalid UTF-8", error: true };
}
return { code, reason, error: false };
}
/**
* Parses control frames.
* @param {Buffer} body
*/
parseControlFrame(body) {
const { opcode, payloadLength } = this.#info;
if (opcode === opcodes.CLOSE) {
if (payloadLength === 1) {
failWebsocketConnection(this.#handler, 1002, "Received close frame with a 1-byte body.");
return false;
}
this.#info.closeInfo = this.parseCloseBody(body);
if (this.#info.closeInfo.error) {
const { code, reason } = this.#info.closeInfo;
failWebsocketConnection(this.#handler, code, reason);
return false;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
let body2 = emptyBuffer;
if (this.#info.closeInfo.code) {
body2 = Buffer.allocUnsafe(2);
body2.writeUInt16BE(this.#info.closeInfo.code, 0);
}
const closeFrame = new WebsocketFrameSend(body2);
this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE));
this.#handler.closeState.add(sentCloseFrameState.SENT);
}
this.#handler.readyState = states.CLOSING;
this.#handler.closeState.add(sentCloseFrameState.RECEIVED);
return false;
} else if (opcode === opcodes.PING) {
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(body);
this.#handler.socket.write(frame.createFrame(opcodes.PONG));
this.#handler.onPing(body);
}
} else if (opcode === opcodes.PONG) {
this.#handler.onPong(body);
}
return true;
}
get closingInfo() {
return this.#info.closeInfo;
}
};
module2.exports = {
ByteParser
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/sender.js
var require_sender = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
"use strict";
var { WebsocketFrameSend } = require_frame();
var { opcodes, sendHints } = require_constants15();
var FixedQueue = require_fixed_queue();
var SendQueue = class {
/**
* @type {FixedQueue}
*/
#queue = new FixedQueue();
/**
* @type {boolean}
*/
#running = false;
/** @type {import('node:net').Socket} */
#socket;
constructor(socket) {
this.#socket = socket;
}
add(item, cb, hint) {
if (hint !== sendHints.blob) {
if (!this.#running) {
if (hint === sendHints.text) {
const { 0: head2, 1: body } = WebsocketFrameSend.createFastTextFrame(item);
this.#socket.cork();
this.#socket.write(head2);
this.#socket.write(body, cb);
this.#socket.uncork();
} else {
this.#socket.write(createFrame(item, hint), cb);
}
} else {
const node2 = {
promise: null,
callback: cb,
frame: createFrame(item, hint)
};
this.#queue.push(node2);
}
return;
}
const node = {
promise: item.arrayBuffer().then((ab) => {
node.promise = null;
node.frame = createFrame(ab, hint);
}),
callback: cb,
frame: null
};
this.#queue.push(node);
if (!this.#running) {
this.#run();
}
}
async #run() {
this.#running = true;
const queue2 = this.#queue;
while (!queue2.isEmpty()) {
const node = queue2.shift();
if (node.promise !== null) {
await node.promise;
}
this.#socket.write(node.frame, node.callback);
node.callback = node.frame = null;
}
this.#running = false;
}
};
function createFrame(data, hint) {
return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.text ? opcodes.TEXT : opcodes.BINARY);
}
function toBuffer(data, hint) {
switch (hint) {
case sendHints.text:
case sendHints.typedArray:
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
case sendHints.arrayBuffer:
case sendHints.blob:
return new Uint8Array(data);
}
}
module2.exports = { SendQueue };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/websocket.js
var require_websocket = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
"use strict";
var { isArrayBuffer: isArrayBuffer2 } = __require("node:util/types");
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { environmentSettingsObject } = require_util5();
var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints, opcodes } = require_constants15();
var {
isConnecting,
isEstablished,
isClosing,
isClosed,
isValidSubprotocol,
fireEvent,
utf8Decode,
toArrayBuffer,
getURLRecord
} = require_util8();
var { establishWebSocketConnection, closeWebSocketConnection, failWebsocketConnection } = require_connection();
var { ByteParser } = require_receiver();
var { kEnumerableProperty } = require_util4();
var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();
var { ErrorEvent, CloseEvent, createFastMessageEvent } = require_events();
var { SendQueue } = require_sender();
var { WebsocketFrameSend } = require_frame();
var { channels } = require_diagnostics();
function getSocketAddress(socket) {
if (typeof socket?.address === "function") {
return socket.address();
}
if (typeof socket?.session?.socket?.address === "function") {
return socket.session.socket.address();
}
return null;
}
var WebSocket = class _WebSocket extends EventTarget {
#events = {
open: null,
error: null,
close: null,
message: null
};
#bufferedAmount = 0;
#protocol = "";
#extensions = "";
/** @type {SendQueue} */
#sendQueue;
/** @type {Handler} */
#handler = {
onConnectionEstablished: (response, extensions2) => this.#onConnectionEstablished(response, extensions2),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err2) => failWebsocketConnection(this.#handler, null, err2.message),
onParserDrain: () => this.#onParserDrain(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err2) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err2);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: (body) => {
if (channels.ping.hasSubscribers) {
channels.ping.publish({
payload: body,
websocket: this
});
}
},
onPong: (body) => {
if (channels.pong.hasSubscribers) {
channels.pong.publish({
payload: body,
websocket: this
});
}
},
readyState: states.CONNECTING,
socket: null,
closeState: /* @__PURE__ */ new Set(),
controller: null,
wasEverConnected: false
};
#url;
#binaryType;
/** @type {import('./receiver').ByteParser} */
#parser;
/**
* @param {string} url
* @param {string|string[]} protocols
*/
constructor(url7, protocols = []) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "WebSocket constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols, prefix, "options");
url7 = webidl.converters.USVString(url7);
protocols = options.protocols;
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url7, baseURL);
if (typeof protocols === "string") {
protocols = [protocols];
}
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = new URL(urlRecord.href);
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(
urlRecord,
protocols,
client,
this.#handler,
options
);
this.#handler.readyState = _WebSocket.CONNECTING;
this.#binaryType = "blob";
}
/**
* @see https://websockets.spec.whatwg.org/#dom-websocket-close
* @param {number|undefined} code
* @param {string|undefined} reason
*/
close(code = void 0, reason = void 0) {
webidl.brandCheck(this, _WebSocket);
const prefix = "WebSocket.close";
if (code !== void 0) {
code = webidl.converters["unsigned short"](code, prefix, "code", webidl.attributes.Clamp);
}
if (reason !== void 0) {
reason = webidl.converters.USVString(reason);
}
code ??= null;
reason ??= "";
closeWebSocketConnection(this.#handler, code, reason, true);
}
/**
* @see https://websockets.spec.whatwg.org/#dom-websocket-send
* @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
*/
send(data) {
webidl.brandCheck(this, _WebSocket);
const prefix = "WebSocket.send";
webidl.argumentLengthCheck(arguments, 1, prefix);
data = webidl.converters.WebSocketSendData(data, prefix, "data");
if (isConnecting(this.#handler.readyState)) {
throw new DOMException("Sent before connected.", "InvalidStateError");
}
if (!isEstablished(this.#handler.readyState) || isClosing(this.#handler.readyState)) {
return;
}
if (typeof data === "string") {
const buffer3 = Buffer.from(data);
this.#bufferedAmount += buffer3.byteLength;
this.#sendQueue.add(buffer3, () => {
this.#bufferedAmount -= buffer3.byteLength;
}, sendHints.text);
} else if (isArrayBuffer2(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.arrayBuffer);
} else if (ArrayBuffer.isView(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.typedArray);
} else if (webidl.is.Blob(data)) {
this.#bufferedAmount += data.size;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.size;
}, sendHints.blob);
}
}
get readyState() {
webidl.brandCheck(this, _WebSocket);
return this.#handler.readyState;
}
get bufferedAmount() {
webidl.brandCheck(this, _WebSocket);
return this.#bufferedAmount;
}
get url() {
webidl.brandCheck(this, _WebSocket);
return URLSerializer(this.#url);
}
get extensions() {
webidl.brandCheck(this, _WebSocket);
return this.#extensions;
}
get protocol() {
webidl.brandCheck(this, _WebSocket);
return this.#protocol;
}
get onopen() {
webidl.brandCheck(this, _WebSocket);
return this.#events.open;
}
set onopen(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onerror() {
webidl.brandCheck(this, _WebSocket);
return this.#events.error;
}
set onerror(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
get onclose() {
webidl.brandCheck(this, _WebSocket);
return this.#events.close;
}
set onclose(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.close) {
this.removeEventListener("close", this.#events.close);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("close", listener);
this.#events.close = fn;
} else {
this.#events.close = null;
}
}
get onmessage() {
webidl.brandCheck(this, _WebSocket);
return this.#events.message;
}
set onmessage(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get binaryType() {
webidl.brandCheck(this, _WebSocket);
return this.#binaryType;
}
set binaryType(type4) {
webidl.brandCheck(this, _WebSocket);
if (type4 !== "blob" && type4 !== "arraybuffer") {
this.#binaryType = "blob";
} else {
this.#binaryType = type4;
}
}
/**
* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
*/
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const webSocketOptions = this.#handler.controller.dispatcher?.webSocketOptions;
const maxFragments = webSocketOptions?.maxFragments;
const maxPayloadSize = webSocketOptions?.maxPayloadSize;
const parser = new ByteParser(this.#handler, parsedExtensions, {
maxFragments,
maxPayloadSize
});
parser.on("drain", () => this.#handler.onParserDrain());
parser.on("error", (err2) => this.#handler.onParserError(err2));
this.#parser = parser;
this.#sendQueue = new SendQueue(response.socket);
this.#handler.readyState = states.OPEN;
const extensions2 = response.headersList.get("sec-websocket-extensions");
if (extensions2 !== null) {
this.#extensions = extensions2;
}
const protocol = response.headersList.get("sec-websocket-protocol");
if (protocol !== null) {
this.#protocol = protocol;
}
fireEvent("open", this);
if (channels.open.hasSubscribers) {
const headers = response.headersList.entries;
channels.open.publish({
address: getSocketAddress(response.socket),
protocol: this.#protocol,
extensions: this.#extensions,
websocket: this,
handshakeResponse: {
status: response.status,
statusText: response.statusText,
headers
}
});
}
}
#onMessage(type4, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let dataForEvent;
if (type4 === opcodes.TEXT) {
try {
dataForEvent = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, 1007, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type4 === opcodes.BINARY) {
if (this.#binaryType === "blob") {
dataForEvent = new Blob([data]);
} else {
dataForEvent = toArrayBuffer(data);
}
}
fireEvent("message", this, createFastMessageEvent, {
origin: this.#url.origin,
data: dataForEvent
});
}
#onParserDrain() {
this.#handler.socket.resume();
}
/**
* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
* @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4
*/
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
let code = 1005;
let reason = "";
const result2 = this.#parser?.closingInfo;
if (result2 && !result2.error) {
code = result2.code ?? 1005;
reason = result2.reason;
}
this.#handler.readyState = states.CLOSED;
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
fireEvent("error", this, (type4, init2) => new ErrorEvent(type4, init2), {
error: new TypeError(reason)
});
}
fireEvent("close", this, (type4, init2) => new CloseEvent(type4, init2), {
wasClean,
code,
reason
});
if (channels.close.hasSubscribers) {
channels.close.publish({
websocket: this,
code,
reason
});
}
}
/**
* @param {WebSocket} ws
* @param {Buffer|undefined} buffer
*/
static ping(ws, buffer3) {
if (Buffer.isBuffer(buffer3)) {
if (buffer3.length > 125) {
throw new TypeError("A PING frame cannot have a body larger than 125 bytes.");
}
} else if (buffer3 !== void 0) {
throw new TypeError("Expected buffer payload");
}
const readyState = ws.#handler.readyState;
if (isEstablished(readyState) && !isClosing(readyState) && !isClosed(readyState)) {
const frame = new WebsocketFrameSend(buffer3);
ws.#handler.socket.write(frame.createFrame(opcodes.PING));
}
}
};
var { ping } = WebSocket;
Reflect.deleteProperty(WebSocket, "ping");
WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
Object.defineProperties(WebSocket.prototype, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors,
url: kEnumerableProperty,
readyState: kEnumerableProperty,
bufferedAmount: kEnumerableProperty,
onopen: kEnumerableProperty,
onerror: kEnumerableProperty,
onclose: kEnumerableProperty,
close: kEnumerableProperty,
onmessage: kEnumerableProperty,
binaryType: kEnumerableProperty,
send: kEnumerableProperty,
extensions: kEnumerableProperty,
protocol: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocket",
writable: false,
enumerable: false,
configurable: true
}
});
Object.defineProperties(WebSocket, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors
});
webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter(
webidl.converters.DOMString
);
webidl.converters["DOMString or sequence<DOMString>"] = function(V, prefix, argument) {
if (webidl.util.Type(V) === webidl.util.Types.OBJECT && Symbol.iterator in V) {
return webidl.converters["sequence<DOMString>"](V);
}
return webidl.converters.DOMString(V, prefix, argument);
};
webidl.converters.WebSocketInit = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.converters["DOMString or sequence<DOMString>"],
defaultValue: () => []
},
{
key: "dispatcher",
converter: webidl.converters.any,
defaultValue: () => getGlobalDispatcher2()
},
{
key: "headers",
converter: webidl.nullableConverter(webidl.converters.HeadersInit)
}
]);
webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V) {
if (webidl.util.Type(V) === webidl.util.Types.OBJECT && !(Symbol.iterator in V)) {
return webidl.converters.WebSocketInit(V);
}
return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V) };
};
webidl.converters.WebSocketSendData = function(V) {
if (webidl.util.Type(V) === webidl.util.Types.OBJECT) {
if (webidl.is.Blob(V)) {
return V;
}
if (webidl.is.BufferSource(V)) {
return V;
}
}
return webidl.converters.USVString(V);
};
module2.exports = {
WebSocket,
ping
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/stream/websocketerror.js
var require_websocketerror = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var { validateCloseCodeAndReason } = require_util8();
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util4();
function createInheritableDOMException() {
class Test extends DOMException {
get reason() {
return "";
}
}
if (new Test().reason !== void 0) {
return DOMException;
}
return new Proxy(DOMException, {
construct(target2, args, newTarget) {
const instance = Reflect.construct(target2, args, target2);
Object.setPrototypeOf(instance, newTarget.prototype);
return instance;
}
});
}
var WebSocketError = class _WebSocketError extends createInheritableDOMException() {
#closeCode;
#reason;
constructor(message = "", init2 = void 0) {
message = webidl.converters.DOMString(message, "WebSocketError", "message");
super(message, "WebSocketError");
if (init2 === kConstruct) {
return;
} else if (init2 !== null) {
init2 = webidl.converters.WebSocketCloseInfo(init2);
}
let code = init2.closeCode ?? null;
const reason = init2.reason ?? "";
validateCloseCodeAndReason(code, reason);
if (reason.length !== 0 && code === null) {
code = 1e3;
}
this.#closeCode = code;
this.#reason = reason;
}
get closeCode() {
return this.#closeCode;
}
get reason() {
return this.#reason;
}
/**
* @param {string} message
* @param {number|null} code
* @param {string} reason
*/
static createUnvalidatedWebSocketError(message, code, reason) {
const error = new _WebSocketError(message, kConstruct);
error.#closeCode = code;
error.#reason = reason;
return error;
}
};
var { createUnvalidatedWebSocketError } = WebSocketError;
delete WebSocketError.createUnvalidatedWebSocketError;
Object.defineProperties(WebSocketError.prototype, {
closeCode: kEnumerableProperty,
reason: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketError",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.is.WebSocketError = webidl.util.MakeTypeAssertion(WebSocketError);
module2.exports = { WebSocketError, createUnvalidatedWebSocketError };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/stream/websocketstream.js
var require_websocketstream = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports2, module2) {
"use strict";
var { createDeferredPromise } = require_promise();
var { environmentSettingsObject } = require_util5();
var { states, opcodes, sentCloseFrameState } = require_constants15();
var { webidl } = require_webidl();
var { getURLRecord, isValidSubprotocol, isEstablished, utf8Decode } = require_util8();
var { establishWebSocketConnection, failWebsocketConnection, closeWebSocketConnection } = require_connection();
var { channels } = require_diagnostics();
var { WebsocketFrameSend } = require_frame();
var { ByteParser } = require_receiver();
var { WebSocketError, createUnvalidatedWebSocketError } = require_websocketerror();
var { kEnumerableProperty } = require_util4();
var { utf8DecodeBytes } = require_encoding();
var emittedExperimentalWarning = false;
var WebSocketStream = class {
// Each WebSocketStream object has an associated url , which is a URL record .
/** @type {URL} */
#url;
// Each WebSocketStream object has an associated opened promise , which is a promise.
/** @type {import('../../../util/promise').DeferredPromise} */
#openedPromise;
// Each WebSocketStream object has an associated closed promise , which is a promise.
/** @type {import('../../../util/promise').DeferredPromise} */
#closedPromise;
// Each WebSocketStream object has an associated readable stream , which is a ReadableStream .
/** @type {ReadableStream} */
#readableStream;
/** @type {ReadableStreamDefaultController} */
#readableStreamController;
// Each WebSocketStream object has an associated writable stream , which is a WritableStream .
/** @type {WritableStream} */
#writableStream;
// Each WebSocketStream object has an associated boolean handshake aborted , which is initially false.
#handshakeAborted = false;
/** @type {import('../websocket').Handler} */
#handler = {
// https://whatpr.org/websockets/48/7b748d3...d5570f3.html#feedback-to-websocket-stream-from-the-protocol
onConnectionEstablished: (response, extensions2) => this.#onConnectionEstablished(response, extensions2),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err2) => failWebsocketConnection(this.#handler, null, err2.message),
onParserDrain: () => this.#handler.socket.resume(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err2) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err2);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: () => {
},
onPong: () => {
},
readyState: states.CONNECTING,
socket: null,
closeState: /* @__PURE__ */ new Set(),
controller: null,
wasEverConnected: false
};
/** @type {import('../receiver').ByteParser} */
#parser;
constructor(url7, options = void 0) {
if (!emittedExperimentalWarning) {
process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.", {
code: "UNDICI-WSS"
});
emittedExperimentalWarning = true;
}
webidl.argumentLengthCheck(arguments, 1, "WebSocket");
url7 = webidl.converters.USVString(url7);
if (options !== null) {
options = webidl.converters.WebSocketStreamOptions(options);
}
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url7, baseURL);
const protocols = options.protocols;
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = urlRecord.toString();
this.#openedPromise = createDeferredPromise();
this.#closedPromise = createDeferredPromise();
if (options.signal != null) {
const signal = options.signal;
if (signal.aborted) {
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
return;
}
signal.addEventListener("abort", () => {
if (!isEstablished(this.#handler.readyState)) {
failWebsocketConnection(this.#handler);
this.#handler.readyState = states.CLOSING;
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
this.#handshakeAborted = true;
}
}, { once: true });
}
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(
urlRecord,
protocols,
client,
this.#handler,
options
);
}
// The url getter steps are to return this 's url , serialized .
get url() {
return this.#url.toString();
}
// The opened getter steps are to return this 's opened promise .
get opened() {
return this.#openedPromise.promise;
}
// The closed getter steps are to return this 's closed promise .
get closed() {
return this.#closedPromise.promise;
}
// The close( closeInfo ) method steps are:
close(closeInfo = void 0) {
if (closeInfo !== null) {
closeInfo = webidl.converters.WebSocketCloseInfo(closeInfo);
}
const code = closeInfo.closeCode ?? null;
const reason = closeInfo.reason;
closeWebSocketConnection(this.#handler, code, reason, true);
}
#write(chunk) {
chunk = webidl.converters.WebSocketStreamWrite(chunk);
const promise2 = createDeferredPromise();
let data = null;
let opcode = null;
if (webidl.is.BufferSource(chunk)) {
data = new Uint8Array(ArrayBuffer.isView(chunk) ? new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength) : chunk.slice());
opcode = opcodes.BINARY;
} else {
let string;
try {
string = webidl.converters.DOMString(chunk);
} catch (e) {
promise2.reject(e);
return promise2.promise;
}
data = new TextEncoder().encode(string);
opcode = opcodes.TEXT;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(data);
this.#handler.socket.write(frame.createFrame(opcode), () => {
promise2.resolve(void 0);
});
}
return promise2.promise;
}
/** @type {import('../websocket').Handler['onConnectionEstablished']} */
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const maxFragments = this.#handler.controller.dispatcher?.webSocketOptions?.maxFragments;
const maxPayloadSize = this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize;
const parser = new ByteParser(this.#handler, parsedExtensions, {
maxFragments,
maxPayloadSize
});
parser.on("drain", () => this.#handler.onParserDrain());
parser.on("error", (err2) => this.#handler.onParserError(err2));
this.#parser = parser;
this.#handler.readyState = states.OPEN;
const extensions2 = parsedExtensions ?? "";
const protocol = response.headersList.get("sec-websocket-protocol") ?? "";
const readable2 = new ReadableStream({
start: (controller) => {
this.#readableStreamController = controller;
},
cancel: (reason) => this.#cancel(reason)
});
const writable2 = new WritableStream({
write: (chunk) => this.#write(chunk),
close: () => closeWebSocketConnection(this.#handler, null, null),
abort: (reason) => this.#closeUsingReason(reason)
});
this.#readableStream = readable2;
this.#writableStream = writable2;
this.#openedPromise.resolve({
extensions: extensions2,
protocol,
readable: readable2,
writable: writable2
});
}
/** @type {import('../websocket').Handler['onMessage']} */
#onMessage(type4, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let chunk;
if (type4 === opcodes.TEXT) {
try {
chunk = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, 1007, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type4 === opcodes.BINARY) {
chunk = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
}
this.#readableStreamController.enqueue(chunk);
}
/** @type {import('../websocket').Handler['onSocketClose']} */
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
this.#handler.readyState = states.CLOSED;
if (this.#handshakeAborted) {
return;
}
if (!this.#handler.wasEverConnected) {
this.#openedPromise.reject(new WebSocketError("Socket never opened"));
}
const result2 = this.#parser?.closingInfo;
let code = result2?.code ?? 1005;
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
}
const reason = result2?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result2.reason));
if (wasClean) {
this.#readableStreamController.close();
if (!this.#writableStream.locked) {
this.#writableStream.abort(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
}
this.#closedPromise.resolve({
closeCode: code,
reason
});
} else {
const error = createUnvalidatedWebSocketError("unclean close", code, reason);
this.#readableStreamController?.error(error);
this.#writableStream?.abort(error);
this.#closedPromise.reject(error);
}
}
#closeUsingReason(reason) {
let code = null;
let reasonString = "";
if (webidl.is.WebSocketError(reason)) {
code = reason.closeCode;
reasonString = reason.reason;
}
closeWebSocketConnection(this.#handler, code, reasonString);
}
// To cancel a WebSocketStream stream given reason , close using reason giving stream and reason .
#cancel(reason) {
this.#closeUsingReason(reason);
}
};
Object.defineProperties(WebSocketStream.prototype, {
url: kEnumerableProperty,
opened: kEnumerableProperty,
closed: kEnumerableProperty,
close: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketStream",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.converters.WebSocketStreamOptions = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.sequenceConverter(webidl.converters.USVString),
defaultValue: () => []
},
{
key: "signal",
converter: webidl.nullableConverter(webidl.converters.AbortSignal),
defaultValue: () => null
}
]);
webidl.converters.WebSocketCloseInfo = webidl.dictionaryConverter([
{
key: "closeCode",
converter: (V) => webidl.converters["unsigned short"](V, webidl.attributes.EnforceRange)
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.WebSocketStreamWrite = function(V) {
if (typeof V === "string") {
return webidl.converters.USVString(V);
}
return webidl.converters.BufferSource(V);
};
module2.exports = { WebSocketStream };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/util.js
var require_util9 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
"use strict";
function isValidLastEventId(value) {
return value.indexOf("\0") === -1;
}
function isASCIINumber(value) {
if (value.length === 0) return false;
for (let i4 = 0; i4 < value.length; i4++) {
if (value.charCodeAt(i4) < 48 || value.charCodeAt(i4) > 57) return false;
}
return true;
}
module2.exports = {
isValidLastEventId,
isASCIINumber
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/eventsource-stream.js
var require_eventsource_stream = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var { isASCIINumber, isValidLastEventId } = require_util9();
var BOM = [239, 187, 191];
var LF2 = 10;
var CR2 = 13;
var COLON = 58;
var SPACE2 = 32;
var EventSourceStream = class extends Transform2 {
/**
* @type {eventSourceSettings}
*/
state;
/**
* Leading byte-order-mark check.
* @type {boolean}
*/
checkBOM = true;
/**
* @type {boolean}
*/
crlfCheck = false;
/**
* @type {boolean}
*/
eventEndCheck = false;
/**
* @type {Buffer|null}
*/
buffer = null;
pos = 0;
event = {
data: void 0,
event: void 0,
id: void 0,
retry: void 0
};
/**
* @param {object} options
* @param {boolean} [options.readableObjectMode]
* @param {eventSourceSettings} [options.eventSourceSettings]
* @param {(chunk: any, encoding?: BufferEncoding | undefined) => boolean} [options.push]
*/
constructor(options = {}) {
options.readableObjectMode = true;
super(options);
this.state = options.eventSourceSettings || {};
if (options.push) {
this.push = options.push;
}
}
/**
* @param {Buffer} chunk
* @param {string} _encoding
* @param {Function} callback
* @returns {void}
*/
_transform(chunk, _encoding, callback2) {
if (chunk.length === 0) {
callback2();
return;
}
if (this.buffer) {
this.buffer = Buffer.concat([this.buffer, chunk]);
} else {
this.buffer = chunk;
}
if (this.checkBOM) {
switch (this.buffer.length) {
case 1:
if (this.buffer[0] === BOM[0]) {
callback2();
return;
}
this.checkBOM = false;
callback2();
return;
case 2:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
callback2();
return;
}
this.checkBOM = false;
break;
case 3:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = Buffer.alloc(0);
this.checkBOM = false;
callback2();
return;
}
this.checkBOM = false;
break;
default:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = this.buffer.subarray(3);
}
this.checkBOM = false;
break;
}
}
while (this.pos < this.buffer.length) {
if (this.eventEndCheck) {
if (this.crlfCheck) {
if (this.buffer[this.pos] === LF2) {
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.crlfCheck = false;
continue;
}
this.crlfCheck = false;
}
if (this.buffer[this.pos] === LF2 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
if (this.event.data !== void 0 || this.event.event || this.event.id !== void 0 || this.event.retry) {
this.processEvent(this.event);
}
this.clearEvent();
continue;
}
this.eventEndCheck = false;
continue;
}
if (this.buffer[this.pos] === LF2 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.parseLine(this.buffer.subarray(0, this.pos), this.event);
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.eventEndCheck = true;
continue;
}
this.pos++;
}
callback2();
}
/**
* @param {Buffer} line
* @param {EventSourceStreamEvent} event
*/
parseLine(line, event) {
if (line.length === 0) {
return;
}
const colonPosition = line.indexOf(COLON);
if (colonPosition === 0) {
return;
}
let field = "";
let value = "";
if (colonPosition !== -1) {
field = line.subarray(0, colonPosition).toString("utf8");
let valueStart = colonPosition + 1;
if (line[valueStart] === SPACE2) {
++valueStart;
}
value = line.subarray(valueStart).toString("utf8");
} else {
field = line.toString("utf8");
value = "";
}
switch (field) {
case "data":
if (event[field] === void 0) {
event[field] = value;
} else {
event[field] += `
${value}`;
}
break;
case "retry":
if (isASCIINumber(value)) {
event[field] = value;
}
break;
case "id":
if (isValidLastEventId(value)) {
event[field] = value;
}
break;
case "event":
if (value.length > 0) {
event[field] = value;
}
break;
}
}
/**
* @param {EventSourceStreamEvent} event
*/
processEvent(event) {
if (event.retry && isASCIINumber(event.retry)) {
this.state.reconnectionTime = parseInt(event.retry, 10);
}
if (event.id !== void 0 && isValidLastEventId(event.id)) {
this.state.lastEventId = event.id;
}
if (event.data !== void 0) {
this.push({
type: event.event || "message",
options: {
data: event.data,
lastEventId: this.state.lastEventId,
origin: this.state.origin
}
});
}
}
clearEvent() {
this.event = {
data: void 0,
event: void 0,
id: void 0,
retry: void 0
};
}
};
module2.exports = {
EventSourceStream
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/eventsource.js
var require_eventsource = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
"use strict";
var { pipeline: pipeline2 } = __require("node:stream");
var { fetching } = require_fetch();
var { makeRequest } = require_request2();
var { webidl } = require_webidl();
var { EventSourceStream } = require_eventsource_stream();
var { parseMIMEType } = require_data_url();
var { createFastMessageEvent } = require_events();
var { isNetworkError } = require_response();
var { kEnumerableProperty } = require_util4();
var { environmentSettingsObject } = require_util5();
var experimentalWarned = false;
var defaultReconnectionTime = 3e3;
var CONNECTING = 0;
var OPEN = 1;
var CLOSED = 2;
var ANONYMOUS = "anonymous";
var USE_CREDENTIALS = "use-credentials";
var EventSource = class _EventSource extends EventTarget {
#events = {
open: null,
error: null,
message: null
};
#url;
#withCredentials = false;
/**
* @type {ReadyState}
*/
#readyState = CONNECTING;
#request = null;
#controller = null;
#dispatcher;
/**
* @type {import('./eventsource-stream').eventSourceSettings}
*/
#state;
/**
* Creates a new EventSource object.
* @param {string} url
* @param {EventSourceInit} [eventSourceInitDict={}]
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
*/
constructor(url7, eventSourceInitDict = {}) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "EventSource constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
if (!experimentalWarned) {
experimentalWarned = true;
process.emitWarning("EventSource is experimental, expect them to change at any time.", {
code: "UNDICI-ES"
});
}
url7 = webidl.converters.USVString(url7);
eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
this.#dispatcher = eventSourceInitDict.node.dispatcher || eventSourceInitDict.dispatcher;
this.#state = {
lastEventId: "",
reconnectionTime: eventSourceInitDict.node.reconnectionTime
};
const settings = environmentSettingsObject;
let urlRecord;
try {
urlRecord = new URL(url7, settings.settingsObject.baseUrl);
this.#state.origin = urlRecord.origin;
} catch (e) {
throw new DOMException(e, "SyntaxError");
}
this.#url = urlRecord.href;
let corsAttributeState = ANONYMOUS;
if (eventSourceInitDict.withCredentials === true) {
corsAttributeState = USE_CREDENTIALS;
this.#withCredentials = true;
}
const initRequest = {
redirect: "follow",
keepalive: true,
// @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
mode: "cors",
credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
referrer: "no-referrer"
};
initRequest.client = environmentSettingsObject.settingsObject;
initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
initRequest.cache = "no-store";
initRequest.initiator = "other";
initRequest.urlList = [new URL(this.#url)];
this.#request = makeRequest(initRequest);
this.#connect();
}
/**
* Returns the state of this EventSource object's connection. It can have the
* values described below.
* @returns {ReadyState}
* @readonly
*/
get readyState() {
return this.#readyState;
}
/**
* Returns the URL providing the event stream.
* @readonly
* @returns {string}
*/
get url() {
return this.#url;
}
/**
* Returns a boolean indicating whether the EventSource object was
* instantiated with CORS credentials set (true), or not (false, the default).
*/
get withCredentials() {
return this.#withCredentials;
}
#connect() {
if (this.#readyState === CLOSED) return;
this.#readyState = CONNECTING;
const fetchParams = {
request: this.#request,
dispatcher: this.#dispatcher
};
const processEventSourceEndOfBody = (response) => {
if (!isNetworkError(response)) {
return this.#reconnect();
}
};
fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
fetchParams.processResponse = (response) => {
if (isNetworkError(response)) {
if (response.aborted) {
this.close();
this.dispatchEvent(new Event("error"));
return;
} else {
this.#reconnect();
return;
}
}
const contentType = response.headersList.get("content-type", true);
const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
if (response.status !== 200 || contentTypeValid === false) {
this.close();
this.dispatchEvent(new Event("error"));
return;
}
this.#readyState = OPEN;
this.dispatchEvent(new Event("open"));
this.#state.origin = response.urlList[response.urlList.length - 1].origin;
const eventSourceStream = new EventSourceStream({
eventSourceSettings: this.#state,
push: (event) => {
this.dispatchEvent(createFastMessageEvent(
event.type,
event.options
));
}
});
pipeline2(
response.body.stream,
eventSourceStream,
(error) => {
if (error?.aborted === false) {
this.close();
this.dispatchEvent(new Event("error"));
}
}
);
};
this.#controller = fetching(fetchParams);
}
/**
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
* @returns {void}
*/
#reconnect() {
if (this.#readyState === CLOSED) return;
this.#readyState = CONNECTING;
this.dispatchEvent(new Event("error"));
setTimeout(() => {
if (this.#readyState !== CONNECTING) return;
if (this.#state.lastEventId.length) {
this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
}
this.#connect();
}, this.#state.reconnectionTime)?.unref();
}
/**
* Closes the connection, if any, and sets the readyState attribute to
* CLOSED.
*/
close() {
webidl.brandCheck(this, _EventSource);
if (this.#readyState === CLOSED) return;
this.#readyState = CLOSED;
this.#controller.abort();
this.#request = null;
}
get onopen() {
return this.#events.open;
}
set onopen(fn) {
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onmessage() {
return this.#events.message;
}
set onmessage(fn) {
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get onerror() {
return this.#events.error;
}
set onerror(fn) {
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
};
var constantsPropertyDescriptors = {
CONNECTING: {
__proto__: null,
configurable: false,
enumerable: true,
value: CONNECTING,
writable: false
},
OPEN: {
__proto__: null,
configurable: false,
enumerable: true,
value: OPEN,
writable: false
},
CLOSED: {
__proto__: null,
configurable: false,
enumerable: true,
value: CLOSED,
writable: false
}
};
Object.defineProperties(EventSource, constantsPropertyDescriptors);
Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
Object.defineProperties(EventSource.prototype, {
close: kEnumerableProperty,
onerror: kEnumerableProperty,
onmessage: kEnumerableProperty,
onopen: kEnumerableProperty,
readyState: kEnumerableProperty,
url: kEnumerableProperty,
withCredentials: kEnumerableProperty
});
webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
{
key: "withCredentials",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "dispatcher",
// undici only
converter: webidl.converters.any
},
{
key: "node",
// undici only
converter: webidl.dictionaryConverter([
{
key: "reconnectionTime",
converter: webidl.converters["unsigned long"],
defaultValue: () => defaultReconnectionTime
},
{
key: "dispatcher",
converter: webidl.converters.any
}
]),
defaultValue: () => ({})
}
]);
module2.exports = {
EventSource,
defaultReconnectionTime
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/index.js
var require_undici = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/undici/7.28.0/f2ad0d665902d5a568ad47b97f4abe98dbee57cd487ed738aeea1b2425182731/node_modules/undici/index.js"(exports2, module2) {
"use strict";
var Client = require_client();
var Dispatcher = require_dispatcher();
var Pool = require_pool();
var BalancedPool = require_balanced_pool();
var RoundRobinPool = require_round_robin_pool();
var Agent2 = require_agent();
var ProxyAgent2 = require_proxy_agent();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var EnvHttpProxyAgent = require_env_http_proxy_agent();
var RetryAgent = require_retry_agent();
var H2CClient = require_h2c_client();
var errors2 = require_errors4();
var util64 = require_util4();
var { InvalidArgumentError } = errors2;
var api2 = require_api();
var buildConnector = require_connect();
var MockClient = require_mock_client();
var { MockCallHistory, MockCallHistoryLog } = require_mock_call_history();
var MockAgent = require_mock_agent();
var MockPool = require_mock_pool();
var SnapshotAgent = require_snapshot_agent();
var mockErrors = require_mock_errors();
var RetryHandler = require_retry_handler();
var { getGlobalDispatcher: getGlobalDispatcher2, setGlobalDispatcher: setGlobalDispatcher2 } = require_global2();
var DecoratorHandler = require_decorator_handler();
var RedirectHandler = require_redirect_handler();
Object.assign(Dispatcher.prototype, api2);
module2.exports.Dispatcher = Dispatcher;
module2.exports.Client = Client;
module2.exports.Pool = Pool;
module2.exports.BalancedPool = BalancedPool;
module2.exports.RoundRobinPool = RoundRobinPool;
module2.exports.Agent = Agent2;
module2.exports.ProxyAgent = ProxyAgent2;
module2.exports.Socks5ProxyAgent = Socks5ProxyAgent;
module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
module2.exports.RetryAgent = RetryAgent;
module2.exports.H2CClient = H2CClient;
module2.exports.RetryHandler = RetryHandler;
module2.exports.DecoratorHandler = DecoratorHandler;
module2.exports.RedirectHandler = RedirectHandler;
module2.exports.interceptors = {
redirect: require_redirect(),
responseError: require_response_error(),
retry: require_retry(),
dump: require_dump(),
dns: require_dns(),
cache: require_cache2(),
decompress: require_decompress(),
deduplicate: require_deduplicate()
};
module2.exports.cacheStores = {
MemoryCacheStore: require_memory_cache_store()
};
var SqliteCacheStore = require_sqlite_cache_store();
module2.exports.cacheStores.SqliteCacheStore = SqliteCacheStore;
module2.exports.buildConnector = buildConnector;
module2.exports.errors = errors2;
module2.exports.util = {
parseHeaders: util64.parseHeaders,
headerNameToString: util64.headerNameToString
};
function makeDispatcher(fn) {
return (url7, opts3, handler82) => {
if (typeof opts3 === "function") {
handler82 = opts3;
opts3 = null;
}
if (!url7 || typeof url7 !== "string" && typeof url7 !== "object" && !(url7 instanceof URL)) {
throw new InvalidArgumentError("invalid url");
}
if (opts3 != null && typeof opts3 !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (opts3 && opts3.path != null) {
if (typeof opts3.path !== "string") {
throw new InvalidArgumentError("invalid opts.path");
}
let path236 = opts3.path;
if (!opts3.path.startsWith("/")) {
path236 = `/${path236}`;
}
url7 = new URL(util64.parseOrigin(url7).origin + path236);
} else {
if (!opts3) {
opts3 = typeof url7 === "object" ? url7 : {};
}
url7 = util64.parseURL(url7);
}
const { agent, dispatcher = getGlobalDispatcher2() } = opts3;
if (agent) {
throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
}
return fn.call(dispatcher, {
...opts3,
origin: url7.origin,
path: url7.search ? `${url7.pathname}${url7.search}` : url7.pathname,
method: opts3.method || (opts3.body ? "PUT" : "GET")
}, handler82);
};
}
module2.exports.setGlobalDispatcher = setGlobalDispatcher2;
module2.exports.getGlobalDispatcher = getGlobalDispatcher2;
var fetchImpl = require_fetch().fetch;
var currentFilename = typeof __filename !== "undefined" ? __filename : void 0;
function appendFetchStackTrace(err2, filename) {
if (!err2 || typeof err2 !== "object") {
return;
}
const stack = typeof err2.stack === "string" ? err2.stack : "";
const normalizedFilename = filename.replace(/\\/g, "/");
if (stack && (stack.includes(filename) || stack.includes(normalizedFilename))) {
return;
}
const capture = {};
Error.captureStackTrace(capture, appendFetchStackTrace);
if (!capture.stack) {
return;
}
const captureLines = capture.stack.split("\n").slice(1).join("\n");
err2.stack = stack ? `${stack}
${captureLines}` : capture.stack;
}
module2.exports.fetch = function fetch2(init2, options = void 0) {
return fetchImpl(init2, options).catch((err2) => {
if (currentFilename) {
appendFetchStackTrace(err2, currentFilename);
} else if (err2 && typeof err2 === "object") {
Error.captureStackTrace(err2, module2.exports.fetch);
}
throw err2;
});
};
module2.exports.Headers = require_headers().Headers;
module2.exports.Response = require_response().Response;
module2.exports.Request = require_request2().Request;
module2.exports.FormData = require_formdata().FormData;
var { setGlobalOrigin, getGlobalOrigin } = require_global();
module2.exports.setGlobalOrigin = setGlobalOrigin;
module2.exports.getGlobalOrigin = getGlobalOrigin;
var { CacheStorage } = require_cachestorage();
var { kConstruct } = require_symbols();
module2.exports.caches = new CacheStorage(kConstruct);
var { deleteCookie, getCookies, getSetCookies, setCookie, parseCookie } = require_cookies();
module2.exports.deleteCookie = deleteCookie;
module2.exports.getCookies = getCookies;
module2.exports.getSetCookies = getSetCookies;
module2.exports.setCookie = setCookie;
module2.exports.parseCookie = parseCookie;
var { parseMIMEType, serializeAMimeType } = require_data_url();
module2.exports.parseMIMEType = parseMIMEType;
module2.exports.serializeAMimeType = serializeAMimeType;
var { CloseEvent, ErrorEvent, MessageEvent } = require_events();
var { WebSocket, ping } = require_websocket();
module2.exports.WebSocket = WebSocket;
module2.exports.CloseEvent = CloseEvent;
module2.exports.ErrorEvent = ErrorEvent;
module2.exports.MessageEvent = MessageEvent;
module2.exports.ping = ping;
module2.exports.WebSocketStream = require_websocketstream().WebSocketStream;
module2.exports.WebSocketError = require_websocketerror().WebSocketError;
module2.exports.request = makeDispatcher(api2.request);
module2.exports.stream = makeDispatcher(api2.stream);
module2.exports.pipeline = makeDispatcher(api2.pipeline);
module2.exports.connect = makeDispatcher(api2.connect);
module2.exports.upgrade = makeDispatcher(api2.upgrade);
module2.exports.MockClient = MockClient;
module2.exports.MockCallHistory = MockCallHistory;
module2.exports.MockCallHistoryLog = MockCallHistoryLog;
module2.exports.MockPool = MockPool;
module2.exports.MockAgent = MockAgent;
module2.exports.SnapshotAgent = SnapshotAgent;
module2.exports.mockErrors = mockErrors;
var { EventSource } = require_eventsource();
module2.exports.EventSource = EventSource;
function install2() {
globalThis.fetch = module2.exports.fetch;
globalThis.Headers = module2.exports.Headers;
globalThis.Response = module2.exports.Response;
globalThis.Request = module2.exports.Request;
globalThis.FormData = module2.exports.FormData;
globalThis.WebSocket = module2.exports.WebSocket;
globalThis.CloseEvent = module2.exports.CloseEvent;
globalThis.ErrorEvent = module2.exports.ErrorEvent;
globalThis.MessageEvent = module2.exports.MessageEvent;
globalThis.EventSource = module2.exports.EventSource;
}
module2.exports.install = install2;
}
});
// ../network/fetch/lib/dispatcher.js
import tls from "node:tls";
import { URL as URL2 } from "node:url";
function stripSecFetchHeaders(dispatch) {
return (opts3, handler82) => {
if (opts3.headers) {
if (Array.isArray(opts3.headers)) {
const filtered = [];
for (let i4 = 0; i4 < opts3.headers.length; i4 += 2) {
if (!opts3.headers[i4].toLowerCase().startsWith("sec-fetch-")) {
filtered.push(opts3.headers[i4], opts3.headers[i4 + 1]);
}
}
opts3 = { ...opts3, headers: filtered };
} else if (typeof opts3.headers === "object") {
const entries = Symbol.iterator in opts3.headers ? opts3.headers : Object.entries(opts3.headers);
const headers = {};
for (const [key, value] of entries) {
if (!key.toLowerCase().startsWith("sec-fetch-")) {
headers[key] = value;
}
}
opts3 = { ...opts3, headers };
}
}
return dispatch(opts3, handler82);
};
}
function clearDispatcherCache() {
DISPATCHER_CACHE.clear();
}
async function destroyDispatchers() {
const dispatchers = /* @__PURE__ */ new Set([
GLOBAL_DISPATCHER,
(0, import_undici.getGlobalDispatcher)(),
...DISPATCHER_CACHE.values()
]);
await Promise.allSettled(Array.from(dispatchers, (dispatcher) => dispatcher.destroy()));
}
function getDispatcher(uri, opts3) {
if (!needsCustomDispatcher(opts3)) {
return void 0;
}
const parsedUri = new URL2(uri);
if ((opts3.httpProxy || opts3.httpsProxy) && !checkNoProxy(parsedUri, opts3)) {
const proxyDispatcher = getProxyDispatcher(parsedUri, opts3);
if (proxyDispatcher)
return proxyDispatcher;
}
return getNonProxyDispatcher(parsedUri, opts3);
}
function hasClientCertificates(certs) {
if (!certs)
return false;
for (const uri in certs) {
const entry = certs[uri];
if (entry.cert || entry.key || entry.ca)
return true;
}
return false;
}
function needsCustomDispatcher(opts3) {
return Boolean(opts3.httpProxy || opts3.httpsProxy || opts3.ca || opts3.cert || opts3.key || opts3.localAddress || opts3.strictSsl === false || hasClientCertificates(opts3.clientCertificates) || opts3.maxSockets);
}
function parseProxyUrl(proxy, protocol) {
let proxyUrl = proxy;
if (!proxyUrl.includes("://")) {
proxyUrl = `${protocol}//${proxyUrl}`;
}
try {
return new URL2(proxyUrl);
} catch {
throw new PnpmError("INVALID_PROXY", "Couldn't parse proxy URL", {
hint: "If your proxy URL contains a username and password, make sure to URL-encode them (you may use the encodeURIComponent function). For instance, https-proxy=https://use%21r:pas%2As@my.proxy:1234/foo. Do not encode the colon (:) between the username and password."
});
}
}
function getSocksProxyType(protocol) {
switch (protocol.replace(":", "")) {
case "socks4":
case "socks4a":
return 4;
default:
return 5;
}
}
function getProxyDispatcher(parsedUri, opts3) {
const isHttps = parsedUri.protocol === "https:";
const proxy = isHttps ? opts3.httpsProxy : opts3.httpProxy;
if (!proxy)
return null;
const proxyUrl = parseProxyUrl(proxy, parsedUri.protocol);
const sslConfig = pickSettingByUrl(opts3.clientCertificates, parsedUri.href);
const { ca, cert, key: certKey } = { ...opts3, ...sslConfig };
const key = [
`proxy:${proxyUrl.protocol}//${proxyUrl.username}:${proxyUrl.password}@${proxyUrl.host}:${proxyUrl.port}`,
`https:${isHttps.toString()}`,
`local-address:${opts3.localAddress ?? ">no-local-address<"}`,
`max-sockets:${(opts3.maxSockets ?? DEFAULT_MAX_SOCKETS).toString()}`,
`strict-ssl:${isHttps ? Boolean(opts3.strictSsl).toString() : ">no-strict-ssl<"}`,
`ca:${isHttps && ca?.toString() || "-"}`,
`cert:${isHttps && cert?.toString() || "-"}`,
`key:${isHttps && certKey?.toString() || "-"}`
].join(":");
if (DISPATCHER_CACHE.has(key)) {
return DISPATCHER_CACHE.get(key);
}
let dispatcher;
if (proxyUrl.protocol.startsWith("socks")) {
dispatcher = createSocksDispatcher(proxyUrl, parsedUri, opts3, { ca, cert, key: certKey });
} else {
dispatcher = createHttpProxyDispatcher(proxyUrl, isHttps, opts3, { ca, cert, key: certKey });
}
dispatcher = dispatcher.compose(stripSecFetchHeaders);
DISPATCHER_CACHE.set(key, dispatcher);
return dispatcher;
}
function createHttpProxyDispatcher(proxyUrl, isHttps, opts3, tlsConfig) {
return new import_undici.ProxyAgent({
uri: proxyUrl.href,
token: proxyUrl.username ? `Basic ${Buffer.from(`${decodeURIComponent(proxyUrl.username)}:${decodeURIComponent(proxyUrl.password)}`).toString("base64")}` : void 0,
connections: opts3.maxSockets ?? DEFAULT_MAX_SOCKETS,
keepAliveTimeout: KEEP_ALIVE_TIMEOUT,
keepAliveMaxTimeout: KEEP_ALIVE_MAX_TIMEOUT,
requestTls: isHttps ? {
ca: tlsConfig.ca,
cert: tlsConfig.cert,
key: tlsConfig.key,
rejectUnauthorized: opts3.strictSsl ?? true,
localAddress: opts3.localAddress
} : void 0,
proxyTls: {
ca: opts3.ca,
rejectUnauthorized: opts3.strictSsl ?? true
}
});
}
function createSocksDispatcher(proxyUrl, targetUri, opts3, tlsConfig) {
const isHttps = targetUri.protocol === "https:";
const socksType = getSocksProxyType(proxyUrl.protocol);
const proxyHost = proxyUrl.hostname;
const proxyPort = parseInt(proxyUrl.port, 10) || (socksType === 4 ? 1080 : 1080);
return new import_undici.Agent({
connections: opts3.maxSockets ?? DEFAULT_MAX_SOCKETS,
keepAliveTimeout: KEEP_ALIVE_TIMEOUT,
keepAliveMaxTimeout: KEEP_ALIVE_MAX_TIMEOUT,
connect: async (connectOpts, callback2) => {
try {
const { socket } = await import_socks.SocksClient.createConnection({
proxy: {
host: proxyHost,
port: proxyPort,
type: socksType,
userId: proxyUrl.username ? decodeURIComponent(proxyUrl.username) : void 0,
password: proxyUrl.password ? decodeURIComponent(proxyUrl.password) : void 0
},
command: "connect",
destination: {
host: connectOpts.hostname,
port: parseInt(String(connectOpts.port), 10)
}
});
if (isHttps) {
const tlsOpts = {
socket,
servername: connectOpts.hostname,
ca: tlsConfig.ca,
cert: tlsConfig.cert,
key: tlsConfig.key,
rejectUnauthorized: opts3.strictSsl ?? true
};
const tlsSocket = tls.connect(tlsOpts);
tlsSocket.on("secureConnect", () => {
callback2(null, tlsSocket);
});
tlsSocket.on("error", (err2) => {
callback2(err2, null);
});
} else {
callback2(null, socket);
}
} catch (err2) {
callback2(err2, null);
}
}
});
}
function getNonProxyDispatcher(parsedUri, opts3) {
const isHttps = parsedUri.protocol === "https:";
const sslConfig = pickSettingByUrl(opts3.clientCertificates, parsedUri.href);
const { ca, cert, key: certKey } = { ...opts3, ...sslConfig };
const key = [
`https:${isHttps.toString()}`,
`local-address:${opts3.localAddress ?? ">no-local-address<"}`,
`max-sockets:${(opts3.maxSockets ?? DEFAULT_MAX_SOCKETS).toString()}`,
`strict-ssl:${isHttps ? Boolean(opts3.strictSsl).toString() : ">no-strict-ssl<"}`,
`ca:${isHttps && ca?.toString() || "-"}`,
`cert:${isHttps && cert?.toString() || "-"}`,
`key:${isHttps && certKey?.toString() || "-"}`
].join(":");
if (DISPATCHER_CACHE.has(key)) {
return DISPATCHER_CACHE.get(key);
}
const connectTimeout = typeof opts3.timeout !== "number" || opts3.timeout === 0 ? 0 : opts3.timeout + 1;
const agent = new import_undici.Agent({
connections: opts3.maxSockets ?? DEFAULT_MAX_SOCKETS,
connectTimeout,
keepAliveTimeout: KEEP_ALIVE_TIMEOUT,
keepAliveMaxTimeout: KEEP_ALIVE_MAX_TIMEOUT,
connect: isHttps ? {
autoSelectFamily: true,
ca,
cert,
key: certKey,
rejectUnauthorized: opts3.strictSsl ?? true,
localAddress: opts3.localAddress
} : {
autoSelectFamily: true,
localAddress: opts3.localAddress
}
});
const dispatcher = agent.compose(stripSecFetchHeaders);
DISPATCHER_CACHE.set(key, dispatcher);
return dispatcher;
}
function checkNoProxy(parsedUri, opts3) {
const host = parsedUri.hostname.split(".").filter((x3) => x3).reverse();
if (typeof opts3.noProxy === "string") {
const noproxyArr = opts3.noProxy.split(",").map((s) => s.trim());
return noproxyArr.some((no) => {
const noParts = no.split(".").filter((x3) => x3).reverse();
if (noParts.length === 0) {
return false;
}
for (let i4 = 0; i4 < noParts.length; i4++) {
if (host[i4] !== noParts[i4]) {
return false;
}
}
return true;
});
}
return opts3.noProxy === true;
}
function pickSettingByUrl(settings, uri) {
if (!settings)
return void 0;
if (settings[uri])
return settings[uri];
const nerf = (0, import_config.nerfDart)(uri);
if (settings[nerf])
return settings[nerf];
const parsedUrl = new URL2(uri);
const withoutPort = removePort(parsedUrl);
if (settings[withoutPort])
return settings[withoutPort];
const maxParts = Object.keys(settings).reduce((max4, key) => {
const parts2 = key.split("/").length;
return parts2 > max4 ? parts2 : max4;
}, 0);
const parts = nerf.split("/");
for (let i4 = Math.min(parts.length, maxParts) - 1; i4 >= 3; i4--) {
const key = `${parts.slice(0, i4).join("/")}/`;
if (settings[key]) {
return settings[key];
}
}
if (withoutPort !== uri) {
return pickSettingByUrl(settings, withoutPort);
}
return void 0;
}
function removePort(parsedUrl) {
if (parsedUrl.port === "")
return parsedUrl.href;
const copy2 = new URL2(parsedUrl.href);
copy2.port = "";
const res = copy2.toString();
return res.endsWith("/") ? res : `${res}/`;
}
var import_config, import_socks, import_undici, DEFAULT_MAX_SOCKETS, KEEP_ALIVE_TIMEOUT, KEEP_ALIVE_MAX_TIMEOUT, GLOBAL_DISPATCHER, DISPATCHER_CACHE;
var init_dispatcher = __esm({
"../network/fetch/lib/dispatcher.js"() {
"use strict";
import_config = __toESM(require_dist(), 1);
init_lib2();
init_index_min();
import_socks = __toESM(require_build(), 1);
import_undici = __toESM(require_undici(), 1);
DEFAULT_MAX_SOCKETS = 50;
KEEP_ALIVE_TIMEOUT = 3e4;
KEEP_ALIVE_MAX_TIMEOUT = 6e5;
GLOBAL_DISPATCHER = new import_undici.Agent({
connections: DEFAULT_MAX_SOCKETS,
keepAliveTimeout: KEEP_ALIVE_TIMEOUT,
keepAliveMaxTimeout: KEEP_ALIVE_MAX_TIMEOUT,
connect: {
autoSelectFamily: true
}
}).compose(stripSecFetchHeaders);
(0, import_undici.setGlobalDispatcher)(GLOBAL_DISPATCHER);
DISPATCHER_CACHE = new I({
max: 50,
dispose: (dispatcher) => {
if (typeof dispatcher.close === "function") {
void dispatcher.close();
}
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/retry/0.2.0/52d770fd211440fd3e163bc4423f782e94fa5da8d9fab0b29e08d5abf0fac0fb/node_modules/@zkochan/retry/lib/retry_operation.js
var require_retry_operation = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/retry/0.2.0/52d770fd211440fd3e163bc4423f782e94fa5da8d9fab0b29e08d5abf0fac0fb/node_modules/@zkochan/retry/lib/retry_operation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var RetryOperation = class {
constructor(timeouts, options) {
var _a2;
this._originalTimeouts = [...timeouts];
this._timeouts = timeouts;
this._maxRetryTime = (_a2 = options === null || options === void 0 ? void 0 : options.maxRetryTime) !== null && _a2 !== void 0 ? _a2 : Infinity;
this._fn = null;
this._errors = [];
this._attempts = 1;
this._operationStart = null;
this._timer = null;
}
reset() {
this._attempts = 1;
this._timeouts = this._originalTimeouts;
}
stop() {
if (this._timer) {
clearTimeout(this._timer);
}
this._timeouts = [];
}
retry(err2) {
if (!err2) {
return false;
}
var currentTime = (/* @__PURE__ */ new Date()).getTime();
if (err2 && currentTime - this._operationStart >= this._maxRetryTime) {
this._errors.unshift(new Error("RetryOperation timeout occurred"));
return false;
}
this._errors.push(err2);
var timeout = this._timeouts.shift();
if (timeout === void 0) {
return false;
}
this._timer = setTimeout(() => this._fn(++this._attempts), timeout);
return timeout;
}
attempt(fn) {
this._fn = fn;
this._operationStart = (/* @__PURE__ */ new Date()).getTime();
this._fn(this._attempts);
}
errors() {
return this._errors;
}
attempts() {
return this._attempts;
}
mainError() {
if (this._errors.length === 0) {
return null;
}
var counts = {};
var mainError = null;
var mainErrorCount = 0;
for (var i4 = 0; i4 < this._errors.length; i4++) {
var error = this._errors[i4];
var message = error.message;
var count2 = (counts[message] || 0) + 1;
counts[message] = count2;
if (count2 >= mainErrorCount) {
mainError = error;
mainErrorCount = count2;
}
}
return mainError;
}
};
exports2.default = RetryOperation;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/retry/0.2.0/52d770fd211440fd3e163bc4423f782e94fa5da8d9fab0b29e08d5abf0fac0fb/node_modules/@zkochan/retry/lib/retry.js
var require_retry2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/retry/0.2.0/52d770fd211440fd3e163bc4423f782e94fa5da8d9fab0b29e08d5abf0fac0fb/node_modules/@zkochan/retry/lib/retry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createTimeout = exports2.createTimeouts = exports2.operation = void 0;
var retry_operation_1 = require_retry_operation();
function operation5(options) {
var timeouts = createTimeouts(options);
return new retry_operation_1.default(timeouts, {
maxRetryTime: options && options.maxRetryTime
});
}
exports2.operation = operation5;
function createTimeouts(options) {
var opts3 = {
retries: 10,
factor: 2,
minTimeout: 1 * 1e3,
maxTimeout: Infinity,
randomize: false,
...options
};
if (opts3.minTimeout > opts3.maxTimeout) {
throw new Error("minTimeout is greater than maxTimeout");
}
var timeouts = [];
for (var i4 = 0; i4 < opts3.retries; i4++) {
timeouts.push(createTimeout(i4, opts3));
}
timeouts.sort(function(a2, b) {
return a2 - b;
});
return timeouts;
}
exports2.createTimeouts = createTimeouts;
function createTimeout(attempt, opts3) {
var random2 = opts3.randomize ? Math.random() + 1 : 1;
var timeout = Math.round(random2 * opts3.minTimeout * Math.pow(opts3.factor, attempt));
timeout = Math.min(timeout, opts3.maxTimeout);
return timeout;
}
exports2.createTimeout = createTimeout;
}
});
// ../network/fetch/lib/fetch.js
function isRedirect(statusCode) {
return REDIRECT_CODES.has(statusCode);
}
async function fetch(url7, opts3 = {}) {
const retryOpts = opts3.retry ?? {};
const maxRetries = retryOpts.retries ?? 2;
const op = (0, import_retry.operation)({
factor: retryOpts.factor ?? 10,
maxTimeout: retryOpts.maxTimeout ?? 6e4,
minTimeout: retryOpts.minTimeout ?? 1e4,
randomize: false,
retries: maxRetries
});
try {
return await new Promise((resolve4, reject3) => {
op.attempt(async (attempt) => {
const urlString = typeof url7 === "string" ? url7 : url7.href ?? url7.toString();
const { retry: _retry, timeout, dispatcher, ...fetchOpts } = opts3;
const signal = timeout ? AbortSignal.timeout(timeout) : void 0;
try {
const res = await (0, import_undici2.fetch)(urlString, { ...fetchOpts, signal, dispatcher });
if (res.status >= 500 && res.status < 600 || [408, 409, 420, 429].includes(res.status)) {
throw new ResponseError(res);
} else {
resolve4(res);
}
} catch (error) {
const err2 = error;
const errorCode = err2?.code ?? err2?.cause?.code;
if (typeof errorCode === "string" && NO_RETRY_ERROR_CODES.has(errorCode)) {
reject3(error);
return;
}
const retryTimeout = op.retry(err2);
if (retryTimeout === false) {
reject3(op.mainError());
return;
}
const errorInfo = {
name: err2.name,
message: err2.message,
code: err2.code,
errno: err2.errno,
// For HTTP errors from ResponseError class
status: err2.status,
statusCode: err2.statusCode,
// undici wraps the actual network error in a cause property
cause: err2.cause ? {
code: err2.cause.code,
errno: err2.cause.errno
} : void 0
};
requestRetryLogger.debug({
attempt,
error: errorInfo,
maxRetries,
method: opts3.method ?? "GET",
timeout: retryTimeout,
url: urlString
});
}
});
});
} catch (err2) {
if (err2 instanceof ResponseError) {
return err2.res;
}
throw err2;
}
}
var import_retry, import_undici2, NO_RETRY_ERROR_CODES, REDIRECT_CODES, ResponseError;
var init_fetch = __esm({
"../network/fetch/lib/fetch.js"() {
"use strict";
init_lib6();
import_retry = __toESM(require_retry2(), 1);
import_undici2 = __toESM(require_undici(), 1);
NO_RETRY_ERROR_CODES = /* @__PURE__ */ new Set([
"SELF_SIGNED_CERT_IN_CHAIN",
"ERR_OSSL_PEM_NO_START_LINE"
]);
REDIRECT_CODES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
ResponseError = class _ResponseError extends Error {
res;
code;
status;
statusCode;
url;
constructor(res) {
super(res.statusText);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, _ResponseError);
}
this.name = this.constructor.name;
this.res = res;
this.code = this.status = this.statusCode = res.status;
this.url = res.url;
}
};
}
});
// ../network/fetch/lib/fetchFromRegistry.js
import { URL as URL3 } from "node:url";
function fetchWithDispatcher(url7, opts3) {
const dispatcher = getDispatcher(url7.toString(), {
...opts3.dispatcherOptions,
strictSsl: opts3.dispatcherOptions.strictSsl ?? true
});
return fetch(url7, {
...opts3,
dispatcher
});
}
function createDispatchedFetch(opts3) {
const dispatcherOptions = {
...opts3,
clientCertificates: opts3.clientCertificates ?? extractTlsConfigs(opts3.configByUri)
};
return (url7, fetchOpts) => fetchWithDispatcher(url7, { ...fetchOpts, dispatcherOptions });
}
function createFetchFromRegistry(defaultOpts) {
const clientCertificates = extractTlsConfigs(defaultOpts.configByUri);
return async (url7, opts3) => {
const headers = {
"user-agent": USER_AGENT,
...getHeaders({
auth: opts3?.authHeaderValue,
fullMetadata: opts3?.fullMetadata,
method: opts3?.method,
userAgent: defaultOpts.userAgent
})
};
if (opts3?.ifNoneMatch) {
headers["if-none-match"] = opts3.ifNoneMatch;
}
if (opts3?.ifModifiedSince) {
headers["if-modified-since"] = opts3.ifModifiedSince;
}
if (opts3?.headers) {
const optsHeaders = opts3.headers instanceof Headers ? Object.fromEntries(opts3.headers.entries()) : Array.isArray(opts3.headers) ? Object.fromEntries(opts3.headers) : opts3.headers;
Object.assign(headers, optsHeaders);
}
let redirects = 0;
let urlObject = new URL3(url7);
const originalHost = urlObject.host;
while (true) {
const dispatcherOptions = {
...defaultOpts,
...opts3,
strictSsl: defaultOpts.strictSsl ?? true,
clientCertificates
};
const response = await fetchWithDispatcher(urlObject, {
dispatcherOptions,
body: opts3?.body,
// if verifying integrity, native fetch must not decompress
headers,
method: opts3?.method,
redirect: "manual",
retry: opts3?.retry,
timeout: opts3?.timeout ?? 6e4
});
if (!isRedirect(response.status) || redirects >= MAX_FOLLOWED_REDIRECTS) {
return response;
}
redirects++;
urlObject = resolveRedirectUrl(response, urlObject);
if (originalHost === urlObject.host)
continue;
if (headers["authorization"]) {
delete headers.authorization;
}
delete headers["npm-otp"];
}
};
}
function getHeaders(opts3) {
const headers = {};
if (!opts3.method || opts3.method === "GET" || opts3.method === "HEAD") {
headers.accept = opts3.fullMetadata === true ? ACCEPT_FULL_DOC : ACCEPT_ABBREVIATED_DOC;
}
if (opts3.auth) {
headers["authorization"] = opts3.auth;
}
if (opts3.userAgent) {
headers["user-agent"] = opts3.userAgent;
}
return headers;
}
function extractTlsConfigs(configByUri) {
if (!configByUri)
return void 0;
let result2;
for (const [uri, config2] of Object.entries(configByUri)) {
if (config2.tls) {
result2 ??= {};
result2[uri] = config2.tls;
}
}
return result2;
}
function resolveRedirectUrl(response, currentUrl) {
const location = response.headers.get("location");
if (!location) {
throw new Error(`Redirect location header missing for ${redactUrlCredentials(currentUrl.toString())}`);
}
return new URL3(location, currentUrl);
}
var USER_AGENT, FULL_DOC, ACCEPT_FULL_DOC, ABBREVIATED_DOC, ACCEPT_ABBREVIATED_DOC, MAX_FOLLOWED_REDIRECTS;
var init_fetchFromRegistry = __esm({
"../network/fetch/lib/fetchFromRegistry.js"() {
"use strict";
init_lib2();
init_dispatcher();
init_fetch();
USER_AGENT = "pnpm";
FULL_DOC = "application/json";
ACCEPT_FULL_DOC = `${FULL_DOC}; q=1.0, */*`;
ABBREVIATED_DOC = "application/vnd.npm.install-v1+json";
ACCEPT_ABBREVIATED_DOC = `${ABBREVIATED_DOC}; q=1.0, ${FULL_DOC}; q=0.8, */*`;
MAX_FOLLOWED_REDIRECTS = 20;
}
});
// ../network/fetch/lib/index.js
var lib_exports2 = {};
__export(lib_exports2, {
clearDispatcherCache: () => clearDispatcherCache,
createDispatchedFetch: () => createDispatchedFetch,
createFetchFromRegistry: () => createFetchFromRegistry,
destroyDispatchers: () => destroyDispatchers,
fetch: () => fetch,
fetchWithDispatcher: () => fetchWithDispatcher,
getDispatcher: () => getDispatcher,
isRedirect: () => isRedirect
});
var init_lib23 = __esm({
"../network/fetch/lib/index.js"() {
"use strict";
init_dispatcher();
init_fetch();
init_fetchFromRegistry();
}
});
// lib/exit.js
async function exit(status) {
if (process.platform === "win32") {
try {
const { destroyDispatchers: destroyDispatchers2 } = await Promise.resolve().then(() => (init_lib23(), lib_exports2));
await destroyDispatchers2();
} catch {
}
}
process.exit(status);
}
var init_exit = __esm({
"lib/exit.js"() {
"use strict";
}
});
// ../cli/meta/lib/index.js
function detectIfCurrentPkgIsExecutable(_proc) {
try {
return __require("node:sea").isSea();
} catch {
return false;
}
}
function isExecutedByCorepack(env3 = process.env) {
return env3.COREPACK_ROOT != null;
}
function getCurrentPackageName() {
return detectIfCurrentPkgIsExecutable() ? "@pnpm/exe" : "pnpm";
}
var defaultManifest, pkgJson, packageManager;
var init_lib24 = __esm({
"../cli/meta/lib/index.js"() {
"use strict";
defaultManifest = {
name: true ? "pnpm" : "pnpm",
version: true ? "11.13.0" : "0.0.0"
};
pkgJson = defaultManifest;
packageManager = {
name: pkgJson.name,
// Never a prerelease version
stableVersion: pkgJson.version.includes("-") ? pkgJson.version.slice(0, pkgJson.version.indexOf("-")) : pkgJson.version,
// This may be a 3.0.0-beta.2
version: pkgJson.version
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/which/2.0.3/b3edc9bb2e615e33207d84ba1cf543486578be60c85e0eb74cbce3db918d6865/node_modules/@zkochan/which/which.js
var require_which2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/which/2.0.3/b3edc9bb2e615e33207d84ba1cf543486578be60c85e0eb74cbce3db918d6865/node_modules/@zkochan/which/which.js"(exports2, module2) {
var isWindows15 = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
var path236 = __require("path");
var COLON = isWindows15 ? ";" : ":";
var isexe = require_isexe();
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, opt) => {
const colon = opt.colon || COLON;
const pathEnv = cmd.match(/\//) || isWindows15 && cmd.match(/\\/) ? [""] : (opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(colon);
const pathExtExe = isWindows15 ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
const pathExt = isWindows15 ? pathExtExe.split(colon) : [""];
if (isWindows15) {
if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
pathExt.unshift("");
}
return {
pathEnv,
pathExt,
pathExtExe
};
};
var which4 = (cmd, opt, cb) => {
if (typeof opt === "function") {
cb = opt;
opt = {};
}
if (!opt)
opt = {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
const step2 = (i4) => new Promise((resolve4, reject3) => {
if (i4 === pathEnv.length)
return opt.all && found.length ? resolve4(found) : reject3(getNotFoundError(cmd));
const ppRaw = pathEnv[i4];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path236.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
resolve4(subStep(p, i4, 0));
});
const subStep = (p, i4, ii) => new Promise((resolve4, reject3) => {
if (ii === pathExt.length)
return resolve4(step2(i4 + 1));
const ext = pathExt[ii];
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
if (!er && is) {
if (opt.all)
found.push(p + ext);
else
return resolve4(p + ext);
}
return resolve4(subStep(p, i4, ii + 1));
});
});
return cb ? step2(0).then((res) => cb(null, res), cb) : step2(0);
};
var whichSync = (cmd, opt) => {
opt = opt || {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (let i4 = 0; i4 < pathEnv.length; i4++) {
const ppRaw = pathEnv[i4];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path236.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
for (let j2 = 0; j2 < pathExt.length; j2++) {
const cur = p + pathExt[j2];
try {
const is = isexe.sync(cur, { pathExt: pathExtExe });
if (is) {
if (opt.all)
found.push(cur);
else
return cur;
}
} catch (ex) {
}
}
}
if (opt.all && found.length)
return found;
if (opt.nothrow)
return null;
throw getNotFoundError(cmd);
};
module2.exports = which4;
which4.sync = whichSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-plain-obj/4.1.0/d7fab263ffdd134b8e9e6130a60458baf7017c81e96947d5a2e6383c3d47b281/node_modules/is-plain-obj/index.js
function isPlainObject(value) {
if (typeof value !== "object" || value === null) {
return false;
}
const prototype = Object.getPrototypeOf(value);
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
}
var init_is_plain_obj = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-plain-obj/4.1.0/d7fab263ffdd134b8e9e6130a60458baf7017c81e96947d5a2e6383c3d47b281/node_modules/is-plain-obj/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/file-url.js
import { fileURLToPath as fileURLToPath3 } from "node:url";
var safeNormalizeFileUrl, normalizeDenoExecPath, isDenoExecPath, normalizeFileUrl;
var init_file_url = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/file-url.js"() {
safeNormalizeFileUrl = (file, name) => {
const fileString = normalizeFileUrl(normalizeDenoExecPath(file));
if (typeof fileString !== "string") {
throw new TypeError(`${name} must be a string or a file URL: ${fileString}.`);
}
return fileString;
};
normalizeDenoExecPath = (file) => isDenoExecPath(file) ? file.toString() : file;
isDenoExecPath = (file) => typeof file !== "string" && file && Object.getPrototypeOf(file) === String.prototype;
normalizeFileUrl = (file) => file instanceof URL ? fileURLToPath3(file) : file;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/parameters.js
var normalizeParameters;
var init_parameters = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/parameters.js"() {
init_is_plain_obj();
init_file_url();
normalizeParameters = (rawFile, rawArguments = [], rawOptions = {}) => {
const filePath = safeNormalizeFileUrl(rawFile, "First argument");
const [commandArguments, options] = isPlainObject(rawArguments) ? [[], rawArguments] : [rawArguments, rawOptions];
if (!Array.isArray(commandArguments)) {
throw new TypeError(`Second argument must be either an array of arguments or an options object: ${commandArguments}`);
}
if (commandArguments.some((commandArgument) => typeof commandArgument === "object" && commandArgument !== null)) {
throw new TypeError(`Second argument must be an array of strings: ${commandArguments}`);
}
const normalizedArguments = commandArguments.map(String);
const nullByteArgument = normalizedArguments.find((normalizedArgument) => normalizedArgument.includes("\0"));
if (nullByteArgument !== void 0) {
throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${nullByteArgument}`);
}
if (!isPlainObject(options)) {
throw new TypeError(`Last argument must be an options object: ${options}`);
}
return [filePath, normalizedArguments, options];
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/uint-array.js
import { StringDecoder } from "node:string_decoder";
var objectToString, isArrayBuffer, isUint8Array, bufferToUint8Array, textEncoder, stringToUint8Array, textDecoder, uint8ArrayToString, joinToString, uint8ArraysToStrings, joinToUint8Array, stringsToUint8Arrays, concatUint8Arrays, getJoinLength;
var init_uint_array = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/uint-array.js"() {
({ toString: objectToString } = Object.prototype);
isArrayBuffer = (value) => objectToString.call(value) === "[object ArrayBuffer]";
isUint8Array = (value) => objectToString.call(value) === "[object Uint8Array]";
bufferToUint8Array = (buffer3) => new Uint8Array(buffer3.buffer, buffer3.byteOffset, buffer3.byteLength);
textEncoder = new TextEncoder();
stringToUint8Array = (string) => textEncoder.encode(string);
textDecoder = new TextDecoder();
uint8ArrayToString = (uint8Array) => textDecoder.decode(uint8Array);
joinToString = (uint8ArraysOrStrings, encoding) => {
const strings2 = uint8ArraysToStrings(uint8ArraysOrStrings, encoding);
return strings2.join("");
};
uint8ArraysToStrings = (uint8ArraysOrStrings, encoding) => {
if (encoding === "utf8" && uint8ArraysOrStrings.every((uint8ArrayOrString) => typeof uint8ArrayOrString === "string")) {
return uint8ArraysOrStrings;
}
const decoder2 = new StringDecoder(encoding);
const strings2 = uint8ArraysOrStrings.map((uint8ArrayOrString) => typeof uint8ArrayOrString === "string" ? stringToUint8Array(uint8ArrayOrString) : uint8ArrayOrString).map((uint8Array) => decoder2.write(uint8Array));
const finalString = decoder2.end();
return finalString === "" ? strings2 : [...strings2, finalString];
};
joinToUint8Array = (uint8ArraysOrStrings) => {
if (uint8ArraysOrStrings.length === 1 && isUint8Array(uint8ArraysOrStrings[0])) {
return uint8ArraysOrStrings[0];
}
return concatUint8Arrays(stringsToUint8Arrays(uint8ArraysOrStrings));
};
stringsToUint8Arrays = (uint8ArraysOrStrings) => uint8ArraysOrStrings.map((uint8ArrayOrString) => typeof uint8ArrayOrString === "string" ? stringToUint8Array(uint8ArrayOrString) : uint8ArrayOrString);
concatUint8Arrays = (uint8Arrays) => {
const result2 = new Uint8Array(getJoinLength(uint8Arrays));
let index2 = 0;
for (const uint8Array of uint8Arrays) {
result2.set(uint8Array, index2);
index2 += uint8Array.length;
}
return result2;
};
getJoinLength = (uint8Arrays) => {
let joinLength = 0;
for (const uint8Array of uint8Arrays) {
joinLength += uint8Array.length;
}
return joinLength;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/template.js
import { ChildProcess } from "node:child_process";
var isTemplateString, parseTemplates, parseTemplate, splitByWhitespaces, DELIMITERS, ESCAPE_LENGTH, concatTokens, parseExpression, getSubprocessResult;
var init_template = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/template.js"() {
init_is_plain_obj();
init_uint_array();
isTemplateString = (templates) => Array.isArray(templates) && Array.isArray(templates.raw);
parseTemplates = (templates, expressions) => {
let tokens = [];
for (const [index2, template] of templates.entries()) {
tokens = parseTemplate({
templates,
expressions,
tokens,
index: index2,
template
});
}
if (tokens.length === 0) {
throw new TypeError("Template script must not be empty");
}
const [file, ...commandArguments] = tokens;
return [file, commandArguments, {}];
};
parseTemplate = ({ templates, expressions, tokens, index: index2, template }) => {
if (template === void 0) {
throw new TypeError(`Invalid backslash sequence: ${templates.raw[index2]}`);
}
const { nextTokens, leadingWhitespaces, trailingWhitespaces } = splitByWhitespaces(template, templates.raw[index2]);
const newTokens = concatTokens(tokens, nextTokens, leadingWhitespaces);
if (index2 === expressions.length) {
return newTokens;
}
const expression = expressions[index2];
const expressionTokens = Array.isArray(expression) ? expression.map((expression2) => parseExpression(expression2)) : [parseExpression(expression)];
return concatTokens(newTokens, expressionTokens, trailingWhitespaces);
};
splitByWhitespaces = (template, rawTemplate) => {
if (rawTemplate.length === 0) {
return { nextTokens: [], leadingWhitespaces: false, trailingWhitespaces: false };
}
const nextTokens = [];
let templateStart = 0;
const leadingWhitespaces = DELIMITERS.has(rawTemplate[0]);
for (let templateIndex = 0, rawIndex = 0; templateIndex < template.length; templateIndex += 1, rawIndex += 1) {
const rawCharacter = rawTemplate[rawIndex];
if (DELIMITERS.has(rawCharacter)) {
if (templateStart !== templateIndex) {
nextTokens.push(template.slice(templateStart, templateIndex));
}
templateStart = templateIndex + 1;
} else if (rawCharacter === "\\") {
const nextRawCharacter = rawTemplate[rawIndex + 1];
if (nextRawCharacter === "\n") {
templateIndex -= 1;
rawIndex += 1;
} else if (nextRawCharacter === "u" && rawTemplate[rawIndex + 2] === "{") {
rawIndex = rawTemplate.indexOf("}", rawIndex + 3);
} else {
rawIndex += ESCAPE_LENGTH[nextRawCharacter] ?? 1;
}
}
}
const trailingWhitespaces = templateStart === template.length;
if (!trailingWhitespaces) {
nextTokens.push(template.slice(templateStart));
}
return { nextTokens, leadingWhitespaces, trailingWhitespaces };
};
DELIMITERS = /* @__PURE__ */ new Set([" ", " ", "\r", "\n"]);
ESCAPE_LENGTH = { x: 3, u: 5 };
concatTokens = (tokens, nextTokens, isSeparated) => isSeparated || tokens.length === 0 || nextTokens.length === 0 ? [...tokens, ...nextTokens] : [
...tokens.slice(0, -1),
`${tokens.at(-1)}${nextTokens[0]}`,
...nextTokens.slice(1)
];
parseExpression = (expression) => {
const typeOfExpression = typeof expression;
if (typeOfExpression === "string") {
return expression;
}
if (typeOfExpression === "number") {
return String(expression);
}
if (isPlainObject(expression) && ("stdout" in expression || "isMaxBuffer" in expression)) {
return getSubprocessResult(expression);
}
if (expression instanceof ChildProcess || Object.prototype.toString.call(expression) === "[object Promise]") {
throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");
}
throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`);
};
getSubprocessResult = ({ stdout }) => {
if (typeof stdout === "string") {
return stdout;
}
if (isUint8Array(stdout)) {
return uint8ArrayToString(stdout);
}
if (stdout === void 0) {
throw new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);
}
throw new TypeError(`Unexpected "${typeof stdout}" stdout in template expression`);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/standard-stream.js
import process10 from "node:process";
var isStandardStream, STANDARD_STREAMS, STANDARD_STREAMS_ALIASES, getStreamName;
var init_standard_stream = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/standard-stream.js"() {
isStandardStream = (stream2) => STANDARD_STREAMS.includes(stream2);
STANDARD_STREAMS = [process10.stdin, process10.stdout, process10.stderr];
STANDARD_STREAMS_ALIASES = ["stdin", "stdout", "stderr"];
getStreamName = (fdNumber) => STANDARD_STREAMS_ALIASES[fdNumber] ?? `stdio[${fdNumber}]`;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/specific.js
import { debuglog } from "node:util";
var normalizeFdSpecificOptions, normalizeFdSpecificOption, getStdioLength, normalizeFdSpecificValue, normalizeOptionObject, compareFdName, getFdNameOrder, parseFdName, parseFd, FD_REGEXP, addDefaultValue, verboseDefault, DEFAULT_OPTIONS2, FD_SPECIFIC_OPTIONS, getFdSpecificValue;
var init_specific = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/specific.js"() {
init_is_plain_obj();
init_standard_stream();
normalizeFdSpecificOptions = (options) => {
const optionsCopy = { ...options };
for (const optionName of FD_SPECIFIC_OPTIONS) {
optionsCopy[optionName] = normalizeFdSpecificOption(options, optionName);
}
return optionsCopy;
};
normalizeFdSpecificOption = (options, optionName) => {
const optionBaseArray = Array.from({ length: getStdioLength(options) + 1 });
const optionArray = normalizeFdSpecificValue(options[optionName], optionBaseArray, optionName);
return addDefaultValue(optionArray, optionName);
};
getStdioLength = ({ stdio }) => Array.isArray(stdio) ? Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length) : STANDARD_STREAMS_ALIASES.length;
normalizeFdSpecificValue = (optionValue, optionArray, optionName) => isPlainObject(optionValue) ? normalizeOptionObject(optionValue, optionArray, optionName) : optionArray.fill(optionValue);
normalizeOptionObject = (optionValue, optionArray, optionName) => {
for (const fdName of Object.keys(optionValue).sort(compareFdName)) {
for (const fdNumber of parseFdName(fdName, optionName, optionArray)) {
optionArray[fdNumber] = optionValue[fdName];
}
}
return optionArray;
};
compareFdName = (fdNameA, fdNameB) => getFdNameOrder(fdNameA) < getFdNameOrder(fdNameB) ? 1 : -1;
getFdNameOrder = (fdName) => {
if (fdName === "stdout" || fdName === "stderr") {
return 0;
}
return fdName === "all" ? 2 : 1;
};
parseFdName = (fdName, optionName, optionArray) => {
if (fdName === "ipc") {
return [optionArray.length - 1];
}
const fdNumber = parseFd(fdName);
if (fdNumber === void 0 || fdNumber === 0) {
throw new TypeError(`"${optionName}.${fdName}" is invalid.
It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", "${optionName}.ipc", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);
}
if (fdNumber >= optionArray.length) {
throw new TypeError(`"${optionName}.${fdName}" is invalid: that file descriptor does not exist.
Please set the "stdio" option to ensure that file descriptor exists.`);
}
return fdNumber === "all" ? [1, 2] : [fdNumber];
};
parseFd = (fdName) => {
if (fdName === "all") {
return fdName;
}
if (STANDARD_STREAMS_ALIASES.includes(fdName)) {
return STANDARD_STREAMS_ALIASES.indexOf(fdName);
}
const regexpResult = FD_REGEXP.exec(fdName);
if (regexpResult !== null) {
return Number(regexpResult[1]);
}
};
FD_REGEXP = /^fd(\d+)$/;
addDefaultValue = (optionArray, optionName) => optionArray.map((optionValue) => optionValue === void 0 ? DEFAULT_OPTIONS2[optionName] : optionValue);
verboseDefault = debuglog("execa").enabled ? "full" : "none";
DEFAULT_OPTIONS2 = {
lines: false,
buffer: true,
maxBuffer: 1e3 * 1e3 * 100,
verbose: verboseDefault,
stripFinalNewline: true
};
FD_SPECIFIC_OPTIONS = ["lines", "buffer", "maxBuffer", "verbose", "stripFinalNewline"];
getFdSpecificValue = (optionArray, fdNumber) => fdNumber === "ipc" ? optionArray.at(-1) : optionArray[fdNumber];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/values.js
var isVerbose, isFullVerbose, getVerboseFunction, getFdVerbose, getFdGenericVerbose, isVerboseFunction, VERBOSE_VALUES;
var init_values2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/values.js"() {
init_specific();
isVerbose = ({ verbose }, fdNumber) => getFdVerbose(verbose, fdNumber) !== "none";
isFullVerbose = ({ verbose }, fdNumber) => !["none", "short"].includes(getFdVerbose(verbose, fdNumber));
getVerboseFunction = ({ verbose }, fdNumber) => {
const fdVerbose = getFdVerbose(verbose, fdNumber);
return isVerboseFunction(fdVerbose) ? fdVerbose : void 0;
};
getFdVerbose = (verbose, fdNumber) => fdNumber === void 0 ? getFdGenericVerbose(verbose) : getFdSpecificValue(verbose, fdNumber);
getFdGenericVerbose = (verbose) => verbose.find((fdVerbose) => isVerboseFunction(fdVerbose)) ?? VERBOSE_VALUES.findLast((fdVerbose) => verbose.includes(fdVerbose));
isVerboseFunction = (fdVerbose) => typeof fdVerbose === "function";
VERBOSE_VALUES = ["none", "short", "full"];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/escape.js
import { platform as platform3 } from "node:process";
import { stripVTControlCharacters } from "node:util";
var joinCommand, escapeLines, escapeControlCharacters, escapeControlCharacter, getSpecialCharRegExp, SPECIAL_CHAR_REGEXP, COMMON_ESCAPES, ASTRAL_START, quoteString, NO_ESCAPE_REGEXP;
var init_escape = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/escape.js"() {
joinCommand = (filePath, rawArguments) => {
const fileAndArguments = [filePath, ...rawArguments];
const command = fileAndArguments.join(" ");
const escapedCommand = fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ");
return { command, escapedCommand };
};
escapeLines = (lines) => stripVTControlCharacters(lines).split("\n").map((line) => escapeControlCharacters(line)).join("\n");
escapeControlCharacters = (line) => line.replaceAll(SPECIAL_CHAR_REGEXP, (character) => escapeControlCharacter(character));
escapeControlCharacter = (character) => {
const commonEscape = COMMON_ESCAPES[character];
if (commonEscape !== void 0) {
return commonEscape;
}
const codepoint = character.codePointAt(0);
const codepointHex = codepoint.toString(16);
return codepoint <= ASTRAL_START ? `\\u${codepointHex.padStart(4, "0")}` : `\\U${codepointHex}`;
};
getSpecialCharRegExp = () => {
try {
return new RegExp("\\p{Separator}|\\p{Other}", "gu");
} catch {
return /[\s\u0000-\u001F\u007F-\u009F\u00AD]/g;
}
};
SPECIAL_CHAR_REGEXP = getSpecialCharRegExp();
COMMON_ESCAPES = {
" ": " ",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
" ": "\\t"
};
ASTRAL_START = 65535;
quoteString = (escapedArgument) => {
if (NO_ESCAPE_REGEXP.test(escapedArgument)) {
return escapedArgument;
}
return platform3 === "win32" ? `"${escapedArgument.replaceAll('"', '""')}"` : `'${escapedArgument.replaceAll("'", "'\\''")}'`;
};
NO_ESCAPE_REGEXP = /^[\w./-]+$/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-unicode-supported/2.1.0/96c705b4b6f40a3ee50bcf0ab7d304f2637226f60351fe5d31878fc07eaa7353/node_modules/is-unicode-supported/index.js
import process11 from "node:process";
function isUnicodeSupported() {
const { env: env3 } = process11;
const { TERM, TERM_PROGRAM } = env3;
if (process11.platform !== "win32") {
return TERM !== "linux";
}
return Boolean(env3.WT_SESSION) || Boolean(env3.TERMINUS_SUBLIME) || env3.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env3.TERMINAL_EMULATOR === "JetBrains-JediTerm";
}
var init_is_unicode_supported = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-unicode-supported/2.1.0/96c705b4b6f40a3ee50bcf0ab7d304f2637226f60351fe5d31878fc07eaa7353/node_modules/is-unicode-supported/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/figures/6.1.0/d8dd52fdddaf4d4228ca5a777c9d979f7b2990c249a139eece05433d4cdc529e/node_modules/figures/index.js
var common2, specialMainSymbols, specialFallbackSymbols, mainSymbols, fallbackSymbols, shouldUseMain, figures, figures_default, replacements;
var init_figures = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/figures/6.1.0/d8dd52fdddaf4d4228ca5a777c9d979f7b2990c249a139eece05433d4cdc529e/node_modules/figures/index.js"() {
init_is_unicode_supported();
common2 = {
circleQuestionMark: "(?)",
questionMarkPrefix: "(?)",
square: "\u2588",
squareDarkShade: "\u2593",
squareMediumShade: "\u2592",
squareLightShade: "\u2591",
squareTop: "\u2580",
squareBottom: "\u2584",
squareLeft: "\u258C",
squareRight: "\u2590",
squareCenter: "\u25A0",
bullet: "\u25CF",
dot: "\u2024",
ellipsis: "\u2026",
pointerSmall: "\u203A",
triangleUp: "\u25B2",
triangleUpSmall: "\u25B4",
triangleDown: "\u25BC",
triangleDownSmall: "\u25BE",
triangleLeftSmall: "\u25C2",
triangleRightSmall: "\u25B8",
home: "\u2302",
heart: "\u2665",
musicNote: "\u266A",
musicNoteBeamed: "\u266B",
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
arrowLeftRight: "\u2194",
arrowUpDown: "\u2195",
almostEqual: "\u2248",
notEqual: "\u2260",
lessOrEqual: "\u2264",
greaterOrEqual: "\u2265",
identical: "\u2261",
infinity: "\u221E",
subscriptZero: "\u2080",
subscriptOne: "\u2081",
subscriptTwo: "\u2082",
subscriptThree: "\u2083",
subscriptFour: "\u2084",
subscriptFive: "\u2085",
subscriptSix: "\u2086",
subscriptSeven: "\u2087",
subscriptEight: "\u2088",
subscriptNine: "\u2089",
oneHalf: "\xBD",
oneThird: "\u2153",
oneQuarter: "\xBC",
oneFifth: "\u2155",
oneSixth: "\u2159",
oneEighth: "\u215B",
twoThirds: "\u2154",
twoFifths: "\u2156",
threeQuarters: "\xBE",
threeFifths: "\u2157",
threeEighths: "\u215C",
fourFifths: "\u2158",
fiveSixths: "\u215A",
fiveEighths: "\u215D",
sevenEighths: "\u215E",
line: "\u2500",
lineBold: "\u2501",
lineDouble: "\u2550",
lineDashed0: "\u2504",
lineDashed1: "\u2505",
lineDashed2: "\u2508",
lineDashed3: "\u2509",
lineDashed4: "\u254C",
lineDashed5: "\u254D",
lineDashed6: "\u2574",
lineDashed7: "\u2576",
lineDashed8: "\u2578",
lineDashed9: "\u257A",
lineDashed10: "\u257C",
lineDashed11: "\u257E",
lineDashed12: "\u2212",
lineDashed13: "\u2013",
lineDashed14: "\u2010",
lineDashed15: "\u2043",
lineVertical: "\u2502",
lineVerticalBold: "\u2503",
lineVerticalDouble: "\u2551",
lineVerticalDashed0: "\u2506",
lineVerticalDashed1: "\u2507",
lineVerticalDashed2: "\u250A",
lineVerticalDashed3: "\u250B",
lineVerticalDashed4: "\u254E",
lineVerticalDashed5: "\u254F",
lineVerticalDashed6: "\u2575",
lineVerticalDashed7: "\u2577",
lineVerticalDashed8: "\u2579",
lineVerticalDashed9: "\u257B",
lineVerticalDashed10: "\u257D",
lineVerticalDashed11: "\u257F",
lineDownLeft: "\u2510",
lineDownLeftArc: "\u256E",
lineDownBoldLeftBold: "\u2513",
lineDownBoldLeft: "\u2512",
lineDownLeftBold: "\u2511",
lineDownDoubleLeftDouble: "\u2557",
lineDownDoubleLeft: "\u2556",
lineDownLeftDouble: "\u2555",
lineDownRight: "\u250C",
lineDownRightArc: "\u256D",
lineDownBoldRightBold: "\u250F",
lineDownBoldRight: "\u250E",
lineDownRightBold: "\u250D",
lineDownDoubleRightDouble: "\u2554",
lineDownDoubleRight: "\u2553",
lineDownRightDouble: "\u2552",
lineUpLeft: "\u2518",
lineUpLeftArc: "\u256F",
lineUpBoldLeftBold: "\u251B",
lineUpBoldLeft: "\u251A",
lineUpLeftBold: "\u2519",
lineUpDoubleLeftDouble: "\u255D",
lineUpDoubleLeft: "\u255C",
lineUpLeftDouble: "\u255B",
lineUpRight: "\u2514",
lineUpRightArc: "\u2570",
lineUpBoldRightBold: "\u2517",
lineUpBoldRight: "\u2516",
lineUpRightBold: "\u2515",
lineUpDoubleRightDouble: "\u255A",
lineUpDoubleRight: "\u2559",
lineUpRightDouble: "\u2558",
lineUpDownLeft: "\u2524",
lineUpBoldDownBoldLeftBold: "\u252B",
lineUpBoldDownBoldLeft: "\u2528",
lineUpDownLeftBold: "\u2525",
lineUpBoldDownLeftBold: "\u2529",
lineUpDownBoldLeftBold: "\u252A",
lineUpDownBoldLeft: "\u2527",
lineUpBoldDownLeft: "\u2526",
lineUpDoubleDownDoubleLeftDouble: "\u2563",
lineUpDoubleDownDoubleLeft: "\u2562",
lineUpDownLeftDouble: "\u2561",
lineUpDownRight: "\u251C",
lineUpBoldDownBoldRightBold: "\u2523",
lineUpBoldDownBoldRight: "\u2520",
lineUpDownRightBold: "\u251D",
lineUpBoldDownRightBold: "\u2521",
lineUpDownBoldRightBold: "\u2522",
lineUpDownBoldRight: "\u251F",
lineUpBoldDownRight: "\u251E",
lineUpDoubleDownDoubleRightDouble: "\u2560",
lineUpDoubleDownDoubleRight: "\u255F",
lineUpDownRightDouble: "\u255E",
lineDownLeftRight: "\u252C",
lineDownBoldLeftBoldRightBold: "\u2533",
lineDownLeftBoldRightBold: "\u252F",
lineDownBoldLeftRight: "\u2530",
lineDownBoldLeftBoldRight: "\u2531",
lineDownBoldLeftRightBold: "\u2532",
lineDownLeftRightBold: "\u252E",
lineDownLeftBoldRight: "\u252D",
lineDownDoubleLeftDoubleRightDouble: "\u2566",
lineDownDoubleLeftRight: "\u2565",
lineDownLeftDoubleRightDouble: "\u2564",
lineUpLeftRight: "\u2534",
lineUpBoldLeftBoldRightBold: "\u253B",
lineUpLeftBoldRightBold: "\u2537",
lineUpBoldLeftRight: "\u2538",
lineUpBoldLeftBoldRight: "\u2539",
lineUpBoldLeftRightBold: "\u253A",
lineUpLeftRightBold: "\u2536",
lineUpLeftBoldRight: "\u2535",
lineUpDoubleLeftDoubleRightDouble: "\u2569",
lineUpDoubleLeftRight: "\u2568",
lineUpLeftDoubleRightDouble: "\u2567",
lineUpDownLeftRight: "\u253C",
lineUpBoldDownBoldLeftBoldRightBold: "\u254B",
lineUpDownBoldLeftBoldRightBold: "\u2548",
lineUpBoldDownLeftBoldRightBold: "\u2547",
lineUpBoldDownBoldLeftRightBold: "\u254A",
lineUpBoldDownBoldLeftBoldRight: "\u2549",
lineUpBoldDownLeftRight: "\u2540",
lineUpDownBoldLeftRight: "\u2541",
lineUpDownLeftBoldRight: "\u253D",
lineUpDownLeftRightBold: "\u253E",
lineUpBoldDownBoldLeftRight: "\u2542",
lineUpDownLeftBoldRightBold: "\u253F",
lineUpBoldDownLeftBoldRight: "\u2543",
lineUpBoldDownLeftRightBold: "\u2544",
lineUpDownBoldLeftBoldRight: "\u2545",
lineUpDownBoldLeftRightBold: "\u2546",
lineUpDoubleDownDoubleLeftDoubleRightDouble: "\u256C",
lineUpDoubleDownDoubleLeftRight: "\u256B",
lineUpDownLeftDoubleRightDouble: "\u256A",
lineCross: "\u2573",
lineBackslash: "\u2572",
lineSlash: "\u2571"
};
specialMainSymbols = {
tick: "\u2714",
info: "\u2139",
warning: "\u26A0",
cross: "\u2718",
squareSmall: "\u25FB",
squareSmallFilled: "\u25FC",
circle: "\u25EF",
circleFilled: "\u25C9",
circleDotted: "\u25CC",
circleDouble: "\u25CE",
circleCircle: "\u24DE",
circleCross: "\u24E7",
circlePipe: "\u24BE",
radioOn: "\u25C9",
radioOff: "\u25EF",
checkboxOn: "\u2612",
checkboxOff: "\u2610",
checkboxCircleOn: "\u24E7",
checkboxCircleOff: "\u24BE",
pointer: "\u276F",
triangleUpOutline: "\u25B3",
triangleLeft: "\u25C0",
triangleRight: "\u25B6",
lozenge: "\u25C6",
lozengeOutline: "\u25C7",
hamburger: "\u2630",
smiley: "\u32E1",
mustache: "\u0DF4",
star: "\u2605",
play: "\u25B6",
nodejs: "\u2B22",
oneSeventh: "\u2150",
oneNinth: "\u2151",
oneTenth: "\u2152"
};
specialFallbackSymbols = {
tick: "\u221A",
info: "i",
warning: "\u203C",
cross: "\xD7",
squareSmall: "\u25A1",
squareSmallFilled: "\u25A0",
circle: "( )",
circleFilled: "(*)",
circleDotted: "( )",
circleDouble: "( )",
circleCircle: "(\u25CB)",
circleCross: "(\xD7)",
circlePipe: "(\u2502)",
radioOn: "(*)",
radioOff: "( )",
checkboxOn: "[\xD7]",
checkboxOff: "[ ]",
checkboxCircleOn: "(\xD7)",
checkboxCircleOff: "( )",
pointer: ">",
triangleUpOutline: "\u2206",
triangleLeft: "\u25C4",
triangleRight: "\u25BA",
lozenge: "\u2666",
lozengeOutline: "\u25CA",
hamburger: "\u2261",
smiley: "\u263A",
mustache: "\u250C\u2500\u2510",
star: "\u2736",
play: "\u25BA",
nodejs: "\u2666",
oneSeventh: "1/7",
oneNinth: "1/9",
oneTenth: "1/10"
};
mainSymbols = { ...common2, ...specialMainSymbols };
fallbackSymbols = { ...common2, ...specialFallbackSymbols };
shouldUseMain = isUnicodeSupported();
figures = shouldUseMain ? mainSymbols : fallbackSymbols;
figures_default = figures;
replacements = Object.entries(specialMainSymbols);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yoctocolors/2.1.2/ab4a4674bf349f41c4d35529731a767e935d5fe25cfdf262e50eb2ae899daddf/node_modules/yoctocolors/base.js
import tty2 from "node:tty";
var hasColors, format, reset, bold, dim, italic, underline, overline, inverse, hidden, strikethrough, black, red, green, yellow, blue, magenta, cyan, white, gray, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bgGray, redBright, greenBright, yellowBright, blueBright, magentaBright, cyanBright, whiteBright, bgRedBright, bgGreenBright, bgYellowBright, bgBlueBright, bgMagentaBright, bgCyanBright, bgWhiteBright;
var init_base = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yoctocolors/2.1.2/ab4a4674bf349f41c4d35529731a767e935d5fe25cfdf262e50eb2ae899daddf/node_modules/yoctocolors/base.js"() {
hasColors = tty2?.WriteStream?.prototype?.hasColors?.() ?? false;
format = (open3, close) => {
if (!hasColors) {
return (input) => input;
}
const openCode = `\x1B[${open3}m`;
const closeCode = `\x1B[${close}m`;
return (input) => {
const string = input + "";
let index2 = string.indexOf(closeCode);
if (index2 === -1) {
return openCode + string + closeCode;
}
let result2 = openCode;
let lastIndex = 0;
const reopenOnNestedClose = close === 22;
const replaceCode = (reopenOnNestedClose ? closeCode : "") + openCode;
while (index2 !== -1) {
result2 += string.slice(lastIndex, index2) + replaceCode;
lastIndex = index2 + closeCode.length;
index2 = string.indexOf(closeCode, lastIndex);
}
result2 += string.slice(lastIndex) + closeCode;
return result2;
};
};
reset = format(0, 0);
bold = format(1, 22);
dim = format(2, 22);
italic = format(3, 23);
underline = format(4, 24);
overline = format(53, 55);
inverse = format(7, 27);
hidden = format(8, 28);
strikethrough = format(9, 29);
black = format(30, 39);
red = format(31, 39);
green = format(32, 39);
yellow = format(33, 39);
blue = format(34, 39);
magenta = format(35, 39);
cyan = format(36, 39);
white = format(37, 39);
gray = format(90, 39);
bgBlack = format(40, 49);
bgRed = format(41, 49);
bgGreen = format(42, 49);
bgYellow = format(43, 49);
bgBlue = format(44, 49);
bgMagenta = format(45, 49);
bgCyan = format(46, 49);
bgWhite = format(47, 49);
bgGray = format(100, 49);
redBright = format(91, 39);
greenBright = format(92, 39);
yellowBright = format(93, 39);
blueBright = format(94, 39);
magentaBright = format(95, 39);
cyanBright = format(96, 39);
whiteBright = format(97, 39);
bgRedBright = format(101, 49);
bgGreenBright = format(102, 49);
bgYellowBright = format(103, 49);
bgBlueBright = format(104, 49);
bgMagentaBright = format(105, 49);
bgCyanBright = format(106, 49);
bgWhiteBright = format(107, 49);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yoctocolors/2.1.2/ab4a4674bf349f41c4d35529731a767e935d5fe25cfdf262e50eb2ae899daddf/node_modules/yoctocolors/index.js
var init_yoctocolors = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yoctocolors/2.1.2/ab4a4674bf349f41c4d35529731a767e935d5fe25cfdf262e50eb2ae899daddf/node_modules/yoctocolors/index.js"() {
init_base();
init_base();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/default.js
var defaultVerboseFunction, serializeTimestamp, padField, getFinalIcon, ICONS, identity2, COLORS;
var init_default2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/default.js"() {
init_figures();
init_yoctocolors();
defaultVerboseFunction = ({
type: type4,
message,
timestamp: timestamp2,
piped,
commandId,
result: { failed = false } = {},
options: { reject: reject3 = true }
}) => {
const timestampString = serializeTimestamp(timestamp2);
const icon = ICONS[type4]({ failed, reject: reject3, piped });
const color = COLORS[type4]({ reject: reject3 });
return `${gray(`[${timestampString}]`)} ${gray(`[${commandId}]`)} ${color(icon)} ${color(message)}`;
};
serializeTimestamp = (timestamp2) => `${padField(timestamp2.getHours(), 2)}:${padField(timestamp2.getMinutes(), 2)}:${padField(timestamp2.getSeconds(), 2)}.${padField(timestamp2.getMilliseconds(), 3)}`;
padField = (field, padding) => String(field).padStart(padding, "0");
getFinalIcon = ({ failed, reject: reject3 }) => {
if (!failed) {
return figures_default.tick;
}
return reject3 ? figures_default.cross : figures_default.warning;
};
ICONS = {
command: ({ piped }) => piped ? "|" : "$",
output: () => " ",
ipc: () => "*",
error: getFinalIcon,
duration: getFinalIcon
};
identity2 = (string) => string;
COLORS = {
command: () => bold,
output: () => identity2,
ipc: () => identity2,
error: ({ reject: reject3 }) => reject3 ? redBright : yellowBright,
duration: () => gray
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/custom.js
var applyVerboseOnLines, applyVerboseFunction, appendNewline;
var init_custom = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/custom.js"() {
init_values2();
applyVerboseOnLines = (printedLines, verboseInfo, fdNumber) => {
const verboseFunction = getVerboseFunction(verboseInfo, fdNumber);
return printedLines.map(({ verboseLine, verboseObject }) => applyVerboseFunction(verboseLine, verboseObject, verboseFunction)).filter((printedLine) => printedLine !== void 0).map((printedLine) => appendNewline(printedLine)).join("");
};
applyVerboseFunction = (verboseLine, verboseObject, verboseFunction) => {
if (verboseFunction === void 0) {
return verboseLine;
}
const printedLine = verboseFunction(verboseLine, verboseObject);
if (typeof printedLine === "string") {
return printedLine;
}
};
appendNewline = (printedLine) => printedLine.endsWith("\n") ? printedLine : `${printedLine}
`;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/log.js
import { inspect } from "node:util";
var verboseLog, getVerboseObject, getPrintedLines, getPrintedLine, serializeVerboseMessage, TAB_SIZE;
var init_log = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/log.js"() {
init_escape();
init_default2();
init_custom();
verboseLog = ({ type: type4, verboseMessage, fdNumber, verboseInfo, result: result2 }) => {
const verboseObject = getVerboseObject({ type: type4, result: result2, verboseInfo });
const printedLines = getPrintedLines(verboseMessage, verboseObject);
const finalLines = applyVerboseOnLines(printedLines, verboseInfo, fdNumber);
if (finalLines !== "") {
console.warn(finalLines.slice(0, -1));
}
};
getVerboseObject = ({
type: type4,
result: result2,
verboseInfo: { escapedCommand, commandId, rawOptions: { piped = false, ...options } }
}) => ({
type: type4,
escapedCommand,
commandId: `${commandId}`,
timestamp: /* @__PURE__ */ new Date(),
piped,
result: result2,
options
});
getPrintedLines = (verboseMessage, verboseObject) => verboseMessage.split("\n").map((message) => getPrintedLine({ ...verboseObject, message }));
getPrintedLine = (verboseObject) => {
const verboseLine = defaultVerboseFunction(verboseObject);
return { verboseLine, verboseObject };
};
serializeVerboseMessage = (message) => {
const messageString = typeof message === "string" ? message : inspect(message);
const escapedMessage = escapeLines(messageString);
return escapedMessage.replaceAll(" ", " ".repeat(TAB_SIZE));
};
TAB_SIZE = 2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/start.js
var logCommand;
var init_start = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/start.js"() {
init_values2();
init_log();
logCommand = (escapedCommand, verboseInfo) => {
if (!isVerbose(verboseInfo)) {
return;
}
verboseLog({
type: "command",
verboseMessage: escapedCommand,
verboseInfo
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/info.js
var getVerboseInfo, getCommandId, COMMAND_ID, validateVerbose;
var init_info = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/info.js"() {
init_values2();
getVerboseInfo = (verbose, escapedCommand, rawOptions) => {
validateVerbose(verbose);
const commandId = getCommandId(verbose);
return {
verbose,
escapedCommand,
commandId,
rawOptions
};
};
getCommandId = (verbose) => isVerbose({ verbose }) ? COMMAND_ID++ : void 0;
COMMAND_ID = 0n;
validateVerbose = (verbose) => {
for (const fdVerbose of verbose) {
if (fdVerbose === false) {
throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);
}
if (fdVerbose === true) {
throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);
}
if (!VERBOSE_VALUES.includes(fdVerbose) && !isVerboseFunction(fdVerbose)) {
const allowedValues = VERBOSE_VALUES.map((allowedValue) => `'${allowedValue}'`).join(", ");
throw new TypeError(`The "verbose" option must not be ${fdVerbose}. Allowed values are: ${allowedValues} or a function.`);
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/duration.js
import { hrtime } from "node:process";
var getStartTime, getDurationMs;
var init_duration = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/duration.js"() {
getStartTime = () => hrtime.bigint();
getDurationMs = (startTime) => Number(hrtime.bigint() - startTime) / 1e6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/command.js
var handleCommand;
var init_command = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/command.js"() {
init_start();
init_info();
init_duration();
init_escape();
init_specific();
handleCommand = (filePath, rawArguments, rawOptions) => {
const startTime = getStartTime();
const { command, escapedCommand } = joinCommand(filePath, rawArguments);
const verbose = normalizeFdSpecificOption(rawOptions, "verbose");
const verboseInfo = getVerboseInfo(verbose, escapedCommand, { ...rawOptions });
logCommand(escapedCommand, verboseInfo);
return {
command,
escapedCommand,
startTime,
verboseInfo
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-key/4.0.0/1404f8f0be7be7dbe9df524ce9ad1a5827e91e447b2f4127012f86d7e412f1de/node_modules/path-key/index.js
function pathKey(options = {}) {
const {
env: env3 = process.env,
platform: platform5 = process.platform
} = options;
if (platform5 !== "win32") {
return "PATH";
}
return Object.keys(env3).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
}
var init_path_key = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-key/4.0.0/1404f8f0be7be7dbe9df524ce9ad1a5827e91e447b2f4127012f86d7e412f1de/node_modules/path-key/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unicorn-magic/0.3.0/7723e5597aaa56432be35a34343b084f1ca3338f96fd0e6575ae9771c7cf36ff/node_modules/unicorn-magic/default.js
var init_default3 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unicorn-magic/0.3.0/7723e5597aaa56432be35a34343b084f1ca3338f96fd0e6575ae9771c7cf36ff/node_modules/unicorn-magic/default.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unicorn-magic/0.3.0/7723e5597aaa56432be35a34343b084f1ca3338f96fd0e6575ae9771c7cf36ff/node_modules/unicorn-magic/node.js
import { promisify as promisify10 } from "node:util";
import { execFile as execFileCallback, execFileSync as execFileSyncOriginal } from "node:child_process";
import path25 from "node:path";
import { fileURLToPath as fileURLToPath4 } from "node:url";
function toPath(urlOrPath) {
return urlOrPath instanceof URL ? fileURLToPath4(urlOrPath) : urlOrPath;
}
function traversePathUp(startPath) {
return {
*[Symbol.iterator]() {
let currentPath = path25.resolve(toPath(startPath));
let previousPath;
while (previousPath !== currentPath) {
yield currentPath;
previousPath = currentPath;
currentPath = path25.resolve(currentPath, "..");
}
}
};
}
var execFileOriginal, TEN_MEGABYTES_IN_BYTES;
var init_node = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unicorn-magic/0.3.0/7723e5597aaa56432be35a34343b084f1ca3338f96fd0e6575ae9771c7cf36ff/node_modules/unicorn-magic/node.js"() {
init_default3();
execFileOriginal = promisify10(execFileCallback);
TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-run-path/6.0.0/d82ed2bd2c1b2d17548e086d4d7bbbbafd0b5ee835a8f76dbc85e653fcfb450b/node_modules/npm-run-path/index.js
import process12 from "node:process";
import path26 from "node:path";
var npmRunPath, applyPreferLocal, applyExecPath, npmRunPathEnv;
var init_npm_run_path = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-run-path/6.0.0/d82ed2bd2c1b2d17548e086d4d7bbbbafd0b5ee835a8f76dbc85e653fcfb450b/node_modules/npm-run-path/index.js"() {
init_path_key();
init_node();
npmRunPath = ({
cwd = process12.cwd(),
path: pathOption = process12.env[pathKey()],
preferLocal = true,
execPath: execPath2 = process12.execPath,
addExecPath = true
} = {}) => {
const cwdPath = path26.resolve(toPath(cwd));
const result2 = [];
const pathParts = pathOption.split(path26.delimiter);
if (preferLocal) {
applyPreferLocal(result2, pathParts, cwdPath);
}
if (addExecPath) {
applyExecPath(result2, pathParts, execPath2, cwdPath);
}
return pathOption === "" || pathOption === path26.delimiter ? `${result2.join(path26.delimiter)}${pathOption}` : [...result2, pathOption].join(path26.delimiter);
};
applyPreferLocal = (result2, pathParts, cwdPath) => {
for (const directory of traversePathUp(cwdPath)) {
const pathPart = path26.join(directory, "node_modules/.bin");
if (!pathParts.includes(pathPart)) {
result2.push(pathPart);
}
}
};
applyExecPath = (result2, pathParts, execPath2, cwdPath) => {
const pathPart = path26.resolve(cwdPath, toPath(execPath2), "..");
if (!pathParts.includes(pathPart)) {
result2.push(pathPart);
}
};
npmRunPathEnv = ({ env: env3 = process12.env, ...options } = {}) => {
env3 = { ...env3 };
const pathName = pathKey({ env: env3 });
options.path = env3[pathName];
env3[pathName] = npmRunPath(options);
return env3;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/final-error.js
var getFinalError, DiscardedError, setErrorName, isExecaError, execaErrorSymbol, isErrorInstance, ExecaError, ExecaSyncError;
var init_final_error = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/final-error.js"() {
getFinalError = (originalError, message, isSync) => {
const ErrorClass = isSync ? ExecaSyncError : ExecaError;
const options = originalError instanceof DiscardedError ? {} : { cause: originalError };
return new ErrorClass(message, options);
};
DiscardedError = class extends Error {
};
setErrorName = (ErrorClass, value) => {
Object.defineProperty(ErrorClass.prototype, "name", {
value,
writable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(ErrorClass.prototype, execaErrorSymbol, {
value: true,
writable: false,
enumerable: false,
configurable: false
});
};
isExecaError = (error) => isErrorInstance(error) && execaErrorSymbol in error;
execaErrorSymbol = /* @__PURE__ */ Symbol("isExecaError");
isErrorInstance = (value) => Object.prototype.toString.call(value) === "[object Error]";
ExecaError = class extends Error {
};
setErrorName(ExecaError, ExecaError.name);
ExecaSyncError = class extends Error {
};
setErrorName(ExecaSyncError, ExecaSyncError.name);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/realtime.js
var getRealtimeSignals, getRealtimeSignal, SIGRTMIN, SIGRTMAX;
var init_realtime = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/realtime.js"() {
getRealtimeSignals = () => {
const length = SIGRTMAX - SIGRTMIN + 1;
return Array.from({ length }, getRealtimeSignal);
};
getRealtimeSignal = (value, index2) => ({
name: `SIGRT${index2 + 1}`,
number: SIGRTMIN + index2,
action: "terminate",
description: "Application-specific signal (realtime)",
standard: "posix"
});
SIGRTMIN = 34;
SIGRTMAX = 64;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/core.js
var SIGNALS;
var init_core = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/core.js"() {
SIGNALS = [
{
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: true
},
{
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: true
},
{
name: "SIGSTOP",
number: 19,
action: "pause",
description: "Paused",
standard: "posix",
forced: true
},
{
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"
}
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/signals.js
import { constants } from "node:os";
var getSignals, normalizeSignal;
var init_signals = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/signals.js"() {
init_core();
init_realtime();
getSignals = () => {
const realtimeSignals = getRealtimeSignals();
const signals2 = [...SIGNALS, ...realtimeSignals].map(normalizeSignal);
return signals2;
};
normalizeSignal = ({
name,
number: defaultNumber,
description,
action,
forced = false,
standard
}) => {
const {
signals: { [name]: constantSignal }
} = constants;
const supported = constantSignal !== void 0;
const number = supported ? constantSignal : defaultNumber;
return { name, number, description, supported, action, forced, standard };
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/main.js
import { constants as constants2 } from "node:os";
var getSignalsByName, getSignalByName, signalsByName, getSignalsByNumber, getSignalByNumber, findSignalByNumber, signalsByNumber;
var init_main = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/human-signals/8.0.1/8f862e62f3a4ab63fc57d39d6ece7007dbc7f811c35a31e21b62baa706efba89/node_modules/human-signals/build/src/main.js"() {
init_realtime();
init_signals();
getSignalsByName = () => {
const signals2 = getSignals();
return Object.fromEntries(signals2.map(getSignalByName));
};
getSignalByName = ({
name,
number,
description,
supported,
action,
forced,
standard
}) => [name, { name, number, description, supported, action, forced, standard }];
signalsByName = getSignalsByName();
getSignalsByNumber = () => {
const signals2 = getSignals();
const length = SIGRTMAX + 1;
const signalsA = Array.from(
{ length },
(value, number) => getSignalByNumber(number, signals2)
);
return Object.assign({}, ...signalsA);
};
getSignalByNumber = (number, signals2) => {
const signal = findSignalByNumber(number, signals2);
if (signal === void 0) {
return {};
}
const { name, description, supported, action, forced, standard } = signal;
return {
[number]: {
name,
number,
description,
supported,
action,
forced,
standard
}
};
};
findSignalByNumber = (number, signals2) => {
const signal = signals2.find(({ name }) => constants2.signals[name] === number);
if (signal !== void 0) {
return signal;
}
return signals2.find((signalA) => signalA.number === number);
};
signalsByNumber = getSignalsByNumber();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/signal.js
import { constants as constants3 } from "node:os";
var normalizeKillSignal, normalizeSignalArgument, normalizeSignal2, normalizeSignalInteger, getSignalsIntegerToName, signalsIntegerToName, normalizeSignalName, getAvailableSignals, getAvailableSignalNames, getAvailableSignalIntegers, getSignalDescription;
var init_signal = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/signal.js"() {
init_main();
normalizeKillSignal = (killSignal) => {
const optionName = "option `killSignal`";
if (killSignal === 0) {
throw new TypeError(`Invalid ${optionName}: 0 cannot be used.`);
}
return normalizeSignal2(killSignal, optionName);
};
normalizeSignalArgument = (signal) => signal === 0 ? signal : normalizeSignal2(signal, "`subprocess.kill()`'s argument");
normalizeSignal2 = (signalNameOrInteger, optionName) => {
if (Number.isInteger(signalNameOrInteger)) {
return normalizeSignalInteger(signalNameOrInteger, optionName);
}
if (typeof signalNameOrInteger === "string") {
return normalizeSignalName(signalNameOrInteger, optionName);
}
throw new TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer.
${getAvailableSignals()}`);
};
normalizeSignalInteger = (signalInteger, optionName) => {
if (signalsIntegerToName.has(signalInteger)) {
return signalsIntegerToName.get(signalInteger);
}
throw new TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist.
${getAvailableSignals()}`);
};
getSignalsIntegerToName = () => new Map(Object.entries(constants3.signals).reverse().map(([signalName, signalInteger]) => [signalInteger, signalName]));
signalsIntegerToName = getSignalsIntegerToName();
normalizeSignalName = (signalName, optionName) => {
if (signalName in constants3.signals) {
return signalName;
}
if (signalName.toUpperCase() in constants3.signals) {
throw new TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`);
}
throw new TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist.
${getAvailableSignals()}`);
};
getAvailableSignals = () => `Available signal names: ${getAvailableSignalNames()}.
Available signal numbers: ${getAvailableSignalIntegers()}.`;
getAvailableSignalNames = () => Object.keys(constants3.signals).sort().map((signalName) => `'${signalName}'`).join(", ");
getAvailableSignalIntegers = () => [...new Set(Object.values(constants3.signals).sort((signalInteger, signalIntegerTwo) => signalInteger - signalIntegerTwo))].join(", ");
getSignalDescription = (signal) => signalsByName[signal].description;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/kill.js
import { setTimeout as setTimeout2 } from "node:timers/promises";
var normalizeForceKillAfterDelay, DEFAULT_FORCE_KILL_TIMEOUT, subprocessKill, parseKillArguments, emitKillError, setKillTimeout, killOnTimeout;
var init_kill = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/kill.js"() {
init_final_error();
init_signal();
normalizeForceKillAfterDelay = (forceKillAfterDelay) => {
if (forceKillAfterDelay === false) {
return forceKillAfterDelay;
}
if (forceKillAfterDelay === true) {
return DEFAULT_FORCE_KILL_TIMEOUT;
}
if (!Number.isFinite(forceKillAfterDelay) || forceKillAfterDelay < 0) {
throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);
}
return forceKillAfterDelay;
};
DEFAULT_FORCE_KILL_TIMEOUT = 1e3 * 5;
subprocessKill = ({ kill, options: { forceKillAfterDelay, killSignal }, onInternalError, context, controller }, signalOrError, errorArgument) => {
const { signal, error } = parseKillArguments(signalOrError, errorArgument, killSignal);
emitKillError(error, onInternalError);
const killResult = kill(signal);
setKillTimeout({
kill,
signal,
forceKillAfterDelay,
killSignal,
killResult,
context,
controller
});
return killResult;
};
parseKillArguments = (signalOrError, errorArgument, killSignal) => {
const [signal = killSignal, error] = isErrorInstance(signalOrError) ? [void 0, signalOrError] : [signalOrError, errorArgument];
if (typeof signal !== "string" && !Number.isInteger(signal)) {
throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);
}
if (error !== void 0 && !isErrorInstance(error)) {
throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${error}`);
}
return { signal: normalizeSignalArgument(signal), error };
};
emitKillError = (error, onInternalError) => {
if (error !== void 0) {
onInternalError.reject(error);
}
};
setKillTimeout = async ({ kill, signal, forceKillAfterDelay, killSignal, killResult, context, controller }) => {
if (signal === killSignal && killResult) {
killOnTimeout({
kill,
forceKillAfterDelay,
context,
controllerSignal: controller.signal
});
}
};
killOnTimeout = async ({ kill, forceKillAfterDelay, context, controllerSignal }) => {
if (forceKillAfterDelay === false) {
return;
}
try {
await setTimeout2(forceKillAfterDelay, void 0, { signal: controllerSignal });
if (kill("SIGKILL")) {
context.isForcefullyTerminated ??= true;
}
} catch {
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/abort-signal.js
import { once as once3 } from "node:events";
var onAbortedSignal;
var init_abort_signal = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/abort-signal.js"() {
onAbortedSignal = async (mainSignal, stopSignal) => {
if (!mainSignal.aborted) {
await once3(mainSignal, "abort", { signal: stopSignal });
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/cancel.js
var validateCancelSignal, throwOnCancel, terminateOnCancel;
var init_cancel = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/cancel.js"() {
init_abort_signal();
validateCancelSignal = ({ cancelSignal }) => {
if (cancelSignal !== void 0 && Object.prototype.toString.call(cancelSignal) !== "[object AbortSignal]") {
throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(cancelSignal)}`);
}
};
throwOnCancel = ({ subprocess, cancelSignal, gracefulCancel, context, controller }) => cancelSignal === void 0 || gracefulCancel ? [] : [terminateOnCancel(subprocess, cancelSignal, context, controller)];
terminateOnCancel = async (subprocess, cancelSignal, context, { signal }) => {
await onAbortedSignal(cancelSignal, signal);
context.terminationReason ??= "cancel";
subprocess.kill();
throw cancelSignal.reason;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/validation.js
var validateIpcMethod, validateIpcOption, validateConnection, throwOnEarlyDisconnect, throwOnStrictDeadlockError, getStrictResponseError, throwOnMissingStrict, throwOnStrictDisconnect, getAbortDisconnectError, throwOnMissingParent, handleEpipeError, handleSerializationError, isSerializationError, SERIALIZATION_ERROR_CODES, SERIALIZATION_ERROR_MESSAGES, getMethodName, getNamespaceName, getOtherProcessName, disconnect;
var init_validation = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/validation.js"() {
validateIpcMethod = ({ methodName, isSubprocess, ipc, isConnected: isConnected2 }) => {
validateIpcOption(methodName, isSubprocess, ipc);
validateConnection(methodName, isSubprocess, isConnected2);
};
validateIpcOption = (methodName, isSubprocess, ipc) => {
if (!ipc) {
throw new Error(`${getMethodName(methodName, isSubprocess)} can only be used if the \`ipc\` option is \`true\`.`);
}
};
validateConnection = (methodName, isSubprocess, isConnected2) => {
if (!isConnected2) {
throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} has already exited or disconnected.`);
}
};
throwOnEarlyDisconnect = (isSubprocess) => {
throw new Error(`${getMethodName("getOneMessage", isSubprocess)} could not complete: the ${getOtherProcessName(isSubprocess)} exited or disconnected.`);
};
throwOnStrictDeadlockError = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is sending a message too, instead of listening to incoming messages.
This can be fixed by both sending a message and listening to incoming messages at the same time:
const [receivedMessage] = await Promise.all([
${getMethodName("getOneMessage", isSubprocess)},
${getMethodName("sendMessage", isSubprocess, "message, {strict: true}")},
]);`);
};
getStrictResponseError = (error, isSubprocess) => new Error(`${getMethodName("sendMessage", isSubprocess)} failed when sending an acknowledgment response to the ${getOtherProcessName(isSubprocess)}.`, { cause: error });
throwOnMissingStrict = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is not listening to incoming messages.`);
};
throwOnStrictDisconnect = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} exited without listening to incoming messages.`);
};
getAbortDisconnectError = () => new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);
throwOnMissingParent = () => {
throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.");
};
handleEpipeError = ({ error, methodName, isSubprocess }) => {
if (error.code === "EPIPE") {
throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} is disconnecting.`, { cause: error });
}
};
handleSerializationError = ({ error, methodName, isSubprocess, message }) => {
if (isSerializationError(error)) {
throw new Error(`${getMethodName(methodName, isSubprocess)}'s argument type is invalid: the message cannot be serialized: ${String(message)}.`, { cause: error });
}
};
isSerializationError = ({ code, message }) => SERIALIZATION_ERROR_CODES.has(code) || SERIALIZATION_ERROR_MESSAGES.some((serializationErrorMessage) => message.includes(serializationErrorMessage));
SERIALIZATION_ERROR_CODES = /* @__PURE__ */ new Set([
// Message is `undefined`
"ERR_MISSING_ARGS",
// Message is a function, a bigint, a symbol
"ERR_INVALID_ARG_TYPE"
]);
SERIALIZATION_ERROR_MESSAGES = [
// Message is a promise or a proxy, with `serialization: 'advanced'`
"could not be cloned",
// Message has cycles, with `serialization: 'json'`
"circular structure",
// Message has cycles inside toJSON(), with `serialization: 'json'`
"call stack size exceeded"
];
getMethodName = (methodName, isSubprocess, parameters = "") => methodName === "cancelSignal" ? "`cancelSignal`'s `controller.abort()`" : `${getNamespaceName(isSubprocess)}${methodName}(${parameters})`;
getNamespaceName = (isSubprocess) => isSubprocess ? "" : "subprocess.";
getOtherProcessName = (isSubprocess) => isSubprocess ? "parent process" : "subprocess";
disconnect = (anyProcess) => {
if (anyProcess.connected) {
anyProcess.disconnect();
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/deferred.js
var createDeferred;
var init_deferred = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/deferred.js"() {
createDeferred = () => {
const methods = {};
const promise2 = new Promise((resolve4, reject3) => {
Object.assign(methods, { resolve: resolve4, reject: reject3 });
});
return Object.assign(promise2, methods);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/fd-options.js
var getToStream, getFromStream, SUBPROCESS_OPTIONS, getFdNumber, parseFdNumber, validateFdNumber, getInvalidStdioOptionMessage, getInvalidStdioOption, getUsedDescriptor, getOptionName, serializeOptionValue;
var init_fd_options = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/fd-options.js"() {
init_specific();
getToStream = (destination, to = "stdin") => {
const isWritable = true;
const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(destination);
const fdNumber = getFdNumber(fileDescriptors, to, isWritable);
const destinationStream = destination.stdio[fdNumber];
if (destinationStream === null) {
throw new TypeError(getInvalidStdioOptionMessage(fdNumber, to, options, isWritable));
}
return destinationStream;
};
getFromStream = (source, from5 = "stdout") => {
const isWritable = false;
const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
const fdNumber = getFdNumber(fileDescriptors, from5, isWritable);
const sourceStream = fdNumber === "all" ? source.all : source.stdio[fdNumber];
if (sourceStream === null || sourceStream === void 0) {
throw new TypeError(getInvalidStdioOptionMessage(fdNumber, from5, options, isWritable));
}
return sourceStream;
};
SUBPROCESS_OPTIONS = /* @__PURE__ */ new WeakMap();
getFdNumber = (fileDescriptors, fdName, isWritable) => {
const fdNumber = parseFdNumber(fdName, isWritable);
validateFdNumber(fdNumber, fdName, isWritable, fileDescriptors);
return fdNumber;
};
parseFdNumber = (fdName, isWritable) => {
const fdNumber = parseFd(fdName);
if (fdNumber !== void 0) {
return fdNumber;
}
const { validOptions, defaultValue } = isWritable ? { validOptions: '"stdin"', defaultValue: "stdin" } : { validOptions: '"stdout", "stderr", "all"', defaultValue: "stdout" };
throw new TypeError(`"${getOptionName(isWritable)}" must not be "${fdName}".
It must be ${validOptions} or "fd3", "fd4" (and so on).
It is optional and defaults to "${defaultValue}".`);
};
validateFdNumber = (fdNumber, fdName, isWritable, fileDescriptors) => {
const fileDescriptor = fileDescriptors[getUsedDescriptor(fdNumber)];
if (fileDescriptor === void 0) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. That file descriptor does not exist.
Please set the "stdio" option to ensure that file descriptor exists.`);
}
if (fileDescriptor.direction === "input" && !isWritable) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a readable stream, not writable.`);
}
if (fileDescriptor.direction !== "input" && isWritable) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a writable stream, not readable.`);
}
};
getInvalidStdioOptionMessage = (fdNumber, fdName, options, isWritable) => {
if (fdNumber === "all" && !options.all) {
return `The "all" option must be true to use "from: 'all'".`;
}
const { optionName, optionValue } = getInvalidStdioOption(fdNumber, options);
return `The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
Please set this option with "pipe" instead.`;
};
getInvalidStdioOption = (fdNumber, { stdin, stdout, stderr, stdio }) => {
const usedDescriptor = getUsedDescriptor(fdNumber);
if (usedDescriptor === 0 && stdin !== void 0) {
return { optionName: "stdin", optionValue: stdin };
}
if (usedDescriptor === 1 && stdout !== void 0) {
return { optionName: "stdout", optionValue: stdout };
}
if (usedDescriptor === 2 && stderr !== void 0) {
return { optionName: "stderr", optionValue: stderr };
}
return { optionName: `stdio[${usedDescriptor}]`, optionValue: stdio[usedDescriptor] };
};
getUsedDescriptor = (fdNumber) => fdNumber === "all" ? 1 : fdNumber;
getOptionName = (isWritable) => isWritable ? "to" : "from";
serializeOptionValue = (value) => {
if (typeof value === "string") {
return `'${value}'`;
}
return typeof value === "number" ? `${value}` : "Stream";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/max-listeners.js
import { addAbortListener } from "node:events";
var incrementMaxListeners;
var init_max_listeners = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/utils/max-listeners.js"() {
incrementMaxListeners = (eventEmitter, maxListenersIncrement, signal) => {
const maxListeners = eventEmitter.getMaxListeners();
if (maxListeners === 0 || maxListeners === Number.POSITIVE_INFINITY) {
return;
}
eventEmitter.setMaxListeners(maxListeners + maxListenersIncrement);
addAbortListener(signal, () => {
eventEmitter.setMaxListeners(eventEmitter.getMaxListeners() - maxListenersIncrement);
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/reference.js
var addReference, addReferenceCount, removeReference, removeReferenceCount, undoAddedReferences, redoAddedReferences;
var init_reference = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/reference.js"() {
addReference = (channel, reference) => {
if (reference) {
addReferenceCount(channel);
}
};
addReferenceCount = (channel) => {
channel.refCounted();
};
removeReference = (channel, reference) => {
if (reference) {
removeReferenceCount(channel);
}
};
removeReferenceCount = (channel) => {
channel.unrefCounted();
};
undoAddedReferences = (channel, isSubprocess) => {
if (isSubprocess) {
removeReferenceCount(channel);
removeReferenceCount(channel);
}
};
redoAddedReferences = (channel, isSubprocess) => {
if (isSubprocess) {
addReferenceCount(channel);
addReferenceCount(channel);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/incoming.js
import { once as once4 } from "node:events";
import { scheduler } from "node:timers/promises";
var onMessage, onDisconnect, INCOMING_MESSAGES;
var init_incoming = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/incoming.js"() {
init_outgoing();
init_reference();
init_strict();
init_graceful();
onMessage = async ({ anyProcess, channel, isSubprocess, ipcEmitter }, wrappedMessage) => {
if (handleStrictResponse(wrappedMessage) || handleAbort(wrappedMessage)) {
return;
}
if (!INCOMING_MESSAGES.has(anyProcess)) {
INCOMING_MESSAGES.set(anyProcess, []);
}
const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
incomingMessages.push(wrappedMessage);
if (incomingMessages.length > 1) {
return;
}
while (incomingMessages.length > 0) {
await waitForOutgoingMessages(anyProcess, ipcEmitter, wrappedMessage);
await scheduler.yield();
const message = await handleStrictRequest({
wrappedMessage: incomingMessages[0],
anyProcess,
channel,
isSubprocess,
ipcEmitter
});
incomingMessages.shift();
ipcEmitter.emit("message", message);
ipcEmitter.emit("message:done");
}
};
onDisconnect = async ({ anyProcess, channel, isSubprocess, ipcEmitter, boundOnMessage }) => {
abortOnDisconnect();
const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
while (incomingMessages?.length > 0) {
await once4(ipcEmitter, "message:done");
}
anyProcess.removeListener("message", boundOnMessage);
redoAddedReferences(channel, isSubprocess);
ipcEmitter.connected = false;
ipcEmitter.emit("disconnect");
};
INCOMING_MESSAGES = /* @__PURE__ */ new WeakMap();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/forward.js
import { EventEmitter as EventEmitter2 } from "node:events";
var getIpcEmitter, IPC_EMITTERS, forwardEvents, isConnected;
var init_forward = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/forward.js"() {
init_incoming();
init_reference();
getIpcEmitter = (anyProcess, channel, isSubprocess) => {
if (IPC_EMITTERS.has(anyProcess)) {
return IPC_EMITTERS.get(anyProcess);
}
const ipcEmitter = new EventEmitter2();
ipcEmitter.connected = true;
IPC_EMITTERS.set(anyProcess, ipcEmitter);
forwardEvents({
ipcEmitter,
anyProcess,
channel,
isSubprocess
});
return ipcEmitter;
};
IPC_EMITTERS = /* @__PURE__ */ new WeakMap();
forwardEvents = ({ ipcEmitter, anyProcess, channel, isSubprocess }) => {
const boundOnMessage = onMessage.bind(void 0, {
anyProcess,
channel,
isSubprocess,
ipcEmitter
});
anyProcess.on("message", boundOnMessage);
anyProcess.once("disconnect", onDisconnect.bind(void 0, {
anyProcess,
channel,
isSubprocess,
ipcEmitter,
boundOnMessage
}));
undoAddedReferences(channel, isSubprocess);
};
isConnected = (anyProcess) => {
const ipcEmitter = IPC_EMITTERS.get(anyProcess);
return ipcEmitter === void 0 ? anyProcess.channel !== null : ipcEmitter.connected;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/strict.js
import { once as once5 } from "node:events";
var handleSendStrict, count, validateStrictDeadlock, handleStrictRequest, handleStrictResponse, waitForStrictResponse, STRICT_RESPONSES, throwOnDisconnect, REQUEST_TYPE, RESPONSE_TYPE;
var init_strict = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/strict.js"() {
init_deferred();
init_max_listeners();
init_send();
init_validation();
init_forward();
init_outgoing();
handleSendStrict = ({ anyProcess, channel, isSubprocess, message, strict }) => {
if (!strict) {
return message;
}
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const hasListeners = hasMessageListeners(anyProcess, ipcEmitter);
return {
id: count++,
type: REQUEST_TYPE,
message,
hasListeners
};
};
count = 0n;
validateStrictDeadlock = (outgoingMessages, wrappedMessage) => {
if (wrappedMessage?.type !== REQUEST_TYPE || wrappedMessage.hasListeners) {
return;
}
for (const { id } of outgoingMessages) {
if (id !== void 0) {
STRICT_RESPONSES[id].resolve({ isDeadlock: true, hasListeners: false });
}
}
};
handleStrictRequest = async ({ wrappedMessage, anyProcess, channel, isSubprocess, ipcEmitter }) => {
if (wrappedMessage?.type !== REQUEST_TYPE || !anyProcess.connected) {
return wrappedMessage;
}
const { id, message } = wrappedMessage;
const response = { id, type: RESPONSE_TYPE, message: hasMessageListeners(anyProcess, ipcEmitter) };
try {
await sendMessage({
anyProcess,
channel,
isSubprocess,
ipc: true
}, response);
} catch (error) {
ipcEmitter.emit("strict:error", error);
}
return message;
};
handleStrictResponse = (wrappedMessage) => {
if (wrappedMessage?.type !== RESPONSE_TYPE) {
return false;
}
const { id, message: hasListeners } = wrappedMessage;
STRICT_RESPONSES[id]?.resolve({ isDeadlock: false, hasListeners });
return true;
};
waitForStrictResponse = async (wrappedMessage, anyProcess, isSubprocess) => {
if (wrappedMessage?.type !== REQUEST_TYPE) {
return;
}
const deferred = createDeferred();
STRICT_RESPONSES[wrappedMessage.id] = deferred;
const controller = new AbortController();
try {
const { isDeadlock, hasListeners } = await Promise.race([
deferred,
throwOnDisconnect(anyProcess, isSubprocess, controller)
]);
if (isDeadlock) {
throwOnStrictDeadlockError(isSubprocess);
}
if (!hasListeners) {
throwOnMissingStrict(isSubprocess);
}
} finally {
controller.abort();
delete STRICT_RESPONSES[wrappedMessage.id];
}
};
STRICT_RESPONSES = {};
throwOnDisconnect = async (anyProcess, isSubprocess, { signal }) => {
incrementMaxListeners(anyProcess, 1, signal);
await once5(anyProcess, "disconnect", { signal });
throwOnStrictDisconnect(isSubprocess);
};
REQUEST_TYPE = "execa:ipc:request";
RESPONSE_TYPE = "execa:ipc:response";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/outgoing.js
var startSendMessage, endSendMessage, waitForOutgoingMessages, OUTGOING_MESSAGES, hasMessageListeners, getMinListenerCount;
var init_outgoing = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/outgoing.js"() {
init_deferred();
init_specific();
init_fd_options();
init_strict();
startSendMessage = (anyProcess, wrappedMessage, strict) => {
if (!OUTGOING_MESSAGES.has(anyProcess)) {
OUTGOING_MESSAGES.set(anyProcess, /* @__PURE__ */ new Set());
}
const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
const onMessageSent = createDeferred();
const id = strict ? wrappedMessage.id : void 0;
const outgoingMessage = { onMessageSent, id };
outgoingMessages.add(outgoingMessage);
return { outgoingMessages, outgoingMessage };
};
endSendMessage = ({ outgoingMessages, outgoingMessage }) => {
outgoingMessages.delete(outgoingMessage);
outgoingMessage.onMessageSent.resolve();
};
waitForOutgoingMessages = async (anyProcess, ipcEmitter, wrappedMessage) => {
while (!hasMessageListeners(anyProcess, ipcEmitter) && OUTGOING_MESSAGES.get(anyProcess)?.size > 0) {
const outgoingMessages = [...OUTGOING_MESSAGES.get(anyProcess)];
validateStrictDeadlock(outgoingMessages, wrappedMessage);
await Promise.all(outgoingMessages.map(({ onMessageSent }) => onMessageSent));
}
};
OUTGOING_MESSAGES = /* @__PURE__ */ new WeakMap();
hasMessageListeners = (anyProcess, ipcEmitter) => ipcEmitter.listenerCount("message") > getMinListenerCount(anyProcess);
getMinListenerCount = (anyProcess) => SUBPROCESS_OPTIONS.has(anyProcess) && !getFdSpecificValue(SUBPROCESS_OPTIONS.get(anyProcess).options.buffer, "ipc") ? 1 : 0;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/send.js
import { promisify as promisify11 } from "node:util";
var sendMessage, sendMessageAsync, sendOneMessage, getSendMethod, PROCESS_SEND_METHODS;
var init_send = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/send.js"() {
init_validation();
init_outgoing();
init_strict();
sendMessage = ({ anyProcess, channel, isSubprocess, ipc }, message, { strict = false } = {}) => {
const methodName = "sendMessage";
validateIpcMethod({
methodName,
isSubprocess,
ipc,
isConnected: anyProcess.connected
});
return sendMessageAsync({
anyProcess,
channel,
methodName,
isSubprocess,
message,
strict
});
};
sendMessageAsync = async ({ anyProcess, channel, methodName, isSubprocess, message, strict }) => {
const wrappedMessage = handleSendStrict({
anyProcess,
channel,
isSubprocess,
message,
strict
});
const outgoingMessagesState = startSendMessage(anyProcess, wrappedMessage, strict);
try {
await sendOneMessage({
anyProcess,
methodName,
isSubprocess,
wrappedMessage,
message
});
} catch (error) {
disconnect(anyProcess);
throw error;
} finally {
endSendMessage(outgoingMessagesState);
}
};
sendOneMessage = async ({ anyProcess, methodName, isSubprocess, wrappedMessage, message }) => {
const sendMethod = getSendMethod(anyProcess);
try {
await Promise.all([
waitForStrictResponse(wrappedMessage, anyProcess, isSubprocess),
sendMethod(wrappedMessage)
]);
} catch (error) {
handleEpipeError({ error, methodName, isSubprocess });
handleSerializationError({
error,
methodName,
isSubprocess,
message
});
throw error;
}
};
getSendMethod = (anyProcess) => {
if (PROCESS_SEND_METHODS.has(anyProcess)) {
return PROCESS_SEND_METHODS.get(anyProcess);
}
const sendMethod = promisify11(anyProcess.send.bind(anyProcess));
PROCESS_SEND_METHODS.set(anyProcess, sendMethod);
return sendMethod;
};
PROCESS_SEND_METHODS = /* @__PURE__ */ new WeakMap();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/graceful.js
import { scheduler as scheduler2 } from "node:timers/promises";
var sendAbort, getCancelSignal, startIpc, cancelListening, handleAbort, GRACEFUL_CANCEL_TYPE, abortOnDisconnect, cancelController;
var init_graceful = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/graceful.js"() {
init_send();
init_forward();
init_validation();
sendAbort = (subprocess, message) => {
const methodName = "cancelSignal";
validateConnection(methodName, false, subprocess.connected);
return sendOneMessage({
anyProcess: subprocess,
methodName,
isSubprocess: false,
wrappedMessage: { type: GRACEFUL_CANCEL_TYPE, message },
message
});
};
getCancelSignal = async ({ anyProcess, channel, isSubprocess, ipc }) => {
await startIpc({
anyProcess,
channel,
isSubprocess,
ipc
});
return cancelController.signal;
};
startIpc = async ({ anyProcess, channel, isSubprocess, ipc }) => {
if (cancelListening) {
return;
}
cancelListening = true;
if (!ipc) {
throwOnMissingParent();
return;
}
if (channel === null) {
abortOnDisconnect();
return;
}
getIpcEmitter(anyProcess, channel, isSubprocess);
await scheduler2.yield();
};
cancelListening = false;
handleAbort = (wrappedMessage) => {
if (wrappedMessage?.type !== GRACEFUL_CANCEL_TYPE) {
return false;
}
cancelController.abort(wrappedMessage.message);
return true;
};
GRACEFUL_CANCEL_TYPE = "execa:ipc:cancel";
abortOnDisconnect = () => {
cancelController.abort(getAbortDisconnectError());
};
cancelController = new AbortController();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/graceful.js
var validateGracefulCancel, throwOnGracefulCancel, sendOnAbort, getReason;
var init_graceful2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/graceful.js"() {
init_abort_signal();
init_graceful();
init_kill();
validateGracefulCancel = ({ gracefulCancel, cancelSignal, ipc, serialization }) => {
if (!gracefulCancel) {
return;
}
if (cancelSignal === void 0) {
throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");
}
if (!ipc) {
throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");
}
if (serialization === "json") {
throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.");
}
};
throwOnGracefulCancel = ({
subprocess,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
context,
controller
}) => gracefulCancel ? [sendOnAbort({
subprocess,
cancelSignal,
forceKillAfterDelay,
context,
controller
})] : [];
sendOnAbort = async ({ subprocess, cancelSignal, forceKillAfterDelay, context, controller: { signal } }) => {
await onAbortedSignal(cancelSignal, signal);
const reason = getReason(cancelSignal);
await sendAbort(subprocess, reason);
killOnTimeout({
kill: subprocess.kill,
forceKillAfterDelay,
context,
controllerSignal: signal
});
context.terminationReason ??= "gracefulCancel";
throw cancelSignal.reason;
};
getReason = ({ reason }) => {
if (!(reason instanceof DOMException)) {
return reason;
}
const error = new Error(reason.message);
Object.defineProperty(error, "stack", {
value: reason.stack,
enumerable: false,
configurable: true,
writable: true
});
return error;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/timeout.js
import { setTimeout as setTimeout3 } from "node:timers/promises";
var validateTimeout, throwOnTimeout, killAfterTimeout;
var init_timeout = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/timeout.js"() {
init_final_error();
validateTimeout = ({ timeout }) => {
if (timeout !== void 0 && (!Number.isFinite(timeout) || timeout < 0)) {
throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`);
}
};
throwOnTimeout = (subprocess, timeout, context, controller) => timeout === 0 || timeout === void 0 ? [] : [killAfterTimeout(subprocess, timeout, context, controller)];
killAfterTimeout = async (subprocess, timeout, context, { signal }) => {
await setTimeout3(timeout, void 0, { signal });
context.terminationReason ??= "timeout";
subprocess.kill();
throw new DiscardedError();
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/node.js
import { execPath, execArgv } from "node:process";
import path27 from "node:path";
var mapNode, handleNodeOption;
var init_node2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/node.js"() {
init_file_url();
mapNode = ({ options }) => {
if (options.node === false) {
throw new TypeError('The "node" option cannot be false with `execaNode()`.');
}
return { options: { ...options, node: true } };
};
handleNodeOption = (file, commandArguments, {
node: shouldHandleNode = false,
nodePath = execPath,
nodeOptions = execArgv.filter((nodeOption) => !nodeOption.startsWith("--inspect")),
cwd,
execPath: formerNodePath,
...options
}) => {
if (formerNodePath !== void 0) {
throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');
}
const normalizedNodePath = safeNormalizeFileUrl(nodePath, 'The "nodePath" option');
const resolvedNodePath = path27.resolve(cwd, normalizedNodePath);
const newOptions = {
...options,
nodePath: resolvedNodePath,
node: shouldHandleNode,
cwd
};
if (!shouldHandleNode) {
return [file, commandArguments, newOptions];
}
if (path27.basename(file, ".exe") === "node") {
throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');
}
return [
resolvedNodePath,
[...nodeOptions, file, ...commandArguments],
{ ipc: true, ...newOptions, shell: false }
];
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/ipc-input.js
import { serialize } from "node:v8";
var validateIpcInputOption, validateAdvancedInput, validateJsonInput, validateIpcInput, sendIpcInput;
var init_ipc_input = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/ipc-input.js"() {
validateIpcInputOption = ({ ipcInput, ipc, serialization }) => {
if (ipcInput === void 0) {
return;
}
if (!ipc) {
throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");
}
validateIpcInput[serialization](ipcInput);
};
validateAdvancedInput = (ipcInput) => {
try {
serialize(ipcInput);
} catch (error) {
throw new Error("The `ipcInput` option is not serializable with a structured clone.", { cause: error });
}
};
validateJsonInput = (ipcInput) => {
try {
JSON.stringify(ipcInput);
} catch (error) {
throw new Error("The `ipcInput` option is not serializable with JSON.", { cause: error });
}
};
validateIpcInput = {
advanced: validateAdvancedInput,
json: validateJsonInput
};
sendIpcInput = async (subprocess, ipcInput) => {
if (ipcInput === void 0) {
return;
}
await subprocess.sendMessage(ipcInput);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/encoding-option.js
var validateEncoding, TEXT_ENCODINGS, BINARY_ENCODINGS, ENCODINGS, getCorrectEncoding, ENCODING_ALIASES, serializeEncoding;
var init_encoding_option = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/encoding-option.js"() {
validateEncoding = ({ encoding }) => {
if (ENCODINGS.has(encoding)) {
return;
}
const correctEncoding = getCorrectEncoding(encoding);
if (correctEncoding !== void 0) {
throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
Please rename it to ${serializeEncoding(correctEncoding)}.`);
}
const correctEncodings = [...ENCODINGS].map((correctEncoding2) => serializeEncoding(correctEncoding2)).join(", ");
throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
Please rename it to one of: ${correctEncodings}.`);
};
TEXT_ENCODINGS = /* @__PURE__ */ new Set(["utf8", "utf16le"]);
BINARY_ENCODINGS = /* @__PURE__ */ new Set(["buffer", "hex", "base64", "base64url", "latin1", "ascii"]);
ENCODINGS = /* @__PURE__ */ new Set([...TEXT_ENCODINGS, ...BINARY_ENCODINGS]);
getCorrectEncoding = (encoding) => {
if (encoding === null) {
return "buffer";
}
if (typeof encoding !== "string") {
return;
}
const lowerEncoding = encoding.toLowerCase();
if (lowerEncoding in ENCODING_ALIASES) {
return ENCODING_ALIASES[lowerEncoding];
}
if (ENCODINGS.has(lowerEncoding)) {
return lowerEncoding;
}
};
ENCODING_ALIASES = {
// eslint-disable-next-line unicorn/text-encoding-identifier-case
"utf-8": "utf8",
"utf-16le": "utf16le",
"ucs-2": "utf16le",
ucs2: "utf16le",
binary: "latin1"
};
serializeEncoding = (encoding) => typeof encoding === "string" ? `"${encoding}"` : String(encoding);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/cwd.js
import { statSync as statSync2 } from "node:fs";
import path28 from "node:path";
import process13 from "node:process";
var normalizeCwd, getDefaultCwd, fixCwdError;
var init_cwd = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/cwd.js"() {
init_file_url();
normalizeCwd = (cwd = getDefaultCwd()) => {
const cwdString = safeNormalizeFileUrl(cwd, 'The "cwd" option');
return path28.resolve(cwdString);
};
getDefaultCwd = () => {
try {
return process13.cwd();
} catch (error) {
error.message = `The current directory does not exist.
${error.message}`;
throw error;
}
};
fixCwdError = (originalMessage, cwd) => {
if (cwd === getDefaultCwd()) {
return originalMessage;
}
let cwdStat;
try {
cwdStat = statSync2(cwd);
} catch (error) {
return `The "cwd" option is invalid: ${cwd}.
${error.message}
${originalMessage}`;
}
if (!cwdStat.isDirectory()) {
return `The "cwd" option is not a directory: ${cwd}.
${originalMessage}`;
}
return originalMessage;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/options.js
import path29 from "node:path";
import process14 from "node:process";
var import_cross_spawn, normalizeOptions, addDefaultOptions, getEnv;
var init_options2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/options.js"() {
import_cross_spawn = __toESM(require_cross_spawn(), 1);
init_npm_run_path();
init_kill();
init_signal();
init_cancel();
init_graceful2();
init_timeout();
init_node2();
init_ipc_input();
init_encoding_option();
init_cwd();
init_file_url();
init_specific();
normalizeOptions = (filePath, rawArguments, rawOptions) => {
rawOptions.cwd = normalizeCwd(rawOptions.cwd);
const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
const { command: file, args: commandArguments, options: initialOptions } = import_cross_spawn.default._parse(processedFile, processedArguments, processedOptions);
const fdOptions = normalizeFdSpecificOptions(initialOptions);
const options = addDefaultOptions(fdOptions);
validateTimeout(options);
validateEncoding(options);
validateIpcInputOption(options);
validateCancelSignal(options);
validateGracefulCancel(options);
options.shell = normalizeFileUrl(options.shell);
options.env = getEnv(options);
options.killSignal = normalizeKillSignal(options.killSignal);
options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
if (process14.platform === "win32" && path29.basename(file, ".exe") === "cmd") {
commandArguments.unshift("/q");
}
return { file, commandArguments, options };
};
addDefaultOptions = ({
extendEnv = true,
preferLocal = false,
cwd,
localDir: localDirectory = cwd,
encoding = "utf8",
reject: reject3 = true,
cleanup: cleanup2 = true,
all = false,
windowsHide = true,
killSignal = "SIGTERM",
forceKillAfterDelay = true,
gracefulCancel = false,
ipcInput,
ipc = ipcInput !== void 0 || gracefulCancel,
serialization = "advanced",
...options
}) => ({
...options,
extendEnv,
preferLocal,
cwd,
localDirectory,
encoding,
reject: reject3,
cleanup: cleanup2,
all,
windowsHide,
killSignal,
forceKillAfterDelay,
gracefulCancel,
ipcInput,
ipc,
serialization
});
getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
const env3 = extendEnv ? { ...process14.env, ...envOption } : envOption;
if (preferLocal || node) {
return npmRunPathEnv({
env: env3,
cwd: localDirectory,
execPath: nodePath,
preferLocal,
addExecPath: node
});
}
return env3;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/shell.js
var concatenateShell;
var init_shell = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/arguments/shell.js"() {
concatenateShell = (file, commandArguments, options) => options.shell && commandArguments.length > 0 ? [[file, ...commandArguments].join(" "), [], options] : [file, commandArguments, options];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-final-newline/4.0.0/f8b3e34b53e554d3076f7d79143bc8ac53557632eec42fc0bcf80e5bd99d5d57/node_modules/strip-final-newline/index.js
function stripFinalNewline(input) {
if (typeof input === "string") {
return stripFinalNewlineString(input);
}
if (!(ArrayBuffer.isView(input) && input.BYTES_PER_ELEMENT === 1)) {
throw new Error("Input must be a string or a Uint8Array");
}
return stripFinalNewlineBinary(input);
}
var stripFinalNewlineString, stripFinalNewlineBinary, LF, LF_BINARY, CR, CR_BINARY;
var init_strip_final_newline = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-final-newline/4.0.0/f8b3e34b53e554d3076f7d79143bc8ac53557632eec42fc0bcf80e5bd99d5d57/node_modules/strip-final-newline/index.js"() {
stripFinalNewlineString = (input) => input.at(-1) === LF ? input.slice(0, input.at(-2) === CR ? -2 : -1) : input;
stripFinalNewlineBinary = (input) => input.at(-1) === LF_BINARY ? input.subarray(0, input.at(-2) === CR_BINARY ? -2 : -1) : input;
LF = "\n";
LF_BINARY = LF.codePointAt(0);
CR = "\r";
CR_BINARY = CR.codePointAt(0);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-stream/4.0.1/7b8ad7df4fa9bb1fdc63fbf0f97b595d95c1e6d5b7fad348ce34b901ddb9f824/node_modules/is-stream/index.js
function isStream(stream2, { checkOpen = true } = {}) {
return stream2 !== null && typeof stream2 === "object" && (stream2.writable || stream2.readable || !checkOpen || stream2.writable === void 0 && stream2.readable === void 0) && typeof stream2.pipe === "function";
}
function isWritableStream(stream2, { checkOpen = true } = {}) {
return isStream(stream2, { checkOpen }) && (stream2.writable || !checkOpen) && typeof stream2.write === "function" && typeof stream2.end === "function" && typeof stream2.writable === "boolean" && typeof stream2.writableObjectMode === "boolean" && typeof stream2.destroy === "function" && typeof stream2.destroyed === "boolean";
}
function isReadableStream(stream2, { checkOpen = true } = {}) {
return isStream(stream2, { checkOpen }) && (stream2.readable || !checkOpen) && typeof stream2.read === "function" && typeof stream2.readable === "boolean" && typeof stream2.readableObjectMode === "boolean" && typeof stream2.destroy === "function" && typeof stream2.destroyed === "boolean";
}
function isDuplexStream(stream2, options) {
return isWritableStream(stream2, options) && isReadableStream(stream2, options);
}
var init_is_stream = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-stream/4.0.1/7b8ad7df4fa9bb1fdc63fbf0f97b595d95c1e6d5b7fad348ce34b901ddb9f824/node_modules/is-stream/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js
function i2() {
return this[n].next();
}
function o(r) {
return this[n].return(r);
}
function h({ preventCancel: r = false } = {}) {
const e = this.getReader(), t2 = new c(
e,
r
), s = Object.create(u);
return s[n] = t2, s;
}
var a, c, n, u;
var init_asyncIterator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js"() {
a = Object.getPrototypeOf(
Object.getPrototypeOf(
/* istanbul ignore next */
async function* () {
}
).prototype
);
c = class {
#t;
#n;
#r = false;
#e = void 0;
constructor(e, t2) {
this.#t = e, this.#n = t2;
}
next() {
const e = () => this.#s();
return this.#e = this.#e ? this.#e.then(e, e) : e(), this.#e;
}
return(e) {
const t2 = () => this.#i(e);
return this.#e ? this.#e.then(t2, t2) : t2();
}
async #s() {
if (this.#r)
return {
done: true,
value: void 0
};
let e;
try {
e = await this.#t.read();
} catch (t2) {
throw this.#e = void 0, this.#r = true, this.#t.releaseLock(), t2;
}
return e.done && (this.#e = void 0, this.#r = true, this.#t.releaseLock()), e;
}
async #i(e) {
if (this.#r)
return {
done: true,
value: e
};
if (this.#r = true, !this.#n) {
const t2 = this.#t.cancel(e);
return this.#t.releaseLock(), await t2, {
done: true,
value: e
};
}
return this.#t.releaseLock(), {
done: true,
value: e
};
}
};
n = /* @__PURE__ */ Symbol();
Object.defineProperty(i2, "name", { value: "next" });
Object.defineProperty(o, "name", { value: "return" });
u = Object.create(a, {
next: {
enumerable: true,
configurable: true,
writable: true,
value: i2
},
return: {
enumerable: true,
configurable: true,
writable: true,
value: o
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js
var init_fromAnyIterable = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js
var init_ponyfill = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sec-ant/readable-stream/0.4.1/6a695649d2484089969e48b79be0925ba6e16d4558b47eec06fd91d756c6298a/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js"() {
init_asyncIterator();
init_fromAnyIterable();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/stream.js
var getAsyncIterable, toString3, getStreamIterable, handleStreamEnd, nodeImports;
var init_stream = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/stream.js"() {
init_is_stream();
init_ponyfill();
getAsyncIterable = (stream2) => {
if (isReadableStream(stream2, { checkOpen: false }) && nodeImports.on !== void 0) {
return getStreamIterable(stream2);
}
if (typeof stream2?.[Symbol.asyncIterator] === "function") {
return stream2;
}
if (toString3.call(stream2) === "[object ReadableStream]") {
return h.call(stream2);
}
throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.");
};
({ toString: toString3 } = Object.prototype);
getStreamIterable = async function* (stream2) {
const controller = new AbortController();
const state = {};
handleStreamEnd(stream2, controller, state);
try {
for await (const [chunk] of nodeImports.on(stream2, "data", { signal: controller.signal })) {
yield chunk;
}
} catch (error) {
if (state.error !== void 0) {
throw state.error;
} else if (!controller.signal.aborted) {
throw error;
}
} finally {
stream2.destroy();
}
};
handleStreamEnd = async (stream2, controller, state) => {
try {
await nodeImports.finished(stream2, {
cleanup: true,
readable: true,
writable: false,
error: false
});
} catch (error) {
state.error = error;
} finally {
controller.abort();
}
};
nodeImports = {};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/contents.js
var getStreamContents, appendFinalChunk, appendChunk, addNewChunk, getChunkType, objectToString2, MaxBufferError;
var init_contents = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/contents.js"() {
init_stream();
getStreamContents = async (stream2, { init: init2, convertChunk, getSize, truncateChunk, addChunk, getFinalChunk, finalize }, { maxBuffer = Number.POSITIVE_INFINITY } = {}) => {
const asyncIterable = getAsyncIterable(stream2);
const state = init2();
state.length = 0;
try {
for await (const chunk of asyncIterable) {
const chunkType = getChunkType(chunk);
const convertedChunk = convertChunk[chunkType](chunk, state);
appendChunk({
convertedChunk,
state,
getSize,
truncateChunk,
addChunk,
maxBuffer
});
}
appendFinalChunk({
state,
convertChunk,
getSize,
truncateChunk,
addChunk,
getFinalChunk,
maxBuffer
});
return finalize(state);
} catch (error) {
const normalizedError = typeof error === "object" && error !== null ? error : new Error(error);
normalizedError.bufferedData = finalize(state);
throw normalizedError;
}
};
appendFinalChunk = ({ state, getSize, truncateChunk, addChunk, getFinalChunk, maxBuffer }) => {
const convertedChunk = getFinalChunk(state);
if (convertedChunk !== void 0) {
appendChunk({
convertedChunk,
state,
getSize,
truncateChunk,
addChunk,
maxBuffer
});
}
};
appendChunk = ({ convertedChunk, state, getSize, truncateChunk, addChunk, maxBuffer }) => {
const chunkSize = getSize(convertedChunk);
const newLength = state.length + chunkSize;
if (newLength <= maxBuffer) {
addNewChunk(convertedChunk, state, addChunk, newLength);
return;
}
const truncatedChunk = truncateChunk(convertedChunk, maxBuffer - state.length);
if (truncatedChunk !== void 0) {
addNewChunk(truncatedChunk, state, addChunk, maxBuffer);
}
throw new MaxBufferError();
};
addNewChunk = (convertedChunk, state, addChunk, newLength) => {
state.contents = addChunk(convertedChunk, state, newLength);
state.length = newLength;
};
getChunkType = (chunk) => {
const typeOfChunk = typeof chunk;
if (typeOfChunk === "string") {
return "string";
}
if (typeOfChunk !== "object" || chunk === null) {
return "others";
}
if (globalThis.Buffer?.isBuffer(chunk)) {
return "buffer";
}
const prototypeName = objectToString2.call(chunk);
if (prototypeName === "[object ArrayBuffer]") {
return "arrayBuffer";
}
if (prototypeName === "[object DataView]") {
return "dataView";
}
if (Number.isInteger(chunk.byteLength) && Number.isInteger(chunk.byteOffset) && objectToString2.call(chunk.buffer) === "[object ArrayBuffer]") {
return "typedArray";
}
return "others";
};
({ toString: objectToString2 } = Object.prototype);
MaxBufferError = class extends Error {
name = "MaxBufferError";
constructor() {
super("maxBuffer exceeded");
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/utils.js
var identity3, noop2, getContentsProperty, throwObjectStream, getLengthProperty;
var init_utils = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/utils.js"() {
identity3 = (value) => value;
noop2 = () => void 0;
getContentsProperty = ({ contents }) => contents;
throwObjectStream = (chunk) => {
throw new Error(`Streams in object mode are not supported: ${String(chunk)}`);
};
getLengthProperty = (convertedChunk) => convertedChunk.length;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/array.js
async function getStreamAsArray(stream2, options) {
return getStreamContents(stream2, arrayMethods, options);
}
var initArray, increment, addArrayChunk, arrayMethods;
var init_array = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/array.js"() {
init_contents();
init_utils();
initArray = () => ({ contents: [] });
increment = () => 1;
addArrayChunk = (convertedChunk, { contents }) => {
contents.push(convertedChunk);
return contents;
};
arrayMethods = {
init: initArray,
convertChunk: {
string: identity3,
buffer: identity3,
arrayBuffer: identity3,
dataView: identity3,
typedArray: identity3,
others: identity3
},
getSize: increment,
truncateChunk: noop2,
addChunk: addArrayChunk,
getFinalChunk: noop2,
finalize: getContentsProperty
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/array-buffer.js
async function getStreamAsArrayBuffer(stream2, options) {
return getStreamContents(stream2, arrayBufferMethods, options);
}
var initArrayBuffer, useTextEncoder, textEncoder2, useUint8Array, useUint8ArrayWithOffset, truncateArrayBufferChunk, addArrayBufferChunk, resizeArrayBufferSlow, resizeArrayBuffer, getNewContentsLength, SCALE_FACTOR, finalizeArrayBuffer, hasArrayBufferResize, arrayBufferMethods;
var init_array_buffer = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/array-buffer.js"() {
init_contents();
init_utils();
initArrayBuffer = () => ({ contents: new ArrayBuffer(0) });
useTextEncoder = (chunk) => textEncoder2.encode(chunk);
textEncoder2 = new TextEncoder();
useUint8Array = (chunk) => new Uint8Array(chunk);
useUint8ArrayWithOffset = (chunk) => new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength);
truncateArrayBufferChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize);
addArrayBufferChunk = (convertedChunk, { contents, length: previousLength }, length) => {
const newContents = hasArrayBufferResize() ? resizeArrayBuffer(contents, length) : resizeArrayBufferSlow(contents, length);
new Uint8Array(newContents).set(convertedChunk, previousLength);
return newContents;
};
resizeArrayBufferSlow = (contents, length) => {
if (length <= contents.byteLength) {
return contents;
}
const arrayBuffer = new ArrayBuffer(getNewContentsLength(length));
new Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);
return arrayBuffer;
};
resizeArrayBuffer = (contents, length) => {
if (length <= contents.maxByteLength) {
contents.resize(length);
return contents;
}
const arrayBuffer = new ArrayBuffer(length, { maxByteLength: getNewContentsLength(length) });
new Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);
return arrayBuffer;
};
getNewContentsLength = (length) => SCALE_FACTOR ** Math.ceil(Math.log(length) / Math.log(SCALE_FACTOR));
SCALE_FACTOR = 2;
finalizeArrayBuffer = ({ contents, length }) => hasArrayBufferResize() ? contents : contents.slice(0, length);
hasArrayBufferResize = () => "resize" in ArrayBuffer.prototype;
arrayBufferMethods = {
init: initArrayBuffer,
convertChunk: {
string: useTextEncoder,
buffer: useUint8Array,
arrayBuffer: useUint8Array,
dataView: useUint8ArrayWithOffset,
typedArray: useUint8ArrayWithOffset,
others: throwObjectStream
},
getSize: getLengthProperty,
truncateChunk: truncateArrayBufferChunk,
addChunk: addArrayBufferChunk,
getFinalChunk: noop2,
finalize: finalizeArrayBuffer
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/string.js
async function getStreamAsString(stream2, options) {
return getStreamContents(stream2, stringMethods, options);
}
var initString, useTextDecoder, addStringChunk, truncateStringChunk, getFinalStringChunk, stringMethods;
var init_string = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/string.js"() {
init_contents();
init_utils();
initString = () => ({ contents: "", textDecoder: new TextDecoder() });
useTextDecoder = (chunk, { textDecoder: textDecoder2 }) => textDecoder2.decode(chunk, { stream: true });
addStringChunk = (convertedChunk, { contents }) => contents + convertedChunk;
truncateStringChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize);
getFinalStringChunk = ({ textDecoder: textDecoder2 }) => {
const finalChunk = textDecoder2.decode();
return finalChunk === "" ? void 0 : finalChunk;
};
stringMethods = {
init: initString,
convertChunk: {
string: identity3,
buffer: useTextDecoder,
arrayBuffer: useTextDecoder,
dataView: useTextDecoder,
typedArray: useTextDecoder,
others: throwObjectStream
},
getSize: getLengthProperty,
truncateChunk: truncateStringChunk,
addChunk: addStringChunk,
getFinalChunk: getFinalStringChunk,
finalize: getContentsProperty
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/exports.js
var init_exports = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/exports.js"() {
init_array();
init_array_buffer();
init_string();
init_contents();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/index.js
import { on } from "node:events";
import { finished } from "node:stream/promises";
var init_source2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/get-stream/9.0.1/69ae1c618bfef4a14fcafaa4d22c6c0c519e6f1c741c2958f90c677994d53fcf/node_modules/get-stream/source/index.js"() {
init_stream();
init_exports();
Object.assign(nodeImports, { on, finished });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/max-buffer.js
var handleMaxBuffer, getMaxBufferUnit, checkIpcMaxBuffer, getMaxBufferMessage, getMaxBufferInfo, isMaxBufferSync, truncateMaxBufferSync, getMaxBufferSync;
var init_max_buffer = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/max-buffer.js"() {
init_source2();
init_standard_stream();
init_specific();
handleMaxBuffer = ({ error, stream: stream2, readableObjectMode, lines, encoding, fdNumber }) => {
if (!(error instanceof MaxBufferError)) {
throw error;
}
if (fdNumber === "all") {
return error;
}
const unit = getMaxBufferUnit(readableObjectMode, lines, encoding);
error.maxBufferInfo = { fdNumber, unit };
stream2.destroy();
throw error;
};
getMaxBufferUnit = (readableObjectMode, lines, encoding) => {
if (readableObjectMode) {
return "objects";
}
if (lines) {
return "lines";
}
if (encoding === "buffer") {
return "bytes";
}
return "characters";
};
checkIpcMaxBuffer = (subprocess, ipcOutput, maxBuffer) => {
if (ipcOutput.length !== maxBuffer) {
return;
}
const error = new MaxBufferError();
error.maxBufferInfo = { fdNumber: "ipc" };
throw error;
};
getMaxBufferMessage = (error, maxBuffer) => {
const { streamName, threshold, unit } = getMaxBufferInfo(error, maxBuffer);
return `Command's ${streamName} was larger than ${threshold} ${unit}`;
};
getMaxBufferInfo = (error, maxBuffer) => {
if (error?.maxBufferInfo === void 0) {
return { streamName: "output", threshold: maxBuffer[1], unit: "bytes" };
}
const { maxBufferInfo: { fdNumber, unit } } = error;
delete error.maxBufferInfo;
const threshold = getFdSpecificValue(maxBuffer, fdNumber);
if (fdNumber === "ipc") {
return { streamName: "IPC output", threshold, unit: "messages" };
}
return { streamName: getStreamName(fdNumber), threshold, unit };
};
isMaxBufferSync = (resultError, output, maxBuffer) => resultError?.code === "ENOBUFS" && output !== null && output.some((result2) => result2 !== null && result2.length > getMaxBufferSync(maxBuffer));
truncateMaxBufferSync = (result2, isMaxBuffer, maxBuffer) => {
if (!isMaxBuffer) {
return result2;
}
const maxBufferValue = getMaxBufferSync(maxBuffer);
return result2.length > maxBufferValue ? result2.slice(0, maxBufferValue) : result2;
};
getMaxBufferSync = ([, stdoutMaxBuffer]) => stdoutMaxBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/message.js
import { inspect as inspect2 } from "node:util";
var createMessages, getErrorPrefix, getForcefulSuffix, getOriginalMessage, serializeIpcMessage, serializeMessagePart, serializeMessageItem;
var init_message = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/message.js"() {
init_strip_final_newline();
init_uint_array();
init_cwd();
init_escape();
init_max_buffer();
init_signal();
init_final_error();
createMessages = ({
stdio,
all,
ipcOutput,
originalError,
signal,
signalDescription,
exitCode,
escapedCommand,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal,
maxBuffer,
timeout,
cwd
}) => {
const errorCode = originalError?.code;
const prefix = getErrorPrefix({
originalError,
timedOut,
timeout,
isMaxBuffer,
maxBuffer,
errorCode,
signal,
signalDescription,
exitCode,
isCanceled,
isGracefullyCanceled,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal
});
const originalMessage = getOriginalMessage(originalError, cwd);
const suffix = originalMessage === void 0 ? "" : `
${originalMessage}`;
const shortMessage = `${prefix}: ${escapedCommand}${suffix}`;
const messageStdio = all === void 0 ? [stdio[2], stdio[1]] : [all];
const message = [
shortMessage,
...messageStdio,
...stdio.slice(3),
ipcOutput.map((ipcMessage) => serializeIpcMessage(ipcMessage)).join("\n")
].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join("\n\n");
return { originalMessage, shortMessage, message };
};
getErrorPrefix = ({
originalError,
timedOut,
timeout,
isMaxBuffer,
maxBuffer,
errorCode,
signal,
signalDescription,
exitCode,
isCanceled,
isGracefullyCanceled,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal
}) => {
const forcefulSuffix = getForcefulSuffix(isForcefullyTerminated, forceKillAfterDelay);
if (timedOut) {
return `Command timed out after ${timeout} milliseconds${forcefulSuffix}`;
}
if (isGracefullyCanceled) {
if (signal === void 0) {
return `Command was gracefully canceled with exit code ${exitCode}`;
}
return isForcefullyTerminated ? `Command was gracefully canceled${forcefulSuffix}` : `Command was gracefully canceled with ${signal} (${signalDescription})`;
}
if (isCanceled) {
return `Command was canceled${forcefulSuffix}`;
}
if (isMaxBuffer) {
return `${getMaxBufferMessage(originalError, maxBuffer)}${forcefulSuffix}`;
}
if (errorCode !== void 0) {
return `Command failed with ${errorCode}${forcefulSuffix}`;
}
if (isForcefullyTerminated) {
return `Command was killed with ${killSignal} (${getSignalDescription(killSignal)})${forcefulSuffix}`;
}
if (signal !== void 0) {
return `Command was killed with ${signal} (${signalDescription})`;
}
if (exitCode !== void 0) {
return `Command failed with exit code ${exitCode}`;
}
return "Command failed";
};
getForcefulSuffix = (isForcefullyTerminated, forceKillAfterDelay) => isForcefullyTerminated ? ` and was forcefully terminated after ${forceKillAfterDelay} milliseconds` : "";
getOriginalMessage = (originalError, cwd) => {
if (originalError instanceof DiscardedError) {
return;
}
const originalMessage = isExecaError(originalError) ? originalError.originalMessage : String(originalError?.message ?? originalError);
const escapedOriginalMessage = escapeLines(fixCwdError(originalMessage, cwd));
return escapedOriginalMessage === "" ? void 0 : escapedOriginalMessage;
};
serializeIpcMessage = (ipcMessage) => typeof ipcMessage === "string" ? ipcMessage : inspect2(ipcMessage);
serializeMessagePart = (messagePart) => Array.isArray(messagePart) ? messagePart.map((messageItem) => stripFinalNewline(serializeMessageItem(messageItem))).filter(Boolean).join("\n") : serializeMessageItem(messagePart);
serializeMessageItem = (messageItem) => {
if (typeof messageItem === "string") {
return messageItem;
}
if (isUint8Array(messageItem)) {
return uint8ArrayToString(messageItem);
}
return "";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/result.js
var makeSuccessResult, makeEarlyError, makeError, getErrorProperties, omitUndefinedProperties, normalizeExitPayload;
var init_result = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/result.js"() {
init_signal();
init_duration();
init_final_error();
init_message();
makeSuccessResult = ({
command,
escapedCommand,
stdio,
all,
ipcOutput,
options: { cwd },
startTime
}) => omitUndefinedProperties({
command,
escapedCommand,
cwd,
durationMs: getDurationMs(startTime),
failed: false,
timedOut: false,
isCanceled: false,
isGracefullyCanceled: false,
isTerminated: false,
isMaxBuffer: false,
isForcefullyTerminated: false,
exitCode: 0,
stdout: stdio[1],
stderr: stdio[2],
all,
stdio,
ipcOutput,
pipedFrom: []
});
makeEarlyError = ({
error,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync
}) => makeError({
error,
command,
escapedCommand,
startTime,
timedOut: false,
isCanceled: false,
isGracefullyCanceled: false,
isMaxBuffer: false,
isForcefullyTerminated: false,
stdio: Array.from({ length: fileDescriptors.length }),
ipcOutput: [],
options,
isSync
});
makeError = ({
error: originalError,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode: rawExitCode,
signal: rawSignal,
stdio,
all,
ipcOutput,
options: {
timeoutDuration,
timeout = timeoutDuration,
forceKillAfterDelay,
killSignal,
cwd,
maxBuffer
},
isSync
}) => {
const { exitCode, signal, signalDescription } = normalizeExitPayload(rawExitCode, rawSignal);
const { originalMessage, shortMessage, message } = createMessages({
stdio,
all,
ipcOutput,
originalError,
signal,
signalDescription,
exitCode,
escapedCommand,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal,
maxBuffer,
timeout,
cwd
});
const error = getFinalError(originalError, message, isSync);
Object.assign(error, getErrorProperties({
error,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
stdio,
all,
ipcOutput,
cwd,
originalMessage,
shortMessage
}));
return error;
};
getErrorProperties = ({
error,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
stdio,
all,
ipcOutput,
cwd,
originalMessage,
shortMessage
}) => omitUndefinedProperties({
shortMessage,
originalMessage,
command,
escapedCommand,
cwd,
durationMs: getDurationMs(startTime),
failed: true,
timedOut,
isCanceled,
isGracefullyCanceled,
isTerminated: signal !== void 0,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
code: error.cause?.code,
stdout: stdio[1],
stderr: stdio[2],
all,
stdio,
ipcOutput,
pipedFrom: []
});
omitUndefinedProperties = (result2) => Object.fromEntries(Object.entries(result2).filter(([, value]) => value !== void 0));
normalizeExitPayload = (rawExitCode, rawSignal) => {
const exitCode = rawExitCode === null ? void 0 : rawExitCode;
const signal = rawSignal === null ? void 0 : rawSignal;
const signalDescription = signal === void 0 ? void 0 : getSignalDescription(rawSignal);
return { exitCode, signal, signalDescription };
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-ms/4.0.0/edcb0dce1fc1cde6b0b4641cc65f88dba04d2ac5013f8df3cf864a18508e9952/node_modules/parse-ms/index.js
function parseNumber(milliseconds) {
return {
days: Math.trunc(milliseconds / 864e5),
hours: Math.trunc(milliseconds / 36e5 % 24),
minutes: Math.trunc(milliseconds / 6e4 % 60),
seconds: Math.trunc(milliseconds / 1e3 % 60),
milliseconds: Math.trunc(milliseconds % 1e3),
microseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e3) % 1e3),
nanoseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e6) % 1e3)
};
}
function parseBigint(milliseconds) {
return {
days: milliseconds / 86400000n,
hours: milliseconds / 3600000n % 24n,
minutes: milliseconds / 60000n % 60n,
seconds: milliseconds / 1000n % 60n,
milliseconds: milliseconds % 1000n,
microseconds: 0n,
nanoseconds: 0n
};
}
function parseMilliseconds(milliseconds) {
switch (typeof milliseconds) {
case "number": {
if (Number.isFinite(milliseconds)) {
return parseNumber(milliseconds);
}
break;
}
case "bigint": {
return parseBigint(milliseconds);
}
}
throw new TypeError("Expected a finite number or bigint");
}
var toZeroIfInfinity;
var init_parse_ms = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-ms/4.0.0/edcb0dce1fc1cde6b0b4641cc65f88dba04d2ac5013f8df3cf864a18508e9952/node_modules/parse-ms/index.js"() {
toZeroIfInfinity = (value) => Number.isFinite(value) ? value : 0;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pretty-ms/9.3.0/84ed77c8a81e6c28104a47a00f81e7011aebdb2cb4c3d945391f167007052120/node_modules/pretty-ms/index.js
function prettyMilliseconds(milliseconds, options) {
const isBigInt = typeof milliseconds === "bigint";
if (!isBigInt && !Number.isFinite(milliseconds)) {
throw new TypeError("Expected a finite number or bigint");
}
options = { ...options };
const sign = milliseconds < 0 ? "-" : "";
milliseconds = milliseconds < 0 ? -milliseconds : milliseconds;
if (options.colonNotation) {
options.compact = false;
options.formatSubMilliseconds = false;
options.separateMilliseconds = false;
options.verbose = false;
}
if (options.compact) {
options.unitCount = 1;
options.secondsDecimalDigits = 0;
options.millisecondsDecimalDigits = 0;
}
let result2 = [];
const floorDecimals = (value, decimalDigits) => {
const flooredInterimValue = Math.floor(value * 10 ** decimalDigits + SECOND_ROUNDING_EPSILON);
const flooredValue = Math.round(flooredInterimValue) / 10 ** decimalDigits;
return flooredValue.toFixed(decimalDigits);
};
const add2 = (value, long, short, valueString) => {
if ((result2.length === 0 || !options.colonNotation) && isZero(value) && !(options.colonNotation && short === "m")) {
return;
}
valueString ??= String(value);
if (options.colonNotation) {
const wholeDigits = valueString.includes(".") ? valueString.split(".")[0].length : valueString.length;
const minLength = result2.length > 0 ? 2 : 1;
valueString = "0".repeat(Math.max(0, minLength - wholeDigits)) + valueString;
} else {
valueString += options.verbose ? " " + pluralize(long, value) : short;
}
result2.push(valueString);
};
const parsed = parseMilliseconds(milliseconds);
const days = BigInt(parsed.days);
if (options.hideYearAndDays) {
add2(BigInt(days) * 24n + BigInt(parsed.hours), "hour", "h");
} else {
if (options.hideYear) {
add2(days, "day", "d");
} else {
add2(days / 365n, "year", "y");
add2(days % 365n, "day", "d");
}
add2(Number(parsed.hours), "hour", "h");
}
add2(Number(parsed.minutes), "minute", "m");
if (!options.hideSeconds) {
if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3 && !options.subSecondsAsDecimals) {
const seconds = Number(parsed.seconds);
const milliseconds2 = Number(parsed.milliseconds);
const microseconds = Number(parsed.microseconds);
const nanoseconds = Number(parsed.nanoseconds);
add2(seconds, "second", "s");
if (options.formatSubMilliseconds) {
add2(milliseconds2, "millisecond", "ms");
add2(microseconds, "microsecond", "\xB5s");
add2(nanoseconds, "nanosecond", "ns");
} else {
const millisecondsAndBelow = milliseconds2 + microseconds / 1e3 + nanoseconds / 1e6;
const millisecondsDecimalDigits = typeof options.millisecondsDecimalDigits === "number" ? options.millisecondsDecimalDigits : 0;
const roundedMilliseconds = millisecondsAndBelow >= 1 ? Math.round(millisecondsAndBelow) : Math.ceil(millisecondsAndBelow);
const millisecondsString = millisecondsDecimalDigits ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits) : roundedMilliseconds;
add2(
Number.parseFloat(millisecondsString),
"millisecond",
"ms",
millisecondsString
);
}
} else {
const seconds = (isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds) / 1e3 % 60;
const secondsDecimalDigits = typeof options.secondsDecimalDigits === "number" ? options.secondsDecimalDigits : 1;
const secondsFixed = floorDecimals(seconds, secondsDecimalDigits);
const secondsString = options.keepDecimalsOnWholeSeconds ? secondsFixed : secondsFixed.replace(/\.0+$/, "");
add2(Number.parseFloat(secondsString), "second", "s", secondsString);
}
}
if (result2.length === 0) {
return sign + "0" + (options.verbose ? " milliseconds" : "ms");
}
const separator = options.colonNotation ? ":" : " ";
if (typeof options.unitCount === "number") {
result2 = result2.slice(0, Math.max(options.unitCount, 1));
}
return sign + result2.join(separator);
}
var isZero, pluralize, SECOND_ROUNDING_EPSILON, ONE_DAY_IN_MILLISECONDS;
var init_pretty_ms = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pretty-ms/9.3.0/84ed77c8a81e6c28104a47a00f81e7011aebdb2cb4c3d945391f167007052120/node_modules/pretty-ms/index.js"() {
init_parse_ms();
isZero = (value) => value === 0 || value === 0n;
pluralize = (word, count2) => count2 === 1 || count2 === 1n ? word : `${word}s`;
SECOND_ROUNDING_EPSILON = 1e-7;
ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/error.js
var logError;
var init_error = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/error.js"() {
init_log();
logError = (result2, verboseInfo) => {
if (result2.failed) {
verboseLog({
type: "error",
verboseMessage: result2.shortMessage,
verboseInfo,
result: result2
});
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/complete.js
var logResult, logDuration;
var init_complete = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/complete.js"() {
init_pretty_ms();
init_values2();
init_log();
init_error();
logResult = (result2, verboseInfo) => {
if (!isVerbose(verboseInfo)) {
return;
}
logError(result2, verboseInfo);
logDuration(result2, verboseInfo);
};
logDuration = (result2, verboseInfo) => {
const verboseMessage = `(done in ${prettyMilliseconds(result2.durationMs)})`;
verboseLog({
type: "duration",
verboseMessage,
verboseInfo,
result: result2
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/reject.js
var handleResult;
var init_reject2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/reject.js"() {
init_complete();
handleResult = (result2, verboseInfo, { reject: reject3 }) => {
logResult(result2, verboseInfo);
if (result2.failed && reject3) {
throw result2;
}
return result2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/type.js
var getStdioItemType, getTransformObjectType, getDuplexType, getTransformStreamType, validateNonGeneratorType, checkUndefinedOption, getGeneratorObjectType, checkBooleanOption, isGenerator, isAsyncGenerator, isSyncGenerator, isTransformOptions, isUrl, isRegularUrl, isFilePathObject, FILE_PATH_KEYS, isFilePathString, isUnknownStdioString, KNOWN_STDIO_STRINGS, isReadableStream2, isWritableStream2, isWebStream, isTransformStream, isAsyncIterableObject, isIterableObject, isObject2, TRANSFORM_TYPES, FILE_TYPES, SPECIAL_DUPLICATE_TYPES_SYNC, SPECIAL_DUPLICATE_TYPES, FORBID_DUPLICATE_TYPES, TYPE_TO_MESSAGE;
var init_type2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/type.js"() {
init_is_stream();
init_is_plain_obj();
init_uint_array();
getStdioItemType = (value, optionName) => {
if (isAsyncGenerator(value)) {
return "asyncGenerator";
}
if (isSyncGenerator(value)) {
return "generator";
}
if (isUrl(value)) {
return "fileUrl";
}
if (isFilePathObject(value)) {
return "filePath";
}
if (isWebStream(value)) {
return "webStream";
}
if (isStream(value, { checkOpen: false })) {
return "native";
}
if (isUint8Array(value)) {
return "uint8Array";
}
if (isAsyncIterableObject(value)) {
return "asyncIterable";
}
if (isIterableObject(value)) {
return "iterable";
}
if (isTransformStream(value)) {
return getTransformStreamType({ transform: value }, optionName);
}
if (isTransformOptions(value)) {
return getTransformObjectType(value, optionName);
}
return "native";
};
getTransformObjectType = (value, optionName) => {
if (isDuplexStream(value.transform, { checkOpen: false })) {
return getDuplexType(value, optionName);
}
if (isTransformStream(value.transform)) {
return getTransformStreamType(value, optionName);
}
return getGeneratorObjectType(value, optionName);
};
getDuplexType = (value, optionName) => {
validateNonGeneratorType(value, optionName, "Duplex stream");
return "duplex";
};
getTransformStreamType = (value, optionName) => {
validateNonGeneratorType(value, optionName, "web TransformStream");
return "webTransform";
};
validateNonGeneratorType = ({ final, binary: binary2, objectMode }, optionName, typeName) => {
checkUndefinedOption(final, `${optionName}.final`, typeName);
checkUndefinedOption(binary2, `${optionName}.binary`, typeName);
checkBooleanOption(objectMode, `${optionName}.objectMode`);
};
checkUndefinedOption = (value, optionName, typeName) => {
if (value !== void 0) {
throw new TypeError(`The \`${optionName}\` option can only be defined when using a generator, not a ${typeName}.`);
}
};
getGeneratorObjectType = ({ transform: transform3, final, binary: binary2, objectMode }, optionName) => {
if (transform3 !== void 0 && !isGenerator(transform3)) {
throw new TypeError(`The \`${optionName}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);
}
if (isDuplexStream(final, { checkOpen: false })) {
throw new TypeError(`The \`${optionName}.final\` option must not be a Duplex stream.`);
}
if (isTransformStream(final)) {
throw new TypeError(`The \`${optionName}.final\` option must not be a web TransformStream.`);
}
if (final !== void 0 && !isGenerator(final)) {
throw new TypeError(`The \`${optionName}.final\` option must be a generator.`);
}
checkBooleanOption(binary2, `${optionName}.binary`);
checkBooleanOption(objectMode, `${optionName}.objectMode`);
return isAsyncGenerator(transform3) || isAsyncGenerator(final) ? "asyncGenerator" : "generator";
};
checkBooleanOption = (value, optionName) => {
if (value !== void 0 && typeof value !== "boolean") {
throw new TypeError(`The \`${optionName}\` option must use a boolean.`);
}
};
isGenerator = (value) => isAsyncGenerator(value) || isSyncGenerator(value);
isAsyncGenerator = (value) => Object.prototype.toString.call(value) === "[object AsyncGeneratorFunction]";
isSyncGenerator = (value) => Object.prototype.toString.call(value) === "[object GeneratorFunction]";
isTransformOptions = (value) => isPlainObject(value) && (value.transform !== void 0 || value.final !== void 0);
isUrl = (value) => Object.prototype.toString.call(value) === "[object URL]";
isRegularUrl = (value) => isUrl(value) && value.protocol !== "file:";
isFilePathObject = (value) => isPlainObject(value) && Object.keys(value).length > 0 && Object.keys(value).every((key) => FILE_PATH_KEYS.has(key)) && isFilePathString(value.file);
FILE_PATH_KEYS = /* @__PURE__ */ new Set(["file", "append"]);
isFilePathString = (file) => typeof file === "string";
isUnknownStdioString = (type4, value) => type4 === "native" && typeof value === "string" && !KNOWN_STDIO_STRINGS.has(value);
KNOWN_STDIO_STRINGS = /* @__PURE__ */ new Set(["ipc", "ignore", "inherit", "overlapped", "pipe"]);
isReadableStream2 = (value) => Object.prototype.toString.call(value) === "[object ReadableStream]";
isWritableStream2 = (value) => Object.prototype.toString.call(value) === "[object WritableStream]";
isWebStream = (value) => isReadableStream2(value) || isWritableStream2(value);
isTransformStream = (value) => isReadableStream2(value?.readable) && isWritableStream2(value?.writable);
isAsyncIterableObject = (value) => isObject2(value) && typeof value[Symbol.asyncIterator] === "function";
isIterableObject = (value) => isObject2(value) && typeof value[Symbol.iterator] === "function";
isObject2 = (value) => typeof value === "object" && value !== null;
TRANSFORM_TYPES = /* @__PURE__ */ new Set(["generator", "asyncGenerator", "duplex", "webTransform"]);
FILE_TYPES = /* @__PURE__ */ new Set(["fileUrl", "filePath", "fileNumber"]);
SPECIAL_DUPLICATE_TYPES_SYNC = /* @__PURE__ */ new Set(["fileUrl", "filePath"]);
SPECIAL_DUPLICATE_TYPES = /* @__PURE__ */ new Set([...SPECIAL_DUPLICATE_TYPES_SYNC, "webStream", "nodeStream"]);
FORBID_DUPLICATE_TYPES = /* @__PURE__ */ new Set(["webTransform", "duplex"]);
TYPE_TO_MESSAGE = {
generator: "a generator",
asyncGenerator: "an async generator",
fileUrl: "a file URL",
filePath: "a file path string",
fileNumber: "a file descriptor number",
webStream: "a web stream",
nodeStream: "a Node.js stream",
webTransform: "a web TransformStream",
duplex: "a Duplex stream",
native: "any value",
iterable: "an iterable",
asyncIterable: "an async iterable",
string: "a string",
uint8Array: "a Uint8Array"
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/object-mode.js
var getTransformObjectModes, getOutputObjectModes, getInputObjectModes, getFdObjectMode;
var init_object_mode = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/object-mode.js"() {
init_type2();
getTransformObjectModes = (objectMode, index2, newTransforms, direction) => direction === "output" ? getOutputObjectModes(objectMode, index2, newTransforms) : getInputObjectModes(objectMode, index2, newTransforms);
getOutputObjectModes = (objectMode, index2, newTransforms) => {
const writableObjectMode = index2 !== 0 && newTransforms[index2 - 1].value.readableObjectMode;
const readableObjectMode = objectMode ?? writableObjectMode;
return { writableObjectMode, readableObjectMode };
};
getInputObjectModes = (objectMode, index2, newTransforms) => {
const writableObjectMode = index2 === 0 ? objectMode === true : newTransforms[index2 - 1].value.readableObjectMode;
const readableObjectMode = index2 !== newTransforms.length - 1 && (objectMode ?? writableObjectMode);
return { writableObjectMode, readableObjectMode };
};
getFdObjectMode = (stdioItems, direction) => {
const lastTransform = stdioItems.findLast(({ type: type4 }) => TRANSFORM_TYPES.has(type4));
if (lastTransform === void 0) {
return false;
}
return direction === "input" ? lastTransform.value.writableObjectMode : lastTransform.value.readableObjectMode;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/normalize.js
var normalizeTransforms, getTransforms, normalizeTransform, normalizeDuplex, normalizeTransformStream, normalizeGenerator, sortTransforms;
var init_normalize = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/normalize.js"() {
init_is_plain_obj();
init_encoding_option();
init_type2();
init_object_mode();
normalizeTransforms = (stdioItems, optionName, direction, options) => [
...stdioItems.filter(({ type: type4 }) => !TRANSFORM_TYPES.has(type4)),
...getTransforms(stdioItems, optionName, direction, options)
];
getTransforms = (stdioItems, optionName, direction, { encoding }) => {
const transforms = stdioItems.filter(({ type: type4 }) => TRANSFORM_TYPES.has(type4));
const newTransforms = Array.from({ length: transforms.length });
for (const [index2, stdioItem] of Object.entries(transforms)) {
newTransforms[index2] = normalizeTransform({
stdioItem,
index: Number(index2),
newTransforms,
optionName,
direction,
encoding
});
}
return sortTransforms(newTransforms, direction);
};
normalizeTransform = ({ stdioItem, stdioItem: { type: type4 }, index: index2, newTransforms, optionName, direction, encoding }) => {
if (type4 === "duplex") {
return normalizeDuplex({ stdioItem, optionName });
}
if (type4 === "webTransform") {
return normalizeTransformStream({
stdioItem,
index: index2,
newTransforms,
direction
});
}
return normalizeGenerator({
stdioItem,
index: index2,
newTransforms,
direction,
encoding
});
};
normalizeDuplex = ({
stdioItem,
stdioItem: {
value: {
transform: transform3,
transform: { writableObjectMode, readableObjectMode },
objectMode = readableObjectMode
}
},
optionName
}) => {
if (objectMode && !readableObjectMode) {
throw new TypeError(`The \`${optionName}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);
}
if (!objectMode && readableObjectMode) {
throw new TypeError(`The \`${optionName}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);
}
return {
...stdioItem,
value: { transform: transform3, writableObjectMode, readableObjectMode }
};
};
normalizeTransformStream = ({ stdioItem, stdioItem: { value }, index: index2, newTransforms, direction }) => {
const { transform: transform3, objectMode } = isPlainObject(value) ? value : { transform: value };
const { writableObjectMode, readableObjectMode } = getTransformObjectModes(objectMode, index2, newTransforms, direction);
return {
...stdioItem,
value: { transform: transform3, writableObjectMode, readableObjectMode }
};
};
normalizeGenerator = ({ stdioItem, stdioItem: { value }, index: index2, newTransforms, direction, encoding }) => {
const {
transform: transform3,
final,
binary: binaryOption = false,
preserveNewlines = false,
objectMode
} = isPlainObject(value) ? value : { transform: value };
const binary2 = binaryOption || BINARY_ENCODINGS.has(encoding);
const { writableObjectMode, readableObjectMode } = getTransformObjectModes(objectMode, index2, newTransforms, direction);
return {
...stdioItem,
value: {
transform: transform3,
final,
binary: binary2,
preserveNewlines,
writableObjectMode,
readableObjectMode
}
};
};
sortTransforms = (newTransforms, direction) => direction === "input" ? newTransforms.reverse() : newTransforms;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/direction.js
import process15 from "node:process";
var getStreamDirection, getStdioItemDirection, KNOWN_DIRECTIONS, anyDirection, alwaysInput, guessStreamDirection, getStandardStreamDirection, DEFAULT_DIRECTION;
var init_direction = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/direction.js"() {
init_is_stream();
init_type2();
getStreamDirection = (stdioItems, fdNumber, optionName) => {
const directions = stdioItems.map((stdioItem) => getStdioItemDirection(stdioItem, fdNumber));
if (directions.includes("input") && directions.includes("output")) {
throw new TypeError(`The \`${optionName}\` option must not be an array of both readable and writable values.`);
}
return directions.find(Boolean) ?? DEFAULT_DIRECTION;
};
getStdioItemDirection = ({ type: type4, value }, fdNumber) => KNOWN_DIRECTIONS[fdNumber] ?? guessStreamDirection[type4](value);
KNOWN_DIRECTIONS = ["input", "output", "output"];
anyDirection = () => void 0;
alwaysInput = () => "input";
guessStreamDirection = {
generator: anyDirection,
asyncGenerator: anyDirection,
fileUrl: anyDirection,
filePath: anyDirection,
iterable: alwaysInput,
asyncIterable: alwaysInput,
uint8Array: alwaysInput,
webStream: (value) => isWritableStream2(value) ? "output" : "input",
nodeStream(value) {
if (!isReadableStream(value, { checkOpen: false })) {
return "output";
}
return isWritableStream(value, { checkOpen: false }) ? void 0 : "input";
},
webTransform: anyDirection,
duplex: anyDirection,
native(value) {
const standardStreamDirection = getStandardStreamDirection(value);
if (standardStreamDirection !== void 0) {
return standardStreamDirection;
}
if (isStream(value, { checkOpen: false })) {
return guessStreamDirection.nodeStream(value);
}
}
};
getStandardStreamDirection = (value) => {
if ([0, process15.stdin].includes(value)) {
return "input";
}
if ([1, 2, process15.stdout, process15.stderr].includes(value)) {
return "output";
}
};
DEFAULT_DIRECTION = "output";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/array.js
var normalizeIpcStdioArray;
var init_array2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/array.js"() {
normalizeIpcStdioArray = (stdioArray, ipc) => ipc && !stdioArray.includes("ipc") ? [...stdioArray, "ipc"] : stdioArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/stdio-option.js
var normalizeStdioOption, getStdioArray, hasAlias, addDefaultValue2, normalizeStdioSync, isOutputPipeOnly;
var init_stdio_option = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/stdio-option.js"() {
init_standard_stream();
init_array2();
init_values2();
normalizeStdioOption = ({ stdio, ipc, buffer: buffer3, ...options }, verboseInfo, isSync) => {
const stdioArray = getStdioArray(stdio, options).map((stdioOption, fdNumber) => addDefaultValue2(stdioOption, fdNumber));
return isSync ? normalizeStdioSync(stdioArray, buffer3, verboseInfo) : normalizeIpcStdioArray(stdioArray, ipc);
};
getStdioArray = (stdio, options) => {
if (stdio === void 0) {
return STANDARD_STREAMS_ALIASES.map((alias) => options[alias]);
}
if (hasAlias(options)) {
throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${STANDARD_STREAMS_ALIASES.map((alias) => `\`${alias}\``).join(", ")}`);
}
if (typeof stdio === "string") {
return [stdio, stdio, stdio];
}
if (!Array.isArray(stdio)) {
throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
}
const length = Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length);
return Array.from({ length }, (_, fdNumber) => stdio[fdNumber]);
};
hasAlias = (options) => STANDARD_STREAMS_ALIASES.some((alias) => options[alias] !== void 0);
addDefaultValue2 = (stdioOption, fdNumber) => {
if (Array.isArray(stdioOption)) {
return stdioOption.map((item) => addDefaultValue2(item, fdNumber));
}
if (stdioOption === null || stdioOption === void 0) {
return fdNumber >= STANDARD_STREAMS_ALIASES.length ? "ignore" : "pipe";
}
return stdioOption;
};
normalizeStdioSync = (stdioArray, buffer3, verboseInfo) => stdioArray.map((stdioOption, fdNumber) => !buffer3[fdNumber] && fdNumber !== 0 && !isFullVerbose(verboseInfo, fdNumber) && isOutputPipeOnly(stdioOption) ? "ignore" : stdioOption);
isOutputPipeOnly = (stdioOption) => stdioOption === "pipe" || Array.isArray(stdioOption) && stdioOption.every((item) => item === "pipe");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/native.js
import { readFileSync as readFileSync2 } from "node:fs";
import tty3 from "node:tty";
var handleNativeStream, handleNativeStreamSync, getTargetFd, getTargetFdNumber, handleNativeStreamAsync, getStandardStream;
var init_native = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/native.js"() {
init_is_stream();
init_standard_stream();
init_uint_array();
init_fd_options();
handleNativeStream = ({ stdioItem, stdioItem: { type: type4 }, isStdioArray, fdNumber, direction, isSync }) => {
if (!isStdioArray || type4 !== "native") {
return stdioItem;
}
return isSync ? handleNativeStreamSync({ stdioItem, fdNumber, direction }) : handleNativeStreamAsync({ stdioItem, fdNumber });
};
handleNativeStreamSync = ({ stdioItem, stdioItem: { value, optionName }, fdNumber, direction }) => {
const targetFd = getTargetFd({
value,
optionName,
fdNumber,
direction
});
if (targetFd !== void 0) {
return targetFd;
}
if (isStream(value, { checkOpen: false })) {
throw new TypeError(`The \`${optionName}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);
}
return stdioItem;
};
getTargetFd = ({ value, optionName, fdNumber, direction }) => {
const targetFdNumber = getTargetFdNumber(value, fdNumber);
if (targetFdNumber === void 0) {
return;
}
if (direction === "output") {
return { type: "fileNumber", value: targetFdNumber, optionName };
}
if (tty3.isatty(targetFdNumber)) {
throw new TypeError(`The \`${optionName}: ${serializeOptionValue(value)}\` option is invalid: it cannot be a TTY with synchronous methods.`);
}
return { type: "uint8Array", value: bufferToUint8Array(readFileSync2(targetFdNumber)), optionName };
};
getTargetFdNumber = (value, fdNumber) => {
if (value === "inherit") {
return fdNumber;
}
if (typeof value === "number") {
return value;
}
const standardStreamIndex = STANDARD_STREAMS.indexOf(value);
if (standardStreamIndex !== -1) {
return standardStreamIndex;
}
};
handleNativeStreamAsync = ({ stdioItem, stdioItem: { value, optionName }, fdNumber }) => {
if (value === "inherit") {
return { type: "nodeStream", value: getStandardStream(fdNumber, value, optionName), optionName };
}
if (typeof value === "number") {
return { type: "nodeStream", value: getStandardStream(value, value, optionName), optionName };
}
if (isStream(value, { checkOpen: false })) {
return { type: "nodeStream", value, optionName };
}
return stdioItem;
};
getStandardStream = (fdNumber, value, optionName) => {
const standardStream = STANDARD_STREAMS[fdNumber];
if (standardStream === void 0) {
throw new TypeError(`The \`${optionName}: ${value}\` option is invalid: no such standard stream.`);
}
return standardStream;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/input-option.js
var handleInputOptions, handleInputOption, getInputType, handleInputFileOption, getInputFileType;
var init_input_option = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/input-option.js"() {
init_is_stream();
init_uint_array();
init_type2();
handleInputOptions = ({ input, inputFile }, fdNumber) => fdNumber === 0 ? [
...handleInputOption(input),
...handleInputFileOption(inputFile)
] : [];
handleInputOption = (input) => input === void 0 ? [] : [{
type: getInputType(input),
value: input,
optionName: "input"
}];
getInputType = (input) => {
if (isReadableStream(input, { checkOpen: false })) {
return "nodeStream";
}
if (typeof input === "string") {
return "string";
}
if (isUint8Array(input)) {
return "uint8Array";
}
throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.");
};
handleInputFileOption = (inputFile) => inputFile === void 0 ? [] : [{
...getInputFileType(inputFile),
optionName: "inputFile"
}];
getInputFileType = (inputFile) => {
if (isUrl(inputFile)) {
return { type: "fileUrl", value: inputFile };
}
if (isFilePathString(inputFile)) {
return { type: "filePath", value: { file: inputFile } };
}
throw new Error("The `inputFile` option must be a file path string or a file URL.");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/duplicate.js
var filterDuplicates, getDuplicateStream, getOtherStdioItems, validateDuplicateStreamSync, getDuplicateStreamInstance, hasSameValue, validateDuplicateTransform, throwOnDuplicateStream;
var init_duplicate = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/duplicate.js"() {
init_type2();
filterDuplicates = (stdioItems) => stdioItems.filter((stdioItemOne, indexOne) => stdioItems.every((stdioItemTwo, indexTwo) => stdioItemOne.value !== stdioItemTwo.value || indexOne >= indexTwo || stdioItemOne.type === "generator" || stdioItemOne.type === "asyncGenerator"));
getDuplicateStream = ({ stdioItem: { type: type4, value, optionName }, direction, fileDescriptors, isSync }) => {
const otherStdioItems = getOtherStdioItems(fileDescriptors, type4);
if (otherStdioItems.length === 0) {
return;
}
if (isSync) {
validateDuplicateStreamSync({
otherStdioItems,
type: type4,
value,
optionName,
direction
});
return;
}
if (SPECIAL_DUPLICATE_TYPES.has(type4)) {
return getDuplicateStreamInstance({
otherStdioItems,
type: type4,
value,
optionName,
direction
});
}
if (FORBID_DUPLICATE_TYPES.has(type4)) {
validateDuplicateTransform({
otherStdioItems,
type: type4,
value,
optionName
});
}
};
getOtherStdioItems = (fileDescriptors, type4) => fileDescriptors.flatMap(({ direction, stdioItems }) => stdioItems.filter((stdioItem) => stdioItem.type === type4).map(((stdioItem) => ({ ...stdioItem, direction }))));
validateDuplicateStreamSync = ({ otherStdioItems, type: type4, value, optionName, direction }) => {
if (SPECIAL_DUPLICATE_TYPES_SYNC.has(type4)) {
getDuplicateStreamInstance({
otherStdioItems,
type: type4,
value,
optionName,
direction
});
}
};
getDuplicateStreamInstance = ({ otherStdioItems, type: type4, value, optionName, direction }) => {
const duplicateStdioItems = otherStdioItems.filter((stdioItem) => hasSameValue(stdioItem, value));
if (duplicateStdioItems.length === 0) {
return;
}
const differentStdioItem = duplicateStdioItems.find((stdioItem) => stdioItem.direction !== direction);
throwOnDuplicateStream(differentStdioItem, optionName, type4);
return direction === "output" ? duplicateStdioItems[0].stream : void 0;
};
hasSameValue = ({ type: type4, value }, secondValue) => {
if (type4 === "filePath") {
return value.file === secondValue.file;
}
if (type4 === "fileUrl") {
return value.href === secondValue.href;
}
return value === secondValue;
};
validateDuplicateTransform = ({ otherStdioItems, type: type4, value, optionName }) => {
const duplicateStdioItem = otherStdioItems.find(({ value: { transform: transform3 } }) => transform3 === value.transform);
throwOnDuplicateStream(duplicateStdioItem, optionName, type4);
};
throwOnDuplicateStream = (stdioItem, optionName, type4) => {
if (stdioItem !== void 0) {
throw new TypeError(`The \`${stdioItem.optionName}\` and \`${optionName}\` options must not target ${TYPE_TO_MESSAGE[type4]} that is the same.`);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle.js
var handleStdio, getFileDescriptor, initializeStdioItems, initializeStdioItem, validateStdioArray, INVALID_STDIO_ARRAY_OPTIONS, validateStreams, validateFileStdio, validateFileObjectMode, getFinalFileDescriptors, getFinalFileDescriptor, addStreamProperties, cleanupCustomStreams, forwardStdio;
var init_handle = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle.js"() {
init_standard_stream();
init_normalize();
init_object_mode();
init_type2();
init_direction();
init_stdio_option();
init_native();
init_input_option();
init_duplicate();
handleStdio = (addProperties3, options, verboseInfo, isSync) => {
const stdio = normalizeStdioOption(options, verboseInfo, isSync);
const initialFileDescriptors = stdio.map((stdioOption, fdNumber) => getFileDescriptor({
stdioOption,
fdNumber,
options,
isSync
}));
const fileDescriptors = getFinalFileDescriptors({
initialFileDescriptors,
addProperties: addProperties3,
options,
isSync
});
options.stdio = fileDescriptors.map(({ stdioItems }) => forwardStdio(stdioItems));
return fileDescriptors;
};
getFileDescriptor = ({ stdioOption, fdNumber, options, isSync }) => {
const optionName = getStreamName(fdNumber);
const { stdioItems: initialStdioItems, isStdioArray } = initializeStdioItems({
stdioOption,
fdNumber,
options,
optionName
});
const direction = getStreamDirection(initialStdioItems, fdNumber, optionName);
const stdioItems = initialStdioItems.map((stdioItem) => handleNativeStream({
stdioItem,
isStdioArray,
fdNumber,
direction,
isSync
}));
const normalizedStdioItems = normalizeTransforms(stdioItems, optionName, direction, options);
const objectMode = getFdObjectMode(normalizedStdioItems, direction);
validateFileObjectMode(normalizedStdioItems, objectMode);
return { direction, objectMode, stdioItems: normalizedStdioItems };
};
initializeStdioItems = ({ stdioOption, fdNumber, options, optionName }) => {
const values = Array.isArray(stdioOption) ? stdioOption : [stdioOption];
const initialStdioItems = [
...values.map((value) => initializeStdioItem(value, optionName)),
...handleInputOptions(options, fdNumber)
];
const stdioItems = filterDuplicates(initialStdioItems);
const isStdioArray = stdioItems.length > 1;
validateStdioArray(stdioItems, isStdioArray, optionName);
validateStreams(stdioItems);
return { stdioItems, isStdioArray };
};
initializeStdioItem = (value, optionName) => ({
type: getStdioItemType(value, optionName),
value,
optionName
});
validateStdioArray = (stdioItems, isStdioArray, optionName) => {
if (stdioItems.length === 0) {
throw new TypeError(`The \`${optionName}\` option must not be an empty array.`);
}
if (!isStdioArray) {
return;
}
for (const { value, optionName: optionName2 } of stdioItems) {
if (INVALID_STDIO_ARRAY_OPTIONS.has(value)) {
throw new Error(`The \`${optionName2}\` option must not include \`${value}\`.`);
}
}
};
INVALID_STDIO_ARRAY_OPTIONS = /* @__PURE__ */ new Set(["ignore", "ipc"]);
validateStreams = (stdioItems) => {
for (const stdioItem of stdioItems) {
validateFileStdio(stdioItem);
}
};
validateFileStdio = ({ type: type4, value, optionName }) => {
if (isRegularUrl(value)) {
throw new TypeError(`The \`${optionName}: URL\` option must use the \`file:\` scheme.
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);
}
if (isUnknownStdioString(type4, value)) {
throw new TypeError(`The \`${optionName}: { file: '...' }\` option must be used instead of \`${optionName}: '...'\`.`);
}
};
validateFileObjectMode = (stdioItems, objectMode) => {
if (!objectMode) {
return;
}
const fileStdioItem = stdioItems.find(({ type: type4 }) => FILE_TYPES.has(type4));
if (fileStdioItem !== void 0) {
throw new TypeError(`The \`${fileStdioItem.optionName}\` option cannot use both files and transforms in objectMode.`);
}
};
getFinalFileDescriptors = ({ initialFileDescriptors, addProperties: addProperties3, options, isSync }) => {
const fileDescriptors = [];
try {
for (const fileDescriptor of initialFileDescriptors) {
fileDescriptors.push(getFinalFileDescriptor({
fileDescriptor,
fileDescriptors,
addProperties: addProperties3,
options,
isSync
}));
}
return fileDescriptors;
} catch (error) {
cleanupCustomStreams(fileDescriptors);
throw error;
}
};
getFinalFileDescriptor = ({
fileDescriptor: { direction, objectMode, stdioItems },
fileDescriptors,
addProperties: addProperties3,
options,
isSync
}) => {
const finalStdioItems = stdioItems.map((stdioItem) => addStreamProperties({
stdioItem,
addProperties: addProperties3,
direction,
options,
fileDescriptors,
isSync
}));
return { direction, objectMode, stdioItems: finalStdioItems };
};
addStreamProperties = ({ stdioItem, addProperties: addProperties3, direction, options, fileDescriptors, isSync }) => {
const duplicateStream = getDuplicateStream({
stdioItem,
direction,
fileDescriptors,
isSync
});
if (duplicateStream !== void 0) {
return { ...stdioItem, stream: duplicateStream };
}
return {
...stdioItem,
...addProperties3[direction][stdioItem.type](stdioItem, options)
};
};
cleanupCustomStreams = (fileDescriptors) => {
for (const { stdioItems } of fileDescriptors) {
for (const { stream: stream2 } of stdioItems) {
if (stream2 !== void 0 && !isStandardStream(stream2)) {
stream2.destroy();
}
}
}
};
forwardStdio = (stdioItems) => {
if (stdioItems.length > 1) {
return stdioItems.some(({ value: value2 }) => value2 === "overlapped") ? "overlapped" : "pipe";
}
const [{ type: type4, value }] = stdioItems;
return type4 === "native" ? value : "pipe";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle-sync.js
import { readFileSync as readFileSync3 } from "node:fs";
var handleStdioSync, forbiddenIfSync, forbiddenNativeIfSync, throwInvalidSyncValue, addProperties, addPropertiesSync;
var init_handle_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle-sync.js"() {
init_uint_array();
init_handle();
init_type2();
handleStdioSync = (options, verboseInfo) => handleStdio(addPropertiesSync, options, verboseInfo, true);
forbiddenIfSync = ({ type: type4, optionName }) => {
throwInvalidSyncValue(optionName, TYPE_TO_MESSAGE[type4]);
};
forbiddenNativeIfSync = ({ optionName, value }) => {
if (value === "ipc" || value === "overlapped") {
throwInvalidSyncValue(optionName, `"${value}"`);
}
return {};
};
throwInvalidSyncValue = (optionName, value) => {
throw new TypeError(`The \`${optionName}\` option cannot be ${value} with synchronous methods.`);
};
addProperties = {
generator() {
},
asyncGenerator: forbiddenIfSync,
webStream: forbiddenIfSync,
nodeStream: forbiddenIfSync,
webTransform: forbiddenIfSync,
duplex: forbiddenIfSync,
asyncIterable: forbiddenIfSync,
native: forbiddenNativeIfSync
};
addPropertiesSync = {
input: {
...addProperties,
fileUrl: ({ value }) => ({ contents: [bufferToUint8Array(readFileSync3(value))] }),
filePath: ({ value: { file } }) => ({ contents: [bufferToUint8Array(readFileSync3(file))] }),
fileNumber: forbiddenIfSync,
iterable: ({ value }) => ({ contents: [...value] }),
string: ({ value }) => ({ contents: [value] }),
uint8Array: ({ value }) => ({ contents: [value] })
},
output: {
...addProperties,
fileUrl: ({ value }) => ({ path: value }),
filePath: ({ value: { file, append } }) => ({ path: file, append }),
fileNumber: ({ value }) => ({ path: value }),
iterable: forbiddenIfSync,
string: forbiddenIfSync,
uint8Array: forbiddenIfSync
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/strip-newline.js
var stripNewline, getStripFinalNewline;
var init_strip_newline = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/strip-newline.js"() {
init_strip_final_newline();
stripNewline = (value, { stripFinalNewline: stripFinalNewline2 }, fdNumber) => getStripFinalNewline(stripFinalNewline2, fdNumber) && value !== void 0 && !Array.isArray(value) ? stripFinalNewline(value) : value;
getStripFinalNewline = (stripFinalNewline2, fdNumber) => fdNumber === "all" ? stripFinalNewline2[1] || stripFinalNewline2[2] : stripFinalNewline2[fdNumber];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/split.js
var getSplitLinesGenerator, splitLinesSync, splitLinesItemSync, initializeSplitLines, splitGenerator, getNewlineLength, linesFinal, getAppendNewlineGenerator, appendNewlineGenerator, concatString, linesStringInfo, concatUint8Array, linesUint8ArrayInfo;
var init_split2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/split.js"() {
getSplitLinesGenerator = (binary2, preserveNewlines, skipped, state) => binary2 || skipped ? void 0 : initializeSplitLines(preserveNewlines, state);
splitLinesSync = (chunk, preserveNewlines, objectMode) => objectMode ? chunk.flatMap((item) => splitLinesItemSync(item, preserveNewlines)) : splitLinesItemSync(chunk, preserveNewlines);
splitLinesItemSync = (chunk, preserveNewlines) => {
const { transform: transform3, final } = initializeSplitLines(preserveNewlines, {});
return [...transform3(chunk), ...final()];
};
initializeSplitLines = (preserveNewlines, state) => {
state.previousChunks = "";
return {
transform: splitGenerator.bind(void 0, state, preserveNewlines),
final: linesFinal.bind(void 0, state)
};
};
splitGenerator = function* (state, preserveNewlines, chunk) {
if (typeof chunk !== "string") {
yield chunk;
return;
}
let { previousChunks } = state;
let start = -1;
for (let end = 0; end < chunk.length; end += 1) {
if (chunk[end] === "\n") {
const newlineLength = getNewlineLength(chunk, end, preserveNewlines, state);
let line = chunk.slice(start + 1, end + 1 - newlineLength);
if (previousChunks.length > 0) {
line = concatString(previousChunks, line);
previousChunks = "";
}
yield line;
start = end;
}
}
if (start !== chunk.length - 1) {
previousChunks = concatString(previousChunks, chunk.slice(start + 1));
}
state.previousChunks = previousChunks;
};
getNewlineLength = (chunk, end, preserveNewlines, state) => {
if (preserveNewlines) {
return 0;
}
state.isWindowsNewline = end !== 0 && chunk[end - 1] === "\r";
return state.isWindowsNewline ? 2 : 1;
};
linesFinal = function* ({ previousChunks }) {
if (previousChunks.length > 0) {
yield previousChunks;
}
};
getAppendNewlineGenerator = ({ binary: binary2, preserveNewlines, readableObjectMode, state }) => binary2 || preserveNewlines || readableObjectMode ? void 0 : { transform: appendNewlineGenerator.bind(void 0, state) };
appendNewlineGenerator = function* ({ isWindowsNewline = false }, chunk) {
const { unixNewline, windowsNewline, LF: LF2, concatBytes: concatBytes2 } = typeof chunk === "string" ? linesStringInfo : linesUint8ArrayInfo;
if (chunk.at(-1) === LF2) {
yield chunk;
return;
}
const newline = isWindowsNewline ? windowsNewline : unixNewline;
yield concatBytes2(chunk, newline);
};
concatString = (firstChunk, secondChunk) => `${firstChunk}${secondChunk}`;
linesStringInfo = {
windowsNewline: "\r\n",
unixNewline: "\n",
LF: "\n",
concatBytes: concatString
};
concatUint8Array = (firstChunk, secondChunk) => {
const chunk = new Uint8Array(firstChunk.length + secondChunk.length);
chunk.set(firstChunk, 0);
chunk.set(secondChunk, firstChunk.length);
return chunk;
};
linesUint8ArrayInfo = {
windowsNewline: new Uint8Array([13, 10]),
unixNewline: new Uint8Array([10]),
LF: 10,
concatBytes: concatUint8Array
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/validate.js
import { Buffer as Buffer3 } from "node:buffer";
var getValidateTransformInput, validateStringTransformInput, getValidateTransformReturn, validateObjectTransformReturn, validateStringTransformReturn, validateEmptyReturn;
var init_validate = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/validate.js"() {
init_uint_array();
getValidateTransformInput = (writableObjectMode, optionName) => writableObjectMode ? void 0 : validateStringTransformInput.bind(void 0, optionName);
validateStringTransformInput = function* (optionName, chunk) {
if (typeof chunk !== "string" && !isUint8Array(chunk) && !Buffer3.isBuffer(chunk)) {
throw new TypeError(`The \`${optionName}\` option's transform must use "objectMode: true" to receive as input: ${typeof chunk}.`);
}
yield chunk;
};
getValidateTransformReturn = (readableObjectMode, optionName) => readableObjectMode ? validateObjectTransformReturn.bind(void 0, optionName) : validateStringTransformReturn.bind(void 0, optionName);
validateObjectTransformReturn = function* (optionName, chunk) {
validateEmptyReturn(optionName, chunk);
yield chunk;
};
validateStringTransformReturn = function* (optionName, chunk) {
validateEmptyReturn(optionName, chunk);
if (typeof chunk !== "string" && !isUint8Array(chunk)) {
throw new TypeError(`The \`${optionName}\` option's function must yield a string or an Uint8Array, not ${typeof chunk}.`);
}
yield chunk;
};
validateEmptyReturn = (optionName, chunk) => {
if (chunk === null || chunk === void 0) {
throw new TypeError(`The \`${optionName}\` option's function must not call \`yield ${chunk}\`.
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
if (condition) { yield value; }`);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/encoding-transform.js
import { Buffer as Buffer4 } from "node:buffer";
import { StringDecoder as StringDecoder2 } from "node:string_decoder";
var getEncodingTransformGenerator, encodingUint8ArrayGenerator, encodingStringGenerator, encodingStringFinal;
var init_encoding_transform = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/encoding-transform.js"() {
init_uint_array();
getEncodingTransformGenerator = (binary2, encoding, skipped) => {
if (skipped) {
return;
}
if (binary2) {
return { transform: encodingUint8ArrayGenerator.bind(void 0, new TextEncoder()) };
}
const stringDecoder = new StringDecoder2(encoding);
return {
transform: encodingStringGenerator.bind(void 0, stringDecoder),
final: encodingStringFinal.bind(void 0, stringDecoder)
};
};
encodingUint8ArrayGenerator = function* (textEncoder4, chunk) {
if (Buffer4.isBuffer(chunk)) {
yield bufferToUint8Array(chunk);
} else if (typeof chunk === "string") {
yield textEncoder4.encode(chunk);
} else {
yield chunk;
}
};
encodingStringGenerator = function* (stringDecoder, chunk) {
yield isUint8Array(chunk) ? stringDecoder.write(chunk) : chunk;
};
encodingStringFinal = function* (stringDecoder) {
const lastChunk = stringDecoder.end();
if (lastChunk !== "") {
yield lastChunk;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/run-async.js
import { callbackify } from "node:util";
var pushChunks, transformChunk, finalChunks, generatorFinalChunks, destroyTransform, identityGenerator;
var init_run_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/run-async.js"() {
pushChunks = callbackify(async (getChunks, state, getChunksArguments, transformStream) => {
state.currentIterable = getChunks(...getChunksArguments);
try {
for await (const chunk of state.currentIterable) {
transformStream.push(chunk);
}
} finally {
delete state.currentIterable;
}
});
transformChunk = async function* (chunk, generators, index2) {
if (index2 === generators.length) {
yield chunk;
return;
}
const { transform: transform3 = identityGenerator } = generators[index2];
for await (const transformedChunk of transform3(chunk)) {
yield* transformChunk(transformedChunk, generators, index2 + 1);
}
};
finalChunks = async function* (generators) {
for (const [index2, { final }] of Object.entries(generators)) {
yield* generatorFinalChunks(final, Number(index2), generators);
}
};
generatorFinalChunks = async function* (final, index2, generators) {
if (final === void 0) {
return;
}
for await (const finalChunk of final()) {
yield* transformChunk(finalChunk, generators, index2 + 1);
}
};
destroyTransform = callbackify(async ({ currentIterable }, error) => {
if (currentIterable !== void 0) {
await (error ? currentIterable.throw(error) : currentIterable.return());
return;
}
if (error) {
throw error;
}
});
identityGenerator = function* (chunk) {
yield chunk;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/run-sync.js
var pushChunksSync, runTransformSync, transformChunkSync, finalChunksSync, generatorFinalChunksSync, identityGenerator2;
var init_run_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/run-sync.js"() {
pushChunksSync = (getChunksSync, getChunksArguments, transformStream, done) => {
try {
for (const chunk of getChunksSync(...getChunksArguments)) {
transformStream.push(chunk);
}
done();
} catch (error) {
done(error);
}
};
runTransformSync = (generators, chunks) => [
...chunks.flatMap((chunk) => [...transformChunkSync(chunk, generators, 0)]),
...finalChunksSync(generators)
];
transformChunkSync = function* (chunk, generators, index2) {
if (index2 === generators.length) {
yield chunk;
return;
}
const { transform: transform3 = identityGenerator2 } = generators[index2];
for (const transformedChunk of transform3(chunk)) {
yield* transformChunkSync(transformedChunk, generators, index2 + 1);
}
};
finalChunksSync = function* (generators) {
for (const [index2, { final }] of Object.entries(generators)) {
yield* generatorFinalChunksSync(final, Number(index2), generators);
}
};
generatorFinalChunksSync = function* (final, index2, generators) {
if (final === void 0) {
return;
}
for (const finalChunk of final()) {
yield* transformChunkSync(finalChunk, generators, index2 + 1);
}
};
identityGenerator2 = function* (chunk) {
yield chunk;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/generator.js
import { Transform, getDefaultHighWaterMark } from "node:stream";
var generatorToStream, runGeneratorsSync, addInternalGenerators;
var init_generator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/transform/generator.js"() {
init_type2();
init_split2();
init_validate();
init_encoding_transform();
init_run_async();
init_run_sync();
generatorToStream = ({
value,
value: { transform: transform3, final, writableObjectMode, readableObjectMode },
optionName
}, { encoding }) => {
const state = {};
const generators = addInternalGenerators(value, encoding, optionName);
const transformAsync2 = isAsyncGenerator(transform3);
const finalAsync = isAsyncGenerator(final);
const transformMethod = transformAsync2 ? pushChunks.bind(void 0, transformChunk, state) : pushChunksSync.bind(void 0, transformChunkSync);
const finalMethod = transformAsync2 || finalAsync ? pushChunks.bind(void 0, finalChunks, state) : pushChunksSync.bind(void 0, finalChunksSync);
const destroyMethod = transformAsync2 || finalAsync ? destroyTransform.bind(void 0, state) : void 0;
const stream2 = new Transform({
writableObjectMode,
writableHighWaterMark: getDefaultHighWaterMark(writableObjectMode),
readableObjectMode,
readableHighWaterMark: getDefaultHighWaterMark(readableObjectMode),
transform(chunk, encoding2, done) {
transformMethod([chunk, generators, 0], this, done);
},
flush(done) {
finalMethod([generators], this, done);
},
destroy: destroyMethod
});
return { stream: stream2 };
};
runGeneratorsSync = (chunks, stdioItems, encoding, isInput) => {
const generators = stdioItems.filter(({ type: type4 }) => type4 === "generator");
const reversedGenerators = isInput ? generators.reverse() : generators;
for (const { value, optionName } of reversedGenerators) {
const generators2 = addInternalGenerators(value, encoding, optionName);
chunks = runTransformSync(generators2, chunks);
}
return chunks;
};
addInternalGenerators = ({ transform: transform3, final, binary: binary2, writableObjectMode, readableObjectMode, preserveNewlines }, encoding, optionName) => {
const state = {};
return [
{ transform: getValidateTransformInput(writableObjectMode, optionName) },
getEncodingTransformGenerator(binary2, encoding, writableObjectMode),
getSplitLinesGenerator(binary2, preserveNewlines, writableObjectMode, state),
{ transform: transform3, final },
{ transform: getValidateTransformReturn(readableObjectMode, optionName) },
getAppendNewlineGenerator({
binary: binary2,
preserveNewlines,
readableObjectMode,
state
})
].filter(Boolean);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/input-sync.js
var addInputOptionsSync, getInputFdNumbers, addInputOptionSync, applySingleInputGeneratorsSync, validateSerializable;
var init_input_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/input-sync.js"() {
init_generator();
init_uint_array();
init_type2();
addInputOptionsSync = (fileDescriptors, options) => {
for (const fdNumber of getInputFdNumbers(fileDescriptors)) {
addInputOptionSync(fileDescriptors, fdNumber, options);
}
};
getInputFdNumbers = (fileDescriptors) => new Set(Object.entries(fileDescriptors).filter(([, { direction }]) => direction === "input").map(([fdNumber]) => Number(fdNumber)));
addInputOptionSync = (fileDescriptors, fdNumber, options) => {
const { stdioItems } = fileDescriptors[fdNumber];
const allStdioItems = stdioItems.filter(({ contents }) => contents !== void 0);
if (allStdioItems.length === 0) {
return;
}
if (fdNumber !== 0) {
const [{ type: type4, optionName }] = allStdioItems;
throw new TypeError(`Only the \`stdin\` option, not \`${optionName}\`, can be ${TYPE_TO_MESSAGE[type4]} with synchronous methods.`);
}
const allContents = allStdioItems.map(({ contents }) => contents);
const transformedContents = allContents.map((contents) => applySingleInputGeneratorsSync(contents, stdioItems));
options.input = joinToUint8Array(transformedContents);
};
applySingleInputGeneratorsSync = (contents, stdioItems) => {
const newContents = runGeneratorsSync(contents, stdioItems, "utf8", true);
validateSerializable(newContents);
return joinToUint8Array(newContents);
};
validateSerializable = (newContents) => {
const invalidItem = newContents.find((item) => typeof item !== "string" && !isUint8Array(item));
if (invalidItem !== void 0) {
throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${invalidItem}.`);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/output.js
var shouldLogOutput, fdUsesVerbose, PIPED_STDIO_VALUES, logLines, logLinesSync, isPipingStream, logLine;
var init_output = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/output.js"() {
init_encoding_option();
init_type2();
init_log();
init_values2();
shouldLogOutput = ({ stdioItems, encoding, verboseInfo, fdNumber }) => fdNumber !== "all" && isFullVerbose(verboseInfo, fdNumber) && !BINARY_ENCODINGS.has(encoding) && fdUsesVerbose(fdNumber) && (stdioItems.some(({ type: type4, value }) => type4 === "native" && PIPED_STDIO_VALUES.has(value)) || stdioItems.every(({ type: type4 }) => TRANSFORM_TYPES.has(type4)));
fdUsesVerbose = (fdNumber) => fdNumber === 1 || fdNumber === 2;
PIPED_STDIO_VALUES = /* @__PURE__ */ new Set(["pipe", "overlapped"]);
logLines = async (linesIterable, stream2, fdNumber, verboseInfo) => {
for await (const line of linesIterable) {
if (!isPipingStream(stream2)) {
logLine(line, fdNumber, verboseInfo);
}
}
};
logLinesSync = (linesArray, fdNumber, verboseInfo) => {
for (const line of linesArray) {
logLine(line, fdNumber, verboseInfo);
}
};
isPipingStream = (stream2) => stream2._readableState.pipes.length > 0;
logLine = (line, fdNumber, verboseInfo) => {
const verboseMessage = serializeVerboseMessage(line);
verboseLog({
type: "output",
verboseMessage,
fdNumber,
verboseInfo
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/output-sync.js
import { writeFileSync, appendFileSync } from "node:fs";
var transformOutputSync, transformOutputResultSync, runOutputGeneratorsSync, serializeChunks, logOutputSync, writeToFiles;
var init_output_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/output-sync.js"() {
init_output();
init_generator();
init_split2();
init_uint_array();
init_type2();
init_max_buffer();
transformOutputSync = ({ fileDescriptors, syncResult: { output }, options, isMaxBuffer, verboseInfo }) => {
if (output === null) {
return { output: Array.from({ length: 3 }) };
}
const state = {};
const outputFiles = /* @__PURE__ */ new Set([]);
const transformedOutput = output.map((result2, fdNumber) => transformOutputResultSync({
result: result2,
fileDescriptors,
fdNumber,
state,
outputFiles,
isMaxBuffer,
verboseInfo
}, options));
return { output: transformedOutput, ...state };
};
transformOutputResultSync = ({ result: result2, fileDescriptors, fdNumber, state, outputFiles, isMaxBuffer, verboseInfo }, { buffer: buffer3, encoding, lines, stripFinalNewline: stripFinalNewline2, maxBuffer }) => {
if (result2 === null) {
return;
}
const truncatedResult = truncateMaxBufferSync(result2, isMaxBuffer, maxBuffer);
const uint8ArrayResult = bufferToUint8Array(truncatedResult);
const { stdioItems, objectMode } = fileDescriptors[fdNumber];
const chunks = runOutputGeneratorsSync([uint8ArrayResult], stdioItems, encoding, state);
const { serializedResult, finalResult = serializedResult } = serializeChunks({
chunks,
objectMode,
encoding,
lines,
stripFinalNewline: stripFinalNewline2,
fdNumber
});
logOutputSync({
serializedResult,
fdNumber,
state,
verboseInfo,
encoding,
stdioItems,
objectMode
});
const returnedResult = buffer3[fdNumber] ? finalResult : void 0;
try {
if (state.error === void 0) {
writeToFiles(serializedResult, stdioItems, outputFiles);
}
return returnedResult;
} catch (error) {
state.error = error;
return returnedResult;
}
};
runOutputGeneratorsSync = (chunks, stdioItems, encoding, state) => {
try {
return runGeneratorsSync(chunks, stdioItems, encoding, false);
} catch (error) {
state.error = error;
return chunks;
}
};
serializeChunks = ({ chunks, objectMode, encoding, lines, stripFinalNewline: stripFinalNewline2, fdNumber }) => {
if (objectMode) {
return { serializedResult: chunks };
}
if (encoding === "buffer") {
return { serializedResult: joinToUint8Array(chunks) };
}
const serializedResult = joinToString(chunks, encoding);
if (lines[fdNumber]) {
return { serializedResult, finalResult: splitLinesSync(serializedResult, !stripFinalNewline2[fdNumber], objectMode) };
}
return { serializedResult };
};
logOutputSync = ({ serializedResult, fdNumber, state, verboseInfo, encoding, stdioItems, objectMode }) => {
if (!shouldLogOutput({
stdioItems,
encoding,
verboseInfo,
fdNumber
})) {
return;
}
const linesArray = splitLinesSync(serializedResult, false, objectMode);
try {
logLinesSync(linesArray, fdNumber, verboseInfo);
} catch (error) {
state.error ??= error;
}
};
writeToFiles = (serializedResult, stdioItems, outputFiles) => {
for (const { path: path236, append } of stdioItems.filter(({ type: type4 }) => FILE_TYPES.has(type4))) {
const pathString = typeof path236 === "string" ? path236 : path236.toString();
if (append || outputFiles.has(pathString)) {
appendFileSync(path236, serializedResult);
} else {
outputFiles.add(pathString);
writeFileSync(path236, serializedResult);
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/all-sync.js
var getAllSync;
var init_all_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/all-sync.js"() {
init_uint_array();
init_strip_newline();
getAllSync = ([, stdout, stderr], options) => {
if (!options.all) {
return;
}
if (stdout === void 0) {
return stderr;
}
if (stderr === void 0) {
return stdout;
}
if (Array.isArray(stdout)) {
return Array.isArray(stderr) ? [...stdout, ...stderr] : [...stdout, stripNewline(stderr, options, "all")];
}
if (Array.isArray(stderr)) {
return [stripNewline(stdout, options, "all"), ...stderr];
}
if (isUint8Array(stdout) && isUint8Array(stderr)) {
return concatUint8Arrays([stdout, stderr]);
}
return `${stdout}${stderr}`;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/exit-async.js
import { once as once6 } from "node:events";
var waitForExit, waitForExitOrError, waitForSubprocessExit, waitForSuccessfulExit, isSubprocessErrorExit, isFailedExit;
var init_exit_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/exit-async.js"() {
init_final_error();
waitForExit = async (subprocess, context) => {
const [exitCode, signal] = await waitForExitOrError(subprocess);
context.isForcefullyTerminated ??= false;
return [exitCode, signal];
};
waitForExitOrError = async (subprocess) => {
const [spawnPayload, exitPayload] = await Promise.allSettled([
once6(subprocess, "spawn"),
once6(subprocess, "exit")
]);
if (spawnPayload.status === "rejected") {
return [];
}
return exitPayload.status === "rejected" ? waitForSubprocessExit(subprocess) : exitPayload.value;
};
waitForSubprocessExit = async (subprocess) => {
try {
return await once6(subprocess, "exit");
} catch {
return waitForSubprocessExit(subprocess);
}
};
waitForSuccessfulExit = async (exitPromise) => {
const [exitCode, signal] = await exitPromise;
if (!isSubprocessErrorExit(exitCode, signal) && isFailedExit(exitCode, signal)) {
throw new DiscardedError();
}
return [exitCode, signal];
};
isSubprocessErrorExit = (exitCode, signal) => exitCode === void 0 && signal === void 0;
isFailedExit = (exitCode, signal) => exitCode !== 0 || signal !== null;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/exit-sync.js
var getExitResultSync, getResultError;
var init_exit_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/exit-sync.js"() {
init_final_error();
init_max_buffer();
init_exit_async();
getExitResultSync = ({ error, status: exitCode, signal, output }, { maxBuffer }) => {
const resultError = getResultError(error, exitCode, signal);
const timedOut = resultError?.code === "ETIMEDOUT";
const isMaxBuffer = isMaxBufferSync(resultError, output, maxBuffer);
return {
resultError,
exitCode,
signal,
timedOut,
isMaxBuffer
};
};
getResultError = (error, exitCode, signal) => {
if (error !== void 0) {
return error;
}
return isFailedExit(exitCode, signal) ? new DiscardedError() : void 0;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/main-sync.js
import { spawnSync } from "node:child_process";
var execaCoreSync, handleSyncArguments, normalizeSyncOptions, validateSyncOptions, throwInvalidSyncOption, spawnSubprocessSync, runSubprocessSync, normalizeSpawnSyncOptions, getSyncResult;
var init_main_sync = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/main-sync.js"() {
init_command();
init_options2();
init_shell();
init_result();
init_reject2();
init_handle_sync();
init_strip_newline();
init_input_sync();
init_output_sync();
init_max_buffer();
init_all_sync();
init_exit_sync();
execaCoreSync = (rawFile, rawArguments, rawOptions) => {
const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleSyncArguments(rawFile, rawArguments, rawOptions);
const result2 = spawnSubprocessSync({
file,
commandArguments,
options,
command,
escapedCommand,
verboseInfo,
fileDescriptors,
startTime
});
return handleResult(result2, verboseInfo, options);
};
handleSyncArguments = (rawFile, rawArguments, rawOptions) => {
const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
const syncOptions = normalizeSyncOptions(rawOptions);
const { file, commandArguments, options } = normalizeOptions(rawFile, rawArguments, syncOptions);
validateSyncOptions(options);
const fileDescriptors = handleStdioSync(options, verboseInfo);
return {
file,
commandArguments,
command,
escapedCommand,
startTime,
verboseInfo,
options,
fileDescriptors
};
};
normalizeSyncOptions = (options) => options.node && !options.ipc ? { ...options, ipc: false } : options;
validateSyncOptions = ({ ipc, ipcInput, detached, cancelSignal }) => {
if (ipcInput) {
throwInvalidSyncOption("ipcInput");
}
if (ipc) {
throwInvalidSyncOption("ipc: true");
}
if (detached) {
throwInvalidSyncOption("detached: true");
}
if (cancelSignal) {
throwInvalidSyncOption("cancelSignal");
}
};
throwInvalidSyncOption = (value) => {
throw new TypeError(`The "${value}" option cannot be used with synchronous methods.`);
};
spawnSubprocessSync = ({ file, commandArguments, options, command, escapedCommand, verboseInfo, fileDescriptors, startTime }) => {
const syncResult = runSubprocessSync({
file,
commandArguments,
options,
command,
escapedCommand,
fileDescriptors,
startTime
});
if (syncResult.failed) {
return syncResult;
}
const { resultError, exitCode, signal, timedOut, isMaxBuffer } = getExitResultSync(syncResult, options);
const { output, error = resultError } = transformOutputSync({
fileDescriptors,
syncResult,
options,
isMaxBuffer,
verboseInfo
});
const stdio = output.map((stdioOutput, fdNumber) => stripNewline(stdioOutput, options, fdNumber));
const all = stripNewline(getAllSync(output, options), options, "all");
return getSyncResult({
error,
exitCode,
signal,
timedOut,
isMaxBuffer,
stdio,
all,
options,
command,
escapedCommand,
startTime
});
};
runSubprocessSync = ({ file, commandArguments, options, command, escapedCommand, fileDescriptors, startTime }) => {
try {
addInputOptionsSync(fileDescriptors, options);
const normalizedOptions = normalizeSpawnSyncOptions(options);
return spawnSync(...concatenateShell(file, commandArguments, normalizedOptions));
} catch (error) {
return makeEarlyError({
error,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync: true
});
}
};
normalizeSpawnSyncOptions = ({ encoding, maxBuffer, ...options }) => ({ ...options, encoding: "buffer", maxBuffer: getMaxBufferSync(maxBuffer) });
getSyncResult = ({ error, exitCode, signal, timedOut, isMaxBuffer, stdio, all, options, command, escapedCommand, startTime }) => error === void 0 ? makeSuccessResult({
command,
escapedCommand,
stdio,
all,
ipcOutput: [],
options,
startTime
}) : makeError({
error,
command,
escapedCommand,
timedOut,
isCanceled: false,
isGracefullyCanceled: false,
isMaxBuffer,
isForcefullyTerminated: false,
exitCode,
signal,
stdio,
all,
ipcOutput: [],
options,
startTime,
isSync: true
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/get-one.js
import { once as once7, on as on2 } from "node:events";
var getOneMessage, getOneMessageAsync, getMessage, throwOnDisconnect2, throwOnStrictError;
var init_get_one = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/get-one.js"() {
init_validation();
init_forward();
init_reference();
getOneMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true, filter: filter14 } = {}) => {
validateIpcMethod({
methodName: "getOneMessage",
isSubprocess,
ipc,
isConnected: isConnected(anyProcess)
});
return getOneMessageAsync({
anyProcess,
channel,
isSubprocess,
filter: filter14,
reference
});
};
getOneMessageAsync = async ({ anyProcess, channel, isSubprocess, filter: filter14, reference }) => {
addReference(channel, reference);
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const controller = new AbortController();
try {
return await Promise.race([
getMessage(ipcEmitter, filter14, controller),
throwOnDisconnect2(ipcEmitter, isSubprocess, controller),
throwOnStrictError(ipcEmitter, isSubprocess, controller)
]);
} catch (error) {
disconnect(anyProcess);
throw error;
} finally {
controller.abort();
removeReference(channel, reference);
}
};
getMessage = async (ipcEmitter, filter14, { signal }) => {
if (filter14 === void 0) {
const [message] = await once7(ipcEmitter, "message", { signal });
return message;
}
for await (const [message] of on2(ipcEmitter, "message", { signal })) {
if (filter14(message)) {
return message;
}
}
};
throwOnDisconnect2 = async (ipcEmitter, isSubprocess, { signal }) => {
await once7(ipcEmitter, "disconnect", { signal });
throwOnEarlyDisconnect(isSubprocess);
};
throwOnStrictError = async (ipcEmitter, isSubprocess, { signal }) => {
const [error] = await once7(ipcEmitter, "strict:error", { signal });
throw getStrictResponseError(error, isSubprocess);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/get-each.js
import { once as once8, on as on3 } from "node:events";
var getEachMessage, loopOnMessages, stopOnDisconnect, abortOnStrictError, iterateOnMessages, throwIfStrictError;
var init_get_each = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/get-each.js"() {
init_validation();
init_forward();
init_reference();
getEachMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true } = {}) => loopOnMessages({
anyProcess,
channel,
isSubprocess,
ipc,
shouldAwait: !isSubprocess,
reference
});
loopOnMessages = ({ anyProcess, channel, isSubprocess, ipc, shouldAwait, reference }) => {
validateIpcMethod({
methodName: "getEachMessage",
isSubprocess,
ipc,
isConnected: isConnected(anyProcess)
});
addReference(channel, reference);
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const controller = new AbortController();
const state = {};
stopOnDisconnect(anyProcess, ipcEmitter, controller);
abortOnStrictError({
ipcEmitter,
isSubprocess,
controller,
state
});
return iterateOnMessages({
anyProcess,
channel,
ipcEmitter,
isSubprocess,
shouldAwait,
controller,
state,
reference
});
};
stopOnDisconnect = async (anyProcess, ipcEmitter, controller) => {
try {
await once8(ipcEmitter, "disconnect", { signal: controller.signal });
controller.abort();
} catch {
}
};
abortOnStrictError = async ({ ipcEmitter, isSubprocess, controller, state }) => {
try {
const [error] = await once8(ipcEmitter, "strict:error", { signal: controller.signal });
state.error = getStrictResponseError(error, isSubprocess);
controller.abort();
} catch {
}
};
iterateOnMessages = async function* ({ anyProcess, channel, ipcEmitter, isSubprocess, shouldAwait, controller, state, reference }) {
try {
for await (const [message] of on3(ipcEmitter, "message", { signal: controller.signal })) {
throwIfStrictError(state);
yield message;
}
} catch {
throwIfStrictError(state);
} finally {
controller.abort();
removeReference(channel, reference);
if (!isSubprocess) {
disconnect(anyProcess);
}
if (shouldAwait) {
await anyProcess;
}
}
};
throwIfStrictError = ({ error }) => {
if (error) {
throw error;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/methods.js
import process16 from "node:process";
var addIpcMethods, getIpcExport, getIpcMethods;
var init_methods = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/methods.js"() {
init_send();
init_get_one();
init_get_each();
init_graceful();
addIpcMethods = (subprocess, { ipc }) => {
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
};
getIpcExport = () => {
const anyProcess = process16;
const isSubprocess = true;
const ipc = process16.channel !== void 0;
return {
...getIpcMethods(anyProcess, isSubprocess, ipc),
getCancelSignal: getCancelSignal.bind(void 0, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
})
};
};
getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
sendMessage: sendMessage.bind(void 0, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
}),
getOneMessage: getOneMessage.bind(void 0, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
}),
getEachMessage: getEachMessage.bind(void 0, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
})
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/early-error.js
import { ChildProcess as ChildProcess2 } from "node:child_process";
import {
PassThrough as PassThrough2,
Readable,
Writable,
Duplex
} from "node:stream";
var handleEarlyError, createDummyStreams, createDummyStream, readable, writable, duplex, handleDummyPromise;
var init_early_error = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/return/early-error.js"() {
init_handle();
init_result();
init_reject2();
handleEarlyError = ({ error, command, escapedCommand, fileDescriptors, options, startTime, verboseInfo }) => {
cleanupCustomStreams(fileDescriptors);
const subprocess = new ChildProcess2();
createDummyStreams(subprocess, fileDescriptors);
Object.assign(subprocess, { readable, writable, duplex });
const earlyError = makeEarlyError({
error,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync: false
});
const promise2 = handleDummyPromise(earlyError, verboseInfo, options);
return { subprocess, promise: promise2 };
};
createDummyStreams = (subprocess, fileDescriptors) => {
const stdin = createDummyStream();
const stdout = createDummyStream();
const stderr = createDummyStream();
const extraStdio = Array.from({ length: fileDescriptors.length - 3 }, createDummyStream);
const all = createDummyStream();
const stdio = [stdin, stdout, stderr, ...extraStdio];
Object.assign(subprocess, {
stdin,
stdout,
stderr,
all,
stdio
});
};
createDummyStream = () => {
const stream2 = new PassThrough2();
stream2.end();
return stream2;
};
readable = () => new Readable({ read() {
} });
writable = () => new Writable({ write() {
} });
duplex = () => new Duplex({ read() {
}, write() {
} });
handleDummyPromise = async (error, verboseInfo, options) => handleResult(error, verboseInfo, options);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle-async.js
import { createReadStream, createWriteStream } from "node:fs";
import { Buffer as Buffer5 } from "node:buffer";
import { Readable as Readable2, Writable as Writable2, Duplex as Duplex2 } from "node:stream";
var handleStdioAsync, forbiddenIfAsync, addProperties2, addPropertiesAsync;
var init_handle_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/stdio/handle-async.js"() {
init_generator();
init_handle();
init_type2();
handleStdioAsync = (options, verboseInfo) => handleStdio(addPropertiesAsync, options, verboseInfo, false);
forbiddenIfAsync = ({ type: type4, optionName }) => {
throw new TypeError(`The \`${optionName}\` option cannot be ${TYPE_TO_MESSAGE[type4]}.`);
};
addProperties2 = {
fileNumber: forbiddenIfAsync,
generator: generatorToStream,
asyncGenerator: generatorToStream,
nodeStream: ({ value }) => ({ stream: value }),
webTransform({ value: { transform: transform3, writableObjectMode, readableObjectMode } }) {
const objectMode = writableObjectMode || readableObjectMode;
const stream2 = Duplex2.fromWeb(transform3, { objectMode });
return { stream: stream2 };
},
duplex: ({ value: { transform: transform3 } }) => ({ stream: transform3 }),
native() {
}
};
addPropertiesAsync = {
input: {
...addProperties2,
fileUrl: ({ value }) => ({ stream: createReadStream(value) }),
filePath: ({ value: { file } }) => ({ stream: createReadStream(file) }),
webStream: ({ value }) => ({ stream: Readable2.fromWeb(value) }),
iterable: ({ value }) => ({ stream: Readable2.from(value) }),
asyncIterable: ({ value }) => ({ stream: Readable2.from(value) }),
string: ({ value }) => ({ stream: Readable2.from(value) }),
uint8Array: ({ value }) => ({ stream: Readable2.from(Buffer5.from(value)) })
},
output: {
...addProperties2,
fileUrl: ({ value }) => ({ stream: createWriteStream(value) }),
filePath: ({ value: { file, append } }) => ({ stream: createWriteStream(file, append ? { flags: "a" } : {}) }),
webStream: ({ value }) => ({ stream: Writable2.fromWeb(value) }),
iterable: forbiddenIfAsync,
asyncIterable: forbiddenIfAsync,
string: forbiddenIfAsync,
uint8Array: forbiddenIfAsync
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sindresorhus/merge-streams/4.0.0/0641d857f166ebc3bf33f6e39000d856d38ad6c73ed43a4a36332ce91a0bedc9/node_modules/@sindresorhus/merge-streams/index.js
import { on as on4, once as once9 } from "node:events";
import { PassThrough as PassThroughStream, getDefaultHighWaterMark as getDefaultHighWaterMark2 } from "node:stream";
import { finished as finished2 } from "node:stream/promises";
function mergeStreams(streams) {
if (!Array.isArray(streams)) {
throw new TypeError(`Expected an array, got \`${typeof streams}\`.`);
}
for (const stream2 of streams) {
validateStream(stream2);
}
const objectMode = streams.some(({ readableObjectMode }) => readableObjectMode);
const highWaterMark = getHighWaterMark(streams, objectMode);
const passThroughStream = new MergedStream({
objectMode,
writableHighWaterMark: highWaterMark,
readableHighWaterMark: highWaterMark
});
for (const stream2 of streams) {
passThroughStream.add(stream2);
}
return passThroughStream;
}
var getHighWaterMark, MergedStream, onMergedStreamFinished, onMergedStreamEnd, onInputStreamsUnpipe, validateStream, endWhenStreamsDone, afterMergedStreamFinished, onInputStreamEnd, onInputStreamUnpipe, endStream, errorOrAbortStream, isAbortError, abortStream, errorStream, noop3, updateMaxListeners, PASSTHROUGH_LISTENERS_COUNT, PASSTHROUGH_LISTENERS_PER_STREAM;
var init_merge_streams = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@sindresorhus/merge-streams/4.0.0/0641d857f166ebc3bf33f6e39000d856d38ad6c73ed43a4a36332ce91a0bedc9/node_modules/@sindresorhus/merge-streams/index.js"() {
getHighWaterMark = (streams, objectMode) => {
if (streams.length === 0) {
return getDefaultHighWaterMark2(objectMode);
}
const highWaterMarks = streams.filter(({ readableObjectMode }) => readableObjectMode === objectMode).map(({ readableHighWaterMark }) => readableHighWaterMark);
return Math.max(...highWaterMarks);
};
MergedStream = class extends PassThroughStream {
#streams = /* @__PURE__ */ new Set([]);
#ended = /* @__PURE__ */ new Set([]);
#aborted = /* @__PURE__ */ new Set([]);
#onFinished;
#unpipeEvent = /* @__PURE__ */ Symbol("unpipe");
#streamPromises = /* @__PURE__ */ new WeakMap();
add(stream2) {
validateStream(stream2);
if (this.#streams.has(stream2)) {
return;
}
this.#streams.add(stream2);
this.#onFinished ??= onMergedStreamFinished(this, this.#streams, this.#unpipeEvent);
const streamPromise = endWhenStreamsDone({
passThroughStream: this,
stream: stream2,
streams: this.#streams,
ended: this.#ended,
aborted: this.#aborted,
onFinished: this.#onFinished,
unpipeEvent: this.#unpipeEvent
});
this.#streamPromises.set(stream2, streamPromise);
stream2.pipe(this, { end: false });
}
async remove(stream2) {
validateStream(stream2);
if (!this.#streams.has(stream2)) {
return false;
}
const streamPromise = this.#streamPromises.get(stream2);
if (streamPromise === void 0) {
return false;
}
this.#streamPromises.delete(stream2);
stream2.unpipe(this);
await streamPromise;
return true;
}
};
onMergedStreamFinished = async (passThroughStream, streams, unpipeEvent) => {
updateMaxListeners(passThroughStream, PASSTHROUGH_LISTENERS_COUNT);
const controller = new AbortController();
try {
await Promise.race([
onMergedStreamEnd(passThroughStream, controller),
onInputStreamsUnpipe(passThroughStream, streams, unpipeEvent, controller)
]);
} finally {
controller.abort();
updateMaxListeners(passThroughStream, -PASSTHROUGH_LISTENERS_COUNT);
}
};
onMergedStreamEnd = async (passThroughStream, { signal }) => {
try {
await finished2(passThroughStream, { signal, cleanup: true });
} catch (error) {
errorOrAbortStream(passThroughStream, error);
throw error;
}
};
onInputStreamsUnpipe = async (passThroughStream, streams, unpipeEvent, { signal }) => {
for await (const [unpipedStream] of on4(passThroughStream, "unpipe", { signal })) {
if (streams.has(unpipedStream)) {
unpipedStream.emit(unpipeEvent);
}
}
};
validateStream = (stream2) => {
if (typeof stream2?.pipe !== "function") {
throw new TypeError(`Expected a readable stream, got: \`${typeof stream2}\`.`);
}
};
endWhenStreamsDone = async ({ passThroughStream, stream: stream2, streams, ended, aborted: aborted2, onFinished, unpipeEvent }) => {
updateMaxListeners(passThroughStream, PASSTHROUGH_LISTENERS_PER_STREAM);
const controller = new AbortController();
try {
await Promise.race([
afterMergedStreamFinished(onFinished, stream2, controller),
onInputStreamEnd({
passThroughStream,
stream: stream2,
streams,
ended,
aborted: aborted2,
controller
}),
onInputStreamUnpipe({
stream: stream2,
streams,
ended,
aborted: aborted2,
unpipeEvent,
controller
})
]);
} finally {
controller.abort();
updateMaxListeners(passThroughStream, -PASSTHROUGH_LISTENERS_PER_STREAM);
}
if (streams.size > 0 && streams.size === ended.size + aborted2.size) {
if (ended.size === 0 && aborted2.size > 0) {
abortStream(passThroughStream);
} else {
endStream(passThroughStream);
}
}
};
afterMergedStreamFinished = async (onFinished, stream2, { signal }) => {
try {
await onFinished;
if (!signal.aborted) {
abortStream(stream2);
}
} catch (error) {
if (!signal.aborted) {
errorOrAbortStream(stream2, error);
}
}
};
onInputStreamEnd = async ({ passThroughStream, stream: stream2, streams, ended, aborted: aborted2, controller: { signal } }) => {
try {
await finished2(stream2, {
signal,
cleanup: true,
readable: true,
writable: false
});
if (streams.has(stream2)) {
ended.add(stream2);
}
} catch (error) {
if (signal.aborted || !streams.has(stream2)) {
return;
}
if (isAbortError(error)) {
aborted2.add(stream2);
} else {
errorStream(passThroughStream, error);
}
}
};
onInputStreamUnpipe = async ({ stream: stream2, streams, ended, aborted: aborted2, unpipeEvent, controller: { signal } }) => {
await once9(stream2, unpipeEvent, { signal });
if (!stream2.readable) {
return once9(signal, "abort", { signal });
}
streams.delete(stream2);
ended.delete(stream2);
aborted2.delete(stream2);
};
endStream = (stream2) => {
if (stream2.writable) {
stream2.end();
}
};
errorOrAbortStream = (stream2, error) => {
if (isAbortError(error)) {
abortStream(stream2);
} else {
errorStream(stream2, error);
}
};
isAbortError = (error) => error?.code === "ERR_STREAM_PREMATURE_CLOSE";
abortStream = (stream2) => {
if (stream2.readable || stream2.writable) {
stream2.destroy();
}
};
errorStream = (stream2, error) => {
if (!stream2.destroyed) {
stream2.once("error", noop3);
stream2.destroy(error);
}
};
noop3 = () => {
};
updateMaxListeners = (passThroughStream, increment2) => {
const maxListeners = passThroughStream.getMaxListeners();
if (maxListeners !== 0 && maxListeners !== Number.POSITIVE_INFINITY) {
passThroughStream.setMaxListeners(maxListeners + increment2);
}
};
PASSTHROUGH_LISTENERS_COUNT = 2;
PASSTHROUGH_LISTENERS_PER_STREAM = 1;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/pipeline.js
import { finished as finished3 } from "node:stream/promises";
var pipeStreams, onSourceFinish, endDestinationStream, onDestinationFinish, abortSourceStream;
var init_pipeline = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/pipeline.js"() {
init_standard_stream();
pipeStreams = (source, destination) => {
source.pipe(destination);
onSourceFinish(source, destination);
onDestinationFinish(source, destination);
};
onSourceFinish = async (source, destination) => {
if (isStandardStream(source) || isStandardStream(destination)) {
return;
}
try {
await finished3(source, { cleanup: true, readable: true, writable: false });
} catch {
}
endDestinationStream(destination);
};
endDestinationStream = (destination) => {
if (destination.writable) {
destination.end();
}
};
onDestinationFinish = async (source, destination) => {
if (isStandardStream(source) || isStandardStream(destination)) {
return;
}
try {
await finished3(destination, { cleanup: true, readable: false, writable: true });
} catch {
}
abortSourceStream(source);
};
abortSourceStream = (source) => {
if (source.readable) {
source.destroy();
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/output-async.js
var pipeOutputAsync, pipeTransform, SUBPROCESS_STREAM_PROPERTIES, pipeStdioItem, setStandardStreamMaxListeners, MAX_LISTENERS_INCREMENT;
var init_output_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/output-async.js"() {
init_merge_streams();
init_standard_stream();
init_max_listeners();
init_type2();
init_pipeline();
pipeOutputAsync = (subprocess, fileDescriptors, controller) => {
const pipeGroups = /* @__PURE__ */ new Map();
for (const [fdNumber, { stdioItems, direction }] of Object.entries(fileDescriptors)) {
for (const { stream: stream2 } of stdioItems.filter(({ type: type4 }) => TRANSFORM_TYPES.has(type4))) {
pipeTransform(subprocess, stream2, direction, fdNumber);
}
for (const { stream: stream2 } of stdioItems.filter(({ type: type4 }) => !TRANSFORM_TYPES.has(type4))) {
pipeStdioItem({
subprocess,
stream: stream2,
direction,
fdNumber,
pipeGroups,
controller
});
}
}
for (const [outputStream, inputStreams] of pipeGroups.entries()) {
const inputStream = inputStreams.length === 1 ? inputStreams[0] : mergeStreams(inputStreams);
pipeStreams(inputStream, outputStream);
}
};
pipeTransform = (subprocess, stream2, direction, fdNumber) => {
if (direction === "output") {
pipeStreams(subprocess.stdio[fdNumber], stream2);
} else {
pipeStreams(stream2, subprocess.stdio[fdNumber]);
}
const streamProperty = SUBPROCESS_STREAM_PROPERTIES[fdNumber];
if (streamProperty !== void 0) {
subprocess[streamProperty] = stream2;
}
subprocess.stdio[fdNumber] = stream2;
};
SUBPROCESS_STREAM_PROPERTIES = ["stdin", "stdout", "stderr"];
pipeStdioItem = ({ subprocess, stream: stream2, direction, fdNumber, pipeGroups, controller }) => {
if (stream2 === void 0) {
return;
}
setStandardStreamMaxListeners(stream2, controller);
const [inputStream, outputStream] = direction === "output" ? [stream2, subprocess.stdio[fdNumber]] : [subprocess.stdio[fdNumber], stream2];
const outputStreams = pipeGroups.get(inputStream) ?? [];
pipeGroups.set(inputStream, [...outputStreams, outputStream]);
};
setStandardStreamMaxListeners = (stream2, { signal }) => {
if (isStandardStream(stream2)) {
incrementMaxListeners(stream2, MAX_LISTENERS_INCREMENT, signal);
}
};
MAX_LISTENERS_INCREMENT = 2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/mjs/signals.js
var signals;
var init_signals2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/mjs/signals.js"() {
signals = [];
signals.push("SIGHUP", "SIGINT", "SIGTERM");
if (process.platform !== "win32") {
signals.push(
"SIGALRM",
"SIGABRT",
"SIGVTALRM",
"SIGXCPU",
"SIGXFSZ",
"SIGUSR2",
"SIGTRAP",
"SIGSYS",
"SIGQUIT",
"SIGIOT"
// should detect profiler and enable/disable accordingly.
// see #21
// 'SIGPROF'
);
}
if (process.platform === "linux") {
signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/mjs/index.js
var processOk, kExitEmitter, global2, ObjectDefineProperty, Emitter, SignalExitBase, signalExitWrap, SignalExitFallback, SignalExit, process17, onExit, load2, unload;
var init_mjs = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/4.1.0/03c01b974932dd7697f8480d6655f349321edaf97b16deb799df3fcd267f2475/node_modules/signal-exit/dist/mjs/index.js"() {
init_signals2();
processOk = (process24) => !!process24 && typeof process24 === "object" && typeof process24.removeListener === "function" && typeof process24.emit === "function" && typeof process24.reallyExit === "function" && typeof process24.listeners === "function" && typeof process24.kill === "function" && typeof process24.pid === "number" && typeof process24.on === "function";
kExitEmitter = /* @__PURE__ */ Symbol.for("signal-exit emitter");
global2 = globalThis;
ObjectDefineProperty = Object.defineProperty.bind(Object);
Emitter = class {
emitted = {
afterExit: false,
exit: false
};
listeners = {
afterExit: [],
exit: []
};
count = 0;
id = Math.random();
constructor() {
if (global2[kExitEmitter]) {
return global2[kExitEmitter];
}
ObjectDefineProperty(global2, kExitEmitter, {
value: this,
writable: false,
enumerable: false,
configurable: false
});
}
on(ev, fn) {
this.listeners[ev].push(fn);
}
removeListener(ev, fn) {
const list2 = this.listeners[ev];
const i4 = list2.indexOf(fn);
if (i4 === -1) {
return;
}
if (i4 === 0 && list2.length === 1) {
list2.length = 0;
} else {
list2.splice(i4, 1);
}
}
emit(ev, code, signal) {
if (this.emitted[ev]) {
return false;
}
this.emitted[ev] = true;
let ret2 = false;
for (const fn of this.listeners[ev]) {
ret2 = fn(code, signal) === true || ret2;
}
if (ev === "exit") {
ret2 = this.emit("afterExit", code, signal) || ret2;
}
return ret2;
}
};
SignalExitBase = class {
};
signalExitWrap = (handler82) => {
return {
onExit(cb, opts3) {
return handler82.onExit(cb, opts3);
},
load() {
return handler82.load();
},
unload() {
return handler82.unload();
}
};
};
SignalExitFallback = class extends SignalExitBase {
onExit() {
return () => {
};
}
load() {
}
unload() {
}
};
SignalExit = class extends SignalExitBase {
// "SIGHUP" throws an `ENOSYS` error on Windows,
// so use a supported signal instead
/* c8 ignore start */
#hupSig = process17.platform === "win32" ? "SIGINT" : "SIGHUP";
/* c8 ignore stop */
#emitter = new Emitter();
#process;
#originalProcessEmit;
#originalProcessReallyExit;
#sigListeners = {};
#loaded = false;
constructor(process24) {
super();
this.#process = process24;
this.#sigListeners = {};
for (const sig of signals) {
this.#sigListeners[sig] = () => {
const listeners = this.#process.listeners(sig);
let { count: count2 } = this.#emitter;
const p = process24;
if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
count2 += p.__signal_exit_emitter__.count;
}
if (listeners.length === count2) {
this.unload();
const ret2 = this.#emitter.emit("exit", null, sig);
const s = sig === "SIGHUP" ? this.#hupSig : sig;
if (!ret2)
process24.kill(process24.pid, s);
}
};
}
this.#originalProcessReallyExit = process24.reallyExit;
this.#originalProcessEmit = process24.emit;
}
onExit(cb, opts3) {
if (!processOk(this.#process)) {
return () => {
};
}
if (this.#loaded === false) {
this.load();
}
const ev = opts3?.alwaysLast ? "afterExit" : "exit";
this.#emitter.on(ev, cb);
return () => {
this.#emitter.removeListener(ev, cb);
if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
this.unload();
}
};
}
load() {
if (this.#loaded) {
return;
}
this.#loaded = true;
this.#emitter.count += 1;
for (const sig of signals) {
try {
const fn = this.#sigListeners[sig];
if (fn)
this.#process.on(sig, fn);
} catch (_) {
}
}
this.#process.emit = (ev, ...a2) => {
return this.#processEmit(ev, ...a2);
};
this.#process.reallyExit = (code) => {
return this.#processReallyExit(code);
};
}
unload() {
if (!this.#loaded) {
return;
}
this.#loaded = false;
signals.forEach((sig) => {
const listener = this.#sigListeners[sig];
if (!listener) {
throw new Error("Listener not defined for signal: " + sig);
}
try {
this.#process.removeListener(sig, listener);
} catch (_) {
}
});
this.#process.emit = this.#originalProcessEmit;
this.#process.reallyExit = this.#originalProcessReallyExit;
this.#emitter.count -= 1;
}
#processReallyExit(code) {
if (!processOk(this.#process)) {
return 0;
}
this.#process.exitCode = code || 0;
this.#emitter.emit("exit", this.#process.exitCode, null);
return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
}
#processEmit(ev, ...args) {
const og = this.#originalProcessEmit;
if (ev === "exit" && processOk(this.#process)) {
if (typeof args[0] === "number") {
this.#process.exitCode = args[0];
}
const ret2 = og.call(this.#process, ev, ...args);
this.#emitter.emit("exit", this.#process.exitCode, null);
return ret2;
} else {
return og.call(this.#process, ev, ...args);
}
}
};
process17 = globalThis.process;
({
onExit: (
/**
* 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
),
load: (
/**
* 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
*/
load2
),
unload: (
/**
* 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
)
} = signalExitWrap(processOk(process17) ? new SignalExit(process17) : new SignalExitFallback()));
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/cleanup.js
import { addAbortListener as addAbortListener2 } from "node:events";
var cleanupOnExit;
var init_cleanup = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/terminate/cleanup.js"() {
init_mjs();
cleanupOnExit = (subprocess, { cleanup: cleanup2, detached }, { signal }) => {
if (!cleanup2 || detached) {
return;
}
const removeExitHandler = onExit(() => {
subprocess.kill();
});
addAbortListener2(signal, () => {
removeExitHandler();
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/pipe-arguments.js
var normalizePipeArguments, getDestinationStream, getDestination, mapDestinationArguments, getSourceStream;
var init_pipe_arguments = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/pipe-arguments.js"() {
init_parameters();
init_duration();
init_fd_options();
init_file_url();
normalizePipeArguments = ({ source, sourcePromise, boundOptions, createNested }, ...pipeArguments) => {
const startTime = getStartTime();
const {
destination,
destinationStream,
destinationError,
from: from5,
unpipeSignal
} = getDestinationStream(boundOptions, createNested, pipeArguments);
const { sourceStream, sourceError } = getSourceStream(source, from5);
const { options: sourceOptions, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
return {
sourcePromise,
sourceStream,
sourceOptions,
sourceError,
destination,
destinationStream,
destinationError,
unpipeSignal,
fileDescriptors,
startTime
};
};
getDestinationStream = (boundOptions, createNested, pipeArguments) => {
try {
const {
destination,
pipeOptions: { from: from5, to, unpipeSignal } = {}
} = getDestination(boundOptions, createNested, ...pipeArguments);
const destinationStream = getToStream(destination, to);
return {
destination,
destinationStream,
from: from5,
unpipeSignal
};
} catch (error) {
return { destinationError: error };
}
};
getDestination = (boundOptions, createNested, firstArgument, ...pipeArguments) => {
if (Array.isArray(firstArgument)) {
const destination = createNested(mapDestinationArguments, boundOptions)(firstArgument, ...pipeArguments);
return { destination, pipeOptions: boundOptions };
}
if (typeof firstArgument === "string" || firstArgument instanceof URL || isDenoExecPath(firstArgument)) {
if (Object.keys(boundOptions).length > 0) {
throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');
}
const [rawFile, rawArguments, rawOptions] = normalizeParameters(firstArgument, ...pipeArguments);
const destination = createNested(mapDestinationArguments)(rawFile, rawArguments, rawOptions);
return { destination, pipeOptions: rawOptions };
}
if (SUBPROCESS_OPTIONS.has(firstArgument)) {
if (Object.keys(boundOptions).length > 0) {
throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");
}
return { destination: firstArgument, pipeOptions: pipeArguments[0] };
}
throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${firstArgument}`);
};
mapDestinationArguments = ({ options }) => ({ options: { ...options, stdin: "pipe", piped: true } });
getSourceStream = (source, from5) => {
try {
const sourceStream = getFromStream(source, from5);
return { sourceStream };
} catch (error) {
return { sourceError: error };
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/throw.js
var handlePipeArgumentsError, getPipeArgumentsError, createNonCommandError, PIPE_COMMAND_MESSAGE;
var init_throw = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/throw.js"() {
init_result();
init_pipeline();
handlePipeArgumentsError = ({
sourceStream,
sourceError,
destinationStream,
destinationError,
fileDescriptors,
sourceOptions,
startTime
}) => {
const error = getPipeArgumentsError({
sourceStream,
sourceError,
destinationStream,
destinationError
});
if (error !== void 0) {
throw createNonCommandError({
error,
fileDescriptors,
sourceOptions,
startTime
});
}
};
getPipeArgumentsError = ({ sourceStream, sourceError, destinationStream, destinationError }) => {
if (sourceError !== void 0 && destinationError !== void 0) {
return destinationError;
}
if (destinationError !== void 0) {
abortSourceStream(sourceStream);
return destinationError;
}
if (sourceError !== void 0) {
endDestinationStream(destinationStream);
return sourceError;
}
};
createNonCommandError = ({ error, fileDescriptors, sourceOptions, startTime }) => makeEarlyError({
error,
command: PIPE_COMMAND_MESSAGE,
escapedCommand: PIPE_COMMAND_MESSAGE,
fileDescriptors,
options: sourceOptions,
startTime,
isSync: false
});
PIPE_COMMAND_MESSAGE = "source.pipe(destination)";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/sequence.js
var waitForBothSubprocesses;
var init_sequence2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/sequence.js"() {
waitForBothSubprocesses = async (subprocessPromises) => {
const [
{ status: sourceStatus, reason: sourceReason, value: sourceResult = sourceReason },
{ status: destinationStatus, reason: destinationReason, value: destinationResult = destinationReason }
] = await subprocessPromises;
if (!destinationResult.pipedFrom.includes(sourceResult)) {
destinationResult.pipedFrom.push(sourceResult);
}
if (destinationStatus === "rejected") {
throw destinationResult;
}
if (sourceStatus === "rejected") {
throw sourceResult;
}
return destinationResult;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/streaming.js
import { finished as finished4 } from "node:stream/promises";
var pipeSubprocessStream, pipeFirstSubprocessStream, pipeMoreSubprocessStream, cleanupMergedStreamsMap, MERGED_STREAMS, SOURCE_LISTENERS_PER_PIPE, DESTINATION_LISTENERS_PER_PIPE;
var init_streaming = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/streaming.js"() {
init_merge_streams();
init_max_listeners();
init_pipeline();
pipeSubprocessStream = (sourceStream, destinationStream, maxListenersController) => {
const mergedStream = MERGED_STREAMS.has(destinationStream) ? pipeMoreSubprocessStream(sourceStream, destinationStream) : pipeFirstSubprocessStream(sourceStream, destinationStream);
incrementMaxListeners(sourceStream, SOURCE_LISTENERS_PER_PIPE, maxListenersController.signal);
incrementMaxListeners(destinationStream, DESTINATION_LISTENERS_PER_PIPE, maxListenersController.signal);
cleanupMergedStreamsMap(destinationStream);
return mergedStream;
};
pipeFirstSubprocessStream = (sourceStream, destinationStream) => {
const mergedStream = mergeStreams([sourceStream]);
pipeStreams(mergedStream, destinationStream);
MERGED_STREAMS.set(destinationStream, mergedStream);
return mergedStream;
};
pipeMoreSubprocessStream = (sourceStream, destinationStream) => {
const mergedStream = MERGED_STREAMS.get(destinationStream);
mergedStream.add(sourceStream);
return mergedStream;
};
cleanupMergedStreamsMap = async (destinationStream) => {
try {
await finished4(destinationStream, { cleanup: true, readable: false, writable: true });
} catch {
}
MERGED_STREAMS.delete(destinationStream);
};
MERGED_STREAMS = /* @__PURE__ */ new WeakMap();
SOURCE_LISTENERS_PER_PIPE = 2;
DESTINATION_LISTENERS_PER_PIPE = 1;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/abort.js
import { aborted } from "node:util";
var unpipeOnAbort, unpipeOnSignalAbort;
var init_abort = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/abort.js"() {
init_throw();
unpipeOnAbort = (unpipeSignal, unpipeContext) => unpipeSignal === void 0 ? [] : [unpipeOnSignalAbort(unpipeSignal, unpipeContext)];
unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fileDescriptors, sourceOptions, startTime }) => {
await aborted(unpipeSignal, sourceStream);
await mergedStream.remove(sourceStream);
const error = new Error("Pipe canceled by `unpipeSignal` option.");
throw createNonCommandError({
error,
fileDescriptors,
sourceOptions,
startTime
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/setup.js
var pipeToSubprocess, handlePipePromise, getSubprocessPromises;
var init_setup = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/pipe/setup.js"() {
init_is_plain_obj();
init_pipe_arguments();
init_throw();
init_sequence2();
init_streaming();
init_abort();
pipeToSubprocess = (sourceInfo, ...pipeArguments) => {
if (isPlainObject(pipeArguments[0])) {
return pipeToSubprocess.bind(void 0, {
...sourceInfo,
boundOptions: { ...sourceInfo.boundOptions, ...pipeArguments[0] }
});
}
const { destination, ...normalizedInfo } = normalizePipeArguments(sourceInfo, ...pipeArguments);
const promise2 = handlePipePromise({ ...normalizedInfo, destination });
promise2.pipe = pipeToSubprocess.bind(void 0, {
...sourceInfo,
source: destination,
sourcePromise: promise2,
boundOptions: {}
});
return promise2;
};
handlePipePromise = async ({
sourcePromise,
sourceStream,
sourceOptions,
sourceError,
destination,
destinationStream,
destinationError,
unpipeSignal,
fileDescriptors,
startTime
}) => {
const subprocessPromises = getSubprocessPromises(sourcePromise, destination);
handlePipeArgumentsError({
sourceStream,
sourceError,
destinationStream,
destinationError,
fileDescriptors,
sourceOptions,
startTime
});
const maxListenersController = new AbortController();
try {
const mergedStream = pipeSubprocessStream(sourceStream, destinationStream, maxListenersController);
return await Promise.race([
waitForBothSubprocesses(subprocessPromises),
...unpipeOnAbort(unpipeSignal, {
sourceStream,
mergedStream,
sourceOptions,
fileDescriptors,
startTime
})
]);
} finally {
maxListenersController.abort();
}
};
getSubprocessPromises = (sourcePromise, destination) => Promise.allSettled([sourcePromise, destination]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/iterate.js
import { on as on5 } from "node:events";
import { getDefaultHighWaterMark as getDefaultHighWaterMark3 } from "node:stream";
var iterateOnSubprocessStream, stopReadingOnExit, iterateForResult, stopReadingOnStreamEnd, iterateOnStream, DEFAULT_OBJECT_HIGH_WATER_MARK, HIGH_WATER_MARK, iterateOnData, getGenerators;
var init_iterate = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/iterate.js"() {
init_encoding_transform();
init_split2();
init_run_sync();
iterateOnSubprocessStream = ({ subprocessStdout, subprocess, binary: binary2, shouldEncode, encoding, preserveNewlines }) => {
const controller = new AbortController();
stopReadingOnExit(subprocess, controller);
return iterateOnStream({
stream: subprocessStdout,
controller,
binary: binary2,
shouldEncode: !subprocessStdout.readableObjectMode && shouldEncode,
encoding,
shouldSplit: !subprocessStdout.readableObjectMode,
preserveNewlines
});
};
stopReadingOnExit = async (subprocess, controller) => {
try {
await subprocess;
} catch {
} finally {
controller.abort();
}
};
iterateForResult = ({ stream: stream2, onStreamEnd, lines, encoding, stripFinalNewline: stripFinalNewline2, allMixed }) => {
const controller = new AbortController();
stopReadingOnStreamEnd(onStreamEnd, controller, stream2);
const objectMode = stream2.readableObjectMode && !allMixed;
return iterateOnStream({
stream: stream2,
controller,
binary: encoding === "buffer",
shouldEncode: !objectMode,
encoding,
shouldSplit: !objectMode && lines,
preserveNewlines: !stripFinalNewline2
});
};
stopReadingOnStreamEnd = async (onStreamEnd, controller, stream2) => {
try {
await onStreamEnd;
} catch {
stream2.destroy();
} finally {
controller.abort();
}
};
iterateOnStream = ({ stream: stream2, controller, binary: binary2, shouldEncode, encoding, shouldSplit, preserveNewlines }) => {
const onStdoutChunk = on5(stream2, "data", {
signal: controller.signal,
highWaterMark: HIGH_WATER_MARK,
// Backward compatibility with older name for this option
// See https://github.com/nodejs/node/pull/52080#discussion_r1525227861
// @todo Remove after removing support for Node 21
highWatermark: HIGH_WATER_MARK
});
return iterateOnData({
onStdoutChunk,
controller,
binary: binary2,
shouldEncode,
encoding,
shouldSplit,
preserveNewlines
});
};
DEFAULT_OBJECT_HIGH_WATER_MARK = getDefaultHighWaterMark3(true);
HIGH_WATER_MARK = DEFAULT_OBJECT_HIGH_WATER_MARK;
iterateOnData = async function* ({ onStdoutChunk, controller, binary: binary2, shouldEncode, encoding, shouldSplit, preserveNewlines }) {
const generators = getGenerators({
binary: binary2,
shouldEncode,
encoding,
shouldSplit,
preserveNewlines
});
try {
for await (const [chunk] of onStdoutChunk) {
yield* transformChunkSync(chunk, generators, 0);
}
} catch (error) {
if (!controller.signal.aborted) {
throw error;
}
} finally {
yield* finalChunksSync(generators);
}
};
getGenerators = ({ binary: binary2, shouldEncode, encoding, shouldSplit, preserveNewlines }) => [
getEncodingTransformGenerator(binary2, encoding, !shouldEncode),
getSplitLinesGenerator(binary2, preserveNewlines, !shouldSplit, {})
].filter(Boolean);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/contents.js
import { setImmediate as setImmediate2 } from "node:timers/promises";
var getStreamOutput, logOutputAsync, resumeStream, getStreamContents2, getBufferedData, handleBufferedData;
var init_contents2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/io/contents.js"() {
init_source2();
init_uint_array();
init_output();
init_iterate();
init_max_buffer();
init_strip_newline();
getStreamOutput = async ({ stream: stream2, onStreamEnd, fdNumber, encoding, buffer: buffer3, maxBuffer, lines, allMixed, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => {
const logPromise = logOutputAsync({
stream: stream2,
onStreamEnd,
fdNumber,
encoding,
allMixed,
verboseInfo,
streamInfo
});
if (!buffer3) {
await Promise.all([resumeStream(stream2), logPromise]);
return;
}
const stripFinalNewlineValue = getStripFinalNewline(stripFinalNewline2, fdNumber);
const iterable = iterateForResult({
stream: stream2,
onStreamEnd,
lines,
encoding,
stripFinalNewline: stripFinalNewlineValue,
allMixed
});
const [output] = await Promise.all([
getStreamContents2({
stream: stream2,
iterable,
fdNumber,
encoding,
maxBuffer,
lines
}),
logPromise
]);
return output;
};
logOutputAsync = async ({ stream: stream2, onStreamEnd, fdNumber, encoding, allMixed, verboseInfo, streamInfo: { fileDescriptors } }) => {
if (!shouldLogOutput({
stdioItems: fileDescriptors[fdNumber]?.stdioItems,
encoding,
verboseInfo,
fdNumber
})) {
return;
}
const linesIterable = iterateForResult({
stream: stream2,
onStreamEnd,
lines: true,
encoding,
stripFinalNewline: true,
allMixed
});
await logLines(linesIterable, stream2, fdNumber, verboseInfo);
};
resumeStream = async (stream2) => {
await setImmediate2();
if (stream2.readableFlowing === null) {
stream2.resume();
}
};
getStreamContents2 = async ({ stream: stream2, stream: { readableObjectMode }, iterable, fdNumber, encoding, maxBuffer, lines }) => {
try {
if (readableObjectMode || lines) {
return await getStreamAsArray(iterable, { maxBuffer });
}
if (encoding === "buffer") {
return new Uint8Array(await getStreamAsArrayBuffer(iterable, { maxBuffer }));
}
return await getStreamAsString(iterable, { maxBuffer });
} catch (error) {
return handleBufferedData(handleMaxBuffer({
error,
stream: stream2,
readableObjectMode,
lines,
encoding,
fdNumber
}));
}
};
getBufferedData = async (streamPromise) => {
try {
return await streamPromise;
} catch (error) {
return handleBufferedData(error);
}
};
handleBufferedData = ({ bufferedData }) => isArrayBuffer(bufferedData) ? new Uint8Array(bufferedData) : bufferedData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/wait-stream.js
import { finished as finished5 } from "node:stream/promises";
var waitForStream, handleStdinDestroy, spyOnStdinDestroy, setStdinCleanedUp, handleStreamError, shouldIgnoreStreamError, isInputFileDescriptor, isStreamAbort, isStreamEpipe;
var init_wait_stream = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/wait-stream.js"() {
waitForStream = async (stream2, fdNumber, streamInfo, { isSameDirection, stopOnExit = false } = {}) => {
const state = handleStdinDestroy(stream2, streamInfo);
const abortController = new AbortController();
try {
await Promise.race([
...stopOnExit ? [streamInfo.exitPromise] : [],
finished5(stream2, { cleanup: true, signal: abortController.signal })
]);
} catch (error) {
if (!state.stdinCleanedUp) {
handleStreamError(error, fdNumber, streamInfo, isSameDirection);
}
} finally {
abortController.abort();
}
};
handleStdinDestroy = (stream2, { originalStreams: [originalStdin], subprocess }) => {
const state = { stdinCleanedUp: false };
if (stream2 === originalStdin) {
spyOnStdinDestroy(stream2, subprocess, state);
}
return state;
};
spyOnStdinDestroy = (subprocessStdin, subprocess, state) => {
const { _destroy } = subprocessStdin;
subprocessStdin._destroy = (...destroyArguments) => {
setStdinCleanedUp(subprocess, state);
_destroy.call(subprocessStdin, ...destroyArguments);
};
};
setStdinCleanedUp = ({ exitCode, signalCode }, state) => {
if (exitCode !== null || signalCode !== null) {
state.stdinCleanedUp = true;
}
};
handleStreamError = (error, fdNumber, streamInfo, isSameDirection) => {
if (!shouldIgnoreStreamError(error, fdNumber, streamInfo, isSameDirection)) {
throw error;
}
};
shouldIgnoreStreamError = (error, fdNumber, streamInfo, isSameDirection = true) => {
if (streamInfo.propagating) {
return isStreamEpipe(error) || isStreamAbort(error);
}
streamInfo.propagating = true;
return isInputFileDescriptor(streamInfo, fdNumber) === isSameDirection ? isStreamEpipe(error) : isStreamAbort(error);
};
isInputFileDescriptor = ({ fileDescriptors }, fdNumber) => fdNumber !== "all" && fileDescriptors[fdNumber].direction === "input";
isStreamAbort = (error) => error?.code === "ERR_STREAM_PREMATURE_CLOSE";
isStreamEpipe = (error) => error?.code === "EPIPE";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/stdio.js
var waitForStdioStreams, waitForSubprocessStream;
var init_stdio = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/stdio.js"() {
init_contents2();
init_wait_stream();
waitForStdioStreams = ({ subprocess, encoding, buffer: buffer3, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => subprocess.stdio.map((stream2, fdNumber) => waitForSubprocessStream({
stream: stream2,
fdNumber,
encoding,
buffer: buffer3[fdNumber],
maxBuffer: maxBuffer[fdNumber],
lines: lines[fdNumber],
allMixed: false,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
}));
waitForSubprocessStream = async ({ stream: stream2, fdNumber, encoding, buffer: buffer3, maxBuffer, lines, allMixed, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => {
if (!stream2) {
return;
}
const onStreamEnd = waitForStream(stream2, fdNumber, streamInfo);
if (isInputFileDescriptor(streamInfo, fdNumber)) {
await onStreamEnd;
return;
}
const [output] = await Promise.all([
getStreamOutput({
stream: stream2,
onStreamEnd,
fdNumber,
encoding,
buffer: buffer3,
maxBuffer,
lines,
allMixed,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
}),
onStreamEnd
]);
return output;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/all-async.js
var makeAllStream, waitForAllStream, getAllStream, getAllMixed;
var init_all_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/all-async.js"() {
init_merge_streams();
init_stdio();
makeAllStream = ({ stdout, stderr }, { all }) => all && (stdout || stderr) ? mergeStreams([stdout, stderr].filter(Boolean)) : void 0;
waitForAllStream = ({ subprocess, encoding, buffer: buffer3, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => waitForSubprocessStream({
...getAllStream(subprocess, buffer3),
fdNumber: "all",
encoding,
maxBuffer: maxBuffer[1] + maxBuffer[2],
lines: lines[1] || lines[2],
allMixed: getAllMixed(subprocess),
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
});
getAllStream = ({ stdout, stderr, all }, [, bufferStdout, bufferStderr]) => {
const buffer3 = bufferStdout || bufferStderr;
if (!buffer3) {
return { stream: all, buffer: buffer3 };
}
if (!bufferStdout) {
return { stream: stderr, buffer: buffer3 };
}
if (!bufferStderr) {
return { stream: stdout, buffer: buffer3 };
}
return { stream: all, buffer: buffer3 };
};
getAllMixed = ({ all, stdout, stderr }) => all && stdout && stderr && stdout.readableObjectMode !== stderr.readableObjectMode;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/ipc.js
var shouldLogIpc, logIpcOutput;
var init_ipc = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/verbose/ipc.js"() {
init_log();
init_values2();
shouldLogIpc = (verboseInfo) => isFullVerbose(verboseInfo, "ipc");
logIpcOutput = (message, verboseInfo) => {
const verboseMessage = serializeVerboseMessage(message);
verboseLog({
type: "ipc",
verboseMessage,
fdNumber: "ipc",
verboseInfo
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/buffer-messages.js
var waitForIpcOutput, getBufferedIpcOutput;
var init_buffer_messages = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/ipc/buffer-messages.js"() {
init_max_buffer();
init_ipc();
init_specific();
init_get_each();
waitForIpcOutput = async ({
subprocess,
buffer: bufferArray,
maxBuffer: maxBufferArray,
ipc,
ipcOutput,
verboseInfo
}) => {
if (!ipc) {
return ipcOutput;
}
const isVerbose2 = shouldLogIpc(verboseInfo);
const buffer3 = getFdSpecificValue(bufferArray, "ipc");
const maxBuffer = getFdSpecificValue(maxBufferArray, "ipc");
for await (const message of loopOnMessages({
anyProcess: subprocess,
channel: subprocess.channel,
isSubprocess: false,
ipc,
shouldAwait: false,
reference: true
})) {
if (buffer3) {
checkIpcMaxBuffer(subprocess, ipcOutput, maxBuffer);
ipcOutput.push(message);
}
if (isVerbose2) {
logIpcOutput(message, verboseInfo);
}
}
return ipcOutput;
};
getBufferedIpcOutput = async (ipcOutputPromise, ipcOutput) => {
await Promise.allSettled([ipcOutputPromise]);
return ipcOutput;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/wait-subprocess.js
import { once as once10 } from "node:events";
var waitForSubprocessResult, waitForOriginalStreams, waitForCustomStreamsEnd, throwOnSubprocessError;
var init_wait_subprocess = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/resolve/wait-subprocess.js"() {
init_is_stream();
init_timeout();
init_cancel();
init_graceful2();
init_standard_stream();
init_type2();
init_contents2();
init_buffer_messages();
init_ipc_input();
init_all_async();
init_stdio();
init_exit_async();
init_wait_stream();
waitForSubprocessResult = async ({
subprocess,
options: {
encoding,
buffer: buffer3,
maxBuffer,
lines,
timeoutDuration: timeout,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
stripFinalNewline: stripFinalNewline2,
ipc,
ipcInput
},
context,
verboseInfo,
fileDescriptors,
originalStreams,
onInternalError,
controller
}) => {
const exitPromise = waitForExit(subprocess, context);
const streamInfo = {
originalStreams,
fileDescriptors,
subprocess,
exitPromise,
propagating: false
};
const stdioPromises = waitForStdioStreams({
subprocess,
encoding,
buffer: buffer3,
maxBuffer,
lines,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
});
const allPromise = waitForAllStream({
subprocess,
encoding,
buffer: buffer3,
maxBuffer,
lines,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
});
const ipcOutput = [];
const ipcOutputPromise = waitForIpcOutput({
subprocess,
buffer: buffer3,
maxBuffer,
ipc,
ipcOutput,
verboseInfo
});
const originalPromises = waitForOriginalStreams(originalStreams, subprocess, streamInfo);
const customStreamsEndPromises = waitForCustomStreamsEnd(fileDescriptors, streamInfo);
try {
return await Promise.race([
Promise.all([
{},
waitForSuccessfulExit(exitPromise),
Promise.all(stdioPromises),
allPromise,
ipcOutputPromise,
sendIpcInput(subprocess, ipcInput),
...originalPromises,
...customStreamsEndPromises
]),
onInternalError,
throwOnSubprocessError(subprocess, controller),
...throwOnTimeout(subprocess, timeout, context, controller),
...throwOnCancel({
subprocess,
cancelSignal,
gracefulCancel,
context,
controller
}),
...throwOnGracefulCancel({
subprocess,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
context,
controller
})
]);
} catch (error) {
context.terminationReason ??= "other";
return Promise.all([
{ error },
exitPromise,
Promise.all(stdioPromises.map((stdioPromise) => getBufferedData(stdioPromise))),
getBufferedData(allPromise),
getBufferedIpcOutput(ipcOutputPromise, ipcOutput),
Promise.allSettled(originalPromises),
Promise.allSettled(customStreamsEndPromises)
]);
}
};
waitForOriginalStreams = (originalStreams, subprocess, streamInfo) => originalStreams.map((stream2, fdNumber) => stream2 === subprocess.stdio[fdNumber] ? void 0 : waitForStream(stream2, fdNumber, streamInfo));
waitForCustomStreamsEnd = (fileDescriptors, streamInfo) => fileDescriptors.flatMap(({ stdioItems }, fdNumber) => stdioItems.filter(({ value, stream: stream2 = value }) => isStream(stream2, { checkOpen: false }) && !isStandardStream(stream2)).map(({ type: type4, value, stream: stream2 = value }) => waitForStream(stream2, fdNumber, streamInfo, {
isSameDirection: TRANSFORM_TYPES.has(type4),
stopOnExit: type4 === "native"
})));
throwOnSubprocessError = async (subprocess, { signal }) => {
const [error] = await once10(subprocess, "error", { signal });
throw error;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/concurrent.js
var initializeConcurrentStreams, addConcurrentStream, waitForConcurrentStreams;
var init_concurrent = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/concurrent.js"() {
init_deferred();
initializeConcurrentStreams = () => ({
readableDestroy: /* @__PURE__ */ new WeakMap(),
writableFinal: /* @__PURE__ */ new WeakMap(),
writableDestroy: /* @__PURE__ */ new WeakMap()
});
addConcurrentStream = (concurrentStreams, stream2, waitName) => {
const weakMap = concurrentStreams[waitName];
if (!weakMap.has(stream2)) {
weakMap.set(stream2, []);
}
const promises = weakMap.get(stream2);
const promise2 = createDeferred();
promises.push(promise2);
const resolve4 = promise2.resolve.bind(promise2);
return { resolve: resolve4, promises };
};
waitForConcurrentStreams = async ({ resolve: resolve4, promises }, subprocess) => {
resolve4();
const [isSubprocessExit] = await Promise.race([
Promise.allSettled([true, subprocess]),
Promise.all([false, ...promises])
]);
return !isSubprocessExit;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/shared.js
import { finished as finished6 } from "node:stream/promises";
var safeWaitForSubprocessStdin, safeWaitForSubprocessStdout, waitForSubprocessStdin, waitForSubprocessStdout, waitForSubprocess, destroyOtherStream;
var init_shared = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/shared.js"() {
init_wait_stream();
safeWaitForSubprocessStdin = async (subprocessStdin) => {
if (subprocessStdin === void 0) {
return;
}
try {
await waitForSubprocessStdin(subprocessStdin);
} catch {
}
};
safeWaitForSubprocessStdout = async (subprocessStdout) => {
if (subprocessStdout === void 0) {
return;
}
try {
await waitForSubprocessStdout(subprocessStdout);
} catch {
}
};
waitForSubprocessStdin = async (subprocessStdin) => {
await finished6(subprocessStdin, { cleanup: true, readable: false, writable: true });
};
waitForSubprocessStdout = async (subprocessStdout) => {
await finished6(subprocessStdout, { cleanup: true, readable: true, writable: false });
};
waitForSubprocess = async (subprocess, error) => {
await subprocess;
if (error) {
throw error;
}
};
destroyOtherStream = (stream2, isOpen, error) => {
if (error && !isStreamAbort(error)) {
stream2.destroy(error);
} else if (isOpen) {
stream2.destroy();
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/readable.js
import { Readable as Readable3 } from "node:stream";
import { callbackify as callbackify2 } from "node:util";
var createReadable, getSubprocessStdout, getReadableOptions, getReadableMethods, onRead, onStdoutFinished, onReadableDestroy, destroyOtherReadable;
var init_readable = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/readable.js"() {
init_encoding_option();
init_fd_options();
init_iterate();
init_deferred();
init_concurrent();
init_shared();
createReadable = ({ subprocess, concurrentStreams, encoding }, { from: from5, binary: binaryOption = true, preserveNewlines = true } = {}) => {
const binary2 = binaryOption || BINARY_ENCODINGS.has(encoding);
const { subprocessStdout, waitReadableDestroy } = getSubprocessStdout(subprocess, from5, concurrentStreams);
const { readableEncoding, readableObjectMode, readableHighWaterMark } = getReadableOptions(subprocessStdout, binary2);
const { read: read2, onStdoutDataDone } = getReadableMethods({
subprocessStdout,
subprocess,
binary: binary2,
encoding,
preserveNewlines
});
const readable2 = new Readable3({
read: read2,
destroy: callbackify2(onReadableDestroy.bind(void 0, { subprocessStdout, subprocess, waitReadableDestroy })),
highWaterMark: readableHighWaterMark,
objectMode: readableObjectMode,
encoding: readableEncoding
});
onStdoutFinished({
subprocessStdout,
onStdoutDataDone,
readable: readable2,
subprocess
});
return readable2;
};
getSubprocessStdout = (subprocess, from5, concurrentStreams) => {
const subprocessStdout = getFromStream(subprocess, from5);
const waitReadableDestroy = addConcurrentStream(concurrentStreams, subprocessStdout, "readableDestroy");
return { subprocessStdout, waitReadableDestroy };
};
getReadableOptions = ({ readableEncoding, readableObjectMode, readableHighWaterMark }, binary2) => binary2 ? { readableEncoding, readableObjectMode, readableHighWaterMark } : { readableEncoding, readableObjectMode: true, readableHighWaterMark: DEFAULT_OBJECT_HIGH_WATER_MARK };
getReadableMethods = ({ subprocessStdout, subprocess, binary: binary2, encoding, preserveNewlines }) => {
const onStdoutDataDone = createDeferred();
const onStdoutData = iterateOnSubprocessStream({
subprocessStdout,
subprocess,
binary: binary2,
shouldEncode: !binary2,
encoding,
preserveNewlines
});
return {
read() {
onRead(this, onStdoutData, onStdoutDataDone);
},
onStdoutDataDone
};
};
onRead = async (readable2, onStdoutData, onStdoutDataDone) => {
try {
const { value, done } = await onStdoutData.next();
if (done) {
onStdoutDataDone.resolve();
} else {
readable2.push(value);
}
} catch {
}
};
onStdoutFinished = async ({ subprocessStdout, onStdoutDataDone, readable: readable2, subprocess, subprocessStdin }) => {
try {
await waitForSubprocessStdout(subprocessStdout);
await subprocess;
await safeWaitForSubprocessStdin(subprocessStdin);
await onStdoutDataDone;
if (readable2.readable) {
readable2.push(null);
}
} catch (error) {
await safeWaitForSubprocessStdin(subprocessStdin);
destroyOtherReadable(readable2, error);
}
};
onReadableDestroy = async ({ subprocessStdout, subprocess, waitReadableDestroy }, error) => {
if (await waitForConcurrentStreams(waitReadableDestroy, subprocess)) {
destroyOtherReadable(subprocessStdout, error);
await waitForSubprocess(subprocess, error);
}
};
destroyOtherReadable = (stream2, error) => {
destroyOtherStream(stream2, stream2.readable, error);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/writable.js
import { Writable as Writable3 } from "node:stream";
import { callbackify as callbackify3 } from "node:util";
var createWritable, getSubprocessStdin, getWritableMethods, onWrite, onWritableFinal, onStdinFinished, onWritableDestroy, destroyOtherWritable;
var init_writable = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/writable.js"() {
init_fd_options();
init_concurrent();
init_shared();
createWritable = ({ subprocess, concurrentStreams }, { to } = {}) => {
const { subprocessStdin, waitWritableFinal, waitWritableDestroy } = getSubprocessStdin(subprocess, to, concurrentStreams);
const writable2 = new Writable3({
...getWritableMethods(subprocessStdin, subprocess, waitWritableFinal),
destroy: callbackify3(onWritableDestroy.bind(void 0, {
subprocessStdin,
subprocess,
waitWritableFinal,
waitWritableDestroy
})),
highWaterMark: subprocessStdin.writableHighWaterMark,
objectMode: subprocessStdin.writableObjectMode
});
onStdinFinished(subprocessStdin, writable2);
return writable2;
};
getSubprocessStdin = (subprocess, to, concurrentStreams) => {
const subprocessStdin = getToStream(subprocess, to);
const waitWritableFinal = addConcurrentStream(concurrentStreams, subprocessStdin, "writableFinal");
const waitWritableDestroy = addConcurrentStream(concurrentStreams, subprocessStdin, "writableDestroy");
return { subprocessStdin, waitWritableFinal, waitWritableDestroy };
};
getWritableMethods = (subprocessStdin, subprocess, waitWritableFinal) => ({
write: onWrite.bind(void 0, subprocessStdin),
final: callbackify3(onWritableFinal.bind(void 0, subprocessStdin, subprocess, waitWritableFinal))
});
onWrite = (subprocessStdin, chunk, encoding, done) => {
if (subprocessStdin.write(chunk, encoding)) {
done();
} else {
subprocessStdin.once("drain", done);
}
};
onWritableFinal = async (subprocessStdin, subprocess, waitWritableFinal) => {
if (await waitForConcurrentStreams(waitWritableFinal, subprocess)) {
if (subprocessStdin.writable) {
subprocessStdin.end();
}
await subprocess;
}
};
onStdinFinished = async (subprocessStdin, writable2, subprocessStdout) => {
try {
await waitForSubprocessStdin(subprocessStdin);
if (writable2.writable) {
writable2.end();
}
} catch (error) {
await safeWaitForSubprocessStdout(subprocessStdout);
destroyOtherWritable(writable2, error);
}
};
onWritableDestroy = async ({ subprocessStdin, subprocess, waitWritableFinal, waitWritableDestroy }, error) => {
await waitForConcurrentStreams(waitWritableFinal, subprocess);
if (await waitForConcurrentStreams(waitWritableDestroy, subprocess)) {
destroyOtherWritable(subprocessStdin, error);
await waitForSubprocess(subprocess, error);
}
};
destroyOtherWritable = (stream2, error) => {
destroyOtherStream(stream2, stream2.writable, error);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/duplex.js
import { Duplex as Duplex3 } from "node:stream";
import { callbackify as callbackify4 } from "node:util";
var createDuplex, onDuplexDestroy;
var init_duplex = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/duplex.js"() {
init_encoding_option();
init_readable();
init_writable();
createDuplex = ({ subprocess, concurrentStreams, encoding }, { from: from5, to, binary: binaryOption = true, preserveNewlines = true } = {}) => {
const binary2 = binaryOption || BINARY_ENCODINGS.has(encoding);
const { subprocessStdout, waitReadableDestroy } = getSubprocessStdout(subprocess, from5, concurrentStreams);
const { subprocessStdin, waitWritableFinal, waitWritableDestroy } = getSubprocessStdin(subprocess, to, concurrentStreams);
const { readableEncoding, readableObjectMode, readableHighWaterMark } = getReadableOptions(subprocessStdout, binary2);
const { read: read2, onStdoutDataDone } = getReadableMethods({
subprocessStdout,
subprocess,
binary: binary2,
encoding,
preserveNewlines
});
const duplex2 = new Duplex3({
read: read2,
...getWritableMethods(subprocessStdin, subprocess, waitWritableFinal),
destroy: callbackify4(onDuplexDestroy.bind(void 0, {
subprocessStdout,
subprocessStdin,
subprocess,
waitReadableDestroy,
waitWritableFinal,
waitWritableDestroy
})),
readableHighWaterMark,
writableHighWaterMark: subprocessStdin.writableHighWaterMark,
readableObjectMode,
writableObjectMode: subprocessStdin.writableObjectMode,
encoding: readableEncoding
});
onStdoutFinished({
subprocessStdout,
onStdoutDataDone,
readable: duplex2,
subprocess,
subprocessStdin
});
onStdinFinished(subprocessStdin, duplex2, subprocessStdout);
return duplex2;
};
onDuplexDestroy = async ({ subprocessStdout, subprocessStdin, subprocess, waitReadableDestroy, waitWritableFinal, waitWritableDestroy }, error) => {
await Promise.all([
onReadableDestroy({ subprocessStdout, subprocess, waitReadableDestroy }, error),
onWritableDestroy({
subprocessStdin,
subprocess,
waitWritableFinal,
waitWritableDestroy
}, error)
]);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/iterable.js
var createIterable, iterateOnStdoutData;
var init_iterable = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/iterable.js"() {
init_encoding_option();
init_fd_options();
init_iterate();
createIterable = (subprocess, encoding, {
from: from5,
binary: binaryOption = false,
preserveNewlines = false
} = {}) => {
const binary2 = binaryOption || BINARY_ENCODINGS.has(encoding);
const subprocessStdout = getFromStream(subprocess, from5);
const onStdoutData = iterateOnSubprocessStream({
subprocessStdout,
subprocess,
binary: binary2,
shouldEncode: true,
encoding,
preserveNewlines
});
return iterateOnStdoutData(onStdoutData, subprocessStdout, subprocess);
};
iterateOnStdoutData = async function* (onStdoutData, subprocessStdout, subprocess) {
try {
yield* onStdoutData;
} finally {
if (subprocessStdout.readable) {
subprocessStdout.destroy();
}
await subprocess;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/add.js
var addConvertedStreams;
var init_add2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/convert/add.js"() {
init_concurrent();
init_readable();
init_writable();
init_duplex();
init_iterable();
addConvertedStreams = (subprocess, { encoding }) => {
const concurrentStreams = initializeConcurrentStreams();
subprocess.readable = createReadable.bind(void 0, { subprocess, concurrentStreams, encoding });
subprocess.writable = createWritable.bind(void 0, { subprocess, concurrentStreams });
subprocess.duplex = createDuplex.bind(void 0, { subprocess, concurrentStreams, encoding });
subprocess.iterable = createIterable.bind(void 0, subprocess, encoding);
subprocess[Symbol.asyncIterator] = createIterable.bind(void 0, subprocess, encoding, {});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/promise.js
var mergePromise, nativePromisePrototype, descriptors;
var init_promise = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/promise.js"() {
mergePromise = (subprocess, promise2) => {
for (const [property, descriptor] of descriptors) {
const value = descriptor.value.bind(promise2);
Reflect.defineProperty(subprocess, property, { ...descriptor, value });
}
};
nativePromisePrototype = (async () => {
})().constructor.prototype;
descriptors = ["then", "catch", "finally"].map((property) => [
property,
Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property)
]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/main-async.js
import { setMaxListeners } from "node:events";
import { spawn as spawn4 } from "node:child_process";
var execaCoreAsync, handleAsyncArguments, handleAsyncOptions, spawnSubprocessAsync, handlePromise, getAsyncResult;
var init_main_async = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/main-async.js"() {
init_source2();
init_command();
init_options2();
init_fd_options();
init_shell();
init_methods();
init_result();
init_reject2();
init_early_error();
init_handle_async();
init_strip_newline();
init_output_async();
init_kill();
init_cleanup();
init_setup();
init_all_async();
init_wait_subprocess();
init_add2();
init_deferred();
init_promise();
execaCoreAsync = (rawFile, rawArguments, rawOptions, createNested) => {
const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleAsyncArguments(rawFile, rawArguments, rawOptions);
const { subprocess, promise: promise2 } = spawnSubprocessAsync({
file,
commandArguments,
options,
startTime,
verboseInfo,
command,
escapedCommand,
fileDescriptors
});
subprocess.pipe = pipeToSubprocess.bind(void 0, {
source: subprocess,
sourcePromise: promise2,
boundOptions: {},
createNested
});
mergePromise(subprocess, promise2);
SUBPROCESS_OPTIONS.set(subprocess, { options, fileDescriptors });
return subprocess;
};
handleAsyncArguments = (rawFile, rawArguments, rawOptions) => {
const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
const { file, commandArguments, options: normalizedOptions } = normalizeOptions(rawFile, rawArguments, rawOptions);
const options = handleAsyncOptions(normalizedOptions);
const fileDescriptors = handleStdioAsync(options, verboseInfo);
return {
file,
commandArguments,
command,
escapedCommand,
startTime,
verboseInfo,
options,
fileDescriptors
};
};
handleAsyncOptions = ({ timeout, signal, ...options }) => {
if (signal !== void 0) {
throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');
}
return { ...options, timeoutDuration: timeout };
};
spawnSubprocessAsync = ({ file, commandArguments, options, startTime, verboseInfo, command, escapedCommand, fileDescriptors }) => {
let subprocess;
try {
subprocess = spawn4(...concatenateShell(file, commandArguments, options));
} catch (error) {
return handleEarlyError({
error,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
verboseInfo
});
}
const controller = new AbortController();
setMaxListeners(Number.POSITIVE_INFINITY, controller.signal);
const originalStreams = [...subprocess.stdio];
pipeOutputAsync(subprocess, fileDescriptors, controller);
cleanupOnExit(subprocess, options, controller);
const context = {};
const onInternalError = createDeferred();
subprocess.kill = subprocessKill.bind(void 0, {
kill: subprocess.kill.bind(subprocess),
options,
onInternalError,
context,
controller
});
subprocess.all = makeAllStream(subprocess, options);
addConvertedStreams(subprocess, options);
addIpcMethods(subprocess, options);
const promise2 = handlePromise({
subprocess,
options,
startTime,
verboseInfo,
fileDescriptors,
originalStreams,
command,
escapedCommand,
context,
onInternalError,
controller
});
return { subprocess, promise: promise2 };
};
handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDescriptors, originalStreams, command, escapedCommand, context, onInternalError, controller }) => {
const [
errorInfo,
[exitCode, signal],
stdioResults,
allResult,
ipcOutput
] = await waitForSubprocessResult({
subprocess,
options,
context,
verboseInfo,
fileDescriptors,
originalStreams,
onInternalError,
controller
});
controller.abort();
onInternalError.resolve();
const stdio = stdioResults.map((stdioResult, fdNumber) => stripNewline(stdioResult, options, fdNumber));
const all = stripNewline(allResult, options, "all");
const result2 = getAsyncResult({
errorInfo,
exitCode,
signal,
stdio,
all,
ipcOutput,
context,
options,
command,
escapedCommand,
startTime
});
return handleResult(result2, verboseInfo, options);
};
getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, ipcOutput, context, options, command, escapedCommand, startTime }) => "error" in errorInfo ? makeError({
error: errorInfo.error,
command,
escapedCommand,
timedOut: context.terminationReason === "timeout",
isCanceled: context.terminationReason === "cancel" || context.terminationReason === "gracefulCancel",
isGracefullyCanceled: context.terminationReason === "gracefulCancel",
isMaxBuffer: errorInfo.error instanceof MaxBufferError,
isForcefullyTerminated: context.isForcefullyTerminated,
exitCode,
signal,
stdio,
all,
ipcOutput,
options,
startTime,
isSync: false
}) : makeSuccessResult({
command,
escapedCommand,
stdio,
all,
ipcOutput,
options,
startTime
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/bind.js
var mergeOptions, mergeOption, DEEP_OPTIONS;
var init_bind2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/bind.js"() {
init_is_plain_obj();
init_specific();
mergeOptions = (boundOptions, options) => {
const newOptions = Object.fromEntries(
Object.entries(options).map(([optionName, optionValue]) => [
optionName,
mergeOption(optionName, boundOptions[optionName], optionValue)
])
);
return { ...boundOptions, ...newOptions };
};
mergeOption = (optionName, boundOptionValue, optionValue) => {
if (DEEP_OPTIONS.has(optionName) && isPlainObject(boundOptionValue) && isPlainObject(optionValue)) {
return { ...boundOptionValue, ...optionValue };
}
return optionValue;
};
DEEP_OPTIONS = /* @__PURE__ */ new Set(["env", ...FD_SPECIFIC_OPTIONS]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/create.js
var createExeca, callBoundExeca, parseArguments;
var init_create = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/create.js"() {
init_is_plain_obj();
init_parameters();
init_template();
init_main_sync();
init_main_async();
init_bind2();
createExeca = (mapArguments, boundOptions, deepOptions, setBoundExeca) => {
const createNested = (mapArguments2, boundOptions2, setBoundExeca2) => createExeca(mapArguments2, boundOptions2, deepOptions, setBoundExeca2);
const boundExeca = (...execaArguments) => callBoundExeca({
mapArguments,
deepOptions,
boundOptions,
setBoundExeca,
createNested
}, ...execaArguments);
if (setBoundExeca !== void 0) {
setBoundExeca(boundExeca, createNested, boundOptions);
}
return boundExeca;
};
callBoundExeca = ({ mapArguments, deepOptions = {}, boundOptions = {}, setBoundExeca, createNested }, firstArgument, ...nextArguments) => {
if (isPlainObject(firstArgument)) {
return createNested(mapArguments, mergeOptions(boundOptions, firstArgument), setBoundExeca);
}
const { file, commandArguments, options, isSync } = parseArguments({
mapArguments,
firstArgument,
nextArguments,
deepOptions,
boundOptions
});
return isSync ? execaCoreSync(file, commandArguments, options) : execaCoreAsync(file, commandArguments, options, createNested);
};
parseArguments = ({ mapArguments, firstArgument, nextArguments, deepOptions, boundOptions }) => {
const callArguments = isTemplateString(firstArgument) ? parseTemplates(firstArgument, nextArguments) : [firstArgument, ...nextArguments];
const [initialFile, initialArguments, initialOptions] = normalizeParameters(...callArguments);
const mergedOptions = mergeOptions(mergeOptions(deepOptions, boundOptions), initialOptions);
const {
file = initialFile,
commandArguments = initialArguments,
options = mergedOptions,
isSync = false
} = mapArguments({ file: initialFile, commandArguments: initialArguments, options: mergedOptions });
return {
file,
commandArguments,
options,
isSync
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/command.js
var mapCommandAsync, mapCommandSync, parseCommand, parseCommandString, SPACES_REGEXP;
var init_command2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/command.js"() {
mapCommandAsync = ({ file, commandArguments }) => parseCommand(file, commandArguments);
mapCommandSync = ({ file, commandArguments }) => ({ ...parseCommand(file, commandArguments), isSync: true });
parseCommand = (command, unusedArguments) => {
if (unusedArguments.length > 0) {
throw new TypeError(`The command and its arguments must be passed as a single string: ${command} ${unusedArguments}.`);
}
const [file, ...commandArguments] = parseCommandString(command);
return { file, commandArguments };
};
parseCommandString = (command) => {
if (typeof command !== "string") {
throw new TypeError(`The command must be a string: ${String(command)}.`);
}
const trimmedCommand = command.trim();
if (trimmedCommand === "") {
return [];
}
const tokens = [];
for (const token of trimmedCommand.split(SPACES_REGEXP)) {
const previousToken = tokens.at(-1);
if (previousToken && previousToken.endsWith("\\")) {
tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;
} else {
tokens.push(token);
}
}
return tokens;
};
SPACES_REGEXP = / +/g;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/script.js
var setScriptSync, mapScriptAsync, mapScriptSync, getScriptOptions, getScriptStdinOption, deepScriptOptions;
var init_script = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/lib/methods/script.js"() {
setScriptSync = (boundExeca, createNested, boundOptions) => {
boundExeca.sync = createNested(mapScriptSync, boundOptions);
boundExeca.s = boundExeca.sync;
};
mapScriptAsync = ({ options }) => getScriptOptions(options);
mapScriptSync = ({ options }) => ({ ...getScriptOptions(options), isSync: true });
getScriptOptions = (options) => ({ options: { ...getScriptStdinOption(options), ...options } });
getScriptStdinOption = ({ input, inputFile, stdio }) => input === void 0 && inputFile === void 0 && stdio === void 0 ? { stdin: "inherit" } : {};
deepScriptOptions = { preferLocal: true };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/index.js
var execa, execaSync, execaCommand, execaCommandSync, execaNode, $, sendMessage2, getOneMessage2, getEachMessage2, getCancelSignal2;
var init_execa = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/execa/9.6.1/5a7f9c77e86db1202a56b65243d0ecf5c024e620e4cf2d3c2859c0f294e091a3/node_modules/execa/index.js"() {
init_create();
init_command2();
init_node2();
init_script();
init_methods();
execa = createExeca(() => ({}));
execaSync = createExeca(() => ({ isSync: true }));
execaCommand = createExeca(mapCommandAsync);
execaCommandSync = createExeca(mapCommandSync);
execaNode = createExeca(mapNode);
$ = createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
({
sendMessage: sendMessage2,
getOneMessage: getOneMessage2,
getEachMessage: getEachMessage2,
getCancelSignal: getCancelSignal2
} = getIpcExport());
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-name/1.0.0/8064eef559e4026b8969ba496c1276b43d2356039af88d81b063131dadece14f/node_modules/path-name/index.js
var require_path_name = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-name/1.0.0/8064eef559e4026b8969ba496c1276b43d2356039af88d81b063131dadece14f/node_modules/path-name/index.js"(exports2, module2) {
"use strict";
var PATH6;
if (process.platform === "win32") {
PATH6 = "Path";
Object.keys(process.env).forEach((e) => {
if (e.match(/^PATH$/i)) {
PATH6 = e;
}
});
} else {
PATH6 = "PATH";
}
module2.exports = PATH6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/safe-execa/0.3.0/238c73896658bfb67000b4a0218b1ffbc69fbdf60a9c4f405c7f519bdb8555d5/node_modules/safe-execa/lib/index.js
import { fileURLToPath as fileURLToPath5 } from "node:url";
function cwdToString(cwd) {
if (cwd == null)
return process.cwd();
if (cwd instanceof URL)
return fileURLToPath5(cwd);
return cwd;
}
function sync2(file, args, options) {
const normalizedArgs = args ? [...args] : [];
try {
import_which2.default.sync(file, { path: cwdToString(options?.cwd) });
} catch (err2) {
if (err2.code === "ENOENT") {
return execaSync(file, normalizedArgs, options);
}
}
const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
return execaSync(fileAbsolutePath, normalizedArgs, options);
}
function getCommandAbsolutePathSync(file, options) {
if (file.includes("\\") || file.includes("/"))
return file;
const path236 = options?.env?.[import_path_name.default] ?? process.env[import_path_name.default];
const key = JSON.stringify([path236, file]);
let fileAbsolutePath = pathCache.get(key);
if (fileAbsolutePath == null) {
fileAbsolutePath = import_which2.default.sync(file, { path: path236 });
pathCache.set(key, fileAbsolutePath);
}
if (fileAbsolutePath == null) {
throw new Error(`Couldn't find ${file}`);
}
return fileAbsolutePath;
}
function safeExeca(file, args, options) {
const normalizedArgs = args ? [...args] : [];
try {
import_which2.default.sync(file, { path: cwdToString(options?.cwd) });
} catch (err2) {
if (err2.code === "ENOENT") {
return execa(file, normalizedArgs, options);
}
}
const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
return execa(fileAbsolutePath, normalizedArgs, options);
}
var import_which2, import_path_name, pathCache;
var init_lib25 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/safe-execa/0.3.0/238c73896658bfb67000b4a0218b1ffbc69fbdf60a9c4f405c7f519bdb8555d5/node_modules/safe-execa/lib/index.js"() {
import_which2 = __toESM(require_which2(), 1);
init_execa();
import_path_name = __toESM(require_path_name(), 1);
pathCache = /* @__PURE__ */ new Map();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mimic-function/5.0.1/42ffd44e2cba19e8e133b2bdc7d5939811fa14bc8061d1a5739a299c53ffa2b6/node_modules/mimic-function/index.js
function mimicFunction(to, from5, { ignoreNonConfigurable = false } = {}) {
const { name } = to;
for (const property of Reflect.ownKeys(from5)) {
copyProperty(to, from5, property, ignoreNonConfigurable);
}
changePrototype(to, from5);
changeToString(to, from5, name);
return to;
}
var copyProperty, canCopyProperty, changePrototype, wrappedToString, toStringDescriptor, toStringName, changeToString;
var init_mimic_function = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mimic-function/5.0.1/42ffd44e2cba19e8e133b2bdc7d5939811fa14bc8061d1a5739a299c53ffa2b6/node_modules/mimic-function/index.js"() {
copyProperty = (to, from5, property, ignoreNonConfigurable) => {
if (property === "length" || property === "prototype") {
return;
}
if (property === "arguments" || property === "caller") {
return;
}
const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
const fromDescriptor = Object.getOwnPropertyDescriptor(from5, property);
if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
return;
}
Object.defineProperty(to, property, fromDescriptor);
};
canCopyProperty = function(toDescriptor, fromDescriptor) {
return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
};
changePrototype = (to, from5) => {
const fromPrototype = Object.getPrototypeOf(from5);
if (fromPrototype === Object.getPrototypeOf(to)) {
return;
}
Object.setPrototypeOf(to, fromPrototype);
};
wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
${fromBody}`;
toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
changeToString = (to, from5, name) => {
const withName = name === "" ? "" : `with ${name.trim()}() `;
const newToString = wrappedToString.bind(null, withName, from5.toString());
Object.defineProperty(newToString, "name", toStringName);
const { writable: writable2, enumerable, configurable } = toStringDescriptor;
Object.defineProperty(to, "toString", { value: newToString, writable: writable2, enumerable, configurable });
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/memoize/11.0.0/1da59602ab45e19a3ba2c86ed324b17bdd4d6b8ab4664663e3c8557861e28a28/node_modules/memoize/distribution/index.js
function getValidCacheItem(cache, key) {
const item = cache.get(key);
if (!item) {
return void 0;
}
if (item.maxAge <= Date.now()) {
cache.delete(key);
return void 0;
}
return item;
}
function validateMaxAge(value, source) {
if (value === Number.POSITIVE_INFINITY) {
return;
}
if (!Number.isFinite(value)) {
if (source === "`maxAge` option") {
throw new TypeError("The `maxAge` option must be a finite number, `0`, or `Infinity`.");
}
throw new TypeError("The `maxAge` function must return a finite number, `0`, or `Infinity`.");
}
if (value > maxTimeoutValue) {
if (source === "`maxAge` option") {
throw new TypeError(`The \`maxAge\` option cannot exceed ${maxTimeoutValue}.`);
}
throw new TypeError(`The \`maxAge\` function result cannot exceed ${maxTimeoutValue}.`);
}
}
function memoize(function_, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) {
if (typeof maxAge === "number") {
validateMaxAge(maxAge, "`maxAge` option");
if (maxAge <= 0) {
return function_;
}
}
const memoized2 = function(...arguments_) {
const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
const cacheItem = getValidCacheItem(cache, key);
if (cacheItem) {
return cacheItem.data;
}
const result2 = function_.apply(this, arguments_);
const computedMaxAge = typeof maxAge === "function" ? maxAge(...arguments_) : maxAge;
if (computedMaxAge !== void 0 && computedMaxAge !== Number.POSITIVE_INFINITY) {
validateMaxAge(computedMaxAge, "`maxAge` function result");
if (computedMaxAge <= 0) {
return result2;
}
}
cache.set(key, {
data: result2,
maxAge: computedMaxAge === void 0 || computedMaxAge === Number.POSITIVE_INFINITY ? Number.POSITIVE_INFINITY : Date.now() + computedMaxAge
});
if (computedMaxAge !== void 0 && computedMaxAge !== Number.POSITIVE_INFINITY) {
const timer = setTimeout(() => {
cache.delete(key);
cacheTimerStore.get(memoized2)?.delete(timer);
}, computedMaxAge);
timer.unref?.();
const timers = cacheTimerStore.get(memoized2) ?? /* @__PURE__ */ new Set();
timers.add(timer);
cacheTimerStore.set(memoized2, timers);
}
return result2;
};
mimicFunction(memoized2, function_, {
ignoreNonConfigurable: true
});
cacheStore.set(memoized2, cache);
cacheKeyStore.set(memoized2, cacheKey ?? ((arguments_) => arguments_[0]));
return memoized2;
}
var maxTimeoutValue, cacheStore, cacheTimerStore, cacheKeyStore;
var init_distribution = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/memoize/11.0.0/1da59602ab45e19a3ba2c86ed324b17bdd4d6b8ab4664663e3c8557861e28a28/node_modules/memoize/distribution/index.js"() {
init_mimic_function();
maxTimeoutValue = 2147483647;
cacheStore = /* @__PURE__ */ new WeakMap();
cacheTimerStore = /* @__PURE__ */ new WeakMap();
cacheKeyStore = /* @__PURE__ */ new WeakMap();
}
});
// ../engine/runtime/system-version/lib/index.js
function getSystemNodeVersionNonCached() {
if (detectIfCurrentPkgIsExecutable()) {
try {
return sync2("node", ["--version"]).stdout?.toString();
} catch {
return void 0;
}
}
return process.version;
}
function getSystemDenoVersionNonCached() {
try {
const output = sync2("deno", ["--version"]).stdout?.toString() ?? "";
const match = /^deno\s+(\d+\.\d+\.\d\S*)/m.exec(output);
return match?.[1] ? `v${match[1]}` : void 0;
} catch {
return void 0;
}
}
function getSystemBunVersionNonCached() {
try {
const output = sync2("bun", ["--version"]).stdout?.toString().trim() ?? "";
return /^\d+\.\d+\.\d+/.test(output) ? `v${output}` : void 0;
} catch {
return void 0;
}
}
function getSystemRuntimeVersion(name) {
switch (name) {
case "node":
return getSystemNodeVersion();
case "deno":
return getSystemDenoVersion();
case "bun":
return getSystemBunVersion();
}
}
function engineName(nodeVersion) {
const version2 = nodeVersion ?? getSystemNodeVersion() ?? process.version;
const stripped = version2.startsWith("v") ? version2.slice(1) : version2;
const major = stripped.split(".")[0];
return `${process.platform};${process.arch};node${major}`;
}
var getSystemNodeVersion, getSystemDenoVersion, getSystemBunVersion;
var init_lib26 = __esm({
"../engine/runtime/system-version/lib/index.js"() {
"use strict";
init_lib24();
init_lib25();
init_distribution();
getSystemNodeVersion = memoize(getSystemNodeVersionNonCached);
getSystemDenoVersion = memoize(getSystemDenoVersionNonCached);
getSystemBunVersion = memoize(getSystemBunVersionNonCached);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/escape-string-regexp/5.0.0/975308e2f12ad393ccebb3882840c3c1e975368995bfe20e83579ff1c006e7af/node_modules/escape-string-regexp/index.js
function escapeStringRegexp(string) {
if (typeof string !== "string") {
throw new TypeError("Expected a string");
}
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
}
var init_escape_string_regexp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/escape-string-regexp/5.0.0/975308e2f12ad393ccebb3882840c3c1e975368995bfe20e83579ff1c006e7af/node_modules/escape-string-regexp/index.js"() {
}
});
// ../config/matcher/lib/index.js
function createMatcher(patterns) {
const m = createMatcherWithIndex(Array.isArray(patterns) ? patterns : [patterns]);
return (input) => m(input) !== -1;
}
function createMatcherWithIndex(patterns) {
switch (patterns.length) {
case 0:
return () => -1;
case 1:
return matcherWhenOnlyOnePatternWithIndex(patterns[0]);
}
const matchArr = [];
let hasIgnore = false;
let hasInclude = false;
for (const pattern of patterns) {
if (isIgnorePattern(pattern)) {
hasIgnore = true;
matchArr.push({ ignore: true, match: matcherFromPattern(pattern.substring(1)) });
} else {
hasInclude = true;
matchArr.push({ ignore: false, match: matcherFromPattern(pattern) });
}
}
if (!hasIgnore) {
return matchInputWithNonIgnoreMatchers.bind(null, matchArr);
}
if (!hasInclude) {
return matchInputWithoutIgnoreMatchers.bind(null, matchArr);
}
return matchInputWithMatchersArray.bind(null, matchArr);
}
function matchInputWithNonIgnoreMatchers(matchArr, input) {
for (let i4 = 0; i4 < matchArr.length; i4++) {
if (matchArr[i4].match(input))
return i4;
}
return -1;
}
function matchInputWithoutIgnoreMatchers(matchArr, input) {
return matchArr.some(({ match }) => match(input)) ? -1 : 0;
}
function matchInputWithMatchersArray(matchArr, input) {
let matchedPatternIndex = -1;
for (let i4 = 0; i4 < matchArr.length; i4++) {
const { ignore: ignore2, match } = matchArr[i4];
if (ignore2) {
if (match(input)) {
matchedPatternIndex = -1;
}
} else if (matchedPatternIndex === -1 && match(input)) {
matchedPatternIndex = i4;
}
}
return matchedPatternIndex;
}
function matcherFromPattern(pattern) {
if (pattern === "*") {
return () => true;
}
const escapedPattern = escapeStringRegexp(pattern).replace(/\\\*/g, ".*");
if (escapedPattern === pattern) {
return (input) => input === pattern;
}
const regexp = new RegExp(`^${escapedPattern}$`);
return (input) => regexp.test(input);
}
function isIgnorePattern(pattern) {
return pattern[0] === "!";
}
function matcherWhenOnlyOnePatternWithIndex(pattern) {
const m = matcherWhenOnlyOnePattern(pattern);
return (input) => m(input) ? 0 : -1;
}
function matcherWhenOnlyOnePattern(pattern) {
if (!isIgnorePattern(pattern)) {
return matcherFromPattern(pattern);
}
const ignorePattern = pattern.substring(1);
const m = matcherFromPattern(ignorePattern);
return (input) => !m(input);
}
var init_lib27 = __esm({
"../config/matcher/lib/index.js"() {
"use strict";
init_escape_string_regexp();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/builtins/5.1.0/19698c4999d39315a49e70523c9b25eca2aab51f9a8d69ef31a15b7a1846c0b7/node_modules/builtins/index.js
var require_builtins2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/builtins/5.1.0/19698c4999d39315a49e70523c9b25eca2aab51f9a8d69ef31a15b7a1846c0b7/node_modules/builtins/index.js"(exports2, module2) {
"use strict";
var satisfies4 = require_satisfies();
var permanentModules = [
"assert",
"buffer",
"child_process",
"cluster",
"console",
"constants",
"crypto",
"dgram",
"dns",
"domain",
"events",
"fs",
"http",
"https",
"module",
"net",
"os",
"path",
"punycode",
"querystring",
"readline",
"repl",
"stream",
"string_decoder",
"sys",
"timers",
"tls",
"tty",
"url",
"util",
"vm",
"zlib"
];
var versionLockedModules = {
freelist: "<6.0.0",
v8: ">=1.0.0",
process: ">=1.1.0",
inspector: ">=8.0.0",
async_hooks: ">=8.1.0",
http2: ">=8.4.0",
perf_hooks: ">=8.5.0",
trace_events: ">=10.0.0",
worker_threads: ">=12.0.0",
"node:test": ">=18.0.0"
};
var experimentalModules = {
worker_threads: ">=10.5.0",
wasi: ">=12.16.0",
diagnostics_channel: "^14.17.0 || >=15.1.0"
};
module2.exports = ({ version: version2 = process.version, experimental = false } = {}) => {
const builtins = [...permanentModules];
for (const [name, semverRange] of Object.entries(versionLockedModules)) {
if (version2 === "*" || satisfies4(version2, semverRange)) {
builtins.push(name);
}
}
if (experimental) {
for (const [name, semverRange] of Object.entries(experimentalModules)) {
if (!builtins.includes(name) && (version2 === "*" || satisfies4(version2, semverRange))) {
builtins.push(name);
}
}
}
return builtins;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/4.0.0/4a57dcdc5c052e4194d35c9e71846474b4d74f717adf1951007772bf46ec248e/node_modules/validate-npm-package-name/lib/index.js
var require_lib17 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/4.0.0/4a57dcdc5c052e4194d35c9e71846474b4d74f717adf1951007772bf46ec248e/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) {
"use strict";
var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");
var builtins = require_builtins2();
var blacklist = [
"node_modules",
"favicon.ico"
];
function validate2(name) {
var warnings = [];
var errors2 = [];
if (name === null) {
errors2.push("name cannot be null");
return done(warnings, errors2);
}
if (name === void 0) {
errors2.push("name cannot be undefined");
return done(warnings, errors2);
}
if (typeof name !== "string") {
errors2.push("name must be a string");
return done(warnings, errors2);
}
if (!name.length) {
errors2.push("name length must be greater than zero");
}
if (name.match(/^\./)) {
errors2.push("name cannot start with a period");
}
if (name.match(/^_/)) {
errors2.push("name cannot start with an underscore");
}
if (name.trim() !== name) {
errors2.push("name cannot contain leading or trailing spaces");
}
blacklist.forEach(function(blacklistedName) {
if (name.toLowerCase() === blacklistedName) {
errors2.push(blacklistedName + " is a blacklisted name");
}
});
builtins({ version: "*" }).forEach(function(builtin) {
if (name.toLowerCase() === builtin) {
warnings.push(builtin + " is a core module name");
}
});
if (name.length > 214) {
warnings.push("name can no longer contain more than 214 characters");
}
if (name.toLowerCase() !== name) {
warnings.push("name can no longer contain capital letters");
}
if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) {
warnings.push(`name can no longer contain special characters ("~'!()*")`);
}
if (encodeURIComponent(name) !== name) {
var nameMatch = name.match(scopedPackagePattern);
if (nameMatch) {
var user = nameMatch[1];
var pkg = nameMatch[2];
if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) {
return done(warnings, errors2);
}
}
errors2.push("name can only contain URL-friendly characters");
}
return done(warnings, errors2);
}
var done = function(warnings, errors2) {
var result2 = {
validForNewPackages: errors2.length === 0 && warnings.length === 0,
validForOldPackages: errors2.length === 0,
warnings,
errors: errors2
};
if (!result2.warnings.length) {
delete result2.warnings;
}
if (!result2.errors.length) {
delete result2.errors;
}
return result2;
};
module2.exports = validate2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/git-host-info.js
var require_git_host_info = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/git-host-info.js"(exports2, module2) {
"use strict";
var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
var defaults4 = {
sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
browsefiletemplate: ({ domain, user, project, committish, treepath, path: path236, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path236}${maybeJoin("#", hashformat(fragment || ""))}`,
docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ domain, user, project, committish, path: path236 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path236}`,
shortcuttemplate: ({ type: type4, user, project, committish }) => `${type4}:${user}/${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
hashformat: formatHashFragment
};
var gitHosts = {};
gitHosts.github = Object.assign({}, defaults4, {
// First two are insecure and generally shouldn't be used any more, but
// they are still supported.
protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "github.com",
treepath: "tree",
filetemplate: ({ auth, user, project, committish, path: path236 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path236}`,
gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
extract: (url7) => {
let [, user, project, type4, committish] = url7.pathname.split("/", 5);
if (type4 && type4 !== "tree") {
return;
}
if (!type4) {
committish = url7.hash.slice(1);
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish };
}
});
gitHosts.bitbucket = Object.assign({}, defaults4, {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "bitbucket.org",
treepath: "src",
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (["get"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
});
gitHosts.gitlab = Object.assign({}, defaults4, {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gitlab.com",
treepath: "tree",
httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish) || "master"}`,
extract: (url7) => {
const path236 = url7.pathname.slice(1);
if (path236.includes("/-/") || path236.includes("/archive.tar.gz")) {
return;
}
const segments = path236.split("/");
let project = segments.pop();
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
const user = segments.join("/");
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
});
gitHosts.gist = Object.assign({}, defaults4, {
protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gist.github.com",
sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
browsefiletemplate: ({ domain, project, committish, path: path236, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path236))}`,
docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ user, project, committish, path: path236 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path236}`,
shortcuttemplate: ({ type: type4, project, committish }) => `${type4}:${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (aux === "raw") {
return;
}
if (!project) {
if (!user) {
return;
}
project = user;
user = null;
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
return { user, project, committish: url7.hash.slice(1) };
},
hashformat: function(fragment) {
return fragment && "file-" + formatHashFragment(fragment);
}
});
gitHosts.sourcehut = Object.assign({}, defaults4, {
protocols: ["git+ssh:", "https:"],
domain: "git.sr.ht",
treepath: "tree",
browsefiletemplate: ({ domain, user, project, committish, treepath, path: path236, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "main")}/${path236}${maybeJoin("#", hashformat(fragment || ""))}`,
filetemplate: ({ domain, user, project, committish, path: path236 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "main"}/${path236}`,
httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "main"}.tar.gz`,
bugstemplate: ({ domain, user, project }) => `https://todo.sr.ht/${user}/${project}`,
docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (["archive"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
});
var names = Object.keys(gitHosts);
gitHosts.byShortcut = {};
gitHosts.byDomain = {};
for (const name of names) {
gitHosts.byShortcut[`${name}:`] = name;
gitHosts.byDomain[gitHosts[name].domain] = name;
}
function formatHashFragment(fragment) {
return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-");
}
module2.exports = gitHosts;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/git-host.js
var require_git_host = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/git-host.js"(exports2, module2) {
"use strict";
var gitHosts = require_git_host_info();
var GitHost = class {
constructor(type4, user, auth, project, committish, defaultRepresentation, opts3 = {}) {
Object.assign(this, gitHosts[type4]);
this.type = type4;
this.user = user;
this.auth = auth;
this.project = project;
this.committish = committish;
this.default = defaultRepresentation;
this.opts = opts3;
}
hash() {
return this.committish ? `#${this.committish}` : "";
}
ssh(opts3) {
return this._fill(this.sshtemplate, opts3);
}
_fill(template, opts3) {
if (typeof template === "function") {
const options = { ...this, ...this.opts, ...opts3 };
if (!options.path) {
options.path = "";
}
if (options.path.startsWith("/")) {
options.path = options.path.slice(1);
}
if (options.noCommittish) {
options.committish = null;
}
const result2 = template(options);
return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
}
return null;
}
sshurl(opts3) {
return this._fill(this.sshurltemplate, opts3);
}
browse(path236, fragment, opts3) {
if (typeof path236 !== "string") {
return this._fill(this.browsetemplate, path236);
}
if (typeof fragment !== "string") {
opts3 = fragment;
fragment = null;
}
return this._fill(this.browsefiletemplate, { ...opts3, fragment, path: path236 });
}
docs(opts3) {
return this._fill(this.docstemplate, opts3);
}
bugs(opts3) {
return this._fill(this.bugstemplate, opts3);
}
https(opts3) {
return this._fill(this.httpstemplate, opts3);
}
git(opts3) {
return this._fill(this.gittemplate, opts3);
}
shortcut(opts3) {
return this._fill(this.shortcuttemplate, opts3);
}
path(opts3) {
return this._fill(this.pathtemplate, opts3);
}
tarball(opts3) {
return this._fill(this.tarballtemplate, { ...opts3, noCommittish: false });
}
file(path236, opts3) {
return this._fill(this.filetemplate, { ...opts3, path: path236 });
}
getDefaultRepresentation() {
return this.default;
}
toString(opts3) {
if (this.default && typeof this[this.default] === "function") {
return this[this.default](opts3);
}
return this.sshurl(opts3);
}
};
module2.exports = GitHost;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yallist/4.0.0/2925a1deaaee7314c617d3720c6c4c168635530837cce30cdfbb63c68c9edb56/node_modules/yallist/iterator.js
var require_iterator = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yallist/4.0.0/2925a1deaaee7314c617d3720c6c4c168635530837cce30cdfbb63c68c9edb56/node_modules/yallist/iterator.js"(exports2, module2) {
"use strict";
module2.exports = function(Yallist) {
Yallist.prototype[Symbol.iterator] = function* () {
for (let walker = this.head; walker; walker = walker.next) {
yield walker.value;
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yallist/4.0.0/2925a1deaaee7314c617d3720c6c4c168635530837cce30cdfbb63c68c9edb56/node_modules/yallist/yallist.js
var require_yallist = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yallist/4.0.0/2925a1deaaee7314c617d3720c6c4c168635530837cce30cdfbb63c68c9edb56/node_modules/yallist/yallist.js"(exports2, module2) {
"use strict";
module2.exports = Yallist;
Yallist.Node = Node2;
Yallist.create = Yallist;
function Yallist(list2) {
var self2 = this;
if (!(self2 instanceof Yallist)) {
self2 = new Yallist();
}
self2.tail = null;
self2.head = null;
self2.length = 0;
if (list2 && typeof list2.forEach === "function") {
list2.forEach(function(item) {
self2.push(item);
});
} else if (arguments.length > 0) {
for (var i4 = 0, l = arguments.length; i4 < l; i4++) {
self2.push(arguments[i4]);
}
}
return self2;
}
Yallist.prototype.removeNode = function(node) {
if (node.list !== this) {
throw new Error("removing node which does not belong to this list");
}
var next2 = node.next;
var prev = node.prev;
if (next2) {
next2.prev = prev;
}
if (prev) {
prev.next = next2;
}
if (node === this.head) {
this.head = next2;
}
if (node === this.tail) {
this.tail = prev;
}
node.list.length--;
node.next = null;
node.prev = null;
node.list = null;
return next2;
};
Yallist.prototype.unshiftNode = function(node) {
if (node === this.head) {
return;
}
if (node.list) {
node.list.removeNode(node);
}
var head2 = this.head;
node.list = this;
node.next = head2;
if (head2) {
head2.prev = node;
}
this.head = node;
if (!this.tail) {
this.tail = node;
}
this.length++;
};
Yallist.prototype.pushNode = function(node) {
if (node === this.tail) {
return;
}
if (node.list) {
node.list.removeNode(node);
}
var tail2 = this.tail;
node.list = this;
node.prev = tail2;
if (tail2) {
tail2.next = node;
}
this.tail = node;
if (!this.head) {
this.head = node;
}
this.length++;
};
Yallist.prototype.push = function() {
for (var i4 = 0, l = arguments.length; i4 < l; i4++) {
push(this, arguments[i4]);
}
return this.length;
};
Yallist.prototype.unshift = function() {
for (var i4 = 0, l = arguments.length; i4 < l; i4++) {
unshift(this, arguments[i4]);
}
return this.length;
};
Yallist.prototype.pop = function() {
if (!this.tail) {
return void 0;
}
var res = this.tail.value;
this.tail = this.tail.prev;
if (this.tail) {
this.tail.next = null;
} else {
this.head = null;
}
this.length--;
return res;
};
Yallist.prototype.shift = function() {
if (!this.head) {
return void 0;
}
var res = this.head.value;
this.head = this.head.next;
if (this.head) {
this.head.prev = null;
} else {
this.tail = null;
}
this.length--;
return res;
};
Yallist.prototype.forEach = function(fn, thisp) {
thisp = thisp || this;
for (var walker = this.head, i4 = 0; walker !== null; i4++) {
fn.call(thisp, walker.value, i4, this);
walker = walker.next;
}
};
Yallist.prototype.forEachReverse = function(fn, thisp) {
thisp = thisp || this;
for (var walker = this.tail, i4 = this.length - 1; walker !== null; i4--) {
fn.call(thisp, walker.value, i4, this);
walker = walker.prev;
}
};
Yallist.prototype.get = function(n2) {
for (var i4 = 0, walker = this.head; walker !== null && i4 < n2; i4++) {
walker = walker.next;
}
if (i4 === n2 && walker !== null) {
return walker.value;
}
};
Yallist.prototype.getReverse = function(n2) {
for (var i4 = 0, walker = this.tail; walker !== null && i4 < n2; i4++) {
walker = walker.prev;
}
if (i4 === n2 && walker !== null) {
return walker.value;
}
};
Yallist.prototype.map = function(fn, thisp) {
thisp = thisp || this;
var res = new Yallist();
for (var walker = this.head; walker !== null; ) {
res.push(fn.call(thisp, walker.value, this));
walker = walker.next;
}
return res;
};
Yallist.prototype.mapReverse = function(fn, thisp) {
thisp = thisp || this;
var res = new Yallist();
for (var walker = this.tail; walker !== null; ) {
res.push(fn.call(thisp, walker.value, this));
walker = walker.prev;
}
return res;
};
Yallist.prototype.reduce = function(fn, initial) {
var acc;
var walker = this.head;
if (arguments.length > 1) {
acc = initial;
} else if (this.head) {
walker = this.head.next;
acc = this.head.value;
} else {
throw new TypeError("Reduce of empty list with no initial value");
}
for (var i4 = 0; walker !== null; i4++) {
acc = fn(acc, walker.value, i4);
walker = walker.next;
}
return acc;
};
Yallist.prototype.reduceReverse = function(fn, initial) {
var acc;
var walker = this.tail;
if (arguments.length > 1) {
acc = initial;
} else if (this.tail) {
walker = this.tail.prev;
acc = this.tail.value;
} else {
throw new TypeError("Reduce of empty list with no initial value");
}
for (var i4 = this.length - 1; walker !== null; i4--) {
acc = fn(acc, walker.value, i4);
walker = walker.prev;
}
return acc;
};
Yallist.prototype.toArray = function() {
var arr = new Array(this.length);
for (var i4 = 0, walker = this.head; walker !== null; i4++) {
arr[i4] = walker.value;
walker = walker.next;
}
return arr;
};
Yallist.prototype.toArrayReverse = function() {
var arr = new Array(this.length);
for (var i4 = 0, walker = this.tail; walker !== null; i4++) {
arr[i4] = walker.value;
walker = walker.prev;
}
return arr;
};
Yallist.prototype.slice = function(from5, to) {
to = to || this.length;
if (to < 0) {
to += this.length;
}
from5 = from5 || 0;
if (from5 < 0) {
from5 += this.length;
}
var ret2 = new Yallist();
if (to < from5 || to < 0) {
return ret2;
}
if (from5 < 0) {
from5 = 0;
}
if (to > this.length) {
to = this.length;
}
for (var i4 = 0, walker = this.head; walker !== null && i4 < from5; i4++) {
walker = walker.next;
}
for (; walker !== null && i4 < to; i4++, walker = walker.next) {
ret2.push(walker.value);
}
return ret2;
};
Yallist.prototype.sliceReverse = function(from5, to) {
to = to || this.length;
if (to < 0) {
to += this.length;
}
from5 = from5 || 0;
if (from5 < 0) {
from5 += this.length;
}
var ret2 = new Yallist();
if (to < from5 || to < 0) {
return ret2;
}
if (from5 < 0) {
from5 = 0;
}
if (to > this.length) {
to = this.length;
}
for (var i4 = this.length, walker = this.tail; walker !== null && i4 > to; i4--) {
walker = walker.prev;
}
for (; walker !== null && i4 > from5; i4--, walker = walker.prev) {
ret2.push(walker.value);
}
return ret2;
};
Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
if (start > this.length) {
start = this.length - 1;
}
if (start < 0) {
start = this.length + start;
}
for (var i4 = 0, walker = this.head; walker !== null && i4 < start; i4++) {
walker = walker.next;
}
var ret2 = [];
for (var i4 = 0; walker && i4 < deleteCount; i4++) {
ret2.push(walker.value);
walker = this.removeNode(walker);
}
if (walker === null) {
walker = this.tail;
}
if (walker !== this.head && walker !== this.tail) {
walker = walker.prev;
}
for (var i4 = 0; i4 < nodes.length; i4++) {
walker = insert(this, walker, nodes[i4]);
}
return ret2;
};
Yallist.prototype.reverse = function() {
var head2 = this.head;
var tail2 = this.tail;
for (var walker = head2; walker !== null; walker = walker.prev) {
var p = walker.prev;
walker.prev = walker.next;
walker.next = p;
}
this.head = tail2;
this.tail = head2;
return this;
};
function insert(self2, node, value) {
var inserted = node === self2.head ? new Node2(value, null, node, self2) : new Node2(value, node, node.next, self2);
if (inserted.next === null) {
self2.tail = inserted;
}
if (inserted.prev === null) {
self2.head = inserted;
}
self2.length++;
return inserted;
}
function push(self2, item) {
self2.tail = new Node2(item, self2.tail, null, self2);
if (!self2.head) {
self2.head = self2.tail;
}
self2.length++;
}
function unshift(self2, item) {
self2.head = new Node2(item, null, self2.head, self2);
if (!self2.tail) {
self2.tail = self2.head;
}
self2.length++;
}
function Node2(value, prev, next2, list2) {
if (!(this instanceof Node2)) {
return new Node2(value, prev, next2, list2);
}
this.list = list2;
this.value = value;
if (prev) {
prev.next = this;
this.prev = prev;
} else {
this.prev = null;
}
if (next2) {
next2.prev = this;
this.next = next2;
} else {
this.next = null;
}
}
try {
require_iterator()(Yallist);
} catch (er) {
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/6.0.0/7f013971a30022832f3b45094d44d1b3fc42f43ca4df0af4baba7b9f18378928/node_modules/lru-cache/index.js
var require_lru_cache = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lru-cache/6.0.0/7f013971a30022832f3b45094d44d1b3fc42f43ca4df0af4baba7b9f18378928/node_modules/lru-cache/index.js"(exports2, module2) {
"use strict";
var Yallist = require_yallist();
var MAX = /* @__PURE__ */ Symbol("max");
var LENGTH = /* @__PURE__ */ Symbol("length");
var LENGTH_CALCULATOR = /* @__PURE__ */ Symbol("lengthCalculator");
var ALLOW_STALE = /* @__PURE__ */ Symbol("allowStale");
var MAX_AGE = /* @__PURE__ */ Symbol("maxAge");
var DISPOSE = /* @__PURE__ */ Symbol("dispose");
var NO_DISPOSE_ON_SET = /* @__PURE__ */ Symbol("noDisposeOnSet");
var LRU_LIST = /* @__PURE__ */ Symbol("lruList");
var CACHE = /* @__PURE__ */ Symbol("cache");
var UPDATE_AGE_ON_GET = /* @__PURE__ */ Symbol("updateAgeOnGet");
var naiveLength = () => 1;
var LRUCache = class {
constructor(options) {
if (typeof options === "number")
options = { max: options };
if (!options)
options = {};
if (options.max && (typeof options.max !== "number" || options.max < 0))
throw new TypeError("max must be a non-negative number");
const max4 = this[MAX] = options.max || Infinity;
const lc2 = options.length || naiveLength;
this[LENGTH_CALCULATOR] = typeof lc2 !== "function" ? naiveLength : lc2;
this[ALLOW_STALE] = options.stale || false;
if (options.maxAge && typeof options.maxAge !== "number")
throw new TypeError("maxAge must be a number");
this[MAX_AGE] = options.maxAge || 0;
this[DISPOSE] = options.dispose;
this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
this.reset();
}
// resize the cache when the max changes.
set max(mL) {
if (typeof mL !== "number" || mL < 0)
throw new TypeError("max must be a non-negative number");
this[MAX] = mL || Infinity;
trim(this);
}
get max() {
return this[MAX];
}
set allowStale(allowStale) {
this[ALLOW_STALE] = !!allowStale;
}
get allowStale() {
return this[ALLOW_STALE];
}
set maxAge(mA) {
if (typeof mA !== "number")
throw new TypeError("maxAge must be a non-negative number");
this[MAX_AGE] = mA;
trim(this);
}
get maxAge() {
return this[MAX_AGE];
}
// resize the cache when the lengthCalculator changes.
set lengthCalculator(lC) {
if (typeof lC !== "function")
lC = naiveLength;
if (lC !== this[LENGTH_CALCULATOR]) {
this[LENGTH_CALCULATOR] = lC;
this[LENGTH] = 0;
this[LRU_LIST].forEach((hit) => {
hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
this[LENGTH] += hit.length;
});
}
trim(this);
}
get lengthCalculator() {
return this[LENGTH_CALCULATOR];
}
get length() {
return this[LENGTH];
}
get itemCount() {
return this[LRU_LIST].length;
}
rforEach(fn, thisp) {
thisp = thisp || this;
for (let walker = this[LRU_LIST].tail; walker !== null; ) {
const prev = walker.prev;
forEachStep(this, fn, walker, thisp);
walker = prev;
}
}
forEach(fn, thisp) {
thisp = thisp || this;
for (let walker = this[LRU_LIST].head; walker !== null; ) {
const next2 = walker.next;
forEachStep(this, fn, walker, thisp);
walker = next2;
}
}
keys() {
return this[LRU_LIST].toArray().map((k2) => k2.key);
}
values() {
return this[LRU_LIST].toArray().map((k2) => k2.value);
}
reset() {
if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
}
this[CACHE] = /* @__PURE__ */ new Map();
this[LRU_LIST] = new Yallist();
this[LENGTH] = 0;
}
dump() {
return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
k: hit.key,
v: hit.value,
e: hit.now + (hit.maxAge || 0)
}).toArray().filter((h2) => h2);
}
dumpLru() {
return this[LRU_LIST];
}
set(key, value, maxAge) {
maxAge = maxAge || this[MAX_AGE];
if (maxAge && typeof maxAge !== "number")
throw new TypeError("maxAge must be a number");
const now = maxAge ? Date.now() : 0;
const len = this[LENGTH_CALCULATOR](value, key);
if (this[CACHE].has(key)) {
if (len > this[MAX]) {
del(this, this[CACHE].get(key));
return false;
}
const node = this[CACHE].get(key);
const item = node.value;
if (this[DISPOSE]) {
if (!this[NO_DISPOSE_ON_SET])
this[DISPOSE](key, item.value);
}
item.now = now;
item.maxAge = maxAge;
item.value = value;
this[LENGTH] += len - item.length;
item.length = len;
this.get(key);
trim(this);
return true;
}
const hit = new Entry(key, value, len, now, maxAge);
if (hit.length > this[MAX]) {
if (this[DISPOSE])
this[DISPOSE](key, value);
return false;
}
this[LENGTH] += hit.length;
this[LRU_LIST].unshift(hit);
this[CACHE].set(key, this[LRU_LIST].head);
trim(this);
return true;
}
has(key) {
if (!this[CACHE].has(key)) return false;
const hit = this[CACHE].get(key).value;
return !isStale(this, hit);
}
get(key) {
return get2(this, key, true);
}
peek(key) {
return get2(this, key, false);
}
pop() {
const node = this[LRU_LIST].tail;
if (!node)
return null;
del(this, node);
return node.value;
}
del(key) {
del(this, this[CACHE].get(key));
}
load(arr) {
this.reset();
const now = Date.now();
for (let l = arr.length - 1; l >= 0; l--) {
const hit = arr[l];
const expiresAt = hit.e || 0;
if (expiresAt === 0)
this.set(hit.k, hit.v);
else {
const maxAge = expiresAt - now;
if (maxAge > 0) {
this.set(hit.k, hit.v, maxAge);
}
}
}
}
prune() {
this[CACHE].forEach((value, key) => get2(this, key, false));
}
};
var get2 = (self2, key, doUse) => {
const node = self2[CACHE].get(key);
if (node) {
const hit = node.value;
if (isStale(self2, hit)) {
del(self2, node);
if (!self2[ALLOW_STALE])
return void 0;
} else {
if (doUse) {
if (self2[UPDATE_AGE_ON_GET])
node.value.now = Date.now();
self2[LRU_LIST].unshiftNode(node);
}
}
return hit.value;
}
};
var isStale = (self2, hit) => {
if (!hit || !hit.maxAge && !self2[MAX_AGE])
return false;
const diff2 = Date.now() - hit.now;
return hit.maxAge ? diff2 > hit.maxAge : self2[MAX_AGE] && diff2 > self2[MAX_AGE];
};
var trim = (self2) => {
if (self2[LENGTH] > self2[MAX]) {
for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) {
const prev = walker.prev;
del(self2, walker);
walker = prev;
}
}
};
var del = (self2, node) => {
if (node) {
const hit = node.value;
if (self2[DISPOSE])
self2[DISPOSE](hit.key, hit.value);
self2[LENGTH] -= hit.length;
self2[CACHE].delete(hit.key);
self2[LRU_LIST].removeNode(node);
}
};
var Entry = class {
constructor(key, value, length, now, maxAge) {
this.key = key;
this.value = value;
this.length = length;
this.now = now;
this.maxAge = maxAge || 0;
}
};
var forEachStep = (self2, fn, node, thisp) => {
let hit = node.value;
if (isStale(self2, hit)) {
del(self2, node);
if (!self2[ALLOW_STALE])
hit = void 0;
}
if (hit)
fn.call(thisp, hit.value, hit.key, self2);
};
module2.exports = LRUCache;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/index.js
var require_hosted_git_info = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/hosted-git-info/4.1.0/d75ff6f715126d6125e4a0d691d9cf9fe3463d2fcdb09dafe6a9cea50729a022/node_modules/hosted-git-info/index.js"(exports2, module2) {
"use strict";
var url7 = __require("url");
var gitHosts = require_git_host_info();
var GitHost = module2.exports = require_git_host();
var LRU = require_lru_cache();
var cache = new LRU({ max: 1e3 });
var protocolToRepresentationMap = {
"git+ssh:": "sshurl",
"git+https:": "https",
"ssh:": "sshurl",
"git:": "git"
};
function protocolToRepresentation(protocol) {
return protocolToRepresentationMap[protocol] || protocol.slice(0, -1);
}
var authProtocols = {
"git:": true,
"https:": true,
"git+https:": true,
"http:": true,
"git+http:": true
};
var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]);
module2.exports.fromUrl = function(giturl, opts3) {
if (typeof giturl !== "string") {
return;
}
const key = giturl + JSON.stringify(opts3 || {});
if (!cache.has(key)) {
cache.set(key, fromUrl(giturl, opts3));
}
return cache.get(key);
};
function fromUrl(giturl, opts3) {
if (!giturl) {
return;
}
const url8 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl);
const parsed = parseGitUrl(url8);
if (!parsed) {
return parsed;
}
const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
const gitHostName = gitHostShortcut || gitHostDomain;
if (!gitHostName) {
return;
}
const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
let auth = null;
if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) {
auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
}
let committish = null;
let user = null;
let project = null;
let defaultRepresentation = null;
try {
if (gitHostShortcut) {
let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
const firstAt = pathname.indexOf("@");
if (firstAt > -1) {
pathname = pathname.slice(firstAt + 1);
}
const lastSlash = pathname.lastIndexOf("/");
if (lastSlash > -1) {
user = decodeURIComponent(pathname.slice(0, lastSlash));
if (!user) {
user = null;
}
project = decodeURIComponent(pathname.slice(lastSlash + 1));
} else {
project = decodeURIComponent(pathname);
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (parsed.hash) {
committish = decodeURIComponent(parsed.hash.slice(1));
}
defaultRepresentation = "shortcut";
} else {
if (!gitHostInfo.protocols.includes(parsed.protocol)) {
return;
}
const segments = gitHostInfo.extract(parsed);
if (!segments) {
return;
}
user = segments.user && decodeURIComponent(segments.user);
project = decodeURIComponent(segments.project);
committish = decodeURIComponent(segments.committish);
defaultRepresentation = protocolToRepresentation(parsed.protocol);
}
} catch (err2) {
if (err2 instanceof URIError) {
return;
} else {
throw err2;
}
}
return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts3);
}
var correctProtocol = (arg) => {
const firstColon = arg.indexOf(":");
const proto2 = arg.slice(0, firstColon + 1);
if (knownProtocols.includes(proto2)) {
return arg;
}
const firstAt = arg.indexOf("@");
if (firstAt > -1) {
if (firstAt > firstColon) {
return `git+ssh://${arg}`;
} else {
return arg;
}
}
const doubleSlash = arg.indexOf("//");
if (doubleSlash === firstColon + 1) {
return arg;
}
return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1);
};
var isGitHubShorthand = (arg) => {
const firstHash = arg.indexOf("#");
const firstSlash = arg.indexOf("/");
const secondSlash = arg.indexOf("/", firstSlash + 1);
const firstColon = arg.indexOf(":");
const firstSpace = /\s/.exec(arg);
const firstAt = arg.indexOf("@");
const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
const hasSlash = firstSlash > 0;
const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
const doesNotStartWithDot = !arg.startsWith(".");
return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
};
var correctUrl2 = (giturl) => {
const firstAt = giturl.indexOf("@");
const lastHash = giturl.lastIndexOf("#");
let firstColon = giturl.indexOf(":");
let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity);
let corrected;
if (lastColon > firstAt) {
corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1);
firstColon = corrected.indexOf(":");
lastColon = corrected.lastIndexOf(":");
}
if (firstColon === -1 && giturl.indexOf("//") === -1) {
corrected = `git+ssh://${corrected}`;
}
return corrected;
};
var parseGitUrl = (giturl) => {
let result2;
try {
result2 = new url7.URL(giturl);
} catch (err2) {
}
if (result2) {
return result2;
}
const correctedUrl = correctUrl2(giturl);
try {
result2 = new url7.URL(correctedUrl);
} catch (err2) {
}
return result2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-package-arg/2.0.0/dc1d38f53cd47e7ae70e3693187c183404edd303c138bcdb72c30ac03a6614f6/node_modules/@pnpm/npm-package-arg/npa.js
var require_npa = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/npm-package-arg/2.0.0/dc1d38f53cd47e7ae70e3693187c183404edd303c138bcdb72c30ac03a6614f6/node_modules/@pnpm/npm-package-arg/npa.js"(exports2, module2) {
"use strict";
module2.exports = npa14;
module2.exports.resolve = resolve4;
module2.exports.Result = Result;
var HostedGit4;
var semver60;
var path236;
var validatePackageName2;
var os17;
var isWindows15 = process.platform === "win32" || global.FAKE_WINDOWS;
var hasSlashes = isWindows15 ? /\\|[/]/ : /[/]/;
var isURL = /^(?:git[+])?[a-z]+:/i;
var isFilename2 = /[.](?:tgz|tar.gz|tar)$/i;
function npa14(arg, where) {
let name;
let spec;
if (typeof arg === "object") {
if (arg instanceof Result && (!where || where === arg.where)) {
return arg;
} else if (arg.name && arg.rawSpec) {
return npa14.resolve(arg.name, arg.rawSpec, where || arg.where);
} else {
return npa14(arg.raw, where || arg.where);
}
}
const nameEndsAt = arg[0] === "@" ? arg.slice(1).indexOf("@") + 1 : arg.indexOf("@");
const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg;
if (isURL.test(arg)) {
spec = arg;
} else if (namePart[0] !== "@" && (hasSlashes.test(namePart) || isFilename2.test(namePart))) {
spec = arg;
} else if (nameEndsAt > 0) {
name = namePart;
spec = arg.slice(nameEndsAt + 1);
} else {
if (!validatePackageName2) validatePackageName2 = require_lib17();
const valid6 = validatePackageName2(arg);
if (valid6.validForOldPackages) {
name = arg;
} else {
spec = arg;
}
}
return resolve4(name, spec, where, arg);
}
var isFilespec3 = isWindows15 ? /^(?:[.]|~[/]|[/\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/;
function resolve4(name, spec, where, arg) {
const res = new Result({
raw: arg,
name,
rawSpec: spec,
fromArgument: arg != null
});
if (name) res.setName(name);
if (spec && (isFilespec3.test(spec) || /^file:/i.test(spec))) {
return fromFile(res, where);
}
if (spec && spec.startsWith("npm:")) {
return Object.assign(npa14(spec.substr(4), where), {
alias: name,
raw: res.raw,
rawSpec: res.rawSpec
});
}
if (!HostedGit4) HostedGit4 = require_hosted_git_info();
const hosted = HostedGit4.fromUrl(spec, { noGitPlus: true, noCommittish: true });
if (hosted) {
return fromHostedGit2(res, hosted);
} else if (spec && isURL.test(spec)) {
return fromURL(res);
} else if (spec && (hasSlashes.test(spec) || isFilename2.test(spec))) {
return fromFile(res, where);
} else {
return fromRegistry(res);
}
}
function invalidPackageName(name, valid6) {
const err2 = new Error(`Invalid package name "${name}": ${valid6.errors.join("; ")}`);
err2.code = "EINVALIDPACKAGENAME";
return err2;
}
function invalidTagName(name) {
const err2 = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`);
err2.code = "EINVALIDTAGNAME";
return err2;
}
function Result(opts3) {
this.type = opts3.type;
this.registry = opts3.registry;
this.where = opts3.where;
if (opts3.raw == null) {
this.raw = opts3.name ? opts3.name + "@" + opts3.rawSpec : opts3.rawSpec;
} else {
this.raw = opts3.raw;
}
this.name = void 0;
this.escapedName = void 0;
this.scope = void 0;
this.rawSpec = opts3.rawSpec == null ? "" : opts3.rawSpec;
this.saveSpec = opts3.saveSpec;
this.fetchSpec = opts3.fetchSpec;
if (opts3.name) this.setName(opts3.name);
this.gitRange = opts3.gitRange;
this.gitCommittish = opts3.gitCommittish;
this.hosted = opts3.hosted;
}
Result.prototype = {};
Result.prototype.setName = function(name) {
if (!validatePackageName2) validatePackageName2 = require_lib17();
const valid6 = validatePackageName2(name);
if (!valid6.validForOldPackages) {
throw invalidPackageName(name, valid6);
}
this.name = name;
this.scope = name[0] === "@" ? name.slice(0, name.indexOf("/")) : void 0;
this.escapedName = name.replace("/", "%2f");
return this;
};
Result.prototype.toString = function() {
const full = [];
if (this.name != null && this.name !== "") full.push(this.name);
const spec = this.saveSpec || this.fetchSpec || this.rawSpec;
if (spec != null && spec !== "") full.push(spec);
return full.length ? full.join("@") : this.raw;
};
Result.prototype.toJSON = function() {
const result2 = Object.assign({}, this);
delete result2.hosted;
return result2;
};
function setGitAttrs(res, committish) {
if (!committish) {
res.gitCommittish = null;
return;
}
for (const part of committish.split("::")) {
if (!part.includes(":")) {
if (res.gitRange) {
throw new Error("cannot override existing semver range with a committish");
}
if (res.gitCommittish) {
throw new Error("cannot override existing committish with a second committish");
}
res.gitCommittish = part;
continue;
}
const [name, value] = part.split(":");
if (name === "semver") {
if (res.gitCommittish) {
throw new Error("cannot override existing committish with a semver range");
}
if (res.gitRange) {
throw new Error("cannot override existing semver range with a second semver range");
}
res.gitRange = decodeURIComponent(value);
continue;
}
if (name === "path") {
if (res.gitSubdir) {
throw new Error("cannot override existing path with a second path");
}
res.gitSubdir = `/${value}`;
continue;
}
}
}
var isAbsolutePath4 = /^[/]|^[A-Za-z]:/;
function resolvePath5(where, spec) {
if (isAbsolutePath4.test(spec)) return spec;
if (!path236) path236 = __require("path");
return path236.resolve(where, spec);
}
function isAbsolute4(dir) {
if (dir[0] === "/") return true;
if (/^[A-Za-z]:/.test(dir)) return true;
return false;
}
function fromFile(res, where) {
if (!where) where = process.cwd();
res.type = isFilename2.test(res.rawSpec) ? "file" : "directory";
res.where = where;
const spec = res.rawSpec.replace(/\\/g, "/").replace(/^file:[/]*([A-Za-z]:)/, "$1").replace(/^file:(?:[/]*([~./]))?/, "$1");
if (/^~[/]/.test(spec)) {
if (!os17) os17 = __require("os");
res.fetchSpec = resolvePath5(os17.homedir(), spec.slice(2));
res.saveSpec = "file:" + spec;
} else {
res.fetchSpec = resolvePath5(where, spec);
if (isAbsolute4(spec)) {
res.saveSpec = "file:" + spec;
} else {
if (!path236) path236 = __require("path");
res.saveSpec = "file:" + path236.relative(where, res.fetchSpec);
}
}
return res;
}
function fromHostedGit2(res, hosted) {
res.type = "git";
res.hosted = hosted;
res.saveSpec = hosted.toString({ noGitPlus: false, noCommittish: false });
res.fetchSpec = hosted.getDefaultRepresentation() === "shortcut" ? null : hosted.toString();
setGitAttrs(res, hosted.committish);
return res;
}
function unsupportedURLType(protocol, spec) {
const err2 = new Error(`Unsupported URL Type "${protocol}": ${spec}`);
err2.code = "EUNSUPPORTEDPROTOCOL";
return err2;
}
function fromURL(res) {
let rawSpec = res.rawSpec;
res.saveSpec = rawSpec;
if (rawSpec.startsWith("git+ssh:")) {
const matched = rawSpec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i);
if (matched && !matched[1].match(/:[0-9]+\/?.*$/i)) {
res.type = "git";
setGitAttrs(res, matched[2]);
res.fetchSpec = matched[1];
return res;
}
} else if (rawSpec.startsWith("git+file://")) {
rawSpec = rawSpec.replace(/\\/g, "/");
}
const parsedUrl = new URL(rawSpec);
switch (parsedUrl.protocol) {
case "git:":
case "git+http:":
case "git+https:":
case "git+rsync:":
case "git+ftp:":
case "git+file:":
case "git+ssh:":
res.type = "git";
setGitAttrs(res, parsedUrl.hash.slice(1));
if (parsedUrl.protocol === "git+file:" && /^git\+file:\/\/[a-z]:/i.test(rawSpec)) {
res.fetchSpec = `git+file://${parsedUrl.host.toLowerCase()}:${parsedUrl.pathname}`;
} else {
parsedUrl.hash = "";
res.fetchSpec = parsedUrl.toString();
}
if (res.fetchSpec.startsWith("git+")) {
res.fetchSpec = res.fetchSpec.slice(4);
}
break;
case "http:":
case "https:":
res.type = "remote";
res.fetchSpec = res.saveSpec;
break;
default:
throw unsupportedURLType(parsedUrl.protocol, rawSpec);
}
return res;
}
function fromRegistry(res) {
res.registry = true;
const spec = res.rawSpec === "" ? "latest" : res.rawSpec;
res.saveSpec = null;
res.fetchSpec = spec;
if (!semver60) semver60 = require_semver2();
const version2 = semver60.valid(spec, true);
const range = semver60.validRange(spec, true);
if (version2) {
res.type = "version";
} else if (range) {
res.type = "range";
} else {
if (encodeURIComponent(spec) !== spec) {
throw invalidTagName(spec);
}
res.type = "tag";
}
return res;
}
}
});
// ../config/pick-registry-for-package/lib/index.js
function pickRegistryForPackage(registries, packageName, bareSpecifier) {
const scope = getScope(packageName, bareSpecifier);
return (scope && registries[scope]) ?? registries.default;
}
function getScope(pkgName, bareSpecifier) {
if (bareSpecifier?.startsWith("npm:")) {
const target2 = bareSpecifier.slice(4);
if (target2[0] === "@") {
return target2.substring(0, target2.indexOf("/"));
}
return null;
}
if (pkgName[0] === "@") {
return pkgName.substring(0, pkgName.indexOf("/"));
}
return null;
}
var init_lib28 = __esm({
"../config/pick-registry-for-package/lib/index.js"() {
"use strict";
}
});
// ../resolving/resolver-base/lib/index.js
function isGitHostedTarballUrl(url7) {
if (typeof url7 !== "string")
return false;
let parsedUrl;
try {
parsedUrl = new URL(url7);
} catch {
return false;
}
if (parsedUrl.protocol !== "https:")
return false;
switch (parsedUrl.hostname.toLowerCase()) {
case "codeload.github.com":
return isGitHubCodeloadArchive(parsedUrl);
case "bitbucket.org":
return isBitbucketArchive(parsedUrl);
case "gitlab.com":
return isGitLabArchive(parsedUrl);
default:
return false;
}
}
function isGitHubCodeloadArchive(url7) {
const segments = getPathSegments(url7);
return segments.length === 4 && segments[2] === "tar.gz" && GIT_COMMIT_SHA.test(segments[3]);
}
function isBitbucketArchive(url7) {
const segments = getPathSegments(url7);
if (segments.length !== 4 || segments[2] !== "get" || !segments[3].endsWith(".tar.gz"))
return false;
return GIT_COMMIT_SHA.test(segments[3].slice(0, -".tar.gz".length));
}
function isGitLabArchive(url7) {
const segments = getPathSegments(url7);
if (segments.length === 6 && segments[0] === "api" && segments[1] === "v4" && segments[2] === "projects" && segments[4] === "repository" && segments[5] === "archive.tar.gz") {
return GIT_COMMIT_SHA.test(url7.searchParams.get("ref") ?? "");
}
const archiveMarkerIndex = segments.findIndex((segment, index2) => segment === "-" && segments[index2 + 1] === "archive");
if (archiveMarkerIndex < 2)
return false;
const ref = segments[archiveMarkerIndex + 2];
const archiveName = segments[archiveMarkerIndex + 3];
return segments.length === archiveMarkerIndex + 4 && archiveName?.endsWith(".tar.gz") === true && GIT_COMMIT_SHA.test(ref);
}
function getPathSegments(url7) {
return url7.pathname.split("/").filter(Boolean);
}
function classifyResolution(resolution) {
if (resolution.type == null) {
const tarball = typeof resolution.tarball === "string" ? resolution.tarball : void 0;
if (tarball?.startsWith("file:"))
return "localTarball";
if (tarball != null && isGitHostedTarballUrl(tarball)) {
return "gitHostedTarball";
}
return "remoteTarball";
}
switch (resolution.type) {
case "directory":
case "git":
case "binary":
return resolution.type;
default:
return "custom";
}
}
function resolvePlatformSelector(supportedArchitectures, host) {
return {
os: pickFirstNonCurrent(supportedArchitectures?.os) ?? host.platform,
cpu: pickFirstNonCurrent(supportedArchitectures?.cpu) ?? host.arch,
libc: pickFirstNonCurrent(supportedArchitectures?.libc) ?? host.libc
};
}
function selectPlatformVariant(variants, selector) {
return variants.find((variant) => variant.targets.some((target2) => target2.os === selector.os && target2.cpu === selector.cpu && libcMatches(target2.libc, selector.libc)));
}
function libcMatches(variantLibc, requestedLibc) {
if (requestedLibc == null || requestedLibc === "glibc") {
return variantLibc == null;
}
return variantLibc === requestedLibc;
}
function pickFirstNonCurrent(requirements) {
if (requirements?.length && requirements[0] !== "current") {
return requirements[0];
}
return void 0;
}
var GIT_COMMIT_SHA, DIRECT_DEP_SELECTOR_WEIGHT, EXISTING_VERSION_SELECTOR_WEIGHT;
var init_lib29 = __esm({
"../resolving/resolver-base/lib/index.js"() {
"use strict";
GIT_COMMIT_SHA = /^[0-9a-f]{40}$/i;
DIRECT_DEP_SELECTOR_WEIGHT = 1e3;
EXISTING_VERSION_SELECTOR_WEIGHT = 1e6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/unpack.js
function checkedRead(options) {
try {
if (!currentUnpackr.trusted && !sequentialMode) {
let sharedLength = currentStructures.sharedLength || 0;
if (sharedLength < currentStructures.length)
currentStructures.length = sharedLength;
}
let result2;
if (currentUnpackr._readStruct && src[position] < 64 && src[position] >= 32) {
result2 = currentUnpackr._readStruct(src, position, srcEnd);
src = null;
if (!(options && options.lazy) && result2)
result2 = result2.toJSON();
position = srcEnd;
} else
result2 = read();
if (bundledStrings) {
position = bundledStrings.postBundlePosition;
bundledStrings = null;
}
if (sequentialMode)
currentStructures.restoreStructures = null;
if (position == srcEnd) {
if (currentStructures && currentStructures.restoreStructures)
restoreStructures();
currentStructures = null;
src = null;
if (referenceMap)
referenceMap = null;
} else if (position > srcEnd) {
throw new Error("Unexpected end of MessagePack data");
} else if (!sequentialMode) {
let jsonView;
try {
jsonView = JSON.stringify(result2, (_, value) => typeof value === "bigint" ? `${value}n` : value).slice(0, 100);
} catch (error) {
jsonView = "(JSON view not available " + error + ")";
}
throw new Error("Data read, but end of buffer not reached " + jsonView);
}
return result2;
} catch (error) {
if (currentStructures && currentStructures.restoreStructures)
restoreStructures();
clearSource();
if (error instanceof RangeError || error.message.startsWith("Unexpected end of buffer") || position > srcEnd) {
error.incomplete = true;
}
throw error;
}
}
function restoreStructures() {
for (let id in currentStructures.restoreStructures) {
currentStructures[id] = currentStructures.restoreStructures[id];
}
currentStructures.restoreStructures = null;
}
function read() {
let token = src[position++];
if (token < 160) {
if (token < 128) {
if (token < 64)
return token;
else {
let structure = currentStructures[token & 63] || currentUnpackr.getStructures && loadStructures()[token & 63];
if (structure) {
if (!structure.read) {
structure.read = createStructureReader(structure, token & 63);
}
return structure.read();
} else
return token;
}
} else if (token < 144) {
token -= 128;
if (currentUnpackr.mapsAsObjects) {
let object = {};
for (let i4 = 0; i4 < token; i4++) {
let key = readKey();
if (key === "__proto__")
key = "__proto_";
object[key] = read();
}
return object;
} else {
let map26 = /* @__PURE__ */ new Map();
for (let i4 = 0; i4 < token; i4++) {
map26.set(read(), read());
}
return map26;
}
} else {
token -= 144;
let array = new Array(token);
for (let i4 = 0; i4 < token; i4++) {
array[i4] = read();
}
if (currentUnpackr.freezeData)
return Object.freeze(array);
return array;
}
} else if (token < 192) {
let length = token - 160;
if (srcStringEnd >= position) {
return srcString.slice(position - srcStringStart, (position += length) - srcStringStart);
}
if (srcStringEnd == 0 && srcEnd < 140) {
let string = length < 16 ? shortStringInJS(length) : longStringInJS(length);
if (string != null)
return string;
}
return readFixedString(length);
} else {
let value;
switch (token) {
case 192:
return null;
case 193:
if (bundledStrings) {
value = read();
if (value > 0)
return bundledStrings[1].slice(bundledStrings.position1, bundledStrings.position1 += value);
else
return bundledStrings[0].slice(bundledStrings.position0, bundledStrings.position0 -= value);
}
return C1;
// "never-used", return special object to denote that
case 194:
return false;
case 195:
return true;
case 196:
value = src[position++];
if (value === void 0)
throw new Error("Unexpected end of buffer");
return readBin(value);
case 197:
value = dataView.getUint16(position);
position += 2;
return readBin(value);
case 198:
value = dataView.getUint32(position);
position += 4;
return readBin(value);
case 199:
return readExt(src[position++]);
case 200:
value = dataView.getUint16(position);
position += 2;
return readExt(value);
case 201:
value = dataView.getUint32(position);
position += 4;
return readExt(value);
case 202:
value = dataView.getFloat32(position);
if (currentUnpackr.useFloat32 > 2) {
let multiplier = mult10[(src[position] & 127) << 1 | src[position + 1] >> 7];
position += 4;
return (multiplier * value + (value > 0 ? 0.5 : -0.5) >> 0) / multiplier;
}
position += 4;
return value;
case 203:
value = dataView.getFloat64(position);
position += 8;
return value;
// uint handlers
case 204:
return src[position++];
case 205:
value = dataView.getUint16(position);
position += 2;
return value;
case 206:
value = dataView.getUint32(position);
position += 4;
return value;
case 207:
if (currentUnpackr.int64AsType === "number") {
value = dataView.getUint32(position) * 4294967296;
value += dataView.getUint32(position + 4);
} else if (currentUnpackr.int64AsType === "string") {
value = dataView.getBigUint64(position).toString();
} else if (currentUnpackr.int64AsType === "auto") {
value = dataView.getBigUint64(position);
if (value <= BigInt(2) << BigInt(52)) value = Number(value);
} else
value = dataView.getBigUint64(position);
position += 8;
return value;
// int handlers
case 208:
return dataView.getInt8(position++);
case 209:
value = dataView.getInt16(position);
position += 2;
return value;
case 210:
value = dataView.getInt32(position);
position += 4;
return value;
case 211:
if (currentUnpackr.int64AsType === "number") {
value = dataView.getInt32(position) * 4294967296;
value += dataView.getUint32(position + 4);
} else if (currentUnpackr.int64AsType === "string") {
value = dataView.getBigInt64(position).toString();
} else if (currentUnpackr.int64AsType === "auto") {
value = dataView.getBigInt64(position);
if (value >= BigInt(-2) << BigInt(52) && value <= BigInt(2) << BigInt(52)) value = Number(value);
} else
value = dataView.getBigInt64(position);
position += 8;
return value;
case 212:
value = src[position++];
if (value == 114) {
return recordDefinition(src[position++] & 63);
} else {
let extension = currentExtensions[value];
if (extension) {
if (extension.read) {
position++;
return extension.read(read());
} else if (extension.noBuffer) {
position++;
return extension();
} else
return extension(src.subarray(position, ++position));
} else
throw new Error("Unknown extension " + value);
}
case 213:
value = src[position];
if (value == 114) {
position++;
return recordDefinition(src[position++] & 63, src[position++]);
} else
return readExt(2);
case 214:
return readExt(4);
case 215:
return readExt(8);
case 216:
return readExt(16);
case 217:
value = src[position++];
if (srcStringEnd >= position) {
return srcString.slice(position - srcStringStart, (position += value) - srcStringStart);
}
return readString8(value);
case 218:
value = dataView.getUint16(position);
position += 2;
if (srcStringEnd >= position) {
return srcString.slice(position - srcStringStart, (position += value) - srcStringStart);
}
return readString16(value);
case 219:
value = dataView.getUint32(position);
position += 4;
if (srcStringEnd >= position) {
return srcString.slice(position - srcStringStart, (position += value) - srcStringStart);
}
return readString32(value);
case 220:
value = dataView.getUint16(position);
position += 2;
return readArray(value);
case 221:
value = dataView.getUint32(position);
position += 4;
return readArray(value);
case 222:
value = dataView.getUint16(position);
position += 2;
return readMap(value);
case 223:
value = dataView.getUint32(position);
position += 4;
return readMap(value);
default:
if (token >= 224)
return token - 256;
if (token === void 0) {
let error = new Error("Unexpected end of MessagePack data");
error.incomplete = true;
throw error;
}
throw new Error("Unknown MessagePack token " + token);
}
}
}
function createStructureReader(structure, firstId) {
function readObject() {
if (readObject.count++ > inlineObjectReadThreshold) {
let optimizedReadObject;
try {
optimizedReadObject = structure.read = new Function("r", "return function(){return " + (currentUnpackr.freezeData ? "Object.freeze" : "") + "({" + structure.map((key) => key === "__proto__" ? "__proto_:r()" : validName.test(key) ? key + ":r()" : "[" + JSON.stringify(key) + "]:r()").join(",") + "})}")(read);
} catch (error) {
inlineObjectReadThreshold = Infinity;
return readObject();
}
structure.read0 = optimizedReadObject;
if (structure.highByte === 0)
structure.read = createSecondByteReader(firstId, structure.read);
return optimizedReadObject();
}
let object = {};
for (let i4 = 0, l = structure.length; i4 < l; i4++) {
let key = structure[i4];
if (key === "__proto__")
key = "__proto_";
object[key] = read();
}
if (currentUnpackr.freezeData)
return Object.freeze(object);
return object;
}
readObject.count = 0;
structure.read0 = readObject;
if (structure.highByte === 0) {
return createSecondByteReader(firstId, readObject);
}
return readObject;
}
function loadStructures() {
let loadedStructures = saveState(() => {
src = null;
return currentUnpackr.getStructures();
});
return currentStructures = currentUnpackr._mergeStructures(loadedStructures, currentStructures);
}
function setExtractor(extractStrings) {
isNativeAccelerationEnabled = true;
readFixedString = readString(1);
readString8 = readString(2);
readString16 = readString(3);
readString32 = readString(5);
function readString(headerLength) {
return function readString2(length) {
let string = strings[stringPosition++];
if (string == null) {
if (bundledStrings)
return readStringJS(length);
let byteOffset = src.byteOffset;
let extraction = extractStrings(position - headerLength + byteOffset, srcEnd + byteOffset, src.buffer);
if (typeof extraction == "string") {
string = extraction;
strings = EMPTY_ARRAY;
} else {
strings = extraction;
stringPosition = 1;
srcStringEnd = 1;
string = strings[0];
if (string === void 0)
throw new Error("Unexpected end of buffer");
}
}
let srcStringLength = string.length;
if (srcStringLength <= length) {
position += length;
return string;
}
srcString = string;
srcStringStart = position;
srcStringEnd = position + srcStringLength;
position += length;
return string.slice(0, length);
};
}
}
function readStringJS(length) {
let result2;
if (length < 16) {
if (result2 = shortStringInJS(length))
return result2;
}
if (length > 64 && decoder)
return decoder.decode(src.subarray(position, position += length));
const end = position + length;
const units = [];
result2 = "";
while (position < end) {
const byte1 = src[position++];
if ((byte1 & 128) === 0) {
units.push(byte1);
} else if ((byte1 & 224) === 192) {
const byte2 = src[position++] & 63;
const codePoint = (byte1 & 31) << 6 | byte2;
if (codePoint < 128) {
units.push(65533);
} else {
units.push(codePoint);
}
} else if ((byte1 & 240) === 224) {
const byte2 = src[position++] & 63;
const byte3 = src[position++] & 63;
const codePoint = (byte1 & 31) << 12 | byte2 << 6 | byte3;
if (codePoint < 2048 || codePoint >= 55296 && codePoint <= 57343) {
units.push(65533);
} else {
units.push(codePoint);
}
} else if ((byte1 & 248) === 240) {
const byte2 = src[position++] & 63;
const byte3 = src[position++] & 63;
const byte4 = src[position++] & 63;
let unit = (byte1 & 7) << 18 | byte2 << 12 | byte3 << 6 | byte4;
if (unit < 65536 || unit > 1114111) {
units.push(65533);
} else if (unit > 65535) {
unit -= 65536;
units.push(unit >>> 10 & 1023 | 55296);
unit = 56320 | unit & 1023;
units.push(unit);
} else {
units.push(unit);
}
} else {
units.push(65533);
}
if (units.length >= 4096) {
result2 += fromCharCode.apply(String, units);
units.length = 0;
}
}
if (units.length > 0) {
result2 += fromCharCode.apply(String, units);
}
return result2;
}
function readArray(length) {
let array = new Array(length);
for (let i4 = 0; i4 < length; i4++) {
array[i4] = read();
}
if (currentUnpackr.freezeData)
return Object.freeze(array);
return array;
}
function readMap(length) {
if (currentUnpackr.mapsAsObjects) {
let object = {};
for (let i4 = 0; i4 < length; i4++) {
let key = readKey();
if (key === "__proto__")
key = "__proto_";
object[key] = read();
}
return object;
} else {
let map26 = /* @__PURE__ */ new Map();
for (let i4 = 0; i4 < length; i4++) {
map26.set(read(), read());
}
return map26;
}
}
function longStringInJS(length) {
let start = position;
let bytes = new Array(length);
for (let i4 = 0; i4 < length; i4++) {
const byte = src[position++];
if ((byte & 128) > 0) {
position = start;
return;
}
bytes[i4] = byte;
}
return fromCharCode.apply(String, bytes);
}
function shortStringInJS(length) {
if (length < 4) {
if (length < 2) {
if (length === 0)
return "";
else {
let a2 = src[position++];
if ((a2 & 128) > 1) {
position -= 1;
return;
}
return fromCharCode(a2);
}
} else {
let a2 = src[position++];
let b = src[position++];
if ((a2 & 128) > 0 || (b & 128) > 0) {
position -= 2;
return;
}
if (length < 3)
return fromCharCode(a2, b);
let c3 = src[position++];
if ((c3 & 128) > 0) {
position -= 3;
return;
}
return fromCharCode(a2, b, c3);
}
} else {
let a2 = src[position++];
let b = src[position++];
let c3 = src[position++];
let d3 = src[position++];
if ((a2 & 128) > 0 || (b & 128) > 0 || (c3 & 128) > 0 || (d3 & 128) > 0) {
position -= 4;
return;
}
if (length < 6) {
if (length === 4)
return fromCharCode(a2, b, c3, d3);
else {
let e = src[position++];
if ((e & 128) > 0) {
position -= 5;
return;
}
return fromCharCode(a2, b, c3, d3, e);
}
} else if (length < 8) {
let e = src[position++];
let f = src[position++];
if ((e & 128) > 0 || (f & 128) > 0) {
position -= 6;
return;
}
if (length < 7)
return fromCharCode(a2, b, c3, d3, e, f);
let g = src[position++];
if ((g & 128) > 0) {
position -= 7;
return;
}
return fromCharCode(a2, b, c3, d3, e, f, g);
} else {
let e = src[position++];
let f = src[position++];
let g = src[position++];
let h2 = src[position++];
if ((e & 128) > 0 || (f & 128) > 0 || (g & 128) > 0 || (h2 & 128) > 0) {
position -= 8;
return;
}
if (length < 10) {
if (length === 8)
return fromCharCode(a2, b, c3, d3, e, f, g, h2);
else {
let i4 = src[position++];
if ((i4 & 128) > 0) {
position -= 9;
return;
}
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4);
}
} else if (length < 12) {
let i4 = src[position++];
let j2 = src[position++];
if ((i4 & 128) > 0 || (j2 & 128) > 0) {
position -= 10;
return;
}
if (length < 11)
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2);
let k2 = src[position++];
if ((k2 & 128) > 0) {
position -= 11;
return;
}
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2, k2);
} else {
let i4 = src[position++];
let j2 = src[position++];
let k2 = src[position++];
let l = src[position++];
if ((i4 & 128) > 0 || (j2 & 128) > 0 || (k2 & 128) > 0 || (l & 128) > 0) {
position -= 12;
return;
}
if (length < 14) {
if (length === 12)
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2, k2, l);
else {
let m = src[position++];
if ((m & 128) > 0) {
position -= 13;
return;
}
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2, k2, l, m);
}
} else {
let m = src[position++];
let n2 = src[position++];
if ((m & 128) > 0 || (n2 & 128) > 0) {
position -= 14;
return;
}
if (length < 15)
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2, k2, l, m, n2);
let o2 = src[position++];
if ((o2 & 128) > 0) {
position -= 15;
return;
}
return fromCharCode(a2, b, c3, d3, e, f, g, h2, i4, j2, k2, l, m, n2, o2);
}
}
}
}
}
function readOnlyJSString() {
let token = src[position++];
let length;
if (token < 192) {
length = token - 160;
} else {
switch (token) {
case 217:
length = src[position++];
break;
case 218:
length = dataView.getUint16(position);
position += 2;
break;
case 219:
length = dataView.getUint32(position);
position += 4;
break;
default:
throw new Error("Expected string");
}
}
return readStringJS(length);
}
function readBin(length) {
return currentUnpackr.copyBuffers ? (
// specifically use the copying slice (not the node one)
Uint8Array.prototype.slice.call(src, position, position += length)
) : src.subarray(position, position += length);
}
function readExt(length) {
let type4 = src[position++];
if (currentExtensions[type4]) {
let end;
return currentExtensions[type4](src.subarray(position, end = position += length), (readPosition) => {
position = readPosition;
try {
return read();
} finally {
position = end;
}
});
} else
throw new Error("Unknown extension type " + type4);
}
function readKey() {
let length = src[position++];
if (length >= 160 && length < 192) {
length = length - 160;
if (srcStringEnd >= position)
return srcString.slice(position - srcStringStart, (position += length) - srcStringStart);
else if (!(srcStringEnd == 0 && srcEnd < 180))
return readFixedString(length);
} else {
position--;
return asSafeString(read());
}
let key = (length << 5 ^ (length > 1 ? dataView.getUint16(position) : length > 0 ? src[position] : 0)) & 4095;
let entry = keyCache[key];
let checkPosition = position;
let end = position + length - 3;
let chunk;
let i4 = 0;
if (entry && entry.bytes == length) {
while (checkPosition < end) {
chunk = dataView.getUint32(checkPosition);
if (chunk != entry[i4++]) {
checkPosition = 1879048192;
break;
}
checkPosition += 4;
}
end += 3;
while (checkPosition < end) {
chunk = src[checkPosition++];
if (chunk != entry[i4++]) {
checkPosition = 1879048192;
break;
}
}
if (checkPosition === end) {
position = checkPosition;
return entry.string;
}
end -= 3;
checkPosition = position;
}
entry = [];
keyCache[key] = entry;
entry.bytes = length;
while (checkPosition < end) {
chunk = dataView.getUint32(checkPosition);
entry.push(chunk);
checkPosition += 4;
}
end += 3;
while (checkPosition < end) {
chunk = src[checkPosition++];
entry.push(chunk);
}
let string = length < 16 ? shortStringInJS(length) : longStringInJS(length);
if (string != null)
return entry.string = string;
return entry.string = readFixedString(length);
}
function asSafeString(property) {
if (typeof property === "string") return property;
if (typeof property === "number" || typeof property === "boolean" || typeof property === "bigint") return property.toString();
if (property == null) return property + "";
if (currentUnpackr.allowArraysInMapKeys && Array.isArray(property) && property.flat().every((item) => ["string", "number", "boolean", "bigint"].includes(typeof item))) {
return property.flat().toString();
}
throw new Error(`Invalid property type for record: ${typeof property}`);
}
function saveState(callback2) {
if (currentUnpackr && currentUnpackr._onSaveState)
currentUnpackr._onSaveState();
let savedSrcEnd = srcEnd;
let savedPosition = position;
let savedStringPosition = stringPosition;
let savedSrcStringStart = srcStringStart;
let savedSrcStringEnd = srcStringEnd;
let savedSrcString = srcString;
let savedStrings = strings;
let savedReferenceMap = referenceMap;
let savedBundledStrings = bundledStrings;
let savedSrc = new Uint8Array(src.slice(0, srcEnd));
let savedStructures = currentStructures;
let savedStructuresContents = currentStructures.slice(0, currentStructures.length);
let savedPackr = currentUnpackr;
let savedSequentialMode = sequentialMode;
let value = callback2();
srcEnd = savedSrcEnd;
position = savedPosition;
stringPosition = savedStringPosition;
srcStringStart = savedSrcStringStart;
srcStringEnd = savedSrcStringEnd;
srcString = savedSrcString;
strings = savedStrings;
referenceMap = savedReferenceMap;
bundledStrings = savedBundledStrings;
src = savedSrc;
sequentialMode = savedSequentialMode;
currentStructures = savedStructures;
currentStructures.splice(0, currentStructures.length, ...savedStructuresContents);
currentUnpackr = savedPackr;
dataView = new DataView(src.buffer, src.byteOffset, src.byteLength);
return value;
}
function clearSource() {
src = null;
referenceMap = null;
currentStructures = null;
}
var decoder, src, srcEnd, position, EMPTY_ARRAY, strings, stringPosition, currentUnpackr, currentStructures, srcString, srcStringStart, srcStringEnd, bundledStrings, referenceMap, currentExtensions, dataView, defaultOptions2, C1Type, C1, sequentialMode, inlineObjectReadThreshold, Unpackr, validName, createSecondByteReader, readFixedString, readString8, readString16, readString32, isNativeAccelerationEnabled, fromCharCode, keyCache, recordDefinition, errors, typedArrays, glbl, TEMP_BUNDLE, mult10, defaultUnpackr, unpack, unpackMultiple, decode, FLOAT32_OPTIONS, f32Array, u8Array;
var init_unpack = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/unpack.js"() {
try {
decoder = new TextDecoder();
} catch (error) {
}
position = 0;
EMPTY_ARRAY = [];
strings = EMPTY_ARRAY;
stringPosition = 0;
currentUnpackr = {};
srcStringStart = 0;
srcStringEnd = 0;
currentExtensions = [];
defaultOptions2 = {
useRecords: false,
mapsAsObjects: true
};
C1Type = class {
};
C1 = new C1Type();
C1.name = "MessagePack 0xC1";
sequentialMode = false;
inlineObjectReadThreshold = 2;
Unpackr = class _Unpackr {
constructor(options) {
if (options) {
if (options.useRecords === false && options.mapsAsObjects === void 0)
options.mapsAsObjects = true;
if (options.sequential && options.trusted !== false) {
options.trusted = true;
if (!options.structures && options.useRecords != false) {
options.structures = [];
if (!options.maxSharedStructures)
options.maxSharedStructures = 0;
}
}
if (options.structures)
options.structures.sharedLength = options.structures.length;
else if (options.getStructures) {
(options.structures = []).uninitialized = true;
options.structures.sharedLength = 0;
}
if (options.int64AsNumber) {
options.int64AsType = "number";
}
}
Object.assign(this, options);
}
unpack(source, options) {
if (src) {
return saveState(() => {
clearSource();
return this ? this.unpack(source, options) : _Unpackr.prototype.unpack.call(defaultOptions2, source, options);
});
}
if (!source.buffer && source.constructor === ArrayBuffer)
source = typeof Buffer !== "undefined" ? Buffer.from(source) : new Uint8Array(source);
if (typeof options === "object") {
srcEnd = options.end || source.length;
position = options.start || 0;
} else {
position = 0;
srcEnd = options > -1 ? options : source.length;
}
stringPosition = 0;
srcStringEnd = 0;
srcString = null;
strings = EMPTY_ARRAY;
bundledStrings = null;
src = source;
try {
dataView = source.dataView || (source.dataView = new DataView(source.buffer, source.byteOffset, source.byteLength));
} catch (error) {
src = null;
if (source instanceof Uint8Array)
throw error;
throw new Error("Source must be a Uint8Array or Buffer but was a " + (source && typeof source == "object" ? source.constructor.name : typeof source));
}
if (this instanceof _Unpackr) {
currentUnpackr = this;
if (this.structures) {
currentStructures = this.structures;
return checkedRead(options);
} else if (!currentStructures || currentStructures.length > 0) {
currentStructures = [];
}
} else {
currentUnpackr = defaultOptions2;
if (!currentStructures || currentStructures.length > 0)
currentStructures = [];
}
return checkedRead(options);
}
unpackMultiple(source, forEach) {
let values, lastPosition = 0;
try {
sequentialMode = true;
let size = source.length;
let value = this ? this.unpack(source, size) : defaultUnpackr.unpack(source, size);
if (forEach) {
if (forEach(value, lastPosition, position) === false) return;
while (position < size) {
lastPosition = position;
if (forEach(checkedRead(), lastPosition, position) === false) {
return;
}
}
} else {
values = [value];
while (position < size) {
lastPosition = position;
values.push(checkedRead());
}
return values;
}
} catch (error) {
error.lastPosition = lastPosition;
error.values = values;
throw error;
} finally {
sequentialMode = false;
clearSource();
}
}
_mergeStructures(loadedStructures, existingStructures) {
if (this._onLoadedStructures)
loadedStructures = this._onLoadedStructures(loadedStructures);
loadedStructures = loadedStructures || [];
if (Object.isFrozen(loadedStructures))
loadedStructures = loadedStructures.map((structure) => structure.slice(0));
for (let i4 = 0, l = loadedStructures.length; i4 < l; i4++) {
let structure = loadedStructures[i4];
if (structure) {
structure.isShared = true;
if (i4 >= 32)
structure.highByte = i4 - 32 >> 5;
}
}
loadedStructures.sharedLength = loadedStructures.length;
for (let id in existingStructures || []) {
if (id >= 0) {
let structure = loadedStructures[id];
let existing = existingStructures[id];
if (existing) {
if (structure)
(loadedStructures.restoreStructures || (loadedStructures.restoreStructures = []))[id] = structure;
loadedStructures[id] = existing;
}
}
}
return this.structures = loadedStructures;
}
decode(source, options) {
return this.unpack(source, options);
}
};
validName = /^[a-zA-Z_$][a-zA-Z\d_$]*$/;
createSecondByteReader = (firstId, read0) => {
return function() {
let highByte = src[position++];
if (highByte === 0)
return read0();
let id = firstId < 32 ? -(firstId + (highByte << 5)) : firstId + (highByte << 5);
let structure = currentStructures[id] || loadStructures()[id];
if (!structure) {
throw new Error("Record id is not defined for " + id);
}
if (!structure.read)
structure.read = createStructureReader(structure, firstId);
return structure.read();
};
};
readFixedString = readStringJS;
readString8 = readStringJS;
readString16 = readStringJS;
readString32 = readStringJS;
isNativeAccelerationEnabled = false;
fromCharCode = String.fromCharCode;
keyCache = new Array(4096);
recordDefinition = (id, highByte) => {
let structure = read().map(asSafeString);
let firstByte = id;
if (highByte !== void 0) {
id = id < 32 ? -((highByte << 5) + id) : (highByte << 5) + id;
structure.highByte = highByte;
}
let existingStructure = currentStructures[id];
if (existingStructure && (existingStructure.isShared || sequentialMode)) {
(currentStructures.restoreStructures || (currentStructures.restoreStructures = []))[id] = existingStructure;
}
currentStructures[id] = structure;
structure.read = createStructureReader(structure, firstByte);
return (structure.read0 || structure.read)();
};
currentExtensions[0] = () => {
};
currentExtensions[0].noBuffer = true;
currentExtensions[66] = (data) => {
let headLength = data.byteLength % 8 || 8;
let head2 = BigInt(data[0] & 128 ? data[0] - 256 : data[0]);
for (let i4 = 1; i4 < headLength; i4++) {
head2 <<= BigInt(8);
head2 += BigInt(data[i4]);
}
if (data.byteLength !== headLength) {
let view = new DataView(data.buffer, data.byteOffset, data.byteLength);
let decode3 = (start, end) => {
let length = end - start;
if (length <= 40) {
let out = view.getBigUint64(start);
for (let i4 = start + 8; i4 < end; i4 += 8) {
out <<= BigInt(64);
out |= view.getBigUint64(i4);
}
return out;
}
let middle = start + (length >> 4 << 3);
let left = decode3(start, middle);
let right = decode3(middle, end);
return left << BigInt((end - middle) * 8) | right;
};
head2 = head2 << BigInt((view.byteLength - headLength) * 8) | decode3(headLength, view.byteLength);
}
return head2;
};
errors = {
Error,
EvalError,
RangeError,
ReferenceError,
SyntaxError,
TypeError,
URIError,
AggregateError: typeof AggregateError === "function" ? AggregateError : null
};
currentExtensions[101] = () => {
let data = read();
if (!errors[data[0]]) {
let error = Error(data[1], { cause: data[2] });
error.name = data[0];
return error;
}
return errors[data[0]](data[1], { cause: data[2] });
};
currentExtensions[105] = (data) => {
if (currentUnpackr.structuredClone === false) throw new Error("Structured clone extension is disabled");
let id = dataView.getUint32(position - 4);
if (!referenceMap)
referenceMap = /* @__PURE__ */ new Map();
let token = src[position];
let target2;
if (token >= 144 && token < 160 || token == 220 || token == 221)
target2 = [];
else if (token >= 128 && token < 144 || token == 222 || token == 223)
target2 = /* @__PURE__ */ new Map();
else if ((token >= 199 && token <= 201 || token >= 212 && token <= 216) && src[position + 1] === 115)
target2 = /* @__PURE__ */ new Set();
else
target2 = {};
let refEntry = { target: target2 };
referenceMap.set(id, refEntry);
let targetProperties = read();
if (!refEntry.used) {
return refEntry.target = targetProperties;
} else {
Object.assign(target2, targetProperties);
}
if (target2 instanceof Map)
for (let [k2, v] of targetProperties.entries()) target2.set(k2, v);
if (target2 instanceof Set)
for (let i4 of Array.from(targetProperties)) target2.add(i4);
return target2;
};
currentExtensions[112] = (data) => {
if (currentUnpackr.structuredClone === false) throw new Error("Structured clone extension is disabled");
let id = dataView.getUint32(position - 4);
let refEntry = referenceMap.get(id);
refEntry.used = true;
return refEntry.target;
};
currentExtensions[115] = () => new Set(read());
typedArrays = ["Int8", "Uint8", "Uint8Clamped", "Int16", "Uint16", "Int32", "Uint32", "Float32", "Float64", "BigInt64", "BigUint64"].map((type4) => type4 + "Array");
glbl = typeof globalThis === "object" ? globalThis : window;
currentExtensions[116] = (data) => {
let typeCode = data[0];
let buffer3 = Uint8Array.prototype.slice.call(data, 1).buffer;
let typedArrayName = typedArrays[typeCode];
if (!typedArrayName) {
if (typeCode === 16) return buffer3;
if (typeCode === 17) return new DataView(buffer3);
throw new Error("Could not find typed array for code " + typeCode);
}
return new glbl[typedArrayName](buffer3);
};
currentExtensions[120] = () => {
let data = read();
return new RegExp(data[0], data[1]);
};
TEMP_BUNDLE = [];
currentExtensions[98] = (data) => {
let dataSize = (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3];
let dataPosition = position;
position += dataSize - data.length;
bundledStrings = TEMP_BUNDLE;
bundledStrings = [readOnlyJSString(), readOnlyJSString()];
bundledStrings.position0 = 0;
bundledStrings.position1 = 0;
bundledStrings.postBundlePosition = position;
position = dataPosition;
return read();
};
currentExtensions[255] = (data) => {
if (data.length == 4)
return new Date((data[0] * 16777216 + (data[1] << 16) + (data[2] << 8) + data[3]) * 1e3);
else if (data.length == 8)
return new Date(
((data[0] << 22) + (data[1] << 14) + (data[2] << 6) + (data[3] >> 2)) / 1e6 + ((data[3] & 3) * 4294967296 + data[4] * 16777216 + (data[5] << 16) + (data[6] << 8) + data[7]) * 1e3
);
else if (data.length == 12)
return new Date(
((data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]) / 1e6 + ((data[4] & 128 ? -281474976710656 : 0) + data[6] * 1099511627776 + data[7] * 4294967296 + data[8] * 16777216 + (data[9] << 16) + (data[10] << 8) + data[11]) * 1e3
);
else
return /* @__PURE__ */ new Date("invalid");
};
mult10 = new Array(147);
for (let i4 = 0; i4 < 256; i4++) {
mult10[i4] = +("1e" + Math.floor(45.15 - i4 * 0.30103));
}
defaultUnpackr = new Unpackr({ useRecords: false });
unpack = defaultUnpackr.unpack;
unpackMultiple = defaultUnpackr.unpackMultiple;
decode = defaultUnpackr.unpack;
FLOAT32_OPTIONS = {
NEVER: 0,
ALWAYS: 1,
DECIMAL_ROUND: 3,
DECIMAL_FIT: 4
};
f32Array = new Float32Array(1);
u8Array = new Uint8Array(f32Array.buffer, 0, 4);
Unpackr.SUPPORTS_STRUCT_HOOKS = true;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/pack.js
function writeExtBuffer(typedArray, type4, allocateForWrite, encode3) {
let length = typedArray.byteLength;
if (length + 1 < 256) {
var { target: target2, position: position3 } = allocateForWrite(4 + length);
target2[position3++] = 199;
target2[position3++] = length + 1;
} else if (length + 1 < 65536) {
var { target: target2, position: position3 } = allocateForWrite(5 + length);
target2[position3++] = 200;
target2[position3++] = length + 1 >> 8;
target2[position3++] = length + 1 & 255;
} else {
var { target: target2, position: position3, targetView: targetView2 } = allocateForWrite(7 + length);
target2[position3++] = 201;
targetView2.setUint32(position3, length + 1);
position3 += 4;
}
target2[position3++] = 116;
target2[position3++] = type4;
if (!typedArray.buffer) typedArray = new Uint8Array(typedArray);
target2.set(new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength), position3);
}
function writeBuffer(buffer3, allocateForWrite) {
let length = buffer3.byteLength;
var target2, position3;
if (length < 256) {
var { target: target2, position: position3 } = allocateForWrite(length + 2);
target2[position3++] = 196;
target2[position3++] = length;
} else if (length < 65536) {
var { target: target2, position: position3 } = allocateForWrite(length + 3);
target2[position3++] = 197;
target2[position3++] = length >> 8;
target2[position3++] = length & 255;
} else {
var { target: target2, position: position3, targetView: targetView2 } = allocateForWrite(length + 5);
target2[position3++] = 198;
targetView2.setUint32(position3, length);
position3 += 4;
}
target2.set(buffer3, position3);
}
function writeExtensionData(result2, target2, position3, type4) {
let length = result2.length;
switch (length) {
case 1:
target2[position3++] = 212;
break;
case 2:
target2[position3++] = 213;
break;
case 4:
target2[position3++] = 214;
break;
case 8:
target2[position3++] = 215;
break;
case 16:
target2[position3++] = 216;
break;
default:
if (length < 256) {
target2[position3++] = 199;
target2[position3++] = length;
} else if (length < 65536) {
target2[position3++] = 200;
target2[position3++] = length >> 8;
target2[position3++] = length & 255;
} else {
target2[position3++] = 201;
target2[position3++] = length >> 24;
target2[position3++] = length >> 16 & 255;
target2[position3++] = length >> 8 & 255;
target2[position3++] = length & 255;
}
}
target2[position3++] = type4;
target2.set(result2, position3);
position3 += length;
return position3;
}
function insertIds(serialized, idsToInsert) {
let nextId;
let distanceToMove = idsToInsert.length * 6;
let lastEnd = serialized.length - distanceToMove;
while (nextId = idsToInsert.pop()) {
let offset = nextId.offset;
let id = nextId.id;
serialized.copyWithin(offset + distanceToMove, offset, lastEnd);
distanceToMove -= 6;
let position3 = offset + distanceToMove;
serialized[position3++] = 214;
serialized[position3++] = 105;
serialized[position3++] = id >> 24;
serialized[position3++] = id >> 16 & 255;
serialized[position3++] = id >> 8 & 255;
serialized[position3++] = id & 255;
lastEnd = offset;
}
return serialized;
}
function writeBundles(start, pack3, incrementPosition) {
if (bundledStrings2.length > 0) {
targetView.setUint32(bundledStrings2.position + start, position2 + incrementPosition - bundledStrings2.position - start);
bundledStrings2.stringsPosition = position2 - start;
let writeStrings = bundledStrings2;
bundledStrings2 = null;
pack3(writeStrings[0]);
pack3(writeStrings[1]);
}
}
function prepareStructures(structures, packr2) {
structures.isCompatible = (existingStructures) => {
let compatible = !existingStructures || (packr2.lastNamedStructuresLength || 0) === existingStructures.length;
if (!compatible)
packr2._mergeStructures(existingStructures);
return compatible;
};
return structures;
}
var textEncoder3, extensions, extensionClasses, hasNodeBuffer, ByteArrayAllocate, ByteArray, MAX_BUFFER_SIZE, target, keysTarget, targetView, position2, safeEnd, bundledStrings2, MAX_BUNDLE_SIZE, hasNonLatin, RECORD_SYMBOL, Packr, defaultPackr, pack, encode, NEVER, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT, REUSE_BUFFER_MODE, RESET_BUFFER_MODE, RESERVE_START_SPACE;
var init_pack = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/pack.js"() {
init_unpack();
init_unpack();
init_unpack();
try {
textEncoder3 = new TextEncoder();
} catch (error) {
}
hasNodeBuffer = typeof Buffer !== "undefined";
ByteArrayAllocate = hasNodeBuffer ? function(length) {
return Buffer.allocUnsafeSlow(length);
} : Uint8Array;
ByteArray = hasNodeBuffer ? Buffer : Uint8Array;
MAX_BUFFER_SIZE = hasNodeBuffer ? 4294967296 : 2144337920;
position2 = 0;
bundledStrings2 = null;
MAX_BUNDLE_SIZE = 21760;
hasNonLatin = /[\u0080-\uFFFF]/;
RECORD_SYMBOL = /* @__PURE__ */ Symbol("record-id");
Packr = class extends Unpackr {
constructor(options) {
super(options);
this.offset = 0;
let typeBuffer;
let start;
let hasSharedUpdate;
let structures;
let referenceMap2;
let encodeUtf8 = ByteArray.prototype.utf8Write ? function(string, position3) {
return target.utf8Write(string, position3, target.byteLength - position3);
} : textEncoder3 && textEncoder3.encodeInto ? function(string, position3) {
return textEncoder3.encodeInto(string, target.subarray(position3)).written;
} : false;
let packr2 = this;
if (!options)
options = {};
let isSequential = options && options.sequential;
let hasSharedStructures = options.structures || options.saveStructures;
let maxSharedStructures = options.maxSharedStructures;
if (maxSharedStructures == null)
maxSharedStructures = hasSharedStructures ? 32 : 0;
if (maxSharedStructures > 8160)
throw new Error("Maximum maxSharedStructure is 8160");
if (options.structuredClone && options.moreTypes == void 0) {
this.moreTypes = true;
}
let maxOwnStructures = options.maxOwnStructures;
if (maxOwnStructures == null)
maxOwnStructures = hasSharedStructures ? 32 : 64;
if (!this.structures && options.useRecords != false)
this.structures = [];
let useTwoByteRecords = maxSharedStructures > 32 || maxOwnStructures + maxSharedStructures > 64;
let sharedLimitId = maxSharedStructures + 64;
let maxStructureId = maxSharedStructures + maxOwnStructures + 64;
if (maxStructureId > 8256) {
throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");
}
let recordIdsToRemove = [];
let transitionsCount = 0;
let serializationsSinceTransitionRebuild = 0;
this.pack = this.encode = function(value, encodeOptions) {
if (!target) {
target = new ByteArrayAllocate(8192);
targetView = target.dataView || (target.dataView = new DataView(target.buffer, 0, 8192));
position2 = 0;
}
safeEnd = target.length - 10;
if (safeEnd - position2 < 2048) {
target = new ByteArrayAllocate(target.length);
targetView = target.dataView || (target.dataView = new DataView(target.buffer, 0, target.length));
safeEnd = target.length - 10;
position2 = 0;
} else
position2 = position2 + 7 & 2147483640;
start = position2;
if (encodeOptions & RESERVE_START_SPACE) position2 += encodeOptions & 255;
referenceMap2 = packr2.structuredClone ? /* @__PURE__ */ new Map() : null;
if (packr2.bundleStrings && typeof value !== "string") {
bundledStrings2 = [];
bundledStrings2.size = Infinity;
} else
bundledStrings2 = null;
structures = packr2.structures;
if (structures) {
if (structures.uninitialized)
structures = packr2._mergeStructures(packr2.getStructures());
let sharedLength = structures.sharedLength || 0;
if (sharedLength > maxSharedStructures) {
throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to " + structures.sharedLength);
}
if (!structures.transitions) {
structures.transitions = /* @__PURE__ */ Object.create(null);
for (let i4 = 0; i4 < sharedLength; i4++) {
let keys4 = structures[i4];
if (!keys4)
continue;
let nextTransition, transition = structures.transitions;
for (let j2 = 0, l = keys4.length; j2 < l; j2++) {
let key = keys4[j2];
nextTransition = transition[key];
if (!nextTransition) {
nextTransition = transition[key] = /* @__PURE__ */ Object.create(null);
}
transition = nextTransition;
}
transition[RECORD_SYMBOL] = i4 + 64;
}
this.lastNamedStructuresLength = sharedLength;
}
if (!isSequential) {
structures.nextId = sharedLength + 64;
}
}
if (hasSharedUpdate)
hasSharedUpdate = false;
let encodingError;
try {
if (packr2._writeStruct && value && typeof value === "object") {
if (value.constructor === Object) writeStruct(value);
else if (value.constructor !== Map && !Array.isArray(value) && !extensionClasses.some((extClass) => value instanceof extClass)) {
writeStruct(value.toJSON ? value.toJSON() : value);
} else pack3(value);
} else
pack3(value);
let lastBundle = bundledStrings2;
if (bundledStrings2)
writeBundles(start, pack3, 0);
if (referenceMap2 && referenceMap2.idsToInsert) {
let idsToInsert = referenceMap2.idsToInsert.sort((a2, b) => a2.offset > b.offset ? 1 : -1);
let i4 = idsToInsert.length;
let incrementPosition = -1;
while (lastBundle && i4 > 0) {
let insertionPoint = idsToInsert[--i4].offset + start;
if (insertionPoint < lastBundle.stringsPosition + start && incrementPosition === -1)
incrementPosition = 0;
if (insertionPoint > lastBundle.position + start) {
if (incrementPosition >= 0)
incrementPosition += 6;
} else {
if (incrementPosition >= 0) {
targetView.setUint32(
lastBundle.position + start,
targetView.getUint32(lastBundle.position + start) + incrementPosition
);
incrementPosition = -1;
}
lastBundle = lastBundle.previous;
i4++;
}
}
if (incrementPosition >= 0 && lastBundle) {
targetView.setUint32(
lastBundle.position + start,
targetView.getUint32(lastBundle.position + start) + incrementPosition
);
}
position2 += idsToInsert.length * 6;
if (position2 > safeEnd)
makeRoom(position2);
packr2.offset = position2;
let serialized = insertIds(target.subarray(start, position2), idsToInsert);
referenceMap2 = null;
return serialized;
}
packr2.offset = position2;
if (encodeOptions & REUSE_BUFFER_MODE) {
target.start = start;
target.end = position2;
return target;
}
return target.subarray(start, position2);
} catch (error) {
encodingError = error;
throw error;
} finally {
if (structures) {
resetStructures();
if (hasSharedUpdate && packr2.saveStructures) {
let sharedLength = structures.sharedLength || 0;
let returnBuffer = target.subarray(start, position2);
let newSharedData = (packr2._prepareStructures || prepareStructures)(structures, packr2);
if (!encodingError) {
if (packr2.saveStructures(newSharedData, newSharedData.isCompatible) === false) {
structures.uninitialized = true;
return packr2.pack(value, encodeOptions);
}
packr2.lastNamedStructuresLength = sharedLength;
if (target.length > 1073741824) target = null;
return returnBuffer;
}
}
}
if (target.length > 1073741824) target = null;
if (encodeOptions & RESET_BUFFER_MODE)
position2 = start;
}
};
const resetStructures = () => {
if (serializationsSinceTransitionRebuild < 10)
serializationsSinceTransitionRebuild++;
let sharedLength = structures.sharedLength || 0;
if (structures.length > sharedLength && !isSequential)
structures.length = sharedLength;
if (transitionsCount > 1e4) {
structures.transitions = null;
serializationsSinceTransitionRebuild = 0;
transitionsCount = 0;
if (recordIdsToRemove.length > 0)
recordIdsToRemove = [];
} else if (recordIdsToRemove.length > 0 && !isSequential) {
for (let i4 = 0, l = recordIdsToRemove.length; i4 < l; i4++) {
recordIdsToRemove[i4][RECORD_SYMBOL] = 0;
}
recordIdsToRemove = [];
}
};
const packArray = (value) => {
var length = value.length;
if (length < 16) {
target[position2++] = 144 | length;
} else if (length < 65536) {
target[position2++] = 220;
target[position2++] = length >> 8;
target[position2++] = length & 255;
} else {
target[position2++] = 221;
targetView.setUint32(position2, length);
position2 += 4;
}
for (let i4 = 0; i4 < length; i4++) {
pack3(value[i4]);
}
};
const pack3 = (value) => {
if (position2 > safeEnd)
target = makeRoom(position2);
var type4 = typeof value;
var length;
if (type4 === "string") {
let strLength = value.length;
if (bundledStrings2 && strLength >= 4 && strLength < 4096) {
if ((bundledStrings2.size += strLength) > MAX_BUNDLE_SIZE) {
let extStart;
let maxBytes2 = (bundledStrings2[0] ? bundledStrings2[0].length * 3 + bundledStrings2[1].length : 0) + 10;
if (position2 + maxBytes2 > safeEnd)
target = makeRoom(position2 + maxBytes2);
let lastBundle;
if (bundledStrings2.position) {
lastBundle = bundledStrings2;
target[position2] = 200;
position2 += 3;
target[position2++] = 98;
extStart = position2 - start;
position2 += 4;
writeBundles(start, pack3, 0);
targetView.setUint16(extStart + start - 3, position2 - start - extStart);
} else {
target[position2++] = 214;
target[position2++] = 98;
extStart = position2 - start;
position2 += 4;
}
bundledStrings2 = ["", ""];
bundledStrings2.previous = lastBundle;
bundledStrings2.size = 0;
bundledStrings2.position = extStart;
}
let twoByte = hasNonLatin.test(value);
bundledStrings2[twoByte ? 0 : 1] += value;
target[position2++] = 193;
pack3(twoByte ? -strLength : strLength);
return;
}
let headerSize;
if (strLength < 32) {
headerSize = 1;
} else if (strLength < 256) {
headerSize = 2;
} else if (strLength < 65536) {
headerSize = 3;
} else {
headerSize = 5;
}
let maxBytes = strLength * 3;
if (position2 + maxBytes > safeEnd)
target = makeRoom(position2 + maxBytes);
if (strLength < 64 || !encodeUtf8) {
let i4, c1, c22, strPosition = position2 + headerSize;
for (i4 = 0; i4 < strLength; i4++) {
c1 = value.charCodeAt(i4);
if (c1 < 128) {
target[strPosition++] = c1;
} else if (c1 < 2048) {
target[strPosition++] = c1 >> 6 | 192;
target[strPosition++] = c1 & 63 | 128;
} else if ((c1 & 64512) === 55296 && ((c22 = value.charCodeAt(i4 + 1)) & 64512) === 56320) {
c1 = 65536 + ((c1 & 1023) << 10) + (c22 & 1023);
i4++;
target[strPosition++] = c1 >> 18 | 240;
target[strPosition++] = c1 >> 12 & 63 | 128;
target[strPosition++] = c1 >> 6 & 63 | 128;
target[strPosition++] = c1 & 63 | 128;
} else {
target[strPosition++] = c1 >> 12 | 224;
target[strPosition++] = c1 >> 6 & 63 | 128;
target[strPosition++] = c1 & 63 | 128;
}
}
length = strPosition - position2 - headerSize;
} else {
length = encodeUtf8(value, position2 + headerSize);
}
if (length < 32) {
target[position2++] = 160 | length;
} else if (length < 256) {
if (headerSize < 2) {
target.copyWithin(position2 + 2, position2 + 1, position2 + 1 + length);
}
target[position2++] = 217;
target[position2++] = length;
} else if (length < 65536) {
if (headerSize < 3) {
target.copyWithin(position2 + 3, position2 + 2, position2 + 2 + length);
}
target[position2++] = 218;
target[position2++] = length >> 8;
target[position2++] = length & 255;
} else {
if (headerSize < 5) {
target.copyWithin(position2 + 5, position2 + 3, position2 + 3 + length);
}
target[position2++] = 219;
targetView.setUint32(position2, length);
position2 += 4;
}
position2 += length;
} else if (type4 === "number") {
if (value >>> 0 === value) {
if (value < 32 || value < 128 && this.useRecords === false || value < 64 && !this._writeStruct) {
target[position2++] = value;
} else if (value < 256) {
target[position2++] = 204;
target[position2++] = value;
} else if (value < 65536) {
target[position2++] = 205;
target[position2++] = value >> 8;
target[position2++] = value & 255;
} else {
target[position2++] = 206;
targetView.setUint32(position2, value);
position2 += 4;
}
} else if (value >> 0 === value) {
if (value >= -32) {
target[position2++] = 256 + value;
} else if (value >= -128) {
target[position2++] = 208;
target[position2++] = value + 256;
} else if (value >= -32768) {
target[position2++] = 209;
targetView.setInt16(position2, value);
position2 += 2;
} else {
target[position2++] = 210;
targetView.setInt32(position2, value);
position2 += 4;
}
} else {
let useFloat32;
if ((useFloat32 = this.useFloat32) > 0 && value < 4294967296 && value >= -2147483648) {
target[position2++] = 202;
targetView.setFloat32(position2, value);
let xShifted;
if (useFloat32 < 4 || // this checks for rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
(xShifted = value * mult10[(target[position2] & 127) << 1 | target[position2 + 1] >> 7]) >> 0 === xShifted) {
position2 += 4;
return;
} else
position2--;
}
target[position2++] = 203;
targetView.setFloat64(position2, value);
position2 += 8;
}
} else if (type4 === "object" || type4 === "function") {
if (!value)
target[position2++] = 192;
else {
if (referenceMap2) {
let referee = referenceMap2.get(value);
if (referee) {
if (!referee.id) {
let idsToInsert = referenceMap2.idsToInsert || (referenceMap2.idsToInsert = []);
referee.id = idsToInsert.push(referee);
}
target[position2++] = 214;
target[position2++] = 112;
targetView.setUint32(position2, referee.id);
position2 += 4;
return;
} else
referenceMap2.set(value, { offset: position2 - start });
}
let constructor = value.constructor;
if (constructor === Object) {
writeObject(value);
} else if (constructor === Array) {
packArray(value);
} else if (constructor === Map) {
if (this.mapAsEmptyObject) target[position2++] = 128;
else {
length = value.size;
if (length < 16) {
target[position2++] = 128 | length;
} else if (length < 65536) {
target[position2++] = 222;
target[position2++] = length >> 8;
target[position2++] = length & 255;
} else {
target[position2++] = 223;
targetView.setUint32(position2, length);
position2 += 4;
}
for (let [key, entryValue] of value) {
pack3(key);
pack3(entryValue);
}
}
} else {
for (let i4 = 0, l = extensions.length; i4 < l; i4++) {
let extensionClass = extensionClasses[i4];
if (value instanceof extensionClass) {
let extension = extensions[i4];
if (extension.write) {
if (extension.type) {
target[position2++] = 212;
target[position2++] = extension.type;
target[position2++] = 0;
}
let writeResult = extension.write.call(this, value);
if (writeResult === value) {
if (Array.isArray(value)) {
packArray(value);
} else {
writeObject(value);
}
} else {
pack3(writeResult);
}
return;
}
let currentTarget = target;
let currentTargetView = targetView;
let currentPosition = position2;
target = null;
let result2;
try {
result2 = extension.pack.call(this, value, (size) => {
target = currentTarget;
currentTarget = null;
position2 += size;
if (position2 > safeEnd)
makeRoom(position2);
return {
target,
targetView,
position: position2 - size
};
}, pack3);
} finally {
if (currentTarget) {
target = currentTarget;
targetView = currentTargetView;
position2 = currentPosition;
safeEnd = target.length - 10;
}
}
if (result2) {
if (result2.length + position2 > safeEnd)
makeRoom(result2.length + position2);
position2 = writeExtensionData(result2, target, position2, extension.type);
}
return;
}
}
if (Array.isArray(value)) {
packArray(value);
} else {
if (value.toJSON) {
const json2 = value.toJSON();
if (json2 !== value)
return pack3(json2);
}
if (type4 === "function")
return pack3(this.writeFunction && this.writeFunction(value));
writeObject(value);
}
}
}
} else if (type4 === "boolean") {
target[position2++] = value ? 195 : 194;
} else if (type4 === "bigint") {
if (value < 9223372036854776e3 && value >= -9223372036854776e3) {
target[position2++] = 211;
targetView.setBigInt64(position2, value);
} else if (value < 18446744073709552e3 && value > 0) {
target[position2++] = 207;
targetView.setBigUint64(position2, value);
} else {
if (this.largeBigIntToFloat) {
target[position2++] = 203;
targetView.setFloat64(position2, Number(value));
} else if (this.largeBigIntToString) {
return pack3(value.toString());
} else if (this.useBigIntExtension || this.moreTypes) {
let empty4 = value < 0 ? BigInt(-1) : BigInt(0);
let array;
if (value >> BigInt(65536) === empty4) {
let mask = BigInt(18446744073709552e3) - BigInt(1);
let chunks = [];
while (true) {
chunks.push(value & mask);
if (value >> BigInt(63) === empty4) break;
value >>= BigInt(64);
}
array = new Uint8Array(new BigUint64Array(chunks).buffer);
array.reverse();
} else {
let invert2 = value < 0;
let string = (invert2 ? ~value : value).toString(16);
if (string.length % 2) {
string = "0" + string;
} else if (parseInt(string.charAt(0), 16) >= 8) {
string = "00" + string;
}
if (hasNodeBuffer) {
array = Buffer.from(string, "hex");
} else {
array = new Uint8Array(string.length / 2);
for (let i4 = 0; i4 < array.length; i4++) {
array[i4] = parseInt(string.slice(i4 * 2, i4 * 2 + 2), 16);
}
}
if (invert2) {
for (let i4 = 0; i4 < array.length; i4++) array[i4] = ~array[i4];
}
}
if (array.length + position2 > safeEnd)
makeRoom(array.length + position2);
position2 = writeExtensionData(array, target, position2, 66);
return;
} else {
throw new RangeError(value + " was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string");
}
}
position2 += 8;
} else if (type4 === "undefined") {
if (this.encodeUndefinedAsNil)
target[position2++] = 192;
else {
target[position2++] = 212;
target[position2++] = 0;
target[position2++] = 0;
}
} else {
throw new Error("Unknown type: " + type4);
}
};
const writePlainObject = this.variableMapSize || this.coercibleKeyAsNumber || this.skipValues ? (object) => {
let keys4;
if (this.skipValues) {
keys4 = [];
for (let key2 in object) {
if ((typeof object.hasOwnProperty !== "function" || object.hasOwnProperty(key2)) && !this.skipValues.includes(object[key2]))
keys4.push(key2);
}
} else {
keys4 = Object.keys(object);
}
let length = keys4.length;
if (length < 16) {
target[position2++] = 128 | length;
} else if (length < 65536) {
target[position2++] = 222;
target[position2++] = length >> 8;
target[position2++] = length & 255;
} else {
target[position2++] = 223;
targetView.setUint32(position2, length);
position2 += 4;
}
let key;
if (this.coercibleKeyAsNumber) {
for (let i4 = 0; i4 < length; i4++) {
key = keys4[i4];
let num = Number(key);
pack3(isNaN(num) ? key : num);
pack3(object[key]);
}
} else {
for (let i4 = 0; i4 < length; i4++) {
pack3(key = keys4[i4]);
pack3(object[key]);
}
}
} : (object) => {
target[position2++] = 222;
let objectOffset = position2 - start;
position2 += 2;
let size = 0;
for (let key in object) {
if (typeof object.hasOwnProperty !== "function" || object.hasOwnProperty(key)) {
pack3(key);
pack3(object[key]);
size++;
}
}
if (size > 65535) {
throw new Error('Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object');
}
target[objectOffset++ + start] = size >> 8;
target[objectOffset + start] = size & 255;
};
const writeRecord = this.useRecords === false ? writePlainObject : options.progressiveRecords && !useTwoByteRecords ? (
// this is about 2% faster for highly stable structures, since it only requires one for-in loop (but much more expensive when new structure needs to be written)
(object) => {
let nextTransition, transition = structures.transitions || (structures.transitions = /* @__PURE__ */ Object.create(null));
let objectOffset = position2++ - start;
let wroteKeys;
for (let key in object) {
if (typeof object.hasOwnProperty !== "function" || object.hasOwnProperty(key)) {
nextTransition = transition[key];
if (nextTransition)
transition = nextTransition;
else {
let keys4 = Object.keys(object);
let lastTransition = transition;
transition = structures.transitions;
let newTransitions = 0;
for (let i4 = 0, l = keys4.length; i4 < l; i4++) {
let key2 = keys4[i4];
nextTransition = transition[key2];
if (!nextTransition) {
nextTransition = transition[key2] = /* @__PURE__ */ Object.create(null);
newTransitions++;
}
transition = nextTransition;
}
if (objectOffset + start + 1 == position2) {
position2--;
newRecord(transition, keys4, newTransitions);
} else
insertNewRecord(transition, keys4, objectOffset, newTransitions);
wroteKeys = true;
transition = lastTransition[key];
}
pack3(object[key]);
}
}
if (!wroteKeys) {
let recordId = transition[RECORD_SYMBOL];
if (recordId)
target[objectOffset + start] = recordId;
else
insertNewRecord(transition, Object.keys(object), objectOffset, 0);
}
}
) : (object) => {
let nextTransition, transition = structures.transitions || (structures.transitions = /* @__PURE__ */ Object.create(null));
let newTransitions = 0;
for (let key in object) if (typeof object.hasOwnProperty !== "function" || object.hasOwnProperty(key)) {
nextTransition = transition[key];
if (!nextTransition) {
nextTransition = transition[key] = /* @__PURE__ */ Object.create(null);
newTransitions++;
}
transition = nextTransition;
}
let recordId = transition[RECORD_SYMBOL];
if (recordId) {
if (recordId >= 96 && useTwoByteRecords) {
target[position2++] = ((recordId -= 96) & 31) + 96;
target[position2++] = recordId >> 5;
} else
target[position2++] = recordId;
} else {
newRecord(transition, transition.__keys__ || Object.keys(object), newTransitions);
}
for (let key in object)
if (typeof object.hasOwnProperty !== "function" || object.hasOwnProperty(key)) {
pack3(object[key]);
}
};
const checkUseRecords = typeof this.useRecords == "function" && this.useRecords;
const writeObject = checkUseRecords ? (object) => {
checkUseRecords(object) ? writeRecord(object) : writePlainObject(object);
} : writeRecord;
const writeStruct = (object) => {
let newPosition = packr2._writeStruct(object, target, start, position2, structures, makeRoom, (value, newPosition2, notifySharedUpdate) => {
if (notifySharedUpdate)
return hasSharedUpdate = true;
position2 = newPosition2;
let startTarget = target;
pack3(value);
resetStructures();
if (startTarget !== target) {
return { position: position2, targetView, target };
}
return position2;
});
if (newPosition === 0)
return writeObject(object);
position2 = newPosition;
};
const makeRoom = (end) => {
let newSize;
if (end > 16777216) {
if (end - start > MAX_BUFFER_SIZE)
throw new Error("Packed buffer would be larger than maximum buffer size");
newSize = Math.min(
MAX_BUFFER_SIZE,
Math.round(Math.max((end - start) * (end > 67108864 ? 1.25 : 2), 4194304) / 4096) * 4096
);
} else
newSize = (Math.max(end - start << 2, target.length - 1) >> 12) + 1 << 12;
let newBuffer = new ByteArrayAllocate(newSize);
targetView = newBuffer.dataView || (newBuffer.dataView = new DataView(newBuffer.buffer, 0, newSize));
end = Math.min(end, target.length);
if (target.copy)
target.copy(newBuffer, 0, start, end);
else
newBuffer.set(target.slice(start, end));
position2 -= start;
start = 0;
safeEnd = newBuffer.length - 10;
return target = newBuffer;
};
const newRecord = (transition, keys4, newTransitions) => {
let recordId = structures.nextId;
if (!recordId)
recordId = 64;
if (recordId < sharedLimitId && this.shouldShareStructure && !this.shouldShareStructure(keys4)) {
recordId = structures.nextOwnId;
if (!(recordId < maxStructureId))
recordId = sharedLimitId;
structures.nextOwnId = recordId + 1;
} else {
if (recordId >= maxStructureId)
recordId = sharedLimitId;
structures.nextId = recordId + 1;
}
let highByte = keys4.highByte = recordId >= 96 && useTwoByteRecords ? recordId - 96 >> 5 : -1;
transition[RECORD_SYMBOL] = recordId;
transition.__keys__ = keys4;
structures[recordId - 64] = keys4;
if (recordId < sharedLimitId) {
keys4.isShared = true;
structures.sharedLength = recordId - 63;
hasSharedUpdate = true;
if (highByte >= 0) {
target[position2++] = (recordId & 31) + 96;
target[position2++] = highByte;
} else {
target[position2++] = recordId;
}
} else {
if (highByte >= 0) {
target[position2++] = 213;
target[position2++] = 114;
target[position2++] = (recordId & 31) + 96;
target[position2++] = highByte;
} else {
target[position2++] = 212;
target[position2++] = 114;
target[position2++] = recordId;
}
if (newTransitions)
transitionsCount += serializationsSinceTransitionRebuild * newTransitions;
if (recordIdsToRemove.length >= maxOwnStructures)
recordIdsToRemove.shift()[RECORD_SYMBOL] = 0;
recordIdsToRemove.push(transition);
pack3(keys4);
}
};
const insertNewRecord = (transition, keys4, insertionOffset, newTransitions) => {
let mainTarget = target;
let mainPosition = position2;
let mainSafeEnd = safeEnd;
let mainStart = start;
target = keysTarget;
position2 = 0;
start = 0;
if (!target)
keysTarget = target = new ByteArrayAllocate(8192);
safeEnd = target.length - 10;
newRecord(transition, keys4, newTransitions);
keysTarget = target;
let keysPosition = position2;
target = mainTarget;
position2 = mainPosition;
safeEnd = mainSafeEnd;
start = mainStart;
if (keysPosition > 1) {
let newEnd = position2 + keysPosition - 1;
if (newEnd > safeEnd)
makeRoom(newEnd);
let insertionPosition = insertionOffset + start;
target.copyWithin(insertionPosition + keysPosition, insertionPosition + 1, position2);
target.set(keysTarget.slice(0, keysPosition), insertionPosition);
position2 = newEnd;
} else {
target[insertionOffset + start] = keysTarget[0];
}
};
}
useBuffer(buffer3) {
target = buffer3;
target.dataView || (target.dataView = new DataView(target.buffer, target.byteOffset, target.byteLength));
targetView = target.dataView;
position2 = 0;
}
set position(value) {
position2 = value;
}
get position() {
return position2;
}
clearSharedData() {
if (this.structures)
this.structures = [];
if (this.typedStructs)
this.typedStructs = [];
}
};
extensionClasses = [Date, Set, Error, RegExp, ArrayBuffer, Object.getPrototypeOf(Uint8Array.prototype).constructor, DataView, C1Type];
extensions = [{
pack(date, allocateForWrite, pack3) {
let seconds = date.getTime() / 1e3;
if ((this.useTimestamp32 || date.getMilliseconds() === 0) && seconds >= 0 && seconds < 4294967296) {
let { target: target2, targetView: targetView2, position: position3 } = allocateForWrite(6);
target2[position3++] = 214;
target2[position3++] = 255;
targetView2.setUint32(position3, seconds);
} else if (seconds > 0 && seconds < 4294967296) {
let { target: target2, targetView: targetView2, position: position3 } = allocateForWrite(10);
target2[position3++] = 215;
target2[position3++] = 255;
targetView2.setUint32(position3, date.getMilliseconds() * 4e6 + (seconds / 1e3 / 4294967296 >> 0));
targetView2.setUint32(position3 + 4, seconds);
} else if (isNaN(seconds)) {
if (this.onInvalidDate) {
allocateForWrite(0);
return pack3(this.onInvalidDate());
}
let { target: target2, targetView: targetView2, position: position3 } = allocateForWrite(3);
target2[position3++] = 212;
target2[position3++] = 255;
target2[position3++] = 255;
} else {
let { target: target2, targetView: targetView2, position: position3 } = allocateForWrite(15);
target2[position3++] = 199;
target2[position3++] = 12;
target2[position3++] = 255;
targetView2.setUint32(position3, date.getMilliseconds() * 1e6);
targetView2.setBigInt64(position3 + 4, BigInt(Math.floor(seconds)));
}
}
}, {
pack(set2, allocateForWrite, pack3) {
if (this.setAsEmptyObject) {
allocateForWrite(0);
return pack3({});
}
let array = Array.from(set2);
let { target: target2, position: position3 } = allocateForWrite(this.moreTypes ? 3 : 0);
if (this.moreTypes) {
target2[position3++] = 212;
target2[position3++] = 115;
target2[position3++] = 0;
}
pack3(array);
}
}, {
pack(error, allocateForWrite, pack3) {
let { target: target2, position: position3 } = allocateForWrite(this.moreTypes ? 3 : 0);
if (this.moreTypes) {
target2[position3++] = 212;
target2[position3++] = 101;
target2[position3++] = 0;
}
pack3([error.name, error.message, error.cause]);
}
}, {
pack(regex2, allocateForWrite, pack3) {
let { target: target2, position: position3 } = allocateForWrite(this.moreTypes ? 3 : 0);
if (this.moreTypes) {
target2[position3++] = 212;
target2[position3++] = 120;
target2[position3++] = 0;
}
pack3([regex2.source, regex2.flags]);
}
}, {
pack(arrayBuffer, allocateForWrite) {
if (this.moreTypes)
writeExtBuffer(arrayBuffer, 16, allocateForWrite);
else
writeBuffer(hasNodeBuffer ? Buffer.from(arrayBuffer) : new Uint8Array(arrayBuffer), allocateForWrite);
}
}, {
pack(typedArray, allocateForWrite) {
let constructor = typedArray.constructor;
if (constructor !== ByteArray && this.moreTypes)
writeExtBuffer(typedArray, typedArrays.indexOf(constructor.name), allocateForWrite);
else
writeBuffer(typedArray, allocateForWrite);
}
}, {
pack(arrayBuffer, allocateForWrite) {
if (this.moreTypes)
writeExtBuffer(arrayBuffer, 17, allocateForWrite);
else
writeBuffer(hasNodeBuffer ? Buffer.from(arrayBuffer) : new Uint8Array(arrayBuffer), allocateForWrite);
}
}, {
pack(c1, allocateForWrite) {
let { target: target2, position: position3 } = allocateForWrite(1);
target2[position3] = 193;
}
}];
Packr.SUPPORTS_STRUCT_HOOKS = true;
defaultPackr = new Packr({ useRecords: false });
pack = defaultPackr.pack;
encode = defaultPackr.pack;
({ NEVER, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT } = FLOAT32_OPTIONS);
REUSE_BUFFER_MODE = 512;
RESET_BUFFER_MODE = 1024;
RESERVE_START_SPACE = 2048;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/stream.js
var init_stream2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/stream.js"() {
init_pack();
init_unpack();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/iterators.js
var init_iterators = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/iterators.js"() {
init_pack();
init_unpack();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/process.js
var require_process = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/process.js"(exports2, module2) {
"use strict";
var isLinux2 = () => process.platform === "linux";
var report3 = null;
var getReport = () => {
if (!report3) {
if (isLinux2() && process.report) {
const orig = process.report.excludeNetwork;
process.report.excludeNetwork = true;
report3 = process.report.getReport();
process.report.excludeNetwork = orig;
} else {
report3 = {};
}
}
return report3;
};
module2.exports = { isLinux: isLinux2, getReport };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/filesystem.js
var require_filesystem = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/filesystem.js"(exports2, module2) {
"use strict";
var fs126 = __require("fs");
var LDD_PATH = "/usr/bin/ldd";
var SELF_PATH = "/proc/self/exe";
var MAX_LENGTH = 2048;
var readFileSync4 = (path236) => {
const fd2 = fs126.openSync(path236, "r");
const buffer3 = Buffer.alloc(MAX_LENGTH);
const bytesRead = fs126.readSync(fd2, buffer3, 0, MAX_LENGTH, 0);
fs126.close(fd2, () => {
});
return buffer3.subarray(0, bytesRead);
};
var readFile4 = (path236) => new Promise((resolve4, reject3) => {
fs126.open(path236, "r", (err2, fd2) => {
if (err2) {
reject3(err2);
} else {
const buffer3 = Buffer.alloc(MAX_LENGTH);
fs126.read(fd2, buffer3, 0, MAX_LENGTH, 0, (_, bytesRead) => {
resolve4(buffer3.subarray(0, bytesRead));
fs126.close(fd2, () => {
});
});
}
});
});
module2.exports = {
LDD_PATH,
SELF_PATH,
readFileSync: readFileSync4,
readFile: readFile4
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/elf.js
var require_elf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/elf.js"(exports2, module2) {
"use strict";
var interpreterPath = (elf) => {
if (elf.length < 64) {
return null;
}
if (elf.readUInt32BE(0) !== 2135247942) {
return null;
}
if (elf.readUInt8(4) !== 2) {
return null;
}
if (elf.readUInt8(5) !== 1) {
return null;
}
const offset = elf.readUInt32LE(32);
const size = elf.readUInt16LE(54);
const count2 = elf.readUInt16LE(56);
for (let i4 = 0; i4 < count2; i4++) {
const headerOffset = offset + i4 * size;
const type4 = elf.readUInt32LE(headerOffset);
if (type4 === 3) {
const fileOffset = elf.readUInt32LE(headerOffset + 8);
const fileSize = elf.readUInt32LE(headerOffset + 32);
return elf.subarray(fileOffset, fileOffset + fileSize).toString().replace(/\0.*$/g, "");
}
}
return null;
};
module2.exports = {
interpreterPath
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/detect-libc.js
var require_detect_libc = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/detect-libc/2.1.2/a1e36129e998f9971b8906296c04a9314f612077e4f1e2a4342793f735c2fb37/node_modules/detect-libc/lib/detect-libc.js"(exports2, module2) {
"use strict";
var childProcess4 = __require("child_process");
var { isLinux: isLinux2, getReport } = require_process();
var { LDD_PATH, SELF_PATH, readFile: readFile4, readFileSync: readFileSync4 } = require_filesystem();
var { interpreterPath } = require_elf();
var cachedFamilyInterpreter;
var cachedFamilyFilesystem;
var cachedVersionFilesystem;
var command = "getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true";
var commandOut = "";
var safeCommand = () => {
if (!commandOut) {
return new Promise((resolve4) => {
childProcess4.exec(command, (err2, out) => {
commandOut = err2 ? " " : out;
resolve4(commandOut);
});
});
}
return commandOut;
};
var safeCommandSync = () => {
if (!commandOut) {
try {
commandOut = childProcess4.execSync(command, { encoding: "utf8" });
} catch (_err) {
commandOut = " ";
}
}
return commandOut;
};
var GLIBC = "glibc";
var RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i;
var MUSL2 = "musl";
var isFileMusl = (f) => f.includes("libc.musl-") || f.includes("ld-musl-");
var familyFromReport = () => {
const report3 = getReport();
if (report3.header && report3.header.glibcVersionRuntime) {
return GLIBC;
}
if (Array.isArray(report3.sharedObjects)) {
if (report3.sharedObjects.some(isFileMusl)) {
return MUSL2;
}
}
return null;
};
var familyFromCommand = (out) => {
const [getconf, ldd1] = out.split(/[\r\n]+/);
if (getconf && getconf.includes(GLIBC)) {
return GLIBC;
}
if (ldd1 && ldd1.includes(MUSL2)) {
return MUSL2;
}
return null;
};
var familyFromInterpreterPath = (path236) => {
if (path236) {
if (path236.includes("/ld-musl-")) {
return MUSL2;
} else if (path236.includes("/ld-linux-")) {
return GLIBC;
}
}
return null;
};
var getFamilyFromLddContent = (content) => {
content = content.toString();
if (content.includes("musl")) {
return MUSL2;
}
if (content.includes("GNU C Library")) {
return GLIBC;
}
return null;
};
var familyFromFilesystem = async () => {
if (cachedFamilyFilesystem !== void 0) {
return cachedFamilyFilesystem;
}
cachedFamilyFilesystem = null;
try {
const lddContent = await readFile4(LDD_PATH);
cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
} catch (e) {
}
return cachedFamilyFilesystem;
};
var familyFromFilesystemSync = () => {
if (cachedFamilyFilesystem !== void 0) {
return cachedFamilyFilesystem;
}
cachedFamilyFilesystem = null;
try {
const lddContent = readFileSync4(LDD_PATH);
cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
} catch (e) {
}
return cachedFamilyFilesystem;
};
var familyFromInterpreter = async () => {
if (cachedFamilyInterpreter !== void 0) {
return cachedFamilyInterpreter;
}
cachedFamilyInterpreter = null;
try {
const selfContent = await readFile4(SELF_PATH);
const path236 = interpreterPath(selfContent);
cachedFamilyInterpreter = familyFromInterpreterPath(path236);
} catch (e) {
}
return cachedFamilyInterpreter;
};
var familyFromInterpreterSync = () => {
if (cachedFamilyInterpreter !== void 0) {
return cachedFamilyInterpreter;
}
cachedFamilyInterpreter = null;
try {
const selfContent = readFileSync4(SELF_PATH);
const path236 = interpreterPath(selfContent);
cachedFamilyInterpreter = familyFromInterpreterPath(path236);
} catch (e) {
}
return cachedFamilyInterpreter;
};
var family = async () => {
let family2 = null;
if (isLinux2()) {
family2 = await familyFromInterpreter();
if (!family2) {
family2 = await familyFromFilesystem();
if (!family2) {
family2 = familyFromReport();
}
if (!family2) {
const out = await safeCommand();
family2 = familyFromCommand(out);
}
}
}
return family2;
};
var familySync6 = () => {
let family2 = null;
if (isLinux2()) {
family2 = familyFromInterpreterSync();
if (!family2) {
family2 = familyFromFilesystemSync();
if (!family2) {
family2 = familyFromReport();
}
if (!family2) {
const out = safeCommandSync();
family2 = familyFromCommand(out);
}
}
}
return family2;
};
var isNonGlibcLinux = async () => isLinux2() && await family() !== GLIBC;
var isNonGlibcLinuxSync = () => isLinux2() && familySync6() !== GLIBC;
var versionFromFilesystem = async () => {
if (cachedVersionFilesystem !== void 0) {
return cachedVersionFilesystem;
}
cachedVersionFilesystem = null;
try {
const lddContent = await readFile4(LDD_PATH);
const versionMatch = lddContent.match(RE_GLIBC_VERSION);
if (versionMatch) {
cachedVersionFilesystem = versionMatch[1];
}
} catch (e) {
}
return cachedVersionFilesystem;
};
var versionFromFilesystemSync = () => {
if (cachedVersionFilesystem !== void 0) {
return cachedVersionFilesystem;
}
cachedVersionFilesystem = null;
try {
const lddContent = readFileSync4(LDD_PATH);
const versionMatch = lddContent.match(RE_GLIBC_VERSION);
if (versionMatch) {
cachedVersionFilesystem = versionMatch[1];
}
} catch (e) {
}
return cachedVersionFilesystem;
};
var versionFromReport = () => {
const report3 = getReport();
if (report3.header && report3.header.glibcVersionRuntime) {
return report3.header.glibcVersionRuntime;
}
return null;
};
var versionSuffix = (s) => s.trim().split(/\s+/)[1];
var versionFromCommand = (out) => {
const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
if (getconf && getconf.includes(GLIBC)) {
return versionSuffix(getconf);
}
if (ldd1 && ldd2 && ldd1.includes(MUSL2)) {
return versionSuffix(ldd2);
}
return null;
};
var version2 = async () => {
let version3 = null;
if (isLinux2()) {
version3 = await versionFromFilesystem();
if (!version3) {
version3 = versionFromReport();
}
if (!version3) {
const out = await safeCommand();
version3 = versionFromCommand(out);
}
}
return version3;
};
var versionSync = () => {
let version3 = null;
if (isLinux2()) {
version3 = versionFromFilesystemSync();
if (!version3) {
version3 = versionFromReport();
}
if (!version3) {
const out = safeCommandSync();
version3 = versionFromCommand(out);
}
}
return version3;
};
module2.exports = {
GLIBC,
MUSL: MUSL2,
family,
familySync: familySync6,
isNonGlibcLinux,
isNonGlibcLinuxSync,
version: version2,
versionSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/node-gyp-build-optional-packages/5.2.2/e2d2fc28f4d0eaa7fac1904123db86f87839f4cdd1ffc0e2b124adc9c1d9f616/node_modules/node-gyp-build-optional-packages/node-gyp-build.js
var require_node_gyp_build = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/node-gyp-build-optional-packages/5.2.2/e2d2fc28f4d0eaa7fac1904123db86f87839f4cdd1ffc0e2b124adc9c1d9f616/node_modules/node-gyp-build-optional-packages/node-gyp-build.js"(exports2, module2) {
var fs126 = __require("fs");
var path236 = __require("path");
var url7 = __require("url");
var os17 = __require("os");
var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
var vars = process.config && process.config.variables || {};
var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
var versions = process.versions;
var abi = versions.modules;
if (versions.deno || process.isBun) {
abi = "unsupported";
}
var runtime = isElectron2() ? "electron" : isNwjs() ? "node-webkit" : "node";
var arch2 = process.env.npm_config_arch || os17.arch();
var platform5 = process.env.npm_config_platform || os17.platform();
var libc = process.env.LIBC || (isMusl(platform5) ? "musl" : "glibc");
var armv = process.env.ARM_VERSION || (arch2 === "arm64" ? "8" : vars.arm_version) || "";
var uv = (versions.uv || "").split(".")[0];
module2.exports = load3;
function load3(dir) {
return runtimeRequire(load3.resolve(dir));
}
load3.resolve = load3.path = function(dir) {
dir = path236.resolve(dir || ".");
var packageName = "";
var packageNameError;
try {
packageName = runtimeRequire(path236.join(dir, "package.json")).name;
var varName = packageName.toUpperCase().replace(/-/g, "_");
if (process.env[varName + "_PREBUILD"]) dir = process.env[varName + "_PREBUILD"];
} catch (err2) {
packageNameError = err2;
}
if (!prebuildsOnly) {
var release = getFirst(path236.join(dir, "build/Release"), matchBuild);
if (release) return release;
var debug = getFirst(path236.join(dir, "build/Debug"), matchBuild);
if (debug) return debug;
}
var prebuild = resolve4(dir);
if (prebuild) return prebuild;
var nearby = resolve4(path236.dirname(process.execPath));
if (nearby) return nearby;
var platformPackage = (packageName[0] == "@" ? "" : "@" + packageName + "/") + packageName + "-" + platform5 + "-" + arch2;
var packageResolutionError;
try {
var prebuildPackage = path236.dirname(__require("module").createRequire(url7.pathToFileURL(path236.join(dir, "package.json"))).resolve(platformPackage));
return resolveFile(prebuildPackage);
} catch (error) {
packageResolutionError = error;
}
var target2 = [
"platform=" + platform5,
"arch=" + arch2,
"runtime=" + runtime,
"abi=" + abi,
"uv=" + uv,
armv ? "armv=" + armv : "",
"libc=" + libc,
"node=" + process.versions.node,
process.versions.electron ? "electron=" + process.versions.electron : "",
typeof __webpack_require__ === "function" ? "webpack=true" : ""
// eslint-disable-line
].filter(Boolean).join(" ");
let errMessage = "No native build was found for " + target2 + "\n attempted loading from: " + dir + " and package: " + platformPackage + "\n";
if (packageNameError) {
errMessage += "Error finding package.json: " + packageNameError.message + "\n";
}
if (packageResolutionError) {
errMessage += "Error resolving package: " + packageResolutionError.message + "\n";
}
throw new Error(errMessage);
function resolve4(dir2) {
var tuples = readdirSync4(path236.join(dir2, "prebuilds")).map(parseTuple);
var tuple = tuples.filter(matchTuple(platform5, arch2)).sort(compareTuples)[0];
if (!tuple) return;
return resolveFile(path236.join(dir2, "prebuilds", tuple.name));
}
function resolveFile(prebuilds) {
var parsed = readdirSync4(prebuilds).map(parseTags);
var candidates = parsed.filter(matchTags(runtime, abi));
var winner = candidates.sort(compareTags(runtime))[0];
if (winner) return path236.join(prebuilds, winner.file);
}
};
function readdirSync4(dir) {
try {
return fs126.readdirSync(dir);
} catch (err2) {
return [];
}
}
function getFirst(dir, filter14) {
var files = readdirSync4(dir).filter(filter14);
return files[0] && path236.join(dir, files[0]);
}
function matchBuild(name) {
return /\.node$/.test(name);
}
function parseTuple(name) {
var arr = name.split("-");
if (arr.length !== 2) return;
var platform6 = arr[0];
var architectures = arr[1].split("+");
if (!platform6) return;
if (!architectures.length) return;
if (!architectures.every(Boolean)) return;
return { name, platform: platform6, architectures };
}
function matchTuple(platform6, arch3) {
return function(tuple) {
if (tuple == null) return false;
if (tuple.platform !== platform6) return false;
return tuple.architectures.includes(arch3);
};
}
function compareTuples(a2, b) {
return a2.architectures.length - b.architectures.length;
}
function parseTags(file) {
var arr = file.split(".");
var extension = arr.pop();
var tags = { file, specificity: 0 };
if (extension !== "node") return;
for (var i4 = 0; i4 < arr.length; i4++) {
var tag = arr[i4];
if (tag === "node" || tag === "electron" || tag === "node-webkit") {
tags.runtime = tag;
} else if (tag === "napi") {
tags.napi = true;
} else if (tag.slice(0, 3) === "abi") {
tags.abi = tag.slice(3);
} else if (tag.slice(0, 2) === "uv") {
tags.uv = tag.slice(2);
} else if (tag.slice(0, 4) === "armv") {
tags.armv = tag.slice(4);
} else if (tag === "glibc" || tag === "musl") {
tags.libc = tag;
} else {
continue;
}
tags.specificity++;
}
return tags;
}
function matchTags(runtime2, abi2) {
return function(tags) {
if (tags == null) return false;
if (tags.runtime !== runtime2 && !runtimeAgnostic(tags)) return false;
if (tags.abi !== abi2 && !tags.napi) return false;
if (tags.uv && tags.uv !== uv) return false;
if (tags.armv && tags.armv !== armv) return false;
if (tags.libc && tags.libc !== libc) return false;
return true;
};
}
function runtimeAgnostic(tags) {
return tags.runtime === "node" && tags.napi;
}
function compareTags(runtime2) {
return function(a2, b) {
if (a2.runtime !== b.runtime) {
return a2.runtime === runtime2 ? -1 : 1;
} else if (a2.abi !== b.abi) {
return a2.abi ? -1 : 1;
} else if (a2.specificity !== b.specificity) {
return a2.specificity > b.specificity ? -1 : 1;
} else {
return 0;
}
};
}
function isNwjs() {
return !!(process.versions && process.versions.nw);
}
function isElectron2() {
if (process.versions && process.versions.electron) return true;
if (process.env.ELECTRON_RUN_AS_NODE) return true;
return typeof window !== "undefined" && window.process && window.process.type === "renderer";
}
function isMusl(platform6) {
if (platform6 !== "linux") return false;
const { familySync: familySync6, MUSL: MUSL2 } = require_detect_libc();
return familySync6() === MUSL2;
}
load3.parseTags = parseTags;
load3.matchTags = matchTags;
load3.compareTags = compareTags;
load3.parseTuple = parseTuple;
load3.matchTuple = matchTuple;
load3.compareTuples = compareTuples;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/node-gyp-build-optional-packages/5.2.2/e2d2fc28f4d0eaa7fac1904123db86f87839f4cdd1ffc0e2b124adc9c1d9f616/node_modules/node-gyp-build-optional-packages/index.js
var require_node_gyp_build_optional_packages = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/node-gyp-build-optional-packages/5.2.2/e2d2fc28f4d0eaa7fac1904123db86f87839f4cdd1ffc0e2b124adc9c1d9f616/node_modules/node-gyp-build-optional-packages/index.js"(exports2, module2) {
var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
if (typeof runtimeRequire.addon === "function") {
module2.exports = runtimeRequire.addon.bind(runtimeRequire);
} else {
module2.exports = require_node_gyp_build();
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr-extract/3.0.4/5f2fa3b3518dffb11d9500f22a2d0750c582db5a973c2486eb1a697b6439d322/node_modules/msgpackr-extract/index.js
var require_msgpackr_extract = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr-extract/3.0.4/5f2fa3b3518dffb11d9500f22a2d0750c582db5a973c2486eb1a697b6439d322/node_modules/msgpackr-extract/index.js"(exports2, module2) {
module2.exports = require_node_gyp_build_optional_packages()(__dirname);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/node-index.js
import { createRequire as createRequire4 } from "module";
var nativeAccelerationDisabled;
var init_node_index = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/msgpackr/2.0.4/4846a2ae9cbdea249e2eda7b79740c6d2b16af4f09769fa313dd4f4064702820/node_modules/msgpackr/node-index.js"() {
init_pack();
init_unpack();
init_stream2();
init_iterators();
init_unpack();
nativeAccelerationDisabled = process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED !== void 0 && process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED.toLowerCase() === "true";
if (!nativeAccelerationDisabled) {
let extractor;
try {
if (typeof __require == "function")
extractor = require_msgpackr_extract();
else
extractor = createRequire4(import.meta.url)("msgpackr-extract");
if (extractor)
setExtractor(extractor.extractStrings);
} catch (error) {
}
}
}
});
// ../store/index/lib/index.js
import fs20 from "node:fs";
import { createRequire as createRequire5 } from "node:module";
import { pathToFileURL } from "node:url";
function sqliteRetry(fn) {
for (let attempt = 0; ; attempt++) {
try {
return fn();
} catch (err2) {
if (isSqliteBusy(err2) && attempt < MAX_RETRIES) {
sleepSync(RETRY_DELAY_MS);
continue;
}
throw err2;
}
}
}
function isSqliteBusy(err2) {
return (err2?.errcode & 255) === SQLITE_BUSY;
}
function sleepSync(ms) {
Atomics.wait(sleepBuffer, 0, 0, ms);
}
function storeIndexKey(integrity, pkgId) {
return `${integrity} ${pkgId}`;
}
function gitHostedStoreIndexKey(pkgId, opts3) {
return storeIndexKey(pkgId, opts3.built ? "built" : "not-built");
}
function pickStoreIndexKey(resolution, pkgId, opts3) {
if (resolution.gitHosted || !resolution.integrity) {
return gitHostedStoreIndexKey(pkgId, opts3);
}
return storeIndexKey(resolution.integrity, pkgId);
}
function immutableSqliteUri(dbPath) {
const url7 = pathToFileURL(dbPath);
url7.searchParams.set("immutable", "1");
return url7.href;
}
function nodeSupportsImmutableSqliteUri() {
const [major, minor] = process.versions.node.split(".", 2).map(Number);
if (major < 22)
return false;
if (major === 22)
return minor >= 15;
if (major === 23)
return minor >= 11;
return true;
}
var FROZEN_STORE_WRITE_MESSAGE, req, DatabaseSync, packr, SQLITE_BUSY, RETRY_DELAY_MS, MAX_RETRIES, sleepBuffer, openInstances, StoreIndex, ReadOnlyStoreIndex;
var init_lib30 = __esm({
"../store/index/lib/index.js"() {
"use strict";
init_lib2();
init_node_index();
FROZEN_STORE_WRITE_MESSAGE = "Cannot write to the package store because frozenStore is enabled (the store is opened read-only). This indicates the store is missing content the install needs.";
req = createRequire5(import.meta.url);
({ DatabaseSync } = req("node:sqlite"));
packr = new Packr({
useRecords: true,
moreTypes: true
});
SQLITE_BUSY = 5;
RETRY_DELAY_MS = 50;
MAX_RETRIES = 100;
sleepBuffer = new Int32Array(new SharedArrayBuffer(4));
openInstances = /* @__PURE__ */ new Set();
StoreIndex = class {
db;
closed = false;
pendingWrites = [];
flushScheduled = false;
stmtGet;
stmtSet;
stmtDel;
stmtHas;
stmtAll;
stmtKeys;
exitHandler;
constructor(storeDir) {
this.openDatabase(storeDir);
this.prepareStatements();
this.exitHandler = () => this.close();
const currentMax = process.getMaxListeners();
if (currentMax !== 0 && currentMax < openInstances.size + 11) {
process.setMaxListeners(Math.max(currentMax + 10, openInstances.size + 11));
}
process.on("exit", this.exitHandler);
openInstances.add(this);
}
/** Open the SQLite connection. Overridden by {@link ReadOnlyStoreIndex}. */
openDatabase(storeDir) {
fs20.mkdirSync(storeDir, { recursive: true });
this.db = new DatabaseSync(`${storeDir}/index.db`);
this.db.exec("PRAGMA busy_timeout=5000");
sqliteRetry(() => {
this.db.exec("PRAGMA journal_mode=WAL");
this.db.exec("PRAGMA synchronous=NORMAL");
this.db.exec("PRAGMA mmap_size=536870912");
this.db.exec("PRAGMA cache_size=-32000");
this.db.exec("PRAGMA temp_store=MEMORY");
this.db.exec("PRAGMA wal_autocheckpoint=10000");
this.db.exec(`
CREATE TABLE IF NOT EXISTS package_index (
key TEXT PRIMARY KEY,
data BLOB NOT NULL
) WITHOUT ROWID
`);
});
}
/** Prepare the prepared statements. Overridden by {@link ReadOnlyStoreIndex} to skip the write statements. */
prepareStatements() {
this.stmtGet = this.db.prepare("SELECT data FROM package_index WHERE key = ?");
this.stmtSet = this.db.prepare("INSERT OR REPLACE INTO package_index (key, data) VALUES (?, ?)");
this.stmtDel = this.db.prepare("DELETE FROM package_index WHERE key = ?");
this.stmtHas = this.db.prepare("SELECT 1 FROM package_index WHERE key = ?");
this.stmtAll = this.db.prepare("SELECT key, data FROM package_index");
this.stmtKeys = this.db.prepare("SELECT key FROM package_index");
}
get(key) {
const row = sqliteRetry(() => this.stmtGet.get(key));
if (row) {
return packr.unpack(row.data);
}
return void 0;
}
/**
* Get the raw msgpack-encoded buffer for a key without decoding.
*/
getRaw(key) {
const row = sqliteRetry(() => this.stmtGet.get(key));
return row?.data;
}
set(key, data) {
const buffer3 = packr.pack(data);
sqliteRetry(() => {
this.stmtSet.run(key, buffer3);
});
}
delete(key) {
let result2;
sqliteRetry(() => {
result2 = this.stmtDel.run(key);
});
return result2.changes > 0;
}
has(key) {
return sqliteRetry(() => this.stmtHas.get(key)) != null;
}
/**
* Iterate over all index entries.
* Yields [key, data] pairs where key is `integrity\tpkgId`.
*/
*entries() {
for (const row of this.stmtAll.iterate()) {
yield [row.key, packr.unpack(row.data)];
}
}
/**
* Iterate over all index keys without decoding values.
* Much faster than entries() when only keys are needed.
*/
*keys() {
for (const row of this.stmtKeys.iterate()) {
yield row.key;
}
}
/**
* Queue pre-packed writes to be flushed on the next tick.
* Used by the fetch phase for throughput.
*/
queueWrites(writes) {
for (const w of writes) {
this.pendingWrites.push(w);
}
if (!this.flushScheduled) {
this.flushScheduled = true;
process.nextTick(() => this.flush());
}
}
/**
* Flush all pending queued writes immediately.
*/
flush() {
this.flushScheduled = false;
if (this.pendingWrites.length === 0)
return;
this.setRawMany(this.pendingWrites);
this.pendingWrites = [];
}
/**
* Write multiple pre-packed entries in a single transaction.
* The buffers must already be msgpack-encoded.
*/
setRawMany(entries) {
if (this.closed || entries.length === 0)
return;
if (entries.length === 1) {
sqliteRetry(() => {
this.stmtSet.run(entries[0].key, entries[0].buffer);
});
return;
}
sqliteRetry(() => {
this.db.exec("BEGIN IMMEDIATE");
let committed = false;
try {
for (const { key, buffer: buffer3 } of entries) {
this.stmtSet.run(key, buffer3);
}
this.db.exec("COMMIT");
committed = true;
} finally {
if (!committed) {
try {
this.db.exec("ROLLBACK");
} catch {
}
}
}
});
}
/**
* Delete multiple index entries in a single transaction,
* then VACUUM to reclaim disk space.
*/
deleteMany(keys4) {
if (keys4.length === 0)
return;
if (keys4.length === 1) {
this.delete(keys4[0]);
this.db.exec("VACUUM");
return;
}
sqliteRetry(() => {
this.db.exec("BEGIN IMMEDIATE");
let committed = false;
try {
for (const key of keys4) {
this.stmtDel.run(key);
}
this.db.exec("COMMIT");
committed = true;
} finally {
if (!committed) {
try {
this.db.exec("ROLLBACK");
} catch {
}
}
}
});
this.db.exec("VACUUM");
}
checkpoint() {
this.flush();
sqliteRetry(() => {
this.db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
});
}
close() {
if (this.closed)
return;
this.flush();
this.closed = true;
openInstances.delete(this);
process.removeListener("exit", this.exitHandler);
this.optimizeBeforeClose();
try {
this.db.close();
} catch {
}
}
/** Run `PRAGMA optimize` before closing. Overridden by {@link ReadOnlyStoreIndex} to skip it (the DB is immutable). */
optimizeBeforeClose() {
try {
this.db.exec("PRAGMA optimize");
} catch {
}
}
};
ReadOnlyStoreIndex = class extends StoreIndex {
openDatabase(storeDir) {
if (!nodeSupportsImmutableSqliteUri()) {
throw new PnpmError("FROZEN_STORE_UNSUPPORTED_NODE", `frozenStore opens the store index read-only via a SQLite "immutable" URI, which requires Node.js >=22.15.0, >=23.11.0, or >=24.0.0, but the current version is ${process.versions.node}. Upgrade Node.js, or run without frozenStore.`);
}
this.db = new DatabaseSync(immutableSqliteUri(`${storeDir}/index.db`));
}
prepareStatements() {
this.stmtGet = this.db.prepare("SELECT data FROM package_index WHERE key = ?");
this.stmtHas = this.db.prepare("SELECT 1 FROM package_index WHERE key = ?");
this.stmtAll = this.db.prepare("SELECT key, data FROM package_index");
this.stmtKeys = this.db.prepare("SELECT key FROM package_index");
}
optimizeBeforeClose() {
}
set(_key, _data) {
this.throwReadOnly();
}
delete(_key) {
this.throwReadOnly();
}
queueWrites(_writes) {
this.throwReadOnly();
}
setRawMany(_entries) {
this.throwReadOnly();
}
deleteMany(_keys) {
this.throwReadOnly();
}
checkpoint() {
this.throwReadOnly();
}
throwReadOnly() {
throw new PnpmError("FROZEN_STORE_WRITE", FROZEN_STORE_WRITE_MESSAGE);
}
};
}
});
// ../workspace/range-resolver/lib/index.js
function resolveWorkspaceRange(range, versions) {
if (range === "*" || range === "^" || range === "~" || range === "") {
return import_semver4.default.maxSatisfying(versions, "*", {
includePrerelease: true
});
}
return import_semver4.default.maxSatisfying(versions, range, {
loose: true
});
}
var import_semver4;
var init_lib31 = __esm({
"../workspace/range-resolver/lib/index.js"() {
"use strict";
import_semver4 = __toESM(require_semver2(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minipass/7.1.3/a7614fb87a3c89f60d8477ebaa7ab06ecdd2299e5cf0ba9963f19ef4d1c338ae/node_modules/minipass/dist/commonjs/index.js
var require_commonjs4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/minipass/7.1.3/a7614fb87a3c89f60d8477ebaa7ab06ecdd2299e5cf0ba9963f19ef4d1c338ae/node_modules/minipass/dist/commonjs/index.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
var proc = typeof process === "object" && process ? process : {
stdout: null,
stderr: null
};
var node_events_1 = __require("node:events");
var node_stream_1 = __importDefault2(__require("node:stream"));
var node_string_decoder_1 = __require("node:string_decoder");
var isStream4 = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
exports2.isStream = isStream4;
var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
s.pipe !== node_stream_1.default.Writable.prototype.pipe;
exports2.isReadable = isReadable;
var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
exports2.isWritable = isWritable;
var EOF = /* @__PURE__ */ Symbol("EOF");
var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
var CLOSED = /* @__PURE__ */ Symbol("closed");
var READ = /* @__PURE__ */ Symbol("read");
var FLUSH = /* @__PURE__ */ Symbol("flush");
var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
var ENCODING = /* @__PURE__ */ Symbol("encoding");
var DECODER = /* @__PURE__ */ Symbol("decoder");
var FLOWING = /* @__PURE__ */ Symbol("flowing");
var PAUSED = /* @__PURE__ */ Symbol("paused");
var RESUME = /* @__PURE__ */ Symbol("resume");
var BUFFER = /* @__PURE__ */ Symbol("buffer");
var PIPES = /* @__PURE__ */ Symbol("pipes");
var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
var ERROR = /* @__PURE__ */ Symbol("error");
var EMITDATA = /* @__PURE__ */ Symbol("emitData");
var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
var ASYNC = /* @__PURE__ */ Symbol("async");
var ABORT = /* @__PURE__ */ Symbol("abort");
var ABORTED = /* @__PURE__ */ Symbol("aborted");
var SIGNAL = /* @__PURE__ */ Symbol("signal");
var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
var DISCARDED = /* @__PURE__ */ Symbol("discarded");
var defer = (fn) => Promise.resolve().then(fn);
var nodefer = (fn) => fn();
var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
var Pipe = class {
src;
dest;
opts;
ondrain;
constructor(src2, dest, opts3) {
this.src = src2;
this.dest = dest;
this.opts = opts3;
this.ondrain = () => src2[RESUME]();
this.dest.on("drain", this.ondrain);
}
unpipe() {
this.dest.removeListener("drain", this.ondrain);
}
// only here for the prototype
/* c8 ignore start */
proxyErrors(_er) {
}
/* c8 ignore stop */
end() {
this.unpipe();
if (this.opts.end)
this.dest.end();
}
};
var PipeProxyErrors = class extends Pipe {
unpipe() {
this.src.removeListener("error", this.proxyErrors);
super.unpipe();
}
constructor(src2, dest, opts3) {
super(src2, dest, opts3);
this.proxyErrors = (er) => this.dest.emit("error", er);
src2.on("error", this.proxyErrors);
}
};
var isObjectModeOptions = (o2) => !!o2.objectMode;
var isEncodingOptions = (o2) => !o2.objectMode && !!o2.encoding && o2.encoding !== "buffer";
var Minipass = class extends node_events_1.EventEmitter {
[FLOWING] = false;
[PAUSED] = false;
[PIPES] = [];
[BUFFER] = [];
[OBJECTMODE];
[ENCODING];
[ASYNC];
[DECODER];
[EOF] = false;
[EMITTED_END] = false;
[EMITTING_END] = false;
[CLOSED] = false;
[EMITTED_ERROR] = null;
[BUFFERLENGTH] = 0;
[DESTROYED] = false;
[SIGNAL];
[ABORTED] = false;
[DATALISTENERS] = 0;
[DISCARDED] = false;
/**
* true if the stream can be written
*/
writable = true;
/**
* true if the stream can be read
*/
readable = true;
/**
* 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(...args) {
const options = args[0] || {};
super();
if (options.objectMode && typeof options.encoding === "string") {
throw new TypeError("Encoding and objectMode may not be used together");
}
if (isObjectModeOptions(options)) {
this[OBJECTMODE] = true;
this[ENCODING] = null;
} else if (isEncodingOptions(options)) {
this[ENCODING] = options.encoding;
this[OBJECTMODE] = false;
} else {
this[OBJECTMODE] = false;
this[ENCODING] = null;
}
this[ASYNC] = !!options.async;
this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
if (options && options.debugExposeBuffer === true) {
Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
}
if (options && options.debugExposePipes === true) {
Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
}
const { signal } = options;
if (signal) {
this[SIGNAL] = signal;
if (signal.aborted) {
this[ABORT]();
} else {
signal.addEventListener("abort", () => this[ABORT]());
}
}
}
/**
* 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[BUFFERLENGTH];
}
/**
* The `BufferEncoding` currently in use, or `null`
*/
get encoding() {
return this[ENCODING];
}
/**
* @deprecated - This is a read only property
*/
set encoding(_enc) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* @deprecated - Encoding may only be set at instantiation time
*/
setEncoding(_enc) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* True if this is an objectMode stream
*/
get objectMode() {
return this[OBJECTMODE];
}
/**
* @deprecated - This is a read-only property
*/
set objectMode(_om) {
throw new Error("objectMode must be set at instantiation time");
}
/**
* true if this is an async stream
*/
get ["async"]() {
return this[ASYNC];
}
/**
* 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"](a2) {
this[ASYNC] = this[ASYNC] || !!a2;
}
// drop everything and get out of the flow completely
[ABORT]() {
this[ABORTED] = true;
this.emit("abort", this[SIGNAL]?.reason);
this.destroy(this[SIGNAL]?.reason);
}
/**
* True if the stream has been aborted.
*/
get aborted() {
return this[ABORTED];
}
/**
* No-op setter. Stream aborted status is set via the AbortSignal provided
* in the constructor options.
*/
set aborted(_) {
}
write(chunk, encoding, cb) {
if (this[ABORTED])
return false;
if (this[EOF])
throw new Error("write after end");
if (this[DESTROYED]) {
this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
return true;
}
if (typeof encoding === "function") {
cb = encoding;
encoding = "utf8";
}
if (!encoding)
encoding = "utf8";
const fn = this[ASYNC] ? defer : nodefer;
if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
if (isArrayBufferView(chunk)) {
chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
} else if (isArrayBufferLike(chunk)) {
chunk = Buffer.from(chunk);
} else if (typeof chunk !== "string") {
throw new Error("Non-contiguous data written to non-objectMode stream");
}
}
if (this[OBJECTMODE]) {
if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
this[FLUSH](true);
if (this[FLOWING])
this.emit("data", chunk);
else
this[BUFFERPUSH](chunk);
if (this[BUFFERLENGTH] !== 0)
this.emit("readable");
if (cb)
fn(cb);
return this[FLOWING];
}
if (!chunk.length) {
if (this[BUFFERLENGTH] !== 0)
this.emit("readable");
if (cb)
fn(cb);
return this[FLOWING];
}
if (typeof chunk === "string" && // unless it is a string already ready for us to use
!(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
chunk = Buffer.from(chunk, encoding);
}
if (Buffer.isBuffer(chunk) && this[ENCODING]) {
chunk = this[DECODER].write(chunk);
}
if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
this[FLUSH](true);
if (this[FLOWING])
this.emit("data", chunk);
else
this[BUFFERPUSH](chunk);
if (this[BUFFERLENGTH] !== 0)
this.emit("readable");
if (cb)
fn(cb);
return this[FLOWING];
}
/**
* 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(n2) {
if (this[DESTROYED])
return null;
this[DISCARDED] = false;
if (this[BUFFERLENGTH] === 0 || n2 === 0 || n2 && n2 > this[BUFFERLENGTH]) {
this[MAYBE_EMIT_END]();
return null;
}
if (this[OBJECTMODE])
n2 = null;
if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
this[BUFFER] = [
this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
];
}
const ret2 = this[READ](n2 || null, this[BUFFER][0]);
this[MAYBE_EMIT_END]();
return ret2;
}
[READ](n2, chunk) {
if (this[OBJECTMODE])
this[BUFFERSHIFT]();
else {
const c3 = chunk;
if (n2 === c3.length || n2 === null)
this[BUFFERSHIFT]();
else if (typeof c3 === "string") {
this[BUFFER][0] = c3.slice(n2);
chunk = c3.slice(0, n2);
this[BUFFERLENGTH] -= n2;
} else {
this[BUFFER][0] = c3.subarray(n2);
chunk = c3.subarray(0, n2);
this[BUFFERLENGTH] -= n2;
}
}
this.emit("data", chunk);
if (!this[BUFFER].length && !this[EOF])
this.emit("drain");
return chunk;
}
end(chunk, encoding, cb) {
if (typeof chunk === "function") {
cb = chunk;
chunk = void 0;
}
if (typeof encoding === "function") {
cb = encoding;
encoding = "utf8";
}
if (chunk !== void 0)
this.write(chunk, encoding);
if (cb)
this.once("end", cb);
this[EOF] = true;
this.writable = false;
if (this[FLOWING] || !this[PAUSED])
this[MAYBE_EMIT_END]();
return this;
}
// don't let the internal resume be overwritten
[RESUME]() {
if (this[DESTROYED])
return;
if (!this[DATALISTENERS] && !this[PIPES].length) {
this[DISCARDED] = true;
}
this[PAUSED] = false;
this[FLOWING] = true;
this.emit("resume");
if (this[BUFFER].length)
this[FLUSH]();
else if (this[EOF])
this[MAYBE_EMIT_END]();
else
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[RESUME]();
}
/**
* Pause the stream
*/
pause() {
this[FLOWING] = false;
this[PAUSED] = true;
this[DISCARDED] = false;
}
/**
* true if the stream has been forcibly destroyed
*/
get destroyed() {
return this[DESTROYED];
}
/**
* true if the stream is currently in a flowing state, meaning that
* any writes will be immediately emitted.
*/
get flowing() {
return this[FLOWING];
}
/**
* true if the stream is currently in a paused state
*/
get paused() {
return this[PAUSED];
}
[BUFFERPUSH](chunk) {
if (this[OBJECTMODE])
this[BUFFERLENGTH] += 1;
else
this[BUFFERLENGTH] += chunk.length;
this[BUFFER].push(chunk);
}
[BUFFERSHIFT]() {
if (this[OBJECTMODE])
this[BUFFERLENGTH] -= 1;
else
this[BUFFERLENGTH] -= this[BUFFER][0].length;
return this[BUFFER].shift();
}
[FLUSH](noDrain = false) {
do {
} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
if (!noDrain && !this[BUFFER].length && !this[EOF])
this.emit("drain");
}
[FLUSHCHUNK](chunk) {
this.emit("data", chunk);
return this[FLOWING];
}
/**
* Pipe all data emitted by this stream into the destination provided.
*
* Triggers the flow of data.
*/
pipe(dest, opts3) {
if (this[DESTROYED])
return dest;
this[DISCARDED] = false;
const ended = this[EMITTED_END];
opts3 = opts3 || {};
if (dest === proc.stdout || dest === proc.stderr)
opts3.end = false;
else
opts3.end = opts3.end !== false;
opts3.proxyErrors = !!opts3.proxyErrors;
if (ended) {
if (opts3.end)
dest.end();
} else {
this[PIPES].push(!opts3.proxyErrors ? new Pipe(this, dest, opts3) : new PipeProxyErrors(this, dest, opts3));
if (this[ASYNC])
defer(() => this[RESUME]());
else
this[RESUME]();
}
return dest;
}
/**
* 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(dest) {
const p = this[PIPES].find((p2) => p2.dest === dest);
if (p) {
if (this[PIPES].length === 1) {
if (this[FLOWING] && this[DATALISTENERS] === 0) {
this[FLOWING] = false;
}
this[PIPES] = [];
} else
this[PIPES].splice(this[PIPES].indexOf(p), 1);
p.unpipe();
}
}
/**
* Alias for {@link Minipass#on}
*/
addListener(ev, handler82) {
return this.on(ev, handler82);
}
/**
* 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(ev, handler82) {
const ret2 = super.on(ev, handler82);
if (ev === "data") {
this[DISCARDED] = false;
this[DATALISTENERS]++;
if (!this[PIPES].length && !this[FLOWING]) {
this[RESUME]();
}
} else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
super.emit("readable");
} else if (isEndish(ev) && this[EMITTED_END]) {
super.emit(ev);
this.removeAllListeners(ev);
} else if (ev === "error" && this[EMITTED_ERROR]) {
const h2 = handler82;
if (this[ASYNC])
defer(() => h2.call(this, this[EMITTED_ERROR]));
else
h2.call(this, this[EMITTED_ERROR]);
}
return ret2;
}
/**
* Alias for {@link Minipass#off}
*/
removeListener(ev, handler82) {
return this.off(ev, handler82);
}
/**
* 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(ev, handler82) {
const ret2 = super.off(ev, handler82);
if (ev === "data") {
this[DATALISTENERS] = this.listeners("data").length;
if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
this[FLOWING] = false;
}
}
return ret2;
}
/**
* 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(ev) {
const ret2 = super.removeAllListeners(ev);
if (ev === "data" || ev === void 0) {
this[DATALISTENERS] = 0;
if (!this[DISCARDED] && !this[PIPES].length) {
this[FLOWING] = false;
}
}
return ret2;
}
/**
* true if the 'end' event has been emitted
*/
get emittedEnd() {
return this[EMITTED_END];
}
[MAYBE_EMIT_END]() {
if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
this[EMITTING_END] = true;
this.emit("end");
this.emit("prefinish");
this.emit("finish");
if (this[CLOSED])
this.emit("close");
this[EMITTING_END] = false;
}
}
/**
* 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(ev, ...args) {
const data = args[0];
if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
return false;
} else if (ev === "data") {
return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
} else if (ev === "end") {
return this[EMITEND]();
} else if (ev === "close") {
this[CLOSED] = true;
if (!this[EMITTED_END] && !this[DESTROYED])
return false;
const ret3 = super.emit("close");
this.removeAllListeners("close");
return ret3;
} else if (ev === "error") {
this[EMITTED_ERROR] = data;
super.emit(ERROR, data);
const ret3 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
this[MAYBE_EMIT_END]();
return ret3;
} else if (ev === "resume") {
const ret3 = super.emit("resume");
this[MAYBE_EMIT_END]();
return ret3;
} else if (ev === "finish" || ev === "prefinish") {
const ret3 = super.emit(ev);
this.removeAllListeners(ev);
return ret3;
}
const ret2 = super.emit(ev, ...args);
this[MAYBE_EMIT_END]();
return ret2;
}
[EMITDATA](data) {
for (const p of this[PIPES]) {
if (p.dest.write(data) === false)
this.pause();
}
const ret2 = this[DISCARDED] ? false : super.emit("data", data);
this[MAYBE_EMIT_END]();
return ret2;
}
[EMITEND]() {
if (this[EMITTED_END])
return false;
this[EMITTED_END] = true;
this.readable = false;
return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
}
[EMITEND2]() {
if (this[DECODER]) {
const data = this[DECODER].end();
if (data) {
for (const p of this[PIPES]) {
p.dest.write(data);
}
if (!this[DISCARDED])
super.emit("data", data);
}
}
for (const p of this[PIPES]) {
p.end();
}
const ret2 = super.emit("end");
this.removeAllListeners("end");
return ret2;
}
/**
* Return a Promise that resolves to an array of all emitted data once
* the stream ends.
*/
async collect() {
const buf = Object.assign([], {
dataLength: 0
});
if (!this[OBJECTMODE])
buf.dataLength = 0;
const p = this.promise();
this.on("data", (c3) => {
buf.push(c3);
if (!this[OBJECTMODE])
buf.dataLength += c3.length;
});
await p;
return buf;
}
/**
* 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[OBJECTMODE]) {
throw new Error("cannot concat in objectMode");
}
const buf = await this.collect();
return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
}
/**
* Return a void Promise that resolves once the stream ends.
*/
async promise() {
return new Promise((resolve4, reject3) => {
this.on(DESTROYED, () => reject3(new Error("stream destroyed")));
this.on("error", (er) => reject3(er));
this.on("end", () => resolve4());
});
}
/**
* Asynchronous `for await of` iteration.
*
* This will continue emitting all chunks until the stream terminates.
*/
[Symbol.asyncIterator]() {
this[DISCARDED] = false;
let stopped = false;
const stop = async () => {
this.pause();
stopped = true;
return { value: void 0, done: true };
};
const next2 = () => {
if (stopped)
return stop();
const res = this.read();
if (res !== null)
return Promise.resolve({ done: false, value: res });
if (this[EOF])
return stop();
let resolve4;
let reject3;
const onerr = (er) => {
this.off("data", ondata);
this.off("end", onend);
this.off(DESTROYED, ondestroy);
stop();
reject3(er);
};
const ondata = (value) => {
this.off("error", onerr);
this.off("end", onend);
this.off(DESTROYED, ondestroy);
this.pause();
resolve4({ value, done: !!this[EOF] });
};
const onend = () => {
this.off("error", onerr);
this.off("data", ondata);
this.off(DESTROYED, ondestroy);
stop();
resolve4({ done: true, value: void 0 });
};
const ondestroy = () => onerr(new Error("stream destroyed"));
return new Promise((res2, rej) => {
reject3 = rej;
resolve4 = res2;
this.once(DESTROYED, ondestroy);
this.once("error", onerr);
this.once("end", onend);
this.once("data", ondata);
});
};
return {
next: next2,
throw: stop,
return: stop,
[Symbol.asyncIterator]() {
return this;
},
[Symbol.asyncDispose]: async () => {
}
};
}
/**
* 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[DISCARDED] = false;
let stopped = false;
const stop = () => {
this.pause();
this.off(ERROR, stop);
this.off(DESTROYED, stop);
this.off("end", stop);
stopped = true;
return { done: true, value: void 0 };
};
const next2 = () => {
if (stopped)
return stop();
const value = this.read();
return value === null ? stop() : { done: false, value };
};
this.once("end", stop);
this.once(ERROR, stop);
this.once(DESTROYED, stop);
return {
next: next2,
throw: stop,
return: stop,
[Symbol.iterator]() {
return this;
},
[Symbol.dispose]: () => {
}
};
}
/**
* 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(er) {
if (this[DESTROYED]) {
if (er)
this.emit("error", er);
else
this.emit(DESTROYED);
return this;
}
this[DESTROYED] = true;
this[DISCARDED] = true;
this[BUFFER].length = 0;
this[BUFFERLENGTH] = 0;
const wc = this;
if (typeof wc.close === "function" && !this[CLOSED])
wc.close();
if (er)
this.emit("error", er);
else
this.emit(DESTROYED);
return this;
}
/**
* Alias for {@link isStream}
*
* Former export location, maintained for backwards compatibility.
*
* @deprecated
*/
static get isStream() {
return exports2.isStream;
}
};
exports2.Minipass = Minipass;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ssri/13.0.1/0e3fdd1493e4ec8319aea0525e25c8d014c405d7edc627b0e85e0b7f9ef7edb3/node_modules/ssri/lib/index.js
var require_lib18 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ssri/13.0.1/0e3fdd1493e4ec8319aea0525e25c8d014c405d7edc627b0e85e0b7f9ef7edb3/node_modules/ssri/lib/index.js"(exports2, module2) {
"use strict";
var crypto13 = __require("crypto");
var { Minipass } = require_commonjs4();
var SPEC_ALGORITHMS = ["sha512", "sha384", "sha256"];
var DEFAULT_ALGORITHMS = ["sha512"];
var NODE_HASHES = crypto13.getHashes();
var BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i;
var SRI_REGEX = /^([a-z0-9]+)-([^?]+)(\?[?\S*]*)?$/;
var STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/;
var VCHAR_REGEX = /^[\x21-\x7E]+$/;
var DEFAULT_PRIORITY = [
"md5",
"whirlpool",
"sha1",
"sha224",
"sha256",
"sha384",
"sha512",
// TODO - it's unclear _which_ of these Node will actually use as its name for the algorithm, so we guesswork it based on the OpenSSL names.
"sha3",
"sha3-256",
"sha3-384",
"sha3-512",
"sha3_256",
"sha3_384",
"sha3_512"
].filter((algo) => NODE_HASHES.includes(algo));
var getOptString = (options) => options?.length ? `?${options.join("?")}` : "";
var IntegrityStream = class extends Minipass {
#emittedIntegrity;
#emittedSize;
#emittedVerified;
constructor(opts3) {
super();
this.size = 0;
this.opts = opts3;
this.#getOptions();
if (opts3?.algorithms) {
this.algorithms = [...opts3.algorithms];
} else {
this.algorithms = [...DEFAULT_ALGORITHMS];
}
if (this.algorithm !== null && !this.algorithms.includes(this.algorithm)) {
this.algorithms.push(this.algorithm);
}
this.hashes = this.algorithms.map(crypto13.createHash);
}
#getOptions() {
this.sri = this.opts?.integrity ? parse12(this.opts?.integrity, this.opts) : null;
this.expectedSize = this.opts?.size;
if (!this.sri) {
this.algorithm = null;
} else if (this.sri.isHash) {
this.goodSri = true;
this.algorithm = this.sri.algorithm;
} else {
this.goodSri = !this.sri.isEmpty();
this.algorithm = this.sri.pickAlgorithm(this.opts);
}
this.digests = this.goodSri ? this.sri[this.algorithm] : null;
this.optString = getOptString(this.opts?.options);
}
on(ev, handler82) {
if (ev === "size" && this.#emittedSize) {
return handler82(this.#emittedSize);
}
if (ev === "integrity" && this.#emittedIntegrity) {
return handler82(this.#emittedIntegrity);
}
if (ev === "verified" && this.#emittedVerified) {
return handler82(this.#emittedVerified);
}
return super.on(ev, handler82);
}
emit(ev, data) {
if (ev === "end") {
this.#onEnd();
}
return super.emit(ev, data);
}
write(data) {
this.size += data.length;
this.hashes.forEach((h2) => h2.update(data));
return super.write(data);
}
#onEnd() {
if (!this.goodSri) {
this.#getOptions();
}
const newSri = parse12(this.hashes.map((h2, i4) => {
return `${this.algorithms[i4]}-${h2.digest("base64")}${this.optString}`;
}).join(" "), this.opts);
const match = this.goodSri && newSri.match(this.sri, this.opts);
if (typeof this.expectedSize === "number" && this.size !== this.expectedSize) {
const err2 = new Error(`stream size mismatch when checking ${this.sri}.
Wanted: ${this.expectedSize}
Found: ${this.size}`);
err2.code = "EBADSIZE";
err2.found = this.size;
err2.expected = this.expectedSize;
err2.sri = this.sri;
this.emit("error", err2);
} else if (this.sri && !match) {
const err2 = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`);
err2.code = "EINTEGRITY";
err2.found = newSri;
err2.expected = this.digests;
err2.algorithm = this.algorithm;
err2.sri = this.sri;
this.emit("error", err2);
} else {
this.#emittedSize = this.size;
this.emit("size", this.size);
this.#emittedIntegrity = newSri;
this.emit("integrity", newSri);
if (match) {
this.#emittedVerified = match;
this.emit("verified", match);
}
}
}
};
var Hash2 = class {
get isHash() {
return true;
}
constructor(hash2, opts3) {
const strict = opts3?.strict;
this.source = hash2.trim();
this.digest = "";
this.algorithm = "";
this.options = [];
const match = this.source.match(
strict ? STRICT_SRI_REGEX : SRI_REGEX
);
if (!match) {
return;
}
if (strict && !SPEC_ALGORITHMS.includes(match[1])) {
return;
}
if (!NODE_HASHES.includes(match[1])) {
return;
}
this.algorithm = match[1];
this.digest = match[2];
const rawOpts = match[3];
if (rawOpts) {
this.options = rawOpts.slice(1).split("?");
}
}
hexDigest() {
return this.digest && Buffer.from(this.digest, "base64").toString("hex");
}
toJSON() {
return this.toString();
}
match(integrity, opts3) {
const other = parse12(integrity, opts3);
if (!other) {
return false;
}
if (other.isIntegrity) {
const algo = other.pickAlgorithm(opts3, [this.algorithm]);
if (!algo) {
return false;
}
const foundHash = other[algo].find((hash2) => hash2.digest === this.digest);
if (foundHash) {
return foundHash;
}
return false;
}
return other.digest === this.digest ? other : false;
}
toString(opts3) {
if (opts3?.strict) {
if (!// The spec has very restricted productions for algorithms.
// https://www.w3.org/TR/CSP2/#source-list-syntax
(SPEC_ALGORITHMS.includes(this.algorithm) && // Usually, if someone insists on using a "different" base64, we leave it as-is, since there are multiple standards, and the specified is not a URL-safe variant.
// https://www.w3.org/TR/CSP2/#base64_value
this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars.
// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression
// https://tools.ietf.org/html/rfc5234#appendix-B.1
this.options.every((opt) => opt.match(VCHAR_REGEX)))) {
return "";
}
}
return `${this.algorithm}-${this.digest}${getOptString(this.options)}`;
}
};
function integrityHashToString(toString4, sep2, opts3, hashes) {
const toStringIsNotEmpty = toString4 !== "";
let shouldAddFirstSep = false;
let complement = "";
const lastIndex = hashes.length - 1;
for (let i4 = 0; i4 < lastIndex; i4++) {
const hashString = Hash2.prototype.toString.call(hashes[i4], opts3);
if (hashString) {
shouldAddFirstSep = true;
complement += hashString;
complement += sep2;
}
}
const finalHashString = Hash2.prototype.toString.call(hashes[lastIndex], opts3);
if (finalHashString) {
shouldAddFirstSep = true;
complement += finalHashString;
}
if (toStringIsNotEmpty && shouldAddFirstSep) {
return toString4 + sep2 + complement;
}
return toString4 + complement;
}
var Integrity = class {
get isIntegrity() {
return true;
}
toJSON() {
return this.toString();
}
isEmpty() {
return Object.keys(this).length === 0;
}
toString(opts3) {
let sep2 = opts3?.sep || " ";
let toString4 = "";
if (opts3?.strict) {
sep2 = sep2.replace(/\S+/g, " ");
for (const hash2 of SPEC_ALGORITHMS) {
if (this[hash2]) {
toString4 = integrityHashToString(toString4, sep2, opts3, this[hash2]);
}
}
} else {
for (const hash2 of Object.keys(this)) {
toString4 = integrityHashToString(toString4, sep2, opts3, this[hash2]);
}
}
return toString4;
}
concat(integrity, opts3) {
const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts3);
return parse12(`${this.toString(opts3)} ${other}`, opts3);
}
hexDigest() {
return parse12(this, { single: true }).hexDigest();
}
// add additional hashes to an integrity value, but prevent *changing* an existing integrity hash.
merge(integrity, opts3) {
const other = parse12(integrity, opts3);
for (const algo in other) {
if (this[algo]) {
if (!this[algo].find((hash2) => other[algo].find((otherhash) => hash2.digest === otherhash.digest))) {
throw new Error("hashes do not match, cannot update integrity");
}
} else {
this[algo] = other[algo];
}
}
}
match(integrity, opts3) {
const other = parse12(integrity, opts3);
if (!other) {
return false;
}
const algo = other.pickAlgorithm(opts3, Object.keys(this));
return !!algo && this[algo].find(
(hash2) => other[algo].find(
(otherhash) => hash2.digest === otherhash.digest
)
) || false;
}
// Pick the highest priority algorithm present, optionally also limited to a set of hashes found in another integrity.
// When limiting it may return nothing.
pickAlgorithm(opts3, hashes) {
const pickAlgorithm = opts3?.pickAlgorithm || getPrioritizedHash;
let keys4 = Object.keys(this);
if (hashes?.length) {
keys4 = keys4.filter((k2) => hashes.includes(k2));
}
if (keys4.length) {
return keys4.reduce((acc, algo) => pickAlgorithm(acc, algo) || acc);
}
return null;
}
};
module2.exports.parse = parse12;
function parse12(sri, opts3) {
if (!sri) {
return null;
}
if (typeof sri === "string") {
return _parse(sri, opts3);
} else if (sri.algorithm && sri.digest) {
const fullSri = new Integrity();
fullSri[sri.algorithm] = [sri];
return _parse(stringify2(fullSri, opts3), opts3);
} else {
return _parse(stringify2(sri, opts3), opts3);
}
}
function _parse(integrity, opts3) {
if (opts3?.single) {
return new Hash2(integrity, opts3);
}
const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => {
const hash2 = new Hash2(string, opts3);
if (hash2.algorithm && hash2.digest) {
const algo = hash2.algorithm;
if (!Object.keys(acc).includes(algo)) {
acc[algo] = [];
}
acc[algo].push(hash2);
}
return acc;
}, new Integrity());
return hashes.isEmpty() ? null : hashes;
}
module2.exports.stringify = stringify2;
function stringify2(obj, opts3) {
if (obj.algorithm && obj.digest) {
return Hash2.prototype.toString.call(obj, opts3);
} else if (typeof obj === "string") {
return stringify2(parse12(obj, opts3), opts3);
} else {
return Integrity.prototype.toString.call(obj, opts3);
}
}
module2.exports.fromHex = fromHex;
function fromHex(hexDigest, algorithm, opts3) {
const optString = getOptString(opts3?.options);
return parse12(
`${algorithm}-${Buffer.from(hexDigest, "hex").toString("base64")}${optString}`,
opts3
);
}
module2.exports.fromData = fromData;
function fromData(data, opts3) {
const algorithms = opts3?.algorithms || [...DEFAULT_ALGORITHMS];
const optString = getOptString(opts3?.options);
return algorithms.reduce((acc, algo) => {
const digest = crypto13.createHash(algo).update(data).digest("base64");
const hash2 = new Hash2(
`${algo}-${digest}${optString}`,
opts3
);
if (hash2.algorithm && hash2.digest) {
const hashAlgo = hash2.algorithm;
if (!acc[hashAlgo]) {
acc[hashAlgo] = [];
}
acc[hashAlgo].push(hash2);
}
return acc;
}, new Integrity());
}
module2.exports.fromStream = fromStream;
function fromStream(stream2, opts3) {
const istream = integrityStream(opts3);
return new Promise((resolve4, reject3) => {
stream2.pipe(istream);
stream2.on("error", reject3);
istream.on("error", reject3);
let sri;
istream.on("integrity", (s) => {
sri = s;
});
istream.on("end", () => resolve4(sri));
istream.resume();
});
}
module2.exports.checkData = checkData;
function checkData(data, sri, opts3) {
sri = parse12(sri, opts3);
if (!sri || !Object.keys(sri).length) {
if (opts3?.error) {
throw Object.assign(
new Error("No valid integrity hashes to check against"),
{
code: "EINTEGRITY"
}
);
} else {
return false;
}
}
const algorithm = sri.pickAlgorithm(opts3);
const digest = crypto13.createHash(algorithm).update(data).digest("base64");
const newSri = parse12({ algorithm, digest });
const match = newSri.match(sri, opts3);
opts3 = opts3 || {};
if (match || !opts3.error) {
return match;
} else if (typeof opts3.size === "number" && data.length !== opts3.size) {
const err2 = new Error(`data size mismatch when checking ${sri}.
Wanted: ${opts3.size}
Found: ${data.length}`);
err2.code = "EBADSIZE";
err2.found = data.length;
err2.expected = opts3.size;
err2.sri = sri;
throw err2;
} else {
const err2 = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`);
err2.code = "EINTEGRITY";
err2.found = newSri;
err2.expected = sri;
err2.algorithm = algorithm;
err2.sri = sri;
throw err2;
}
}
module2.exports.checkStream = checkStream;
function checkStream(stream2, sri, opts3) {
opts3 = opts3 || /* @__PURE__ */ Object.create(null);
opts3.integrity = sri;
sri = parse12(sri, opts3);
if (!sri || !Object.keys(sri).length) {
return Promise.reject(Object.assign(
new Error("No valid integrity hashes to check against"),
{
code: "EINTEGRITY"
}
));
}
const checker = integrityStream(opts3);
return new Promise((resolve4, reject3) => {
stream2.pipe(checker);
stream2.on("error", reject3);
checker.on("error", reject3);
let verified2;
checker.on("verified", (s) => {
verified2 = s;
});
checker.on("end", () => resolve4(verified2));
checker.resume();
});
}
module2.exports.integrityStream = integrityStream;
function integrityStream(opts3 = /* @__PURE__ */ Object.create(null)) {
return new IntegrityStream(opts3);
}
module2.exports.create = createIntegrity;
function createIntegrity(opts3) {
const algorithms = opts3?.algorithms || [...DEFAULT_ALGORITHMS];
const optString = getOptString(opts3?.options);
const hashes = algorithms.map(crypto13.createHash);
return {
update: function(chunk, enc) {
hashes.forEach((h2) => h2.update(chunk, enc));
return this;
},
digest: function() {
const integrity = algorithms.reduce((acc, algo) => {
const digest = hashes.shift().digest("base64");
const hash2 = new Hash2(`${algo}-${digest}${optString}`, opts3);
if (!acc[hash2.algorithm]) {
acc[hash2.algorithm] = [];
}
acc[hash2.algorithm].push(hash2);
return acc;
}, new Integrity());
return integrity;
}
};
}
function getPrioritizedHash(algo1, algo2) {
return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/version-selector-type/3.0.0/540564ceb76433d0c915e26bc76d3f5a15c77edca71ae6466b951c295a91cc3d/node_modules/version-selector-type/index.js
var require_version_selector_type = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/version-selector-type/3.0.0/540564ceb76433d0c915e26bc76d3f5a15c77edca71ae6466b951c295a91cc3d/node_modules/version-selector-type/index.js"(exports2, module2) {
"use strict";
var semver60 = require_semver2();
module2.exports = (selector) => versionSelectorType3(true, selector);
module2.exports.strict = (selector) => versionSelectorType3(false, selector);
function versionSelectorType3(loose, selector) {
if (typeof selector !== "string") {
throw new TypeError("`selector` should be a string");
}
let normalizedSelector;
if (normalizedSelector = semver60.valid(selector, loose)) {
return {
normalized: normalizedSelector,
type: "version"
};
}
if (normalizedSelector = semver60.validRange(selector, loose)) {
return {
normalized: normalizedSelector,
type: "range"
};
}
if (encodeURIComponent(selector) === selector) {
return {
normalized: selector,
type: "tag"
};
}
return null;
}
}
});
// ../resolving/npm-resolver/lib/clearMeta.js
function clearMeta(pkg) {
const versions = /* @__PURE__ */ Object.create(null);
for (const [version2, info] of Object.entries(pkg.versions ?? {})) {
versions[version2] = pick_default(ABBREVIATED_VERSION_FIELDS, info);
}
return {
name: pkg.name,
"dist-tags": pkg["dist-tags"],
versions,
time: pkg.time,
modified: pkg.modified
};
}
var ABBREVIATED_VERSION_FIELDS;
var init_clearMeta = __esm({
"../resolving/npm-resolver/lib/clearMeta.js"() {
"use strict";
init_es();
ABBREVIATED_VERSION_FIELDS = [
"name",
"version",
"bin",
"directories",
"devDependencies",
"optionalDependencies",
"dependencies",
"peerDependencies",
"dist",
"engines",
"peerDependenciesMeta",
"cpu",
"os",
"libc",
"deprecated",
"bundleDependencies",
"bundledDependencies",
"hasInstallScript",
"_npmUser"
];
}
});
// ../resolving/npm-resolver/lib/fetch.js
import url from "node:url";
import util6 from "node:util";
function stripTrailingSemverSuffix(pkgName) {
const atIdx = pkgName.lastIndexOf("@");
if (atIdx > 0 && import_semver5.default.valid(pkgName.slice(atIdx + 1)) != null) {
return pkgName.slice(0, atIdx);
}
let i4 = pkgName.length;
i4 = consumeTrailingDigits(pkgName, i4);
if (i4 === pkgName.length || i4 === 0 || pkgName.charCodeAt(i4 - 1) !== 46)
return void 0;
i4--;
const beforePatch = i4;
i4 = consumeTrailingDigits(pkgName, i4);
if (i4 === beforePatch || i4 === 0 || pkgName.charCodeAt(i4 - 1) !== 46)
return void 0;
i4--;
const beforeMinor = i4;
i4 = consumeTrailingDigits(pkgName, i4);
if (i4 === beforeMinor || i4 === 0)
return void 0;
if (import_semver5.default.valid(pkgName.slice(i4)) == null)
return void 0;
let prefix = pkgName.slice(0, i4);
if (prefix.endsWith("@"))
prefix = prefix.slice(0, -1);
return prefix.length > 0 ? prefix : void 0;
}
function consumeTrailingDigits(s, end) {
let i4 = end;
while (i4 > 0) {
const c3 = s.charCodeAt(i4 - 1);
if (c3 < 48 || c3 > 57)
break;
i4--;
}
return i4;
}
async function fetchMetadataFromFromRegistry(fetchOpts, pkgName, { authHeaderValue, etag: cachedEtag, fullMetadata, modified: cachedModified, registry }) {
const uri = toUri(pkgName, registry);
const op = retry.operation(fetchOpts.retry);
const ifModifiedSince = cachedModified ? new Date(cachedModified).toUTCString() : void 0;
const hasValidator = Boolean(cachedEtag || ifModifiedSince);
return new Promise((resolve4, reject3) => {
op.attempt(async (attempt) => {
let response;
const startTime = Date.now();
try {
const requestOptions = {
authHeaderValue,
compress: true,
fullMetadata,
ifNoneMatch: cachedEtag,
ifModifiedSince,
retry: fetchOpts.retry,
timeout: fetchOpts.timeout
};
response = await fetchOpts.fetch(uri, requestOptions);
if (response.status === 304 && !hasValidator) {
response = await fetchOpts.fetch(uri, {
...requestOptions,
headers: {
"cache-control": "no-cache"
}
});
}
} catch (error) {
if (util6.types.isNativeError(error)) {
if (typeof error.message === "string")
error.message = redactUrlCredentials(error.message);
if (typeof error.stack === "string")
error.stack = redactUrlCredentials(error.stack);
}
reject3(new PnpmError("META_FETCH_FAIL", redactUrlCredentials(`GET ${uri}: ${error.message}`), { attempts: attempt, cause: error }));
return;
}
if (response.status === 304) {
if (!hasValidator) {
reject3(new PnpmError("META_NOT_MODIFIED_WITHOUT_CACHE", `Registry returned 304 for ${pkgName} without an existing cache to refresh.`));
return;
}
resolve4({ notModified: true });
return;
}
if (response.status >= 400) {
const request = {
authHeaderValue,
url: uri
};
reject3(new RegistryResponseError(request, response, pkgName));
return;
}
try {
const jsonText = await response.text();
const meta = JSON.parse(jsonText);
const elapsedMs = Date.now() - startTime;
if (elapsedMs > fetchOpts.fetchWarnTimeoutMs) {
globalWarn(`Request took ${elapsedMs}ms: ${uri}`);
}
resolve4({
...normalizeAbbreviatedResponse({ fullMetadata, meta, jsonText, response }),
etag: response.headers.get("etag") ?? void 0
});
} catch (error) {
const timeout = op.retry(new PnpmError("BROKEN_METADATA_JSON", error.message));
if (timeout === false) {
reject3(op.mainError());
return;
}
const errorInfo = {
name: error.name,
message: error.message,
code: error.code,
errno: error.errno
};
requestRetryLogger.debug({
attempt,
error: errorInfo,
maxRetries: fetchOpts.retry.retries,
method: "GET",
timeout,
url: uri
});
}
});
});
}
function normalizeAbbreviatedResponse({ fullMetadata, meta, jsonText, response }) {
if (fullMetadata)
return { meta, jsonText };
if (parseMediaType(response.headers.get("content-type")) === ABBREVIATED_META_CONTENT_TYPE)
return { meta, jsonText };
const normalized = clearMeta(meta);
return { meta: normalized, jsonText: JSON.stringify(normalized) };
}
function parseMediaType(contentType) {
if (contentType == null)
return void 0;
const semicolonIndex = contentType.indexOf(";");
const mediaType = semicolonIndex === -1 ? contentType : contentType.slice(0, semicolonIndex);
return mediaType.trim().toLowerCase();
}
function toUri(pkgName, registry) {
let encodedName;
if (pkgName[0] === "@") {
encodedName = `@${encodeURIComponent(pkgName.slice(1))}`;
} else {
encodedName = encodeURIComponent(pkgName);
}
return new url.URL(encodedName, registry.endsWith("/") ? registry : `${registry}/`).toString();
}
var retry, import_semver5, ABBREVIATED_META_CONTENT_TYPE, RegistryResponseError;
var init_fetch2 = __esm({
"../resolving/npm-resolver/lib/fetch.js"() {
"use strict";
init_lib6();
init_lib2();
init_lib3();
retry = __toESM(require_retry2(), 1);
import_semver5 = __toESM(require_semver2(), 1);
init_clearMeta();
ABBREVIATED_META_CONTENT_TYPE = "application/vnd.npm.install-v1+json";
RegistryResponseError = class extends FetchError {
pkgName;
constructor(request, response, pkgName) {
let hint;
if (response.status === 404) {
hint = `${pkgName} is not in the npm registry, or you have no permission to fetch it.`;
const nameWithoutVersion = stripTrailingSemverSuffix(pkgName);
if (nameWithoutVersion != null) {
hint += ` Did you mean ${nameWithoutVersion}?`;
}
}
super(request, response, hint);
this.pkgName = pkgName;
}
};
}
});
// ../resolving/npm-resolver/lib/memoizeFetchMetadata.js
function memoizeFetchMetadata(fetch2) {
const cache = /* @__PURE__ */ new Map();
return {
fetch: (pkgName, opts3) => {
const key = JSON.stringify([pkgName, opts3]);
const cached = cache.get(key);
if (cached != null)
return cached;
const pending = fetch2(pkgName, opts3);
const bodiless = pending.then((result2) => result2.notModified ? result2 : { ...result2, jsonText: void 0 });
bodiless.catch(() => cache.delete(key));
cache.set(key, bodiless);
return pending;
},
clear: () => {
cache.clear();
}
};
}
var init_memoizeFetchMetadata = __esm({
"../resolving/npm-resolver/lib/memoizeFetchMetadata.js"() {
"use strict";
}
});
// ../resolving/npm-resolver/lib/normalizeRegistryUrl.js
function normalizeRegistryUrl(urlString) {
try {
return new URL(urlString).toString();
} catch {
return urlString;
}
}
var init_normalizeRegistryUrl = __esm({
"../resolving/npm-resolver/lib/normalizeRegistryUrl.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/7.0.2/814dcb947be9900c7df1d25263921c519f02120f3fc85aa99a69894e271e5507/node_modules/validate-npm-package-name/lib/builtin-modules.json
var require_builtin_modules = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/7.0.2/814dcb947be9900c7df1d25263921c519f02120f3fc85aa99a69894e271e5507/node_modules/validate-npm-package-name/lib/builtin-modules.json"(exports2, module2) {
module2.exports = ["_http_agent", "_http_client", "_http_common", "_http_incoming", "_http_outgoing", "_http_server", "_stream_duplex", "_stream_passthrough", "_stream_readable", "_stream_transform", "_stream_wrap", "_stream_writable", "_tls_common", "_tls_wrap", "assert", "assert/strict", "async_hooks", "buffer", "child_process", "cluster", "console", "constants", "crypto", "dgram", "diagnostics_channel", "dns", "dns/promises", "domain", "events", "fs", "fs/promises", "http", "http2", "https", "inspector", "inspector/promises", "module", "net", "os", "path", "path/posix", "path/win32", "perf_hooks", "process", "punycode", "querystring", "readline", "readline/promises", "repl", "stream", "stream/consumers", "stream/promises", "stream/web", "string_decoder", "sys", "timers", "timers/promises", "tls", "trace_events", "tty", "url", "util", "util/types", "v8", "vm", "wasi", "worker_threads", "zlib", "node:sea", "node:sqlite", "node:test", "node:test/reporters"];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/7.0.2/814dcb947be9900c7df1d25263921c519f02120f3fc85aa99a69894e271e5507/node_modules/validate-npm-package-name/lib/index.js
var require_lib19 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/validate-npm-package-name/7.0.2/814dcb947be9900c7df1d25263921c519f02120f3fc85aa99a69894e271e5507/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) {
"use strict";
var builtins = require_builtin_modules();
var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");
var exclusionList = [
"node_modules",
"favicon.ico"
];
function validate2(name) {
var warnings = [];
var errors2 = [];
if (name === null) {
errors2.push("name cannot be null");
return done(warnings, errors2);
}
if (name === void 0) {
errors2.push("name cannot be undefined");
return done(warnings, errors2);
}
if (typeof name !== "string") {
errors2.push("name must be a string");
return done(warnings, errors2);
}
if (!name.length) {
errors2.push("name length must be greater than zero");
}
if (name.startsWith(".")) {
errors2.push("name cannot start with a period");
}
if (name.startsWith("-")) {
errors2.push("name cannot start with a hyphen");
}
if (name.match(/^_/)) {
errors2.push("name cannot start with an underscore");
}
if (name.trim() !== name) {
errors2.push("name cannot contain leading or trailing spaces");
}
exclusionList.forEach(function(excludedName) {
if (name.toLowerCase() === excludedName) {
errors2.push(excludedName + " is not a valid package name");
}
});
if (builtins.includes(name.toLowerCase())) {
warnings.push(name + " is a core module name");
}
if (name.length > 214) {
warnings.push("name can no longer contain more than 214 characters");
}
if (name.toLowerCase() !== name) {
warnings.push("name can no longer contain capital letters");
}
if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) {
warnings.push(`name can no longer contain special characters ("~'!()*")`);
}
if (encodeURIComponent(name) !== name) {
var nameMatch = name.match(scopedPackagePattern);
if (nameMatch) {
var user = nameMatch[1];
var pkg = nameMatch[2];
if (pkg.startsWith(".")) {
errors2.push("name cannot start with a period");
}
if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) {
return done(warnings, errors2);
}
}
errors2.push("name can only contain URL-friendly characters");
}
return done(warnings, errors2);
}
var done = function(warnings, errors2) {
var result2 = {
validForNewPackages: errors2.length === 0 && warnings.length === 0,
validForOldPackages: errors2.length === 0,
warnings,
errors: errors2
};
if (!result2.warnings.length) {
delete result2.warnings;
}
if (!result2.errors.length) {
delete result2.errors;
}
return result2;
};
module2.exports = validate2;
}
});
// ../resolving/jsr-specifier-parser/lib/index.js
function parseJsrSpecifier(rawSpecifier, alias) {
if (!rawSpecifier.startsWith("jsr:"))
return null;
rawSpecifier = rawSpecifier.substring("jsr:".length);
if (rawSpecifier[0] === "@") {
const index2 = rawSpecifier.lastIndexOf("@");
if (index2 === 0) {
return {
jsrPkgName: rawSpecifier,
npmPkgName: jsrToNpmPackageName(rawSpecifier)
};
}
const jsrPkgName = rawSpecifier.substring(0, index2);
return {
jsrPkgName,
npmPkgName: jsrToNpmPackageName(jsrPkgName),
versionSelector: rawSpecifier.substring(index2 + "@".length)
};
}
if (rawSpecifier.includes("@")) {
throw new PnpmError("MISSING_JSR_PACKAGE_SCOPE", "Package names from JSR must have a scope");
}
if (!alias) {
throw new PnpmError("INVALID_JSR_SPECIFIER", `JSR specifier '${rawSpecifier}' is missing a package name`);
}
return {
versionSelector: rawSpecifier,
jsrPkgName: alias,
npmPkgName: jsrToNpmPackageName(alias)
};
}
function jsrToNpmPackageName(jsrPkgName) {
if (jsrPkgName[0] !== "@") {
throw new PnpmError("MISSING_JSR_PACKAGE_SCOPE", "Package names from JSR must have a scope");
}
if (!(0, import_validate_npm_package_name.default)(jsrPkgName).validForOldPackages) {
throw new PnpmError("INVALID_JSR_PACKAGE_NAME", `The package name '${jsrPkgName}' is invalid`);
}
const sepIndex = jsrPkgName.indexOf("/");
const scope = jsrPkgName.substring("@".length, sepIndex);
const name = jsrPkgName.substring(sepIndex + "/".length);
return `@jsr/${scope}__${name}`;
}
var import_validate_npm_package_name;
var init_lib32 = __esm({
"../resolving/jsr-specifier-parser/lib/index.js"() {
"use strict";
init_lib2();
import_validate_npm_package_name = __toESM(require_lib19(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-npm-tarball-url/5.0.0/479512fb822f97e9363065094f6c39b7f759ac572c7af354d4d3161618a4e929/node_modules/parse-npm-tarball-url/lib/index.js
import assert from "node:assert";
function parseNpmTarballUrl(url7) {
assert(url7, "url is required");
assert(typeof url7 === "string", "url should be a string");
const { pathname: path236, host } = new URL(url7);
if (!path236 || !host)
return null;
const pkg = parsePath(path236);
if (!pkg)
return null;
return {
host,
name: pkg.name,
version: pkg.version
};
}
function parsePath(path236) {
const parts = path236.split("/-/");
if (parts.length !== 2)
return null;
const name = parts[0] && decodeURIComponent(parts[0].slice(1));
if (!name)
return null;
const pathWithNoExtension = parts[1].replace(/\.tgz$/, "");
const scopelessNameLength = name.length - (name.indexOf("/") + 1);
const version2 = pathWithNoExtension.slice(scopelessNameLength + 1);
if (!import_semver6.default.valid(version2, true))
return null;
return { name, version: version2 };
}
var import_semver6;
var init_lib33 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-npm-tarball-url/5.0.0/479512fb822f97e9363065094f6c39b7f759ac572c7af354d4d3161618a4e929/node_modules/parse-npm-tarball-url/lib/index.js"() {
import_semver6 = __toESM(require_semver2(), 1);
}
});
// ../resolving/npm-resolver/lib/parseBareSpecifier.js
function parseBareSpecifier(bareSpecifier, alias, defaultTag, registry) {
let name = alias;
if (bareSpecifier.startsWith("npm:")) {
bareSpecifier = bareSpecifier.slice(4);
if (alias && import_semver7.default.validRange(bareSpecifier) != null) {
name = alias;
} else {
const index2 = bareSpecifier.lastIndexOf("@");
if (index2 < 1) {
name = bareSpecifier;
bareSpecifier = defaultTag;
} else {
name = bareSpecifier.slice(0, index2);
bareSpecifier = bareSpecifier.slice(index2 + 1);
}
}
}
if (name) {
const selector = (0, import_version_selector_type.default)(bareSpecifier);
if (selector != null) {
return {
fetchSpec: selector.normalized,
name,
type: selector.type
};
}
}
if (bareSpecifier.startsWith(registry)) {
const pkg = parseNpmTarballUrl(bareSpecifier);
if (pkg != null) {
return {
fetchSpec: pkg.version,
name: pkg.name,
normalizedBareSpecifier: bareSpecifier,
type: "version"
};
}
}
return null;
}
function parseJsrSpecifierToRegistryPackageSpec(rawSpecifier, alias, defaultTag) {
const spec = parseJsrSpecifier(rawSpecifier, alias);
if (!spec?.npmPkgName)
return null;
const selector = (0, import_version_selector_type.default)(spec.versionSelector ?? defaultTag);
if (selector == null)
return null;
return {
fetchSpec: selector.normalized,
name: spec.npmPkgName,
type: selector.type,
jsrPkgName: spec.jsrPkgName
};
}
function parseNamedRegistrySpecifierToRegistryPackageSpec(rawSpecifier, knownRegistryNames, packageAlias, defaultTag) {
const colon = rawSpecifier.indexOf(":");
if (colon <= 0)
return null;
const registryName = rawSpecifier.substring(0, colon);
if (!knownRegistryNames.has(registryName))
return null;
const body = rawSpecifier.substring(colon + 1);
let pkgName;
let versionSelector;
if (import_semver7.default.validRange(body) != null) {
if (!packageAlias)
return null;
pkgName = packageAlias;
versionSelector = body;
} else if (body[0] === "@") {
const index2 = body.lastIndexOf("@");
if (index2 === 0) {
pkgName = body;
} else {
pkgName = body.substring(0, index2);
versionSelector = body.substring(index2 + "@".length);
}
} else if (packageAlias?.startsWith("@")) {
pkgName = packageAlias;
versionSelector = body;
} else {
const index2 = body.lastIndexOf("@");
if (index2 < 1) {
pkgName = body;
} else {
pkgName = body.substring(0, index2);
versionSelector = body.substring(index2 + "@".length);
}
if (!pkgName)
return null;
}
if (!(0, import_validate_npm_package_name2.default)(pkgName).validForOldPackages) {
throw new PnpmError("INVALID_NAMED_REGISTRY_PACKAGE_NAME", `The package name '${pkgName}' in named registry '${registryName}:' is invalid`);
}
const selector = (0, import_version_selector_type.default)(versionSelector ?? defaultTag);
if (selector == null)
return null;
return {
fetchSpec: selector.normalized,
name: pkgName,
type: selector.type,
registryName
};
}
var import_semver7, import_validate_npm_package_name2, import_version_selector_type, BUILTIN_NAMED_REGISTRIES;
var init_parseBareSpecifier = __esm({
"../resolving/npm-resolver/lib/parseBareSpecifier.js"() {
"use strict";
init_lib2();
init_lib32();
init_lib33();
import_semver7 = __toESM(require_semver2(), 1);
import_validate_npm_package_name2 = __toESM(require_lib19(), 1);
import_version_selector_type = __toESM(require_version_selector_type(), 1);
BUILTIN_NAMED_REGISTRIES = Object.freeze({
gh: "https://npm.pkg.github.com/"
});
}
});
// ../crypto/hash/lib/index.js
import crypto3 from "node:crypto";
import fs21 from "node:fs";
function createShortHash(input) {
return createHexHash(input).substring(0, 32);
}
function createHexHash(input) {
return crypto3.hash("sha256", input, "hex");
}
function createHash(input) {
return `sha256-${crypto3.hash("sha256", input, "base64")}`;
}
async function createHashFromMultipleFiles(files) {
if (files.length === 1) {
return createHashFromFile(files[0]);
}
const hashes = await Promise.all(files.map(createHashFromFile));
return createHash(hashes.join(","));
}
async function createHashFromFile(file) {
return createHash(await readNormalizedFile(file));
}
async function createHexHashFromFile(file) {
return createHexHash(await readNormalizedFile(file));
}
async function readNormalizedFile(file) {
const content = await fs21.promises.readFile(file, "utf8");
return content.split("\r\n").join("\n");
}
async function getTarballIntegrity(filename) {
return (await import_ssri.default.fromStream(lib_default.createReadStream(filename))).toString();
}
var import_ssri;
var init_lib34 = __esm({
"../crypto/hash/lib/index.js"() {
"use strict";
init_lib14();
import_ssri = __toESM(require_lib18(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mimic-fn/3.1.0/67725f89fa5029d31ee290b3c28e8074d91c74c87a50f77c2bee796ea87e1f20/node_modules/mimic-fn/index.js
var require_mimic_fn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mimic-fn/3.1.0/67725f89fa5029d31ee290b3c28e8074d91c74c87a50f77c2bee796ea87e1f20/node_modules/mimic-fn/index.js"(exports2, module2) {
"use strict";
var copyProperty2 = (to, from5, property, ignoreNonConfigurable) => {
if (property === "length" || property === "prototype") {
return;
}
if (property === "arguments" || property === "caller") {
return;
}
const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
const fromDescriptor = Object.getOwnPropertyDescriptor(from5, property);
if (!canCopyProperty2(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
return;
}
Object.defineProperty(to, property, fromDescriptor);
};
var canCopyProperty2 = function(toDescriptor, fromDescriptor) {
return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
};
var changePrototype2 = (to, from5) => {
const fromPrototype = Object.getPrototypeOf(from5);
if (fromPrototype === Object.getPrototypeOf(to)) {
return;
}
Object.setPrototypeOf(to, fromPrototype);
};
var wrappedToString2 = (withName, fromBody) => `/* Wrapped ${withName}*/
${fromBody}`;
var toStringDescriptor2 = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
var toStringName2 = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
var changeToString2 = (to, from5, name) => {
const withName = name === "" ? "" : `with ${name.trim()}() `;
const newToString = wrappedToString2.bind(null, withName, from5.toString());
Object.defineProperty(newToString, "name", toStringName2);
Object.defineProperty(to, "toString", { ...toStringDescriptor2, value: newToString });
};
var mimicFn = (to, from5, { ignoreNonConfigurable = false } = {}) => {
const { name } = to;
for (const property of Reflect.ownKeys(from5)) {
copyProperty2(to, from5, property, ignoreNonConfigurable);
}
changePrototype2(to, from5);
changeToString2(to, from5, name);
return to;
};
module2.exports = mimicFn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-defer/1.0.0/3e126ce50553d4b3b893fef989fcdbc5709234b11a2da7bc8a096832ba88c29b/node_modules/p-defer/index.js
var require_p_defer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-defer/1.0.0/3e126ce50553d4b3b893fef989fcdbc5709234b11a2da7bc8a096832ba88c29b/node_modules/p-defer/index.js"(exports2, module2) {
"use strict";
module2.exports = () => {
const ret2 = {};
ret2.promise = new Promise((resolve4, reject3) => {
ret2.resolve = resolve4;
ret2.reject = reject3;
});
return ret2;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/map-age-cleaner/0.1.3/be41cd0fbfd96202f4ead722c1ea45ded378677c7695993beee3114ff63ef4c8/node_modules/map-age-cleaner/dist/index.js
var require_dist2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/map-age-cleaner/0.1.3/be41cd0fbfd96202f4ead722c1ea45ded378677c7695993beee3114ff63ef4c8/node_modules/map-age-cleaner/dist/index.js"(exports2, module2) {
"use strict";
var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P2, generator) {
return new (P2 || (P2 = Promise))(function(resolve4, reject3) {
function fulfilled(value) {
try {
step2(generator.next(value));
} catch (e) {
reject3(e);
}
}
function rejected(value) {
try {
step2(generator["throw"](value));
} catch (e) {
reject3(e);
}
}
function step2(result2) {
result2.done ? resolve4(result2.value) : new P2(function(resolve5) {
resolve5(result2.value);
}).then(fulfilled, rejected);
}
step2((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var p_defer_1 = __importDefault2(require_p_defer());
function mapAgeCleaner(map26, property = "maxAge") {
let processingKey;
let processingTimer;
let processingDeferred;
const cleanup2 = () => __awaiter2(this, void 0, void 0, function* () {
if (processingKey !== void 0) {
return;
}
const setupTimer = (item) => __awaiter2(this, void 0, void 0, function* () {
processingDeferred = p_defer_1.default();
const delay = item[1][property] - Date.now();
if (delay <= 0) {
map26.delete(item[0]);
processingDeferred.resolve();
return;
}
processingKey = item[0];
processingTimer = setTimeout(() => {
map26.delete(item[0]);
if (processingDeferred) {
processingDeferred.resolve();
}
}, delay);
if (typeof processingTimer.unref === "function") {
processingTimer.unref();
}
return processingDeferred.promise;
});
try {
for (const entry of map26) {
yield setupTimer(entry);
}
} catch (_a2) {
}
processingKey = void 0;
});
const reset2 = () => {
processingKey = void 0;
if (processingTimer !== void 0) {
clearTimeout(processingTimer);
processingTimer = void 0;
}
if (processingDeferred !== void 0) {
processingDeferred.reject(void 0);
processingDeferred = void 0;
}
};
const originalSet = map26.set.bind(map26);
map26.set = (key, value) => {
if (map26.has(key)) {
map26.delete(key);
}
const result2 = originalSet(key, value);
if (processingKey && processingKey === key) {
reset2();
}
cleanup2();
return result2;
};
cleanup2();
return map26;
}
exports2.default = mapAgeCleaner;
module2.exports = mapAgeCleaner;
module2.exports.default = mapAgeCleaner;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mem/8.1.1/bd24b7ae63c9701bbf5937e541379deb0da48fe02c2aae4e703a0fede07fced2/node_modules/mem/dist/index.js
var require_dist3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mem/8.1.1/bd24b7ae63c9701bbf5937e541379deb0da48fe02c2aae4e703a0fede07fced2/node_modules/mem/dist/index.js"(exports2, module2) {
"use strict";
var mimicFn = require_mimic_fn();
var mapAgeCleaner = require_dist2();
var decoratorInstanceMap = /* @__PURE__ */ new WeakMap();
var cacheStore2 = /* @__PURE__ */ new WeakMap();
var mem = (fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) => {
if (typeof maxAge === "number") {
mapAgeCleaner(cache);
}
const memoized2 = function(...arguments_) {
const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
const cacheItem = cache.get(key);
if (cacheItem) {
return cacheItem.data;
}
const result2 = fn.apply(this, arguments_);
cache.set(key, {
data: result2,
maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY
});
return result2;
};
mimicFn(memoized2, fn, {
ignoreNonConfigurable: true
});
cacheStore2.set(memoized2, cache);
return memoized2;
};
mem.decorator = (options = {}) => (target2, propertyKey, descriptor) => {
const input = target2[propertyKey];
if (typeof input !== "function") {
throw new TypeError("The decorated value must be a function");
}
delete descriptor.value;
delete descriptor.writable;
descriptor.get = function() {
if (!decoratorInstanceMap.has(this)) {
const value = mem(input, options);
decoratorInstanceMap.set(this, value);
return value;
}
return decoratorInstanceMap.get(this);
};
};
mem.clear = (fn) => {
const cache = cacheStore2.get(fn);
if (!cache) {
throw new TypeError("Can't clear a function that was not memoized!");
}
if (typeof cache.clear !== "function") {
throw new TypeError("The cache Map can't be cleared!");
}
cache.clear();
};
module2.exports = mem;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/encode-registry/3.0.1/4c541124f325e20283cba585b872be483c1a90e1d0510ab093720a0706066a2a/node_modules/encode-registry/index.js
var require_encode_registry = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/encode-registry/3.0.1/4c541124f325e20283cba585b872be483c1a90e1d0510ab093720a0706066a2a/node_modules/encode-registry/index.js"(exports2, module2) {
"use strict";
var assert13 = __require("assert");
var { URL: URL7 } = __require("url");
var mem = require_dist3();
module2.exports = mem(encodeRegistry);
function encodeRegistry(registry) {
assert13(registry, "`registry` is required");
assert13(typeof registry === "string", "`registry` should be a string");
const host = getHost(registry);
return escapeHost(host);
}
function escapeHost(host) {
return host.replace(":", "+");
}
function getHost(rawUrl) {
let urlObj;
try {
urlObj = new URL7(rawUrl);
} catch (err2) {
throw new Error(`Failed to parse registry URL "${rawUrl}": ${err2.message}`);
}
if (!urlObj || !urlObj.host) {
throw new Error(`Couldn't get host from ${rawUrl}`);
}
return urlObj.host;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/crypto-random-string/4.0.0/62825d7a2c34eedb81d0d583bb2f53f6aba7872f7f7458f24e1bf78c432f86ed/node_modules/crypto-random-string/index.js
import { promisify as promisify12 } from "util";
import crypto4 from "crypto";
var randomBytesAsync, urlSafeCharacters, numericCharacters, distinguishableCharacters, asciiPrintableCharacters, alphanumericCharacters, generateForCustomCharacters, generateForCustomCharactersAsync, generateRandomBytes, generateRandomBytesAsync, allowedTypes, createGenerator, cryptoRandomString, crypto_random_string_default;
var init_crypto_random_string = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/crypto-random-string/4.0.0/62825d7a2c34eedb81d0d583bb2f53f6aba7872f7f7458f24e1bf78c432f86ed/node_modules/crypto-random-string/index.js"() {
randomBytesAsync = promisify12(crypto4.randomBytes);
urlSafeCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~".split("");
numericCharacters = "0123456789".split("");
distinguishableCharacters = "CDEHKMPRTUWXY012458".split("");
asciiPrintableCharacters = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~".split("");
alphanumericCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split("");
generateForCustomCharacters = (length, characters) => {
const characterCount = characters.length;
const maxValidSelector = Math.floor(65536 / characterCount) * characterCount - 1;
const entropyLength = 2 * Math.ceil(1.1 * length);
let string = "";
let stringLength2 = 0;
while (stringLength2 < length) {
const entropy = crypto4.randomBytes(entropyLength);
let entropyPosition = 0;
while (entropyPosition < entropyLength && stringLength2 < length) {
const entropyValue = entropy.readUInt16LE(entropyPosition);
entropyPosition += 2;
if (entropyValue > maxValidSelector) {
continue;
}
string += characters[entropyValue % characterCount];
stringLength2++;
}
}
return string;
};
generateForCustomCharactersAsync = async (length, characters) => {
const characterCount = characters.length;
const maxValidSelector = Math.floor(65536 / characterCount) * characterCount - 1;
const entropyLength = 2 * Math.ceil(1.1 * length);
let string = "";
let stringLength2 = 0;
while (stringLength2 < length) {
const entropy = await randomBytesAsync(entropyLength);
let entropyPosition = 0;
while (entropyPosition < entropyLength && stringLength2 < length) {
const entropyValue = entropy.readUInt16LE(entropyPosition);
entropyPosition += 2;
if (entropyValue > maxValidSelector) {
continue;
}
string += characters[entropyValue % characterCount];
stringLength2++;
}
}
return string;
};
generateRandomBytes = (byteLength2, type4, length) => crypto4.randomBytes(byteLength2).toString(type4).slice(0, length);
generateRandomBytesAsync = async (byteLength2, type4, length) => {
const buffer3 = await randomBytesAsync(byteLength2);
return buffer3.toString(type4).slice(0, length);
};
allowedTypes = /* @__PURE__ */ new Set([
void 0,
"hex",
"base64",
"url-safe",
"numeric",
"distinguishable",
"ascii-printable",
"alphanumeric"
]);
createGenerator = (generateForCustomCharacters2, generateRandomBytes2) => ({ length, type: type4, characters }) => {
if (!(length >= 0 && Number.isFinite(length))) {
throw new TypeError("Expected a `length` to be a non-negative finite number");
}
if (type4 !== void 0 && characters !== void 0) {
throw new TypeError("Expected either `type` or `characters`");
}
if (characters !== void 0 && typeof characters !== "string") {
throw new TypeError("Expected `characters` to be string");
}
if (!allowedTypes.has(type4)) {
throw new TypeError(`Unknown type: ${type4}`);
}
if (type4 === void 0 && characters === void 0) {
type4 = "hex";
}
if (type4 === "hex" || type4 === void 0 && characters === void 0) {
return generateRandomBytes2(Math.ceil(length * 0.5), "hex", length);
}
if (type4 === "base64") {
return generateRandomBytes2(Math.ceil(length * 0.75), "base64", length);
}
if (type4 === "url-safe") {
return generateForCustomCharacters2(length, urlSafeCharacters);
}
if (type4 === "numeric") {
return generateForCustomCharacters2(length, numericCharacters);
}
if (type4 === "distinguishable") {
return generateForCustomCharacters2(length, distinguishableCharacters);
}
if (type4 === "ascii-printable") {
return generateForCustomCharacters2(length, asciiPrintableCharacters);
}
if (type4 === "alphanumeric") {
return generateForCustomCharacters2(length, alphanumericCharacters);
}
if (characters.length === 0) {
throw new TypeError("Expected `characters` string length to be greater than or equal to 1");
}
if (characters.length > 65536) {
throw new TypeError("Expected `characters` string length to be less or equal to 65536");
}
return generateForCustomCharacters2(length, characters.split(""));
};
cryptoRandomString = createGenerator(generateForCustomCharacters, generateRandomBytes);
cryptoRandomString.async = createGenerator(generateForCustomCharactersAsync, generateRandomBytesAsync);
crypto_random_string_default = cryptoRandomString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unique-string/3.0.0/a866cc9b5c54cfdb51fd873a65f819a8cf9cedf7f734bec6917212cc97bd4e56/node_modules/unique-string/index.js
function uniqueString() {
return crypto_random_string_default({ length: 32 });
}
var init_unique_string = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/unique-string/3.0.0/a866cc9b5c54cfdb51fd873a65f819a8cf9cedf7f734bec6917212cc97bd4e56/node_modules/unique-string/index.js"() {
init_crypto_random_string();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-temp/3.0.0/8b4b1aa7fd55674c92bd1b76de62ec746ab9b416377d8b2ecb6a51c4d56db367/node_modules/path-temp/index.js
import path30 from "node:path";
import { threadId } from "node:worker_threads";
function pathTemp(folder) {
return path30.join(folder, `_tmp_${process.pid}_${uniqueString()}`);
}
function fastPathTemp(file) {
return path30.join(path30.dirname(file), `${path30.basename(file)}_tmp_${process.pid}_${threadId}`);
}
var init_path_temp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-temp/3.0.0/8b4b1aa7fd55674c92bd1b76de62ec746ab9b416377d8b2ecb6a51c4d56db367/node_modules/path-temp/index.js"() {
init_unique_string();
}
});
// ../resolving/registry/pkg-metadata-filter/lib/index.js
function filterPkgMetadataByPublishDate(pkgDoc, publishedBy, trustedVersions) {
const versionsWithinDate = {};
for (const version2 in pkgDoc.versions) {
if (!Object.hasOwn(pkgDoc.versions, version2))
continue;
const timeStr = pkgDoc.time[version2];
if (timeStr && new Date(timeStr) <= publishedBy || trustedVersions?.includes(version2)) {
versionsWithinDate[version2] = pkgDoc.versions[version2];
}
}
const distTagsWithinDate = {};
const allDistTags = pkgDoc["dist-tags"] ?? {};
const parsedSemverCache = /* @__PURE__ */ new Map();
function tryParseSemver(semverStr) {
let parsedSemver = parsedSemverCache.get(semverStr);
if (!parsedSemver) {
try {
parsedSemver = new import_semver8.default.SemVer(semverStr, true);
} catch {
return null;
}
parsedSemverCache.set(semverStr, parsedSemver);
}
return parsedSemver;
}
for (const tag in allDistTags) {
if (!Object.hasOwn(allDistTags, tag))
continue;
const distTagVersion = allDistTags[tag];
if (versionsWithinDate[distTagVersion]) {
distTagsWithinDate[tag] = distTagVersion;
continue;
}
const originalSemVer = tryParseSemver(distTagVersion);
if (!originalSemVer)
continue;
const originalIsPrerelease = originalSemVer.prerelease.length > 0;
let bestVersion;
for (const candidate in versionsWithinDate) {
if (!Object.hasOwn(versionsWithinDate, candidate))
continue;
const candidateParsed = tryParseSemver(candidate);
if (!candidateParsed || tag !== "latest" && candidateParsed.major !== originalSemVer.major || candidateParsed.prerelease.length > 0 !== originalIsPrerelease)
continue;
if (!bestVersion) {
bestVersion = candidate;
} else {
try {
const candidateIsDeprecated = pkgDoc.versions[candidate].deprecated != null;
const bestVersionIsDeprecated = pkgDoc.versions[bestVersion].deprecated != null;
if (import_semver8.default.gt(candidate, bestVersion, true) && bestVersionIsDeprecated === candidateIsDeprecated || bestVersionIsDeprecated && !candidateIsDeprecated) {
bestVersion = candidate;
}
} catch (_err) {
globalWarn(`Failed to compare semver versions ${candidate} and ${bestVersion} from packument of ${pkgDoc.name}, skipping candidate version.`);
}
}
}
if (bestVersion) {
distTagsWithinDate[tag] = bestVersion;
}
}
return {
...pkgDoc,
versions: versionsWithinDate,
"dist-tags": distTagsWithinDate
};
}
var import_semver8;
var init_lib35 = __esm({
"../resolving/registry/pkg-metadata-filter/lib/index.js"() {
"use strict";
init_lib3();
import_semver8 = __toESM(require_semver2(), 1);
}
});
// ../resolving/npm-resolver/lib/pickPackageFromMeta.js
import util7 from "node:util";
function pickPackageFromMeta(pickVersionByVersionRangeFn, { preferredVersionSelectors, publishedBy, publishedByExclude }, meta, spec) {
if (publishedBy) {
const excludeResult = publishedByExclude?.(meta.name) ?? false;
if (excludeResult !== true) {
if (meta.time != null) {
assertMetaHasTime(meta);
const trustedVersions = Array.isArray(excludeResult) ? excludeResult : void 0;
meta = filterPkgMetadataByPublishDate(meta, publishedBy, trustedVersions);
} else {
const modifiedDate = parseModifiedDate(meta.modified);
if (modifiedDate == null || modifiedDate > publishedBy) {
assertMetaHasTime(meta);
}
}
}
}
if ((!meta.versions || Object.keys(meta.versions).length === 0) && !publishedBy) {
if (meta.time?.unpublished?.versions?.length) {
throw new PnpmError("UNPUBLISHED_PKG", `No versions available for ${spec.name} because it was unpublished`);
}
throw new PnpmError("NO_VERSIONS", `No versions available for ${spec.name}. The package may be unpublished.`);
}
try {
let version2;
switch (spec.type) {
case "version":
version2 = spec.fetchSpec;
break;
case "tag":
version2 = meta["dist-tags"][spec.fetchSpec];
break;
case "range":
version2 = pickVersionByVersionRangeFn({
meta,
versionRange: spec.fetchSpec,
preferredVersionSelectors,
publishedBy
});
break;
}
if (!version2)
return null;
const manifest = meta.versions[version2];
if (manifest && meta["name"]) {
manifest.name = meta["name"];
}
return manifest;
} catch (err2) {
if (util7.types.isNativeError(err2) && "code" in err2 && typeof err2.code === "string" && err2.code.startsWith("ERR_PNPM_")) {
throw err2;
}
throw new PnpmError("MALFORMED_METADATA", `Received malformed metadata for "${spec.name}"`, { hint: "This might mean that the package was unpublished from the registry", cause: err2 });
}
}
function assertMetaHasTime(meta) {
if (meta.time == null) {
throw new PnpmError("MISSING_TIME", `The metadata of ${meta.name} is missing the "time" field`);
}
}
function parseModifiedDate(modified) {
if (!modified)
return null;
const date = new Date(modified);
if (Number.isNaN(date.getTime()))
return null;
return date;
}
function semverSatisfiesLoose(version2, range) {
let semverRange = semverRangeCache.get(range);
if (semverRange === void 0) {
try {
semverRange = new import_semver9.default.Range(range, true);
} catch {
semverRange = null;
}
semverRangeCache.set(range, semverRange);
}
if (semverRange) {
try {
return semverRange.test(new import_semver9.default.SemVer(version2, true));
} catch {
return false;
}
}
return false;
}
function pickLowestVersionByVersionRange({ meta, versionRange, preferredVersionSelectors }) {
if (preferredVersionSelectors != null && Object.keys(preferredVersionSelectors).length > 0) {
const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVersionSelectors);
for (const preferredVersions of prioritizedPreferredVersions) {
const preferredVersion = import_semver9.default.minSatisfying(preferredVersions, versionRange, true);
if (preferredVersion) {
return preferredVersion;
}
}
}
if (versionRange === "*") {
return Object.keys(meta.versions).sort(import_semver9.default.compare)[0];
}
return import_semver9.default.minSatisfying(Object.keys(meta.versions), versionRange, true);
}
function pickVersionByVersionRange({ meta, versionRange, preferredVersionSelectors }) {
const latest = meta["dist-tags"].latest;
if (preferredVersionSelectors != null && Object.keys(preferredVersionSelectors).length > 0) {
const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVersionSelectors);
for (const preferredVersions of prioritizedPreferredVersions) {
if (preferredVersions.includes(latest) && semverSatisfiesLoose(latest, versionRange)) {
return latest;
}
const preferredVersion = import_semver9.default.maxSatisfying(preferredVersions, versionRange, true);
if (preferredVersion) {
return preferredVersion;
}
}
}
const versions = Object.keys(meta.versions);
if (latest && (versionRange === "*" || semverSatisfiesLoose(latest, versionRange))) {
return latest;
}
const maxVersion = import_semver9.default.maxSatisfying(versions, versionRange, true);
if (maxVersion && meta.versions[maxVersion].deprecated && versions.length > 1) {
const nonDeprecatedVersions = versions.map((version2) => meta.versions[version2]).filter((versionMeta) => !versionMeta.deprecated).map((versionMeta) => versionMeta.version);
const maxNonDeprecatedVersion = import_semver9.default.maxSatisfying(nonDeprecatedVersions, versionRange, true);
if (maxNonDeprecatedVersion)
return maxNonDeprecatedVersion;
}
return maxVersion;
}
function prioritizePreferredVersions(meta, versionRange, preferredVerSelectors) {
const preferredVerSelectorsArr = Object.entries(preferredVerSelectors ?? {});
const versionsPrioritizer = new PreferredVersionsPrioritizer();
for (const version2 of Object.keys(meta.versions)) {
if (semverSatisfiesLoose(version2, versionRange)) {
versionsPrioritizer.add(version2, 0);
}
}
for (const [preferredSelector, preferredSelectorType] of preferredVerSelectorsArr) {
const { selectorType, weight } = typeof preferredSelectorType === "string" ? { selectorType: preferredSelectorType, weight: 1 } : preferredSelectorType;
if (preferredSelector === versionRange)
continue;
switch (selectorType) {
case "tag": {
versionsPrioritizer.add(meta["dist-tags"][preferredSelector], weight);
break;
}
case "range": {
const versions = Object.keys(meta.versions);
for (const version2 of versions) {
if (semverSatisfiesLoose(version2, preferredSelector)) {
versionsPrioritizer.add(version2, weight);
}
}
break;
}
case "version": {
if (meta.versions[preferredSelector]) {
versionsPrioritizer.add(preferredSelector, weight);
}
break;
}
}
}
return versionsPrioritizer.versionsByPriority();
}
var import_semver9, semverRangeCache, PreferredVersionsPrioritizer;
var init_pickPackageFromMeta = __esm({
"../resolving/npm-resolver/lib/pickPackageFromMeta.js"() {
"use strict";
init_lib2();
init_lib35();
import_semver9 = __toESM(require_semver2(), 1);
semverRangeCache = /* @__PURE__ */ new Map();
PreferredVersionsPrioritizer = class {
preferredVersions = {};
add(version2, weight) {
if (!this.preferredVersions[version2]) {
this.preferredVersions[version2] = weight;
} else {
this.preferredVersions[version2] += weight;
}
}
versionsByPriority() {
const versionsByWeight = Object.entries(this.preferredVersions).reduce((acc, [version2, weight]) => {
acc[weight] = acc[weight] ?? [];
acc[weight].push(version2);
return acc;
}, {});
return Object.keys(versionsByWeight).sort((a2, b) => parseInt(b, 10) - parseInt(a2, 10)).map((weight) => versionsByWeight[parseInt(weight, 10)]);
}
};
}
});
// ../resolving/npm-resolver/lib/toRaw.js
function toRaw(spec) {
return `${spec.name}@${spec.fetchSpec}`;
}
var init_toRaw = __esm({
"../resolving/npm-resolver/lib/toRaw.js"() {
"use strict";
}
});
// ../resolving/npm-resolver/lib/pickPackage.js
import { promises as fs22 } from "node:fs";
import path31 from "node:path";
async function runLimited(pkgMirror, fn) {
let entry;
try {
entry = metafileOperationLimits[pkgMirror] ??= { count: 0, limit: pLimit(1) };
entry.count++;
return await fn(entry.limit);
} finally {
entry.count--;
if (entry.count === 0) {
metafileOperationLimits[pkgMirror] = void 0;
}
}
}
function runPicker(pickerOpts, spec, pickOne) {
const currentPkg = pickOne(spec);
if (!pickerOpts.includeLatestTag)
return currentPkg;
const latestPkg = pickOne({ ...spec, type: "tag", fetchSpec: "latest" });
return pickMax(latestPkg, currentPkg);
}
function pickMax(a2, b) {
if (!a2)
return b;
if (!b)
return a2;
return import_semver10.default.lt(a2.version, b.version) ? b : a2;
}
function pickRespectingMinReleaseAge(pickerOpts, spec, meta) {
return runPicker(pickerOpts, spec, (targetSpec) => {
const highest = pickHighest(pickerOpts, meta, targetSpec);
if (highest)
return highest;
return pickLowest({
preferredVersionSelectors: pickerOpts.preferredVersionSelectors
}, meta, targetSpec);
});
}
function pickIgnoringReleaseAge(pickerOpts, spec, meta) {
const pickVersion = pickerOpts.pickLowestVersion ? pickLowest : pickHighest;
return runPicker(pickerOpts, spec, (targetSpec) => pickVersion(pickerOpts, meta, targetSpec));
}
function pickMatchingVersionFast(pickerOpts, spec, meta) {
return pickerOpts.publishedBy ? pickRespectingMinReleaseAge(pickerOpts, spec, meta) : pickIgnoringReleaseAge(pickerOpts, spec, meta);
}
function pickMatchingVersionFinal(pickerOpts, spec, meta) {
try {
return pickMatchingVersionFast(pickerOpts, spec, meta);
} catch (err2) {
if (pickerOpts.ignoreMissingTimeField && isMissingTimeError(err2)) {
warnMissingTimeFieldOnce(meta.name);
return pickMatchingVersionFast({
...pickerOpts,
publishedBy: void 0,
publishedByExclude: void 0
}, spec, meta);
}
throw err2;
}
}
function cacheDiskLoadedMeta(metaCache, cacheKey, meta) {
unverifiedDiskPackuments.add(meta);
metaCache.set(cacheKey, meta);
}
async function pickPackage(ctx, spec, opts3) {
opts3 = opts3 || {};
const pickerOpts = {
preferredVersionSelectors: opts3.preferredVersionSelectors,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude,
pickLowestVersion: opts3.pickLowestVersion,
includeLatestTag: opts3.includeLatestTag,
ignoreMissingTimeField: ctx.ignoreMissingTimeField
};
validatePackageName(spec.name);
const fullMetadata = opts3.optional === true || ctx.fullMetadata === true;
const metaDir = fullMetadata ? ctx.filterMetadata ? FULL_FILTERED_META_DIR : FULL_META_DIR : ABBREVIATED_META_DIR;
const cacheKey = getPkgMetaCacheKey(opts3.registry, spec.name, fullMetadata, ctx.filterMetadata === true);
const pkgMirror = getPkgMirrorPath(ctx.cacheDir, metaDir, opts3.registry, spec.name);
const cachedMeta = opts3.updateChecksums ? void 0 : ctx.metaCache.get(cacheKey);
if (cachedMeta != null) {
const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts3, cachedMeta);
let metaForCache = upgrade.meta;
if (upgrade.upgradedFrom != null) {
metaForCache = opts3.dryRun ? upgrade.meta : persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
ctx.metaCache.set(cacheKey, metaForCache);
}
const pickedPackage = pickMatchingVersionFinal(pickerOpts, spec, metaForCache);
if (pickedPackage != null || ctx.offline === true || !unverifiedDiskPackuments.has(metaForCache)) {
return {
meta: metaForCache,
pickedPackage
};
}
}
return runLimited(pkgMirror, async (limit) => {
let metaCachedInStore;
if (ctx.offline === true || ctx.preferOffline === true || opts3.pickLowestVersion) {
metaCachedInStore = await limit(async () => loadMeta(pkgMirror));
if (ctx.offline) {
if (metaCachedInStore != null) {
cacheDiskLoadedMeta(ctx.metaCache, cacheKey, metaCachedInStore);
return {
meta: metaCachedInStore,
pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, metaCachedInStore)
};
}
throw new PnpmError("NO_OFFLINE_META", `Failed to resolve ${toRaw(spec)} in package mirror ${pkgMirror}`);
}
if (metaCachedInStore != null) {
const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts3, metaCachedInStore);
metaCachedInStore = upgrade.meta;
if (upgrade.upgradedFrom != null) {
if (!opts3.dryRun) {
metaCachedInStore = persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
}
ctx.metaCache.set(cacheKey, metaCachedInStore);
}
const pickedPackage = pickMatchingVersionFinal(pickerOpts, spec, metaCachedInStore);
if (pickedPackage) {
if (upgrade.upgradedFrom == null) {
cacheDiskLoadedMeta(ctx.metaCache, cacheKey, metaCachedInStore);
}
return {
meta: metaCachedInStore,
pickedPackage
};
}
}
}
if (!opts3.includeLatestTag && !opts3.updateChecksums && spec.type === "version") {
metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
if (metaCachedInStore?.versions?.[spec.fetchSpec] != null) {
try {
const pickedPackage = pickMatchingVersionFast(pickerOpts, spec, metaCachedInStore);
if (pickedPackage) {
cacheDiskLoadedMeta(ctx.metaCache, cacheKey, metaCachedInStore);
return {
meta: metaCachedInStore,
pickedPackage
};
}
} catch {
}
}
}
if (opts3.publishedBy && opts3.publishedByExclude?.(spec.name) !== true) {
const mtime = await limit(async () => getFileMtime(pkgMirror));
if (mtime != null && mtime >= opts3.publishedBy) {
metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
if (metaCachedInStore != null) {
try {
const pickedPackage = pickMatchingVersionFast(pickerOpts, spec, metaCachedInStore);
if (pickedPackage) {
return {
meta: metaCachedInStore,
pickedPackage
};
}
} catch {
}
}
}
}
try {
const cacheHeaders = metaCachedInStore != null ? { etag: metaCachedInStore.etag, modified: metaCachedInStore.modified ?? metaCachedInStore.time?.modified } : await limit(async () => loadMetaHeaders(pkgMirror));
let fetchResult = await ctx.fetch(spec.name, {
authHeaderValue: opts3.authHeaderValue,
fullMetadata,
etag: cacheHeaders?.etag,
modified: cacheHeaders?.modified,
registry: opts3.registry
});
if (fetchResult.notModified) {
metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
if (metaCachedInStore != null) {
if (!opts3.dryRun) {
const now = /* @__PURE__ */ new Date();
fs22.utimes(pkgMirror, now, now).catch(() => {
});
}
const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts3, metaCachedInStore);
metaCachedInStore = upgrade.meta;
if (upgrade.upgradedFrom != null && !opts3.dryRun) {
metaCachedInStore = persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
}
ctx.metaCache.set(cacheKey, metaCachedInStore);
return {
meta: metaCachedInStore,
pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, metaCachedInStore)
};
}
throw new PnpmError("CACHE_MISSING_AFTER_304", `Metadata cache for ${spec.name} is unreadable after receiving 304 Not Modified`);
}
let meta = fetchResult.meta;
let resultToSave = fetchResult;
if (opts3.publishedBy && !fullMetadata && meta.time == null && opts3.publishedByExclude?.(spec.name) !== true) {
const modifiedDate = meta.modified ? new Date(meta.modified) : null;
const isModifiedValid = modifiedDate != null && !Number.isNaN(modifiedDate.getTime());
if (!isModifiedValid || modifiedDate > opts3.publishedBy) {
if (!opts3.dryRun) {
const abbreviatedJson = prepareJsonForDisk(resultToSave.meta, resultToSave.etag, resultToSave.jsonText);
runLimited(pkgMirror, (limit2) => limit2(async () => {
try {
await saveMeta(pkgMirror, abbreviatedJson);
} catch (err2) {
}
}));
}
const fullFetchResult = await ctx.fetch(spec.name, {
authHeaderValue: opts3.authHeaderValue,
fullMetadata: true,
registry: opts3.registry
});
if (!fullFetchResult.notModified) {
resultToSave = fullFetchResult;
meta = fullFetchResult.meta;
}
}
}
if (ctx.filterMetadata) {
meta = clearMeta(meta);
}
if (!opts3.dryRun) {
const jsonForDisk = ctx.filterMetadata ? prepareJsonForDisk(meta, resultToSave.etag) : prepareJsonForDisk(resultToSave.meta, resultToSave.etag, resultToSave.jsonText);
runLimited(pkgMirror, (limit2) => limit2(async () => {
try {
await saveMeta(pkgMirror, jsonForDisk);
} catch (err2) {
}
}));
}
meta.etag = resultToSave.etag;
ctx.metaCache.set(cacheKey, meta);
return {
meta,
pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, meta)
};
} catch (err2) {
err2.spec = spec;
const meta = await loadMeta(pkgMirror);
if (meta == null)
throw err2;
logger.error(err2, err2);
logger.debug({ message: `Using cached meta from ${pkgMirror}` });
return {
meta,
pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, meta)
};
}
});
}
async function maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts3, meta) {
if (ctx.offline === true || !opts3.publishedBy || meta.time != null || opts3.publishedByExclude?.(spec.name) === true) {
return { meta };
}
const modifiedDate = meta.modified ? new Date(meta.modified) : null;
const isModifiedValid = modifiedDate != null && !Number.isNaN(modifiedDate.getTime());
if (isModifiedValid && modifiedDate <= opts3.publishedBy) {
return { meta };
}
const fullFetchResult = await ctx.fetch(spec.name, {
authHeaderValue: opts3.authHeaderValue,
fullMetadata: true,
etag: meta.etag,
modified: meta.modified,
registry: opts3.registry
});
if (fullFetchResult.notModified) {
return { meta };
}
return { meta: fullFetchResult.meta, upgradedFrom: fullFetchResult };
}
function persistUpgradedMeta(ctx, pkgMirror, upgradedFrom) {
const metaForCache = ctx.filterMetadata ? clearMeta(upgradedFrom.meta) : upgradedFrom.meta;
const jsonForDisk = ctx.filterMetadata ? prepareJsonForDisk(metaForCache, upgradedFrom.etag) : prepareJsonForDisk(upgradedFrom.meta, upgradedFrom.etag, upgradedFrom.jsonText);
runLimited(pkgMirror, (l) => l(async () => {
try {
await saveMeta(pkgMirror, jsonForDisk);
} catch (err2) {
}
}));
return metaForCache;
}
function encodePkgName(pkgName) {
if (pkgName !== pkgName.toLowerCase()) {
return `${pkgName}_${createHexHash(pkgName)}`;
}
return pkgName;
}
function getPkgMetaCacheKey(registry, pkgName, fullMetadata, filterMetadata) {
const key = `${canonicalizeRegistry(registry)}\0${pkgName}`;
if (!fullMetadata)
return key;
return filterMetadata ? `${key}:full:filtered` : `${key}:full`;
}
function canonicalizeRegistry(registry) {
try {
const parsed = new URL(registry);
const pathname = parsed.pathname.endsWith("/") ? parsed.pathname : `${parsed.pathname}/`;
return `${parsed.origin}${pathname}`;
} catch {
return registry;
}
}
function getPkgMirrorPath(cacheDir, metaDir, registry, pkgName) {
return path31.join(cacheDir, metaDir, (0, import_encode_registry.default)(registry), `${encodePkgName(pkgName)}.jsonl`);
}
function prepareJsonForDisk(meta, etag, jsonText) {
const modified = meta.modified ?? meta.time?.modified;
const headers = JSON.stringify({ etag, modified });
const body = jsonText ?? JSON.stringify(meta);
return `${headers}
${body}`;
}
function isMissingTimeError(err2) {
return err2 != null && typeof err2 === "object" && "code" in err2 && err2.code === "ERR_PNPM_MISSING_TIME";
}
function warnMissingTimeFieldOnce(pkgName) {
if (warnedMissingTimeFor.has(pkgName))
return;
if (warnedMissingTimeFor.size >= MAX_WARNED_MISSING_TIME) {
const oldest = warnedMissingTimeFor.values().next().value;
if (oldest != null)
warnedMissingTimeFor.delete(oldest);
}
warnedMissingTimeFor.add(pkgName);
globalWarn(`The metadata of ${pkgName} is missing the "time" field; skipping the minimumReleaseAge check for this package.`);
}
async function getFileMtime(filePath) {
try {
const stat2 = await fs22.stat(filePath);
return stat2.mtime;
} catch {
return null;
}
}
async function loadMetaHeaders(pkgMirror) {
let fh;
try {
fh = await fs22.open(pkgMirror, "r");
const buf = Buffer.alloc(1024);
const { bytesRead } = await fh.read(buf, 0, 1024, 0);
if (bytesRead === 0)
return null;
const chunk = buf.toString("utf8", 0, bytesRead);
const newlineIdx = chunk.indexOf("\n");
if (newlineIdx === -1)
return null;
return JSON.parse(chunk.slice(0, newlineIdx));
} catch {
return null;
} finally {
await fh?.close();
}
}
async function loadMeta(pkgMirror) {
try {
const data = await lib_default.readFile(pkgMirror, "utf8");
const newlineIdx = data.indexOf("\n");
if (newlineIdx === -1)
return null;
const headers = JSON.parse(data.slice(0, newlineIdx));
const meta = JSON.parse(data.slice(newlineIdx + 1));
meta.etag = headers.etag;
return meta;
} catch {
return null;
}
}
async function saveMeta(pkgMirror, json2) {
const dir = path31.dirname(pkgMirror);
if (!createdDirs.has(dir)) {
await fs22.mkdir(dir, { recursive: true });
createdDirs.add(dir);
}
const temp = fastPathTemp(pkgMirror);
await lib_default.writeFile(temp, json2, "utf8");
await renameOverwrite(temp, pkgMirror);
}
function validatePackageName(pkgName) {
if (pkgName.includes("/") && pkgName[0] !== "@") {
throw new PnpmError("INVALID_PACKAGE_NAME", `Package name ${pkgName} is invalid, it should have a @scope`);
}
}
var import_encode_registry, import_semver10, metafileOperationLimits, pickHighest, pickLowest, unverifiedDiskPackuments, MAX_WARNED_MISSING_TIME, warnedMissingTimeFor, createdDirs;
var init_pickPackage = __esm({
"../resolving/npm-resolver/lib/pickPackage.js"() {
"use strict";
init_lib();
init_lib34();
init_lib2();
init_lib14();
init_lib3();
import_encode_registry = __toESM(require_encode_registry(), 1);
init_p_limit();
init_path_temp();
init_rename_overwrite();
import_semver10 = __toESM(require_semver2(), 1);
init_clearMeta();
init_pickPackageFromMeta();
init_toRaw();
metafileOperationLimits = {};
pickHighest = pickPackageFromMeta.bind(null, pickVersionByVersionRange);
pickLowest = pickPackageFromMeta.bind(null, pickLowestVersionByVersionRange);
unverifiedDiskPackuments = /* @__PURE__ */ new WeakSet();
MAX_WARNED_MISSING_TIME = 1024;
warnedMissingTimeFor = /* @__PURE__ */ new Set();
createdDirs = /* @__PURE__ */ new Set();
}
});
// ../resolving/npm-resolver/lib/trustChecks.js
function failIfTrustDowngraded(meta, version2, opts3) {
if (opts3?.trustPolicyExclude) {
const excludeResult = opts3.trustPolicyExclude(meta.name);
if (excludeResult === true) {
return;
}
if (Array.isArray(excludeResult) && excludeResult.includes(version2)) {
return;
}
}
assertMetaHasTime(meta);
const versionPublishedAt = meta.time[version2];
if (!versionPublishedAt) {
throw new PnpmError("TRUST_CHECK_FAIL", `Missing time for version ${version2} of ${meta.name} in metadata`);
}
const versionDate = new Date(versionPublishedAt);
if (opts3?.trustPolicyIgnoreAfter) {
const now = /* @__PURE__ */ new Date();
const minutesSincePublish = (now.getTime() - versionDate.getTime()) / (1e3 * 60);
if (minutesSincePublish > opts3.trustPolicyIgnoreAfter) {
return;
}
}
const manifest = meta.versions[version2];
if (!manifest) {
throw new PnpmError("TRUST_CHECK_FAIL", `Missing version object for version ${version2} of ${meta.name} in metadata`);
}
const strongestEvidencePriorToRequestedVersion = detectStrongestTrustEvidenceBeforeDate(meta, versionDate, {
excludePrerelease: !import_semver11.default.prerelease(version2, true)
});
if (strongestEvidencePriorToRequestedVersion == null) {
return;
}
const currentTrustEvidence = getTrustEvidence(manifest);
if (currentTrustEvidence == null || TRUST_RANK[strongestEvidencePriorToRequestedVersion] > TRUST_RANK[currentTrustEvidence]) {
throw new PnpmError("TRUST_DOWNGRADE", `High-risk trust downgrade for "${meta.name}@${version2}" (possible package takeover)`, {
hint: `Trust checks are based solely on publish date, not semver. A package cannot be installed if any earlier-published version had stronger trust evidence. Earlier versions had ${prettyPrintTrustEvidence(strongestEvidencePriorToRequestedVersion)}, but this version has ${prettyPrintTrustEvidence(currentTrustEvidence)}. A trust downgrade may indicate a supply chain incident.`
});
}
}
function prettyPrintTrustEvidence(trustEvidence) {
switch (trustEvidence) {
case "stagedPublish":
return "staged publish";
case "trustedPublisher":
return "trusted publisher";
case "provenance":
return "provenance attestation";
default:
return "no trust evidence";
}
}
function detectStrongestTrustEvidenceBeforeDate(meta, beforeDate, options) {
let best;
for (const [version2, manifest] of Object.entries(meta.versions)) {
if (options.excludePrerelease && import_semver11.default.prerelease(version2, true))
continue;
const ts = meta.time[version2];
if (!ts)
continue;
const publishedAt = new Date(ts);
if (!(publishedAt < beforeDate))
continue;
const trustEvidence = getTrustEvidence(manifest);
if (!trustEvidence)
continue;
if (best === void 0 || TRUST_RANK[trustEvidence] > TRUST_RANK[best]) {
best = trustEvidence;
if (best === "stagedPublish") {
return best;
}
}
}
return best;
}
function getTrustEvidence(manifest) {
if (manifest._npmUser?.approver) {
return "stagedPublish";
}
if (manifest._npmUser?.trustedPublisher && manifest.dist?.attestations?.provenance) {
return "trustedPublisher";
}
if (manifest.dist?.attestations?.provenance) {
return "provenance";
}
return void 0;
}
var import_semver11, TRUST_RANK;
var init_trustChecks = __esm({
"../resolving/npm-resolver/lib/trustChecks.js"() {
"use strict";
init_lib2();
import_semver11 = __toESM(require_semver2(), 1);
init_pickPackageFromMeta();
TRUST_RANK = {
stagedPublish: 3,
trustedPublisher: 2,
provenance: 1
};
}
});
// ../resolving/npm-resolver/lib/violationCodes.js
var MINIMUM_RELEASE_AGE_VIOLATION_CODE, TRUST_DOWNGRADE_VIOLATION_CODE, TARBALL_URL_MISMATCH_VIOLATION_CODE, MISSING_TARBALL_INTEGRITY_VIOLATION_CODE;
var init_violationCodes = __esm({
"../resolving/npm-resolver/lib/violationCodes.js"() {
"use strict";
MINIMUM_RELEASE_AGE_VIOLATION_CODE = "MINIMUM_RELEASE_AGE_VIOLATION";
TRUST_DOWNGRADE_VIOLATION_CODE = "TRUST_DOWNGRADE";
TARBALL_URL_MISMATCH_VIOLATION_CODE = "TARBALL_URL_MISMATCH";
MISSING_TARBALL_INTEGRITY_VIOLATION_CODE = "MISSING_TARBALL_INTEGRITY";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-utils/1.1.4/bbbf6bcd6e2cad096d8c5e4cd94c8815535d76e88f7c54b6d35929d441dd7625/node_modules/semver-utils/semver-utils.js
var require_semver_utils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-utils/1.1.4/bbbf6bcd6e2cad096d8c5e4cd94c8815535d76e88f7c54b6d35929d441dd7625/node_modules/semver-utils/semver-utils.js"(exports2, module2) {
(function() {
"use strict";
var reSemver = /^v?((\d+)\.(\d+)\.(\d+))(?:-([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?(?:\+([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?$/, reSemverRange = /\s*((\|\||\-)|(((?:(?:~?[<>]?)|\^?)=?)\s*(v)?([0-9]+)(\.(x|\*|[0-9]+))?(\.(x|\*|[0-9]+))?(([\-+])([a-zA-Z0-9\.-]+))?))\s*/g;
function pruned(obj) {
var o2 = {};
for (var key in obj) {
if ("undefined" !== typeof obj[key]) {
o2[key] = obj[key];
}
}
return o2;
}
function stringifySemver(obj) {
var str2 = "";
str2 += obj.major || "0";
str2 += ".";
str2 += obj.minor || "0";
str2 += ".";
str2 += obj.patch || "0";
if (obj.release) {
str2 += "-" + obj.release;
}
if (obj.build) {
str2 += "+" + obj.build;
}
return str2;
}
function stringifySemverRange(arr) {
var str2 = "";
function stringify2(ver) {
if (ver.operator) {
str2 += ver.operator + " ";
}
if (ver.major) {
str2 += ver.toString() + " ";
}
}
arr.forEach(stringify2);
return str2.trim();
}
function SemVer(obj) {
if (!obj) {
return;
}
var me = this;
Object.keys(obj).forEach(function(key) {
me[key] = obj[key];
});
}
SemVer.prototype.toString = function() {
return stringifySemver(this);
};
function parseSemver(version2) {
var m = reSemver.exec(version2) || [], ver = new SemVer(pruned({
semver: m[0],
version: m[1],
major: m[2],
minor: m[3],
patch: m[4],
release: m[5],
build: m[6]
}));
if (0 === m.length) {
ver = null;
}
return ver;
}
function parseSemverRange(str2) {
var m, arr = [], obj;
while (m = reSemverRange.exec(str2)) {
obj = {
semver: m[3],
operator: m[4] || m[2],
major: m[6],
minor: m[8],
patch: m[10]
};
if ("+" === m[12]) {
obj.build = m[13];
}
if ("-" === m[12]) {
obj.release = m[13];
}
arr.push(new SemVer(pruned(obj)));
}
return arr;
}
module2.exports.parse = parseSemver;
module2.exports.stringify = stringifySemver;
module2.exports.parseRange = parseSemverRange;
module2.exports.stringifyRange = stringifySemverRange;
})();
}
});
// ../resolving/npm-resolver/lib/whichVersionIsPinned.js
function whichVersionIsPinned(spec) {
if (spec.startsWith("catalog:"))
return void 0;
const colonIndex = spec.indexOf(":");
if (colonIndex !== -1) {
spec = spec.substring(colonIndex + 1);
}
const index2 = spec.lastIndexOf("@");
if (index2 !== -1) {
spec = spec.slice(index2 + 1);
}
if (spec === "*")
return "none";
const parsedRange = (0, import_semver_utils.parseRange)(spec);
if (parsedRange.length !== 1)
return void 0;
const versionObject = parsedRange[0];
switch (versionObject.operator) {
case "~":
return "minor";
case "^":
return "major";
case void 0:
if (versionObject.patch)
return "patch";
if (versionObject.minor)
return "minor";
if (versionObject.major)
return "major";
}
return void 0;
}
var import_semver_utils;
var init_whichVersionIsPinned = __esm({
"../resolving/npm-resolver/lib/whichVersionIsPinned.js"() {
"use strict";
import_semver_utils = __toESM(require_semver_utils(), 1);
}
});
// ../workspace/spec-parser/lib/index.js
var WORKSPACE_PREF_REGEX, WorkspaceSpec;
var init_lib36 = __esm({
"../workspace/spec-parser/lib/index.js"() {
"use strict";
WORKSPACE_PREF_REGEX = /^workspace:(?:(?<alias>[^._/][^@]*)@)?(?<version>.*)$/;
WorkspaceSpec = class _WorkspaceSpec {
alias;
version;
constructor(version2, alias) {
this.version = version2;
this.alias = alias;
}
static parse(bareSpecifier) {
const parts = WORKSPACE_PREF_REGEX.exec(bareSpecifier);
if (!parts?.groups)
return null;
return new _WorkspaceSpec(parts.groups.version, parts.groups.alias);
}
toString() {
const { alias, version: version2 } = this;
return alias ? `workspace:${alias}@${version2}` : `workspace:${version2}`;
}
};
}
});
// ../resolving/npm-resolver/lib/workspacePrefToNpm.js
function workspacePrefToNpm(workspaceBareSpecifier) {
const parseResult = WorkspaceSpec.parse(workspaceBareSpecifier);
if (parseResult == null) {
throw new Error(`Invalid workspace spec: ${workspaceBareSpecifier}`);
}
const { alias, version: version2 } = parseResult;
const versionPart = version2 === "^" || version2 === "~" || version2 === "" ? "*" : version2;
return alias ? `npm:${alias}@${versionPart}` : versionPart;
}
var init_workspacePrefToNpm = __esm({
"../resolving/npm-resolver/lib/workspacePrefToNpm.js"() {
"use strict";
init_lib36();
}
});
// ../config/version-policy/lib/index.js
function createPackageVersionPolicy(patterns) {
const rules = [];
for (const pattern of patterns) {
const parsed = parseVersionPolicyRule(pattern);
rules.push({ nameMatcher: createMatcher(parsed.packageName), exactVersions: parsed.exactVersions });
}
return evaluateVersionPolicy.bind(null, rules);
}
function createPackageVersionPolicyOrThrow(patterns, key) {
try {
return createPackageVersionPolicy(patterns);
} catch (err2) {
if (!err2 || typeof err2 !== "object" || !("message" in err2))
throw err2;
throw new PnpmError(`INVALID_${key.replace(/([A-Z])/g, "_$1").toUpperCase()}`, `Invalid value in ${key}: ${err2.message}`);
}
}
function getPublishedByPolicy(opts3) {
return {
publishedBy: opts3.minimumReleaseAge ? new Date(Date.now() - opts3.minimumReleaseAge * 60 * 1e3) : void 0,
publishedByExclude: opts3.minimumReleaseAgeExclude ? createPackageVersionPolicyOrThrow(opts3.minimumReleaseAgeExclude, "minimumReleaseAgeExclude") : void 0
};
}
function mergePackageVersionSpecs(specs) {
const byPackage = /* @__PURE__ */ new Map();
for (const spec of specs) {
const { packageName, exactVersions } = parseVersionPolicyRule(spec);
const existing = byPackage.get(packageName);
if (existing === void 0) {
byPackage.set(packageName, exactVersions.length === 0 ? null : new Set(exactVersions));
} else if (existing === null || exactVersions.length === 0) {
byPackage.set(packageName, null);
} else {
for (const version2 of exactVersions)
existing.add(version2);
}
}
return Array.from(byPackage.entries()).map(([packageName, versions]) => versions == null ? packageName : `${packageName}@${Array.from(versions).sort(import_semver12.default.compare).join(" || ")}`);
}
function expandPackageVersionSpecs(specs) {
const expandedSpecs = /* @__PURE__ */ new Set();
for (const spec of specs) {
const parsed = parseVersionPolicyRule(spec);
if (parsed.exactVersions.length === 0) {
expandedSpecs.add(parsed.packageName);
} else {
for (const version2 of parsed.exactVersions) {
expandedSpecs.add(`${parsed.packageName}@${version2}`);
}
}
}
return expandedSpecs;
}
function evaluateVersionPolicy(rules, pkgName) {
let matchedVersions;
let seen;
for (const { nameMatcher, exactVersions } of rules) {
if (!nameMatcher(pkgName)) {
continue;
}
if (exactVersions.length === 0) {
return matchedVersions ?? true;
}
if (matchedVersions == null) {
matchedVersions = [];
seen = /* @__PURE__ */ new Set();
}
for (const version2 of exactVersions) {
if (!seen.has(version2)) {
seen.add(version2);
matchedVersions.push(version2);
}
}
}
return matchedVersions ?? false;
}
function parseVersionPolicyRule(pattern) {
const isScoped = pattern.startsWith("@");
const atIndex = isScoped ? pattern.indexOf("@", 1) : pattern.indexOf("@");
if (atIndex === -1) {
return { packageName: pattern, exactVersions: [] };
}
const packageName = pattern.slice(0, atIndex);
const versionsPart = pattern.slice(atIndex + 1);
const exactVersions = parseExactVersionsUnion(versionsPart);
if (exactVersions == null) {
throw new PnpmError("INVALID_VERSION_UNION", `Invalid versions union. Found: "${pattern}". Use exact versions only.`);
}
if (packageName.includes("*")) {
throw new PnpmError("NAME_PATTERN_IN_VERSION_UNION", `Name patterns are not allowed with version unions. Found: "${pattern}"`);
}
return {
packageName,
exactVersions
};
}
function parseExactVersionsUnion(versionsStr) {
const versions = [];
for (const versionRaw of versionsStr.split("||")) {
const version2 = import_semver12.default.valid(versionRaw);
if (version2 == null) {
return null;
}
versions.push(version2);
}
return versions;
}
var import_semver12;
var init_lib37 = __esm({
"../config/version-policy/lib/index.js"() {
"use strict";
init_lib27();
init_lib2();
import_semver12 = __toESM(require_semver2(), 1);
}
});
// ../resolving/npm-resolver/lib/fetchAttestationPublishedAt.js
async function fetchAttestationPublishedAt(fetchOpts, pkgName, version2, opts3) {
const url7 = `${opts3.registry.replace(/\/$/, "")}/-/npm/v1/attestations/${pkgName}@${version2}`;
const retryOperation = retry2.operation(fetchOpts.retry);
return new Promise((resolve4) => {
retryOperation.attempt(async () => {
let response;
try {
response = await fetchOpts.fetch(url7, {
authHeaderValue: opts3.authHeaderValue,
retry: fetchOpts.retry,
timeout: fetchOpts.timeout
});
} catch {
resolve4(void 0);
return;
}
if (response.status >= 400) {
resolve4(void 0);
return;
}
let body;
try {
body = await response.json();
} catch {
resolve4(void 0);
return;
}
resolve4(extractPublishedAt(body));
});
});
}
function extractPublishedAt(body) {
if (!body || typeof body !== "object")
return void 0;
const attestations = body.attestations;
if (!Array.isArray(attestations))
return void 0;
let earliestSeconds;
for (const attestation of attestations) {
const seconds = readEarliestIntegratedTime(attestation);
if (seconds == null)
continue;
if (earliestSeconds == null || seconds < earliestSeconds) {
earliestSeconds = seconds;
}
}
if (earliestSeconds == null)
return void 0;
return new Date(earliestSeconds * 1e3).toISOString();
}
function readEarliestIntegratedTime(attestation) {
if (!attestation || typeof attestation !== "object")
return void 0;
const bundle = attestation.bundle;
if (!bundle || typeof bundle !== "object")
return void 0;
const verificationMaterial = bundle.verificationMaterial;
if (!verificationMaterial || typeof verificationMaterial !== "object")
return void 0;
const tlogEntries = verificationMaterial.tlogEntries;
if (!Array.isArray(tlogEntries))
return void 0;
let earliest;
for (const entry of tlogEntries) {
if (!entry || typeof entry !== "object")
continue;
const rawIntegratedTime = entry.integratedTime;
const seconds = parseIntegratedTimeSeconds(rawIntegratedTime);
if (seconds == null)
continue;
if (earliest == null || seconds < earliest)
earliest = seconds;
}
return earliest;
}
function parseIntegratedTimeSeconds(raw) {
const seconds = typeof raw === "string" ? Number(raw) : typeof raw === "number" ? raw : NaN;
if (!Number.isFinite(seconds) || seconds <= 0)
return void 0;
return seconds;
}
var retry2;
var init_fetchAttestationPublishedAt = __esm({
"../resolving/npm-resolver/lib/fetchAttestationPublishedAt.js"() {
"use strict";
retry2 = __toESM(require_retry2(), 1);
}
});
// ../resolving/npm-resolver/lib/fetchFullMetadataCached.js
async function fetchFullMetadataCached(fetchOpts, pkgName, opts3) {
return fetchMetadataCached(fetchOpts, pkgName, { ...opts3, fullMetadata: true, metaDir: FULL_META_DIR });
}
async function fetchAbbreviatedMetadataCached(fetchOpts, pkgName, opts3) {
return fetchMetadataCached(fetchOpts, pkgName, { ...opts3, fullMetadata: false, metaDir: ABBREVIATED_META_DIR });
}
async function fetchMetadataCached(fetchOpts, pkgName, opts3) {
const pkgMirror = opts3.cacheDir != null ? getPkgMirrorPath(opts3.cacheDir, opts3.metaDir, opts3.registry, pkgName) : null;
const cacheHeaders = pkgMirror != null ? await loadMetaHeaders(pkgMirror) : null;
const result2 = await fetchMetadataFromFromRegistry(fetchOpts, pkgName, {
registry: opts3.registry,
authHeaderValue: opts3.authHeaderValue,
fullMetadata: opts3.fullMetadata,
etag: cacheHeaders?.etag,
modified: cacheHeaders?.modified
});
if ("notModified" in result2 && result2.notModified) {
if (pkgMirror == null) {
throw new PnpmError("META_NOT_MODIFIED_WITHOUT_CACHE", `Registry returned 304 for ${pkgName} without an existing cache to refresh.`);
}
const meta = await loadMeta(pkgMirror);
if (meta == null) {
throw new PnpmError("META_CACHE_MISSING_AFTER_304", `Metadata cache for ${pkgName} disappeared between headers read and full read.`);
}
return meta;
}
if (pkgMirror != null) {
const json2 = prepareJsonForDisk(result2.meta, result2.etag, result2.jsonText);
saveMeta(pkgMirror, json2).catch(() => {
});
}
return result2.meta;
}
var init_fetchFullMetadataCached = __esm({
"../resolving/npm-resolver/lib/fetchFullMetadataCached.js"() {
"use strict";
init_lib();
init_lib2();
init_fetch2();
init_pickPackage();
}
});
// ../resolving/npm-resolver/lib/createNpmResolutionVerifier.js
function createNpmResolutionVerifier(opts3) {
const ageCheckActive = Boolean(opts3.minimumReleaseAge);
const trustCheckActive = opts3.trustPolicy === "no-downgrade";
const cutoff = ageCheckActive ? (opts3.now ?? Date.now()) - opts3.minimumReleaseAge * 60 * 1e3 : 0;
const excludePolicy = opts3.minimumReleaseAgeExclude?.length ? createExcludePolicy(opts3.minimumReleaseAgeExclude, "minimumReleaseAgeExclude") : void 0;
const trustExcludePolicy = opts3.trustPolicyExclude?.length ? createExcludePolicy(opts3.trustPolicyExclude, "trustPolicyExclude") : void 0;
const namedRegistryPrefixes = Object.values({
...BUILTIN_NAMED_REGISTRIES,
...opts3.namedRegistries ?? {}
}).map((url7) => {
const parsed = tryParseUrl(url7);
if (!parsed)
return null;
const pathname = parsed.pathname.endsWith("/") ? parsed.pathname : `${parsed.pathname}/`;
return `${parsed.origin}${pathname}`;
}).filter((value) => value != null).sort((a2, b) => b.length - a2.length);
const lookupContext = {
fetchOpts: opts3.fetchOpts,
getAuthHeaderValueByURI: opts3.getAuthHeaderValueByURI,
cacheDir: opts3.cacheDir,
cutoffMs: cutoff,
sharedMetaCache: opts3.metaCache,
abbreviatedMetaCache: /* @__PURE__ */ new Map(),
publishedAtCache: /* @__PURE__ */ new Map(),
localMetaCache: /* @__PURE__ */ new Map(),
fullMetaCache: /* @__PURE__ */ new Map(),
fullMetaForTrustCache: /* @__PURE__ */ new Map()
};
const minimumReleaseAge = opts3.minimumReleaseAge ?? 0;
const trustPolicy = opts3.trustPolicy;
const trustPolicyIgnoreAfter = opts3.trustPolicyIgnoreAfter;
const verify = async (resolution, { name, version: version2, nonSemverVersion }) => {
if (!isRegistryTarballResolution(resolution))
return { ok: true };
const integrity = resolution.integrity;
if (typeof integrity !== "string" || integrity.length === 0) {
return {
ok: false,
code: MISSING_TARBALL_INTEGRITY_VIOLATION_CODE,
reason: 'has no "integrity" field, so its downloaded tarball cannot be verified'
};
}
if (nonSemverVersion != null)
return { ok: true };
if (!import_semver13.default.valid(version2)) {
return {
ok: false,
code: TARBALL_URL_MISMATCH_VIOLATION_CODE,
reason: `has a non-semver version ("${version2}") and so cannot be verified against the registry's published metadata`
};
}
const rawTarball = resolution.tarball;
if (rawTarball != null && typeof rawTarball !== "string") {
return {
ok: false,
code: TARBALL_URL_MISMATCH_VIOLATION_CODE,
reason: 'has a non-string "tarball" field, so its URL cannot be verified'
};
}
const tarballUrl = typeof rawTarball === "string" ? rawTarball : void 0;
const registry = pickRegistryForVersion(opts3.registries, namedRegistryPrefixes, name, tarballUrl);
if (typeof tarballUrl === "string") {
const urlViolation = await runTarballUrlCheck(lookupContext, registry, name, version2, tarballUrl);
if (urlViolation)
return urlViolation;
}
const ageApplies = ageCheckActive && !isExcluded(excludePolicy, name, version2);
const trustApplies = trustCheckActive && !isExcluded(trustExcludePolicy, name, version2);
if (!ageApplies && !trustApplies)
return { ok: true };
if (ageApplies) {
const ageViolation = await runAgeCheck(lookupContext, registry, name, version2, cutoff, opts3.ignoreMissingTimeField === true);
if (ageViolation)
return ageViolation;
}
if (trustApplies) {
const trustViolation = await runTrustCheck(lookupContext, registry, name, version2, {
trustPolicyExclude: trustExcludePolicy,
trustPolicyIgnoreAfter
});
if (trustViolation)
return trustViolation;
}
return { ok: true };
};
const sortedMinAgeExcludes = [...new Set(opts3.minimumReleaseAgeExclude ?? [])].sort();
const sortedTrustExcludes = [...new Set(opts3.trustPolicyExclude ?? [])].sort();
return {
verify,
policy: {
// Marks runs that enforced the tarball-URL binding. A cache record
// written before this rule existed lacks the flag, so
// `canTrustPastCheck` rejects it and forces a re-verification that
// applies the binding — otherwise an upgrade could keep trusting a
// lockfile that was only ever age/trust-checked.
tarballUrlBinding: true,
// Same cache identity rule for the missing-integrity structural check.
integrityRequired: true,
minimumReleaseAge,
minimumReleaseAgeExclude: sortedMinAgeExcludes,
trustPolicy: trustPolicy ?? null,
trustPolicyExclude: sortedTrustExcludes,
trustPolicyIgnoreAfter: trustPolicyIgnoreAfter ?? null
},
canTrustPastCheck: (cached) => {
if (cached.tarballUrlBinding !== true)
return false;
if (cached.integrityRequired !== true)
return false;
const past = cached.minimumReleaseAge;
const pastNumber = typeof past === "number" ? past : 0;
if (pastNumber < minimumReleaseAge)
return false;
const pastMinAgeExcludes = Array.isArray(cached.minimumReleaseAgeExclude) ? cached.minimumReleaseAgeExclude : [];
if (JSON.stringify(pastMinAgeExcludes) !== JSON.stringify(sortedMinAgeExcludes))
return false;
const pastTrustPolicy = cached.trustPolicy ?? null;
const todayTrustPolicy = trustPolicy ?? null;
if (pastTrustPolicy !== todayTrustPolicy)
return false;
const pastTrustExcludes = Array.isArray(cached.trustPolicyExclude) ? cached.trustPolicyExclude : [];
if (JSON.stringify(pastTrustExcludes) !== JSON.stringify(sortedTrustExcludes))
return false;
const pastIgnoreAfter = typeof cached.trustPolicyIgnoreAfter === "number" ? cached.trustPolicyIgnoreAfter : null;
const todayIgnoreAfter = trustPolicyIgnoreAfter ?? null;
if (pastIgnoreAfter !== todayIgnoreAfter)
return false;
return true;
}
};
}
async function runAgeCheck(context, registry, name, version2, cutoff, ignoreMissingTimeField) {
const published = await fetchPublishedAt(context, registry, name, version2);
if (!published) {
if (ignoreMissingTimeField) {
warnMissingTimeFieldOnce(name);
return void 0;
}
return {
ok: false,
code: MINIMUM_RELEASE_AGE_VIOLATION_CODE,
reason: uncheckable("minimumReleaseAge", "version not present in registry manifest")
};
}
const publishedAt = new Date(published);
const ts = publishedAt.getTime();
if (Number.isNaN(ts)) {
return {
ok: false,
code: MINIMUM_RELEASE_AGE_VIOLATION_CODE,
reason: "publish timestamp is not a valid date"
};
}
if (ts > cutoff) {
return {
ok: false,
code: MINIMUM_RELEASE_AGE_VIOLATION_CODE,
reason: `was published at ${publishedAt.toISOString()}, within the minimumReleaseAge cutoff (${new Date(cutoff).toISOString()})`
};
}
return void 0;
}
async function runTarballUrlCheck(context, registry, name, version2, lockfileTarball) {
const { meta, error } = await fetchAbbreviatedMeta(context, registry, name);
if (error != null) {
throw error;
}
const registryTarball = meta?.versionTarballs?.get(version2);
if (registryTarball != null && sameTarballUrl(lockfileTarball, registryTarball)) {
return void 0;
}
return {
ok: false,
code: TARBALL_URL_MISMATCH_VIOLATION_CODE,
reason: registryTarball == null ? "could not be verified against the registry's published metadata" : `has a tarball URL (${lockfileTarball}) that does not match the registry's published metadata (${registryTarball})`
};
}
function sameTarballUrl(a2, b) {
return canonicalTarballUrl(a2) === canonicalTarballUrl(b);
}
function canonicalTarballUrl(url7) {
const normalized = normalizeRegistryUrl(url7).replace(/%2f/gi, "/");
const schemeEnd = normalized.indexOf("://");
return schemeEnd === -1 ? normalized : normalized.slice(schemeEnd + 3);
}
async function runTrustCheck(context, registry, name, version2, opts3) {
const meta = await fetchFullMetaForTrust(context, registry, name);
try {
failIfTrustDowngraded(meta, version2, opts3);
} catch (err2) {
return {
ok: false,
code: TRUST_DOWNGRADE_VIOLATION_CODE,
reason: err2 instanceof Error ? err2.message : String(err2)
};
}
return void 0;
}
function fetchFullMetaForTrust(context, registry, name) {
const cacheKey = `${registry}\0${name}`;
let cachedPromise = context.fullMetaForTrustCache.get(cacheKey);
if (cachedPromise == null) {
const shared = readSharedMetaForTrust(context.sharedMetaCache, registry, name);
if (shared != null) {
cachedPromise = Promise.resolve(projectTrustMeta(shared));
} else {
cachedPromise = fetchFullMetadataCached(context.fetchOpts, name, {
registry,
authHeaderValue: context.getAuthHeaderValueByURI(registry, { pkgName: name }),
cacheDir: context.cacheDir
}).then(projectTrustMeta);
}
context.fullMetaForTrustCache.set(cacheKey, cachedPromise);
}
return cachedPromise;
}
function projectTrustMeta(meta) {
const versions = {};
for (const [version2, manifest] of Object.entries(meta.versions ?? {})) {
versions[version2] = projectTrustManifest(manifest);
}
return {
name: meta.name,
"dist-tags": {},
versions,
time: meta.time,
modified: meta.modified,
etag: meta.etag
};
}
function projectTrustManifest(manifest) {
const approver = manifest._npmUser?.approver;
const trustedPublisher = manifest._npmUser?.trustedPublisher;
const provenance = manifest.dist?.attestations?.provenance;
let npmUser = void 0;
if (approver) {
npmUser ||= {};
npmUser.approver = {};
}
if (trustedPublisher) {
npmUser ||= {};
npmUser.trustedPublisher = trustedPublisher;
}
return {
_npmUser: npmUser,
dist: provenance != null ? { attestations: { provenance } } : void 0
};
}
async function fetchPublishedAt(context, registry, name, version2) {
const cacheKey = `${registry}\0${name}\0${version2}`;
let cachedPromise = context.publishedAtCache.get(cacheKey);
if (cachedPromise == null) {
cachedPromise = resolvePublishedAt(context, registry, name, version2);
context.publishedAtCache.set(cacheKey, cachedPromise);
}
return cachedPromise;
}
async function resolvePublishedAt(context, registry, name, version2) {
const abbreviatedShortcut = await tryAbbreviatedModifiedShortcut(context, registry, name, version2);
if (abbreviatedShortcut != null)
return abbreviatedShortcut;
const localTime = await readLocalMetaTime(context, registry, name);
if (localTime?.[version2])
return localTime[version2];
const attestationTime = await fetchAttestationPublishedAt(context.fetchOpts, name, version2, {
registry,
authHeaderValue: context.getAuthHeaderValueByURI(registry, { pkgName: name })
});
if (attestationTime != null)
return attestationTime;
const fullMetaTime = await fetchFullMetaTime(context, registry, name);
return fullMetaTime?.[version2];
}
async function tryAbbreviatedModifiedShortcut(context, registry, name, version2) {
const { meta } = await fetchAbbreviatedMeta(context, registry, name);
const modified = meta?.modified;
if (typeof modified !== "string")
return void 0;
const modifiedMs = Date.parse(modified);
if (Number.isNaN(modifiedMs))
return void 0;
if (modifiedMs >= context.cutoffMs)
return void 0;
if (!meta?.versionTarballs?.has(version2))
return void 0;
return modified;
}
function fetchAbbreviatedMeta(context, registry, name) {
const cacheKey = `${registry}\0${name}`;
let cachedPromise = context.abbreviatedMetaCache.get(cacheKey);
if (cachedPromise == null) {
const shared = readSharedMeta(context.sharedMetaCache, registry, name);
if (shared != null) {
cachedPromise = Promise.resolve({ meta: projectAbbreviatedMeta(shared) });
} else {
cachedPromise = fetchAbbreviatedMetadataCached(context.fetchOpts, name, {
registry,
authHeaderValue: context.getAuthHeaderValueByURI(registry, { pkgName: name }),
cacheDir: context.cacheDir
}).then((meta) => ({ meta: projectAbbreviatedMeta(meta) }), (error) => ({ error }));
}
context.abbreviatedMetaCache.set(cacheKey, cachedPromise);
}
return cachedPromise;
}
function readSharedMeta(cache, registry, name) {
if (cache == null)
return void 0;
return readSharedFullMeta(cache, registry, name) ?? validateSharedMeta(cache.get(getPkgMetaCacheKey(registry, name, false, false)), name);
}
function readSharedMetaForTrust(cache, registry, name) {
if (cache == null)
return void 0;
return readSharedFullMeta(cache, registry, name);
}
function readSharedFullMeta(cache, registry, name) {
return validateSharedMeta(cache.get(getPkgMetaCacheKey(registry, name, true, false)), name) ?? validateSharedMeta(cache.get(getPkgMetaCacheKey(registry, name, true, true)), name);
}
function validateSharedMeta(meta, name) {
if (meta == null)
return void 0;
if (meta.name !== name)
return void 0;
return meta;
}
function projectAbbreviatedMeta(meta) {
let versionTarballs;
if (meta.versions) {
versionTarballs = /* @__PURE__ */ new Map();
for (const [version2, manifest] of Object.entries(meta.versions)) {
versionTarballs.set(version2, manifest.dist?.tarball);
}
}
return {
modified: meta.modified,
versionTarballs
};
}
function readLocalMetaTime(context, registry, name) {
if (!context.cacheDir)
return Promise.resolve(void 0);
const cacheKey = `${registry}\0${name}`;
let cachedPromise = context.localMetaCache.get(cacheKey);
if (cachedPromise == null) {
cachedPromise = loadLocalMetaTime(context.cacheDir, registry, name);
context.localMetaCache.set(cacheKey, cachedPromise);
}
return cachedPromise;
}
async function loadLocalMetaTime(cacheDir, registry, name) {
const pkgMirror = getPkgMirrorPath(cacheDir, FULL_META_DIR, registry, name);
const cached = await loadMeta(pkgMirror);
return cached?.time;
}
function fetchFullMetaTime(context, registry, name) {
const cacheKey = `${registry}\0${name}`;
let cachedPromise = context.fullMetaCache.get(cacheKey);
if (cachedPromise == null) {
cachedPromise = fetchFullMetadataCached(context.fetchOpts, name, {
registry,
authHeaderValue: context.getAuthHeaderValueByURI(registry, { pkgName: name }),
cacheDir: context.cacheDir
}).then((meta) => meta.time);
context.fullMetaCache.set(cacheKey, cachedPromise);
}
return cachedPromise;
}
function pickRegistryForVersion(registries, namedRegistryPrefixes, name, tarballUrl) {
if (tarballUrl) {
const normalized = canonicalTarballUrl(tarballUrl);
for (const prefix of namedRegistryPrefixes) {
if (normalized.startsWith(canonicalTarballUrl(prefix)))
return prefix;
}
}
return pickRegistryForPackage(registries, name);
}
function tryParseUrl(url7) {
try {
return new URL(url7);
} catch {
return null;
}
}
function uncheckable(policy, why) {
return `could not be checked against ${policy} (${why})`;
}
function createExcludePolicy(patterns, key) {
try {
return createPackageVersionPolicy(patterns);
} catch (err2) {
if (!err2 || typeof err2 !== "object" || !("message" in err2))
throw err2;
throw new PnpmError(`INVALID_${key.replace(/([A-Z])/g, "_$1").toUpperCase()}`, `Invalid value in ${key}: ${err2.message}`);
}
}
function isExcluded(policy, name, version2) {
if (!policy)
return false;
const result2 = policy(name);
if (result2 === true)
return true;
if (Array.isArray(result2) && result2.includes(version2))
return true;
return false;
}
function isRegistryTarballResolution(resolution) {
if (resolution == null || typeof resolution !== "object")
return false;
if ("type" in resolution && resolution.type != null)
return false;
const tarball = resolution.tarball;
if (typeof tarball === "string") {
if (isGitHostedTarballUrl(tarball))
return false;
const protocol = tryParseUrl(tarball)?.protocol;
if (protocol != null && protocol !== "http:" && protocol !== "https:")
return false;
}
return true;
}
var import_semver13;
var init_createNpmResolutionVerifier = __esm({
"../resolving/npm-resolver/lib/createNpmResolutionVerifier.js"() {
"use strict";
init_lib28();
init_lib37();
init_lib();
init_lib2();
init_lib29();
import_semver13 = __toESM(require_semver2(), 1);
init_fetchAttestationPublishedAt();
init_fetchFullMetadataCached();
init_normalizeRegistryUrl();
init_parseBareSpecifier();
init_pickPackage();
init_trustChecks();
init_violationCodes();
}
});
// ../resolving/npm-resolver/lib/index.js
import path32 from "node:path";
function formatTimeAgo(date) {
const ts = date.getTime();
if (isNaN(ts)) {
return null;
}
const now = Date.now();
const diffMs = now - ts;
if (diffMs < 0) {
return null;
}
const diffSec = Math.floor(diffMs / 1e3);
const diffMin = Math.floor(diffSec / 60);
const diffHour = Math.floor(diffMin / 60);
const diffDay = Math.floor(diffHour / 24);
const diffMonth = Math.floor(diffDay / 30);
const diffYear = Math.floor(diffDay / 365);
if (diffYear > 0)
return `${diffYear} year${diffYear === 1 ? "" : "s"} ago`;
if (diffMonth > 0)
return `${diffMonth} month${diffMonth === 1 ? "" : "s"} ago`;
if (diffDay > 0)
return `${diffDay} day${diffDay === 1 ? "" : "s"} ago`;
if (diffHour > 0)
return `${diffHour} hour${diffHour === 1 ? "" : "s"} ago`;
if (diffMin > 0)
return `${diffMin} minute${diffMin === 1 ? "" : "s"} ago`;
return "a few seconds ago";
}
function createNpmResolver(fetchFromRegistry, getAuthHeader, opts3) {
if (typeof opts3.cacheDir !== "string") {
throw new TypeError("`opts.cacheDir` is required and needs to be a string");
}
const fetchOpts = {
fetch: fetchFromRegistry,
retry: opts3.retry ?? {},
timeout: opts3.timeout ?? 6e4,
fetchWarnTimeoutMs: opts3.fetchWarnTimeoutMs ?? 10 * 1e3
// 10 sec
};
const { fetch: fetch2, clear: clearFetchCache } = memoizeFetchMetadata(fetchMetadataFromFromRegistry.bind(null, fetchOpts));
const ownsMetaCache = opts3.metaCache == null;
const metaCache = opts3.metaCache ?? createDefaultPackageMetaCache();
const storeDir = opts3.storeDir;
const peekLockerForPeek = /* @__PURE__ */ new Map();
let peekManifestFromStore;
if (storeDir) {
peekManifestFromStore = async (peekOpts) => {
const filesIndexFile = storeIndexKey(peekOpts.integrity, peekOpts.id);
const existingRequest = peekLockerForPeek.get(filesIndexFile);
if (existingRequest != null) {
return existingRequest;
}
const request = readPkgFromCafs({
storeDir,
verifyStoreIntegrity: false,
frozenStore: opts3.frozenStore
}, filesIndexFile, {
expectedPkg: { name: peekOpts.name, version: peekOpts.version }
}).then(({ bundledManifest }) => {
if (!bundledManifest)
return void 0;
return bundledManifest;
}).catch(() => void 0);
peekLockerForPeek.set(filesIndexFile, request);
return request;
};
}
const namedRegistries = mergeNamedRegistries(opts3.namedRegistries);
const namedRegistryNames = new Set(Object.keys(namedRegistries));
const ctx = {
getAuthHeaderValueByURI: getAuthHeader,
pickPackage: pickPackage.bind(null, {
fetch: fetch2,
fullMetadata: opts3.fullMetadata,
filterMetadata: opts3.filterMetadata,
metaCache,
offline: opts3.offline,
preferOffline: opts3.preferOffline,
cacheDir: opts3.cacheDir,
ignoreMissingTimeField: opts3.ignoreMissingTimeField
}),
registries: opts3.registries,
namedRegistries,
namedRegistryNames,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol,
peekManifestFromStore,
warnedHeldBackUpdates: /* @__PURE__ */ new Set()
};
const boundResolveFromNpm = resolveNpm.bind(null, ctx);
const boundResolveFromJsr = resolveJsr.bind(null, ctx);
const boundResolveFromNamedRegistry = resolveFromNamedRegistry.bind(null, ctx);
const defaultRegistry = opts3.registries.default;
return {
resolveFromNpm: boundResolveFromNpm,
resolveFromJsr: boundResolveFromJsr,
resolveFromNamedRegistry: boundResolveFromNamedRegistry,
resolveLatestFromNpm: createResolveLatest(boundResolveFromNpm, (query) => isNpmSpec(query, defaultRegistry)),
resolveLatestFromJsr: createResolveLatest(boundResolveFromJsr, isJsrSpec),
resolveLatestFromNamedRegistry: createResolveLatest(boundResolveFromNamedRegistry, (query) => isNamedRegistrySpec(query, ctx.namedRegistryNames)),
clearCache: () => {
if (ownsMetaCache && "clear" in metaCache && typeof metaCache.clear === "function") {
metaCache.clear();
}
clearFetchCache();
}
};
}
function preferredVersionSelectorsFor(opts3, pkgName) {
const selectors = opts3.preferredVersions?.[pkgName];
if (!opts3.updateRequested)
return selectors;
return stripLockfileVersionPins(selectors);
}
function stripLockfileVersionPins(selectors) {
if (selectors == null)
return void 0;
let kept;
for (const [selector, value] of Object.entries(selectors)) {
let keptValue = value;
if (typeof value !== "string" && value.selectorType === "version" && value.weight >= EXISTING_VERSION_SELECTOR_WEIGHT) {
const manifestWeight = value.weight - EXISTING_VERSION_SELECTOR_WEIGHT;
if (manifestWeight <= 0)
continue;
keptValue = { selectorType: "version", weight: manifestWeight };
}
kept ??= /* @__PURE__ */ Object.create(null);
kept[selector] = keptValue;
}
return kept;
}
function warnOnceOnHeldBackUpdate(ctx, opts3, spec, meta, pickedVersion) {
if (!opts3.updateRequested || spec.type !== "range")
return;
const selectors = preferredVersionSelectorsFor(opts3, spec.name);
if (selectors == null)
return;
let nonPinSelectors;
for (const [selector, value] of Object.entries(selectors)) {
if ((typeof value === "string" ? value : value.selectorType) === "version")
continue;
nonPinSelectors ??= /* @__PURE__ */ Object.create(null);
nonPinSelectors[selector] = value;
}
const preferred = pickVersionByVersionRange({
meta,
versionRange: spec.fetchSpec,
preferredVersionSelectors: nonPinSelectors
});
if (preferred == null || preferred === pickedVersion)
return;
const key = `${spec.name}@${spec.fetchSpec}:${pickedVersion}<${preferred}`;
if (ctx.warnedHeldBackUpdates.has(key))
return;
ctx.warnedHeldBackUpdates.add(key);
globalWarn(`"${spec.name}@${spec.fetchSpec}" was updated to ${pickedVersion}, not ${preferred}, to match the version preferred by your manifests and already installed dependencies. To use ${preferred}, add an override to pnpm-workspace.yaml: overrides: { "${spec.name}@${spec.fetchSpec}": "${preferred}" }`);
}
function isNpmSpec(query, defaultRegistry) {
const { alias, bareSpecifier } = query.wantedDependency;
if (!bareSpecifier)
return alias != null;
return parseBareSpecifier(bareSpecifier, alias, "latest", defaultRegistry) != null;
}
function isJsrSpec(query) {
if (!query.wantedDependency.bareSpecifier?.startsWith("jsr:"))
return false;
return parseJsrSpecifierToRegistryPackageSpec(query.wantedDependency.bareSpecifier, query.wantedDependency.alias, "latest") != null;
}
function isNamedRegistrySpec(query, knownRegistryNames) {
if (!query.wantedDependency.bareSpecifier)
return false;
try {
return parseNamedRegistrySpecifierToRegistryPackageSpec(query.wantedDependency.bareSpecifier, knownRegistryNames, query.wantedDependency.alias, "latest") != null;
} catch {
return false;
}
}
function createResolveLatest(resolve4, matches2) {
return async (query, opts3) => {
if (!matches2(query))
return void 0;
const bareSpecifier = query.wantedDependency.bareSpecifier ?? "latest";
const resolveOpts = query.compatible ? opts3 : { ...opts3, update: "latest" };
try {
const result2 = await resolve4({ alias: query.wantedDependency.alias, bareSpecifier }, resolveOpts);
if (result2?.policyViolation?.code === MINIMUM_RELEASE_AGE_VIOLATION_CODE) {
return {};
}
return { latestManifest: result2?.manifest };
} catch (err2) {
if (opts3.publishedBy && err2.code === "ERR_PNPM_NO_MATCHING_VERSION") {
return {};
}
throw err2;
}
};
}
async function resolveNpm(ctx, wantedDependency, opts3) {
const defaultTag = opts3.defaultTag ?? "latest";
const registry = wantedDependency.alias ? pickRegistryForPackage(ctx.registries, wantedDependency.alias, wantedDependency.bareSpecifier) : ctx.registries.default;
if (wantedDependency.bareSpecifier?.startsWith("workspace:")) {
if (wantedDependency.bareSpecifier.startsWith("workspace:."))
return null;
const resolvedFromWorkspace = tryResolveFromWorkspace(wantedDependency, {
defaultTag,
lockfileDir: opts3.lockfileDir,
projectDir: opts3.projectDir,
registry,
workspacePackages: opts3.workspacePackages,
injectWorkspacePackages: opts3.injectWorkspacePackages,
update: Boolean(opts3.update),
saveWorkspaceProtocol: ctx.saveWorkspaceProtocol !== false ? ctx.saveWorkspaceProtocol : true,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
});
if (resolvedFromWorkspace != null) {
return resolvedFromWorkspace;
}
}
const workspacePackages = opts3.alwaysTryWorkspacePackages !== false ? opts3.workspacePackages : void 0;
const spec = wantedDependency.bareSpecifier ? parseBareSpecifier(wantedDependency.bareSpecifier, wantedDependency.alias, defaultTag, registry) : defaultTagForAlias(wantedDependency.alias, defaultTag);
if (spec == null)
return null;
if (ctx.peekManifestFromStore && opts3.currentPkg?.resolution && !opts3.update && (opts3.publishedBy == null || opts3.currentPkg.publishedAt != null)) {
const currentResolution = opts3.currentPkg.resolution;
if ("tarball" in currentResolution && currentResolution.integrity) {
const manifest = await ctx.peekManifestFromStore({
id: opts3.currentPkg.id,
integrity: currentResolution.integrity,
name: opts3.currentPkg.name,
version: opts3.currentPkg.version
});
if (manifest?.name && manifest?.version) {
const id2 = `${manifest.name}@${manifest.version}`;
if (id2 === opts3.currentPkg.id) {
return {
id: id2,
manifest,
resolution: currentResolution,
resolvedVia: "npm-registry",
publishedAt: opts3.currentPkg.publishedAt,
// Loose-mode bypass: a lockfile entry whose publishedAt sits
// after the maturity cutoff would have been rejected at
// resolver time, but the peek path skips the maturity check.
// Report inline so the deps-resolver aggregator surfaces it
// to the install command.
policyViolation: detectMinReleaseAgeViolation({
name: manifest.name,
version: manifest.version,
publishedAt: opts3.currentPkg.publishedAt,
resolution: currentResolution,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude
})
};
}
}
}
}
const authHeaderValue = ctx.getAuthHeaderValueByURI(registry, { pkgName: spec.name });
let pickResult;
try {
pickResult = await ctx.pickPackage(spec, {
pickLowestVersion: opts3.pickLowestVersion,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude,
authHeaderValue,
dryRun: opts3.dryRun === true,
preferredVersionSelectors: preferredVersionSelectorsFor(opts3, spec.name),
registry,
includeLatestTag: opts3.update === "latest",
updateChecksums: opts3.updateChecksums,
optional: wantedDependency.optional
});
} catch (err2) {
if (workspacePackages != null && opts3.projectDir) {
try {
return tryResolveFromWorkspacePackages(workspacePackages, spec, {
wantedDependency,
projectDir: opts3.projectDir,
lockfileDir: opts3.lockfileDir,
hardLinkLocalPackages: opts3.injectWorkspacePackages === true || wantedDependency.injected,
update: false,
saveWorkspaceProtocol: ctx.saveWorkspaceProtocol,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
});
} catch (workspaceErr) {
if (err2.code === "ERR_PNPM_FETCH_404" && workspaceErr.code === "ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE") {
throw workspaceErr;
}
}
}
throw err2;
}
const pickedPackage = pickResult.pickedPackage;
const meta = pickResult.meta;
if (pickedPackage == null) {
if (workspacePackages != null && opts3.projectDir) {
try {
return tryResolveFromWorkspacePackages(workspacePackages, spec, {
wantedDependency,
projectDir: opts3.projectDir,
lockfileDir: opts3.lockfileDir,
hardLinkLocalPackages: opts3.injectWorkspacePackages === true || wantedDependency.injected,
update: false,
saveWorkspaceProtocol: ctx.saveWorkspaceProtocol,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
});
} catch (workspaceErr) {
if (workspaceErr.code === "ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE") {
throw workspaceErr;
}
}
}
throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry });
} else if (opts3.trustPolicy === "no-downgrade") {
failIfTrustDowngraded(meta, pickedPackage.version, opts3);
}
const workspacePkgsMatchingName = workspacePackages?.get(pickedPackage.name);
if (workspacePkgsMatchingName && opts3.projectDir) {
const matchedPkg = workspacePkgsMatchingName.get(pickedPackage.version);
if (matchedPkg) {
return {
...resolveFromLocalPackage(matchedPkg, spec, {
wantedDependency,
projectDir: opts3.projectDir,
lockfileDir: opts3.lockfileDir,
hardLinkLocalPackages: opts3.injectWorkspacePackages === true || wantedDependency.injected,
saveWorkspaceProtocol: ctx.saveWorkspaceProtocol,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
}),
latest: meta["dist-tags"].latest
};
}
const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, spec);
if (localVersion && (import_semver14.default.gt(localVersion, pickedPackage.version) || opts3.preferWorkspacePackages)) {
return {
...resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec, {
wantedDependency,
projectDir: opts3.projectDir,
lockfileDir: opts3.lockfileDir,
hardLinkLocalPackages: opts3.injectWorkspacePackages === true || wantedDependency.injected,
saveWorkspaceProtocol: ctx.saveWorkspaceProtocol,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
}),
latest: meta["dist-tags"].latest
};
}
}
warnOnceOnHeldBackUpdate(ctx, opts3, spec, meta, pickedPackage.version);
const id = `${pickedPackage.name}@${pickedPackage.version}`;
const resolution = {
integrity: getIntegrity(pickedPackage.dist),
tarball: normalizeRegistryUrl(pickedPackage.dist.tarball)
};
let normalizedBareSpecifier;
if (opts3.calcSpecifier) {
normalizedBareSpecifier = spec.normalizedBareSpecifier ?? calcSpecifier({
wantedDependency,
spec,
version: pickedPackage.version,
defaultPinnedVersion: opts3.pinnedVersion
});
}
const publishedAt = meta.time?.[pickedPackage.version];
return {
id,
latest: meta["dist-tags"].latest,
manifest: pickedPackage,
resolution,
resolvedVia: "npm-registry",
publishedAt,
normalizedBareSpecifier,
policyViolation: detectMinReleaseAgeViolation({
name: pickedPackage.name,
version: pickedPackage.version,
publishedAt,
resolution,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude
})
};
}
async function resolveJsr(ctx, wantedDependency, opts3) {
if (!wantedDependency.bareSpecifier)
return null;
const spec = parseJsrSpecifierToRegistryPackageSpec(wantedDependency.bareSpecifier, wantedDependency.alias, opts3.defaultTag ?? "latest");
if (spec == null)
return null;
const picked = await pickFromSimpleRegistry(ctx, wantedDependency, opts3, spec, ctx.registries["@jsr"]);
return {
...picked,
normalizedBareSpecifier: opts3.calcSpecifier ? calcPrefixedSpecifier("jsr:", spec.jsrPkgName, wantedDependency, picked.manifest.version, opts3.pinnedVersion) : void 0,
resolvedVia: "jsr-registry",
alias: spec.jsrPkgName
};
}
function mergeNamedRegistries(userDefined) {
const merged = { ...BUILTIN_NAMED_REGISTRIES };
if (!userDefined)
return merged;
for (const [alias, url7] of Object.entries(userDefined)) {
if (typeof url7 !== "string" || !isValidHttpUrl(url7)) {
throw new PnpmError("INVALID_NAMED_REGISTRY_URL", `The named registry alias '${alias}' is mapped to '${String(url7)}', which is not a valid http(s) URL.`, { hint: "Provide a URL that starts with http:// or https://, e.g. https://npm.pkg.example.com/" });
}
merged[alias] = url7;
}
return merged;
}
function isValidHttpUrl(url7) {
try {
const parsed = new URL(url7);
return parsed.protocol === "http:" || parsed.protocol === "https:";
} catch {
return false;
}
}
async function resolveFromNamedRegistry(ctx, wantedDependency, opts3) {
if (!wantedDependency.bareSpecifier)
return null;
const spec = parseNamedRegistrySpecifierToRegistryPackageSpec(wantedDependency.bareSpecifier, ctx.namedRegistryNames, wantedDependency.alias, opts3.defaultTag ?? "latest");
if (spec == null)
return null;
const registry = ctx.namedRegistries[spec.registryName];
if (!registry)
return null;
const picked = await pickFromSimpleRegistry(ctx, wantedDependency, opts3, spec, registry);
return {
...picked,
normalizedBareSpecifier: opts3.calcSpecifier ? calcPrefixedSpecifier(`${spec.registryName}:`, spec.name, wantedDependency, picked.manifest.version, opts3.pinnedVersion) : void 0,
resolvedVia: "named-registry",
registryName: spec.registryName,
// Exposes the scoped package name so callers that omit an explicit alias
// (e.g. `pnpm add gh:@acme/foo`) record the dependency under `@acme/foo`.
alias: spec.name
};
}
async function pickFromSimpleRegistry(ctx, wantedDependency, opts3, spec, registry) {
const authHeaderValue = ctx.getAuthHeaderValueByURI(registry, { pkgName: spec.name });
const { meta, pickedPackage } = await ctx.pickPackage(spec, {
pickLowestVersion: opts3.pickLowestVersion,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude,
authHeaderValue,
dryRun: opts3.dryRun === true,
preferredVersionSelectors: preferredVersionSelectorsFor(opts3, spec.name),
registry,
includeLatestTag: opts3.update === "latest",
updateChecksums: opts3.updateChecksums,
optional: wantedDependency.optional
});
if (pickedPackage == null) {
throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry });
}
warnOnceOnHeldBackUpdate(ctx, opts3, spec, meta, pickedPackage.version);
const resolution = {
integrity: getIntegrity(pickedPackage.dist),
tarball: normalizeRegistryUrl(pickedPackage.dist.tarball)
};
const publishedAt = meta.time?.[pickedPackage.version];
return {
id: `${pickedPackage.name}@${pickedPackage.version}`,
latest: meta["dist-tags"].latest,
manifest: pickedPackage,
resolution,
publishedAt,
policyViolation: detectMinReleaseAgeViolation({
name: pickedPackage.name,
version: pickedPackage.version,
publishedAt,
resolution,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude
})
};
}
function calcPrefixedSpecifier(prefix, pkgName, wantedDependency, version2, defaultPinnedVersion) {
const range = calcRange(version2, wantedDependency, defaultPinnedVersion);
if (!wantedDependency.alias || pkgName === wantedDependency.alias)
return `${prefix}${range}`;
return `${prefix}${pkgName}@${range}`;
}
function calcSpecifier({ wantedDependency, spec, version: version2, defaultPinnedVersion }) {
if (wantedDependency.prevSpecifier === wantedDependency.bareSpecifier && wantedDependency.prevSpecifier && (0, import_version_selector_type2.default)(wantedDependency.prevSpecifier)?.type === "tag") {
return wantedDependency.prevSpecifier;
}
const range = calcRange(version2, wantedDependency, defaultPinnedVersion);
if (!wantedDependency.alias || spec.name === wantedDependency.alias)
return range;
return `npm:${spec.name}@${range}`;
}
function calcRange(version2, wantedDependency, defaultPinnedVersion) {
if (import_semver14.default.parse(version2)?.prerelease.length) {
return version2;
}
const pinnedVersion = (wantedDependency.prevSpecifier ? whichVersionIsPinned(wantedDependency.prevSpecifier) : void 0) ?? (wantedDependency.bareSpecifier ? whichVersionIsPinned(wantedDependency.bareSpecifier) : void 0) ?? defaultPinnedVersion;
return createVersionSpec(version2, pinnedVersion);
}
function tryResolveFromWorkspace(wantedDependency, opts3) {
if (!wantedDependency.bareSpecifier?.startsWith("workspace:")) {
return null;
}
const bareSpecifier = workspacePrefToNpm(wantedDependency.bareSpecifier);
const spec = parseBareSpecifier(bareSpecifier, wantedDependency.alias, opts3.defaultTag, opts3.registry);
if (spec == null)
throw new Error(`Invalid workspace: spec (${wantedDependency.bareSpecifier})`);
if (opts3.workspacePackages == null) {
throw new Error("Cannot resolve package from workspace because opts.workspacePackages is not defined");
}
if (!opts3.projectDir) {
throw new Error("Cannot resolve package from workspace because opts.projectDir is not defined");
}
return tryResolveFromWorkspacePackages(opts3.workspacePackages, spec, {
wantedDependency,
projectDir: opts3.projectDir,
hardLinkLocalPackages: opts3.injectWorkspacePackages === true || wantedDependency.injected,
lockfileDir: opts3.lockfileDir,
update: opts3.update,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol,
calcSpecifier: opts3.calcSpecifier,
pinnedVersion: opts3.pinnedVersion
});
}
function tryResolveFromWorkspacePackages(workspacePackages, spec, opts3) {
const workspacePkgsMatchingName = workspacePackages.get(spec.name);
if (!workspacePkgsMatchingName) {
throw new PnpmError("WORKSPACE_PKG_NOT_FOUND", `In ${path32.relative(process.cwd(), opts3.projectDir)}: "${spec.name}@${opts3.wantedDependency.bareSpecifier ?? ""}" is in the dependencies but no package named "${spec.name}" is present in the workspace`, {
hint: "Packages found in the workspace: " + Array.from(workspacePackages.keys()).join(", ")
});
}
const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, opts3.update ? { name: spec.name, fetchSpec: "*", type: "range" } : spec);
if (!localVersion) {
const availableVersions = Array.from(workspacePkgsMatchingName.keys()).sort((a2, b) => import_semver14.default.rcompare(a2, b));
throw new PnpmError("NO_MATCHING_VERSION_INSIDE_WORKSPACE", `In ${path32.relative(process.cwd(), opts3.projectDir)}: No matching version found for ${opts3.wantedDependency.alias ?? ""}@${opts3.wantedDependency.bareSpecifier ?? ""} inside the workspace` + (availableVersions.length ? `. Available versions: ${availableVersions.join(", ")}` : ""), availableVersions.length ? {
hint: `Available workspace versions for "${spec.name}": ${availableVersions.join(", ")}`
} : void 0);
}
return resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec, opts3);
}
function pickMatchingLocalVersionOrNull(versions, spec) {
switch (spec.type) {
case "tag":
return import_semver14.default.maxSatisfying(Array.from(versions.keys()), "*", {
includePrerelease: true
});
case "version":
return versions.has(spec.fetchSpec) ? spec.fetchSpec : null;
case "range":
return resolveWorkspaceRange(spec.fetchSpec, Array.from(versions.keys()));
default:
return null;
}
}
function resolveFromLocalPackage(localPackage, spec, opts3) {
let id;
let directory;
const localPackageDir = resolveLocalPackageDir(localPackage);
if (opts3.hardLinkLocalPackages) {
directory = (0, import_normalize_path2.default)(path32.relative(opts3.lockfileDir, localPackageDir));
id = `file:${directory}`;
} else {
directory = localPackageDir;
id = `link:${(0, import_normalize_path2.default)(path32.relative(opts3.projectDir, localPackageDir))}`;
}
let normalizedBareSpecifier;
if (opts3.calcSpecifier) {
normalizedBareSpecifier = spec.normalizedBareSpecifier ?? calcSpecifierForWorkspaceDep({
wantedDependency: opts3.wantedDependency,
spec,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol,
version: localPackage.manifest.version,
defaultPinnedVersion: opts3.pinnedVersion
});
}
return {
id,
manifest: clone_default(localPackage.manifest),
resolution: {
directory,
type: "directory"
},
resolvedVia: "workspace",
normalizedBareSpecifier
};
}
function calcSpecifierForWorkspaceDep({ wantedDependency, spec, saveWorkspaceProtocol, version: version2, defaultPinnedVersion }) {
if (!saveWorkspaceProtocol && !wantedDependency.bareSpecifier?.startsWith("workspace:")) {
return calcSpecifier({ wantedDependency, spec, version: version2, defaultPinnedVersion });
}
const prefix = !wantedDependency.alias || spec.name === wantedDependency.alias ? "workspace:" : `workspace:${spec.name}@`;
if (saveWorkspaceProtocol === "rolling") {
const specifier = wantedDependency.prevSpecifier ?? wantedDependency.bareSpecifier;
if (specifier) {
if ([`${prefix}*`, `${prefix}^`, `${prefix}~`].includes(specifier))
return specifier;
const pinnedVersion2 = whichVersionIsPinned(specifier);
switch (pinnedVersion2) {
case "major":
return `${prefix}^`;
case "minor":
return `${prefix}~`;
case "patch":
case "none":
return `${prefix}*`;
}
}
return `${prefix}^`;
}
if (import_semver14.default.parse(version2)?.prerelease.length) {
return `${prefix}${version2}`;
}
const pinnedVersion = (wantedDependency.prevSpecifier ? whichVersionIsPinned(wantedDependency.prevSpecifier) : void 0) ?? defaultPinnedVersion;
const range = createVersionSpec(version2, pinnedVersion);
return `${prefix}${range}`;
}
function resolveLocalPackageDir(localPackage) {
if (localPackage.manifest.publishConfig?.directory == null || localPackage.manifest.publishConfig?.linkDirectory === false)
return localPackage.rootDir;
return path32.join(localPackage.rootDir, localPackage.manifest.publishConfig.directory);
}
function defaultTagForAlias(alias, defaultTag) {
return {
fetchSpec: defaultTag,
name: alias,
type: "tag"
};
}
function detectMinReleaseAgeViolation(args) {
if (!args.publishedBy || !args.publishedAt)
return void 0;
const excludeResult = args.publishedByExclude?.(args.name);
if (excludeResult === true)
return void 0;
if (Array.isArray(excludeResult) && excludeResult.includes(args.version))
return void 0;
const ts = new Date(args.publishedAt).getTime();
if (Number.isNaN(ts) || ts <= args.publishedBy.getTime())
return void 0;
return {
name: args.name,
version: args.version,
resolution: args.resolution,
code: MINIMUM_RELEASE_AGE_VIOLATION_CODE,
reason: `was published at ${new Date(ts).toISOString()}, within the minimumReleaseAge cutoff (${args.publishedBy.toISOString()})`
};
}
function getIntegrity(dist) {
if (dist.integrity) {
return dist.integrity;
}
if (!dist.shasum) {
return void 0;
}
const integrity = import_ssri2.default.fromHex(dist.shasum, "sha1");
if (!integrity) {
throw new PnpmError("INVALID_TARBALL_INTEGRITY", `Tarball "${dist.tarball}" has invalid shasum specified in its metadata: ${dist.shasum}`);
}
return integrity.toString();
}
function createVersionSpec(version2, pinnedVersion) {
switch (pinnedVersion ?? "major") {
case "none":
case "major":
return `^${version2}`;
case "minor":
return `~${version2}`;
case "patch":
return version2;
default:
throw new PnpmError("BAD_PINNED_VERSION", `Cannot pin '${pinnedVersion ?? "undefined"}'`);
}
}
function createDefaultPackageMetaCache() {
return new I({
max: 1e4,
ttl: 120 * 1e3
// 2 minutes
});
}
var import_normalize_path2, import_semver14, import_ssri2, import_version_selector_type2, NoMatchingVersionError;
var init_lib38 = __esm({
"../resolving/npm-resolver/lib/index.js"() {
"use strict";
init_lib28();
init_lib2();
init_lib3();
init_lib29();
init_lib30();
init_lib4();
init_lib31();
init_index_min();
import_normalize_path2 = __toESM(require_normalize_path(), 1);
init_es();
import_semver14 = __toESM(require_semver2(), 1);
import_ssri2 = __toESM(require_lib18(), 1);
import_version_selector_type2 = __toESM(require_version_selector_type(), 1);
init_fetch2();
init_memoizeFetchMetadata();
init_normalizeRegistryUrl();
init_parseBareSpecifier();
init_pickPackage();
init_pickPackageFromMeta();
init_trustChecks();
init_violationCodes();
init_whichVersionIsPinned();
init_workspacePrefToNpm();
init_createNpmResolutionVerifier();
init_violationCodes();
init_whichVersionIsPinned();
NoMatchingVersionError = class extends PnpmError {
packageMeta;
constructor(opts3) {
const dep = opts3.wantedDependency.alias ? `${opts3.wantedDependency.alias}@${opts3.wantedDependency.bareSpecifier ?? ""}` : opts3.wantedDependency.bareSpecifier;
super("NO_MATCHING_VERSION", `No matching version found for ${dep} while fetching it from ${opts3.registry}`);
this.packageMeta = opts3.packageMeta;
}
};
}
});
// ../workspace/projects-graph/lib/index.js
import path33 from "node:path";
function createProjectsGraph(projects, opts3) {
const projectMap = createProjectMap(projects);
const projectMapValues = Object.values(projectMap);
let projectMapByManifestName;
let projectMapByDir;
const unmatched = [];
const graph = map_default((project) => ({
dependencies: createNode(project),
package: project
}), projectMap);
return { graph, unmatched };
function createNode(project) {
const dependencies = {
...project.manifest.peerDependencies,
...!opts3?.ignoreDevDeps && project.manifest.devDependencies,
...project.manifest.optionalDependencies,
...project.manifest.dependencies
};
return Object.entries(dependencies).map(([depName, rawSpec]) => {
let spec;
const isWorkspaceSpec = rawSpec.startsWith("workspace:");
try {
if (isWorkspaceSpec) {
const { fetchSpec, name } = parseBareSpecifier(workspacePrefToNpm(rawSpec), depName, "latest", "");
rawSpec = fetchSpec;
depName = name;
}
spec = import_npm_package_arg.default.resolve(depName, rawSpec, project.rootDir);
} catch {
return "";
}
if (spec.type === "directory") {
projectMapByDir ??= getProjectMapByDir(projectMapValues);
const resolvedPath = path33.resolve(project.rootDir, spec.fetchSpec);
const found = projectMapByDir[resolvedPath];
if (found) {
return found.rootDir;
}
const matchedProject2 = projectMapValues.find((p) => path33.relative(p.rootDir, spec.fetchSpec) === "");
if (matchedProject2 == null) {
return "";
}
projectMapByDir[resolvedPath] = matchedProject2;
return matchedProject2.rootDir;
}
if (spec.type !== "version" && spec.type !== "range")
return "";
projectMapByManifestName ??= getProjectMapByManifestName(projectMapValues);
const candidates = projectMapByManifestName[depName];
if (!candidates || candidates.length === 0)
return "";
const versions = candidates.filter(({ manifest }) => manifest.version).map((p) => p.manifest.version);
const strictWorkspaceMatching = opts3?.linkWorkspacePackages === false && !isWorkspaceSpec;
if (strictWorkspaceMatching) {
unmatched.push({ pkgName: depName, range: rawSpec });
return "";
}
if (isWorkspaceSpec && versions.length === 0) {
const matchedProject2 = candidates.find((p) => p.manifest.name === depName);
return matchedProject2.rootDir;
}
if (versions.includes(rawSpec)) {
const matchedProject2 = candidates.find((p) => p.manifest.name === depName && p.manifest.version === rawSpec);
return matchedProject2.rootDir;
}
const matched = resolveWorkspaceRange(rawSpec, versions);
if (!matched) {
unmatched.push({ pkgName: depName, range: rawSpec });
return "";
}
const matchedProject = candidates.find((p) => p.manifest.name === depName && p.manifest.version === matched);
return matchedProject.rootDir;
}).filter(Boolean);
}
}
function createProjectMap(projects) {
const projectMap = {};
for (const project of projects) {
projectMap[project.rootDir] = project;
}
return projectMap;
}
function getProjectMapByManifestName(projectMapValues) {
const projectMapByManifestName = {};
for (const project of projectMapValues) {
if (project.manifest.name) {
(projectMapByManifestName[project.manifest.name] ??= []).push(project);
}
}
return projectMapByManifestName;
}
function getProjectMapByDir(projectMapValues) {
const projectMapByDir = {};
for (const project of projectMapValues) {
projectMapByDir[path33.resolve(project.rootDir)] = project;
}
return projectMapByDir;
}
var import_npm_package_arg;
var init_lib39 = __esm({
"../workspace/projects-graph/lib/index.js"() {
"use strict";
import_npm_package_arg = __toESM(require_npa(), 1);
init_lib38();
init_lib31();
init_es();
}
});
// ../config/package-is-installable/lib/checkEngine.js
function checkEngine(packageId, wantedEngine, currentEngine) {
if (!wantedEngine)
return null;
const unsatisfiedWanted = {};
if (wantedEngine.node && !import_semver15.default.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) {
if (!import_semver15.default.valid(currentEngine.node)) {
throw new PnpmError("INVALID_NODE_VERSION", `The nodeVersion setting is "${currentEngine.node}", which is not exact semver version`);
}
unsatisfiedWanted.node = wantedEngine.node;
}
if (currentEngine.pnpm && wantedEngine.pnpm && !import_semver15.default.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) {
unsatisfiedWanted.pnpm = wantedEngine.pnpm;
}
if (Object.keys(unsatisfiedWanted).length > 0) {
return new UnsupportedEngineError(packageId, unsatisfiedWanted, currentEngine);
}
return null;
}
var import_semver15, UnsupportedEngineError;
var init_checkEngine = __esm({
"../config/package-is-installable/lib/checkEngine.js"() {
"use strict";
init_lib2();
import_semver15 = __toESM(require_semver2(), 1);
UnsupportedEngineError = class extends PnpmError {
wanted;
current;
packageId;
constructor(packageId, wanted, current) {
super("UNSUPPORTED_ENGINE", `Unsupported engine for ${packageId}: wanted: ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
this.packageId = packageId;
this.wanted = wanted;
this.current = current;
}
};
}
});
// ../config/package-is-installable/lib/checkPlatform.js
function checkPlatform(packageId, wantedPlatform, supportedArchitectures) {
const current = {
os: dedupeCurrent(process.platform, supportedArchitectures?.os ?? ["current"]),
cpu: dedupeCurrent(process.arch, supportedArchitectures?.cpu ?? ["current"]),
libc: dedupeCurrent(currentLibc, supportedArchitectures?.libc ?? ["current"])
};
const { platform: platform5, arch: arch2 } = process;
let osOk = true;
let cpuOk = true;
let libcOk = true;
if (wantedPlatform.os) {
osOk = checkList(current.os, wantedPlatform.os);
}
if (wantedPlatform.cpu) {
cpuOk = checkList(current.cpu, wantedPlatform.cpu);
}
if (wantedPlatform.libc && currentLibc !== "unknown") {
libcOk = checkList(current.libc, wantedPlatform.libc);
}
if (!osOk || !cpuOk || !libcOk) {
return new UnsupportedPlatformError(packageId, wantedPlatform, { os: platform5, cpu: arch2, libc: currentLibc });
}
return null;
}
function checkList(value, list2) {
let tmp;
let match = false;
if (typeof list2 === "string") {
list2 = [list2];
}
list2 = list2.filter((value2) => typeof value2 === "string");
if (list2.length === 1 && list2[0] === "any") {
return true;
}
const values = Array.isArray(value) ? value : [value];
for (const value2 of values) {
for (let i4 = 0; i4 < list2.length; ++i4) {
tmp = list2[i4];
if (tmp[0] === "!") {
tmp = tmp.slice(1);
if (tmp === value2) {
return false;
}
} else {
match = match || tmp === value2;
}
}
}
return match || list2.every((entry) => entry[0] === "!");
}
function dedupeCurrent(current, supported) {
return supported.map((supported2) => supported2 === "current" ? current : supported2);
}
var import_detect_libc, currentLibc, UnsupportedPlatformError;
var init_checkPlatform = __esm({
"../config/package-is-installable/lib/checkPlatform.js"() {
"use strict";
init_lib2();
import_detect_libc = __toESM(require_detect_libc(), 1);
currentLibc = (0, import_detect_libc.familySync)() ?? "unknown";
UnsupportedPlatformError = class extends PnpmError {
wanted;
current;
constructor(packageId, wanted, current) {
super("UNSUPPORTED_PLATFORM", `Unsupported platform for ${packageId}: wanted ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
this.wanted = wanted;
this.current = current;
}
};
}
});
// ../config/package-is-installable/lib/inferPlatformFromPackageName.js
function inferPlatformFromPackageName(name) {
const nameWithoutScope = name.includes("/") ? name.slice(name.indexOf("/") + 1) : name;
const tokens = nameWithoutScope.toLowerCase().split(/[-_.]/);
const os17 = pickTokenValues(tokens, OS_BY_TOKEN);
const cpu = pickTokenValues(tokens, CPU_BY_TOKEN);
const libc = pickTokenValues(tokens, LIBC_BY_TOKEN);
if (os17 == null && cpu == null && libc == null)
return null;
return {
...os17 != null ? { os: os17 } : {},
...cpu != null ? { cpu } : {},
...libc != null ? { libc } : {}
};
}
function pickTokenValues(tokens, valueByToken) {
const values = /* @__PURE__ */ new Set();
for (const token of tokens) {
const value = valueByToken.get(token);
if (value != null) {
values.add(value);
}
}
return values.size > 0 ? Array.from(values) : void 0;
}
var OS_BY_TOKEN, CPU_BY_TOKEN, LIBC_BY_TOKEN;
var init_inferPlatformFromPackageName = __esm({
"../config/package-is-installable/lib/inferPlatformFromPackageName.js"() {
"use strict";
OS_BY_TOKEN = /* @__PURE__ */ new Map([
["aix", "aix"],
["android", "android"],
["darwin", "darwin"],
["macos", "darwin"],
["osx", "darwin"],
["freebsd", "freebsd"],
["linux", "linux"],
["netbsd", "netbsd"],
["openbsd", "openbsd"],
["openharmony", "openharmony"],
["sunos", "sunos"],
["win32", "win32"],
["windows", "win32"]
]);
CPU_BY_TOKEN = /* @__PURE__ */ new Map([
["arm", "arm"],
["armv6", "arm"],
["armv7", "arm"],
["arm64", "arm64"],
["aarch64", "arm64"],
["ia32", "ia32"],
["loong64", "loong64"],
["mips64el", "mips64el"],
["ppc64", "ppc64"],
["ppc64le", "ppc64"],
["riscv64", "riscv64"],
["s390x", "s390x"],
["x64", "x64"],
["amd64", "x64"],
["wasm32", "wasm32"]
]);
LIBC_BY_TOKEN = /* @__PURE__ */ new Map([
["glibc", "glibc"],
["gnu", "glibc"],
["gnueabihf", "glibc"],
["musl", "musl"],
["musleabihf", "musl"]
]);
}
});
// ../config/package-is-installable/lib/index.js
function packageIsInstallable(pkgId, pkg, options) {
const warn = checkPackage(pkgId, { engines: pkg.engines, ...effectivePlatform(pkg, options.optional) }, options);
if (warn == null)
return true;
installCheckLogger.warn({
message: warn.message,
prefix: options.lockfileDir
});
if (options.optional) {
skippedOptionalDependencyLogger.debug({
details: warn.toString(),
package: {
id: pkgId,
name: pkg.name,
version: pkg.version
},
prefix: options.lockfileDir,
reason: warn.code === "ERR_PNPM_UNSUPPORTED_ENGINE" ? "unsupported_engine" : "unsupported_platform"
});
return false;
}
if (options.engineStrict)
throw warn;
return null;
}
function effectivePlatform(pkg, optional) {
if (!optional || pkg.os != null && pkg.cpu != null && pkg.libc != null)
return pkg;
const inferred = inferPlatformFromPackageName(pkg.name);
if (inferred == null)
return pkg;
const pkgDeclaresPlatform = pkg.os != null || pkg.cpu != null || pkg.libc != null;
if (!pkgDeclaresPlatform && inferred.os == null)
return pkg;
return {
os: pkg.os ?? inferred.os,
cpu: pkg.cpu ?? inferred.cpu,
libc: pkg.libc ?? inferred.libc
};
}
function checkPackage(pkgId, manifest, options) {
return checkPlatform(pkgId, {
cpu: manifest.cpu ?? ["any"],
os: manifest.os ?? ["any"],
libc: manifest.libc ?? ["any"]
}, options.supportedArchitectures) ?? (manifest.engines == null ? null : checkEngine(pkgId, manifest.engines, {
node: options.nodeVersion ?? getSystemNodeVersion() ?? process.version,
pnpm: options.pnpmVersion
}));
}
var init_lib40 = __esm({
"../config/package-is-installable/lib/index.js"() {
"use strict";
init_lib6();
init_lib26();
init_checkEngine();
init_checkPlatform();
init_inferPlatformFromPackageName();
init_inferPlatformFromPackageName();
}
});
// ../cli/utils/lib/packageIsInstallable.js
function packageIsInstallable2(pkgPath, pkg, opts3) {
const currentPnpmVersion = packageManager.name === "pnpm" ? packageManager.version : void 0;
const err2 = checkPackage(pkgPath, pkg, {
nodeVersion: opts3.nodeVersion,
pnpmVersion: currentPnpmVersion,
supportedArchitectures: opts3.supportedArchitectures ?? {
os: ["current"],
cpu: ["current"],
libc: ["current"]
}
});
if (err2 === null)
return;
if ((err2 instanceof UnsupportedEngineError && err2.wanted.pnpm) ?? opts3.engineStrict)
throw err2;
logger.warn({
message: `Unsupported ${err2 instanceof UnsupportedEngineError ? "engine" : "platform"}: wanted: ${JSON.stringify(err2.wanted)} (current: ${JSON.stringify(err2.current)})`,
prefix: pkgPath
});
}
var init_packageIsInstallable = __esm({
"../cli/utils/lib/packageIsInstallable.js"() {
"use strict";
init_lib24();
init_lib40();
init_lib3();
}
});
// ../cli/utils/lib/promptPageSize.js
function interactivePromptPageSize() {
const availableRows = process.stdout.rows;
return availableRows == null ? 7 : Math.max(7, availableRows - 6);
}
var init_promptPageSize = __esm({
"../cli/utils/lib/promptPageSize.js"() {
"use strict";
}
});
// ../cli/utils/lib/readDepNameCompletions.js
async function readDepNameCompletions(dir) {
const { manifest } = await readProjectManifest(dir ?? process.cwd());
return Object.keys(getAllDependenciesFromManifest2(manifest)).map((name) => ({ name }));
}
var init_readDepNameCompletions = __esm({
"../cli/utils/lib/readDepNameCompletions.js"() {
"use strict";
init_lib11();
init_lib15();
}
});
// ../cli/utils/lib/readProjectManifest.js
async function readProjectManifest2(projectDir, opts3 = {}) {
const { fileName, manifest, writeProjectManifest: writeProjectManifest2 } = await readProjectManifest(projectDir);
packageIsInstallable2(projectDir, manifest, opts3);
return { fileName, manifest, writeProjectManifest: writeProjectManifest2 };
}
async function readProjectManifestOnly2(projectDir, opts3 = {}) {
const manifest = await readProjectManifestOnly(projectDir);
packageIsInstallable2(projectDir, manifest, opts3);
return manifest;
}
async function tryReadProjectManifest2(projectDir, opts3) {
const { fileName, manifest, writeProjectManifest: writeProjectManifest2 } = await tryReadProjectManifest(projectDir);
if (manifest == null)
return { fileName, manifest, writeProjectManifest: writeProjectManifest2 };
packageIsInstallable2(projectDir, manifest, opts3);
return { fileName, manifest, writeProjectManifest: writeProjectManifest2 };
}
var init_readProjectManifest = __esm({
"../cli/utils/lib/readProjectManifest.js"() {
"use strict";
init_lib15();
init_packageIsInstallable();
}
});
// ../cli/utils/lib/recursiveSummary.js
function throwOnCommandFail(command, recursiveSummary) {
const failures = Object.values(recursiveSummary).filter(({ status }) => status === "failure");
if (failures.length > 0) {
throw new RecursiveFailError(command, recursiveSummary, failures);
}
}
var RecursiveFailError;
var init_recursiveSummary = __esm({
"../cli/utils/lib/recursiveSummary.js"() {
"use strict";
init_lib2();
RecursiveFailError = class extends PnpmError {
failures;
passes;
constructor(command, recursiveSummary, failures) {
super("RECURSIVE_FAIL", `"${command}" failed in ${failures.length} packages`);
this.failures = failures;
this.passes = Object.values(recursiveSummary).filter(({ status }) => status === "passed").length;
}
};
}
});
// ../cli/utils/lib/style.js
var TABLE_OPTIONS;
var init_style = __esm({
"../cli/utils/lib/style.js"() {
"use strict";
init_source();
TABLE_OPTIONS = {
border: {
topBody: "\u2500",
topJoin: "\u252C",
topLeft: "\u250C",
topRight: "\u2510",
bottomBody: "\u2500",
bottomJoin: "\u2534",
bottomLeft: "\u2514",
bottomRight: "\u2518",
bodyJoin: "\u2502",
bodyLeft: "\u2502",
bodyRight: "\u2502",
joinBody: "\u2500",
joinJoin: "\u253C",
joinLeft: "\u251C",
joinRight: "\u2524"
},
columns: {}
};
for (const [key, value] of Object.entries(TABLE_OPTIONS.border)) {
TABLE_OPTIONS.border[key] = source_default.grey(value);
}
}
});
// ../cli/utils/lib/index.js
function docsUrl(cmd) {
const [pnpmMajorVersion] = packageManager.version.split(".");
return `https://pnpm.io/${pnpmMajorVersion}.x/cli/${cmd}`;
}
var init_lib41 = __esm({
"../cli/utils/lib/index.js"() {
"use strict";
init_lib24();
init_packageIsInstallable();
init_promptPageSize();
init_readDepNameCompletions();
init_readProjectManifest();
init_recursiveSummary();
init_style();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/util.lex-comparator/4.0.1/0ae104499689bd688090ffc4ff3941bbca7cd9ee3d45e1f378509b7c83877538/node_modules/@pnpm/util.lex-comparator/dist/lex-comparator.js
var require_lex_comparator = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/util.lex-comparator/4.0.1/0ae104499689bd688090ffc4ff3941bbca7cd9ee3d45e1f378509b7c83877538/node_modules/@pnpm/util.lex-comparator/dist/lex-comparator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.lexCompare = void 0;
function lexCompare22(a2, b) {
return a2 > b ? 1 : a2 < b ? -1 : 0;
}
exports2.lexCompare = lexCompare22;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/util.lex-comparator/4.0.1/0ae104499689bd688090ffc4ff3941bbca7cd9ee3d45e1f378509b7c83877538/node_modules/@pnpm/util.lex-comparator/dist/index.js
var require_dist4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/util.lex-comparator/4.0.1/0ae104499689bd688090ffc4ff3941bbca7cd9ee3d45e1f378509b7c83877538/node_modules/@pnpm/util.lex-comparator/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.lexCompare = void 0;
var lex_comparator_1 = require_lex_comparator();
Object.defineProperty(exports2, "lexCompare", { enumerable: true, get: function() {
return lex_comparator_1.lexCompare;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map/7.0.5/c8a281a35899f77e11c4a00ee87ce9a6fc43a1e412303ee3a279099c6557c962/node_modules/p-map/index.js
var p_map_exports = {};
__export(p_map_exports, {
default: () => pMap,
pMapIterable: () => pMapIterable,
pMapSkip: () => pMapSkip
});
async function pMap(iterable, mapper, {
concurrency = Number.POSITIVE_INFINITY,
stopOnError = true,
signal
} = {}) {
return new Promise((resolve_, reject_) => {
if (iterable[Symbol.iterator] === void 0 && iterable[Symbol.asyncIterator] === void 0) {
throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof iterable})`);
}
if (typeof mapper !== "function") {
throw new TypeError("Mapper function is required");
}
if (!(Number.isSafeInteger(concurrency) && concurrency >= 1 || concurrency === Number.POSITIVE_INFINITY)) {
throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
}
const result2 = [];
const errors2 = [];
const skippedIndexesMap = /* @__PURE__ */ new Map();
let isRejected = false;
let isResolved = false;
let isIterableDone = false;
let resolvingCount = 0;
let currentIndex = 0;
const iterator = iterable[Symbol.iterator] === void 0 ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();
const signalListener = () => {
reject3(signal.reason);
};
const cleanup2 = () => {
signal?.removeEventListener("abort", signalListener);
};
const resolve4 = (value) => {
resolve_(value);
cleanup2();
};
const reject3 = (reason) => {
isRejected = true;
isResolved = true;
reject_(reason);
cleanup2();
};
if (signal) {
if (signal.aborted) {
reject3(signal.reason);
}
signal.addEventListener("abort", signalListener, { once: true });
}
const next2 = async () => {
if (isResolved) {
return;
}
const nextItem = await iterator.next();
const index2 = currentIndex;
currentIndex++;
if (nextItem.done) {
isIterableDone = true;
if (resolvingCount === 0 && !isResolved) {
if (!stopOnError && errors2.length > 0) {
reject3(new AggregateError(errors2));
return;
}
isResolved = true;
if (skippedIndexesMap.size === 0) {
resolve4(result2);
return;
}
const pureResult = [];
for (const [index3, value] of result2.entries()) {
if (skippedIndexesMap.get(index3) === pMapSkip) {
continue;
}
pureResult.push(value);
}
resolve4(pureResult);
}
return;
}
resolvingCount++;
(async () => {
try {
const element = await nextItem.value;
if (isResolved) {
return;
}
const value = await mapper(element, index2);
if (value === pMapSkip) {
skippedIndexesMap.set(index2, value);
}
result2[index2] = value;
resolvingCount--;
await next2();
} catch (error) {
if (stopOnError) {
reject3(error);
} else {
errors2.push(error);
resolvingCount--;
try {
await next2();
} catch (error2) {
reject3(error2);
}
}
}
})();
};
(async () => {
for (let index2 = 0; index2 < concurrency; index2++) {
try {
await next2();
} catch (error) {
reject3(error);
break;
}
if (isIterableDone || isRejected) {
break;
}
}
})();
});
}
function pMapIterable(iterable, mapper, {
concurrency = Number.POSITIVE_INFINITY,
backpressure = concurrency
} = {}) {
if (iterable[Symbol.iterator] === void 0 && iterable[Symbol.asyncIterator] === void 0) {
throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof iterable})`);
}
if (typeof mapper !== "function") {
throw new TypeError("Mapper function is required");
}
if (!(Number.isSafeInteger(concurrency) && concurrency >= 1 || concurrency === Number.POSITIVE_INFINITY)) {
throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
}
if (!(Number.isSafeInteger(backpressure) && backpressure >= concurrency || backpressure === Number.POSITIVE_INFINITY)) {
throw new TypeError(`Expected \`backpressure\` to be an integer from \`concurrency\` (${concurrency}) and up or \`Infinity\`, got \`${backpressure}\` (${typeof backpressure})`);
}
return {
async *[Symbol.asyncIterator]() {
const iterator = iterable[Symbol.asyncIterator] === void 0 ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
const promises = [];
let pendingPromisesCount = 0;
let isDone = false;
let index2 = 0;
function trySpawn() {
if (isDone || !(pendingPromisesCount < concurrency && promises.length < backpressure)) {
return;
}
pendingPromisesCount++;
const promise2 = (async () => {
const { done, value } = await iterator.next();
if (done) {
pendingPromisesCount--;
return { done: true };
}
trySpawn();
try {
const currentIndex = index2++;
const returnValue = await mapper(await value, currentIndex);
pendingPromisesCount--;
if (returnValue === pMapSkip) {
const index3 = promises.indexOf(promise2);
if (index3 > 0) {
promises.splice(index3, 1);
}
}
trySpawn();
return { done: false, value: returnValue };
} catch (error) {
pendingPromisesCount--;
isDone = true;
return { error };
}
})();
promises.push(promise2);
}
trySpawn();
while (promises.length > 0) {
const { error, done, value } = await promises[0];
promises.shift();
if (error) {
throw error;
}
if (done) {
return;
}
trySpawn();
if (value === pMapSkip) {
continue;
}
yield value;
}
}
};
}
var pMapSkip;
var init_p_map = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map/7.0.5/c8a281a35899f77e11c4a00ee87ce9a6fc43a1e412303ee3a279099c6557c962/node_modules/p-map/index.js"() {
pMapSkip = /* @__PURE__ */ Symbol("skip");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-filter/4.1.0/72de424f03622b90823d74a98a5d3cc70c7ffbebf8bd56f4094934ff28f25d42/node_modules/p-filter/index.js
async function pFilter(iterable, filterer, options) {
const values = await pMap(
iterable,
(element, index2) => Promise.all([filterer(element, index2), element]),
options
);
return values.filter((value) => Boolean(value[0])).map((value) => value[1]);
}
var init_p_filter = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-filter/4.1.0/72de424f03622b90823d74a98a5d3cc70c7ffbebf8bd56f4094934ff28f25d42/node_modules/p-filter/index.js"() {
init_p_map();
}
});
// ../workspace/projects-reader/lib/findPackages.js
import { promises as fs23 } from "node:fs";
import path34 from "node:path";
import util8 from "node:util";
async function findPackages(root, opts3) {
opts3 = opts3 ?? {};
const globOpts = { ...opts3, cwd: root, expandDirectories: false };
globOpts.ignore = opts3.ignore ?? DEFAULT_IGNORE;
const patterns = normalizePatterns(opts3.patterns ?? [".", "**"]);
delete globOpts.patterns;
const paths3 = await glob(patterns, globOpts);
if (opts3.includeRoot) {
paths3.push(...await glob(normalizePatterns(["."]), globOpts));
}
return pFilter(
// `Array.from()` doesn't create an intermediate instance,
// unlike `array.map()`
Array.from(
// Remove duplicate paths using `Set`
new Set(paths3.map((manifestPath) => path34.join(root, manifestPath)).sort((path1, path236) => (0, import_util3.lexCompare)(path34.dirname(path1), path34.dirname(path236)))),
async (manifestPath) => {
try {
const rootDir = path34.dirname(manifestPath);
return {
rootDir,
rootDirRealPath: await fs23.realpath(rootDir),
...await readExactProjectManifest(manifestPath)
};
} catch (err2) {
if (util8.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return null;
}
throw err2;
}
}
),
Boolean
);
}
function normalizePatterns(patterns) {
const normalizedPatterns = [];
for (const pattern of patterns) {
normalizedPatterns.push(pattern.replace(/\/?$/, "/package.{json,yaml,json5}"));
}
return normalizedPatterns;
}
var import_util3, DEFAULT_IGNORE;
var init_findPackages = __esm({
"../workspace/projects-reader/lib/findPackages.js"() {
"use strict";
import_util3 = __toESM(require_dist4(), 1);
init_lib15();
init_p_filter();
init_dist2();
DEFAULT_IGNORE = [
"**/node_modules/**",
"**/bower_components/**",
"**/test/**",
"**/tests/**"
];
}
});
// ../workspace/projects-reader/lib/index.js
async function findWorkspaceProjects(workspaceRoot, opts3) {
const projects = await findWorkspaceProjectsNoCheck(workspaceRoot, opts3);
for (const project of projects) {
packageIsInstallable2(project.rootDir, project.manifest, {
...opts3,
supportedArchitectures: opts3?.supportedArchitectures ?? {
os: ["current"],
cpu: ["current"],
libc: ["current"]
}
});
if (opts3?.sharedWorkspaceLockfile && project.rootDir !== workspaceRoot) {
checkNonRootProjectManifest(project);
}
}
return projects;
}
async function findWorkspaceProjectsNoCheck(workspaceRoot, opts3) {
const projects = await findPackages(workspaceRoot, {
ignore: [
"**/node_modules/**",
"**/bower_components/**"
],
includeRoot: true,
patterns: opts3?.patterns
});
projects.sort((project1, project2) => (0, import_util4.lexCompare)(project1.rootDir, project2.rootDir));
return projects;
}
function checkNonRootProjectManifest({ manifest, rootDir }) {
const warn = printNonRootFieldWarning.bind(null, rootDir);
for (const field of uselessNonRootManifestFields) {
if (field in manifest) {
warn(field);
}
}
}
function printNonRootFieldWarning(prefix, propertyPath) {
const message = propertyPath === "resolutions" ? `The field "${propertyPath}" was found in ${prefix}/package.json. This will not take effect. Configure dependency overrides in pnpm-workspace.yaml using the "overrides" field instead.` : `The field "${propertyPath}" was found in ${prefix}/package.json. This will not take effect. You should configure "${propertyPath}" at the root of the workspace instead.`;
logger.warn({
message,
prefix
});
}
var import_util4, uselessNonRootManifestFields;
var init_lib42 = __esm({
"../workspace/projects-reader/lib/index.js"() {
"use strict";
init_lib41();
init_lib3();
import_util4 = __toESM(require_dist4(), 1);
init_findPackages();
init_findPackages();
uselessNonRootManifestFields = ["resolutions"];
}
});
// ../workspace/workspace-manifest-reader/lib/errors/InvalidWorkspaceManifestError.js
var InvalidWorkspaceManifestError;
var init_InvalidWorkspaceManifestError = __esm({
"../workspace/workspace-manifest-reader/lib/errors/InvalidWorkspaceManifestError.js"() {
"use strict";
init_lib2();
InvalidWorkspaceManifestError = class extends PnpmError {
constructor(message) {
super("INVALID_WORKSPACE_CONFIGURATION", message);
}
};
}
});
// ../workspace/workspace-manifest-reader/lib/catalogs.js
function assertValidWorkspaceManifestCatalog(manifest) {
if (manifest.catalog == null) {
return;
}
if (Array.isArray(manifest.catalog)) {
throw new InvalidWorkspaceManifestError("Expected catalog field to be an object, but found - array");
}
if (typeof manifest.catalog !== "object") {
throw new InvalidWorkspaceManifestError(`Expected catalog field to be an object, but found - ${typeof manifest.catalog}`);
}
for (const [alias, specifier] of Object.entries(manifest.catalog)) {
if (typeof specifier !== "string") {
throw new InvalidWorkspaceManifestError(`Invalid catalog entry for ${alias}. Expected string, but found: ${typeof specifier}`);
}
}
}
function assertValidWorkspaceManifestCatalogs(manifest) {
if (manifest.catalogs == null) {
return;
}
if (Array.isArray(manifest.catalogs)) {
throw new InvalidWorkspaceManifestError("Expected catalogs field to be an object, but found - array");
}
if (typeof manifest.catalogs !== "object") {
throw new InvalidWorkspaceManifestError(`Expected catalogs field to be an object, but found - ${typeof manifest.catalogs}`);
}
for (const [catalogName, catalog] of Object.entries(manifest.catalogs)) {
if (Array.isArray(catalog)) {
throw new InvalidWorkspaceManifestError(`Expected named catalog ${catalogName} to be an object, but found - array`);
}
if (catalog === null) {
throw new InvalidWorkspaceManifestError(`Expected named catalog ${catalogName} to be an object, but found - null`);
}
if (typeof catalog !== "object") {
throw new InvalidWorkspaceManifestError(`Expected named catalog ${catalogName} to be an object, but found - ${typeof catalog}`);
}
for (const [alias, specifier] of Object.entries(catalog)) {
if (typeof specifier !== "string") {
throw new InvalidWorkspaceManifestError(`Catalog '${catalogName}' has invalid entry '${alias}'. Expected string specifier, but found: ${typeof specifier}`);
}
}
}
}
var init_catalogs = __esm({
"../workspace/workspace-manifest-reader/lib/catalogs.js"() {
"use strict";
init_InvalidWorkspaceManifestError();
}
});
// ../workspace/workspace-manifest-reader/lib/versioning.js
function assertValidWorkspaceManifestVersioning(manifest) {
if (manifest.versioning == null) {
return;
}
const versioning = assertPlainObject(manifest.versioning, "versioning");
if (versioning.fixed != null) {
if (!Array.isArray(versioning.fixed)) {
throw new InvalidWorkspaceManifestError(`Expected versioning.fixed to be an array of arrays, but found - ${typeof versioning.fixed}`);
}
for (const group of versioning.fixed) {
if (!Array.isArray(group) || group.some((name) => typeof name !== "string" || name === "")) {
throw new InvalidWorkspaceManifestError("Expected every versioning.fixed group to be an array of package names");
}
}
}
if (versioning.epics != null) {
if (!Array.isArray(versioning.epics)) {
throw new InvalidWorkspaceManifestError(`Expected versioning.epics to be an array, but found - ${typeof versioning.epics}`);
}
for (const epic of versioning.epics) {
const entry = assertPlainObject(epic, "versioning.epics entry");
if (typeof entry.lead !== "string" || entry.lead === "") {
throw new InvalidWorkspaceManifestError('Expected every versioning.epics entry to have a non-empty "lead" package reference');
}
if (!Array.isArray(entry.packages) || entry.packages.length === 0 || entry.packages.some((selector) => typeof selector !== "string" || selector === "")) {
throw new InvalidWorkspaceManifestError(`Expected versioning.epics entry for "${entry.lead}" to have a non-empty "packages" array of selector strings`);
}
}
}
if (versioning.ignore != null) {
if (!Array.isArray(versioning.ignore) || versioning.ignore.some((name) => typeof name !== "string" || name === "")) {
throw new InvalidWorkspaceManifestError("Expected versioning.ignore to be an array of package names");
}
}
if (versioning.maxBump != null) {
if (!BUMP_TYPES.includes(versioning.maxBump)) {
throw new InvalidWorkspaceManifestError(`Expected versioning.maxBump to be one of ${BUMP_TYPES.join(", ")}, but found - ${String(versioning.maxBump)}`);
}
}
if (versioning.lanes != null) {
const lanes = assertPlainObject(versioning.lanes, "versioning.lanes");
for (const [pkgName, lane2] of Object.entries(lanes)) {
if (typeof lane2 !== "string" || lane2 === "") {
throw new InvalidWorkspaceManifestError(`Expected versioning.lanes entry for ${pkgName} to be a non-empty lane name`);
}
if (lane2.toLowerCase() === "main") {
throw new InvalidWorkspaceManifestError(`Invalid versioning.lanes entry for ${pkgName}: "main" is the reserved default lane. Remove the entry instead.`);
}
}
}
if (versioning.changelog != null) {
const changelog = assertPlainObject(versioning.changelog, "versioning.changelog");
if (changelog.format != null && typeof changelog.format !== "string") {
throw new InvalidWorkspaceManifestError(`Expected versioning.changelog.format to be a string, but found - ${typeof changelog.format}`);
}
if (changelog.storage != null && !CHANGELOG_STORAGE_MODES.includes(changelog.storage)) {
throw new InvalidWorkspaceManifestError(`Expected versioning.changelog.storage to be one of ${CHANGELOG_STORAGE_MODES.join(", ")}, but found - ${String(changelog.storage)}`);
}
}
}
function assertPlainObject(value, fieldName) {
if (Array.isArray(value)) {
throw new InvalidWorkspaceManifestError(`Expected ${fieldName} field to be an object, but found - array`);
}
if (typeof value !== "object" || value === null) {
throw new InvalidWorkspaceManifestError(`Expected ${fieldName} field to be an object, but found - ${value === null ? "null" : typeof value}`);
}
return value;
}
var BUMP_TYPES, CHANGELOG_STORAGE_MODES;
var init_versioning2 = __esm({
"../workspace/workspace-manifest-reader/lib/versioning.js"() {
"use strict";
init_InvalidWorkspaceManifestError();
BUMP_TYPES = ["patch", "minor", "major"];
CHANGELOG_STORAGE_MODES = ["registry", "repository"];
}
});
// ../workspace/workspace-manifest-reader/lib/index.js
import path35 from "node:path";
import util9 from "node:util";
async function readWorkspaceManifest(dir, cfgFileName = WORKSPACE_MANIFEST_FILENAME) {
const manifest = await readManifestRaw(dir, cfgFileName);
validateWorkspaceManifest(manifest);
return manifest;
}
async function readManifestRaw(dir, cfgFileName) {
try {
return await readYamlFile(path35.join(dir, cfgFileName));
} catch (err2) {
if (util9.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return void 0;
}
throw err2;
}
}
function validateWorkspaceManifest(manifest) {
if (manifest === void 0 || manifest === null) {
return;
}
if (typeof manifest !== "object") {
throw new InvalidWorkspaceManifestError(`Expected object but found - ${typeof manifest}`);
}
if (Array.isArray(manifest)) {
throw new InvalidWorkspaceManifestError("Expected object but found - array");
}
if (Object.keys(manifest).length === 0) {
return;
}
assertValidWorkspaceManifestPackages(manifest);
assertValidWorkspaceManifestCatalog(manifest);
assertValidWorkspaceManifestCatalogs(manifest);
assertValidWorkspaceManifestVersioning(manifest);
checkWorkspaceManifestAssignability(manifest);
}
function assertValidWorkspaceManifestPackages(manifest) {
if (!manifest.packages) {
return;
}
if (!Array.isArray(manifest.packages)) {
throw new InvalidWorkspaceManifestError("packages field is not an array");
}
for (const pkg of manifest.packages) {
if (!pkg) {
throw new InvalidWorkspaceManifestError("Missing or empty package");
}
const type4 = typeof pkg;
if (type4 !== "string") {
throw new InvalidWorkspaceManifestError(`Invalid package type - ${type4}`);
}
}
}
function checkWorkspaceManifestAssignability(_manifest) {
}
var init_lib43 = __esm({
"../workspace/workspace-manifest-reader/lib/index.js"() {
"use strict";
init_lib();
init_read_yaml_file();
init_catalogs();
init_InvalidWorkspaceManifestError();
init_versioning2();
}
});
// ../workspace/projects-filter/lib/filterProjectsFromDir.js
var init_filterProjectsFromDir = __esm({
"../workspace/projects-filter/lib/filterProjectsFromDir.js"() {
"use strict";
init_lib42();
init_lib43();
init_lib44();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/resolve.mjs
import { isAbsolute as isAbsolute2, join as join2, resolve as resolve3 } from "node:path";
function absolute(input, root) {
return isAbsolute2(input) ? input : resolve3(root || ".", input);
}
var init_resolve = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/resolve.mjs"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/walk.mjs
import { dirname as dirname2 } from "node:path";
function up(base, options) {
let { last, cwd } = options || {};
let tmp = absolute(base, cwd);
let root = absolute(last || "/", cwd);
let prev, arr = [];
while (prev !== root) {
arr.push(tmp);
tmp = dirname2(prev = tmp);
if (tmp === prev) break;
}
return arr;
}
var init_walk = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/walk.mjs"() {
init_resolve();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/find.mjs
import { join as join3 } from "node:path";
import { existsSync as existsSync3, statSync as statSync3 } from "node:fs";
function up2(name, options) {
let dir, tmp;
let start = options && options.cwd || "";
for (dir of up(start, options)) {
tmp = join3(dir, name);
if (existsSync3(tmp)) return tmp;
}
}
function any(names, options) {
let dir, start = options && options.cwd || "";
let j2 = 0, len = names.length, tmp;
for (dir of up(start, options)) {
for (j2 = 0; j2 < len; j2++) {
tmp = join3(dir, names[j2]);
if (existsSync3(tmp)) return tmp;
}
}
}
var init_find2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/empathic/2.0.1/0eab5adb775ddf3abf1e76958444030af2e4374b15405d889ce770fcbb0e93f5/node_modules/empathic/find.mjs"() {
init_walk();
}
});
// ../workspace/projects-filter/lib/getChangedProjects.js
import assert2 from "node:assert";
import path36 from "node:path";
import util10 from "node:util";
async function getChangedProjects(projectDirs, commit, opts3) {
const gitPath = up2(".git", { cwd: opts3.workspaceDir });
const repoRoot = path36.resolve(gitPath ?? opts3.workspaceDir, "..");
const changedDirs = (await getChangedDirsSinceCommit(commit, opts3.workspaceDir, opts3.testPattern ?? [], opts3.changedFilesIgnorePattern ?? [])).map((changedDir) => ({ ...changedDir, dir: path36.join(repoRoot, changedDir.dir) }));
const projectChangeTypes = /* @__PURE__ */ new Map();
for (const projectDir of projectDirs) {
projectChangeTypes.set(projectDir, void 0);
}
for (const changedDir of changedDirs) {
let currentDir = changedDir.dir;
while (!projectChangeTypes.has(currentDir)) {
const nextDir = path36.dirname(currentDir);
if (nextDir === currentDir)
break;
currentDir = nextDir;
}
if (projectChangeTypes.get(currentDir) === "source")
continue;
projectChangeTypes.set(currentDir, changedDir.changeType);
}
const changedProjects = [];
const ignoreDependentForPkgs = [];
for (const [changedDir, changeType] of projectChangeTypes.entries()) {
switch (changeType) {
case "source":
changedProjects.push(changedDir);
break;
case "test":
ignoreDependentForPkgs.push(changedDir);
break;
}
}
return [changedProjects, ignoreDependentForPkgs];
}
async function getChangedDirsSinceCommit(commit, workingDir, testPattern, changedFilesIgnorePattern) {
let diff2;
try {
diff2 = (await safeExeca("git", [
"diff",
"--name-only",
// Keeps an option-like `<since>` (`--output=...`) from being
// parsed as a git option — git rejects it as a bad revision.
"--end-of-options",
commit,
"--",
workingDir
], { cwd: workingDir })).stdout;
} catch (err2) {
assert2(util10.types.isNativeError(err2));
throw new PnpmError("FILTER_CHANGED", `Filtering by changed packages failed. ${"stderr" in err2 ? err2.stderr : ""}`);
}
const changedDirs = /* @__PURE__ */ new Map();
if (!diff2) {
return [];
}
const allChangedFiles = diff2.split("\n").map((line) => line.replace(/^"/, "").replace(/"$/, ""));
const patterns = changedFilesIgnorePattern.filter((pattern) => pattern.length);
const changedFiles = patterns.length > 0 ? micromatch.default.not(allChangedFiles, patterns, {
dot: true
}) : allChangedFiles;
for (const changedFile of changedFiles) {
const dir = path36.dirname(changedFile);
if (changedDirs.get(dir) === "source")
continue;
const changeType = testPattern.some((pattern) => micromatch.default.isMatch(changedFile, pattern)) ? "test" : "source";
changedDirs.set(dir, changeType);
}
return Array.from(changedDirs.entries()).map(([dir, changeType]) => ({ dir, changeType }));
}
var micromatch;
var init_getChangedProjects = __esm({
"../workspace/projects-filter/lib/getChangedProjects.js"() {
"use strict";
init_lib2();
init_find2();
init_lib25();
micromatch = __toESM(require_micromatch(), 1);
}
});
// ../workspace/projects-filter/lib/parseProjectSelector.js
import path37 from "node:path";
function parseProjectSelector(rawSelector, prefix) {
let exclude = false;
if (rawSelector[0] === "!") {
exclude = true;
rawSelector = rawSelector.substring(1);
}
let excludeSelf = false;
const includeDependencies = rawSelector.endsWith("...");
if (includeDependencies) {
rawSelector = rawSelector.slice(0, -3);
if (rawSelector.endsWith("^")) {
excludeSelf = true;
rawSelector = rawSelector.slice(0, -1);
}
}
const includeDependents = rawSelector.startsWith("...");
if (includeDependents) {
rawSelector = rawSelector.substring(3);
if (rawSelector[0] === "^") {
excludeSelf = true;
rawSelector = rawSelector.slice(1);
}
}
const matches2 = rawSelector.match(/^([^.][^{}[\]]*)?(\{[^}]+\})?(\[[^\]]+\])?$/);
if (matches2 === null) {
if (isSelectorByLocation(rawSelector)) {
return {
exclude,
excludeSelf: false,
parentDir: path37.join(prefix, rawSelector)
};
}
return {
excludeSelf: false,
namePattern: rawSelector
};
}
return {
diff: matches2[3]?.slice(1, -1),
exclude,
excludeSelf,
includeDependencies,
includeDependents,
namePattern: matches2[1],
parentDir: matches2[2] && path37.join(prefix, matches2[2].slice(1, -1))
};
}
function isSelectorByLocation(rawSelector) {
if (rawSelector[0] !== ".")
return false;
if (rawSelector.length === 1 || rawSelector[1] === "/" || rawSelector[1] === "\\")
return true;
if (rawSelector[1] !== ".")
return false;
return rawSelector.length === 2 || rawSelector[2] === "/" || rawSelector[2] === "\\";
}
var init_parseProjectSelector = __esm({
"../workspace/projects-filter/lib/parseProjectSelector.js"() {
"use strict";
}
});
// ../workspace/projects-filter/lib/index.js
async function filterProjectsFromDir(workspaceDir, filter14, opts3) {
const allProjects = await findWorkspaceProjects(workspaceDir, {
engineStrict: opts3?.engineStrict,
patterns: opts3.patterns,
sharedWorkspaceLockfile: opts3.sharedWorkspaceLockfile,
nodeVersion: opts3.nodeVersion,
supportedArchitectures: opts3.supportedArchitectures
});
return {
allProjects,
...await filterProjects(allProjects, filter14, opts3)
};
}
async function filterProjects(projects, filter14, opts3) {
const projectSelectors = filter14.map(({ filter: f, followProdDepsOnly }) => ({ ...parseProjectSelector(f, opts3.prefix), followProdDepsOnly }));
return filterProjectsBySelectorObjects(projects, projectSelectors, opts3);
}
async function filterProjectsBySelectorObjects(projects, projectSelectors, opts3) {
const [prodProjectSelectors, allProjectSelectors] = partition_default(({ followProdDepsOnly }) => !!followProdDepsOnly, projectSelectors);
if (allProjectSelectors.length > 0 || prodProjectSelectors.length > 0) {
let filteredGraph;
const { graph } = createProjectsGraph(projects, { linkWorkspacePackages: opts3.linkWorkspacePackages });
if (allProjectSelectors.length > 0) {
filteredGraph = await filterWorkspaceProjects(graph, allProjectSelectors, {
workspaceDir: opts3.workspaceDir,
testPattern: opts3.testPattern,
changedFilesIgnorePattern: opts3.changedFilesIgnorePattern,
useGlobDirFiltering: opts3.useGlobDirFiltering
});
}
let prodFilteredGraph;
let prodGraph;
if (prodProjectSelectors.length > 0) {
prodGraph = createProjectsGraph(projects, { ignoreDevDeps: true, linkWorkspacePackages: opts3.linkWorkspacePackages }).graph;
prodFilteredGraph = await filterWorkspaceProjects(prodGraph, prodProjectSelectors, {
workspaceDir: opts3.workspaceDir,
testPattern: opts3.testPattern,
changedFilesIgnorePattern: opts3.changedFilesIgnorePattern,
useGlobDirFiltering: opts3.useGlobDirFiltering
});
}
let prodOnlySelectedProjectDirs;
if (prodFilteredGraph != null) {
const regularSelectedProjectDirs = new Set(Object.keys(filteredGraph?.selectedProjectsGraph ?? {}));
prodOnlySelectedProjectDirs = Object.keys(prodFilteredGraph.selectedProjectsGraph).filter((projectDir) => !regularSelectedProjectDirs.has(projectDir));
}
return {
allProjectsGraph: graph,
selectedProjectsGraph: {
...prodFilteredGraph?.selectedProjectsGraph,
...filteredGraph?.selectedProjectsGraph
},
prodAllProjectsGraph: prodGraph,
prodOnlySelectedProjectDirs,
unmatchedFilters: [
...prodFilteredGraph !== void 0 ? prodFilteredGraph.unmatchedFilters : [],
...filteredGraph !== void 0 ? filteredGraph.unmatchedFilters : []
]
};
} else {
const { graph } = createProjectsGraph(projects, { linkWorkspacePackages: opts3.linkWorkspacePackages });
return { allProjectsGraph: graph, selectedProjectsGraph: graph, unmatchedFilters: [] };
}
}
async function filterWorkspaceProjects(projectsGraph, projectSelectors, opts3) {
const [excludeSelectors, includeSelectors] = partition_default((selector) => selector.exclude === true, projectSelectors);
const fg = _filterGraph.bind(null, projectsGraph, opts3);
const include = includeSelectors.length === 0 ? { selected: Object.keys(projectsGraph), unmatchedFilters: [] } : await fg(includeSelectors);
const exclude = await fg(excludeSelectors);
return {
selectedProjectsGraph: pick_default(difference_default(include.selected, exclude.selected), projectsGraph),
unmatchedFilters: [...include.unmatchedFilters, ...exclude.unmatchedFilters]
};
}
async function _filterGraph(projectsGraph, opts3, projectSelectors) {
const cherryPickedProjects = [];
const walkedDependencies = /* @__PURE__ */ new Set();
const walkedDependents = /* @__PURE__ */ new Set();
const walkedDependentsDependencies = /* @__PURE__ */ new Set();
const graph = projectsGraphToGraph(projectsGraph);
const unmatchedFilters = [];
let reversedGraph;
const matchProjectsByPath = opts3.useGlobDirFiltering === true ? matchProjectsByGlob : matchProjectsByExactPath;
for (const selector of projectSelectors) {
let entryProjects = null;
if (selector.diff) {
let ignoreDependentForProjects = [];
[entryProjects, ignoreDependentForProjects] = await getChangedProjects(Object.keys(projectsGraph), selector.diff, {
changedFilesIgnorePattern: opts3.changedFilesIgnorePattern,
testPattern: opts3.testPattern,
workspaceDir: selector.parentDir ?? opts3.workspaceDir
});
selectEntries({
...selector,
includeDependents: false
}, ignoreDependentForProjects);
} else if (selector.parentDir) {
entryProjects = matchProjectsByPath(projectsGraph, selector.parentDir);
}
if (selector.namePattern) {
if (entryProjects == null) {
entryProjects = matchProjects(projectsGraph, selector.namePattern);
} else {
entryProjects = matchProjects(pick_default(entryProjects, projectsGraph), selector.namePattern);
}
}
if (entryProjects == null) {
throw new Error(`Unsupported project selector: ${JSON.stringify(selector)}`);
}
if (entryProjects.length === 0) {
if (selector.namePattern) {
unmatchedFilters.push(selector.namePattern);
}
if (selector.parentDir) {
unmatchedFilters.push(selector.parentDir);
}
}
selectEntries(selector, entryProjects);
}
const walked = /* @__PURE__ */ new Set([...walkedDependencies, ...walkedDependents, ...walkedDependentsDependencies]);
cherryPickedProjects.forEach((cherryPickedProject) => walked.add(cherryPickedProject));
return {
selected: Array.from(walked),
unmatchedFilters
};
function selectEntries(selector, entryProjects) {
if (selector.includeDependencies) {
pickSubgraph(graph, entryProjects, walkedDependencies, { includeRoot: !selector.excludeSelf });
}
if (selector.includeDependents) {
if (reversedGraph == null) {
reversedGraph = reverseGraph(graph);
}
pickSubgraph(reversedGraph, entryProjects, walkedDependents, { includeRoot: !selector.excludeSelf });
}
if (selector.includeDependencies && selector.includeDependents) {
pickSubgraph(graph, Array.from(walkedDependents), walkedDependentsDependencies, { includeRoot: false });
}
if (!selector.includeDependencies && !selector.includeDependents) {
cherryPickedProjects.push(...entryProjects);
}
}
}
function projectsGraphToGraph(projectsGraph) {
const graph = {};
for (const nodeId of Object.keys(projectsGraph)) {
graph[nodeId] = projectsGraph[nodeId].dependencies;
}
return graph;
}
function reverseGraph(graph) {
const reversedGraph = {};
for (const dependentNodeId of Object.keys(graph)) {
for (const dependencyNodeId of graph[dependentNodeId]) {
if (!reversedGraph[dependencyNodeId]) {
reversedGraph[dependencyNodeId] = [dependentNodeId];
} else {
reversedGraph[dependencyNodeId].push(dependentNodeId);
}
}
}
return reversedGraph;
}
function matchProjects(graph, pattern) {
const match = createMatcher(pattern);
const matches2 = Object.keys(graph).filter((id) => graph[id].package.manifest.name && match(graph[id].package.manifest.name));
if (matches2.length === 0 && !(pattern[0] === "@") && !pattern.includes("/")) {
const scopedMatches = matchProjects(graph, `@*/${pattern}`);
return scopedMatches.length !== 1 ? [] : scopedMatches;
}
return matches2;
}
function matchProjectsByExactPath(graph, pathStartsWith) {
return Object.keys(graph).filter((parentDir) => isSubdir(pathStartsWith, parentDir));
}
function matchProjectsByGlob(graph, pathStartsWith) {
const format2 = (str2) => str2.replace(/\/$/, "");
const formattedFilter = pathStartsWith.replace(/\\/g, "/").replace(/\/$/, "");
return Object.keys(graph).filter((parentDir) => micromatch2.default.isMatch(parentDir, formattedFilter, { format: format2 }));
}
function pickSubgraph(graph, nextNodeIds, walked, opts3) {
for (const nextNodeId2 of nextNodeIds) {
if (!walked.has(nextNodeId2)) {
if (opts3.includeRoot) {
walked.add(nextNodeId2);
}
if (graph[nextNodeId2])
pickSubgraph(graph, graph[nextNodeId2], walked, { includeRoot: true });
}
}
}
var micromatch2;
var init_lib44 = __esm({
"../workspace/projects-filter/lib/index.js"() {
"use strict";
init_lib27();
init_lib39();
init_lib42();
init_is_subdir();
micromatch2 = __toESM(require_micromatch(), 1);
init_es();
init_filterProjectsFromDir();
init_getChangedProjects();
init_parseProjectSelector();
init_getChangedProjects();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/3.0.7/17684ddc6565dcb0656eebf5baa466fb9508591bfb94e71b7cceef0c0d3afced/node_modules/signal-exit/signals.js
var require_signals2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/3.0.7/17684ddc6565dcb0656eebf5baa466fb9508591bfb94e71b7cceef0c0d3afced/node_modules/signal-exit/signals.js"(exports2, module2) {
module2.exports = [
"SIGABRT",
"SIGALRM",
"SIGHUP",
"SIGINT",
"SIGTERM"
];
if (process.platform !== "win32") {
module2.exports.push(
"SIGVTALRM",
"SIGXCPU",
"SIGXFSZ",
"SIGUSR2",
"SIGTRAP",
"SIGSYS",
"SIGQUIT",
"SIGIOT"
// should detect profiler and enable/disable accordingly.
// see #21
// 'SIGPROF'
);
}
if (process.platform === "linux") {
module2.exports.push(
"SIGIO",
"SIGPOLL",
"SIGPWR",
"SIGSTKFLT",
"SIGUNUSED"
);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/3.0.7/17684ddc6565dcb0656eebf5baa466fb9508591bfb94e71b7cceef0c0d3afced/node_modules/signal-exit/index.js
var require_signal_exit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/signal-exit/3.0.7/17684ddc6565dcb0656eebf5baa466fb9508591bfb94e71b7cceef0c0d3afced/node_modules/signal-exit/index.js"(exports2, module2) {
var process24 = global.process;
var processOk2 = function(process25) {
return process25 && typeof process25 === "object" && typeof process25.removeListener === "function" && typeof process25.emit === "function" && typeof process25.reallyExit === "function" && typeof process25.listeners === "function" && typeof process25.kill === "function" && typeof process25.pid === "number" && typeof process25.on === "function";
};
if (!processOk2(process24)) {
module2.exports = function() {
return function() {
};
};
} else {
assert13 = __require("assert");
signals2 = require_signals2();
isWin2 = /^win/i.test(process24.platform);
EE = __require("events");
if (typeof EE !== "function") {
EE = EE.EventEmitter;
}
if (process24.__signal_exit_emitter__) {
emitter = process24.__signal_exit_emitter__;
} else {
emitter = process24.__signal_exit_emitter__ = new EE();
emitter.count = 0;
emitter.emitted = {};
}
if (!emitter.infinite) {
emitter.setMaxListeners(Infinity);
emitter.infinite = true;
}
module2.exports = function(cb, opts3) {
if (!processOk2(global.process)) {
return function() {
};
}
assert13.equal(typeof cb, "function", "a callback must be provided for exit handler");
if (loaded === false) {
load3();
}
var ev = "exit";
if (opts3 && opts3.alwaysLast) {
ev = "afterexit";
}
var remove = function() {
emitter.removeListener(ev, cb);
if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) {
unload2();
}
};
emitter.on(ev, cb);
return remove;
};
unload2 = function unload3() {
if (!loaded || !processOk2(global.process)) {
return;
}
loaded = false;
signals2.forEach(function(sig) {
try {
process24.removeListener(sig, sigListeners[sig]);
} catch (er) {
}
});
process24.emit = originalProcessEmit;
process24.reallyExit = originalProcessReallyExit;
emitter.count -= 1;
};
module2.exports.unload = unload2;
emit = function emit2(event, code, signal) {
if (emitter.emitted[event]) {
return;
}
emitter.emitted[event] = true;
emitter.emit(event, code, signal);
};
sigListeners = {};
signals2.forEach(function(sig) {
sigListeners[sig] = function listener() {
if (!processOk2(global.process)) {
return;
}
var listeners = process24.listeners(sig);
if (listeners.length === emitter.count) {
unload2();
emit("exit", null, sig);
emit("afterexit", null, sig);
if (isWin2 && sig === "SIGHUP") {
sig = "SIGINT";
}
process24.kill(process24.pid, sig);
}
};
});
module2.exports.signals = function() {
return signals2;
};
loaded = false;
load3 = function load4() {
if (loaded || !processOk2(global.process)) {
return;
}
loaded = true;
emitter.count += 1;
signals2 = signals2.filter(function(sig) {
try {
process24.on(sig, sigListeners[sig]);
return true;
} catch (er) {
return false;
}
});
process24.emit = processEmit;
process24.reallyExit = processReallyExit;
};
module2.exports.load = load3;
originalProcessReallyExit = process24.reallyExit;
processReallyExit = function processReallyExit2(code) {
if (!processOk2(global.process)) {
return;
}
process24.exitCode = code || /* istanbul ignore next */
0;
emit("exit", process24.exitCode, null);
emit("afterexit", process24.exitCode, null);
originalProcessReallyExit.call(process24, process24.exitCode);
};
originalProcessEmit = process24.emit;
processEmit = function processEmit2(ev, arg) {
if (ev === "exit" && processOk2(global.process)) {
if (arg !== void 0) {
process24.exitCode = arg;
}
var ret2 = originalProcessEmit.apply(this, arguments);
emit("exit", process24.exitCode, null);
emit("afterexit", process24.exitCode, null);
return ret2;
} else {
return originalProcessEmit.apply(this, arguments);
}
};
}
var assert13;
var signals2;
var isWin2;
var EE;
var emitter;
var unload2;
var emit;
var sigListeners;
var loaded;
var load3;
var originalProcessReallyExit;
var processReallyExit;
var originalProcessEmit;
var processEmit;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/array-find-index/1.0.2/ba2f8abe802fb0ce7969694cfd5a70dc7c270ff16475db02f462e482b2531e6c/node_modules/array-find-index/index.js
var require_array_find_index = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/array-find-index/1.0.2/ba2f8abe802fb0ce7969694cfd5a70dc7c270ff16475db02f462e482b2531e6c/node_modules/array-find-index/index.js"(exports2, module2) {
"use strict";
module2.exports = function(arr, predicate, ctx) {
if (typeof Array.prototype.findIndex === "function") {
return arr.findIndex(predicate, ctx);
}
if (typeof predicate !== "function") {
throw new TypeError("predicate must be a function");
}
var list2 = Object(arr);
var len = list2.length;
if (len === 0) {
return -1;
}
for (var i4 = 0; i4 < len; i4++) {
if (predicate.call(ctx, list2[i4], i4, list2)) {
return i4;
}
}
return -1;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/currently-unhandled/0.4.1/1b7833252fe91dba33cffce977676c4444bcec386b656990ce03ee7db0173619/node_modules/currently-unhandled/core.js
var require_core3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/currently-unhandled/0.4.1/1b7833252fe91dba33cffce977676c4444bcec386b656990ce03ee7db0173619/node_modules/currently-unhandled/core.js"(exports2, module2) {
"use strict";
var arrayFindIndex = require_array_find_index();
module2.exports = function() {
var unhandledRejections = [];
function onUnhandledRejection(reason, promise2) {
unhandledRejections.push({ reason, promise: promise2 });
}
function onRejectionHandled(promise2) {
var index2 = arrayFindIndex(unhandledRejections, function(x3) {
return x3.promise === promise2;
});
unhandledRejections.splice(index2, 1);
}
function currentlyUnhandled() {
return unhandledRejections.map(function(entry) {
return {
reason: entry.reason,
promise: entry.promise
};
});
}
return {
onUnhandledRejection,
onRejectionHandled,
currentlyUnhandled
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/currently-unhandled/0.4.1/1b7833252fe91dba33cffce977676c4444bcec386b656990ce03ee7db0173619/node_modules/currently-unhandled/index.js
var require_currently_unhandled = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/currently-unhandled/0.4.1/1b7833252fe91dba33cffce977676c4444bcec386b656990ce03ee7db0173619/node_modules/currently-unhandled/index.js"(exports2, module2) {
"use strict";
var core2 = require_core3();
module2.exports = function(p) {
p = p || process;
var c3 = core2();
p.on("unhandledRejection", c3.onUnhandledRejection);
p.on("rejectionHandled", c3.onRejectionHandled);
return c3.currentlyUnhandled;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/loud-rejection/2.2.0/f71f4e4b9b3de6aef07afb910307b5a0b1f927b32eaa381d5bacd112a7c39bc4/node_modules/loud-rejection/index.js
var require_loud_rejection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/loud-rejection/2.2.0/f71f4e4b9b3de6aef07afb910307b5a0b1f927b32eaa381d5bacd112a7c39bc4/node_modules/loud-rejection/index.js"(exports2, module2) {
"use strict";
var util64 = __require("util");
var onExit2 = require_signal_exit();
var currentlyUnhandled = require_currently_unhandled();
var installed = false;
var loudRejection2 = (log3 = console.error) => {
if (installed) {
return;
}
installed = true;
const listUnhandled = currentlyUnhandled();
onExit2(() => {
const unhandledRejections = listUnhandled();
if (unhandledRejections.length > 0) {
for (const unhandledRejection of unhandledRejections) {
let error = unhandledRejection.reason;
if (!(error instanceof Error)) {
error = new Error(`Promise rejected with value: ${util64.inspect(error)}`);
}
log3(error.stack);
}
process.exitCode = 1;
}
});
};
module2.exports = loudRejection2;
module2.exports.default = loudRejection2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/openpgp/6.3.1/60c2a31cf6cae63193823abbdc2c24d5dbda8d0fc2a36569febee3624da47bc0/node_modules/openpgp/dist/node/openpgp.mjs
import { createRequire as createRequire6 } from "module";
import * as nc from "node:crypto";
function _mergeNamespaces(n2, m) {
m.forEach(function(e) {
e && typeof e !== "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k2) {
if (k2 !== "default" && !(k2 in n2)) {
var d3 = Object.getOwnPropertyDescriptor(e, k2);
Object.defineProperty(n2, k2, d3.get ? d3 : {
enumerable: true,
get: function() {
return e[k2];
}
});
}
});
});
return Object.freeze(n2);
}
function isArrayStream(input) {
return input && input.getReader && Array.isArray(input);
}
function Writer(input) {
if (!isArrayStream(input)) {
const writer = input.getWriter();
const releaseLock = writer.releaseLock;
writer.releaseLock = () => {
writer.closed.catch(function() {
});
releaseLock.call(writer);
};
return writer;
}
this.stream = input;
}
function isStream2(input) {
if (isArrayStream(input)) {
return "array";
}
if (globalThis2.ReadableStream && globalThis2.ReadableStream.prototype.isPrototypeOf(input)) {
return "web";
}
if (input && !(globalThis2.ReadableStream && input instanceof globalThis2.ReadableStream) && typeof input._read === "function" && typeof input._readableState === "object") {
throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");
}
if (input && input.getReader) {
return "web-like";
}
return false;
}
function isUint8Array2(input) {
return Uint8Array.prototype.isPrototypeOf(input);
}
function concatUint8Array2(arrays) {
if (arrays.length === 1) return arrays[0];
let totalLength = 0;
for (let i4 = 0; i4 < arrays.length; i4++) {
if (!isUint8Array2(arrays[i4])) {
throw new Error("concatUint8Array: Data must be in the form of a Uint8Array");
}
totalLength += arrays[i4].length;
}
const result2 = new Uint8Array(totalLength);
let pos = 0;
arrays.forEach(function(element) {
result2.set(element, pos);
pos += element.length;
});
return result2;
}
function Reader(input) {
this.stream = input;
if (input[externalBuffer]) {
this[externalBuffer] = input[externalBuffer].slice();
}
if (isArrayStream(input)) {
const reader = input.getReader();
this._read = reader.read.bind(reader);
this._releaseLock = () => {
};
this._cancel = () => {
};
return;
}
let streamType = isStream2(input);
if (streamType) {
const reader = input.getReader();
this._read = reader.read.bind(reader);
this._releaseLock = () => {
reader.closed.catch(function() {
});
reader.releaseLock();
};
this._cancel = reader.cancel.bind(reader);
return;
}
let doneReading = false;
this._read = async () => {
if (doneReading || doneReadingSet.has(input)) {
return { value: void 0, done: true };
}
doneReading = true;
return { value: input, done: false };
};
this._releaseLock = () => {
if (doneReading) {
try {
doneReadingSet.add(input);
} catch {
}
}
};
}
function toStream(input) {
if (isStream2(input)) {
return input;
}
return new ReadableStream({
start(controller) {
controller.enqueue(input);
controller.close();
}
});
}
function toArrayStream(input) {
const streamType = isStream2(input);
if (streamType) {
if (streamType !== "array") {
throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");
}
return input;
}
const stream2 = new ArrayStream();
(async () => {
const writer = getWriter(stream2);
await writer.write(input);
await writer.close();
})();
return stream2;
}
function concat(list2) {
if (list2.some((stream2) => isStream2(stream2) && !isArrayStream(stream2))) {
return concatStream(list2);
}
if (list2.some((stream2) => isArrayStream(stream2))) {
return concatArrayStream(list2);
}
if (typeof list2[0] === "string") {
return list2.join("");
}
return concatUint8Array2(list2);
}
function concatStream(list2) {
const streamedList = list2.map(toStream);
const transform3 = transformWithCancel(async function(reason) {
await Promise.all(transforms.map((stream2) => cancel(stream2, reason)));
});
let prev = Promise.resolve();
const transforms = streamedList.map((stream2, i4) => transformPair(stream2, (readable2, _writable) => {
prev = prev.then(() => pipe2(readable2, transform3.writable, {
preventClose: i4 !== streamedList.length - 1
}));
return prev;
}));
return transform3.readable;
}
function concatArrayStream(list2) {
const result2 = new ArrayStream();
let prev = Promise.resolve();
list2.forEach((stream2, i4) => {
prev = prev.then(() => pipe2(stream2, result2, {
preventClose: i4 !== list2.length - 1
}));
return prev;
});
return result2;
}
async function pipe2(input, target2, {
preventClose = false,
preventAbort = false,
preventCancel = false
} = {}) {
if (isStream2(input) && !isArrayStream(input) && !isArrayStream(target2)) {
input = toStream(input);
try {
if (input[externalBuffer]) {
const writer2 = getWriter(target2);
for (let i4 = 0; i4 < input[externalBuffer].length; i4++) {
await writer2.ready;
await writer2.write(input[externalBuffer][i4]);
}
writer2.releaseLock();
}
await input.pipeTo(target2, {
preventClose,
preventAbort,
preventCancel
});
} catch {
}
return;
}
if (!isStream2(input)) {
input = toArrayStream(input);
}
const reader = getReader(input);
const writer = getWriter(target2);
try {
while (true) {
await writer.ready;
const { done, value } = await reader.read();
if (done) {
if (!preventClose) await writer.close();
break;
}
await writer.write(value);
}
} catch (e) {
if (!preventAbort) await writer.abort(e);
} finally {
reader.releaseLock();
writer.releaseLock();
}
}
function transformWithCancel(customCancel) {
let pulled = false;
let cancelled = false;
let backpressureChangePromiseResolve, backpressureChangePromiseReject;
let outputController;
return {
readable: new ReadableStream({
start(controller) {
outputController = controller;
},
pull() {
if (backpressureChangePromiseResolve) {
backpressureChangePromiseResolve();
} else {
pulled = true;
}
},
async cancel(reason) {
cancelled = true;
if (customCancel) {
await customCancel(reason);
}
if (backpressureChangePromiseReject) {
backpressureChangePromiseReject(reason);
}
}
}, { highWaterMark: 0 }),
writable: new WritableStream({
write: async function(chunk) {
if (cancelled) {
throw new Error("Stream is cancelled");
}
outputController.enqueue(chunk);
if (!pulled) {
await new Promise((resolve4, reject3) => {
backpressureChangePromiseResolve = resolve4;
backpressureChangePromiseReject = reject3;
});
backpressureChangePromiseResolve = null;
backpressureChangePromiseReject = null;
} else {
pulled = false;
}
},
close: outputController.close.bind(outputController),
abort: outputController.error.bind(outputController)
})
};
}
function transform(input, process24 = () => void 0, finish = () => void 0, queuingStrategy = { highWaterMark: 0 }) {
if (isStream2(input)) {
return _transformStream(input, process24, finish, queuingStrategy);
}
const result1 = process24(input);
const result2 = finish();
if (result1 !== void 0 && result2 !== void 0) return concat([result1, result2]);
return result1 !== void 0 ? result1 : result2;
}
async function transformAsync(input, process24 = async () => void 0, finish = async () => void 0, queuingStrategy = { highWaterMark: 1 }) {
if (isStream2(input)) {
return _transformStream(input, process24, finish, queuingStrategy);
}
const result1 = await process24(input);
const result2 = await finish();
if (result1 !== void 0 && result2 !== void 0) return concat([result1, result2]);
return result1 !== void 0 ? result1 : result2;
}
function _transformStream(input, process24, finish, queuingStrategy) {
if (isArrayStream(input)) {
const output = new ArrayStream();
(async () => {
const writer = getWriter(output);
try {
const data = await readToEnd(input);
const result1 = await process24(data);
const result2 = await finish();
let result3;
if (result1 !== void 0 && result2 !== void 0) result3 = concat([result1, result2]);
else result3 = result1 !== void 0 ? result1 : result2;
await writer.write(result3);
await writer.close();
} catch (e) {
await writer.abort(e);
}
})();
return output;
}
if (isStream2(input)) {
let reader;
let allDone = false;
return new ReadableStream({
start() {
reader = input.getReader();
},
async pull(controller) {
if (allDone) {
controller.close();
input.releaseLock();
return;
}
try {
while (true) {
const { value, done } = await reader.read();
allDone = done;
const result2 = await (done ? finish : process24)(value);
if (result2 !== void 0) {
controller.enqueue(result2);
return;
}
if (done) {
controller.close();
input.releaseLock();
return;
}
}
} catch (e) {
controller.error(e);
}
},
async cancel(reason) {
await reader.cancel(reason);
}
}, queuingStrategy);
}
throw new Error("Unreachable");
}
function transformPair(input, fn) {
if (isStream2(input) && !isArrayStream(input)) {
let incomingTransformController;
const incoming = new TransformStream({
start(controller) {
incomingTransformController = controller;
}
});
const pipeDonePromise = pipe2(input, incoming.writable);
const outgoing = transformWithCancel(async function(reason) {
incomingTransformController.error(reason);
await pipeDonePromise;
await new Promise((resolve4) => setTimeout(resolve4));
});
fn(incoming.readable, outgoing.writable);
return outgoing.readable;
}
input = toArrayStream(input);
const output = new ArrayStream();
fn(input, output);
return output;
}
function parse5(input, fn) {
let returnValue;
const transformed = transformPair(input, (readable2, writable2) => {
const reader = getReader(readable2);
reader.remainder = () => {
reader.releaseLock();
pipe2(readable2, writable2);
return transformed;
};
returnValue = fn(reader);
});
return returnValue;
}
function tee(input) {
if (isArrayStream(input)) {
throw new Error("ArrayStream cannot be tee()d, use clone() instead");
}
if (isStream2(input)) {
const teed = toStream(input).tee();
teed[0][externalBuffer] = teed[1][externalBuffer] = input[externalBuffer];
return teed;
}
return [slice3(input), slice3(input)];
}
function clone3(input) {
if (isArrayStream(input)) {
return input.clone();
}
if (isStream2(input)) {
const teed = tee(input);
overwrite(input, teed[0]);
return teed[1];
}
return slice3(input);
}
function passiveClone(input) {
if (isArrayStream(input)) {
return clone3(input);
}
if (isStream2(input)) {
return new ReadableStream({
start(controller) {
const transformed = transformPair(input, async (readable2, writable2) => {
const reader = getReader(readable2);
const writer = getWriter(writable2);
try {
while (true) {
await writer.ready;
const { done, value } = await reader.read();
if (done) {
try {
controller.close();
} catch {
}
await writer.close();
return;
}
try {
controller.enqueue(value);
} catch {
}
await writer.write(value);
}
} catch (e) {
controller.error(e);
await writer.abort(e);
}
});
overwrite(input, transformed);
}
});
}
return slice3(input);
}
function overwrite(input, clone4) {
Object.entries(Object.getOwnPropertyDescriptors(input.constructor.prototype)).forEach(([name, descriptor]) => {
if (name === "constructor") {
return;
}
if (descriptor.value) {
descriptor.value = descriptor.value.bind(clone4);
} else {
descriptor.get = descriptor.get.bind(clone4);
}
Object.defineProperty(input, name, descriptor);
});
}
function slice3(input, begin = 0, end = Infinity) {
if (isArrayStream(input)) {
throw new Error("Not implemented");
}
if (isStream2(input)) {
if (begin >= 0 && end >= 0) {
let reader;
let bytesRead = 0;
return new ReadableStream({
start() {
reader = input.getReader();
},
async pull(controller) {
try {
while (true) {
if (bytesRead < end) {
const { value, done } = await reader.read();
if (done) {
controller.close();
input.releaseLock();
return;
}
let valueToEnqueue;
if (bytesRead + value.length >= begin) {
valueToEnqueue = slice3(value, Math.max(begin - bytesRead, 0), end - bytesRead);
}
bytesRead += value.length;
if (valueToEnqueue) {
controller.enqueue(valueToEnqueue);
return;
}
} else {
controller.close();
input.releaseLock();
return;
}
}
} catch (e) {
controller.error(e);
}
},
async cancel(reason) {
await reader.cancel(reason);
}
}, { highWaterMark: 0 });
}
if (begin < 0 && (end < 0 || end === Infinity)) {
let lastBytes = [];
return transform(input, (value) => {
if (value.length >= -begin) lastBytes = [value];
else lastBytes.push(value);
}, () => slice3(concat(lastBytes), begin, end));
}
if (begin === 0 && end < 0) {
let lastBytes;
return transform(input, (value) => {
const returnValue = lastBytes ? concat([lastBytes, value]) : value;
if (returnValue.length >= -end) {
lastBytes = slice3(returnValue, end);
return slice3(returnValue, begin, end);
}
lastBytes = returnValue;
});
}
console.warn(`stream.slice(input, ${begin}, ${end}) not implemented efficiently.`);
return fromAsync(async () => slice3(await readToEnd(input), begin, end));
}
if (input[externalBuffer]) {
input = concat(input[externalBuffer].concat([input]));
}
if (isUint8Array2(input)) {
return input.subarray(begin, end === Infinity ? input.length : end);
}
return input.slice(begin, end);
}
async function readToEnd(input, join5 = concat) {
if (isArrayStream(input)) {
return input.readToEnd(join5);
}
if (isStream2(input)) {
return getReader(input).readToEnd(join5);
}
return input;
}
async function cancel(input, reason) {
if (isStream2(input)) {
if (input.cancel) {
const cancelled = await input.cancel(reason);
await new Promise((resolve4) => setTimeout(resolve4));
return cancelled;
}
if (input.destroy) {
input.destroy(reason);
await new Promise((resolve4) => setTimeout(resolve4));
return reason;
}
}
}
function fromAsync(fn) {
const arrayStream = new ArrayStream();
(async () => {
const writer = getWriter(arrayStream);
try {
await writer.write(await fn());
await writer.close();
} catch (e) {
await writer.abort(e);
}
})();
return arrayStream;
}
function getReader(input) {
return new Reader(input);
}
function getWriter(input) {
return new Writer(input);
}
function encode$1(data) {
let buf = new Uint8Array();
return transform(data, (value) => {
buf = util11.concatUint8Array([buf, value]);
const r = [];
const bytesPerLine = 45;
const lines = Math.floor(buf.length / bytesPerLine);
const bytes = lines * bytesPerLine;
const encoded = encodeChunk(buf.subarray(0, bytes));
for (let i4 = 0; i4 < lines; i4++) {
r.push(encoded.substr(i4 * 60, 60));
r.push("\n");
}
buf = buf.subarray(bytes);
return r.join("");
}, () => buf.length ? encodeChunk(buf) + "\n" : "");
}
function decode$1(data) {
let buf = "";
return transform(data, (value) => {
buf += value;
let spaces = 0;
const spacechars = [" ", " ", "\r", "\n"];
for (let i4 = 0; i4 < spacechars.length; i4++) {
const spacechar = spacechars[i4];
for (let pos = buf.indexOf(spacechar); pos !== -1; pos = buf.indexOf(spacechar, pos + 1)) {
spaces++;
}
}
let length = buf.length;
for (; length > 0 && (length - spaces) % 4 !== 0; length--) {
if (spacechars.includes(buf[length]))
spaces--;
}
const decoded = decodeChunk(buf.substr(0, length));
buf = buf.substr(length);
return decoded;
}, () => decodeChunk(buf));
}
function b64ToUint8Array(base64) {
return decode$1(base64.replace(/-/g, "+").replace(/_/g, "/"));
}
function uint8ArrayToB64(bytes, url7) {
let encoded = encode$1(bytes).replace(/[\r\n]/g, "");
{
encoded = encoded.replace(/[+]/g, "-").replace(/[/]/g, "_").replace(/[=]/g, "");
}
return encoded;
}
function getType(text) {
const reHeader = /^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m;
const header = text.match(reHeader);
if (!header) {
throw new Error("Unknown ASCII armor type");
}
if (/MESSAGE, PART \d+\/\d+/.test(header[1])) {
return enums.armor.multipartSection;
}
if (/MESSAGE, PART \d+/.test(header[1])) {
return enums.armor.multipartLast;
}
if (/SIGNED MESSAGE/.test(header[1])) {
return enums.armor.signed;
}
if (/MESSAGE/.test(header[1])) {
return enums.armor.message;
}
if (/PUBLIC KEY BLOCK/.test(header[1])) {
return enums.armor.publicKey;
}
if (/PRIVATE KEY BLOCK/.test(header[1])) {
return enums.armor.privateKey;
}
if (/SIGNATURE/.test(header[1])) {
return enums.armor.signature;
}
}
function addheader(customComment, config2) {
let result2 = "";
if (config2.showVersion) {
result2 += "Version: " + config2.versionString + "\n";
}
if (config2.showComment) {
result2 += "Comment: " + config2.commentString + "\n";
}
if (customComment) {
result2 += "Comment: " + customComment + "\n";
}
result2 += "\n";
return result2;
}
function getCheckSum(data) {
const crc = createcrc24(data);
return encode$1(crc);
}
function createcrc24(input) {
let crc = 13501623;
return transform(input, (value) => {
const len32 = isLittleEndian$1 ? Math.floor(value.length / 4) : 0;
const arr32 = new Uint32Array(value.buffer, value.byteOffset, len32);
for (let i4 = 0; i4 < len32; i4++) {
crc ^= arr32[i4];
crc = crc_table[0][crc >> 24 & 255] ^ crc_table[1][crc >> 16 & 255] ^ crc_table[2][crc >> 8 & 255] ^ crc_table[3][crc >> 0 & 255];
}
for (let i4 = len32 * 4; i4 < value.length; i4++) {
crc = crc >> 8 ^ crc_table[0][crc & 255 ^ value[i4]];
}
}, () => new Uint8Array([crc, crc >> 8, crc >> 16]));
}
function verifyHeaders$1(headers) {
for (let i4 = 0; i4 < headers.length; i4++) {
if (!/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(headers[i4])) {
util11.printDebugError(new Error("Improperly formatted armor header: " + headers[i4]));
}
if (!/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(headers[i4])) {
util11.printDebugError(new Error("Unknown header: " + headers[i4]));
}
}
}
function removeChecksum(text) {
let body = text;
const lastEquals = text.lastIndexOf("=");
if (lastEquals >= 0 && lastEquals !== text.length - 1) {
body = text.slice(0, lastEquals);
}
return body;
}
function unarmor(input) {
return new Promise((resolve4, reject3) => {
try {
const reSplit = /^-----[^-]+-----$/m;
const reEmptyLine = /^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;
let type4;
const headers = [];
let lastHeaders = headers;
let headersDone;
let text = [];
let textDone;
const data = decode$1(transformPair(input, async (readable2, writable2) => {
const reader = getReader(readable2);
try {
while (true) {
let line = await reader.readLine();
if (line === void 0) {
throw new Error("Misformed armored text");
}
line = util11.removeTrailingSpaces(line.replace(/[\r\n]/g, ""));
if (!type4) {
if (reSplit.test(line)) {
type4 = getType(line);
}
} else if (!headersDone) {
if (reSplit.test(line)) {
reject3(new Error("Mandatory blank line missing between armor headers and armor data"));
}
if (!reEmptyLine.test(line)) {
lastHeaders.push(line);
} else {
verifyHeaders$1(lastHeaders);
headersDone = true;
if (textDone || type4 !== enums.armor.signed) {
resolve4({ text, data, headers, type: type4 });
break;
}
}
} else if (!textDone && type4 === enums.armor.signed) {
if (!reSplit.test(line)) {
text.push(line.replace(/^- /, ""));
} else {
text = text.join("\r\n");
textDone = true;
verifyHeaders$1(lastHeaders);
lastHeaders = [];
headersDone = false;
}
}
}
} catch (e) {
reject3(e);
return;
}
const writer = getWriter(writable2);
try {
while (true) {
await writer.ready;
const { done, value } = await reader.read();
if (done) {
throw new Error("Misformed armored text");
}
const line = value + "";
if (line.indexOf("=") === -1 && line.indexOf("-") === -1) {
await writer.write(line);
} else {
let remainder = await reader.readToEnd();
if (!remainder.length)
remainder = "";
remainder = line + remainder;
remainder = util11.removeTrailingSpaces(remainder.replace(/\r/g, ""));
const parts = remainder.split(reSplit);
if (parts.length === 1) {
throw new Error("Misformed armored text");
}
const body = removeChecksum(parts[0].slice(0, -1));
await writer.write(body);
break;
}
}
await writer.ready;
await writer.close();
} catch (e) {
await writer.abort(e);
}
}));
} catch (e) {
reject3(e);
}
}).then(async (result2) => {
if (isArrayStream(result2.data)) {
result2.data = await readToEnd(result2.data);
}
return result2;
});
}
function armor(messageType, body, partIndex, partTotal, customComment, emitChecksum = false, config$1 = config) {
let text;
let hash2;
if (messageType === enums.armor.signed) {
text = body.text;
hash2 = body.hash;
body = body.data;
}
const maybeBodyClone = emitChecksum && passiveClone(body);
const result2 = [];
switch (messageType) {
case enums.armor.multipartSection:
result2.push("-----BEGIN PGP MESSAGE, PART " + partIndex + "/" + partTotal + "-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP MESSAGE, PART " + partIndex + "/" + partTotal + "-----\n");
break;
case enums.armor.multipartLast:
result2.push("-----BEGIN PGP MESSAGE, PART " + partIndex + "-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP MESSAGE, PART " + partIndex + "-----\n");
break;
case enums.armor.signed:
result2.push("-----BEGIN PGP SIGNED MESSAGE-----\n");
result2.push(hash2 ? `Hash: ${hash2}
` : "\n");
result2.push(text.replace(/^-/mg, "- -"));
result2.push("\n-----BEGIN PGP SIGNATURE-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP SIGNATURE-----\n");
break;
case enums.armor.message:
result2.push("-----BEGIN PGP MESSAGE-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP MESSAGE-----\n");
break;
case enums.armor.publicKey:
result2.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP PUBLIC KEY BLOCK-----\n");
break;
case enums.armor.privateKey:
result2.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP PRIVATE KEY BLOCK-----\n");
break;
case enums.armor.signature:
result2.push("-----BEGIN PGP SIGNATURE-----\n");
result2.push(addheader(customComment, config$1));
result2.push(encode$1(body));
maybeBodyClone && result2.push("=", getCheckSum(maybeBodyClone));
result2.push("-----END PGP SIGNATURE-----\n");
break;
}
return util11.concat(result2);
}
function uint8ArrayToBigInt(bytes) {
const hexAlphabet = "0123456789ABCDEF";
let s = "";
bytes.forEach((v) => {
s += hexAlphabet[v >> 4] + hexAlphabet[v & 15];
});
return BigInt("0x0" + s);
}
function mod$1(a2, m) {
const reduced = a2 % m;
return reduced < _0n$8 ? reduced + m : reduced;
}
function selectBigInt(cond, a2, b) {
const mask = -cond;
return a2 & mask | b & ~mask;
}
function modExp(b, e, n2) {
if (n2 === _0n$8)
throw Error("Modulo cannot be zero");
if (n2 === _1n$c)
return BigInt(0);
if (e < _0n$8)
throw Error("Unsopported negative exponent");
let exp = e;
let x3 = b;
x3 %= n2;
let r = BigInt(1);
while (exp > _0n$8) {
const lsb = exp & _1n$c;
exp >>= _1n$c;
const rx = r * x3 % n2;
r = selectBigInt(lsb, rx, r);
x3 = x3 * x3 % n2;
}
return r;
}
function abs(x3) {
return x3 >= _0n$8 ? x3 : -x3;
}
function _egcd(aInput, bInput) {
let x3 = BigInt(0);
let y = BigInt(1);
let xPrev = BigInt(1);
let yPrev = BigInt(0);
let a2 = abs(aInput);
let b = abs(bInput);
const aNegated = aInput < _0n$8;
const bNegated = bInput < _0n$8;
while (b !== _0n$8) {
const q = a2 / b;
let tmp = x3;
x3 = xPrev - q * x3;
xPrev = tmp;
tmp = y;
y = yPrev - q * y;
yPrev = tmp;
tmp = b;
b = a2 % b;
a2 = tmp;
}
return {
x: aNegated ? -xPrev : xPrev,
y: bNegated ? -yPrev : yPrev,
gcd: a2
};
}
function modInv(a2, n2) {
const { gcd: gcd2, x: x3 } = _egcd(a2, n2);
if (gcd2 !== _1n$c) {
throw new Error("Inverse does not exist");
}
return mod$1(x3 + n2, n2);
}
function gcd(aInput, bInput) {
let a2 = aInput;
let b = bInput;
while (b !== _0n$8) {
const tmp = b;
b = a2 % b;
a2 = tmp;
}
return a2;
}
function bigIntToNumber(x3) {
const number = Number(x3);
if (number > Number.MAX_SAFE_INTEGER) {
throw new Error("Number can only safely store up to 53 bits");
}
return number;
}
function getBit(x3, i4) {
const bit = x3 >> BigInt(i4) & _1n$c;
return bit === _0n$8 ? 0 : 1;
}
function bitLength(x3) {
const target2 = x3 < _0n$8 ? BigInt(-1) : _0n$8;
let bitlen = 1;
let tmp = x3;
while ((tmp >>= _1n$c) !== target2) {
bitlen++;
}
return bitlen;
}
function byteLength(x3) {
const target2 = x3 < _0n$8 ? BigInt(-1) : _0n$8;
const _8n2 = BigInt(8);
let len = 1;
let tmp = x3;
while ((tmp >>= _8n2) !== target2) {
len++;
}
return len;
}
function bigIntToUint8Array(x3, endian = "be", length) {
let hex = x3.toString(16);
if (hex.length % 2 === 1) {
hex = "0" + hex;
}
const rawLength = hex.length / 2;
const bytes = new Uint8Array(length || rawLength);
const offset = length ? length - rawLength : 0;
let i4 = 0;
while (i4 < rawLength) {
bytes[i4 + offset] = parseInt(hex.slice(2 * i4, 2 * i4 + 2), 16);
i4++;
}
if (endian !== "be") {
bytes.reverse();
}
return bytes;
}
function getRandomBytes(length) {
const webcrypto2 = typeof crypto !== "undefined" ? crypto : nodeCrypto$8?.webcrypto;
if (webcrypto2?.getRandomValues) {
const buf = new Uint8Array(length);
return webcrypto2.getRandomValues(buf);
} else {
throw new Error("No secure random number generator available.");
}
}
function getRandomBigInteger(min, max4) {
if (max4 < min) {
throw new Error("Illegal parameter value: max <= min");
}
const modulus = max4 - min;
const bytes = byteLength(modulus);
const r = uint8ArrayToBigInt(getRandomBytes(bytes + 8));
return mod$1(r, modulus) + min;
}
function randomProbablePrime(bits2, e, k2) {
const _30n = BigInt(30);
const min = _1n$b << BigInt(bits2 - 1);
const adds = [1, 6, 5, 4, 3, 2, 1, 4, 3, 2, 1, 2, 1, 4, 3, 2, 1, 2, 1, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1, 2];
let n2 = getRandomBigInteger(min, min << _1n$b);
let i4 = bigIntToNumber(mod$1(n2, _30n));
do {
n2 += BigInt(adds[i4]);
i4 = (i4 + adds[i4]) % adds.length;
if (bitLength(n2) > bits2) {
n2 = mod$1(n2, min << _1n$b);
n2 += min;
i4 = bigIntToNumber(mod$1(n2, _30n));
}
} while (!isProbablePrime(n2, e, k2));
return n2;
}
function isProbablePrime(n2, e, k2) {
if (e && gcd(n2 - _1n$b, e) !== _1n$b) {
return false;
}
if (!divisionTest(n2)) {
return false;
}
if (!fermat(n2)) {
return false;
}
if (!millerRabin(n2, k2)) {
return false;
}
return true;
}
function fermat(n2, b = BigInt(2)) {
return modExp(b, n2 - _1n$b, n2) === _1n$b;
}
function divisionTest(n2) {
const _0n2 = BigInt(0);
return smallPrimes.every((m) => mod$1(n2, m) !== _0n2);
}
function millerRabin(n2, k2, rand) {
const len = bitLength(n2);
if (!k2) {
k2 = Math.max(1, len / 48 | 0);
}
const n1 = n2 - _1n$b;
let s = 0;
while (!getBit(n1, s)) {
s++;
}
const d3 = n2 >> BigInt(s);
for (; k2 > 0; k2--) {
const a2 = getRandomBigInteger(BigInt(2), n1);
let x3 = modExp(a2, d3, n2);
if (x3 === _1n$b || x3 === n1) {
continue;
}
let i4;
for (i4 = 1; i4 < s; i4++) {
x3 = mod$1(x3 * x3, n2);
if (x3 === _1n$b) {
return false;
}
if (x3 === n1) {
break;
}
}
if (i4 === s) {
return false;
}
}
return true;
}
function nodeHash(type4) {
if (!nodeCrypto$7 || !nodeCryptoHashes.includes(type4)) {
return;
}
return async function(data) {
const shasum = nodeCrypto$7.createHash(type4);
return transform(data, (value) => {
shasum.update(value);
}, () => new Uint8Array(shasum.digest()));
};
}
function nobleHash(nobleHashName, webCryptoHashName) {
const getNobleHash = async () => {
const { nobleHashes: nobleHashes2 } = await Promise.resolve().then(function() {
return noble_hashes;
});
const hash2 = nobleHashes2.get(nobleHashName);
if (!hash2)
throw new Error("Unsupported hash");
return hash2;
};
return async function(data) {
if (isArrayStream(data)) {
data = await readToEnd(data);
}
if (util11.isStream(data)) {
const hash2 = await getNobleHash();
const hashInstance = hash2.create();
return transform(data, (value) => {
hashInstance.update(value);
}, () => hashInstance.digest());
} else if (webCrypto$8 && webCryptoHashName) {
return new Uint8Array(await webCrypto$8.digest(webCryptoHashName, data));
} else {
const hash2 = await getNobleHash();
return hash2(data);
}
};
}
function computeDigest(algo, data) {
switch (algo) {
case enums.hash.md5:
return md5$1(data);
case enums.hash.sha1:
return sha1$2(data);
case enums.hash.ripemd:
return ripemd(data);
case enums.hash.sha256:
return sha256$2(data);
case enums.hash.sha384:
return sha384$2(data);
case enums.hash.sha512:
return sha512$2(data);
case enums.hash.sha224:
return sha224$2(data);
case enums.hash.sha3_256:
return sha3_256$1(data);
case enums.hash.sha3_512:
return sha3_512$1(data);
default:
throw new Error("Unsupported hash function");
}
}
function getHashByteLength(algo) {
switch (algo) {
case enums.hash.md5:
return 16;
case enums.hash.sha1:
case enums.hash.ripemd:
return 20;
case enums.hash.sha256:
return 32;
case enums.hash.sha384:
return 48;
case enums.hash.sha512:
return 64;
case enums.hash.sha224:
return 28;
case enums.hash.sha3_256:
return 32;
case enums.hash.sha3_512:
return 64;
default:
throw new Error("Invalid hash algorithm.");
}
}
function getPKCS1Padding(length) {
const result2 = new Uint8Array(length);
let count2 = 0;
while (count2 < length) {
const randomBytes2 = getRandomBytes(length - count2);
for (let i4 = 0; i4 < randomBytes2.length; i4++) {
if (randomBytes2[i4] !== 0) {
result2[count2++] = randomBytes2[i4];
}
}
}
return result2;
}
function emeEncode(message, keyLength) {
const mLength = message.length;
if (mLength > keyLength - 11) {
throw new Error("Message too long");
}
const PS = getPKCS1Padding(keyLength - mLength - 3);
const encoded = new Uint8Array(keyLength);
encoded[1] = 2;
encoded.set(PS, 2);
encoded.set(message, keyLength - mLength);
return encoded;
}
function emeDecode(encoded, randomPayload) {
let offset = 2;
let separatorNotFound = 1;
for (let j2 = offset; j2 < encoded.length; j2++) {
separatorNotFound &= encoded[j2] !== 0;
offset += separatorNotFound;
}
const psLen = offset - 2;
const payload = encoded.subarray(offset + 1);
const isValidPadding = encoded[0] === 0 & encoded[1] === 2 & psLen >= 8 & !separatorNotFound;
if (randomPayload) {
return util11.selectUint8Array(isValidPadding, payload, randomPayload);
}
if (isValidPadding) {
return payload;
}
throw new Error("Decryption error");
}
function emsaEncode(algo, hashed, emLen) {
let i4;
if (hashed.length !== getHashByteLength(algo)) {
throw new Error("Invalid hash length");
}
const hashPrefix = new Uint8Array(hash_headers[algo].length);
for (i4 = 0; i4 < hash_headers[algo].length; i4++) {
hashPrefix[i4] = hash_headers[algo][i4];
}
const tLen = hashPrefix.length + hashed.length;
if (emLen < tLen + 11) {
throw new Error("Intended encoded message length too short");
}
const PS = new Uint8Array(emLen - tLen - 3).fill(255);
const EM = new Uint8Array(emLen);
EM[1] = 1;
EM.set(PS, 2);
EM.set(hashPrefix, emLen - tLen);
EM.set(hashed, emLen - hashed.length);
return EM;
}
async function sign$6(hashAlgo, data, n2, e, d3, p, q, u2, hashed) {
if (getHashByteLength(hashAlgo) >= n2.length) {
throw new Error("Digest size cannot exceed key modulus size");
}
if (data && !util11.isStream(data)) {
if (util11.getWebCrypto()) {
try {
return await webSign$1(enums.read(enums.webHash, hashAlgo), data, n2, e, d3, p, q, u2);
} catch (err2) {
util11.printDebugError(err2);
}
} else if (util11.getNodeCrypto()) {
return nodeSign$1(hashAlgo, data, n2, e, d3, p, q, u2);
}
}
return bnSign(hashAlgo, n2, d3, hashed);
}
async function verify$6(hashAlgo, data, s, n2, e, hashed) {
if (data && !util11.isStream(data)) {
if (util11.getWebCrypto()) {
try {
return await webVerify$1(enums.read(enums.webHash, hashAlgo), data, s, n2, e);
} catch (err2) {
util11.printDebugError(err2);
}
} else if (util11.getNodeCrypto()) {
return nodeVerify$1(hashAlgo, data, s, n2, e);
}
}
return bnVerify(hashAlgo, s, n2, e, hashed);
}
async function encrypt$6(data, n2, e) {
if (util11.getNodeCrypto()) {
return nodeEncrypt$1(data, n2, e);
}
return bnEncrypt(data, n2, e);
}
async function decrypt$6(data, n2, e, d3, p, q, u2, randomPayload) {
if (util11.getNodeCrypto() && !randomPayload) {
try {
return nodeDecrypt$1(data, n2, e, d3, p, q, u2);
} catch (err2) {
util11.printDebugError(err2);
}
}
return bnDecrypt(data, n2, e, d3, p, q, u2, randomPayload);
}
async function generate$4(bits2, e) {
e = BigInt(e);
if (util11.getWebCrypto()) {
const keyGenOpt = {
name: "RSASSA-PKCS1-v1_5",
modulusLength: bits2,
// the specified keysize in bits
publicExponent: bigIntToUint8Array(e),
// take three bytes (max 65537) for exponent
hash: {
name: "SHA-1"
// not required for actual RSA keys, but for crypto api 'sign' and 'verify'
}
};
const keyPair = await webCrypto$7.generateKey(keyGenOpt, true, ["sign", "verify"]);
const jwk = await webCrypto$7.exportKey("jwk", keyPair.privateKey);
return jwkToPrivate(jwk, e);
} else if (util11.getNodeCrypto()) {
const opts3 = {
modulusLength: bits2,
publicExponent: bigIntToNumber(e),
publicKeyEncoding: { type: "pkcs1", format: "jwk" },
privateKeyEncoding: { type: "pkcs1", format: "jwk" }
};
const jwk = await new Promise((resolve4, reject3) => {
nodeCrypto$6.generateKeyPair("rsa", opts3, (err2, _, jwkPrivateKey) => {
if (err2) {
reject3(err2);
} else {
resolve4(jwkPrivateKey);
}
});
});
return jwkToPrivate(jwk, e);
}
let p;
let q;
let n2;
do {
q = randomProbablePrime(bits2 - (bits2 >> 1), e, 40);
p = randomProbablePrime(bits2 >> 1, e, 40);
n2 = p * q;
} while (bitLength(n2) !== bits2);
const phi = (p - _1n$a) * (q - _1n$a);
if (q < p) {
[p, q] = [q, p];
}
return {
n: bigIntToUint8Array(n2),
e: bigIntToUint8Array(e),
d: bigIntToUint8Array(modInv(e, phi)),
p: bigIntToUint8Array(p),
q: bigIntToUint8Array(q),
// dp: d.mod(p.subn(1)),
// dq: d.mod(q.subn(1)),
u: bigIntToUint8Array(modInv(p, q))
};
}
async function validateParams$9(n2, e, d3, p, q, u2) {
n2 = uint8ArrayToBigInt(n2);
p = uint8ArrayToBigInt(p);
q = uint8ArrayToBigInt(q);
if (p * q !== n2) {
return false;
}
const _2n2 = BigInt(2);
u2 = uint8ArrayToBigInt(u2);
if (mod$1(p * u2, q) !== BigInt(1)) {
return false;
}
e = uint8ArrayToBigInt(e);
d3 = uint8ArrayToBigInt(d3);
const nSizeOver3 = BigInt(Math.floor(bitLength(n2) / 3));
const r = getRandomBigInteger(_2n2, _2n2 << nSizeOver3);
const rde = r * d3 * e;
const areInverses = mod$1(rde, p - _1n$a) === r && mod$1(rde, q - _1n$a) === r;
if (!areInverses) {
return false;
}
return true;
}
function bnSign(hashAlgo, n2, d3, hashed) {
n2 = uint8ArrayToBigInt(n2);
const m = uint8ArrayToBigInt(emsaEncode(hashAlgo, hashed, byteLength(n2)));
d3 = uint8ArrayToBigInt(d3);
return bigIntToUint8Array(modExp(m, d3, n2), "be", byteLength(n2));
}
async function webSign$1(hashName, data, n2, e, d3, p, q, u2) {
const jwk = privateToJWK$1(n2, e, d3, p, q, u2);
const algo = {
name: "RSASSA-PKCS1-v1_5",
hash: { name: hashName }
};
const key = await webCrypto$7.importKey("jwk", jwk, algo, false, ["sign"]);
return new Uint8Array(await webCrypto$7.sign("RSASSA-PKCS1-v1_5", key, data));
}
function nodeSign$1(hashAlgo, data, n2, e, d3, p, q, u2) {
const sign = nodeCrypto$6.createSign(enums.read(enums.hash, hashAlgo));
sign.write(data);
sign.end();
const jwk = privateToJWK$1(n2, e, d3, p, q, u2);
return new Uint8Array(sign.sign({ key: jwk, format: "jwk", type: "pkcs1" }));
}
function bnVerify(hashAlgo, s, n2, e, hashed) {
n2 = uint8ArrayToBigInt(n2);
s = uint8ArrayToBigInt(s);
e = uint8ArrayToBigInt(e);
if (s >= n2) {
throw new Error("Signature size cannot exceed modulus size");
}
const EM1 = bigIntToUint8Array(modExp(s, e, n2), "be", byteLength(n2));
const EM2 = emsaEncode(hashAlgo, hashed, byteLength(n2));
return util11.equalsUint8Array(EM1, EM2);
}
async function webVerify$1(hashName, data, s, n2, e) {
const jwk = publicToJWK(n2, e);
const key = await webCrypto$7.importKey("jwk", jwk, {
name: "RSASSA-PKCS1-v1_5",
hash: { name: hashName }
}, false, ["verify"]);
return webCrypto$7.verify("RSASSA-PKCS1-v1_5", key, s, data);
}
function nodeVerify$1(hashAlgo, data, s, n2, e) {
const jwk = publicToJWK(n2, e);
const key = { key: jwk, format: "jwk", type: "pkcs1" };
const verify = nodeCrypto$6.createVerify(enums.read(enums.hash, hashAlgo));
verify.write(data);
verify.end();
try {
return verify.verify(key, s);
} catch {
return false;
}
}
function nodeEncrypt$1(data, n2, e) {
const jwk = publicToJWK(n2, e);
const key = { key: jwk, format: "jwk", type: "pkcs1", padding: nodeCrypto$6.constants.RSA_PKCS1_PADDING };
return new Uint8Array(nodeCrypto$6.publicEncrypt(key, data));
}
function bnEncrypt(data, n2, e) {
n2 = uint8ArrayToBigInt(n2);
data = uint8ArrayToBigInt(emeEncode(data, byteLength(n2)));
e = uint8ArrayToBigInt(e);
if (data >= n2) {
throw new Error("Message size cannot exceed modulus size");
}
return bigIntToUint8Array(modExp(data, e, n2), "be", byteLength(n2));
}
function nodeDecrypt$1(data, n2, e, d3, p, q, u2) {
const jwk = privateToJWK$1(n2, e, d3, p, q, u2);
const key = { key: jwk, format: "jwk", type: "pkcs1", padding: nodeCrypto$6.constants.RSA_PKCS1_PADDING };
try {
return new Uint8Array(nodeCrypto$6.privateDecrypt(key, data));
} catch {
throw new Error("Decryption error");
}
}
function bnDecrypt(data, n2, e, d3, p, q, u2, randomPayload) {
data = uint8ArrayToBigInt(data);
n2 = uint8ArrayToBigInt(n2);
e = uint8ArrayToBigInt(e);
d3 = uint8ArrayToBigInt(d3);
p = uint8ArrayToBigInt(p);
q = uint8ArrayToBigInt(q);
u2 = uint8ArrayToBigInt(u2);
if (data >= n2) {
throw new Error("Data too large.");
}
const dq = mod$1(d3, q - _1n$a);
const dp = mod$1(d3, p - _1n$a);
const unblinder = getRandomBigInteger(BigInt(2), n2);
const blinder = modExp(modInv(unblinder, n2), e, n2);
data = mod$1(data * blinder, n2);
const mp = modExp(data, dp, p);
const mq = modExp(data, dq, q);
const h2 = mod$1(u2 * (mq - mp), q);
let result2 = h2 * p + mp;
result2 = mod$1(result2 * unblinder, n2);
return emeDecode(bigIntToUint8Array(result2, "be", byteLength(n2)), randomPayload);
}
function privateToJWK$1(n2, e, d3, p, q, u2) {
const pNum = uint8ArrayToBigInt(p);
const qNum = uint8ArrayToBigInt(q);
const dNum = uint8ArrayToBigInt(d3);
let dq = mod$1(dNum, qNum - _1n$a);
let dp = mod$1(dNum, pNum - _1n$a);
dp = bigIntToUint8Array(dp);
dq = bigIntToUint8Array(dq);
return {
kty: "RSA",
n: uint8ArrayToB64(n2),
e: uint8ArrayToB64(e),
d: uint8ArrayToB64(d3),
// switch p and q
p: uint8ArrayToB64(q),
q: uint8ArrayToB64(p),
// switch dp and dq
dp: uint8ArrayToB64(dq),
dq: uint8ArrayToB64(dp),
qi: uint8ArrayToB64(u2),
ext: true
};
}
function publicToJWK(n2, e) {
return {
kty: "RSA",
n: uint8ArrayToB64(n2),
e: uint8ArrayToB64(e),
ext: true
};
}
function jwkToPrivate(jwk, e) {
return {
n: b64ToUint8Array(jwk.n),
e: bigIntToUint8Array(e),
d: b64ToUint8Array(jwk.d),
// switch p and q
p: b64ToUint8Array(jwk.q),
q: b64ToUint8Array(jwk.p),
// Since p and q are switched in places, u is the inverse of jwk.q
u: b64ToUint8Array(jwk.qi)
};
}
async function encrypt$5(data, p, g, y) {
p = uint8ArrayToBigInt(p);
g = uint8ArrayToBigInt(g);
y = uint8ArrayToBigInt(y);
const padded = emeEncode(data, byteLength(p));
const m = uint8ArrayToBigInt(padded);
const k2 = getRandomBigInteger(_1n$9, p - _1n$9);
return {
c1: bigIntToUint8Array(modExp(g, k2, p)),
c2: bigIntToUint8Array(mod$1(modExp(y, k2, p) * m, p))
};
}
async function decrypt$5(c1, c22, p, x3, randomPayload) {
c1 = uint8ArrayToBigInt(c1);
c22 = uint8ArrayToBigInt(c22);
p = uint8ArrayToBigInt(p);
x3 = uint8ArrayToBigInt(x3);
const padded = mod$1(modInv(modExp(c1, x3, p), p) * c22, p);
return emeDecode(bigIntToUint8Array(padded, "be", byteLength(p)), randomPayload);
}
async function validateParams$8(pBytes, gBytes, yBytes, xBytes) {
const p = uint8ArrayToBigInt(pBytes);
const g = uint8ArrayToBigInt(gBytes);
const y = uint8ArrayToBigInt(yBytes);
if (g <= _1n$9 || g >= p) {
return false;
}
const pSize = BigInt(bitLength(p));
const _1023n = BigInt(1023);
if (pSize < _1023n) {
return false;
}
if (modExp(g, p - _1n$9, p) !== _1n$9) {
return false;
}
let res = g;
let i4 = BigInt(1);
const _2n2 = BigInt(2);
const threshold = _2n2 << BigInt(17);
while (i4 < threshold) {
res = mod$1(res * g, p);
if (res === _1n$9) {
return false;
}
i4++;
}
const x3 = uint8ArrayToBigInt(xBytes);
const r = getRandomBigInteger(_2n2 << pSize - _1n$9, _2n2 << pSize);
const rqx = (p - _1n$9) * r + x3;
if (y !== modExp(g, rqx, p)) {
return false;
}
return true;
}
function readSimpleLength(bytes) {
let len = 0;
let offset;
const type4 = bytes[0];
if (type4 < 192) {
[len] = bytes;
offset = 1;
} else if (type4 < 255) {
len = (bytes[0] - 192 << 8) + bytes[1] + 192;
offset = 2;
} else if (type4 === 255) {
len = util11.readNumber(bytes.subarray(1, 1 + 4));
offset = 5;
}
return {
len,
offset
};
}
function writeSimpleLength(length) {
if (length < 192) {
return new Uint8Array([length]);
} else if (length > 191 && length < 8384) {
return new Uint8Array([(length - 192 >> 8) + 192, length - 192 & 255]);
}
return util11.concatUint8Array([new Uint8Array([255]), util11.writeNumber(length, 4)]);
}
function writePartialLength(power) {
if (power < 0 || power > 30) {
throw new Error("Partial Length power must be between 1 and 30");
}
return new Uint8Array([224 + power]);
}
function writeTag(tag_type) {
return new Uint8Array([192 | tag_type]);
}
function writeHeader(tag_type, length) {
return util11.concatUint8Array([writeTag(tag_type), writeSimpleLength(length)]);
}
function supportsStreaming(tag) {
return [
enums.packet.literalData,
enums.packet.compressedData,
enums.packet.symmetricallyEncryptedData,
enums.packet.symEncryptedIntegrityProtectedData,
enums.packet.aeadEncryptedData
].includes(tag);
}
async function readPacket(reader, useStreamType, callback2) {
let writer;
let callbackReturned;
try {
const peekedBytes = await reader.peekBytes(2);
if (!peekedBytes || peekedBytes.length < 2 || (peekedBytes[0] & 128) === 0) {
throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");
}
const headerByte = await reader.readByte();
let tag = -1;
let format2 = -1;
let packetLength;
format2 = 0;
if ((headerByte & 64) !== 0) {
format2 = 1;
}
let packetLengthType;
if (format2) {
tag = headerByte & 63;
} else {
tag = (headerByte & 63) >> 2;
packetLengthType = headerByte & 3;
}
const packetSupportsStreaming = supportsStreaming(tag);
let packet = null;
if (useStreamType && packetSupportsStreaming) {
if (useStreamType === "array") {
const arrayStream = new ArrayStream();
writer = getWriter(arrayStream);
packet = arrayStream;
} else {
const transform3 = new TransformStream();
writer = getWriter(transform3.writable);
packet = transform3.readable;
}
callbackReturned = callback2({ tag, packet });
} else {
packet = [];
}
let wasPartialLength;
do {
if (!format2) {
switch (packetLengthType) {
case 0:
packetLength = await reader.readByte();
break;
case 1:
packetLength = await reader.readByte() << 8 | await reader.readByte();
break;
case 2:
packetLength = await reader.readByte() << 24 | await reader.readByte() << 16 | await reader.readByte() << 8 | await reader.readByte();
break;
default:
packetLength = Infinity;
break;
}
} else {
const lengthByte = await reader.readByte();
wasPartialLength = false;
if (lengthByte < 192) {
packetLength = lengthByte;
} else if (lengthByte >= 192 && lengthByte < 224) {
packetLength = (lengthByte - 192 << 8) + await reader.readByte() + 192;
} else if (lengthByte > 223 && lengthByte < 255) {
packetLength = 1 << (lengthByte & 31);
wasPartialLength = true;
if (!packetSupportsStreaming) {
throw new TypeError("This packet type does not support partial lengths.");
}
} else {
packetLength = await reader.readByte() << 24 | await reader.readByte() << 16 | await reader.readByte() << 8 | await reader.readByte();
}
}
if (packetLength > 0) {
let bytesRead = 0;
while (true) {
if (writer)
await writer.ready;
const { done, value } = await reader.read();
if (done) {
if (packetLength === Infinity)
break;
throw new Error("Unexpected end of packet");
}
const chunk = packetLength === Infinity ? value : value.subarray(0, packetLength - bytesRead);
if (writer)
await writer.write(chunk);
else
packet.push(chunk);
bytesRead += value.length;
if (bytesRead >= packetLength) {
reader.unshift(value.subarray(packetLength - bytesRead + value.length));
break;
}
}
}
} while (wasPartialLength);
if (writer) {
await writer.ready;
await writer.close();
} else {
packet = util11.concatUint8Array(packet);
await callback2({ tag, packet });
}
} catch (e) {
if (writer) {
await writer.abort(e);
return true;
} else {
throw e;
}
} finally {
if (writer) {
await callbackReturned;
}
}
}
async function generate$3(algo) {
switch (algo) {
case enums.publicKey.ed25519:
try {
const webCrypto2 = util11.getWebCrypto();
const webCryptoKey = await webCrypto2.generateKey("Ed25519", true, ["sign", "verify"]).catch((err2) => {
if (err2.name === "OperationError") {
const newErr = new Error("Unexpected key generation issue");
newErr.name = "NotSupportedError";
throw newErr;
}
throw err2;
});
const privateKey = await webCrypto2.exportKey("jwk", webCryptoKey.privateKey);
const publicKey = await webCrypto2.exportKey("jwk", webCryptoKey.publicKey);
return {
A: new Uint8Array(b64ToUint8Array(publicKey.x)),
seed: b64ToUint8Array(privateKey.d, true)
};
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: ed25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const seed = getRandomBytes(getPayloadSize$1(algo));
const { publicKey: A2 } = ed25519.sign.keyPair.fromSeed(seed);
return { A: A2, seed };
}
case enums.publicKey.ed448: {
const ed4482 = await util11.getNobleCurve(enums.publicKey.ed448);
const { secretKey: seed, publicKey: A2 } = ed4482.keygen();
return { A: A2, seed };
}
default:
throw new Error("Unsupported EdDSA algorithm");
}
}
async function sign$5(algo, hashAlgo, message, publicKey, privateKey, hashed) {
if (getHashByteLength(hashAlgo) < getHashByteLength(getPreferredHashAlgo$2(algo))) {
throw new Error("Hash algorithm too weak for EdDSA.");
}
switch (algo) {
case enums.publicKey.ed25519:
try {
const webCrypto2 = util11.getWebCrypto();
const jwk = privateKeyToJWK$1(algo, publicKey, privateKey);
const key = await webCrypto2.importKey("jwk", jwk, "Ed25519", false, ["sign"]);
const signature = new Uint8Array(await webCrypto2.sign("Ed25519", key, hashed));
return { RS: signature };
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: ed25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const secretKey = util11.concatUint8Array([privateKey, publicKey]);
const signature = ed25519.sign.detached(hashed, secretKey);
return { RS: signature };
}
case enums.publicKey.ed448: {
const ed4482 = await util11.getNobleCurve(enums.publicKey.ed448);
const signature = ed4482.sign(hashed, privateKey);
return { RS: signature };
}
default:
throw new Error("Unsupported EdDSA algorithm");
}
}
async function verify$5(algo, hashAlgo, { RS }, m, publicKey, hashed) {
if (getHashByteLength(hashAlgo) < getHashByteLength(getPreferredHashAlgo$2(algo))) {
throw new Error("Hash algorithm too weak for EdDSA.");
}
switch (algo) {
case enums.publicKey.ed25519:
try {
const webCrypto2 = util11.getWebCrypto();
const jwk = publicKeyToJWK$1(algo, publicKey);
const key = await webCrypto2.importKey("jwk", jwk, "Ed25519", false, ["verify"]);
const verified2 = await webCrypto2.verify("Ed25519", key, RS, hashed);
return verified2;
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: ed25519 } = await Promise.resolve().then(function() {
return naclFast;
});
return ed25519.sign.detached.verify(hashed, RS, publicKey);
}
case enums.publicKey.ed448: {
const ed4482 = await util11.getNobleCurve(enums.publicKey.ed448);
return ed4482.verify(RS, hashed, publicKey);
}
default:
throw new Error("Unsupported EdDSA algorithm");
}
}
async function validateParams$7(algo, A2, seed) {
switch (algo) {
case enums.publicKey.ed25519:
try {
const webCrypto2 = util11.getWebCrypto();
const jwkPrivate = privateKeyToJWK$1(algo, A2, seed);
const jwkPublic = publicKeyToJWK$1(algo, A2);
const privateCryptoKey = await webCrypto2.importKey("jwk", jwkPrivate, "Ed25519", false, ["sign"]);
const publicCryptoKey = await webCrypto2.importKey("jwk", jwkPublic, "Ed25519", false, ["verify"]);
const randomData = getRandomBytes(8);
const signature = new Uint8Array(await webCrypto2.sign("Ed25519", privateCryptoKey, randomData));
const verified2 = await webCrypto2.verify("Ed25519", publicCryptoKey, signature, randomData);
return verified2;
} catch (err2) {
if (err2.name !== "NotSupportedError") {
return false;
}
const { default: ed25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const { publicKey } = ed25519.sign.keyPair.fromSeed(seed);
return util11.equalsUint8Array(A2, publicKey);
}
case enums.publicKey.ed448: {
const ed4482 = await util11.getNobleCurve(enums.publicKey.ed448);
const publicKey = ed4482.getPublicKey(seed);
return util11.equalsUint8Array(A2, publicKey);
}
default:
return false;
}
}
function getPayloadSize$1(algo) {
switch (algo) {
case enums.publicKey.ed25519:
return 32;
case enums.publicKey.ed448:
return 57;
default:
throw new Error("Unsupported EdDSA algorithm");
}
}
function getPreferredHashAlgo$2(algo) {
switch (algo) {
case enums.publicKey.ed25519:
return enums.hash.sha256;
case enums.publicKey.ed448:
return enums.hash.sha512;
default:
throw new Error("Unknown EdDSA algo");
}
}
function isBytes$1(a2) {
return a2 instanceof Uint8Array || ArrayBuffer.isView(a2) && a2.constructor.name === "Uint8Array";
}
function abytes$1(b, ...lengths) {
if (!isBytes$1(b))
throw new Error("Uint8Array expected");
if (lengths.length > 0 && !lengths.includes(b.length))
throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length);
}
function aexists$1(instance, checkFinished = true) {
if (instance.destroyed)
throw new Error("Hash instance has been destroyed");
if (checkFinished && instance.finished)
throw new Error("Hash#digest() has already been called");
}
function aoutput$1(out, instance) {
abytes$1(out);
const min = instance.outputLen;
if (out.length < min) {
throw new Error("digestInto() expects output buffer of length at least " + min);
}
}
function u8$1(arr) {
return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
}
function u32$1(arr) {
return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
}
function clean$1(...arrays) {
for (let i4 = 0; i4 < arrays.length; i4++) {
arrays[i4].fill(0);
}
}
function createView$1(arr) {
return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
}
function utf8ToBytes$1(str2) {
if (typeof str2 !== "string")
throw new Error("string expected");
return new Uint8Array(new TextEncoder().encode(str2));
}
function toBytes$1(data) {
if (typeof data === "string")
data = utf8ToBytes$1(data);
else if (isBytes$1(data))
data = copyBytes$1(data);
else
throw new Error("Uint8Array expected, got " + typeof data);
return data;
}
function overlapBytes(a2, b) {
return a2.buffer === b.buffer && // best we can do, may fail with an obscure Proxy
a2.byteOffset < b.byteOffset + b.byteLength && // a starts before b end
b.byteOffset < a2.byteOffset + a2.byteLength;
}
function complexOverlapBytes(input, output) {
if (overlapBytes(input, output) && input.byteOffset < output.byteOffset)
throw new Error("complex overlap of input and output is not supported");
}
function concatBytes$1(...arrays) {
let sum = 0;
for (let i4 = 0; i4 < arrays.length; i4++) {
const a2 = arrays[i4];
abytes$1(a2);
sum += a2.length;
}
const res = new Uint8Array(sum);
for (let i4 = 0, pad4 = 0; i4 < arrays.length; i4++) {
const a2 = arrays[i4];
res.set(a2, pad4);
pad4 += a2.length;
}
return res;
}
function equalBytes(a2, b) {
if (a2.length !== b.length)
return false;
let diff2 = 0;
for (let i4 = 0; i4 < a2.length; i4++)
diff2 |= a2[i4] ^ b[i4];
return diff2 === 0;
}
function getOutput(expectedLength, out, onlyAligned = true) {
if (out === void 0)
return new Uint8Array(expectedLength);
if (out.length !== expectedLength)
throw new Error("invalid output length, expected " + expectedLength + ", got: " + out.length);
if (onlyAligned && !isAligned32(out))
throw new Error("invalid output, must be aligned");
return out;
}
function setBigUint64$1(view, byteOffset, value, isLE2) {
if (typeof view.setBigUint64 === "function")
return view.setBigUint64(byteOffset, value, isLE2);
const _32n2 = BigInt(32);
const _u32_max = BigInt(4294967295);
const wh = Number(value >> _32n2 & _u32_max);
const wl = Number(value & _u32_max);
const h2 = 0;
const l = 4;
view.setUint32(byteOffset + h2, wh, isLE2);
view.setUint32(byteOffset + l, wl, isLE2);
}
function u64Lengths(dataLength, aadLength, isLE2) {
const num = new Uint8Array(16);
const view = createView$1(num);
setBigUint64$1(view, 0, BigInt(aadLength), isLE2);
setBigUint64$1(view, 8, BigInt(dataLength), isLE2);
return num;
}
function isAligned32(bytes) {
return bytes.byteOffset % 4 === 0;
}
function copyBytes$1(bytes) {
return Uint8Array.from(bytes);
}
function _toGHASHKey(k2) {
k2.reverse();
const hiBit = k2[15] & 1;
let carry = 0;
for (let i4 = 0; i4 < k2.length; i4++) {
const t2 = k2[i4];
k2[i4] = t2 >>> 1 | carry;
carry = (t2 & 1) << 7;
}
k2[0] ^= -hiBit & 225;
return k2;
}
function wrapConstructorWithKey(hashCons) {
const hashC = (msg, key) => hashCons(key, msg.length).update(toBytes$1(msg)).digest();
const tmp = hashCons(new Uint8Array(16), 0);
hashC.outputLen = tmp.outputLen;
hashC.blockLen = tmp.blockLen;
hashC.create = (key, expectedLength) => hashCons(key, expectedLength);
return hashC;
}
function mul2(n2) {
return n2 << 1 ^ POLY & -(n2 >> 7);
}
function mul(a2, b) {
let res = 0;
for (; b > 0; b >>= 1) {
res ^= a2 & -(b & 1);
a2 = mul2(a2);
}
return res;
}
function genTtable(sbox2, fn) {
if (sbox2.length !== 256)
throw new Error("Wrong sbox length");
const T0 = new Uint32Array(256).map((_, j2) => fn(sbox2[j2]));
const T1 = T0.map(rotl32_8);
const T2 = T1.map(rotl32_8);
const T3 = T2.map(rotl32_8);
const T01 = new Uint32Array(256 * 256);
const T23 = new Uint32Array(256 * 256);
const sbox22 = new Uint16Array(256 * 256);
for (let i4 = 0; i4 < 256; i4++) {
for (let j2 = 0; j2 < 256; j2++) {
const idx = i4 * 256 + j2;
T01[idx] = T0[i4] ^ T1[j2];
T23[idx] = T2[i4] ^ T3[j2];
sbox22[idx] = sbox2[i4] << 8 | sbox2[j2];
}
}
return { sbox: sbox2, sbox2: sbox22, T0, T1, T2, T3, T01, T23 };
}
function expandKeyLE(key) {
abytes$1(key);
const len = key.length;
if (![16, 24, 32].includes(len))
throw new Error("aes: invalid key size, should be 16, 24 or 32, got " + len);
const { sbox2 } = tableEncoding;
const toClean = [];
if (!isAligned32(key))
toClean.push(key = copyBytes$1(key));
const k32 = u32$1(key);
const Nk = k32.length;
const subByte = (n2) => applySbox(sbox2, n2, n2, n2, n2);
const xk = new Uint32Array(len + 28);
xk.set(k32);
for (let i4 = Nk; i4 < xk.length; i4++) {
let t2 = xk[i4 - 1];
if (i4 % Nk === 0)
t2 = subByte(rotr32_8(t2)) ^ xPowers[i4 / Nk - 1];
else if (Nk > 6 && i4 % Nk === 4)
t2 = subByte(t2);
xk[i4] = xk[i4 - Nk] ^ t2;
}
clean$1(...toClean);
return xk;
}
function expandKeyDecLE(key) {
const encKey = expandKeyLE(key);
const xk = encKey.slice();
const Nk = encKey.length;
const { sbox2 } = tableEncoding;
const { T0, T1, T2, T3 } = tableDecoding;
for (let i4 = 0; i4 < Nk; i4 += 4) {
for (let j2 = 0; j2 < 4; j2++)
xk[i4 + j2] = encKey[Nk - i4 - 4 + j2];
}
clean$1(encKey);
for (let i4 = 4; i4 < Nk - 4; i4++) {
const x3 = xk[i4];
const w = applySbox(sbox2, x3, x3, x3, x3);
xk[i4] = T0[w & 255] ^ T1[w >>> 8 & 255] ^ T2[w >>> 16 & 255] ^ T3[w >>> 24];
}
return xk;
}
function apply0123(T01, T23, s0, s1, s2, s3) {
return T01[s0 << 8 & 65280 | s1 >>> 8 & 255] ^ T23[s2 >>> 8 & 65280 | s3 >>> 24 & 255];
}
function applySbox(sbox2, s0, s1, s2, s3) {
return sbox2[s0 & 255 | s1 & 65280] | sbox2[s2 >>> 16 & 255 | s3 >>> 16 & 65280] << 16;
}
function encrypt$4(xk, s0, s1, s2, s3) {
const { sbox2, T01, T23 } = tableEncoding;
let k2 = 0;
s0 ^= xk[k2++], s1 ^= xk[k2++], s2 ^= xk[k2++], s3 ^= xk[k2++];
const rounds = xk.length / 4 - 2;
for (let i4 = 0; i4 < rounds; i4++) {
const t02 = xk[k2++] ^ apply0123(T01, T23, s0, s1, s2, s3);
const t12 = xk[k2++] ^ apply0123(T01, T23, s1, s2, s3, s0);
const t22 = xk[k2++] ^ apply0123(T01, T23, s2, s3, s0, s1);
const t32 = xk[k2++] ^ apply0123(T01, T23, s3, s0, s1, s2);
s0 = t02, s1 = t12, s2 = t22, s3 = t32;
}
const t0 = xk[k2++] ^ applySbox(sbox2, s0, s1, s2, s3);
const t1 = xk[k2++] ^ applySbox(sbox2, s1, s2, s3, s0);
const t2 = xk[k2++] ^ applySbox(sbox2, s2, s3, s0, s1);
const t3 = xk[k2++] ^ applySbox(sbox2, s3, s0, s1, s2);
return { s0: t0, s1: t1, s2: t2, s3: t3 };
}
function decrypt$4(xk, s0, s1, s2, s3) {
const { sbox2, T01, T23 } = tableDecoding;
let k2 = 0;
s0 ^= xk[k2++], s1 ^= xk[k2++], s2 ^= xk[k2++], s3 ^= xk[k2++];
const rounds = xk.length / 4 - 2;
for (let i4 = 0; i4 < rounds; i4++) {
const t02 = xk[k2++] ^ apply0123(T01, T23, s0, s3, s2, s1);
const t12 = xk[k2++] ^ apply0123(T01, T23, s1, s0, s3, s2);
const t22 = xk[k2++] ^ apply0123(T01, T23, s2, s1, s0, s3);
const t32 = xk[k2++] ^ apply0123(T01, T23, s3, s2, s1, s0);
s0 = t02, s1 = t12, s2 = t22, s3 = t32;
}
const t0 = xk[k2++] ^ applySbox(sbox2, s0, s3, s2, s1);
const t1 = xk[k2++] ^ applySbox(sbox2, s1, s0, s3, s2);
const t2 = xk[k2++] ^ applySbox(sbox2, s2, s1, s0, s3);
const t3 = xk[k2++] ^ applySbox(sbox2, s3, s2, s1, s0);
return { s0: t0, s1: t1, s2: t2, s3: t3 };
}
function ctrCounter(xk, nonce, src2, dst) {
abytes$1(nonce, BLOCK_SIZE);
abytes$1(src2);
const srcLen = src2.length;
dst = getOutput(srcLen, dst);
complexOverlapBytes(src2, dst);
const ctr2 = nonce;
const c32 = u32$1(ctr2);
let { s0, s1, s2, s3 } = encrypt$4(xk, c32[0], c32[1], c32[2], c32[3]);
const src32 = u32$1(src2);
const dst32 = u32$1(dst);
for (let i4 = 0; i4 + 4 <= src32.length; i4 += 4) {
dst32[i4 + 0] = src32[i4 + 0] ^ s0;
dst32[i4 + 1] = src32[i4 + 1] ^ s1;
dst32[i4 + 2] = src32[i4 + 2] ^ s2;
dst32[i4 + 3] = src32[i4 + 3] ^ s3;
let carry = 1;
for (let i5 = ctr2.length - 1; i5 >= 0; i5--) {
carry = carry + (ctr2[i5] & 255) | 0;
ctr2[i5] = carry & 255;
carry >>>= 8;
}
({ s0, s1, s2, s3 } = encrypt$4(xk, c32[0], c32[1], c32[2], c32[3]));
}
const start = BLOCK_SIZE * Math.floor(src32.length / BLOCK_SIZE32);
if (start < srcLen) {
const b32 = new Uint32Array([s0, s1, s2, s3]);
const buf = u8$1(b32);
for (let i4 = start, pos = 0; i4 < srcLen; i4++, pos++)
dst[i4] = src2[i4] ^ buf[pos];
clean$1(b32);
}
return dst;
}
function ctr32(xk, isLE2, nonce, src2, dst) {
abytes$1(nonce, BLOCK_SIZE);
abytes$1(src2);
dst = getOutput(src2.length, dst);
const ctr2 = nonce;
const c32 = u32$1(ctr2);
const view = createView$1(ctr2);
const src32 = u32$1(src2);
const dst32 = u32$1(dst);
const ctrPos = isLE2 ? 0 : 12;
const srcLen = src2.length;
let ctrNum = view.getUint32(ctrPos, isLE2);
let { s0, s1, s2, s3 } = encrypt$4(xk, c32[0], c32[1], c32[2], c32[3]);
for (let i4 = 0; i4 + 4 <= src32.length; i4 += 4) {
dst32[i4 + 0] = src32[i4 + 0] ^ s0;
dst32[i4 + 1] = src32[i4 + 1] ^ s1;
dst32[i4 + 2] = src32[i4 + 2] ^ s2;
dst32[i4 + 3] = src32[i4 + 3] ^ s3;
ctrNum = ctrNum + 1 >>> 0;
view.setUint32(ctrPos, ctrNum, isLE2);
({ s0, s1, s2, s3 } = encrypt$4(xk, c32[0], c32[1], c32[2], c32[3]));
}
const start = BLOCK_SIZE * Math.floor(src32.length / BLOCK_SIZE32);
if (start < srcLen) {
const b32 = new Uint32Array([s0, s1, s2, s3]);
const buf = u8$1(b32);
for (let i4 = start, pos = 0; i4 < srcLen; i4++, pos++)
dst[i4] = src2[i4] ^ buf[pos];
clean$1(b32);
}
return dst;
}
function validateBlockDecrypt(data) {
abytes$1(data);
if (data.length % BLOCK_SIZE !== 0) {
throw new Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size " + BLOCK_SIZE);
}
}
function validateBlockEncrypt(plaintext, pcks5, dst) {
abytes$1(plaintext);
let outLen = plaintext.length;
const remaining = outLen % BLOCK_SIZE;
if (!pcks5 && remaining !== 0)
throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");
if (!isAligned32(plaintext))
plaintext = copyBytes$1(plaintext);
const b = u32$1(plaintext);
if (pcks5) {
let left = BLOCK_SIZE - remaining;
if (!left)
left = BLOCK_SIZE;
outLen = outLen + left;
}
dst = getOutput(outLen, dst);
complexOverlapBytes(plaintext, dst);
const o2 = u32$1(dst);
return { b, o: o2, out: dst };
}
function validatePCKS(data, pcks5) {
if (!pcks5)
return data;
const len = data.length;
if (!len)
throw new Error("aes/pcks5: empty ciphertext not allowed");
const lastByte = data[len - 1];
if (lastByte <= 0 || lastByte > 16)
throw new Error("aes/pcks5: wrong padding");
const out = data.subarray(0, -lastByte);
for (let i4 = 0; i4 < lastByte; i4++)
if (data[len - i4 - 1] !== lastByte)
throw new Error("aes/pcks5: wrong padding");
return out;
}
function padPCKS(left) {
const tmp = new Uint8Array(16);
const tmp32 = u32$1(tmp);
tmp.set(left);
const paddingByte = BLOCK_SIZE - left.length;
for (let i4 = BLOCK_SIZE - paddingByte; i4 < BLOCK_SIZE; i4++)
tmp[i4] = paddingByte;
return tmp32;
}
function computeTag(fn, isLE2, key, data, AAD) {
const aadLength = AAD ? AAD.length : 0;
const h2 = fn.create(key, data.length + aadLength);
if (AAD)
h2.update(AAD);
const num = u64Lengths(8 * data.length, 8 * aadLength, isLE2);
h2.update(data);
h2.update(num);
const res = h2.digest();
clean$1(num);
return res;
}
function isBytes32(a2) {
return a2 instanceof Uint32Array || ArrayBuffer.isView(a2) && a2.constructor.name === "Uint32Array";
}
function encryptBlock(xk, block) {
abytes$1(block, 16);
if (!isBytes32(xk))
throw new Error("_encryptBlock accepts result of expandKeyLE");
const b32 = u32$1(block);
let { s0, s1, s2, s3 } = encrypt$4(xk, b32[0], b32[1], b32[2], b32[3]);
b32[0] = s0, b32[1] = s1, b32[2] = s2, b32[3] = s3;
return block;
}
function decryptBlock(xk, block) {
abytes$1(block, 16);
if (!isBytes32(xk))
throw new Error("_decryptBlock accepts result of expandKeyLE");
const b32 = u32$1(block);
let { s0, s1, s2, s3 } = decrypt$4(xk, b32[0], b32[1], b32[2], b32[3]);
b32[0] = s0, b32[1] = s1, b32[2] = s2, b32[3] = s3;
return block;
}
async function getLegacyCipher(algo) {
switch (algo) {
case enums.symmetric.aes128:
case enums.symmetric.aes192:
case enums.symmetric.aes256:
throw new Error("Not a legacy cipher");
case enums.symmetric.cast5:
case enums.symmetric.blowfish:
case enums.symmetric.twofish:
case enums.symmetric.tripledes: {
const { legacyCiphers: legacyCiphers2 } = await Promise.resolve().then(function() {
return legacy_ciphers;
});
const algoName = enums.read(enums.symmetric, algo);
const cipher = legacyCiphers2.get(algoName);
if (!cipher) {
throw new Error("Unsupported cipher algorithm");
}
return cipher;
}
default:
throw new Error("Unsupported cipher algorithm");
}
}
function getCipherBlockSize(algo) {
switch (algo) {
case enums.symmetric.aes128:
case enums.symmetric.aes192:
case enums.symmetric.aes256:
case enums.symmetric.twofish:
return 16;
case enums.symmetric.blowfish:
case enums.symmetric.cast5:
case enums.symmetric.tripledes:
return 8;
default:
throw new Error("Unsupported cipher");
}
}
function getCipherKeySize(algo) {
switch (algo) {
case enums.symmetric.aes128:
case enums.symmetric.blowfish:
case enums.symmetric.cast5:
return 16;
case enums.symmetric.aes192:
case enums.symmetric.tripledes:
return 24;
case enums.symmetric.aes256:
case enums.symmetric.twofish:
return 32;
default:
throw new Error("Unsupported cipher");
}
}
function getCipherParams(algo) {
return { keySize: getCipherKeySize(algo), blockSize: getCipherBlockSize(algo) };
}
async function wrap(algo, key, dataToWrap) {
const { keySize } = getCipherParams(algo);
if (!util11.isAES(algo) || key.length !== keySize) {
throw new Error("Unexpected algorithm or key size");
}
try {
const wrappingKey = await webCrypto$6.importKey("raw", key, { name: "AES-KW" }, false, ["wrapKey"]);
const keyToWrap = await webCrypto$6.importKey("raw", dataToWrap, { name: "HMAC", hash: "SHA-256" }, true, ["sign"]);
const wrapped = await webCrypto$6.wrapKey("raw", keyToWrap, wrappingKey, { name: "AES-KW" });
return new Uint8Array(wrapped);
} catch (err2) {
if (err2.name !== "NotSupportedError" && !(key.length === 24 && err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support operation: " + err2.message);
}
return aeskw(key).encrypt(dataToWrap);
}
async function unwrap(algo, key, wrappedData) {
const { keySize } = getCipherParams(algo);
if (!util11.isAES(algo) || key.length !== keySize) {
throw new Error("Unexpected algorithm or key size");
}
let wrappingKey;
try {
wrappingKey = await webCrypto$6.importKey("raw", key, { name: "AES-KW" }, false, ["unwrapKey"]);
} catch (err2) {
if (err2.name !== "NotSupportedError" && !(key.length === 24 && err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support operation: " + err2.message);
return aeskw(key).decrypt(wrappedData);
}
try {
const unwrapped = await webCrypto$6.unwrapKey("raw", wrappedData, wrappingKey, { name: "AES-KW" }, { name: "HMAC", hash: "SHA-256" }, true, ["sign"]);
return new Uint8Array(await webCrypto$6.exportKey("raw", unwrapped));
} catch (err2) {
if (err2.name === "OperationError") {
throw new Error("Key Data Integrity failed");
}
throw err2;
}
}
async function computeHKDF(hashAlgo, inputKey, salt, info, outLen) {
const webCrypto2 = util11.getWebCrypto();
const hash2 = enums.read(enums.webHash, hashAlgo);
if (!hash2)
throw new Error("Hash algo not supported with HKDF");
const importedKey = await webCrypto2.importKey("raw", inputKey, "HKDF", false, ["deriveBits"]);
const bits2 = await webCrypto2.deriveBits({ name: "HKDF", hash: hash2, salt, info }, importedKey, outLen * 8);
return new Uint8Array(bits2);
}
async function generate$2(algo) {
switch (algo) {
case enums.publicKey.x25519:
try {
const webCrypto2 = util11.getWebCrypto();
const webCryptoKey = await webCrypto2.generateKey("X25519", true, ["deriveKey", "deriveBits"]).catch((err2) => {
if (err2.name === "OperationError") {
const newErr = new Error("Unexpected key generation issue");
newErr.name = "NotSupportedError";
throw newErr;
}
throw err2;
});
const privateKey = await webCrypto2.exportKey("jwk", webCryptoKey.privateKey);
const publicKey = await webCrypto2.exportKey("jwk", webCryptoKey.publicKey);
if (privateKey.x !== publicKey.x) {
const err2 = new Error("Unexpected mismatching public point");
err2.name = "NotSupportedError";
throw err2;
}
return {
A: new Uint8Array(b64ToUint8Array(publicKey.x)),
k: b64ToUint8Array(privateKey.d)
};
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: x25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const { secretKey: k2, publicKey: A2 } = x25519.box.keyPair();
return { A: A2, k: k2 };
}
case enums.publicKey.x448: {
const x4482 = await util11.getNobleCurve(enums.publicKey.x448);
const { secretKey: k2, publicKey: A2 } = x4482.keygen();
return { A: A2, k: k2 };
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
async function validateParams$6(algo, A2, k2) {
switch (algo) {
case enums.publicKey.x25519:
try {
const { ephemeralPublicKey, sharedSecret } = await generateEphemeralEncryptionMaterial(algo, A2);
const recomputedSharedSecret = await recomputeSharedSecret(algo, ephemeralPublicKey, A2, k2);
return util11.equalsUint8Array(sharedSecret, recomputedSharedSecret);
} catch {
return false;
}
case enums.publicKey.x448: {
const x4482 = await util11.getNobleCurve(enums.publicKey.x448);
const publicKey = x4482.getPublicKey(k2);
return util11.equalsUint8Array(A2, publicKey);
}
default:
return false;
}
}
async function encrypt$3(algo, data, recipientA) {
const { ephemeralPublicKey, sharedSecret } = await generateEphemeralEncryptionMaterial(algo, recipientA);
const hkdfInput = util11.concatUint8Array([
ephemeralPublicKey,
recipientA,
sharedSecret
]);
switch (algo) {
case enums.publicKey.x25519: {
const cipherAlgo = enums.symmetric.aes128;
const { keySize } = getCipherParams(cipherAlgo);
const encryptionKey = await computeHKDF(enums.hash.sha256, hkdfInput, new Uint8Array(), HKDF_INFO.x25519, keySize);
const wrappedKey = await wrap(cipherAlgo, encryptionKey, data);
return { ephemeralPublicKey, wrappedKey };
}
case enums.publicKey.x448: {
const cipherAlgo = enums.symmetric.aes256;
const { keySize } = getCipherParams(enums.symmetric.aes256);
const encryptionKey = await computeHKDF(enums.hash.sha512, hkdfInput, new Uint8Array(), HKDF_INFO.x448, keySize);
const wrappedKey = await wrap(cipherAlgo, encryptionKey, data);
return { ephemeralPublicKey, wrappedKey };
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
async function decrypt$3(algo, ephemeralPublicKey, wrappedKey, A2, k2) {
const sharedSecret = await recomputeSharedSecret(algo, ephemeralPublicKey, A2, k2);
const hkdfInput = util11.concatUint8Array([
ephemeralPublicKey,
A2,
sharedSecret
]);
switch (algo) {
case enums.publicKey.x25519: {
const cipherAlgo = enums.symmetric.aes128;
const { keySize } = getCipherParams(cipherAlgo);
const encryptionKey = await computeHKDF(enums.hash.sha256, hkdfInput, new Uint8Array(), HKDF_INFO.x25519, keySize);
return unwrap(cipherAlgo, encryptionKey, wrappedKey);
}
case enums.publicKey.x448: {
const cipherAlgo = enums.symmetric.aes256;
const { keySize } = getCipherParams(enums.symmetric.aes256);
const encryptionKey = await computeHKDF(enums.hash.sha512, hkdfInput, new Uint8Array(), HKDF_INFO.x448, keySize);
return unwrap(cipherAlgo, encryptionKey, wrappedKey);
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
function getPayloadSize(algo) {
switch (algo) {
case enums.publicKey.x25519:
return 32;
case enums.publicKey.x448:
return 56;
default:
throw new Error("Unsupported ECDH algorithm");
}
}
async function generateEphemeralEncryptionMaterial(algo, recipientA) {
switch (algo) {
case enums.publicKey.x25519:
try {
const webCrypto2 = util11.getWebCrypto();
const ephemeralKeyPair = await webCrypto2.generateKey("X25519", true, ["deriveKey", "deriveBits"]).catch((err2) => {
if (err2.name === "OperationError") {
const newErr = new Error("Unexpected key generation issue");
newErr.name = "NotSupportedError";
throw newErr;
}
throw err2;
});
const ephemeralPublicKeyJwt = await webCrypto2.exportKey("jwk", ephemeralKeyPair.publicKey);
const ephemeralPrivateKeyJwt = await webCrypto2.exportKey("jwk", ephemeralKeyPair.privateKey);
if (ephemeralPrivateKeyJwt.x !== ephemeralPublicKeyJwt.x) {
const err2 = new Error("Unexpected mismatching public point");
err2.name = "NotSupportedError";
throw err2;
}
const jwk = publicKeyToJWK(algo, recipientA);
const recipientPublicKey = await webCrypto2.importKey("jwk", jwk, "X25519", false, []);
const sharedSecretBuffer = await webCrypto2.deriveBits(
{ name: "X25519", public: recipientPublicKey },
ephemeralKeyPair.privateKey,
getPayloadSize(algo) * 8
// in bits
);
return {
sharedSecret: new Uint8Array(sharedSecretBuffer),
ephemeralPublicKey: new Uint8Array(b64ToUint8Array(ephemeralPublicKeyJwt.x))
};
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: x25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const { secretKey: ephemeralSecretKey, publicKey: ephemeralPublicKey } = x25519.box.keyPair();
const sharedSecret = x25519.scalarMult(ephemeralSecretKey, recipientA);
assertNonZeroArray(sharedSecret);
return { ephemeralPublicKey, sharedSecret };
}
case enums.publicKey.x448: {
const x4482 = await util11.getNobleCurve(enums.publicKey.x448);
const { secretKey: ephemeralSecretKey, publicKey: ephemeralPublicKey } = x4482.keygen();
const sharedSecret = x4482.getSharedSecret(ephemeralSecretKey, recipientA);
assertNonZeroArray(sharedSecret);
return { ephemeralPublicKey, sharedSecret };
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
async function recomputeSharedSecret(algo, ephemeralPublicKey, A2, k2) {
switch (algo) {
case enums.publicKey.x25519:
try {
const webCrypto2 = util11.getWebCrypto();
const privateKeyJWK = privateKeyToJWK(algo, A2, k2);
const ephemeralPublicKeyJWK = publicKeyToJWK(algo, ephemeralPublicKey);
const privateKey = await webCrypto2.importKey("jwk", privateKeyJWK, "X25519", false, ["deriveKey", "deriveBits"]);
const ephemeralPublicKeyReference = await webCrypto2.importKey("jwk", ephemeralPublicKeyJWK, "X25519", false, []);
const sharedSecretBuffer = await webCrypto2.deriveBits(
{ name: "X25519", public: ephemeralPublicKeyReference },
privateKey,
getPayloadSize(algo) * 8
// in bits
);
return new Uint8Array(sharedSecretBuffer);
} catch (err2) {
if (err2.name !== "NotSupportedError") {
throw err2;
}
const { default: x25519 } = await Promise.resolve().then(function() {
return naclFast;
});
const sharedSecret = x25519.scalarMult(k2, ephemeralPublicKey);
assertNonZeroArray(sharedSecret);
return sharedSecret;
}
case enums.publicKey.x448: {
const x4482 = await util11.getNobleCurve(enums.publicKey.x448);
const sharedSecret = x4482.getSharedSecret(k2, ephemeralPublicKey);
assertNonZeroArray(sharedSecret);
return sharedSecret;
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
function assertNonZeroArray(sharedSecret) {
let acc = 0;
for (let i4 = 0; i4 < sharedSecret.length; i4++) {
acc |= sharedSecret[i4];
}
if (acc === 0) {
throw new Error("Unexpected low order point");
}
}
function publicKeyToJWK(algo, publicKey) {
switch (algo) {
case enums.publicKey.x25519: {
const jwk = {
kty: "OKP",
crv: "X25519",
x: uint8ArrayToB64(publicKey),
ext: true
};
return jwk;
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
function privateKeyToJWK(algo, publicKey, privateKey) {
switch (algo) {
case enums.publicKey.x25519: {
const jwk = publicKeyToJWK(algo, publicKey);
jwk.d = uint8ArrayToB64(privateKey);
return jwk;
}
default:
throw new Error("Unsupported ECDH algorithm");
}
}
async function generate$1(curveName) {
const curve = new CurveWithOID(curveName);
const { oid, hash: hash2, cipher } = curve;
const keyPair = await curve.genKeyPair();
return {
oid,
Q: keyPair.publicKey,
secret: util11.leftPad(keyPair.privateKey, curve.payloadSize),
hash: hash2,
cipher
};
}
function getPreferredHashAlgo$1(oid) {
return curves[oid.getName()].hash;
}
async function validateStandardParams(algo, oid, Q, d3) {
const supportedCurves = {
[enums.curve.nistP256]: true,
[enums.curve.nistP384]: true,
[enums.curve.nistP521]: true,
[enums.curve.secp256k1]: true,
[enums.curve.curve25519Legacy]: algo === enums.publicKey.ecdh,
[enums.curve.brainpoolP256r1]: true,
[enums.curve.brainpoolP384r1]: true,
[enums.curve.brainpoolP512r1]: true
};
const curveName = oid.getName();
if (!supportedCurves[curveName]) {
return false;
}
if (curveName === enums.curve.curve25519Legacy) {
const dLittleEndian = d3.slice().reverse();
if (Q.length < 1 || Q[0] !== 64) {
return false;
}
return validateParams$6(enums.publicKey.x25519, Q.subarray(1), dLittleEndian);
}
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdsa, curveName);
const dG = nobleCurve.getPublicKey(d3, false);
if (!util11.equalsUint8Array(dG, Q)) {
return false;
}
return true;
}
function checkPublicPointEnconding(curve, V) {
const { payloadSize, wireFormatLeadingByte, name: curveName } = curve;
const pointSize = curveName === enums.curve.curve25519Legacy || curveName === enums.curve.ed25519Legacy ? payloadSize : payloadSize * 2;
if (V[0] !== wireFormatLeadingByte || V.length !== pointSize + 1) {
throw new Error("Invalid point encoding");
}
}
async function jsGenKeyPair(name) {
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdsa, name);
const { secretKey: privateKey } = nobleCurve.keygen();
const publicKey = nobleCurve.getPublicKey(privateKey, false);
return { publicKey, privateKey };
}
async function webGenKeyPair(name, wireFormatLeadingByte) {
const webCryptoKey = await webCrypto$5.generateKey({ name: "ECDSA", namedCurve: webCurves[name] }, true, ["sign", "verify"]);
const privateKey = await webCrypto$5.exportKey("jwk", webCryptoKey.privateKey);
const publicKey = await webCrypto$5.exportKey("jwk", webCryptoKey.publicKey);
return {
publicKey: jwkToRawPublic(publicKey, wireFormatLeadingByte),
privateKey: b64ToUint8Array(privateKey.d)
};
}
function nodeGenKeyPair(name) {
const ecdh2 = nodeCrypto$5.createECDH(nodeCurves[name]);
ecdh2.generateKeys();
return {
publicKey: new Uint8Array(ecdh2.getPublicKey()),
privateKey: new Uint8Array(ecdh2.getPrivateKey())
};
}
function jwkToRawPublic(jwk, wireFormatLeadingByte) {
const bufX = b64ToUint8Array(jwk.x);
const bufY = b64ToUint8Array(jwk.y);
const publicKey = new Uint8Array(bufX.length + bufY.length + 1);
publicKey[0] = wireFormatLeadingByte;
publicKey.set(bufX, 1);
publicKey.set(bufY, bufX.length + 1);
return publicKey;
}
function rawPublicToJWK(payloadSize, name, publicKey) {
const len = payloadSize;
const bufX = publicKey.slice(1, len + 1);
const bufY = publicKey.slice(len + 1, len * 2 + 1);
const jwk = {
kty: "EC",
crv: name,
x: uint8ArrayToB64(bufX),
y: uint8ArrayToB64(bufY),
ext: true
};
return jwk;
}
function privateToJWK(payloadSize, name, publicKey, privateKey) {
const jwk = rawPublicToJWK(payloadSize, name, publicKey);
jwk.d = uint8ArrayToB64(privateKey);
return jwk;
}
async function sign$4(oid, hashAlgo, message, publicKey, privateKey, hashed) {
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, publicKey);
if (message && !util11.isStream(message)) {
const keyPair = { publicKey, privateKey };
switch (curve.type) {
case "web":
try {
return await webSign(curve, hashAlgo, message, keyPair);
} catch (err2) {
if (curve.name !== "nistP521" && (err2.name === "DataError" || err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support signing: " + err2.message);
}
break;
case "node":
return nodeSign(curve, hashAlgo, message, privateKey);
}
}
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdsa, curve.name);
const signature = nobleCurve.sign(hashed, privateKey, { lowS: false });
return {
r: bigIntToUint8Array(signature.r, "be", curve.payloadSize),
s: bigIntToUint8Array(signature.s, "be", curve.payloadSize)
};
}
async function verify$4(oid, hashAlgo, signature, message, publicKey, hashed) {
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, publicKey);
const tryFallbackVerificationForOldBug = async () => hashed[0] === 0 ? jsVerify(curve, signature, hashed.subarray(1), publicKey) : false;
if (message && !util11.isStream(message)) {
switch (curve.type) {
case "web":
try {
const verified3 = await webVerify(curve, hashAlgo, signature, message, publicKey);
return verified3 || tryFallbackVerificationForOldBug();
} catch (err2) {
if (curve.name !== "nistP521" && (err2.name === "DataError" || err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support verifying: " + err2.message);
}
break;
case "node": {
const verified3 = nodeVerify(curve, hashAlgo, signature, message, publicKey);
return verified3 || tryFallbackVerificationForOldBug();
}
}
}
const verified2 = await jsVerify(curve, signature, hashed, publicKey);
return verified2 || tryFallbackVerificationForOldBug();
}
async function validateParams$5(oid, Q, d3) {
const curve = new CurveWithOID(oid);
if (curve.keyType !== enums.publicKey.ecdsa) {
return false;
}
switch (curve.type) {
case "web":
case "node": {
const message = getRandomBytes(8);
const hashAlgo = enums.hash.sha256;
const hashed = await computeDigest(hashAlgo, message);
try {
const signature = await sign$4(oid, hashAlgo, message, Q, d3, hashed);
return await verify$4(oid, hashAlgo, signature, message, Q, hashed);
} catch {
return false;
}
}
default:
return validateStandardParams(enums.publicKey.ecdsa, oid, Q, d3);
}
}
async function jsVerify(curve, signature, hashed, publicKey) {
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdsa, curve.name);
return nobleCurve.verify(util11.concatUint8Array([signature.r, signature.s]), hashed, publicKey, { lowS: false });
}
async function webSign(curve, hashAlgo, message, keyPair) {
const len = curve.payloadSize;
const jwk = privateToJWK(curve.payloadSize, webCurves[curve.name], keyPair.publicKey, keyPair.privateKey);
const key = await webCrypto$4.importKey("jwk", jwk, {
"name": "ECDSA",
"namedCurve": webCurves[curve.name],
"hash": { name: enums.read(enums.webHash, curve.hash) }
}, false, ["sign"]);
const signature = new Uint8Array(await webCrypto$4.sign({
"name": "ECDSA",
"namedCurve": webCurves[curve.name],
"hash": { name: enums.read(enums.webHash, hashAlgo) }
}, key, message));
return {
r: signature.slice(0, len),
s: signature.slice(len, len << 1)
};
}
async function webVerify(curve, hashAlgo, { r, s }, message, publicKey) {
const jwk = rawPublicToJWK(curve.payloadSize, webCurves[curve.name], publicKey);
const key = await webCrypto$4.importKey("jwk", jwk, {
"name": "ECDSA",
"namedCurve": webCurves[curve.name],
"hash": { name: enums.read(enums.webHash, curve.hash) }
}, false, ["verify"]);
const signature = util11.concatUint8Array([r, s]).buffer;
return webCrypto$4.verify({
"name": "ECDSA",
"namedCurve": webCurves[curve.name],
"hash": { name: enums.read(enums.webHash, hashAlgo) }
}, key, signature, message);
}
function nodeSign(curve, hashAlgo, message, privateKey) {
const ecKeyUtils = util11.nodeRequire("eckey-utils");
const nodeBuffer = util11.getNodeBuffer();
const { privateKey: derPrivateKey } = ecKeyUtils.generateDer({
curveName: nodeCurves[curve.name],
privateKey: nodeBuffer.from(privateKey)
});
const sign = nodeCrypto$4.createSign(enums.read(enums.hash, hashAlgo));
sign.write(message);
sign.end();
const signature = new Uint8Array(sign.sign({ key: derPrivateKey, format: "der", type: "sec1", dsaEncoding: "ieee-p1363" }));
const len = curve.payloadSize;
return {
r: signature.subarray(0, len),
s: signature.subarray(len, len << 1)
};
}
function nodeVerify(curve, hashAlgo, { r, s }, message, publicKey) {
const ecKeyUtils = util11.nodeRequire("eckey-utils");
const nodeBuffer = util11.getNodeBuffer();
const { publicKey: derPublicKey } = ecKeyUtils.generateDer({
curveName: nodeCurves[curve.name],
publicKey: nodeBuffer.from(publicKey)
});
const verify = nodeCrypto$4.createVerify(enums.read(enums.hash, hashAlgo));
verify.write(message);
verify.end();
const signature = util11.concatUint8Array([r, s]);
try {
return verify.verify({ key: derPublicKey, format: "der", type: "spki", dsaEncoding: "ieee-p1363" }, signature);
} catch {
return false;
}
}
async function sign$3(oid, hashAlgo, message, publicKey, privateKey, hashed) {
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, publicKey);
if (getHashByteLength(hashAlgo) < getHashByteLength(enums.hash.sha256)) {
throw new Error("Hash algorithm too weak for EdDSA.");
}
const { RS: signature } = await sign$5(enums.publicKey.ed25519, hashAlgo, message, publicKey.subarray(1), privateKey, hashed);
return {
r: signature.subarray(0, 32),
s: signature.subarray(32)
};
}
async function verify$3(oid, hashAlgo, { r, s }, m, publicKey, hashed) {
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, publicKey);
if (getHashByteLength(hashAlgo) < getHashByteLength(enums.hash.sha256)) {
throw new Error("Hash algorithm too weak for EdDSA.");
}
const RS = util11.concatUint8Array([r, s]);
return verify$5(enums.publicKey.ed25519, hashAlgo, { RS }, m, publicKey.subarray(1), hashed);
}
async function validateParams$4(oid, Q, k2) {
if (oid.getName() !== enums.curve.ed25519Legacy) {
return false;
}
if (Q.length < 1 || Q[0] !== 64) {
return false;
}
return validateParams$7(enums.publicKey.ed25519, Q.subarray(1), k2);
}
function encode2(message) {
const c3 = 8 - message.length % 8;
const padded = new Uint8Array(message.length + c3).fill(c3);
padded.set(message);
return padded;
}
function decode2(message) {
const len = message.length;
if (len > 0) {
const c3 = message[len - 1];
if (c3 >= 1) {
const provided = message.subarray(len - c3);
const computed = new Uint8Array(c3).fill(c3);
if (util11.equalsUint8Array(provided, computed)) {
return message.subarray(0, len - c3);
}
}
}
throw new Error("Invalid padding");
}
async function validateParams$3(oid, Q, d3) {
return validateStandardParams(enums.publicKey.ecdh, oid, Q, d3);
}
function buildEcdhParam(public_algo, oid, kdfParams, fingerprint) {
return util11.concatUint8Array([
oid.write(),
new Uint8Array([public_algo]),
kdfParams.write(),
util11.stringToUint8Array("Anonymous Sender "),
fingerprint
]);
}
async function kdf(hashAlgo, X2, length, param, stripLeading = false, stripTrailing = false) {
let i4;
if (stripLeading) {
for (i4 = 0; i4 < X2.length && X2[i4] === 0; i4++)
;
X2 = X2.subarray(i4);
}
if (stripTrailing) {
for (i4 = X2.length - 1; i4 >= 0 && X2[i4] === 0; i4--)
;
X2 = X2.subarray(0, i4 + 1);
}
const digest = await computeDigest(hashAlgo, util11.concatUint8Array([
new Uint8Array([0, 0, 0, 1]),
X2,
param
]));
return digest.subarray(0, length);
}
async function genPublicEphemeralKey(curve, Q) {
switch (curve.type) {
case "curve25519Legacy": {
const { sharedSecret: sharedKey, ephemeralPublicKey } = await generateEphemeralEncryptionMaterial(enums.publicKey.x25519, Q.subarray(1));
const publicKey = util11.concatUint8Array([new Uint8Array([curve.wireFormatLeadingByte]), ephemeralPublicKey]);
return { publicKey, sharedKey };
}
case "web":
if (curve.web && util11.getWebCrypto()) {
try {
return await webPublicEphemeralKey(curve, Q);
} catch (err2) {
util11.printDebugError(err2);
return jsPublicEphemeralKey(curve, Q);
}
}
break;
case "node":
return nodePublicEphemeralKey(curve, Q);
default:
return jsPublicEphemeralKey(curve, Q);
}
}
async function encrypt$2(oid, kdfParams, data, Q, fingerprint) {
const m = encode2(data);
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, Q);
const { publicKey, sharedKey } = await genPublicEphemeralKey(curve, Q);
const param = buildEcdhParam(enums.publicKey.ecdh, oid, kdfParams, fingerprint);
const { keySize } = getCipherParams(kdfParams.cipher);
const Z2 = await kdf(kdfParams.hash, sharedKey, keySize, param);
const wrappedKey = await wrap(kdfParams.cipher, Z2, m);
return { publicKey, wrappedKey };
}
async function genPrivateEphemeralKey(curve, V, Q, d3) {
if (d3.length !== curve.payloadSize) {
const privateKey = new Uint8Array(curve.payloadSize);
privateKey.set(d3, curve.payloadSize - d3.length);
d3 = privateKey;
}
switch (curve.type) {
case "curve25519Legacy": {
const secretKey = d3.slice().reverse();
const sharedKey = await recomputeSharedSecret(enums.publicKey.x25519, V.subarray(1), Q.subarray(1), secretKey);
return { secretKey, sharedKey };
}
case "web":
if (curve.web && util11.getWebCrypto()) {
try {
return await webPrivateEphemeralKey(curve, V, Q, d3);
} catch (err2) {
util11.printDebugError(err2);
return jsPrivateEphemeralKey(curve, V, d3);
}
}
break;
case "node":
return nodePrivateEphemeralKey(curve, V, d3);
default:
return jsPrivateEphemeralKey(curve, V, d3);
}
}
async function decrypt$2(oid, kdfParams, V, C, Q, d3, fingerprint) {
const curve = new CurveWithOID(oid);
checkPublicPointEnconding(curve, Q);
checkPublicPointEnconding(curve, V);
const { sharedKey } = await genPrivateEphemeralKey(curve, V, Q, d3);
const param = buildEcdhParam(enums.publicKey.ecdh, oid, kdfParams, fingerprint);
const { keySize } = getCipherParams(kdfParams.cipher);
let err2;
for (let i4 = 0; i4 < 3; i4++) {
try {
const Z2 = await kdf(kdfParams.hash, sharedKey, keySize, param, i4 === 1, i4 === 2);
return decode2(await unwrap(kdfParams.cipher, Z2, C));
} catch (e) {
err2 = e;
}
}
throw err2;
}
async function jsPrivateEphemeralKey(curve, V, d3) {
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdh, curve.name);
const sharedSecretWithParity = nobleCurve.getSharedSecret(d3, V);
const sharedKey = sharedSecretWithParity.subarray(1);
return { secretKey: d3, sharedKey };
}
async function jsPublicEphemeralKey(curve, Q) {
const nobleCurve = await util11.getNobleCurve(enums.publicKey.ecdh, curve.name);
const { publicKey: V, privateKey: v } = await curve.genKeyPair();
const sharedSecretWithParity = nobleCurve.getSharedSecret(v, Q);
const sharedKey = sharedSecretWithParity.subarray(1);
return { publicKey: V, sharedKey };
}
async function webPrivateEphemeralKey(curve, V, Q, d3) {
const webCrypto2 = util11.getWebCrypto();
const recipient = privateToJWK(curve.payloadSize, curve.web, Q, d3);
let privateKey = webCrypto2.importKey("jwk", recipient, {
name: "ECDH",
namedCurve: curve.web
}, true, ["deriveKey", "deriveBits"]);
const jwk = rawPublicToJWK(curve.payloadSize, curve.web, V);
let sender = webCrypto2.importKey("jwk", jwk, {
name: "ECDH",
namedCurve: curve.web
}, true, []);
[privateKey, sender] = await Promise.all([privateKey, sender]);
let S3 = webCrypto2.deriveBits({
name: "ECDH",
namedCurve: curve.web,
public: sender
}, privateKey, curve.sharedSize);
let secret = webCrypto2.exportKey("jwk", privateKey);
[S3, secret] = await Promise.all([S3, secret]);
const sharedKey = new Uint8Array(S3);
const secretKey = b64ToUint8Array(secret.d);
return { secretKey, sharedKey };
}
async function webPublicEphemeralKey(curve, Q) {
const webCrypto2 = util11.getWebCrypto();
const jwk = rawPublicToJWK(curve.payloadSize, curve.web, Q);
let keyPair = webCrypto2.generateKey({
name: "ECDH",
namedCurve: curve.web
}, true, ["deriveKey", "deriveBits"]);
let recipient = webCrypto2.importKey("jwk", jwk, {
name: "ECDH",
namedCurve: curve.web
}, false, []);
[keyPair, recipient] = await Promise.all([keyPair, recipient]);
let s = webCrypto2.deriveBits({
name: "ECDH",
namedCurve: curve.web,
public: recipient
}, keyPair.privateKey, curve.sharedSize);
let p = webCrypto2.exportKey("jwk", keyPair.publicKey);
[s, p] = await Promise.all([s, p]);
const sharedKey = new Uint8Array(s);
const publicKey = new Uint8Array(jwkToRawPublic(p, curve.wireFormatLeadingByte));
return { publicKey, sharedKey };
}
function nodePrivateEphemeralKey(curve, V, d3) {
const nodeCrypto2 = util11.getNodeCrypto();
const recipient = nodeCrypto2.createECDH(curve.node);
recipient.setPrivateKey(d3);
const sharedKey = new Uint8Array(recipient.computeSecret(V));
const secretKey = new Uint8Array(recipient.getPrivateKey());
return { secretKey, sharedKey };
}
function nodePublicEphemeralKey(curve, Q) {
const nodeCrypto2 = util11.getNodeCrypto();
const sender = nodeCrypto2.createECDH(curve.node);
sender.generateKeys();
const sharedKey = new Uint8Array(sender.computeSecret(Q));
const publicKey = new Uint8Array(sender.getPublicKey());
return { publicKey, sharedKey };
}
async function sign$2(hashAlgo, hashed, g, p, q, x3) {
const _0n2 = BigInt(0);
p = uint8ArrayToBigInt(p);
q = uint8ArrayToBigInt(q);
g = uint8ArrayToBigInt(g);
x3 = uint8ArrayToBigInt(x3);
let k2;
let r;
let s;
let t2;
g = mod$1(g, p);
x3 = mod$1(x3, q);
const h2 = mod$1(uint8ArrayToBigInt(hashed.subarray(0, byteLength(q))), q);
while (true) {
k2 = getRandomBigInteger(_1n$8, q);
r = mod$1(modExp(g, k2, p), q);
if (r === _0n2) {
continue;
}
const xr = mod$1(x3 * r, q);
t2 = mod$1(h2 + xr, q);
s = mod$1(modInv(k2, q) * t2, q);
if (s === _0n2) {
continue;
}
break;
}
return {
r: bigIntToUint8Array(r, "be", byteLength(p)),
s: bigIntToUint8Array(s, "be", byteLength(p))
};
}
async function verify$2(hashAlgo, r, s, hashed, g, p, q, y) {
r = uint8ArrayToBigInt(r);
s = uint8ArrayToBigInt(s);
p = uint8ArrayToBigInt(p);
q = uint8ArrayToBigInt(q);
g = uint8ArrayToBigInt(g);
y = uint8ArrayToBigInt(y);
if (r <= _0n$7 || r >= q || s <= _0n$7 || s >= q) {
util11.printDebug("invalid DSA Signature");
return false;
}
const h2 = mod$1(uint8ArrayToBigInt(hashed.subarray(0, byteLength(q))), q);
const w = modInv(s, q);
if (w === _0n$7) {
util11.printDebug("invalid DSA Signature");
return false;
}
g = mod$1(g, p);
y = mod$1(y, p);
const u1 = mod$1(h2 * w, q);
const u2 = mod$1(r * w, q);
const t1 = modExp(g, u1, p);
const t2 = modExp(y, u2, p);
const v = mod$1(mod$1(t1 * t2, p), q);
return v === r;
}
async function validateParams$2(pBytes, qBytes, gBytes, yBytes, xBytes) {
const p = uint8ArrayToBigInt(pBytes);
const q = uint8ArrayToBigInt(qBytes);
const g = uint8ArrayToBigInt(gBytes);
const y = uint8ArrayToBigInt(yBytes);
if (g <= _1n$8 || g >= p) {
return false;
}
if (mod$1(p - _1n$8, q) !== _0n$7) {
return false;
}
if (modExp(g, q, p) !== _1n$8) {
return false;
}
const qSize = BigInt(bitLength(q));
const _150n = BigInt(150);
if (qSize < _150n || !isProbablePrime(q, null, 32)) {
return false;
}
const x3 = uint8ArrayToBigInt(xBytes);
const _2n2 = BigInt(2);
const r = getRandomBigInteger(_2n2 << qSize - _1n$8, _2n2 << qSize);
const rqx = q * r + x3;
if (y !== modExp(g, rqx, p)) {
return false;
}
return true;
}
async function publicKeyEncrypt(keyAlgo, symmetricAlgo, publicParams, data, fingerprint) {
switch (keyAlgo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign: {
const { n: n2, e } = publicParams;
const c3 = await encrypt$6(data, n2, e);
return { c: c3 };
}
case enums.publicKey.elgamal: {
const { p, g, y } = publicParams;
return encrypt$5(data, p, g, y);
}
case enums.publicKey.ecdh: {
const { oid, Q, kdfParams } = publicParams;
const { publicKey: V, wrappedKey: C } = await encrypt$2(oid, kdfParams, data, Q, fingerprint);
return { V, C: new ECDHSymmetricKey(C) };
}
case enums.publicKey.x25519:
case enums.publicKey.x448: {
if (symmetricAlgo && !util11.isAES(symmetricAlgo)) {
throw new Error("X25519 and X448 keys can only encrypt AES session keys");
}
const { A: A2 } = publicParams;
const { ephemeralPublicKey, wrappedKey } = await encrypt$3(keyAlgo, data, A2);
const C = ECDHXSymmetricKey.fromObject({ algorithm: symmetricAlgo, wrappedKey });
return { ephemeralPublicKey, C };
}
default:
return [];
}
}
async function publicKeyDecrypt(algo, publicKeyParams, privateKeyParams, sessionKeyParams, fingerprint, randomPayload) {
switch (algo) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt: {
const { c: c3 } = sessionKeyParams;
const { n: n2, e } = publicKeyParams;
const { d: d3, p, q, u: u2 } = privateKeyParams;
return decrypt$6(c3, n2, e, d3, p, q, u2, randomPayload);
}
case enums.publicKey.elgamal: {
const { c1, c2: c22 } = sessionKeyParams;
const p = publicKeyParams.p;
const x3 = privateKeyParams.x;
return decrypt$5(c1, c22, p, x3, randomPayload);
}
case enums.publicKey.ecdh: {
const { oid, Q, kdfParams } = publicKeyParams;
const { d: d3 } = privateKeyParams;
const { V, C } = sessionKeyParams;
return decrypt$2(oid, kdfParams, V, C.data, Q, d3, fingerprint);
}
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const { A: A2 } = publicKeyParams;
const { k: k2 } = privateKeyParams;
const { ephemeralPublicKey, C } = sessionKeyParams;
if (C.algorithm !== null && !util11.isAES(C.algorithm)) {
throw new Error("AES session key expected");
}
return decrypt$3(algo, ephemeralPublicKey, C.wrappedKey, A2, k2);
}
default:
throw new Error("Unknown public key encryption algorithm.");
}
}
function parsePublicKeyParams(algo, bytes) {
let read2 = 0;
switch (algo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign: {
const n2 = util11.readMPI(bytes.subarray(read2));
read2 += n2.length + 2;
const e = util11.readMPI(bytes.subarray(read2));
read2 += e.length + 2;
return { read: read2, publicParams: { n: n2, e } };
}
case enums.publicKey.dsa: {
const p = util11.readMPI(bytes.subarray(read2));
read2 += p.length + 2;
const q = util11.readMPI(bytes.subarray(read2));
read2 += q.length + 2;
const g = util11.readMPI(bytes.subarray(read2));
read2 += g.length + 2;
const y = util11.readMPI(bytes.subarray(read2));
read2 += y.length + 2;
return { read: read2, publicParams: { p, q, g, y } };
}
case enums.publicKey.elgamal: {
const p = util11.readMPI(bytes.subarray(read2));
read2 += p.length + 2;
const g = util11.readMPI(bytes.subarray(read2));
read2 += g.length + 2;
const y = util11.readMPI(bytes.subarray(read2));
read2 += y.length + 2;
return { read: read2, publicParams: { p, g, y } };
}
case enums.publicKey.ecdsa: {
const oid = new OID();
read2 += oid.read(bytes);
checkSupportedCurve(oid);
const Q = util11.readMPI(bytes.subarray(read2));
read2 += Q.length + 2;
return { read: read2, publicParams: { oid, Q } };
}
case enums.publicKey.eddsaLegacy: {
const oid = new OID();
read2 += oid.read(bytes);
checkSupportedCurve(oid);
if (oid.getName() !== enums.curve.ed25519Legacy) {
throw new Error("Unexpected OID for eddsaLegacy");
}
let Q = util11.readMPI(bytes.subarray(read2));
read2 += Q.length + 2;
Q = util11.leftPad(Q, 33);
return { read: read2, publicParams: { oid, Q } };
}
case enums.publicKey.ecdh: {
const oid = new OID();
read2 += oid.read(bytes);
checkSupportedCurve(oid);
const Q = util11.readMPI(bytes.subarray(read2));
read2 += Q.length + 2;
const kdfParams = new KDFParams();
read2 += kdfParams.read(bytes.subarray(read2));
return { read: read2, publicParams: { oid, Q, kdfParams } };
}
case enums.publicKey.ed25519:
case enums.publicKey.ed448:
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const A2 = util11.readExactSubarray(bytes, read2, read2 + getCurvePayloadSize(algo));
read2 += A2.length;
return { read: read2, publicParams: { A: A2 } };
}
default:
throw new UnsupportedError("Unknown public key encryption algorithm.");
}
}
function parsePrivateKeyParams(algo, bytes, publicParams) {
let read2 = 0;
switch (algo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign: {
const d3 = util11.readMPI(bytes.subarray(read2));
read2 += d3.length + 2;
const p = util11.readMPI(bytes.subarray(read2));
read2 += p.length + 2;
const q = util11.readMPI(bytes.subarray(read2));
read2 += q.length + 2;
const u2 = util11.readMPI(bytes.subarray(read2));
read2 += u2.length + 2;
return { read: read2, privateParams: { d: d3, p, q, u: u2 } };
}
case enums.publicKey.dsa:
case enums.publicKey.elgamal: {
const x3 = util11.readMPI(bytes.subarray(read2));
read2 += x3.length + 2;
return { read: read2, privateParams: { x: x3 } };
}
case enums.publicKey.ecdsa:
case enums.publicKey.ecdh: {
const payloadSize = getCurvePayloadSize(algo, publicParams.oid);
let d3 = util11.readMPI(bytes.subarray(read2));
read2 += d3.length + 2;
d3 = util11.leftPad(d3, payloadSize);
return { read: read2, privateParams: { d: d3 } };
}
case enums.publicKey.eddsaLegacy: {
const payloadSize = getCurvePayloadSize(algo, publicParams.oid);
if (publicParams.oid.getName() !== enums.curve.ed25519Legacy) {
throw new Error("Unexpected OID for eddsaLegacy");
}
let seed = util11.readMPI(bytes.subarray(read2));
read2 += seed.length + 2;
seed = util11.leftPad(seed, payloadSize);
return { read: read2, privateParams: { seed } };
}
case enums.publicKey.ed25519:
case enums.publicKey.ed448: {
const payloadSize = getCurvePayloadSize(algo);
const seed = util11.readExactSubarray(bytes, read2, read2 + payloadSize);
read2 += seed.length;
return { read: read2, privateParams: { seed } };
}
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const payloadSize = getCurvePayloadSize(algo);
const k2 = util11.readExactSubarray(bytes, read2, read2 + payloadSize);
read2 += k2.length;
return { read: read2, privateParams: { k: k2 } };
}
default:
throw new UnsupportedError("Unknown public key encryption algorithm.");
}
}
function parseEncSessionKeyParams(algo, bytes) {
let read2 = 0;
switch (algo) {
// Algorithm-Specific Fields for RSA encrypted session keys:
// - MPI of RSA encrypted value m**e mod n.
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign: {
const c3 = util11.readMPI(bytes.subarray(read2));
return { c: c3 };
}
// Algorithm-Specific Fields for Elgamal encrypted session keys:
// - MPI of Elgamal value g**k mod p
// - MPI of Elgamal value m * y**k mod p
case enums.publicKey.elgamal: {
const c1 = util11.readMPI(bytes.subarray(read2));
read2 += c1.length + 2;
const c22 = util11.readMPI(bytes.subarray(read2));
return { c1, c2: c22 };
}
// Algorithm-Specific Fields for ECDH encrypted session keys:
// - MPI containing the ephemeral key used to establish the shared secret
// - ECDH Symmetric Key
case enums.publicKey.ecdh: {
const V = util11.readMPI(bytes.subarray(read2));
read2 += V.length + 2;
const C = new ECDHSymmetricKey();
C.read(bytes.subarray(read2));
return { V, C };
}
// Algorithm-Specific Fields for X25519 or X448 encrypted session keys:
// - 32 octets representing an ephemeral X25519 public key (or 57 octets for X448).
// - A one-octet size of the following fields.
// - The one-octet algorithm identifier, if it was passed (in the case of a v3 PKESK packet).
// - The encrypted session key.
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const pointSize = getCurvePayloadSize(algo);
const ephemeralPublicKey = util11.readExactSubarray(bytes, read2, read2 + pointSize);
read2 += ephemeralPublicKey.length;
const C = new ECDHXSymmetricKey();
C.read(bytes.subarray(read2));
return { ephemeralPublicKey, C };
}
default:
throw new UnsupportedError("Unknown public key encryption algorithm.");
}
}
function serializeParams(algo, params) {
const algosWithNativeRepresentation = /* @__PURE__ */ new Set([
enums.publicKey.ed25519,
enums.publicKey.x25519,
enums.publicKey.ed448,
enums.publicKey.x448
]);
const orderedParams = Object.keys(params).map((name) => {
const param = params[name];
if (!util11.isUint8Array(param))
return param.write();
return algosWithNativeRepresentation.has(algo) ? param : util11.uint8ArrayToMPI(param);
});
return util11.concatUint8Array(orderedParams);
}
function generateParams(algo, bits2, oid) {
switch (algo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign:
return generate$4(bits2, 65537).then(({ n: n2, e, d: d3, p, q, u: u2 }) => ({
privateParams: { d: d3, p, q, u: u2 },
publicParams: { n: n2, e }
}));
case enums.publicKey.ecdsa:
return generate$1(oid).then(({ oid: oid2, Q, secret }) => ({
privateParams: { d: secret },
publicParams: { oid: new OID(oid2), Q }
}));
case enums.publicKey.eddsaLegacy:
return generate$1(oid).then(({ oid: oid2, Q, secret }) => ({
privateParams: { seed: secret },
publicParams: { oid: new OID(oid2), Q }
}));
case enums.publicKey.ecdh:
return generate$1(oid).then(({ oid: oid2, Q, secret, hash: hash2, cipher }) => ({
privateParams: { d: secret },
publicParams: {
oid: new OID(oid2),
Q,
kdfParams: new KDFParams({ hash: hash2, cipher })
}
}));
case enums.publicKey.ed25519:
case enums.publicKey.ed448:
return generate$3(algo).then(({ A: A2, seed }) => ({
privateParams: { seed },
publicParams: { A: A2 }
}));
case enums.publicKey.x25519:
case enums.publicKey.x448:
return generate$2(algo).then(({ A: A2, k: k2 }) => ({
privateParams: { k: k2 },
publicParams: { A: A2 }
}));
case enums.publicKey.dsa:
case enums.publicKey.elgamal:
throw new Error("Unsupported algorithm for key generation.");
default:
throw new Error("Unknown public key algorithm.");
}
}
async function validateParams$1(algo, publicParams, privateParams) {
if (!publicParams || !privateParams) {
throw new Error("Missing key parameters");
}
switch (algo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign: {
const { n: n2, e } = publicParams;
const { d: d3, p, q, u: u2 } = privateParams;
return validateParams$9(n2, e, d3, p, q, u2);
}
case enums.publicKey.dsa: {
const { p, q, g, y } = publicParams;
const { x: x3 } = privateParams;
return validateParams$2(p, q, g, y, x3);
}
case enums.publicKey.elgamal: {
const { p, g, y } = publicParams;
const { x: x3 } = privateParams;
return validateParams$8(p, g, y, x3);
}
case enums.publicKey.ecdsa:
case enums.publicKey.ecdh: {
const algoModule = elliptic[enums.read(enums.publicKey, algo)];
const { oid, Q } = publicParams;
const { d: d3 } = privateParams;
return algoModule.validateParams(oid, Q, d3);
}
case enums.publicKey.eddsaLegacy: {
const { Q, oid } = publicParams;
const { seed } = privateParams;
return validateParams$4(oid, Q, seed);
}
case enums.publicKey.ed25519:
case enums.publicKey.ed448: {
const { A: A2 } = publicParams;
const { seed } = privateParams;
return validateParams$7(algo, A2, seed);
}
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const { A: A2 } = publicParams;
const { k: k2 } = privateParams;
return validateParams$6(algo, A2, k2);
}
default:
throw new Error("Unknown public key algorithm.");
}
}
function generateSessionKey$1(algo) {
const { keySize } = getCipherParams(algo);
return getRandomBytes(keySize);
}
function checkSupportedCurve(oid) {
try {
oid.getName();
} catch {
throw new UnsupportedError("Unknown curve OID");
}
}
function getCurvePayloadSize(algo, oid) {
switch (algo) {
case enums.publicKey.ecdsa:
case enums.publicKey.ecdh:
case enums.publicKey.eddsaLegacy:
return new CurveWithOID(oid).payloadSize;
case enums.publicKey.ed25519:
case enums.publicKey.ed448:
return getPayloadSize$1(algo);
case enums.publicKey.x25519:
case enums.publicKey.x448:
return getPayloadSize(algo);
default:
throw new Error("Unknown elliptic algo");
}
}
function getPreferredCurveHashAlgo(algo, oid) {
switch (algo) {
case enums.publicKey.ecdsa:
case enums.publicKey.eddsaLegacy:
return getPreferredHashAlgo$1(oid);
case enums.publicKey.ed25519:
case enums.publicKey.ed448:
return getPreferredHashAlgo$2(algo);
default:
throw new Error("Unknown elliptic signing algo");
}
}
function getPrefixRandom(algo) {
const { blockSize } = getCipherParams(algo);
const prefixrandom = getRandomBytes(blockSize);
const repeat4 = new Uint8Array([prefixrandom[prefixrandom.length - 2], prefixrandom[prefixrandom.length - 1]]);
return util11.concat([prefixrandom, repeat4]);
}
async function encrypt$1(algo, key, plaintext, iv, config2) {
const algoName = enums.read(enums.symmetric, algo);
if (util11.getNodeCrypto() && nodeAlgos[algoName]) {
return nodeEncrypt(algo, key, plaintext, iv);
}
if (util11.isAES(algo)) {
return aesEncrypt(algo, key, plaintext, iv);
}
const LegacyCipher = await getLegacyCipher(algo);
const cipherfn = new LegacyCipher(key);
const block_size = cipherfn.blockSize;
const blockc = iv.slice();
let pt = new Uint8Array();
const process24 = (chunk) => {
if (chunk) {
pt = util11.concatUint8Array([pt, chunk]);
}
const ciphertext = new Uint8Array(pt.length);
let i4;
let j2 = 0;
while (chunk ? pt.length >= block_size : pt.length) {
const encblock = cipherfn.encrypt(blockc);
for (i4 = 0; i4 < block_size; i4++) {
blockc[i4] = pt[i4] ^ encblock[i4];
ciphertext[j2++] = blockc[i4];
}
pt = pt.subarray(block_size);
}
return ciphertext.subarray(0, j2);
};
return transform(plaintext, process24, process24);
}
async function decrypt$1(algo, key, ciphertext, iv) {
const algoName = enums.read(enums.symmetric, algo);
if (nodeCrypto$3 && nodeAlgos[algoName]) {
return nodeDecrypt(algo, key, ciphertext, iv);
}
if (util11.isAES(algo)) {
return aesDecrypt(algo, key, ciphertext, iv);
}
const LegacyCipher = await getLegacyCipher(algo);
const cipherfn = new LegacyCipher(key);
const block_size = cipherfn.blockSize;
let blockp = iv;
let ct = new Uint8Array();
const process24 = (chunk) => {
if (chunk) {
ct = util11.concatUint8Array([ct, chunk]);
}
const plaintext = new Uint8Array(ct.length);
let i4;
let j2 = 0;
while (chunk ? ct.length >= block_size : ct.length) {
const decblock = cipherfn.encrypt(blockp);
blockp = ct.subarray(0, block_size);
for (i4 = 0; i4 < block_size; i4++) {
plaintext[j2++] = blockp[i4] ^ decblock[i4];
}
ct = ct.subarray(block_size);
}
return plaintext.subarray(0, j2);
};
return transform(ciphertext, process24, process24);
}
async function aesEncrypt(algo, key, pt, iv) {
if (webCrypto$3 && await WebCryptoEncryptor.isSupported(algo)) {
const cfb2 = new WebCryptoEncryptor(algo, key, iv);
return util11.isStream(pt) ? transformAsync(pt, (value) => cfb2.encryptChunk(value), () => cfb2.finish()) : cfb2.encrypt(pt);
} else if (util11.isStream(pt)) {
const cfb2 = new NobleStreamProcessor(true, algo, key, iv);
return transformAsync(pt, (value) => cfb2.processChunk(value), () => cfb2.finish());
}
return cfb(key, iv).encrypt(pt);
}
function aesDecrypt(algo, key, ct, iv) {
if (util11.isStream(ct)) {
const cfb2 = new NobleStreamProcessor(false, algo, key, iv);
return transformAsync(ct, (value) => cfb2.processChunk(value), () => cfb2.finish());
}
return cfb(key, iv).decrypt(ct);
}
function xorMut$1(a2, b) {
const aLength = Math.min(a2.length, b.length);
for (let i4 = 0; i4 < aLength; i4++) {
a2[i4] = a2[i4] ^ b[i4];
}
}
function nodeEncrypt(algo, key, pt, iv) {
const algoName = enums.read(enums.symmetric, algo);
const cipherObj = new nodeCrypto$3.createCipheriv(nodeAlgos[algoName], key, iv);
return transform(pt, (value) => new Uint8Array(cipherObj.update(value)));
}
function nodeDecrypt(algo, key, ct, iv) {
const algoName = enums.read(enums.symmetric, algo);
const decipherObj = new nodeCrypto$3.createDecipheriv(nodeAlgos[algoName], key, iv);
return transform(ct, (value) => new Uint8Array(decipherObj.update(value)));
}
function rightXORMut(data, padding) {
const offset = data.length - blockLength$3;
for (let i4 = 0; i4 < blockLength$3; i4++) {
data[i4 + offset] ^= padding[i4];
}
return data;
}
function pad3(data, padding, padding2) {
if (data.length && data.length % blockLength$3 === 0) {
return rightXORMut(data, padding);
}
const padded = new Uint8Array(data.length + (blockLength$3 - data.length % blockLength$3));
padded.set(data);
padded[data.length] = 128;
return rightXORMut(padded, padding2);
}
async function CMAC(key) {
const cbc2 = await CBC(key);
const padding = util11.double(await cbc2(zeroBlock$1));
const padding2 = util11.double(padding);
return async function(data) {
return (await cbc2(pad3(data, padding, padding2))).subarray(-blockLength$3);
};
}
async function CBC(key) {
if (util11.getNodeCrypto()) {
return async function(pt) {
const en = new nodeCrypto$2.createCipheriv("aes-" + key.length * 8 + "-cbc", key, zeroBlock$1);
const ct = en.update(pt);
return new Uint8Array(ct);
};
}
if (util11.getWebCrypto()) {
try {
key = await webCrypto$2.importKey("raw", key, { name: "AES-CBC", length: key.length * 8 }, false, ["encrypt"]);
return async function(pt) {
const ct = await webCrypto$2.encrypt({ name: "AES-CBC", iv: zeroBlock$1, length: blockLength$3 * 8 }, key, pt);
return new Uint8Array(ct).subarray(0, ct.byteLength - blockLength$3);
};
} catch (err2) {
if (err2.name !== "NotSupportedError" && !(key.length === 24 && err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support operation: " + err2.message);
}
}
return async function(pt) {
return cbc(key, zeroBlock$1, { disablePadding: true }).encrypt(pt);
};
}
async function OMAC(key) {
const cmac = await CMAC(key);
return function(t2, message) {
return cmac(util11.concatUint8Array([t2, message]));
};
}
async function CTR(key) {
if (util11.getNodeCrypto()) {
return async function(pt, iv) {
const en = new nodeCrypto$1.createCipheriv("aes-" + key.length * 8 + "-ctr", key, iv);
const ct = Buffer$2.concat([en.update(pt), en.final()]);
return new Uint8Array(ct);
};
}
if (util11.getWebCrypto()) {
try {
const keyRef = await webCrypto$1.importKey("raw", key, { name: "AES-CTR", length: key.length * 8 }, false, ["encrypt"]);
return async function(pt, iv) {
const ct = await webCrypto$1.encrypt({ name: "AES-CTR", counter: iv, length: blockLength$2 * 8 }, keyRef, pt);
return new Uint8Array(ct);
};
} catch (err2) {
if (err2.name !== "NotSupportedError" && !(key.length === 24 && err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support operation: " + err2.message);
}
}
return async function(pt, iv) {
return ctr(key, iv).encrypt(pt);
};
}
async function EAX(cipher, key) {
if (cipher !== enums.symmetric.aes128 && cipher !== enums.symmetric.aes192 && cipher !== enums.symmetric.aes256) {
throw new Error("EAX mode supports only AES cipher");
}
const [omac, ctr2] = await Promise.all([
OMAC(key),
CTR(key)
]);
return {
/**
* Encrypt plaintext input.
* @param {Uint8Array} plaintext - The cleartext input to be encrypted
* @param {Uint8Array} nonce - The nonce (16 bytes)
* @param {Uint8Array} adata - Associated data to sign
* @returns {Promise<Uint8Array>} The ciphertext output.
*/
encrypt: async function(plaintext, nonce, adata) {
const [omacNonce, omacAdata] = await Promise.all([
omac(zero, nonce),
omac(one$1, adata)
]);
const ciphered = await ctr2(plaintext, omacNonce);
const omacCiphered = await omac(two, ciphered);
const tag = omacCiphered;
for (let i4 = 0; i4 < tagLength$2; i4++) {
tag[i4] ^= omacAdata[i4] ^ omacNonce[i4];
}
return util11.concatUint8Array([ciphered, tag]);
},
/**
* Decrypt ciphertext input.
* @param {Uint8Array} ciphertext - The ciphertext input to be decrypted
* @param {Uint8Array} nonce - The nonce (16 bytes)
* @param {Uint8Array} adata - Associated data to verify
* @returns {Promise<Uint8Array>} The plaintext output.
*/
decrypt: async function(ciphertext, nonce, adata) {
if (ciphertext.length < tagLength$2)
throw new Error("Invalid EAX ciphertext");
const ciphered = ciphertext.subarray(0, -tagLength$2);
const ctTag = ciphertext.subarray(-tagLength$2);
const [omacNonce, omacAdata, omacCiphered] = await Promise.all([
omac(zero, nonce),
omac(one$1, adata),
omac(two, ciphered)
]);
const tag = omacCiphered;
for (let i4 = 0; i4 < tagLength$2; i4++) {
tag[i4] ^= omacAdata[i4] ^ omacNonce[i4];
}
if (!util11.equalsUint8Array(ctTag, tag))
throw new Error("Authentication tag mismatch");
const plaintext = await ctr2(ciphered, omacNonce);
return plaintext;
}
};
}
function ntz(n2) {
let ntz2 = 0;
for (let i4 = 1; (n2 & i4) === 0; i4 <<= 1) {
ntz2++;
}
return ntz2;
}
function xorMut(S3, T2) {
for (let i4 = 0; i4 < S3.length; i4++) {
S3[i4] ^= T2[i4];
}
return S3;
}
function xor(S3, T2) {
return xorMut(S3.slice(), T2);
}
async function OCB(cipher, key) {
const { keySize } = getCipherParams(cipher);
if (!util11.isAES(cipher) || key.length !== keySize) {
throw new Error("Unexpected algorithm or key size");
}
let maxNtz = 0;
const encipher = (block) => cbc(key, zeroBlock, { disablePadding: true }).encrypt(block);
const decipher = (block) => cbc(key, zeroBlock, { disablePadding: true }).decrypt(block);
let mask;
constructKeyVariables();
function constructKeyVariables() {
const mask_x = encipher(zeroBlock);
const mask_$ = util11.double(mask_x);
mask = [];
mask[0] = util11.double(mask_$);
mask.x = mask_x;
mask.$ = mask_$;
}
function extendKeyVariables(text, adata) {
const newMaxNtz = util11.nbits(Math.max(text.length, adata.length) / blockLength$1 | 0) - 1;
for (let i4 = maxNtz + 1; i4 <= newMaxNtz; i4++) {
mask[i4] = util11.double(mask[i4 - 1]);
}
maxNtz = newMaxNtz;
}
function hash2(adata) {
if (!adata.length) {
return zeroBlock;
}
const m = adata.length / blockLength$1 | 0;
const offset = new Uint8Array(blockLength$1);
const sum = new Uint8Array(blockLength$1);
for (let i4 = 0; i4 < m; i4++) {
xorMut(offset, mask[ntz(i4 + 1)]);
xorMut(sum, encipher(xor(offset, adata)));
adata = adata.subarray(blockLength$1);
}
if (adata.length) {
xorMut(offset, mask.x);
const cipherInput = new Uint8Array(blockLength$1);
cipherInput.set(adata, 0);
cipherInput[adata.length] = 128;
xorMut(cipherInput, offset);
xorMut(sum, encipher(cipherInput));
}
return sum;
}
function crypt(fn, text, nonce, adata) {
const m = text.length / blockLength$1 | 0;
extendKeyVariables(text, adata);
const paddedNonce = util11.concatUint8Array([zeroBlock.subarray(0, ivLength$1 - nonce.length), one, nonce]);
const bottom = paddedNonce[blockLength$1 - 1] & 63;
paddedNonce[blockLength$1 - 1] &= 192;
const kTop = encipher(paddedNonce);
const stretched = util11.concatUint8Array([kTop, xor(kTop.subarray(0, 8), kTop.subarray(1, 9))]);
const offset = util11.shiftRight(stretched.subarray(0 + (bottom >> 3), 17 + (bottom >> 3)), 8 - (bottom & 7)).subarray(1);
const checksum = new Uint8Array(blockLength$1);
const ct = new Uint8Array(text.length + tagLength$1);
let i4;
let pos = 0;
for (i4 = 0; i4 < m; i4++) {
xorMut(offset, mask[ntz(i4 + 1)]);
ct.set(xorMut(fn(xor(offset, text)), offset), pos);
xorMut(checksum, fn === encipher ? text : ct.subarray(pos));
text = text.subarray(blockLength$1);
pos += blockLength$1;
}
if (text.length) {
xorMut(offset, mask.x);
const padding = encipher(offset);
ct.set(xor(text, padding), pos);
const xorInput = new Uint8Array(blockLength$1);
xorInput.set(fn === encipher ? text : ct.subarray(pos, -tagLength$1), 0);
xorInput[text.length] = 128;
xorMut(checksum, xorInput);
pos += text.length;
}
const tag = xorMut(encipher(xorMut(xorMut(checksum, offset), mask.$)), hash2(adata));
ct.set(tag, pos);
return ct;
}
return {
/**
* Encrypt plaintext input.
* @param {Uint8Array} plaintext - The cleartext input to be encrypted
* @param {Uint8Array} nonce - The nonce (15 bytes)
* @param {Uint8Array} adata - Associated data to sign
* @returns {Promise<Uint8Array>} The ciphertext output.
*/
encrypt: async function(plaintext, nonce, adata) {
return crypt(encipher, plaintext, nonce, adata);
},
/**
* Decrypt ciphertext input.
* @param {Uint8Array} ciphertext - The ciphertext input to be decrypted
* @param {Uint8Array} nonce - The nonce (15 bytes)
* @param {Uint8Array} adata - Associated data to sign
* @returns {Promise<Uint8Array>} The ciphertext output.
*/
// eslint-disable-next-line @typescript-eslint/require-await
decrypt: async function(ciphertext, nonce, adata) {
if (ciphertext.length < tagLength$1)
throw new Error("Invalid OCB ciphertext");
const tag = ciphertext.subarray(-tagLength$1);
ciphertext = ciphertext.subarray(0, -tagLength$1);
const crypted = crypt(decipher, ciphertext, nonce, adata);
if (util11.equalsUint8Array(tag, crypted.subarray(-tagLength$1))) {
return crypted.subarray(0, -tagLength$1);
}
throw new Error("Authentication tag mismatch");
}
};
}
async function GCM(cipher, key) {
if (cipher !== enums.symmetric.aes128 && cipher !== enums.symmetric.aes192 && cipher !== enums.symmetric.aes256) {
throw new Error("GCM mode supports only AES cipher");
}
if (util11.getNodeCrypto()) {
return {
// eslint-disable-next-line @typescript-eslint/require-await
encrypt: async function(pt, iv, adata = new Uint8Array()) {
const en = new nodeCrypto.createCipheriv("aes-" + key.length * 8 + "-gcm", key, iv);
en.setAAD(adata);
const ct = Buffer$1.concat([en.update(pt), en.final(), en.getAuthTag()]);
return new Uint8Array(ct);
},
// eslint-disable-next-line @typescript-eslint/require-await
decrypt: async function(ct, iv, adata = new Uint8Array()) {
const de = new nodeCrypto.createDecipheriv("aes-" + key.length * 8 + "-gcm", key, iv);
de.setAAD(adata);
de.setAuthTag(ct.slice(ct.length - tagLength, ct.length));
const pt = Buffer$1.concat([de.update(ct.slice(0, ct.length - tagLength)), de.final()]);
return new Uint8Array(pt);
}
};
}
if (util11.getWebCrypto()) {
try {
const _key = await webCrypto.importKey("raw", key, { name: ALGO }, false, ["encrypt", "decrypt"]);
const webcryptoEmptyMessagesUnsupported = navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/) || navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);
return {
encrypt: async function(pt, iv, adata = new Uint8Array()) {
if (webcryptoEmptyMessagesUnsupported && !pt.length) {
return gcm(key, iv, adata).encrypt(pt);
}
const ct = await webCrypto.encrypt({ name: ALGO, iv, additionalData: adata, tagLength: tagLength * 8 }, _key, pt);
return new Uint8Array(ct);
},
decrypt: async function(ct, iv, adata = new Uint8Array()) {
if (webcryptoEmptyMessagesUnsupported && ct.length === tagLength) {
return gcm(key, iv, adata).decrypt(ct);
}
try {
const pt = await webCrypto.decrypt({ name: ALGO, iv, additionalData: adata, tagLength: tagLength * 8 }, _key, ct);
return new Uint8Array(pt);
} catch (e) {
if (e.name === "OperationError") {
throw new Error("Authentication tag mismatch");
}
}
}
};
} catch (err2) {
if (err2.name !== "NotSupportedError" && !(key.length === 24 && err2.name === "OperationError")) {
throw err2;
}
util11.printDebugError("Browser did not support operation: " + err2.message);
}
}
return {
// eslint-disable-next-line @typescript-eslint/require-await
encrypt: async function(pt, iv, adata) {
return gcm(key, iv, adata).encrypt(pt);
},
// eslint-disable-next-line @typescript-eslint/require-await
decrypt: async function(ct, iv, adata) {
return gcm(key, iv, adata).decrypt(ct);
}
};
}
function getAEADMode(algo, acceptExperimentalGCM = false) {
switch (algo) {
case enums.aead.eax:
return EAX;
case enums.aead.ocb:
return OCB;
case enums.aead.gcm:
return GCM;
case enums.aead.experimentalGCM:
if (!acceptExperimentalGCM) {
throw new Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");
}
return GCM;
default:
throw new Error("Unsupported AEAD mode");
}
}
function parseSignatureParams(algo, signature) {
let read2 = 0;
switch (algo) {
// Algorithm-Specific Fields for RSA signatures:
// - MPI of RSA signature value m**d mod n.
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaSign: {
const s = util11.readMPI(signature.subarray(read2));
read2 += s.length + 2;
return { read: read2, signatureParams: { s } };
}
// Algorithm-Specific Fields for DSA or ECDSA signatures:
// - MPI of DSA or ECDSA value r.
// - MPI of DSA or ECDSA value s.
case enums.publicKey.dsa:
case enums.publicKey.ecdsa: {
const r = util11.readMPI(signature.subarray(read2));
read2 += r.length + 2;
const s = util11.readMPI(signature.subarray(read2));
read2 += s.length + 2;
return { read: read2, signatureParams: { r, s } };
}
// Algorithm-Specific Fields for legacy EdDSA signatures:
// - MPI of an EC point r.
// - EdDSA value s, in MPI, in the little endian representation
case enums.publicKey.eddsaLegacy: {
const r = util11.readMPI(signature.subarray(read2));
read2 += r.length + 2;
const s = util11.readMPI(signature.subarray(read2));
read2 += s.length + 2;
return { read: read2, signatureParams: { r, s } };
}
// Algorithm-Specific Fields for Ed25519 signatures:
// - 64 octets of the native signature
// Algorithm-Specific Fields for Ed448 signatures:
// - 114 octets of the native signature
case enums.publicKey.ed25519:
case enums.publicKey.ed448: {
const rsSize = 2 * getPayloadSize$1(algo);
const RS = util11.readExactSubarray(signature, read2, read2 + rsSize);
read2 += RS.length;
return { read: read2, signatureParams: { RS } };
}
default:
throw new UnsupportedError("Unknown signature algorithm.");
}
}
async function verify$1(algo, hashAlgo, signature, publicParams, data, hashed) {
switch (algo) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaSign: {
const { n: n2, e } = publicParams;
const s = util11.leftPad(signature.s, n2.length);
return verify$6(hashAlgo, data, s, n2, e, hashed);
}
case enums.publicKey.dsa: {
const { g, p, q, y } = publicParams;
const { r, s } = signature;
return verify$2(hashAlgo, r, s, hashed, g, p, q, y);
}
case enums.publicKey.ecdsa: {
const { oid, Q } = publicParams;
const curveSize = new CurveWithOID(oid).payloadSize;
const r = util11.leftPad(signature.r, curveSize);
const s = util11.leftPad(signature.s, curveSize);
return verify$4(oid, hashAlgo, { r, s }, data, Q, hashed);
}
case enums.publicKey.eddsaLegacy: {
const { oid, Q } = publicParams;
const curveSize = new CurveWithOID(oid).payloadSize;
const r = util11.leftPad(signature.r, curveSize);
const s = util11.leftPad(signature.s, curveSize);
return verify$3(oid, hashAlgo, { r, s }, data, Q, hashed);
}
case enums.publicKey.ed25519:
case enums.publicKey.ed448: {
const { A: A2 } = publicParams;
return verify$5(algo, hashAlgo, signature, data, A2, hashed);
}
default:
throw new Error("Unknown signature algorithm.");
}
}
async function sign$1(algo, hashAlgo, publicKeyParams, privateKeyParams, data, hashed) {
if (!publicKeyParams || !privateKeyParams) {
throw new Error("Missing key parameters");
}
switch (algo) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaSign: {
const { n: n2, e } = publicKeyParams;
const { d: d3, p, q, u: u2 } = privateKeyParams;
const s = await sign$6(hashAlgo, data, n2, e, d3, p, q, u2, hashed);
return { s };
}
case enums.publicKey.dsa: {
const { g, p, q } = publicKeyParams;
const { x: x3 } = privateKeyParams;
return sign$2(hashAlgo, hashed, g, p, q, x3);
}
case enums.publicKey.elgamal:
throw new Error("Signing with Elgamal is not defined in the OpenPGP standard.");
case enums.publicKey.ecdsa: {
const { oid, Q } = publicKeyParams;
const { d: d3 } = privateKeyParams;
return sign$4(oid, hashAlgo, data, Q, d3, hashed);
}
case enums.publicKey.eddsaLegacy: {
const { oid, Q } = publicKeyParams;
const { seed } = privateKeyParams;
return sign$3(oid, hashAlgo, data, Q, seed, hashed);
}
case enums.publicKey.ed25519:
case enums.publicKey.ed448: {
const { A: A2 } = publicKeyParams;
const { seed } = privateKeyParams;
return sign$5(algo, hashAlgo, data, A2, seed, hashed);
}
default:
throw new Error("Unknown signature algorithm.");
}
}
function newS2KFromType(type4, config$1 = config) {
switch (type4) {
case enums.s2k.argon2:
return new Argon2S2K(config$1);
case enums.s2k.iterated:
case enums.s2k.gnu:
case enums.s2k.salted:
case enums.s2k.simple:
return new GenericS2K(type4, config$1);
default:
throw new UnsupportedError("Unsupported S2K type");
}
}
function newS2KFromConfig(config2) {
const { s2kType } = config2;
if (!allowedS2KTypesForEncryption.has(s2kType)) {
throw new Error("The provided `config.s2kType` value is not allowed");
}
return newS2KFromType(s2kType, config2);
}
function writeSubPacket(type4, critical, data) {
const arr = [];
arr.push(writeSimpleLength(data.length + 1));
arr.push(new Uint8Array([(critical ? 128 : 0) | type4]));
arr.push(data);
return util11.concat(arr);
}
function saltLengthForHash(hashAlgorithm) {
switch (hashAlgorithm) {
case enums.hash.sha256:
return 16;
case enums.hash.sha384:
return 24;
case enums.hash.sha512:
return 32;
case enums.hash.sha224:
return 16;
case enums.hash.sha3_256:
return 16;
case enums.hash.sha3_512:
return 32;
default:
throw new Error("Unsupported hash function");
}
}
function newPacketFromTag(tag, allowedPackets) {
if (!allowedPackets[tag]) {
let packetType;
try {
packetType = enums.read(enums.packet, tag);
} catch {
throw new UnknownPacketError(`Unknown packet type with tag: ${tag}`);
}
throw new Error(`Packet not allowed in this context: ${packetType}`);
}
return new allowedPackets[tag]();
}
function splitStream(data) {
const chunkSize = 65536;
const reader = getReader(data);
return new ReadableStream({
async pull(controller) {
try {
const { value, done } = await reader.read();
if (done) {
controller.close();
return;
}
for (let i4 = 0; i4 <= value.length; i4 += chunkSize) {
if (!i4 || i4 < value.length) {
controller.enqueue(value.subarray(i4, i4 + chunkSize));
}
}
} catch (e) {
controller.error(e);
}
}
}, { highWaterMark: 0 });
}
function zlib(compressionStreamInstantiator, ZlibStreamedConstructor) {
return (data) => {
let stream2;
if (isArrayStream(data)) {
stream2 = new ReadableStream({
async start(controller) {
try {
controller.enqueue(await readToEnd(data));
controller.close();
} catch (e) {
controller.error(e);
}
}
});
} else if (isStream2(data)) {
stream2 = data;
} else {
stream2 = toStream(data);
}
stream2 = splitStream(stream2);
if (compressionStreamInstantiator) {
try {
const compressorOrDecompressor = compressionStreamInstantiator();
return stream2.pipeThrough(compressorOrDecompressor);
} catch (err2) {
if (err2.name !== "TypeError") {
throw err2;
}
}
}
const inputReader = getReader(stream2);
const zlibStream = new ZlibStreamedConstructor();
let providedData = false;
let allDone = false;
return new ReadableStream({
start(controller) {
zlibStream.ondata = (value, isLast) => {
controller.enqueue(value);
providedData = true;
if (isLast) {
controller.close();
allDone = true;
}
};
},
async pull() {
providedData = false;
while (!providedData && !allDone) {
const { done, value } = await inputReader.read();
if (done) {
zlibStream.push(new Uint8Array(), true);
return;
} else if (value.length) {
zlibStream.push(value);
}
}
}
}, { highWaterMark: 0 });
};
}
function bzip2Decompress() {
return async function(data) {
const { default: unbzip2Stream } = await Promise.resolve().then(function() {
return index$1;
});
return unbzip2Stream(toStream(data));
};
}
async function runAEAD(packet, fn, key, data) {
const isSEIPDv2 = packet instanceof SymEncryptedIntegrityProtectedDataPacket && packet.version === 2;
const isAEADP = !isSEIPDv2 && packet.constructor.tag === enums.packet.aeadEncryptedData;
if (!isSEIPDv2 && !isAEADP)
throw new Error("Unexpected packet type");
const mode = getAEADMode(packet.aeadAlgorithm, isAEADP);
const tagLengthIfDecrypting = fn === "decrypt" ? mode.tagLength : 0;
const tagLengthIfEncrypting = fn === "encrypt" ? mode.tagLength : 0;
const chunkSize = 2 ** (packet.chunkSizeByte + 6) + tagLengthIfDecrypting;
const chunkIndexSizeIfAEADEP = isAEADP ? 8 : 0;
const adataBuffer = new ArrayBuffer(13 + chunkIndexSizeIfAEADEP);
const adataArray = new Uint8Array(adataBuffer, 0, 5 + chunkIndexSizeIfAEADEP);
const adataTagArray = new Uint8Array(adataBuffer);
const adataView = new DataView(adataBuffer);
const chunkIndexArray = new Uint8Array(adataBuffer, 5, 8);
adataArray.set([192 | packet.constructor.tag, packet.version, packet.cipherAlgorithm, packet.aeadAlgorithm, packet.chunkSizeByte], 0);
let chunkIndex = 0;
let latestPromise = Promise.resolve();
let cryptedBytes = 0;
let queuedBytes = 0;
let iv;
let ivView;
if (isSEIPDv2) {
const { keySize } = getCipherParams(packet.cipherAlgorithm);
const { ivLength: ivLength2 } = mode;
const info = new Uint8Array(adataBuffer, 0, 5);
const derived = await computeHKDF(enums.hash.sha256, key, packet.salt, info, keySize + ivLength2);
key = derived.subarray(0, keySize);
iv = derived.subarray(keySize);
iv.fill(0, iv.length - 8);
ivView = new DataView(iv.buffer, iv.byteOffset, iv.byteLength);
} else {
iv = packet.iv;
}
const modeInstance = await mode(packet.cipherAlgorithm, key);
return transformPair(data, async (readable2, writable2) => {
if (util11.isStream(readable2) !== "array") {
const buffer3 = new TransformStream({}, {
highWaterMark: util11.getHardwareConcurrency() * 2 ** (packet.chunkSizeByte + 6),
size: (array) => array.length
});
pipe2(buffer3.readable, writable2);
writable2 = buffer3.writable;
}
const reader = getReader(readable2);
const writer = getWriter(writable2);
try {
while (true) {
let chunk = await reader.readBytes(chunkSize + tagLengthIfDecrypting) || new Uint8Array();
const finalChunk = chunk.subarray(chunk.length - tagLengthIfDecrypting);
chunk = chunk.subarray(0, chunk.length - tagLengthIfDecrypting);
let cryptedPromise;
let done;
let nonce;
if (isSEIPDv2) {
nonce = iv;
} else {
nonce = iv.slice();
for (let i4 = 0; i4 < 8; i4++) {
nonce[iv.length - 8 + i4] ^= chunkIndexArray[i4];
}
}
if (!chunkIndex || chunk.length) {
reader.unshift(finalChunk);
cryptedPromise = modeInstance[fn](chunk, nonce, adataArray);
cryptedPromise.catch(() => {
});
queuedBytes += chunk.length - tagLengthIfDecrypting + tagLengthIfEncrypting;
} else {
adataView.setInt32(5 + chunkIndexSizeIfAEADEP + 4, cryptedBytes);
cryptedPromise = modeInstance[fn](finalChunk, nonce, adataTagArray);
cryptedPromise.catch(() => {
});
queuedBytes += tagLengthIfEncrypting;
done = true;
}
cryptedBytes += chunk.length - tagLengthIfDecrypting;
latestPromise = latestPromise.then(() => cryptedPromise).then(async (crypted) => {
await writer.ready;
await writer.write(crypted);
queuedBytes -= crypted.length;
}).catch((err2) => writer.abort(err2));
if (done || queuedBytes > writer.desiredSize) {
await latestPromise;
}
if (!done) {
if (isSEIPDv2) {
ivView.setInt32(iv.length - 4, ++chunkIndex);
} else {
adataView.setInt32(5 + 4, ++chunkIndex);
}
} else {
await writer.close();
break;
}
}
} catch (e) {
await writer.ready.catch(() => {
});
await writer.abort(e);
}
});
}
function encodeSessionKey(version2, keyAlgo, cipherAlgo, sessionKeyData) {
switch (keyAlgo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.elgamal:
case enums.publicKey.ecdh:
return util11.concatUint8Array([
new Uint8Array(version2 === 6 ? [] : [cipherAlgo]),
sessionKeyData,
util11.writeChecksum(sessionKeyData.subarray(sessionKeyData.length % 8))
]);
case enums.publicKey.x25519:
case enums.publicKey.x448:
return sessionKeyData;
default:
throw new Error("Unsupported public key algorithm");
}
}
function decodeSessionKey(version2, keyAlgo, decryptedData, randomSessionKey) {
switch (keyAlgo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.elgamal:
case enums.publicKey.ecdh: {
const result2 = decryptedData.subarray(0, decryptedData.length - 2);
const checksum = decryptedData.subarray(decryptedData.length - 2);
const computedChecksum = util11.writeChecksum(result2.subarray(result2.length % 8));
const isValidChecksum = computedChecksum[0] === checksum[0] & computedChecksum[1] === checksum[1];
const decryptedSessionKey = version2 === 6 ? { sessionKeyAlgorithm: null, sessionKey: result2 } : { sessionKeyAlgorithm: result2[0], sessionKey: result2.subarray(1) };
if (randomSessionKey) {
const isValidPayload = isValidChecksum & decryptedSessionKey.sessionKeyAlgorithm === randomSessionKey.sessionKeyAlgorithm & decryptedSessionKey.sessionKey.length === randomSessionKey.sessionKey.length;
return {
sessionKey: util11.selectUint8Array(isValidPayload, decryptedSessionKey.sessionKey, randomSessionKey.sessionKey),
sessionKeyAlgorithm: version2 === 6 ? null : util11.selectUint8(isValidPayload, decryptedSessionKey.sessionKeyAlgorithm, randomSessionKey.sessionKeyAlgorithm)
};
} else {
const isValidPayload = isValidChecksum && (version2 === 6 || enums.read(enums.symmetric, decryptedSessionKey.sessionKeyAlgorithm));
if (isValidPayload) {
return decryptedSessionKey;
} else {
throw new Error("Decryption error");
}
}
}
case enums.publicKey.x25519:
case enums.publicKey.x448:
return {
sessionKeyAlgorithm: null,
sessionKey: decryptedData
};
default:
throw new Error("Unsupported public key algorithm");
}
}
async function produceEncryptionKey(keyVersion, s2k, passphrase, cipherAlgo, aeadMode, serializedPacketTag, isLegacyAEAD, config2) {
if (s2k.type === "argon2" && !aeadMode) {
throw new Error("Using Argon2 S2K without AEAD is not allowed");
}
if (s2k.type === "simple" && keyVersion === 6) {
throw new Error("Using Simple S2K with version 6 keys is not allowed");
}
const { keySize } = getCipherParams(cipherAlgo);
const derivedKey = await s2k.produceKey(passphrase, keySize, config2);
if (!aeadMode || keyVersion === 5 || isLegacyAEAD) {
return derivedKey;
}
const info = util11.concatUint8Array([
serializedPacketTag,
new Uint8Array([keyVersion, cipherAlgo, aeadMode])
]);
return computeHKDF(enums.hash.sha256, derivedKey, new Uint8Array(), info, keySize);
}
async function readSignature({ armoredSignature, binarySignature, config: config$1, ...rest }) {
config$1 = { ...config, ...config$1 };
let input = armoredSignature || binarySignature;
if (!input) {
throw new Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");
}
if (armoredSignature && !util11.isString(armoredSignature)) {
throw new Error("readSignature: options.armoredSignature must be a string");
}
if (binarySignature && !util11.isUint8Array(binarySignature)) {
throw new Error("readSignature: options.binarySignature must be a Uint8Array");
}
const unknownOptions = Object.keys(rest);
if (unknownOptions.length > 0)
throw new Error(`Unknown option: ${unknownOptions.join(", ")}`);
if (armoredSignature) {
const { type: type4, data } = await unarmor(input);
if (type4 !== enums.armor.signature) {
throw new Error("Armored text not of type signature");
}
input = data;
}
const packetlist = await PacketList.fromBinary(input, allowedPackets$1, config$1);
return new Signature(packetlist);
}
async function generateSecretSubkey(options, config2) {
const secretSubkeyPacket = new SecretSubkeyPacket(options.date, config2);
secretSubkeyPacket.packets = null;
secretSubkeyPacket.algorithm = enums.write(enums.publicKey, options.algorithm);
await secretSubkeyPacket.generate(options.rsaBits, options.curve);
await secretSubkeyPacket.computeFingerprintAndKeyID();
return secretSubkeyPacket;
}
async function getLatestValidSignature(signatures, publicKey, signatureType, dataToVerify, date = /* @__PURE__ */ new Date(), config2) {
let latestValid;
let exception2;
for (let i4 = signatures.length - 1; i4 >= 0; i4--) {
try {
if (!latestValid || signatures[i4].created >= latestValid.created) {
await signatures[i4].verify(publicKey, signatureType, dataToVerify, date, void 0, config2);
latestValid = signatures[i4];
}
} catch (e) {
exception2 = e;
}
}
if (!latestValid) {
throw util11.wrapError(`Could not find valid ${enums.read(enums.signature, signatureType)} signature in key ${publicKey.getKeyID().toHex()}`.replace("certGeneric ", "self-").replace(/([a-z])([A-Z])/g, (_, $1, $2) => $1 + " " + $2.toLowerCase()), exception2);
}
return latestValid;
}
function isDataExpired(keyPacket, signature, date = /* @__PURE__ */ new Date()) {
const normDate = util11.normalizeDate(date);
if (normDate !== null) {
const expirationTime = getKeyExpirationTime(keyPacket, signature);
return !(keyPacket.created <= normDate && normDate < expirationTime);
}
return false;
}
async function createBindingSignature(subkey, primaryKey, options, config2) {
const dataToSign = {};
dataToSign.key = primaryKey;
dataToSign.bind = subkey;
const signatureProperties = { signatureType: enums.signature.subkeyBinding };
if (options.sign) {
signatureProperties.keyFlags = [enums.keyFlags.signData];
signatureProperties.embeddedSignature = await createSignaturePacket(dataToSign, [], subkey, {
signatureType: enums.signature.keyBinding
}, options.date, void 0, void 0, void 0, config2);
} else {
signatureProperties.keyFlags = [enums.keyFlags.encryptCommunication | enums.keyFlags.encryptStorage];
}
if (options.keyExpirationTime > 0) {
signatureProperties.keyExpirationTime = options.keyExpirationTime;
signatureProperties.keyNeverExpires = false;
}
const subkeySignaturePacket = await createSignaturePacket(dataToSign, [], primaryKey, signatureProperties, options.date, void 0, void 0, void 0, config2);
return subkeySignaturePacket;
}
async function getPreferredHashAlgo(targetKeys, signingKeyPacket, date = /* @__PURE__ */ new Date(), targetUserIDs = [], config2) {
const defaultAlgo = enums.hash.sha256;
const preferredSenderAlgo = config2.preferredHashAlgorithm;
const supportedAlgosPerTarget = await Promise.all(targetKeys.map(async (key, i4) => {
const selfCertification = await key.getPrimarySelfSignature(date, targetUserIDs[i4], config2);
const targetPrefs = selfCertification.preferredHashAlgorithms;
return targetPrefs || [];
}));
const supportedAlgosMap = /* @__PURE__ */ new Map();
for (const supportedAlgos of supportedAlgosPerTarget) {
for (const hashAlgo of supportedAlgos) {
try {
const supportedAlgo = enums.write(enums.hash, hashAlgo);
supportedAlgosMap.set(supportedAlgo, supportedAlgosMap.has(supportedAlgo) ? supportedAlgosMap.get(supportedAlgo) + 1 : 1);
} catch {
}
}
}
const isSupportedHashAlgo = (hashAlgo) => targetKeys.length === 0 || supportedAlgosMap.get(hashAlgo) === targetKeys.length || hashAlgo === defaultAlgo;
const getStrongestSupportedHashAlgo = () => {
if (supportedAlgosMap.size === 0) {
return defaultAlgo;
}
const sortedHashAlgos = Array.from(supportedAlgosMap.keys()).filter((hashAlgo) => isSupportedHashAlgo(hashAlgo)).sort((algoA, algoB) => getHashByteLength(algoA) - getHashByteLength(algoB));
const strongestHashAlgo = sortedHashAlgos[0];
return getHashByteLength(strongestHashAlgo) >= getHashByteLength(defaultAlgo) ? strongestHashAlgo : defaultAlgo;
};
const eccAlgos = /* @__PURE__ */ new Set([
enums.publicKey.ecdsa,
enums.publicKey.eddsaLegacy,
enums.publicKey.ed25519,
enums.publicKey.ed448
]);
if (eccAlgos.has(signingKeyPacket.algorithm)) {
const preferredCurveAlgo = getPreferredCurveHashAlgo(signingKeyPacket.algorithm, signingKeyPacket.publicParams.oid);
const preferredSenderAlgoIsSupported = isSupportedHashAlgo(preferredSenderAlgo);
const preferredSenderAlgoStrongerThanCurveAlgo = getHashByteLength(preferredSenderAlgo) >= getHashByteLength(preferredCurveAlgo);
if (preferredSenderAlgoIsSupported && preferredSenderAlgoStrongerThanCurveAlgo) {
return preferredSenderAlgo;
} else {
const strongestSupportedAlgo = getStrongestSupportedHashAlgo();
return getHashByteLength(strongestSupportedAlgo) >= getHashByteLength(preferredCurveAlgo) ? strongestSupportedAlgo : preferredCurveAlgo;
}
}
return isSupportedHashAlgo(preferredSenderAlgo) ? preferredSenderAlgo : getStrongestSupportedHashAlgo();
}
async function getPreferredCipherSuite(keys4 = [], date = /* @__PURE__ */ new Date(), userIDs = [], config$1 = config) {
const selfSigs = await Promise.all(keys4.map((key, i4) => key.getPrimarySelfSignature(date, userIDs[i4], config$1)));
const withAEAD = keys4.length ? selfSigs.every((selfSig) => selfSig.features && selfSig.features[0] & enums.features.seipdv2) : config$1.aeadProtect;
if (withAEAD) {
const defaultCipherSuite = { symmetricAlgo: enums.symmetric.aes128, aeadAlgo: enums.aead.ocb };
const desiredCipherSuites = [
{ symmetricAlgo: config$1.preferredSymmetricAlgorithm, aeadAlgo: config$1.preferredAEADAlgorithm },
{ symmetricAlgo: config$1.preferredSymmetricAlgorithm, aeadAlgo: enums.aead.ocb },
{ symmetricAlgo: enums.symmetric.aes128, aeadAlgo: config$1.preferredAEADAlgorithm }
];
for (const desiredCipherSuite of desiredCipherSuites) {
if (selfSigs.every((selfSig) => selfSig.preferredCipherSuites && selfSig.preferredCipherSuites.some((cipherSuite) => cipherSuite[0] === desiredCipherSuite.symmetricAlgo && cipherSuite[1] === desiredCipherSuite.aeadAlgo))) {
return desiredCipherSuite;
}
}
return defaultCipherSuite;
}
const defaultSymAlgo = enums.symmetric.aes128;
const desiredSymAlgo = config$1.preferredSymmetricAlgorithm;
return {
symmetricAlgo: selfSigs.every((selfSig) => selfSig.preferredSymmetricAlgorithms && selfSig.preferredSymmetricAlgorithms.includes(desiredSymAlgo)) ? desiredSymAlgo : defaultSymAlgo,
aeadAlgo: void 0
};
}
async function createSignaturePacket(dataToSign, recipientKeys, signingKeyPacket, signatureProperties, date, recipientUserIDs, notations = [], detached = false, config2) {
if (signingKeyPacket.isDummy()) {
throw new Error("Cannot sign with a gnu-dummy key.");
}
if (!signingKeyPacket.isDecrypted()) {
throw new Error("Signing key is not decrypted.");
}
const signaturePacket = new SignaturePacket();
Object.assign(signaturePacket, signatureProperties);
signaturePacket.publicKeyAlgorithm = signingKeyPacket.algorithm;
signaturePacket.hashAlgorithm = await getPreferredHashAlgo(recipientKeys, signingKeyPacket, date, recipientUserIDs, config2);
signaturePacket.rawNotations = [...notations];
await signaturePacket.sign(signingKeyPacket, dataToSign, date, detached, config2);
return signaturePacket;
}
async function mergeSignatures(source, dest, attr, date = /* @__PURE__ */ new Date(), checkFn) {
source = source[attr];
if (source) {
if (!dest[attr].length) {
dest[attr] = source;
} else {
await Promise.all(source.map(async function(sourceSig) {
if (!sourceSig.isExpired(date) && (!checkFn || await checkFn(sourceSig)) && !dest[attr].some(function(destSig) {
return util11.equalsUint8Array(destSig.writeParams(), sourceSig.writeParams());
})) {
dest[attr].push(sourceSig);
}
}));
}
}
}
async function isDataRevoked(primaryKey, signatureType, dataToVerify, revocations, signature, key, date = /* @__PURE__ */ new Date(), config2) {
key = key || primaryKey;
const revocationKeyIDs = [];
await Promise.all(revocations.map(async function(revocationSignature) {
try {
if (
// Note: a third-party revocation signature could legitimately revoke a
// self-signature if the signature has an authorized revocation key.
// However, we don't support passing authorized revocation keys, nor
// verifying such revocation signatures. Instead, we indicate an error
// when parsing a key with an authorized revocation key, and ignore
// third-party revocation signatures here. (It could also be revoking a
// third-party key certification, which should only affect
// `verifyAllCertifications`.)
!signature || revocationSignature.issuerKeyID.equals(signature.issuerKeyID)
) {
const isHardRevocation = ![
enums.reasonForRevocation.keyRetired,
enums.reasonForRevocation.keySuperseded,
enums.reasonForRevocation.userIDInvalid
].includes(revocationSignature.reasonForRevocationFlag);
await revocationSignature.verify(key, signatureType, dataToVerify, isHardRevocation ? null : date, false, config2);
revocationKeyIDs.push(revocationSignature.issuerKeyID);
}
} catch {
}
}));
if (signature) {
signature.revoked = revocationKeyIDs.some((keyID) => keyID.equals(signature.issuerKeyID)) ? true : signature.revoked || false;
return signature.revoked;
}
return revocationKeyIDs.length > 0;
}
function getKeyExpirationTime(keyPacket, signature) {
let expirationTime;
if (signature.keyNeverExpires === false) {
expirationTime = keyPacket.created.getTime() + signature.keyExpirationTime * 1e3;
}
return expirationTime ? new Date(expirationTime) : Infinity;
}
function sanitizeKeyOptions(options, subkeyDefaults = {}) {
options.type = options.type || subkeyDefaults.type;
options.curve = options.curve || subkeyDefaults.curve;
options.rsaBits = options.rsaBits || subkeyDefaults.rsaBits;
options.keyExpirationTime = options.keyExpirationTime !== void 0 ? options.keyExpirationTime : subkeyDefaults.keyExpirationTime;
options.passphrase = util11.isString(options.passphrase) ? options.passphrase : subkeyDefaults.passphrase;
options.date = options.date || subkeyDefaults.date;
options.sign = options.sign || false;
switch (options.type) {
case "ecc":
try {
options.curve = enums.write(enums.curve, options.curve);
} catch {
throw new Error("Unknown curve");
}
if (options.curve === enums.curve.ed25519Legacy || options.curve === enums.curve.curve25519Legacy || options.curve === "ed25519" || options.curve === "curve25519") {
options.curve = options.sign ? enums.curve.ed25519Legacy : enums.curve.curve25519Legacy;
}
if (options.sign) {
options.algorithm = options.curve === enums.curve.ed25519Legacy ? enums.publicKey.eddsaLegacy : enums.publicKey.ecdsa;
} else {
options.algorithm = enums.publicKey.ecdh;
}
break;
case "curve25519":
options.algorithm = options.sign ? enums.publicKey.ed25519 : enums.publicKey.x25519;
break;
case "curve448":
options.algorithm = options.sign ? enums.publicKey.ed448 : enums.publicKey.x448;
break;
case "rsa":
options.algorithm = enums.publicKey.rsaEncryptSign;
break;
default:
throw new Error(`Unsupported key type ${options.type}`);
}
return options;
}
function validateSigningKeyPacket(keyPacket, signature, config2) {
switch (keyPacket.algorithm) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign:
case enums.publicKey.dsa:
case enums.publicKey.ecdsa:
case enums.publicKey.eddsaLegacy:
case enums.publicKey.ed25519:
case enums.publicKey.ed448:
if (!signature.keyFlags && !config2.allowMissingKeyFlags) {
throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
}
return !signature.keyFlags || (signature.keyFlags[0] & enums.keyFlags.signData) !== 0;
default:
return false;
}
}
function validateEncryptionKeyPacket(keyPacket, signature, config2) {
switch (keyPacket.algorithm) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt:
case enums.publicKey.elgamal:
case enums.publicKey.ecdh:
case enums.publicKey.x25519:
case enums.publicKey.x448:
if (!signature.keyFlags && !config2.allowMissingKeyFlags) {
throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
}
return !signature.keyFlags || (signature.keyFlags[0] & enums.keyFlags.encryptCommunication) !== 0 || (signature.keyFlags[0] & enums.keyFlags.encryptStorage) !== 0;
default:
return false;
}
}
function validateDecryptionKeyPacket(keyPacket, signature, config2) {
if (!signature.keyFlags && !config2.allowMissingKeyFlags) {
throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
}
switch (keyPacket.algorithm) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaEncrypt:
case enums.publicKey.elgamal:
case enums.publicKey.ecdh:
case enums.publicKey.x25519:
case enums.publicKey.x448: {
const isValidSigningKeyPacket = !signature.keyFlags || (signature.keyFlags[0] & enums.keyFlags.signData) !== 0;
if (isValidSigningKeyPacket && config2.allowInsecureDecryptionWithSigningKeys) {
return true;
}
return !signature.keyFlags || (signature.keyFlags[0] & enums.keyFlags.encryptCommunication) !== 0 || (signature.keyFlags[0] & enums.keyFlags.encryptStorage) !== 0;
}
default:
return false;
}
}
function checkKeyRequirements(keyPacket, config2) {
const keyAlgo = enums.write(enums.publicKey, keyPacket.algorithm);
const algoInfo = keyPacket.getAlgorithmInfo();
if (config2.rejectPublicKeyAlgorithms.has(keyAlgo)) {
throw new Error(`${algoInfo.algorithm} keys are considered too weak.`);
}
switch (keyAlgo) {
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign:
case enums.publicKey.rsaEncrypt:
if (algoInfo.bits < config2.minRSABits) {
throw new Error(`RSA keys shorter than ${config2.minRSABits} bits are considered too weak.`);
}
break;
case enums.publicKey.ecdsa:
case enums.publicKey.eddsaLegacy:
case enums.publicKey.ecdh:
if (config2.rejectCurves.has(algoInfo.curve)) {
throw new Error(`Support for ${algoInfo.algorithm} keys using curve ${algoInfo.curve} is disabled.`);
}
break;
}
}
function getDefaultSubkeyType(algoName) {
const algo = enums.write(enums.publicKey, algoName);
switch (algo) {
case enums.publicKey.rsaEncrypt:
case enums.publicKey.rsaEncryptSign:
case enums.publicKey.rsaSign:
case enums.publicKey.dsa:
return "rsa";
case enums.publicKey.ecdsa:
case enums.publicKey.eddsaLegacy:
return "ecc";
case enums.publicKey.ed25519:
return "curve25519";
case enums.publicKey.ed448:
return "curve448";
default:
throw new Error("Unsupported algorithm");
}
}
function createKey(packetlist) {
for (const packet of packetlist) {
switch (packet.constructor.tag) {
case enums.packet.secretKey:
return new PrivateKey(packetlist);
case enums.packet.publicKey:
return new PublicKey(packetlist);
}
}
throw new Error("No key packet found");
}
async function readKey2({ armoredKey, binaryKey, config: config$1, ...rest }) {
config$1 = { ...config, ...config$1 };
if (!armoredKey && !binaryKey) {
throw new Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");
}
if (armoredKey && !util11.isString(armoredKey)) {
throw new Error("readKey: options.armoredKey must be a string");
}
if (binaryKey && !util11.isUint8Array(binaryKey)) {
throw new Error("readKey: options.binaryKey must be a Uint8Array");
}
const unknownOptions = Object.keys(rest);
if (unknownOptions.length > 0)
throw new Error(`Unknown option: ${unknownOptions.join(", ")}`);
let input;
if (armoredKey) {
const { type: type4, data } = await unarmor(armoredKey);
if (!(type4 === enums.armor.publicKey || type4 === enums.armor.privateKey)) {
throw new Error("Armored text not of type key");
}
input = data;
} else {
input = binaryKey;
}
const packetlist = await PacketList.fromBinary(input, allowedKeyPackets, config$1);
const keyIndex = packetlist.indexOfTag(enums.packet.publicKey, enums.packet.secretKey);
if (keyIndex.length === 0) {
throw new Error("No key packet found");
}
const firstKeyPacketList = packetlist.slice(keyIndex[0], keyIndex[1]);
return createKey(firstKeyPacketList);
}
async function createSignaturePackets(literalDataPacket, signingKeys, recipientKeys = [], signature = null, signingKeyIDs = [], date = /* @__PURE__ */ new Date(), signingUserIDs = [], recipientUserIDs = [], notations = [], detached = false, config$1 = config) {
const packetlist = new PacketList();
const signatureType = literalDataPacket.text === null ? enums.signature.binary : enums.signature.text;
await Promise.all(signingKeys.map(async (primaryKey, i4) => {
const signingUserID = signingUserIDs[i4];
if (!primaryKey.isPrivate()) {
throw new Error("Need private key for signing");
}
const signingKey = await primaryKey.getSigningKey(signingKeyIDs[i4], date, signingUserID, config$1);
return createSignaturePacket(literalDataPacket, recipientKeys.length ? recipientKeys : [primaryKey], signingKey.keyPacket, { signatureType }, date, recipientUserIDs, notations, detached, config$1);
})).then((signatureList) => {
packetlist.push(...signatureList);
});
if (signature) {
const existingSigPacketlist = signature.packets.filterByTag(enums.packet.signature);
packetlist.push(...existingSigPacketlist);
}
return packetlist;
}
function createVerificationObject(signature, literalDataList, verificationKeys, date = /* @__PURE__ */ new Date(), detached = false, config$1 = config) {
let primaryKey;
let unverifiedSigningKey;
for (const key of verificationKeys) {
const issuerKeys = key.getKeys(signature.issuerKeyID);
if (issuerKeys.length > 0) {
primaryKey = key;
unverifiedSigningKey = issuerKeys[0];
break;
}
}
const isOnePassSignature = signature instanceof OnePassSignaturePacket;
const signaturePacketPromise = isOnePassSignature ? signature.correspondingSig : signature;
const verifiedSig = {
keyID: signature.issuerKeyID,
verified: (async () => {
if (!unverifiedSigningKey) {
throw new Error(`Could not find signing key with key ID ${signature.issuerKeyID.toHex()}`);
}
await signature.verify(unverifiedSigningKey.keyPacket, signature.signatureType, literalDataList[0], date, detached, config$1);
const signaturePacket = await signaturePacketPromise;
if (unverifiedSigningKey.getCreationTime() > signaturePacket.created) {
throw new Error("Key is newer than the signature");
}
try {
await primaryKey.getSigningKey(unverifiedSigningKey.getKeyID(), signaturePacket.created, void 0, config$1);
} catch (e) {
if (config$1.allowInsecureVerificationWithReformattedKeys && e.message.match(/Signature creation time is in the future/)) {
await primaryKey.getSigningKey(unverifiedSigningKey.getKeyID(), date, void 0, config$1);
} else {
throw e;
}
}
return true;
})(),
signature: (async () => {
const signaturePacket = await signaturePacketPromise;
const packetlist = new PacketList();
signaturePacket && packetlist.push(signaturePacket);
return new Signature(packetlist);
})()
};
verifiedSig.signature.catch(() => {
});
verifiedSig.verified.catch(() => {
});
return verifiedSig;
}
function createVerificationObjects(signatureList, literalDataList, verificationKeys, date = /* @__PURE__ */ new Date(), detached = false, config$1 = config) {
return signatureList.filter((signature) => ["text", "binary"].includes(enums.read(enums.signature, signature.signatureType))).map((signature) => createVerificationObject(signature, literalDataList, verificationKeys, date, detached, config$1));
}
async function createMessage({ text, binary: binary2, filename, date = /* @__PURE__ */ new Date(), format: format2 = text !== void 0 ? "utf8" : "binary", ...rest }) {
const input = text !== void 0 ? text : binary2;
if (input === void 0) {
throw new Error("createMessage: must pass options object containing `text` or `binary`");
}
if (text && !util11.isString(text) && !util11.isStream(text)) {
throw new Error("createMessage: options.text must be a string or stream");
}
if (binary2 && !util11.isUint8Array(binary2) && !util11.isStream(binary2)) {
throw new Error("createMessage: options.binary must be a Uint8Array or stream");
}
const unknownOptions = Object.keys(rest);
if (unknownOptions.length > 0)
throw new Error(`Unknown option: ${unknownOptions.join(", ")}`);
const streamType = util11.isStream(input);
const literalDataPacket = new LiteralDataPacket(date);
if (text !== void 0) {
literalDataPacket.setText(input, enums.write(enums.literal, format2));
} else {
literalDataPacket.setBytes(input, enums.write(enums.literal, format2));
}
if (filename !== void 0) {
literalDataPacket.setFilename(filename);
}
const literalDataPacketlist = new PacketList();
literalDataPacketlist.push(literalDataPacket);
const message = new Message(literalDataPacketlist);
message.fromStream = streamType;
return message;
}
function isBytes(a2) {
return a2 instanceof Uint8Array || ArrayBuffer.isView(a2) && a2.constructor.name === "Uint8Array";
}
function anumber(n2) {
if (!Number.isSafeInteger(n2) || n2 < 0)
throw new Error("positive integer expected, got " + n2);
}
function abytes(b, ...lengths) {
if (!isBytes(b))
throw new Error("Uint8Array expected");
if (lengths.length > 0 && !lengths.includes(b.length))
throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length);
}
function ahash(h2) {
if (typeof h2 !== "function" || typeof h2.create !== "function")
throw new Error("Hash should be wrapped by utils.createHasher");
anumber(h2.outputLen);
anumber(h2.blockLen);
}
function aexists(instance, checkFinished = true) {
if (instance.destroyed)
throw new Error("Hash instance has been destroyed");
if (checkFinished && instance.finished)
throw new Error("Hash#digest() has already been called");
}
function aoutput(out, instance) {
abytes(out);
const min = instance.outputLen;
if (out.length < min) {
throw new Error("digestInto() expects output buffer of length at least " + min);
}
}
function u32(arr) {
return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
}
function clean(...arrays) {
for (let i4 = 0; i4 < arrays.length; i4++) {
arrays[i4].fill(0);
}
}
function createView(arr) {
return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
}
function rotr(word, shift) {
return word << 32 - shift | word >>> shift;
}
function rotl(word, shift) {
return word << shift | word >>> 32 - shift >>> 0;
}
function byteSwap(word) {
return word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
}
function byteSwap32(arr) {
for (let i4 = 0; i4 < arr.length; i4++) {
arr[i4] = byteSwap(arr[i4]);
}
return arr;
}
function bytesToHex(bytes) {
abytes(bytes);
if (hasHexBuiltin)
return bytes.toHex();
let hex = "";
for (let i4 = 0; i4 < bytes.length; i4++) {
hex += hexes[bytes[i4]];
}
return hex;
}
function asciiToBase16(ch) {
if (ch >= asciis._0 && ch <= asciis._9)
return ch - asciis._0;
if (ch >= asciis.A && ch <= asciis.F)
return ch - (asciis.A - 10);
if (ch >= asciis.a && ch <= asciis.f)
return ch - (asciis.a - 10);
return;
}
function hexToBytes(hex) {
if (typeof hex !== "string")
throw new Error("hex string expected, got " + typeof hex);
if (hasHexBuiltin)
return Uint8Array.fromHex(hex);
const hl = hex.length;
const al = hl / 2;
if (hl % 2)
throw new Error("hex string expected, got unpadded hex of length " + hl);
const array = new Uint8Array(al);
for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {
const n1 = asciiToBase16(hex.charCodeAt(hi));
const n2 = asciiToBase16(hex.charCodeAt(hi + 1));
if (n1 === void 0 || n2 === void 0) {
const char = hex[hi] + hex[hi + 1];
throw new Error('hex string expected, got non-hex character "' + char + '" at index ' + hi);
}
array[ai] = n1 * 16 + n2;
}
return array;
}
function utf8ToBytes(str2) {
if (typeof str2 !== "string")
throw new Error("string expected");
return new Uint8Array(new TextEncoder().encode(str2));
}
function toBytes(data) {
if (typeof data === "string")
data = utf8ToBytes(data);
abytes(data);
return data;
}
function concatBytes(...arrays) {
let sum = 0;
for (let i4 = 0; i4 < arrays.length; i4++) {
const a2 = arrays[i4];
abytes(a2);
sum += a2.length;
}
const res = new Uint8Array(sum);
for (let i4 = 0, pad4 = 0; i4 < arrays.length; i4++) {
const a2 = arrays[i4];
res.set(a2, pad4);
pad4 += a2.length;
}
return res;
}
function createHasher(hashCons) {
const hashC = (msg) => hashCons().update(toBytes(msg)).digest();
const tmp = hashCons();
hashC.outputLen = tmp.outputLen;
hashC.blockLen = tmp.blockLen;
hashC.create = () => hashCons();
return hashC;
}
function createXOFer(hashCons) {
const hashC = (msg, opts3) => hashCons(opts3).update(toBytes(msg)).digest();
const tmp = hashCons({});
hashC.outputLen = tmp.outputLen;
hashC.blockLen = tmp.blockLen;
hashC.create = (opts3) => hashCons(opts3);
return hashC;
}
function randomBytes(bytesLength = 32) {
if (crypto$2 && typeof crypto$2.getRandomValues === "function") {
return crypto$2.getRandomValues(new Uint8Array(bytesLength));
}
if (crypto$2 && typeof crypto$2.randomBytes === "function") {
return Uint8Array.from(crypto$2.randomBytes(bytesLength));
}
throw new Error("crypto.getRandomValues must be defined");
}
function _abool2(value, title = "") {
if (typeof value !== "boolean") {
const prefix = title && `"${title}"`;
throw new Error(prefix + "expected boolean, got type=" + typeof value);
}
return value;
}
function _abytes2(value, length, title = "") {
const bytes = isBytes(value);
const len = value?.length;
const needsLen = length !== void 0;
if (!bytes || needsLen && len !== length) {
const prefix = title && `"${title}" `;
const ofLen = needsLen ? ` of length ${length}` : "";
const got = bytes ? `length=${len}` : `type=${typeof value}`;
throw new Error(prefix + "expected Uint8Array" + ofLen + ", got " + got);
}
return value;
}
function numberToHexUnpadded(num) {
const hex = num.toString(16);
return hex.length & 1 ? "0" + hex : hex;
}
function hexToNumber(hex) {
if (typeof hex !== "string")
throw new Error("hex string expected, got " + typeof hex);
return hex === "" ? _0n$6 : BigInt("0x" + hex);
}
function bytesToNumberBE(bytes) {
return hexToNumber(bytesToHex(bytes));
}
function bytesToNumberLE(bytes) {
abytes(bytes);
return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));
}
function numberToBytesBE(n2, len) {
return hexToBytes(n2.toString(16).padStart(len * 2, "0"));
}
function numberToBytesLE(n2, len) {
return numberToBytesBE(n2, len).reverse();
}
function ensureBytes(title, hex, expectedLength) {
let res;
if (typeof hex === "string") {
try {
res = hexToBytes(hex);
} catch (e) {
throw new Error(title + " must be hex string or Uint8Array, cause: " + e);
}
} else if (isBytes(hex)) {
res = Uint8Array.from(hex);
} else {
throw new Error(title + " must be hex string or Uint8Array");
}
const len = res.length;
if (typeof expectedLength === "number" && len !== expectedLength)
throw new Error(title + " of length " + expectedLength + " expected, got " + len);
return res;
}
function copyBytes(bytes) {
return Uint8Array.from(bytes);
}
function asciiToBytes(ascii) {
return Uint8Array.from(ascii, (c3, i4) => {
const charCode = c3.charCodeAt(0);
if (c3.length !== 1 || charCode > 127) {
throw new Error(`string contains non-ASCII character "${ascii[i4]}" with code ${charCode} at position ${i4}`);
}
return charCode;
});
}
function inRange(n2, min, max4) {
return isPosBig(n2) && isPosBig(min) && isPosBig(max4) && min <= n2 && n2 < max4;
}
function aInRange(title, n2, min, max4) {
if (!inRange(n2, min, max4))
throw new Error("expected valid " + title + ": " + min + " <= n < " + max4 + ", got " + n2);
}
function bitLen(n2) {
let len;
for (len = 0; n2 > _0n$6; n2 >>= _1n$7, len += 1)
;
return len;
}
function createHmacDrbg(hashLen, qByteLen, hmacFn) {
if (typeof hashLen !== "number" || hashLen < 2)
throw new Error("hashLen must be a number");
if (typeof qByteLen !== "number" || qByteLen < 2)
throw new Error("qByteLen must be a number");
if (typeof hmacFn !== "function")
throw new Error("hmacFn must be a function");
const u8n = (len) => new Uint8Array(len);
const u8of = (byte) => Uint8Array.of(byte);
let v = u8n(hashLen);
let k2 = u8n(hashLen);
let i4 = 0;
const reset2 = () => {
v.fill(1);
k2.fill(0);
i4 = 0;
};
const h2 = (...b) => hmacFn(k2, v, ...b);
const reseed = (seed = u8n(0)) => {
k2 = h2(u8of(0), seed);
v = h2();
if (seed.length === 0)
return;
k2 = h2(u8of(1), seed);
v = h2();
};
const gen2 = () => {
if (i4++ >= 1e3)
throw new Error("drbg: tried 1000 values");
let len = 0;
const out = [];
while (len < qByteLen) {
v = h2();
const sl = v.slice();
out.push(sl);
len += v.length;
}
return concatBytes(...out);
};
const genUntil = (seed, pred) => {
reset2();
reseed(seed);
let res = void 0;
while (!(res = pred(gen2())))
reseed();
reset2();
return res;
};
return genUntil;
}
function _validateObject(object, fields, optFields = {}) {
if (!object || typeof object !== "object")
throw new Error("expected valid options object");
function checkField(fieldName, expectedType, isOpt) {
const val = object[fieldName];
if (isOpt && val === void 0)
return;
const current = typeof val;
if (current !== expectedType || val === null)
throw new Error(`param "${fieldName}" is invalid: expected ${expectedType}, got ${current}`);
}
Object.entries(fields).forEach(([k2, v]) => checkField(k2, v, false));
Object.entries(optFields).forEach(([k2, v]) => checkField(k2, v, true));
}
function memoized(fn) {
const map26 = /* @__PURE__ */ new WeakMap();
return (arg, ...args) => {
const val = map26.get(arg);
if (val !== void 0)
return val;
const computed = fn(arg, ...args);
map26.set(arg, computed);
return computed;
};
}
function mod(a2, b) {
const result2 = a2 % b;
return result2 >= _0n$5 ? result2 : b + result2;
}
function pow2(x3, power, modulo) {
let res = x3;
while (power-- > _0n$5) {
res *= res;
res %= modulo;
}
return res;
}
function invert(number, modulo) {
if (number === _0n$5)
throw new Error("invert: expected non-zero number");
if (modulo <= _0n$5)
throw new Error("invert: expected positive modulus, got " + modulo);
let a2 = mod(number, modulo);
let b = modulo;
let x3 = _0n$5, u2 = _1n$6;
while (a2 !== _0n$5) {
const q = b / a2;
const r = b % a2;
const m = x3 - u2 * q;
b = a2, a2 = r, x3 = u2, u2 = m;
}
const gcd2 = b;
if (gcd2 !== _1n$6)
throw new Error("invert: does not exist");
return mod(x3, modulo);
}
function assertIsSquare(Fp2, root, n2) {
if (!Fp2.eql(Fp2.sqr(root), n2))
throw new Error("Cannot find square root");
}
function sqrt3mod4(Fp2, n2) {
const p1div4 = (Fp2.ORDER + _1n$6) / _4n$1;
const root = Fp2.pow(n2, p1div4);
assertIsSquare(Fp2, root, n2);
return root;
}
function sqrt5mod8(Fp2, n2) {
const p5div8 = (Fp2.ORDER - _5n) / _8n$1;
const n22 = Fp2.mul(n2, _2n$6);
const v = Fp2.pow(n22, p5div8);
const nv = Fp2.mul(n2, v);
const i4 = Fp2.mul(Fp2.mul(nv, _2n$6), v);
const root = Fp2.mul(nv, Fp2.sub(i4, Fp2.ONE));
assertIsSquare(Fp2, root, n2);
return root;
}
function sqrt9mod16(P2) {
const Fp_ = Field(P2);
const tn = tonelliShanks(P2);
const c1 = tn(Fp_, Fp_.neg(Fp_.ONE));
const c22 = tn(Fp_, c1);
const c3 = tn(Fp_, Fp_.neg(c1));
const c4 = (P2 + _7n$1) / _16n;
return (Fp2, n2) => {
let tv1 = Fp2.pow(n2, c4);
let tv2 = Fp2.mul(tv1, c1);
const tv3 = Fp2.mul(tv1, c22);
const tv4 = Fp2.mul(tv1, c3);
const e1 = Fp2.eql(Fp2.sqr(tv2), n2);
const e2 = Fp2.eql(Fp2.sqr(tv3), n2);
tv1 = Fp2.cmov(tv1, tv2, e1);
tv2 = Fp2.cmov(tv4, tv3, e2);
const e3 = Fp2.eql(Fp2.sqr(tv2), n2);
const root = Fp2.cmov(tv1, tv2, e3);
assertIsSquare(Fp2, root, n2);
return root;
};
}
function tonelliShanks(P2) {
if (P2 < _3n$2)
throw new Error("sqrt is not defined for small field");
let Q = P2 - _1n$6;
let S3 = 0;
while (Q % _2n$6 === _0n$5) {
Q /= _2n$6;
S3++;
}
let Z2 = _2n$6;
const _Fp = Field(P2);
while (FpLegendre(_Fp, Z2) === 1) {
if (Z2++ > 1e3)
throw new Error("Cannot find square root: probably non-prime P");
}
if (S3 === 1)
return sqrt3mod4;
let cc = _Fp.pow(Z2, Q);
const Q1div2 = (Q + _1n$6) / _2n$6;
return function tonelliSlow(Fp2, n2) {
if (Fp2.is0(n2))
return n2;
if (FpLegendre(Fp2, n2) !== 1)
throw new Error("Cannot find square root");
let M3 = S3;
let c3 = Fp2.mul(Fp2.ONE, cc);
let t2 = Fp2.pow(n2, Q);
let R2 = Fp2.pow(n2, Q1div2);
while (!Fp2.eql(t2, Fp2.ONE)) {
if (Fp2.is0(t2))
return Fp2.ZERO;
let i4 = 1;
let t_tmp = Fp2.sqr(t2);
while (!Fp2.eql(t_tmp, Fp2.ONE)) {
i4++;
t_tmp = Fp2.sqr(t_tmp);
if (i4 === M3)
throw new Error("Cannot find square root");
}
const exponent = _1n$6 << BigInt(M3 - i4 - 1);
const b = Fp2.pow(c3, exponent);
M3 = i4;
c3 = Fp2.sqr(b);
t2 = Fp2.mul(t2, c3);
R2 = Fp2.mul(R2, b);
}
return R2;
};
}
function FpSqrt(P2) {
if (P2 % _4n$1 === _3n$2)
return sqrt3mod4;
if (P2 % _8n$1 === _5n)
return sqrt5mod8;
if (P2 % _16n === _9n)
return sqrt9mod16(P2);
return tonelliShanks(P2);
}
function validateField(field) {
const initial = {
ORDER: "bigint",
MASK: "bigint",
BYTES: "number",
BITS: "number"
};
const opts3 = FIELD_FIELDS.reduce((map26, val) => {
map26[val] = "function";
return map26;
}, initial);
_validateObject(field, opts3);
return field;
}
function FpPow(Fp2, num, power) {
if (power < _0n$5)
throw new Error("invalid exponent, negatives unsupported");
if (power === _0n$5)
return Fp2.ONE;
if (power === _1n$6)
return num;
let p = Fp2.ONE;
let d3 = num;
while (power > _0n$5) {
if (power & _1n$6)
p = Fp2.mul(p, d3);
d3 = Fp2.sqr(d3);
power >>= _1n$6;
}
return p;
}
function FpInvertBatch(Fp2, nums, passZero = false) {
const inverted = new Array(nums.length).fill(passZero ? Fp2.ZERO : void 0);
const multipliedAcc = nums.reduce((acc, num, i4) => {
if (Fp2.is0(num))
return acc;
inverted[i4] = acc;
return Fp2.mul(acc, num);
}, Fp2.ONE);
const invertedAcc = Fp2.inv(multipliedAcc);
nums.reduceRight((acc, num, i4) => {
if (Fp2.is0(num))
return acc;
inverted[i4] = Fp2.mul(acc, inverted[i4]);
return Fp2.mul(acc, num);
}, invertedAcc);
return inverted;
}
function FpLegendre(Fp2, n2) {
const p1mod2 = (Fp2.ORDER - _1n$6) / _2n$6;
const powered = Fp2.pow(n2, p1mod2);
const yes = Fp2.eql(powered, Fp2.ONE);
const zero2 = Fp2.eql(powered, Fp2.ZERO);
const no = Fp2.eql(powered, Fp2.neg(Fp2.ONE));
if (!yes && !zero2 && !no)
throw new Error("invalid Legendre symbol result");
return yes ? 1 : zero2 ? 0 : -1;
}
function nLength(n2, nBitLength) {
if (nBitLength !== void 0)
anumber(nBitLength);
const _nBitLength = nBitLength !== void 0 ? nBitLength : n2.toString(2).length;
const nByteLength = Math.ceil(_nBitLength / 8);
return { nBitLength: _nBitLength, nByteLength };
}
function Field(ORDER, bitLenOrOpts, isLE2 = false, opts3 = {}) {
if (ORDER <= _0n$5)
throw new Error("invalid field: expected ORDER > 0, got " + ORDER);
let _nbitLength = void 0;
let _sqrt = void 0;
let modFromBytes = false;
let allowedLengths = void 0;
if (typeof bitLenOrOpts === "object" && bitLenOrOpts != null) {
if (opts3.sqrt || isLE2)
throw new Error("cannot specify opts in two arguments");
const _opts = bitLenOrOpts;
if (_opts.BITS)
_nbitLength = _opts.BITS;
if (_opts.sqrt)
_sqrt = _opts.sqrt;
if (typeof _opts.isLE === "boolean")
isLE2 = _opts.isLE;
if (typeof _opts.modFromBytes === "boolean")
modFromBytes = _opts.modFromBytes;
allowedLengths = _opts.allowedLengths;
} else {
if (typeof bitLenOrOpts === "number")
_nbitLength = bitLenOrOpts;
if (opts3.sqrt)
_sqrt = opts3.sqrt;
}
const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, _nbitLength);
if (BYTES > 2048)
throw new Error("invalid field: expected ORDER of <= 2048 bytes");
let sqrtP;
const f = Object.freeze({
ORDER,
isLE: isLE2,
BITS,
BYTES,
MASK: bitMask(BITS),
ZERO: _0n$5,
ONE: _1n$6,
allowedLengths,
create: (num) => mod(num, ORDER),
isValid: (num) => {
if (typeof num !== "bigint")
throw new Error("invalid field element: expected bigint, got " + typeof num);
return _0n$5 <= num && num < ORDER;
},
is0: (num) => num === _0n$5,
// is valid and invertible
isValidNot0: (num) => !f.is0(num) && f.isValid(num),
isOdd: (num) => (num & _1n$6) === _1n$6,
neg: (num) => mod(-num, ORDER),
eql: (lhs, rhs) => lhs === rhs,
sqr: (num) => mod(num * num, ORDER),
add: (lhs, rhs) => mod(lhs + rhs, ORDER),
sub: (lhs, rhs) => mod(lhs - rhs, ORDER),
mul: (lhs, rhs) => mod(lhs * rhs, ORDER),
pow: (num, power) => FpPow(f, num, power),
div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),
// Same as above, but doesn't normalize
sqrN: (num) => num * num,
addN: (lhs, rhs) => lhs + rhs,
subN: (lhs, rhs) => lhs - rhs,
mulN: (lhs, rhs) => lhs * rhs,
inv: (num) => invert(num, ORDER),
sqrt: _sqrt || ((n2) => {
if (!sqrtP)
sqrtP = FpSqrt(ORDER);
return sqrtP(f, n2);
}),
toBytes: (num) => isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES),
fromBytes: (bytes, skipValidation = true) => {
if (allowedLengths) {
if (!allowedLengths.includes(bytes.length) || bytes.length > BYTES) {
throw new Error("Field.fromBytes: expected " + allowedLengths + " bytes, got " + bytes.length);
}
const padded = new Uint8Array(BYTES);
padded.set(bytes, isLE2 ? 0 : padded.length - bytes.length);
bytes = padded;
}
if (bytes.length !== BYTES)
throw new Error("Field.fromBytes: expected " + BYTES + " bytes, got " + bytes.length);
let scalar = isLE2 ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);
if (modFromBytes)
scalar = mod(scalar, ORDER);
if (!skipValidation) {
if (!f.isValid(scalar))
throw new Error("invalid field element: outside of range 0..ORDER");
}
return scalar;
},
// TODO: we don't need it here, move out to separate fn
invertBatch: (lst) => FpInvertBatch(f, lst),
// We can't move this out because Fp6, Fp12 implement it
// and it's unclear what to return in there.
cmov: (a2, b, c3) => c3 ? b : a2
});
return Object.freeze(f);
}
function getFieldBytesLength(fieldOrder) {
if (typeof fieldOrder !== "bigint")
throw new Error("field order must be bigint");
const bitLength2 = fieldOrder.toString(2).length;
return Math.ceil(bitLength2 / 8);
}
function getMinHashLength(fieldOrder) {
const length = getFieldBytesLength(fieldOrder);
return length + Math.ceil(length / 2);
}
function mapHashToField(key, fieldOrder, isLE2 = false) {
const len = key.length;
const fieldLen = getFieldBytesLength(fieldOrder);
const minLen = getMinHashLength(fieldOrder);
if (len < 16 || len < minLen || len > 1024)
throw new Error("expected " + minLen + "-1024 bytes of input, got " + len);
const num = isLE2 ? bytesToNumberLE(key) : bytesToNumberBE(key);
const reduced = mod(num, fieldOrder - _1n$6) + _1n$6;
return isLE2 ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);
}
function setBigUint64(view, byteOffset, value, isLE2) {
if (typeof view.setBigUint64 === "function")
return view.setBigUint64(byteOffset, value, isLE2);
const _32n2 = BigInt(32);
const _u32_max = BigInt(4294967295);
const wh = Number(value >> _32n2 & _u32_max);
const wl = Number(value & _u32_max);
const h2 = isLE2 ? 4 : 0;
const l = isLE2 ? 0 : 4;
view.setUint32(byteOffset + h2, wh, isLE2);
view.setUint32(byteOffset + l, wl, isLE2);
}
function Chi$1(a2, b, c3) {
return a2 & b ^ ~a2 & c3;
}
function Maj(a2, b, c3) {
return a2 & b ^ a2 & c3 ^ b & c3;
}
function fromBig(n2, le = false) {
if (le)
return { h: Number(n2 & U32_MASK64), l: Number(n2 >> _32n & U32_MASK64) };
return { h: Number(n2 >> _32n & U32_MASK64) | 0, l: Number(n2 & U32_MASK64) | 0 };
}
function split2(lst, le = false) {
const len = lst.length;
let Ah = new Uint32Array(len);
let Al = new Uint32Array(len);
for (let i4 = 0; i4 < len; i4++) {
const { h: h2, l } = fromBig(lst[i4], le);
[Ah[i4], Al[i4]] = [h2, l];
}
return [Ah, Al];
}
function add$1(Ah, Al, Bh, Bl) {
const l = (Al >>> 0) + (Bl >>> 0);
return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 };
}
function negateCt(condition, item) {
const neg = item.negate();
return condition ? neg : item;
}
function normalizeZ(c3, points) {
const invertedZs = FpInvertBatch(c3.Fp, points.map((p) => p.Z));
return points.map((p, i4) => c3.fromAffine(p.toAffine(invertedZs[i4])));
}
function validateW(W2, bits2) {
if (!Number.isSafeInteger(W2) || W2 <= 0 || W2 > bits2)
throw new Error("invalid window size, expected [1.." + bits2 + "], got W=" + W2);
}
function calcWOpts(W2, scalarBits) {
validateW(W2, scalarBits);
const windows = Math.ceil(scalarBits / W2) + 1;
const windowSize = 2 ** (W2 - 1);
const maxNumber = 2 ** W2;
const mask = bitMask(W2);
const shiftBy = BigInt(W2);
return { windows, windowSize, mask, maxNumber, shiftBy };
}
function calcOffsets(n2, window2, wOpts) {
const { windowSize, mask, maxNumber, shiftBy } = wOpts;
let wbits2 = Number(n2 & mask);
let nextN = n2 >> shiftBy;
if (wbits2 > windowSize) {
wbits2 -= maxNumber;
nextN += _1n$5;
}
const offsetStart = window2 * windowSize;
const offset = offsetStart + Math.abs(wbits2) - 1;
const isZero2 = wbits2 === 0;
const isNeg = wbits2 < 0;
const isNegF = window2 % 2 !== 0;
const offsetF = offsetStart;
return { nextN, offset, isZero: isZero2, isNeg, isNegF, offsetF };
}
function validateMSMPoints(points, c3) {
if (!Array.isArray(points))
throw new Error("array expected");
points.forEach((p, i4) => {
if (!(p instanceof c3))
throw new Error("invalid point at index " + i4);
});
}
function validateMSMScalars(scalars, field) {
if (!Array.isArray(scalars))
throw new Error("array of scalars expected");
scalars.forEach((s, i4) => {
if (!field.isValid(s))
throw new Error("invalid scalar at index " + i4);
});
}
function getW$1(P2) {
return pointWindowSizes.get(P2) || 1;
}
function assert0(n2) {
if (n2 !== _0n$4)
throw new Error("invalid wNAF");
}
function mulEndoUnsafe(Point, point, k1, k2) {
let acc = point;
let p1 = Point.ZERO;
let p2 = Point.ZERO;
while (k1 > _0n$4 || k2 > _0n$4) {
if (k1 & _1n$5)
p1 = p1.add(acc);
if (k2 & _1n$5)
p2 = p2.add(acc);
acc = acc.double();
k1 >>= _1n$5;
k2 >>= _1n$5;
}
return { p1, p2 };
}
function pippenger(c3, fieldN, points, scalars) {
validateMSMPoints(points, c3);
validateMSMScalars(scalars, fieldN);
const plength = points.length;
const slength = scalars.length;
if (plength !== slength)
throw new Error("arrays of points and scalars must have equal length");
const zero2 = c3.ZERO;
const wbits2 = bitLen(BigInt(plength));
let windowSize = 1;
if (wbits2 > 12)
windowSize = wbits2 - 3;
else if (wbits2 > 4)
windowSize = wbits2 - 2;
else if (wbits2 > 0)
windowSize = 2;
const MASK = bitMask(windowSize);
const buckets = new Array(Number(MASK) + 1).fill(zero2);
const lastBits = Math.floor((fieldN.BITS - 1) / windowSize) * windowSize;
let sum = zero2;
for (let i4 = lastBits; i4 >= 0; i4 -= windowSize) {
buckets.fill(zero2);
for (let j2 = 0; j2 < slength; j2++) {
const scalar = scalars[j2];
const wbits3 = Number(scalar >> BigInt(i4) & MASK);
buckets[wbits3] = buckets[wbits3].add(points[j2]);
}
let resI = zero2;
for (let j2 = buckets.length - 1, sumI = zero2; j2 > 0; j2--) {
sumI = sumI.add(buckets[j2]);
resI = resI.add(sumI);
}
sum = sum.add(resI);
if (i4 !== 0)
for (let j2 = 0; j2 < windowSize; j2++)
sum = sum.double();
}
return sum;
}
function createField(order, field, isLE2) {
if (field) {
if (field.ORDER !== order)
throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
validateField(field);
return field;
} else {
return Field(order, { isLE: isLE2 });
}
}
function _createCurveFields(type4, CURVE, curveOpts = {}, FpFnLE) {
if (FpFnLE === void 0)
FpFnLE = type4 === "edwards";
if (!CURVE || typeof CURVE !== "object")
throw new Error(`expected valid ${type4} CURVE object`);
for (const p of ["p", "n", "h"]) {
const val = CURVE[p];
if (!(typeof val === "bigint" && val > _0n$4))
throw new Error(`CURVE.${p} must be positive bigint`);
}
const Fp2 = createField(CURVE.p, curveOpts.Fp, FpFnLE);
const Fn2 = createField(CURVE.n, curveOpts.Fn, FpFnLE);
const _b2 = type4 === "weierstrass" ? "b" : "d";
const params = ["Gx", "Gy", "a", _b2];
for (const p of params) {
if (!Fp2.isValid(CURVE[p]))
throw new Error(`CURVE.${p} must be valid field element of CURVE.Fp`);
}
CURVE = Object.freeze(Object.assign({}, CURVE));
return { CURVE, Fp: Fp2, Fn: Fn2 };
}
function _splitEndoScalar(k2, basis, n2) {
const [[a1, b1], [a2, b2]] = basis;
const c1 = divNearest(b2 * k2, n2);
const c22 = divNearest(-b1 * k2, n2);
let k1 = k2 - c1 * a1 - c22 * a2;
let k22 = -c1 * b1 - c22 * b2;
const k1neg = k1 < _0n$3;
const k2neg = k22 < _0n$3;
if (k1neg)
k1 = -k1;
if (k2neg)
k22 = -k22;
const MAX_NUM = bitMask(Math.ceil(bitLen(n2) / 2)) + _1n$4;
if (k1 < _0n$3 || k1 >= MAX_NUM || k22 < _0n$3 || k22 >= MAX_NUM) {
throw new Error("splitScalar (endomorphism): failed, k=" + k2);
}
return { k1neg, k1, k2neg, k2: k22 };
}
function validateSigFormat(format2) {
if (!["compact", "recovered", "der"].includes(format2))
throw new Error('Signature format must be "compact", "recovered", or "der"');
return format2;
}
function validateSigOpts(opts3, def) {
const optsn = {};
for (let optName of Object.keys(def)) {
optsn[optName] = opts3[optName] === void 0 ? def[optName] : opts3[optName];
}
_abool2(optsn.lowS, "lowS");
_abool2(optsn.prehash, "prehash");
if (optsn.format !== void 0)
validateSigFormat(optsn.format);
return optsn;
}
function _normFnElement(Fn2, key) {
const { BYTES: expected } = Fn2;
let num;
if (typeof key === "bigint") {
num = key;
} else {
let bytes = ensureBytes("private key", key);
try {
num = Fn2.fromBytes(bytes);
} catch (error) {
throw new Error(`invalid private key: expected ui8a of size ${expected}, got ${typeof key}`);
}
}
if (!Fn2.isValidNot0(num))
throw new Error("invalid private key: out of range [1..N-1]");
return num;
}
function weierstrassN(params, extraOpts = {}) {
const validated = _createCurveFields("weierstrass", params, extraOpts);
const { Fp: Fp2, Fn: Fn2 } = validated;
let CURVE = validated.CURVE;
const { h: cofactor, n: CURVE_ORDER } = CURVE;
_validateObject(extraOpts, {}, {
allowInfinityPoint: "boolean",
clearCofactor: "function",
isTorsionFree: "function",
fromBytes: "function",
toBytes: "function",
endo: "object",
wrapPrivateKey: "boolean"
});
const { endo } = extraOpts;
if (endo) {
if (!Fp2.is0(CURVE.a) || typeof endo.beta !== "bigint" || !Array.isArray(endo.basises)) {
throw new Error('invalid endo: expected "beta": bigint and "basises": array');
}
}
const lengths = getWLengths(Fp2, Fn2);
function assertCompressionIsSupported() {
if (!Fp2.isOdd)
throw new Error("compression is not supported: Field does not have .isOdd()");
}
function pointToBytes(_c, point, isCompressed) {
const { x: x3, y } = point.toAffine();
const bx = Fp2.toBytes(x3);
_abool2(isCompressed, "isCompressed");
if (isCompressed) {
assertCompressionIsSupported();
const hasEvenY = !Fp2.isOdd(y);
return concatBytes(pprefix(hasEvenY), bx);
} else {
return concatBytes(Uint8Array.of(4), bx, Fp2.toBytes(y));
}
}
function pointFromBytes(bytes) {
_abytes2(bytes, void 0, "Point");
const { publicKey: comp, publicKeyUncompressed: uncomp } = lengths;
const length = bytes.length;
const head2 = bytes[0];
const tail2 = bytes.subarray(1);
if (length === comp && (head2 === 2 || head2 === 3)) {
const x3 = Fp2.fromBytes(tail2);
if (!Fp2.isValid(x3))
throw new Error("bad point: is not on curve, wrong x");
const y2 = weierstrassEquation(x3);
let y;
try {
y = Fp2.sqrt(y2);
} catch (sqrtError) {
const err2 = sqrtError instanceof Error ? ": " + sqrtError.message : "";
throw new Error("bad point: is not on curve, sqrt error" + err2);
}
assertCompressionIsSupported();
const isYOdd = Fp2.isOdd(y);
const isHeadOdd = (head2 & 1) === 1;
if (isHeadOdd !== isYOdd)
y = Fp2.neg(y);
return { x: x3, y };
} else if (length === uncomp && head2 === 4) {
const L3 = Fp2.BYTES;
const x3 = Fp2.fromBytes(tail2.subarray(0, L3));
const y = Fp2.fromBytes(tail2.subarray(L3, L3 * 2));
if (!isValidXY(x3, y))
throw new Error("bad point: is not on curve");
return { x: x3, y };
} else {
throw new Error(`bad point: got length ${length}, expected compressed=${comp} or uncompressed=${uncomp}`);
}
}
const encodePoint = extraOpts.toBytes || pointToBytes;
const decodePoint = extraOpts.fromBytes || pointFromBytes;
function weierstrassEquation(x3) {
const x22 = Fp2.sqr(x3);
const x32 = Fp2.mul(x22, x3);
return Fp2.add(Fp2.add(x32, Fp2.mul(x3, CURVE.a)), CURVE.b);
}
function isValidXY(x3, y) {
const left = Fp2.sqr(y);
const right = weierstrassEquation(x3);
return Fp2.eql(left, right);
}
if (!isValidXY(CURVE.Gx, CURVE.Gy))
throw new Error("bad curve params: generator point");
const _4a3 = Fp2.mul(Fp2.pow(CURVE.a, _3n$1), _4n);
const _27b2 = Fp2.mul(Fp2.sqr(CURVE.b), BigInt(27));
if (Fp2.is0(Fp2.add(_4a3, _27b2)))
throw new Error("bad curve params: a or b");
function acoord(title, n2, banZero = false) {
if (!Fp2.isValid(n2) || banZero && Fp2.is0(n2))
throw new Error(`bad point coordinate ${title}`);
return n2;
}
function aprjpoint(other) {
if (!(other instanceof Point))
throw new Error("ProjectivePoint expected");
}
function splitEndoScalarN(k2) {
if (!endo || !endo.basises)
throw new Error("no endo");
return _splitEndoScalar(k2, endo.basises, Fn2.ORDER);
}
const toAffineMemo = memoized((p, iz) => {
const { X: X2, Y: Y2, Z: Z2 } = p;
if (Fp2.eql(Z2, Fp2.ONE))
return { x: X2, y: Y2 };
const is0 = p.is0();
if (iz == null)
iz = is0 ? Fp2.ONE : Fp2.inv(Z2);
const x3 = Fp2.mul(X2, iz);
const y = Fp2.mul(Y2, iz);
const zz = Fp2.mul(Z2, iz);
if (is0)
return { x: Fp2.ZERO, y: Fp2.ZERO };
if (!Fp2.eql(zz, Fp2.ONE))
throw new Error("invZ was invalid");
return { x: x3, y };
});
const assertValidMemo = memoized((p) => {
if (p.is0()) {
if (extraOpts.allowInfinityPoint && !Fp2.is0(p.Y))
return;
throw new Error("bad point: ZERO");
}
const { x: x3, y } = p.toAffine();
if (!Fp2.isValid(x3) || !Fp2.isValid(y))
throw new Error("bad point: x or y not field elements");
if (!isValidXY(x3, y))
throw new Error("bad point: equation left != right");
if (!p.isTorsionFree())
throw new Error("bad point: not in prime-order subgroup");
return true;
});
function finishEndo(endoBeta, k1p, k2p, k1neg, k2neg) {
k2p = new Point(Fp2.mul(k2p.X, endoBeta), k2p.Y, k2p.Z);
k1p = negateCt(k1neg, k1p);
k2p = negateCt(k2neg, k2p);
return k1p.add(k2p);
}
class Point {
/** Does NOT validate if the point is valid. Use `.assertValidity()`. */
constructor(X2, Y2, Z2) {
this.X = acoord("x", X2);
this.Y = acoord("y", Y2, true);
this.Z = acoord("z", Z2);
Object.freeze(this);
}
static CURVE() {
return CURVE;
}
/** Does NOT validate if the point is valid. Use `.assertValidity()`. */
static fromAffine(p) {
const { x: x3, y } = p || {};
if (!p || !Fp2.isValid(x3) || !Fp2.isValid(y))
throw new Error("invalid affine point");
if (p instanceof Point)
throw new Error("projective point not allowed");
if (Fp2.is0(x3) && Fp2.is0(y))
return Point.ZERO;
return new Point(x3, y, Fp2.ONE);
}
static fromBytes(bytes) {
const P2 = Point.fromAffine(decodePoint(_abytes2(bytes, void 0, "point")));
P2.assertValidity();
return P2;
}
static fromHex(hex) {
return Point.fromBytes(ensureBytes("pointHex", hex));
}
get x() {
return this.toAffine().x;
}
get y() {
return this.toAffine().y;
}
/**
*
* @param windowSize
* @param isLazy true will defer table computation until the first multiplication
* @returns
*/
precompute(windowSize = 8, isLazy = true) {
wnaf.createCache(this, windowSize);
if (!isLazy)
this.multiply(_3n$1);
return this;
}
// TODO: return `this`
/** A point on curve is valid if it conforms to equation. */
assertValidity() {
assertValidMemo(this);
}
hasEvenY() {
const { y } = this.toAffine();
if (!Fp2.isOdd)
throw new Error("Field doesn't support isOdd");
return !Fp2.isOdd(y);
}
/** Compare one point to another. */
equals(other) {
aprjpoint(other);
const { X: X1, Y: Y1, Z: Z1 } = this;
const { X: X2, Y: Y2, Z: Z2 } = other;
const U1 = Fp2.eql(Fp2.mul(X1, Z2), Fp2.mul(X2, Z1));
const U2 = Fp2.eql(Fp2.mul(Y1, Z2), Fp2.mul(Y2, Z1));
return U1 && U2;
}
/** Flips point to one corresponding to (x, -y) in Affine coordinates. */
negate() {
return new Point(this.X, Fp2.neg(this.Y), this.Z);
}
// Renes-Costello-Batina exception-free doubling formula.
// There is 30% faster Jacobian formula, but it is not complete.
// https://eprint.iacr.org/2015/1060, algorithm 3
// Cost: 8M + 3S + 3*a + 2*b3 + 15add.
double() {
const { a: a2, b } = CURVE;
const b3 = Fp2.mul(b, _3n$1);
const { X: X1, Y: Y1, Z: Z1 } = this;
let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO;
let t0 = Fp2.mul(X1, X1);
let t1 = Fp2.mul(Y1, Y1);
let t2 = Fp2.mul(Z1, Z1);
let t3 = Fp2.mul(X1, Y1);
t3 = Fp2.add(t3, t3);
Z3 = Fp2.mul(X1, Z1);
Z3 = Fp2.add(Z3, Z3);
X3 = Fp2.mul(a2, Z3);
Y3 = Fp2.mul(b3, t2);
Y3 = Fp2.add(X3, Y3);
X3 = Fp2.sub(t1, Y3);
Y3 = Fp2.add(t1, Y3);
Y3 = Fp2.mul(X3, Y3);
X3 = Fp2.mul(t3, X3);
Z3 = Fp2.mul(b3, Z3);
t2 = Fp2.mul(a2, t2);
t3 = Fp2.sub(t0, t2);
t3 = Fp2.mul(a2, t3);
t3 = Fp2.add(t3, Z3);
Z3 = Fp2.add(t0, t0);
t0 = Fp2.add(Z3, t0);
t0 = Fp2.add(t0, t2);
t0 = Fp2.mul(t0, t3);
Y3 = Fp2.add(Y3, t0);
t2 = Fp2.mul(Y1, Z1);
t2 = Fp2.add(t2, t2);
t0 = Fp2.mul(t2, t3);
X3 = Fp2.sub(X3, t0);
Z3 = Fp2.mul(t2, t1);
Z3 = Fp2.add(Z3, Z3);
Z3 = Fp2.add(Z3, Z3);
return new Point(X3, Y3, Z3);
}
// Renes-Costello-Batina exception-free addition formula.
// There is 30% faster Jacobian formula, but it is not complete.
// https://eprint.iacr.org/2015/1060, algorithm 1
// Cost: 12M + 0S + 3*a + 3*b3 + 23add.
add(other) {
aprjpoint(other);
const { X: X1, Y: Y1, Z: Z1 } = this;
const { X: X2, Y: Y2, Z: Z2 } = other;
let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO;
const a2 = CURVE.a;
const b3 = Fp2.mul(CURVE.b, _3n$1);
let t0 = Fp2.mul(X1, X2);
let t1 = Fp2.mul(Y1, Y2);
let t2 = Fp2.mul(Z1, Z2);
let t3 = Fp2.add(X1, Y1);
let t4 = Fp2.add(X2, Y2);
t3 = Fp2.mul(t3, t4);
t4 = Fp2.add(t0, t1);
t3 = Fp2.sub(t3, t4);
t4 = Fp2.add(X1, Z1);
let t5 = Fp2.add(X2, Z2);
t4 = Fp2.mul(t4, t5);
t5 = Fp2.add(t0, t2);
t4 = Fp2.sub(t4, t5);
t5 = Fp2.add(Y1, Z1);
X3 = Fp2.add(Y2, Z2);
t5 = Fp2.mul(t5, X3);
X3 = Fp2.add(t1, t2);
t5 = Fp2.sub(t5, X3);
Z3 = Fp2.mul(a2, t4);
X3 = Fp2.mul(b3, t2);
Z3 = Fp2.add(X3, Z3);
X3 = Fp2.sub(t1, Z3);
Z3 = Fp2.add(t1, Z3);
Y3 = Fp2.mul(X3, Z3);
t1 = Fp2.add(t0, t0);
t1 = Fp2.add(t1, t0);
t2 = Fp2.mul(a2, t2);
t4 = Fp2.mul(b3, t4);
t1 = Fp2.add(t1, t2);
t2 = Fp2.sub(t0, t2);
t2 = Fp2.mul(a2, t2);
t4 = Fp2.add(t4, t2);
t0 = Fp2.mul(t1, t4);
Y3 = Fp2.add(Y3, t0);
t0 = Fp2.mul(t5, t4);
X3 = Fp2.mul(t3, X3);
X3 = Fp2.sub(X3, t0);
t0 = Fp2.mul(t3, t1);
Z3 = Fp2.mul(t5, Z3);
Z3 = Fp2.add(Z3, t0);
return new Point(X3, Y3, Z3);
}
subtract(other) {
return this.add(other.negate());
}
is0() {
return this.equals(Point.ZERO);
}
/**
* Constant time multiplication.
* Uses wNAF method. Windowed method may be 10% faster,
* but takes 2x longer to generate and consumes 2x memory.
* Uses precomputes when available.
* Uses endomorphism for Koblitz curves.
* @param scalar by which the point would be multiplied
* @returns New point
*/
multiply(scalar) {
const { endo: endo2 } = extraOpts;
if (!Fn2.isValidNot0(scalar))
throw new Error("invalid scalar: out of range");
let point, fake;
const mul3 = (n2) => wnaf.cached(this, n2, (p) => normalizeZ(Point, p));
if (endo2) {
const { k1neg, k1, k2neg, k2 } = splitEndoScalarN(scalar);
const { p: k1p, f: k1f } = mul3(k1);
const { p: k2p, f: k2f } = mul3(k2);
fake = k1f.add(k2f);
point = finishEndo(endo2.beta, k1p, k2p, k1neg, k2neg);
} else {
const { p, f } = mul3(scalar);
point = p;
fake = f;
}
return normalizeZ(Point, [point, fake])[0];
}
/**
* Non-constant-time multiplication. Uses double-and-add algorithm.
* It's faster, but should only be used when you don't care about
* an exposed secret key e.g. sig verification, which works over *public* keys.
*/
multiplyUnsafe(sc) {
const { endo: endo2 } = extraOpts;
const p = this;
if (!Fn2.isValid(sc))
throw new Error("invalid scalar: out of range");
if (sc === _0n$3 || p.is0())
return Point.ZERO;
if (sc === _1n$4)
return p;
if (wnaf.hasCache(this))
return this.multiply(sc);
if (endo2) {
const { k1neg, k1, k2neg, k2 } = splitEndoScalarN(sc);
const { p1, p2 } = mulEndoUnsafe(Point, p, k1, k2);
return finishEndo(endo2.beta, p1, p2, k1neg, k2neg);
} else {
return wnaf.unsafe(p, sc);
}
}
multiplyAndAddUnsafe(Q, a2, b) {
const sum = this.multiplyUnsafe(a2).add(Q.multiplyUnsafe(b));
return sum.is0() ? void 0 : sum;
}
/**
* Converts Projective point to affine (x, y) coordinates.
* @param invertedZ Z^-1 (inverted zero) - optional, precomputation is useful for invertBatch
*/
toAffine(invertedZ) {
return toAffineMemo(this, invertedZ);
}
/**
* Checks whether Point is free of torsion elements (is in prime subgroup).
* Always torsion-free for cofactor=1 curves.
*/
isTorsionFree() {
const { isTorsionFree } = extraOpts;
if (cofactor === _1n$4)
return true;
if (isTorsionFree)
return isTorsionFree(Point, this);
return wnaf.unsafe(this, CURVE_ORDER).is0();
}
clearCofactor() {
const { clearCofactor } = extraOpts;
if (cofactor === _1n$4)
return this;
if (clearCofactor)
return clearCofactor(Point, this);
return this.multiplyUnsafe(cofactor);
}
isSmallOrder() {
return this.multiplyUnsafe(cofactor).is0();
}
toBytes(isCompressed = true) {
_abool2(isCompressed, "isCompressed");
this.assertValidity();
return encodePoint(Point, this, isCompressed);
}
toHex(isCompressed = true) {
return bytesToHex(this.toBytes(isCompressed));
}
toString() {
return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
}
// TODO: remove
get px() {
return this.X;
}
get py() {
return this.X;
}
get pz() {
return this.Z;
}
toRawBytes(isCompressed = true) {
return this.toBytes(isCompressed);
}
_setWindowSize(windowSize) {
this.precompute(windowSize);
}
static normalizeZ(points) {
return normalizeZ(Point, points);
}
static msm(points, scalars) {
return pippenger(Point, Fn2, points, scalars);
}
static fromPrivateKey(privateKey) {
return Point.BASE.multiply(_normFnElement(Fn2, privateKey));
}
}
Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp2.ONE);
Point.ZERO = new Point(Fp2.ZERO, Fp2.ONE, Fp2.ZERO);
Point.Fp = Fp2;
Point.Fn = Fn2;
const bits2 = Fn2.BITS;
const wnaf = new wNAF(Point, extraOpts.endo ? Math.ceil(bits2 / 2) : bits2);
Point.BASE.precompute(8);
return Point;
}
function pprefix(hasEvenY) {
return Uint8Array.of(hasEvenY ? 2 : 3);
}
function getWLengths(Fp2, Fn2) {
return {
secretKey: Fn2.BYTES,
publicKey: 1 + Fp2.BYTES,
publicKeyUncompressed: 1 + 2 * Fp2.BYTES,
publicKeyHasPrefix: true,
signature: 2 * Fn2.BYTES
};
}
function ecdh(Point, ecdhOpts = {}) {
const { Fn: Fn2 } = Point;
const randomBytes_ = ecdhOpts.randomBytes || randomBytes;
const lengths = Object.assign(getWLengths(Point.Fp, Fn2), { seed: getMinHashLength(Fn2.ORDER) });
function isValidSecretKey(secretKey) {
try {
return !!_normFnElement(Fn2, secretKey);
} catch (error) {
return false;
}
}
function isValidPublicKey(publicKey, isCompressed) {
const { publicKey: comp, publicKeyUncompressed } = lengths;
try {
const l = publicKey.length;
if (isCompressed === true && l !== comp)
return false;
if (isCompressed === false && l !== publicKeyUncompressed)
return false;
return !!Point.fromBytes(publicKey);
} catch (error) {
return false;
}
}
function randomSecretKey(seed = randomBytes_(lengths.seed)) {
return mapHashToField(_abytes2(seed, lengths.seed, "seed"), Fn2.ORDER);
}
function getPublicKey(secretKey, isCompressed = true) {
return Point.BASE.multiply(_normFnElement(Fn2, secretKey)).toBytes(isCompressed);
}
function keygen(seed) {
const secretKey = randomSecretKey(seed);
return { secretKey, publicKey: getPublicKey(secretKey) };
}
function isProbPub(item) {
if (typeof item === "bigint")
return false;
if (item instanceof Point)
return true;
const { secretKey, publicKey, publicKeyUncompressed } = lengths;
if (Fn2.allowedLengths || secretKey === publicKey)
return void 0;
const l = ensureBytes("key", item).length;
return l === publicKey || l === publicKeyUncompressed;
}
function getSharedSecret(secretKeyA, publicKeyB, isCompressed = true) {
if (isProbPub(secretKeyA) === true)
throw new Error("first arg must be private key");
if (isProbPub(publicKeyB) === false)
throw new Error("second arg must be public key");
const s = _normFnElement(Fn2, secretKeyA);
const b = Point.fromHex(publicKeyB);
return b.multiply(s).toBytes(isCompressed);
}
const utils = {
isValidSecretKey,
isValidPublicKey,
randomSecretKey,
// TODO: remove
isValidPrivateKey: isValidSecretKey,
randomPrivateKey: randomSecretKey,
normPrivateKeyToScalar: (key) => _normFnElement(Fn2, key),
precompute(windowSize = 8, point = Point.BASE) {
return point.precompute(windowSize, false);
}
};
return Object.freeze({ getPublicKey, getSharedSecret, keygen, Point, utils, lengths });
}
function ecdsa(Point, hash2, ecdsaOpts = {}) {
ahash(hash2);
_validateObject(ecdsaOpts, {}, {
hmac: "function",
lowS: "boolean",
randomBytes: "function",
bits2int: "function",
bits2int_modN: "function"
});
const randomBytes$1 = ecdsaOpts.randomBytes || randomBytes;
const hmac$1 = ecdsaOpts.hmac || ((key, ...msgs) => hmac(hash2, key, concatBytes(...msgs)));
const { Fp: Fp2, Fn: Fn2 } = Point;
const { ORDER: CURVE_ORDER, BITS: fnBits } = Fn2;
const { keygen, getPublicKey, getSharedSecret, utils, lengths } = ecdh(Point, ecdsaOpts);
const defaultSigOpts = {
prehash: false,
lowS: typeof ecdsaOpts.lowS === "boolean" ? ecdsaOpts.lowS : false,
format: void 0,
//'compact' as ECDSASigFormat,
extraEntropy: false
};
const defaultSigOpts_format = "compact";
function isBiggerThanHalfOrder(number) {
const HALF = CURVE_ORDER >> _1n$4;
return number > HALF;
}
function validateRS(title, num) {
if (!Fn2.isValidNot0(num))
throw new Error(`invalid signature ${title}: out of range 1..Point.Fn.ORDER`);
return num;
}
function validateSigLength(bytes, format2) {
validateSigFormat(format2);
const size = lengths.signature;
const sizer = format2 === "compact" ? size : format2 === "recovered" ? size + 1 : void 0;
return _abytes2(bytes, sizer, `${format2} signature`);
}
class Signature2 {
constructor(r, s, recovery) {
this.r = validateRS("r", r);
this.s = validateRS("s", s);
if (recovery != null)
this.recovery = recovery;
Object.freeze(this);
}
static fromBytes(bytes, format2 = defaultSigOpts_format) {
validateSigLength(bytes, format2);
let recid;
if (format2 === "der") {
const { r: r2, s: s2 } = DER.toSig(_abytes2(bytes));
return new Signature2(r2, s2);
}
if (format2 === "recovered") {
recid = bytes[0];
format2 = "compact";
bytes = bytes.subarray(1);
}
const L3 = Fn2.BYTES;
const r = bytes.subarray(0, L3);
const s = bytes.subarray(L3, L3 * 2);
return new Signature2(Fn2.fromBytes(r), Fn2.fromBytes(s), recid);
}
static fromHex(hex, format2) {
return this.fromBytes(hexToBytes(hex), format2);
}
addRecoveryBit(recovery) {
return new Signature2(this.r, this.s, recovery);
}
recoverPublicKey(messageHash) {
const FIELD_ORDER = Fp2.ORDER;
const { r, s, recovery: rec } = this;
if (rec == null || ![0, 1, 2, 3].includes(rec))
throw new Error("recovery id invalid");
const hasCofactor = CURVE_ORDER * _2n$5 < FIELD_ORDER;
if (hasCofactor && rec > 1)
throw new Error("recovery id is ambiguous for h>1 curve");
const radj = rec === 2 || rec === 3 ? r + CURVE_ORDER : r;
if (!Fp2.isValid(radj))
throw new Error("recovery id 2 or 3 invalid");
const x3 = Fp2.toBytes(radj);
const R2 = Point.fromBytes(concatBytes(pprefix((rec & 1) === 0), x3));
const ir = Fn2.inv(radj);
const h2 = bits2int_modN(ensureBytes("msgHash", messageHash));
const u1 = Fn2.create(-h2 * ir);
const u2 = Fn2.create(s * ir);
const Q = Point.BASE.multiplyUnsafe(u1).add(R2.multiplyUnsafe(u2));
if (Q.is0())
throw new Error("point at infinify");
Q.assertValidity();
return Q;
}
// Signatures should be low-s, to prevent malleability.
hasHighS() {
return isBiggerThanHalfOrder(this.s);
}
toBytes(format2 = defaultSigOpts_format) {
validateSigFormat(format2);
if (format2 === "der")
return hexToBytes(DER.hexFromSig(this));
const r = Fn2.toBytes(this.r);
const s = Fn2.toBytes(this.s);
if (format2 === "recovered") {
if (this.recovery == null)
throw new Error("recovery bit must be present");
return concatBytes(Uint8Array.of(this.recovery), r, s);
}
return concatBytes(r, s);
}
toHex(format2) {
return bytesToHex(this.toBytes(format2));
}
// TODO: remove
assertValidity() {
}
static fromCompact(hex) {
return Signature2.fromBytes(ensureBytes("sig", hex), "compact");
}
static fromDER(hex) {
return Signature2.fromBytes(ensureBytes("sig", hex), "der");
}
normalizeS() {
return this.hasHighS() ? new Signature2(this.r, Fn2.neg(this.s), this.recovery) : this;
}
toDERRawBytes() {
return this.toBytes("der");
}
toDERHex() {
return bytesToHex(this.toBytes("der"));
}
toCompactRawBytes() {
return this.toBytes("compact");
}
toCompactHex() {
return bytesToHex(this.toBytes("compact"));
}
}
const bits2int = ecdsaOpts.bits2int || function bits2int_def(bytes) {
if (bytes.length > 8192)
throw new Error("input is too large");
const num = bytesToNumberBE(bytes);
const delta = bytes.length * 8 - fnBits;
return delta > 0 ? num >> BigInt(delta) : num;
};
const bits2int_modN = ecdsaOpts.bits2int_modN || function bits2int_modN_def(bytes) {
return Fn2.create(bits2int(bytes));
};
const ORDER_MASK = bitMask(fnBits);
function int2octets(num) {
aInRange("num < 2^" + fnBits, num, _0n$3, ORDER_MASK);
return Fn2.toBytes(num);
}
function validateMsgAndHash(message, prehash) {
_abytes2(message, void 0, "message");
return prehash ? _abytes2(hash2(message), void 0, "prehashed message") : message;
}
function prepSig(message, privateKey, opts3) {
if (["recovered", "canonical"].some((k2) => k2 in opts3))
throw new Error("sign() legacy options not supported");
const { lowS, prehash, extraEntropy } = validateSigOpts(opts3, defaultSigOpts);
message = validateMsgAndHash(message, prehash);
const h1int = bits2int_modN(message);
const d3 = _normFnElement(Fn2, privateKey);
const seedArgs = [int2octets(d3), int2octets(h1int)];
if (extraEntropy != null && extraEntropy !== false) {
const e = extraEntropy === true ? randomBytes$1(lengths.secretKey) : extraEntropy;
seedArgs.push(ensureBytes("extraEntropy", e));
}
const seed = concatBytes(...seedArgs);
const m = h1int;
function k2sig(kBytes) {
const k2 = bits2int(kBytes);
if (!Fn2.isValidNot0(k2))
return;
const ik = Fn2.inv(k2);
const q = Point.BASE.multiply(k2).toAffine();
const r = Fn2.create(q.x);
if (r === _0n$3)
return;
const s = Fn2.create(ik * Fn2.create(m + r * d3));
if (s === _0n$3)
return;
let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n$4);
let normS = s;
if (lowS && isBiggerThanHalfOrder(s)) {
normS = Fn2.neg(s);
recovery ^= 1;
}
return new Signature2(r, normS, recovery);
}
return { seed, k2sig };
}
function sign(message, secretKey, opts3 = {}) {
message = ensureBytes("message", message);
const { seed, k2sig } = prepSig(message, secretKey, opts3);
const drbg = createHmacDrbg(hash2.outputLen, Fn2.BYTES, hmac$1);
const sig = drbg(seed, k2sig);
return sig;
}
function tryParsingSig(sg) {
let sig = void 0;
const isHex = typeof sg === "string" || isBytes(sg);
const isObj = !isHex && sg !== null && typeof sg === "object" && typeof sg.r === "bigint" && typeof sg.s === "bigint";
if (!isHex && !isObj)
throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");
if (isObj) {
sig = new Signature2(sg.r, sg.s);
} else if (isHex) {
try {
sig = Signature2.fromBytes(ensureBytes("sig", sg), "der");
} catch (derError) {
if (!(derError instanceof DER.Err))
throw derError;
}
if (!sig) {
try {
sig = Signature2.fromBytes(ensureBytes("sig", sg), "compact");
} catch (error) {
return false;
}
}
}
if (!sig)
return false;
return sig;
}
function verify(signature, message, publicKey, opts3 = {}) {
const { lowS, prehash, format: format2 } = validateSigOpts(opts3, defaultSigOpts);
publicKey = ensureBytes("publicKey", publicKey);
message = validateMsgAndHash(ensureBytes("message", message), prehash);
if ("strict" in opts3)
throw new Error("options.strict was renamed to lowS");
const sig = format2 === void 0 ? tryParsingSig(signature) : Signature2.fromBytes(ensureBytes("sig", signature), format2);
if (sig === false)
return false;
try {
const P2 = Point.fromBytes(publicKey);
if (lowS && sig.hasHighS())
return false;
const { r, s } = sig;
const h2 = bits2int_modN(message);
const is = Fn2.inv(s);
const u1 = Fn2.create(h2 * is);
const u2 = Fn2.create(r * is);
const R2 = Point.BASE.multiplyUnsafe(u1).add(P2.multiplyUnsafe(u2));
if (R2.is0())
return false;
const v = Fn2.create(R2.x);
return v === r;
} catch (e) {
return false;
}
}
function recoverPublicKey(signature, message, opts3 = {}) {
const { prehash } = validateSigOpts(opts3, defaultSigOpts);
message = validateMsgAndHash(message, prehash);
return Signature2.fromBytes(signature, "recovered").recoverPublicKey(message).toBytes();
}
return Object.freeze({
keygen,
getPublicKey,
getSharedSecret,
utils,
lengths,
Point,
sign,
verify,
recoverPublicKey,
Signature: Signature2,
hash: hash2
});
}
function _weierstrass_legacy_opts_to_new(c3) {
const CURVE = {
a: c3.a,
b: c3.b,
p: c3.Fp.ORDER,
n: c3.n,
h: c3.h,
Gx: c3.Gx,
Gy: c3.Gy
};
const Fp2 = c3.Fp;
let allowedLengths = c3.allowedPrivateKeyLengths ? Array.from(new Set(c3.allowedPrivateKeyLengths.map((l) => Math.ceil(l / 2)))) : void 0;
const Fn2 = Field(CURVE.n, {
BITS: c3.nBitLength,
allowedLengths,
modFromBytes: c3.wrapPrivateKey
});
const curveOpts = {
Fp: Fp2,
Fn: Fn2,
allowInfinityPoint: c3.allowInfinityPoint,
endo: c3.endo,
isTorsionFree: c3.isTorsionFree,
clearCofactor: c3.clearCofactor,
fromBytes: c3.fromBytes,
toBytes: c3.toBytes
};
return { CURVE, curveOpts };
}
function _ecdsa_legacy_opts_to_new(c3) {
const { CURVE, curveOpts } = _weierstrass_legacy_opts_to_new(c3);
const ecdsaOpts = {
hmac: c3.hmac,
randomBytes: c3.randomBytes,
lowS: c3.lowS,
bits2int: c3.bits2int,
bits2int_modN: c3.bits2int_modN
};
return { CURVE, curveOpts, hash: c3.hash, ecdsaOpts };
}
function _ecdsa_new_output_to_legacy(c3, _ecdsa) {
const Point = _ecdsa.Point;
return Object.assign({}, _ecdsa, {
ProjectivePoint: Point,
CURVE: Object.assign({}, c3, nLength(Point.Fn.ORDER, Point.Fn.BITS))
});
}
function weierstrass(c3) {
const { CURVE, curveOpts, hash: hash2, ecdsaOpts } = _ecdsa_legacy_opts_to_new(c3);
const Point = weierstrassN(CURVE, curveOpts);
const signs = ecdsa(Point, hash2, ecdsaOpts);
return _ecdsa_new_output_to_legacy(c3, signs);
}
function createCurve(curveDef, defHash) {
const create = (hash2) => weierstrass({ ...curveDef, hash: hash2 });
return { ...create(defHash), create };
}
function keccakP(s, rounds = 24) {
const B = new Uint32Array(5 * 2);
for (let round = 24 - rounds; round < 24; round++) {
for (let x3 = 0; x3 < 10; x3++)
B[x3] = s[x3] ^ s[x3 + 10] ^ s[x3 + 20] ^ s[x3 + 30] ^ s[x3 + 40];
for (let x3 = 0; x3 < 10; x3 += 2) {
const idx1 = (x3 + 8) % 10;
const idx0 = (x3 + 2) % 10;
const B0 = B[idx0];
const B1 = B[idx0 + 1];
const Th = rotlH(B0, B1, 1) ^ B[idx1];
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
for (let y = 0; y < 50; y += 10) {
s[x3 + y] ^= Th;
s[x3 + y + 1] ^= Tl;
}
}
let curH = s[2];
let curL = s[3];
for (let t2 = 0; t2 < 24; t2++) {
const shift = SHA3_ROTL[t2];
const Th = rotlH(curH, curL, shift);
const Tl = rotlL(curH, curL, shift);
const PI = SHA3_PI[t2];
curH = s[PI];
curL = s[PI + 1];
s[PI] = Th;
s[PI + 1] = Tl;
}
for (let y = 0; y < 50; y += 10) {
for (let x3 = 0; x3 < 10; x3++)
B[x3] = s[y + x3];
for (let x3 = 0; x3 < 10; x3++)
s[y + x3] ^= ~B[(x3 + 2) % 10] & B[(x3 + 4) % 10];
}
s[0] ^= SHA3_IOTA_H[round];
s[1] ^= SHA3_IOTA_L[round];
}
clean(B);
}
function isEdValidXY(Fp2, CURVE, x3, y) {
const x22 = Fp2.sqr(x3);
const y2 = Fp2.sqr(y);
const left = Fp2.add(Fp2.mul(CURVE.a, x22), y2);
const right = Fp2.add(Fp2.ONE, Fp2.mul(CURVE.d, Fp2.mul(x22, y2)));
return Fp2.eql(left, right);
}
function edwards(params, extraOpts = {}) {
const validated = _createCurveFields("edwards", params, extraOpts, extraOpts.FpFnLE);
const { Fp: Fp2, Fn: Fn2 } = validated;
let CURVE = validated.CURVE;
const { h: cofactor } = CURVE;
_validateObject(extraOpts, {}, { uvRatio: "function" });
const MASK = _2n$3 << BigInt(Fn2.BYTES * 8) - _1n$2;
const modP = (n2) => Fp2.create(n2);
const uvRatio2 = extraOpts.uvRatio || ((u2, v) => {
try {
return { isValid: true, value: Fp2.sqrt(Fp2.div(u2, v)) };
} catch (e) {
return { isValid: false, value: _0n$1 };
}
});
if (!isEdValidXY(Fp2, CURVE, CURVE.Gx, CURVE.Gy))
throw new Error("bad curve params: generator point");
function acoord(title, n2, banZero = false) {
const min = banZero ? _1n$2 : _0n$1;
aInRange("coordinate " + title, n2, min, MASK);
return n2;
}
function aextpoint(other) {
if (!(other instanceof Point))
throw new Error("ExtendedPoint expected");
}
const toAffineMemo = memoized((p, iz) => {
const { X: X2, Y: Y2, Z: Z2 } = p;
const is0 = p.is0();
if (iz == null)
iz = is0 ? _8n : Fp2.inv(Z2);
const x3 = modP(X2 * iz);
const y = modP(Y2 * iz);
const zz = Fp2.mul(Z2, iz);
if (is0)
return { x: _0n$1, y: _1n$2 };
if (zz !== _1n$2)
throw new Error("invZ was invalid");
return { x: x3, y };
});
const assertValidMemo = memoized((p) => {
const { a: a2, d: d3 } = CURVE;
if (p.is0())
throw new Error("bad point: ZERO");
const { X: X2, Y: Y2, Z: Z2, T: T2 } = p;
const X22 = modP(X2 * X2);
const Y22 = modP(Y2 * Y2);
const Z22 = modP(Z2 * Z2);
const Z4 = modP(Z22 * Z22);
const aX2 = modP(X22 * a2);
const left = modP(Z22 * modP(aX2 + Y22));
const right = modP(Z4 + modP(d3 * modP(X22 * Y22)));
if (left !== right)
throw new Error("bad point: equation left != right (1)");
const XY = modP(X2 * Y2);
const ZT = modP(Z2 * T2);
if (XY !== ZT)
throw new Error("bad point: equation left != right (2)");
return true;
});
class Point {
constructor(X2, Y2, Z2, T2) {
this.X = acoord("x", X2);
this.Y = acoord("y", Y2);
this.Z = acoord("z", Z2, true);
this.T = acoord("t", T2);
Object.freeze(this);
}
static CURVE() {
return CURVE;
}
static fromAffine(p) {
if (p instanceof Point)
throw new Error("extended point not allowed");
const { x: x3, y } = p || {};
acoord("x", x3);
acoord("y", y);
return new Point(x3, y, _1n$2, modP(x3 * y));
}
// Uses algo from RFC8032 5.1.3.
static fromBytes(bytes, zip215 = false) {
const len = Fp2.BYTES;
const { a: a2, d: d3 } = CURVE;
bytes = copyBytes(_abytes2(bytes, len, "point"));
_abool2(zip215, "zip215");
const normed = copyBytes(bytes);
const lastByte = bytes[len - 1];
normed[len - 1] = lastByte & -129;
const y = bytesToNumberLE(normed);
const max4 = zip215 ? MASK : Fp2.ORDER;
aInRange("point.y", y, _0n$1, max4);
const y2 = modP(y * y);
const u2 = modP(y2 - _1n$2);
const v = modP(d3 * y2 - a2);
let { isValid, value: x3 } = uvRatio2(u2, v);
if (!isValid)
throw new Error("bad point: invalid y coordinate");
const isXOdd = (x3 & _1n$2) === _1n$2;
const isLastByteOdd = (lastByte & 128) !== 0;
if (!zip215 && x3 === _0n$1 && isLastByteOdd)
throw new Error("bad point: x=0 and x_0=1");
if (isLastByteOdd !== isXOdd)
x3 = modP(-x3);
return Point.fromAffine({ x: x3, y });
}
static fromHex(bytes, zip215 = false) {
return Point.fromBytes(ensureBytes("point", bytes), zip215);
}
get x() {
return this.toAffine().x;
}
get y() {
return this.toAffine().y;
}
precompute(windowSize = 8, isLazy = true) {
wnaf.createCache(this, windowSize);
if (!isLazy)
this.multiply(_2n$3);
return this;
}
// Useful in fromAffine() - not for fromBytes(), which always created valid points.
assertValidity() {
assertValidMemo(this);
}
// Compare one point to another.
equals(other) {
aextpoint(other);
const { X: X1, Y: Y1, Z: Z1 } = this;
const { X: X2, Y: Y2, Z: Z2 } = other;
const X1Z2 = modP(X1 * Z2);
const X2Z1 = modP(X2 * Z1);
const Y1Z2 = modP(Y1 * Z2);
const Y2Z1 = modP(Y2 * Z1);
return X1Z2 === X2Z1 && Y1Z2 === Y2Z1;
}
is0() {
return this.equals(Point.ZERO);
}
negate() {
return new Point(modP(-this.X), this.Y, this.Z, modP(-this.T));
}
// Fast algo for doubling Extended Point.
// https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#doubling-dbl-2008-hwcd
// Cost: 4M + 4S + 1*a + 6add + 1*2.
double() {
const { a: a2 } = CURVE;
const { X: X1, Y: Y1, Z: Z1 } = this;
const A2 = modP(X1 * X1);
const B = modP(Y1 * Y1);
const C = modP(_2n$3 * modP(Z1 * Z1));
const D3 = modP(a2 * A2);
const x1y1 = X1 + Y1;
const E = modP(modP(x1y1 * x1y1) - A2 - B);
const G3 = D3 + B;
const F = G3 - C;
const H2 = D3 - B;
const X3 = modP(E * F);
const Y3 = modP(G3 * H2);
const T3 = modP(E * H2);
const Z3 = modP(F * G3);
return new Point(X3, Y3, Z3, T3);
}
// Fast algo for adding 2 Extended Points.
// https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#addition-add-2008-hwcd
// Cost: 9M + 1*a + 1*d + 7add.
add(other) {
aextpoint(other);
const { a: a2, d: d3 } = CURVE;
const { X: X1, Y: Y1, Z: Z1, T: T1 } = this;
const { X: X2, Y: Y2, Z: Z2, T: T2 } = other;
const A2 = modP(X1 * X2);
const B = modP(Y1 * Y2);
const C = modP(T1 * d3 * T2);
const D3 = modP(Z1 * Z2);
const E = modP((X1 + Y1) * (X2 + Y2) - A2 - B);
const F = D3 - C;
const G3 = D3 + C;
const H2 = modP(B - a2 * A2);
const X3 = modP(E * F);
const Y3 = modP(G3 * H2);
const T3 = modP(E * H2);
const Z3 = modP(F * G3);
return new Point(X3, Y3, Z3, T3);
}
subtract(other) {
return this.add(other.negate());
}
// Constant-time multiplication.
multiply(scalar) {
if (!Fn2.isValidNot0(scalar))
throw new Error("invalid scalar: expected 1 <= sc < curve.n");
const { p, f } = wnaf.cached(this, scalar, (p2) => normalizeZ(Point, p2));
return normalizeZ(Point, [p, f])[0];
}
// Non-constant-time multiplication. Uses double-and-add algorithm.
// It's faster, but should only be used when you don't care about
// an exposed private key e.g. sig verification.
// Does NOT allow scalars higher than CURVE.n.
// Accepts optional accumulator to merge with multiply (important for sparse scalars)
multiplyUnsafe(scalar, acc = Point.ZERO) {
if (!Fn2.isValid(scalar))
throw new Error("invalid scalar: expected 0 <= sc < curve.n");
if (scalar === _0n$1)
return Point.ZERO;
if (this.is0() || scalar === _1n$2)
return this;
return wnaf.unsafe(this, scalar, (p) => normalizeZ(Point, p), acc);
}
// Checks if point is of small order.
// If you add something to small order point, you will have "dirty"
// point with torsion component.
// Multiplies point by cofactor and checks if the result is 0.
isSmallOrder() {
return this.multiplyUnsafe(cofactor).is0();
}
// Multiplies point by curve order and checks if the result is 0.
// Returns `false` is the point is dirty.
isTorsionFree() {
return wnaf.unsafe(this, CURVE.n).is0();
}
// Converts Extended point to default (x, y) coordinates.
// Can accept precomputed Z^-1 - for example, from invertBatch.
toAffine(invertedZ) {
return toAffineMemo(this, invertedZ);
}
clearCofactor() {
if (cofactor === _1n$2)
return this;
return this.multiplyUnsafe(cofactor);
}
toBytes() {
const { x: x3, y } = this.toAffine();
const bytes = Fp2.toBytes(y);
bytes[bytes.length - 1] |= x3 & _1n$2 ? 128 : 0;
return bytes;
}
toHex() {
return bytesToHex(this.toBytes());
}
toString() {
return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
}
// TODO: remove
get ex() {
return this.X;
}
get ey() {
return this.Y;
}
get ez() {
return this.Z;
}
get et() {
return this.T;
}
static normalizeZ(points) {
return normalizeZ(Point, points);
}
static msm(points, scalars) {
return pippenger(Point, Fn2, points, scalars);
}
_setWindowSize(windowSize) {
this.precompute(windowSize);
}
toRawBytes() {
return this.toBytes();
}
}
Point.BASE = new Point(CURVE.Gx, CURVE.Gy, _1n$2, modP(CURVE.Gx * CURVE.Gy));
Point.ZERO = new Point(_0n$1, _1n$2, _1n$2, _0n$1);
Point.Fp = Fp2;
Point.Fn = Fn2;
const wnaf = new wNAF(Point, Fn2.BITS);
Point.BASE.precompute(8);
return Point;
}
function eddsa(Point, cHash, eddsaOpts = {}) {
if (typeof cHash !== "function")
throw new Error('"hash" function param is required');
_validateObject(eddsaOpts, {}, {
adjustScalarBytes: "function",
randomBytes: "function",
domain: "function",
prehash: "function",
mapToCurve: "function"
});
const { prehash } = eddsaOpts;
const { BASE, Fp: Fp2, Fn: Fn2 } = Point;
const randomBytes$1 = eddsaOpts.randomBytes || randomBytes;
const adjustScalarBytes2 = eddsaOpts.adjustScalarBytes || ((bytes) => bytes);
const domain = eddsaOpts.domain || ((data, ctx, phflag) => {
_abool2(phflag, "phflag");
if (ctx.length || phflag)
throw new Error("Contexts/pre-hash are not supported");
return data;
});
function modN_LE(hash2) {
return Fn2.create(bytesToNumberLE(hash2));
}
function getPrivateScalar(key) {
const len = lengths.secretKey;
key = ensureBytes("private key", key, len);
const hashed = ensureBytes("hashed private key", cHash(key), 2 * len);
const head2 = adjustScalarBytes2(hashed.slice(0, len));
const prefix = hashed.slice(len, 2 * len);
const scalar = modN_LE(head2);
return { head: head2, prefix, scalar };
}
function getExtendedPublicKey(secretKey) {
const { head: head2, prefix, scalar } = getPrivateScalar(secretKey);
const point = BASE.multiply(scalar);
const pointBytes = point.toBytes();
return { head: head2, prefix, scalar, point, pointBytes };
}
function getPublicKey(secretKey) {
return getExtendedPublicKey(secretKey).pointBytes;
}
function hashDomainToScalar(context = Uint8Array.of(), ...msgs) {
const msg = concatBytes(...msgs);
return modN_LE(cHash(domain(msg, ensureBytes("context", context), !!prehash)));
}
function sign(msg, secretKey, options = {}) {
msg = ensureBytes("message", msg);
if (prehash)
msg = prehash(msg);
const { prefix, scalar, pointBytes } = getExtendedPublicKey(secretKey);
const r = hashDomainToScalar(options.context, prefix, msg);
const R2 = BASE.multiply(r).toBytes();
const k2 = hashDomainToScalar(options.context, R2, pointBytes, msg);
const s = Fn2.create(r + k2 * scalar);
if (!Fn2.isValid(s))
throw new Error("sign failed: invalid s");
const rs = concatBytes(R2, Fn2.toBytes(s));
return _abytes2(rs, lengths.signature, "result");
}
const verifyOpts = { zip215: true };
function verify(sig, msg, publicKey, options = verifyOpts) {
const { context, zip215 } = options;
const len = lengths.signature;
sig = ensureBytes("signature", sig, len);
msg = ensureBytes("message", msg);
publicKey = ensureBytes("publicKey", publicKey, lengths.publicKey);
if (zip215 !== void 0)
_abool2(zip215, "zip215");
if (prehash)
msg = prehash(msg);
const mid = len / 2;
const r = sig.subarray(0, mid);
const s = bytesToNumberLE(sig.subarray(mid, len));
let A2, R2, SB;
try {
A2 = Point.fromBytes(publicKey, zip215);
R2 = Point.fromBytes(r, zip215);
SB = BASE.multiplyUnsafe(s);
} catch (error) {
return false;
}
if (!zip215 && A2.isSmallOrder())
return false;
const k2 = hashDomainToScalar(context, R2.toBytes(), A2.toBytes(), msg);
const RkA = R2.add(A2.multiplyUnsafe(k2));
return RkA.subtract(SB).clearCofactor().is0();
}
const _size = Fp2.BYTES;
const lengths = {
secretKey: _size,
publicKey: _size,
signature: 2 * _size,
seed: _size
};
function randomSecretKey(seed = randomBytes$1(lengths.seed)) {
return _abytes2(seed, lengths.seed, "seed");
}
function keygen(seed) {
const secretKey = utils.randomSecretKey(seed);
return { secretKey, publicKey: getPublicKey(secretKey) };
}
function isValidSecretKey(key) {
return isBytes(key) && key.length === Fn2.BYTES;
}
function isValidPublicKey(key, zip215) {
try {
return !!Point.fromBytes(key, zip215);
} catch (error) {
return false;
}
}
const utils = {
getExtendedPublicKey,
randomSecretKey,
isValidSecretKey,
isValidPublicKey,
/**
* Converts ed public key to x public key. Uses formula:
* - ed25519:
* - `(u, v) = ((1+y)/(1-y), sqrt(-486664)*u/x)`
* - `(x, y) = (sqrt(-486664)*u/v, (u-1)/(u+1))`
* - ed448:
* - `(u, v) = ((y-1)/(y+1), sqrt(156324)*u/x)`
* - `(x, y) = (sqrt(156324)*u/v, (1+u)/(1-u))`
*/
toMontgomery(publicKey) {
const { y } = Point.fromBytes(publicKey);
const size = lengths.publicKey;
const is25519 = size === 32;
if (!is25519 && size !== 57)
throw new Error("only defined for 25519 and 448");
const u2 = is25519 ? Fp2.div(_1n$2 + y, _1n$2 - y) : Fp2.div(y - _1n$2, y + _1n$2);
return Fp2.toBytes(u2);
},
toMontgomerySecret(secretKey) {
const size = lengths.secretKey;
_abytes2(secretKey, size);
const hashed = cHash(secretKey.subarray(0, size));
return adjustScalarBytes2(hashed).subarray(0, size);
},
/** @deprecated */
randomPrivateKey: randomSecretKey,
/** @deprecated */
precompute(windowSize = 8, point = Point.BASE) {
return point.precompute(windowSize, false);
}
};
return Object.freeze({
keygen,
getPublicKey,
sign,
verify,
utils,
Point,
lengths
});
}
function _eddsa_legacy_opts_to_new(c3) {
const CURVE = {
a: c3.a,
d: c3.d,
p: c3.Fp.ORDER,
n: c3.n,
h: c3.h,
Gx: c3.Gx,
Gy: c3.Gy
};
const Fp2 = c3.Fp;
const Fn2 = Field(CURVE.n, c3.nBitLength, true);
const curveOpts = { Fp: Fp2, Fn: Fn2, uvRatio: c3.uvRatio };
const eddsaOpts = {
randomBytes: c3.randomBytes,
adjustScalarBytes: c3.adjustScalarBytes,
domain: c3.domain,
prehash: c3.prehash,
mapToCurve: c3.mapToCurve
};
return { CURVE, curveOpts, hash: c3.hash, eddsaOpts };
}
function _eddsa_new_output_to_legacy(c3, eddsa2) {
const Point = eddsa2.Point;
const legacy = Object.assign({}, eddsa2, {
ExtendedPoint: Point,
CURVE: c3,
nBitLength: Point.Fn.BITS,
nByteLength: Point.Fn.BYTES
});
return legacy;
}
function twistedEdwards(c3) {
const { CURVE, curveOpts, hash: hash2, eddsaOpts } = _eddsa_legacy_opts_to_new(c3);
const Point = edwards(CURVE, curveOpts);
const EDDSA = eddsa(Point, hash2, eddsaOpts);
return _eddsa_new_output_to_legacy(c3, EDDSA);
}
function validateOpts(curve) {
_validateObject(curve, {
adjustScalarBytes: "function",
powPminus2: "function"
});
return Object.freeze({ ...curve });
}
function montgomery(curveDef) {
const CURVE = validateOpts(curveDef);
const { P: P2, type: type4, adjustScalarBytes: adjustScalarBytes2, powPminus2, randomBytes: rand } = CURVE;
const is25519 = type4 === "x25519";
if (!is25519 && type4 !== "x448")
throw new Error("invalid type");
const randomBytes_ = rand || randomBytes;
const montgomeryBits = is25519 ? 255 : 448;
const fieldLen = is25519 ? 32 : 56;
const Gu = is25519 ? BigInt(9) : BigInt(5);
const a24 = is25519 ? BigInt(121665) : BigInt(39081);
const minScalar = is25519 ? _2n$2 ** BigInt(254) : _2n$2 ** BigInt(447);
const maxAdded = is25519 ? BigInt(8) * _2n$2 ** BigInt(251) - _1n$1 : BigInt(4) * _2n$2 ** BigInt(445) - _1n$1;
const maxScalar = minScalar + maxAdded + _1n$1;
const modP = (n2) => mod(n2, P2);
const GuBytes = encodeU(Gu);
function encodeU(u2) {
return numberToBytesLE(modP(u2), fieldLen);
}
function decodeU(u2) {
const _u = ensureBytes("u coordinate", u2, fieldLen);
if (is25519)
_u[31] &= 127;
return modP(bytesToNumberLE(_u));
}
function decodeScalar(scalar) {
return bytesToNumberLE(adjustScalarBytes2(ensureBytes("scalar", scalar, fieldLen)));
}
function scalarMult(scalar, u2) {
const pu = montgomeryLadder(decodeU(u2), decodeScalar(scalar));
if (pu === _0n)
throw new Error("invalid private or public key received");
return encodeU(pu);
}
function scalarMultBase(scalar) {
return scalarMult(scalar, GuBytes);
}
function cswap2(swap, x_2, x_3) {
const dummy = modP(swap * (x_2 - x_3));
x_2 = modP(x_2 - dummy);
x_3 = modP(x_3 + dummy);
return { x_2, x_3 };
}
function montgomeryLadder(u2, scalar) {
aInRange("u", u2, _0n, P2);
aInRange("scalar", scalar, minScalar, maxScalar);
const k2 = scalar;
const x_1 = u2;
let x_2 = _1n$1;
let z_2 = _0n;
let x_3 = u2;
let z_3 = _1n$1;
let swap = _0n;
for (let t2 = BigInt(montgomeryBits - 1); t2 >= _0n; t2--) {
const k_t = k2 >> t2 & _1n$1;
swap ^= k_t;
({ x_2, x_3 } = cswap2(swap, x_2, x_3));
({ x_2: z_2, x_3: z_3 } = cswap2(swap, z_2, z_3));
swap = k_t;
const A2 = x_2 + z_2;
const AA = modP(A2 * A2);
const B = x_2 - z_2;
const BB = modP(B * B);
const E = AA - BB;
const C = x_3 + z_3;
const D3 = x_3 - z_3;
const DA = modP(D3 * A2);
const CB = modP(C * B);
const dacb = DA + CB;
const da_cb = DA - CB;
x_3 = modP(dacb * dacb);
z_3 = modP(x_1 * modP(da_cb * da_cb));
x_2 = modP(AA * BB);
z_2 = modP(E * (AA + modP(a24 * E)));
}
({ x_2, x_3 } = cswap2(swap, x_2, x_3));
({ x_2: z_2, x_3: z_3 } = cswap2(swap, z_2, z_3));
const z2 = powPminus2(z_2);
return modP(x_2 * z2);
}
const lengths = {
secretKey: fieldLen,
publicKey: fieldLen,
seed: fieldLen
};
const randomSecretKey = (seed = randomBytes_(fieldLen)) => {
abytes(seed, lengths.seed);
return seed;
};
function keygen(seed) {
const secretKey = randomSecretKey(seed);
return { secretKey, publicKey: scalarMultBase(secretKey) };
}
const utils = {
randomSecretKey,
randomPrivateKey: randomSecretKey
};
return {
keygen,
getSharedSecret: (secretKey, publicKey) => scalarMult(secretKey, publicKey),
getPublicKey: (secretKey) => scalarMultBase(secretKey),
scalarMult,
scalarMultBase,
utils,
GuBytes: GuBytes.slice(),
lengths
};
}
function ed448_pow_Pminus3div4(x3) {
const P2 = ed448_CURVE.p;
const b2 = x3 * x3 * x3 % P2;
const b3 = b2 * b2 * x3 % P2;
const b6 = pow2(b3, _3n, P2) * b3 % P2;
const b9 = pow2(b6, _3n, P2) * b3 % P2;
const b11 = pow2(b9, _2n$1, P2) * b2 % P2;
const b22 = pow2(b11, _11n, P2) * b11 % P2;
const b44 = pow2(b22, _22n, P2) * b22 % P2;
const b88 = pow2(b44, _44n, P2) * b44 % P2;
const b176 = pow2(b88, _88n, P2) * b88 % P2;
const b220 = pow2(b176, _44n, P2) * b44 % P2;
const b222 = pow2(b220, _2n$1, P2) * b2 % P2;
const b223 = pow2(b222, _1n, P2) * x3 % P2;
return pow2(b223, _223n, P2) * b222 % P2;
}
function adjustScalarBytes(bytes) {
bytes[0] &= 252;
bytes[55] |= 128;
bytes[56] = 0;
return bytes;
}
function uvRatio(u2, v) {
const P2 = ed448_CURVE.p;
const u2v = mod(u2 * u2 * v, P2);
const u3v = mod(u2v * u2, P2);
const u5v3 = mod(u3v * u2v * v, P2);
const root = ed448_pow_Pminus3div4(u5v3);
const x3 = mod(u3v * root, P2);
const x22 = mod(x3 * x3, P2);
return { isValid: mod(x22 * v, P2) === u2, value: x3 };
}
function dom4(data, ctx, phflag) {
if (ctx.length > 255)
throw new Error("context must be smaller than 255, got: " + ctx.length);
return concatBytes(asciiToBytes("SigEd448"), new Uint8Array([phflag ? 1 : 0, ctx.length]), ctx, data);
}
function sqrtMod(y) {
const P2 = secp256k1_CURVE.p;
const _3n2 = BigInt(3), _6n = BigInt(6), _11n2 = BigInt(11), _22n2 = BigInt(22);
const _23n = BigInt(23), _44n2 = BigInt(44), _88n2 = BigInt(88);
const b2 = y * y * y % P2;
const b3 = b2 * b2 * y % P2;
const b6 = pow2(b3, _3n2, P2) * b3 % P2;
const b9 = pow2(b6, _3n2, P2) * b3 % P2;
const b11 = pow2(b9, _2n, P2) * b2 % P2;
const b22 = pow2(b11, _11n2, P2) * b11 % P2;
const b44 = pow2(b22, _22n2, P2) * b22 % P2;
const b88 = pow2(b44, _44n2, P2) * b44 % P2;
const b176 = pow2(b88, _88n2, P2) * b88 % P2;
const b220 = pow2(b176, _44n2, P2) * b44 % P2;
const b223 = pow2(b220, _3n2, P2) * b3 % P2;
const t1 = pow2(b223, _23n, P2) * b22 % P2;
const t2 = pow2(t1, _6n, P2) * b2 % P2;
const root = pow2(t2, _2n, P2);
if (!Fpk1.eql(Fpk1.sqr(root), y))
throw new Error("Cannot find square root");
return root;
}
function ripemd_f(group, x3, y, z) {
if (group === 0)
return x3 ^ y ^ z;
if (group === 1)
return x3 & y | ~x3 & z;
if (group === 2)
return (x3 | ~y) ^ z;
if (group === 3)
return x3 & z | y & ~z;
return x3 ^ (y | ~z);
}
function ts64(x3, i4, h2, l) {
x3[i4] = h2 >> 24 & 255;
x3[i4 + 1] = h2 >> 16 & 255;
x3[i4 + 2] = h2 >> 8 & 255;
x3[i4 + 3] = h2 & 255;
x3[i4 + 4] = l >> 24 & 255;
x3[i4 + 5] = l >> 16 & 255;
x3[i4 + 6] = l >> 8 & 255;
x3[i4 + 7] = l & 255;
}
function vn(x3, xi, y, yi, n2) {
var i4, d3 = 0;
for (i4 = 0; i4 < n2; i4++) d3 |= x3[xi + i4] ^ y[yi + i4];
return (1 & d3 - 1 >>> 8) - 1;
}
function crypto_verify_32(x3, xi, y, yi) {
return vn(x3, xi, y, yi, 32);
}
function set25519(r, a2) {
var i4;
for (i4 = 0; i4 < 16; i4++) r[i4] = a2[i4] | 0;
}
function car25519(o2) {
var i4, v, c3 = 1;
for (i4 = 0; i4 < 16; i4++) {
v = o2[i4] + c3 + 65535;
c3 = Math.floor(v / 65536);
o2[i4] = v - c3 * 65536;
}
o2[0] += c3 - 1 + 37 * (c3 - 1);
}
function sel25519(p, q, b) {
var t2, c3 = ~(b - 1);
for (var i4 = 0; i4 < 16; i4++) {
t2 = c3 & (p[i4] ^ q[i4]);
p[i4] ^= t2;
q[i4] ^= t2;
}
}
function pack25519(o2, n2) {
var i4, j2, b;
var m = gf(), t2 = gf();
for (i4 = 0; i4 < 16; i4++) t2[i4] = n2[i4];
car25519(t2);
car25519(t2);
car25519(t2);
for (j2 = 0; j2 < 2; j2++) {
m[0] = t2[0] - 65517;
for (i4 = 1; i4 < 15; i4++) {
m[i4] = t2[i4] - 65535 - (m[i4 - 1] >> 16 & 1);
m[i4 - 1] &= 65535;
}
m[15] = t2[15] - 32767 - (m[14] >> 16 & 1);
b = m[15] >> 16 & 1;
m[14] &= 65535;
sel25519(t2, m, 1 - b);
}
for (i4 = 0; i4 < 16; i4++) {
o2[2 * i4] = t2[i4] & 255;
o2[2 * i4 + 1] = t2[i4] >> 8;
}
}
function neq25519(a2, b) {
var c3 = new Uint8Array(32), d3 = new Uint8Array(32);
pack25519(c3, a2);
pack25519(d3, b);
return crypto_verify_32(c3, 0, d3, 0);
}
function par25519(a2) {
var d3 = new Uint8Array(32);
pack25519(d3, a2);
return d3[0] & 1;
}
function unpack25519(o2, n2) {
var i4;
for (i4 = 0; i4 < 16; i4++) o2[i4] = n2[2 * i4] + (n2[2 * i4 + 1] << 8);
o2[15] &= 32767;
}
function A(o2, a2, b) {
for (var i4 = 0; i4 < 16; i4++) o2[i4] = a2[i4] + b[i4];
}
function Z(o2, a2, b) {
for (var i4 = 0; i4 < 16; i4++) o2[i4] = a2[i4] - b[i4];
}
function M2(o2, a2, b) {
var v, c3, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
v = a2[0];
t0 += v * b0;
t1 += v * b1;
t2 += v * b2;
t3 += v * b3;
t4 += v * b4;
t5 += v * b5;
t6 += v * b6;
t7 += v * b7;
t8 += v * b8;
t9 += v * b9;
t10 += v * b10;
t11 += v * b11;
t12 += v * b12;
t13 += v * b13;
t14 += v * b14;
t15 += v * b15;
v = a2[1];
t1 += v * b0;
t2 += v * b1;
t3 += v * b2;
t4 += v * b3;
t5 += v * b4;
t6 += v * b5;
t7 += v * b6;
t8 += v * b7;
t9 += v * b8;
t10 += v * b9;
t11 += v * b10;
t12 += v * b11;
t13 += v * b12;
t14 += v * b13;
t15 += v * b14;
t16 += v * b15;
v = a2[2];
t2 += v * b0;
t3 += v * b1;
t4 += v * b2;
t5 += v * b3;
t6 += v * b4;
t7 += v * b5;
t8 += v * b6;
t9 += v * b7;
t10 += v * b8;
t11 += v * b9;
t12 += v * b10;
t13 += v * b11;
t14 += v * b12;
t15 += v * b13;
t16 += v * b14;
t17 += v * b15;
v = a2[3];
t3 += v * b0;
t4 += v * b1;
t5 += v * b2;
t6 += v * b3;
t7 += v * b4;
t8 += v * b5;
t9 += v * b6;
t10 += v * b7;
t11 += v * b8;
t12 += v * b9;
t13 += v * b10;
t14 += v * b11;
t15 += v * b12;
t16 += v * b13;
t17 += v * b14;
t18 += v * b15;
v = a2[4];
t4 += v * b0;
t5 += v * b1;
t6 += v * b2;
t7 += v * b3;
t8 += v * b4;
t9 += v * b5;
t10 += v * b6;
t11 += v * b7;
t12 += v * b8;
t13 += v * b9;
t14 += v * b10;
t15 += v * b11;
t16 += v * b12;
t17 += v * b13;
t18 += v * b14;
t19 += v * b15;
v = a2[5];
t5 += v * b0;
t6 += v * b1;
t7 += v * b2;
t8 += v * b3;
t9 += v * b4;
t10 += v * b5;
t11 += v * b6;
t12 += v * b7;
t13 += v * b8;
t14 += v * b9;
t15 += v * b10;
t16 += v * b11;
t17 += v * b12;
t18 += v * b13;
t19 += v * b14;
t20 += v * b15;
v = a2[6];
t6 += v * b0;
t7 += v * b1;
t8 += v * b2;
t9 += v * b3;
t10 += v * b4;
t11 += v * b5;
t12 += v * b6;
t13 += v * b7;
t14 += v * b8;
t15 += v * b9;
t16 += v * b10;
t17 += v * b11;
t18 += v * b12;
t19 += v * b13;
t20 += v * b14;
t21 += v * b15;
v = a2[7];
t7 += v * b0;
t8 += v * b1;
t9 += v * b2;
t10 += v * b3;
t11 += v * b4;
t12 += v * b5;
t13 += v * b6;
t14 += v * b7;
t15 += v * b8;
t16 += v * b9;
t17 += v * b10;
t18 += v * b11;
t19 += v * b12;
t20 += v * b13;
t21 += v * b14;
t22 += v * b15;
v = a2[8];
t8 += v * b0;
t9 += v * b1;
t10 += v * b2;
t11 += v * b3;
t12 += v * b4;
t13 += v * b5;
t14 += v * b6;
t15 += v * b7;
t16 += v * b8;
t17 += v * b9;
t18 += v * b10;
t19 += v * b11;
t20 += v * b12;
t21 += v * b13;
t22 += v * b14;
t23 += v * b15;
v = a2[9];
t9 += v * b0;
t10 += v * b1;
t11 += v * b2;
t12 += v * b3;
t13 += v * b4;
t14 += v * b5;
t15 += v * b6;
t16 += v * b7;
t17 += v * b8;
t18 += v * b9;
t19 += v * b10;
t20 += v * b11;
t21 += v * b12;
t22 += v * b13;
t23 += v * b14;
t24 += v * b15;
v = a2[10];
t10 += v * b0;
t11 += v * b1;
t12 += v * b2;
t13 += v * b3;
t14 += v * b4;
t15 += v * b5;
t16 += v * b6;
t17 += v * b7;
t18 += v * b8;
t19 += v * b9;
t20 += v * b10;
t21 += v * b11;
t22 += v * b12;
t23 += v * b13;
t24 += v * b14;
t25 += v * b15;
v = a2[11];
t11 += v * b0;
t12 += v * b1;
t13 += v * b2;
t14 += v * b3;
t15 += v * b4;
t16 += v * b5;
t17 += v * b6;
t18 += v * b7;
t19 += v * b8;
t20 += v * b9;
t21 += v * b10;
t22 += v * b11;
t23 += v * b12;
t24 += v * b13;
t25 += v * b14;
t26 += v * b15;
v = a2[12];
t12 += v * b0;
t13 += v * b1;
t14 += v * b2;
t15 += v * b3;
t16 += v * b4;
t17 += v * b5;
t18 += v * b6;
t19 += v * b7;
t20 += v * b8;
t21 += v * b9;
t22 += v * b10;
t23 += v * b11;
t24 += v * b12;
t25 += v * b13;
t26 += v * b14;
t27 += v * b15;
v = a2[13];
t13 += v * b0;
t14 += v * b1;
t15 += v * b2;
t16 += v * b3;
t17 += v * b4;
t18 += v * b5;
t19 += v * b6;
t20 += v * b7;
t21 += v * b8;
t22 += v * b9;
t23 += v * b10;
t24 += v * b11;
t25 += v * b12;
t26 += v * b13;
t27 += v * b14;
t28 += v * b15;
v = a2[14];
t14 += v * b0;
t15 += v * b1;
t16 += v * b2;
t17 += v * b3;
t18 += v * b4;
t19 += v * b5;
t20 += v * b6;
t21 += v * b7;
t22 += v * b8;
t23 += v * b9;
t24 += v * b10;
t25 += v * b11;
t26 += v * b12;
t27 += v * b13;
t28 += v * b14;
t29 += v * b15;
v = a2[15];
t15 += v * b0;
t16 += v * b1;
t17 += v * b2;
t18 += v * b3;
t19 += v * b4;
t20 += v * b5;
t21 += v * b6;
t22 += v * b7;
t23 += v * b8;
t24 += v * b9;
t25 += v * b10;
t26 += v * b11;
t27 += v * b12;
t28 += v * b13;
t29 += v * b14;
t30 += v * b15;
t0 += 38 * t16;
t1 += 38 * t17;
t2 += 38 * t18;
t3 += 38 * t19;
t4 += 38 * t20;
t5 += 38 * t21;
t6 += 38 * t22;
t7 += 38 * t23;
t8 += 38 * t24;
t9 += 38 * t25;
t10 += 38 * t26;
t11 += 38 * t27;
t12 += 38 * t28;
t13 += 38 * t29;
t14 += 38 * t30;
c3 = 1;
v = t0 + c3 + 65535;
c3 = Math.floor(v / 65536);
t0 = v - c3 * 65536;
v = t1 + c3 + 65535;
c3 = Math.floor(v / 65536);
t1 = v - c3 * 65536;
v = t2 + c3 + 65535;
c3 = Math.floor(v / 65536);
t2 = v - c3 * 65536;
v = t3 + c3 + 65535;
c3 = Math.floor(v / 65536);
t3 = v - c3 * 65536;
v = t4 + c3 + 65535;
c3 = Math.floor(v / 65536);
t4 = v - c3 * 65536;
v = t5 + c3 + 65535;
c3 = Math.floor(v / 65536);
t5 = v - c3 * 65536;
v = t6 + c3 + 65535;
c3 = Math.floor(v / 65536);
t6 = v - c3 * 65536;
v = t7 + c3 + 65535;
c3 = Math.floor(v / 65536);
t7 = v - c3 * 65536;
v = t8 + c3 + 65535;
c3 = Math.floor(v / 65536);
t8 = v - c3 * 65536;
v = t9 + c3 + 65535;
c3 = Math.floor(v / 65536);
t9 = v - c3 * 65536;
v = t10 + c3 + 65535;
c3 = Math.floor(v / 65536);
t10 = v - c3 * 65536;
v = t11 + c3 + 65535;
c3 = Math.floor(v / 65536);
t11 = v - c3 * 65536;
v = t12 + c3 + 65535;
c3 = Math.floor(v / 65536);
t12 = v - c3 * 65536;
v = t13 + c3 + 65535;
c3 = Math.floor(v / 65536);
t13 = v - c3 * 65536;
v = t14 + c3 + 65535;
c3 = Math.floor(v / 65536);
t14 = v - c3 * 65536;
v = t15 + c3 + 65535;
c3 = Math.floor(v / 65536);
t15 = v - c3 * 65536;
t0 += c3 - 1 + 37 * (c3 - 1);
c3 = 1;
v = t0 + c3 + 65535;
c3 = Math.floor(v / 65536);
t0 = v - c3 * 65536;
v = t1 + c3 + 65535;
c3 = Math.floor(v / 65536);
t1 = v - c3 * 65536;
v = t2 + c3 + 65535;
c3 = Math.floor(v / 65536);
t2 = v - c3 * 65536;
v = t3 + c3 + 65535;
c3 = Math.floor(v / 65536);
t3 = v - c3 * 65536;
v = t4 + c3 + 65535;
c3 = Math.floor(v / 65536);
t4 = v - c3 * 65536;
v = t5 + c3 + 65535;
c3 = Math.floor(v / 65536);
t5 = v - c3 * 65536;
v = t6 + c3 + 65535;
c3 = Math.floor(v / 65536);
t6 = v - c3 * 65536;
v = t7 + c3 + 65535;
c3 = Math.floor(v / 65536);
t7 = v - c3 * 65536;
v = t8 + c3 + 65535;
c3 = Math.floor(v / 65536);
t8 = v - c3 * 65536;
v = t9 + c3 + 65535;
c3 = Math.floor(v / 65536);
t9 = v - c3 * 65536;
v = t10 + c3 + 65535;
c3 = Math.floor(v / 65536);
t10 = v - c3 * 65536;
v = t11 + c3 + 65535;
c3 = Math.floor(v / 65536);
t11 = v - c3 * 65536;
v = t12 + c3 + 65535;
c3 = Math.floor(v / 65536);
t12 = v - c3 * 65536;
v = t13 + c3 + 65535;
c3 = Math.floor(v / 65536);
t13 = v - c3 * 65536;
v = t14 + c3 + 65535;
c3 = Math.floor(v / 65536);
t14 = v - c3 * 65536;
v = t15 + c3 + 65535;
c3 = Math.floor(v / 65536);
t15 = v - c3 * 65536;
t0 += c3 - 1 + 37 * (c3 - 1);
o2[0] = t0;
o2[1] = t1;
o2[2] = t2;
o2[3] = t3;
o2[4] = t4;
o2[5] = t5;
o2[6] = t6;
o2[7] = t7;
o2[8] = t8;
o2[9] = t9;
o2[10] = t10;
o2[11] = t11;
o2[12] = t12;
o2[13] = t13;
o2[14] = t14;
o2[15] = t15;
}
function S2(o2, a2) {
M2(o2, a2, a2);
}
function inv25519(o2, i4) {
var c3 = gf();
var a2;
for (a2 = 0; a2 < 16; a2++) c3[a2] = i4[a2];
for (a2 = 253; a2 >= 0; a2--) {
S2(c3, c3);
if (a2 !== 2 && a2 !== 4) M2(c3, c3, i4);
}
for (a2 = 0; a2 < 16; a2++) o2[a2] = c3[a2];
}
function pow2523(o2, i4) {
var c3 = gf();
var a2;
for (a2 = 0; a2 < 16; a2++) c3[a2] = i4[a2];
for (a2 = 250; a2 >= 0; a2--) {
S2(c3, c3);
if (a2 !== 1) M2(c3, c3, i4);
}
for (a2 = 0; a2 < 16; a2++) o2[a2] = c3[a2];
}
function crypto_scalarmult(q, n2, p) {
var z = new Uint8Array(32);
var x3 = new Float64Array(80), r, i4;
var a2 = gf(), b = gf(), c3 = gf(), d3 = gf(), e = gf(), f = gf();
for (i4 = 0; i4 < 31; i4++) z[i4] = n2[i4];
z[31] = n2[31] & 127 | 64;
z[0] &= 248;
unpack25519(x3, p);
for (i4 = 0; i4 < 16; i4++) {
b[i4] = x3[i4];
d3[i4] = a2[i4] = c3[i4] = 0;
}
a2[0] = d3[0] = 1;
for (i4 = 254; i4 >= 0; --i4) {
r = z[i4 >>> 3] >>> (i4 & 7) & 1;
sel25519(a2, b, r);
sel25519(c3, d3, r);
A(e, a2, c3);
Z(a2, a2, c3);
A(c3, b, d3);
Z(b, b, d3);
S2(d3, e);
S2(f, a2);
M2(a2, c3, a2);
M2(c3, b, e);
A(e, a2, c3);
Z(a2, a2, c3);
S2(b, a2);
Z(c3, d3, f);
M2(a2, c3, _121665);
A(a2, a2, d3);
M2(c3, c3, a2);
M2(a2, d3, f);
M2(d3, b, x3);
S2(b, e);
sel25519(a2, b, r);
sel25519(c3, d3, r);
}
for (i4 = 0; i4 < 16; i4++) {
x3[i4 + 16] = a2[i4];
x3[i4 + 32] = c3[i4];
x3[i4 + 48] = b[i4];
x3[i4 + 64] = d3[i4];
}
var x32 = x3.subarray(32);
var x16 = x3.subarray(16);
inv25519(x32, x32);
M2(x16, x16, x32);
pack25519(q, x16);
return 0;
}
function crypto_scalarmult_base(q, n2) {
return crypto_scalarmult(q, n2, _9);
}
function crypto_box_keypair(y, x3) {
randombytes(x3, 32);
return crypto_scalarmult_base(y, x3);
}
function crypto_hashblocks_hl(hh, hl, m, n2) {
var wh = new Int32Array(16), wl = new Int32Array(16), bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7, bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7, th, tl, i4, j2, h2, l, a2, b, c3, d3;
var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];
var pos = 0;
while (n2 >= 128) {
for (i4 = 0; i4 < 16; i4++) {
j2 = 8 * i4 + pos;
wh[i4] = m[j2 + 0] << 24 | m[j2 + 1] << 16 | m[j2 + 2] << 8 | m[j2 + 3];
wl[i4] = m[j2 + 4] << 24 | m[j2 + 5] << 16 | m[j2 + 6] << 8 | m[j2 + 7];
}
for (i4 = 0; i4 < 80; i4++) {
bh0 = ah0;
bh1 = ah1;
bh2 = ah2;
bh3 = ah3;
bh4 = ah4;
bh5 = ah5;
bh6 = ah6;
bh7 = ah7;
bl0 = al0;
bl1 = al1;
bl2 = al2;
bl3 = al3;
bl4 = al4;
bl5 = al5;
bl6 = al6;
bl7 = al7;
h2 = ah7;
l = al7;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = (ah4 >>> 14 | al4 << 32 - 14) ^ (ah4 >>> 18 | al4 << 32 - 18) ^ (al4 >>> 41 - 32 | ah4 << 32 - (41 - 32));
l = (al4 >>> 14 | ah4 << 32 - 14) ^ (al4 >>> 18 | ah4 << 32 - 18) ^ (ah4 >>> 41 - 32 | al4 << 32 - (41 - 32));
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
h2 = ah4 & ah5 ^ ~ah4 & ah6;
l = al4 & al5 ^ ~al4 & al6;
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
h2 = K[i4 * 2];
l = K[i4 * 2 + 1];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
h2 = wh[i4 % 16];
l = wl[i4 % 16];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
th = c3 & 65535 | d3 << 16;
tl = a2 & 65535 | b << 16;
h2 = th;
l = tl;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = (ah0 >>> 28 | al0 << 32 - 28) ^ (al0 >>> 34 - 32 | ah0 << 32 - (34 - 32)) ^ (al0 >>> 39 - 32 | ah0 << 32 - (39 - 32));
l = (al0 >>> 28 | ah0 << 32 - 28) ^ (ah0 >>> 34 - 32 | al0 << 32 - (34 - 32)) ^ (ah0 >>> 39 - 32 | al0 << 32 - (39 - 32));
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
h2 = ah0 & ah1 ^ ah0 & ah2 ^ ah1 & ah2;
l = al0 & al1 ^ al0 & al2 ^ al1 & al2;
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
bh7 = c3 & 65535 | d3 << 16;
bl7 = a2 & 65535 | b << 16;
h2 = bh3;
l = bl3;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = th;
l = tl;
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
bh3 = c3 & 65535 | d3 << 16;
bl3 = a2 & 65535 | b << 16;
ah1 = bh0;
ah2 = bh1;
ah3 = bh2;
ah4 = bh3;
ah5 = bh4;
ah6 = bh5;
ah7 = bh6;
ah0 = bh7;
al1 = bl0;
al2 = bl1;
al3 = bl2;
al4 = bl3;
al5 = bl4;
al6 = bl5;
al7 = bl6;
al0 = bl7;
if (i4 % 16 === 15) {
for (j2 = 0; j2 < 16; j2++) {
h2 = wh[j2];
l = wl[j2];
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = wh[(j2 + 9) % 16];
l = wl[(j2 + 9) % 16];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
th = wh[(j2 + 1) % 16];
tl = wl[(j2 + 1) % 16];
h2 = (th >>> 1 | tl << 32 - 1) ^ (th >>> 8 | tl << 32 - 8) ^ th >>> 7;
l = (tl >>> 1 | th << 32 - 1) ^ (tl >>> 8 | th << 32 - 8) ^ (tl >>> 7 | th << 32 - 7);
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
th = wh[(j2 + 14) % 16];
tl = wl[(j2 + 14) % 16];
h2 = (th >>> 19 | tl << 32 - 19) ^ (tl >>> 61 - 32 | th << 32 - (61 - 32)) ^ th >>> 6;
l = (tl >>> 19 | th << 32 - 19) ^ (th >>> 61 - 32 | tl << 32 - (61 - 32)) ^ (tl >>> 6 | th << 32 - 6);
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
wh[j2] = c3 & 65535 | d3 << 16;
wl[j2] = a2 & 65535 | b << 16;
}
}
}
h2 = ah0;
l = al0;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[0];
l = hl[0];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[0] = ah0 = c3 & 65535 | d3 << 16;
hl[0] = al0 = a2 & 65535 | b << 16;
h2 = ah1;
l = al1;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[1];
l = hl[1];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[1] = ah1 = c3 & 65535 | d3 << 16;
hl[1] = al1 = a2 & 65535 | b << 16;
h2 = ah2;
l = al2;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[2];
l = hl[2];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[2] = ah2 = c3 & 65535 | d3 << 16;
hl[2] = al2 = a2 & 65535 | b << 16;
h2 = ah3;
l = al3;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[3];
l = hl[3];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[3] = ah3 = c3 & 65535 | d3 << 16;
hl[3] = al3 = a2 & 65535 | b << 16;
h2 = ah4;
l = al4;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[4];
l = hl[4];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[4] = ah4 = c3 & 65535 | d3 << 16;
hl[4] = al4 = a2 & 65535 | b << 16;
h2 = ah5;
l = al5;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[5];
l = hl[5];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[5] = ah5 = c3 & 65535 | d3 << 16;
hl[5] = al5 = a2 & 65535 | b << 16;
h2 = ah6;
l = al6;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[6];
l = hl[6];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[6] = ah6 = c3 & 65535 | d3 << 16;
hl[6] = al6 = a2 & 65535 | b << 16;
h2 = ah7;
l = al7;
a2 = l & 65535;
b = l >>> 16;
c3 = h2 & 65535;
d3 = h2 >>> 16;
h2 = hh[7];
l = hl[7];
a2 += l & 65535;
b += l >>> 16;
c3 += h2 & 65535;
d3 += h2 >>> 16;
b += a2 >>> 16;
c3 += b >>> 16;
d3 += c3 >>> 16;
hh[7] = ah7 = c3 & 65535 | d3 << 16;
hl[7] = al7 = a2 & 65535 | b << 16;
pos += 128;
n2 -= 128;
}
return n2;
}
function crypto_hash(out, m, n2) {
var hh = new Int32Array(8), hl = new Int32Array(8), x3 = new Uint8Array(256), i4, b = n2;
hh[0] = 1779033703;
hh[1] = 3144134277;
hh[2] = 1013904242;
hh[3] = 2773480762;
hh[4] = 1359893119;
hh[5] = 2600822924;
hh[6] = 528734635;
hh[7] = 1541459225;
hl[0] = 4089235720;
hl[1] = 2227873595;
hl[2] = 4271175723;
hl[3] = 1595750129;
hl[4] = 2917565137;
hl[5] = 725511199;
hl[6] = 4215389547;
hl[7] = 327033209;
crypto_hashblocks_hl(hh, hl, m, n2);
n2 %= 128;
for (i4 = 0; i4 < n2; i4++) x3[i4] = m[b - n2 + i4];
x3[n2] = 128;
n2 = 256 - 128 * (n2 < 112 ? 1 : 0);
x3[n2 - 9] = 0;
ts64(x3, n2 - 8, b / 536870912 | 0, b << 3);
crypto_hashblocks_hl(hh, hl, x3, n2);
for (i4 = 0; i4 < 8; i4++) ts64(out, 8 * i4, hh[i4], hl[i4]);
return 0;
}
function add(p, q) {
var a2 = gf(), b = gf(), c3 = gf(), d3 = gf(), e = gf(), f = gf(), g = gf(), h2 = gf(), t2 = gf();
Z(a2, p[1], p[0]);
Z(t2, q[1], q[0]);
M2(a2, a2, t2);
A(b, p[0], p[1]);
A(t2, q[0], q[1]);
M2(b, b, t2);
M2(c3, p[3], q[3]);
M2(c3, c3, D2);
M2(d3, p[2], q[2]);
A(d3, d3, d3);
Z(e, b, a2);
Z(f, d3, c3);
A(g, d3, c3);
A(h2, b, a2);
M2(p[0], e, f);
M2(p[1], h2, g);
M2(p[2], g, f);
M2(p[3], e, h2);
}
function cswap(p, q, b) {
var i4;
for (i4 = 0; i4 < 4; i4++) {
sel25519(p[i4], q[i4], b);
}
}
function pack2(r, p) {
var tx = gf(), ty = gf(), zi = gf();
inv25519(zi, p[2]);
M2(tx, p[0], zi);
M2(ty, p[1], zi);
pack25519(r, ty);
r[31] ^= par25519(tx) << 7;
}
function scalarmult(p, q, s) {
var b, i4;
set25519(p[0], gf0);
set25519(p[1], gf1);
set25519(p[2], gf1);
set25519(p[3], gf0);
for (i4 = 255; i4 >= 0; --i4) {
b = s[i4 / 8 | 0] >> (i4 & 7) & 1;
cswap(p, q, b);
add(q, p);
add(p, p);
cswap(p, q, b);
}
}
function scalarbase(p, s) {
var q = [gf(), gf(), gf(), gf()];
set25519(q[0], X);
set25519(q[1], Y);
set25519(q[2], gf1);
M2(q[3], X, Y);
scalarmult(p, q, s);
}
function crypto_sign_keypair(pk, sk, seeded) {
var d3 = new Uint8Array(64);
var p = [gf(), gf(), gf(), gf()];
var i4;
if (!seeded) randombytes(sk, 32);
crypto_hash(d3, sk, 32);
d3[0] &= 248;
d3[31] &= 127;
d3[31] |= 64;
scalarbase(p, d3);
pack2(pk, p);
for (i4 = 0; i4 < 32; i4++) sk[i4 + 32] = pk[i4];
return 0;
}
function modL(r, x3) {
var carry, i4, j2, k2;
for (i4 = 63; i4 >= 32; --i4) {
carry = 0;
for (j2 = i4 - 32, k2 = i4 - 12; j2 < k2; ++j2) {
x3[j2] += carry - 16 * x3[i4] * L2[j2 - (i4 - 32)];
carry = Math.floor((x3[j2] + 128) / 256);
x3[j2] -= carry * 256;
}
x3[j2] += carry;
x3[i4] = 0;
}
carry = 0;
for (j2 = 0; j2 < 32; j2++) {
x3[j2] += carry - (x3[31] >> 4) * L2[j2];
carry = x3[j2] >> 8;
x3[j2] &= 255;
}
for (j2 = 0; j2 < 32; j2++) x3[j2] -= carry * L2[j2];
for (i4 = 0; i4 < 32; i4++) {
x3[i4 + 1] += x3[i4] >> 8;
r[i4] = x3[i4] & 255;
}
}
function reduce2(r) {
var x3 = new Float64Array(64), i4;
for (i4 = 0; i4 < 64; i4++) x3[i4] = r[i4];
for (i4 = 0; i4 < 64; i4++) r[i4] = 0;
modL(r, x3);
}
function crypto_sign(sm, m, n2, sk) {
var d3 = new Uint8Array(64), h2 = new Uint8Array(64), r = new Uint8Array(64);
var i4, j2, x3 = new Float64Array(64);
var p = [gf(), gf(), gf(), gf()];
crypto_hash(d3, sk, 32);
d3[0] &= 248;
d3[31] &= 127;
d3[31] |= 64;
var smlen = n2 + 64;
for (i4 = 0; i4 < n2; i4++) sm[64 + i4] = m[i4];
for (i4 = 0; i4 < 32; i4++) sm[32 + i4] = d3[32 + i4];
crypto_hash(r, sm.subarray(32), n2 + 32);
reduce2(r);
scalarbase(p, r);
pack2(sm, p);
for (i4 = 32; i4 < 64; i4++) sm[i4] = sk[i4];
crypto_hash(h2, sm, n2 + 64);
reduce2(h2);
for (i4 = 0; i4 < 64; i4++) x3[i4] = 0;
for (i4 = 0; i4 < 32; i4++) x3[i4] = r[i4];
for (i4 = 0; i4 < 32; i4++) {
for (j2 = 0; j2 < 32; j2++) {
x3[i4 + j2] += h2[i4] * d3[j2];
}
}
modL(sm.subarray(32), x3);
return smlen;
}
function unpackneg(r, p) {
var t2 = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();
set25519(r[2], gf1);
unpack25519(r[1], p);
S2(num, r[1]);
M2(den, num, D);
Z(num, num, r[2]);
A(den, r[2], den);
S2(den2, den);
S2(den4, den2);
M2(den6, den4, den2);
M2(t2, den6, num);
M2(t2, t2, den);
pow2523(t2, t2);
M2(t2, t2, num);
M2(t2, t2, den);
M2(t2, t2, den);
M2(r[0], t2, den);
S2(chk, r[0]);
M2(chk, chk, den);
if (neq25519(chk, num)) M2(r[0], r[0], I2);
S2(chk, r[0]);
M2(chk, chk, den);
if (neq25519(chk, num)) return -1;
if (par25519(r[0]) === p[31] >> 7) Z(r[0], gf0, r[0]);
M2(r[3], r[0], r[1]);
return 0;
}
function crypto_sign_open(m, sm, n2, pk) {
var i4;
var t2 = new Uint8Array(32), h2 = new Uint8Array(64);
var p = [gf(), gf(), gf(), gf()], q = [gf(), gf(), gf(), gf()];
if (n2 < 64) return -1;
if (unpackneg(q, pk)) return -1;
for (i4 = 0; i4 < n2; i4++) m[i4] = sm[i4];
for (i4 = 0; i4 < 32; i4++) m[i4 + 32] = pk[i4];
crypto_hash(h2, m, n2);
reduce2(h2);
scalarmult(p, q, h2);
scalarbase(q, sm.subarray(32));
add(p, q);
pack2(t2, p);
n2 -= 64;
if (crypto_verify_32(sm, 0, t2, 0)) {
for (i4 = 0; i4 < n2; i4++) m[i4] = 0;
return -1;
}
for (i4 = 0; i4 < n2; i4++) m[i4] = sm[i4 + 64];
return n2;
}
function checkArrayTypes() {
for (var i4 = 0; i4 < arguments.length; i4++) {
if (!(arguments[i4] instanceof Uint8Array))
throw new TypeError("unexpected type, use Uint8Array");
}
}
function cleanup(arr) {
for (var i4 = 0; i4 < arr.length; i4++) arr[i4] = 0;
}
function des(keys4, message, encrypt, mode, iv, padding) {
const spfunction1 = [
16843776,
0,
65536,
16843780,
16842756,
66564,
4,
65536,
1024,
16843776,
16843780,
1024,
16778244,
16842756,
16777216,
4,
1028,
16778240,
16778240,
66560,
66560,
16842752,
16842752,
16778244,
65540,
16777220,
16777220,
65540,
0,
1028,
66564,
16777216,
65536,
16843780,
4,
16842752,
16843776,
16777216,
16777216,
1024,
16842756,
65536,
66560,
16777220,
1024,
4,
16778244,
66564,
16843780,
65540,
16842752,
16778244,
16777220,
1028,
66564,
16843776,
1028,
16778240,
16778240,
0,
65540,
66560,
0,
16842756
];
const spfunction2 = [
-2146402272,
-2147450880,
32768,
1081376,
1048576,
32,
-2146435040,
-2147450848,
-2147483616,
-2146402272,
-2146402304,
-2147483648,
-2147450880,
1048576,
32,
-2146435040,
1081344,
1048608,
-2147450848,
0,
-2147483648,
32768,
1081376,
-2146435072,
1048608,
-2147483616,
0,
1081344,
32800,
-2146402304,
-2146435072,
32800,
0,
1081376,
-2146435040,
1048576,
-2147450848,
-2146435072,
-2146402304,
32768,
-2146435072,
-2147450880,
32,
-2146402272,
1081376,
32,
32768,
-2147483648,
32800,
-2146402304,
1048576,
-2147483616,
1048608,
-2147450848,
-2147483616,
1048608,
1081344,
0,
-2147450880,
32800,
-2147483648,
-2146435040,
-2146402272,
1081344
];
const spfunction3 = [
520,
134349312,
0,
134348808,
134218240,
0,
131592,
134218240,
131080,
134217736,
134217736,
131072,
134349320,
131080,
134348800,
520,
134217728,
8,
134349312,
512,
131584,
134348800,
134348808,
131592,
134218248,
131584,
131072,
134218248,
8,
134349320,
512,
134217728,
134349312,
134217728,
131080,
520,
131072,
134349312,
134218240,
0,
512,
131080,
134349320,
134218240,
134217736,
512,
0,
134348808,
134218248,
131072,
134217728,
134349320,
8,
131592,
131584,
134217736,
134348800,
134218248,
520,
134348800,
131592,
8,
134348808,
131584
];
const spfunction4 = [
8396801,
8321,
8321,
128,
8396928,
8388737,
8388609,
8193,
0,
8396800,
8396800,
8396929,
129,
0,
8388736,
8388609,
1,
8192,
8388608,
8396801,
128,
8388608,
8193,
8320,
8388737,
1,
8320,
8388736,
8192,
8396928,
8396929,
129,
8388736,
8388609,
8396800,
8396929,
129,
0,
0,
8396800,
8320,
8388736,
8388737,
1,
8396801,
8321,
8321,
128,
8396929,
129,
1,
8192,
8388609,
8193,
8396928,
8388737,
8193,
8320,
8388608,
8396801,
128,
8388608,
8192,
8396928
];
const spfunction5 = [
256,
34078976,
34078720,
1107296512,
524288,
256,
1073741824,
34078720,
1074266368,
524288,
33554688,
1074266368,
1107296512,
1107820544,
524544,
1073741824,
33554432,
1074266112,
1074266112,
0,
1073742080,
1107820800,
1107820800,
33554688,
1107820544,
1073742080,
0,
1107296256,
34078976,
33554432,
1107296256,
524544,
524288,
1107296512,
256,
33554432,
1073741824,
34078720,
1107296512,
1074266368,
33554688,
1073741824,
1107820544,
34078976,
1074266368,
256,
33554432,
1107820544,
1107820800,
524544,
1107296256,
1107820800,
34078720,
0,
1074266112,
1107296256,
524544,
33554688,
1073742080,
524288,
0,
1074266112,
34078976,
1073742080
];
const spfunction6 = [
536870928,
541065216,
16384,
541081616,
541065216,
16,
541081616,
4194304,
536887296,
4210704,
4194304,
536870928,
4194320,
536887296,
536870912,
16400,
0,
4194320,
536887312,
16384,
4210688,
536887312,
16,
541065232,
541065232,
0,
4210704,
541081600,
16400,
4210688,
541081600,
536870912,
536887296,
16,
541065232,
4210688,
541081616,
4194304,
16400,
536870928,
4194304,
536887296,
536870912,
16400,
536870928,
541081616,
4210688,
541065216,
4210704,
541081600,
0,
541065232,
16,
16384,
541065216,
4210704,
16384,
4194320,
536887312,
0,
541081600,
536870912,
4194320,
536887312
];
const spfunction7 = [
2097152,
69206018,
67110914,
0,
2048,
67110914,
2099202,
69208064,
69208066,
2097152,
0,
67108866,
2,
67108864,
69206018,
2050,
67110912,
2099202,
2097154,
67110912,
67108866,
69206016,
69208064,
2097154,
69206016,
2048,
2050,
69208066,
2099200,
2,
67108864,
2099200,
67108864,
2099200,
2097152,
67110914,
67110914,
69206018,
69206018,
2,
2097154,
67108864,
67110912,
2097152,
69208064,
2050,
2099202,
69208064,
2050,
67108866,
69208066,
69206016,
2099200,
0,
2,
69208066,
0,
2099202,
69206016,
2048,
67108866,
67110912,
2048,
2097154
];
const spfunction8 = [
268439616,
4096,
262144,
268701760,
268435456,
268439616,
64,
268435456,
262208,
268697600,
268701760,
266240,
268701696,
266304,
4096,
64,
268697600,
268435520,
268439552,
4160,
266240,
262208,
268697664,
268701696,
4160,
0,
0,
268697664,
268435520,
268439552,
266304,
262144,
266304,
262144,
268701696,
4096,
64,
268697664,
4096,
266304,
268439552,
64,
268435520,
268697600,
268697664,
268435456,
262144,
268439616,
0,
268701760,
262208,
268435520,
268697600,
268439552,
268439616,
0,
268701760,
266240,
266240,
4160,
4160,
262208,
268435456,
268701696
];
let m = 0;
let i4;
let j2;
let temp;
let right1;
let right2;
let left;
let right;
let looping;
let endloop;
let loopinc;
let len = message.length;
const iterations = keys4.length === 32 ? 3 : 9;
if (iterations === 3) {
looping = encrypt ? [0, 32, 2] : [30, -2, -2];
} else {
looping = encrypt ? [0, 32, 2, 62, 30, -2, 64, 96, 2] : [94, 62, -2, 32, 64, 2, 30, -2, -2];
}
if (encrypt) {
message = desAddPadding(message);
len = message.length;
}
let result2 = new Uint8Array(len);
let k2 = 0;
while (m < len) {
left = message[m++] << 24 | message[m++] << 16 | message[m++] << 8 | message[m++];
right = message[m++] << 24 | message[m++] << 16 | message[m++] << 8 | message[m++];
temp = (left >>> 4 ^ right) & 252645135;
right ^= temp;
left ^= temp << 4;
temp = (left >>> 16 ^ right) & 65535;
right ^= temp;
left ^= temp << 16;
temp = (right >>> 2 ^ left) & 858993459;
left ^= temp;
right ^= temp << 2;
temp = (right >>> 8 ^ left) & 16711935;
left ^= temp;
right ^= temp << 8;
temp = (left >>> 1 ^ right) & 1431655765;
right ^= temp;
left ^= temp << 1;
left = left << 1 | left >>> 31;
right = right << 1 | right >>> 31;
for (j2 = 0; j2 < iterations; j2 += 3) {
endloop = looping[j2 + 1];
loopinc = looping[j2 + 2];
for (i4 = looping[j2]; i4 !== endloop; i4 += loopinc) {
right1 = right ^ keys4[i4];
right2 = (right >>> 4 | right << 28) ^ keys4[i4 + 1];
temp = left;
left = right;
right = temp ^ (spfunction2[right1 >>> 24 & 63] | spfunction4[right1 >>> 16 & 63] | spfunction6[right1 >>> 8 & 63] | spfunction8[right1 & 63] | spfunction1[right2 >>> 24 & 63] | spfunction3[right2 >>> 16 & 63] | spfunction5[right2 >>> 8 & 63] | spfunction7[right2 & 63]);
}
temp = left;
left = right;
right = temp;
}
left = left >>> 1 | left << 31;
right = right >>> 1 | right << 31;
temp = (left >>> 1 ^ right) & 1431655765;
right ^= temp;
left ^= temp << 1;
temp = (right >>> 8 ^ left) & 16711935;
left ^= temp;
right ^= temp << 8;
temp = (right >>> 2 ^ left) & 858993459;
left ^= temp;
right ^= temp << 2;
temp = (left >>> 16 ^ right) & 65535;
right ^= temp;
left ^= temp << 16;
temp = (left >>> 4 ^ right) & 252645135;
right ^= temp;
left ^= temp << 4;
result2[k2++] = left >>> 24;
result2[k2++] = left >>> 16 & 255;
result2[k2++] = left >>> 8 & 255;
result2[k2++] = left & 255;
result2[k2++] = right >>> 24;
result2[k2++] = right >>> 16 & 255;
result2[k2++] = right >>> 8 & 255;
result2[k2++] = right & 255;
}
if (!encrypt) {
result2 = desRemovePadding(result2);
}
return result2;
}
function desCreateKeys(key) {
const pc2bytes0 = [
0,
4,
536870912,
536870916,
65536,
65540,
536936448,
536936452,
512,
516,
536871424,
536871428,
66048,
66052,
536936960,
536936964
];
const pc2bytes1 = [
0,
1,
1048576,
1048577,
67108864,
67108865,
68157440,
68157441,
256,
257,
1048832,
1048833,
67109120,
67109121,
68157696,
68157697
];
const pc2bytes2 = [
0,
8,
2048,
2056,
16777216,
16777224,
16779264,
16779272,
0,
8,
2048,
2056,
16777216,
16777224,
16779264,
16779272
];
const pc2bytes3 = [
0,
2097152,
134217728,
136314880,
8192,
2105344,
134225920,
136323072,
131072,
2228224,
134348800,
136445952,
139264,
2236416,
134356992,
136454144
];
const pc2bytes4 = [
0,
262144,
16,
262160,
0,
262144,
16,
262160,
4096,
266240,
4112,
266256,
4096,
266240,
4112,
266256
];
const pc2bytes5 = [
0,
1024,
32,
1056,
0,
1024,
32,
1056,
33554432,
33555456,
33554464,
33555488,
33554432,
33555456,
33554464,
33555488
];
const pc2bytes6 = [
0,
268435456,
524288,
268959744,
2,
268435458,
524290,
268959746,
0,
268435456,
524288,
268959744,
2,
268435458,
524290,
268959746
];
const pc2bytes7 = [
0,
65536,
2048,
67584,
536870912,
536936448,
536872960,
536938496,
131072,
196608,
133120,
198656,
537001984,
537067520,
537004032,
537069568
];
const pc2bytes8 = [
0,
262144,
0,
262144,
2,
262146,
2,
262146,
33554432,
33816576,
33554432,
33816576,
33554434,
33816578,
33554434,
33816578
];
const pc2bytes9 = [
0,
268435456,
8,
268435464,
0,
268435456,
8,
268435464,
1024,
268436480,
1032,
268436488,
1024,
268436480,
1032,
268436488
];
const pc2bytes10 = [
0,
32,
0,
32,
1048576,
1048608,
1048576,
1048608,
8192,
8224,
8192,
8224,
1056768,
1056800,
1056768,
1056800
];
const pc2bytes11 = [
0,
16777216,
512,
16777728,
2097152,
18874368,
2097664,
18874880,
67108864,
83886080,
67109376,
83886592,
69206016,
85983232,
69206528,
85983744
];
const pc2bytes12 = [
0,
4096,
134217728,
134221824,
524288,
528384,
134742016,
134746112,
16,
4112,
134217744,
134221840,
524304,
528400,
134742032,
134746128
];
const pc2bytes13 = [0, 4, 256, 260, 0, 4, 256, 260, 1, 5, 257, 261, 1, 5, 257, 261];
const iterations = key.length > 8 ? 3 : 1;
const keys4 = new Array(32 * iterations);
const shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0];
let lefttemp;
let righttemp;
let m = 0;
let n2 = 0;
let temp;
for (let j2 = 0; j2 < iterations; j2++) {
let left = key[m++] << 24 | key[m++] << 16 | key[m++] << 8 | key[m++];
let right = key[m++] << 24 | key[m++] << 16 | key[m++] << 8 | key[m++];
temp = (left >>> 4 ^ right) & 252645135;
right ^= temp;
left ^= temp << 4;
temp = (right >>> -16 ^ left) & 65535;
left ^= temp;
right ^= temp << -16;
temp = (left >>> 2 ^ right) & 858993459;
right ^= temp;
left ^= temp << 2;
temp = (right >>> -16 ^ left) & 65535;
left ^= temp;
right ^= temp << -16;
temp = (left >>> 1 ^ right) & 1431655765;
right ^= temp;
left ^= temp << 1;
temp = (right >>> 8 ^ left) & 16711935;
left ^= temp;
right ^= temp << 8;
temp = (left >>> 1 ^ right) & 1431655765;
right ^= temp;
left ^= temp << 1;
temp = left << 8 | right >>> 20 & 240;
left = right << 24 | right << 8 & 16711680 | right >>> 8 & 65280 | right >>> 24 & 240;
right = temp;
for (let i4 = 0; i4 < shifts.length; i4++) {
if (shifts[i4]) {
left = left << 2 | left >>> 26;
right = right << 2 | right >>> 26;
} else {
left = left << 1 | left >>> 27;
right = right << 1 | right >>> 27;
}
left &= -15;
right &= -15;
lefttemp = pc2bytes0[left >>> 28] | pc2bytes1[left >>> 24 & 15] | pc2bytes2[left >>> 20 & 15] | pc2bytes3[left >>> 16 & 15] | pc2bytes4[left >>> 12 & 15] | pc2bytes5[left >>> 8 & 15] | pc2bytes6[left >>> 4 & 15];
righttemp = pc2bytes7[right >>> 28] | pc2bytes8[right >>> 24 & 15] | pc2bytes9[right >>> 20 & 15] | pc2bytes10[right >>> 16 & 15] | pc2bytes11[right >>> 12 & 15] | pc2bytes12[right >>> 8 & 15] | pc2bytes13[right >>> 4 & 15];
temp = (righttemp >>> 16 ^ lefttemp) & 65535;
keys4[n2++] = lefttemp ^ temp;
keys4[n2++] = righttemp ^ temp << 16;
}
}
return keys4;
}
function desAddPadding(message, padding) {
const padLength = 8 - message.length % 8;
let pad4;
if (padLength < 8) {
pad4 = 0;
} else if (padLength === 8) {
return message;
} else {
throw new Error("des: invalid padding");
}
const paddedMessage = new Uint8Array(message.length + padLength);
for (let i4 = 0; i4 < message.length; i4++) {
paddedMessage[i4] = message[i4];
}
for (let j2 = 0; j2 < padLength; j2++) {
paddedMessage[message.length + j2] = pad4;
}
return paddedMessage;
}
function desRemovePadding(message, padding) {
let padLength = null;
let pad4;
{
pad4 = 0;
}
if (!padLength) {
padLength = 1;
while (message[message.length - padLength] === pad4) {
padLength++;
}
padLength--;
}
return message.subarray(0, message.length - padLength);
}
function TripleDES(key) {
this.key = [];
for (let i4 = 0; i4 < 3; i4++) {
this.key.push(new Uint8Array(key.subarray(i4 * 8, i4 * 8 + 8)));
}
this.encrypt = function(block) {
return des(desCreateKeys(this.key[2]), des(desCreateKeys(this.key[1]), des(desCreateKeys(this.key[0]), block, true, 0, null, null), false, 0, null, null), true);
};
}
function OpenPGPSymEncCAST5() {
this.BlockSize = 8;
this.KeySize = 16;
this.setKey = function(key) {
this.masking = new Array(16);
this.rotate = new Array(16);
this.reset();
if (key.length === this.KeySize) {
this.keySchedule(key);
} else {
throw new Error("CAST-128: keys must be 16 bytes");
}
return true;
};
this.reset = function() {
for (let i4 = 0; i4 < 16; i4++) {
this.masking[i4] = 0;
this.rotate[i4] = 0;
}
};
this.getBlockSize = function() {
return this.BlockSize;
};
this.encrypt = function(src2) {
const dst = new Array(src2.length);
for (let i4 = 0; i4 < src2.length; i4 += 8) {
let l = src2[i4] << 24 | src2[i4 + 1] << 16 | src2[i4 + 2] << 8 | src2[i4 + 3];
let r = src2[i4 + 4] << 24 | src2[i4 + 5] << 16 | src2[i4 + 6] << 8 | src2[i4 + 7];
let t2;
t2 = r;
r = l ^ f1(r, this.masking[0], this.rotate[0]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[1], this.rotate[1]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[2], this.rotate[2]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[3], this.rotate[3]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[4], this.rotate[4]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[5], this.rotate[5]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[6], this.rotate[6]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[7], this.rotate[7]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[8], this.rotate[8]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[9], this.rotate[9]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[10], this.rotate[10]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[11], this.rotate[11]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[12], this.rotate[12]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[13], this.rotate[13]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[14], this.rotate[14]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[15], this.rotate[15]);
l = t2;
dst[i4] = r >>> 24 & 255;
dst[i4 + 1] = r >>> 16 & 255;
dst[i4 + 2] = r >>> 8 & 255;
dst[i4 + 3] = r & 255;
dst[i4 + 4] = l >>> 24 & 255;
dst[i4 + 5] = l >>> 16 & 255;
dst[i4 + 6] = l >>> 8 & 255;
dst[i4 + 7] = l & 255;
}
return dst;
};
this.decrypt = function(src2) {
const dst = new Array(src2.length);
for (let i4 = 0; i4 < src2.length; i4 += 8) {
let l = src2[i4] << 24 | src2[i4 + 1] << 16 | src2[i4 + 2] << 8 | src2[i4 + 3];
let r = src2[i4 + 4] << 24 | src2[i4 + 5] << 16 | src2[i4 + 6] << 8 | src2[i4 + 7];
let t2;
t2 = r;
r = l ^ f1(r, this.masking[15], this.rotate[15]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[14], this.rotate[14]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[13], this.rotate[13]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[12], this.rotate[12]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[11], this.rotate[11]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[10], this.rotate[10]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[9], this.rotate[9]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[8], this.rotate[8]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[7], this.rotate[7]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[6], this.rotate[6]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[5], this.rotate[5]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[4], this.rotate[4]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[3], this.rotate[3]);
l = t2;
t2 = r;
r = l ^ f3(r, this.masking[2], this.rotate[2]);
l = t2;
t2 = r;
r = l ^ f2(r, this.masking[1], this.rotate[1]);
l = t2;
t2 = r;
r = l ^ f1(r, this.masking[0], this.rotate[0]);
l = t2;
dst[i4] = r >>> 24 & 255;
dst[i4 + 1] = r >>> 16 & 255;
dst[i4 + 2] = r >>> 8 & 255;
dst[i4 + 3] = r & 255;
dst[i4 + 4] = l >>> 24 & 255;
dst[i4 + 5] = l >> 16 & 255;
dst[i4 + 6] = l >> 8 & 255;
dst[i4 + 7] = l & 255;
}
return dst;
};
const scheduleA = new Array(4);
scheduleA[0] = new Array(4);
scheduleA[0][0] = [4, 0, 13, 15, 12, 14, 8];
scheduleA[0][1] = [5, 2, 16 + 0, 16 + 2, 16 + 1, 16 + 3, 10];
scheduleA[0][2] = [6, 3, 16 + 7, 16 + 6, 16 + 5, 16 + 4, 9];
scheduleA[0][3] = [7, 1, 16 + 10, 16 + 9, 16 + 11, 16 + 8, 11];
scheduleA[1] = new Array(4);
scheduleA[1][0] = [0, 6, 16 + 5, 16 + 7, 16 + 4, 16 + 6, 16 + 0];
scheduleA[1][1] = [1, 4, 0, 2, 1, 3, 16 + 2];
scheduleA[1][2] = [2, 5, 7, 6, 5, 4, 16 + 1];
scheduleA[1][3] = [3, 7, 10, 9, 11, 8, 16 + 3];
scheduleA[2] = new Array(4);
scheduleA[2][0] = [4, 0, 13, 15, 12, 14, 8];
scheduleA[2][1] = [5, 2, 16 + 0, 16 + 2, 16 + 1, 16 + 3, 10];
scheduleA[2][2] = [6, 3, 16 + 7, 16 + 6, 16 + 5, 16 + 4, 9];
scheduleA[2][3] = [7, 1, 16 + 10, 16 + 9, 16 + 11, 16 + 8, 11];
scheduleA[3] = new Array(4);
scheduleA[3][0] = [0, 6, 16 + 5, 16 + 7, 16 + 4, 16 + 6, 16 + 0];
scheduleA[3][1] = [1, 4, 0, 2, 1, 3, 16 + 2];
scheduleA[3][2] = [2, 5, 7, 6, 5, 4, 16 + 1];
scheduleA[3][3] = [3, 7, 10, 9, 11, 8, 16 + 3];
const scheduleB = new Array(4);
scheduleB[0] = new Array(4);
scheduleB[0][0] = [16 + 8, 16 + 9, 16 + 7, 16 + 6, 16 + 2];
scheduleB[0][1] = [16 + 10, 16 + 11, 16 + 5, 16 + 4, 16 + 6];
scheduleB[0][2] = [16 + 12, 16 + 13, 16 + 3, 16 + 2, 16 + 9];
scheduleB[0][3] = [16 + 14, 16 + 15, 16 + 1, 16 + 0, 16 + 12];
scheduleB[1] = new Array(4);
scheduleB[1][0] = [3, 2, 12, 13, 8];
scheduleB[1][1] = [1, 0, 14, 15, 13];
scheduleB[1][2] = [7, 6, 8, 9, 3];
scheduleB[1][3] = [5, 4, 10, 11, 7];
scheduleB[2] = new Array(4);
scheduleB[2][0] = [16 + 3, 16 + 2, 16 + 12, 16 + 13, 16 + 9];
scheduleB[2][1] = [16 + 1, 16 + 0, 16 + 14, 16 + 15, 16 + 12];
scheduleB[2][2] = [16 + 7, 16 + 6, 16 + 8, 16 + 9, 16 + 2];
scheduleB[2][3] = [16 + 5, 16 + 4, 16 + 10, 16 + 11, 16 + 6];
scheduleB[3] = new Array(4);
scheduleB[3][0] = [8, 9, 7, 6, 3];
scheduleB[3][1] = [10, 11, 5, 4, 7];
scheduleB[3][2] = [12, 13, 3, 2, 8];
scheduleB[3][3] = [14, 15, 1, 0, 13];
this.keySchedule = function(inn) {
const t2 = new Array(8);
const k2 = new Array(32);
let j2;
for (let i4 = 0; i4 < 4; i4++) {
j2 = i4 * 4;
t2[i4] = inn[j2] << 24 | inn[j2 + 1] << 16 | inn[j2 + 2] << 8 | inn[j2 + 3];
}
const x3 = [6, 7, 4, 5];
let ki = 0;
let w;
for (let half = 0; half < 2; half++) {
for (let round = 0; round < 4; round++) {
for (j2 = 0; j2 < 4; j2++) {
const a2 = scheduleA[round][j2];
w = t2[a2[1]];
w ^= sBox[4][t2[a2[2] >>> 2] >>> 24 - 8 * (a2[2] & 3) & 255];
w ^= sBox[5][t2[a2[3] >>> 2] >>> 24 - 8 * (a2[3] & 3) & 255];
w ^= sBox[6][t2[a2[4] >>> 2] >>> 24 - 8 * (a2[4] & 3) & 255];
w ^= sBox[7][t2[a2[5] >>> 2] >>> 24 - 8 * (a2[5] & 3) & 255];
w ^= sBox[x3[j2]][t2[a2[6] >>> 2] >>> 24 - 8 * (a2[6] & 3) & 255];
t2[a2[0]] = w;
}
for (j2 = 0; j2 < 4; j2++) {
const b = scheduleB[round][j2];
w = sBox[4][t2[b[0] >>> 2] >>> 24 - 8 * (b[0] & 3) & 255];
w ^= sBox[5][t2[b[1] >>> 2] >>> 24 - 8 * (b[1] & 3) & 255];
w ^= sBox[6][t2[b[2] >>> 2] >>> 24 - 8 * (b[2] & 3) & 255];
w ^= sBox[7][t2[b[3] >>> 2] >>> 24 - 8 * (b[3] & 3) & 255];
w ^= sBox[4 + j2][t2[b[4] >>> 2] >>> 24 - 8 * (b[4] & 3) & 255];
k2[ki] = w;
ki++;
}
}
}
for (let i4 = 0; i4 < 16; i4++) {
this.masking[i4] = k2[i4];
this.rotate[i4] = k2[16 + i4] & 31;
}
};
function f1(d3, m, r) {
const t2 = m + d3;
const I3 = t2 << r | t2 >>> 32 - r;
return (sBox[0][I3 >>> 24] ^ sBox[1][I3 >>> 16 & 255]) - sBox[2][I3 >>> 8 & 255] + sBox[3][I3 & 255];
}
function f2(d3, m, r) {
const t2 = m ^ d3;
const I3 = t2 << r | t2 >>> 32 - r;
return sBox[0][I3 >>> 24] - sBox[1][I3 >>> 16 & 255] + sBox[2][I3 >>> 8 & 255] ^ sBox[3][I3 & 255];
}
function f3(d3, m, r) {
const t2 = m - d3;
const I3 = t2 << r | t2 >>> 32 - r;
return (sBox[0][I3 >>> 24] + sBox[1][I3 >>> 16 & 255] ^ sBox[2][I3 >>> 8 & 255]) - sBox[3][I3 & 255];
}
const sBox = new Array(8);
sBox[0] = [
821772500,
2678128395,
1810681135,
1059425402,
505495343,
2617265619,
1610868032,
3483355465,
3218386727,
2294005173,
3791863952,
2563806837,
1852023008,
365126098,
3269944861,
584384398,
677919599,
3229601881,
4280515016,
2002735330,
1136869587,
3744433750,
2289869850,
2731719981,
2714362070,
879511577,
1639411079,
575934255,
717107937,
2857637483,
576097850,
2731753936,
1725645e3,
2810460463,
5111599,
767152862,
2543075244,
1251459544,
1383482551,
3052681127,
3089939183,
3612463449,
1878520045,
1510570527,
2189125840,
2431448366,
582008916,
3163445557,
1265446783,
1354458274,
3529918736,
3202711853,
3073581712,
3912963487,
3029263377,
1275016285,
4249207360,
2905708351,
3304509486,
1442611557,
3585198765,
2712415662,
2731849581,
3248163920,
2283946226,
208555832,
2766454743,
1331405426,
1447828783,
3315356441,
3108627284,
2957404670,
2981538698,
3339933917,
1669711173,
286233437,
1465092821,
1782121619,
3862771680,
710211251,
980974943,
1651941557,
430374111,
2051154026,
704238805,
4128970897,
3144820574,
2857402727,
948965521,
3333752299,
2227686284,
718756367,
2269778983,
2731643755,
718440111,
2857816721,
3616097120,
1113355533,
2478022182,
410092745,
1811985197,
1944238868,
2696854588,
1415722873,
1682284203,
1060277122,
1998114690,
1503841958,
82706478,
2315155686,
1068173648,
845149890,
2167947013,
1768146376,
1993038550,
3566826697,
3390574031,
940016341,
3355073782,
2328040721,
904371731,
1205506512,
4094660742,
2816623006,
825647681,
85914773,
2857843460,
1249926541,
1417871568,
3287612,
3211054559,
3126306446,
1975924523,
1353700161,
2814456437,
2438597621,
1800716203,
722146342,
2873936343,
1151126914,
4160483941,
2877670899,
458611604,
2866078500,
3483680063,
770352098,
2652916994,
3367839148,
3940505011,
3585973912,
3809620402,
718646636,
2504206814,
2914927912,
3631288169,
2857486607,
2860018678,
575749918,
2857478043,
718488780,
2069512688,
3548183469,
453416197,
1106044049,
3032691430,
52586708,
3378514636,
3459808877,
3211506028,
1785789304,
218356169,
3571399134,
3759170522,
1194783844,
1523787992,
3007827094,
1975193539,
2555452411,
1341901877,
3045838698,
3776907964,
3217423946,
2802510864,
2889438986,
1057244207,
1636348243,
3761863214,
1462225785,
2632663439,
481089165,
718503062,
24497053,
3332243209,
3344655856,
3655024856,
3960371065,
1195698900,
2971415156,
3710176158,
2115785917,
4027663609,
3525578417,
2524296189,
2745972565,
3564906415,
1372086093,
1452307862,
2780501478,
1476592880,
3389271281,
18495466,
2378148571,
901398090,
891748256,
3279637769,
3157290713,
2560960102,
1447622437,
4284372637,
216884176,
2086908623,
1879786977,
3588903153,
2242455666,
2938092967,
3559082096,
2810645491,
758861177,
1121993112,
215018983,
642190776,
4169236812,
1196255959,
2081185372,
3508738393,
941322904,
4124243163,
2877523539,
1848581667,
2205260958,
3180453958,
2589345134,
3694731276,
550028657,
2519456284,
3789985535,
2973870856,
2093648313,
443148163,
46942275,
2734146937,
1117713533,
1115362972,
1523183689,
3717140224,
1551984063
];
sBox[1] = [
522195092,
4010518363,
1776537470,
960447360,
4267822970,
4005896314,
1435016340,
1929119313,
2913464185,
1310552629,
3579470798,
3724818106,
2579771631,
1594623892,
417127293,
2715217907,
2696228731,
1508390405,
3994398868,
3925858569,
3695444102,
4019471449,
3129199795,
3770928635,
3520741761,
990456497,
4187484609,
2783367035,
21106139,
3840405339,
631373633,
3783325702,
532942976,
396095098,
3548038825,
4267192484,
2564721535,
2011709262,
2039648873,
620404603,
3776170075,
2898526339,
3612357925,
4159332703,
1645490516,
223693667,
1567101217,
3362177881,
1029951347,
3470931136,
3570957959,
1550265121,
119497089,
972513919,
907948164,
3840628539,
1613718692,
3594177948,
465323573,
2659255085,
654439692,
2575596212,
2699288441,
3127702412,
277098644,
624404830,
4100943870,
2717858591,
546110314,
2403699828,
3655377447,
1321679412,
4236791657,
1045293279,
4010672264,
895050893,
2319792268,
494945126,
1914543101,
2777056443,
3894764339,
2219737618,
311263384,
4275257268,
3458730721,
669096869,
3584475730,
3835122877,
3319158237,
3949359204,
2005142349,
2713102337,
2228954793,
3769984788,
569394103,
3855636576,
1425027204,
108000370,
2736431443,
3671869269,
3043122623,
1750473702,
2211081108,
762237499,
3972989403,
2798899386,
3061857628,
2943854345,
867476300,
964413654,
1591880597,
1594774276,
2179821409,
552026980,
3026064248,
3726140315,
2283577634,
3110545105,
2152310760,
582474363,
1582640421,
1383256631,
2043843868,
3322775884,
1217180674,
463797851,
2763038571,
480777679,
2718707717,
2289164131,
3118346187,
214354409,
200212307,
3810608407,
3025414197,
2674075964,
3997296425,
1847405948,
1342460550,
510035443,
4080271814,
815934613,
833030224,
1620250387,
1945732119,
2703661145,
3966000196,
1388869545,
3456054182,
2687178561,
2092620194,
562037615,
1356438536,
3409922145,
3261847397,
1688467115,
2150901366,
631725691,
3840332284,
549916902,
3455104640,
394546491,
837744717,
2114462948,
751520235,
2221554606,
2415360136,
3999097078,
2063029875,
803036379,
2702586305,
821456707,
3019566164,
360699898,
4018502092,
3511869016,
3677355358,
2402471449,
812317050,
49299192,
2570164949,
3259169295,
2816732080,
3331213574,
3101303564,
2156015656,
3705598920,
3546263921,
143268808,
3200304480,
1638124008,
3165189453,
3341807610,
578956953,
2193977524,
3638120073,
2333881532,
807278310,
658237817,
2969561766,
1641658566,
11683945,
3086995007,
148645947,
1138423386,
4158756760,
1981396783,
2401016740,
3699783584,
380097457,
2680394679,
2803068651,
3334260286,
441530178,
4016580796,
1375954390,
761952171,
891809099,
2183123478,
157052462,
3683840763,
1592404427,
341349109,
2438483839,
1417898363,
644327628,
2233032776,
2353769706,
2201510100,
220455161,
1815641738,
182899273,
2995019788,
3627381533,
3702638151,
2890684138,
1052606899,
588164016,
1681439879,
4038439418,
2405343923,
4229449282,
167996282,
1336969661,
1688053129,
2739224926,
1543734051,
1046297529,
1138201970,
2121126012,
115334942,
1819067631,
1902159161,
1941945968,
2206692869,
1159982321
];
sBox[2] = [
2381300288,
637164959,
3952098751,
3893414151,
1197506559,
916448331,
2350892612,
2932787856,
3199334847,
4009478890,
3905886544,
1373570990,
2450425862,
4037870920,
3778841987,
2456817877,
286293407,
124026297,
3001279700,
1028597854,
3115296800,
4208886496,
2691114635,
2188540206,
1430237888,
1218109995,
3572471700,
308166588,
570424558,
2187009021,
2455094765,
307733056,
1310360322,
3135275007,
1384269543,
2388071438,
863238079,
2359263624,
2801553128,
3380786597,
2831162807,
1470087780,
1728663345,
4072488799,
1090516929,
532123132,
2389430977,
1132193179,
2578464191,
3051079243,
1670234342,
1434557849,
2711078940,
1241591150,
3314043432,
3435360113,
3091448339,
1812415473,
2198440252,
267246943,
796911696,
3619716990,
38830015,
1526438404,
2806502096,
374413614,
2943401790,
1489179520,
1603809326,
1920779204,
168801282,
260042626,
2358705581,
1563175598,
2397674057,
1356499128,
2217211040,
514611088,
2037363785,
2186468373,
4022173083,
2792511869,
2913485016,
1173701892,
4200428547,
3896427269,
1334932762,
2455136706,
602925377,
2835607854,
1613172210,
41346230,
2499634548,
2457437618,
2188827595,
41386358,
4172255629,
1313404830,
2405527007,
3801973774,
2217704835,
873260488,
2528884354,
2478092616,
4012915883,
2555359016,
2006953883,
2463913485,
575479328,
2218240648,
2099895446,
660001756,
2341502190,
3038761536,
3888151779,
3848713377,
3286851934,
1022894237,
1620365795,
3449594689,
1551255054,
15374395,
3570825345,
4249311020,
4151111129,
3181912732,
310226346,
1133119310,
530038928,
136043402,
2476768958,
3107506709,
2544909567,
1036173560,
2367337196,
1681395281,
1758231547,
3641649032,
306774401,
1575354324,
3716085866,
1990386196,
3114533736,
2455606671,
1262092282,
3124342505,
2768229131,
4210529083,
1833535011,
423410938,
660763973,
2187129978,
1639812e3,
3508421329,
3467445492,
310289298,
272797111,
2188552562,
2456863912,
310240523,
677093832,
1013118031,
901835429,
3892695601,
1116285435,
3036471170,
1337354835,
243122523,
520626091,
277223598,
4244441197,
4194248841,
1766575121,
594173102,
316590669,
742362309,
3536858622,
4176435350,
3838792410,
2501204839,
1229605004,
3115755532,
1552908988,
2312334149,
979407927,
3959474601,
1148277331,
176638793,
3614686272,
2083809052,
40992502,
1340822838,
2731552767,
3535757508,
3560899520,
1354035053,
122129617,
7215240,
2732932949,
3118912700,
2718203926,
2539075635,
3609230695,
3725561661,
1928887091,
2882293555,
1988674909,
2063640240,
2491088897,
1459647954,
4189817080,
2302804382,
1113892351,
2237858528,
1927010603,
4002880361,
1856122846,
1594404395,
2944033133,
3855189863,
3474975698,
1643104450,
4054590833,
3431086530,
1730235576,
2984608721,
3084664418,
2131803598,
4178205752,
267404349,
1617849798,
1616132681,
1462223176,
736725533,
2327058232,
551665188,
2945899023,
1749386277,
2575514597,
1611482493,
674206544,
2201269090,
3642560800,
728599968,
1680547377,
2620414464,
1388111496,
453204106,
4156223445,
1094905244,
2754698257,
2201108165,
3757000246,
2704524545,
3922940700,
3996465027
];
sBox[3] = [
2645754912,
532081118,
2814278639,
3530793624,
1246723035,
1689095255,
2236679235,
4194438865,
2116582143,
3859789411,
157234593,
2045505824,
4245003587,
1687664561,
4083425123,
605965023,
672431967,
1336064205,
3376611392,
214114848,
4258466608,
3232053071,
489488601,
605322005,
3998028058,
264917351,
1912574028,
756637694,
436560991,
202637054,
135989450,
85393697,
2152923392,
3896401662,
2895836408,
2145855233,
3535335007,
115294817,
3147733898,
1922296357,
3464822751,
4117858305,
1037454084,
2725193275,
2127856640,
1417604070,
1148013728,
1827919605,
642362335,
2929772533,
909348033,
1346338451,
3547799649,
297154785,
1917849091,
4161712827,
2883604526,
3968694238,
1469521537,
3780077382,
3375584256,
1763717519,
136166297,
4290970789,
1295325189,
2134727907,
2798151366,
1566297257,
3672928234,
2677174161,
2672173615,
965822077,
2780786062,
289653839,
1133871874,
3491843819,
35685304,
1068898316,
418943774,
672553190,
642281022,
2346158704,
1954014401,
3037126780,
4079815205,
2030668546,
3840588673,
672283427,
1776201016,
359975446,
3750173538,
555499703,
2769985273,
1324923,
69110472,
152125443,
3176785106,
3822147285,
1340634837,
798073664,
1434183902,
15393959,
216384236,
1303690150,
3881221631,
3711134124,
3960975413,
106373927,
2578434224,
1455997841,
1801814300,
1578393881,
1854262133,
3188178946,
3258078583,
2302670060,
1539295533,
3505142565,
3078625975,
2372746020,
549938159,
3278284284,
2620926080,
181285381,
2865321098,
3970029511,
68876850,
488006234,
1728155692,
2608167508,
836007927,
2435231793,
919367643,
3339422534,
3655756360,
1457871481,
40520939,
1380155135,
797931188,
234455205,
2255801827,
3990488299,
397000196,
739833055,
3077865373,
2871719860,
4022553888,
772369276,
390177364,
3853951029,
557662966,
740064294,
1640166671,
1699928825,
3535942136,
622006121,
3625353122,
68743880,
1742502,
219489963,
1664179233,
1577743084,
1236991741,
410585305,
2366487942,
823226535,
1050371084,
3426619607,
3586839478,
212779912,
4147118561,
1819446015,
1911218849,
530248558,
3486241071,
3252585495,
2886188651,
3410272728,
2342195030,
20547779,
2982490058,
3032363469,
3631753222,
312714466,
1870521650,
1493008054,
3491686656,
615382978,
4103671749,
2534517445,
1932181,
2196105170,
278426614,
6369430,
3274544417,
2913018367,
697336853,
2143000447,
2946413531,
701099306,
1558357093,
2805003052,
3500818408,
2321334417,
3567135975,
216290473,
3591032198,
23009561,
1996984579,
3735042806,
2024298078,
3739440863,
569400510,
2339758983,
3016033873,
3097871343,
3639523026,
3844324983,
3256173865,
795471839,
2951117563,
4101031090,
4091603803,
3603732598,
971261452,
534414648,
428311343,
3389027175,
2844869880,
694888862,
1227866773,
2456207019,
3043454569,
2614353370,
3749578031,
3676663836,
459166190,
4132644070,
1794958188,
51825668,
2252611902,
3084671440,
2036672799,
3436641603,
1099053433,
2469121526,
3059204941,
1323291266,
2061838604,
1018778475,
2233344254,
2553501054,
334295216,
3556750194,
1065731521,
183467730
];
sBox[4] = [
2127105028,
745436345,
2601412319,
2788391185,
3093987327,
500390133,
1155374404,
389092991,
150729210,
3891597772,
3523549952,
1935325696,
716645080,
946045387,
2901812282,
1774124410,
3869435775,
4039581901,
3293136918,
3438657920,
948246080,
363898952,
3867875531,
1286266623,
1598556673,
68334250,
630723836,
1104211938,
1312863373,
613332731,
2377784574,
1101634306,
441780740,
3129959883,
1917973735,
2510624549,
3238456535,
2544211978,
3308894634,
1299840618,
4076074851,
1756332096,
3977027158,
297047435,
3790297736,
2265573040,
3621810518,
1311375015,
1667687725,
47300608,
3299642885,
2474112369,
201668394,
1468347890,
576830978,
3594690761,
3742605952,
1958042578,
1747032512,
3558991340,
1408974056,
3366841779,
682131401,
1033214337,
1545599232,
4265137049,
206503691,
103024618,
2855227313,
1337551222,
2428998917,
2963842932,
4015366655,
3852247746,
2796956967,
3865723491,
3747938335,
247794022,
3755824572,
702416469,
2434691994,
397379957,
851939612,
2314769512,
218229120,
1380406772,
62274761,
214451378,
3170103466,
2276210409,
3845813286,
28563499,
446592073,
1693330814,
3453727194,
29968656,
3093872512,
220656637,
2470637031,
77972100,
1667708854,
1358280214,
4064765667,
2395616961,
325977563,
4277240721,
4220025399,
3605526484,
3355147721,
811859167,
3069544926,
3962126810,
652502677,
3075892249,
4132761541,
3498924215,
1217549313,
3250244479,
3858715919,
3053989961,
1538642152,
2279026266,
2875879137,
574252750,
3324769229,
2651358713,
1758150215,
141295887,
2719868960,
3515574750,
4093007735,
4194485238,
1082055363,
3417560400,
395511885,
2966884026,
179534037,
3646028556,
3738688086,
1092926436,
2496269142,
257381841,
3772900718,
1636087230,
1477059743,
2499234752,
3811018894,
2675660129,
3285975680,
90732309,
1684827095,
1150307763,
1723134115,
3237045386,
1769919919,
1240018934,
815675215,
750138730,
2239792499,
1234303040,
1995484674,
138143821,
675421338,
1145607174,
1936608440,
3238603024,
2345230278,
2105974004,
323969391,
779555213,
3004902369,
2861610098,
1017501463,
2098600890,
2628620304,
2940611490,
2682542546,
1171473753,
3656571411,
3687208071,
4091869518,
393037935,
159126506,
1662887367,
1147106178,
391545844,
3452332695,
1891500680,
3016609650,
1851642611,
546529401,
1167818917,
3194020571,
2848076033,
3953471836,
575554290,
475796850,
4134673196,
450035699,
2351251534,
844027695,
1080539133,
86184846,
1554234488,
3692025454,
1972511363,
2018339607,
1491841390,
1141460869,
1061690759,
4244549243,
2008416118,
2351104703,
2868147542,
1598468138,
722020353,
1027143159,
212344630,
1387219594,
1725294528,
3745187956,
2500153616,
458938280,
4129215917,
1828119673,
544571780,
3503225445,
2297937496,
1241802790,
267843827,
2694610800,
1397140384,
1558801448,
3782667683,
1806446719,
929573330,
2234912681,
400817706,
616011623,
4121520928,
3603768725,
1761550015,
1968522284,
4053731006,
4192232858,
4005120285,
872482584,
3140537016,
3894607381,
2287405443,
1963876937,
3663887957,
1584857e3,
2975024454,
1833426440,
4025083860
];
sBox[5] = [
4143615901,
749497569,
1285769319,
3795025788,
2514159847,
23610292,
3974978748,
844452780,
3214870880,
3751928557,
2213566365,
1676510905,
448177848,
3730751033,
4086298418,
2307502392,
871450977,
3222878141,
4110862042,
3831651966,
2735270553,
1310974780,
2043402188,
1218528103,
2736035353,
4274605013,
2702448458,
3936360550,
2693061421,
162023535,
2827510090,
687910808,
23484817,
3784910947,
3371371616,
779677500,
3503626546,
3473927188,
4157212626,
3500679282,
4248902014,
2466621104,
3899384794,
1958663117,
925738300,
1283408968,
3669349440,
1840910019,
137959847,
2679828185,
1239142320,
1315376211,
1547541505,
1690155329,
739140458,
3128809933,
3933172616,
3876308834,
905091803,
1548541325,
4040461708,
3095483362,
144808038,
451078856,
676114313,
2861728291,
2469707347,
993665471,
373509091,
2599041286,
4025009006,
4170239449,
2149739950,
3275793571,
3749616649,
2794760199,
1534877388,
572371878,
2590613551,
1753320020,
3467782511,
1405125690,
4270405205,
633333386,
3026356924,
3475123903,
632057672,
2846462855,
1404951397,
3882875879,
3915906424,
195638627,
2385783745,
3902872553,
1233155085,
3355999740,
2380578713,
2702246304,
2144565621,
3663341248,
3894384975,
2502479241,
4248018925,
3094885567,
1594115437,
572884632,
3385116731,
767645374,
1331858858,
1475698373,
3793881790,
3532746431,
1321687957,
619889600,
1121017241,
3440213920,
2070816767,
2833025776,
1933951238,
4095615791,
890643334,
3874130214,
859025556,
360630002,
925594799,
1764062180,
3920222280,
4078305929,
979562269,
2810700344,
4087740022,
1949714515,
546639971,
1165388173,
3069891591,
1495988560,
922170659,
1291546247,
2107952832,
1813327274,
3406010024,
3306028637,
4241950635,
153207855,
2313154747,
1608695416,
1150242611,
1967526857,
721801357,
1220138373,
3691287617,
3356069787,
2112743302,
3281662835,
1111556101,
1778980689,
250857638,
2298507990,
673216130,
2846488510,
3207751581,
3562756981,
3008625920,
3417367384,
2198807050,
529510932,
3547516680,
3426503187,
2364944742,
102533054,
2294910856,
1617093527,
1204784762,
3066581635,
1019391227,
1069574518,
1317995090,
1691889997,
3661132003,
510022745,
3238594800,
1362108837,
1817929911,
2184153760,
805817662,
1953603311,
3699844737,
120799444,
2118332377,
207536705,
2282301548,
4120041617,
145305846,
2508124933,
3086745533,
3261524335,
1877257368,
2977164480,
3160454186,
2503252186,
4221677074,
759945014,
254147243,
2767453419,
3801518371,
629083197,
2471014217,
907280572,
3900796746,
940896768,
2751021123,
2625262786,
3161476951,
3661752313,
3260732218,
1425318020,
2977912069,
1496677566,
3988592072,
2140652971,
3126511541,
3069632175,
977771578,
1392695845,
1698528874,
1411812681,
1369733098,
1343739227,
3620887944,
1142123638,
67414216,
3102056737,
3088749194,
1626167401,
2546293654,
3941374235,
697522451,
33404913,
143560186,
2595682037,
994885535,
1247667115,
3859094837,
2699155541,
3547024625,
4114935275,
2968073508,
3199963069,
2732024527,
1237921620,
951448369,
1898488916,
1211705605,
2790989240,
2233243581,
3598044975
];
sBox[6] = [
2246066201,
858518887,
1714274303,
3485882003,
713916271,
2879113490,
3730835617,
539548191,
36158695,
1298409750,
419087104,
1358007170,
749914897,
2989680476,
1261868530,
2995193822,
2690628854,
3443622377,
3780124940,
3796824509,
2976433025,
4259637129,
1551479e3,
512490819,
1296650241,
951993153,
2436689437,
2460458047,
144139966,
3136204276,
310820559,
3068840729,
643875328,
1969602020,
1680088954,
2185813161,
3283332454,
672358534,
198762408,
896343282,
276269502,
3014846926,
84060815,
197145886,
376173866,
3943890818,
3813173521,
3545068822,
1316698879,
1598252827,
2633424951,
1233235075,
859989710,
2358460855,
3503838400,
3409603720,
1203513385,
1193654839,
2792018475,
2060853022,
207403770,
1144516871,
3068631394,
1121114134,
177607304,
3785736302,
326409831,
1929119770,
2983279095,
4183308101,
3474579288,
3200513878,
3228482096,
119610148,
1170376745,
3378393471,
3163473169,
951863017,
3337026068,
3135789130,
2907618374,
1183797387,
2015970143,
4045674555,
2182986399,
2952138740,
3928772205,
384012900,
2454997643,
10178499,
2879818989,
2596892536,
111523738,
2995089006,
451689641,
3196290696,
235406569,
1441906262,
3890558523,
3013735005,
4158569349,
1644036924,
376726067,
1006849064,
3664579700,
2041234796,
1021632941,
1374734338,
2566452058,
371631263,
4007144233,
490221539,
206551450,
3140638584,
1053219195,
1853335209,
3412429660,
3562156231,
735133835,
1623211703,
3104214392,
2738312436,
4096837757,
3366392578,
3110964274,
3956598718,
3196820781,
2038037254,
3877786376,
2339753847,
300912036,
3766732888,
2372630639,
1516443558,
4200396704,
1574567987,
4069441456,
4122592016,
2699739776,
146372218,
2748961456,
2043888151,
35287437,
2596680554,
655490400,
1132482787,
110692520,
1031794116,
2188192751,
1324057718,
1217253157,
919197030,
686247489,
3261139658,
1028237775,
3135486431,
3059715558,
2460921700,
986174950,
2661811465,
4062904701,
2752986992,
3709736643,
367056889,
1353824391,
731860949,
1650113154,
1778481506,
784341916,
357075625,
3608602432,
1074092588,
2480052770,
3811426202,
92751289,
877911070,
3600361838,
1231880047,
480201094,
3756190983,
3094495953,
434011822,
87971354,
363687820,
1717726236,
1901380172,
3926403882,
2481662265,
400339184,
1490350766,
2661455099,
1389319756,
2558787174,
784598401,
1983468483,
30828846,
3550527752,
2716276238,
3841122214,
1765724805,
1955612312,
1277890269,
1333098070,
1564029816,
2704417615,
1026694237,
3287671188,
1260819201,
3349086767,
1016692350,
1582273796,
1073413053,
1995943182,
694588404,
1025494639,
3323872702,
3551898420,
4146854327,
453260480,
1316140391,
1435673405,
3038941953,
3486689407,
1622062951,
403978347,
817677117,
950059133,
4246079218,
3278066075,
1486738320,
1417279718,
481875527,
2549965225,
3933690356,
760697757,
1452955855,
3897451437,
1177426808,
1702951038,
4085348628,
2447005172,
1084371187,
3516436277,
3068336338,
1073369276,
1027665953,
3284188590,
1230553676,
1368340146,
2226246512,
267243139,
2274220762,
4070734279,
2497715176,
2423353163,
2504755875
];
sBox[7] = [
3793104909,
3151888380,
2817252029,
895778965,
2005530807,
3871412763,
237245952,
86829237,
296341424,
3851759377,
3974600970,
2475086196,
709006108,
1994621201,
2972577594,
937287164,
3734691505,
168608556,
3189338153,
2225080640,
3139713551,
3033610191,
3025041904,
77524477,
185966941,
1208824168,
2344345178,
1721625922,
3354191921,
1066374631,
1927223579,
1971335949,
2483503697,
1551748602,
2881383779,
2856329572,
3003241482,
48746954,
1398218158,
2050065058,
313056748,
4255789917,
393167848,
1912293076,
940740642,
3465845460,
3091687853,
2522601570,
2197016661,
1727764327,
364383054,
492521376,
1291706479,
3264136376,
1474851438,
1685747964,
2575719748,
1619776915,
1814040067,
970743798,
1561002147,
2925768690,
2123093554,
1880132620,
3151188041,
697884420,
2550985770,
2607674513,
2659114323,
110200136,
1489731079,
997519150,
1378877361,
3527870668,
478029773,
2766872923,
1022481122,
431258168,
1112503832,
897933369,
2635587303,
669726182,
3383752315,
918222264,
163866573,
3246985393,
3776823163,
114105080,
1903216136,
761148244,
3571337562,
1690750982,
3166750252,
1037045171,
1888456500,
2010454850,
642736655,
616092351,
365016990,
1185228132,
4174898510,
1043824992,
2023083429,
2241598885,
3863320456,
3279669087,
3674716684,
108438443,
2132974366,
830746235,
606445527,
4173263986,
2204105912,
1844756978,
2532684181,
4245352700,
2969441100,
3796921661,
1335562986,
4061524517,
2720232303,
2679424040,
634407289,
885462008,
3294724487,
3933892248,
2094100220,
339117932,
4048830727,
3202280980,
1458155303,
2689246273,
1022871705,
2464987878,
3714515309,
353796843,
2822958815,
4256850100,
4052777845,
551748367,
618185374,
3778635579,
4020649912,
1904685140,
3069366075,
2670879810,
3407193292,
2954511620,
4058283405,
2219449317,
3135758300,
1120655984,
3447565834,
1474845562,
3577699062,
550456716,
3466908712,
2043752612,
881257467,
869518812,
2005220179,
938474677,
3305539448,
3850417126,
1315485940,
3318264702,
226533026,
965733244,
321539988,
1136104718,
804158748,
573969341,
3708209826,
937399083,
3290727049,
2901666755,
1461057207,
4013193437,
4066861423,
3242773476,
2421326174,
1581322155,
3028952165,
786071460,
3900391652,
3918438532,
1485433313,
4023619836,
3708277595,
3678951060,
953673138,
1467089153,
1930354364,
1533292819,
2492563023,
1346121658,
1685000834,
1965281866,
3765933717,
4190206607,
2052792609,
3515332758,
690371149,
3125873887,
2180283551,
2903598061,
3933952357,
436236910,
289419410,
14314871,
1242357089,
2904507907,
1616633776,
2666382180,
585885352,
3471299210,
2699507360,
1432659641,
277164553,
3354103607,
770115018,
2303809295,
3741942315,
3177781868,
2853364978,
2269453327,
3774259834,
987383833,
1290892879,
225909803,
1741533526,
890078084,
1496906255,
1111072499,
916028167,
243534141,
1252605537,
2204162171,
531204876,
290011180,
3916834213,
102027703,
237315147,
209093447,
1486785922,
220223953,
2758195998,
4175039106,
82940208,
3127791296,
2569425252,
518464269,
1353887104,
3941492737,
2377294467,
3935040926
];
}
function CAST5(key) {
this.cast5 = new OpenPGPSymEncCAST5();
this.cast5.setKey(key);
this.encrypt = function(block) {
return this.cast5.encrypt(block);
};
}
function rotw(w, n2) {
return (w << n2 | w >>> 32 - n2) & MAXINT;
}
function getW(a2, i4) {
return a2[i4] | a2[i4 + 1] << 8 | a2[i4 + 2] << 16 | a2[i4 + 3] << 24;
}
function setW(a2, i4, w) {
a2.splice(i4, 4, w & 255, w >>> 8 & 255, w >>> 16 & 255, w >>> 24 & 255);
}
function getB(x3, n2) {
return x3 >>> n2 * 8 & 255;
}
function createTwofish() {
let keyBytes = null;
let dataBytes = null;
let dataOffset = -1;
let tfsKey = [];
let tfsM = [
[],
[],
[],
[]
];
function tfsInit(key) {
keyBytes = key;
let i4;
let a2;
let b;
let c3;
let d3;
const meKey = [];
const moKey = [];
const inKey = [];
let kLen;
const sKey = [];
let f01;
let f5b;
let fef;
const q0 = [
[8, 1, 7, 13, 6, 15, 3, 2, 0, 11, 5, 9, 14, 12, 10, 4],
[2, 8, 11, 13, 15, 7, 6, 14, 3, 1, 9, 4, 0, 10, 12, 5]
];
const q1 = [
[14, 12, 11, 8, 1, 2, 3, 5, 15, 4, 10, 6, 7, 0, 9, 13],
[1, 14, 2, 11, 4, 12, 3, 7, 6, 13, 10, 5, 15, 9, 0, 8]
];
const q2 = [
[11, 10, 5, 14, 6, 13, 9, 0, 12, 8, 15, 3, 2, 4, 7, 1],
[4, 12, 7, 5, 1, 6, 9, 10, 0, 14, 13, 8, 2, 11, 3, 15]
];
const q3 = [
[13, 7, 15, 4, 1, 2, 6, 14, 9, 11, 3, 0, 8, 5, 12, 10],
[11, 9, 5, 1, 12, 3, 13, 14, 6, 4, 7, 15, 2, 0, 8, 10]
];
const ror4 = [0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15];
const ashx = [0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 5, 14, 7];
const q = [
[],
[]
];
const m = [
[],
[],
[],
[]
];
function ffm5b(x3) {
return x3 ^ x3 >> 2 ^ [0, 90, 180, 238][x3 & 3];
}
function ffmEf(x3) {
return x3 ^ x3 >> 1 ^ x3 >> 2 ^ [0, 238, 180, 90][x3 & 3];
}
function mdsRem(p, q4) {
let i5;
let t2;
let u2;
for (i5 = 0; i5 < 8; i5++) {
t2 = q4 >>> 24;
q4 = q4 << 8 & MAXINT | p >>> 24;
p = p << 8 & MAXINT;
u2 = t2 << 1;
if (t2 & 128) {
u2 ^= 333;
}
q4 ^= t2 ^ u2 << 16;
u2 ^= t2 >>> 1;
if (t2 & 1) {
u2 ^= 166;
}
q4 ^= u2 << 24 | u2 << 8;
}
return q4;
}
function qp(n2, x3) {
const a3 = x3 >> 4;
const b2 = x3 & 15;
const c4 = q0[n2][a3 ^ b2];
const d4 = q1[n2][ror4[b2] ^ ashx[a3]];
return q3[n2][ror4[d4] ^ ashx[c4]] << 4 | q2[n2][c4 ^ d4];
}
function hFun(x3, key2) {
let a3 = getB(x3, 0);
let b2 = getB(x3, 1);
let c4 = getB(x3, 2);
let d4 = getB(x3, 3);
switch (kLen) {
case 4:
a3 = q[1][a3] ^ getB(key2[3], 0);
b2 = q[0][b2] ^ getB(key2[3], 1);
c4 = q[0][c4] ^ getB(key2[3], 2);
d4 = q[1][d4] ^ getB(key2[3], 3);
// eslint-disable-next-line no-fallthrough
case 3:
a3 = q[1][a3] ^ getB(key2[2], 0);
b2 = q[1][b2] ^ getB(key2[2], 1);
c4 = q[0][c4] ^ getB(key2[2], 2);
d4 = q[0][d4] ^ getB(key2[2], 3);
// eslint-disable-next-line no-fallthrough
case 2:
a3 = q[0][q[0][a3] ^ getB(key2[1], 0)] ^ getB(key2[0], 0);
b2 = q[0][q[1][b2] ^ getB(key2[1], 1)] ^ getB(key2[0], 1);
c4 = q[1][q[0][c4] ^ getB(key2[1], 2)] ^ getB(key2[0], 2);
d4 = q[1][q[1][d4] ^ getB(key2[1], 3)] ^ getB(key2[0], 3);
}
return m[0][a3] ^ m[1][b2] ^ m[2][c4] ^ m[3][d4];
}
keyBytes = keyBytes.slice(0, 32);
i4 = keyBytes.length;
while (i4 !== 16 && i4 !== 24 && i4 !== 32) {
keyBytes[i4++] = 0;
}
for (i4 = 0; i4 < keyBytes.length; i4 += 4) {
inKey[i4 >> 2] = getW(keyBytes, i4);
}
for (i4 = 0; i4 < 256; i4++) {
q[0][i4] = qp(0, i4);
q[1][i4] = qp(1, i4);
}
for (i4 = 0; i4 < 256; i4++) {
f01 = q[1][i4];
f5b = ffm5b(f01);
fef = ffmEf(f01);
m[0][i4] = f01 + (f5b << 8) + (fef << 16) + (fef << 24);
m[2][i4] = f5b + (fef << 8) + (f01 << 16) + (fef << 24);
f01 = q[0][i4];
f5b = ffm5b(f01);
fef = ffmEf(f01);
m[1][i4] = fef + (fef << 8) + (f5b << 16) + (f01 << 24);
m[3][i4] = f5b + (f01 << 8) + (fef << 16) + (f5b << 24);
}
kLen = inKey.length / 2;
for (i4 = 0; i4 < kLen; i4++) {
a2 = inKey[i4 + i4];
meKey[i4] = a2;
b = inKey[i4 + i4 + 1];
moKey[i4] = b;
sKey[kLen - i4 - 1] = mdsRem(a2, b);
}
for (i4 = 0; i4 < 40; i4 += 2) {
a2 = 16843009 * i4;
b = a2 + 16843009;
a2 = hFun(a2, meKey);
b = rotw(hFun(b, moKey), 8);
tfsKey[i4] = a2 + b & MAXINT;
tfsKey[i4 + 1] = rotw(a2 + 2 * b, 9);
}
for (i4 = 0; i4 < 256; i4++) {
a2 = b = c3 = d3 = i4;
switch (kLen) {
case 4:
a2 = q[1][a2] ^ getB(sKey[3], 0);
b = q[0][b] ^ getB(sKey[3], 1);
c3 = q[0][c3] ^ getB(sKey[3], 2);
d3 = q[1][d3] ^ getB(sKey[3], 3);
// eslint-disable-next-line no-fallthrough
case 3:
a2 = q[1][a2] ^ getB(sKey[2], 0);
b = q[1][b] ^ getB(sKey[2], 1);
c3 = q[0][c3] ^ getB(sKey[2], 2);
d3 = q[0][d3] ^ getB(sKey[2], 3);
// eslint-disable-next-line no-fallthrough
case 2:
tfsM[0][i4] = m[0][q[0][q[0][a2] ^ getB(sKey[1], 0)] ^ getB(sKey[0], 0)];
tfsM[1][i4] = m[1][q[0][q[1][b] ^ getB(sKey[1], 1)] ^ getB(sKey[0], 1)];
tfsM[2][i4] = m[2][q[1][q[0][c3] ^ getB(sKey[1], 2)] ^ getB(sKey[0], 2)];
tfsM[3][i4] = m[3][q[1][q[1][d3] ^ getB(sKey[1], 3)] ^ getB(sKey[0], 3)];
}
}
}
function tfsG0(x3) {
return tfsM[0][getB(x3, 0)] ^ tfsM[1][getB(x3, 1)] ^ tfsM[2][getB(x3, 2)] ^ tfsM[3][getB(x3, 3)];
}
function tfsG1(x3) {
return tfsM[0][getB(x3, 3)] ^ tfsM[1][getB(x3, 0)] ^ tfsM[2][getB(x3, 1)] ^ tfsM[3][getB(x3, 2)];
}
function tfsFrnd(r, blk) {
let a2 = tfsG0(blk[0]);
let b = tfsG1(blk[1]);
blk[2] = rotw(blk[2] ^ a2 + b + tfsKey[4 * r + 8] & MAXINT, 31);
blk[3] = rotw(blk[3], 1) ^ a2 + 2 * b + tfsKey[4 * r + 9] & MAXINT;
a2 = tfsG0(blk[2]);
b = tfsG1(blk[3]);
blk[0] = rotw(blk[0] ^ a2 + b + tfsKey[4 * r + 10] & MAXINT, 31);
blk[1] = rotw(blk[1], 1) ^ a2 + 2 * b + tfsKey[4 * r + 11] & MAXINT;
}
function tfsIrnd(i4, blk) {
let a2 = tfsG0(blk[0]);
let b = tfsG1(blk[1]);
blk[2] = rotw(blk[2], 1) ^ a2 + b + tfsKey[4 * i4 + 10] & MAXINT;
blk[3] = rotw(blk[3] ^ a2 + 2 * b + tfsKey[4 * i4 + 11] & MAXINT, 31);
a2 = tfsG0(blk[2]);
b = tfsG1(blk[3]);
blk[0] = rotw(blk[0], 1) ^ a2 + b + tfsKey[4 * i4 + 8] & MAXINT;
blk[1] = rotw(blk[1] ^ a2 + 2 * b + tfsKey[4 * i4 + 9] & MAXINT, 31);
}
function tfsClose() {
tfsKey = [];
tfsM = [
[],
[],
[],
[]
];
}
function tfsEncrypt(data, offset) {
dataBytes = data;
dataOffset = offset;
const blk = [
getW(dataBytes, dataOffset) ^ tfsKey[0],
getW(dataBytes, dataOffset + 4) ^ tfsKey[1],
getW(dataBytes, dataOffset + 8) ^ tfsKey[2],
getW(dataBytes, dataOffset + 12) ^ tfsKey[3]
];
for (let j2 = 0; j2 < 8; j2++) {
tfsFrnd(j2, blk);
}
setW(dataBytes, dataOffset, blk[2] ^ tfsKey[4]);
setW(dataBytes, dataOffset + 4, blk[3] ^ tfsKey[5]);
setW(dataBytes, dataOffset + 8, blk[0] ^ tfsKey[6]);
setW(dataBytes, dataOffset + 12, blk[1] ^ tfsKey[7]);
dataOffset += 16;
return dataBytes;
}
function tfsDecrypt(data, offset) {
dataBytes = data;
dataOffset = offset;
const blk = [
getW(dataBytes, dataOffset) ^ tfsKey[4],
getW(dataBytes, dataOffset + 4) ^ tfsKey[5],
getW(dataBytes, dataOffset + 8) ^ tfsKey[6],
getW(dataBytes, dataOffset + 12) ^ tfsKey[7]
];
for (let j2 = 7; j2 >= 0; j2--) {
tfsIrnd(j2, blk);
}
setW(dataBytes, dataOffset, blk[2] ^ tfsKey[0]);
setW(dataBytes, dataOffset + 4, blk[3] ^ tfsKey[1]);
setW(dataBytes, dataOffset + 8, blk[0] ^ tfsKey[2]);
setW(dataBytes, dataOffset + 12, blk[1] ^ tfsKey[3]);
dataOffset += 16;
}
function tfsFinal() {
return dataBytes;
}
return {
name: "twofish",
blocksize: 128 / 8,
open: tfsInit,
close: tfsClose,
encrypt: tfsEncrypt,
decrypt: tfsDecrypt,
// added by Recurity Labs
finalize: tfsFinal
};
}
function TF(key) {
this.tf = createTwofish();
this.tf.open(Array.from(key), 0);
this.encrypt = function(block) {
return this.tf.encrypt(Array.from(block), 0);
};
}
function Blowfish() {
}
function BF(key) {
this.bf = new Blowfish();
this.bf.init(key);
this.encrypt = function(block) {
return this.bf.encryptBlock(block);
};
}
function ADD64(a2, i4, b, j2) {
a2[i4] += b[j2];
a2[i4 + 1] += b[j2 + 1] + (a2[i4] < b[j2]);
}
function INC64(a2, c3) {
a2[0] += c3;
a2[1] += a2[0] < c3;
}
function G$1(v, m, a2, b, c3, d3, ix, iy) {
ADD64(v, a2, v, b);
ADD64(v, a2, m, ix);
let xor0 = v[d3] ^ v[a2];
let xor1 = v[d3 + 1] ^ v[a2 + 1];
v[d3] = xor1;
v[d3 + 1] = xor0;
ADD64(v, c3, v, d3);
xor0 = v[b] ^ v[c3];
xor1 = v[b + 1] ^ v[c3 + 1];
v[b] = xor0 >>> 24 ^ xor1 << 8;
v[b + 1] = xor1 >>> 24 ^ xor0 << 8;
ADD64(v, a2, v, b);
ADD64(v, a2, m, iy);
xor0 = v[d3] ^ v[a2];
xor1 = v[d3 + 1] ^ v[a2 + 1];
v[d3] = xor0 >>> 16 ^ xor1 << 16;
v[d3 + 1] = xor1 >>> 16 ^ xor0 << 16;
ADD64(v, c3, v, d3);
xor0 = v[b] ^ v[c3];
xor1 = v[b + 1] ^ v[c3 + 1];
v[b] = xor1 >>> 31 ^ xor0 << 1;
v[b + 1] = xor0 >>> 31 ^ xor1 << 1;
}
function compress(S3, last) {
const v = new Uint32Array(32);
const m = new Uint32Array(S3.b.buffer, S3.b.byteOffset, 32);
for (let i4 = 0; i4 < 16; i4++) {
v[i4] = S3.h[i4];
v[i4 + 16] = BLAKE2B_IV32[i4];
}
v[24] ^= S3.t0[0];
v[25] ^= S3.t0[1];
const f0 = last ? 4294967295 : 0;
v[28] ^= f0;
v[29] ^= f0;
for (let i4 = 0; i4 < 12; i4++) {
const i16 = i4 << 4;
G$1(v, m, 0, 8, 16, 24, SIGMA[i16 + 0], SIGMA[i16 + 1]);
G$1(v, m, 2, 10, 18, 26, SIGMA[i16 + 2], SIGMA[i16 + 3]);
G$1(v, m, 4, 12, 20, 28, SIGMA[i16 + 4], SIGMA[i16 + 5]);
G$1(v, m, 6, 14, 22, 30, SIGMA[i16 + 6], SIGMA[i16 + 7]);
G$1(v, m, 0, 10, 20, 30, SIGMA[i16 + 8], SIGMA[i16 + 9]);
G$1(v, m, 2, 12, 22, 24, SIGMA[i16 + 10], SIGMA[i16 + 11]);
G$1(v, m, 4, 14, 16, 26, SIGMA[i16 + 12], SIGMA[i16 + 13]);
G$1(v, m, 6, 8, 18, 28, SIGMA[i16 + 14], SIGMA[i16 + 15]);
}
for (let i4 = 0; i4 < 16; i4++) {
S3.h[i4] ^= v[i4] ^ v[i4 + 16];
}
}
function createHash2(outlen, key, salt, personal) {
if (outlen > OUTBYTES_MAX) throw new Error(`outlen must be at most ${OUTBYTES_MAX} (given: ${outlen})`);
return new Blake2b(outlen, key, salt, personal);
}
function LE32(buf, n2, i4) {
buf[i4 + 0] = n2;
buf[i4 + 1] = n2 >> 8;
buf[i4 + 2] = n2 >> 16;
buf[i4 + 3] = n2 >> 24;
return buf;
}
function LE64(buf, n2, i4) {
if (n2 > Number.MAX_SAFE_INTEGER) throw new Error("LE64: large numbers unsupported");
let remainder = n2;
for (let offset = i4; offset < i4 + 7; offset++) {
buf[offset] = remainder;
remainder = (remainder - buf[offset]) / 256;
}
return buf;
}
function H_(outlen, X2, res) {
const V = new Uint8Array(64);
const V1_in = new Uint8Array(4 + X2.length);
LE32(V1_in, outlen, 0);
V1_in.set(X2, 4);
if (outlen <= 64) {
createHash2(outlen).update(V1_in).digest(res);
return res;
}
const r = Math.ceil(outlen / 32) - 2;
for (let i4 = 0; i4 < r; i4++) {
createHash2(64).update(i4 === 0 ? V1_in : V).digest(V);
res.set(V.subarray(0, 32), i4 * 32);
}
const V_r1 = new Uint8Array(createHash2(outlen - 32 * r).update(V).digest());
res.set(V_r1, r * 32);
return res;
}
function XOR(wasmContext, buf, xs, ys) {
wasmContext.fn.XOR(
buf.byteOffset,
xs.byteOffset,
ys.byteOffset
);
return buf;
}
function G2(wasmContext, X2, Y2, R2) {
wasmContext.fn.G(
X2.byteOffset,
Y2.byteOffset,
R2.byteOffset,
wasmContext.refs.gZ.byteOffset
);
return R2;
}
function G22(wasmContext, X2, Y2, R2) {
wasmContext.fn.G2(
X2.byteOffset,
Y2.byteOffset,
R2.byteOffset,
wasmContext.refs.gZ.byteOffset
);
return R2;
}
function* makePRNG(wasmContext, pass, lane2, slice4, m_, totalPasses, segmentLength, segmentOffset) {
wasmContext.refs.prngTmp.fill(0);
const Z2 = wasmContext.refs.prngTmp.subarray(0, 6 * 8);
LE64(Z2, pass, 0);
LE64(Z2, lane2, 8);
LE64(Z2, slice4, 16);
LE64(Z2, m_, 24);
LE64(Z2, totalPasses, 32);
LE64(Z2, TYPE, 40);
for (let i4 = 1; i4 <= segmentLength; i4++) {
LE64(wasmContext.refs.prngTmp, i4, Z2.length);
const g2 = G22(wasmContext, wasmContext.refs.ZERO1024, wasmContext.refs.prngTmp, wasmContext.refs.prngR);
for (let k2 = i4 === 1 ? segmentOffset * 8 : 0; k2 < g2.length; k2 += 8) {
yield g2.subarray(k2, k2 + 8);
}
}
return [];
}
function validateParams({ type: type4, version: version2, tagLength: tagLength2, password, salt, ad, secret, parallelism, memorySize, passes }) {
const assertLength = (name, value, min, max4) => {
if (value < min || value > max4) {
throw new Error(`${name} size should be between ${min} and ${max4} bytes`);
}
};
if (type4 !== TYPE || version2 !== VERSION) throw new Error("Unsupported type or version");
assertLength("password", password, passwordBYTES_MIN, passwordBYTES_MAX);
assertLength("salt", salt, SALTBYTES_MIN, SALTBYTES_MAX);
assertLength("tag", tagLength2, TAGBYTES_MIN, TAGBYTES_MAX);
assertLength("memory", memorySize, 8 * parallelism, MEMBYTES_MAX);
ad && assertLength("associated data", ad, 0, ADBYTES_MAX);
secret && assertLength("secret", secret, 0, SECRETBYTES_MAX);
return { type: type4, version: version2, tagLength: tagLength2, password, salt, ad, secret, lanes: parallelism, memorySize, passes };
}
function argon2id(params, { memory, instance: wasmInstance }) {
if (!isLittleEndian) throw new Error("BigEndian system not supported");
const ctx = validateParams({ type: TYPE, version: VERSION, ...params });
const { G: wasmG, G2: wasmG2, xor: wasmXOR, getLZ: wasmLZ } = wasmInstance.exports;
const wasmRefs = {};
const wasmFn = {};
wasmFn.G = wasmG;
wasmFn.G2 = wasmG2;
wasmFn.XOR = wasmXOR;
const m_ = 4 * ctx.lanes * Math.floor(ctx.memorySize / (4 * ctx.lanes));
const requiredMemory = m_ * ARGON2_BLOCK_SIZE + 10 * KB;
if (memory.buffer.byteLength < requiredMemory) {
const missing = Math.ceil((requiredMemory - memory.buffer.byteLength) / WASM_PAGE_SIZE);
memory.grow(missing);
}
let offset = 0;
wasmRefs.gZ = new Uint8Array(memory.buffer, offset, ARGON2_BLOCK_SIZE);
offset += wasmRefs.gZ.length;
wasmRefs.prngR = new Uint8Array(memory.buffer, offset, ARGON2_BLOCK_SIZE);
offset += wasmRefs.prngR.length;
wasmRefs.prngTmp = new Uint8Array(memory.buffer, offset, ARGON2_BLOCK_SIZE);
offset += wasmRefs.prngTmp.length;
wasmRefs.ZERO1024 = new Uint8Array(memory.buffer, offset, 1024);
offset += wasmRefs.ZERO1024.length;
const lz = new Uint32Array(memory.buffer, offset, 2);
offset += lz.length * Uint32Array.BYTES_PER_ELEMENT;
const wasmContext = { fn: wasmFn, refs: wasmRefs };
const newBlock = new Uint8Array(memory.buffer, offset, ARGON2_BLOCK_SIZE);
offset += newBlock.length;
const blockMemory = new Uint8Array(memory.buffer, offset, ctx.memorySize * ARGON2_BLOCK_SIZE);
const allocatedMemory = new Uint8Array(memory.buffer, 0, offset);
const H0 = getH0(ctx);
const q = m_ / ctx.lanes;
const B = new Array(ctx.lanes).fill(null).map(() => new Array(q));
const initBlock = (i4, j2) => {
B[i4][j2] = blockMemory.subarray(i4 * q * 1024 + j2 * 1024, i4 * q * 1024 + j2 * 1024 + ARGON2_BLOCK_SIZE);
return B[i4][j2];
};
for (let i4 = 0; i4 < ctx.lanes; i4++) {
const tmp = new Uint8Array(H0.length + 8);
tmp.set(H0);
LE32(tmp, 0, H0.length);
LE32(tmp, i4, H0.length + 4);
H_(ARGON2_BLOCK_SIZE, tmp, initBlock(i4, 0));
LE32(tmp, 1, H0.length);
H_(ARGON2_BLOCK_SIZE, tmp, initBlock(i4, 1));
}
const SL = 4;
const segmentLength = q / SL;
for (let pass = 0; pass < ctx.passes; pass++) {
for (let sl = 0; sl < SL; sl++) {
const isDataIndependent = pass === 0 && sl <= 1;
for (let i4 = 0; i4 < ctx.lanes; i4++) {
let segmentOffset = sl === 0 && pass === 0 ? 2 : 0;
const PRNG = isDataIndependent ? makePRNG(wasmContext, pass, i4, sl, m_, ctx.passes, segmentLength, segmentOffset) : null;
for (segmentOffset; segmentOffset < segmentLength; segmentOffset++) {
const j2 = sl * segmentLength + segmentOffset;
const prevBlock = j2 > 0 ? B[i4][j2 - 1] : B[i4][q - 1];
const J1J2 = isDataIndependent ? PRNG.next().value : prevBlock;
wasmLZ(lz.byteOffset, J1J2.byteOffset, i4, ctx.lanes, pass, sl, segmentOffset, SL, segmentLength);
const l = lz[0];
const z = lz[1];
if (pass === 0) initBlock(i4, j2);
G2(wasmContext, prevBlock, B[l][z], pass > 0 ? newBlock : B[i4][j2]);
if (pass > 0) XOR(wasmContext, B[i4][j2], newBlock, B[i4][j2]);
}
}
}
}
const C = B[0][q - 1];
for (let i4 = 1; i4 < ctx.lanes; i4++) {
XOR(wasmContext, C, C, B[i4][q - 1]);
}
const tag = H_(ctx.tagLength, C, new Uint8Array(ctx.tagLength));
allocatedMemory.fill(0);
memory.grow(0);
return tag;
}
function getH0(ctx) {
const H2 = createHash2(ARGON2_PREHASH_DIGEST_LENGTH);
const ZERO32 = new Uint8Array(4);
const params = new Uint8Array(24);
LE32(params, ctx.lanes, 0);
LE32(params, ctx.tagLength, 4);
LE32(params, ctx.memorySize, 8);
LE32(params, ctx.passes, 12);
LE32(params, ctx.version, 16);
LE32(params, ctx.type, 20);
const toHash = [params];
if (ctx.password) {
toHash.push(LE32(new Uint8Array(4), ctx.password.length, 0));
toHash.push(ctx.password);
} else {
toHash.push(ZERO32);
}
if (ctx.salt) {
toHash.push(LE32(new Uint8Array(4), ctx.salt.length, 0));
toHash.push(ctx.salt);
} else {
toHash.push(ZERO32);
}
if (ctx.secret) {
toHash.push(LE32(new Uint8Array(4), ctx.secret.length, 0));
toHash.push(ctx.secret);
} else {
toHash.push(ZERO32);
}
if (ctx.ad) {
toHash.push(LE32(new Uint8Array(4), ctx.ad.length, 0));
toHash.push(ctx.ad);
} else {
toHash.push(ZERO32);
}
H2.update(concatArrays(toHash));
const outputBuffer = H2.digest();
return new Uint8Array(outputBuffer);
}
function concatArrays(arrays) {
if (arrays.length === 1) return arrays[0];
let totalLength = 0;
for (let i4 = 0; i4 < arrays.length; i4++) {
if (!(arrays[i4] instanceof Uint8Array)) {
throw new Error("concatArrays: Data must be in the form of a Uint8Array");
}
totalLength += arrays[i4].length;
}
const result2 = new Uint8Array(totalLength);
let pos = 0;
arrays.forEach((element) => {
result2.set(element, pos);
pos += element.length;
});
return result2;
}
async function wasmLoader(memory, getSIMD, getNonSIMD) {
const importObject = { env: { memory } };
if (isSIMDSupported === void 0) {
try {
const loaded = await getSIMD(importObject);
isSIMDSupported = true;
return loaded;
} catch (e) {
isSIMDSupported = false;
}
}
const loader2 = isSIMDSupported ? getSIMD : getNonSIMD;
return loader2(importObject);
}
async function setupWasm(getSIMD, getNonSIMD) {
const memory = new WebAssembly.Memory({
// in pages of 64KiB each
// these values need to be compatible with those declared when building in `build-wasm`
initial: 1040,
// 65MB
maximum: 65536
// 4GB
});
const wasmModule = await wasmLoader(memory, getSIMD, getNonSIMD);
const computeHash = (params) => argon2id(params, { instance: wasmModule.instance, memory });
return computeHash;
}
function _loadWasmModule(sync3, filepath, src2, imports) {
function _instantiateOrCompile(source, imports2, stream2) {
var instantiateFunc = stream2 ? WebAssembly.instantiateStreaming : WebAssembly.instantiate;
var compileFunc = stream2 ? WebAssembly.compileStreaming : WebAssembly.compile;
if (imports2) {
return instantiateFunc(source, imports2);
} else {
return compileFunc(source);
}
}
var buf = null;
buf = Buffer.from(src2, "base64");
{
return _instantiateOrCompile(buf, imports, false);
}
}
function wasmSIMD(imports) {
return _loadWasmModule(0, null, "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", imports);
}
function wasmNonSIMD(imports) {
return _loadWasmModule(0, null, "AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==", imports);
}
function getDefaultExportFromCjs(x3) {
return x3 && x3.__esModule && Object.prototype.hasOwnProperty.call(x3, "default") ? x3["default"] : x3;
}
function requireBzip2() {
if (hasRequiredBzip2) return bzip2_1;
hasRequiredBzip2 = 1;
function Bzip2Error(message2) {
this.name = "Bzip2Error";
this.message = message2;
this.stack = new Error().stack;
}
Bzip2Error.prototype = new Error();
var message = {
Error: function(message2) {
throw new Bzip2Error(message2);
}
};
var bzip2 = {};
bzip2.Bzip2Error = Bzip2Error;
bzip2.crcTable = [
0,
79764919,
159529838,
222504665,
319059676,
398814059,
445009330,
507990021,
638119352,
583659535,
797628118,
726387553,
890018660,
835552979,
1015980042,
944750013,
1276238704,
1221641927,
1167319070,
1095957929,
1595256236,
1540665371,
1452775106,
1381403509,
1780037320,
1859660671,
1671105958,
1733955601,
2031960084,
2111593891,
1889500026,
1952343757,
2552477408,
2632100695,
2443283854,
2506133561,
2334638140,
2414271883,
2191915858,
2254759653,
3190512472,
3135915759,
3081330742,
3009969537,
2905550212,
2850959411,
2762807018,
2691435357,
3560074640,
3505614887,
3719321342,
3648080713,
3342211916,
3287746299,
3467911202,
3396681109,
4063920168,
4143685023,
4223187782,
4286162673,
3779000052,
3858754371,
3904687514,
3967668269,
881225847,
809987520,
1023691545,
969234094,
662832811,
591600412,
771767749,
717299826,
311336399,
374308984,
453813921,
533576470,
25881363,
88864420,
134795389,
214552010,
2023205639,
2086057648,
1897238633,
1976864222,
1804852699,
1867694188,
1645340341,
1724971778,
1587496639,
1516133128,
1461550545,
1406951526,
1302016099,
1230646740,
1142491917,
1087903418,
2896545431,
2825181984,
2770861561,
2716262478,
3215044683,
3143675388,
3055782693,
3001194130,
2326604591,
2389456536,
2200899649,
2280525302,
2578013683,
2640855108,
2418763421,
2498394922,
3769900519,
3832873040,
3912640137,
3992402750,
4088425275,
4151408268,
4197601365,
4277358050,
3334271071,
3263032808,
3476998961,
3422541446,
3585640067,
3514407732,
3694837229,
3640369242,
1762451694,
1842216281,
1619975040,
1682949687,
2047383090,
2127137669,
1938468188,
2001449195,
1325665622,
1271206113,
1183200824,
1111960463,
1543535498,
1489069629,
1434599652,
1363369299,
622672798,
568075817,
748617968,
677256519,
907627842,
853037301,
1067152940,
995781531,
51762726,
131386257,
177728840,
240578815,
269590778,
349224269,
429104020,
491947555,
4046411278,
4126034873,
4172115296,
4234965207,
3794477266,
3874110821,
3953728444,
4016571915,
3609705398,
3555108353,
3735388376,
3664026991,
3290680682,
3236090077,
3449943556,
3378572211,
3174993278,
3120533705,
3032266256,
2961025959,
2923101090,
2868635157,
2813903052,
2742672763,
2604032198,
2683796849,
2461293480,
2524268063,
2284983834,
2364738477,
2175806836,
2238787779,
1569362073,
1498123566,
1409854455,
1355396672,
1317987909,
1246755826,
1192025387,
1137557660,
2072149281,
2135122070,
1912620623,
1992383480,
1753615357,
1816598090,
1627664531,
1707420964,
295390185,
358241886,
404320391,
483945776,
43990325,
106832002,
186451547,
266083308,
932423249,
861060070,
1041341759,
986742920,
613929101,
542559546,
756411363,
701822548,
3316196985,
3244833742,
3425377559,
3370778784,
3601682597,
3530312978,
3744426955,
3689838204,
3819031489,
3881883254,
3928223919,
4007849240,
4037393693,
4100235434,
4180117107,
4259748804,
2310601993,
2373574846,
2151335527,
2231098320,
2596047829,
2659030626,
2470359227,
2550115596,
2947551409,
2876312838,
2788305887,
2733848168,
3165939309,
3094707162,
3040238851,
2985771188
];
bzip2.array = function(bytes) {
var bit = 0, byte = 0;
var BITMASK = [0, 1, 3, 7, 15, 31, 63, 127, 255];
return function(n2) {
var result2 = 0;
while (n2 > 0) {
var left = 8 - bit;
if (n2 >= left) {
result2 <<= left;
result2 |= BITMASK[left] & bytes[byte++];
bit = 0;
n2 -= left;
} else {
result2 <<= n2;
result2 |= (bytes[byte] & BITMASK[n2] << 8 - n2 - bit) >> 8 - n2 - bit;
bit += n2;
n2 = 0;
}
}
return result2;
};
};
bzip2.simple = function(srcbuffer, stream2) {
var bits2 = bzip2.array(srcbuffer);
var size = bzip2.header(bits2);
var ret2 = false;
var bufsize = 1e5 * size;
var buf = new Int32Array(bufsize);
do {
ret2 = bzip2.decompress(bits2, stream2, buf, bufsize);
} while (!ret2);
};
bzip2.header = function(bits2) {
this.byteCount = new Int32Array(256);
this.symToByte = new Uint8Array(256);
this.mtfSymbol = new Int32Array(256);
this.selectors = new Uint8Array(32768);
if (bits2(8 * 3) != 4348520) message.Error("No magic number found");
var i4 = bits2(8) - 48;
if (i4 < 1 || i4 > 9) message.Error("Not a BZIP archive");
return i4;
};
bzip2.decompress = function(bits2, stream2, buf, bufsize, streamCRC) {
var MAX_HUFCODE_BITS = 20;
var MAX_SYMBOLS = 258;
var SYMBOL_RUNA = 0;
var SYMBOL_RUNB = 1;
var GROUP_SIZE = 50;
var crc = 0 ^ -1;
for (var h2 = "", i4 = 0; i4 < 6; i4++) h2 += bits2(8).toString(16);
if (h2 == "177245385090") {
var finalCRC = bits2(32) | 0;
if (finalCRC !== streamCRC) message.Error("Error in bzip2: crc32 do not match");
bits2(null);
return null;
}
if (h2 != "314159265359") message.Error("Invalid bzip data");
var crcblock = bits2(32) | 0;
if (bits2(1)) message.Error("unsupported obsolete version");
var origPtr = bits2(24);
if (origPtr > bufsize) message.Error("Initial position larger than buffer size");
var t2 = bits2(16);
var symTotal = 0;
for (i4 = 0; i4 < 16; i4++) {
if (t2 & 1 << 15 - i4) {
var k2 = bits2(16);
for (j2 = 0; j2 < 16; j2++) {
if (k2 & 1 << 15 - j2) {
this.symToByte[symTotal++] = 16 * i4 + j2;
}
}
}
}
var groupCount = bits2(3);
if (groupCount < 2 || groupCount > 6) message.Error("Invalid bzip data");
var nSelectors = bits2(15);
if (nSelectors == 0) message.Error("Invalid bzip data");
for (var i4 = 0; i4 < groupCount; i4++) this.mtfSymbol[i4] = i4;
for (var i4 = 0; i4 < nSelectors; i4++) {
for (var j2 = 0; bits2(1); j2++) if (j2 >= groupCount) message.Error("Invalid bzip data");
var uc = this.mtfSymbol[j2];
for (var k2 = j2 - 1; k2 >= 0; k2--) {
this.mtfSymbol[k2 + 1] = this.mtfSymbol[k2];
}
this.mtfSymbol[0] = uc;
this.selectors[i4] = uc;
}
var symCount = symTotal + 2;
var groups = [];
var length = new Uint8Array(MAX_SYMBOLS), temp = new Uint16Array(MAX_HUFCODE_BITS + 1);
var hufGroup;
for (var j2 = 0; j2 < groupCount; j2++) {
t2 = bits2(5);
for (var i4 = 0; i4 < symCount; i4++) {
while (true) {
if (t2 < 1 || t2 > MAX_HUFCODE_BITS) message.Error("Invalid bzip data");
if (!bits2(1)) break;
if (!bits2(1)) t2++;
else t2--;
}
length[i4] = t2;
}
var minLen, maxLen;
minLen = maxLen = length[0];
for (var i4 = 1; i4 < symCount; i4++) {
if (length[i4] > maxLen) maxLen = length[i4];
else if (length[i4] < minLen) minLen = length[i4];
}
hufGroup = groups[j2] = {};
hufGroup.permute = new Int32Array(MAX_SYMBOLS);
hufGroup.limit = new Int32Array(MAX_HUFCODE_BITS + 1);
hufGroup.base = new Int32Array(MAX_HUFCODE_BITS + 1);
hufGroup.minLen = minLen;
hufGroup.maxLen = maxLen;
var base = hufGroup.base;
var limit = hufGroup.limit;
var pp = 0;
for (var i4 = minLen; i4 <= maxLen; i4++)
for (var t2 = 0; t2 < symCount; t2++)
if (length[t2] == i4) hufGroup.permute[pp++] = t2;
for (i4 = minLen; i4 <= maxLen; i4++) temp[i4] = limit[i4] = 0;
for (i4 = 0; i4 < symCount; i4++) temp[length[i4]]++;
pp = t2 = 0;
for (i4 = minLen; i4 < maxLen; i4++) {
pp += temp[i4];
limit[i4] = pp - 1;
pp <<= 1;
base[i4 + 1] = pp - (t2 += temp[i4]);
}
limit[maxLen] = pp + temp[maxLen] - 1;
base[minLen] = 0;
}
for (var i4 = 0; i4 < 256; i4++) {
this.mtfSymbol[i4] = i4;
this.byteCount[i4] = 0;
}
var runPos, count2, symCount, selector;
runPos = count2 = symCount = selector = 0;
while (true) {
if (!symCount--) {
symCount = GROUP_SIZE - 1;
if (selector >= nSelectors) message.Error("Invalid bzip data");
hufGroup = groups[this.selectors[selector++]];
base = hufGroup.base;
limit = hufGroup.limit;
}
i4 = hufGroup.minLen;
j2 = bits2(i4);
while (true) {
if (i4 > hufGroup.maxLen) message.Error("Invalid bzip data");
if (j2 <= limit[i4]) break;
i4++;
j2 = j2 << 1 | bits2(1);
}
j2 -= base[i4];
if (j2 < 0 || j2 >= MAX_SYMBOLS) message.Error("Invalid bzip data");
var nextSym = hufGroup.permute[j2];
if (nextSym == SYMBOL_RUNA || nextSym == SYMBOL_RUNB) {
if (!runPos) {
runPos = 1;
t2 = 0;
}
if (nextSym == SYMBOL_RUNA) t2 += runPos;
else t2 += 2 * runPos;
runPos <<= 1;
continue;
}
if (runPos) {
runPos = 0;
if (count2 + t2 > bufsize) message.Error("Invalid bzip data");
uc = this.symToByte[this.mtfSymbol[0]];
this.byteCount[uc] += t2;
while (t2--) buf[count2++] = uc;
}
if (nextSym > symTotal) break;
if (count2 >= bufsize) message.Error("Invalid bzip data");
i4 = nextSym - 1;
uc = this.mtfSymbol[i4];
for (var k2 = i4 - 1; k2 >= 0; k2--) {
this.mtfSymbol[k2 + 1] = this.mtfSymbol[k2];
}
this.mtfSymbol[0] = uc;
uc = this.symToByte[uc];
this.byteCount[uc]++;
buf[count2++] = uc;
}
if (origPtr < 0 || origPtr >= count2) message.Error("Invalid bzip data");
var j2 = 0;
for (var i4 = 0; i4 < 256; i4++) {
k2 = j2 + this.byteCount[i4];
this.byteCount[i4] = j2;
j2 = k2;
}
for (var i4 = 0; i4 < count2; i4++) {
uc = buf[i4] & 255;
buf[this.byteCount[uc]] |= i4 << 8;
this.byteCount[uc]++;
}
var pos = 0, current = 0, run2 = 0;
if (count2) {
pos = buf[origPtr];
current = pos & 255;
pos >>= 8;
run2 = -1;
}
count2 = count2;
var copies, previous, outbyte;
while (count2) {
count2--;
previous = current;
pos = buf[pos];
current = pos & 255;
pos >>= 8;
if (run2++ == 3) {
copies = current;
outbyte = previous;
current = -1;
} else {
copies = 1;
outbyte = current;
}
while (copies--) {
crc = (crc << 8 ^ this.crcTable[(crc >> 24 ^ outbyte) & 255]) & 4294967295;
stream2(outbyte);
}
if (current != previous) run2 = 0;
}
crc = (crc ^ -1) >>> 0;
if ((crc | 0) != (crcblock | 0)) message.Error("Error in bzip2: crc32 do not match");
streamCRC = (crc ^ (streamCRC << 1 | streamCRC >>> 31)) & 4294967295;
return streamCRC;
};
bzip2_1 = bzip2;
return bzip2_1;
}
function requireBit_iterator() {
if (hasRequiredBit_iterator) return bit_iterator;
hasRequiredBit_iterator = 1;
var BITMASK = [0, 1, 3, 7, 15, 31, 63, 127, 255];
bit_iterator = function bitIterator(nextBuffer) {
var bit = 0, byte = 0;
var bytes = nextBuffer();
var f = function(n2) {
if (n2 === null && bit != 0) {
bit = 0;
byte++;
return;
}
var result2 = 0;
while (n2 > 0) {
if (byte >= bytes.length) {
byte = 0;
bytes = nextBuffer();
}
var left = 8 - bit;
if (bit === 0 && n2 > 0)
f.bytesRead++;
if (n2 >= left) {
result2 <<= left;
result2 |= BITMASK[left] & bytes[byte++];
bit = 0;
n2 -= left;
} else {
result2 <<= n2;
result2 |= (bytes[byte] & BITMASK[n2] << 8 - n2 - bit) >> 8 - n2 - bit;
bit += n2;
n2 = 0;
}
}
return result2;
};
f.bytesRead = 0;
return f;
};
return bit_iterator;
}
function requireUnbzip2Stream() {
if (hasRequiredUnbzip2Stream) return unbzip2Stream_1;
hasRequiredUnbzip2Stream = 1;
const bz2 = requireBzip2();
const bitIterator = requireBit_iterator();
unbzip2Stream_1 = unbzip2Stream;
function unbzip2Stream(input) {
const bufferQueue = [];
let hasBytes = 0;
let blockSize = 0;
let broken = false;
let hasAllData = false;
let bitReader = null;
let streamCRC = null;
function decompressBlock(push) {
if (!blockSize) {
blockSize = bz2.header(bitReader);
streamCRC = 0;
return false;
} else {
const bufsize = 1e5 * blockSize;
const buf = new Int32Array(bufsize);
const chunk = [];
const f = function(b) {
chunk.push(b);
};
streamCRC = bz2.decompress(bitReader, f, buf, bufsize, streamCRC);
if (streamCRC === null) {
blockSize = 0;
return false;
} else {
push(new Uint8Array(chunk));
return true;
}
}
}
let outlength = 0;
function decompressAndQueue(controller) {
if (broken) return;
try {
return decompressBlock(function(d3) {
controller.enqueue(d3);
if (d3 !== null) {
outlength += d3.length;
} else {
}
});
} catch (e) {
controller.error(e);
broken = true;
return true;
}
}
let inputReader;
return new ReadableStream({
start() {
inputReader = input.getReader();
},
async pull(controller) {
try {
while (true) {
while (!(hasAllData || bitReader && hasBytes - bitReader.bytesRead + 1 >= 25e3 + 1e5 * (blockSize || 4))) {
const { value, done } = await inputReader.read();
if (!done) {
bufferQueue.push(value);
hasBytes += value.length;
if (bitReader === null) {
bitReader = bitIterator(function() {
return bufferQueue.shift();
});
}
} else {
hasAllData = true;
}
}
while (hasAllData ? bitReader && hasBytes > bitReader.bytesRead : bitReader && hasBytes - bitReader.bytesRead + 1 >= 25e3 + 1e5 * (blockSize || 4)) {
if (decompressAndQueue(controller)) {
return;
}
}
if (hasAllData && !broken && (!bitReader || hasBytes <= bitReader.bytesRead)) {
if (streamCRC === null) {
controller.close();
} else {
controller.error(new Error("input stream ended prematurely"));
}
return;
}
}
} catch (e) {
controller.error(e);
}
},
async cancel(reason) {
await inputReader.abort(reason);
}
}, { highWaterMark: 0 });
}
return unbzip2Stream_1;
}
var globalThis2, doneWritingPromise, doneWritingResolve, doneWritingReject, readingIndex, ArrayStream, doneReadingSet, externalBuffer, byValue, enums, config, debugMode, util11, Buffer$3, encodeChunk, decodeChunk, crc_table, isLittleEndian$1, _0n$8, _1n$c, nodeCrypto$8, _1n$b, smallPrimes, webCrypto$8, nodeCrypto$7, nodeCryptoHashes, md5$1, sha1$2, sha224$2, sha256$2, sha384$2, sha512$2, ripemd, sha3_256$1, sha3_512$1, hash_headers, webCrypto$7, nodeCrypto$6, _1n$a, _1n$9, knownOIDs, OID, UnsupportedError, UnknownPacketError, MalformedPacketError, UnparseablePacket, publicKeyToJWK$1, privateKeyToJWK$1, eddsa$1, isLE$1, wrapCipher, BLOCK_SIZE$1, ZEROS16, ZEROS32, POLY$1, mul2$1, swapLE, estimateWindow, GHASH, Polyval, ghash, BLOCK_SIZE, BLOCK_SIZE32, EMPTY_BLOCK, POLY, sbox, invSbox, rotr32_8, rotl32_8, byteSwap$1, tableEncoding, tableDecoding, xPowers, ctr, cbc, cfb, gcm, AESW, AESKW_IV, aeskw, unsafe, webCrypto$6, HKDF_INFO, ecdh_x, webCrypto$5, nodeCrypto$5, webCurves, knownCurves, nodeCurves, curves, CurveWithOID, webCrypto$4, nodeCrypto$4, ecdsa$1, eddsa_legacy, ecdh$1, elliptic, _0n$7, _1n$8, ECDHSymmetricKey, KDFParams, ECDHXSymmetricKey, webCrypto$3, nodeCrypto$3, knownAlgos, nodeAlgos, WebCryptoEncryptor, NobleStreamProcessor, getUint32Array, webCrypto$2, nodeCrypto$2, blockLength$3, zeroBlock$1, webCrypto$1, nodeCrypto$1, Buffer$2, blockLength$2, ivLength$2, tagLength$2, zero, one$1, two, blockLength$1, ivLength$1, tagLength$1, zeroBlock, one, webCrypto, nodeCrypto, Buffer$1, blockLength, ivLength, tagLength, ALGO, ARGON2_TYPE, ARGON2_VERSION, ARGON2_SALT_SIZE, ARGON2_MAX_ENCODEDM, Argon2OutOfMemoryError, loadArgonWasmModule, argon2Promise, ARGON2_WASM_MEMORY_THRESHOLD_RELOAD, Argon2S2K, GenericS2K, allowedS2KTypesForEncryption, require$1, _a, Worker, isMarkedAsUntransferable, u8, u16, i32, fleb, fdeb, clim, freb, _a, fl, revfl, _b, fd, revfd, rev, x2, i3, hMap, flt, i3, i3, i3, i3, fdt, i3, flm, flrm, fdm, fdrm, max3, bits, bits16, shft, slc, ec, err, inflt, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, deo, et, dflt, adler, dopt, wbytes, zlh, zls, Deflate, Inflate, Zlib, Unzlib, td, tds, LiteralDataPacket, KeyID, verified, SALT_NOTATION_NAME, allowedUnhashedSubpackets, SignaturePacket, OnePassSignaturePacket, PacketList, GrammarError, MessageType, MessageGrammarValidator, allowedPackets$5, CompressedDataPacket, getCompressionStreamInstantiators, compress_fns, decompress_fns, allowedPackets$4, SymEncryptedIntegrityProtectedDataPacket, PublicKeyEncryptedSessionKeyPacket, SymEncryptedSessionKeyPacket, PublicKeyPacket, PublicSubkeyPacket, UserAttributePacket, SecretKeyPacket, UserIDPacket, SecretSubkeyPacket, allowedPackets$1, Signature, User, Subkey, allowedRevocationPackets, mainKeyPacketTags, keyPacketTags, Key, PublicKey, PrivateKey, allowedKeyPackets, allowedSymSessionKeyPackets, allowedDetachedSignaturePackets, Message, defaultConfigPropsCount, crypto$2, isLE, swap32IfBE, hasHexBuiltin, hexes, asciis, Hash, wrapConstructor, _0n$6, _1n$7, isPosBig, bitMask, _0n$5, _1n$6, _2n$6, _3n$2, _4n$1, _5n, _7n$1, _8n$1, _9n, _16n, FIELD_FIELDS, HashMD, SHA256_IV, SHA224_IV, SHA384_IV, SHA512_IV, U32_MASK64, _32n, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotlSH, rotlSL, rotlBH, rotlBL, add3L, add3H, add4L, add4H, add5L, add5H, SHA256_K, SHA256_W, SHA256, SHA224, K512, SHA512_Kh, SHA512_Kl, SHA512_W_H, SHA512_W_L, SHA512, SHA384, sha256$1, sha224$1, sha512$1, sha384$1, HMAC, hmac, _0n$4, _1n$5, pointPrecomputes, pointWindowSizes, wNAF, divNearest, DERErr, DER, _0n$3, _1n$4, _2n$5, _3n$1, _4n, p256_CURVE, p384_CURVE, p521_CURVE, Fp256, Fp384, Fp521, p256$1, p384$1, p521$1, p256, p384, p521, _0n$2, _1n$3, _2n$4, _7n, _256n, _0x71n, SHA3_PI, SHA3_ROTL, _SHA3_IOTA, IOTAS, SHA3_IOTA_H, SHA3_IOTA_L, rotlH, rotlL, Keccak, gen, sha3_256, sha3_512, genShake, shake256, _0n$1, _1n$2, _2n$3, _8n, _0n, _1n$1, _2n$2, ed448_CURVE, E448_CURVE, shake256_114, _1n, _2n$1, _3n, _11n, _22n, _44n, _88n, _223n, Fp$3, Fn, ED448_DEF, ed448, x448, secp256k1_CURVE, secp256k1_ENDO, _2n, Fpk1, secp256k1, sha256, sha224, Fp$2, CURVE_A$2, CURVE_B$2, brainpoolP256r1, sha512, sha384, Fp$1, CURVE_A$1, CURVE_B$1, brainpoolP384r1, Fp, CURVE_A, CURVE_B, brainpoolP512r1, nobleCurves, noble_curves, SHA1_IV, SHA1_W, SHA1, sha1$1, Rho160, Id160, Pi160, idxLR, idxL, idxR, shifts160, shiftsL160, shiftsR160, Kl160, Kr160, BUF_160, RIPEMD160, ripemd160$1, sha1, ripemd160, K$1, Chi, IV, MD5_W, MD5, md5, nobleHashes, noble_hashes, crypto$1, nacl, gf, randombytes, _9, gf0, gf1, _121665, D, D2, X, Y, I2, K, L2, crypto_scalarmult_BYTES, crypto_scalarmult_SCALARBYTES, crypto_box_PUBLICKEYBYTES, crypto_box_SECRETKEYBYTES, crypto_sign_BYTES, crypto_sign_PUBLICKEYBYTES, crypto_sign_SECRETKEYBYTES, crypto_sign_SEEDBYTES, naclFast, MAXINT, legacyCiphers, legacy_ciphers, BLAKE2B_IV32, SIGMA, Blake2b, OUTBYTES_MAX, BLOCKBYTES, TYPE, VERSION, TAGBYTES_MAX, TAGBYTES_MIN, SALTBYTES_MAX, SALTBYTES_MIN, passwordBYTES_MAX, passwordBYTES_MIN, MEMBYTES_MAX, ADBYTES_MAX, SECRETBYTES_MAX, ARGON2_BLOCK_SIZE, ARGON2_PREHASH_DIGEST_LENGTH, isLittleEndian, KB, WASM_PAGE_SIZE, isSIMDSupported, loadWasm, index$2, bzip2_1, hasRequiredBzip2, bit_iterator, hasRequiredBit_iterator, unbzip2Stream_1, hasRequiredUnbzip2Stream, unbzip2StreamExports, index, index$1;
var init_openpgp = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/openpgp/6.3.1/60c2a31cf6cae63193823abbdc2c24d5dbda8d0fc2a36569febee3624da47bc0/node_modules/openpgp/dist/node/openpgp.mjs"() {
globalThis2 = typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
doneWritingPromise = /* @__PURE__ */ Symbol("doneWritingPromise");
doneWritingResolve = /* @__PURE__ */ Symbol("doneWritingResolve");
doneWritingReject = /* @__PURE__ */ Symbol("doneWritingReject");
readingIndex = /* @__PURE__ */ Symbol("readingIndex");
ArrayStream = class _ArrayStream extends Array {
constructor() {
super();
Object.setPrototypeOf(this, _ArrayStream.prototype);
this[doneWritingPromise] = new Promise((resolve4, reject3) => {
this[doneWritingResolve] = resolve4;
this[doneWritingReject] = reject3;
});
this[doneWritingPromise].catch(() => {
});
}
};
ArrayStream.prototype.getReader = function() {
if (this[readingIndex] === void 0) {
this[readingIndex] = 0;
}
return {
read: async () => {
await this[doneWritingPromise];
if (this[readingIndex] === this.length) {
return { value: void 0, done: true };
}
return { value: this[this[readingIndex]++], done: false };
}
};
};
ArrayStream.prototype.readToEnd = async function(join5) {
await this[doneWritingPromise];
const result2 = join5(this.slice(this[readingIndex]));
this.length = 0;
return result2;
};
ArrayStream.prototype.clone = function() {
const clone4 = new ArrayStream();
clone4[doneWritingPromise] = this[doneWritingPromise].then(() => {
clone4.push(...this);
});
return clone4;
};
Writer.prototype.write = async function(chunk) {
this.stream.push(chunk);
};
Writer.prototype.close = async function() {
this.stream[doneWritingResolve]();
};
Writer.prototype.abort = async function(reason) {
this.stream[doneWritingReject](reason);
return reason;
};
Writer.prototype.releaseLock = function() {
};
typeof globalThis2.process === "object" && typeof globalThis2.process.versions === "object";
doneReadingSet = /* @__PURE__ */ new WeakSet();
externalBuffer = /* @__PURE__ */ Symbol("externalBuffer");
Reader.prototype.read = async function() {
if (this[externalBuffer] && this[externalBuffer].length) {
const value = this[externalBuffer].shift();
return { done: false, value };
}
return this._read();
};
Reader.prototype.releaseLock = function() {
if (this[externalBuffer]) {
this.stream[externalBuffer] = this[externalBuffer];
}
this._releaseLock();
};
Reader.prototype.cancel = function(reason) {
return this._cancel(reason);
};
Reader.prototype.readLine = async function() {
let buffer3 = [];
let returnVal;
while (!returnVal) {
let { done, value } = await this.read();
value += "";
if (done) {
if (buffer3.length) return concat(buffer3);
return;
}
const lineEndIndex = value.indexOf("\n") + 1;
if (lineEndIndex) {
returnVal = concat(buffer3.concat(value.substr(0, lineEndIndex)));
buffer3 = [];
}
if (lineEndIndex !== value.length) {
buffer3.push(value.substr(lineEndIndex));
}
}
this.unshift(...buffer3);
return returnVal;
};
Reader.prototype.readByte = async function() {
const { done, value } = await this.read();
if (done) return;
const byte = value[0];
this.unshift(slice3(value, 1));
return byte;
};
Reader.prototype.readBytes = async function(length) {
const buffer3 = [];
let bufferLength = 0;
while (true) {
const { done, value } = await this.read();
if (done) {
if (buffer3.length) return concat(buffer3);
return;
}
buffer3.push(value);
bufferLength += value.length;
if (bufferLength >= length) {
const bufferConcat = concat(buffer3);
this.unshift(slice3(bufferConcat, length));
return slice3(bufferConcat, 0, length);
}
}
};
Reader.prototype.peekBytes = async function(length) {
const bytes = await this.readBytes(length);
this.unshift(bytes);
return bytes;
};
Reader.prototype.unshift = function(...values) {
if (!this[externalBuffer]) {
this[externalBuffer] = [];
}
if (values.length === 1 && isUint8Array2(values[0]) && this[externalBuffer].length && values[0].length && this[externalBuffer][0].byteOffset >= values[0].length) {
this[externalBuffer][0] = new Uint8Array(
this[externalBuffer][0].buffer,
this[externalBuffer][0].byteOffset - values[0].length,
this[externalBuffer][0].byteLength + values[0].length
);
return;
}
this[externalBuffer].unshift(...values.filter((value) => value && value.length));
};
Reader.prototype.readToEnd = async function(join5 = concat) {
const result2 = [];
while (true) {
const { done, value } = await this.read();
if (done) break;
result2.push(value);
}
return join5(result2);
};
byValue = /* @__PURE__ */ Symbol("byValue");
enums = {
/** Maps curve names under various standards to one
* @see {@link https://wiki.gnupg.org/ECC|ECC - GnuPG wiki}
* @enum {String}
* @readonly
*/
curve: {
/** NIST P-256 Curve */
"nistP256": "nistP256",
/** @deprecated use `nistP256` instead */
"p256": "nistP256",
/** NIST P-384 Curve */
"nistP384": "nistP384",
/** @deprecated use `nistP384` instead */
"p384": "nistP384",
/** NIST P-521 Curve */
"nistP521": "nistP521",
/** @deprecated use `nistP521` instead */
"p521": "nistP521",
/** SECG SECP256k1 Curve */
"secp256k1": "secp256k1",
/** Ed25519 - deprecated by crypto-refresh (replaced by standaone Ed25519 algo) */
"ed25519Legacy": "ed25519Legacy",
/** @deprecated use `ed25519Legacy` instead */
"ed25519": "ed25519Legacy",
/** Curve25519 - deprecated by crypto-refresh (replaced by standaone X25519 algo) */
"curve25519Legacy": "curve25519Legacy",
/** @deprecated use `curve25519Legacy` instead */
"curve25519": "curve25519Legacy",
/** BrainpoolP256r1 Curve */
"brainpoolP256r1": "brainpoolP256r1",
/** BrainpoolP384r1 Curve */
"brainpoolP384r1": "brainpoolP384r1",
/** BrainpoolP512r1 Curve */
"brainpoolP512r1": "brainpoolP512r1"
},
/** A string to key specifier type
* @enum {Integer}
* @readonly
*/
s2k: {
simple: 0,
salted: 1,
iterated: 3,
argon2: 4,
gnu: 101
},
/** {@link https://tools.ietf.org/html/draft-ietf-openpgp-crypto-refresh-08.html#section-9.1|crypto-refresh RFC, section 9.1}
* @enum {Integer}
* @readonly
*/
publicKey: {
/** RSA (Encrypt or Sign) [HAC] */
rsaEncryptSign: 1,
/** RSA (Encrypt only) [HAC] */
rsaEncrypt: 2,
/** RSA (Sign only) [HAC] */
rsaSign: 3,
/** Elgamal (Encrypt only) [ELGAMAL] [HAC] */
elgamal: 16,
/** DSA (Sign only) [FIPS186] [HAC] */
dsa: 17,
/** ECDH (Encrypt only) [RFC6637] */
ecdh: 18,
/** ECDSA (Sign only) [RFC6637] */
ecdsa: 19,
/** EdDSA (Sign only) - deprecated by crypto-refresh (replaced by `ed25519` identifier below)
* [{@link https://tools.ietf.org/html/draft-koch-eddsa-for-openpgp-04|Draft RFC}] */
eddsaLegacy: 22,
/** Reserved for AEDH */
aedh: 23,
/** Reserved for AEDSA */
aedsa: 24,
/** X25519 (Encrypt only) */
x25519: 25,
/** X448 (Encrypt only) */
x448: 26,
/** Ed25519 (Sign only) */
ed25519: 27,
/** Ed448 (Sign only) */
ed448: 28
},
/** {@link https://tools.ietf.org/html/rfc4880#section-9.2|RFC4880, section 9.2}
* @enum {Integer}
* @readonly
*/
symmetric: {
/** Not implemented! */
idea: 1,
tripledes: 2,
cast5: 3,
blowfish: 4,
aes128: 7,
aes192: 8,
aes256: 9,
twofish: 10
},
/** {@link https://tools.ietf.org/html/rfc4880#section-9.3|RFC4880, section 9.3}
* @enum {Integer}
* @readonly
*/
compression: {
uncompressed: 0,
/** RFC1951 */
zip: 1,
/** RFC1950 */
zlib: 2,
bzip2: 3
},
/** {@link https://tools.ietf.org/html/rfc4880#section-9.4|RFC4880, section 9.4}
* @enum {Integer}
* @readonly
*/
hash: {
md5: 1,
sha1: 2,
ripemd: 3,
sha256: 8,
sha384: 9,
sha512: 10,
sha224: 11,
sha3_256: 12,
sha3_512: 14
},
/** A list of hash names as accepted by webCrypto functions.
* {@link https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest|Parameters, algo}
* @enum {String}
*/
webHash: {
"SHA-1": 2,
"SHA-256": 8,
"SHA-384": 9,
"SHA-512": 10
},
/** {@link https://www.rfc-editor.org/rfc/rfc9580.html#name-aead-algorithms}
* @enum {Integer}
* @readonly
*/
aead: {
eax: 1,
ocb: 2,
gcm: 3,
/** @deprecated used by OpenPGP.js v5 for legacy AEAD support; use `gcm` instead for the RFC9580-standardized ID */
experimentalGCM: 100
// Private algorithm
},
/** A list of packet types and numeric tags associated with them.
* @enum {Integer}
* @readonly
*/
packet: {
publicKeyEncryptedSessionKey: 1,
signature: 2,
symEncryptedSessionKey: 3,
onePassSignature: 4,
secretKey: 5,
publicKey: 6,
secretSubkey: 7,
compressedData: 8,
symmetricallyEncryptedData: 9,
marker: 10,
literalData: 11,
trust: 12,
userID: 13,
publicSubkey: 14,
userAttribute: 17,
symEncryptedIntegrityProtectedData: 18,
modificationDetectionCode: 19,
aeadEncryptedData: 20,
// see IETF draft: https://tools.ietf.org/html/draft-ford-openpgp-format-00#section-2.1
padding: 21
},
/** Data types in the literal packet
* @enum {Integer}
* @readonly
*/
literal: {
/** Binary data 'b' */
binary: "b".charCodeAt(),
/** Text data 't' */
text: "t".charCodeAt(),
/** Utf8 data 'u' */
utf8: "u".charCodeAt(),
/** MIME message body part 'm' */
mime: "m".charCodeAt()
},
/** One pass signature packet type
* @enum {Integer}
* @readonly
*/
signature: {
/** 0x00: Signature of a binary document. */
binary: 0,
/** 0x01: Signature of a canonical text document.
*
* Canonicalyzing the document by converting line endings. */
text: 1,
/** 0x02: Standalone signature.
*
* This signature is a signature of only its own subpacket contents.
* It is calculated identically to a signature over a zero-lengh
* binary document. Note that it doesn't make sense to have a V3
* standalone signature. */
standalone: 2,
/** 0x10: Generic certification of a User ID and Public-Key packet.
*
* The issuer of this certification does not make any particular
* assertion as to how well the certifier has checked that the owner
* of the key is in fact the person described by the User ID. */
certGeneric: 16,
/** 0x11: Persona certification of a User ID and Public-Key packet.
*
* The issuer of this certification has not done any verification of
* the claim that the owner of this key is the User ID specified. */
certPersona: 17,
/** 0x12: Casual certification of a User ID and Public-Key packet.
*
* The issuer of this certification has done some casual
* verification of the claim of identity. */
certCasual: 18,
/** 0x13: Positive certification of a User ID and Public-Key packet.
*
* The issuer of this certification has done substantial
* verification of the claim of identity.
*
* Most OpenPGP implementations make their "key signatures" as 0x10
* certifications. Some implementations can issue 0x11-0x13
* certifications, but few differentiate between the types. */
certPositive: 19,
/** 0x30: Certification revocation signature
*
* This signature revokes an earlier User ID certification signature
* (signature class 0x10 through 0x13) or direct-key signature
* (0x1F). It should be issued by the same key that issued the
* revoked signature or an authorized revocation key. The signature
* is computed over the same data as the certificate that it
* revokes, and should have a later creation date than that
* certificate. */
certRevocation: 48,
/** 0x18: Subkey Binding Signature
*
* This signature is a statement by the top-level signing key that
* indicates that it owns the subkey. This signature is calculated
* directly on the primary key and subkey, and not on any User ID or
* other packets. A signature that binds a signing subkey MUST have
* an Embedded Signature subpacket in this binding signature that
* contains a 0x19 signature made by the signing subkey on the
* primary key and subkey. */
subkeyBinding: 24,
/** 0x19: Primary Key Binding Signature
*
* This signature is a statement by a signing subkey, indicating
* that it is owned by the primary key and subkey. This signature
* is calculated the same way as a 0x18 signature: directly on the
* primary key and subkey, and not on any User ID or other packets.
*
* When a signature is made over a key, the hash data starts with the
* octet 0x99, followed by a two-octet length of the key, and then body
* of the key packet. (Note that this is an old-style packet header for
* a key packet with two-octet length.) A subkey binding signature
* (type 0x18) or primary key binding signature (type 0x19) then hashes
* the subkey using the same format as the main key (also using 0x99 as
* the first octet). */
keyBinding: 25,
/** 0x1F: Signature directly on a key
*
* This signature is calculated directly on a key. It binds the
* information in the Signature subpackets to the key, and is
* appropriate to be used for subpackets that provide information
* about the key, such as the Revocation Key subpacket. It is also
* appropriate for statements that non-self certifiers want to make
* about the key itself, rather than the binding between a key and a
* name. */
key: 31,
/** 0x20: Key revocation signature
*
* The signature is calculated directly on the key being revoked. A
* revoked key is not to be used. Only revocation signatures by the
* key being revoked, or by an authorized revocation key, should be
* considered valid revocation signatures.a */
keyRevocation: 32,
/** 0x28: Subkey revocation signature
*
* The signature is calculated directly on the subkey being revoked.
* A revoked subkey is not to be used. Only revocation signatures
* by the top-level signature key that is bound to this subkey, or
* by an authorized revocation key, should be considered valid
* revocation signatures.
*
* Key revocation signatures (types 0x20 and 0x28)
* hash only the key being revoked. */
subkeyRevocation: 40,
/** 0x40: Timestamp signature.
* This signature is only meaningful for the timestamp contained in
* it. */
timestamp: 64,
/** 0x50: Third-Party Confirmation signature.
*
* This signature is a signature over some other OpenPGP Signature
* packet(s). It is analogous to a notary seal on the signed data.
* A third-party signature SHOULD include Signature Target
* subpacket(s) to give easy identification. Note that we really do
* mean SHOULD. There are plausible uses for this (such as a blind
* party that only sees the signature, not the key or source
* document) that cannot include a target subpacket. */
thirdParty: 80
},
/** Signature subpacket type
* @enum {Integer}
* @readonly
*/
signatureSubpacket: {
signatureCreationTime: 2,
signatureExpirationTime: 3,
exportableCertification: 4,
trustSignature: 5,
regularExpression: 6,
revocable: 7,
keyExpirationTime: 9,
placeholderBackwardsCompatibility: 10,
preferredSymmetricAlgorithms: 11,
revocationKey: 12,
issuerKeyID: 16,
notationData: 20,
preferredHashAlgorithms: 21,
preferredCompressionAlgorithms: 22,
keyServerPreferences: 23,
preferredKeyServer: 24,
primaryUserID: 25,
policyURI: 26,
keyFlags: 27,
signersUserID: 28,
reasonForRevocation: 29,
features: 30,
signatureTarget: 31,
embeddedSignature: 32,
issuerFingerprint: 33,
preferredAEADAlgorithms: 34,
preferredCipherSuites: 39
},
/** Key flags
* @enum {Integer}
* @readonly
*/
keyFlags: {
/** 0x01 - This key may be used to certify other keys. */
certifyKeys: 1,
/** 0x02 - This key may be used to sign data. */
signData: 2,
/** 0x04 - This key may be used to encrypt communications. */
encryptCommunication: 4,
/** 0x08 - This key may be used to encrypt storage. */
encryptStorage: 8,
/** 0x10 - The private component of this key may have been split
* by a secret-sharing mechanism. */
splitPrivateKey: 16,
/** 0x20 - This key may be used for authentication. */
authentication: 32,
/** 0x80 - The private component of this key may be in the
* possession of more than one person. */
sharedPrivateKey: 128
},
/** Armor type
* @enum {Integer}
* @readonly
*/
armor: {
multipartSection: 0,
multipartLast: 1,
signed: 2,
message: 3,
publicKey: 4,
privateKey: 5,
signature: 6
},
/** {@link https://tools.ietf.org/html/rfc4880#section-5.2.3.23|RFC4880, section 5.2.3.23}
* @enum {Integer}
* @readonly
*/
reasonForRevocation: {
/** No reason specified (key revocations or cert revocations) */
noReason: 0,
/** Key is superseded (key revocations) */
keySuperseded: 1,
/** Key material has been compromised (key revocations) */
keyCompromised: 2,
/** Key is retired and no longer used (key revocations) */
keyRetired: 3,
/** User ID information is no longer valid (cert revocations) */
userIDInvalid: 32
},
/** {@link https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-04#section-5.2.3.25|RFC4880bis-04, section 5.2.3.25}
* @enum {Integer}
* @readonly
*/
features: {
/** 0x01 - Modification Detection (packets 18 and 19) */
modificationDetection: 1,
/** 0x02 - AEAD Encrypted Data Packet (packet 20) and version 5
* Symmetric-Key Encrypted Session Key Packets (packet 3) */
aead: 2,
/** 0x04 - Version 5 Public-Key Packet format and corresponding new
* fingerprint format */
v5Keys: 4,
seipdv2: 8
},
/**
* Asserts validity of given value and converts from string/integer to integer.
* @param {Object} type target enum type
* @param {String|Integer} e value to check and/or convert
* @returns {Integer} enum value if it exists
* @throws {Error} if the value is invalid
*/
write: function(type4, e) {
if (typeof e === "number") {
e = this.read(type4, e);
}
if (type4[e] !== void 0) {
return type4[e];
}
throw new Error("Invalid enum value.");
},
/**
* Converts enum integer value to the corresponding string, if it exists.
* @param {Object} type target enum type
* @param {Integer} e value to convert
* @returns {String} name of enum value if it exists
* @throws {Error} if the value is invalid
*/
read: function(type4, e) {
if (!type4[byValue]) {
type4[byValue] = [];
Object.entries(type4).forEach(([key, value]) => {
type4[byValue][value] = key;
});
}
if (type4[byValue][e] !== void 0) {
return type4[byValue][e];
}
throw new Error("Invalid enum value.");
}
};
config = {
/**
* @memberof module:config
* @property {Integer} preferredHashAlgorithm Default hash algorithm {@link module:enums.hash}
*/
preferredHashAlgorithm: enums.hash.sha512,
/**
* @memberof module:config
* @property {Integer} preferredSymmetricAlgorithm Default encryption cipher {@link module:enums.symmetric}
*/
preferredSymmetricAlgorithm: enums.symmetric.aes256,
/**
* @memberof module:config
* @property {Integer} compression Default compression algorithm {@link module:enums.compression}
*/
preferredCompressionAlgorithm: enums.compression.uncompressed,
/**
* Use Authenticated Encryption with Additional Data (AEAD) protection for symmetric encryption.
* This option is applicable to:
* - key generation (encryption key preferences),
* - password-based message encryption, and
* - private key encryption.
* In the case of message encryption using public keys, the encryption key preferences are respected instead.
* Note: not all OpenPGP implementations are compatible with this option.
* @see {@link https://tools.ietf.org/html/draft-ietf-openpgp-crypto-refresh-10.html|draft-crypto-refresh-10}
* @memberof module:config
* @property {Boolean} aeadProtect
*/
aeadProtect: false,
/**
* When reading OpenPGP v4 private keys (e.g. those generated in OpenPGP.js when not setting `config.v5Keys = true`)
* which were encrypted by OpenPGP.js v5 (or older) using `config.aeadProtect = true`,
* this option must be set, otherwise key parsing and/or key decryption will fail.
* Note: only set this flag if you know that the keys are of the legacy type, as non-legacy keys
* will be processed incorrectly.
*/
parseAEADEncryptedV4KeysAsLegacy: false,
/**
* Default Authenticated Encryption with Additional Data (AEAD) encryption mode
* Only has an effect when aeadProtect is set to true.
* @memberof module:config
* @property {Integer} preferredAEADAlgorithm Default AEAD mode {@link module:enums.aead}
*/
preferredAEADAlgorithm: enums.aead.gcm,
/**
* Chunk Size Byte for Authenticated Encryption with Additional Data (AEAD) mode
* Only has an effect when aeadProtect is set to true.
* Must be an integer value from 0 to 56.
* @memberof module:config
* @property {Integer} aeadChunkSizeByte
*/
aeadChunkSizeByte: 12,
/**
* Use v6 keys.
* Note: not all OpenPGP implementations are compatible with this option.
* **FUTURE OPENPGP.JS VERSIONS MAY BREAK COMPATIBILITY WHEN USING THIS OPTION**
* @memberof module:config
* @property {Boolean} v6Keys
*/
v6Keys: false,
/**
* Enable parsing v5 keys and v5 signatures (which is different from the AEAD-encrypted SEIPDv2 packet).
* These are non-standard entities, which in the crypto-refresh have been superseded
* by v6 keys and v6 signatures, respectively.
* However, generation of v5 entities was supported behind config flag in OpenPGP.js v5, and some other libraries,
* hence parsing them might be necessary in some cases.
* @memberof module:config
* @property {Boolean} enableParsingV5Entities
*/
enableParsingV5Entities: false,
/**
* S2K (String to Key) type, used for key derivation in the context of secret key encryption
* and password-encrypted data. Weaker s2k options are not allowed.
* Note: Argon2 is the strongest option but not all OpenPGP implementations are compatible with it
* (pending standardisation).
* @memberof module:config
* @property {enums.s2k.argon2|enums.s2k.iterated} s2kType {@link module:enums.s2k}
*/
s2kType: enums.s2k.iterated,
/**
* {@link https://tools.ietf.org/html/rfc4880#section-3.7.1.3| RFC4880 3.7.1.3}:
* Iteration Count Byte for Iterated and Salted S2K (String to Key).
* Only relevant if `config.s2kType` is set to `enums.s2k.iterated`.
* Note: this is the exponent value, not the final number of iterations (refer to specs for more details).
* @memberof module:config
* @property {Integer} s2kIterationCountByte
*/
s2kIterationCountByte: 224,
/**
* {@link https://tools.ietf.org/html/draft-ietf-openpgp-crypto-refresh-07.html#section-3.7.1.4| draft-crypto-refresh 3.7.1.4}:
* Argon2 parameters for S2K (String to Key).
* Only relevant if `config.s2kType` is set to `enums.s2k.argon2`.
* Default settings correspond to the second recommendation from RFC9106 ("uniformly safe option"),
* to ensure compatibility with memory-constrained environments.
* For more details on the choice of parameters, see https://tools.ietf.org/html/rfc9106#section-4.
* @memberof module:config
* @property {Object} params
* @property {Integer} params.passes - number of iterations t
* @property {Integer} params.parallelism - degree of parallelism p
* @property {Integer} params.memoryExponent - one-octet exponent indicating the memory size, which will be: 2**memoryExponent kibibytes.
*/
s2kArgon2Params: {
passes: 3,
parallelism: 4,
// lanes
memoryExponent: 16
// 64 MiB of RAM
},
/**
* Max memory exponent allowed for Argon2 memory allocation (e.g. `maxArgon2MemoryExponent: 20` corresponds
* to a memory limit of 2**20 KiB = 1GiB).
* This limit is applied both on encryption (if `config.s2kType` is set to `enums.s2k.argon2`)
* and decryption.
* If the input memory exponent exceeds this value, the library will not attempt the argon2 key derivation
* and instead directly throw an `Argon2OutOfMemoryError` error.
* NB: on encryption, if `s2kArgon2Params.memoryExponent` is larger than `maxArgon2MemoryExponent`,
* the operation will fail.
*/
maxArgon2MemoryExponent: 30,
/**
* Allow decryption of messages without integrity protection.
* This is an **insecure** setting:
* - message modifications cannot be detected, thus processing the decrypted data is potentially unsafe.
* - it enables downgrade attacks against integrity-protected messages.
* @memberof module:config
* @property {Boolean} allowUnauthenticatedMessages
*/
allowUnauthenticatedMessages: false,
/**
* Allow streaming unauthenticated data before its integrity has been checked. This would allow the application to
* process large streams while limiting memory usage by releasing the decrypted chunks as soon as possible
* and deferring checking their integrity until the decrypted stream has been read in full.
*
* This setting is **insecure** if the encrypted data has been corrupted by a malicious entity:
* - if the partially decrypted message is processed further or displayed to the user, it opens up the possibility of attacks such as EFAIL
* (see https://efail.de/).
* - an attacker with access to traces or timing info of internal processing errors could learn some info about the data.
*
* NB: this setting does not apply to AEAD-encrypted data, where the AEAD data chunk is never released until integrity is confirmed.
* @memberof module:config
* @property {Boolean} allowUnauthenticatedStream
*/
allowUnauthenticatedStream: false,
/**
* Minimum RSA key size allowed for key generation and message signing, verification and encryption.
* The default is 2047 since due to a bug, previous versions of OpenPGP.js could generate 2047-bit keys instead of 2048-bit ones.
* @memberof module:config
* @property {Number} minRSABits
*/
minRSABits: 2047,
/**
* Work-around for rare GPG decryption bug when encrypting with multiple passwords.
* **Slower and slightly less secure**
* @memberof module:config
* @property {Boolean} passwordCollisionCheck
*/
passwordCollisionCheck: false,
/**
* Allow decryption using RSA keys without `encrypt` flag.
* This setting is potentially insecure, but it is needed to get around an old openpgpjs bug
* where key flags were ignored when selecting a key for encryption.
* @memberof module:config
* @property {Boolean} allowInsecureDecryptionWithSigningKeys
*/
allowInsecureDecryptionWithSigningKeys: false,
/**
* Allow verification of message signatures with keys whose validity at the time of signing cannot be determined.
* Instead, a verification key will also be consider valid as long as it is valid at the current time.
* This setting is potentially insecure, but it is needed to verify messages signed with keys that were later reformatted,
* and have self-signature's creation date that does not match the primary key creation date.
* @memberof module:config
* @property {Boolean} allowInsecureDecryptionWithSigningKeys
*/
allowInsecureVerificationWithReformattedKeys: false,
/**
* Allow using keys that do not have any key flags set.
* Key flags are needed to restrict key usage to specific purposes: for instance, a signing key could only be allowed to certify other keys, and not sign messages
* (see https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#section-5.2.3.29).
* Some older keys do not declare any key flags, which means they are not allowed to be used for any operation.
* This setting allows using such keys for any operation for which they are compatible, based on their public key algorithm.
*/
allowMissingKeyFlags: false,
/**
* Enable constant-time decryption of RSA- and ElGamal-encrypted session keys, to hinder Bleichenbacher-like attacks (https://link.springer.com/chapter/10.1007/BFb0055716).
* This setting has measurable performance impact and it is only helpful in application scenarios where both of the following conditions apply:
* - new/incoming messages are automatically decrypted (without user interaction);
* - an attacker can determine how long it takes to decrypt each message (e.g. due to decryption errors being logged remotely).
* See also `constantTimePKCS1DecryptionSupportedSymmetricAlgorithms`.
* @memberof module:config
* @property {Boolean} constantTimePKCS1Decryption
*/
constantTimePKCS1Decryption: false,
/**
* This setting is only meaningful if `constantTimePKCS1Decryption` is enabled.
* Decryption of RSA- and ElGamal-encrypted session keys of symmetric algorithms different from the ones specified here will fail.
* However, the more algorithms are added, the slower the decryption procedure becomes.
* @memberof module:config
* @property {Set<Integer>} constantTimePKCS1DecryptionSupportedSymmetricAlgorithms {@link module:enums.symmetric}
*/
constantTimePKCS1DecryptionSupportedSymmetricAlgorithms: /* @__PURE__ */ new Set([enums.symmetric.aes128, enums.symmetric.aes192, enums.symmetric.aes256]),
/**
* @memberof module:config
* @property {Boolean} ignoreUnsupportedPackets Ignore unsupported/unrecognizable packets on parsing instead of throwing an error
*/
ignoreUnsupportedPackets: true,
/**
* @memberof module:config
* @property {Boolean} ignoreMalformedPackets Ignore malformed packets on parsing instead of throwing an error
*/
ignoreMalformedPackets: false,
/**
* @memberof module:config
* @property {Boolean} enforceGrammar whether parsed OpenPGP messages must comform to the OpenPGP grammar
* defined in https://www.rfc-editor.org/rfc/rfc9580.html#name-openpgp-messages .
*/
enforceGrammar: true,
/**
* Parsing of packets is normally restricted to a predefined set of packets. For example a Sym. Encrypted Integrity Protected Data Packet can only
* contain a certain set of packets including LiteralDataPacket. With this setting we can allow additional packets, which is probably not advisable
* as a global config setting, but can be used for specific function calls (e.g. decrypt method of Message).
* @memberof module:config
* @property {Array} additionalAllowedPackets Allow additional packets on parsing. Defined as array of packet classes, e.g. [PublicKeyPacket]
*/
additionalAllowedPackets: [],
/**
* @memberof module:config
* @property {Boolean} showVersion Whether to include {@link module:config/config.versionString} in armored messages
*/
showVersion: false,
/**
* @memberof module:config
* @property {Boolean} showComment Whether to include {@link module:config/config.commentString} in armored messages
*/
showComment: false,
/**
* @memberof module:config
* @property {String} versionString A version string to be included in armored messages
*/
versionString: "OpenPGP.js 6.3.1",
/**
* @memberof module:config
* @property {String} commentString A comment string to be included in armored messages
*/
commentString: "https://openpgpjs.org",
/**
* Max userID string length (used for parsing)
* @memberof module:config
* @property {Integer} maxUserIDLength
*/
maxUserIDLength: 1024 * 5,
/**
* Maximum size of decompressed messages
* When decompressing a larger message, OpenPGP.js will throw an error.
* @memberof module:config
* @property {Integer} maxDecompressedMessageSize
*/
maxDecompressedMessageSize: Infinity,
/**
* Contains notatations that are considered "known". Known notations do not trigger
* validation error when the notation is marked as critical.
* @memberof module:config
* @property {Array} knownNotations
*/
knownNotations: [],
/**
* If true, a salt notation is used to randomize signatures generated by v4 and v5 keys (v6 signatures are always non-deterministic, by design).
* This protects EdDSA signatures from potentially leaking the secret key in case of faults (i.e. bitflips) which, in principle, could occur
* during the signing computation. It is added to signatures of any algo for simplicity, and as it may also serve as protection in case of
* weaknesses in the hash algo, potentially hindering e.g. some chosen-prefix attacks.
* NOTE: the notation is interoperable, but will reveal that the signature has been generated using OpenPGP.js, which may not be desirable in some cases.
*/
nonDeterministicSignaturesViaNotation: true,
/**
* Whether to use the the noble-curves library for curves (other than Curve25519) that are not supported by the available native crypto API.
* When false, certain standard curves will not be supported (depending on the platform).
* @memberof module:config
* @property {Boolean} useEllipticFallback
*/
useEllipticFallback: true,
/**
* Reject insecure hash algorithms
* @memberof module:config
* @property {Set<Integer>} rejectHashAlgorithms {@link module:enums.hash}
*/
rejectHashAlgorithms: /* @__PURE__ */ new Set([enums.hash.md5, enums.hash.ripemd]),
/**
* Reject insecure message hash algorithms
* @memberof module:config
* @property {Set<Integer>} rejectMessageHashAlgorithms {@link module:enums.hash}
*/
rejectMessageHashAlgorithms: /* @__PURE__ */ new Set([enums.hash.md5, enums.hash.ripemd, enums.hash.sha1]),
/**
* Reject insecure public key algorithms for key generation and message encryption, signing or verification
* @memberof module:config
* @property {Set<Integer>} rejectPublicKeyAlgorithms {@link module:enums.publicKey}
*/
rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set([enums.publicKey.elgamal, enums.publicKey.dsa]),
/**
* Reject non-standard curves for key generation, message encryption, signing or verification
* @memberof module:config
* @property {Set<String>} rejectCurves {@link module:enums.curve}
*/
rejectCurves: /* @__PURE__ */ new Set([enums.curve.secp256k1])
};
debugMode = (() => {
try {
return process.env.NODE_ENV === "development";
} catch {
}
return false;
})();
util11 = {
isString: function(data) {
return typeof data === "string" || data instanceof String;
},
nodeRequire: createRequire6(import.meta.url),
isArray: function(data) {
return data instanceof Array;
},
isUint8Array: isUint8Array2,
isStream: isStream2,
/**
* Load noble-curves lib on demand and return the requested curve function
* @param {enums.publicKey} publicKeyAlgo
* @param {enums.curve} [curveName] - for algos supporting different curves (e.g. ECDSA)
* @returns curve implementation
* @throws on unrecognized curve, or curve not implemented by noble-curve
*/
getNobleCurve: async (publicKeyAlgo, curveName) => {
if (!config.useEllipticFallback) {
throw new Error("This curve is only supported in the full build of OpenPGP.js");
}
const { nobleCurves: nobleCurves2 } = await Promise.resolve().then(function() {
return noble_curves;
});
switch (publicKeyAlgo) {
case enums.publicKey.ecdh:
case enums.publicKey.ecdsa: {
const curve = nobleCurves2.get(curveName);
if (!curve)
throw new Error("Unsupported curve");
return curve;
}
case enums.publicKey.x448:
return nobleCurves2.get("x448");
case enums.publicKey.ed448:
return nobleCurves2.get("ed448");
default:
throw new Error("Unsupported curve");
}
},
readNumber: function(bytes) {
let n2 = 0;
for (let i4 = 0; i4 < bytes.length; i4++) {
n2 += 256 ** i4 * bytes[bytes.length - 1 - i4];
}
return n2;
},
writeNumber: function(n2, bytes) {
const b = new Uint8Array(bytes);
for (let i4 = 0; i4 < bytes; i4++) {
b[i4] = n2 >> 8 * (bytes - i4 - 1) & 255;
}
return b;
},
readDate: function(bytes) {
const n2 = util11.readNumber(bytes);
const d3 = new Date(n2 * 1e3);
return d3;
},
writeDate: function(time) {
const numeric = Math.floor(time.getTime() / 1e3);
return util11.writeNumber(numeric, 4);
},
normalizeDate: function(time = Date.now()) {
return time === null || time === Infinity ? time : new Date(Math.floor(+time / 1e3) * 1e3);
},
/**
* Read one MPI from bytes in input
* @param {Uint8Array} bytes - Input data to parse
* @returns {Uint8Array} Parsed MPI.
*/
readMPI: function(bytes) {
const bits2 = bytes[0] << 8 | bytes[1];
const bytelen = bits2 + 7 >>> 3;
return util11.readExactSubarray(bytes, 2, 2 + bytelen);
},
/**
* Read exactly `end - start` bytes from input.
* This is a stricter version of `.subarray`.
* @param {Uint8Array} input - Input data to parse
* @returns {Uint8Array} subarray of size always equal to `end - start`
* @throws if the input array is too short.
*/
readExactSubarray: function(input, start, end) {
if (input.length < end) {
throw new Error("Input array too short");
}
return input.subarray(start, end);
},
/**
* Left-pad Uint8Array to length by adding 0x0 bytes
* @param {Uint8Array} bytes - Data to pad
* @param {Number} length - Padded length
* @returns {Uint8Array} Padded bytes.
*/
leftPad(bytes, length) {
if (bytes.length > length) {
throw new Error("Input array too long");
}
const padded = new Uint8Array(length);
const offset = length - bytes.length;
padded.set(bytes, offset);
return padded;
},
/**
* Convert a Uint8Array to an MPI-formatted Uint8Array.
* @param {Uint8Array} bin - An array of 8-bit integers to convert
* @returns {Uint8Array} MPI-formatted Uint8Array.
*/
uint8ArrayToMPI: function(bin) {
const bitSize = util11.uint8ArrayBitLength(bin);
if (bitSize === 0) {
throw new Error("Zero MPI");
}
const stripped = bin.subarray(bin.length - Math.ceil(bitSize / 8));
const prefix = new Uint8Array([(bitSize & 65280) >> 8, bitSize & 255]);
return util11.concatUint8Array([prefix, stripped]);
},
/**
* Return bit length of the input data
* @param {Uint8Array} bin input data (big endian)
* @returns bit length
*/
uint8ArrayBitLength: function(bin) {
let i4;
for (i4 = 0; i4 < bin.length; i4++)
if (bin[i4] !== 0)
break;
if (i4 === bin.length) {
return 0;
}
const stripped = bin.subarray(i4);
return (stripped.length - 1) * 8 + util11.nbits(stripped[0]);
},
/**
* Convert a hex string to an array of 8-bit integers
* @param {String} hex - A hex string to convert
* @returns {Uint8Array} An array of 8-bit integers.
*/
hexToUint8Array: function(hex) {
const result2 = new Uint8Array(hex.length >> 1);
for (let k2 = 0; k2 < hex.length >> 1; k2++) {
result2[k2] = parseInt(hex.substr(k2 << 1, 2), 16);
}
return result2;
},
/**
* Convert an array of 8-bit integers to a hex string
* @param {Uint8Array} bytes - Array of 8-bit integers to convert
* @returns {String} Hexadecimal representation of the array.
*/
uint8ArrayToHex: function(bytes) {
const hexAlphabet = "0123456789abcdef";
let s = "";
bytes.forEach((v) => {
s += hexAlphabet[v >> 4] + hexAlphabet[v & 15];
});
return s;
},
/**
* Convert a string to an array of 8-bit integers
* @param {String} str - String to convert
* @returns {Uint8Array} An array of 8-bit integers.
*/
stringToUint8Array: function(str2) {
return transform(str2, (str3) => {
if (!util11.isString(str3)) {
throw new Error("stringToUint8Array: Data must be in the form of a string");
}
const result2 = new Uint8Array(str3.length);
for (let i4 = 0; i4 < str3.length; i4++) {
result2[i4] = str3.charCodeAt(i4);
}
return result2;
});
},
/**
* Convert an array of 8-bit integers to a string
* @param {Uint8Array} bytes - An array of 8-bit integers to convert
* @returns {String} String representation of the array.
*/
uint8ArrayToString: function(bytes) {
bytes = new Uint8Array(bytes);
const result2 = [];
const bs = 1 << 14;
const j2 = bytes.length;
for (let i4 = 0; i4 < j2; i4 += bs) {
result2.push(String.fromCharCode.apply(String, bytes.subarray(i4, i4 + bs < j2 ? i4 + bs : j2)));
}
return result2.join("");
},
/**
* Convert a native javascript string to a Uint8Array of utf8 bytes
* @param {String|ReadableStream} str - The string to convert
* @returns {Uint8Array|ReadableStream} A valid squence of utf8 bytes.
*/
encodeUTF8: function(str2) {
const encoder = new TextEncoder("utf-8");
function process24(value, lastChunk = false) {
return encoder.encode(value, { stream: !lastChunk });
}
return transform(str2, process24, () => process24("", true));
},
/**
* Convert a Uint8Array of utf8 bytes to a native javascript string
* @param {Uint8Array|ReadableStream} utf8 - A valid squence of utf8 bytes
* @returns {String|ReadableStream} A native javascript string.
*/
decodeUTF8: function(utf8) {
const decoder2 = new TextDecoder("utf-8");
function process24(value, lastChunk = false) {
return decoder2.decode(value, { stream: !lastChunk });
}
return transform(utf8, process24, () => process24(new Uint8Array(), true));
},
/**
* Concat a list of Uint8Arrays, Strings or Streams
* The caller must not mix Uint8Arrays with Strings, but may mix Streams with non-Streams.
* @param {Array<Uint8Array|String|ReadableStream>} Array - Of Uint8Arrays/Strings/Streams to concatenate
* @returns {Uint8Array|String|ReadableStream} Concatenated array.
*/
concat,
/**
* Concat Uint8Arrays
* @param {Array<Uint8Array>} Array - Of Uint8Arrays to concatenate
* @returns {Uint8Array} Concatenated array.
*/
concatUint8Array: concatUint8Array2,
/**
* Check Uint8Array equality
* @param {Uint8Array} array1 - First array
* @param {Uint8Array} array2 - Second array
* @returns {Boolean} Equality.
*/
equalsUint8Array: function(array1, array2) {
if (!util11.isUint8Array(array1) || !util11.isUint8Array(array2)) {
throw new Error("Data must be in the form of a Uint8Array");
}
if (array1.length !== array2.length) {
return false;
}
for (let i4 = 0; i4 < array1.length; i4++) {
if (array1[i4] !== array2[i4]) {
return false;
}
}
return true;
},
/**
* Same as Array.findLastIndex, which is not supported on Safari 14 .
* @param {Array} arr
* @param {function(element, index, arr): boolean} findFn
* @return index of last element matching `findFn`, -1 if not found
*/
findLastIndex: function(arr, findFn) {
for (let i4 = arr.length; i4 >= 0; i4--) {
if (findFn(arr[i4], i4, arr)) {
return i4;
}
}
return -1;
},
/**
* Calculates a 16bit sum of a Uint8Array by adding each character
* codes modulus 65535
* @param {Uint8Array} Uint8Array - To create a sum of
* @returns {Uint8Array} 2 bytes containing the sum of all charcodes % 65535.
*/
writeChecksum: function(text) {
let s = 0;
for (let i4 = 0; i4 < text.length; i4++) {
s = s + text[i4] & 65535;
}
return util11.writeNumber(s, 2);
},
/**
* Helper function to print a debug message. Debug
* messages are only printed if
* @param {String} str - String of the debug message
*/
printDebug: function(str2) {
if (debugMode) {
console.log("[OpenPGP.js debug]", str2);
}
},
/**
* Helper function to print a debug error. Debug
* messages are only printed if
* @param {String} str - String of the debug message
*/
printDebugError: function(error) {
if (debugMode) {
console.error("[OpenPGP.js debug]", error);
}
},
// returns bit length of the integer x
nbits: function(x3) {
let r = 1;
let t2 = x3 >>> 16;
if (t2 !== 0) {
x3 = t2;
r += 16;
}
t2 = x3 >> 8;
if (t2 !== 0) {
x3 = t2;
r += 8;
}
t2 = x3 >> 4;
if (t2 !== 0) {
x3 = t2;
r += 4;
}
t2 = x3 >> 2;
if (t2 !== 0) {
x3 = t2;
r += 2;
}
t2 = x3 >> 1;
if (t2 !== 0) {
x3 = t2;
r += 1;
}
return r;
},
/**
* If S[1] == 0, then double(S) == (S[2..128] || 0);
* otherwise, double(S) == (S[2..128] || 0) xor
* (zeros(120) || 10000111).
*
* Both OCB and EAX (through CMAC) require this function to be constant-time.
*
* @param {Uint8Array} data
*/
double: function(data) {
const doubleVar = new Uint8Array(data.length);
const last = data.length - 1;
for (let i4 = 0; i4 < last; i4++) {
doubleVar[i4] = data[i4] << 1 ^ data[i4 + 1] >> 7;
}
doubleVar[last] = data[last] << 1 ^ (data[0] >> 7) * 135;
return doubleVar;
},
/**
* Shift a Uint8Array to the right by n bits
* @param {Uint8Array} array - The array to shift
* @param {Integer} bits - Amount of bits to shift (MUST be smaller
* than 8)
* @returns {String} Resulting array.
*/
shiftRight: function(array, bits2) {
if (bits2) {
for (let i4 = array.length - 1; i4 >= 0; i4--) {
array[i4] >>= bits2;
if (i4 > 0) {
array[i4] |= array[i4 - 1] << 8 - bits2;
}
}
}
return array;
},
/**
* Get native Web Cryptography API.
* @returns {Object} The SubtleCrypto API
* @throws if the API is not available
*/
getWebCrypto: function() {
const globalWebCrypto = typeof globalThis2 !== "undefined" && globalThis2.crypto && globalThis2.crypto.subtle;
const webCrypto2 = globalWebCrypto || this.getNodeCrypto()?.webcrypto.subtle;
if (!webCrypto2) {
throw new Error("The WebCrypto API is not available");
}
return webCrypto2;
},
/** @typedef {import('node:crypto')} NodeCrypto */
/**
* Get native Node.js crypto api.
* @returns {NodeCrypto} The crypto module or 'undefined'.
*/
getNodeCrypto: function() {
return this.nodeRequire("crypto");
},
getNodeZlib: function() {
return this.nodeRequire("zlib");
},
/**
* Get native Node.js Buffer constructor. This should be used since
* Buffer is not available under browserify.
* @returns {Function} The Buffer constructor or 'undefined'.
*/
getNodeBuffer: function() {
return (this.nodeRequire("buffer") || {}).Buffer;
},
getHardwareConcurrency: function() {
if (typeof navigator !== "undefined") {
return navigator.hardwareConcurrency || 1;
}
const os17 = this.nodeRequire("os");
return os17.cpus().length;
},
/**
* Test email format to ensure basic compliance:
* - must include a single @
* - no control or space unicode chars allowed
* - no backslash and square brackets (as the latter can mess with the userID parsing)
* - cannot end with a punctuation char
* These checks are not meant to be exhaustive; applications are strongly encouraged to implement stricter validation,
* e.g. based on the W3C HTML spec (https://html.spec.whatwg.org/multipage/input.html#email-state-(type=email)).
*/
isEmailAddress: function(data) {
if (!util11.isString(data)) {
return false;
}
const re = /^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u;
return re.test(data);
},
/**
* Normalize line endings to <CR><LF>
* Support any encoding where CR=0x0D, LF=0x0A
*/
canonicalizeEOL: function(data) {
const CR2 = 13;
const LF2 = 10;
let carryOverCR = false;
return transform(data, (bytes) => {
if (carryOverCR) {
bytes = util11.concatUint8Array([new Uint8Array([CR2]), bytes]);
}
if (bytes[bytes.length - 1] === CR2) {
carryOverCR = true;
bytes = bytes.subarray(0, -1);
} else {
carryOverCR = false;
}
let index2;
const indices = [];
for (let i4 = 0; ; i4 = index2) {
index2 = bytes.indexOf(LF2, i4) + 1;
if (index2) {
if (bytes[index2 - 2] !== CR2)
indices.push(index2);
} else {
break;
}
}
if (!indices.length) {
return bytes;
}
const normalized = new Uint8Array(bytes.length + indices.length);
let j2 = 0;
for (let i4 = 0; i4 < indices.length; i4++) {
const sub = bytes.subarray(indices[i4 - 1] || 0, indices[i4]);
normalized.set(sub, j2);
j2 += sub.length;
normalized[j2 - 1] = CR2;
normalized[j2] = LF2;
j2++;
}
normalized.set(bytes.subarray(indices[indices.length - 1] || 0), j2);
return normalized;
}, () => carryOverCR ? new Uint8Array([CR2]) : void 0);
},
/**
* Convert line endings from canonicalized <CR><LF> to native <LF>
* Support any encoding where CR=0x0D, LF=0x0A
*/
nativeEOL: function(data) {
const CR2 = 13;
const LF2 = 10;
let carryOverCR = false;
return transform(data, (bytes) => {
if (carryOverCR && bytes[0] !== LF2) {
bytes = util11.concatUint8Array([new Uint8Array([CR2]), bytes]);
} else {
bytes = new Uint8Array(bytes);
}
if (bytes[bytes.length - 1] === CR2) {
carryOverCR = true;
bytes = bytes.subarray(0, -1);
} else {
carryOverCR = false;
}
let index2;
let j2 = 0;
for (let i4 = 0; i4 !== bytes.length; i4 = index2) {
index2 = bytes.indexOf(CR2, i4) + 1;
if (!index2)
index2 = bytes.length;
const last = index2 - (bytes[index2] === LF2 ? 1 : 0);
if (i4)
bytes.copyWithin(j2, i4, last);
j2 += last - i4;
}
return bytes.subarray(0, j2);
}, () => carryOverCR ? new Uint8Array([CR2]) : void 0);
},
/**
* Remove trailing spaces, carriage returns and tabs from each line
*/
removeTrailingSpaces: function(text) {
return text.split("\n").map((line) => {
let i4 = line.length - 1;
for (; i4 >= 0 && (line[i4] === " " || line[i4] === " " || line[i4] === "\r"); i4--)
;
return line.substr(0, i4 + 1);
}).join("\n");
},
wrapError: function(error, cause) {
if (!cause) {
if (error instanceof Error) {
return error;
}
return new Error(error);
}
if (error instanceof Error) {
try {
error.message += ": " + cause.message;
error.cause = cause;
} catch {
}
return error;
}
return new Error(error + ": " + cause.message, { cause });
},
/**
* Map allowed packet tags to corresponding classes
* Meant to be used to format `allowedPacket` for Packetlist.read
* @param {Array<Object>} allowedClasses
* @returns {Object} map from enum.packet to corresponding *Packet class
*/
constructAllowedPackets: function(allowedClasses) {
const map26 = {};
allowedClasses.forEach((PacketClass) => {
if (!PacketClass.tag) {
throw new Error("Invalid input: expected a packet class");
}
map26[PacketClass.tag] = PacketClass;
});
return map26;
},
/**
* Return a Promise that will resolve as soon as one of the promises in input resolves
* or will reject if all input promises all rejected
* (similar to Promise.any, but with slightly different error handling)
* @param {Array<Promise>} promises
* @return {Promise<Any>} Promise resolving to the result of the fastest fulfilled promise
* or rejected with the Error of the last resolved Promise (if all promises are rejected)
*/
anyPromise: function(promises) {
return new Promise((resolve4, reject3) => {
let exception2;
void Promise.all(promises.map(async (promise2) => {
try {
resolve4(await promise2);
} catch (e) {
exception2 = e;
}
})).then(() => {
reject3(exception2);
});
});
},
/**
* Return either `a` or `b` based on `cond`, in algorithmic constant time.
* @param {Boolean} cond
* @param {Uint8Array} a
* @param {Uint8Array} b
* @returns `a` if `cond` is true, `b` otherwise
*/
selectUint8Array: function(cond, a2, b) {
const length = Math.max(a2.length, b.length);
const result2 = new Uint8Array(length);
let end = 0;
for (let i4 = 0; i4 < result2.length; i4++) {
result2[i4] = a2[i4] & 256 - cond | b[i4] & 255 + cond;
end += cond & i4 < a2.length | 1 - cond & i4 < b.length;
}
return result2.subarray(0, end);
},
/**
* Return either `a` or `b` based on `cond`, in algorithmic constant time.
* NB: it only supports `a, b` with values between 0-255.
* @param {Boolean} cond
* @param {Uint8} a
* @param {Uint8} b
* @returns `a` if `cond` is true, `b` otherwise
*/
selectUint8: function(cond, a2, b) {
return a2 & 256 - cond | b & 255 + cond;
},
/**
* @param {module:enums.symmetric} cipherAlgo
*/
isAES: function(cipherAlgo) {
return cipherAlgo === enums.symmetric.aes128 || cipherAlgo === enums.symmetric.aes192 || cipherAlgo === enums.symmetric.aes256;
}
};
Buffer$3 = util11.getNodeBuffer();
if (Buffer$3) {
encodeChunk = (buf) => Buffer$3.from(buf).toString("base64");
decodeChunk = (str2) => {
const b = Buffer$3.from(str2, "base64");
return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
};
} else {
encodeChunk = (buf) => btoa(util11.uint8ArrayToString(buf));
decodeChunk = (str2) => util11.stringToUint8Array(atob(str2));
}
crc_table = [
new Array(255),
new Array(255),
new Array(255),
new Array(255)
];
for (let i4 = 0; i4 <= 255; i4++) {
let crc = i4 << 16;
for (let j2 = 0; j2 < 8; j2++) {
crc = crc << 1 ^ ((crc & 8388608) !== 0 ? 8801531 : 0);
}
crc_table[0][i4] = (crc & 16711680) >> 16 | crc & 65280 | (crc & 255) << 16;
}
for (let i4 = 0; i4 <= 255; i4++) {
crc_table[1][i4] = crc_table[0][i4] >> 8 ^ crc_table[0][crc_table[0][i4] & 255];
}
for (let i4 = 0; i4 <= 255; i4++) {
crc_table[2][i4] = crc_table[1][i4] >> 8 ^ crc_table[0][crc_table[1][i4] & 255];
}
for (let i4 = 0; i4 <= 255; i4++) {
crc_table[3][i4] = crc_table[2][i4] >> 8 ^ crc_table[0][crc_table[2][i4] & 255];
}
isLittleEndian$1 = (function() {
const buffer3 = new ArrayBuffer(2);
new DataView(buffer3).setInt16(
0,
255,
true
/* littleEndian */
);
return new Int16Array(buffer3)[0] === 255;
})();
_0n$8 = BigInt(0);
_1n$c = BigInt(1);
nodeCrypto$8 = util11.getNodeCrypto();
_1n$b = BigInt(1);
smallPrimes = [
7,
11,
13,
17,
19,
23,
29,
31,
37,
41,
43,
47,
53,
59,
61,
67,
71,
73,
79,
83,
89,
97,
101,
103,
107,
109,
113,
127,
131,
137,
139,
149,
151,
157,
163,
167,
173,
179,
181,
191,
193,
197,
199,
211,
223,
227,
229,
233,
239,
241,
251,
257,
263,
269,
271,
277,
281,
283,
293,
307,
311,
313,
317,
331,
337,
347,
349,
353,
359,
367,
373,
379,
383,
389,
397,
401,
409,
419,
421,
431,
433,
439,
443,
449,
457,
461,
463,
467,
479,
487,
491,
499,
503,
509,
521,
523,
541,
547,
557,
563,
569,
571,
577,
587,
593,
599,
601,
607,
613,
617,
619,
631,
641,
643,
647,
653,
659,
661,
673,
677,
683,
691,
701,
709,
719,
727,
733,
739,
743,
751,
757,
761,
769,
773,
787,
797,
809,
811,
821,
823,
827,
829,
839,
853,
857,
859,
863,
877,
881,
883,
887,
907,
911,
919,
929,
937,
941,
947,
953,
967,
971,
977,
983,
991,
997,
1009,
1013,
1019,
1021,
1031,
1033,
1039,
1049,
1051,
1061,
1063,
1069,
1087,
1091,
1093,
1097,
1103,
1109,
1117,
1123,
1129,
1151,
1153,
1163,
1171,
1181,
1187,
1193,
1201,
1213,
1217,
1223,
1229,
1231,
1237,
1249,
1259,
1277,
1279,
1283,
1289,
1291,
1297,
1301,
1303,
1307,
1319,
1321,
1327,
1361,
1367,
1373,
1381,
1399,
1409,
1423,
1427,
1429,
1433,
1439,
1447,
1451,
1453,
1459,
1471,
1481,
1483,
1487,
1489,
1493,
1499,
1511,
1523,
1531,
1543,
1549,
1553,
1559,
1567,
1571,
1579,
1583,
1597,
1601,
1607,
1609,
1613,
1619,
1621,
1627,
1637,
1657,
1663,
1667,
1669,
1693,
1697,
1699,
1709,
1721,
1723,
1733,
1741,
1747,
1753,
1759,
1777,
1783,
1787,
1789,
1801,
1811,
1823,
1831,
1847,
1861,
1867,
1871,
1873,
1877,
1879,
1889,
1901,
1907,
1913,
1931,
1933,
1949,
1951,
1973,
1979,
1987,
1993,
1997,
1999,
2003,
2011,
2017,
2027,
2029,
2039,
2053,
2063,
2069,
2081,
2083,
2087,
2089,
2099,
2111,
2113,
2129,
2131,
2137,
2141,
2143,
2153,
2161,
2179,
2203,
2207,
2213,
2221,
2237,
2239,
2243,
2251,
2267,
2269,
2273,
2281,
2287,
2293,
2297,
2309,
2311,
2333,
2339,
2341,
2347,
2351,
2357,
2371,
2377,
2381,
2383,
2389,
2393,
2399,
2411,
2417,
2423,
2437,
2441,
2447,
2459,
2467,
2473,
2477,
2503,
2521,
2531,
2539,
2543,
2549,
2551,
2557,
2579,
2591,
2593,
2609,
2617,
2621,
2633,
2647,
2657,
2659,
2663,
2671,
2677,
2683,
2687,
2689,
2693,
2699,
2707,
2711,
2713,
2719,
2729,
2731,
2741,
2749,
2753,
2767,
2777,
2789,
2791,
2797,
2801,
2803,
2819,
2833,
2837,
2843,
2851,
2857,
2861,
2879,
2887,
2897,
2903,
2909,
2917,
2927,
2939,
2953,
2957,
2963,
2969,
2971,
2999,
3001,
3011,
3019,
3023,
3037,
3041,
3049,
3061,
3067,
3079,
3083,
3089,
3109,
3119,
3121,
3137,
3163,
3167,
3169,
3181,
3187,
3191,
3203,
3209,
3217,
3221,
3229,
3251,
3253,
3257,
3259,
3271,
3299,
3301,
3307,
3313,
3319,
3323,
3329,
3331,
3343,
3347,
3359,
3361,
3371,
3373,
3389,
3391,
3407,
3413,
3433,
3449,
3457,
3461,
3463,
3467,
3469,
3491,
3499,
3511,
3517,
3527,
3529,
3533,
3539,
3541,
3547,
3557,
3559,
3571,
3581,
3583,
3593,
3607,
3613,
3617,
3623,
3631,
3637,
3643,
3659,
3671,
3673,
3677,
3691,
3697,
3701,
3709,
3719,
3727,
3733,
3739,
3761,
3767,
3769,
3779,
3793,
3797,
3803,
3821,
3823,
3833,
3847,
3851,
3853,
3863,
3877,
3881,
3889,
3907,
3911,
3917,
3919,
3923,
3929,
3931,
3943,
3947,
3967,
3989,
4001,
4003,
4007,
4013,
4019,
4021,
4027,
4049,
4051,
4057,
4073,
4079,
4091,
4093,
4099,
4111,
4127,
4129,
4133,
4139,
4153,
4157,
4159,
4177,
4201,
4211,
4217,
4219,
4229,
4231,
4241,
4243,
4253,
4259,
4261,
4271,
4273,
4283,
4289,
4297,
4327,
4337,
4339,
4349,
4357,
4363,
4373,
4391,
4397,
4409,
4421,
4423,
4441,
4447,
4451,
4457,
4463,
4481,
4483,
4493,
4507,
4513,
4517,
4519,
4523,
4547,
4549,
4561,
4567,
4583,
4591,
4597,
4603,
4621,
4637,
4639,
4643,
4649,
4651,
4657,
4663,
4673,
4679,
4691,
4703,
4721,
4723,
4729,
4733,
4751,
4759,
4783,
4787,
4789,
4793,
4799,
4801,
4813,
4817,
4831,
4861,
4871,
4877,
4889,
4903,
4909,
4919,
4931,
4933,
4937,
4943,
4951,
4957,
4967,
4969,
4973,
4987,
4993,
4999
].map((n2) => BigInt(n2));
webCrypto$8 = util11.getWebCrypto();
nodeCrypto$7 = util11.getNodeCrypto();
nodeCryptoHashes = nodeCrypto$7 && nodeCrypto$7.getHashes();
md5$1 = nodeHash("md5") || nobleHash("md5");
sha1$2 = nodeHash("sha1") || nobleHash("sha1", "SHA-1");
sha224$2 = nodeHash("sha224") || nobleHash("sha224");
sha256$2 = nodeHash("sha256") || nobleHash("sha256", "SHA-256");
sha384$2 = nodeHash("sha384") || nobleHash("sha384", "SHA-384");
sha512$2 = nodeHash("sha512") || nobleHash("sha512", "SHA-512");
ripemd = nodeHash("ripemd160") || nobleHash("ripemd160");
sha3_256$1 = nodeHash("sha3-256") || nobleHash("sha3_256");
sha3_512$1 = nodeHash("sha3-512") || nobleHash("sha3_512");
hash_headers = [];
hash_headers[1] = [
48,
32,
48,
12,
6,
8,
42,
134,
72,
134,
247,
13,
2,
5,
5,
0,
4,
16
];
hash_headers[2] = [48, 33, 48, 9, 6, 5, 43, 14, 3, 2, 26, 5, 0, 4, 20];
hash_headers[3] = [48, 33, 48, 9, 6, 5, 43, 36, 3, 2, 1, 5, 0, 4, 20];
hash_headers[8] = [
48,
49,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
1,
5,
0,
4,
32
];
hash_headers[9] = [
48,
65,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
2,
5,
0,
4,
48
];
hash_headers[10] = [
48,
81,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
3,
5,
0,
4,
64
];
hash_headers[11] = [
48,
45,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
4,
5,
0,
4,
28
];
hash_headers[12] = [
48,
49,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
8,
5,
0,
4,
32
];
hash_headers[14] = [
48,
81,
48,
13,
6,
9,
96,
134,
72,
1,
101,
3,
4,
2,
10,
5,
0,
4,
64
];
webCrypto$7 = util11.getWebCrypto();
nodeCrypto$6 = util11.getNodeCrypto();
_1n$a = BigInt(1);
_1n$9 = BigInt(1);
knownOIDs = {
"2a8648ce3d030107": enums.curve.nistP256,
"2b81040022": enums.curve.nistP384,
"2b81040023": enums.curve.nistP521,
"2b8104000a": enums.curve.secp256k1,
"2b06010401da470f01": enums.curve.ed25519Legacy,
"2b060104019755010501": enums.curve.curve25519Legacy,
"2b2403030208010107": enums.curve.brainpoolP256r1,
"2b240303020801010b": enums.curve.brainpoolP384r1,
"2b240303020801010d": enums.curve.brainpoolP512r1
};
OID = class _OID {
constructor(oid) {
if (oid instanceof _OID) {
this.oid = oid.oid;
} else if (util11.isArray(oid) || util11.isUint8Array(oid)) {
oid = new Uint8Array(oid);
if (oid[0] === 6) {
if (oid[1] !== oid.length - 2) {
throw new Error("Length mismatch in DER encoded oid");
}
oid = oid.subarray(2);
}
this.oid = oid;
} else {
this.oid = "";
}
}
/**
* Method to read an OID object
* @param {Uint8Array} input - Where to read the OID from
* @returns {Number} Number of read bytes.
*/
read(input) {
if (input.length >= 1) {
const length = input[0];
if (input.length >= 1 + length) {
this.oid = input.subarray(1, 1 + length);
return 1 + this.oid.length;
}
}
throw new Error("Invalid oid");
}
/**
* Serialize an OID object
* @returns {Uint8Array} Array with the serialized value the OID.
*/
write() {
return util11.concatUint8Array([new Uint8Array([this.oid.length]), this.oid]);
}
/**
* Serialize an OID object as a hex string
* @returns {string} String with the hex value of the OID.
*/
toHex() {
return util11.uint8ArrayToHex(this.oid);
}
/**
* If a known curve object identifier, return the canonical name of the curve
* @returns {enums.curve} String with the canonical name of the curve
* @throws if unknown
*/
getName() {
const name = knownOIDs[this.toHex()];
if (!name) {
throw new Error("Unknown curve object identifier.");
}
return name;
}
};
UnsupportedError = class _UnsupportedError extends Error {
constructor(...params) {
super(...params);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, _UnsupportedError);
}
this.name = "UnsupportedError";
}
};
UnknownPacketError = class extends UnsupportedError {
constructor(...params) {
super(...params);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, UnsupportedError);
}
this.name = "UnknownPacketError";
}
};
MalformedPacketError = class extends UnsupportedError {
constructor(...params) {
super(...params);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, UnsupportedError);
}
this.name = "MalformedPacketError";
}
};
UnparseablePacket = class {
constructor(tag, rawContent) {
this.tag = tag;
this.rawContent = rawContent;
}
write() {
return this.rawContent;
}
};
publicKeyToJWK$1 = (algo, publicKey) => {
switch (algo) {
case enums.publicKey.ed25519: {
const jwk = {
kty: "OKP",
crv: "Ed25519",
x: uint8ArrayToB64(publicKey),
ext: true
};
return jwk;
}
default:
throw new Error("Unsupported EdDSA algorithm");
}
};
privateKeyToJWK$1 = (algo, publicKey, privateKey) => {
switch (algo) {
case enums.publicKey.ed25519: {
const jwk = publicKeyToJWK$1(algo, publicKey);
jwk.d = uint8ArrayToB64(privateKey);
return jwk;
}
default:
throw new Error("Unsupported EdDSA algorithm");
}
};
eddsa$1 = /* @__PURE__ */ Object.freeze({
__proto__: null,
generate: generate$3,
getPayloadSize: getPayloadSize$1,
getPreferredHashAlgo: getPreferredHashAlgo$2,
sign: sign$5,
validateParams: validateParams$7,
verify: verify$5
});
isLE$1 = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68)();
wrapCipher = /* @__NO_SIDE_EFFECTS__ */ (params, constructor) => {
function wrappedCipher(key, ...args) {
abytes$1(key);
if (!isLE$1)
throw new Error("Non little-endian hardware is not yet supported");
if (params.nonceLength !== void 0) {
const nonce = args[0];
if (!nonce)
throw new Error("nonce / iv required");
if (params.varSizeNonce)
abytes$1(nonce);
else
abytes$1(nonce, params.nonceLength);
}
const tagl = params.tagLength;
if (tagl && args[1] !== void 0) {
abytes$1(args[1]);
}
const cipher = constructor(key, ...args);
const checkOutput = (fnLength, output) => {
if (output !== void 0) {
if (fnLength !== 2)
throw new Error("cipher output not supported");
abytes$1(output);
}
};
let called = false;
const wrCipher = {
encrypt(data, output) {
if (called)
throw new Error("cannot encrypt() twice with same key + nonce");
called = true;
abytes$1(data);
checkOutput(cipher.encrypt.length, output);
return cipher.encrypt(data, output);
},
decrypt(data, output) {
abytes$1(data);
if (tagl && data.length < tagl)
throw new Error("invalid ciphertext length: smaller than tagLength=" + tagl);
checkOutput(cipher.decrypt.length, output);
return cipher.decrypt(data, output);
}
};
return wrCipher;
}
Object.assign(wrappedCipher, params);
return wrappedCipher;
};
BLOCK_SIZE$1 = 16;
ZEROS16 = /* @__PURE__ */ new Uint8Array(16);
ZEROS32 = u32$1(ZEROS16);
POLY$1 = 225;
mul2$1 = (s0, s1, s2, s3) => {
const hiBit = s3 & 1;
return {
s3: s2 << 31 | s3 >>> 1,
s2: s1 << 31 | s2 >>> 1,
s1: s0 << 31 | s1 >>> 1,
s0: s0 >>> 1 ^ POLY$1 << 24 & -(hiBit & 1)
// reduce % poly
};
};
swapLE = (n2) => (n2 >>> 0 & 255) << 24 | (n2 >>> 8 & 255) << 16 | (n2 >>> 16 & 255) << 8 | n2 >>> 24 & 255 | 0;
estimateWindow = (bytes) => {
if (bytes > 64 * 1024)
return 8;
if (bytes > 1024)
return 4;
return 2;
};
GHASH = class {
// We select bits per window adaptively based on expectedLength
constructor(key, expectedLength) {
this.blockLen = BLOCK_SIZE$1;
this.outputLen = BLOCK_SIZE$1;
this.s0 = 0;
this.s1 = 0;
this.s2 = 0;
this.s3 = 0;
this.finished = false;
key = toBytes$1(key);
abytes$1(key, 16);
const kView = createView$1(key);
let k0 = kView.getUint32(0, false);
let k1 = kView.getUint32(4, false);
let k2 = kView.getUint32(8, false);
let k3 = kView.getUint32(12, false);
const doubles = [];
for (let i4 = 0; i4 < 128; i4++) {
doubles.push({ s0: swapLE(k0), s1: swapLE(k1), s2: swapLE(k2), s3: swapLE(k3) });
({ s0: k0, s1: k1, s2: k2, s3: k3 } = mul2$1(k0, k1, k2, k3));
}
const W2 = estimateWindow(expectedLength || 1024);
if (![1, 2, 4, 8].includes(W2))
throw new Error("ghash: invalid window size, expected 2, 4 or 8");
this.W = W2;
const bits2 = 128;
const windows = bits2 / W2;
const windowSize = this.windowSize = 2 ** W2;
const items = [];
for (let w = 0; w < windows; w++) {
for (let byte = 0; byte < windowSize; byte++) {
let s0 = 0, s1 = 0, s2 = 0, s3 = 0;
for (let j2 = 0; j2 < W2; j2++) {
const bit = byte >>> W2 - j2 - 1 & 1;
if (!bit)
continue;
const { s0: d0, s1: d1, s2: d22, s3: d3 } = doubles[W2 * w + j2];
s0 ^= d0, s1 ^= d1, s2 ^= d22, s3 ^= d3;
}
items.push({ s0, s1, s2, s3 });
}
}
this.t = items;
}
_updateBlock(s0, s1, s2, s3) {
s0 ^= this.s0, s1 ^= this.s1, s2 ^= this.s2, s3 ^= this.s3;
const { W: W2, t: t2, windowSize } = this;
let o0 = 0, o1 = 0, o2 = 0, o3 = 0;
const mask = (1 << W2) - 1;
let w = 0;
for (const num of [s0, s1, s2, s3]) {
for (let bytePos = 0; bytePos < 4; bytePos++) {
const byte = num >>> 8 * bytePos & 255;
for (let bitPos = 8 / W2 - 1; bitPos >= 0; bitPos--) {
const bit = byte >>> W2 * bitPos & mask;
const { s0: e0, s1: e1, s2: e2, s3: e3 } = t2[w * windowSize + bit];
o0 ^= e0, o1 ^= e1, o2 ^= e2, o3 ^= e3;
w += 1;
}
}
}
this.s0 = o0;
this.s1 = o1;
this.s2 = o2;
this.s3 = o3;
}
update(data) {
aexists$1(this);
data = toBytes$1(data);
abytes$1(data);
const b32 = u32$1(data);
const blocks = Math.floor(data.length / BLOCK_SIZE$1);
const left = data.length % BLOCK_SIZE$1;
for (let i4 = 0; i4 < blocks; i4++) {
this._updateBlock(b32[i4 * 4 + 0], b32[i4 * 4 + 1], b32[i4 * 4 + 2], b32[i4 * 4 + 3]);
}
if (left) {
ZEROS16.set(data.subarray(blocks * BLOCK_SIZE$1));
this._updateBlock(ZEROS32[0], ZEROS32[1], ZEROS32[2], ZEROS32[3]);
clean$1(ZEROS32);
}
return this;
}
destroy() {
const { t: t2 } = this;
for (const elm of t2) {
elm.s0 = 0, elm.s1 = 0, elm.s2 = 0, elm.s3 = 0;
}
}
digestInto(out) {
aexists$1(this);
aoutput$1(out, this);
this.finished = true;
const { s0, s1, s2, s3 } = this;
const o32 = u32$1(out);
o32[0] = s0;
o32[1] = s1;
o32[2] = s2;
o32[3] = s3;
return out;
}
digest() {
const res = new Uint8Array(BLOCK_SIZE$1);
this.digestInto(res);
this.destroy();
return res;
}
};
Polyval = class extends GHASH {
constructor(key, expectedLength) {
key = toBytes$1(key);
abytes$1(key);
const ghKey = _toGHASHKey(copyBytes$1(key));
super(ghKey, expectedLength);
clean$1(ghKey);
}
update(data) {
data = toBytes$1(data);
aexists$1(this);
const b32 = u32$1(data);
const left = data.length % BLOCK_SIZE$1;
const blocks = Math.floor(data.length / BLOCK_SIZE$1);
for (let i4 = 0; i4 < blocks; i4++) {
this._updateBlock(swapLE(b32[i4 * 4 + 3]), swapLE(b32[i4 * 4 + 2]), swapLE(b32[i4 * 4 + 1]), swapLE(b32[i4 * 4 + 0]));
}
if (left) {
ZEROS16.set(data.subarray(blocks * BLOCK_SIZE$1));
this._updateBlock(swapLE(ZEROS32[3]), swapLE(ZEROS32[2]), swapLE(ZEROS32[1]), swapLE(ZEROS32[0]));
clean$1(ZEROS32);
}
return this;
}
digestInto(out) {
aexists$1(this);
aoutput$1(out, this);
this.finished = true;
const { s0, s1, s2, s3 } = this;
const o32 = u32$1(out);
o32[0] = s0;
o32[1] = s1;
o32[2] = s2;
o32[3] = s3;
return out.reverse();
}
};
ghash = wrapConstructorWithKey((key, expectedLength) => new GHASH(key, expectedLength));
wrapConstructorWithKey((key, expectedLength) => new Polyval(key, expectedLength));
BLOCK_SIZE = 16;
BLOCK_SIZE32 = 4;
EMPTY_BLOCK = /* @__PURE__ */ new Uint8Array(BLOCK_SIZE);
POLY = 283;
sbox = /* @__PURE__ */ (() => {
const t2 = new Uint8Array(256);
for (let i4 = 0, x3 = 1; i4 < 256; i4++, x3 ^= mul2(x3))
t2[i4] = x3;
const box = new Uint8Array(256);
box[0] = 99;
for (let i4 = 0; i4 < 255; i4++) {
let x3 = t2[255 - i4];
x3 |= x3 << 8;
box[t2[i4]] = (x3 ^ x3 >> 4 ^ x3 >> 5 ^ x3 >> 6 ^ x3 >> 7 ^ 99) & 255;
}
clean$1(t2);
return box;
})();
invSbox = /* @__PURE__ */ sbox.map((_, j2) => sbox.indexOf(j2));
rotr32_8 = (n2) => n2 << 24 | n2 >>> 8;
rotl32_8 = (n2) => n2 << 8 | n2 >>> 24;
byteSwap$1 = (word) => word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
tableEncoding = /* @__PURE__ */ genTtable(sbox, (s) => mul(s, 3) << 24 | s << 16 | s << 8 | mul(s, 2));
tableDecoding = /* @__PURE__ */ genTtable(invSbox, (s) => mul(s, 11) << 24 | mul(s, 13) << 16 | mul(s, 9) << 8 | mul(s, 14));
xPowers = /* @__PURE__ */ (() => {
const p = new Uint8Array(16);
for (let i4 = 0, x3 = 1; i4 < 16; i4++, x3 = mul2(x3))
p[i4] = x3;
return p;
})();
ctr = /* @__PURE__ */ wrapCipher({ blockSize: 16, nonceLength: 16 }, function aesctr(key, nonce) {
function processCtr(buf, dst) {
abytes$1(buf);
if (dst !== void 0) {
abytes$1(dst);
if (!isAligned32(dst))
throw new Error("unaligned destination");
}
const xk = expandKeyLE(key);
const n2 = copyBytes$1(nonce);
const toClean = [xk, n2];
if (!isAligned32(buf))
toClean.push(buf = copyBytes$1(buf));
const out = ctrCounter(xk, n2, buf, dst);
clean$1(...toClean);
return out;
}
return {
encrypt: (plaintext, dst) => processCtr(plaintext, dst),
decrypt: (ciphertext, dst) => processCtr(ciphertext, dst)
};
});
cbc = /* @__PURE__ */ wrapCipher({ blockSize: 16, nonceLength: 16 }, function aescbc(key, iv, opts3 = {}) {
const pcks5 = !opts3.disablePadding;
return {
encrypt(plaintext, dst) {
const xk = expandKeyLE(key);
const { b, o: o2, out: _out } = validateBlockEncrypt(plaintext, pcks5, dst);
let _iv = iv;
const toClean = [xk];
if (!isAligned32(_iv))
toClean.push(_iv = copyBytes$1(_iv));
const n32 = u32$1(_iv);
let s0 = n32[0], s1 = n32[1], s2 = n32[2], s3 = n32[3];
let i4 = 0;
for (; i4 + 4 <= b.length; ) {
s0 ^= b[i4 + 0], s1 ^= b[i4 + 1], s2 ^= b[i4 + 2], s3 ^= b[i4 + 3];
({ s0, s1, s2, s3 } = encrypt$4(xk, s0, s1, s2, s3));
o2[i4++] = s0, o2[i4++] = s1, o2[i4++] = s2, o2[i4++] = s3;
}
if (pcks5) {
const tmp32 = padPCKS(plaintext.subarray(i4 * 4));
s0 ^= tmp32[0], s1 ^= tmp32[1], s2 ^= tmp32[2], s3 ^= tmp32[3];
({ s0, s1, s2, s3 } = encrypt$4(xk, s0, s1, s2, s3));
o2[i4++] = s0, o2[i4++] = s1, o2[i4++] = s2, o2[i4++] = s3;
}
clean$1(...toClean);
return _out;
},
decrypt(ciphertext, dst) {
validateBlockDecrypt(ciphertext);
const xk = expandKeyDecLE(key);
let _iv = iv;
const toClean = [xk];
if (!isAligned32(_iv))
toClean.push(_iv = copyBytes$1(_iv));
const n32 = u32$1(_iv);
dst = getOutput(ciphertext.length, dst);
if (!isAligned32(ciphertext))
toClean.push(ciphertext = copyBytes$1(ciphertext));
complexOverlapBytes(ciphertext, dst);
const b = u32$1(ciphertext);
const o2 = u32$1(dst);
let s0 = n32[0], s1 = n32[1], s2 = n32[2], s3 = n32[3];
for (let i4 = 0; i4 + 4 <= b.length; ) {
const ps0 = s0, ps1 = s1, ps2 = s2, ps3 = s3;
s0 = b[i4 + 0], s1 = b[i4 + 1], s2 = b[i4 + 2], s3 = b[i4 + 3];
const { s0: o0, s1: o1, s2: o22, s3: o3 } = decrypt$4(xk, s0, s1, s2, s3);
o2[i4++] = o0 ^ ps0, o2[i4++] = o1 ^ ps1, o2[i4++] = o22 ^ ps2, o2[i4++] = o3 ^ ps3;
}
clean$1(...toClean);
return validatePCKS(dst, pcks5);
}
};
});
cfb = /* @__PURE__ */ wrapCipher({ blockSize: 16, nonceLength: 16 }, function aescfb(key, iv) {
function processCfb(src2, isEncrypt, dst) {
abytes$1(src2);
const srcLen = src2.length;
dst = getOutput(srcLen, dst);
if (overlapBytes(src2, dst))
throw new Error("overlapping src and dst not supported.");
const xk = expandKeyLE(key);
let _iv = iv;
const toClean = [xk];
if (!isAligned32(_iv))
toClean.push(_iv = copyBytes$1(_iv));
if (!isAligned32(src2))
toClean.push(src2 = copyBytes$1(src2));
const src32 = u32$1(src2);
const dst32 = u32$1(dst);
const next32 = isEncrypt ? dst32 : src32;
const n32 = u32$1(_iv);
let s0 = n32[0], s1 = n32[1], s2 = n32[2], s3 = n32[3];
for (let i4 = 0; i4 + 4 <= src32.length; ) {
const { s0: e0, s1: e1, s2: e2, s3: e3 } = encrypt$4(xk, s0, s1, s2, s3);
dst32[i4 + 0] = src32[i4 + 0] ^ e0;
dst32[i4 + 1] = src32[i4 + 1] ^ e1;
dst32[i4 + 2] = src32[i4 + 2] ^ e2;
dst32[i4 + 3] = src32[i4 + 3] ^ e3;
s0 = next32[i4++], s1 = next32[i4++], s2 = next32[i4++], s3 = next32[i4++];
}
const start = BLOCK_SIZE * Math.floor(src32.length / BLOCK_SIZE32);
if (start < srcLen) {
({ s0, s1, s2, s3 } = encrypt$4(xk, s0, s1, s2, s3));
const buf = u8$1(new Uint32Array([s0, s1, s2, s3]));
for (let i4 = start, pos = 0; i4 < srcLen; i4++, pos++)
dst[i4] = src2[i4] ^ buf[pos];
clean$1(buf);
}
clean$1(...toClean);
return dst;
}
return {
encrypt: (plaintext, dst) => processCfb(plaintext, true, dst),
decrypt: (ciphertext, dst) => processCfb(ciphertext, false, dst)
};
});
gcm = /* @__PURE__ */ wrapCipher({ blockSize: 16, nonceLength: 12, tagLength: 16, varSizeNonce: true }, function aesgcm(key, nonce, AAD) {
if (nonce.length < 8)
throw new Error("aes/gcm: invalid nonce length");
const tagLength2 = 16;
function _computeTag(authKey, tagMask, data) {
const tag = computeTag(ghash, false, authKey, data, AAD);
for (let i4 = 0; i4 < tagMask.length; i4++)
tag[i4] ^= tagMask[i4];
return tag;
}
function deriveKeys() {
const xk = expandKeyLE(key);
const authKey = EMPTY_BLOCK.slice();
const counter = EMPTY_BLOCK.slice();
ctr32(xk, false, counter, counter, authKey);
if (nonce.length === 12) {
counter.set(nonce);
} else {
const nonceLen = EMPTY_BLOCK.slice();
const view = createView$1(nonceLen);
setBigUint64$1(view, 8, BigInt(nonce.length * 8), false);
const g = ghash.create(authKey).update(nonce).update(nonceLen);
g.digestInto(counter);
g.destroy();
}
const tagMask = ctr32(xk, false, counter, EMPTY_BLOCK);
return { xk, authKey, counter, tagMask };
}
return {
encrypt(plaintext) {
const { xk, authKey, counter, tagMask } = deriveKeys();
const out = new Uint8Array(plaintext.length + tagLength2);
const toClean = [xk, authKey, counter, tagMask];
if (!isAligned32(plaintext))
toClean.push(plaintext = copyBytes$1(plaintext));
ctr32(xk, false, counter, plaintext, out.subarray(0, plaintext.length));
const tag = _computeTag(authKey, tagMask, out.subarray(0, out.length - tagLength2));
toClean.push(tag);
out.set(tag, plaintext.length);
clean$1(...toClean);
return out;
},
decrypt(ciphertext) {
const { xk, authKey, counter, tagMask } = deriveKeys();
const toClean = [xk, authKey, tagMask, counter];
if (!isAligned32(ciphertext))
toClean.push(ciphertext = copyBytes$1(ciphertext));
const data = ciphertext.subarray(0, -tagLength2);
const passedTag = ciphertext.subarray(-tagLength2);
const tag = _computeTag(authKey, tagMask, data);
toClean.push(tag);
if (!equalBytes(tag, passedTag))
throw new Error("aes/gcm: invalid ghash tag");
const out = ctr32(xk, false, counter, data);
clean$1(...toClean);
return out;
}
};
});
AESW = {
/*
High-level pseudocode:
```
A: u64 = IV
out = []
for (let i=0, ctr = 0; i<6; i++) {
for (const chunk of chunks(plaintext, 8)) {
A ^= swapEndianess(ctr++)
[A, res] = chunks(encrypt(A || chunk), 8);
out ||= res
}
}
out = A || out
```
Decrypt is the same, but reversed.
*/
encrypt(kek, out) {
if (out.length >= 2 ** 32)
throw new Error("plaintext should be less than 4gb");
const xk = expandKeyLE(kek);
if (out.length === 16)
encryptBlock(xk, out);
else {
const o32 = u32$1(out);
let a0 = o32[0], a1 = o32[1];
for (let j2 = 0, ctr2 = 1; j2 < 6; j2++) {
for (let pos = 2; pos < o32.length; pos += 2, ctr2++) {
const { s0, s1, s2, s3 } = encrypt$4(xk, a0, a1, o32[pos], o32[pos + 1]);
a0 = s0, a1 = s1 ^ byteSwap$1(ctr2), o32[pos] = s2, o32[pos + 1] = s3;
}
}
o32[0] = a0, o32[1] = a1;
}
xk.fill(0);
},
decrypt(kek, out) {
if (out.length - 8 >= 2 ** 32)
throw new Error("ciphertext should be less than 4gb");
const xk = expandKeyDecLE(kek);
const chunks = out.length / 8 - 1;
if (chunks === 1)
decryptBlock(xk, out);
else {
const o32 = u32$1(out);
let a0 = o32[0], a1 = o32[1];
for (let j2 = 0, ctr2 = chunks * 6; j2 < 6; j2++) {
for (let pos = chunks * 2; pos >= 1; pos -= 2, ctr2--) {
a1 ^= byteSwap$1(ctr2);
const { s0, s1, s2, s3 } = decrypt$4(xk, a0, a1, o32[pos], o32[pos + 1]);
a0 = s0, a1 = s1, o32[pos] = s2, o32[pos + 1] = s3;
}
}
o32[0] = a0, o32[1] = a1;
}
xk.fill(0);
}
};
AESKW_IV = /* @__PURE__ */ new Uint8Array(8).fill(166);
aeskw = /* @__PURE__ */ wrapCipher({ blockSize: 8 }, (kek) => ({
encrypt(plaintext) {
if (!plaintext.length || plaintext.length % 8 !== 0)
throw new Error("invalid plaintext length");
if (plaintext.length === 8)
throw new Error("8-byte keys not allowed in AESKW, use AESKWP instead");
const out = concatBytes$1(AESKW_IV, plaintext);
AESW.encrypt(kek, out);
return out;
},
decrypt(ciphertext) {
if (ciphertext.length % 8 !== 0 || ciphertext.length < 3 * 8)
throw new Error("invalid ciphertext length");
const out = copyBytes$1(ciphertext);
AESW.decrypt(kek, out);
if (!equalBytes(out.subarray(0, 8), AESKW_IV))
throw new Error("integrity check failed");
out.subarray(0, 8).fill(0);
return out.subarray(8);
}
}));
unsafe = {
expandKeyLE,
expandKeyDecLE,
encrypt: encrypt$4,
decrypt: decrypt$4,
encryptBlock,
decryptBlock,
ctrCounter,
ctr32
};
webCrypto$6 = util11.getWebCrypto();
HKDF_INFO = {
x25519: util11.encodeUTF8("OpenPGP X25519"),
x448: util11.encodeUTF8("OpenPGP X448")
};
ecdh_x = /* @__PURE__ */ Object.freeze({
__proto__: null,
decrypt: decrypt$3,
encrypt: encrypt$3,
generate: generate$2,
generateEphemeralEncryptionMaterial,
getPayloadSize,
recomputeSharedSecret,
validateParams: validateParams$6
});
webCrypto$5 = util11.getWebCrypto();
nodeCrypto$5 = util11.getNodeCrypto();
webCurves = {
[enums.curve.nistP256]: "P-256",
[enums.curve.nistP384]: "P-384",
[enums.curve.nistP521]: "P-521"
};
knownCurves = nodeCrypto$5 ? nodeCrypto$5.getCurves() : [];
nodeCurves = nodeCrypto$5 ? {
[enums.curve.secp256k1]: knownCurves.includes("secp256k1") ? "secp256k1" : void 0,
[enums.curve.nistP256]: knownCurves.includes("prime256v1") ? "prime256v1" : void 0,
[enums.curve.nistP384]: knownCurves.includes("secp384r1") ? "secp384r1" : void 0,
[enums.curve.nistP521]: knownCurves.includes("secp521r1") ? "secp521r1" : void 0,
[enums.curve.ed25519Legacy]: knownCurves.includes("ED25519") ? "ED25519" : void 0,
[enums.curve.curve25519Legacy]: knownCurves.includes("X25519") ? "X25519" : void 0,
[enums.curve.brainpoolP256r1]: knownCurves.includes("brainpoolP256r1") ? "brainpoolP256r1" : void 0,
[enums.curve.brainpoolP384r1]: knownCurves.includes("brainpoolP384r1") ? "brainpoolP384r1" : void 0,
[enums.curve.brainpoolP512r1]: knownCurves.includes("brainpoolP512r1") ? "brainpoolP512r1" : void 0
} : {};
curves = {
[enums.curve.nistP256]: {
oid: [6, 8, 42, 134, 72, 206, 61, 3, 1, 7],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha256,
cipher: enums.symmetric.aes128,
node: nodeCurves[enums.curve.nistP256],
web: webCurves[enums.curve.nistP256],
payloadSize: 32,
sharedSize: 256,
wireFormatLeadingByte: 4
},
[enums.curve.nistP384]: {
oid: [6, 5, 43, 129, 4, 0, 34],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha384,
cipher: enums.symmetric.aes192,
node: nodeCurves[enums.curve.nistP384],
web: webCurves[enums.curve.nistP384],
payloadSize: 48,
sharedSize: 384,
wireFormatLeadingByte: 4
},
[enums.curve.nistP521]: {
oid: [6, 5, 43, 129, 4, 0, 35],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha512,
cipher: enums.symmetric.aes256,
node: nodeCurves[enums.curve.nistP521],
web: webCurves[enums.curve.nistP521],
payloadSize: 66,
sharedSize: 528,
wireFormatLeadingByte: 4
},
[enums.curve.secp256k1]: {
oid: [6, 5, 43, 129, 4, 0, 10],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha256,
cipher: enums.symmetric.aes128,
node: nodeCurves[enums.curve.secp256k1],
payloadSize: 32,
wireFormatLeadingByte: 4
},
[enums.curve.ed25519Legacy]: {
oid: [6, 9, 43, 6, 1, 4, 1, 218, 71, 15, 1],
keyType: enums.publicKey.eddsaLegacy,
hash: enums.hash.sha512,
node: false,
// nodeCurves.ed25519 TODO
payloadSize: 32,
wireFormatLeadingByte: 64
},
[enums.curve.curve25519Legacy]: {
oid: [6, 10, 43, 6, 1, 4, 1, 151, 85, 1, 5, 1],
keyType: enums.publicKey.ecdh,
hash: enums.hash.sha256,
cipher: enums.symmetric.aes128,
node: false,
// nodeCurves.curve25519 TODO
payloadSize: 32,
wireFormatLeadingByte: 64
},
[enums.curve.brainpoolP256r1]: {
oid: [6, 9, 43, 36, 3, 3, 2, 8, 1, 1, 7],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha256,
cipher: enums.symmetric.aes128,
node: nodeCurves[enums.curve.brainpoolP256r1],
payloadSize: 32,
wireFormatLeadingByte: 4
},
[enums.curve.brainpoolP384r1]: {
oid: [6, 9, 43, 36, 3, 3, 2, 8, 1, 1, 11],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha384,
cipher: enums.symmetric.aes192,
node: nodeCurves[enums.curve.brainpoolP384r1],
payloadSize: 48,
wireFormatLeadingByte: 4
},
[enums.curve.brainpoolP512r1]: {
oid: [6, 9, 43, 36, 3, 3, 2, 8, 1, 1, 13],
keyType: enums.publicKey.ecdsa,
hash: enums.hash.sha512,
cipher: enums.symmetric.aes256,
node: nodeCurves[enums.curve.brainpoolP512r1],
payloadSize: 64,
wireFormatLeadingByte: 4
}
};
CurveWithOID = class {
constructor(oidOrName) {
try {
this.name = oidOrName instanceof OID ? oidOrName.getName() : enums.write(enums.curve, oidOrName);
} catch {
throw new UnsupportedError("Unknown curve");
}
const params = curves[this.name];
this.keyType = params.keyType;
this.oid = params.oid;
this.hash = params.hash;
this.cipher = params.cipher;
this.node = params.node;
this.web = params.web;
this.payloadSize = params.payloadSize;
this.sharedSize = params.sharedSize;
this.wireFormatLeadingByte = params.wireFormatLeadingByte;
if (this.web && util11.getWebCrypto()) {
this.type = "web";
} else if (this.node && util11.getNodeCrypto()) {
this.type = "node";
} else if (this.name === enums.curve.curve25519Legacy) {
this.type = "curve25519Legacy";
} else if (this.name === enums.curve.ed25519Legacy) {
this.type = "ed25519Legacy";
}
}
async genKeyPair() {
switch (this.type) {
case "web":
try {
return await webGenKeyPair(this.name, this.wireFormatLeadingByte);
} catch (err2) {
util11.printDebugError("Browser did not support generating ec key " + err2.message);
return jsGenKeyPair(this.name);
}
case "node":
return nodeGenKeyPair(this.name);
case "curve25519Legacy": {
const { k: k2, A: A2 } = await generate$2(enums.publicKey.x25519);
const privateKey = k2.slice().reverse();
privateKey[0] = privateKey[0] & 127 | 64;
privateKey[31] &= 248;
const publicKey = util11.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]), A2]);
return { publicKey, privateKey };
}
case "ed25519Legacy": {
const { seed: privateKey, A: A2 } = await generate$3(enums.publicKey.ed25519);
const publicKey = util11.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]), A2]);
return { publicKey, privateKey };
}
default:
return jsGenKeyPair(this.name);
}
}
};
webCrypto$4 = util11.getWebCrypto();
nodeCrypto$4 = util11.getNodeCrypto();
ecdsa$1 = /* @__PURE__ */ Object.freeze({
__proto__: null,
sign: sign$4,
validateParams: validateParams$5,
verify: verify$4
});
eddsa_legacy = /* @__PURE__ */ Object.freeze({
__proto__: null,
sign: sign$3,
validateParams: validateParams$4,
verify: verify$3
});
ecdh$1 = /* @__PURE__ */ Object.freeze({
__proto__: null,
decrypt: decrypt$2,
encrypt: encrypt$2,
validateParams: validateParams$3
});
elliptic = /* @__PURE__ */ Object.freeze({
__proto__: null,
CurveWithOID,
ecdh: ecdh$1,
ecdhX: ecdh_x,
ecdsa: ecdsa$1,
eddsa: eddsa$1,
eddsaLegacy: eddsa_legacy,
generate: generate$1,
getPreferredHashAlgo: getPreferredHashAlgo$1
});
_0n$7 = BigInt(0);
_1n$8 = BigInt(1);
ECDHSymmetricKey = class {
constructor(data) {
if (data) {
this.data = data;
}
}
/**
* Read an ECDHSymmetricKey from an Uint8Array:
* - 1 octect for the length `l`
* - `l` octects of encoded session key data
* @param {Uint8Array} bytes
* @returns {Number} Number of read bytes.
*/
read(bytes) {
if (bytes.length >= 1) {
const length = bytes[0];
if (bytes.length >= 1 + length) {
this.data = bytes.subarray(1, 1 + length);
return 1 + this.data.length;
}
}
throw new Error("Invalid symmetric key");
}
/**
* Write an ECDHSymmetricKey as an Uint8Array
* @returns {Uint8Array} Serialised data
*/
write() {
return util11.concatUint8Array([new Uint8Array([this.data.length]), this.data]);
}
};
KDFParams = class {
/**
* @param {enums.hash} hash - Hash algorithm
* @param {enums.symmetric} cipher - Symmetric algorithm
*/
constructor(data) {
if (data) {
const { hash: hash2, cipher } = data;
this.hash = hash2;
this.cipher = cipher;
} else {
this.hash = null;
this.cipher = null;
}
}
/**
* Read KDFParams from an Uint8Array
* @param {Uint8Array} input - Where to read the KDFParams from
* @returns {Number} Number of read bytes.
*/
read(input) {
if (input.length < 4 || input[0] !== 3 || input[1] !== 1) {
throw new UnsupportedError("Cannot read KDFParams");
}
this.hash = input[2];
this.cipher = input[3];
return 4;
}
/**
* Write KDFParams to an Uint8Array
* @returns {Uint8Array} Array with the KDFParams value
*/
write() {
return new Uint8Array([3, 1, this.hash, this.cipher]);
}
};
ECDHXSymmetricKey = class _ECDHXSymmetricKey {
static fromObject({ wrappedKey, algorithm }) {
const instance = new _ECDHXSymmetricKey();
instance.wrappedKey = wrappedKey;
instance.algorithm = algorithm;
return instance;
}
/**
* - 1 octect for the length `l`
* - `l` octects of encoded session key data (with optional leading algorithm byte)
* @param {Uint8Array} bytes
* @returns {Number} Number of read bytes.
*/
read(bytes) {
let read2 = 0;
let followLength = bytes[read2++];
this.algorithm = followLength % 2 ? bytes[read2++] : null;
followLength -= followLength % 2;
this.wrappedKey = util11.readExactSubarray(bytes, read2, read2 + followLength);
read2 += followLength;
}
/**
* Write an MontgomerySymmetricKey as an Uint8Array
* @returns {Uint8Array} Serialised data
*/
write() {
return util11.concatUint8Array([
this.algorithm ? new Uint8Array([this.wrappedKey.length + 1, this.algorithm]) : new Uint8Array([this.wrappedKey.length]),
this.wrappedKey
]);
}
};
webCrypto$3 = util11.getWebCrypto();
nodeCrypto$3 = util11.getNodeCrypto();
knownAlgos = nodeCrypto$3 ? nodeCrypto$3.getCiphers() : [];
nodeAlgos = {
idea: knownAlgos.includes("idea-cfb") ? "idea-cfb" : void 0,
/* Unused, not implemented */
tripledes: knownAlgos.includes("des-ede3-cfb") ? "des-ede3-cfb" : void 0,
cast5: knownAlgos.includes("cast5-cfb") ? "cast5-cfb" : void 0,
blowfish: knownAlgos.includes("bf-cfb") ? "bf-cfb" : void 0,
aes128: knownAlgos.includes("aes-128-cfb") ? "aes-128-cfb" : void 0,
aes192: knownAlgos.includes("aes-192-cfb") ? "aes-192-cfb" : void 0,
aes256: knownAlgos.includes("aes-256-cfb") ? "aes-256-cfb" : void 0
/* twofish is not implemented in OpenSSL */
};
WebCryptoEncryptor = class {
constructor(algo, key, iv) {
const { blockSize } = getCipherParams(algo);
this.key = key;
this.iv = iv;
this.prevBlock = iv.slice();
this.nextBlock = new Uint8Array(blockSize);
this.i = 0;
this.blockSize = blockSize;
this.zeroBlock = new Uint8Array(this.blockSize);
}
/**
* @returns {Promise<boolean>}
*/
static isSupported(algo) {
const { keySize } = getCipherParams(algo);
return webCrypto$3.importKey("raw", new Uint8Array(keySize), "aes-cbc", false, ["encrypt"]).then(() => true, () => false);
}
async _runCBC(plaintext, nonZeroIV) {
const mode = "AES-CBC";
this.keyRef = this.keyRef || await webCrypto$3.importKey("raw", this.key, mode, false, ["encrypt"]);
const ciphertext = await webCrypto$3.encrypt({ name: mode, iv: nonZeroIV || this.zeroBlock }, this.keyRef, plaintext);
return new Uint8Array(ciphertext).subarray(0, plaintext.length);
}
async encryptChunk(value) {
const missing = this.nextBlock.length - this.i;
const added = value.subarray(0, missing);
this.nextBlock.set(added, this.i);
if (this.i + value.length >= 2 * this.blockSize) {
const leftover = (value.length - missing) % this.blockSize;
const plaintext = util11.concatUint8Array([
this.nextBlock,
value.subarray(missing, value.length - leftover)
]);
const toEncrypt = util11.concatUint8Array([
this.prevBlock,
plaintext.subarray(0, plaintext.length - this.blockSize)
// stop one block "early", since we only need to xor the plaintext and pass it over as prevBlock
]);
const encryptedBlocks = await this._runCBC(toEncrypt);
xorMut$1(encryptedBlocks, plaintext);
this.prevBlock = encryptedBlocks.slice(-this.blockSize);
if (leftover > 0)
this.nextBlock.set(value.subarray(-leftover));
this.i = leftover;
return encryptedBlocks;
}
this.i += added.length;
let encryptedBlock;
if (this.i === this.nextBlock.length) {
const curBlock = this.nextBlock;
encryptedBlock = await this._runCBC(this.prevBlock);
xorMut$1(encryptedBlock, curBlock);
this.prevBlock = encryptedBlock.slice();
this.i = 0;
const remaining = value.subarray(added.length);
this.nextBlock.set(remaining, this.i);
this.i += remaining.length;
} else {
encryptedBlock = new Uint8Array();
}
return encryptedBlock;
}
async finish() {
let result2;
if (this.i === 0) {
result2 = new Uint8Array();
} else {
this.nextBlock = this.nextBlock.subarray(0, this.i);
const curBlock = this.nextBlock;
const encryptedBlock = await this._runCBC(this.prevBlock);
xorMut$1(encryptedBlock, curBlock);
result2 = encryptedBlock.subarray(0, curBlock.length);
}
this.clearSensitiveData();
return result2;
}
clearSensitiveData() {
this.nextBlock.fill(0);
this.prevBlock.fill(0);
this.keyRef = null;
this.key = null;
}
async encrypt(plaintext) {
const encryptedWithPadding = await this._runCBC(util11.concatUint8Array([new Uint8Array(this.blockSize), plaintext]), this.iv);
const ct = encryptedWithPadding.subarray(0, plaintext.length);
xorMut$1(ct, plaintext);
this.clearSensitiveData();
return ct;
}
};
NobleStreamProcessor = class {
constructor(forEncryption, algo, key, iv) {
this.forEncryption = forEncryption;
const { blockSize } = getCipherParams(algo);
this.key = unsafe.expandKeyLE(key);
if (iv.byteOffset % 4 !== 0)
iv = iv.slice();
this.prevBlock = getUint32Array(iv);
this.nextBlock = new Uint8Array(blockSize);
this.i = 0;
this.blockSize = blockSize;
}
_runCFB(src2) {
const src32 = getUint32Array(src2);
const dst = new Uint8Array(src2.length);
const dst32 = getUint32Array(dst);
for (let i4 = 0; i4 + 4 <= dst32.length; i4 += 4) {
const { s0: e0, s1: e1, s2: e2, s3: e3 } = unsafe.encrypt(this.key, this.prevBlock[0], this.prevBlock[1], this.prevBlock[2], this.prevBlock[3]);
dst32[i4 + 0] = src32[i4 + 0] ^ e0;
dst32[i4 + 1] = src32[i4 + 1] ^ e1;
dst32[i4 + 2] = src32[i4 + 2] ^ e2;
dst32[i4 + 3] = src32[i4 + 3] ^ e3;
this.prevBlock = (this.forEncryption ? dst32 : src32).slice(i4, i4 + 4);
}
return dst;
}
// eslint-disable-next-line @typescript-eslint/require-await
async processChunk(value) {
const missing = this.nextBlock.length - this.i;
const added = value.subarray(0, missing);
this.nextBlock.set(added, this.i);
if (this.i + value.length >= 2 * this.blockSize) {
const leftover = (value.length - missing) % this.blockSize;
const toProcess = util11.concatUint8Array([
this.nextBlock,
value.subarray(missing, value.length - leftover)
]);
const processedBlocks = this._runCFB(toProcess);
if (leftover > 0)
this.nextBlock.set(value.subarray(-leftover));
this.i = leftover;
return processedBlocks;
}
this.i += added.length;
let processedBlock;
if (this.i === this.nextBlock.length) {
processedBlock = this._runCFB(this.nextBlock);
this.i = 0;
const remaining = value.subarray(added.length);
this.nextBlock.set(remaining, this.i);
this.i += remaining.length;
} else {
processedBlock = new Uint8Array();
}
return processedBlock;
}
// eslint-disable-next-line @typescript-eslint/require-await
async finish() {
let result2;
if (this.i === 0) {
result2 = new Uint8Array();
} else {
const processedBlock = this._runCFB(this.nextBlock);
result2 = processedBlock.subarray(0, this.i);
}
this.clearSensitiveData();
return result2;
}
clearSensitiveData() {
this.nextBlock.fill(0);
this.prevBlock.fill(0);
this.key.fill(0);
}
};
getUint32Array = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
webCrypto$2 = util11.getWebCrypto();
nodeCrypto$2 = util11.getNodeCrypto();
blockLength$3 = 16;
zeroBlock$1 = new Uint8Array(blockLength$3);
webCrypto$1 = util11.getWebCrypto();
nodeCrypto$1 = util11.getNodeCrypto();
Buffer$2 = util11.getNodeBuffer();
blockLength$2 = 16;
ivLength$2 = blockLength$2;
tagLength$2 = blockLength$2;
zero = new Uint8Array(blockLength$2);
one$1 = new Uint8Array(blockLength$2);
one$1[blockLength$2 - 1] = 1;
two = new Uint8Array(blockLength$2);
two[blockLength$2 - 1] = 2;
EAX.getNonce = function(iv, chunkIndex) {
const nonce = iv.slice();
for (let i4 = 0; i4 < chunkIndex.length; i4++) {
nonce[8 + i4] ^= chunkIndex[i4];
}
return nonce;
};
EAX.blockLength = blockLength$2;
EAX.ivLength = ivLength$2;
EAX.tagLength = tagLength$2;
blockLength$1 = 16;
ivLength$1 = 15;
tagLength$1 = 16;
zeroBlock = new Uint8Array(blockLength$1);
one = new Uint8Array([1]);
OCB.getNonce = function(iv, chunkIndex) {
const nonce = iv.slice();
for (let i4 = 0; i4 < chunkIndex.length; i4++) {
nonce[7 + i4] ^= chunkIndex[i4];
}
return nonce;
};
OCB.blockLength = blockLength$1;
OCB.ivLength = ivLength$1;
OCB.tagLength = tagLength$1;
webCrypto = util11.getWebCrypto();
nodeCrypto = util11.getNodeCrypto();
Buffer$1 = util11.getNodeBuffer();
blockLength = 16;
ivLength = 12;
tagLength = 16;
ALGO = "AES-GCM";
GCM.getNonce = function(iv, chunkIndex) {
const nonce = iv.slice();
for (let i4 = 0; i4 < chunkIndex.length; i4++) {
nonce[4 + i4] ^= chunkIndex[i4];
}
return nonce;
};
GCM.blockLength = blockLength;
GCM.ivLength = ivLength;
GCM.tagLength = tagLength;
ARGON2_TYPE = 2;
ARGON2_VERSION = 19;
ARGON2_SALT_SIZE = 16;
ARGON2_MAX_ENCODEDM = 30;
Argon2OutOfMemoryError = class _Argon2OutOfMemoryError extends Error {
constructor(...params) {
super(...params);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, _Argon2OutOfMemoryError);
}
this.name = "Argon2OutOfMemoryError";
}
};
ARGON2_WASM_MEMORY_THRESHOLD_RELOAD = 2 << 19;
Argon2S2K = class {
/**
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(config$1 = config) {
const { passes, parallelism, memoryExponent } = config$1.s2kArgon2Params;
this.type = "argon2";
this.salt = null;
this.t = passes;
this.p = parallelism;
this.encodedM = memoryExponent;
}
generateSalt() {
this.salt = getRandomBytes(ARGON2_SALT_SIZE);
}
/**
* Parsing function for argon2 string-to-key specifier.
* @param {Uint8Array} bytes - Payload of argon2 string-to-key specifier
* @returns {Integer} Actual length of the object.
*/
read(bytes) {
let i4 = 0;
this.salt = bytes.subarray(i4, i4 + 16);
i4 += 16;
this.t = bytes[i4++];
this.p = bytes[i4++];
this.encodedM = bytes[i4++];
return i4;
}
/**
* Serializes s2k information
* @returns {Uint8Array} Binary representation of s2k.
*/
write() {
const arr = [
new Uint8Array([enums.write(enums.s2k, this.type)]),
this.salt,
new Uint8Array([this.t, this.p, this.encodedM])
];
return util11.concatUint8Array(arr);
}
/**
* Produces a key using the specified passphrase and the defined
* hashAlgorithm
* @param {String} passphrase - Passphrase containing user input
* @param {Number} keySize
* @param {Object} config
* @returns {Promise<Uint8Array>} Produced key with a length corresponding to `keySize`
* @throws {Argon2OutOfMemoryError|Errors}
* @async
*/
async produceKey(passphrase, keySize, config2) {
if (config2.maxArgon2MemoryExponent > ARGON2_MAX_ENCODEDM) {
throw new Argon2OutOfMemoryError(`'config.maxArgon2MemoryExponent' exceeds the max allowed value of ${ARGON2_MAX_ENCODEDM}`);
}
if (this.encodedM > config2.maxArgon2MemoryExponent) {
throw new Argon2OutOfMemoryError("Argon2 required memory exceeds `config.maxArgon2MemoryExponent`");
}
const decodedM = 1 << this.encodedM;
try {
loadArgonWasmModule = loadArgonWasmModule || (await Promise.resolve().then(function() {
return index$2;
})).default;
argon2Promise = argon2Promise || loadArgonWasmModule();
const argon2 = await argon2Promise;
const passwordBytes = util11.encodeUTF8(passphrase);
const hash2 = argon2({
version: ARGON2_VERSION,
type: ARGON2_TYPE,
password: passwordBytes,
salt: this.salt,
tagLength: keySize,
memorySize: decodedM,
parallelism: this.p,
passes: this.t
});
if (decodedM > ARGON2_WASM_MEMORY_THRESHOLD_RELOAD) {
argon2Promise = loadArgonWasmModule();
argon2Promise.catch(() => {
});
}
return hash2;
} catch (e) {
if (e.message && (e.message.includes("Unable to grow instance memory") || // Chrome
e.message.includes("failed to grow memory") || // Firefox
e.message.includes("WebAssembly.Memory.grow") || // Safari
e.message.includes("Out of memory"))) {
throw new Argon2OutOfMemoryError("Could not allocate required memory for Argon2");
} else {
throw e;
}
}
}
};
GenericS2K = class {
/**
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(s2kType, config$1 = config) {
this.algorithm = enums.hash.sha256;
this.type = enums.read(enums.s2k, s2kType);
this.c = config$1.s2kIterationCountByte;
this.salt = null;
}
generateSalt() {
switch (this.type) {
case "salted":
case "iterated":
this.salt = getRandomBytes(8);
}
}
getCount() {
const expbias = 6;
return 16 + (this.c & 15) << (this.c >> 4) + expbias;
}
/**
* Parsing function for a string-to-key specifier ({@link https://tools.ietf.org/html/rfc4880#section-3.7|RFC 4880 3.7}).
* @param {Uint8Array} bytes - Payload of string-to-key specifier
* @returns {Integer} Actual length of the object.
*/
read(bytes) {
let i4 = 0;
this.algorithm = bytes[i4++];
switch (this.type) {
case "simple":
break;
case "salted":
this.salt = bytes.subarray(i4, i4 + 8);
i4 += 8;
break;
case "iterated":
this.salt = bytes.subarray(i4, i4 + 8);
i4 += 8;
this.c = bytes[i4++];
break;
case "gnu":
if (util11.uint8ArrayToString(bytes.subarray(i4, i4 + 3)) === "GNU") {
i4 += 3;
const gnuExtType = 1e3 + bytes[i4++];
if (gnuExtType === 1001) {
this.type = "gnu-dummy";
} else {
throw new UnsupportedError("Unknown s2k gnu protection mode.");
}
} else {
throw new UnsupportedError("Unknown s2k type.");
}
break;
default:
throw new UnsupportedError("Unknown s2k type.");
}
return i4;
}
/**
* Serializes s2k information
* @returns {Uint8Array} Binary representation of s2k.
*/
write() {
if (this.type === "gnu-dummy") {
return new Uint8Array([101, 0, ...util11.stringToUint8Array("GNU"), 1]);
}
const arr = [new Uint8Array([enums.write(enums.s2k, this.type), this.algorithm])];
switch (this.type) {
case "simple":
break;
case "salted":
arr.push(this.salt);
break;
case "iterated":
arr.push(this.salt);
arr.push(new Uint8Array([this.c]));
break;
case "gnu":
throw new Error("GNU s2k type not supported.");
default:
throw new Error("Unknown s2k type.");
}
return util11.concatUint8Array(arr);
}
/**
* Produces a key using the specified passphrase and the defined
* hashAlgorithm
* @param {String} passphrase - Passphrase containing user input
* @returns {Promise<Uint8Array>} Produced key with a length corresponding to.
* hashAlgorithm hash length
* @async
*/
async produceKey(passphrase, numBytes, _config) {
passphrase = util11.encodeUTF8(passphrase);
const arr = [];
let rlength = 0;
let prefixlen = 0;
while (rlength < numBytes) {
let toHash;
switch (this.type) {
case "simple":
toHash = util11.concatUint8Array([new Uint8Array(prefixlen), passphrase]);
break;
case "salted":
toHash = util11.concatUint8Array([new Uint8Array(prefixlen), this.salt, passphrase]);
break;
case "iterated": {
const data = util11.concatUint8Array([this.salt, passphrase]);
let datalen = data.length;
const count2 = Math.max(this.getCount(), datalen);
toHash = new Uint8Array(prefixlen + count2);
toHash.set(data, prefixlen);
for (let pos = prefixlen + datalen; pos < count2; pos += datalen, datalen *= 2) {
toHash.copyWithin(pos, prefixlen, pos);
}
break;
}
case "gnu":
throw new Error("GNU s2k type not supported.");
default:
throw new Error("Unknown s2k type.");
}
const result2 = await computeDigest(this.algorithm, toHash);
arr.push(result2);
rlength += result2.length;
prefixlen++;
}
return util11.concatUint8Array(arr).subarray(0, numBytes);
}
};
allowedS2KTypesForEncryption = /* @__PURE__ */ new Set([enums.s2k.argon2, enums.s2k.iterated]);
require$1 = createRequire6("/");
try {
_a = require$1("worker_threads"), Worker = _a.Worker, isMarkedAsUntransferable = _a.isMarkedAsUntransferable;
} catch (e) {
}
u8 = Uint8Array;
u16 = Uint16Array;
i32 = Int32Array;
fleb = new u8([
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
2,
2,
2,
2,
3,
3,
3,
3,
4,
4,
4,
4,
5,
5,
5,
5,
0,
/* unused */
0,
0,
/* impossible */
0
]);
fdeb = new u8([
0,
0,
0,
0,
1,
1,
2,
2,
3,
3,
4,
4,
5,
5,
6,
6,
7,
7,
8,
8,
9,
9,
10,
10,
11,
11,
12,
12,
13,
13,
/* unused */
0,
0
]);
clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
freb = function(eb, start) {
var b = new u16(31);
for (var i4 = 0; i4 < 31; ++i4) {
b[i4] = start += 1 << eb[i4 - 1];
}
var r = new i32(b[30]);
for (var i4 = 1; i4 < 30; ++i4) {
for (var j2 = b[i4]; j2 < b[i4 + 1]; ++j2) {
r[j2] = j2 - b[i4] << 5 | i4;
}
}
return { b, r };
};
_a = freb(fleb, 2);
fl = _a.b;
revfl = _a.r;
fl[28] = 258, revfl[258] = 28;
_b = freb(fdeb, 0);
fd = _b.b;
revfd = _b.r;
rev = new u16(32768);
for (i3 = 0; i3 < 32768; ++i3) {
x2 = (i3 & 43690) >> 1 | (i3 & 21845) << 1;
x2 = (x2 & 52428) >> 2 | (x2 & 13107) << 2;
x2 = (x2 & 61680) >> 4 | (x2 & 3855) << 4;
rev[i3] = ((x2 & 65280) >> 8 | (x2 & 255) << 8) >> 1;
}
hMap = (function(cd, mb, r) {
var s = cd.length;
var i4 = 0;
var l = new u16(mb);
for (; i4 < s; ++i4) {
if (cd[i4])
++l[cd[i4] - 1];
}
var le = new u16(mb);
for (i4 = 1; i4 < mb; ++i4) {
le[i4] = le[i4 - 1] + l[i4 - 1] << 1;
}
var co;
if (r) {
co = new u16(1 << mb);
var rvb = 15 - mb;
for (i4 = 0; i4 < s; ++i4) {
if (cd[i4]) {
var sv = i4 << 4 | cd[i4];
var r_1 = mb - cd[i4];
var v = le[cd[i4] - 1]++ << r_1;
for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
co[rev[v] >> rvb] = sv;
}
}
}
} else {
co = new u16(s);
for (i4 = 0; i4 < s; ++i4) {
if (cd[i4]) {
co[i4] = rev[le[cd[i4] - 1]++] >> 15 - cd[i4];
}
}
}
return co;
});
flt = new u8(288);
for (i3 = 0; i3 < 144; ++i3)
flt[i3] = 8;
for (i3 = 144; i3 < 256; ++i3)
flt[i3] = 9;
for (i3 = 256; i3 < 280; ++i3)
flt[i3] = 7;
for (i3 = 280; i3 < 288; ++i3)
flt[i3] = 8;
fdt = new u8(32);
for (i3 = 0; i3 < 32; ++i3)
fdt[i3] = 5;
flm = /* @__PURE__ */ hMap(flt, 9, 0);
flrm = /* @__PURE__ */ hMap(flt, 9, 1);
fdm = /* @__PURE__ */ hMap(fdt, 5, 0);
fdrm = /* @__PURE__ */ hMap(fdt, 5, 1);
max3 = function(a2) {
var m = a2[0];
for (var i4 = 1; i4 < a2.length; ++i4) {
if (a2[i4] > m)
m = a2[i4];
}
return m;
};
bits = function(d3, p, m) {
var o2 = p / 8 | 0;
return (d3[o2] | d3[o2 + 1] << 8) >> (p & 7) & m;
};
bits16 = function(d3, p) {
var o2 = p / 8 | 0;
return (d3[o2] | d3[o2 + 1] << 8 | d3[o2 + 2] << 16) >> (p & 7);
};
shft = function(p) {
return (p + 7) / 8 | 0;
};
slc = function(v, s, e) {
if (s == null || s < 0)
s = 0;
if (e == null || e > v.length)
e = v.length;
return new u8(v.subarray(s, e));
};
ec = [
"unexpected EOF",
"invalid block type",
"invalid length/literal",
"invalid distance",
"stream finished",
"no stream handler",
,
// determined by compression function
"no callback",
"invalid UTF-8 data",
"extra field too long",
"date not in range 1980-2099",
"filename too long",
"stream finishing",
"invalid zip data"
// determined by unknown compression method
];
err = function(ind, msg, nt) {
var e = new Error(msg || ec[ind]);
e.code = ind;
if (Error.captureStackTrace)
Error.captureStackTrace(e, err);
if (!nt)
throw e;
return e;
};
inflt = function(dat, st, buf, dict) {
var sl = dat.length, dl = 0;
if (!sl || st.f && !st.l)
return buf || new u8(0);
var noBuf = !buf;
var resize = noBuf || st.i != 2;
var noSt = st.i;
if (noBuf)
buf = new u8(sl * 3);
var cbuf = function(l2) {
var bl = buf.length;
if (l2 > bl) {
var nbuf = new u8(Math.max(bl * 2, l2));
nbuf.set(buf);
buf = nbuf;
}
};
var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
var tbts = sl * 8;
do {
if (!lm) {
final = bits(dat, pos, 1);
var type4 = bits(dat, pos + 1, 3);
pos += 3;
if (!type4) {
var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t2 = s + l;
if (t2 > sl) {
if (noSt)
err(0);
break;
}
if (resize)
cbuf(bt + l);
buf.set(dat.subarray(s, t2), bt);
st.b = bt += l, st.p = pos = t2 * 8, st.f = final;
continue;
} else if (type4 == 1)
lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
else if (type4 == 2) {
var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
var tl = hLit + bits(dat, pos + 5, 31) + 1;
pos += 14;
var ldt = new u8(tl);
var clt = new u8(19);
for (var i4 = 0; i4 < hcLen; ++i4) {
clt[clim[i4]] = bits(dat, pos + i4 * 3, 7);
}
pos += hcLen * 3;
var clb = max3(clt), clbmsk = (1 << clb) - 1;
var clm = hMap(clt, clb, 1);
for (var i4 = 0; i4 < tl; ) {
var r = clm[bits(dat, pos, clbmsk)];
pos += r & 15;
var s = r >> 4;
if (s < 16) {
ldt[i4++] = s;
} else {
var c3 = 0, n2 = 0;
if (s == 16)
n2 = 3 + bits(dat, pos, 3), pos += 2, c3 = ldt[i4 - 1];
else if (s == 17)
n2 = 3 + bits(dat, pos, 7), pos += 3;
else if (s == 18)
n2 = 11 + bits(dat, pos, 127), pos += 7;
while (n2--)
ldt[i4++] = c3;
}
}
var lt2 = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
lbt = max3(lt2);
dbt = max3(dt);
lm = hMap(lt2, lbt, 1);
dm = hMap(dt, dbt, 1);
} else
err(1);
if (pos > tbts) {
if (noSt)
err(0);
break;
}
}
if (resize)
cbuf(bt + 131072);
var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
var lpos = pos;
for (; ; lpos = pos) {
var c3 = lm[bits16(dat, pos) & lms], sym = c3 >> 4;
pos += c3 & 15;
if (pos > tbts) {
if (noSt)
err(0);
break;
}
if (!c3)
err(2);
if (sym < 256)
buf[bt++] = sym;
else if (sym == 256) {
lpos = pos, lm = null;
break;
} else {
var add2 = sym - 254;
if (sym > 264) {
var i4 = sym - 257, b = fleb[i4];
add2 = bits(dat, pos, (1 << b) - 1) + fl[i4];
pos += b;
}
var d3 = dm[bits16(dat, pos) & dms], dsym = d3 >> 4;
if (!d3)
err(3);
pos += d3 & 15;
var dt = fd[dsym];
if (dsym > 3) {
var b = fdeb[dsym];
dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
}
if (pos > tbts) {
if (noSt)
err(0);
break;
}
if (resize)
cbuf(bt + 131072);
var end = bt + add2;
if (bt < dt) {
var shift = dl - dt, dend = Math.min(dt, end);
if (shift + bt < 0)
err(3);
for (; bt < dend; ++bt)
buf[bt] = dict[shift + bt];
}
for (; bt < end; ++bt)
buf[bt] = buf[bt - dt];
}
}
st.l = lm, st.p = lpos, st.b = bt, st.f = final;
if (lm)
final = 1, st.m = lbt, st.d = dm, st.n = dbt;
} while (!final);
return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
};
wbits = function(d3, p, v) {
v <<= p & 7;
var o2 = p / 8 | 0;
d3[o2] |= v;
d3[o2 + 1] |= v >> 8;
};
wbits16 = function(d3, p, v) {
v <<= p & 7;
var o2 = p / 8 | 0;
d3[o2] |= v;
d3[o2 + 1] |= v >> 8;
d3[o2 + 2] |= v >> 16;
};
hTree = function(d3, mb) {
var t2 = [];
for (var i4 = 0; i4 < d3.length; ++i4) {
if (d3[i4])
t2.push({ s: i4, f: d3[i4] });
}
var s = t2.length;
var t22 = t2.slice();
if (!s)
return { t: et, l: 0 };
if (s == 1) {
var v = new u8(t2[0].s + 1);
v[t2[0].s] = 1;
return { t: v, l: 1 };
}
t2.sort(function(a2, b) {
return a2.f - b.f;
});
t2.push({ s: -1, f: 25001 });
var l = t2[0], r = t2[1], i0 = 0, i1 = 1, i22 = 2;
t2[0] = { s: -1, f: l.f + r.f, l, r };
while (i1 != s - 1) {
l = t2[t2[i0].f < t2[i22].f ? i0++ : i22++];
r = t2[i0 != i1 && t2[i0].f < t2[i22].f ? i0++ : i22++];
t2[i1++] = { s: -1, f: l.f + r.f, l, r };
}
var maxSym = t22[0].s;
for (var i4 = 1; i4 < s; ++i4) {
if (t22[i4].s > maxSym)
maxSym = t22[i4].s;
}
var tr = new u16(maxSym + 1);
var mbt = ln(t2[i1 - 1], tr, 0);
if (mbt > mb) {
var i4 = 0, dt = 0;
var lft = mbt - mb, cst = 1 << lft;
t22.sort(function(a2, b) {
return tr[b.s] - tr[a2.s] || a2.f - b.f;
});
for (; i4 < s; ++i4) {
var i2_1 = t22[i4].s;
if (tr[i2_1] > mb) {
dt += cst - (1 << mbt - tr[i2_1]);
tr[i2_1] = mb;
} else
break;
}
dt >>= lft;
while (dt > 0) {
var i2_2 = t22[i4].s;
if (tr[i2_2] < mb)
dt -= 1 << mb - tr[i2_2]++ - 1;
else
++i4;
}
for (; i4 >= 0 && dt; --i4) {
var i2_3 = t22[i4].s;
if (tr[i2_3] == mb) {
--tr[i2_3];
++dt;
}
}
mbt = mb;
}
return { t: new u8(tr), l: mbt };
};
ln = function(n2, l, d3) {
return n2.s == -1 ? Math.max(ln(n2.l, l, d3 + 1), ln(n2.r, l, d3 + 1)) : l[n2.s] = d3;
};
lc = function(c3) {
var s = c3.length;
while (s && !c3[--s])
;
var cl = new u16(++s);
var cli = 0, cln = c3[0], cls = 1;
var w = function(v) {
cl[cli++] = v;
};
for (var i4 = 1; i4 <= s; ++i4) {
if (c3[i4] == cln && i4 != s)
++cls;
else {
if (!cln && cls > 2) {
for (; cls > 138; cls -= 138)
w(32754);
if (cls > 2) {
w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305);
cls = 0;
}
} else if (cls > 3) {
w(cln), --cls;
for (; cls > 6; cls -= 6)
w(8304);
if (cls > 2)
w(cls - 3 << 5 | 8208), cls = 0;
}
while (cls--)
w(cln);
cls = 1;
cln = c3[i4];
}
}
return { c: cl.subarray(0, cli), n: s };
};
clen = function(cf, cl) {
var l = 0;
for (var i4 = 0; i4 < cl.length; ++i4)
l += cf[i4] * cl[i4];
return l;
};
wfblk = function(out, pos, dat) {
var s = dat.length;
var o2 = shft(pos + 2);
out[o2] = s & 255;
out[o2 + 1] = s >> 8;
out[o2 + 2] = out[o2] ^ 255;
out[o2 + 3] = out[o2 + 1] ^ 255;
for (var i4 = 0; i4 < s; ++i4)
out[o2 + i4 + 4] = dat[i4];
return (o2 + 4 + s) * 8;
};
wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
wbits(out, p++, final);
++lf[256];
var _a2 = hTree(lf, 15), dlt = _a2.t, mlb = _a2.l;
var _b2 = hTree(df, 15), ddt = _b2.t, mdb = _b2.l;
var _c = lc(dlt), lclt = _c.c, nlc = _c.n;
var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
var lcfreq = new u16(19);
for (var i4 = 0; i4 < lclt.length; ++i4)
++lcfreq[lclt[i4] & 31];
for (var i4 = 0; i4 < lcdt.length; ++i4)
++lcfreq[lcdt[i4] & 31];
var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;
var nlcc = 19;
for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
;
var flen = bl + 5 << 3;
var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];
if (bs >= 0 && flen <= ftlen && flen <= dtlen)
return wfblk(out, p, dat.subarray(bs, bs + bl));
var lm, ll, dm, dl;
wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
if (dtlen < ftlen) {
lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
var llm = hMap(lct, mlcb, 0);
wbits(out, p, nlc - 257);
wbits(out, p + 5, ndc - 1);
wbits(out, p + 10, nlcc - 4);
p += 14;
for (var i4 = 0; i4 < nlcc; ++i4)
wbits(out, p + 3 * i4, lct[clim[i4]]);
p += 3 * nlcc;
var lcts = [lclt, lcdt];
for (var it = 0; it < 2; ++it) {
var clct = lcts[it];
for (var i4 = 0; i4 < clct.length; ++i4) {
var len = clct[i4] & 31;
wbits(out, p, llm[len]), p += lct[len];
if (len > 15)
wbits(out, p, clct[i4] >> 5 & 127), p += clct[i4] >> 12;
}
}
} else {
lm = flm, ll = flt, dm = fdm, dl = fdt;
}
for (var i4 = 0; i4 < li; ++i4) {
var sym = syms[i4];
if (sym > 255) {
var len = sym >> 18 & 31;
wbits16(out, p, lm[len + 257]), p += ll[len + 257];
if (len > 7)
wbits(out, p, sym >> 23 & 31), p += fleb[len];
var dst = sym & 31;
wbits16(out, p, dm[dst]), p += dl[dst];
if (dst > 3)
wbits16(out, p, sym >> 5 & 8191), p += fdeb[dst];
} else {
wbits16(out, p, lm[sym]), p += ll[sym];
}
}
wbits16(out, p, lm[256]);
return p + ll[256];
};
deo = /* @__PURE__ */ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);
et = /* @__PURE__ */ new u8(0);
dflt = function(dat, lvl, plvl, pre, post, st) {
var s = st.z || dat.length;
var o2 = new u8(pre + s + 5 * (1 + Math.ceil(s / 7e3)) + post);
var w = o2.subarray(pre, o2.length - post);
var lst = st.l;
var pos = (st.r || 0) & 7;
if (lvl) {
if (pos)
w[0] = st.r >> 3;
var opt = deo[lvl - 1];
var n2 = opt >> 13, c3 = opt & 8191;
var msk_1 = (1 << plvl) - 1;
var prev = st.p || new u16(32768), head2 = st.h || new u16(msk_1 + 1);
var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
var hsh = function(i5) {
return (dat[i5] ^ dat[i5 + 1] << bs1_1 ^ dat[i5 + 2] << bs2_1) & msk_1;
};
var syms = new i32(25e3);
var lf = new u16(288), df = new u16(32);
var lc_1 = 0, eb = 0, i4 = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
for (; i4 + 2 < s; ++i4) {
var hv = hsh(i4);
var imod = i4 & 32767, pimod = head2[hv];
prev[imod] = pimod;
head2[hv] = imod;
if (wi <= i4) {
var rem = s - i4;
if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) {
pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i4 - bs, pos);
li = lc_1 = eb = 0, bs = i4;
for (var j2 = 0; j2 < 286; ++j2)
lf[j2] = 0;
for (var j2 = 0; j2 < 30; ++j2)
df[j2] = 0;
}
var l = 2, d3 = 0, ch_1 = c3, dif = imod - pimod & 32767;
if (rem > 2 && hv == hsh(i4 - dif)) {
var maxn = Math.min(n2, rem) - 1;
var maxd = Math.min(32767, i4);
var ml = Math.min(258, rem);
while (dif <= maxd && --ch_1 && imod != pimod) {
if (dat[i4 + l] == dat[i4 + l - dif]) {
var nl = 0;
for (; nl < ml && dat[i4 + nl] == dat[i4 + nl - dif]; ++nl)
;
if (nl > l) {
l = nl, d3 = dif;
if (nl > maxn)
break;
var mmd = Math.min(dif, nl - 2);
var md = 0;
for (var j2 = 0; j2 < mmd; ++j2) {
var ti = i4 - dif + j2 & 32767;
var pti = prev[ti];
var cd = ti - pti & 32767;
if (cd > md)
md = cd, pimod = ti;
}
}
}
imod = pimod, pimod = prev[imod];
dif += imod - pimod & 32767;
}
}
if (d3) {
syms[li++] = 268435456 | revfl[l] << 18 | revfd[d3];
var lin = revfl[l] & 31, din = revfd[d3] & 31;
eb += fleb[lin] + fdeb[din];
++lf[257 + lin];
++df[din];
wi = i4 + l;
++lc_1;
} else {
syms[li++] = dat[i4];
++lf[dat[i4]];
}
}
}
for (i4 = Math.max(i4, wi); i4 < s; ++i4) {
syms[li++] = dat[i4];
++lf[dat[i4]];
}
pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i4 - bs, pos);
if (!lst) {
st.r = pos & 7 | w[pos / 8 | 0] << 3;
pos -= 7;
st.h = head2, st.p = prev, st.i = i4, st.w = wi;
}
} else {
for (var i4 = st.w || 0; i4 < s + lst; i4 += 65535) {
var e = i4 + 65535;
if (e >= s) {
w[pos / 8 | 0] = lst;
e = s;
}
pos = wfblk(w, pos + 1, dat.subarray(i4, e));
}
st.i = s;
}
return slc(o2, 0, pre + shft(pos) + post);
};
adler = function() {
var a2 = 1, b = 0;
return {
p: function(d3) {
var n2 = a2, m = b;
var l = d3.length | 0;
for (var i4 = 0; i4 != l; ) {
var e = Math.min(i4 + 2655, l);
for (; i4 < e; ++i4)
m += n2 += d3[i4];
n2 = (n2 & 65535) + 15 * (n2 >> 16), m = (m & 65535) + 15 * (m >> 16);
}
a2 = n2, b = m;
},
d: function() {
a2 %= 65521, b %= 65521;
return (a2 & 255) << 24 | (a2 & 65280) << 8 | (b & 255) << 8 | b >> 8;
}
};
};
dopt = function(dat, opt, pre, post, st) {
if (!st) {
st = { l: 1 };
if (opt.dictionary) {
var dict = opt.dictionary.subarray(-32768);
var newDat = new u8(dict.length + dat.length);
newDat.set(dict);
newDat.set(dat, dict.length);
dat = newDat;
st.w = dict.length;
}
}
return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20 : 12 + opt.mem, pre, post, st);
};
wbytes = function(d3, b, v) {
for (; v; ++b)
d3[b] = v, v >>>= 8;
};
zlh = function(c3, o2) {
var lv = o2.level, fl2 = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;
c3[0] = 120, c3[1] = fl2 << 6 | (o2.dictionary && 32);
c3[1] |= 31 - (c3[0] << 8 | c3[1]) % 31;
if (o2.dictionary) {
var h2 = adler();
h2.p(o2.dictionary);
wbytes(c3, 2, h2.d());
}
};
zls = function(d3, dict) {
if ((d3[0] & 15) != 8 || d3[0] >> 4 > 7 || (d3[0] << 8 | d3[1]) % 31)
err(6, "invalid zlib data");
if ((d3[1] >> 5 & 1) == +!dict)
err(6, "invalid zlib data: " + (d3[1] & 32 ? "need" : "unexpected") + " dictionary");
return (d3[1] >> 3 & 4) + 2;
};
Deflate = /* @__PURE__ */ (function() {
function Deflate2(opts3, cb) {
if (typeof opts3 == "function")
cb = opts3, opts3 = {};
this.ondata = cb;
this.o = opts3 || {};
this.s = { l: 0, i: 32768, w: 32768, z: 32768 };
this.b = new u8(98304);
if (this.o.dictionary) {
var dict = this.o.dictionary.subarray(-32768);
this.b.set(dict, 32768 - dict.length);
this.s.i = 32768 - dict.length;
}
}
Deflate2.prototype.p = function(c3, f) {
this.ondata(dopt(c3, this.o, 0, 0, this.s), f);
};
Deflate2.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
if (this.s.l)
err(4);
var endLen = chunk.length + this.s.z;
if (endLen > this.b.length) {
if (endLen > 2 * this.b.length - 32768) {
var newBuf = new u8(endLen & -32768);
newBuf.set(this.b.subarray(0, this.s.z));
this.b = newBuf;
}
var split4 = this.b.length - this.s.z;
this.b.set(chunk.subarray(0, split4), this.s.z);
this.s.z = this.b.length;
this.p(this.b, false);
this.b.set(this.b.subarray(-32768));
this.b.set(chunk.subarray(split4), 32768);
this.s.z = chunk.length - split4 + 32768;
this.s.i = 32766, this.s.w = 32768;
} else {
this.b.set(chunk, this.s.z);
this.s.z += chunk.length;
}
this.s.l = final & 1;
if (this.s.z > this.s.w + 8191 || final) {
this.p(this.b, final || false);
this.s.w = this.s.i, this.s.i -= 2;
}
if (final) {
this.s = this.o = {};
this.b = et;
}
};
Deflate2.prototype.flush = function(sync3) {
if (!this.ondata)
err(5);
if (this.s.l)
err(4);
this.p(this.b, false);
this.s.w = this.s.i, this.s.i -= 2;
if (sync3) {
var c3 = new u8(6);
c3[0] = this.s.r >> 3;
var ep = wfblk(c3, this.s.r, et);
this.s.r = 0;
this.ondata(c3.subarray(0, ep >> 3), false);
}
};
return Deflate2;
})();
Inflate = /* @__PURE__ */ (function() {
function Inflate2(opts3, cb) {
if (typeof opts3 == "function")
cb = opts3, opts3 = {};
this.ondata = cb;
var dict = opts3 && opts3.dictionary && opts3.dictionary.subarray(-32768);
this.s = { i: 0, b: dict ? dict.length : 0 };
this.o = new u8(32768);
this.p = new u8(0);
if (dict)
this.o.set(dict);
}
Inflate2.prototype.e = function(c3) {
if (!this.ondata)
err(5);
if (this.d)
err(4);
if (!this.p.length)
this.p = c3;
else if (c3.length) {
var n2 = new u8(this.p.length + c3.length);
n2.set(this.p), n2.set(c3, this.p.length), this.p = n2;
}
};
Inflate2.prototype.c = function(final) {
this.s.i = +(this.d = final || false);
var bts = this.s.b;
var dt = inflt(this.p, this.s, this.o);
this.ondata(slc(dt, bts, this.s.b), this.d);
this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;
this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7;
};
Inflate2.prototype.push = function(chunk, final) {
this.e(chunk), this.c(final);
};
return Inflate2;
})();
Zlib = /* @__PURE__ */ (function() {
function Zlib2(opts3, cb) {
this.c = adler();
this.v = 1;
Deflate.call(this, opts3, cb);
}
Zlib2.prototype.push = function(chunk, final) {
this.c.p(chunk);
Deflate.prototype.push.call(this, chunk, final);
};
Zlib2.prototype.p = function(c3, f) {
var raw = dopt(c3, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);
if (this.v)
zlh(raw, this.o), this.v = 0;
if (f)
wbytes(raw, raw.length - 4, this.c.d());
this.ondata(raw, f);
};
Zlib2.prototype.flush = function(sync3) {
Deflate.prototype.flush.call(this, sync3);
};
return Zlib2;
})();
Unzlib = /* @__PURE__ */ (function() {
function Unzlib2(opts3, cb) {
Inflate.call(this, opts3, cb);
this.v = opts3 && opts3.dictionary ? 2 : 1;
}
Unzlib2.prototype.push = function(chunk, final) {
Inflate.prototype.e.call(this, chunk);
if (this.v) {
if (this.p.length < 6 && !final)
return;
this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;
}
if (final) {
if (this.p.length < 4)
err(6, "invalid zlib data");
this.p = this.p.subarray(0, -4);
}
Inflate.prototype.c.call(this, final);
};
return Unzlib2;
})();
td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder();
tds = 0;
try {
td.decode(et, { stream: true });
tds = 1;
} catch (e) {
}
LiteralDataPacket = class {
static get tag() {
return enums.packet.literalData;
}
/**
* @param {Date} date - The creation date of the literal package
*/
constructor(date = /* @__PURE__ */ new Date()) {
this.format = enums.literal.utf8;
this.date = util11.normalizeDate(date);
this.text = null;
this.data = null;
this.filename = "";
}
/**
* Set the packet data to a javascript native string, end of line
* will be normalized to \r\n and by default text is converted to UTF8
* @param {String | ReadableStream<String>} text - Any native javascript string
* @param {enums.literal} [format] - The format of the string of bytes
*/
setText(text, format2 = enums.literal.utf8) {
this.format = format2;
this.text = text;
this.data = null;
}
/**
* Returns literal data packets as native JavaScript string
* with normalized end of line to \n
* @param {Boolean} [clone] - Whether to return a clone so that getBytes/getText can be called again
* @returns {String | ReadableStream<String>} Literal data as text.
*/
getText(clone4 = false) {
if (this.text === null || util11.isStream(this.text)) {
this.text = util11.decodeUTF8(util11.nativeEOL(this.getBytes(clone4)));
}
return this.text;
}
/**
* Set the packet data to value represented by the provided string of bytes.
* @param {Uint8Array | ReadableStream<Uint8Array>} bytes - The string of bytes
* @param {enums.literal} format - The format of the string of bytes
*/
setBytes(bytes, format2) {
this.format = format2;
this.data = bytes;
this.text = null;
}
/**
* Get the byte sequence representing the literal packet data
* @param {Boolean} [clone] - Whether to return a clone so that getBytes/getText can be called again
* @returns {Uint8Array | ReadableStream<Uint8Array>} A sequence of bytes.
*/
getBytes(clone4 = false) {
if (this.data === null) {
this.data = util11.canonicalizeEOL(util11.encodeUTF8(this.text));
}
if (clone4) {
return passiveClone(this.data);
}
return this.data;
}
/**
* Sets the filename of the literal packet data
* @param {String} filename - Any native javascript string
*/
setFilename(filename) {
this.filename = filename;
}
/**
* Get the filename of the literal packet data
* @returns {String} Filename.
*/
getFilename() {
return this.filename;
}
/**
* Parsing function for a literal data packet (tag 11).
*
* @param {Uint8Array | ReadableStream<Uint8Array>} input - Payload of a tag 11 packet
* @returns {Promise<LiteralDataPacket>} Object representation.
* @async
*/
async read(bytes) {
await parse5(bytes, async (reader) => {
const format2 = await reader.readByte();
const filename_len = await reader.readByte();
this.filename = util11.decodeUTF8(await reader.readBytes(filename_len));
this.date = util11.readDate(await reader.readBytes(4));
let data = reader.remainder();
if (isArrayStream(data))
data = await readToEnd(data);
this.setBytes(data, format2);
});
}
/**
* Creates a Uint8Array representation of the packet, excluding the data
*
* @returns {Uint8Array} Uint8Array representation of the packet.
*/
writeHeader() {
const filename = util11.encodeUTF8(this.filename);
const filename_length = new Uint8Array([filename.length]);
const format2 = new Uint8Array([this.format]);
const date = util11.writeDate(this.date);
return util11.concatUint8Array([format2, filename_length, filename, date]);
}
/**
* Creates a Uint8Array representation of the packet
*
* @returns {Uint8Array | ReadableStream<Uint8Array>} Uint8Array representation of the packet.
*/
write() {
const header = this.writeHeader();
const data = this.getBytes();
return util11.concat([header, data]);
}
};
KeyID = class _KeyID {
constructor() {
this.bytes = "";
}
/**
* Parsing method for a key id
* @param {Uint8Array} bytes - Input to read the key id from
*/
read(bytes) {
this.bytes = util11.uint8ArrayToString(bytes.subarray(0, 8));
return this.bytes.length;
}
/**
* Serializes the Key ID
* @returns {Uint8Array} Key ID as a Uint8Array.
*/
write() {
return util11.stringToUint8Array(this.bytes);
}
/**
* Returns the Key ID represented as a hexadecimal string
* @returns {String} Key ID as a hexadecimal string.
*/
toHex() {
return util11.uint8ArrayToHex(util11.stringToUint8Array(this.bytes));
}
/**
* Checks equality of Key ID's
* @param {KeyID} keyID
* @param {Boolean} matchWildcard - Indicates whether to check if either keyID is a wildcard
*/
equals(keyID, matchWildcard = false) {
return matchWildcard && (keyID.isWildcard() || this.isWildcard()) || this.bytes === keyID.bytes;
}
/**
* Checks to see if the Key ID is unset
* @returns {Boolean} True if the Key ID is null.
*/
isNull() {
return this.bytes === "";
}
/**
* Checks to see if the Key ID is a "wildcard" Key ID (all zeros)
* @returns {Boolean} True if this is a wildcard Key ID.
*/
isWildcard() {
return /^0+$/.test(this.toHex());
}
static mapToHex(keyID) {
return keyID.toHex();
}
static fromID(hex) {
const keyID = new _KeyID();
keyID.read(util11.hexToUint8Array(hex));
return keyID;
}
static wildcard() {
const keyID = new _KeyID();
keyID.read(new Uint8Array(8));
return keyID;
}
};
verified = /* @__PURE__ */ Symbol("verified");
SALT_NOTATION_NAME = "salt@notations.openpgpjs.org";
allowedUnhashedSubpackets = /* @__PURE__ */ new Set([
enums.signatureSubpacket.issuerKeyID,
enums.signatureSubpacket.issuerFingerprint,
enums.signatureSubpacket.embeddedSignature
]);
SignaturePacket = class _SignaturePacket {
static get tag() {
return enums.packet.signature;
}
constructor() {
this.version = null;
this.signatureType = null;
this.hashAlgorithm = null;
this.publicKeyAlgorithm = null;
this.signatureData = null;
this.unhashedSubpackets = [];
this.unknownSubpackets = [];
this.signedHashValue = null;
this.salt = null;
this.created = null;
this.signatureExpirationTime = null;
this.signatureNeverExpires = true;
this.exportable = null;
this.trustLevel = null;
this.trustAmount = null;
this.regularExpression = null;
this.revocable = null;
this.keyExpirationTime = null;
this.keyNeverExpires = null;
this.preferredSymmetricAlgorithms = null;
this.revocationKeyClass = null;
this.revocationKeyAlgorithm = null;
this.revocationKeyFingerprint = null;
this.issuerKeyID = new KeyID();
this.rawNotations = [];
this.notations = {};
this.preferredHashAlgorithms = null;
this.preferredCompressionAlgorithms = null;
this.keyServerPreferences = null;
this.preferredKeyServer = null;
this.isPrimaryUserID = null;
this.policyURI = null;
this.keyFlags = null;
this.signersUserID = null;
this.reasonForRevocationFlag = null;
this.reasonForRevocationString = null;
this.features = null;
this.signatureTargetPublicKeyAlgorithm = null;
this.signatureTargetHashAlgorithm = null;
this.signatureTargetHash = null;
this.embeddedSignature = null;
this.issuerKeyVersion = null;
this.issuerFingerprint = null;
this.preferredAEADAlgorithms = null;
this.preferredCipherSuites = null;
this.revoked = null;
this[verified] = null;
}
/**
* parsing function for a signature packet (tag 2).
* @param {String} bytes - Payload of a tag 2 packet
* @returns {SignaturePacket} Object representation.
*/
read(bytes, config$1 = config) {
let i4 = 0;
this.version = bytes[i4++];
if (this.version === 5 && !config$1.enableParsingV5Entities) {
throw new UnsupportedError("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
}
if (this.version !== 4 && this.version !== 5 && this.version !== 6) {
throw new UnsupportedError(`Version ${this.version} of the signature packet is unsupported.`);
}
this.signatureType = bytes[i4++];
this.publicKeyAlgorithm = bytes[i4++];
this.hashAlgorithm = bytes[i4++];
i4 += this.readSubPackets(bytes.subarray(i4, bytes.length), true);
if (!this.created) {
throw new Error("Missing signature creation time subpacket.");
}
this.signatureData = bytes.subarray(0, i4);
i4 += this.readSubPackets(bytes.subarray(i4, bytes.length), false);
this.signedHashValue = bytes.subarray(i4, i4 + 2);
i4 += 2;
if (this.version === 6) {
const saltLength = bytes[i4++];
this.salt = bytes.subarray(i4, i4 + saltLength);
i4 += saltLength;
}
const signatureMaterial = bytes.subarray(i4, bytes.length);
const { read: read2, signatureParams } = parseSignatureParams(this.publicKeyAlgorithm, signatureMaterial);
if (read2 < signatureMaterial.length) {
throw new Error("Error reading MPIs");
}
this.params = signatureParams;
}
/**
* @returns {Uint8Array | ReadableStream<Uint8Array>}
*/
writeParams() {
if (this.params instanceof Promise) {
return fromAsync(async () => serializeParams(this.publicKeyAlgorithm, await this.params));
}
return serializeParams(this.publicKeyAlgorithm, this.params);
}
write() {
const arr = [];
arr.push(this.signatureData);
arr.push(this.writeUnhashedSubPackets());
arr.push(this.signedHashValue);
if (this.version === 6) {
arr.push(new Uint8Array([this.salt.length]));
arr.push(this.salt);
}
arr.push(this.writeParams());
return util11.concat(arr);
}
/**
* Signs provided data. This needs to be done prior to serialization.
* @param {SecretKeyPacket} key - Private key used to sign the message.
* @param {Object} data - Contains packets to be signed.
* @param {Date} [date] - The signature creation time.
* @param {Boolean} [detached] - Whether to create a detached signature
* @throws {Error} if signing failed
* @async
*/
async sign(key, data, date = /* @__PURE__ */ new Date(), detached = false, config2) {
this.version = key.version;
this.created = util11.normalizeDate(date);
this.issuerKeyVersion = key.version;
this.issuerFingerprint = key.getFingerprintBytes();
this.issuerKeyID = key.getKeyID();
const arr = [new Uint8Array([this.version, this.signatureType, this.publicKeyAlgorithm, this.hashAlgorithm])];
if (this.version === 6) {
const saltLength = saltLengthForHash(this.hashAlgorithm);
if (this.salt === null) {
this.salt = getRandomBytes(saltLength);
} else if (saltLength !== this.salt.length) {
throw new Error("Provided salt does not have the required length");
}
} else if (config2.nonDeterministicSignaturesViaNotation) {
const saltNotations = this.rawNotations.filter(({ name }) => name === SALT_NOTATION_NAME);
if (saltNotations.length === 0) {
const saltValue = getRandomBytes(saltLengthForHash(this.hashAlgorithm));
this.rawNotations.push({
name: SALT_NOTATION_NAME,
value: saltValue,
humanReadable: false,
critical: false
});
} else {
throw new Error("Unexpected existing salt notation");
}
}
arr.push(this.writeHashedSubPackets());
this.unhashedSubpackets = [];
this.signatureData = util11.concat(arr);
const toHash = this.toHash(this.signatureType, data, detached);
const hash2 = await this.hash(this.signatureType, data, toHash, detached);
this.signedHashValue = slice3(clone3(hash2), 0, 2);
const signed = async () => sign$1(this.publicKeyAlgorithm, this.hashAlgorithm, key.publicParams, key.privateParams, toHash, await readToEnd(hash2));
if (util11.isStream(hash2)) {
this.params = signed();
} else {
this.params = await signed();
this[verified] = true;
}
}
/**
* Creates Uint8Array of bytes of all subpacket data except Issuer and Embedded Signature subpackets
* @returns {Uint8Array} Subpacket data.
*/
writeHashedSubPackets() {
const sub = enums.signatureSubpacket;
const arr = [];
let bytes;
if (this.created === null) {
throw new Error("Missing signature creation time");
}
arr.push(writeSubPacket(sub.signatureCreationTime, true, util11.writeDate(this.created)));
if (this.signatureExpirationTime !== null) {
arr.push(writeSubPacket(sub.signatureExpirationTime, true, util11.writeNumber(this.signatureExpirationTime, 4)));
}
if (this.exportable !== null) {
arr.push(writeSubPacket(sub.exportableCertification, true, new Uint8Array([this.exportable ? 1 : 0])));
}
if (this.trustLevel !== null) {
bytes = new Uint8Array([this.trustLevel, this.trustAmount]);
arr.push(writeSubPacket(sub.trustSignature, true, bytes));
}
if (this.regularExpression !== null) {
arr.push(writeSubPacket(sub.regularExpression, true, this.regularExpression));
}
if (this.revocable !== null) {
arr.push(writeSubPacket(sub.revocable, true, new Uint8Array([this.revocable ? 1 : 0])));
}
if (this.keyExpirationTime !== null) {
arr.push(writeSubPacket(sub.keyExpirationTime, true, util11.writeNumber(this.keyExpirationTime, 4)));
}
if (this.preferredSymmetricAlgorithms !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.preferredSymmetricAlgorithms));
arr.push(writeSubPacket(sub.preferredSymmetricAlgorithms, false, bytes));
}
if (this.revocationKeyClass !== null) {
bytes = new Uint8Array([this.revocationKeyClass, this.revocationKeyAlgorithm]);
bytes = util11.concat([bytes, this.revocationKeyFingerprint]);
arr.push(writeSubPacket(sub.revocationKey, false, bytes));
}
if (!this.issuerKeyID.isNull() && this.issuerKeyVersion < 5) {
arr.push(writeSubPacket(sub.issuerKeyID, false, this.issuerKeyID.write()));
}
this.rawNotations.forEach(({ name, value, humanReadable, critical }) => {
bytes = [new Uint8Array([humanReadable ? 128 : 0, 0, 0, 0])];
const encodedName = util11.encodeUTF8(name);
bytes.push(util11.writeNumber(encodedName.length, 2));
bytes.push(util11.writeNumber(value.length, 2));
bytes.push(encodedName);
bytes.push(value);
bytes = util11.concat(bytes);
arr.push(writeSubPacket(sub.notationData, critical, bytes));
});
if (this.preferredHashAlgorithms !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.preferredHashAlgorithms));
arr.push(writeSubPacket(sub.preferredHashAlgorithms, false, bytes));
}
if (this.preferredCompressionAlgorithms !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.preferredCompressionAlgorithms));
arr.push(writeSubPacket(sub.preferredCompressionAlgorithms, false, bytes));
}
if (this.keyServerPreferences !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.keyServerPreferences));
arr.push(writeSubPacket(sub.keyServerPreferences, false, bytes));
}
if (this.preferredKeyServer !== null) {
arr.push(writeSubPacket(sub.preferredKeyServer, false, util11.encodeUTF8(this.preferredKeyServer)));
}
if (this.isPrimaryUserID !== null) {
arr.push(writeSubPacket(sub.primaryUserID, false, new Uint8Array([this.isPrimaryUserID ? 1 : 0])));
}
if (this.policyURI !== null) {
arr.push(writeSubPacket(sub.policyURI, false, util11.encodeUTF8(this.policyURI)));
}
if (this.keyFlags !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.keyFlags));
arr.push(writeSubPacket(sub.keyFlags, true, bytes));
}
if (this.signersUserID !== null) {
arr.push(writeSubPacket(sub.signersUserID, false, util11.encodeUTF8(this.signersUserID)));
}
if (this.reasonForRevocationFlag !== null) {
bytes = util11.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag) + this.reasonForRevocationString);
arr.push(writeSubPacket(sub.reasonForRevocation, true, bytes));
}
if (this.features !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.features));
arr.push(writeSubPacket(sub.features, false, bytes));
}
if (this.signatureTargetPublicKeyAlgorithm !== null) {
bytes = [new Uint8Array([this.signatureTargetPublicKeyAlgorithm, this.signatureTargetHashAlgorithm])];
bytes.push(util11.stringToUint8Array(this.signatureTargetHash));
bytes = util11.concat(bytes);
arr.push(writeSubPacket(sub.signatureTarget, true, bytes));
}
if (this.embeddedSignature !== null) {
arr.push(writeSubPacket(sub.embeddedSignature, true, this.embeddedSignature.write()));
}
if (this.issuerFingerprint !== null) {
bytes = [new Uint8Array([this.issuerKeyVersion]), this.issuerFingerprint];
bytes = util11.concat(bytes);
arr.push(writeSubPacket(sub.issuerFingerprint, this.version >= 5, bytes));
}
if (this.preferredAEADAlgorithms !== null) {
bytes = util11.stringToUint8Array(util11.uint8ArrayToString(this.preferredAEADAlgorithms));
arr.push(writeSubPacket(sub.preferredAEADAlgorithms, false, bytes));
}
if (this.preferredCipherSuites !== null) {
bytes = new Uint8Array([].concat(...this.preferredCipherSuites));
arr.push(writeSubPacket(sub.preferredCipherSuites, false, bytes));
}
const result2 = util11.concat(arr);
const length = util11.writeNumber(result2.length, this.version === 6 ? 4 : 2);
return util11.concat([length, result2]);
}
/**
* Creates an Uint8Array containing the unhashed subpackets
* @returns {Uint8Array} Subpacket data.
*/
writeUnhashedSubPackets() {
const arr = this.unhashedSubpackets.map(({ type: type4, critical, body }) => {
return writeSubPacket(type4, critical, body);
});
const result2 = util11.concat(arr);
const length = util11.writeNumber(result2.length, this.version === 6 ? 4 : 2);
return util11.concat([length, result2]);
}
// Signature subpackets
readSubPacket(bytes, hashed = true) {
let mypos = 0;
const critical = !!(bytes[mypos] & 128);
const type4 = bytes[mypos] & 127;
mypos++;
if (!hashed) {
this.unhashedSubpackets.push({
type: type4,
critical,
body: bytes.subarray(mypos, bytes.length)
});
if (!allowedUnhashedSubpackets.has(type4)) {
return;
}
}
switch (type4) {
case enums.signatureSubpacket.signatureCreationTime:
this.created = util11.readDate(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.signatureExpirationTime: {
const seconds = util11.readNumber(bytes.subarray(mypos, bytes.length));
this.signatureNeverExpires = seconds === 0;
this.signatureExpirationTime = seconds;
break;
}
case enums.signatureSubpacket.exportableCertification:
this.exportable = bytes[mypos++] === 1;
break;
case enums.signatureSubpacket.trustSignature:
this.trustLevel = bytes[mypos++];
this.trustAmount = bytes[mypos++];
break;
case enums.signatureSubpacket.regularExpression:
this.regularExpression = bytes[mypos];
break;
case enums.signatureSubpacket.revocable:
this.revocable = bytes[mypos++] === 1;
break;
case enums.signatureSubpacket.keyExpirationTime: {
const seconds = util11.readNumber(bytes.subarray(mypos, bytes.length));
this.keyExpirationTime = seconds;
this.keyNeverExpires = seconds === 0;
break;
}
case enums.signatureSubpacket.preferredSymmetricAlgorithms:
this.preferredSymmetricAlgorithms = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.revocationKey:
this.revocationKeyClass = bytes[mypos++];
this.revocationKeyAlgorithm = bytes[mypos++];
this.revocationKeyFingerprint = bytes.subarray(mypos, mypos + 20);
break;
case enums.signatureSubpacket.issuerKeyID:
if (this.version === 4) {
this.issuerKeyID.read(bytes.subarray(mypos, bytes.length));
} else if (hashed) {
throw new Error("Unexpected Issuer Key ID subpacket");
}
break;
case enums.signatureSubpacket.notationData: {
const humanReadable = !!(bytes[mypos] & 128);
mypos += 4;
const m = util11.readNumber(bytes.subarray(mypos, mypos + 2));
mypos += 2;
const n2 = util11.readNumber(bytes.subarray(mypos, mypos + 2));
mypos += 2;
const name = util11.decodeUTF8(bytes.subarray(mypos, mypos + m));
const value = bytes.subarray(mypos + m, mypos + m + n2);
this.rawNotations.push({ name, humanReadable, value, critical });
if (humanReadable) {
this.notations[name] = util11.decodeUTF8(value);
}
break;
}
case enums.signatureSubpacket.preferredHashAlgorithms:
this.preferredHashAlgorithms = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.preferredCompressionAlgorithms:
this.preferredCompressionAlgorithms = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.keyServerPreferences:
this.keyServerPreferences = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.preferredKeyServer:
this.preferredKeyServer = util11.decodeUTF8(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.primaryUserID:
this.isPrimaryUserID = bytes[mypos++] !== 0;
break;
case enums.signatureSubpacket.policyURI:
this.policyURI = util11.decodeUTF8(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.keyFlags:
this.keyFlags = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.signersUserID:
this.signersUserID = util11.decodeUTF8(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.reasonForRevocation:
this.reasonForRevocationFlag = bytes[mypos++];
this.reasonForRevocationString = util11.decodeUTF8(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.features:
this.features = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.signatureTarget: {
this.signatureTargetPublicKeyAlgorithm = bytes[mypos++];
this.signatureTargetHashAlgorithm = bytes[mypos++];
const len = getHashByteLength(this.signatureTargetHashAlgorithm);
this.signatureTargetHash = util11.uint8ArrayToString(bytes.subarray(mypos, mypos + len));
break;
}
case enums.signatureSubpacket.embeddedSignature:
this.embeddedSignature = new _SignaturePacket();
this.embeddedSignature.read(bytes.subarray(mypos, bytes.length));
break;
case enums.signatureSubpacket.issuerFingerprint:
this.issuerKeyVersion = bytes[mypos++];
this.issuerFingerprint = bytes.subarray(mypos, bytes.length);
if (this.issuerKeyVersion >= 5) {
this.issuerKeyID.read(this.issuerFingerprint);
} else {
this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));
}
break;
case enums.signatureSubpacket.preferredAEADAlgorithms:
this.preferredAEADAlgorithms = [...bytes.subarray(mypos, bytes.length)];
break;
case enums.signatureSubpacket.preferredCipherSuites:
this.preferredCipherSuites = [];
for (let i4 = mypos; i4 < bytes.length; i4 += 2) {
this.preferredCipherSuites.push([bytes[i4], bytes[i4 + 1]]);
}
break;
default:
this.unknownSubpackets.push({
type: type4,
critical,
body: bytes.subarray(mypos, bytes.length)
});
break;
}
}
readSubPackets(bytes, trusted = true, config2) {
const subpacketLengthBytes = this.version === 6 ? 4 : 2;
const subpacketLength = util11.readNumber(bytes.subarray(0, subpacketLengthBytes));
let i4 = subpacketLengthBytes;
while (i4 < 2 + subpacketLength) {
const len = readSimpleLength(bytes.subarray(i4, bytes.length));
i4 += len.offset;
this.readSubPacket(bytes.subarray(i4, i4 + len.len), trusted, config2);
i4 += len.len;
}
return i4;
}
// Produces data to produce signature on
toSign(type4, data) {
const t2 = enums.signature;
switch (type4) {
case t2.binary:
if (data.text !== null) {
return util11.encodeUTF8(data.getText(true));
}
return data.getBytes(true);
case t2.text: {
const bytes = data.getBytes(true);
return util11.canonicalizeEOL(bytes);
}
case t2.standalone:
return new Uint8Array(0);
case t2.certGeneric:
case t2.certPersona:
case t2.certCasual:
case t2.certPositive:
case t2.certRevocation: {
let packet;
let tag;
if (data.userID) {
tag = 180;
packet = data.userID;
} else if (data.userAttribute) {
tag = 209;
packet = data.userAttribute;
} else {
throw new Error("Either a userID or userAttribute packet needs to be supplied for certification.");
}
const bytes = packet.write();
return util11.concat([
this.toSign(t2.key, data),
new Uint8Array([tag]),
util11.writeNumber(bytes.length, 4),
bytes
]);
}
case t2.subkeyBinding:
case t2.subkeyRevocation:
case t2.keyBinding:
return util11.concat([this.toSign(t2.key, data), this.toSign(t2.key, {
key: data.bind
})]);
case t2.key:
if (data.key === void 0) {
throw new Error("Key packet is required for this signature.");
}
return data.key.writeForHash(this.version);
case t2.keyRevocation:
return this.toSign(t2.key, data);
case t2.timestamp:
return new Uint8Array(0);
case t2.thirdParty:
throw new Error("Not implemented");
default:
throw new Error("Unknown signature type.");
}
}
calculateTrailer(data, detached) {
let length = 0;
return transform(clone3(this.signatureData), (value) => {
length += value.length;
}, () => {
const arr = [];
if (this.version === 5 && (this.signatureType === enums.signature.binary || this.signatureType === enums.signature.text)) {
if (detached) {
arr.push(new Uint8Array(6));
} else {
arr.push(data.writeHeader());
}
}
arr.push(new Uint8Array([this.version, 255]));
if (this.version === 5) {
arr.push(new Uint8Array(4));
}
arr.push(util11.writeNumber(length, 4));
return util11.concat(arr);
});
}
toHash(signatureType, data, detached = false) {
const bytes = this.toSign(signatureType, data);
return util11.concat([this.salt || new Uint8Array(), bytes, this.signatureData, this.calculateTrailer(data, detached)]);
}
async hash(signatureType, data, toHash, detached = false) {
if (this.version === 6 && this.salt.length !== saltLengthForHash(this.hashAlgorithm)) {
throw new Error("Signature salt does not have the expected length");
}
if (!toHash)
toHash = this.toHash(signatureType, data, detached);
return computeDigest(this.hashAlgorithm, toHash);
}
/**
* verifies the signature packet. Note: not all signature types are implemented
* @param {PublicSubkeyPacket|PublicKeyPacket|
* SecretSubkeyPacket|SecretKeyPacket} key - the public key to verify the signature
* @param {module:enums.signature} signatureType - Expected signature type
* @param {Uint8Array|Object} data - Data which on the signature applies
* @param {Date} [date] - Use the given date instead of the current time to check for signature validity and expiration
* @param {Boolean} [detached] - Whether to verify a detached signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} if signature validation failed
* @async
*/
async verify(key, signatureType, data, date = /* @__PURE__ */ new Date(), detached = false, config$1 = config) {
if (!this.issuerKeyID.equals(key.getKeyID())) {
throw new Error("Signature was not issued by the given public key");
}
if (this.publicKeyAlgorithm !== key.algorithm) {
throw new Error("Public key algorithm used to sign signature does not match issuer key algorithm.");
}
const isMessageSignature = signatureType === enums.signature.binary || signatureType === enums.signature.text;
const skipVerify = this[verified] && !isMessageSignature;
if (!skipVerify) {
let toHash;
let hash2;
if (this.hashed) {
hash2 = await this.hashed;
} else {
toHash = this.toHash(signatureType, data, detached);
hash2 = await this.hash(signatureType, data, toHash);
}
hash2 = await readToEnd(hash2);
if (this.signedHashValue[0] !== hash2[0] || this.signedHashValue[1] !== hash2[1]) {
throw new Error("Signed digest did not match");
}
this.params = await this.params;
this[verified] = await verify$1(this.publicKeyAlgorithm, this.hashAlgorithm, this.params, key.publicParams, toHash, hash2);
if (!this[verified]) {
throw new Error("Signature verification failed");
}
}
const normDate = util11.normalizeDate(date);
if (normDate && this.created > normDate) {
throw new Error("Signature creation time is in the future");
}
if (normDate && normDate >= this.getExpirationTime()) {
throw new Error("Signature is expired");
}
if (config$1.rejectHashAlgorithms.has(this.hashAlgorithm)) {
throw new Error("Insecure hash algorithm: " + enums.read(enums.hash, this.hashAlgorithm).toUpperCase());
}
if (config$1.rejectMessageHashAlgorithms.has(this.hashAlgorithm) && [enums.signature.binary, enums.signature.text].includes(this.signatureType)) {
throw new Error("Insecure message hash algorithm: " + enums.read(enums.hash, this.hashAlgorithm).toUpperCase());
}
this.unknownSubpackets.forEach(({ type: type4, critical }) => {
if (critical) {
throw new Error(`Unknown critical signature subpacket type ${type4}`);
}
});
this.rawNotations.forEach(({ name, critical }) => {
if (critical && config$1.knownNotations.indexOf(name) < 0) {
throw new Error(`Unknown critical notation: ${name}`);
}
});
if (this.revocationKeyClass !== null) {
throw new Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.");
}
}
/**
* Verifies signature expiration date
* @param {Date} [date] - Use the given date for verification instead of the current time
* @returns {Boolean} True if expired.
*/
isExpired(date = /* @__PURE__ */ new Date()) {
const normDate = util11.normalizeDate(date);
if (normDate !== null) {
return !(this.created <= normDate && normDate < this.getExpirationTime());
}
return false;
}
/**
* Returns the expiration time of the signature or Infinity if signature does not expire
* @returns {Date | Infinity} Expiration time.
*/
getExpirationTime() {
return this.signatureNeverExpires ? Infinity : new Date(this.created.getTime() + this.signatureExpirationTime * 1e3);
}
};
OnePassSignaturePacket = class _OnePassSignaturePacket {
static get tag() {
return enums.packet.onePassSignature;
}
static fromSignaturePacket(signaturePacket, isLast) {
const onePassSig = new _OnePassSignaturePacket();
onePassSig.version = signaturePacket.version === 6 ? 6 : 3;
onePassSig.signatureType = signaturePacket.signatureType;
onePassSig.hashAlgorithm = signaturePacket.hashAlgorithm;
onePassSig.publicKeyAlgorithm = signaturePacket.publicKeyAlgorithm;
onePassSig.issuerKeyID = signaturePacket.issuerKeyID;
onePassSig.salt = signaturePacket.salt;
onePassSig.issuerFingerprint = signaturePacket.issuerFingerprint;
onePassSig.flags = isLast ? 1 : 0;
return onePassSig;
}
constructor() {
this.version = null;
this.signatureType = null;
this.hashAlgorithm = null;
this.publicKeyAlgorithm = null;
this.salt = null;
this.issuerKeyID = null;
this.issuerFingerprint = null;
this.flags = null;
}
/**
* parsing function for a one-pass signature packet (tag 4).
* @param {Uint8Array} bytes - Payload of a tag 4 packet
* @returns {OnePassSignaturePacket} Object representation.
*/
read(bytes) {
let mypos = 0;
this.version = bytes[mypos++];
if (this.version !== 3 && this.version !== 6) {
throw new UnsupportedError(`Version ${this.version} of the one-pass signature packet is unsupported.`);
}
this.signatureType = bytes[mypos++];
this.hashAlgorithm = bytes[mypos++];
this.publicKeyAlgorithm = bytes[mypos++];
if (this.version === 6) {
const saltLength = bytes[mypos++];
this.salt = bytes.subarray(mypos, mypos + saltLength);
mypos += saltLength;
this.issuerFingerprint = bytes.subarray(mypos, mypos + 32);
mypos += 32;
this.issuerKeyID = new KeyID();
this.issuerKeyID.read(this.issuerFingerprint);
} else {
this.issuerKeyID = new KeyID();
this.issuerKeyID.read(bytes.subarray(mypos, mypos + 8));
mypos += 8;
}
this.flags = bytes[mypos++];
return this;
}
/**
* creates a string representation of a one-pass signature packet
* @returns {Uint8Array} A Uint8Array representation of a one-pass signature packet.
*/
write() {
const arr = [new Uint8Array([
this.version,
this.signatureType,
this.hashAlgorithm,
this.publicKeyAlgorithm
])];
if (this.version === 6) {
arr.push(new Uint8Array([this.salt.length]), this.salt, this.issuerFingerprint);
} else {
arr.push(this.issuerKeyID.write());
}
arr.push(new Uint8Array([this.flags]));
return util11.concatUint8Array(arr);
}
calculateTrailer(...args) {
return fromAsync(async () => SignaturePacket.prototype.calculateTrailer.apply(await this.correspondingSig, args));
}
async verify() {
const correspondingSig = await this.correspondingSig;
if (!correspondingSig || correspondingSig.constructor.tag !== enums.packet.signature) {
throw new Error("Corresponding signature packet missing");
}
if (correspondingSig.signatureType !== this.signatureType || correspondingSig.hashAlgorithm !== this.hashAlgorithm || correspondingSig.publicKeyAlgorithm !== this.publicKeyAlgorithm || !correspondingSig.issuerKeyID.equals(this.issuerKeyID) || this.version === 3 && correspondingSig.version === 6 || this.version === 6 && correspondingSig.version !== 6 || this.version === 6 && !util11.equalsUint8Array(correspondingSig.issuerFingerprint, this.issuerFingerprint) || this.version === 6 && !util11.equalsUint8Array(correspondingSig.salt, this.salt)) {
throw new Error("Corresponding signature packet does not match one-pass signature packet");
}
correspondingSig.hashed = this.hashed;
return correspondingSig.verify.apply(correspondingSig, arguments);
}
};
OnePassSignaturePacket.prototype.hash = SignaturePacket.prototype.hash;
OnePassSignaturePacket.prototype.toHash = SignaturePacket.prototype.toHash;
OnePassSignaturePacket.prototype.toSign = SignaturePacket.prototype.toSign;
PacketList = class _PacketList extends Array {
/**
* Parses the given binary data and returns a list of packets.
* Equivalent to calling `read` on an empty PacketList instance.
* @param {Uint8Array | ReadableStream<Uint8Array>} bytes - binary data to parse
* @param {Object} allowedPackets - mapping where keys are allowed packet tags, pointing to their Packet class
* @param {Object} [config] - full configuration, defaults to openpgp.config
* @param {function(enums.packet[], boolean, Object): void} [grammarValidator]
* @param {Boolean} [delayErrors] - delay errors until the input stream has been read completely
* @returns {Promise<PacketList>} parsed list of packets
* @throws on parsing errors
* @async
*/
static async fromBinary(bytes, allowedPackets, config$1 = config, grammarValidator = null, delayErrors = false) {
const packets = new _PacketList();
await packets.read(bytes, allowedPackets, config$1, grammarValidator, delayErrors);
return packets;
}
/**
* Reads a stream of binary data and interprets it as a list of packets.
* @param {Uint8Array | ReadableStream<Uint8Array>} bytes - binary data to parse
* @param {Object} allowedPackets - mapping where keys are allowed packet tags, pointing to their Packet class
* @param {Object} [config] - full configuration, defaults to openpgp.config
* @param {function(enums.packet[], boolean, Object): void} [grammarValidator]
* @param {Boolean} [delayErrors] - delay errors until the input stream has been read completely
* @throws on parsing errors
* @async
*/
async read(bytes, allowedPackets, config$1 = config, grammarValidator = null, delayErrors = false) {
let additionalAllowedPackets;
if (config$1.additionalAllowedPackets.length) {
additionalAllowedPackets = util11.constructAllowedPackets(config$1.additionalAllowedPackets);
allowedPackets = { ...allowedPackets, ...additionalAllowedPackets };
}
this.stream = transformPair(bytes, async (readable2, writable2) => {
const reader2 = getReader(readable2);
const writer = getWriter(writable2);
try {
let useStreamType = util11.isStream(readable2);
while (true) {
await writer.ready;
let unauthenticatedError;
let wasStream;
await readPacket(reader2, useStreamType, async (parsed) => {
try {
if (parsed.tag === enums.packet.marker || parsed.tag === enums.packet.trust || parsed.tag === enums.packet.padding) {
return;
}
const packet = newPacketFromTag(parsed.tag, allowedPackets);
try {
grammarValidator?.recordPacket(parsed.tag, additionalAllowedPackets);
} catch (e) {
if (config$1.enforceGrammar) {
throw e;
} else {
util11.printDebugError(e);
}
}
packet.packets = new _PacketList();
packet.fromStream = util11.isStream(parsed.packet);
wasStream = packet.fromStream;
try {
await packet.read(parsed.packet, config$1);
} catch (e) {
if (!(e instanceof UnsupportedError)) {
throw util11.wrapError(new MalformedPacketError(`Parsing ${packet.constructor.name} failed`), e);
}
throw e;
}
await writer.write(packet);
} catch (e) {
const throwUnknownPacketError = e instanceof UnknownPacketError && parsed.tag <= 39;
const throwUnsupportedError = e instanceof UnsupportedError && !(e instanceof UnknownPacketError) && !config$1.ignoreUnsupportedPackets;
const throwMalformedPacketError = e instanceof MalformedPacketError && !config$1.ignoreMalformedPackets;
const throwDataPacketError = supportsStreaming(parsed.tag);
const throwOtherError = !(e instanceof UnknownPacketError || e instanceof UnsupportedError || e instanceof MalformedPacketError);
if (throwUnknownPacketError || throwUnsupportedError || throwMalformedPacketError || throwDataPacketError || throwOtherError) {
if (delayErrors) {
unauthenticatedError = e;
} else {
await writer.abort(e);
}
} else {
const unparsedPacket = new UnparseablePacket(parsed.tag, parsed.packet);
await writer.write(unparsedPacket);
}
util11.printDebugError(e);
}
});
if (wasStream) {
useStreamType = null;
}
if (unauthenticatedError) {
await reader2.readToEnd();
throw unauthenticatedError;
}
const nextPacket = await reader2.peekBytes(2);
const done = !nextPacket || !nextPacket.length;
if (done) {
try {
grammarValidator?.recordEnd();
} catch (e) {
if (config$1.enforceGrammar) {
throw e;
} else {
util11.printDebugError(e);
}
}
await writer.ready;
await writer.close();
return;
}
}
} catch (e) {
await writer.abort(e);
}
});
const reader = getReader(this.stream);
while (true) {
const { done, value } = await reader.read();
if (!done) {
this.push(value);
} else {
this.stream = null;
}
if (done || supportsStreaming(value.constructor.tag)) {
break;
}
}
reader.releaseLock();
}
/**
* Creates a binary representation of openpgp objects contained within the
* class instance.
* @returns {Uint8Array} A Uint8Array containing valid openpgp packets.
*/
write() {
const arr = [];
for (let i4 = 0; i4 < this.length; i4++) {
const tag = this[i4] instanceof UnparseablePacket ? this[i4].tag : this[i4].constructor.tag;
const packetbytes = this[i4].write();
if (util11.isStream(packetbytes) && supportsStreaming(this[i4].constructor.tag)) {
let buffer3 = [];
let bufferLength = 0;
const minLength = 512;
arr.push(writeTag(tag));
arr.push(transform(packetbytes, (value) => {
buffer3.push(value);
bufferLength += value.length;
if (bufferLength >= minLength) {
const powerOf2 = Math.min(Math.log(bufferLength) / Math.LN2 | 0, 30);
const chunkSize = 2 ** powerOf2;
const bufferConcat = util11.concat([writePartialLength(powerOf2)].concat(buffer3));
buffer3 = [bufferConcat.subarray(1 + chunkSize)];
bufferLength = buffer3[0].length;
return bufferConcat.subarray(0, 1 + chunkSize);
}
}, () => util11.concat([writeSimpleLength(bufferLength)].concat(buffer3))));
} else {
if (util11.isStream(packetbytes)) {
let length = 0;
arr.push(transform(clone3(packetbytes), (value) => {
length += value.length;
}, () => writeHeader(tag, length)));
} else {
arr.push(writeHeader(tag, packetbytes.length));
}
arr.push(packetbytes);
}
}
return util11.concat(arr);
}
/**
* Creates a new PacketList with all packets matching the given tag(s)
* @param {...module:enums.packet} tags - packet tags to look for
* @returns {PacketList}
*/
filterByTag(...tags) {
const filtered = new _PacketList();
const handle = (tag) => (packetType) => tag === packetType;
for (let i4 = 0; i4 < this.length; i4++) {
if (tags.some(handle(this[i4].constructor.tag))) {
filtered.push(this[i4]);
}
}
return filtered;
}
/**
* Traverses packet list and returns first packet with matching tag
* @param {module:enums.packet} tag - The packet tag
* @returns {Packet|undefined}
*/
findPacket(tag) {
return this.find((packet) => packet.constructor.tag === tag);
}
/**
* Find indices of packets with the given tag(s)
* @param {...module:enums.packet} tags - packet tags to look for
* @returns {Integer[]} packet indices
*/
indexOfTag(...tags) {
const tagIndex = [];
const that = this;
const handle = (tag) => (packetType) => tag === packetType;
for (let i4 = 0; i4 < this.length; i4++) {
if (tags.some(handle(that[i4].constructor.tag))) {
tagIndex.push(i4);
}
}
return tagIndex;
}
};
GrammarError = class _GrammarError extends Error {
constructor(...params) {
super(...params);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, _GrammarError);
}
this.name = "GrammarError";
}
};
(function(MessageType2) {
MessageType2[MessageType2["EmptyMessage"] = 0] = "EmptyMessage";
MessageType2[MessageType2["PlaintextOrEncryptedData"] = 1] = "PlaintextOrEncryptedData";
MessageType2[MessageType2["EncryptedSessionKeys"] = 2] = "EncryptedSessionKeys";
MessageType2[MessageType2["StandaloneAdditionalAllowedData"] = 3] = "StandaloneAdditionalAllowedData";
})(MessageType || (MessageType = {}));
MessageGrammarValidator = class {
constructor() {
this.state = MessageType.EmptyMessage;
this.leadingOnePassSignatureCounter = 0;
}
/**
* Determine validity of the next packet in the sequence.
* NB: padding, marker and unknown packets are expected to already be filtered out on parsing,
* and are not accepted by `recordPacket`.
* @param packet - packet to validate
* @param additionalAllowedPackets - object containing packets which are allowed anywhere in the sequence, except they cannot precede a OPS packet
* @throws {GrammarError} on invalid `packet` input
*/
recordPacket(packet, additionalAllowedPackets) {
switch (this.state) {
case MessageType.EmptyMessage:
case MessageType.StandaloneAdditionalAllowedData:
switch (packet) {
case enums.packet.literalData:
case enums.packet.compressedData:
case enums.packet.aeadEncryptedData:
case enums.packet.symEncryptedIntegrityProtectedData:
case enums.packet.symmetricallyEncryptedData:
this.state = MessageType.PlaintextOrEncryptedData;
return;
case enums.packet.signature:
if (this.state === MessageType.StandaloneAdditionalAllowedData) {
if (--this.leadingOnePassSignatureCounter < 0) {
throw new GrammarError("Trailing signature packet without OPS");
}
}
return;
case enums.packet.onePassSignature:
if (this.state === MessageType.StandaloneAdditionalAllowedData) {
throw new GrammarError("OPS following StandaloneAdditionalAllowedData");
}
this.leadingOnePassSignatureCounter++;
return;
case enums.packet.publicKeyEncryptedSessionKey:
case enums.packet.symEncryptedSessionKey:
this.state = MessageType.EncryptedSessionKeys;
return;
default:
if (!additionalAllowedPackets?.[packet]) {
throw new GrammarError(`Unexpected packet ${packet} in state ${this.state}`);
}
this.state = MessageType.StandaloneAdditionalAllowedData;
return;
}
case MessageType.PlaintextOrEncryptedData:
switch (packet) {
case enums.packet.signature:
if (--this.leadingOnePassSignatureCounter < 0) {
throw new GrammarError("Trailing signature packet without OPS");
}
this.state = MessageType.PlaintextOrEncryptedData;
return;
default:
if (!additionalAllowedPackets?.[packet]) {
throw new GrammarError(`Unexpected packet ${packet} in state ${this.state}`);
}
this.state = MessageType.PlaintextOrEncryptedData;
return;
}
case MessageType.EncryptedSessionKeys:
switch (packet) {
case enums.packet.publicKeyEncryptedSessionKey:
case enums.packet.symEncryptedSessionKey:
this.state = MessageType.EncryptedSessionKeys;
return;
case enums.packet.symEncryptedIntegrityProtectedData:
case enums.packet.aeadEncryptedData:
case enums.packet.symmetricallyEncryptedData:
this.state = MessageType.PlaintextOrEncryptedData;
return;
case enums.packet.signature:
if (--this.leadingOnePassSignatureCounter < 0) {
throw new GrammarError("Trailing signature packet without OPS");
}
this.state = MessageType.PlaintextOrEncryptedData;
return;
default:
if (!additionalAllowedPackets?.[packet]) {
throw new GrammarError(`Unexpected packet ${packet} in state ${this.state}`);
}
this.state = MessageType.EncryptedSessionKeys;
}
}
}
/**
* Signal end of the packet sequence for final validity check
* @throws {GrammarError} on invalid sequence
*/
recordEnd() {
switch (this.state) {
case MessageType.EmptyMessage:
// needs to be allowed for PacketLists that only include unknown packets
case MessageType.PlaintextOrEncryptedData:
case MessageType.EncryptedSessionKeys:
case MessageType.StandaloneAdditionalAllowedData:
if (this.leadingOnePassSignatureCounter > 0) {
throw new GrammarError("Missing trailing signature packets");
}
}
}
};
allowedPackets$5 = /* @__PURE__ */ util11.constructAllowedPackets([
LiteralDataPacket,
OnePassSignaturePacket,
SignaturePacket
]);
CompressedDataPacket = class {
static get tag() {
return enums.packet.compressedData;
}
/**
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(config$1 = config) {
this.packets = null;
this.algorithm = config$1.preferredCompressionAlgorithm;
this.compressed = null;
}
/**
* Parsing function for the packet.
* @param {Uint8Array | ReadableStream<Uint8Array>} bytes - Payload of a tag 8 packet
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
async read(bytes, config$1 = config) {
await parse5(bytes, async (reader) => {
this.algorithm = await reader.readByte();
this.compressed = reader.remainder();
await this.decompress(config$1);
});
}
/**
* Return the compressed packet.
* @returns {Uint8Array | ReadableStream<Uint8Array>} Binary compressed packet.
*/
write() {
if (this.compressed === null) {
this.compress();
}
return util11.concat([new Uint8Array([this.algorithm]), this.compressed]);
}
/**
* Decompression method for decompressing the compressed data
* read by read_packet
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
async decompress(config$1 = config) {
const compressionName = enums.read(enums.compression, this.algorithm);
const decompressionFn = decompress_fns[compressionName];
if (!decompressionFn) {
throw new Error(`${compressionName} decompression not supported`);
}
let decompressed = await decompressionFn(this.compressed);
if (config$1.maxDecompressedMessageSize !== Infinity) {
let decompressedSize = 0;
decompressed = transform(decompressed, (chunk) => {
decompressedSize += chunk.length;
if (decompressedSize > config$1.maxDecompressedMessageSize) {
throw new Error("Maximum decompressed message size exceeded");
}
return chunk;
});
}
if (!isStream2(this.compressed) || isArrayStream(this.compressed)) {
decompressed = await readToEnd(decompressed);
}
this.packets = await PacketList.fromBinary(decompressed, allowedPackets$5, config$1, new MessageGrammarValidator());
}
/**
* Compress the packet data (member decompressedData)
*/
compress() {
const compressionName = enums.read(enums.compression, this.algorithm);
const compressionFn = compress_fns[compressionName];
if (!compressionFn) {
throw new Error(`${compressionName} compression not supported`);
}
const data = this.packets.write();
let compressed = compressionFn(data);
if (!isStream2(data) || isArrayStream(data)) {
compressed = fromAsync(() => readToEnd(compressed));
}
this.compressed = compressed;
}
};
getCompressionStreamInstantiators = (compressionFormat) => ({
compressor: typeof CompressionStream !== "undefined" && (() => new CompressionStream(compressionFormat)),
decompressor: typeof DecompressionStream !== "undefined" && (() => new DecompressionStream(compressionFormat))
});
compress_fns = {
zip: /* @__PURE__ */ zlib(getCompressionStreamInstantiators("deflate-raw").compressor, Deflate),
zlib: /* @__PURE__ */ zlib(getCompressionStreamInstantiators("deflate").compressor, Zlib)
};
decompress_fns = {
uncompressed: (data) => data,
zip: /* @__PURE__ */ zlib(getCompressionStreamInstantiators("deflate-raw").decompressor, Inflate),
zlib: /* @__PURE__ */ zlib(getCompressionStreamInstantiators("deflate").decompressor, Unzlib),
bzip2: /* @__PURE__ */ bzip2Decompress()
// NB: async due to dynamic lib import
};
allowedPackets$4 = /* @__PURE__ */ util11.constructAllowedPackets([
LiteralDataPacket,
CompressedDataPacket,
OnePassSignaturePacket,
SignaturePacket
]);
SymEncryptedIntegrityProtectedDataPacket = class _SymEncryptedIntegrityProtectedDataPacket {
static get tag() {
return enums.packet.symEncryptedIntegrityProtectedData;
}
static fromObject({ version: version2, aeadAlgorithm }) {
if (version2 !== 1 && version2 !== 2) {
throw new Error("Unsupported SEIPD version");
}
const seip = new _SymEncryptedIntegrityProtectedDataPacket();
seip.version = version2;
if (version2 === 2) {
seip.aeadAlgorithm = aeadAlgorithm;
}
return seip;
}
constructor() {
this.version = null;
this.cipherAlgorithm = null;
this.aeadAlgorithm = null;
this.chunkSizeByte = null;
this.salt = null;
this.encrypted = null;
this.packets = null;
}
async read(bytes) {
await parse5(bytes, async (reader) => {
this.version = await reader.readByte();
if (this.version !== 1 && this.version !== 2) {
throw new UnsupportedError(`Version ${this.version} of the SEIP packet is unsupported.`);
}
if (this.version === 2) {
this.cipherAlgorithm = await reader.readByte();
this.aeadAlgorithm = await reader.readByte();
this.chunkSizeByte = await reader.readByte();
this.salt = await reader.readBytes(32);
}
this.encrypted = reader.remainder();
});
}
write() {
if (this.version === 2) {
return util11.concat([new Uint8Array([this.version, this.cipherAlgorithm, this.aeadAlgorithm, this.chunkSizeByte]), this.salt, this.encrypted]);
}
return util11.concat([new Uint8Array([this.version]), this.encrypted]);
}
/**
* Encrypt the payload in the packet.
* @param {enums.symmetric} sessionKeyAlgorithm - The symmetric encryption algorithm to use
* @param {Uint8Array} key - The key of cipher blocksize length to be used
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Boolean>}
* @throws {Error} on encryption failure
* @async
*/
async encrypt(sessionKeyAlgorithm, key, config$1 = config) {
const { blockSize, keySize } = getCipherParams(sessionKeyAlgorithm);
if (key.length !== keySize) {
throw new Error("Unexpected session key size");
}
let bytes = this.packets.write();
if (isArrayStream(bytes))
bytes = await readToEnd(bytes);
if (this.version === 2) {
this.cipherAlgorithm = sessionKeyAlgorithm;
this.salt = getRandomBytes(32);
this.chunkSizeByte = config$1.aeadChunkSizeByte;
this.encrypted = await runAEAD(this, "encrypt", key, bytes);
} else {
const prefix = await getPrefixRandom(sessionKeyAlgorithm);
const mdc = new Uint8Array([211, 20]);
const tohash = util11.concat([prefix, bytes, mdc]);
const hash2 = await computeDigest(enums.hash.sha1, passiveClone(tohash));
const plaintext = util11.concat([tohash, hash2]);
this.encrypted = await encrypt$1(sessionKeyAlgorithm, key, plaintext, new Uint8Array(blockSize));
}
return true;
}
/**
* Decrypts the encrypted data contained in the packet.
* @param {enums.symmetric} sessionKeyAlgorithm - The selected symmetric encryption algorithm to be used
* @param {Uint8Array} key - The key of cipher blocksize length to be used
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Boolean>}
* @throws {Error} on decryption failure
* @async
*/
async decrypt(sessionKeyAlgorithm, key, config$1 = config) {
if (key.length !== getCipherParams(sessionKeyAlgorithm).keySize) {
throw new Error("Unexpected session key size");
}
let encrypted = clone3(this.encrypted);
if (isArrayStream(encrypted))
encrypted = await readToEnd(encrypted);
let packetbytes;
let delayErrors = false;
if (this.version === 2) {
if (this.cipherAlgorithm !== sessionKeyAlgorithm) {
throw new Error("Unexpected session key algorithm");
}
packetbytes = await runAEAD(this, "decrypt", key, encrypted);
} else {
const { blockSize } = getCipherParams(sessionKeyAlgorithm);
const decrypted = await decrypt$1(sessionKeyAlgorithm, key, encrypted, new Uint8Array(blockSize));
const realHash = slice3(passiveClone(decrypted), -20);
const tohash = slice3(decrypted, 0, -20);
const verifyHash = Promise.all([
readToEnd(await computeDigest(enums.hash.sha1, passiveClone(tohash))),
readToEnd(realHash)
]).then(([hash2, mdc]) => {
if (!util11.equalsUint8Array(hash2, mdc)) {
throw new Error("Modification detected.");
}
return new Uint8Array();
});
const bytes = slice3(tohash, blockSize + 2);
packetbytes = slice3(bytes, 0, -2);
packetbytes = concat([packetbytes, fromAsync(() => verifyHash)]);
if (util11.isStream(encrypted) && config$1.allowUnauthenticatedStream) {
delayErrors = true;
} else {
packetbytes = await readToEnd(packetbytes);
}
}
this.packets = await PacketList.fromBinary(packetbytes, allowedPackets$4, config$1, new MessageGrammarValidator(), delayErrors);
return true;
}
};
PublicKeyEncryptedSessionKeyPacket = class _PublicKeyEncryptedSessionKeyPacket {
static get tag() {
return enums.packet.publicKeyEncryptedSessionKey;
}
constructor() {
this.version = null;
this.publicKeyID = new KeyID();
this.publicKeyVersion = null;
this.publicKeyFingerprint = null;
this.publicKeyAlgorithm = null;
this.sessionKey = null;
this.sessionKeyAlgorithm = null;
this.encrypted = {};
}
static fromObject({ version: version2, encryptionKeyPacket, anonymousRecipient, sessionKey, sessionKeyAlgorithm }) {
const pkesk = new _PublicKeyEncryptedSessionKeyPacket();
if (version2 !== 3 && version2 !== 6) {
throw new Error("Unsupported PKESK version");
}
pkesk.version = version2;
if (version2 === 6) {
pkesk.publicKeyVersion = anonymousRecipient ? null : encryptionKeyPacket.version;
pkesk.publicKeyFingerprint = anonymousRecipient ? null : encryptionKeyPacket.getFingerprintBytes();
}
pkesk.publicKeyID = anonymousRecipient ? KeyID.wildcard() : encryptionKeyPacket.getKeyID();
pkesk.publicKeyAlgorithm = encryptionKeyPacket.algorithm;
pkesk.sessionKey = sessionKey;
pkesk.sessionKeyAlgorithm = sessionKeyAlgorithm;
return pkesk;
}
/**
* Parsing function for a publickey encrypted session key packet (tag 1).
*
* @param {Uint8Array} bytes - Payload of a tag 1 packet
*/
read(bytes) {
let offset = 0;
this.version = bytes[offset++];
if (this.version !== 3 && this.version !== 6) {
throw new UnsupportedError(`Version ${this.version} of the PKESK packet is unsupported.`);
}
if (this.version === 6) {
const versionAndFingerprintLength = bytes[offset++];
if (versionAndFingerprintLength) {
this.publicKeyVersion = bytes[offset++];
const fingerprintLength = versionAndFingerprintLength - 1;
this.publicKeyFingerprint = bytes.subarray(offset, offset + fingerprintLength);
offset += fingerprintLength;
if (this.publicKeyVersion >= 5) {
this.publicKeyID.read(this.publicKeyFingerprint);
} else {
this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8));
}
} else {
this.publicKeyID = KeyID.wildcard();
}
} else {
offset += this.publicKeyID.read(bytes.subarray(offset, offset + 8));
}
this.publicKeyAlgorithm = bytes[offset++];
this.encrypted = parseEncSessionKeyParams(this.publicKeyAlgorithm, bytes.subarray(offset));
if (this.publicKeyAlgorithm === enums.publicKey.x25519 || this.publicKeyAlgorithm === enums.publicKey.x448) {
if (this.version === 3) {
this.sessionKeyAlgorithm = enums.write(enums.symmetric, this.encrypted.C.algorithm);
} else if (this.encrypted.C.algorithm !== null) {
throw new Error("Unexpected cleartext symmetric algorithm");
}
}
}
/**
* Create a binary representation of a tag 1 packet
*
* @returns {Uint8Array} The Uint8Array representation.
*/
write() {
const arr = [
new Uint8Array([this.version])
];
if (this.version === 6) {
if (this.publicKeyFingerprint !== null) {
arr.push(new Uint8Array([
this.publicKeyFingerprint.length + 1,
this.publicKeyVersion
]));
arr.push(this.publicKeyFingerprint);
} else {
arr.push(new Uint8Array([0]));
}
} else {
arr.push(this.publicKeyID.write());
}
arr.push(new Uint8Array([this.publicKeyAlgorithm]), serializeParams(this.publicKeyAlgorithm, this.encrypted));
return util11.concatUint8Array(arr);
}
/**
* Encrypt session key packet
* @param {PublicKeyPacket} key - Public key
* @throws {Error} if encryption failed
* @async
*/
async encrypt(key) {
const algo = enums.write(enums.publicKey, this.publicKeyAlgorithm);
const sessionKeyAlgorithm = this.version === 3 ? this.sessionKeyAlgorithm : null;
const fingerprint = key.version === 5 ? key.getFingerprintBytes().subarray(0, 20) : key.getFingerprintBytes();
const encoded = encodeSessionKey(this.version, algo, sessionKeyAlgorithm, this.sessionKey);
this.encrypted = await publicKeyEncrypt(algo, sessionKeyAlgorithm, key.publicParams, encoded, fingerprint);
}
/**
* Decrypts the session key (only for public key encrypted session key packets (tag 1)
* @param {SecretKeyPacket} key - decrypted private key
* @param {Object} [randomSessionKey] - Bogus session key to use in case of sensitive decryption error, or if the decrypted session key is of a different type/size.
* This is needed for constant-time processing. Expected object of the form: { sessionKey: Uint8Array, sessionKeyAlgorithm: enums.symmetric }
* @throws {Error} if decryption failed, unless `randomSessionKey` is given
* @async
*/
async decrypt(key, randomSessionKey) {
if (this.publicKeyAlgorithm !== key.algorithm) {
throw new Error("Decryption error");
}
const randomPayload = randomSessionKey ? encodeSessionKey(this.version, this.publicKeyAlgorithm, randomSessionKey.sessionKeyAlgorithm, randomSessionKey.sessionKey) : null;
const fingerprint = key.version === 5 ? key.getFingerprintBytes().subarray(0, 20) : key.getFingerprintBytes();
const decryptedData = await publicKeyDecrypt(this.publicKeyAlgorithm, key.publicParams, key.privateParams, this.encrypted, fingerprint, randomPayload);
const { sessionKey, sessionKeyAlgorithm } = decodeSessionKey(this.version, this.publicKeyAlgorithm, decryptedData, randomSessionKey);
if (this.version === 3) {
const hasEncryptedAlgo = this.publicKeyAlgorithm !== enums.publicKey.x25519 && this.publicKeyAlgorithm !== enums.publicKey.x448;
this.sessionKeyAlgorithm = hasEncryptedAlgo ? sessionKeyAlgorithm : this.sessionKeyAlgorithm;
if (sessionKey.length !== getCipherParams(this.sessionKeyAlgorithm).keySize) {
throw new Error("Unexpected session key size");
}
}
this.sessionKey = sessionKey;
}
};
SymEncryptedSessionKeyPacket = class _SymEncryptedSessionKeyPacket {
static get tag() {
return enums.packet.symEncryptedSessionKey;
}
/**
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(config$1 = config) {
this.version = config$1.aeadProtect ? 6 : 4;
this.sessionKey = null;
this.sessionKeyEncryptionAlgorithm = null;
this.sessionKeyAlgorithm = null;
this.aeadAlgorithm = enums.write(enums.aead, config$1.preferredAEADAlgorithm);
this.encrypted = null;
this.s2k = null;
this.iv = null;
}
/**
* Parsing function for a symmetric encrypted session key packet (tag 3).
*
* @param {Uint8Array} bytes - Payload of a tag 3 packet
*/
read(bytes) {
let offset = 0;
this.version = bytes[offset++];
if (this.version !== 4 && this.version !== 5 && this.version !== 6) {
throw new UnsupportedError(`Version ${this.version} of the SKESK packet is unsupported.`);
}
if (this.version === 6) {
offset++;
}
const algo = bytes[offset++];
if (this.version >= 5) {
this.aeadAlgorithm = bytes[offset++];
if (this.version === 6) {
offset++;
}
}
const s2kType = bytes[offset++];
this.s2k = newS2KFromType(s2kType);
offset += this.s2k.read(bytes.subarray(offset, bytes.length));
if (this.version >= 5) {
const mode = getAEADMode(this.aeadAlgorithm, true);
this.iv = bytes.subarray(offset, offset += mode.ivLength);
}
if (this.version >= 5 || offset < bytes.length) {
this.encrypted = bytes.subarray(offset, bytes.length);
this.sessionKeyEncryptionAlgorithm = algo;
} else {
this.sessionKeyAlgorithm = algo;
}
}
/**
* Create a binary representation of a tag 3 packet
*
* @returns {Uint8Array} The Uint8Array representation.
*/
write() {
const algo = this.encrypted === null ? this.sessionKeyAlgorithm : this.sessionKeyEncryptionAlgorithm;
let bytes;
const s2k = this.s2k.write();
if (this.version === 6) {
const s2kLen = s2k.length;
const fieldsLen = 3 + s2kLen + this.iv.length;
bytes = util11.concatUint8Array([new Uint8Array([this.version, fieldsLen, algo, this.aeadAlgorithm, s2kLen]), s2k, this.iv, this.encrypted]);
} else if (this.version === 5) {
bytes = util11.concatUint8Array([new Uint8Array([this.version, algo, this.aeadAlgorithm]), s2k, this.iv, this.encrypted]);
} else {
bytes = util11.concatUint8Array([new Uint8Array([this.version, algo]), s2k]);
if (this.encrypted !== null) {
bytes = util11.concatUint8Array([bytes, this.encrypted]);
}
}
return bytes;
}
/**
* Decrypts the session key with the given passphrase
* @param {String} passphrase - The passphrase in string form
* @param {Object} config
* @throws {Error} if decryption was not successful
* @async
*/
async decrypt(passphrase, config$1 = config) {
const algo = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm;
const { blockSize, keySize } = getCipherParams(algo);
const key = await this.s2k.produceKey(passphrase, keySize, config$1);
if (this.version >= 5) {
const mode = getAEADMode(this.aeadAlgorithm, true);
const adata = new Uint8Array([192 | _SymEncryptedSessionKeyPacket.tag, this.version, this.sessionKeyEncryptionAlgorithm, this.aeadAlgorithm]);
const encryptionKey = this.version === 6 ? await computeHKDF(enums.hash.sha256, key, new Uint8Array(), adata, keySize) : key;
const modeInstance = await mode(algo, encryptionKey);
this.sessionKey = await modeInstance.decrypt(this.encrypted, this.iv, adata);
} else if (this.encrypted !== null) {
const decrypted = await decrypt$1(algo, key, this.encrypted, new Uint8Array(blockSize));
this.sessionKeyAlgorithm = enums.write(enums.symmetric, decrypted[0]);
this.sessionKey = decrypted.subarray(1, decrypted.length);
if (this.sessionKey.length !== getCipherParams(this.sessionKeyAlgorithm).keySize) {
throw new Error("Unexpected session key size");
}
} else {
this.sessionKey = key;
}
}
/**
* Encrypts the session key with the given passphrase
* @param {String} passphrase - The passphrase in string form
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} if encryption was not successful
* @async
*/
async encrypt(passphrase, config$1 = config) {
const algo = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm;
this.sessionKeyEncryptionAlgorithm = algo;
this.s2k = newS2KFromConfig(config$1);
this.s2k.generateSalt();
const { blockSize, keySize } = getCipherParams(algo);
const key = await this.s2k.produceKey(passphrase, keySize, config$1);
if (this.sessionKey === null) {
this.sessionKey = generateSessionKey$1(this.sessionKeyAlgorithm);
}
if (this.version >= 5) {
const mode = getAEADMode(this.aeadAlgorithm);
this.iv = getRandomBytes(mode.ivLength);
const adata = new Uint8Array([192 | _SymEncryptedSessionKeyPacket.tag, this.version, this.sessionKeyEncryptionAlgorithm, this.aeadAlgorithm]);
const encryptionKey = this.version === 6 ? await computeHKDF(enums.hash.sha256, key, new Uint8Array(), adata, keySize) : key;
const modeInstance = await mode(algo, encryptionKey);
this.encrypted = await modeInstance.encrypt(this.sessionKey, this.iv, adata);
} else {
const toEncrypt = util11.concatUint8Array([
new Uint8Array([this.sessionKeyAlgorithm]),
this.sessionKey
]);
this.encrypted = await encrypt$1(algo, key, toEncrypt, new Uint8Array(blockSize));
}
}
};
PublicKeyPacket = class _PublicKeyPacket {
static get tag() {
return enums.packet.publicKey;
}
/**
* @param {Date} [date] - Creation date
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(date = /* @__PURE__ */ new Date(), config$1 = config) {
this.version = config$1.v6Keys ? 6 : 4;
this.created = util11.normalizeDate(date);
this.algorithm = null;
this.publicParams = null;
this.expirationTimeV3 = 0;
this.fingerprint = null;
this.keyID = null;
}
/**
* Create a PublicKeyPacket from a SecretKeyPacket
* @param {SecretKeyPacket} secretKeyPacket - key packet to convert
* @returns {PublicKeyPacket} public key packet
* @static
*/
static fromSecretKeyPacket(secretKeyPacket) {
const keyPacket = new _PublicKeyPacket();
const { version: version2, created, algorithm, publicParams, keyID, fingerprint } = secretKeyPacket;
keyPacket.version = version2;
keyPacket.created = created;
keyPacket.algorithm = algorithm;
keyPacket.publicParams = publicParams;
keyPacket.keyID = keyID;
keyPacket.fingerprint = fingerprint;
return keyPacket;
}
/**
* Internal Parser for public keys as specified in {@link https://tools.ietf.org/html/rfc4880#section-5.5.2|RFC 4880 section 5.5.2 Public-Key Packet Formats}
* @param {Uint8Array} bytes - Input array to read the packet from
* @returns {Promise<number>} The number of bytes read from `bytes`
* @async
*/
async read(bytes, config$1 = config) {
let pos = 0;
this.version = bytes[pos++];
if (this.version === 5 && !config$1.enableParsingV5Entities) {
throw new UnsupportedError("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
}
if (this.version === 4 || this.version === 5 || this.version === 6) {
this.created = util11.readDate(bytes.subarray(pos, pos + 4));
pos += 4;
this.algorithm = bytes[pos++];
if (this.version >= 5) {
pos += 4;
}
const { read: read2, publicParams } = parsePublicKeyParams(this.algorithm, bytes.subarray(pos));
if (this.version === 6 && publicParams.oid && (publicParams.oid.getName() === enums.curve.curve25519Legacy || publicParams.oid.getName() === enums.curve.ed25519Legacy)) {
throw new Error("Legacy curve25519 cannot be used with v6 keys");
}
this.publicParams = publicParams;
pos += read2;
await this.computeFingerprintAndKeyID();
return pos;
}
throw new UnsupportedError(`Version ${this.version} of the key packet is unsupported.`);
}
/**
* Creates an OpenPGP public key packet for the given key.
* @returns {Uint8Array} Bytes encoding the public key OpenPGP packet.
*/
write() {
const arr = [];
arr.push(new Uint8Array([this.version]));
arr.push(util11.writeDate(this.created));
arr.push(new Uint8Array([this.algorithm]));
const params = serializeParams(this.algorithm, this.publicParams);
if (this.version >= 5) {
arr.push(util11.writeNumber(params.length, 4));
}
arr.push(params);
return util11.concatUint8Array(arr);
}
/**
* Write packet in order to be hashed; either for a signature or a fingerprint
* @param {Integer} version - target version of signature or key
*/
writeForHash(version2) {
const bytes = this.writePublicKey();
const versionOctet = 149 + version2;
const lengthOctets = version2 >= 5 ? 4 : 2;
return util11.concatUint8Array([new Uint8Array([versionOctet]), util11.writeNumber(bytes.length, lengthOctets), bytes]);
}
/**
* Check whether secret-key data is available in decrypted form. Returns null for public keys.
* @returns {Boolean|null}
*/
isDecrypted() {
return null;
}
/**
* Returns the creation time of the key
* @returns {Date}
*/
getCreationTime() {
return this.created;
}
/**
* Return the key ID of the key
* @returns {module:type/keyid~KeyID} The 8-byte key ID
*/
getKeyID() {
return this.keyID;
}
/**
* Computes and set the key ID and fingerprint of the key
* @async
*/
async computeFingerprintAndKeyID() {
await this.computeFingerprint();
this.keyID = new KeyID();
if (this.version >= 5) {
this.keyID.read(this.fingerprint.subarray(0, 8));
} else if (this.version === 4) {
this.keyID.read(this.fingerprint.subarray(12, 20));
} else {
throw new Error("Unsupported key version");
}
}
/**
* Computes and set the fingerprint of the key
*/
async computeFingerprint() {
const toHash = this.writeForHash(this.version);
if (this.version >= 5) {
this.fingerprint = await computeDigest(enums.hash.sha256, toHash);
} else if (this.version === 4) {
this.fingerprint = await computeDigest(enums.hash.sha1, toHash);
} else {
throw new Error("Unsupported key version");
}
}
/**
* Returns the fingerprint of the key, as an array of bytes
* @returns {Uint8Array} A Uint8Array containing the fingerprint
*/
getFingerprintBytes() {
return this.fingerprint;
}
/**
* Calculates and returns the fingerprint of the key, as a string
* @returns {String} A string containing the fingerprint in lowercase hex
*/
getFingerprint() {
return util11.uint8ArrayToHex(this.getFingerprintBytes());
}
/**
* Calculates whether two keys have the same fingerprint without actually calculating the fingerprint
* @returns {Boolean} Whether the two keys have the same version and public key data.
*/
hasSameFingerprintAs(other) {
return this.version === other.version && util11.equalsUint8Array(this.writePublicKey(), other.writePublicKey());
}
/**
* Returns algorithm information
* @returns {Object} An object of the form {algorithm: String, bits:int, curve:String}.
*/
getAlgorithmInfo() {
const result2 = {};
result2.algorithm = enums.read(enums.publicKey, this.algorithm);
const modulo = this.publicParams.n || this.publicParams.p;
if (modulo) {
result2.bits = util11.uint8ArrayBitLength(modulo);
} else if (this.publicParams.oid) {
result2.curve = this.publicParams.oid.getName();
}
return result2;
}
};
PublicKeyPacket.prototype.readPublicKey = PublicKeyPacket.prototype.read;
PublicKeyPacket.prototype.writePublicKey = PublicKeyPacket.prototype.write;
PublicSubkeyPacket = class _PublicSubkeyPacket extends PublicKeyPacket {
static get tag() {
return enums.packet.publicSubkey;
}
/**
* @param {Date} [date] - Creation date
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(date, config2) {
super(date, config2);
}
/**
* Create a PublicSubkeyPacket from a SecretSubkeyPacket
* @param {SecretSubkeyPacket} secretSubkeyPacket - subkey packet to convert
* @returns {SecretSubkeyPacket} public key packet
* @static
*/
static fromSecretSubkeyPacket(secretSubkeyPacket) {
const keyPacket = new _PublicSubkeyPacket();
const { version: version2, created, algorithm, publicParams, keyID, fingerprint } = secretSubkeyPacket;
keyPacket.version = version2;
keyPacket.created = created;
keyPacket.algorithm = algorithm;
keyPacket.publicParams = publicParams;
keyPacket.keyID = keyID;
keyPacket.fingerprint = fingerprint;
return keyPacket;
}
};
UserAttributePacket = class _UserAttributePacket {
static get tag() {
return enums.packet.userAttribute;
}
constructor() {
this.attributes = [];
}
/**
* parsing function for a user attribute packet (tag 17).
* @param {Uint8Array} input - Payload of a tag 17 packet
*/
read(bytes) {
let i4 = 0;
while (i4 < bytes.length) {
const len = readSimpleLength(bytes.subarray(i4, bytes.length));
i4 += len.offset;
this.attributes.push(util11.uint8ArrayToString(bytes.subarray(i4, i4 + len.len)));
i4 += len.len;
}
}
/**
* Creates a binary representation of the user attribute packet
* @returns {Uint8Array} String representation.
*/
write() {
const arr = [];
for (let i4 = 0; i4 < this.attributes.length; i4++) {
arr.push(writeSimpleLength(this.attributes[i4].length));
arr.push(util11.stringToUint8Array(this.attributes[i4]));
}
return util11.concatUint8Array(arr);
}
/**
* Compare for equality
* @param {UserAttributePacket} usrAttr
* @returns {Boolean} True if equal.
*/
equals(usrAttr) {
if (!usrAttr || !(usrAttr instanceof _UserAttributePacket)) {
return false;
}
return this.attributes.every(function(attr, index2) {
return attr === usrAttr.attributes[index2];
});
}
};
SecretKeyPacket = class extends PublicKeyPacket {
static get tag() {
return enums.packet.secretKey;
}
/**
* @param {Date} [date] - Creation date
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(date = /* @__PURE__ */ new Date(), config$1 = config) {
super(date, config$1);
this.keyMaterial = null;
this.isEncrypted = null;
this.s2kUsage = 0;
this.s2k = null;
this.symmetric = null;
this.aead = null;
this.isLegacyAEAD = null;
this.privateParams = null;
this.usedModernAEAD = null;
}
// 5.5.3. Secret-Key Packet Formats
/**
* Internal parser for private keys as specified in
* {@link https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-04#section-5.5.3|RFC4880bis-04 section 5.5.3}
* @param {Uint8Array} bytes - Input string to read the packet from
* @async
*/
async read(bytes, config$1 = config) {
let i4 = await this.readPublicKey(bytes, config$1);
const startOfSecretKeyData = i4;
this.s2kUsage = bytes[i4++];
if (this.version === 5) {
i4++;
}
if (this.version === 6 && this.s2kUsage) {
i4++;
}
try {
if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
this.symmetric = bytes[i4++];
if (this.s2kUsage === 253) {
this.aead = bytes[i4++];
}
if (this.version === 6) {
i4++;
}
const s2kType = bytes[i4++];
this.s2k = newS2KFromType(s2kType);
i4 += this.s2k.read(bytes.subarray(i4, bytes.length));
if (this.s2k.type === "gnu-dummy") {
return;
}
} else if (this.s2kUsage) {
this.symmetric = this.s2kUsage;
}
if (this.s2kUsage) {
this.isLegacyAEAD = this.s2kUsage === 253 && (this.version === 5 || this.version === 4 && config$1.parseAEADEncryptedV4KeysAsLegacy);
if (this.s2kUsage !== 253 || this.isLegacyAEAD) {
this.iv = bytes.subarray(i4, i4 + getCipherParams(this.symmetric).blockSize);
this.usedModernAEAD = false;
} else {
this.iv = bytes.subarray(i4, i4 + getAEADMode(this.aead).ivLength);
this.usedModernAEAD = true;
}
i4 += this.iv.length;
}
} catch (e) {
if (!this.s2kUsage)
throw e;
this.unparseableKeyMaterial = bytes.subarray(startOfSecretKeyData);
this.isEncrypted = true;
}
if (this.version === 5) {
i4 += 4;
}
this.keyMaterial = bytes.subarray(i4);
this.isEncrypted = !!this.s2kUsage;
if (!this.isEncrypted) {
let cleartext;
if (this.version === 6) {
cleartext = this.keyMaterial;
} else {
cleartext = this.keyMaterial.subarray(0, -2);
if (!util11.equalsUint8Array(util11.writeChecksum(cleartext), this.keyMaterial.subarray(-2))) {
throw new Error("Key checksum mismatch");
}
}
try {
const { read: read2, privateParams } = parsePrivateKeyParams(this.algorithm, cleartext, this.publicParams);
if (read2 < cleartext.length) {
throw new Error("Error reading MPIs");
}
this.privateParams = privateParams;
} catch (err2) {
if (err2 instanceof UnsupportedError)
throw err2;
throw new Error("Error reading MPIs");
}
}
}
/**
* Creates an OpenPGP key packet for the given key.
* @returns {Uint8Array} A string of bytes containing the secret key OpenPGP packet.
*/
write() {
const serializedPublicKey = this.writePublicKey();
if (this.unparseableKeyMaterial) {
return util11.concatUint8Array([
serializedPublicKey,
this.unparseableKeyMaterial
]);
}
const arr = [serializedPublicKey];
arr.push(new Uint8Array([this.s2kUsage]));
const optionalFieldsArr = [];
if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
optionalFieldsArr.push(this.symmetric);
if (this.s2kUsage === 253) {
optionalFieldsArr.push(this.aead);
}
const s2k = this.s2k.write();
if (this.version === 6) {
optionalFieldsArr.push(s2k.length);
}
optionalFieldsArr.push(...s2k);
}
if (this.s2kUsage && this.s2k.type !== "gnu-dummy") {
optionalFieldsArr.push(...this.iv);
}
if (this.version === 5 || this.version === 6 && this.s2kUsage) {
arr.push(new Uint8Array([optionalFieldsArr.length]));
}
arr.push(new Uint8Array(optionalFieldsArr));
if (!this.isDummy()) {
if (!this.s2kUsage) {
this.keyMaterial = serializeParams(this.algorithm, this.privateParams);
}
if (this.version === 5) {
arr.push(util11.writeNumber(this.keyMaterial.length, 4));
}
arr.push(this.keyMaterial);
if (!this.s2kUsage && this.version !== 6) {
arr.push(util11.writeChecksum(this.keyMaterial));
}
}
return util11.concatUint8Array(arr);
}
/**
* Check whether secret-key data is available in decrypted form.
* Returns false for gnu-dummy keys and null for public keys.
* @returns {Boolean|null}
*/
isDecrypted() {
return this.isEncrypted === false;
}
/**
* Check whether the key includes secret key material.
* Some secret keys do not include it, and can thus only be used
* for public-key operations (encryption and verification).
* Such keys are:
* - GNU-dummy keys, where the secret material has been stripped away
* - encrypted keys with unsupported S2K or cipher
*/
isMissingSecretKeyMaterial() {
return this.unparseableKeyMaterial !== void 0 || this.isDummy();
}
/**
* Check whether this is a gnu-dummy key
* @returns {Boolean}
*/
isDummy() {
return !!(this.s2k && this.s2k.type === "gnu-dummy");
}
/**
* Remove private key material, converting the key to a dummy one.
* The resulting key cannot be used for signing/decrypting but can still verify signatures.
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
makeDummy(config$1 = config) {
if (this.isDummy()) {
return;
}
if (this.isDecrypted()) {
this.clearPrivateParams();
}
delete this.unparseableKeyMaterial;
this.isEncrypted = null;
this.keyMaterial = null;
this.s2k = newS2KFromType(enums.s2k.gnu, config$1);
this.s2k.algorithm = 0;
this.s2k.c = 0;
this.s2k.type = "gnu-dummy";
this.s2kUsage = 254;
this.symmetric = enums.symmetric.aes256;
this.isLegacyAEAD = null;
this.usedModernAEAD = null;
}
/**
* Encrypt the payload. By default, we use aes256 and iterated, salted string
* to key specifier. If the key is in a decrypted state (isEncrypted === false)
* and the passphrase is empty or undefined, the key will be set as not encrypted.
* This can be used to remove passphrase protection after calling decrypt().
* @param {String} passphrase
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} if encryption was not successful
* @async
*/
async encrypt(passphrase, config$1 = config) {
if (this.isDummy()) {
return;
}
if (!this.isDecrypted()) {
throw new Error("Key packet is already encrypted");
}
if (!passphrase) {
throw new Error("A non-empty passphrase is required for key encryption.");
}
this.s2k = newS2KFromConfig(config$1);
this.s2k.generateSalt();
const cleartext = serializeParams(this.algorithm, this.privateParams);
this.symmetric = enums.symmetric.aes256;
const { blockSize } = getCipherParams(this.symmetric);
if (config$1.aeadProtect) {
this.s2kUsage = 253;
this.aead = config$1.preferredAEADAlgorithm;
const mode = getAEADMode(this.aead);
this.isLegacyAEAD = this.version === 5;
this.usedModernAEAD = !this.isLegacyAEAD;
const serializedPacketTag = writeTag(this.constructor.tag);
const key = await produceEncryptionKey(this.version, this.s2k, passphrase, this.symmetric, this.aead, serializedPacketTag, this.isLegacyAEAD, config$1);
const modeInstance = await mode(this.symmetric, key);
this.iv = this.isLegacyAEAD ? getRandomBytes(blockSize) : getRandomBytes(mode.ivLength);
const associateData = this.isLegacyAEAD ? new Uint8Array() : util11.concatUint8Array([serializedPacketTag, this.writePublicKey()]);
this.keyMaterial = await modeInstance.encrypt(cleartext, this.iv.subarray(0, mode.ivLength), associateData);
} else {
this.s2kUsage = 254;
this.usedModernAEAD = false;
const key = await produceEncryptionKey(this.version, this.s2k, passphrase, this.symmetric, void 0, void 0, void 0, config$1);
this.iv = getRandomBytes(blockSize);
this.keyMaterial = await encrypt$1(this.symmetric, key, util11.concatUint8Array([
cleartext,
await computeDigest(enums.hash.sha1, cleartext)
]), this.iv);
}
}
/**
* Decrypts the private key params which are needed to use the key.
* Successful decryption does not imply key integrity, call validate() to confirm that.
* {@link SecretKeyPacket.isDecrypted} should be false, as
* otherwise calls to this function will throw an error.
* @param {String} passphrase - The passphrase for this private key as string
* @param {Object} config
* @throws {Error} if the key is already decrypted, or if decryption was not successful
* @async
*/
async decrypt(passphrase, config$1 = config) {
if (this.isDummy()) {
return false;
}
if (this.unparseableKeyMaterial) {
throw new Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");
}
if (this.isDecrypted()) {
throw new Error("Key packet is already decrypted.");
}
let key;
const serializedPacketTag = writeTag(this.constructor.tag);
if (this.s2kUsage === 254 || this.s2kUsage === 253) {
key = await produceEncryptionKey(this.version, this.s2k, passphrase, this.symmetric, this.aead, serializedPacketTag, this.isLegacyAEAD, config$1);
} else if (this.s2kUsage === 255) {
throw new Error("Encrypted private key is authenticated using an insecure two-byte hash");
} else {
throw new Error("Private key is encrypted using an insecure S2K function: unsalted MD5");
}
let cleartext;
if (this.s2kUsage === 253) {
const mode = getAEADMode(this.aead, true);
const modeInstance = await mode(this.symmetric, key);
try {
const associateData = this.isLegacyAEAD ? new Uint8Array() : util11.concatUint8Array([serializedPacketTag, this.writePublicKey()]);
cleartext = await modeInstance.decrypt(this.keyMaterial, this.iv.subarray(0, mode.ivLength), associateData);
} catch (err2) {
if (err2.message === "Authentication tag mismatch") {
throw new Error("Incorrect key passphrase: " + err2.message);
}
throw err2;
}
} else {
const cleartextWithHash = await decrypt$1(this.symmetric, key, this.keyMaterial, this.iv);
cleartext = cleartextWithHash.subarray(0, -20);
const hash2 = await computeDigest(enums.hash.sha1, cleartext);
if (!util11.equalsUint8Array(hash2, cleartextWithHash.subarray(-20))) {
throw new Error("Incorrect key passphrase");
}
}
try {
const { privateParams } = parsePrivateKeyParams(this.algorithm, cleartext, this.publicParams);
this.privateParams = privateParams;
} catch {
throw new Error("Error reading MPIs");
}
this.isEncrypted = false;
this.keyMaterial = null;
this.s2kUsage = 0;
this.aead = null;
this.symmetric = null;
this.isLegacyAEAD = null;
}
/**
* Checks that the key parameters are consistent
* @throws {Error} if validation was not successful
* @async
*/
async validate() {
if (this.isDummy()) {
return;
}
if (!this.isDecrypted()) {
throw new Error("Key is not decrypted");
}
if (this.usedModernAEAD) {
return;
}
let validParams;
try {
validParams = await validateParams$1(this.algorithm, this.publicParams, this.privateParams);
} catch {
validParams = false;
}
if (!validParams) {
throw new Error("Key is invalid");
}
}
async generate(bits2, curve) {
if (this.version === 6 && (this.algorithm === enums.publicKey.ecdh && curve === enums.curve.curve25519Legacy || this.algorithm === enums.publicKey.eddsaLegacy)) {
throw new Error(`Cannot generate v6 keys of type 'ecc' with curve ${curve}. Generate a key of type 'curve25519' instead`);
}
const { privateParams, publicParams } = await generateParams(this.algorithm, bits2, curve);
this.privateParams = privateParams;
this.publicParams = publicParams;
this.isEncrypted = false;
}
/**
* Clear private key parameters
*/
clearPrivateParams() {
if (this.isMissingSecretKeyMaterial()) {
return;
}
Object.keys(this.privateParams).forEach((name) => {
const param = this.privateParams[name];
param.fill(0);
delete this.privateParams[name];
});
this.privateParams = null;
this.isEncrypted = true;
}
};
UserIDPacket = class _UserIDPacket {
static get tag() {
return enums.packet.userID;
}
constructor() {
this.userID = "";
this.name = "";
this.email = "";
this.comment = "";
}
/**
* Create UserIDPacket instance from object
* @param {Object} userID - Object specifying userID name, email and comment
* @returns {UserIDPacket}
* @static
*/
static fromObject(userID) {
if (util11.isString(userID) || userID.name && !util11.isString(userID.name) || userID.email && !util11.isEmailAddress(userID.email) || userID.comment && !util11.isString(userID.comment)) {
throw new Error("Invalid user ID format");
}
const packet = new _UserIDPacket();
Object.assign(packet, userID);
const components = [];
if (packet.name)
components.push(packet.name);
if (packet.comment)
components.push(`(${packet.comment})`);
if (packet.email)
components.push(`<${packet.email}>`);
packet.userID = components.join(" ");
return packet;
}
/**
* Parsing function for a user id packet (tag 13).
* @param {Uint8Array} input - Payload of a tag 13 packet
*/
read(bytes, config$1 = config) {
const userID = util11.decodeUTF8(bytes);
if (userID.length > config$1.maxUserIDLength) {
throw new Error("User ID string is too long");
}
const isValidEmail = (str2) => /^[^\s@]+@[^\s@]+$/.test(str2);
const firstBracket = userID.indexOf("<");
const lastBracket = userID.lastIndexOf(">");
if (firstBracket !== -1 && lastBracket !== -1 && lastBracket > firstBracket) {
const potentialEmail = userID.substring(firstBracket + 1, lastBracket);
if (isValidEmail(potentialEmail)) {
this.email = potentialEmail;
const beforeEmail = userID.substring(0, firstBracket).trim();
const firstParen = beforeEmail.indexOf("(");
const lastParen = beforeEmail.lastIndexOf(")");
if (firstParen !== -1 && lastParen !== -1 && lastParen > firstParen) {
this.comment = beforeEmail.substring(firstParen + 1, lastParen).trim();
this.name = beforeEmail.substring(0, firstParen).trim();
} else {
this.name = beforeEmail;
this.comment = "";
}
}
} else if (isValidEmail(userID.trim())) {
this.email = userID.trim();
this.name = "";
this.comment = "";
}
this.userID = userID;
}
/**
* Creates a binary representation of the user id packet
* @returns {Uint8Array} Binary representation.
*/
write() {
return util11.encodeUTF8(this.userID);
}
equals(otherUserID) {
return otherUserID && otherUserID.userID === this.userID;
}
};
SecretSubkeyPacket = class extends SecretKeyPacket {
static get tag() {
return enums.packet.secretSubkey;
}
/**
* @param {Date} [date] - Creation date
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
constructor(date = /* @__PURE__ */ new Date(), config$1 = config) {
super(date, config$1);
}
};
allowedPackets$1 = /* @__PURE__ */ util11.constructAllowedPackets([SignaturePacket]);
Signature = class {
/**
* @param {PacketList} packetlist - The signature packets
*/
constructor(packetlist) {
this.packets = packetlist || new PacketList();
}
/**
* Returns binary encoded signature
* @returns {ReadableStream<Uint8Array>} Binary signature.
*/
write() {
return this.packets.write();
}
/**
* Returns ASCII armored text of signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {ReadableStream<String>} ASCII armor.
*/
armor(config$1 = config) {
const emitChecksum = this.packets.some((packet) => packet.constructor.tag === SignaturePacket.tag && packet.version !== 6);
return armor(enums.armor.signature, this.write(), void 0, void 0, void 0, emitChecksum, config$1);
}
/**
* Returns an array of KeyIDs of all of the issuers who created this signature
* @returns {Array<KeyID>} The Key IDs of the signing keys
*/
getSigningKeyIDs() {
return this.packets.map((packet) => packet.issuerKeyID);
}
};
User = class _User {
constructor(userPacket, mainKey) {
this.userID = userPacket.constructor.tag === enums.packet.userID ? userPacket : null;
this.userAttribute = userPacket.constructor.tag === enums.packet.userAttribute ? userPacket : null;
this.selfCertifications = [];
this.otherCertifications = [];
this.revocationSignatures = [];
this.mainKey = mainKey;
}
/**
* Transforms structured user data to packetlist
* @returns {PacketList}
*/
toPacketList() {
const packetlist = new PacketList();
packetlist.push(this.userID || this.userAttribute);
packetlist.push(...this.revocationSignatures);
packetlist.push(...this.selfCertifications);
packetlist.push(...this.otherCertifications);
return packetlist;
}
/**
* Shallow clone
* @returns {User}
*/
clone() {
const user = new _User(this.userID || this.userAttribute, this.mainKey);
user.selfCertifications = [...this.selfCertifications];
user.otherCertifications = [...this.otherCertifications];
user.revocationSignatures = [...this.revocationSignatures];
return user;
}
/**
* Generate third-party certifications over this user and its primary key
* @param {Array<PrivateKey>} signingKeys - Decrypted private keys for signing
* @param {Date} [date] - Date to use as creation date of the certificate, instead of the current time
* @param {Object} config - Full configuration
* @returns {Promise<User>} New user with new certifications.
* @async
*/
async certify(signingKeys, date, config2) {
const primaryKey = this.mainKey.keyPacket;
const dataToSign = {
userID: this.userID,
userAttribute: this.userAttribute,
key: primaryKey
};
const user = new _User(dataToSign.userID || dataToSign.userAttribute, this.mainKey);
user.otherCertifications = await Promise.all(signingKeys.map(async function(privateKey) {
if (!privateKey.isPrivate()) {
throw new Error("Need private key for signing");
}
if (privateKey.hasSameFingerprintAs(primaryKey)) {
throw new Error("The user's own key can only be used for self-certifications");
}
const signingKey = await privateKey.getSigningKey(void 0, date, void 0, config2);
return createSignaturePacket(dataToSign, [privateKey], signingKey.keyPacket, {
// Most OpenPGP implementations use generic certification (0x10)
signatureType: enums.signature.certGeneric,
keyFlags: [enums.keyFlags.certifyKeys | enums.keyFlags.signData]
}, date, void 0, void 0, void 0, config2);
}));
await user.update(this, date, config2);
return user;
}
/**
* Checks if a given certificate of the user is revoked
* @param {SignaturePacket} certificate - The certificate to verify
* @param {PublicSubkeyPacket|
* SecretSubkeyPacket|
* PublicKeyPacket|
* SecretKeyPacket} [keyPacket] The key packet to verify the signature, instead of the primary key
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} config - Full configuration
* @returns {Promise<Boolean>} True if the certificate is revoked.
* @async
*/
async isRevoked(certificate, keyPacket, date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.mainKey.keyPacket;
return isDataRevoked(primaryKey, enums.signature.certRevocation, {
key: primaryKey,
userID: this.userID,
userAttribute: this.userAttribute
}, this.revocationSignatures, certificate, keyPacket, date, config$1);
}
/**
* Verifies the user certificate.
* @param {SignaturePacket} certificate - A certificate of this user
* @param {Array<PublicKey>} verificationKeys - Array of keys to verify certificate signatures
* @param {Date} [date] - Use the given date instead of the current time
* @param {Object} config - Full configuration
* @returns {Promise<true|null>} true if the certificate could be verified, or null if the verification keys do not correspond to the certificate
* @throws if the user certificate is invalid.
* @async
*/
async verifyCertificate(certificate, verificationKeys, date = /* @__PURE__ */ new Date(), config2) {
const that = this;
const primaryKey = this.mainKey.keyPacket;
const dataToVerify = {
userID: this.userID,
userAttribute: this.userAttribute,
key: primaryKey
};
const { issuerKeyID } = certificate;
const issuerKeys = verificationKeys.filter((key) => key.getKeys(issuerKeyID).length > 0);
if (issuerKeys.length === 0) {
return null;
}
await Promise.all(issuerKeys.map(async (key) => {
const signingKey = await key.getSigningKey(issuerKeyID, certificate.created, void 0, config2);
if (certificate.revoked || await that.isRevoked(certificate, signingKey.keyPacket, date, config2)) {
throw new Error("User certificate is revoked");
}
try {
await certificate.verify(signingKey.keyPacket, enums.signature.certGeneric, dataToVerify, date, void 0, config2);
} catch (e) {
throw util11.wrapError("User certificate is invalid", e);
}
}));
return true;
}
/**
* Verifies all user certificates
* @param {Array<PublicKey>} verificationKeys - Array of keys to verify certificate signatures
* @param {Date} [date] - Use the given date instead of the current time
* @param {Object} config - Full configuration
* @returns {Promise<Array<{
* keyID: module:type/keyid~KeyID,
* valid: Boolean | null
* }>>} List of signer's keyID and validity of signature.
* Signature validity is null if the verification keys do not correspond to the certificate.
* @async
*/
async verifyAllCertifications(verificationKeys, date = /* @__PURE__ */ new Date(), config2) {
const that = this;
const certifications = this.selfCertifications.concat(this.otherCertifications);
return Promise.all(certifications.map(async (certification) => ({
keyID: certification.issuerKeyID,
valid: await that.verifyCertificate(certification, verificationKeys, date, config2).catch(() => false)
})));
}
/**
* Verify User. Checks for existence of self signatures, revocation signatures
* and validity of self signature.
* @param {Date} date - Use the given date instead of the current time
* @param {Object} config - Full configuration
* @returns {Promise<true>} Status of user.
* @throws {Error} if there are no valid self signatures.
* @async
*/
async verify(date = /* @__PURE__ */ new Date(), config2) {
if (!this.selfCertifications.length) {
throw new Error("No self-certifications found");
}
const that = this;
const primaryKey = this.mainKey.keyPacket;
const dataToVerify = {
userID: this.userID,
userAttribute: this.userAttribute,
key: primaryKey
};
let exception2;
for (let i4 = this.selfCertifications.length - 1; i4 >= 0; i4--) {
try {
const selfCertification = this.selfCertifications[i4];
if (selfCertification.revoked || await that.isRevoked(selfCertification, void 0, date, config2)) {
throw new Error("Self-certification is revoked");
}
try {
await selfCertification.verify(primaryKey, enums.signature.certGeneric, dataToVerify, date, void 0, config2);
} catch (e) {
throw util11.wrapError("Self-certification is invalid", e);
}
return true;
} catch (e) {
exception2 = e;
}
}
throw exception2;
}
/**
* Update user with new components from specified user
* @param {User} sourceUser - Source user to merge
* @param {Date} date - Date to verify the validity of signatures
* @param {Object} config - Full configuration
* @returns {Promise<undefined>}
* @async
*/
async update(sourceUser, date, config2) {
const primaryKey = this.mainKey.keyPacket;
const dataToVerify = {
userID: this.userID,
userAttribute: this.userAttribute,
key: primaryKey
};
await mergeSignatures(sourceUser, this, "selfCertifications", date, async function(srcSelfSig) {
try {
await srcSelfSig.verify(primaryKey, enums.signature.certGeneric, dataToVerify, date, false, config2);
return true;
} catch {
return false;
}
});
await mergeSignatures(sourceUser, this, "otherCertifications", date);
await mergeSignatures(sourceUser, this, "revocationSignatures", date, function(srcRevSig) {
return isDataRevoked(primaryKey, enums.signature.certRevocation, dataToVerify, [srcRevSig], void 0, void 0, date, config2);
});
}
/**
* Revokes the user
* @param {SecretKeyPacket} primaryKey - decrypted private primary key for revocation
* @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
* @param {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
* @param {String} reasonForRevocation.string optional, string explaining the reason for revocation
* @param {Date} date - optional, override the creationtime of the revocation signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<User>} New user with revocation signature.
* @async
*/
async revoke(primaryKey, { flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason, string: reasonForRevocationString = "" } = {}, date = /* @__PURE__ */ new Date(), config$1 = config) {
const dataToSign = {
userID: this.userID,
userAttribute: this.userAttribute,
key: primaryKey
};
const user = new _User(dataToSign.userID || dataToSign.userAttribute, this.mainKey);
user.revocationSignatures.push(await createSignaturePacket(dataToSign, [], primaryKey, {
signatureType: enums.signature.certRevocation,
reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
reasonForRevocationString
}, date, void 0, void 0, false, config$1));
await user.update(this);
return user;
}
};
Subkey = class _Subkey {
/**
* @param {SecretSubkeyPacket|PublicSubkeyPacket} subkeyPacket - subkey packet to hold in the Subkey
* @param {Key} mainKey - reference to main Key object, containing the primary key packet corresponding to the subkey
*/
constructor(subkeyPacket, mainKey) {
this.keyPacket = subkeyPacket;
this.bindingSignatures = [];
this.revocationSignatures = [];
this.mainKey = mainKey;
}
/**
* Transforms structured subkey data to packetlist
* @returns {PacketList}
*/
toPacketList() {
const packetlist = new PacketList();
packetlist.push(this.keyPacket);
packetlist.push(...this.revocationSignatures);
packetlist.push(...this.bindingSignatures);
return packetlist;
}
/**
* Shallow clone
* @return {Subkey}
*/
clone() {
const subkey = new _Subkey(this.keyPacket, this.mainKey);
subkey.bindingSignatures = [...this.bindingSignatures];
subkey.revocationSignatures = [...this.revocationSignatures];
return subkey;
}
/**
* Checks if a binding signature of a subkey is revoked
* @param {SignaturePacket} signature - The binding signature to verify
* @param {PublicSubkeyPacket|
* SecretSubkeyPacket|
* PublicKeyPacket|
* SecretKeyPacket} key, optional The key to verify the signature
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Boolean>} True if the binding signature is revoked.
* @async
*/
async isRevoked(signature, key, date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.mainKey.keyPacket;
return isDataRevoked(primaryKey, enums.signature.subkeyRevocation, {
key: primaryKey,
bind: this.keyPacket
}, this.revocationSignatures, signature, key, date, config$1);
}
/**
* Verify subkey. Checks for revocation signatures, expiration time
* and valid binding signature.
* @param {Date} date - Use the given date instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<SignaturePacket>}
* @throws {Error} if the subkey is invalid.
* @async
*/
async verify(date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.mainKey.keyPacket;
const dataToVerify = { key: primaryKey, bind: this.keyPacket };
const bindingSignature = await getLatestValidSignature(this.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
if (bindingSignature.revoked || await this.isRevoked(bindingSignature, null, date, config$1)) {
throw new Error("Subkey is revoked");
}
if (isDataExpired(this.keyPacket, bindingSignature, date)) {
throw new Error("Subkey is expired");
}
return bindingSignature;
}
/**
* Returns the expiration time of the subkey or Infinity if key does not expire.
* Returns null if the subkey is invalid.
* @param {Date} date - Use the given date instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Date | Infinity | null>}
* @async
*/
async getExpirationTime(date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.mainKey.keyPacket;
const dataToVerify = { key: primaryKey, bind: this.keyPacket };
let bindingSignature;
try {
bindingSignature = await getLatestValidSignature(this.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
} catch {
return null;
}
const keyExpiry = getKeyExpirationTime(this.keyPacket, bindingSignature);
const sigExpiry = bindingSignature.getExpirationTime();
return keyExpiry < sigExpiry ? keyExpiry : sigExpiry;
}
/**
* Update subkey with new components from specified subkey
* @param {Subkey} subkey - Source subkey to merge
* @param {Date} [date] - Date to verify validity of signatures
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} if update failed
* @async
*/
async update(subkey, date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.mainKey.keyPacket;
if (!this.hasSameFingerprintAs(subkey)) {
throw new Error("Subkey update method: fingerprints of subkeys not equal");
}
if (this.keyPacket.constructor.tag === enums.packet.publicSubkey && subkey.keyPacket.constructor.tag === enums.packet.secretSubkey) {
this.keyPacket = subkey.keyPacket;
}
const that = this;
const dataToVerify = { key: primaryKey, bind: that.keyPacket };
await mergeSignatures(subkey, this, "bindingSignatures", date, async function(srcBindSig) {
for (let i4 = 0; i4 < that.bindingSignatures.length; i4++) {
if (that.bindingSignatures[i4].issuerKeyID.equals(srcBindSig.issuerKeyID)) {
if (srcBindSig.created > that.bindingSignatures[i4].created) {
that.bindingSignatures[i4] = srcBindSig;
}
return false;
}
}
try {
await srcBindSig.verify(primaryKey, enums.signature.subkeyBinding, dataToVerify, date, void 0, config$1);
return true;
} catch {
return false;
}
});
await mergeSignatures(subkey, this, "revocationSignatures", date, function(srcRevSig) {
return isDataRevoked(primaryKey, enums.signature.subkeyRevocation, dataToVerify, [srcRevSig], void 0, void 0, date, config$1);
});
}
/**
* Revokes the subkey
* @param {SecretKeyPacket} primaryKey - decrypted private primary key for revocation
* @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
* @param {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
* @param {String} reasonForRevocation.string optional, string explaining the reason for revocation
* @param {Date} date - optional, override the creationtime of the revocation signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Subkey>} New subkey with revocation signature.
* @async
*/
async revoke(primaryKey, { flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason, string: reasonForRevocationString = "" } = {}, date = /* @__PURE__ */ new Date(), config$1 = config) {
const dataToSign = { key: primaryKey, bind: this.keyPacket };
const subkey = new _Subkey(this.keyPacket, this.mainKey);
subkey.revocationSignatures.push(await createSignaturePacket(dataToSign, [], primaryKey, {
signatureType: enums.signature.subkeyRevocation,
reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
reasonForRevocationString
}, date, void 0, void 0, false, config$1));
await subkey.update(this);
return subkey;
}
hasSameFingerprintAs(other) {
return this.keyPacket.hasSameFingerprintAs(other.keyPacket || other);
}
};
["getKeyID", "getFingerprint", "getAlgorithmInfo", "getCreationTime", "isDecrypted"].forEach((name) => {
Subkey.prototype[name] = function() {
return this.keyPacket[name]();
};
});
allowedRevocationPackets = /* @__PURE__ */ util11.constructAllowedPackets([SignaturePacket]);
mainKeyPacketTags = /* @__PURE__ */ new Set([enums.packet.publicKey, enums.packet.privateKey]);
keyPacketTags = /* @__PURE__ */ new Set([
enums.packet.publicKey,
enums.packet.privateKey,
enums.packet.publicSubkey,
enums.packet.privateSubkey
]);
Key = class {
/**
* Transforms packetlist to structured key data
* @param {PacketList} packetlist - The packets that form a key
* @param {Set<enums.packet>} disallowedPackets - disallowed packet tags
*/
packetListToStructure(packetlist, disallowedPackets = /* @__PURE__ */ new Set()) {
let user;
let primaryKeyID;
let subkey;
let ignoreUntil;
for (const packet of packetlist) {
if (packet instanceof UnparseablePacket) {
const isUnparseableKeyPacket = keyPacketTags.has(packet.tag);
if (isUnparseableKeyPacket && !ignoreUntil) {
if (mainKeyPacketTags.has(packet.tag)) {
ignoreUntil = mainKeyPacketTags;
} else {
ignoreUntil = keyPacketTags;
}
}
continue;
}
const tag = packet.constructor.tag;
if (ignoreUntil) {
if (!ignoreUntil.has(tag))
continue;
ignoreUntil = null;
}
if (disallowedPackets.has(tag)) {
throw new Error(`Unexpected packet type: ${tag}`);
}
switch (tag) {
case enums.packet.publicKey:
case enums.packet.secretKey:
if (this.keyPacket) {
throw new Error("Key block contains multiple keys");
}
this.keyPacket = packet;
primaryKeyID = this.getKeyID();
if (!primaryKeyID) {
throw new Error("Missing Key ID");
}
break;
case enums.packet.userID:
case enums.packet.userAttribute:
user = new User(packet, this);
this.users.push(user);
break;
case enums.packet.publicSubkey:
case enums.packet.secretSubkey:
user = null;
subkey = new Subkey(packet, this);
this.subkeys.push(subkey);
break;
case enums.packet.signature:
switch (packet.signatureType) {
case enums.signature.certGeneric:
case enums.signature.certPersona:
case enums.signature.certCasual:
case enums.signature.certPositive:
if (!user) {
util11.printDebug("Dropping certification signatures without preceding user packet");
continue;
}
if (packet.issuerKeyID.equals(primaryKeyID)) {
user.selfCertifications.push(packet);
} else {
user.otherCertifications.push(packet);
}
break;
case enums.signature.certRevocation:
if (user) {
user.revocationSignatures.push(packet);
} else {
this.directSignatures.push(packet);
}
break;
case enums.signature.key:
this.directSignatures.push(packet);
break;
case enums.signature.subkeyBinding:
if (!subkey) {
util11.printDebug("Dropping subkey binding signature without preceding subkey packet");
continue;
}
subkey.bindingSignatures.push(packet);
break;
case enums.signature.keyRevocation:
this.revocationSignatures.push(packet);
break;
case enums.signature.subkeyRevocation:
if (!subkey) {
util11.printDebug("Dropping subkey revocation signature without preceding subkey packet");
continue;
}
subkey.revocationSignatures.push(packet);
break;
}
break;
}
}
}
/**
* Transforms structured key data to packetlist
* @returns {PacketList} The packets that form a key.
*/
toPacketList() {
const packetlist = new PacketList();
packetlist.push(this.keyPacket);
packetlist.push(...this.revocationSignatures);
packetlist.push(...this.directSignatures);
this.users.map((user) => packetlist.push(...user.toPacketList()));
this.subkeys.map((subkey) => packetlist.push(...subkey.toPacketList()));
return packetlist;
}
/**
* Clones the key object. The copy is shallow, as it references the same packet objects as the original. However, if the top-level API is used, the two key instances are effectively independent.
* @param {Boolean} [clonePrivateParams=false] Only relevant for private keys: whether the secret key paramenters should be deeply copied. This is needed if e.g. `encrypt()` is to be called either on the clone or the original key.
* @returns {Promise<Key>} Clone of the key.
*/
clone(clonePrivateParams = false) {
const key = new this.constructor(this.toPacketList());
if (clonePrivateParams) {
key.getKeys().forEach((k2) => {
k2.keyPacket = Object.create(Object.getPrototypeOf(k2.keyPacket), Object.getOwnPropertyDescriptors(k2.keyPacket));
if (!k2.keyPacket.isDecrypted())
return;
const privateParams = {};
Object.keys(k2.keyPacket.privateParams).forEach((name) => {
privateParams[name] = new Uint8Array(k2.keyPacket.privateParams[name]);
});
k2.keyPacket.privateParams = privateParams;
});
}
return key;
}
/**
* Returns an array containing all public or private subkeys matching keyID;
* If no keyID is given, returns all subkeys.
* @param {type/keyID} [keyID] - key ID to look for
* @returns {Array<Subkey>} array of subkeys
*/
getSubkeys(keyID = null) {
const subkeys = this.subkeys.filter((subkey) => !keyID || subkey.getKeyID().equals(keyID, true));
return subkeys;
}
/**
* Returns an array containing all public or private keys matching keyID.
* If no keyID is given, returns all keys, starting with the primary key.
* @param {type/keyid~KeyID} [keyID] - key ID to look for
* @returns {Array<Key|Subkey>} array of keys
*/
getKeys(keyID = null) {
const keys4 = [];
if (!keyID || this.getKeyID().equals(keyID, true)) {
keys4.push(this);
}
return keys4.concat(this.getSubkeys(keyID));
}
/**
* Returns key IDs of all keys
* @returns {Array<module:type/keyid~KeyID>}
*/
getKeyIDs() {
return this.getKeys().map((key) => key.getKeyID());
}
/**
* Returns userIDs
* @returns {Array<string>} Array of userIDs.
*/
getUserIDs() {
return this.users.map((user) => {
return user.userID ? user.userID.userID : null;
}).filter((userID) => userID !== null);
}
/**
* Returns binary encoded key
* @returns {Uint8Array} Binary key.
*/
write() {
return this.toPacketList().write();
}
/**
* Returns last created key or key by given keyID that is available for signing and verification
* @param {module:type/keyid~KeyID} [keyID] - key ID of a specific key to retrieve
* @param {Date} [date] - use the fiven date date to to check key validity instead of the current date
* @param {Object} [userID] - filter keys for the given user ID
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key|Subkey>} signing key
* @throws if no valid signing key was found
* @async
*/
async getSigningKey(keyID = null, date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
await this.verifyPrimaryKey(date, userID, config$1);
const primaryKey = this.keyPacket;
try {
checkKeyRequirements(primaryKey, config$1);
} catch (err2) {
throw util11.wrapError("Could not verify primary key", err2);
}
const subkeys = this.subkeys.slice().sort((a2, b) => b.keyPacket.created - a2.keyPacket.created || b.keyPacket.algorithm - a2.keyPacket.algorithm);
let exception2;
for (const subkey of subkeys) {
if (!keyID || subkey.getKeyID().equals(keyID)) {
try {
await subkey.verify(date, config$1);
const dataToVerify = { key: primaryKey, bind: subkey.keyPacket };
const bindingSignature = await getLatestValidSignature(subkey.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
if (!validateSigningKeyPacket(subkey.keyPacket, bindingSignature, config$1)) {
continue;
}
if (!bindingSignature.embeddedSignature) {
throw new Error("Missing embedded signature");
}
await getLatestValidSignature([bindingSignature.embeddedSignature], subkey.keyPacket, enums.signature.keyBinding, dataToVerify, date, config$1);
checkKeyRequirements(subkey.keyPacket, config$1);
return subkey;
} catch (e) {
exception2 = e;
}
}
}
try {
const selfCertification = await this.getPrimarySelfSignature(date, userID, config$1);
if ((!keyID || primaryKey.getKeyID().equals(keyID)) && validateSigningKeyPacket(primaryKey, selfCertification, config$1)) {
checkKeyRequirements(primaryKey, config$1);
return this;
}
} catch (e) {
exception2 = e;
}
throw util11.wrapError("Could not find valid signing key packet in key " + this.getKeyID().toHex(), exception2);
}
/**
* Returns last created key or key by given keyID that is available for encryption or decryption
* @param {module:type/keyid~KeyID} [keyID] - key ID of a specific key to retrieve
* @param {Date} [date] - use the fiven date date to to check key validity instead of the current date
* @param {Object} [userID] - filter keys for the given user ID
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key|Subkey>} encryption key
* @throws if no valid encryption key was found
* @async
*/
async getEncryptionKey(keyID, date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
await this.verifyPrimaryKey(date, userID, config$1);
const primaryKey = this.keyPacket;
try {
checkKeyRequirements(primaryKey, config$1);
} catch (err2) {
throw util11.wrapError("Could not verify primary key", err2);
}
const subkeys = this.subkeys.slice().sort((a2, b) => b.keyPacket.created - a2.keyPacket.created || b.keyPacket.algorithm - a2.keyPacket.algorithm);
let exception2;
for (const subkey of subkeys) {
if (!keyID || subkey.getKeyID().equals(keyID)) {
try {
await subkey.verify(date, config$1);
const dataToVerify = { key: primaryKey, bind: subkey.keyPacket };
const bindingSignature = await getLatestValidSignature(subkey.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
if (validateEncryptionKeyPacket(subkey.keyPacket, bindingSignature, config$1)) {
checkKeyRequirements(subkey.keyPacket, config$1);
return subkey;
}
} catch (e) {
exception2 = e;
}
}
}
try {
const selfCertification = await this.getPrimarySelfSignature(date, userID, config$1);
if ((!keyID || primaryKey.getKeyID().equals(keyID)) && validateEncryptionKeyPacket(primaryKey, selfCertification, config$1)) {
checkKeyRequirements(primaryKey, config$1);
return this;
}
} catch (e) {
exception2 = e;
}
throw util11.wrapError("Could not find valid encryption key packet in key " + this.getKeyID().toHex(), exception2);
}
/**
* Checks if a signature on a key is revoked
* @param {SignaturePacket} signature - The signature to verify
* @param {PublicSubkeyPacket|
* SecretSubkeyPacket|
* PublicKeyPacket|
* SecretKeyPacket} key, optional The key to verify the signature
* @param {Date} [date] - Use the given date for verification, instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Boolean>} True if the certificate is revoked.
* @async
*/
async isRevoked(signature, key, date = /* @__PURE__ */ new Date(), config$1 = config) {
return isDataRevoked(this.keyPacket, enums.signature.keyRevocation, { key: this.keyPacket }, this.revocationSignatures, signature, key, date, config$1);
}
/**
* Verify primary key. Checks for revocation signatures, expiration time
* and valid self signature. Throws if the primary key is invalid.
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [userID] - User ID
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} If key verification failed
* @async
*/
async verifyPrimaryKey(date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
const primaryKey = this.keyPacket;
if (await this.isRevoked(null, null, date, config$1)) {
throw new Error("Primary key is revoked");
}
const selfCertification = await this.getPrimarySelfSignature(date, userID, config$1);
if (isDataExpired(primaryKey, selfCertification, date)) {
throw new Error("Primary key is expired");
}
if (primaryKey.version !== 6) {
const directSignature = await getLatestValidSignature(this.directSignatures, primaryKey, enums.signature.key, { key: primaryKey }, date, config$1).catch(() => {
});
if (directSignature && isDataExpired(primaryKey, directSignature, date)) {
throw new Error("Primary key is expired");
}
}
}
/**
* Returns the expiration date of the primary key, considering self-certifications and direct-key signatures.
* Returns `Infinity` if the key doesn't expire, or `null` if the key is revoked or invalid.
* @param {Object} [userID] - User ID to consider instead of the primary user
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Date | Infinity | null>}
* @async
*/
async getExpirationTime(userID, config$1 = config) {
let primaryKeyExpiry;
try {
const selfCertification = await this.getPrimarySelfSignature(null, userID, config$1);
const selfSigKeyExpiry = getKeyExpirationTime(this.keyPacket, selfCertification);
const selfSigExpiry = selfCertification.getExpirationTime();
const directSignature = this.keyPacket.version !== 6 && // For V6 keys, the above already returns the direct-key signature.
await getLatestValidSignature(this.directSignatures, this.keyPacket, enums.signature.key, { key: this.keyPacket }, null, config$1).catch(() => {
});
if (directSignature) {
const directSigKeyExpiry = getKeyExpirationTime(this.keyPacket, directSignature);
primaryKeyExpiry = Math.min(selfSigKeyExpiry, selfSigExpiry, directSigKeyExpiry);
} else {
primaryKeyExpiry = selfSigKeyExpiry < selfSigExpiry ? selfSigKeyExpiry : selfSigExpiry;
}
} catch {
primaryKeyExpiry = null;
}
return util11.normalizeDate(primaryKeyExpiry);
}
/**
* For V4 keys, returns the self-signature of the primary user.
* For V5 keys, returns the latest valid direct-key self-signature.
* This self-signature is to be used to check the key expiration,
* algorithm preferences, and so on.
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [userID] - User ID to get instead of the primary user for V4 keys, if it exists
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<SignaturePacket>} The primary self-signature
* @async
*/
async getPrimarySelfSignature(date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
const primaryKey = this.keyPacket;
if (primaryKey.version === 6) {
return getLatestValidSignature(this.directSignatures, primaryKey, enums.signature.key, { key: primaryKey }, date, config$1);
}
const { selfCertification } = await this.getPrimaryUser(date, userID, config$1);
return selfCertification;
}
/**
* Returns primary user and most significant (latest valid) self signature
* - if multiple primary users exist, returns the one with the latest self signature
* - otherwise, returns the user with the latest self signature
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [userID] - User ID to get instead of the primary user, if it exists
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<{
* user: User,
* selfCertification: SignaturePacket
* }>} The primary user and the self signature
* @async
*/
async getPrimaryUser(date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
const primaryKey = this.keyPacket;
const users = [];
let exception2;
for (let i4 = 0; i4 < this.users.length; i4++) {
try {
const user2 = this.users[i4];
if (!user2.userID) {
continue;
}
if (userID.name !== void 0 && user2.userID.name !== userID.name || userID.email !== void 0 && user2.userID.email !== userID.email || userID.comment !== void 0 && user2.userID.comment !== userID.comment) {
throw new Error("Could not find user that matches that user ID");
}
const dataToVerify = { userID: user2.userID, key: primaryKey };
const selfCertification = await getLatestValidSignature(user2.selfCertifications, primaryKey, enums.signature.certGeneric, dataToVerify, date, config$1);
users.push({ index: i4, user: user2, selfCertification });
} catch (e) {
exception2 = e;
}
}
if (!users.length) {
throw exception2 || new Error("Could not find primary user");
}
await Promise.all(users.map(async (a2) => {
a2.selfCertification.revoked || await a2.user.isRevoked(a2.selfCertification, null, date, config$1);
}));
const primaryUser = users.sort(function(a2, b) {
const A2 = a2.selfCertification;
const B = b.selfCertification;
return B.revoked - A2.revoked || A2.isPrimaryUserID - B.isPrimaryUserID || A2.created - B.created;
}).pop();
const { user, selfCertification: cert } = primaryUser;
if (cert.revoked || await user.isRevoked(cert, null, date, config$1)) {
throw new Error("Primary user is revoked");
}
return primaryUser;
}
/**
* Update key with new components from specified key with same key ID:
* users, subkeys, certificates are merged into the destination key,
* duplicates and expired signatures are ignored.
*
* If the source key is a private key and the destination key is public,
* a private key is returned.
* @param {Key} sourceKey - Source key to merge
* @param {Date} [date] - Date to verify validity of signatures and keys
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key>} updated key
* @async
*/
async update(sourceKey, date = /* @__PURE__ */ new Date(), config$1 = config) {
if (!this.hasSameFingerprintAs(sourceKey)) {
throw new Error("Primary key fingerprints must be equal to update the key");
}
if (!this.isPrivate() && sourceKey.isPrivate()) {
const equal2 = this.subkeys.length === sourceKey.subkeys.length && this.subkeys.every((destSubkey) => {
return sourceKey.subkeys.some((srcSubkey) => {
return destSubkey.hasSameFingerprintAs(srcSubkey);
});
});
if (!equal2) {
throw new Error("Cannot update public key with private key if subkeys mismatch");
}
return sourceKey.update(this, config$1);
}
const updatedKey = this.clone();
await mergeSignatures(sourceKey, updatedKey, "revocationSignatures", date, (srcRevSig) => {
return isDataRevoked(updatedKey.keyPacket, enums.signature.keyRevocation, updatedKey, [srcRevSig], null, sourceKey.keyPacket, date, config$1);
});
await mergeSignatures(sourceKey, updatedKey, "directSignatures", date);
await Promise.all(sourceKey.users.map(async (srcUser) => {
const usersToUpdate = updatedKey.users.filter((dstUser) => srcUser.userID && srcUser.userID.equals(dstUser.userID) || srcUser.userAttribute && srcUser.userAttribute.equals(dstUser.userAttribute));
if (usersToUpdate.length > 0) {
await Promise.all(usersToUpdate.map((userToUpdate) => userToUpdate.update(srcUser, date, config$1)));
} else {
const newUser = srcUser.clone();
newUser.mainKey = updatedKey;
updatedKey.users.push(newUser);
}
}));
await Promise.all(sourceKey.subkeys.map(async (srcSubkey) => {
const subkeysToUpdate = updatedKey.subkeys.filter((dstSubkey) => dstSubkey.hasSameFingerprintAs(srcSubkey));
if (subkeysToUpdate.length > 0) {
await Promise.all(subkeysToUpdate.map((subkeyToUpdate) => subkeyToUpdate.update(srcSubkey, date, config$1)));
} else {
const newSubkey = srcSubkey.clone();
newSubkey.mainKey = updatedKey;
updatedKey.subkeys.push(newSubkey);
}
}));
return updatedKey;
}
/**
* Get revocation certificate from a revoked key.
* (To get a revocation certificate for an unrevoked key, call revoke() first.)
* @param {Date} date - Use the given date instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<String>} Armored revocation certificate.
* @async
*/
async getRevocationCertificate(date = /* @__PURE__ */ new Date(), config$1 = config) {
const dataToVerify = { key: this.keyPacket };
const revocationSignature = await getLatestValidSignature(this.revocationSignatures, this.keyPacket, enums.signature.keyRevocation, dataToVerify, date, config$1);
const packetlist = new PacketList();
packetlist.push(revocationSignature);
const emitChecksum = this.keyPacket.version !== 6;
return armor(enums.armor.publicKey, packetlist.write(), null, null, "This is a revocation certificate", emitChecksum, config$1);
}
/**
* Applies a revocation certificate to a key
* This adds the first signature packet in the armored text to the key,
* if it is a valid revocation signature.
* @param {String} revocationCertificate - armored revocation certificate
* @param {Date} [date] - Date to verify the certificate
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key>} Revoked key.
* @async
*/
async applyRevocationCertificate(revocationCertificate, date = /* @__PURE__ */ new Date(), config$1 = config) {
const input = await unarmor(revocationCertificate);
const packetlist = await PacketList.fromBinary(input.data, allowedRevocationPackets, config$1);
const revocationSignature = packetlist.findPacket(enums.packet.signature);
if (!revocationSignature || revocationSignature.signatureType !== enums.signature.keyRevocation) {
throw new Error("Could not find revocation signature packet");
}
if (!revocationSignature.issuerKeyID.equals(this.getKeyID())) {
throw new Error("Revocation signature does not match key");
}
try {
await revocationSignature.verify(this.keyPacket, enums.signature.keyRevocation, { key: this.keyPacket }, date, void 0, config$1);
} catch (e) {
throw util11.wrapError("Could not verify revocation signature", e);
}
const key = this.clone();
key.revocationSignatures.push(revocationSignature);
return key;
}
/**
* Signs primary user of key
* @param {Array<PrivateKey>} privateKeys - decrypted private keys for signing
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [userID] - User ID to get instead of the primary user, if it exists
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key>} Key with new certificate signature.
* @async
*/
async signPrimaryUser(privateKeys, date, userID, config$1 = config) {
const { index: index2, user } = await this.getPrimaryUser(date, userID, config$1);
const userSign = await user.certify(privateKeys, date, config$1);
const key = this.clone();
key.users[index2] = userSign;
return key;
}
/**
* Signs all users of key
* @param {Array<PrivateKey>} privateKeys - decrypted private keys for signing
* @param {Date} [date] - Use the given date for signing, instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Key>} Key with new certificate signature.
* @async
*/
async signAllUsers(privateKeys, date = /* @__PURE__ */ new Date(), config$1 = config) {
const key = this.clone();
key.users = await Promise.all(this.users.map(function(user) {
return user.certify(privateKeys, date, config$1);
}));
return key;
}
/**
* Verifies primary user of key
* - if no arguments are given, verifies the self certificates;
* - otherwise, verifies all certificates signed with given keys.
* @param {Array<PublicKey>} [verificationKeys] - array of keys to verify certificate signatures, instead of the primary key
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [userID] - User ID to get instead of the primary user, if it exists
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<{
* keyID: module:type/keyid~KeyID,
* valid: Boolean|null
* }>>} List of signer's keyID and validity of signature.
* Signature validity is null if the verification keys do not correspond to the certificate.
* @async
*/
async verifyPrimaryUser(verificationKeys, date = /* @__PURE__ */ new Date(), userID, config$1 = config) {
const primaryKey = this.keyPacket;
const { user } = await this.getPrimaryUser(date, userID, config$1);
const results = verificationKeys ? await user.verifyAllCertifications(verificationKeys, date, config$1) : [{ keyID: primaryKey.getKeyID(), valid: await user.verify(date, config$1).catch(() => false) }];
return results;
}
/**
* Verifies all users of key
* - if no arguments are given, verifies the self certificates;
* - otherwise, verifies all certificates signed with given keys.
* @param {Array<PublicKey>} [verificationKeys] - array of keys to verify certificate signatures
* @param {Date} [date] - Use the given date for verification instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<{
* userID: String,
* keyID: module:type/keyid~KeyID,
* valid: Boolean|null
* }>>} List of userID, signer's keyID and validity of signature.
* Signature validity is null if the verification keys do not correspond to the certificate.
* @async
*/
async verifyAllUsers(verificationKeys, date = /* @__PURE__ */ new Date(), config$1 = config) {
const primaryKey = this.keyPacket;
const results = [];
await Promise.all(this.users.map(async (user) => {
const signatures = verificationKeys ? await user.verifyAllCertifications(verificationKeys, date, config$1) : [{ keyID: primaryKey.getKeyID(), valid: await user.verify(date, config$1).catch(() => false) }];
results.push(...signatures.map((signature) => ({
userID: user.userID ? user.userID.userID : null,
userAttribute: user.userAttribute,
keyID: signature.keyID,
valid: signature.valid
})));
}));
return results;
}
};
["getKeyID", "getFingerprint", "getAlgorithmInfo", "getCreationTime", "hasSameFingerprintAs"].forEach((name) => {
Key.prototype[name] = Subkey.prototype[name];
});
PublicKey = class extends Key {
/**
* @param {PacketList} packetlist - The packets that form this key
*/
constructor(packetlist) {
super();
this.keyPacket = null;
this.revocationSignatures = [];
this.directSignatures = [];
this.users = [];
this.subkeys = [];
if (packetlist) {
this.packetListToStructure(packetlist, /* @__PURE__ */ new Set([enums.packet.secretKey, enums.packet.secretSubkey]));
if (!this.keyPacket) {
throw new Error("Invalid key: missing public-key packet");
}
}
}
/**
* Returns true if this is a private key
* @returns {false}
*/
isPrivate() {
return false;
}
/**
* Returns key as public key (shallow copy)
* @returns {PublicKey} New public Key
*/
toPublic() {
return this;
}
/**
* Returns ASCII armored text of key
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {ReadableStream<String>} ASCII armor.
*/
armor(config$1 = config) {
const emitChecksum = this.keyPacket.version !== 6;
return armor(enums.armor.publicKey, this.toPacketList().write(), void 0, void 0, void 0, emitChecksum, config$1);
}
};
PrivateKey = class _PrivateKey extends PublicKey {
/**
* @param {PacketList} packetlist - The packets that form this key
*/
constructor(packetlist) {
super();
this.packetListToStructure(packetlist, /* @__PURE__ */ new Set([enums.packet.publicKey, enums.packet.publicSubkey]));
if (!this.keyPacket) {
throw new Error("Invalid key: missing private-key packet");
}
}
/**
* Returns true if this is a private key
* @returns {Boolean}
*/
isPrivate() {
return true;
}
/**
* Returns key as public key (shallow copy)
* @returns {PublicKey} New public Key
*/
toPublic() {
const packetlist = new PacketList();
const keyPackets = this.toPacketList();
for (const keyPacket of keyPackets) {
switch (keyPacket.constructor.tag) {
case enums.packet.secretKey: {
const pubKeyPacket = PublicKeyPacket.fromSecretKeyPacket(keyPacket);
packetlist.push(pubKeyPacket);
break;
}
case enums.packet.secretSubkey: {
const pubSubkeyPacket = PublicSubkeyPacket.fromSecretSubkeyPacket(keyPacket);
packetlist.push(pubSubkeyPacket);
break;
}
default:
packetlist.push(keyPacket);
}
}
return new PublicKey(packetlist);
}
/**
* Returns ASCII armored text of key
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {ReadableStream<String>} ASCII armor.
*/
armor(config$1 = config) {
const emitChecksum = this.keyPacket.version !== 6;
return armor(enums.armor.privateKey, this.toPacketList().write(), void 0, void 0, void 0, emitChecksum, config$1);
}
/**
* Returns all keys that are available for decryption, matching the keyID when given
* This is useful to retrieve keys for session key decryption
* @param {module:type/keyid~KeyID} keyID, optional
* @param {Date} date, optional
* @param {String} userID, optional
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<Key|Subkey>>} Array of decryption keys.
* @throws {Error} if no decryption key is found
* @async
*/
async getDecryptionKeys(keyID, date = /* @__PURE__ */ new Date(), userID = {}, config$1 = config) {
const primaryKey = this.keyPacket;
const keys4 = [];
let exception2 = null;
for (let i4 = 0; i4 < this.subkeys.length; i4++) {
if (!keyID || this.subkeys[i4].getKeyID().equals(keyID, true)) {
if (this.subkeys[i4].keyPacket.isDummy()) {
exception2 = exception2 || new Error("Gnu-dummy key packets cannot be used for decryption");
continue;
}
try {
const dataToVerify = { key: primaryKey, bind: this.subkeys[i4].keyPacket };
const bindingSignature = await getLatestValidSignature(this.subkeys[i4].bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
if (validateDecryptionKeyPacket(this.subkeys[i4].keyPacket, bindingSignature, config$1)) {
keys4.push(this.subkeys[i4]);
}
} catch (e) {
exception2 = e;
}
}
}
const selfCertification = await this.getPrimarySelfSignature(date, userID, config$1);
if ((!keyID || primaryKey.getKeyID().equals(keyID, true)) && validateDecryptionKeyPacket(primaryKey, selfCertification, config$1)) {
if (primaryKey.isDummy()) {
exception2 = exception2 || new Error("Gnu-dummy key packets cannot be used for decryption");
} else {
keys4.push(this);
}
}
if (keys4.length === 0) {
throw exception2 || new Error("No decryption key packets found");
}
return keys4;
}
/**
* Returns true if the primary key or any subkey is decrypted.
* A dummy key is considered encrypted.
*/
isDecrypted() {
return this.getKeys().some(({ keyPacket }) => keyPacket.isDecrypted());
}
/**
* Check whether the private and public primary key parameters correspond
* Together with verification of binding signatures, this guarantees key integrity
* In case of gnu-dummy primary key, it is enough to validate any signing subkeys
* otherwise all encryption subkeys are validated
* If only gnu-dummy keys are found, we cannot properly validate so we throw an error
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @throws {Error} if validation was not successful and the key cannot be trusted
* @async
*/
async validate(config$1 = config) {
if (!this.isPrivate()) {
throw new Error("Cannot validate a public key");
}
let signingKeyPacket;
if (!this.keyPacket.isDummy()) {
signingKeyPacket = this.keyPacket;
} else {
const signingKey = await this.getSigningKey(null, null, void 0, { ...config$1, rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set(), minRSABits: 0 });
if (signingKey && !signingKey.keyPacket.isDummy()) {
signingKeyPacket = signingKey.keyPacket;
}
}
if (signingKeyPacket) {
return signingKeyPacket.validate();
} else {
const keys4 = this.getKeys();
const allDummies = keys4.map((key) => key.keyPacket.isDummy()).every(Boolean);
if (allDummies) {
throw new Error("Cannot validate an all-gnu-dummy key");
}
return Promise.all(keys4.map((key) => key.keyPacket.validate()));
}
}
/**
* Clear private key parameters
*/
clearPrivateParams() {
this.getKeys().forEach(({ keyPacket }) => {
if (keyPacket.isDecrypted()) {
keyPacket.clearPrivateParams();
}
});
}
/**
* Revokes the key
* @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
* @param {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
* @param {String} reasonForRevocation.string optional, string explaining the reason for revocation
* @param {Date} date - optional, override the creationtime of the revocation signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<PrivateKey>} New key with revocation signature.
* @async
*/
async revoke({ flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason, string: reasonForRevocationString = "" } = {}, date = /* @__PURE__ */ new Date(), config$1 = config) {
if (!this.isPrivate()) {
throw new Error("Need private key for revoking");
}
const dataToSign = { key: this.keyPacket };
const key = this.clone();
key.revocationSignatures.push(await createSignaturePacket(dataToSign, [], this.keyPacket, {
signatureType: enums.signature.keyRevocation,
reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
reasonForRevocationString
}, date, void 0, void 0, void 0, config$1));
return key;
}
/**
* Generates a new OpenPGP subkey, and returns a clone of the Key object with the new subkey added.
* Supports RSA and ECC keys, as well as the newer Curve448 and Curve25519.
* Defaults to the algorithm and bit size/curve of the primary key. DSA primary keys default to RSA subkeys.
* @param {ecc|rsa|curve25519|curve448} options.type The subkey algorithm: ECC, RSA, Curve448 or Curve25519 (new format).
* Note: Curve448 and Curve25519 are not widely supported yet.
* @param {String} options.curve (optional) Elliptic curve for ECC keys
* @param {Integer} options.rsaBits (optional) Number of bits for RSA subkeys
* @param {Number} options.keyExpirationTime (optional) Number of seconds from the key creation time after which the key expires
* @param {Date} options.date (optional) Override the creation date of the key and the key signatures
* @param {Boolean} options.sign (optional) Indicates whether the subkey should sign rather than encrypt. Defaults to false
* @param {Object} options.config (optional) custom configuration settings to overwrite those in [config]{@link module:config}
* @returns {Promise<PrivateKey>}
* @async
*/
async addSubkey(options = {}) {
const config$1 = { ...config, ...options.config };
if (options.passphrase) {
throw new Error("Subkey could not be encrypted here, please encrypt whole key");
}
if (options.rsaBits < config$1.minRSABits) {
throw new Error(`rsaBits should be at least ${config$1.minRSABits}, got: ${options.rsaBits}`);
}
const secretKeyPacket = this.keyPacket;
if (secretKeyPacket.isDummy()) {
throw new Error("Cannot add subkey to gnu-dummy primary key");
}
if (!secretKeyPacket.isDecrypted()) {
throw new Error("Key is not decrypted");
}
const defaultOptions4 = secretKeyPacket.getAlgorithmInfo();
defaultOptions4.type = getDefaultSubkeyType(defaultOptions4.algorithm);
defaultOptions4.rsaBits = defaultOptions4.bits || 4096;
defaultOptions4.curve = defaultOptions4.curve || "curve25519Legacy";
options = sanitizeKeyOptions(options, defaultOptions4);
const keyPacket = await generateSecretSubkey(options, { ...config$1, v6Keys: this.keyPacket.version === 6 });
checkKeyRequirements(keyPacket, config$1);
const bindingSignature = await createBindingSignature(keyPacket, secretKeyPacket, options, config$1);
const packetList = this.toPacketList();
packetList.push(keyPacket, bindingSignature);
return new _PrivateKey(packetList);
}
};
allowedKeyPackets = /* @__PURE__ */ util11.constructAllowedPackets([
PublicKeyPacket,
PublicSubkeyPacket,
SecretKeyPacket,
SecretSubkeyPacket,
UserIDPacket,
UserAttributePacket,
SignaturePacket
]);
allowedSymSessionKeyPackets = /* @__PURE__ */ util11.constructAllowedPackets([SymEncryptedSessionKeyPacket]);
allowedDetachedSignaturePackets = /* @__PURE__ */ util11.constructAllowedPackets([SignaturePacket]);
Message = class _Message {
/**
* @param {PacketList} packetlist - The packets that form this message
*/
constructor(packetlist) {
this.packets = packetlist || new PacketList();
}
/**
* Returns the key IDs of the keys to which the session key is encrypted
* @returns {Array<module:type/keyid~KeyID>} Array of keyID objects.
*/
getEncryptionKeyIDs() {
const keyIDs = [];
const pkESKeyPacketlist = this.packets.filterByTag(enums.packet.publicKeyEncryptedSessionKey);
pkESKeyPacketlist.forEach(function(packet) {
keyIDs.push(packet.publicKeyID);
});
return keyIDs;
}
/**
* Returns the key IDs of the keys that signed the message
* @returns {Array<module:type/keyid~KeyID>} Array of keyID objects.
*/
getSigningKeyIDs() {
const msg = this.unwrapCompressed();
const onePassSigList = msg.packets.filterByTag(enums.packet.onePassSignature);
if (onePassSigList.length > 0) {
return onePassSigList.map((packet) => packet.issuerKeyID);
}
const signatureList = msg.packets.filterByTag(enums.packet.signature);
return signatureList.map((packet) => packet.issuerKeyID);
}
/**
* Decrypt the message. Either a private key, a session key, or a password must be specified.
* @param {Array<PrivateKey>} [decryptionKeys] - Private keys with decrypted secret data
* @param {Array<String>} [passwords] - Passwords used to decrypt
* @param {Array<Object>} [sessionKeys] - Session keys in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] }
* @param {Date} [date] - Use the given date for key verification instead of the current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Message>} New message with decrypted content.
* @async
*/
async decrypt(decryptionKeys, passwords, sessionKeys, date = /* @__PURE__ */ new Date(), config$1 = config) {
const symEncryptedPacketlist = this.packets.filterByTag(enums.packet.symmetricallyEncryptedData, enums.packet.symEncryptedIntegrityProtectedData, enums.packet.aeadEncryptedData);
if (symEncryptedPacketlist.length === 0) {
throw new Error("No encrypted data found");
}
const symEncryptedPacket = symEncryptedPacketlist[0];
const expectedSymmetricAlgorithm = symEncryptedPacket.cipherAlgorithm;
const sessionKeyObjects = sessionKeys || await this.decryptSessionKeys(decryptionKeys, passwords, expectedSymmetricAlgorithm, date, config$1);
let exception2 = null;
const decryptedPromise = Promise.all(sessionKeyObjects.map(async ({ algorithm: algorithmName, data }) => {
if (!util11.isUint8Array(data) || !symEncryptedPacket.cipherAlgorithm && !util11.isString(algorithmName)) {
throw new Error("Invalid session key for decryption.");
}
try {
const algo = symEncryptedPacket.cipherAlgorithm || enums.write(enums.symmetric, algorithmName);
await symEncryptedPacket.decrypt(algo, data, config$1);
} catch (e) {
util11.printDebugError(e);
exception2 = e;
}
}));
cancel(symEncryptedPacket.encrypted);
symEncryptedPacket.encrypted = null;
await decryptedPromise;
if (!symEncryptedPacket.packets || !symEncryptedPacket.packets.length) {
throw exception2 || new Error("Decryption failed.");
}
const resultMsg = new _Message(symEncryptedPacket.packets);
symEncryptedPacket.packets = new PacketList();
return resultMsg;
}
/**
* Decrypt encrypted session keys either with private keys or passwords.
* @param {Array<PrivateKey>} [decryptionKeys] - Private keys with decrypted secret data
* @param {Array<String>} [passwords] - Passwords used to decrypt
* @param {enums.symmetric} [expectedSymmetricAlgorithm] - The symmetric algorithm the SEIPDv2 / AEAD packet is encrypted with (if applicable)
* @param {Date} [date] - Use the given date for key verification, instead of current time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<{
* data: Uint8Array,
* algorithm: String
* }>>} array of object with potential sessionKey, algorithm pairs
* @async
*/
async decryptSessionKeys(decryptionKeys, passwords, expectedSymmetricAlgorithm, date = /* @__PURE__ */ new Date(), config$1 = config) {
let decryptedSessionKeyPackets = [];
let exception2;
if (passwords) {
const skeskPackets = this.packets.filterByTag(enums.packet.symEncryptedSessionKey);
if (skeskPackets.length === 0) {
throw new Error("No symmetrically encrypted session key packet found.");
}
await Promise.all(passwords.map(async function(password, i4) {
let packets;
if (i4) {
packets = await PacketList.fromBinary(skeskPackets.write(), allowedSymSessionKeyPackets, config$1);
} else {
packets = skeskPackets;
}
await Promise.all(packets.map(async function(skeskPacket) {
try {
await skeskPacket.decrypt(password, config$1);
decryptedSessionKeyPackets.push(skeskPacket);
} catch (err2) {
util11.printDebugError(err2);
if (err2 instanceof Argon2OutOfMemoryError) {
exception2 = err2;
}
}
}));
}));
} else if (decryptionKeys) {
const pkeskPackets = this.packets.filterByTag(enums.packet.publicKeyEncryptedSessionKey);
if (pkeskPackets.length === 0) {
throw new Error("No public key encrypted session key packet found.");
}
await Promise.all(pkeskPackets.map(async function(pkeskPacket) {
await Promise.all(decryptionKeys.map(async function(decryptionKey) {
let decryptionKeyPackets;
try {
decryptionKeyPackets = (await decryptionKey.getDecryptionKeys(pkeskPacket.publicKeyID, null, void 0, config$1)).map((key) => key.keyPacket);
} catch (err2) {
exception2 = err2;
return;
}
let algos = [
enums.symmetric.aes256,
// Old OpenPGP.js default fallback
enums.symmetric.aes128,
// RFC4880bis fallback
enums.symmetric.tripledes,
// RFC4880 fallback
enums.symmetric.cast5
// Golang OpenPGP fallback
];
try {
const selfCertification = await decryptionKey.getPrimarySelfSignature(date, void 0, config$1);
if (selfCertification.preferredSymmetricAlgorithms) {
algos = algos.concat(selfCertification.preferredSymmetricAlgorithms);
}
} catch {
}
await Promise.all(decryptionKeyPackets.map(async function(decryptionKeyPacket) {
if (!decryptionKeyPacket.isDecrypted()) {
throw new Error("Decryption key is not decrypted.");
}
const doConstantTimeDecryption = config$1.constantTimePKCS1Decryption && (pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaEncrypt || pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaEncryptSign || pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaSign || pkeskPacket.publicKeyAlgorithm === enums.publicKey.elgamal);
if (doConstantTimeDecryption) {
const serialisedPKESK = pkeskPacket.write();
await Promise.all((expectedSymmetricAlgorithm ? [expectedSymmetricAlgorithm] : Array.from(config$1.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map(async (sessionKeyAlgorithm) => {
const pkeskPacketCopy = new PublicKeyEncryptedSessionKeyPacket();
pkeskPacketCopy.read(serialisedPKESK);
const randomSessionKey = {
sessionKeyAlgorithm,
sessionKey: generateSessionKey$1(sessionKeyAlgorithm)
};
try {
await pkeskPacketCopy.decrypt(decryptionKeyPacket, randomSessionKey);
decryptedSessionKeyPackets.push(pkeskPacketCopy);
} catch (err2) {
util11.printDebugError(err2);
exception2 = err2;
}
}));
} else {
try {
await pkeskPacket.decrypt(decryptionKeyPacket);
const symmetricAlgorithm = expectedSymmetricAlgorithm || pkeskPacket.sessionKeyAlgorithm;
if (symmetricAlgorithm && !algos.includes(enums.write(enums.symmetric, symmetricAlgorithm))) {
throw new Error("A non-preferred symmetric algorithm was used.");
}
decryptedSessionKeyPackets.push(pkeskPacket);
} catch (err2) {
util11.printDebugError(err2);
exception2 = err2;
}
}
}));
}));
cancel(pkeskPacket.encrypted);
pkeskPacket.encrypted = null;
}));
} else {
throw new Error("No key or password specified.");
}
if (decryptedSessionKeyPackets.length > 0) {
if (decryptedSessionKeyPackets.length > 1) {
const seen = /* @__PURE__ */ new Set();
decryptedSessionKeyPackets = decryptedSessionKeyPackets.filter((item) => {
const k2 = item.sessionKeyAlgorithm + util11.uint8ArrayToString(item.sessionKey);
if (seen.has(k2)) {
return false;
}
seen.add(k2);
return true;
});
}
return decryptedSessionKeyPackets.map((packet) => ({
data: packet.sessionKey,
algorithm: packet.sessionKeyAlgorithm && enums.read(enums.symmetric, packet.sessionKeyAlgorithm)
}));
}
throw exception2 || new Error("Session key decryption failed.");
}
/**
* Get literal data that is the body of the message
* @returns {(Uint8Array|null)} Literal body of the message as Uint8Array.
*/
getLiteralData() {
const msg = this.unwrapCompressed();
const literal = msg.packets.findPacket(enums.packet.literalData);
return literal && literal.getBytes() || null;
}
/**
* Get filename from literal data packet
* @returns {(String|null)} Filename of literal data packet as string.
*/
getFilename() {
const msg = this.unwrapCompressed();
const literal = msg.packets.findPacket(enums.packet.literalData);
return literal && literal.getFilename() || null;
}
/**
* Get literal data as text
* @returns {(String|null)} Literal body of the message interpreted as text.
*/
getText() {
const msg = this.unwrapCompressed();
const literal = msg.packets.findPacket(enums.packet.literalData);
if (literal) {
return literal.getText();
}
return null;
}
/**
* Generate a new session key object, taking the algorithm preferences of the passed encryption keys into account, if any.
* @param {Array<PublicKey>} [encryptionKeys] - Public key(s) to select algorithm preferences for
* @param {Date} [date] - Date to select algorithm preferences at
* @param {Array<Object>} [userIDs] - User IDs to select algorithm preferences for
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<{ data: Uint8Array, algorithm: String, aeadAlgorithm: undefined|String }>} Object with session key data and algorithms.
* @async
*/
static async generateSessionKey(encryptionKeys = [], date = /* @__PURE__ */ new Date(), userIDs = [], config$1 = config) {
const { symmetricAlgo, aeadAlgo } = await getPreferredCipherSuite(encryptionKeys, date, userIDs, config$1);
const symmetricAlgoName = enums.read(enums.symmetric, symmetricAlgo);
const aeadAlgoName = aeadAlgo ? enums.read(enums.aead, aeadAlgo) : void 0;
await Promise.all(encryptionKeys.map((key) => key.getEncryptionKey().catch(() => null).then((maybeKey) => {
if (maybeKey && (maybeKey.keyPacket.algorithm === enums.publicKey.x25519 || maybeKey.keyPacket.algorithm === enums.publicKey.x448) && !aeadAlgoName && !util11.isAES(symmetricAlgo)) {
throw new Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.");
}
})));
const sessionKeyData = generateSessionKey$1(symmetricAlgo);
return { data: sessionKeyData, algorithm: symmetricAlgoName, aeadAlgorithm: aeadAlgoName };
}
/**
* Encrypt the message either with public keys, passwords, or both at once.
* @param {Array<PublicKey>} [encryptionKeys] - Public key(s) for message encryption
* @param {Array<String>} [passwords] - Password(s) for message encryption
* @param {Object} [sessionKey] - Session key in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] }
* @param {Boolean} [wildcard] - Use a key ID of 0 instead of the public key IDs
* @param {Array<module:type/keyid~KeyID>} [encryptionKeyIDs] - Array of key IDs to use for encryption. Each encryptionKeyIDs[i] corresponds to keys[i]
* @param {Date} [date] - Override the creation date of the literal package
* @param {Array<Object>} [userIDs] - User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }]
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Message>} New message with encrypted content.
* @async
*/
async encrypt(encryptionKeys, passwords, sessionKey, wildcard = false, encryptionKeyIDs = [], date = /* @__PURE__ */ new Date(), userIDs = [], config$1 = config) {
if (sessionKey) {
if (!util11.isUint8Array(sessionKey.data) || !util11.isString(sessionKey.algorithm)) {
throw new Error("Invalid session key for encryption.");
}
} else if (encryptionKeys && encryptionKeys.length) {
sessionKey = await _Message.generateSessionKey(encryptionKeys, date, userIDs, config$1);
} else if (passwords && passwords.length) {
sessionKey = await _Message.generateSessionKey(void 0, void 0, void 0, config$1);
} else {
throw new Error("No keys, passwords, or session key provided.");
}
const { data: sessionKeyData, algorithm: algorithmName, aeadAlgorithm: aeadAlgorithmName } = sessionKey;
const msg = await _Message.encryptSessionKey(sessionKeyData, algorithmName, aeadAlgorithmName, encryptionKeys, passwords, wildcard, encryptionKeyIDs, date, userIDs, config$1);
const symEncryptedPacket = SymEncryptedIntegrityProtectedDataPacket.fromObject({
version: aeadAlgorithmName ? 2 : 1,
aeadAlgorithm: aeadAlgorithmName ? enums.write(enums.aead, aeadAlgorithmName) : null
});
symEncryptedPacket.packets = this.packets;
const algorithm = enums.write(enums.symmetric, algorithmName);
await symEncryptedPacket.encrypt(algorithm, sessionKeyData, config$1);
msg.packets.push(symEncryptedPacket);
symEncryptedPacket.packets = new PacketList();
return msg;
}
/**
* Encrypt a session key either with public keys, passwords, or both at once.
* @param {Uint8Array} sessionKey - session key for encryption
* @param {String} algorithmName - session key algorithm
* @param {String} [aeadAlgorithmName] - AEAD algorithm, e.g. 'eax' or 'ocb'
* @param {Array<PublicKey>} [encryptionKeys] - Public key(s) for message encryption
* @param {Array<String>} [passwords] - For message encryption
* @param {Boolean} [wildcard] - Use a key ID of 0 instead of the public key IDs
* @param {Array<module:type/keyid~KeyID>} [encryptionKeyIDs] - Array of key IDs to use for encryption. Each encryptionKeyIDs[i] corresponds to encryptionKeys[i]
* @param {Date} [date] - Override the date
* @param {Array} [userIDs] - User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }]
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Message>} New message with encrypted content.
* @async
*/
static async encryptSessionKey(sessionKey, algorithmName, aeadAlgorithmName, encryptionKeys, passwords, wildcard = false, encryptionKeyIDs = [], date = /* @__PURE__ */ new Date(), userIDs = [], config$1 = config) {
const packetlist = new PacketList();
const symmetricAlgorithm = enums.write(enums.symmetric, algorithmName);
const aeadAlgorithm = aeadAlgorithmName && enums.write(enums.aead, aeadAlgorithmName);
if (encryptionKeys) {
const results = await Promise.all(encryptionKeys.map(async function(primaryKey, i4) {
const encryptionKey = await primaryKey.getEncryptionKey(encryptionKeyIDs[i4], date, userIDs, config$1);
const pkESKeyPacket = PublicKeyEncryptedSessionKeyPacket.fromObject({
version: aeadAlgorithm ? 6 : 3,
encryptionKeyPacket: encryptionKey.keyPacket,
anonymousRecipient: wildcard,
sessionKey,
sessionKeyAlgorithm: symmetricAlgorithm
});
await pkESKeyPacket.encrypt(encryptionKey.keyPacket);
delete pkESKeyPacket.sessionKey;
return pkESKeyPacket;
}));
packetlist.push(...results);
}
if (passwords) {
const testDecrypt = async function(keyPacket, password) {
try {
await keyPacket.decrypt(password, config$1);
return 1;
} catch {
return 0;
}
};
const sum = (accumulator, currentValue) => accumulator + currentValue;
const encryptPassword = async function(sessionKey2, algorithm, aeadAlgorithm2, password) {
const symEncryptedSessionKeyPacket = new SymEncryptedSessionKeyPacket(config$1);
symEncryptedSessionKeyPacket.sessionKey = sessionKey2;
symEncryptedSessionKeyPacket.sessionKeyAlgorithm = algorithm;
if (aeadAlgorithm2) {
symEncryptedSessionKeyPacket.aeadAlgorithm = aeadAlgorithm2;
}
await symEncryptedSessionKeyPacket.encrypt(password, config$1);
if (config$1.passwordCollisionCheck) {
const results2 = await Promise.all(passwords.map((pwd) => testDecrypt(symEncryptedSessionKeyPacket, pwd)));
if (results2.reduce(sum) !== 1) {
return encryptPassword(sessionKey2, algorithm, password);
}
}
delete symEncryptedSessionKeyPacket.sessionKey;
return symEncryptedSessionKeyPacket;
};
const results = await Promise.all(passwords.map((pwd) => encryptPassword(sessionKey, symmetricAlgorithm, aeadAlgorithm, pwd)));
packetlist.push(...results);
}
return new _Message(packetlist);
}
/**
* Sign the message (the literal data packet of the message)
* @param {Array<PrivateKey>} signingKeys - private keys with decrypted secret key data for signing
* @param {Array<Key>} recipientKeys - recipient keys to get the signing preferences from
* @param {Signature} [signature] - Any existing detached signature to add to the message
* @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
* @param {Date} [date] - Override the creation time of the signature
* @param {Array<UserID>} [signingUserIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
* @param {Array<UserID>} [recipientUserIDs] - User IDs associated with `recipientKeys` to get the signing preferences from
* @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Message>} New message with signed content.
* @async
*/
async sign(signingKeys = [], recipientKeys = [], signature = null, signingKeyIDs = [], date = /* @__PURE__ */ new Date(), signingUserIDs = [], recipientUserIDs = [], notations = [], config$1 = config) {
const packetlist = new PacketList();
const literalDataPacket = this.packets.findPacket(enums.packet.literalData);
if (!literalDataPacket) {
throw new Error("No literal data packet to sign.");
}
const signaturePackets = await createSignaturePackets(literalDataPacket, signingKeys, recipientKeys, signature, signingKeyIDs, date, signingUserIDs, recipientUserIDs, notations, false, config$1);
const onePassSignaturePackets = signaturePackets.map((signaturePacket, i4) => OnePassSignaturePacket.fromSignaturePacket(signaturePacket, i4 === 0)).reverse();
packetlist.push(...onePassSignaturePackets);
packetlist.push(literalDataPacket);
packetlist.push(...signaturePackets);
return new _Message(packetlist);
}
/**
* Compresses the message (the literal and -if signed- signature data packets of the message)
* @param {module:enums.compression} algo - compression algorithm
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Message} New message with compressed content.
*/
compress(algo, config$1 = config) {
if (algo === enums.compression.uncompressed) {
return this;
}
const compressed = new CompressedDataPacket(config$1);
compressed.algorithm = algo;
compressed.packets = this.packets;
const packetList = new PacketList();
packetList.push(compressed);
return new _Message(packetList);
}
/**
* Create a detached signature for the message (the literal data packet of the message)
* @param {Array<PrivateKey>} signingKeys - private keys with decrypted secret key data for signing
* @param {Array<Key>} recipientKeys - recipient keys to get the signing preferences from
* @param {Signature} [signature] - Any existing detached signature
* @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
* @param {Date} [date] - Override the creation time of the signature
* @param {Array<UserID>} [signingUserIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
* @param {Array<UserID>} [recipientUserIDs] - User IDs associated with `recipientKeys` to get the signing preferences from
* @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Signature>} New detached signature of message content.
* @async
*/
async signDetached(signingKeys = [], recipientKeys = [], signature = null, signingKeyIDs = [], recipientKeyIDs = [], date = /* @__PURE__ */ new Date(), userIDs = [], notations = [], config$1 = config) {
const literalDataPacket = this.packets.findPacket(enums.packet.literalData);
if (!literalDataPacket) {
throw new Error("No literal data packet to sign.");
}
return new Signature(await createSignaturePackets(literalDataPacket, signingKeys, recipientKeys, signature, signingKeyIDs, recipientKeyIDs, date, userIDs, notations, true, config$1));
}
/**
* Verify message signatures
* @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
* @param {Date} [date] - Verify the signature against the given date, i.e. check signature creation time < date < expiration time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<{
* keyID: module:type/keyid~KeyID,
* signature: Promise<Signature>,
* verified: Promise<true>
* }>>} List of signer's keyID and validity of signatures.
* @async
*/
async verify(verificationKeys, date = /* @__PURE__ */ new Date(), config$1 = config) {
const msg = this.unwrapCompressed();
const literalDataList = msg.packets.filterByTag(enums.packet.literalData);
if (literalDataList.length !== 1) {
throw new Error("Can only verify message with one literal data packet.");
}
let packets = msg.packets;
if (isArrayStream(packets.stream)) {
packets = packets.concat(await readToEnd(packets.stream, (_) => _ || []));
}
const onePassSigList = packets.filterByTag(enums.packet.onePassSignature).reverse();
const signatureList = packets.filterByTag(enums.packet.signature);
if (onePassSigList.length && !signatureList.length && util11.isStream(packets.stream) && !isArrayStream(packets.stream)) {
await Promise.all(onePassSigList.map(async (onePassSig) => {
onePassSig.correspondingSig = new Promise((resolve4, reject3) => {
onePassSig.correspondingSigResolve = resolve4;
onePassSig.correspondingSigReject = reject3;
});
onePassSig.signatureData = fromAsync(async () => (await onePassSig.correspondingSig).signatureData);
onePassSig.hashed = readToEnd(await onePassSig.hash(onePassSig.signatureType, literalDataList[0], void 0, false));
onePassSig.hashed.catch(() => {
});
}));
packets.stream = transformPair(packets.stream, async (readable2, writable2) => {
const reader = getReader(readable2);
const writer = getWriter(writable2);
try {
for (let i4 = 0; i4 < onePassSigList.length; i4++) {
const { value: signature } = await reader.read();
onePassSigList[i4].correspondingSigResolve(signature);
}
await reader.readToEnd();
await writer.ready;
await writer.close();
} catch (e) {
onePassSigList.forEach((onePassSig) => {
onePassSig.correspondingSigReject(e);
});
await writer.abort(e);
}
});
return createVerificationObjects(onePassSigList, literalDataList, verificationKeys, date, false, config$1);
}
return createVerificationObjects(signatureList, literalDataList, verificationKeys, date, false, config$1);
}
/**
* Verify detached message signature
* @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
* @param {Signature} signature
* @param {Date} date - Verify the signature against the given date, i.e. check signature creation time < date < expiration time
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {Promise<Array<{
* keyID: module:type/keyid~KeyID,
* signature: Promise<Signature>,
* verified: Promise<true>
* }>>} List of signer's keyID and validity of signature.
* @async needed to avoid breaking change until next major release
*/
// eslint-disable-next-line @typescript-eslint/require-await
async verifyDetached(signature, verificationKeys, date = /* @__PURE__ */ new Date(), config$1 = config) {
const msg = this.unwrapCompressed();
const literalDataList = msg.packets.filterByTag(enums.packet.literalData);
if (literalDataList.length !== 1) {
throw new Error("Can only verify message with one literal data packet.");
}
const signatureList = signature.packets.filterByTag(enums.packet.signature);
return createVerificationObjects(signatureList, literalDataList, verificationKeys, date, true, config$1);
}
/**
* Unwrap compressed message
* @returns {Message} Message Content of compressed message.
*/
unwrapCompressed() {
const compressed = this.packets.filterByTag(enums.packet.compressedData);
if (compressed.length) {
return new _Message(compressed[0].packets);
}
return this;
}
/**
* Append signature to unencrypted message object
* @param {String|Uint8Array} detachedSignature - The detached ASCII-armored or Uint8Array PGP signature
* @param {Object} [config] - Full configuration, defaults to openpgp.config
*/
async appendSignature(detachedSignature, config$1 = config) {
await this.packets.read(util11.isUint8Array(detachedSignature) ? detachedSignature : (await unarmor(detachedSignature)).data, allowedDetachedSignaturePackets, config$1);
}
/**
* Returns binary encoded message
* @returns {ReadableStream<Uint8Array>} Binary message.
*/
write() {
return this.packets.write();
}
/**
* Returns ASCII armored text of message
* @param {Object} [config] - Full configuration, defaults to openpgp.config
* @returns {ReadableStream<String>} ASCII armor.
*/
armor(config$1 = config) {
const trailingPacket = this.packets[this.packets.length - 1];
const emitChecksum = trailingPacket.constructor.tag === SymEncryptedIntegrityProtectedDataPacket.tag ? trailingPacket.version !== 2 : this.packets.some((packet) => packet.constructor.tag === SignaturePacket.tag && packet.version !== 6);
return armor(enums.armor.message, this.write(), null, null, null, emitChecksum, config$1);
}
};
defaultConfigPropsCount = Object.keys(config).length;
crypto$2 = nc && typeof nc === "object" && "webcrypto" in nc ? nc.webcrypto : nc && typeof nc === "object" && "randomBytes" in nc ? nc : void 0;
isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68)();
swap32IfBE = isLE ? (u2) => u2 : byteSwap32;
hasHexBuiltin = /* @__PURE__ */ (() => (
// @ts-ignore
typeof Uint8Array.from([]).toHex === "function" && typeof Uint8Array.fromHex === "function"
))();
hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i4) => i4.toString(16).padStart(2, "0"));
asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
Hash = class {
};
wrapConstructor = createHasher;
_0n$6 = /* @__PURE__ */ BigInt(0);
_1n$7 = /* @__PURE__ */ BigInt(1);
isPosBig = (n2) => typeof n2 === "bigint" && _0n$6 <= n2;
bitMask = (n2) => (_1n$7 << BigInt(n2)) - _1n$7;
_0n$5 = BigInt(0);
_1n$6 = BigInt(1);
_2n$6 = /* @__PURE__ */ BigInt(2);
_3n$2 = /* @__PURE__ */ BigInt(3);
_4n$1 = /* @__PURE__ */ BigInt(4);
_5n = /* @__PURE__ */ BigInt(5);
_7n$1 = /* @__PURE__ */ BigInt(7);
_8n$1 = /* @__PURE__ */ BigInt(8);
_9n = /* @__PURE__ */ BigInt(9);
_16n = /* @__PURE__ */ BigInt(16);
FIELD_FIELDS = [
"create",
"isValid",
"is0",
"neg",
"inv",
"sqrt",
"sqr",
"eql",
"add",
"sub",
"mul",
"pow",
"div",
"addN",
"subN",
"mulN",
"sqrN"
];
HashMD = class extends Hash {
constructor(blockLen, outputLen, padOffset, isLE2) {
super();
this.finished = false;
this.length = 0;
this.pos = 0;
this.destroyed = false;
this.blockLen = blockLen;
this.outputLen = outputLen;
this.padOffset = padOffset;
this.isLE = isLE2;
this.buffer = new Uint8Array(blockLen);
this.view = createView(this.buffer);
}
update(data) {
aexists(this);
data = toBytes(data);
abytes(data);
const { view, buffer: buffer3, blockLen } = this;
const len = data.length;
for (let pos = 0; pos < len; ) {
const take10 = Math.min(blockLen - this.pos, len - pos);
if (take10 === blockLen) {
const dataView2 = createView(data);
for (; blockLen <= len - pos; pos += blockLen)
this.process(dataView2, pos);
continue;
}
buffer3.set(data.subarray(pos, pos + take10), this.pos);
this.pos += take10;
pos += take10;
if (this.pos === blockLen) {
this.process(view, 0);
this.pos = 0;
}
}
this.length += data.length;
this.roundClean();
return this;
}
digestInto(out) {
aexists(this);
aoutput(out, this);
this.finished = true;
const { buffer: buffer3, view, blockLen, isLE: isLE2 } = this;
let { pos } = this;
buffer3[pos++] = 128;
clean(this.buffer.subarray(pos));
if (this.padOffset > blockLen - pos) {
this.process(view, 0);
pos = 0;
}
for (let i4 = pos; i4 < blockLen; i4++)
buffer3[i4] = 0;
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE2);
this.process(view, 0);
const oview = createView(out);
const len = this.outputLen;
if (len % 4)
throw new Error("_sha2: outputLen should be aligned to 32bit");
const outLen = len / 4;
const state = this.get();
if (outLen > state.length)
throw new Error("_sha2: outputLen bigger than state");
for (let i4 = 0; i4 < outLen; i4++)
oview.setUint32(4 * i4, state[i4], isLE2);
}
digest() {
const { buffer: buffer3, outputLen } = this;
this.digestInto(buffer3);
const res = buffer3.slice(0, outputLen);
this.destroy();
return res;
}
_cloneInto(to) {
to || (to = new this.constructor());
to.set(...this.get());
const { blockLen, buffer: buffer3, length, finished: finished7, destroyed, pos } = this;
to.destroyed = destroyed;
to.finished = finished7;
to.length = length;
to.pos = pos;
if (length % blockLen)
to.buffer.set(buffer3);
return to;
}
clone() {
return this._cloneInto();
}
};
SHA256_IV = /* @__PURE__ */ Uint32Array.from([
1779033703,
3144134277,
1013904242,
2773480762,
1359893119,
2600822924,
528734635,
1541459225
]);
SHA224_IV = /* @__PURE__ */ Uint32Array.from([
3238371032,
914150663,
812702999,
4144912697,
4290775857,
1750603025,
1694076839,
3204075428
]);
SHA384_IV = /* @__PURE__ */ Uint32Array.from([
3418070365,
3238371032,
1654270250,
914150663,
2438529370,
812702999,
355462360,
4144912697,
1731405415,
4290775857,
2394180231,
1750603025,
3675008525,
1694076839,
1203062813,
3204075428
]);
SHA512_IV = /* @__PURE__ */ Uint32Array.from([
1779033703,
4089235720,
3144134277,
2227873595,
1013904242,
4271175723,
2773480762,
1595750129,
1359893119,
2917565137,
2600822924,
725511199,
528734635,
4215389547,
1541459225,
327033209
]);
U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
_32n = /* @__PURE__ */ BigInt(32);
shrSH = (h2, _l, s) => h2 >>> s;
shrSL = (h2, l, s) => h2 << 32 - s | l >>> s;
rotrSH = (h2, l, s) => h2 >>> s | l << 32 - s;
rotrSL = (h2, l, s) => h2 << 32 - s | l >>> s;
rotrBH = (h2, l, s) => h2 << 64 - s | l >>> s - 32;
rotrBL = (h2, l, s) => h2 >>> s - 32 | l << 64 - s;
rotlSH = (h2, l, s) => h2 << s | l >>> 32 - s;
rotlSL = (h2, l, s) => l << s | h2 >>> 32 - s;
rotlBH = (h2, l, s) => l << s - 32 | h2 >>> 64 - s;
rotlBL = (h2, l, s) => h2 << s - 32 | l >>> 64 - s;
add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0;
add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0;
add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0;
SHA256_K = /* @__PURE__ */ Uint32Array.from([
1116352408,
1899447441,
3049323471,
3921009573,
961987163,
1508970993,
2453635748,
2870763221,
3624381080,
310598401,
607225278,
1426881987,
1925078388,
2162078206,
2614888103,
3248222580,
3835390401,
4022224774,
264347078,
604807628,
770255983,
1249150122,
1555081692,
1996064986,
2554220882,
2821834349,
2952996808,
3210313671,
3336571891,
3584528711,
113926993,
338241895,
666307205,
773529912,
1294757372,
1396182291,
1695183700,
1986661051,
2177026350,
2456956037,
2730485921,
2820302411,
3259730800,
3345764771,
3516065817,
3600352804,
4094571909,
275423344,
430227734,
506948616,
659060556,
883997877,
958139571,
1322822218,
1537002063,
1747873779,
1955562222,
2024104815,
2227730452,
2361852424,
2428436474,
2756734187,
3204031479,
3329325298
]);
SHA256_W = /* @__PURE__ */ new Uint32Array(64);
SHA256 = class extends HashMD {
constructor(outputLen = 32) {
super(64, outputLen, 8, false);
this.A = SHA256_IV[0] | 0;
this.B = SHA256_IV[1] | 0;
this.C = SHA256_IV[2] | 0;
this.D = SHA256_IV[3] | 0;
this.E = SHA256_IV[4] | 0;
this.F = SHA256_IV[5] | 0;
this.G = SHA256_IV[6] | 0;
this.H = SHA256_IV[7] | 0;
}
get() {
const { A: A2, B, C, D: D3, E, F, G: G3, H: H2 } = this;
return [A2, B, C, D3, E, F, G3, H2];
}
// prettier-ignore
set(A2, B, C, D3, E, F, G3, H2) {
this.A = A2 | 0;
this.B = B | 0;
this.C = C | 0;
this.D = D3 | 0;
this.E = E | 0;
this.F = F | 0;
this.G = G3 | 0;
this.H = H2 | 0;
}
process(view, offset) {
for (let i4 = 0; i4 < 16; i4++, offset += 4)
SHA256_W[i4] = view.getUint32(offset, false);
for (let i4 = 16; i4 < 64; i4++) {
const W15 = SHA256_W[i4 - 15];
const W2 = SHA256_W[i4 - 2];
const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3;
const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10;
SHA256_W[i4] = s1 + SHA256_W[i4 - 7] + s0 + SHA256_W[i4 - 16] | 0;
}
let { A: A2, B, C, D: D3, E, F, G: G3, H: H2 } = this;
for (let i4 = 0; i4 < 64; i4++) {
const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
const T1 = H2 + sigma1 + Chi$1(E, F, G3) + SHA256_K[i4] + SHA256_W[i4] | 0;
const sigma0 = rotr(A2, 2) ^ rotr(A2, 13) ^ rotr(A2, 22);
const T2 = sigma0 + Maj(A2, B, C) | 0;
H2 = G3;
G3 = F;
F = E;
E = D3 + T1 | 0;
D3 = C;
C = B;
B = A2;
A2 = T1 + T2 | 0;
}
A2 = A2 + this.A | 0;
B = B + this.B | 0;
C = C + this.C | 0;
D3 = D3 + this.D | 0;
E = E + this.E | 0;
F = F + this.F | 0;
G3 = G3 + this.G | 0;
H2 = H2 + this.H | 0;
this.set(A2, B, C, D3, E, F, G3, H2);
}
roundClean() {
clean(SHA256_W);
}
destroy() {
this.set(0, 0, 0, 0, 0, 0, 0, 0);
clean(this.buffer);
}
};
SHA224 = class extends SHA256 {
constructor() {
super(28);
this.A = SHA224_IV[0] | 0;
this.B = SHA224_IV[1] | 0;
this.C = SHA224_IV[2] | 0;
this.D = SHA224_IV[3] | 0;
this.E = SHA224_IV[4] | 0;
this.F = SHA224_IV[5] | 0;
this.G = SHA224_IV[6] | 0;
this.H = SHA224_IV[7] | 0;
}
};
K512 = /* @__PURE__ */ (() => split2([
"0x428a2f98d728ae22",
"0x7137449123ef65cd",
"0xb5c0fbcfec4d3b2f",
"0xe9b5dba58189dbbc",
"0x3956c25bf348b538",
"0x59f111f1b605d019",
"0x923f82a4af194f9b",
"0xab1c5ed5da6d8118",
"0xd807aa98a3030242",
"0x12835b0145706fbe",
"0x243185be4ee4b28c",
"0x550c7dc3d5ffb4e2",
"0x72be5d74f27b896f",
"0x80deb1fe3b1696b1",
"0x9bdc06a725c71235",
"0xc19bf174cf692694",
"0xe49b69c19ef14ad2",
"0xefbe4786384f25e3",
"0x0fc19dc68b8cd5b5",
"0x240ca1cc77ac9c65",
"0x2de92c6f592b0275",
"0x4a7484aa6ea6e483",
"0x5cb0a9dcbd41fbd4",
"0x76f988da831153b5",
"0x983e5152ee66dfab",
"0xa831c66d2db43210",
"0xb00327c898fb213f",
"0xbf597fc7beef0ee4",
"0xc6e00bf33da88fc2",
"0xd5a79147930aa725",
"0x06ca6351e003826f",
"0x142929670a0e6e70",
"0x27b70a8546d22ffc",
"0x2e1b21385c26c926",
"0x4d2c6dfc5ac42aed",
"0x53380d139d95b3df",
"0x650a73548baf63de",
"0x766a0abb3c77b2a8",
"0x81c2c92e47edaee6",
"0x92722c851482353b",
"0xa2bfe8a14cf10364",
"0xa81a664bbc423001",
"0xc24b8b70d0f89791",
"0xc76c51a30654be30",
"0xd192e819d6ef5218",
"0xd69906245565a910",
"0xf40e35855771202a",
"0x106aa07032bbd1b8",
"0x19a4c116b8d2d0c8",
"0x1e376c085141ab53",
"0x2748774cdf8eeb99",
"0x34b0bcb5e19b48a8",
"0x391c0cb3c5c95a63",
"0x4ed8aa4ae3418acb",
"0x5b9cca4f7763e373",
"0x682e6ff3d6b2b8a3",
"0x748f82ee5defb2fc",
"0x78a5636f43172f60",
"0x84c87814a1f0ab72",
"0x8cc702081a6439ec",
"0x90befffa23631e28",
"0xa4506cebde82bde9",
"0xbef9a3f7b2c67915",
"0xc67178f2e372532b",
"0xca273eceea26619c",
"0xd186b8c721c0c207",
"0xeada7dd6cde0eb1e",
"0xf57d4f7fee6ed178",
"0x06f067aa72176fba",
"0x0a637dc5a2c898a6",
"0x113f9804bef90dae",
"0x1b710b35131c471b",
"0x28db77f523047d84",
"0x32caab7b40c72493",
"0x3c9ebe0a15c9bebc",
"0x431d67c49c100d4c",
"0x4cc5d4becb3e42b6",
"0x597f299cfc657e2a",
"0x5fcb6fab3ad6faec",
"0x6c44198c4a475817"
].map((n2) => BigInt(n2))))();
SHA512_Kh = /* @__PURE__ */ (() => K512[0])();
SHA512_Kl = /* @__PURE__ */ (() => K512[1])();
SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);
SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);
SHA512 = class extends HashMD {
constructor(outputLen = 64) {
super(128, outputLen, 16, false);
this.Ah = SHA512_IV[0] | 0;
this.Al = SHA512_IV[1] | 0;
this.Bh = SHA512_IV[2] | 0;
this.Bl = SHA512_IV[3] | 0;
this.Ch = SHA512_IV[4] | 0;
this.Cl = SHA512_IV[5] | 0;
this.Dh = SHA512_IV[6] | 0;
this.Dl = SHA512_IV[7] | 0;
this.Eh = SHA512_IV[8] | 0;
this.El = SHA512_IV[9] | 0;
this.Fh = SHA512_IV[10] | 0;
this.Fl = SHA512_IV[11] | 0;
this.Gh = SHA512_IV[12] | 0;
this.Gl = SHA512_IV[13] | 0;
this.Hh = SHA512_IV[14] | 0;
this.Hl = SHA512_IV[15] | 0;
}
// prettier-ignore
get() {
const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];
}
// prettier-ignore
set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {
this.Ah = Ah | 0;
this.Al = Al | 0;
this.Bh = Bh | 0;
this.Bl = Bl | 0;
this.Ch = Ch | 0;
this.Cl = Cl | 0;
this.Dh = Dh | 0;
this.Dl = Dl | 0;
this.Eh = Eh | 0;
this.El = El | 0;
this.Fh = Fh | 0;
this.Fl = Fl | 0;
this.Gh = Gh | 0;
this.Gl = Gl | 0;
this.Hh = Hh | 0;
this.Hl = Hl | 0;
}
process(view, offset) {
for (let i4 = 0; i4 < 16; i4++, offset += 4) {
SHA512_W_H[i4] = view.getUint32(offset);
SHA512_W_L[i4] = view.getUint32(offset += 4);
}
for (let i4 = 16; i4 < 80; i4++) {
const W15h = SHA512_W_H[i4 - 15] | 0;
const W15l = SHA512_W_L[i4 - 15] | 0;
const s0h = rotrSH(W15h, W15l, 1) ^ rotrSH(W15h, W15l, 8) ^ shrSH(W15h, W15l, 7);
const s0l = rotrSL(W15h, W15l, 1) ^ rotrSL(W15h, W15l, 8) ^ shrSL(W15h, W15l, 7);
const W2h = SHA512_W_H[i4 - 2] | 0;
const W2l = SHA512_W_L[i4 - 2] | 0;
const s1h = rotrSH(W2h, W2l, 19) ^ rotrBH(W2h, W2l, 61) ^ shrSH(W2h, W2l, 6);
const s1l = rotrSL(W2h, W2l, 19) ^ rotrBL(W2h, W2l, 61) ^ shrSL(W2h, W2l, 6);
const SUMl = add4L(s0l, s1l, SHA512_W_L[i4 - 7], SHA512_W_L[i4 - 16]);
const SUMh = add4H(SUMl, s0h, s1h, SHA512_W_H[i4 - 7], SHA512_W_H[i4 - 16]);
SHA512_W_H[i4] = SUMh | 0;
SHA512_W_L[i4] = SUMl | 0;
}
let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
for (let i4 = 0; i4 < 80; i4++) {
const sigma1h = rotrSH(Eh, El, 14) ^ rotrSH(Eh, El, 18) ^ rotrBH(Eh, El, 41);
const sigma1l = rotrSL(Eh, El, 14) ^ rotrSL(Eh, El, 18) ^ rotrBL(Eh, El, 41);
const CHIh = Eh & Fh ^ ~Eh & Gh;
const CHIl = El & Fl ^ ~El & Gl;
const T1ll = add5L(Hl, sigma1l, CHIl, SHA512_Kl[i4], SHA512_W_L[i4]);
const T1h = add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i4], SHA512_W_H[i4]);
const T1l = T1ll | 0;
const sigma0h = rotrSH(Ah, Al, 28) ^ rotrBH(Ah, Al, 34) ^ rotrBH(Ah, Al, 39);
const sigma0l = rotrSL(Ah, Al, 28) ^ rotrBL(Ah, Al, 34) ^ rotrBL(Ah, Al, 39);
const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch;
const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl;
Hh = Gh | 0;
Hl = Gl | 0;
Gh = Fh | 0;
Gl = Fl | 0;
Fh = Eh | 0;
Fl = El | 0;
({ h: Eh, l: El } = add$1(Dh | 0, Dl | 0, T1h | 0, T1l | 0));
Dh = Ch | 0;
Dl = Cl | 0;
Ch = Bh | 0;
Cl = Bl | 0;
Bh = Ah | 0;
Bl = Al | 0;
const All = add3L(T1l, sigma0l, MAJl);
Ah = add3H(All, T1h, sigma0h, MAJh);
Al = All | 0;
}
({ h: Ah, l: Al } = add$1(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));
({ h: Bh, l: Bl } = add$1(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));
({ h: Ch, l: Cl } = add$1(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));
({ h: Dh, l: Dl } = add$1(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));
({ h: Eh, l: El } = add$1(this.Eh | 0, this.El | 0, Eh | 0, El | 0));
({ h: Fh, l: Fl } = add$1(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));
({ h: Gh, l: Gl } = add$1(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));
({ h: Hh, l: Hl } = add$1(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));
this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);
}
roundClean() {
clean(SHA512_W_H, SHA512_W_L);
}
destroy() {
clean(this.buffer);
this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
};
SHA384 = class extends SHA512 {
constructor() {
super(48);
this.Ah = SHA384_IV[0] | 0;
this.Al = SHA384_IV[1] | 0;
this.Bh = SHA384_IV[2] | 0;
this.Bl = SHA384_IV[3] | 0;
this.Ch = SHA384_IV[4] | 0;
this.Cl = SHA384_IV[5] | 0;
this.Dh = SHA384_IV[6] | 0;
this.Dl = SHA384_IV[7] | 0;
this.Eh = SHA384_IV[8] | 0;
this.El = SHA384_IV[9] | 0;
this.Fh = SHA384_IV[10] | 0;
this.Fl = SHA384_IV[11] | 0;
this.Gh = SHA384_IV[12] | 0;
this.Gl = SHA384_IV[13] | 0;
this.Hh = SHA384_IV[14] | 0;
this.Hl = SHA384_IV[15] | 0;
}
};
sha256$1 = /* @__PURE__ */ createHasher(() => new SHA256());
sha224$1 = /* @__PURE__ */ createHasher(() => new SHA224());
sha512$1 = /* @__PURE__ */ createHasher(() => new SHA512());
sha384$1 = /* @__PURE__ */ createHasher(() => new SHA384());
HMAC = class extends Hash {
constructor(hash2, _key) {
super();
this.finished = false;
this.destroyed = false;
ahash(hash2);
const key = toBytes(_key);
this.iHash = hash2.create();
if (typeof this.iHash.update !== "function")
throw new Error("Expected instance of class which extends utils.Hash");
this.blockLen = this.iHash.blockLen;
this.outputLen = this.iHash.outputLen;
const blockLen = this.blockLen;
const pad4 = new Uint8Array(blockLen);
pad4.set(key.length > blockLen ? hash2.create().update(key).digest() : key);
for (let i4 = 0; i4 < pad4.length; i4++)
pad4[i4] ^= 54;
this.iHash.update(pad4);
this.oHash = hash2.create();
for (let i4 = 0; i4 < pad4.length; i4++)
pad4[i4] ^= 54 ^ 92;
this.oHash.update(pad4);
clean(pad4);
}
update(buf) {
aexists(this);
this.iHash.update(buf);
return this;
}
digestInto(out) {
aexists(this);
abytes(out, this.outputLen);
this.finished = true;
this.iHash.digestInto(out);
this.oHash.update(out);
this.oHash.digestInto(out);
this.destroy();
}
digest() {
const out = new Uint8Array(this.oHash.outputLen);
this.digestInto(out);
return out;
}
_cloneInto(to) {
to || (to = Object.create(Object.getPrototypeOf(this), {}));
const { oHash, iHash, finished: finished7, destroyed, blockLen, outputLen } = this;
to = to;
to.finished = finished7;
to.destroyed = destroyed;
to.blockLen = blockLen;
to.outputLen = outputLen;
to.oHash = oHash._cloneInto(to.oHash);
to.iHash = iHash._cloneInto(to.iHash);
return to;
}
clone() {
return this._cloneInto();
}
destroy() {
this.destroyed = true;
this.oHash.destroy();
this.iHash.destroy();
}
};
hmac = (hash2, key, message) => new HMAC(hash2, key).update(message).digest();
hmac.create = (hash2, key) => new HMAC(hash2, key);
_0n$4 = BigInt(0);
_1n$5 = BigInt(1);
pointPrecomputes = /* @__PURE__ */ new WeakMap();
pointWindowSizes = /* @__PURE__ */ new WeakMap();
wNAF = class {
// Parametrized with a given Point class (not individual point)
constructor(Point, bits2) {
this.BASE = Point.BASE;
this.ZERO = Point.ZERO;
this.Fn = Point.Fn;
this.bits = bits2;
}
// non-const time multiplication ladder
_unsafeLadder(elm, n2, p = this.ZERO) {
let d3 = elm;
while (n2 > _0n$4) {
if (n2 & _1n$5)
p = p.add(d3);
d3 = d3.double();
n2 >>= _1n$5;
}
return p;
}
/**
* Creates a wNAF precomputation window. Used for caching.
* Default window size is set by `utils.precompute()` and is equal to 8.
* Number of precomputed points depends on the curve size:
* 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
* - 𝑊 is the window size
* - 𝑛 is the bitlength of the curve order.
* For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
* @param point Point instance
* @param W window size
* @returns precomputed point tables flattened to a single array
*/
precomputeWindow(point, W2) {
const { windows, windowSize } = calcWOpts(W2, this.bits);
const points = [];
let p = point;
let base = p;
for (let window2 = 0; window2 < windows; window2++) {
base = p;
points.push(base);
for (let i4 = 1; i4 < windowSize; i4++) {
base = base.add(p);
points.push(base);
}
p = base.double();
}
return points;
}
/**
* Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
* More compact implementation:
* https://github.com/paulmillr/noble-secp256k1/blob/47cb1669b6e506ad66b35fe7d76132ae97465da2/index.ts#L502-L541
* @returns real and fake (for const-time) points
*/
wNAF(W2, precomputes, n2) {
if (!this.Fn.isValid(n2))
throw new Error("invalid scalar");
let p = this.ZERO;
let f = this.BASE;
const wo = calcWOpts(W2, this.bits);
for (let window2 = 0; window2 < wo.windows; window2++) {
const { nextN, offset, isZero: isZero2, isNeg, isNegF, offsetF } = calcOffsets(n2, window2, wo);
n2 = nextN;
if (isZero2) {
f = f.add(negateCt(isNegF, precomputes[offsetF]));
} else {
p = p.add(negateCt(isNeg, precomputes[offset]));
}
}
assert0(n2);
return { p, f };
}
/**
* Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
* @param acc accumulator point to add result of multiplication
* @returns point
*/
wNAFUnsafe(W2, precomputes, n2, acc = this.ZERO) {
const wo = calcWOpts(W2, this.bits);
for (let window2 = 0; window2 < wo.windows; window2++) {
if (n2 === _0n$4)
break;
const { nextN, offset, isZero: isZero2, isNeg } = calcOffsets(n2, window2, wo);
n2 = nextN;
if (isZero2) {
continue;
} else {
const item = precomputes[offset];
acc = acc.add(isNeg ? item.negate() : item);
}
}
assert0(n2);
return acc;
}
getPrecomputes(W2, point, transform3) {
let comp = pointPrecomputes.get(point);
if (!comp) {
comp = this.precomputeWindow(point, W2);
if (W2 !== 1) {
if (typeof transform3 === "function")
comp = transform3(comp);
pointPrecomputes.set(point, comp);
}
}
return comp;
}
cached(point, scalar, transform3) {
const W2 = getW$1(point);
return this.wNAF(W2, this.getPrecomputes(W2, point, transform3), scalar);
}
unsafe(point, scalar, transform3, prev) {
const W2 = getW$1(point);
if (W2 === 1)
return this._unsafeLadder(point, scalar, prev);
return this.wNAFUnsafe(W2, this.getPrecomputes(W2, point, transform3), scalar, prev);
}
// We calculate precomputes for elliptic curve point multiplication
// using windowed method. This specifies window size and
// stores precomputed values. Usually only base point would be precomputed.
createCache(P2, W2) {
validateW(W2, this.bits);
pointWindowSizes.set(P2, W2);
pointPrecomputes.delete(P2);
}
hasCache(elm) {
return getW$1(elm) !== 1;
}
};
divNearest = (num, den) => (num + (num >= 0 ? den : -den) / _2n$5) / den;
DERErr = class extends Error {
constructor(m = "") {
super(m);
}
};
DER = {
// asn.1 DER encoding utils
Err: DERErr,
// Basic building block is TLV (Tag-Length-Value)
_tlv: {
encode: (tag, data) => {
const { Err: E } = DER;
if (tag < 0 || tag > 256)
throw new E("tlv.encode: wrong tag");
if (data.length & 1)
throw new E("tlv.encode: unpadded data");
const dataLen = data.length / 2;
const len = numberToHexUnpadded(dataLen);
if (len.length / 2 & 128)
throw new E("tlv.encode: long form length too big");
const lenLen = dataLen > 127 ? numberToHexUnpadded(len.length / 2 | 128) : "";
const t2 = numberToHexUnpadded(tag);
return t2 + lenLen + len + data;
},
// v - value, l - left bytes (unparsed)
decode(tag, data) {
const { Err: E } = DER;
let pos = 0;
if (tag < 0 || tag > 256)
throw new E("tlv.encode: wrong tag");
if (data.length < 2 || data[pos++] !== tag)
throw new E("tlv.decode: wrong tlv");
const first = data[pos++];
const isLong = !!(first & 128);
let length = 0;
if (!isLong)
length = first;
else {
const lenLen = first & 127;
if (!lenLen)
throw new E("tlv.decode(long): indefinite length not supported");
if (lenLen > 4)
throw new E("tlv.decode(long): byte length is too big");
const lengthBytes = data.subarray(pos, pos + lenLen);
if (lengthBytes.length !== lenLen)
throw new E("tlv.decode: length bytes not complete");
if (lengthBytes[0] === 0)
throw new E("tlv.decode(long): zero leftmost byte");
for (const b of lengthBytes)
length = length << 8 | b;
pos += lenLen;
if (length < 128)
throw new E("tlv.decode(long): not minimal encoding");
}
const v = data.subarray(pos, pos + length);
if (v.length !== length)
throw new E("tlv.decode: wrong value length");
return { v, l: data.subarray(pos + length) };
}
},
// https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,
// since we always use positive integers here. It must always be empty:
// - add zero byte if exists
// - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)
_int: {
encode(num) {
const { Err: E } = DER;
if (num < _0n$3)
throw new E("integer: negative integers are not allowed");
let hex = numberToHexUnpadded(num);
if (Number.parseInt(hex[0], 16) & 8)
hex = "00" + hex;
if (hex.length & 1)
throw new E("unexpected DER parsing assertion: unpadded hex");
return hex;
},
decode(data) {
const { Err: E } = DER;
if (data[0] & 128)
throw new E("invalid signature integer: negative");
if (data[0] === 0 && !(data[1] & 128))
throw new E("invalid signature integer: unnecessary leading zero");
return bytesToNumberBE(data);
}
},
toSig(hex) {
const { Err: E, _int: int2, _tlv: tlv } = DER;
const data = ensureBytes("signature", hex);
const { v: seqBytes, l: seqLeftBytes } = tlv.decode(48, data);
if (seqLeftBytes.length)
throw new E("invalid signature: left bytes after parsing");
const { v: rBytes, l: rLeftBytes } = tlv.decode(2, seqBytes);
const { v: sBytes, l: sLeftBytes } = tlv.decode(2, rLeftBytes);
if (sLeftBytes.length)
throw new E("invalid signature: left bytes after parsing");
return { r: int2.decode(rBytes), s: int2.decode(sBytes) };
},
hexFromSig(sig) {
const { _tlv: tlv, _int: int2 } = DER;
const rs = tlv.encode(2, int2.encode(sig.r));
const ss = tlv.encode(2, int2.encode(sig.s));
const seq2 = rs + ss;
return tlv.encode(48, seq2);
}
};
_0n$3 = BigInt(0);
_1n$4 = BigInt(1);
_2n$5 = BigInt(2);
_3n$1 = BigInt(3);
_4n = BigInt(4);
p256_CURVE = {
p: BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),
n: BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),
h: BigInt(1),
a: BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),
b: BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),
Gx: BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),
Gy: BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")
};
p384_CURVE = {
p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),
n: BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),
h: BigInt(1),
a: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),
b: BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),
Gx: BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),
Gy: BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")
};
p521_CURVE = {
p: BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
n: BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),
h: BigInt(1),
a: BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),
b: BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),
Gx: BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),
Gy: BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")
};
Fp256 = Field(p256_CURVE.p);
Fp384 = Field(p384_CURVE.p);
Fp521 = Field(p521_CURVE.p);
p256$1 = createCurve({ ...p256_CURVE, Fp: Fp256, lowS: false }, sha256$1);
p384$1 = createCurve({ ...p384_CURVE, Fp: Fp384, lowS: false }, sha384$1);
p521$1 = createCurve({ ...p521_CURVE, Fp: Fp521, lowS: false, allowedPrivateKeyLengths: [130, 131, 132] }, sha512$1);
p256 = p256$1;
p384 = p384$1;
p521 = p521$1;
_0n$2 = BigInt(0);
_1n$3 = BigInt(1);
_2n$4 = BigInt(2);
_7n = BigInt(7);
_256n = BigInt(256);
_0x71n = BigInt(113);
SHA3_PI = [];
SHA3_ROTL = [];
_SHA3_IOTA = [];
for (let round = 0, R2 = _1n$3, x3 = 1, y = 0; round < 24; round++) {
[x3, y] = [y, (2 * x3 + 3 * y) % 5];
SHA3_PI.push(2 * (5 * y + x3));
SHA3_ROTL.push((round + 1) * (round + 2) / 2 % 64);
let t2 = _0n$2;
for (let j2 = 0; j2 < 7; j2++) {
R2 = (R2 << _1n$3 ^ (R2 >> _7n) * _0x71n) % _256n;
if (R2 & _2n$4)
t2 ^= _1n$3 << (_1n$3 << /* @__PURE__ */ BigInt(j2)) - _1n$3;
}
_SHA3_IOTA.push(t2);
}
IOTAS = split2(_SHA3_IOTA, true);
SHA3_IOTA_H = IOTAS[0];
SHA3_IOTA_L = IOTAS[1];
rotlH = (h2, l, s) => s > 32 ? rotlBH(h2, l, s) : rotlSH(h2, l, s);
rotlL = (h2, l, s) => s > 32 ? rotlBL(h2, l, s) : rotlSL(h2, l, s);
Keccak = class _Keccak extends Hash {
// NOTE: we accept arguments in bytes instead of bits here.
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
super();
this.pos = 0;
this.posOut = 0;
this.finished = false;
this.destroyed = false;
this.enableXOF = false;
this.blockLen = blockLen;
this.suffix = suffix;
this.outputLen = outputLen;
this.enableXOF = enableXOF;
this.rounds = rounds;
anumber(outputLen);
if (!(0 < blockLen && blockLen < 200))
throw new Error("only keccak-f1600 function is supported");
this.state = new Uint8Array(200);
this.state32 = u32(this.state);
}
clone() {
return this._cloneInto();
}
keccak() {
swap32IfBE(this.state32);
keccakP(this.state32, this.rounds);
swap32IfBE(this.state32);
this.posOut = 0;
this.pos = 0;
}
update(data) {
aexists(this);
data = toBytes(data);
abytes(data);
const { blockLen, state } = this;
const len = data.length;
for (let pos = 0; pos < len; ) {
const take10 = Math.min(blockLen - this.pos, len - pos);
for (let i4 = 0; i4 < take10; i4++)
state[this.pos++] ^= data[pos++];
if (this.pos === blockLen)
this.keccak();
}
return this;
}
finish() {
if (this.finished)
return;
this.finished = true;
const { state, suffix, pos, blockLen } = this;
state[pos] ^= suffix;
if ((suffix & 128) !== 0 && pos === blockLen - 1)
this.keccak();
state[blockLen - 1] ^= 128;
this.keccak();
}
writeInto(out) {
aexists(this, false);
abytes(out);
this.finish();
const bufferOut = this.state;
const { blockLen } = this;
for (let pos = 0, len = out.length; pos < len; ) {
if (this.posOut >= blockLen)
this.keccak();
const take10 = Math.min(blockLen - this.posOut, len - pos);
out.set(bufferOut.subarray(this.posOut, this.posOut + take10), pos);
this.posOut += take10;
pos += take10;
}
return out;
}
xofInto(out) {
if (!this.enableXOF)
throw new Error("XOF is not possible for this instance");
return this.writeInto(out);
}
xof(bytes) {
anumber(bytes);
return this.xofInto(new Uint8Array(bytes));
}
digestInto(out) {
aoutput(out, this);
if (this.finished)
throw new Error("digest() was already called");
this.writeInto(out);
this.destroy();
return out;
}
digest() {
return this.digestInto(new Uint8Array(this.outputLen));
}
destroy() {
this.destroyed = true;
clean(this.state);
}
_cloneInto(to) {
const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
to || (to = new _Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
to.state32.set(this.state32);
to.pos = this.pos;
to.posOut = this.posOut;
to.finished = this.finished;
to.rounds = rounds;
to.suffix = suffix;
to.outputLen = outputLen;
to.enableXOF = enableXOF;
to.destroyed = this.destroyed;
return to;
}
};
gen = (suffix, blockLen, outputLen) => createHasher(() => new Keccak(blockLen, suffix, outputLen));
sha3_256 = /* @__PURE__ */ (() => gen(6, 136, 256 / 8))();
sha3_512 = /* @__PURE__ */ (() => gen(6, 72, 512 / 8))();
genShake = (suffix, blockLen, outputLen) => createXOFer((opts3 = {}) => new Keccak(blockLen, suffix, opts3.dkLen === void 0 ? outputLen : opts3.dkLen, true));
shake256 = /* @__PURE__ */ (() => genShake(31, 136, 256 / 8))();
_0n$1 = BigInt(0);
_1n$2 = BigInt(1);
_2n$3 = BigInt(2);
_8n = BigInt(8);
_0n = BigInt(0);
_1n$1 = BigInt(1);
_2n$2 = BigInt(2);
ed448_CURVE = {
p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
n: BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),
h: BigInt(4),
a: BigInt(1),
d: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),
Gx: BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),
Gy: BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")
};
E448_CURVE = Object.assign({}, ed448_CURVE, {
d: BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),
Gx: BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),
Gy: BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")
});
shake256_114 = /* @__PURE__ */ createHasher(() => shake256.create({ dkLen: 114 }));
_1n = BigInt(1);
_2n$1 = BigInt(2);
_3n = BigInt(3);
BigInt(4);
_11n = BigInt(11);
_22n = BigInt(22);
_44n = BigInt(44);
_88n = BigInt(88);
_223n = BigInt(223);
Fp$3 = /* @__PURE__ */ (() => Field(ed448_CURVE.p, { BITS: 456, isLE: true }))();
Fn = /* @__PURE__ */ (() => Field(ed448_CURVE.n, { BITS: 456, isLE: true }))();
ED448_DEF = /* @__PURE__ */ (() => ({
...ed448_CURVE,
Fp: Fp$3,
Fn,
nBitLength: Fn.BITS,
hash: shake256_114,
adjustScalarBytes,
domain: dom4,
uvRatio
}))();
ed448 = twistedEdwards(ED448_DEF);
edwards(E448_CURVE);
x448 = /* @__PURE__ */ (() => {
const P2 = ed448_CURVE.p;
return montgomery({
P: P2,
type: "x448",
powPminus2: (x3) => {
const Pminus3div4 = ed448_pow_Pminus3div4(x3);
const Pminus3 = pow2(Pminus3div4, _2n$1, P2);
return mod(Pminus3 * x3, P2);
},
adjustScalarBytes
});
})();
secp256k1_CURVE = {
p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),
n: BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),
h: BigInt(1),
a: BigInt(0),
b: BigInt(7),
Gx: BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),
Gy: BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")
};
secp256k1_ENDO = {
beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),
basises: [
[BigInt("0x3086d221a7d46bcde86c90e49284eb15"), -BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],
[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"), BigInt("0x3086d221a7d46bcde86c90e49284eb15")]
]
};
_2n = /* @__PURE__ */ BigInt(2);
Fpk1 = Field(secp256k1_CURVE.p, { sqrt: sqrtMod });
secp256k1 = createCurve({ ...secp256k1_CURVE, Fp: Fpk1, lowS: true, endo: secp256k1_ENDO }, sha256$1);
sha256 = sha256$1;
sha224 = sha224$1;
Fp$2 = Field(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377"));
CURVE_A$2 = Fp$2.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9"));
CURVE_B$2 = BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6");
brainpoolP256r1 = createCurve({
a: CURVE_A$2,
// Equation params: a, b
b: CURVE_B$2,
Fp: Fp$2,
// Curve order (q), total count of valid points in the field
n: BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),
// Base (generator) point (x, y)
Gx: BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),
Gy: BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),
h: BigInt(1),
lowS: false
}, sha256);
sha512 = sha512$1;
sha384 = sha384$1;
Fp$1 = Field(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53"));
CURVE_A$1 = Fp$1.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826"));
CURVE_B$1 = BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11");
brainpoolP384r1 = createCurve({
a: CURVE_A$1,
// Equation params: a, b
b: CURVE_B$1,
Fp: Fp$1,
// Curve order (q), total count of valid points in the field
n: BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),
// Base (generator) point (x, y)
Gx: BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),
Gy: BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),
h: BigInt(1),
lowS: false
}, sha384);
Fp = Field(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3"));
CURVE_A = Fp.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca"));
CURVE_B = BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723");
brainpoolP512r1 = createCurve({
a: CURVE_A,
// Equation params: a, b
b: CURVE_B,
Fp,
// Curve order (q), total count of valid points in the field
n: BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),
// Base (generator) point (x, y)
Gx: BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),
Gy: BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),
h: BigInt(1),
lowS: false
}, sha512);
nobleCurves = new Map(Object.entries({
nistP256: p256,
nistP384: p384,
nistP521: p521,
brainpoolP256r1,
brainpoolP384r1,
brainpoolP512r1,
secp256k1,
x448,
ed448
}));
noble_curves = /* @__PURE__ */ Object.freeze({
__proto__: null,
nobleCurves
});
SHA1_IV = /* @__PURE__ */ Uint32Array.from([
1732584193,
4023233417,
2562383102,
271733878,
3285377520
]);
SHA1_W = /* @__PURE__ */ new Uint32Array(80);
SHA1 = class extends HashMD {
constructor() {
super(64, 20, 8, false);
this.A = SHA1_IV[0] | 0;
this.B = SHA1_IV[1] | 0;
this.C = SHA1_IV[2] | 0;
this.D = SHA1_IV[3] | 0;
this.E = SHA1_IV[4] | 0;
}
get() {
const { A: A2, B, C, D: D3, E } = this;
return [A2, B, C, D3, E];
}
set(A2, B, C, D3, E) {
this.A = A2 | 0;
this.B = B | 0;
this.C = C | 0;
this.D = D3 | 0;
this.E = E | 0;
}
process(view, offset) {
for (let i4 = 0; i4 < 16; i4++, offset += 4)
SHA1_W[i4] = view.getUint32(offset, false);
for (let i4 = 16; i4 < 80; i4++)
SHA1_W[i4] = rotl(SHA1_W[i4 - 3] ^ SHA1_W[i4 - 8] ^ SHA1_W[i4 - 14] ^ SHA1_W[i4 - 16], 1);
let { A: A2, B, C, D: D3, E } = this;
for (let i4 = 0; i4 < 80; i4++) {
let F, K2;
if (i4 < 20) {
F = Chi$1(B, C, D3);
K2 = 1518500249;
} else if (i4 < 40) {
F = B ^ C ^ D3;
K2 = 1859775393;
} else if (i4 < 60) {
F = Maj(B, C, D3);
K2 = 2400959708;
} else {
F = B ^ C ^ D3;
K2 = 3395469782;
}
const T2 = rotl(A2, 5) + F + E + K2 + SHA1_W[i4] | 0;
E = D3;
D3 = C;
C = rotl(B, 30);
B = A2;
A2 = T2;
}
A2 = A2 + this.A | 0;
B = B + this.B | 0;
C = C + this.C | 0;
D3 = D3 + this.D | 0;
E = E + this.E | 0;
this.set(A2, B, C, D3, E);
}
roundClean() {
clean(SHA1_W);
}
destroy() {
this.set(0, 0, 0, 0, 0);
clean(this.buffer);
}
};
sha1$1 = /* @__PURE__ */ createHasher(() => new SHA1());
Rho160 = /* @__PURE__ */ Uint8Array.from([
7,
4,
13,
1,
10,
6,
15,
3,
12,
0,
9,
5,
2,
14,
11,
8
]);
Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i4) => i4)))();
Pi160 = /* @__PURE__ */ (() => Id160.map((i4) => (9 * i4 + 5) % 16))();
idxLR = /* @__PURE__ */ (() => {
const L3 = [Id160];
const R2 = [Pi160];
const res = [L3, R2];
for (let i4 = 0; i4 < 4; i4++)
for (let j2 of res)
j2.push(j2[i4].map((k2) => Rho160[k2]));
return res;
})();
idxL = /* @__PURE__ */ (() => idxLR[0])();
idxR = /* @__PURE__ */ (() => idxLR[1])();
shifts160 = /* @__PURE__ */ [
[11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],
[12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],
[13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],
[14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],
[15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5]
].map((i4) => Uint8Array.from(i4));
shiftsL160 = /* @__PURE__ */ idxL.map((idx, i4) => idx.map((j2) => shifts160[i4][j2]));
shiftsR160 = /* @__PURE__ */ idxR.map((idx, i4) => idx.map((j2) => shifts160[i4][j2]));
Kl160 = /* @__PURE__ */ Uint32Array.from([
0,
1518500249,
1859775393,
2400959708,
2840853838
]);
Kr160 = /* @__PURE__ */ Uint32Array.from([
1352829926,
1548603684,
1836072691,
2053994217,
0
]);
BUF_160 = /* @__PURE__ */ new Uint32Array(16);
RIPEMD160 = class extends HashMD {
constructor() {
super(64, 20, 8, true);
this.h0 = 1732584193 | 0;
this.h1 = 4023233417 | 0;
this.h2 = 2562383102 | 0;
this.h3 = 271733878 | 0;
this.h4 = 3285377520 | 0;
}
get() {
const { h0, h1, h2, h3, h4 } = this;
return [h0, h1, h2, h3, h4];
}
set(h0, h1, h2, h3, h4) {
this.h0 = h0 | 0;
this.h1 = h1 | 0;
this.h2 = h2 | 0;
this.h3 = h3 | 0;
this.h4 = h4 | 0;
}
process(view, offset) {
for (let i4 = 0; i4 < 16; i4++, offset += 4)
BUF_160[i4] = view.getUint32(offset, true);
let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;
for (let group = 0; group < 5; group++) {
const rGroup = 4 - group;
const hbl = Kl160[group], hbr = Kr160[group];
const rl = idxL[group], rr = idxR[group];
const sl = shiftsL160[group], sr = shiftsR160[group];
for (let i4 = 0; i4 < 16; i4++) {
const tl = rotl(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i4]] + hbl, sl[i4]) + el | 0;
al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl;
}
for (let i4 = 0; i4 < 16; i4++) {
const tr = rotl(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i4]] + hbr, sr[i4]) + er | 0;
ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr;
}
}
this.set(this.h1 + cl + dr | 0, this.h2 + dl + er | 0, this.h3 + el + ar | 0, this.h4 + al + br | 0, this.h0 + bl + cr | 0);
}
roundClean() {
clean(BUF_160);
}
destroy() {
this.destroyed = true;
clean(this.buffer);
this.set(0, 0, 0, 0, 0);
}
};
ripemd160$1 = /* @__PURE__ */ createHasher(() => new RIPEMD160());
sha1 = sha1$1;
ripemd160 = ripemd160$1;
K$1 = Array.from({ length: 64 }, (_, i4) => Math.floor(2 ** 32 * Math.abs(Math.sin(i4 + 1))));
Chi = (a2, b, c3) => a2 & b ^ ~a2 & c3;
IV = /* @__PURE__ */ new Uint32Array([1732584193, 4023233417, 2562383102, 271733878]);
MD5_W = /* @__PURE__ */ new Uint32Array(16);
MD5 = class extends HashMD {
constructor() {
super(64, 16, 8, true);
this.A = IV[0] | 0;
this.B = IV[1] | 0;
this.C = IV[2] | 0;
this.D = IV[3] | 0;
}
get() {
const { A: A2, B, C, D: D3 } = this;
return [A2, B, C, D3];
}
set(A2, B, C, D3) {
this.A = A2 | 0;
this.B = B | 0;
this.C = C | 0;
this.D = D3 | 0;
}
process(view, offset) {
for (let i4 = 0; i4 < 16; i4++, offset += 4)
MD5_W[i4] = view.getUint32(offset, true);
let { A: A2, B, C, D: D3 } = this;
for (let i4 = 0; i4 < 64; i4++) {
let F, g, s;
if (i4 < 16) {
F = Chi(B, C, D3);
g = i4;
s = [7, 12, 17, 22];
} else if (i4 < 32) {
F = Chi(D3, B, C);
g = (5 * i4 + 1) % 16;
s = [5, 9, 14, 20];
} else if (i4 < 48) {
F = B ^ C ^ D3;
g = (3 * i4 + 5) % 16;
s = [4, 11, 16, 23];
} else {
F = C ^ (B | ~D3);
g = 7 * i4 % 16;
s = [6, 10, 15, 21];
}
F = F + A2 + K$1[i4] + MD5_W[g];
A2 = D3;
D3 = C;
C = B;
B = B + rotl(F, s[i4 % 4]);
}
A2 = A2 + this.A | 0;
B = B + this.B | 0;
C = C + this.C | 0;
D3 = D3 + this.D | 0;
this.set(A2, B, C, D3);
}
roundClean() {
MD5_W.fill(0);
}
destroy() {
this.set(0, 0, 0, 0);
this.buffer.fill(0);
}
};
md5 = /* @__PURE__ */ wrapConstructor(() => new MD5());
nobleHashes = new Map(Object.entries({
md5,
sha1,
sha224,
sha256,
sha384,
sha512,
sha3_256,
sha3_512,
ripemd160
}));
noble_hashes = /* @__PURE__ */ Object.freeze({
__proto__: null,
nobleHashes
});
crypto$1 = nc && typeof nc === "object" && "webcrypto" in nc ? nc.webcrypto : void 0;
nacl = {};
gf = function(init2) {
var i4, r = new Float64Array(16);
if (init2) for (i4 = 0; i4 < init2.length; i4++) r[i4] = init2[i4];
return r;
};
randombytes = function() {
throw new Error("no PRNG");
};
_9 = new Uint8Array(32);
_9[0] = 9;
gf0 = gf();
gf1 = gf([1]);
_121665 = gf([56129, 1]);
D = gf([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]);
D2 = gf([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]);
X = gf([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]);
Y = gf([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]);
I2 = gf([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]);
K = [
1116352408,
3609767458,
1899447441,
602891725,
3049323471,
3964484399,
3921009573,
2173295548,
961987163,
4081628472,
1508970993,
3053834265,
2453635748,
2937671579,
2870763221,
3664609560,
3624381080,
2734883394,
310598401,
1164996542,
607225278,
1323610764,
1426881987,
3590304994,
1925078388,
4068182383,
2162078206,
991336113,
2614888103,
633803317,
3248222580,
3479774868,
3835390401,
2666613458,
4022224774,
944711139,
264347078,
2341262773,
604807628,
2007800933,
770255983,
1495990901,
1249150122,
1856431235,
1555081692,
3175218132,
1996064986,
2198950837,
2554220882,
3999719339,
2821834349,
766784016,
2952996808,
2566594879,
3210313671,
3203337956,
3336571891,
1034457026,
3584528711,
2466948901,
113926993,
3758326383,
338241895,
168717936,
666307205,
1188179964,
773529912,
1546045734,
1294757372,
1522805485,
1396182291,
2643833823,
1695183700,
2343527390,
1986661051,
1014477480,
2177026350,
1206759142,
2456956037,
344077627,
2730485921,
1290863460,
2820302411,
3158454273,
3259730800,
3505952657,
3345764771,
106217008,
3516065817,
3606008344,
3600352804,
1432725776,
4094571909,
1467031594,
275423344,
851169720,
430227734,
3100823752,
506948616,
1363258195,
659060556,
3750685593,
883997877,
3785050280,
958139571,
3318307427,
1322822218,
3812723403,
1537002063,
2003034995,
1747873779,
3602036899,
1955562222,
1575990012,
2024104815,
1125592928,
2227730452,
2716904306,
2361852424,
442776044,
2428436474,
593698344,
2756734187,
3733110249,
3204031479,
2999351573,
3329325298,
3815920427,
3391569614,
3928383900,
3515267271,
566280711,
3940187606,
3454069534,
4118630271,
4000239992,
116418474,
1914138554,
174292421,
2731055270,
289380356,
3203993006,
460393269,
320620315,
685471733,
587496836,
852142971,
1086792851,
1017036298,
365543100,
1126000580,
2618297676,
1288033470,
3409855158,
1501505948,
4234509866,
1607167915,
987167468,
1816402316,
1246189591
];
L2 = new Float64Array([237, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]);
crypto_scalarmult_BYTES = 32;
crypto_scalarmult_SCALARBYTES = 32;
crypto_box_PUBLICKEYBYTES = 32;
crypto_box_SECRETKEYBYTES = 32;
crypto_sign_BYTES = 64;
crypto_sign_PUBLICKEYBYTES = 32;
crypto_sign_SECRETKEYBYTES = 64;
crypto_sign_SEEDBYTES = 32;
nacl.scalarMult = function(n2, p) {
checkArrayTypes(n2, p);
if (n2.length !== crypto_scalarmult_SCALARBYTES) throw new Error("bad n size");
if (p.length !== crypto_scalarmult_BYTES) throw new Error("bad p size");
var q = new Uint8Array(crypto_scalarmult_BYTES);
crypto_scalarmult(q, n2, p);
return q;
};
nacl.box = {};
nacl.box.keyPair = function() {
var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);
var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);
crypto_box_keypair(pk, sk);
return { publicKey: pk, secretKey: sk };
};
nacl.box.keyPair.fromSecretKey = function(secretKey) {
checkArrayTypes(secretKey);
if (secretKey.length !== crypto_box_SECRETKEYBYTES)
throw new Error("bad secret key size");
var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);
crypto_scalarmult_base(pk, secretKey);
return { publicKey: pk, secretKey: new Uint8Array(secretKey) };
};
nacl.sign = function(msg, secretKey) {
checkArrayTypes(msg, secretKey);
if (secretKey.length !== crypto_sign_SECRETKEYBYTES)
throw new Error("bad secret key size");
var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);
crypto_sign(signedMsg, msg, msg.length, secretKey);
return signedMsg;
};
nacl.sign.detached = function(msg, secretKey) {
var signedMsg = nacl.sign(msg, secretKey);
var sig = new Uint8Array(crypto_sign_BYTES);
for (var i4 = 0; i4 < sig.length; i4++) sig[i4] = signedMsg[i4];
return sig;
};
nacl.sign.detached.verify = function(msg, sig, publicKey) {
checkArrayTypes(msg, sig, publicKey);
if (sig.length !== crypto_sign_BYTES)
throw new Error("bad signature size");
if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)
throw new Error("bad public key size");
var sm = new Uint8Array(crypto_sign_BYTES + msg.length);
var m = new Uint8Array(crypto_sign_BYTES + msg.length);
var i4;
for (i4 = 0; i4 < crypto_sign_BYTES; i4++) sm[i4] = sig[i4];
for (i4 = 0; i4 < msg.length; i4++) sm[i4 + crypto_sign_BYTES] = msg[i4];
return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;
};
nacl.sign.keyPair = function() {
var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);
var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);
crypto_sign_keypair(pk, sk);
return { publicKey: pk, secretKey: sk };
};
nacl.sign.keyPair.fromSecretKey = function(secretKey) {
checkArrayTypes(secretKey);
if (secretKey.length !== crypto_sign_SECRETKEYBYTES)
throw new Error("bad secret key size");
var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);
for (var i4 = 0; i4 < pk.length; i4++) pk[i4] = secretKey[32 + i4];
return { publicKey: pk, secretKey: new Uint8Array(secretKey) };
};
nacl.sign.keyPair.fromSeed = function(seed) {
checkArrayTypes(seed);
if (seed.length !== crypto_sign_SEEDBYTES)
throw new Error("bad seed size");
var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);
var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);
for (var i4 = 0; i4 < 32; i4++) sk[i4] = seed[i4];
crypto_sign_keypair(pk, sk, true);
return { publicKey: pk, secretKey: sk };
};
nacl.setPRNG = function(fn) {
randombytes = fn;
};
(function() {
if (crypto$1 && crypto$1.getRandomValues) {
var QUOTA = 65536;
nacl.setPRNG(function(x3, n2) {
var i4, v = new Uint8Array(n2);
for (i4 = 0; i4 < n2; i4 += QUOTA) {
crypto$1.getRandomValues(v.subarray(i4, i4 + Math.min(n2 - i4, QUOTA)));
}
for (i4 = 0; i4 < n2; i4++) x3[i4] = v[i4];
cleanup(v);
});
}
})();
naclFast = /* @__PURE__ */ Object.freeze({
__proto__: null,
default: nacl
});
TripleDES.keySize = TripleDES.prototype.keySize = 24;
TripleDES.blockSize = TripleDES.prototype.blockSize = 8;
CAST5.blockSize = CAST5.prototype.blockSize = 8;
CAST5.keySize = CAST5.prototype.keySize = 16;
MAXINT = 4294967295;
TF.keySize = TF.prototype.keySize = 32;
TF.blockSize = TF.prototype.blockSize = 16;
Blowfish.prototype.BLOCKSIZE = 8;
Blowfish.prototype.SBOXES = [
[
3509652390,
2564797868,
805139163,
3491422135,
3101798381,
1780907670,
3128725573,
4046225305,
614570311,
3012652279,
134345442,
2240740374,
1667834072,
1901547113,
2757295779,
4103290238,
227898511,
1921955416,
1904987480,
2182433518,
2069144605,
3260701109,
2620446009,
720527379,
3318853667,
677414384,
3393288472,
3101374703,
2390351024,
1614419982,
1822297739,
2954791486,
3608508353,
3174124327,
2024746970,
1432378464,
3864339955,
2857741204,
1464375394,
1676153920,
1439316330,
715854006,
3033291828,
289532110,
2706671279,
2087905683,
3018724369,
1668267050,
732546397,
1947742710,
3462151702,
2609353502,
2950085171,
1814351708,
2050118529,
680887927,
999245976,
1800124847,
3300911131,
1713906067,
1641548236,
4213287313,
1216130144,
1575780402,
4018429277,
3917837745,
3693486850,
3949271944,
596196993,
3549867205,
258830323,
2213823033,
772490370,
2760122372,
1774776394,
2652871518,
566650946,
4142492826,
1728879713,
2882767088,
1783734482,
3629395816,
2517608232,
2874225571,
1861159788,
326777828,
3124490320,
2130389656,
2716951837,
967770486,
1724537150,
2185432712,
2364442137,
1164943284,
2105845187,
998989502,
3765401048,
2244026483,
1075463327,
1455516326,
1322494562,
910128902,
469688178,
1117454909,
936433444,
3490320968,
3675253459,
1240580251,
122909385,
2157517691,
634681816,
4142456567,
3825094682,
3061402683,
2540495037,
79693498,
3249098678,
1084186820,
1583128258,
426386531,
1761308591,
1047286709,
322548459,
995290223,
1845252383,
2603652396,
3431023940,
2942221577,
3202600964,
3727903485,
1712269319,
422464435,
3234572375,
1170764815,
3523960633,
3117677531,
1434042557,
442511882,
3600875718,
1076654713,
1738483198,
4213154764,
2393238008,
3677496056,
1014306527,
4251020053,
793779912,
2902807211,
842905082,
4246964064,
1395751752,
1040244610,
2656851899,
3396308128,
445077038,
3742853595,
3577915638,
679411651,
2892444358,
2354009459,
1767581616,
3150600392,
3791627101,
3102740896,
284835224,
4246832056,
1258075500,
768725851,
2589189241,
3069724005,
3532540348,
1274779536,
3789419226,
2764799539,
1660621633,
3471099624,
4011903706,
913787905,
3497959166,
737222580,
2514213453,
2928710040,
3937242737,
1804850592,
3499020752,
2949064160,
2386320175,
2390070455,
2415321851,
4061277028,
2290661394,
2416832540,
1336762016,
1754252060,
3520065937,
3014181293,
791618072,
3188594551,
3933548030,
2332172193,
3852520463,
3043980520,
413987798,
3465142937,
3030929376,
4245938359,
2093235073,
3534596313,
375366246,
2157278981,
2479649556,
555357303,
3870105701,
2008414854,
3344188149,
4221384143,
3956125452,
2067696032,
3594591187,
2921233993,
2428461,
544322398,
577241275,
1471733935,
610547355,
4027169054,
1432588573,
1507829418,
2025931657,
3646575487,
545086370,
48609733,
2200306550,
1653985193,
298326376,
1316178497,
3007786442,
2064951626,
458293330,
2589141269,
3591329599,
3164325604,
727753846,
2179363840,
146436021,
1461446943,
4069977195,
705550613,
3059967265,
3887724982,
4281599278,
3313849956,
1404054877,
2845806497,
146425753,
1854211946
],
[
1266315497,
3048417604,
3681880366,
3289982499,
290971e4,
1235738493,
2632868024,
2414719590,
3970600049,
1771706367,
1449415276,
3266420449,
422970021,
1963543593,
2690192192,
3826793022,
1062508698,
1531092325,
1804592342,
2583117782,
2714934279,
4024971509,
1294809318,
4028980673,
1289560198,
2221992742,
1669523910,
35572830,
157838143,
1052438473,
1016535060,
1802137761,
1753167236,
1386275462,
3080475397,
2857371447,
1040679964,
2145300060,
2390574316,
1461121720,
2956646967,
4031777805,
4028374788,
33600511,
2920084762,
1018524850,
629373528,
3691585981,
3515945977,
2091462646,
2486323059,
586499841,
988145025,
935516892,
3367335476,
2599673255,
2839830854,
265290510,
3972581182,
2759138881,
3795373465,
1005194799,
847297441,
406762289,
1314163512,
1332590856,
1866599683,
4127851711,
750260880,
613907577,
1450815602,
3165620655,
3734664991,
3650291728,
3012275730,
3704569646,
1427272223,
778793252,
1343938022,
2676280711,
2052605720,
1946737175,
3164576444,
3914038668,
3967478842,
3682934266,
1661551462,
3294938066,
4011595847,
840292616,
3712170807,
616741398,
312560963,
711312465,
1351876610,
322626781,
1910503582,
271666773,
2175563734,
1594956187,
70604529,
3617834859,
1007753275,
1495573769,
4069517037,
2549218298,
2663038764,
504708206,
2263041392,
3941167025,
2249088522,
1514023603,
1998579484,
1312622330,
694541497,
2582060303,
2151582166,
1382467621,
776784248,
2618340202,
3323268794,
2497899128,
2784771155,
503983604,
4076293799,
907881277,
423175695,
432175456,
1378068232,
4145222326,
3954048622,
3938656102,
3820766613,
2793130115,
2977904593,
26017576,
3274890735,
3194772133,
1700274565,
1756076034,
4006520079,
3677328699,
720338349,
1533947780,
354530856,
688349552,
3973924725,
1637815568,
332179504,
3949051286,
53804574,
2852348879,
3044236432,
1282449977,
3583942155,
3416972820,
4006381244,
1617046695,
2628476075,
3002303598,
1686838959,
431878346,
2686675385,
1700445008,
1080580658,
1009431731,
832498133,
3223435511,
2605976345,
2271191193,
2516031870,
1648197032,
4164389018,
2548247927,
300782431,
375919233,
238389289,
3353747414,
2531188641,
2019080857,
1475708069,
455242339,
2609103871,
448939670,
3451063019,
1395535956,
2413381860,
1841049896,
1491858159,
885456874,
4264095073,
4001119347,
1565136089,
3898914787,
1108368660,
540939232,
1173283510,
2745871338,
3681308437,
4207628240,
3343053890,
4016749493,
1699691293,
1103962373,
3625875870,
2256883143,
3830138730,
1031889488,
3479347698,
1535977030,
4236805024,
3251091107,
2132092099,
1774941330,
1199868427,
1452454533,
157007616,
2904115357,
342012276,
595725824,
1480756522,
206960106,
497939518,
591360097,
863170706,
2375253569,
3596610801,
1814182875,
2094937945,
3421402208,
1082520231,
3463918190,
2785509508,
435703966,
3908032597,
1641649973,
2842273706,
3305899714,
1510255612,
2148256476,
2655287854,
3276092548,
4258621189,
236887753,
3681803219,
274041037,
1734335097,
3815195456,
3317970021,
1899903192,
1026095262,
4050517792,
356393447,
2410691914,
3873677099,
3682840055
],
[
3913112168,
2491498743,
4132185628,
2489919796,
1091903735,
1979897079,
3170134830,
3567386728,
3557303409,
857797738,
1136121015,
1342202287,
507115054,
2535736646,
337727348,
3213592640,
1301675037,
2528481711,
1895095763,
1721773893,
3216771564,
62756741,
2142006736,
835421444,
2531993523,
1442658625,
3659876326,
2882144922,
676362277,
1392781812,
170690266,
3921047035,
1759253602,
3611846912,
1745797284,
664899054,
1329594018,
3901205900,
3045908486,
2062866102,
2865634940,
3543621612,
3464012697,
1080764994,
553557557,
3656615353,
3996768171,
991055499,
499776247,
1265440854,
648242737,
3940784050,
980351604,
3713745714,
1749149687,
3396870395,
4211799374,
3640570775,
1161844396,
3125318951,
1431517754,
545492359,
4268468663,
3499529547,
1437099964,
2702547544,
3433638243,
2581715763,
2787789398,
1060185593,
1593081372,
2418618748,
4260947970,
69676912,
2159744348,
86519011,
2512459080,
3838209314,
1220612927,
3339683548,
133810670,
1090789135,
1078426020,
1569222167,
845107691,
3583754449,
4072456591,
1091646820,
628848692,
1613405280,
3757631651,
526609435,
236106946,
48312990,
2942717905,
3402727701,
1797494240,
859738849,
992217954,
4005476642,
2243076622,
3870952857,
3732016268,
765654824,
3490871365,
2511836413,
1685915746,
3888969200,
1414112111,
2273134842,
3281911079,
4080962846,
172450625,
2569994100,
980381355,
4109958455,
2819808352,
2716589560,
2568741196,
3681446669,
3329971472,
1835478071,
660984891,
3704678404,
4045999559,
3422617507,
3040415634,
1762651403,
1719377915,
3470491036,
2693910283,
3642056355,
3138596744,
1364962596,
2073328063,
1983633131,
926494387,
3423689081,
2150032023,
4096667949,
1749200295,
3328846651,
309677260,
2016342300,
1779581495,
3079819751,
111262694,
1274766160,
443224088,
298511866,
1025883608,
3806446537,
1145181785,
168956806,
3641502830,
3584813610,
1689216846,
3666258015,
3200248200,
1692713982,
2646376535,
4042768518,
1618508792,
1610833997,
3523052358,
4130873264,
2001055236,
3610705100,
2202168115,
4028541809,
2961195399,
1006657119,
2006996926,
3186142756,
1430667929,
3210227297,
1314452623,
4074634658,
4101304120,
2273951170,
1399257539,
3367210612,
3027628629,
1190975929,
2062231137,
2333990788,
2221543033,
2438960610,
1181637006,
548689776,
2362791313,
3372408396,
3104550113,
3145860560,
296247880,
1970579870,
3078560182,
3769228297,
1714227617,
3291629107,
3898220290,
166772364,
1251581989,
493813264,
448347421,
195405023,
2709975567,
677966185,
3703036547,
1463355134,
2715995803,
1338867538,
1343315457,
2802222074,
2684532164,
233230375,
2599980071,
2000651841,
3277868038,
1638401717,
4028070440,
3237316320,
6314154,
819756386,
300326615,
590932579,
1405279636,
3267499572,
3150704214,
2428286686,
3959192993,
3461946742,
1862657033,
1266418056,
963775037,
2089974820,
2263052895,
1917689273,
448879540,
3550394620,
3981727096,
150775221,
3627908307,
1303187396,
508620638,
2975983352,
2726630617,
1817252668,
1876281319,
1457606340,
908771278,
3720792119,
3617206836,
2455994898,
1729034894,
1080033504
],
[
976866871,
3556439503,
2881648439,
1522871579,
1555064734,
1336096578,
3548522304,
2579274686,
3574697629,
3205460757,
3593280638,
3338716283,
3079412587,
564236357,
2993598910,
1781952180,
1464380207,
3163844217,
3332601554,
1699332808,
1393555694,
1183702653,
3581086237,
1288719814,
691649499,
2847557200,
2895455976,
3193889540,
2717570544,
1781354906,
1676643554,
2592534050,
3230253752,
1126444790,
2770207658,
2633158820,
2210423226,
2615765581,
2414155088,
3127139286,
673620729,
2805611233,
1269405062,
4015350505,
3341807571,
4149409754,
1057255273,
2012875353,
2162469141,
2276492801,
2601117357,
993977747,
3918593370,
2654263191,
753973209,
36408145,
2530585658,
25011837,
3520020182,
2088578344,
530523599,
2918365339,
1524020338,
1518925132,
3760827505,
3759777254,
1202760957,
3985898139,
3906192525,
674977740,
4174734889,
2031300136,
2019492241,
3983892565,
4153806404,
3822280332,
352677332,
2297720250,
60907813,
90501309,
3286998549,
1016092578,
2535922412,
2839152426,
457141659,
509813237,
4120667899,
652014361,
1966332200,
2975202805,
55981186,
2327461051,
676427537,
3255491064,
2882294119,
3433927263,
1307055953,
942726286,
933058658,
2468411793,
3933900994,
4215176142,
1361170020,
2001714738,
2830558078,
3274259782,
1222529897,
1679025792,
2729314320,
3714953764,
1770335741,
151462246,
3013232138,
1682292957,
1483529935,
471910574,
1539241949,
458788160,
3436315007,
1807016891,
3718408830,
978976581,
1043663428,
3165965781,
1927990952,
4200891579,
2372276910,
3208408903,
3533431907,
1412390302,
2931980059,
4132332400,
1947078029,
3881505623,
4168226417,
2941484381,
1077988104,
1320477388,
886195818,
18198404,
3786409e3,
2509781533,
112762804,
3463356488,
1866414978,
891333506,
18488651,
661792760,
1628790961,
3885187036,
3141171499,
876946877,
2693282273,
1372485963,
791857591,
2686433993,
3759982718,
3167212022,
3472953795,
2716379847,
445679433,
3561995674,
3504004811,
3574258232,
54117162,
3331405415,
2381918588,
3769707343,
4154350007,
1140177722,
4074052095,
668550556,
3214352940,
367459370,
261225585,
2610173221,
4209349473,
3468074219,
3265815641,
314222801,
3066103646,
3808782860,
282218597,
3406013506,
3773591054,
379116347,
1285071038,
846784868,
2669647154,
3771962079,
3550491691,
2305946142,
453669953,
1268987020,
3317592352,
3279303384,
3744833421,
2610507566,
3859509063,
266596637,
3847019092,
517658769,
3462560207,
3443424879,
370717030,
4247526661,
2224018117,
4143653529,
4112773975,
2788324899,
2477274417,
1456262402,
2901442914,
1517677493,
1846949527,
2295493580,
3734397586,
2176403920,
1280348187,
1908823572,
3871786941,
846861322,
1172426758,
3287448474,
3383383037,
1655181056,
3139813346,
901632758,
1897031941,
2986607138,
3066810236,
3447102507,
1393639104,
373351379,
950779232,
625454576,
3124240540,
4148612726,
2007998917,
544563296,
2244738638,
2330496472,
2058025392,
1291430526,
424198748,
50039436,
29584100,
3605783033,
2429876329,
2791104160,
1057563949,
3255363231,
3075367218,
3463963227,
1469046755,
985887462
]
];
Blowfish.prototype.PARRAY = [
608135816,
2242054355,
320440878,
57701188,
2752067618,
698298832,
137296536,
3964562569,
1160258022,
953160567,
3193202383,
887688300,
3232508343,
3380367581,
1065670069,
3041331479,
2450970073,
2306472731
];
Blowfish.prototype.NN = 16;
Blowfish.prototype._clean = function(xx) {
if (xx < 0) {
const yy = xx & 2147483647;
xx = yy + 2147483648;
}
return xx;
};
Blowfish.prototype._F = function(xx) {
let yy;
const dd = xx & 255;
xx >>>= 8;
const cc = xx & 255;
xx >>>= 8;
const bb = xx & 255;
xx >>>= 8;
const aa = xx & 255;
yy = this.sboxes[0][aa] + this.sboxes[1][bb];
yy ^= this.sboxes[2][cc];
yy += this.sboxes[3][dd];
return yy;
};
Blowfish.prototype._encryptBlock = function(vals) {
let dataL = vals[0];
let dataR = vals[1];
let ii;
for (ii = 0; ii < this.NN; ++ii) {
dataL ^= this.parray[ii];
dataR = this._F(dataL) ^ dataR;
const tmp = dataL;
dataL = dataR;
dataR = tmp;
}
dataL ^= this.parray[this.NN + 0];
dataR ^= this.parray[this.NN + 1];
vals[0] = this._clean(dataR);
vals[1] = this._clean(dataL);
};
Blowfish.prototype.encryptBlock = function(vector) {
let ii;
const vals = [0, 0];
const off = this.BLOCKSIZE / 2;
for (ii = 0; ii < this.BLOCKSIZE / 2; ++ii) {
vals[0] = vals[0] << 8 | vector[ii + 0] & 255;
vals[1] = vals[1] << 8 | vector[ii + off] & 255;
}
this._encryptBlock(vals);
const ret2 = [];
for (ii = 0; ii < this.BLOCKSIZE / 2; ++ii) {
ret2[ii + 0] = vals[0] >>> 24 - 8 * ii & 255;
ret2[ii + off] = vals[1] >>> 24 - 8 * ii & 255;
}
return ret2;
};
Blowfish.prototype._decryptBlock = function(vals) {
let dataL = vals[0];
let dataR = vals[1];
let ii;
for (ii = this.NN + 1; ii > 1; --ii) {
dataL ^= this.parray[ii];
dataR = this._F(dataL) ^ dataR;
const tmp = dataL;
dataL = dataR;
dataR = tmp;
}
dataL ^= this.parray[1];
dataR ^= this.parray[0];
vals[0] = this._clean(dataR);
vals[1] = this._clean(dataL);
};
Blowfish.prototype.init = function(key) {
let ii;
let jj = 0;
this.parray = [];
for (ii = 0; ii < this.NN + 2; ++ii) {
let data = 0;
for (let kk = 0; kk < 4; ++kk) {
data = data << 8 | key[jj] & 255;
if (++jj >= key.length) {
jj = 0;
}
}
this.parray[ii] = this.PARRAY[ii] ^ data;
}
this.sboxes = [];
for (ii = 0; ii < 4; ++ii) {
this.sboxes[ii] = [];
for (jj = 0; jj < 256; ++jj) {
this.sboxes[ii][jj] = this.SBOXES[ii][jj];
}
}
const vals = [0, 0];
for (ii = 0; ii < this.NN + 2; ii += 2) {
this._encryptBlock(vals);
this.parray[ii + 0] = vals[0];
this.parray[ii + 1] = vals[1];
}
for (ii = 0; ii < 4; ++ii) {
for (jj = 0; jj < 256; jj += 2) {
this._encryptBlock(vals);
this.sboxes[ii][jj + 0] = vals[0];
this.sboxes[ii][jj + 1] = vals[1];
}
}
};
BF.keySize = BF.prototype.keySize = 16;
BF.blockSize = BF.prototype.blockSize = 8;
legacyCiphers = new Map(Object.entries({
tripledes: TripleDES,
cast5: CAST5,
twofish: TF,
blowfish: BF
}));
legacy_ciphers = /* @__PURE__ */ Object.freeze({
__proto__: null,
legacyCiphers
});
BLAKE2B_IV32 = new Uint32Array([
4089235720,
1779033703,
2227873595,
3144134277,
4271175723,
1013904242,
1595750129,
2773480762,
2917565137,
1359893119,
725511199,
2600822924,
4215389547,
528734635,
327033209,
1541459225
]);
SIGMA = new Uint8Array([
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
14,
10,
4,
8,
9,
15,
13,
6,
1,
12,
0,
2,
11,
7,
5,
3,
11,
8,
12,
0,
5,
2,
15,
13,
10,
14,
3,
6,
7,
1,
9,
4,
7,
9,
3,
1,
13,
12,
11,
14,
2,
6,
5,
10,
4,
0,
15,
8,
9,
0,
5,
7,
2,
4,
10,
15,
14,
1,
11,
12,
6,
8,
3,
13,
2,
12,
6,
10,
0,
11,
8,
3,
4,
13,
7,
5,
15,
14,
1,
9,
12,
5,
1,
15,
14,
13,
4,
10,
0,
7,
6,
3,
9,
2,
8,
11,
13,
11,
7,
14,
12,
1,
3,
9,
5,
0,
15,
4,
8,
6,
2,
10,
6,
15,
14,
9,
11,
3,
0,
8,
12,
2,
13,
7,
1,
4,
10,
5,
10,
2,
8,
4,
7,
6,
1,
5,
15,
11,
9,
14,
3,
12,
13,
0,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
14,
10,
4,
8,
9,
15,
13,
6,
1,
12,
0,
2,
11,
7,
5,
3
].map((x3) => x3 * 2));
Blake2b = class {
constructor(outlen, key, salt, personal) {
const params = new Uint8Array(64);
this.S = {
b: new Uint8Array(BLOCKBYTES),
h: new Uint32Array(OUTBYTES_MAX / 4),
t0: new Uint32Array(2),
// input counter `t`, lower 64-bits only
c: 0,
// `fill`, pointer within buffer, up to `BLOCKBYTES`
outlen
// output length in bytes
};
params[0] = outlen;
if (key) params[1] = key.length;
params[2] = 1;
params[3] = 1;
if (salt) params.set(salt, 32);
if (personal) params.set(personal, 48);
const params32 = new Uint32Array(params.buffer, params.byteOffset, params.length / Uint32Array.BYTES_PER_ELEMENT);
for (let i4 = 0; i4 < 16; i4++) {
this.S.h[i4] = BLAKE2B_IV32[i4] ^ params32[i4];
}
if (key) {
const block = new Uint8Array(BLOCKBYTES);
block.set(key);
this.update(block);
}
}
// Updates a BLAKE2b streaming hash
// Requires Uint8Array (byte array)
update(input) {
if (!(input instanceof Uint8Array)) throw new Error("Input must be Uint8Array or Buffer");
let i4 = 0;
while (i4 < input.length) {
if (this.S.c === BLOCKBYTES) {
INC64(this.S.t0, this.S.c);
compress(this.S, false);
this.S.c = 0;
}
let left = BLOCKBYTES - this.S.c;
this.S.b.set(input.subarray(i4, i4 + left), this.S.c);
const fill = Math.min(left, input.length - i4);
this.S.c += fill;
i4 += fill;
}
return this;
}
/**
* Return a BLAKE2b hash, either filling the given Uint8Array or allocating a new one
* @param {Uint8Array} [prealloc] - optional preallocated buffer
* @returns {ArrayBuffer} message digest
*/
digest(prealloc) {
INC64(this.S.t0, this.S.c);
this.S.b.fill(0, this.S.c);
this.S.c = BLOCKBYTES;
compress(this.S, true);
const out = prealloc || new Uint8Array(this.S.outlen);
for (let i4 = 0; i4 < this.S.outlen; i4++) {
out[i4] = this.S.h[i4 >> 2] >> 8 * (i4 & 3);
}
this.S.h = null;
return out.buffer;
}
};
OUTBYTES_MAX = 64;
BLOCKBYTES = 128;
TYPE = 2;
VERSION = 19;
TAGBYTES_MAX = 4294967295;
TAGBYTES_MIN = 4;
SALTBYTES_MAX = 4294967295;
SALTBYTES_MIN = 8;
passwordBYTES_MAX = 4294967295;
passwordBYTES_MIN = 8;
MEMBYTES_MAX = 4294967295;
ADBYTES_MAX = 4294967295;
SECRETBYTES_MAX = 32;
ARGON2_BLOCK_SIZE = 1024;
ARGON2_PREHASH_DIGEST_LENGTH = 64;
isLittleEndian = new Uint8Array(new Uint16Array([43981]).buffer)[0] === 205;
KB = 1024;
WASM_PAGE_SIZE = 64 * KB;
loadWasm = async () => setupWasm(
(instanceObject) => wasmSIMD(instanceObject),
(instanceObject) => wasmNonSIMD(instanceObject)
);
index$2 = /* @__PURE__ */ Object.freeze({
__proto__: null,
default: loadWasm
});
unbzip2StreamExports = requireUnbzip2Stream();
index = /* @__PURE__ */ getDefaultExportFromCjs(unbzip2StreamExports);
index$1 = /* @__PURE__ */ _mergeNamespaces({
__proto__: null,
default: index
}, [unbzip2StreamExports]);
}
});
// ../crypto/shasums-file/lib/nodeReleaseKeys.js
var NODE_RELEASE_KEYS;
var init_nodeReleaseKeys = __esm({
"../crypto/shasums-file/lib/nodeReleaseKeys.js"() {
"use strict";
NODE_RELEASE_KEYS = [
{
fingerprint: "4ED778F539E3634C779C87C6D7062848A1AB005C",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nMH8=\n=H626\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "94AE36675C464D64BAFA68DD7434390BDBE9B9C5",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nmMJZL+1dR71q\n=sm/t\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "1C050899334244A8AF75E53792EF661D867B9DFA",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=ZsQu\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "B9AE9905FFD7803F25714661B63B535A4C206CA9",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBFZypZgBEADeIdm42LaylSWw5CosOAte2m6S9DgAGEBrg/yHSFTZWz341EZr\nlq1fghIC9nHh09wVlJNOOo3orB9tYoJ3LArB0MQb7Ha7dcnfn98O1od0T4QTlEro\nEeJaOfuElLD+5b9HVYqhdRtMIFiUTfSTbEXbQcvZhaLf3M8aI1G+poPRYNVRx30p\nX9PM5N8DDmW8Q/xYg3T1uHuYUmd6HlzBiESNE2WWcJoxoKuQR2Lk4Wkt+qYnxdHH\n0vYIsk9mN0yDySpPEv+kzrAU/UuZ9Ve0GhlLsVLL3yHFUjLQOx1gV/ofrV/v0vcW\nM3+rRovU1cFPUUv75mzA/TJ8aseAbboAY84RyF0b4jQLOmiTHWdDMSZwDVR05r82\nJqynI0GGfXRgztNpnnebiYk5QLAqvUzzdfRMyrU0SSl6VDCXUQAEz3CyODwJ8GGk\n6PaTQ9/9vmt3OY4leEEf3SrSwH+l4E8Z59gCvAUx/ao1pIacPdCd/kdx1mPVcwxT\njiPDMp8sIeBSdLt9Lo8jt5m/92nKoH9SnE6L4snJVvB21mfwRxRj1cWmeZ1+BAC7\n+5WfcJRM6xhr7XXeEmZO+QQYjLzKS1t+zIsv1modQMl/f2ciSi1RTO82mIEaCfRB\nXVEpewsRV+nikjsAJ9FOV+kr4NAUIg6zg9QRiHtTulm3P/c7iRKFnbdehQARAQAB\ntB1FdmFuIEx1Y2FzIDxldmFubHVjYXNAbWUuY29tPokCPQQTAQoAJwUCVnKlmAIb\nAwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRC2O1NaTCBsqYJuD/9V\nd0yTYaSYj1BWDusB8GowhVsiPiHFO+b7LPcNO60mPOU8emJCyIDR7MZTzGuiHPaz\nxV4zYgK1IEZ1a24M483i+53Bquej7nqch3AGVlKA9okPFNTsJOt0QkbuPTGztU++\nZSfiUnNpY7hMA0f5rZVoHg1BIOSv9jzt/Ej4PPRKoiMB7f0wSeQkYyXojq1ilcZD\nYIuk9il6dxD8mLgc5HoJcCLIhuBUhqDlEMH/1yODqoonDJMUShJqOZE+1Xp6zJ6w\nBeMC+IGGefp8UyIvumtT89l2JrS5j+6DLPRC7IKoo9ZcdKwdX/erX4vfee2uorDL\n/u64oN1otYEeZdz571rq+YipTlyqA+4kvmzxl6Vsz0hbVOskttLOTrjQkZ+wu64d\n4VpczomevsqZcETrIwy+0lngkOxsQdh085kO/Xgh/abRjDkWd7bxWkdMavmfY0oe\naHi1/NWWiBZn8PM3EFhNINVgCjLdfwD+gHJ4SFZCXWmVcxIelo9kZ0Zwh66LViDh\nHAfE2e/pr+tQ37hW5Sj3LgYUlTKkFL4iSlcib6EKL7BNmmRtmDDpdn6Qk5CZXj3T\nIqjGnpwUygcNxms1vv2ZtHqr2dPmnVJT8kzrQhQHaE3yTLyeTjrwPnFA304BOaEm\nkdCbAVV9Qk6UfGV7Hf2rJ0QI6TzpLotVN2QclYG62IkCQAQTAQoAKgIbAwUJB4Yf\ngAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCVnKmHgIZAQAKCRC2O1NaTCBsqck9\nEACqOdwRtnf/X2vqdsOxisPjxvtfb4jFC1j09rsWcXmOoVRFxphriX7Y+Ea1+pwA\nSeMHR6UP1gLpbISMVKoBxDp0n916sTxH5KPeq5o9xcieRAoNubzxQdEArwCkd545\nLv4K1SlYTNWUZxECHCkHEcpUA3JBOYzd1vkJTS73Box02zOrDX2FTX0Naf2pduNH\nFsQ2b7p1Wj3XIEN0YDvHSmWCKdqlQRfxYL+7qakd1170ILqmPZpjItU+jLkL7d7W\nXNgI8Ej/30OBygNntdgUZieB40Ogzuvye20lCHjATF22bbD7gyc1etAIZCgtCFiL\nCoprJTO0wCky3wesjRTEnz5n8Vlz/XWLllCEOu6b3iWJVKgHUUP7AP3EUITT54sB\nuDEnHE782zhbaYGjcPJQCWg0hKTEdHnzQai0CagSElwrm+ez2kK/O1R6QDdo9P/x\nxrphl6PoJ7nHjgvgV8kuoH/OllN3E4SZ4TOEU0a909QBKmoikySTtlL/ur54+4v7\npLnKFoT21JD5So+JUeh6iXJHDId2yez4CgZGh6StsSZsbDJ6dxput+STMyoDOZuW\nuOjBHx3Zi3tSMkOzPaSGfvVj3SPognuGd4tPU9rGCB9ftMW/19zs4Tz8G0j78lom\nPXygUiKKZ6q6BI0n9pN45Dn2l1UGF9RN+FZdANkCww12QLQhRXZhbiBMdWNhcyA8\nZXZhbmx1Y2FzQGtleWJhc2UuaW8+iQI9BBMBCgAnBQJWcqYVAhsDBQkHhh+ABQsJ\nCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJELY7U1pMIGypAdIP/RnIwmVyCHRDFn6i\nJlRkIn+VDfn6NiVloru2VFEaJlGnSZuXaYk++LvQLb21SJCJPU1CU/PDmAOBSVKW\nq2xCog9WVDdUZLN34ggqGBJWQFMYFmlTFrYmDHrSO7FPxi4/Ul/8UmvPIOV+gkLM\nJLp4+4aEXh2dD1lOvWPX2tVxaUeMp28tpL6F1RHEHUzF7hv+Ek1oTfWPIDIl65W8\np3vVUOG+VJi3iFSy/V3/R/xbI+6x4qrLQPiBlxQQ8nXaXaqRz7CzY0xuRh9Xq7XG\n5tpiVHgvLr6frZFBQiCnx2ULDLpFC8F+5mEZQUppa69u0O/EbSf2pVdI6KXqFNnQ\nNuHfP+ueXwQkAZOjQNIH1Hi4CHJhG4iH1TA9FLjggv/OriMmeiYz3aOhU9vDXEvd\nvMqZSViG03LBzESz2LGfRBjuyU7PjFMKeRN8BiyXrHE8wXVp0n4Z6lhfCVAo1cVG\nieU5a+hSnC9XWQ12UlfkEwE/7c2FDQBpw2UCui70PQTYumWO2dP067+HH7ojCyUi\n94tGQWzJLObz+f2y0TIWYYGgyBie2XaYrkO71rl/vyxgXQV8zMvWkqSOpugzW/dW\nyRPQGE6aS462NgIkWedujrl0VZqAG2vfuEbiCWX+SOEWA99RZgGvIWjIkKseBEsl\nQvRCLMOOi9K/H0BqeMjnLf5Hu74BuQINBFZypZgBEAC6T1PynefGCGgjhjIefXBg\nSx9d3X5UcnF4+JuMG67tEau1bXBAucvbD/FZAOc4sCX1K/yH+CsvvTam3CiV8IkJ\nGBgIj4VkWlNbi/zQvgw1+bzOYRVth57xh58SHUNHIpl7ccFLMOhmCjUfAak6xC/P\nVf0XtK132Zj+uET8Ek99tCZfpxaZuRmRkctIdSnl35AjmV4Wb+l4Rs7SVfxH8JsD\npu8PIF8rsGU1JNTVcujGaiT3GB5vJjzO2QnrC2s3PE2TDgn9jDCs/i/U4NgcrA4B\nJh8QdH4IIul/U8lGeQcZJb5/iu8ygBqj+ZylpLtHolC61XrFJtTb2X2mILOwOqry\nHLuizuSkZOpTG21hgdQ4FnspnF6yFvOXuHD1RWNgU7jesASYBGxpHRy/owzwevSx\nqvcxnv39P4R1BMmg9R6hx6nfQK60iwIm1XB1U6XFbl9mpIgrifo4rebsGaiXg1DR\nhblOe7qICqvOMz7DdkFCpCzNSbBn/3LZnDlP4fyu7/+y60SU55lLwp5PmC2uJklB\n9LYHRKvULK3Kx5VkXftYxy7DktHJTpJpU/M1drQFDYISkiQUOHKhMYndr4fwNAgS\nE1uQ7ym3fUF4EX3Fouwh1W18GL62PkcV2i5VkE+Bev07dBonunntzpHRqZulsp9N\n0Pi/3n6s7tMx8oR89oe8ewARAQABiQIlBBgBCgAPBQJWcqWYAhsMBQkHhh+AAAoJ\nELY7U1pMIGypmoAP/2GV4IZ/V2lt/SEY54Q51YhRaQHGT++cvemkfCIQLJ+nWOSD\nFJZUaZiwNF7sC3U0crXMJ87Ais5LxE5EIFqqjKn/cbTZX4a9Jd7uNooZQvGzT825\nzr98MH8Go9PZdodcSwwtLf6C/gPa2VYI6X7wpdfBS1RaUB9SW+PX0R/rQR6uWVyU\nnT17xk9tvHzFyauxBAm0UWd96C3I4zvHujrH3If7Qol+fWBDMZZ7lMjId+f3Ix+e\ny39lsaSVZXiRP2GmyjpPilJ2tONe1Bj96MfEev0owl3Uz5LJrhTy99zQdfUNVLgX\nluvslK/WzppNmOXX+u3Xw4c3p3QL9qtyXay9tv2rsi19HULpPE5FkZulscbDrbUI\nEcyAc1CTq0S0wJvVvnPNtUIiOkiLGNlTIZpVp6e3vi165Bm4Kx7KwxELyuE07pJJ\nv6PbHjfbD4UTGGPBxGa39y/h72nh0hv73Ev4HDDRAwgQhALhHsL1eXyc6kMMxLXh\nNR3W/AdBq2BDID1qj4g15FqBnVmcOLJ79AAbszQ+2Sh08PmPGw08D0iAGsqvOsmW\nW+4+S206EIfKl43eLd/PME1ot+FAOepT9CXkQxaAs+ZH7rKmlx8mmowujwX0Cb1j\npkatHhJZAsqY8KUjSXqFfVjPHglxLyP/8ywgi/MBlwSnTTtbHyKmqDyts1PP\n=CMP0\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "77984A986EBC2AA786BC0F66B01FBB92821C587A",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nKoZmFSI=\n=Fwcs\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "71DCFD284A79C3B38668286BC97EC7A07EDE3FC1",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nntI6COSRy17o3GzXm9d4V70=\n=h9up\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "61FC681DFB92A079F1685E77973F295594EC4689",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBF5MceABEADFVslAVcrIyj7pcWEPeYgnr+psd6CNKlqOslf0+WUFSf0RVl45\nuTckfS/D46llZRGbnOOixtM0v0fK60iSjLfWOTQJWAF8BIHaCEb3nAafZcFGnRb/\nLYwBYHakhtlvQFprEp7R+ja3e5+m4N3x7Rr/WEG57g+PXigsH2oGOZxgjRbaoAw8\nQovG3ngU1/4Zo6p+7spTtPQ2eyhuE3qd039zJ4mKysJWqdZUsByNPfFITKVtbj5m\nhtZPTKwYw4+gAV1aWy8AaEVpRJxGciZFQxp3ZqNgNBLFcgs3IWN9MPXapqS4A1U8\nqLZ9VeWhgFtNvf5Sxb5l/cGoH99u3nJCrn8EHiMsDU4qnrEzszxcOdLiERwtgzhH\n4wvddZdAz0dqonD/PMhOvhbrANx2Z58pq+mgw9BAQuwpsFsgiJj40NSdr3Uy7Hfm\nvDA3WmOPu9eRE6zt6RXcP70Hh4/VFr97T+v6oNVERy8KtGQaMTGtc2tFnqV4sdOX\nXsgZvmdghvQjkVUwwCEBZjNyrb0v1iEHvLjLi3Nli70Ue/HMQQGU4ICznC3rgZ4o\nPNW4fPD4QFtDMz+xh5mIrKNA4TiOGwhtZxrEvpZmU3EmzB+fYuKvfCkOlemV0/WG\nCvH2Va6ejJk/y0tn19eBR3G5O+9r+172MPaKOxlgmSHWi4o45JUrV4VAZwARAQAB\ntCxKdWFuIEpvc8OpIEFyYm9sZWRhIDxzb3lqdWFuYXJib2xAZ21haWwuY29tPokC\nTgQTAQoAOBYhBGH8aB37kqB58Whed5c/KVWU7EaJBQJeTHHgAhsDBQsJCAcCBhUK\nCQgLAgQWAgMBAh4BAheAAAoJEJc/KVWU7EaJ3LUQAJ88l5DP+nccBt+Z8VWUPJpj\nosA3FO7VFSHnPqzPAFe8PNhllyYnhguaaFJZQGzhjE7KP84hLHINBQ6rSyYjOE9p\n4YwC8JjKiF3cNVA8sV87kYG9yh3ogBDO4RKLc5Fqj7dXneFxKapips3yC3iTjORU\nPCYphlPT5D+qoshEIyYvxU9Iovapl7uNwLSmxoFb93vp+7KY9ooCufErXig+x7Ci\nmy0NcrG9JEjQCdyTECcXeetB6LCqCNUdAsXf5yw1jf5rtdHOAFdLt5v2lbfmqwJO\nv274Knk7sHTWfTnB16SUVpvh8XST8pCgPa9U2yZiWOFQ14hV5pvg8c5cYtSbjpE3\nfecm2DquZg9LtKs8PafQGg0fHbQCcTmUF4L8JYW9T4bIzFZt/bF2FmUlE3ka7brz\nDRE/cTlqI8eaIGRr38UqoDuQZ9kgDgcA/n63jciVL/TkJ246eViPjuSUtkI6DCpn\n/IVked4/1yMsqgzT9k+QAMdLLMlVvNfHzbrnRyyh4UkH4MAnjuafpBkTgoMsDKcT\nwE7CcG65WIOcQdYB5oFNYkJqqrbsvw1N+fLiDmN6aYrP8sYJoPlr7LUVFCgJSLUF\nh2k/dZyp+Lj23p7ls1BWe63jvb29KRzo2bew/URVdFaiYj1XadvuQSLhQo6Pv0Uv\n8W5Pba/pFEVFK5YT/SEBuQINBF5MceABEAC3+dGa/TP26+L3RKpmu8Wei6SDkgbE\nfYQkxbd2KNVLPVSAyDP3XGgcsgYze+RyGGZwCEMgSpcS11N8Bci6Z5bs2OQ9Q0o+\njuO8jNbPvBqq/5q8gupMrnXYmvIt79f+ZXKSfm5fJSemRotLBnHZDGRLLF6QzObt\noi+QFfqWHPa7mBM+pjFIBt7fJjqQDreLHuQZ8rYdez1FrnNOr3gvmOyFaxsgjcQ+\n6RPpVvtkxRyVBi/Hjc4GLEj5sGzjzsMeFSZ52O0QXHTOxodZzcn/sbw143RJk4AG\nxzxCkNTa306ZYXKteTqmPT/b/tg0baR5pt0xmnfRbijxiyYFsSW7vmR4+fc4h1zU\nUCiPpp6BweD1QMyJCWOds3OBwm91z0qesOxfIZ5X1jUM2iQ7/ZYJ/I9sWPEoVMDl\nCR1ez7ihdhxeeUJRvjlMzdn8QTp0qUY7hcJRCrl60GwsXtotcxDMJ5VDU0/yQoJ0\nYa2DIXbCbgkAXQA+hvZ9z+C8G/Qa6cAuHuKGcaeb29HpXJU8upLsyjAGhXJUzj2s\nZX06NA8pc+DX1E03kd8/iVLzkkOqWTQY4SZcaQPafmcDlw2LMVGwTu0IwzFY34rX\n2O5xcGiTBLNSUJBld/+NPF33VQHnwKqnO7q9zEyruxGNNS2/PpjIvli628msWZj6\nXXeyyKQVQSFYwwARAQABiQI2BBgBCgAgFiEEYfxoHfuSoHnxaF53lz8pVZTsRokF\nAl5MceACGwwACgkQlz8pVZTsRol+AQ//eYQZMhPVz1mADAp5t+jYQ5sGUdhJsV5T\nI4EEwPGA6nyjjbnuCR4nfDc5teSVSI+24qvzfgkKTRjWojLWFsN2JSBsNZVzHEwj\nNS6lEkFuwAnOE2QjG6yKXoRLZvHiCw35Ep0Fs6fSVtiqedX5FcjURw1wx6PHyiHF\n8rUDBPnzuD/EQwqcLSXo3pWZr+sqYAu87G7bgJJqu+bm5g1MTrtAJw4/x6TrKrW2\nfMmNDSvdgaHiRx9adY33W4nmr+ShjxN2OVrAo5TsjO5kANOmKySDlfjpPoDAWJ2T\nY7acqfYGXFgCTKdTjMFdURveB1qIezR0P6Eo+mvtDMnaUCaw4mR1r9Es4QxYasof\nsyh0BkkoL6F1mTr2aP0S0b+WAcJ4SI4BUY1J6fBDccxUZtl3/h7jKLy7mGlG3WnP\npp45cZ9SHr4GErp3z8hu4HbaIVoAxurkiFX2Wd6QmkTcpRM1NKftkEZLW6pzrD0w\nI24uLT/RC+8e8xwGqvcPc5HZ5POrQJLknW+xnSDoAQNcjwcyD3oX9nH3dfPAV6LP\n5jZl07WrRfbElwmr/v/gKVVgaxrK3laZ/U3OYe/qGz/ntMvPPhkoezpP4hgNyTTj\n17mQo2WRyoHgK6bivtU7j8ZSmByctDvyWsfknnNFKvKZDW555O01TDNpChkpvzoY\n+SMSBsOPDf0=\n=i++9\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "FD3A5288F042B6850C66B31F09FE44734EB7990E",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=NfOh\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nR/5R\n=+ahi\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nftyH6K7HWwkSmrXf0//7kPEF7+P0LvSX4Ri/X2zfa+GgkfmIK66n8Vl/+YXSZxr8\n3Yf06k16Nl0loYZqYYkhQvdxKIyrXKx4zLiIU3QOKWFUy5EvAFwg++i5s8YvSvxb\n72p5tlhZ7C2I5/zzZG6+VPFEa4kCOQQTAQgAIwUCWJ4DrwIbAwcLCQgHAwIBBhUI\nAgkKCwQWAgMBAh4BAheAAAoJEOc7xkHMEfTI3RUQAKagnz10ZI0WUXYbQlZ09eUG\nzDzxA8gpsMAoEb31+vo3bwFJ8hlErSkWe/WsHoaF7y0BiqWlUYibdpKrdmNnivbs\nj5TTb5MEndP/kKYsfKQZtbNZwP5ITU3lKVEPHCBZbDYQWKPdQBSq/6qvQ1D1/lSr\n6VEhML0p/XbFy9st22jMqTWiSEu6xHyOf7t6+niLcLuBo/edR/+jOEF8qizGYZaU\nR7eFtRkWD5I8y8sPWtjjiRmbnV/1YcJNfZKDNu4ReVzXh9iJBt3iC8HY1nUFo2ic\n2bZ31odwpGLrfebHtL63jyu7BW1GrlQK7NwrQbgFg2ePpNCv62Pzz+LUkXl4UH2Q\nKFRBhJ+MMmq9Tx4IIAUrcOx/wc292S8+VOoH404Scp8y13dsW4v1YmvbO7zobomF\neTA1TZ371q7OqumxtCl2B8gnAFxzBPH7W6O3YHSs2zEpwtd3r20VS/WZ2owl8+HL\n1hGg1AY+LCVBsX4BiBF/4e4qr/6BghvScximLbIThS9jLJCJs0jphhPKudS7dMAQ\nveGSlWJUJ1stLqoWkmQuo0ndArLtnHQF+pFRtNcaIqmn2ZOQM+GD91PxIlMmR/hw\ndKzVf6b5ncwvfS2di0ySl8v50SgBvZTbLm/C2Qh5VcB9NolzVHqICtoVO/fD4I3P\ngS52Asdx6Deeq188yoXUiQJQBBMBCAA6AhsDBwsJCAcDAgEGFQgCCQoLBBYCAwEC\nHgECF4AWIQTE8N//TowagjZAnQjnO8ZBzBH0yAUCW/Q5HwAKCRDnO8ZBzBH0yPtu\nEACUVtMYUeB8NTZC5e4ceP8D0fciwxvcXKngRSm/BItY/Hi4gWn01Us5cG/7hh6y\nnW16f2DLWMTQL8EIcUZ7kiKvBCJc/v6X/4XCPGJthGrsiFzPiaFUv2qzhSooQkGB\n72Qi1WhdvLn1ocSkUDWbFeEJCnGxH5bVBSntDu0nVU8DwVTB/NQ8V2HZDl4e/mWo\n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\n4G5Uhcw=\n=YIVB\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nH9y08K6zB4JFN7saJiCj2Q7W2nXuEUhRVs2K\n=L7AX\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nNBG2Fw==\n=Cg9A\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "DD8F2338BAE7501E3DD5AC78C273792F7D83545D",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n8FLoLzom0A1FNxCvgzOraMITOobs\n=dTMc\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "A48C2BEE680E841632CD4E44F07496B3EB3C1762",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nfyCIa9sx6lcYB+gDJgESL0Nt\n=hSfG\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "B9E2F5981AA6E0CD28160D9FF13993A75599653C",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n1j7Q6fERAXlFlv7ciEuKBz5A3SK7Xt7Eb7vQ\n=kARQ\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "108F52B48DB57BB0CC439B2997B01419BD92F80A",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nAI4=\n=Sf/w\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "9554F04D7259F04124DE6B476D5A82AC7E37093B",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQENBFTROWUBCACslqx8p2znj3CwEqWK+bEgyfxykVC1iFEABB6UCQ5UrlAiYTjI\n0vwFaTlbWkD3dWBxiFN2+n24Lro549ATmXGO+i0Sacr7DTgawZdkJuM17nNmlAW1\nc1lo6D/KfQ1K7QrakloQw10LzLLW3uxi3OXVoefY1JKTeQn43jolrCHho9iNvZ0N\nxyihQYzSiRzqMQGltKw5UDdbhwuzr9jROgHuUH+msOzax9IkLb8mm2VqJ3HaDJWk\noAaU92leGoicEBhR8qC3zGzua7pRFK8qhjaSSL/N/NpCu4ud6axHaBomfn5HJQNT\ndTHB6R6wsVgMED9vfZHqJeyltDvA8FDw4uQnABEBAAG0OUNocmlzdG9waGVyIERp\nY2tpbnNvbiA8Y2hyaXN0b3BoZXIucy5kaWNraW5zb25AZ21haWwuY29tPokBOAQT\nAQIAIgUCVNE5ZQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQbVqCrH43\nCTvBaAf9HEU1MhfIF8qlGno0WQojtEW8hLskw0Dd4OeG3cLsSmCa72zEjEVHw82X\ng862h3vfEybf7nd+mxdoSDT3iLwD8NOW6pnzW4/RjRGwvKKUhYggu8oi3xBSNj+h\nGRg2dkRWpCtqJo1q0XUdh34iqJUpk2isYvsQuHJrbcglPLO+tuFFNZ0JTf1f895s\nOnP1f+N1ygOnhehRoxO8gjncU3M8TXSsX8LQuCYfrBXayT5kZ49j5/+HOS8dHxYE\nR9e4LpPIWpfWQtXgXZKxcpyu0x25ZO6jkQLhleXtRpCfDO3DJw7l80suGf7Vjt0P\nXiYk5K2Z6x7h9rhWkEN92kTmRSbErrkBDQRU0TllAQgA1g9MDLyGI3/W+oXwrl2r\n2DKvJFRALeUHyedU+oaGo47XBKvNk4UdIDeHuUvf5DzYJW6t8GH1G55ZdYGik9/M\n16/6b1eYA2T7P6kjOmCGtv3KMkCLbymlFxb5SWEWwVR16L+5eXfVKbEBT7n2MGwT\nc42DCJzg7APZasaJuRQDoPgQFVQ1WX+0eXimAgdYlbtVjZmrkaIZbzGIcET1lJdB\nxOj+bR0pXIXbOvo5FlCVMmGAefrDePhqfuFMAQup8d4Gd7V19AcV8FyNUrVkji/a\niupi4FcBKLuF5yybJLY5d/Ij0pZ7MGUcbUhe9CbOZv9fvZBnL1Ukl9bxfchzrM2h\nVwARAQABiQEfBBgBAgAJBQJU0TllAhsMAAoJEG1agqx+Nwk7vzAH/iTv3qDimLGA\n9YdgSJ0h1aWZBgU2okJLLEeZQQuNHzM+ekQDhBA6Bdb938VtNUAdCSABBKUlFeq7\n+cqpcH1YgHyBv6K6avTI0F2Y1+nYIqZoe4n1QlcWg858fg4zzjBPU+s2eVIl9rOZ\nkMioU0UgM53DOhz/KjCHIWeLCpZAdfXsK2+lzWLINoYJ767wTNkXWPcxj2mGtht3\nhCOcTHK5toVhlytM7vGVacn0xwOhNSNMBwFq6rucIi/fgLheNDFgLPykE48XmLau\nfb3Fyii+q1BCWWZsyZjkLW7kcpf62i/YlrJHjWRheWLblLtxqy4ZiKqqLCtyfh9a\nxr5u2jsokh8=\n=2Ugv\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "93C7E9E91B49E432C2F75674B0A78B0A6C481CF6",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQENBEx8nbMBCACjmblSAGggunFHAWRGZLWLKltA2PG6rIM0bOokJFWtGwRqBCAa\ndKuNwBGy7eBwFQAxuHnNwDKqyGgCKUBe4RUuz0gKr1WgkPAzHZppo/n5BhE4iIxr\nlWJBKVKk/gjXVUBPhRPWNTa23JbzJHntxzHqeMQWIwIdBXoyOf0tOuXcfH2oVBdq\np8nFaeJQ906F6olUD8U12LgIhkg6/NTDLymwkau4YcOe8c2repNITVFaP6w5FmSj\naWTnyFXpdnVF4fWpbrLXsPBG72UMsAyWW4XuMtO07t4MvzgKBQALmGqlGMVtVkCI\njBgYD250NqBGKPmBrfJQVYbEesOZqNAF7bdNABEBAAG0J2lzYWFjcyAoaHR0cDov\nL2Jsb2cuaXpzLm1lLykgPGlAaXpzLm1lPokBOAQTAQIAIgUCTHydswIbAwYLCQgH\nAwIGFQgCCQoLBBYCAwECHgECF4AACgkQsKeLCmxIHPYyyAf8CUkbVGxWid46g9jq\nhYJd4o2Au0l6Y5prhraugbMw72PUstn6VAqx77Voe4NS5J/8942HHWjtlMIn42gU\nB5DS6gnGDFpo/64d3AZZ66meOE7OHcD2qo/kvziIPq77paOu4ZLF6XcY1xycCCkq\nL+8zzH409o6uR/LN4APeUcCmnqugibA1vOmQcvU1Ks+X0hKEHOkjDjws8F3yUokG\nahUrtvYqJ7qNx5RQvKzvcNbhM7omZ2KXH57YyhyvSdUvfjzaFv7D2CABDlVk4xxT\nGAZjmAKrKI6mvJLU36Ip9XJTH4J7iAqOe2phUSmOdZOfRrF6qFkvmNNNkH4MbDu/\np9IPOLkBDQRMfJ2zAQgArSXiNKQXWZizpdNy/C5fWIqmczpW8MwnVY99PfB6+gnA\nRxZ1GX4J1APd1rniOEOEEgWiB+QsihuMLHYuGHBhQo1zvrrmvUAZpNwz4NovcCAq\n3AzMMk+VQYDYWqqkUFnct1dLblf6SuuZ/beWUk+Rju1mRQoi9heMMwjvNlqPBc0v\nN8y3I8WhxCtQpWIMvQs7LN3v0s8AWNCV9VsQxmgtYpx5kMe3aYMJWEa+RzqhNvgP\nFwfOUaBXQ07dBqLOhTjMomEVeBoCkBU8mrIrgqoOkucKZE5/Hlqb8d1y0AiO02bs\nzCHPc5Wx5aCpq+EYWhskM8Zg3CpXhHQx3rE8oMnX7wARAQABiQEfBBgBAgAJBQJM\nfJ2zAhsMAAoJELCniwpsSBz2bckH/0+0te0aioSQWEb39JYZCcBvXvvnpL/pHgPa\nZ6tOizCf8/3tSRbwxI2CQ19p8ji95v+A0c1G4LwiTfZY3lEkIk0ZL1M1Ky82x/lc\n6hhsIVQ3JdrCSuOUzMhgQQk+I+xPr8gx4+1GL+Ia9F44o0CP0WgPeLshmK03hmjy\nZqC+u0j/R8OQqS/kVe7qt41nmNZzwsROuKuJt1xFD2GMquL+Z4oCu4YLKM13WPkd\n+ntZI9Gu0N7YDY4tKQCtcjs7z7AwVpfCesnuJtMtFb1+xuyt5DErMVN83Mi1VrUu\npYtVXNkSmiSUWMmh7QfVNFrWDqlP8vUi3BIEV3FtjXblPkbKbow=\n=o1Jn\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "56730D5401028683275BD23C23EFEFE93C4CFFFE",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nOweTnxa0BqWTj1O87/SvSKdOd9ZI5GIp\n=K6ke\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "114F43EE0176B71C7BC219DD50A3051F888C628D",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nUSXWhEefc3s6beE=\n=v6Nn\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "7937DFD2AB06298B2293C3187D33FF9D0246406D",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQGiBEPOjg4RBAC2iPU+EHukOrmApMnhYym03gV/VbdPDydVVj+fc7TyjULlKWP7\niEMFZb58EBjjK4Db3O5JiC9yZ7NRgYvqCFGP7hTVBTykJucXIyT8wCmaAImrtAlg\nhA7LKTKlMdkPMz+iTiaVivt5F2W24Lfy/f664J5POcUH3Y5e1dhImNY6fwCg9TN8\nT2QKrFuudsbvqdw+w9I9ZD8EALBfpb39xdZenQllhq6MnODIzeHf5+wQV0slAzaO\nRZCAVWodGtNx3NYomvmOuhY3iwFrTiGW7r+3CDqt/4us1vhn/y/A8JijReltOeF0\nnbTM9HzD+3MrlTZMSfR9lzpu941IDkvw67NeFdSHPxLEEcAxI+eoS5dYsdjM3isb\nOvv1A/9jJFYcPg+CRDPYVsY7ok+JW6olXfDzK0pg9zKS2gNbYq2AhyvKKjM/L1Ca\nRkmpliBQZEq3QarXrirdwtR9283JKQ7K5UgigkCDqxE2C7jF4XZ6BA41Wh63GPFF\nhV1J7R+LI/FZiG0gE0y+bckeSB68+wdh8jnb2JCkNkegbBU70LQvVGltb3RoeSBK\nIEZvbnRhaW5lIChPRlRDKSA8dGpmb250YWluZUBvZnRjLm5ldD6IaAQTEQIAKAIb\nAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AFAlMeUUgFCREw9rcACgkQfTP/nQJG\nQG1lcgCfdK0g8n4Rwe7ng5CiGsK2aeFu3tMAn2GJN5GDVyVpxIvDMAITPIcbpJFi\niGgEExECACgCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJVFZjCBQkTKD4x\nAAoJEH0z/50CRkBt9DUAn3JLT9PifudI9mbufjOvNhTRjNzBAKDnPR1ceqWO3F78\nO02juhMZp82YfYhoBBMRAgAoBQJRPNokAhsDBQkPT38mBgsJCAcDAgYVCAIJCgsE\nFgIDAQIeAQIXgAAKCRB9M/+dAkZAbSbgAJ4q2SMC4N9bzJwiU1fdz8evS2z5xgCg\nhyS/CRrGGzlBbaQfLsY2h6CVftO0MlRpbW90aHkgSiBGb250YWluZSAoV29yaykg\nPHRqLmZvbnRhaW5lQGpveWVudC5jb20+iGgEExECACgCGwMGCwkIBwMCBhUIAgkK\nCwQWAgMBAh4BAheABQJTHlFIBQkRMPa3AAoJEH0z/50CRkBtgOgAoKCVOmY7DUec\nppH25/ZNtzhUZUBQAKCv6nNAXhafNJ1KEi9nPLsweUv6CohoBBMRAgAoAhsDBgsJ\nCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCVRWYwgUJEyg+MQAKCRB9M/+dAkZAbSXB\nAJ9T4QxHcQiglAj6unDkpNCfQd8gAwCfd3zAVN6xtlDI119a/Gvb5H2JskeIaAQT\nEQIAKAUCUTzaRgIbAwUJD09/JgYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ\nfTP/nQJGQG0vcQCfXBAfor5DHZEd0vrUAtHoZXIiRNEAoKs9sryP9dD65Uf8P0eL\nW7NpB/Y5tDRUaW1vdGh5IEogRm9udGFpbmUgKFBlcnNvbmFsKSA8dGpmb250YWlu\nZUBnbWFpbC5jb20+iGsEExECACsCGwMFCQ9PfyYGCwkIBwMCBhUIAgkKCwQWAgMB\nAh4BAheABQJRPNqyAhkBAAoJEH0z/50CRkBtqIwAn2HZ88QHvZFReoqNo/saO4ax\nzqxyAJ94cWr+bwMO8wbx2JHTtGxRKx+s+ohrBBMRAgArAhsDBgsJCAcDAgYVCAIJ\nCgsEFgIDAQIeAQIXgAIZAQUCUx5RRQUJETD2twAKCRB9M/+dAkZAbe1gAKC/YnU4\nK3YvGN3zDZZqA45F6dGUywCcCzQs5rgW4ivr4kVTWb0JJXh6BNCIawQTEQIAKwIb\nAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4ACGQEFAlUVmL8FCRMoPjEACgkQfTP/\nnQJGQG1yCgCgrxLj45QV/4cZ8rarKJjetNdBj8gAoMxW6LSPod4qwTE2jw2Qf4wP\nlXC7tEBUaW1vdGh5IEogRm9udGFpbmUgKFBlcnNvbmFsIEtleSkgPHRqZm9udGFp\nbmVAYXR4Y29uc3VsdGluZy5jb20+iGQEExECACQCGwMGCwkIBwMCAxUCAwMWAgEC\nHgECF4AFAk1yezwFCQ1mVBUACgkQfTP/nQJGQG2ITACg3Zd9owEpcatNeuPrWpmL\nM3yORKIAn2kmpLHReRpKQ+buF/I2SUq5uLXbiGQEExECACQCGwMGCwkIBwMCAxUC\nAwMWAgECHgECF4AFAlE82bQFCQ9PfyYACgkQfTP/nQJGQG0qEQCfbXfhJFcYc/7k\nlu56ErfoVejcFdEAoOdUqZR1xrvo2KlJ5VjLLfYQSrjAiGQEExECACQCGwMGCwkI\n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\nUhw2iju+XrCVJ/AXUtwH\n=AG5V\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "74F12602B6F1C4E913FAA37AD3A89613643B6201",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nni5lUGYmUmXIuRub\n=EVa1\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "141F07595B7B3FFE74309A937405533BE57C7D57",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=48+4\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEZAFttBYJKwYBBAHaRw8BAQdA9UUQNclFp0rIrgtQnNw6BgjDINkFPoVbuS4H\nsQNEf+e0LEp1YW4gSm9zw6kgQXJib2xlZGEgPHNveWp1YW5hcmJvbEBnbWFpbC5j\nb20+iJMEExYKADsWIQTdeS9Zc8beUsQyy9rHer+gDdvytwUCZAFttAIbAwULCQgH\nAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDHer+gDdvyt3PYAP9A8XbvZYT+N7k9\n2xnRMfrAUep6TLfWbx9uf7k/hm/+KAEAmqUYV1afcuwU2xXE5I8m25VMnCEKFFEF\n52tW2baWkQW4OARkAW20EgorBgEEAZdVAQUBAQdAtwscgbxby3vew2hn9F+KlVPL\nvFBPjnvODcnsqlO2mXQDAQgHiHgEGBYKACAWIQTdeS9Zc8beUsQyy9rHer+gDdvy\ntwUCZAFttAIbDAAKCRDHer+gDdvytzxaAQDvYX4o1Y6R30bYwIXemGgbO8GlCkgk\n5it7MjeSk8vUygEApE5zIi5OtP8TlPiMgu2MoJbIltqqDCKWTtHPIQRNIwk=\n=IisY\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "A363A499291CBBC940DD62E41F10027AF002F8B0",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\nComment: A363 A499 291C BBC9 40DD 62E4 1F10 027A F002 F8B0\nComment: ulises Gascon <ulisesgascongonzalez@gmail.com>\n\n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\niYmSNsSq9FUzTw==\n=CCuY\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "CC68F5A3106FF448322E48ED27F5E38D5B0A215F",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nZWf0a3VP6Gco5bmDPhvGoLEs9Vw5\n=57kS\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "C0D6248439F1D5604AAFFB4021D900FFDB233756",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nTh80Z8v5rFX5xNw+zn0Ee+yr\n=SZFY\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "5BE8A3F6C8A5C01D106C0AD820B1A390B168D356",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEaGA63BYJKwYBBAHaRw8BAQdAo/yU+MutacFmmn0CEX495goNrBxR24235XLM\ncvHYjfq0L0FudG9pbmUgZHUgSGFtZWwgPGR1aGFtZWxhbnRvaW5lMTk5NUBnbWFp\nbC5jb20+iI4EExYKADYWIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaGA63AIbAwQL\nCQgHBBUKCQgFFgIDAQACHgUCF4AACgkQILGjkLFo01afgwEA/sLHqsj7ml2vyDoT\nKDPE8n9a80ZOh14OfnlOe0cCZA8BAMEOOk7QFI69DIlV1nMiqcFCqQFoSzBU2LkI\nR17p/j4NtDNBbnRvaW5lIGR1IEhhbWVsIDxhbnRvaW5lLmR1aGFtZWxAcGxhdGZv\ncm1hdGljLmRldj6IjgQTFgoANhYhBFvoo/bIpcAdEGwK2CCxo5CxaNNWBQJpsCMx\nAhsDBAsJCAcEFQoJCAUWAgMBAAIeAQIXgAAKCRAgsaOQsWjTVr/sAPwIBsG8g6ND\nzoNRTX1wPKBvfZg1NP7tYCyM5sxQfrpuLAEA05AhG4xBILfhL/f0pqR5jXfxg6gz\nT6WfeVeS6zeHZwe4OARoYDrcEgorBgEEAZdVAQUBAQdAQVmtih8AO3ryBQMR/22x\nWHVKLjAbCiH2cMxNH+iy1RQDAQgHiHgEGBYKACAWIQRb6KP2yKXAHRBsCtggsaOQ\nsWjTVgUCaGA63AIbDAAKCRAgsaOQsWjTVu8oAP9Bc+QY+9FikX3YvMgWAqiDlVOy\no0y6UIZGBMSQlF80wAD/d34LqtVIVe9oe5NO3xA75+6Ew8tGeAjUq/ovagr5dAU=\n=JsVv\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
{
fingerprint: "655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD",
armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEakIjcxYJKwYBBAHaRw8BAQdAYRFWvBCAd9dDjKTePuAvvzAWxhvojAXco0m4\n2AMh/MC0H1N0ZXdhcnQgWCBBZGRpc29uIDxzeGFAaWJtLmNvbT6ImQQTFgoAQRYh\nBGVfO1wfs/qNGgymveSn0jK5NtL9BQJqQiNzAhsDBQkDwmcABQsJCAcCAiICBhUK\nCQgLAgQWAgMBAh4HAheAAAoJEOSn0jK5NtL9FOEBAMpIjknm4fnEQvTmIlzy0kDu\nVplF4HR78+lBef2i4590AP9i82wtP4pH1/vynoSBMkCauFIPmF1c9MYLFF0f53zq\nArg4BGpCI3MSCisGAQQBl1UBBQEBB0AVa1WJ4P8ir/M7NaCGrX7PDs0QU9qzpzme\na5TZ44b/YgMBCAeIfgQYFgoAJhYhBGVfO1wfs/qNGgymveSn0jK5NtL9BQJqQiNz\nAhsMBQkDwmcAAAoJEOSn0jK5NtL9EzYA/Arr4hbKLaU6OUjAVbH7HGLEl0HSvxE8\n5lEgWfuNbqOtAQCF9UT0wQEfiIj2R358Ce62zV43w2yaD8Xu0M/S+hz8AQ==\n=DcLq\n-----END PGP PUBLIC KEY BLOCK-----\n"
}
];
}
});
// ../crypto/shasums-file/lib/verifyNodeShasums.js
async function loadSigningKeyPackets(trustedKeys) {
if (trustedKeys === NODE_RELEASE_KEYS) {
bundledKeyPacketsPromise ??= readSigningKeyPackets(NODE_RELEASE_KEYS);
return bundledKeyPacketsPromise;
}
return readSigningKeyPackets(trustedKeys);
}
async function readSigningKeyPackets(trustedKeys) {
const keys4 = await Promise.all(trustedKeys.map(({ armoredKey }) => readKey2({ armoredKey })));
return keys4.flatMap((key) => [key.keyPacket, ...key.subkeys.map((subkey) => subkey.keyPacket)]);
}
async function fetchVerifiedNodeShasums(fetch2, shasumsUrl, trustedKeys = NODE_RELEASE_KEYS) {
const [shasumsBytes, signatureBytes] = await Promise.all([
fetchBytes(fetch2, shasumsUrl, "SHASUMS256.txt"),
fetchBytes(fetch2, `${shasumsUrl}.sig`, "SHASUMS256.txt.sig")
]);
if (!await isSignedByTrustedKey(shasumsBytes, signatureBytes, trustedKeys)) {
throw new PnpmError("NODE_SHASUMS_SIGNATURE_INVALID", `The OpenPGP signature of ${shasumsUrl} does not match any trusted Node.js release key. The downloaded Node.js runtime cannot be verified as a genuine release.`);
}
return Buffer.from(shasumsBytes).toString("utf8");
}
async function isSignedByTrustedKey(content, signatureBytes, trustedKeys) {
let signature;
let keyPackets;
try {
;
[signature, keyPackets] = await Promise.all([
readSignature({ binarySignature: signatureBytes }),
loadSigningKeyPackets(trustedKeys)
]);
} catch (err2) {
throw new PnpmError("NODE_SHASUMS_SIGNATURE_INVALID", `Could not read the Node.js SHASUMS signature: ${String(err2)}`);
}
const message = await createMessage({ binary: content });
const literalDataPacket = message.packets[0];
const perSignature = await Promise.all(signature.packets.map((signaturePacket) => signaturePacketVerifies(signaturePacket, keyPackets, literalDataPacket)));
return perSignature.some(Boolean);
}
async function signaturePacketVerifies(signaturePacket, keyPackets, literalDataPacket) {
const issuerKeyID = signaturePacket.issuerKeyID;
if (issuerKeyID == null)
return false;
const keyPacket = keyPackets.find((packet) => packet.getKeyID().equals(issuerKeyID));
if (keyPacket == null)
return false;
try {
await signaturePacket.verify(keyPacket, signaturePacket.signatureType, literalDataPacket, signaturePacket.created ?? void 0, true);
return true;
} catch {
return false;
}
}
async function fetchBytes(fetch2, url7, what) {
const res = await fetch2(url7);
if (!res.ok) {
throw new PnpmError("NODE_SHASUMS_FETCH_FAIL", `Failed to fetch ${what} (${url7}) to verify the Node.js download (status: ${res.status})`);
}
return new Uint8Array(await res.arrayBuffer());
}
var bundledKeyPacketsPromise;
var init_verifyNodeShasums = __esm({
"../crypto/shasums-file/lib/verifyNodeShasums.js"() {
"use strict";
init_lib2();
init_openpgp();
init_nodeReleaseKeys();
}
});
// ../crypto/shasums-file/lib/index.js
async function fetchShasumsFile(fetch2, shasumsUrl) {
return parseShasumsFile(await fetchShasumsFileRaw(fetch2, shasumsUrl));
}
async function fetchVerifiedNodeShasumsFile(fetch2, shasumsUrl) {
return parseShasumsFile(await fetchVerifiedNodeShasums(fetch2, shasumsUrl));
}
function parseShasumsFile(shasumsFileContent) {
const lines = shasumsFileContent.split("\n");
const items = [];
for (const line of lines) {
if (!line)
continue;
const [sha2562, fileName] = line.trim().split(/\s+/);
items.push({
integrity: `sha256-${Buffer.from(sha2562, "hex").toString("base64")}`,
fileName
});
}
return items;
}
async function fetchShasumsFileRaw(fetch2, shasumsUrl) {
const res = await fetch2(shasumsUrl);
if (!res.ok) {
throw new PnpmError("FAILED_DOWNLOAD_SHASUM_FILE", `Failed to fetch integrity file: ${shasumsUrl} (status: ${res.status})`);
}
const body = await res.text();
return body;
}
var init_lib45 = __esm({
"../crypto/shasums-file/lib/index.js"() {
"use strict";
init_lib2();
init_verifyNodeShasums();
}
});
// ../engine/runtime/node-resolver/lib/normalizeArch.js
function getNormalizedArch(platform5, arch2, nodeVersion) {
if (nodeVersion) {
const nodeMajorVersion = +nodeVersion.split(".")[0];
if (platform5 === "darwin" && arch2 === "arm64" && nodeMajorVersion < 16) {
return "x64";
}
}
if (platform5 === "win32" && arch2 === "ia32") {
return "x86";
}
if (arch2 === "arm") {
return "armv7l";
}
return arch2;
}
var init_normalizeArch = __esm({
"../engine/runtime/node-resolver/lib/normalizeArch.js"() {
"use strict";
}
});
// ../engine/runtime/node-resolver/lib/getNodeArtifactAddress.js
function getNodeArtifactAddress({ version: version2, baseUrl, platform: platform5, arch: arch2, libc }) {
const isWindowsPlatform = platform5 === "win32";
const normalizedPlatform = isWindowsPlatform ? "win" : platform5;
const normalizedArch = getNormalizedArch(platform5, arch2, version2);
const archSuffix = libc === "musl" ? "-musl" : "";
return {
dirname: `${baseUrl}v${version2}`,
basename: `node-v${version2}-${normalizedPlatform}-${normalizedArch}${archSuffix}`,
extname: isWindowsPlatform ? ".zip" : ".tar.gz"
};
}
var init_getNodeArtifactAddress = __esm({
"../engine/runtime/node-resolver/lib/getNodeArtifactAddress.js"() {
"use strict";
init_normalizeArch();
}
});
// ../engine/runtime/node-resolver/lib/getNodeMirror.js
function getNodeMirror(nodeDownloadMirrors, releaseChannel) {
const nodeMirror = nodeDownloadMirrors?.[releaseChannel] ?? `https://nodejs.org/download/${releaseChannel}/`;
return normalizeNodeMirror(nodeMirror);
}
function normalizeNodeMirror(nodeMirror) {
return nodeMirror.endsWith("/") ? nodeMirror : `${nodeMirror}/`;
}
var init_getNodeMirror = __esm({
"../engine/runtime/node-resolver/lib/getNodeMirror.js"() {
"use strict";
}
});
// ../engine/runtime/node-resolver/lib/parseNodeSpecifier.js
function parseNodeSpecifier(specifier) {
if (specifier.includes("/")) {
const [releaseChannel, versionSpecifier] = specifier.split("/", 2);
if (!RELEASE_CHANNELS.includes(releaseChannel)) {
throw new PnpmError("INVALID_NODE_RELEASE_CHANNEL", `"${releaseChannel}" is not a valid Node.js release channel`, {
hint: `Valid release channels are: ${RELEASE_CHANNELS.join(", ")}`
});
}
return { releaseChannel, versionSpecifier };
}
const prereleaseChannelMatch = specifier.match(/^\d+\.\d+\.\d+-(nightly|rc|test|v8-canary)/);
if (prereleaseChannelMatch != null) {
return { releaseChannel: prereleaseChannelMatch[1], versionSpecifier: specifier };
}
if (isStableVersion(specifier)) {
return { releaseChannel: "release", versionSpecifier: specifier };
}
if (RELEASE_CHANNELS.includes(specifier)) {
return { releaseChannel: specifier, versionSpecifier: "latest" };
}
if (specifier === "lts" || specifier === "latest") {
return { releaseChannel: "release", versionSpecifier: specifier };
}
return { releaseChannel: "release", versionSpecifier: specifier };
}
var RELEASE_CHANNELS, isStableVersion;
var init_parseNodeSpecifier = __esm({
"../engine/runtime/node-resolver/lib/parseNodeSpecifier.js"() {
"use strict";
init_lib2();
RELEASE_CHANNELS = ["nightly", "rc", "test", "v8-canary", "release"];
isStableVersion = (version2) => /^\d+\.\d+\.\d+$/.test(version2);
}
});
// ../engine/runtime/node-resolver/lib/index.js
async function resolveNodeRuntime(ctx, wantedDependency, opts3) {
if (wantedDependency.alias !== "node" || !wantedDependency.bareSpecifier?.startsWith("runtime:"))
return null;
if (opts3?.currentPkg && !opts3.update) {
return {
id: opts3.currentPkg.id,
resolution: opts3.currentPkg.resolution,
resolvedVia: "nodejs.org"
};
}
if (ctx.offline)
throw new PnpmError("NO_OFFLINE_NODEJS_RESOLUTION", "Offline Node.js resolution is not supported");
const versionSpec = normalizeRuntimeSpec(wantedDependency.bareSpecifier.substring("runtime:".length));
const { releaseChannel, versionSpecifier } = parseNodeSpecifier(versionSpec);
const nodeMirrorBaseUrl = getNodeMirror(ctx.nodeDownloadMirrors, releaseChannel);
const version2 = await resolveNodeVersion(ctx.fetchFromRegistry, versionSpecifier, nodeMirrorBaseUrl);
if (!version2) {
throw new PnpmError("NODEJS_VERSION_NOT_FOUND", `Could not find a Node.js version that satisfies ${versionSpec}`);
}
const variants = await readNodeAssets(ctx.fetchFromRegistry, nodeMirrorBaseUrl, version2, releaseChannel);
const range = createNodeRuntimeVersionSpec(versionSpec, version2, wantedDependency);
return {
id: `node@runtime:${version2}`,
normalizedBareSpecifier: `runtime:${range}`,
resolvedVia: "nodejs.org",
manifest: {
name: "node",
version: version2,
bin: getNodeBinsForCurrentOS()
},
resolution: {
type: "variations",
variants
}
};
}
async function resolveLatestNodeRuntime(ctx, query, _opts) {
const manifestSpec = query.wantedDependency.bareSpecifier;
if (query.wantedDependency.alias !== "node" || !manifestSpec?.startsWith("runtime:"))
return void 0;
const versionSpec = query.compatible ? normalizeRuntimeSpec(manifestSpec.substring("runtime:".length)) : "latest";
const { releaseChannel, versionSpecifier } = parseNodeSpecifier(versionSpec);
const nodeMirrorBaseUrl = getNodeMirror(ctx.nodeDownloadMirrors, releaseChannel);
const version2 = await resolveNodeVersion(ctx.fetchFromRegistry, versionSpecifier, nodeMirrorBaseUrl);
if (!version2)
return {};
return { latestManifest: { name: "node", version: version2 } };
}
function createNodeRuntimeVersionSpec(versionSpec, resolvedVersion, wantedDependency) {
if (resolvedVersion === versionSpec || import_semver16.default.parse(resolvedVersion)?.prerelease.length) {
return resolvedVersion;
}
const source = wantedDependency.prevSpecifier?.startsWith("runtime:") ? wantedDependency.prevSpecifier.substring("runtime:".length) : versionSpec;
const spec = source.includes("/") ? source.split("/", 2)[1] : source;
if (spec.startsWith("^"))
return `^${resolvedVersion}`;
if (spec.startsWith("~"))
return `~${resolvedVersion}`;
return resolvedVersion;
}
async function readNodeAssets(fetch2, nodeMirrorBaseUrl, version2, releaseChannel) {
const assets = await readNodeAssetsFromMirror(fetch2, { nodeMirrorBaseUrl, version: version2, muslOnly: false, verifySignature: releaseChannel === "release" });
if (nodeMirrorBaseUrl === DEFAULT_NODE_MIRROR_BASE_URL) {
try {
const muslAssets = await readNodeAssetsFromMirror(fetch2, { nodeMirrorBaseUrl: UNOFFICIAL_NODE_MIRROR_BASE_URL, version: version2, muslOnly: true, verifySignature: false });
assets.push(...muslAssets);
} catch {
}
}
return assets;
}
async function readNodeAssetsFromMirror(fetch2, opts3) {
const { nodeMirrorBaseUrl, version: version2, muslOnly, verifySignature } = opts3;
const integritiesFileUrl = `${nodeMirrorBaseUrl}v${version2}/SHASUMS256.txt`;
const shasumsFileItems = verifySignature ? await fetchVerifiedNodeShasumsFile(fetch2, integritiesFileUrl) : await fetchShasumsFile(fetch2, integritiesFileUrl);
const escaped = version2.replace(/\\/g, "\\\\").replace(/\./g, "\\.");
const pattern = new RegExp(`^node-v${escaped}-([^-.]+)-([^.-]+)(-musl)?\\.(?:tar\\.gz|zip)$`);
const assets = [];
for (const { integrity, fileName } of shasumsFileItems) {
const match = pattern.exec(fileName);
if (!match)
continue;
let [, platform5, arch2, muslSuffix] = match;
if (platform5 === "win") {
platform5 = "win32";
}
const isMusl = muslSuffix != null;
if (muslOnly && !isMusl)
continue;
const libc = isMusl ? "musl" : void 0;
const address = getNodeArtifactAddress({
version: version2,
baseUrl: nodeMirrorBaseUrl,
platform: platform5,
arch: arch2,
libc
});
const url7 = `${address.dirname}/${address.basename}${address.extname}`;
const resolution = {
type: "binary",
archive: address.extname === ".zip" ? "zip" : "tarball",
bin: getNodeBinsForCurrentOS(platform5),
integrity,
url: url7
};
if (resolution.archive === "zip") {
resolution.prefix = address.basename;
}
const target2 = {
os: platform5,
cpu: arch2,
...libc != null && { libc }
};
assets.push({
targets: [target2],
resolution
});
}
return assets;
}
async function resolveNodeVersion(fetch2, versionSpec, nodeMirrorBaseUrl) {
const allVersions = await fetchAllVersions(fetch2, nodeMirrorBaseUrl);
versionSpec = normalizeRuntimeSpec(versionSpec);
if (versionSpec === "latest") {
return allVersions[0].version;
}
const { versions, versionRange } = filterVersions(allVersions, versionSpec);
return import_semver16.default.maxSatisfying(versions, versionRange, SEMVER_OPTS) ?? null;
}
async function resolveNodeVersions(fetch2, versionSpec, nodeMirrorBaseUrl) {
const allVersions = await fetchAllVersions(fetch2, nodeMirrorBaseUrl);
if (versionSpec == null) {
return allVersions.map(({ version: version2 }) => version2);
}
versionSpec = normalizeRuntimeSpec(versionSpec);
if (versionSpec === "latest") {
return [allVersions[0].version];
}
const { versions, versionRange } = filterVersions(allVersions, versionSpec);
return versions.filter((version2) => import_semver16.default.satisfies(version2, versionRange, SEMVER_OPTS));
}
function normalizeRuntimeSpec(versionSpec) {
versionSpec = versionSpec.trim();
return versionSpec === "" ? "latest" : versionSpec;
}
async function fetchAllVersions(fetch2, nodeMirrorBaseUrl) {
const response = await fetch2(`${nodeMirrorBaseUrl ?? "https://nodejs.org/download/release/"}index.json`);
return (await response.json()).map(({ version: version2, lts }) => ({
version: version2.substring(1),
lts
}));
}
function getNodeBinsForCurrentOS(platform5 = process.platform) {
if (platform5 === "win32") {
return { node: "node.exe" };
}
return { node: "bin/node" };
}
function filterVersions(versions, versionSelector) {
if (versionSelector === "lts") {
return {
versions: versions.filter(({ lts }) => lts !== false).map(({ version: version2 }) => version2),
versionRange: "*"
};
}
const vst = (0, import_version_selector_type3.default)(versionSelector);
if (vst?.type === "tag") {
const wantedLtsVersion = vst.normalized.toLowerCase();
return {
versions: versions.filter(({ lts }) => typeof lts === "string" && lts.toLowerCase() === wantedLtsVersion).map(({ version: version2 }) => version2),
versionRange: "*"
};
}
return {
versions: versions.map(({ version: version2 }) => version2),
versionRange: versionSelector
};
}
var import_semver16, import_version_selector_type3, DEFAULT_NODE_MIRROR_BASE_URL, UNOFFICIAL_NODE_MIRROR_BASE_URL, NODE_EXTRAS_IGNORE_PATTERN, SEMVER_OPTS;
var init_lib46 = __esm({
"../engine/runtime/node-resolver/lib/index.js"() {
"use strict";
init_lib45();
init_lib2();
import_semver16 = __toESM(require_semver2(), 1);
import_version_selector_type3 = __toESM(require_version_selector_type(), 1);
init_getNodeArtifactAddress();
init_getNodeMirror();
init_parseNodeSpecifier();
DEFAULT_NODE_MIRROR_BASE_URL = "https://nodejs.org/download/release/";
UNOFFICIAL_NODE_MIRROR_BASE_URL = "https://unofficial-builds.nodejs.org/download/release/";
NODE_EXTRAS_IGNORE_PATTERN = "^(?:(?:lib/)?node_modules/(?:npm|corepack)(?:/|$)|bin/(?:npm|npx|corepack)$|(?:npm|npx|corepack)(?:\\.(?:cmd|ps1))?$)";
SEMVER_OPTS = {
includePrerelease: true,
loose: true
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/constants.js
var require_constants16 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/constants.js"(exports2, module2) {
module2.exports = {
/* The local file header */
LOCHDR: 30,
// LOC header size
LOCSIG: 67324752,
// "PK\003\004"
LOCVER: 4,
// version needed to extract
LOCFLG: 6,
// general purpose bit flag
LOCHOW: 8,
// compression method
LOCTIM: 10,
// modification time (2 bytes time, 2 bytes date)
LOCCRC: 14,
// uncompressed file crc-32 value
LOCSIZ: 18,
// compressed size
LOCLEN: 22,
// uncompressed size
LOCNAM: 26,
// filename length
LOCEXT: 28,
// extra field length
/* The Data descriptor */
EXTSIG: 134695760,
// "PK\007\008"
EXTHDR: 16,
// EXT header size
EXTCRC: 4,
// uncompressed file crc-32 value
EXTSIZ: 8,
// compressed size
EXTLEN: 12,
// uncompressed size
/* The central directory file header */
CENHDR: 46,
// CEN header size
CENSIG: 33639248,
// "PK\001\002"
CENVEM: 4,
// version made by
CENVER: 6,
// version needed to extract
CENFLG: 8,
// encrypt, decrypt flags
CENHOW: 10,
// compression method
CENTIM: 12,
// modification time (2 bytes time, 2 bytes date)
CENCRC: 16,
// uncompressed file crc-32 value
CENSIZ: 20,
// compressed size
CENLEN: 24,
// uncompressed size
CENNAM: 28,
// filename length
CENEXT: 30,
// extra field length
CENCOM: 32,
// file comment length
CENDSK: 34,
// volume number start
CENATT: 36,
// internal file attributes
CENATX: 38,
// external file attributes (host system dependent)
CENOFF: 42,
// LOC header offset
/* The entries in the end of central directory */
ENDHDR: 22,
// END header size
ENDSIG: 101010256,
// "PK\005\006"
ENDSUB: 8,
// number of entries on this disk
ENDTOT: 10,
// total number of entries
ENDSIZ: 12,
// central directory size in bytes
ENDOFF: 16,
// offset of first CEN header
ENDCOM: 20,
// zip file comment length
END64HDR: 20,
// zip64 END header size
END64SIG: 117853008,
// zip64 Locator signature, "PK\006\007"
END64START: 4,
// number of the disk with the start of the zip64
END64OFF: 8,
// relative offset of the zip64 end of central directory
END64NUMDISKS: 16,
// total number of disks
ZIP64SIG: 101075792,
// zip64 signature, "PK\006\006"
ZIP64HDR: 56,
// zip64 record minimum size
ZIP64LEAD: 12,
// leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE
ZIP64SIZE: 4,
// zip64 size of the central directory record
ZIP64VEM: 12,
// zip64 version made by
ZIP64VER: 14,
// zip64 version needed to extract
ZIP64DSK: 16,
// zip64 number of this disk
ZIP64DSKDIR: 20,
// number of the disk with the start of the record directory
ZIP64SUB: 24,
// number of entries on this disk
ZIP64TOT: 32,
// total number of entries
ZIP64SIZB: 40,
// zip64 central directory size in bytes
ZIP64OFF: 48,
// offset of start of central directory with respect to the starting disk number
ZIP64EXTRA: 56,
// extensible data sector
/* Compression methods */
STORED: 0,
// no compression
SHRUNK: 1,
// shrunk
REDUCED1: 2,
// reduced with compression factor 1
REDUCED2: 3,
// reduced with compression factor 2
REDUCED3: 4,
// reduced with compression factor 3
REDUCED4: 5,
// reduced with compression factor 4
IMPLODED: 6,
// imploded
// 7 reserved for Tokenizing compression algorithm
DEFLATED: 8,
// deflated
ENHANCED_DEFLATED: 9,
// enhanced deflated
PKWARE: 10,
// PKWare DCL imploded
// 11 reserved by PKWARE
BZIP2: 12,
// compressed using BZIP2
// 13 reserved by PKWARE
LZMA: 14,
// LZMA
// 15-17 reserved by PKWARE
IBM_TERSE: 18,
// compressed using IBM TERSE
IBM_LZ77: 19,
// IBM LZ77 z
AES_ENCRYPT: 99,
// WinZIP AES encryption method
/* General purpose bit flag */
// values can obtained with expression 2**bitnr
FLG_ENC: 1,
// Bit 0: encrypted file
FLG_COMP1: 2,
// Bit 1, compression option
FLG_COMP2: 4,
// Bit 2, compression option
FLG_DESC: 8,
// Bit 3, data descriptor
FLG_ENH: 16,
// Bit 4, enhanced deflating
FLG_PATCH: 32,
// Bit 5, indicates that the file is compressed patched data.
FLG_STR: 64,
// Bit 6, strong encryption (patented)
// Bits 7-10: Currently unused.
FLG_EFS: 2048,
// Bit 11: Language encoding flag (EFS)
// Bit 12: Reserved by PKWARE for enhanced compression.
// Bit 13: encrypted the Central Directory (patented).
// Bits 14-15: Reserved by PKWARE.
FLG_MSK: 4096,
// mask header values
/* Load type */
FILE: 2,
BUFFER: 1,
NONE: 0,
/* 4.5 Extensible data fields */
EF_ID: 0,
EF_SIZE: 2,
/* Header IDs */
ID_ZIP64: 1,
ID_AVINFO: 7,
ID_PFS: 8,
ID_OS2: 9,
ID_NTFS: 10,
ID_OPENVMS: 12,
ID_UNIX: 13,
ID_FORK: 14,
ID_PATCH: 15,
ID_X509_PKCS7: 20,
ID_X509_CERTID_F: 21,
ID_X509_CERTID_C: 22,
ID_STRONGENC: 23,
ID_RECORD_MGT: 24,
ID_X509_PKCS7_RL: 25,
ID_IBM1: 101,
ID_IBM2: 102,
ID_POSZIP: 18064,
EF_ZIP64_OR_32: 4294967295,
EF_ZIP64_OR_16: 65535,
EF_ZIP64_SUNCOMP: 0,
EF_ZIP64_SCOMP: 8,
EF_ZIP64_RHO: 16,
EF_ZIP64_DSN: 24
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/errors.js
var require_errors5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/errors.js"(exports2) {
var errors2 = {
/* Header error messages */
INVALID_LOC: "Invalid LOC header (bad signature)",
INVALID_CEN: "Invalid CEN header (bad signature)",
INVALID_END: "Invalid END header (bad signature)",
/* Descriptor */
DESCRIPTOR_NOT_EXIST: "No descriptor present",
DESCRIPTOR_UNKNOWN: "Unknown descriptor format",
DESCRIPTOR_FAULTY: "Descriptor data is malformed",
/* ZipEntry error messages*/
NO_DATA: "Nothing to decompress",
BAD_CRC: "CRC32 checksum failed {0}",
FILE_IN_THE_WAY: "There is a file in the way: {0}",
UNKNOWN_METHOD: "Invalid/unsupported compression method",
/* Inflater error messages */
AVAIL_DATA: "inflate::Available inflate data did not terminate",
INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block",
TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes",
INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths",
INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length",
INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete",
INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths",
INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths",
INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement",
INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)",
/* ADM-ZIP error messages */
CANT_EXTRACT_FILE: "Could not extract the file",
CANT_OVERRIDE: "Target file already exists",
DISK_ENTRY_TOO_LARGE: "Number of disk entries is too large",
NO_ZIP: "No zip file was loaded",
NO_ENTRY: "Entry doesn't exist",
DIRECTORY_CONTENT_ERROR: "A directory cannot have content",
FILE_NOT_FOUND: 'File not found: "{0}"',
NOT_IMPLEMENTED: "Not implemented",
INVALID_FILENAME: "Invalid filename",
INVALID_FORMAT: "Invalid or unsupported zip format. No END header found",
INVALID_PASS_PARAM: "Incompatible password parameter",
WRONG_PASSWORD: "Wrong Password",
/* ADM-ZIP */
COMMENT_TOO_LONG: "Comment is too long",
// Comment can be max 65535 bytes long (NOTE: some non-US characters may take more space)
EXTRA_FIELD_PARSE_ERROR: "Extra field parsing error"
};
function E(message) {
return function(...args) {
if (args.length) {
message = message.replace(/\{(\d)\}/g, (_, n2) => args[n2] || "");
}
return new Error("ADM-ZIP: " + message);
};
}
for (const msg of Object.keys(errors2)) {
exports2[msg] = E(errors2[msg]);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/utils.js
var require_utils11 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/utils.js"(exports2, module2) {
var fsystem = __require("fs");
var pth = __require("path");
var Constants = require_constants16();
var Errors = require_errors5();
var isWin2 = typeof process === "object" && "win32" === process.platform;
var is_Obj = (obj) => typeof obj === "object" && obj !== null;
var crcTable = new Uint32Array(256).map((t2, c3) => {
for (let k2 = 0; k2 < 8; k2++) {
if ((c3 & 1) !== 0) {
c3 = 3988292384 ^ c3 >>> 1;
} else {
c3 >>>= 1;
}
}
return c3 >>> 0;
});
function Utils(opts3) {
this.sep = pth.sep;
this.fs = fsystem;
if (is_Obj(opts3)) {
if (is_Obj(opts3.fs) && typeof opts3.fs.statSync === "function") {
this.fs = opts3.fs;
}
}
}
module2.exports = Utils;
Utils.prototype.makeDir = function(folder) {
const self2 = this;
function mkdirSync2(fpath) {
let resolvedPath = fpath.split(self2.sep)[0];
fpath.split(self2.sep).forEach(function(name) {
if (!name || name.substr(-1, 1) === ":") return;
resolvedPath += self2.sep + name;
var stat2;
try {
stat2 = self2.fs.statSync(resolvedPath);
} catch (e) {
if (e.message && e.message.startsWith("ENOENT")) {
self2.fs.mkdirSync(resolvedPath);
} else {
throw e;
}
}
if (stat2 && stat2.isFile()) throw Errors.FILE_IN_THE_WAY(`"${resolvedPath}"`);
});
}
mkdirSync2(folder);
};
Utils.prototype.writeFileTo = function(path236, content, overwrite2, attr) {
const self2 = this;
if (self2.fs.existsSync(path236)) {
if (!overwrite2) return false;
var stat2 = self2.fs.statSync(path236);
if (stat2.isDirectory()) {
return false;
}
}
var folder = pth.dirname(path236);
if (!self2.fs.existsSync(folder)) {
self2.makeDir(folder);
}
var fd2;
try {
fd2 = self2.fs.openSync(path236, "w", 438);
} catch (e) {
self2.fs.chmodSync(path236, 438);
fd2 = self2.fs.openSync(path236, "w", 438);
}
if (fd2) {
try {
self2.fs.writeSync(fd2, content, 0, content.length, 0);
} finally {
self2.fs.closeSync(fd2);
}
}
self2.fs.chmodSync(path236, attr || 438);
return true;
};
Utils.prototype.writeFileToAsync = function(path236, content, overwrite2, attr, callback2) {
if (typeof attr === "function") {
callback2 = attr;
attr = void 0;
}
const self2 = this;
self2.fs.exists(path236, function(exist) {
if (exist && !overwrite2) return callback2(false);
self2.fs.stat(path236, function(err2, stat2) {
if (exist && stat2.isDirectory()) {
return callback2(false);
}
var folder = pth.dirname(path236);
self2.fs.exists(folder, function(exists) {
if (!exists) self2.makeDir(folder);
self2.fs.open(path236, "w", 438, function(err3, fd2) {
if (err3) {
self2.fs.chmod(path236, 438, function() {
self2.fs.open(path236, "w", 438, function(err4, fd3) {
self2.fs.write(fd3, content, 0, content.length, 0, function() {
self2.fs.close(fd3, function() {
self2.fs.chmod(path236, attr || 438, function() {
callback2(true);
});
});
});
});
});
} else if (fd2) {
self2.fs.write(fd2, content, 0, content.length, 0, function() {
self2.fs.close(fd2, function() {
self2.fs.chmod(path236, attr || 438, function() {
callback2(true);
});
});
});
} else {
self2.fs.chmod(path236, attr || 438, function() {
callback2(true);
});
}
});
});
});
});
};
Utils.prototype.findFiles = function(path236) {
const self2 = this;
function findSync(dir, pattern, recursive2) {
if (typeof pattern === "boolean") {
recursive2 = pattern;
pattern = void 0;
}
let files = [];
self2.fs.readdirSync(dir).forEach(function(file) {
const path237 = pth.join(dir, file);
const stat2 = self2.fs.statSync(path237);
if (!pattern || pattern.test(path237)) {
files.push(pth.normalize(path237) + (stat2.isDirectory() ? self2.sep : ""));
}
if (stat2.isDirectory() && recursive2) files = files.concat(findSync(path237, pattern, recursive2));
});
return files;
}
return findSync(path236, void 0, true);
};
Utils.prototype.findFilesAsync = function(dir, cb) {
const self2 = this;
let results = [];
self2.fs.readdir(dir, function(err2, list2) {
if (err2) return cb(err2);
let list_length = list2.length;
if (!list_length) return cb(null, results);
list2.forEach(function(file) {
file = pth.join(dir, file);
self2.fs.stat(file, function(err3, stat2) {
if (err3) return cb(err3);
if (stat2) {
results.push(pth.normalize(file) + (stat2.isDirectory() ? self2.sep : ""));
if (stat2.isDirectory()) {
self2.findFilesAsync(file, function(err4, res) {
if (err4) return cb(err4);
results = results.concat(res);
if (!--list_length) cb(null, results);
});
} else {
if (!--list_length) cb(null, results);
}
}
});
});
});
};
Utils.prototype.getAttributes = function() {
};
Utils.prototype.setAttributes = function() {
};
Utils.crc32update = function(crc, byte) {
return crcTable[(crc ^ byte) & 255] ^ crc >>> 8;
};
Utils.crc32 = function(buf) {
if (typeof buf === "string") {
buf = Buffer.from(buf, "utf8");
}
let len = buf.length;
let crc = ~0;
for (let off = 0; off < len; ) crc = Utils.crc32update(crc, buf[off++]);
return ~crc >>> 0;
};
Utils.methodToString = function(method2) {
switch (method2) {
case Constants.STORED:
return "STORED (" + method2 + ")";
case Constants.DEFLATED:
return "DEFLATED (" + method2 + ")";
default:
return "UNSUPPORTED (" + method2 + ")";
}
};
Utils.canonical = function(path236) {
if (!path236) return "";
const safeSuffix = pth.posix.normalize("/" + path236.split("\\").join("/"));
return pth.join(".", safeSuffix);
};
Utils.zipnamefix = function(path236) {
if (!path236) return "";
const safeSuffix = pth.posix.normalize("/" + path236.split("\\").join("/"));
return pth.posix.join(".", safeSuffix);
};
Utils.findLast = function(arr, callback2) {
if (!Array.isArray(arr)) throw new TypeError("arr is not array");
const len = arr.length >>> 0;
for (let i4 = len - 1; i4 >= 0; i4--) {
if (callback2(arr[i4], i4, arr)) {
return arr[i4];
}
}
return void 0;
};
Utils.sanitize = function(prefix, name) {
prefix = pth.resolve(pth.normalize(prefix));
var parts = name.split("/");
for (var i4 = 0, l = parts.length; i4 < l; i4++) {
var path236 = pth.normalize(pth.join(prefix, parts.slice(i4, l).join(pth.sep)));
if (path236 === prefix || path236.startsWith(prefix + pth.sep)) {
return path236;
}
}
return pth.normalize(pth.join(prefix, pth.basename(name)));
};
Utils.toBuffer = function toBuffer(input, encoder) {
if (Buffer.isBuffer(input)) {
return input;
} else if (input instanceof Uint8Array) {
return Buffer.from(input);
} else {
return typeof input === "string" ? encoder(input) : Buffer.alloc(0);
}
};
Utils.readBigUInt64LE = function(buffer3, index2) {
const lo = buffer3.readUInt32LE(index2);
const hi = buffer3.readUInt32LE(index2 + 4);
return hi * 4294967296 + lo;
};
Utils.writeBigUInt64LE = function(buffer3, value, index2) {
const lo = value >>> 0;
const hi = Math.floor(value / 4294967296) >>> 0;
buffer3.writeUInt32LE(lo, index2);
buffer3.writeUInt32LE(hi, index2 + 4);
};
Utils.fromDOS2Date = function(val) {
return new Date((val >> 25 & 127) + 1980, Math.max((val >> 21 & 15) - 1, 0), Math.max(val >> 16 & 31, 1), val >> 11 & 31, val >> 5 & 63, (val & 31) << 1);
};
Utils.fromDate2DOS = function(val) {
let date = 0;
let time = 0;
if (val.getFullYear() > 1979) {
date = (val.getFullYear() - 1980 & 127) << 9 | val.getMonth() + 1 << 5 | val.getDate();
time = val.getHours() << 11 | val.getMinutes() << 5 | val.getSeconds() >> 1;
}
return date << 16 | time;
};
Utils.isWin = isWin2;
Utils.crcTable = crcTable;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/fattr.js
var require_fattr = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/fattr.js"(exports2, module2) {
var pth = __require("path");
module2.exports = function(path236, { fs: fs126 }) {
var _path = path236 || "", _obj = newAttr(), _stat = null;
function newAttr() {
return {
directory: false,
readonly: false,
hidden: false,
executable: false,
mtime: 0,
atime: 0
};
}
if (_path && fs126.existsSync(_path)) {
_stat = fs126.statSync(_path);
_obj.directory = _stat.isDirectory();
_obj.mtime = _stat.mtime;
_obj.atime = _stat.atime;
_obj.executable = (73 & _stat.mode) !== 0;
_obj.readonly = (128 & _stat.mode) === 0;
_obj.hidden = pth.basename(_path)[0] === ".";
} else {
console.warn("Invalid path: " + _path);
}
return {
get directory() {
return _obj.directory;
},
get readOnly() {
return _obj.readonly;
},
get hidden() {
return _obj.hidden;
},
get mtime() {
return _obj.mtime;
},
get atime() {
return _obj.atime;
},
get executable() {
return _obj.executable;
},
decodeAttributes: function() {
},
encodeAttributes: function() {
},
toJSON: function() {
return {
path: _path,
isDirectory: _obj.directory,
isReadOnly: _obj.readonly,
isHidden: _obj.hidden,
isExecutable: _obj.executable,
mTime: _obj.mtime,
aTime: _obj.atime
};
},
toString: function() {
return JSON.stringify(this.toJSON(), null, " ");
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/decoder.js
var require_decoder = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/decoder.js"(exports2, module2) {
module2.exports = {
efs: true,
encode: (data) => Buffer.from(data, "utf8"),
decode: (data) => data.toString("utf8")
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/index.js
var require_util10 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/util/index.js"(exports2, module2) {
module2.exports = require_utils11();
module2.exports.Constants = require_constants16();
module2.exports.Errors = require_errors5();
module2.exports.FileAttr = require_fattr();
module2.exports.decoder = require_decoder();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/entryHeader.js
var require_entryHeader = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/entryHeader.js"(exports2, module2) {
var Utils = require_util10();
var Constants = Utils.Constants;
module2.exports = function() {
var _verMade = 20, _version = 10, _flags = 0, _method = 0, _time = 0, _crc = 0, _compressedSize = 0, _size = 0, _fnameLen = 0, _extraLen = 0, _comLen = 0, _diskStart = 0, _inattr = 0, _attr = 0, _offset = 0;
_verMade |= Utils.isWin ? 2560 : 768;
_flags |= Constants.FLG_EFS;
const _localHeader = {
extraLen: 0
};
const uint32 = (val) => Math.max(0, val) >>> 0;
const uint16 = (val) => Math.max(0, val) & 65535;
const uint8 = (val) => Math.max(0, val) & 255;
_time = Utils.fromDate2DOS(/* @__PURE__ */ new Date());
return {
get made() {
return _verMade;
},
set made(val) {
_verMade = val;
},
get version() {
return _version;
},
set version(val) {
_version = val;
},
get flags() {
return _flags;
},
set flags(val) {
_flags = val;
},
get flags_efs() {
return (_flags & Constants.FLG_EFS) > 0;
},
set flags_efs(val) {
if (val) {
_flags |= Constants.FLG_EFS;
} else {
_flags &= ~Constants.FLG_EFS;
}
},
get flags_desc() {
return (_flags & Constants.FLG_DESC) > 0;
},
set flags_desc(val) {
if (val) {
_flags |= Constants.FLG_DESC;
} else {
_flags &= ~Constants.FLG_DESC;
}
},
get method() {
return _method;
},
set method(val) {
switch (val) {
case Constants.STORED:
this.version = 10;
break;
case Constants.DEFLATED:
default:
this.version = 20;
}
_method = val;
},
get time() {
return Utils.fromDOS2Date(this.timeval);
},
set time(val) {
val = new Date(val);
this.timeval = Utils.fromDate2DOS(val);
},
get timeval() {
return _time;
},
set timeval(val) {
_time = uint32(val);
},
get timeHighByte() {
return uint8(_time >>> 8);
},
get crc() {
return _crc;
},
set crc(val) {
_crc = uint32(val);
},
get compressedSize() {
return _compressedSize;
},
set compressedSize(val) {
_compressedSize = uint32(val);
},
get size() {
return _size;
},
set size(val) {
_size = uint32(val);
},
get fileNameLength() {
return _fnameLen;
},
set fileNameLength(val) {
_fnameLen = val;
},
get extraLength() {
return _extraLen;
},
set extraLength(val) {
_extraLen = val;
},
get extraLocalLength() {
return _localHeader.extraLen;
},
set extraLocalLength(val) {
_localHeader.extraLen = val;
},
get commentLength() {
return _comLen;
},
set commentLength(val) {
_comLen = val;
},
get diskNumStart() {
return _diskStart;
},
set diskNumStart(val) {
_diskStart = uint32(val);
},
get inAttr() {
return _inattr;
},
set inAttr(val) {
_inattr = uint32(val);
},
get attr() {
return _attr;
},
set attr(val) {
_attr = uint32(val);
},
// get Unix file permissions
get fileAttr() {
return (_attr || 0) >> 16 & 4095;
},
get offset() {
return _offset;
},
set offset(val) {
_offset = uint32(val);
},
get encrypted() {
return (_flags & Constants.FLG_ENC) === Constants.FLG_ENC;
},
get centralHeaderSize() {
return Constants.CENHDR + _fnameLen + _extraLen + _comLen;
},
get realDataOffset() {
return _offset + Constants.LOCHDR + _localHeader.fnameLen + _localHeader.extraLen;
},
get localHeader() {
return _localHeader;
},
loadLocalHeaderFromBinary: function(input) {
var data = input.slice(_offset, _offset + Constants.LOCHDR);
if (data.readUInt32LE(0) !== Constants.LOCSIG) {
throw Utils.Errors.INVALID_LOC();
}
_localHeader.version = data.readUInt16LE(Constants.LOCVER);
_localHeader.flags = data.readUInt16LE(Constants.LOCFLG);
_localHeader.flags_desc = (_localHeader.flags & Constants.FLG_DESC) > 0;
_localHeader.method = data.readUInt16LE(Constants.LOCHOW);
_localHeader.time = data.readUInt32LE(Constants.LOCTIM);
_localHeader.crc = data.readUInt32LE(Constants.LOCCRC);
_localHeader.compressedSize = data.readUInt32LE(Constants.LOCSIZ);
_localHeader.size = data.readUInt32LE(Constants.LOCLEN);
_localHeader.fnameLen = data.readUInt16LE(Constants.LOCNAM);
_localHeader.extraLen = data.readUInt16LE(Constants.LOCEXT);
const extraStart = _offset + Constants.LOCHDR + _localHeader.fnameLen;
const extraEnd = extraStart + _localHeader.extraLen;
return input.slice(extraStart, extraEnd);
},
loadFromBinary: function(data) {
if (data.length !== Constants.CENHDR || data.readUInt32LE(0) !== Constants.CENSIG) {
throw Utils.Errors.INVALID_CEN();
}
_verMade = data.readUInt16LE(Constants.CENVEM);
_version = data.readUInt16LE(Constants.CENVER);
_flags = data.readUInt16LE(Constants.CENFLG);
_method = data.readUInt16LE(Constants.CENHOW);
_time = data.readUInt32LE(Constants.CENTIM);
_crc = data.readUInt32LE(Constants.CENCRC);
_compressedSize = data.readUInt32LE(Constants.CENSIZ);
_size = data.readUInt32LE(Constants.CENLEN);
_fnameLen = data.readUInt16LE(Constants.CENNAM);
_extraLen = data.readUInt16LE(Constants.CENEXT);
_comLen = data.readUInt16LE(Constants.CENCOM);
_diskStart = data.readUInt16LE(Constants.CENDSK);
_inattr = data.readUInt16LE(Constants.CENATT);
_attr = data.readUInt32LE(Constants.CENATX);
_offset = data.readUInt32LE(Constants.CENOFF);
},
localHeaderToBinary: function() {
var data = Buffer.alloc(Constants.LOCHDR);
data.writeUInt32LE(Constants.LOCSIG, 0);
data.writeUInt16LE(_version, Constants.LOCVER);
data.writeUInt16LE(_flags & ~Constants.FLG_DESC, Constants.LOCFLG);
data.writeUInt16LE(_method, Constants.LOCHOW);
data.writeUInt32LE(_time, Constants.LOCTIM);
data.writeUInt32LE(_crc, Constants.LOCCRC);
data.writeUInt32LE(_compressedSize, Constants.LOCSIZ);
data.writeUInt32LE(_size, Constants.LOCLEN);
data.writeUInt16LE(_fnameLen, Constants.LOCNAM);
data.writeUInt16LE(_localHeader.extraLen, Constants.LOCEXT);
return data;
},
centralHeaderToBinary: function() {
var data = Buffer.alloc(Constants.CENHDR + _fnameLen + _extraLen + _comLen);
data.writeUInt32LE(Constants.CENSIG, 0);
data.writeUInt16LE(_verMade, Constants.CENVEM);
data.writeUInt16LE(_version, Constants.CENVER);
data.writeUInt16LE(_flags & ~Constants.FLG_DESC, Constants.CENFLG);
data.writeUInt16LE(_method, Constants.CENHOW);
data.writeUInt32LE(_time, Constants.CENTIM);
data.writeUInt32LE(_crc, Constants.CENCRC);
data.writeUInt32LE(_compressedSize, Constants.CENSIZ);
data.writeUInt32LE(_size, Constants.CENLEN);
data.writeUInt16LE(_fnameLen, Constants.CENNAM);
data.writeUInt16LE(_extraLen, Constants.CENEXT);
data.writeUInt16LE(_comLen, Constants.CENCOM);
data.writeUInt16LE(_diskStart, Constants.CENDSK);
data.writeUInt16LE(_inattr, Constants.CENATT);
data.writeUInt32LE(_attr, Constants.CENATX);
data.writeUInt32LE(_offset, Constants.CENOFF);
return data;
},
toJSON: function() {
const bytes = function(nr) {
return nr + " bytes";
};
return {
made: _verMade,
version: _version,
flags: _flags,
method: Utils.methodToString(_method),
time: this.time,
crc: "0x" + _crc.toString(16).toUpperCase(),
compressedSize: bytes(_compressedSize),
size: bytes(_size),
fileNameLength: bytes(_fnameLen),
extraLength: bytes(_extraLen),
commentLength: bytes(_comLen),
diskNumStart: _diskStart,
inAttr: _inattr,
attr: _attr,
offset: _offset,
centralHeaderSize: bytes(Constants.CENHDR + _fnameLen + _extraLen + _comLen)
};
},
toString: function() {
return JSON.stringify(this.toJSON(), null, " ");
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/mainHeader.js
var require_mainHeader = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/mainHeader.js"(exports2, module2) {
var Utils = require_util10();
var Constants = Utils.Constants;
module2.exports = function() {
var _volumeEntries = 0, _totalEntries = 0, _size = 0, _offset = 0, _commentLength = 0;
const needsZip64 = () => _volumeEntries > Constants.EF_ZIP64_OR_16 || _totalEntries > Constants.EF_ZIP64_OR_16 || _size > Constants.EF_ZIP64_OR_32 || _offset > Constants.EF_ZIP64_OR_32;
return {
get diskEntries() {
return _volumeEntries;
},
set diskEntries(val) {
_volumeEntries = _totalEntries = val;
},
get totalEntries() {
return _totalEntries;
},
set totalEntries(val) {
_totalEntries = _volumeEntries = val;
},
get size() {
return _size;
},
set size(val) {
_size = val;
},
get offset() {
return _offset;
},
set offset(val) {
_offset = val;
},
get commentLength() {
return _commentLength;
},
set commentLength(val) {
_commentLength = val;
},
get mainHeaderSize() {
return (needsZip64() ? Constants.ZIP64HDR + Constants.END64HDR : 0) + Constants.ENDHDR + _commentLength;
},
loadFromBinary: function(data) {
if ((data.length !== Constants.ENDHDR || data.readUInt32LE(0) !== Constants.ENDSIG) && (data.length < Constants.ZIP64HDR || data.readUInt32LE(0) !== Constants.ZIP64SIG)) {
throw Utils.Errors.INVALID_END();
}
if (data.readUInt32LE(0) === Constants.ENDSIG) {
_volumeEntries = data.readUInt16LE(Constants.ENDSUB);
_totalEntries = data.readUInt16LE(Constants.ENDTOT);
_size = data.readUInt32LE(Constants.ENDSIZ);
_offset = data.readUInt32LE(Constants.ENDOFF);
_commentLength = data.readUInt16LE(Constants.ENDCOM);
} else {
_volumeEntries = Utils.readBigUInt64LE(data, Constants.ZIP64SUB);
_totalEntries = Utils.readBigUInt64LE(data, Constants.ZIP64TOT);
_size = Utils.readBigUInt64LE(data, Constants.ZIP64SIZB);
_offset = Utils.readBigUInt64LE(data, Constants.ZIP64OFF);
_commentLength = 0;
}
},
toBinary: function() {
if (!needsZip64()) {
var b = Buffer.alloc(Constants.ENDHDR + _commentLength);
b.writeUInt32LE(Constants.ENDSIG, 0);
b.writeUInt32LE(0, 4);
b.writeUInt16LE(_volumeEntries, Constants.ENDSUB);
b.writeUInt16LE(_totalEntries, Constants.ENDTOT);
b.writeUInt32LE(_size, Constants.ENDSIZ);
b.writeUInt32LE(_offset, Constants.ENDOFF);
b.writeUInt16LE(_commentLength, Constants.ENDCOM);
b.fill(" ", Constants.ENDHDR);
return b;
}
var b = Buffer.alloc(this.mainHeaderSize);
let offset = 0;
b.writeUInt32LE(Constants.ZIP64SIG, offset);
Utils.writeBigUInt64LE(b, Constants.ZIP64HDR - Constants.ZIP64LEAD, offset + Constants.ZIP64SIZE);
b.writeUInt16LE(45, offset + Constants.ZIP64VEM);
b.writeUInt16LE(45, offset + Constants.ZIP64VER);
b.writeUInt32LE(0, offset + Constants.ZIP64DSK);
b.writeUInt32LE(0, offset + Constants.ZIP64DSKDIR);
Utils.writeBigUInt64LE(b, _volumeEntries, offset + Constants.ZIP64SUB);
Utils.writeBigUInt64LE(b, _totalEntries, offset + Constants.ZIP64TOT);
Utils.writeBigUInt64LE(b, _size, offset + Constants.ZIP64SIZB);
Utils.writeBigUInt64LE(b, _offset, offset + Constants.ZIP64OFF);
const zip64EndOffset = _offset + _size;
offset += Constants.ZIP64HDR;
b.writeUInt32LE(Constants.END64SIG, offset);
b.writeUInt32LE(0, offset + Constants.END64START);
Utils.writeBigUInt64LE(b, zip64EndOffset, offset + Constants.END64OFF);
b.writeUInt32LE(1, offset + Constants.END64NUMDISKS);
offset += Constants.END64HDR;
b.writeUInt32LE(Constants.ENDSIG, offset);
b.writeUInt32LE(0, offset + 4);
b.writeUInt16LE(Math.min(_volumeEntries, Constants.EF_ZIP64_OR_16), offset + Constants.ENDSUB);
b.writeUInt16LE(Math.min(_totalEntries, Constants.EF_ZIP64_OR_16), offset + Constants.ENDTOT);
b.writeUInt32LE(Math.min(_size, Constants.EF_ZIP64_OR_32), offset + Constants.ENDSIZ);
b.writeUInt32LE(Math.min(_offset, Constants.EF_ZIP64_OR_32), offset + Constants.ENDOFF);
b.writeUInt16LE(_commentLength, offset + Constants.ENDCOM);
b.fill(" ", offset + Constants.ENDHDR);
return b;
},
toJSON: function() {
const offset = function(nr, len) {
let offs = nr.toString(16).toUpperCase();
while (offs.length < len) offs = "0" + offs;
return "0x" + offs;
};
return {
diskEntries: _volumeEntries,
totalEntries: _totalEntries,
size: _size + " bytes",
offset: offset(_offset, 4),
commentLength: _commentLength
};
},
toString: function() {
return JSON.stringify(this.toJSON(), null, " ");
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/index.js
var require_headers2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/headers/index.js"(exports2) {
exports2.EntryHeader = require_entryHeader();
exports2.MainHeader = require_mainHeader();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/deflater.js
var require_deflater = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/deflater.js"(exports2, module2) {
module2.exports = function(inbuf) {
var zlib2 = __require("zlib");
var opts3 = { chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024 };
return {
deflate: function() {
return zlib2.deflateRawSync(inbuf, opts3);
},
deflateAsync: function(callback2) {
var tmp = zlib2.createDeflateRaw(opts3), parts = [], total = 0;
tmp.on("data", function(data) {
parts.push(data);
total += data.length;
});
tmp.on("end", function() {
var buf = Buffer.alloc(total), written = 0;
buf.fill(0);
for (var i4 = 0; i4 < parts.length; i4++) {
var part = parts[i4];
part.copy(buf, written);
written += part.length;
}
callback2 && callback2(buf);
});
tmp.end(inbuf);
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/inflater.js
var require_inflater = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/inflater.js"(exports2, module2) {
var version2 = +(process?.versions?.node ?? "").split(".")[0] || 0;
module2.exports = function(inbuf, expectedLength) {
var zlib2 = __require("zlib");
const option = version2 >= 15 && expectedLength > 0 ? { maxOutputLength: expectedLength } : {};
return {
inflate: function() {
return zlib2.inflateRawSync(inbuf, option);
},
inflateAsync: function(callback2) {
var tmp = zlib2.createInflateRaw(option), parts = [], total = 0;
tmp.on("data", function(data) {
parts.push(data);
total += data.length;
});
tmp.on("end", function() {
var buf = Buffer.alloc(total), written = 0;
buf.fill(0);
for (var i4 = 0; i4 < parts.length; i4++) {
var part = parts[i4];
part.copy(buf, written);
written += part.length;
}
callback2 && callback2(buf);
});
tmp.end(inbuf);
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/zipcrypto.js
var require_zipcrypto = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/zipcrypto.js"(exports2, module2) {
"use strict";
var { randomFillSync } = __require("crypto");
var Errors = require_errors5();
var crctable = new Uint32Array(256).map((t2, crc) => {
for (let j2 = 0; j2 < 8; j2++) {
if (0 !== (crc & 1)) {
crc = crc >>> 1 ^ 3988292384;
} else {
crc >>>= 1;
}
}
return crc >>> 0;
});
var uMul = (a2, b) => Math.imul(a2, b) >>> 0;
var crc32update = (pCrc32, bval) => {
return crctable[(pCrc32 ^ bval) & 255] ^ pCrc32 >>> 8;
};
var genSalt = () => {
if ("function" === typeof randomFillSync) {
return randomFillSync(Buffer.alloc(12));
} else {
return genSalt.node();
}
};
genSalt.node = () => {
const salt = Buffer.alloc(12);
const len = salt.length;
for (let i4 = 0; i4 < len; i4++) salt[i4] = Math.random() * 256 & 255;
return salt;
};
var config2 = {
genSalt
};
function Initkeys(pw) {
const pass = Buffer.isBuffer(pw) ? pw : Buffer.from(pw);
this.keys = new Uint32Array([305419896, 591751049, 878082192]);
for (let i4 = 0; i4 < pass.length; i4++) {
this.updateKeys(pass[i4]);
}
}
Initkeys.prototype.updateKeys = function(byteValue) {
const keys4 = this.keys;
keys4[0] = crc32update(keys4[0], byteValue);
keys4[1] += keys4[0] & 255;
keys4[1] = uMul(keys4[1], 134775813) + 1;
keys4[2] = crc32update(keys4[2], keys4[1] >>> 24);
return byteValue;
};
Initkeys.prototype.next = function() {
const k2 = (this.keys[2] | 2) >>> 0;
return uMul(k2, k2 ^ 1) >> 8 & 255;
};
function make_decrypter(pwd) {
const keys4 = new Initkeys(pwd);
return function(data) {
const result2 = Buffer.alloc(data.length);
let pos = 0;
for (let c3 of data) {
result2[pos++] = keys4.updateKeys(c3 ^ keys4.next());
}
return result2;
};
}
function make_encrypter(pwd) {
const keys4 = new Initkeys(pwd);
return function(data, result2, pos = 0) {
if (!result2) result2 = Buffer.alloc(data.length);
for (let c3 of data) {
const k2 = keys4.next();
result2[pos++] = c3 ^ k2;
keys4.updateKeys(c3);
}
return result2;
};
}
function decrypt(data, header, pwd) {
if (!data || !Buffer.isBuffer(data) || data.length < 12) {
return Buffer.alloc(0);
}
const decrypter = make_decrypter(pwd);
const salt = decrypter(data.slice(0, 12));
const verifyByte = (header.flags & 8) === 8 ? header.timeHighByte : header.crc >>> 24;
if (salt[11] !== verifyByte) {
throw Errors.WRONG_PASSWORD();
}
return decrypter(data.slice(12));
}
function _salter(data) {
if (Buffer.isBuffer(data) && data.length >= 12) {
config2.genSalt = function() {
return data.slice(0, 12);
};
} else if (data === "node") {
config2.genSalt = genSalt.node;
} else {
config2.genSalt = genSalt;
}
}
function encrypt(data, header, pwd, oldlike = false) {
if (data == null) data = Buffer.alloc(0);
if (!Buffer.isBuffer(data)) data = Buffer.from(data.toString());
const encrypter = make_encrypter(pwd);
const salt = config2.genSalt();
salt[11] = header.crc >>> 24 & 255;
if (oldlike) salt[10] = header.crc >>> 16 & 255;
const result2 = Buffer.alloc(data.length + 12);
encrypter(salt, result2);
return encrypter(data, result2, 12);
}
module2.exports = { decrypt, encrypt, _salter };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/index.js
var require_methods = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/methods/index.js"(exports2) {
exports2.Deflater = require_deflater();
exports2.Inflater = require_inflater();
exports2.ZipCrypto = require_zipcrypto();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/zipEntry.js
var require_zipEntry = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/zipEntry.js"(exports2, module2) {
var Utils = require_util10();
var Headers2 = require_headers2();
var Constants = Utils.Constants;
var Methods = require_methods();
module2.exports = function(options, input) {
var _centralHeader = new Headers2.EntryHeader(), _entryName = Buffer.alloc(0), _comment = Buffer.alloc(0), _isDirectory = false, uncompressedData = null, _extra = Buffer.alloc(0), _extralocal = Buffer.alloc(0), _efs = true;
const opts3 = options;
const decoder2 = typeof opts3.decoder === "object" ? opts3.decoder : Utils.decoder;
_efs = decoder2.hasOwnProperty("efs") ? decoder2.efs : false;
function getCompressedDataFromZip() {
if (!input || !(input instanceof Uint8Array)) {
return Buffer.alloc(0);
}
_extralocal = _centralHeader.loadLocalHeaderFromBinary(input);
return input.slice(_centralHeader.realDataOffset, _centralHeader.realDataOffset + _centralHeader.compressedSize);
}
function crc32OK(data) {
if (!_centralHeader.flags_desc && !_centralHeader.localHeader.flags_desc) {
if (Utils.crc32(data) !== _centralHeader.localHeader.crc) {
return false;
}
} else {
const descriptor = {};
const dataEndOffset = _centralHeader.realDataOffset + _centralHeader.compressedSize;
if (input.readUInt32LE(dataEndOffset) == Constants.LOCSIG || input.readUInt32LE(dataEndOffset) == Constants.CENSIG) {
throw Utils.Errors.DESCRIPTOR_NOT_EXIST();
}
if (input.readUInt32LE(dataEndOffset) == Constants.EXTSIG) {
descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC);
descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ);
descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN);
} else if (input.readUInt16LE(dataEndOffset + 12) === 19280) {
descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC - 4);
descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ - 4);
descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN - 4);
} else {
throw Utils.Errors.DESCRIPTOR_UNKNOWN();
}
if (descriptor.compressedSize !== _centralHeader.compressedSize || descriptor.size !== _centralHeader.size || descriptor.crc !== _centralHeader.crc) {
throw Utils.Errors.DESCRIPTOR_FAULTY();
}
if (Utils.crc32(data) !== descriptor.crc) {
return false;
}
}
return true;
}
function decompress(async, callback2, pass) {
if (typeof callback2 === "undefined" && typeof async === "string") {
pass = async;
async = void 0;
}
if (_isDirectory) {
if (async && callback2) {
callback2(Buffer.alloc(0), Utils.Errors.DIRECTORY_CONTENT_ERROR());
}
return Buffer.alloc(0);
}
var compressedData = getCompressedDataFromZip();
if (compressedData.length === 0) {
if (async && callback2) callback2(compressedData);
return compressedData;
}
if (_centralHeader.encrypted) {
if ("string" !== typeof pass && !Buffer.isBuffer(pass)) {
throw Utils.Errors.INVALID_PASS_PARAM();
}
compressedData = Methods.ZipCrypto.decrypt(compressedData, _centralHeader, pass);
}
var data = Buffer.alloc(_centralHeader.size);
switch (_centralHeader.method) {
case Utils.Constants.STORED:
compressedData.copy(data);
if (!crc32OK(data)) {
if (async && callback2) callback2(data, Utils.Errors.BAD_CRC());
throw Utils.Errors.BAD_CRC();
} else {
if (async && callback2) callback2(data);
return data;
}
case Utils.Constants.DEFLATED:
var inflater = new Methods.Inflater(compressedData, _centralHeader.size);
if (!async) {
const result2 = inflater.inflate(data);
result2.copy(data, 0);
if (!crc32OK(data)) {
throw Utils.Errors.BAD_CRC(`"${decoder2.decode(_entryName)}"`);
}
return data;
} else {
inflater.inflateAsync(function(result2) {
result2.copy(result2, 0);
if (callback2) {
if (!crc32OK(result2)) {
callback2(result2, Utils.Errors.BAD_CRC());
} else {
callback2(result2);
}
}
});
}
break;
default:
if (async && callback2) callback2(Buffer.alloc(0), Utils.Errors.UNKNOWN_METHOD());
throw Utils.Errors.UNKNOWN_METHOD();
}
}
function compress2(async, callback2) {
if ((!uncompressedData || !uncompressedData.length) && Buffer.isBuffer(input)) {
if (async && callback2) callback2(getCompressedDataFromZip());
return getCompressedDataFromZip();
}
if (uncompressedData.length && !_isDirectory) {
var compressedData;
switch (_centralHeader.method) {
case Utils.Constants.STORED:
_centralHeader.compressedSize = _centralHeader.size;
compressedData = Buffer.alloc(uncompressedData.length);
uncompressedData.copy(compressedData);
if (async && callback2) callback2(compressedData);
return compressedData;
default:
case Utils.Constants.DEFLATED:
var deflater = new Methods.Deflater(uncompressedData);
if (!async) {
var deflated = deflater.deflate();
_centralHeader.compressedSize = deflated.length;
return deflated;
} else {
deflater.deflateAsync(function(data) {
compressedData = Buffer.alloc(data.length);
_centralHeader.compressedSize = data.length;
data.copy(compressedData);
callback2 && callback2(compressedData);
});
}
deflater = null;
break;
}
} else if (async && callback2) {
callback2(Buffer.alloc(0));
} else {
return Buffer.alloc(0);
}
}
function readUInt64LE(buffer3, offset) {
return Utils.readBigUInt64LE(buffer3, offset);
}
function parseExtra(data) {
try {
var offset = 0;
var signature, size, part;
while (offset + 4 < data.length) {
signature = data.readUInt16LE(offset);
offset += 2;
size = data.readUInt16LE(offset);
offset += 2;
part = data.slice(offset, offset + size);
offset += size;
if (Constants.ID_ZIP64 === signature) {
parseZip64ExtendedInformation(part);
}
}
} catch (error) {
throw Utils.Errors.EXTRA_FIELD_PARSE_ERROR();
}
}
function parseZip64ExtendedInformation(data) {
var size, compressedSize, offset, diskNumStart;
if (data.length >= Constants.EF_ZIP64_SCOMP) {
size = readUInt64LE(data, Constants.EF_ZIP64_SUNCOMP);
if (_centralHeader.size === Constants.EF_ZIP64_OR_32) {
_centralHeader.size = size;
}
}
if (data.length >= Constants.EF_ZIP64_RHO) {
compressedSize = readUInt64LE(data, Constants.EF_ZIP64_SCOMP);
if (_centralHeader.compressedSize === Constants.EF_ZIP64_OR_32) {
_centralHeader.compressedSize = compressedSize;
}
}
if (data.length >= Constants.EF_ZIP64_DSN) {
offset = readUInt64LE(data, Constants.EF_ZIP64_RHO);
if (_centralHeader.offset === Constants.EF_ZIP64_OR_32) {
_centralHeader.offset = offset;
}
}
if (data.length >= Constants.EF_ZIP64_DSN + 4) {
diskNumStart = data.readUInt32LE(Constants.EF_ZIP64_DSN);
if (_centralHeader.diskNumStart === Constants.EF_ZIP64_OR_16) {
_centralHeader.diskNumStart = diskNumStart;
}
}
}
return {
get entryName() {
return decoder2.decode(_entryName);
},
get rawEntryName() {
return _entryName;
},
set entryName(val) {
_entryName = Utils.toBuffer(val, decoder2.encode);
var lastChar = _entryName[_entryName.length - 1];
_isDirectory = lastChar === 47 || lastChar === 92;
_centralHeader.fileNameLength = _entryName.length;
},
get efs() {
if (typeof _efs === "function") {
return _efs(this.entryName);
} else {
return _efs;
}
},
get extra() {
return _extra;
},
set extra(val) {
_extra = val;
_centralHeader.extraLength = val.length;
parseExtra(val);
},
get comment() {
return decoder2.decode(_comment);
},
set comment(val) {
_comment = Utils.toBuffer(val, decoder2.encode);
_centralHeader.commentLength = _comment.length;
if (_comment.length > 65535) throw Utils.Errors.COMMENT_TOO_LONG();
},
get name() {
var n2 = decoder2.decode(_entryName);
return _isDirectory ? n2.substr(n2.length - 1).split("/").pop() : n2.split("/").pop();
},
get isDirectory() {
return _isDirectory;
},
getCompressedData: function() {
return compress2(false, null);
},
getCompressedDataAsync: function(callback2) {
compress2(true, callback2);
},
setData: function(value) {
uncompressedData = Utils.toBuffer(value, Utils.decoder.encode);
if (!_isDirectory && uncompressedData.length) {
_centralHeader.size = uncompressedData.length;
_centralHeader.method = Utils.Constants.DEFLATED;
_centralHeader.crc = Utils.crc32(value);
_centralHeader.changed = true;
} else {
_centralHeader.method = Utils.Constants.STORED;
}
},
getData: function(pass) {
if (_centralHeader.changed) {
return uncompressedData;
} else {
return decompress(false, null, pass);
}
},
getDataAsync: function(callback2, pass) {
if (_centralHeader.changed) {
callback2(uncompressedData);
} else {
decompress(true, callback2, pass);
}
},
set attr(attr) {
_centralHeader.attr = attr;
},
get attr() {
return _centralHeader.attr;
},
set header(data) {
_centralHeader.loadFromBinary(data);
},
get header() {
return _centralHeader;
},
packCentralHeader: function() {
_centralHeader.flags_efs = this.efs;
_centralHeader.extraLength = _extra.length;
var header = _centralHeader.centralHeaderToBinary();
var addpos = Utils.Constants.CENHDR;
_entryName.copy(header, addpos);
addpos += _entryName.length;
_extra.copy(header, addpos);
addpos += _centralHeader.extraLength;
_comment.copy(header, addpos);
return header;
},
packLocalHeader: function() {
let addpos = 0;
_centralHeader.flags_efs = this.efs;
_centralHeader.extraLocalLength = _extralocal.length;
const localHeaderBuf = _centralHeader.localHeaderToBinary();
const localHeader = Buffer.alloc(localHeaderBuf.length + _entryName.length + _centralHeader.extraLocalLength);
localHeaderBuf.copy(localHeader, addpos);
addpos += localHeaderBuf.length;
_entryName.copy(localHeader, addpos);
addpos += _entryName.length;
_extralocal.copy(localHeader, addpos);
addpos += _extralocal.length;
return localHeader;
},
toJSON: function() {
const bytes = function(nr) {
return "<" + (nr && nr.length + " bytes buffer" || "null") + ">";
};
return {
entryName: this.entryName,
name: this.name,
comment: this.comment,
isDirectory: this.isDirectory,
header: _centralHeader.toJSON(),
compressedData: bytes(input),
data: bytes(uncompressedData)
};
},
toString: function() {
return JSON.stringify(this.toJSON(), null, " ");
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/zipFile.js
var require_zipFile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/zipFile.js"(exports2, module2) {
var ZipEntry = require_zipEntry();
var Headers2 = require_headers2();
var Utils = require_util10();
module2.exports = function(inBuffer, options) {
var entryList = [], entryTable = {}, _comment = Buffer.alloc(0), mainHeader = new Headers2.MainHeader(), loadedEntries = false;
var password = null;
const temporary = /* @__PURE__ */ new Set();
const opts3 = options;
const { noSort, decoder: decoder2 } = opts3;
if (inBuffer) {
readMainHeader(opts3.readEntries);
} else {
loadedEntries = true;
}
function makeTemporaryFolders() {
const foldersList = /* @__PURE__ */ new Set();
for (const elem of Object.keys(entryTable)) {
const elements = elem.split("/");
elements.pop();
if (!elements.length) continue;
for (let i4 = 0; i4 < elements.length; i4++) {
const sub = elements.slice(0, i4 + 1).join("/") + "/";
foldersList.add(sub);
}
}
for (const elem of foldersList) {
if (!(elem in entryTable)) {
const tempfolder = new ZipEntry(opts3);
tempfolder.entryName = elem;
tempfolder.attr = 16;
tempfolder.temporary = true;
entryList.push(tempfolder);
entryTable[tempfolder.entryName] = tempfolder;
temporary.add(tempfolder);
}
}
}
function readEntries() {
loadedEntries = true;
entryTable = {};
if (mainHeader.diskEntries > (inBuffer.length - mainHeader.offset) / Utils.Constants.CENHDR) {
throw Utils.Errors.DISK_ENTRY_TOO_LARGE();
}
entryList = new Array(mainHeader.diskEntries);
var index2 = mainHeader.offset;
for (var i4 = 0; i4 < entryList.length; i4++) {
var tmp = index2, entry = new ZipEntry(opts3, inBuffer);
entry.header = inBuffer.slice(tmp, tmp += Utils.Constants.CENHDR);
entry.entryName = inBuffer.slice(tmp, tmp += entry.header.fileNameLength);
if (entry.header.extraLength) {
entry.extra = inBuffer.slice(tmp, tmp += entry.header.extraLength);
}
if (entry.header.commentLength) entry.comment = inBuffer.slice(tmp, tmp + entry.header.commentLength);
index2 += entry.header.centralHeaderSize;
entryList[i4] = entry;
entryTable[entry.entryName] = entry;
}
temporary.clear();
makeTemporaryFolders();
}
function readMainHeader(readNow) {
var i4 = inBuffer.length - Utils.Constants.ENDHDR, max4 = Math.max(0, i4 - 65535), n2 = max4, endStart = inBuffer.length, endOffset = -1, commentEnd = 0;
const trailingSpace = typeof opts3.trailingSpace === "boolean" ? opts3.trailingSpace : false;
if (trailingSpace) max4 = 0;
for (i4; i4 >= n2; i4--) {
if (inBuffer[i4] !== 80) continue;
if (inBuffer.readUInt32LE(i4) === Utils.Constants.ENDSIG) {
endOffset = i4;
commentEnd = i4;
endStart = i4 + Utils.Constants.ENDHDR;
n2 = i4 - Utils.Constants.END64HDR;
continue;
}
if (inBuffer.readUInt32LE(i4) === Utils.Constants.END64SIG) {
n2 = max4;
continue;
}
if (inBuffer.readUInt32LE(i4) === Utils.Constants.ZIP64SIG) {
endOffset = i4;
endStart = i4 + Utils.readBigUInt64LE(inBuffer, i4 + Utils.Constants.ZIP64SIZE) + Utils.Constants.ZIP64LEAD;
break;
}
}
if (endOffset == -1) throw Utils.Errors.INVALID_FORMAT();
mainHeader.loadFromBinary(inBuffer.slice(endOffset, endStart));
if (mainHeader.commentLength) {
_comment = inBuffer.slice(commentEnd + Utils.Constants.ENDHDR);
}
if (readNow) readEntries();
}
function sortEntries() {
if (entryList.length > 1 && !noSort) {
entryList.sort((a2, b) => a2.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase()));
}
}
return {
/**
* Returns an array of ZipEntry objects existent in the current opened archive
* @return Array
*/
get entries() {
if (!loadedEntries) {
readEntries();
}
return entryList.filter((e) => !temporary.has(e));
},
/**
* Archive comment
* @return {String}
*/
get comment() {
return decoder2.decode(_comment);
},
set comment(val) {
_comment = Utils.toBuffer(val, decoder2.encode);
mainHeader.commentLength = _comment.length;
},
getEntryCount: function() {
if (!loadedEntries) {
return mainHeader.diskEntries;
}
return entryList.length;
},
forEach: function(callback2) {
this.entries.forEach(callback2);
},
/**
* Returns a reference to the entry with the given name or null if entry is inexistent
*
* @param entryName
* @return ZipEntry
*/
getEntry: function(entryName) {
if (!loadedEntries) {
readEntries();
}
return entryTable[entryName] || null;
},
/**
* Adds the given entry to the entry list
*
* @param entry
*/
setEntry: function(entry) {
if (!loadedEntries) {
readEntries();
}
entryList.push(entry);
entryTable[entry.entryName] = entry;
mainHeader.totalEntries = entryList.length;
},
/**
* Removes the file with the given name from the entry list.
*
* If the entry is a directory, then all nested files and directories will be removed
* @param entryName
* @returns {void}
*/
deleteFile: function(entryName, withsubfolders = true) {
if (!loadedEntries) {
readEntries();
}
const entry = entryTable[entryName];
const list2 = this.getEntryChildren(entry, withsubfolders).map((child) => child.entryName);
list2.forEach(this.deleteEntry);
},
/**
* Removes the entry with the given name from the entry list.
*
* @param {string} entryName
* @returns {void}
*/
deleteEntry: function(entryName) {
if (!loadedEntries) {
readEntries();
}
const entry = entryTable[entryName];
const index2 = entryList.indexOf(entry);
if (index2 >= 0) {
entryList.splice(index2, 1);
delete entryTable[entryName];
mainHeader.totalEntries = entryList.length;
}
},
/**
* Iterates and returns all nested files and directories of the given entry
*
* @param entry
* @return Array
*/
getEntryChildren: function(entry, subfolders = true) {
if (!loadedEntries) {
readEntries();
}
if (typeof entry === "object") {
if (entry.isDirectory && subfolders) {
const list2 = [];
const name = entry.entryName;
for (const zipEntry of entryList) {
if (zipEntry.entryName.startsWith(name)) {
list2.push(zipEntry);
}
}
return list2;
} else {
return [entry];
}
}
return [];
},
/**
* How many child elements entry has
*
* @param {ZipEntry} entry
* @return {integer}
*/
getChildCount: function(entry) {
if (entry && entry.isDirectory) {
const list2 = this.getEntryChildren(entry);
return list2.includes(entry) ? list2.length - 1 : list2.length;
}
return 0;
},
/**
* Returns the zip file
*
* @return Buffer
*/
compressToBuffer: function() {
if (!loadedEntries) {
readEntries();
}
sortEntries();
const dataBlock = [];
const headerBlocks = [];
let totalSize = 0;
let dindex = 0;
mainHeader.size = 0;
mainHeader.offset = 0;
let totalEntries = 0;
for (const entry of this.entries) {
const compressedData = entry.getCompressedData();
entry.header.offset = dindex;
const localHeader = entry.packLocalHeader();
const dataLength = localHeader.length + compressedData.length;
dindex += dataLength;
dataBlock.push(localHeader);
dataBlock.push(compressedData);
const centralHeader = entry.packCentralHeader();
headerBlocks.push(centralHeader);
mainHeader.size += centralHeader.length;
totalSize += dataLength + centralHeader.length;
totalEntries++;
}
totalSize += mainHeader.mainHeaderSize;
mainHeader.offset = dindex;
mainHeader.totalEntries = totalEntries;
dindex = 0;
const outBuffer = Buffer.alloc(totalSize);
for (const content of dataBlock) {
content.copy(outBuffer, dindex);
dindex += content.length;
}
for (const content of headerBlocks) {
content.copy(outBuffer, dindex);
dindex += content.length;
}
const mh = mainHeader.toBinary();
if (_comment) {
_comment.copy(mh, mh.length - _comment.length);
}
mh.copy(outBuffer, dindex);
inBuffer = outBuffer;
loadedEntries = false;
return outBuffer;
},
toAsyncBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) {
try {
if (!loadedEntries) {
readEntries();
}
sortEntries();
const dataBlock = [];
const centralHeaders = [];
let totalSize = 0;
let dindex = 0;
let totalEntries = 0;
mainHeader.size = 0;
mainHeader.offset = 0;
const compress2Buffer = function(entryLists) {
if (entryLists.length > 0) {
const entry = entryLists.shift();
const name = entry.entryName + entry.extra.toString();
if (onItemStart) onItemStart(name);
entry.getCompressedDataAsync(function(compressedData) {
if (onItemEnd) onItemEnd(name);
entry.header.offset = dindex;
const localHeader = entry.packLocalHeader();
const dataLength = localHeader.length + compressedData.length;
dindex += dataLength;
dataBlock.push(localHeader);
dataBlock.push(compressedData);
const centalHeader = entry.packCentralHeader();
centralHeaders.push(centalHeader);
mainHeader.size += centalHeader.length;
totalSize += dataLength + centalHeader.length;
totalEntries++;
compress2Buffer(entryLists);
});
} else {
totalSize += mainHeader.mainHeaderSize;
mainHeader.offset = dindex;
mainHeader.totalEntries = totalEntries;
dindex = 0;
const outBuffer = Buffer.alloc(totalSize);
dataBlock.forEach(function(content) {
content.copy(outBuffer, dindex);
dindex += content.length;
});
centralHeaders.forEach(function(content) {
content.copy(outBuffer, dindex);
dindex += content.length;
});
const mh = mainHeader.toBinary();
if (_comment) {
_comment.copy(mh, mh.length - _comment.length);
}
mh.copy(outBuffer, dindex);
inBuffer = outBuffer;
loadedEntries = false;
onSuccess(outBuffer);
}
};
compress2Buffer(Array.from(this.entries));
} catch (e) {
onFail(e);
}
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/adm-zip.js
var require_adm_zip = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/adm-zip/0.5.18/a673d79af091791262eb6cc0652764bf09599329aa6ec7aa91fa2f091c52e6dd/node_modules/adm-zip/adm-zip.js"(exports2, module2) {
var Utils = require_util10();
var pth = __require("path");
var ZipEntry = require_zipEntry();
var ZipFile = require_zipFile();
var get_Bool = (...val) => Utils.findLast(val, (c3) => typeof c3 === "boolean");
var get_Str = (...val) => Utils.findLast(val, (c3) => typeof c3 === "string");
var get_Fun = (...val) => Utils.findLast(val, (c3) => typeof c3 === "function");
var defaultOptions4 = {
// option "noSort" : if true it disables files sorting
noSort: false,
// read entries during load (initial loading may be slower)
readEntries: false,
// default method is none
method: Utils.Constants.NONE,
// file system
fs: null
};
module2.exports = function(input, options) {
let inBuffer = null;
const opts3 = Object.assign(/* @__PURE__ */ Object.create(null), defaultOptions4);
if (input && "object" === typeof input) {
if (!(input instanceof Uint8Array)) {
Object.assign(opts3, input);
input = opts3.input ? opts3.input : void 0;
if (opts3.input) delete opts3.input;
}
if (Buffer.isBuffer(input)) {
inBuffer = input;
opts3.method = Utils.Constants.BUFFER;
input = void 0;
}
}
Object.assign(opts3, options);
const filetools = new Utils(opts3);
if (typeof opts3.decoder !== "object" || typeof opts3.decoder.encode !== "function" || typeof opts3.decoder.decode !== "function") {
opts3.decoder = Utils.decoder;
}
if (input && "string" === typeof input) {
if (filetools.fs.existsSync(input)) {
opts3.method = Utils.Constants.FILE;
opts3.filename = input;
inBuffer = filetools.fs.readFileSync(input);
} else {
throw Utils.Errors.INVALID_FILENAME();
}
}
const _zip = new ZipFile(inBuffer, opts3);
const { canonical, sanitize: sanitize2, zipnamefix } = Utils;
function getEntry(entry) {
if (entry && _zip) {
var item;
if (typeof entry === "string") item = _zip.getEntry(pth.posix.normalize(entry));
if (typeof entry === "object" && typeof entry.entryName !== "undefined" && typeof entry.header !== "undefined") item = _zip.getEntry(entry.entryName);
if (item) {
return item;
}
}
return null;
}
function fixPath(zipPath) {
const { join: join5, normalize: normalize11, sep: sep2 } = pth.posix;
return join5(pth.isAbsolute(zipPath) ? "/" : ".", normalize11(sep2 + zipPath.split("\\").join(sep2) + sep2));
}
function filenameFilter(filterfn) {
if (filterfn instanceof RegExp) {
return /* @__PURE__ */ (function(rx) {
return function(filename) {
return rx.test(filename);
};
})(filterfn);
} else if ("function" !== typeof filterfn) {
return () => true;
}
return filterfn;
}
const relativePath2 = (local, entry) => {
let lastChar = entry.slice(-1);
lastChar = lastChar === filetools.sep ? filetools.sep : "";
return pth.relative(local, entry) + lastChar;
};
return {
/**
* Extracts the given entry from the archive and returns the content as a Buffer object
* @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
* @param {Buffer|string} [pass] - password
* @return Buffer or Null in case of error
*/
readFile: function(entry, pass) {
var item = getEntry(entry);
return item && item.getData(pass) || null;
},
/**
* Returns how many child elements has on entry (directories) on files it is always 0
* @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
* @returns {integer}
*/
childCount: function(entry) {
const item = getEntry(entry);
if (item) {
return _zip.getChildCount(item);
}
},
/**
* Asynchronous readFile
* @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
* @param {callback} callback
*
* @return Buffer or Null in case of error
*/
readFileAsync: function(entry, callback2) {
var item = getEntry(entry);
if (item) {
item.getDataAsync(callback2);
} else {
callback2(null, "getEntry failed for:" + entry);
}
},
/**
* Extracts the given entry from the archive and returns the content as plain text in the given encoding
* @param {ZipEntry|string} entry - ZipEntry object or String with the full path of the entry
* @param {string} encoding - Optional. If no encoding is specified utf8 is used
*
* @return String
*/
readAsText: function(entry, encoding) {
var item = getEntry(entry);
if (item) {
var data = item.getData();
if (data && data.length) {
return data.toString(encoding || "utf8");
}
}
return "";
},
/**
* Asynchronous readAsText
* @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
* @param {callback} callback
* @param {string} [encoding] - Optional. If no encoding is specified utf8 is used
*
* @return String
*/
readAsTextAsync: function(entry, callback2, encoding) {
var item = getEntry(entry);
if (item) {
item.getDataAsync(function(data, err2) {
if (err2) {
callback2(data, err2);
return;
}
if (data && data.length) {
callback2(data.toString(encoding || "utf8"));
} else {
callback2("");
}
});
} else {
callback2("");
}
},
/**
* Remove the entry from the file or the entry and all it's nested directories and files if the given entry is a directory
*
* @param {ZipEntry|string} entry
* @param {boolean} withsubfolders
* @returns {void}
*/
deleteFile: function(entry, withsubfolders = true) {
var item = getEntry(entry);
if (item) {
_zip.deleteFile(item.entryName, withsubfolders);
}
},
/**
* Remove the entry from the file or directory without affecting any nested entries
*
* @param {ZipEntry|string} entry
* @returns {void}
*/
deleteEntry: function(entry) {
var item = getEntry(entry);
if (item) {
_zip.deleteEntry(item.entryName);
}
},
/**
* Adds a comment to the zip. The zip must be rewritten after adding the comment.
*
* @param {string} comment
*/
addZipComment: function(comment) {
_zip.comment = comment;
},
/**
* Returns the zip comment
*
* @return String
*/
getZipComment: function() {
return _zip.comment || "";
},
/**
* Adds a comment to a specified zipEntry. The zip must be rewritten after adding the comment
* The comment cannot exceed 65535 characters in length
*
* @param {ZipEntry} entry
* @param {string} comment
*/
addZipEntryComment: function(entry, comment) {
var item = getEntry(entry);
if (item) {
item.comment = comment;
}
},
/**
* Returns the comment of the specified entry
*
* @param {ZipEntry} entry
* @return String
*/
getZipEntryComment: function(entry) {
var item = getEntry(entry);
if (item) {
return item.comment || "";
}
return "";
},
/**
* Updates the content of an existing entry inside the archive. The zip must be rewritten after updating the content
*
* @param {ZipEntry} entry
* @param {Buffer} content
*/
updateFile: function(entry, content) {
var item = getEntry(entry);
if (item) {
item.setData(content);
}
},
/**
* Adds a file from the disk to the archive
*
* @param {string} localPath File to add to zip
* @param {string} [zipPath] Optional path inside the zip
* @param {string} [zipName] Optional name for the file
* @param {string} [comment] Optional file comment
*/
addLocalFile: function(localPath, zipPath, zipName, comment) {
if (filetools.fs.existsSync(localPath)) {
zipPath = zipPath ? fixPath(zipPath) : "";
const p = pth.win32.basename(pth.win32.normalize(localPath));
zipPath += zipName ? zipName : p;
const _attr = filetools.fs.statSync(localPath);
const data = _attr.isFile() ? filetools.fs.readFileSync(localPath) : Buffer.alloc(0);
if (_attr.isDirectory()) zipPath += filetools.sep;
this.addFile(zipPath, data, comment, _attr);
} else {
throw Utils.Errors.FILE_NOT_FOUND(localPath);
}
},
/**
* Callback for showing if everything was done.
*
* @callback doneCallback
* @param {Error} err - Error object
* @param {boolean} done - was request fully completed
*/
/**
* Adds a file from the disk to the archive
*
* @param {(object|string)} options - options object, if it is string it us used as localPath.
* @param {string} options.localPath - Local path to the file.
* @param {string} [options.comment] - Optional file comment.
* @param {string} [options.zipPath] - Optional path inside the zip
* @param {string} [options.zipName] - Optional name for the file
* @param {doneCallback} callback - The callback that handles the response.
*/
addLocalFileAsync: function(options2, callback2) {
options2 = typeof options2 === "object" ? options2 : { localPath: options2 };
const localPath = pth.resolve(options2.localPath);
const { comment } = options2;
let { zipPath, zipName } = options2;
const self2 = this;
filetools.fs.stat(localPath, function(err2, stats) {
if (err2) return callback2(err2, false);
zipPath = zipPath ? fixPath(zipPath) : "";
const p = pth.win32.basename(pth.win32.normalize(localPath));
zipPath += zipName ? zipName : p;
if (stats.isFile()) {
filetools.fs.readFile(localPath, function(err3, data) {
if (err3) return callback2(err3, false);
self2.addFile(zipPath, data, comment, stats);
return setImmediate(callback2, void 0, true);
});
} else if (stats.isDirectory()) {
zipPath += filetools.sep;
self2.addFile(zipPath, Buffer.alloc(0), comment, stats);
return setImmediate(callback2, void 0, true);
}
});
},
/**
* Adds a local directory and all its nested files and directories to the archive
*
* @param {string} localPath - local path to the folder
* @param {string} [zipPath] - optional path inside zip
* @param {(RegExp|function)} [filter] - optional RegExp or Function if files match will be included.
*/
addLocalFolder: function(localPath, zipPath, filter14) {
filter14 = filenameFilter(filter14);
zipPath = zipPath ? fixPath(zipPath) : "";
localPath = pth.normalize(localPath);
if (filetools.fs.existsSync(localPath)) {
const items = filetools.findFiles(localPath);
const self2 = this;
if (items.length) {
for (const filepath of items) {
const p = pth.join(zipPath, relativePath2(localPath, filepath));
if (filter14(p)) {
self2.addLocalFile(filepath, pth.dirname(p));
}
}
}
} else {
throw Utils.Errors.FILE_NOT_FOUND(localPath);
}
},
/**
* Asynchronous addLocalFolder
* @param {string} localPath
* @param {callback} callback
* @param {string} [zipPath] optional path inside zip
* @param {RegExp|function} [filter] optional RegExp or Function if files match will
* be included.
*/
addLocalFolderAsync: function(localPath, callback2, zipPath, filter14) {
filter14 = filenameFilter(filter14);
zipPath = zipPath ? fixPath(zipPath) : "";
localPath = pth.normalize(localPath);
var self2 = this;
filetools.fs.open(localPath, "r", function(err2) {
if (err2 && err2.code === "ENOENT") {
callback2(void 0, Utils.Errors.FILE_NOT_FOUND(localPath));
} else if (err2) {
callback2(void 0, err2);
} else {
var items = filetools.findFiles(localPath);
var i4 = -1;
var next2 = function() {
i4 += 1;
if (i4 < items.length) {
var filepath = items[i4];
var p = relativePath2(localPath, filepath).split("\\").join("/");
p = p.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, "");
if (filter14(p)) {
filetools.fs.stat(filepath, function(er0, stats) {
if (er0) callback2(void 0, er0);
if (stats.isFile()) {
filetools.fs.readFile(filepath, function(er1, data) {
if (er1) {
callback2(void 0, er1);
} else {
self2.addFile(zipPath + p, data, "", stats);
next2();
}
});
} else {
self2.addFile(zipPath + p + "/", Buffer.alloc(0), "", stats);
next2();
}
});
} else {
process.nextTick(() => {
next2();
});
}
} else {
callback2(true, void 0);
}
};
next2();
}
});
},
/**
* Adds a local directory and all its nested files and directories to the archive
*
* @param {object | string} options - options object, if it is string it us used as localPath.
* @param {string} options.localPath - Local path to the folder.
* @param {string} [options.zipPath] - optional path inside zip.
* @param {RegExp|function} [options.filter] - optional RegExp or Function if files match will be included.
* @param {function|string} [options.namefix] - optional function to help fix filename
* @param {doneCallback} callback - The callback that handles the response.
*
*/
addLocalFolderAsync2: function(options2, callback2) {
const self2 = this;
options2 = typeof options2 === "object" ? options2 : { localPath: options2 };
const localPath = pth.resolve(fixPath(options2.localPath));
let { zipPath, filter: filter14, namefix } = options2;
if (filter14 instanceof RegExp) {
filter14 = /* @__PURE__ */ (function(rx) {
return function(filename) {
return rx.test(filename);
};
})(filter14);
} else if ("function" !== typeof filter14) {
filter14 = function() {
return true;
};
}
zipPath = zipPath ? fixPath(zipPath) : "";
if (namefix === "latin1") {
namefix = (str2) => str2.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, "");
}
if (typeof namefix !== "function") namefix = (str2) => str2;
const relPathFix = (entry) => pth.join(zipPath, namefix(relativePath2(localPath, entry)));
const fileNameFix = (entry) => pth.win32.basename(pth.win32.normalize(namefix(entry)));
filetools.fs.open(localPath, "r", function(err2) {
if (err2 && err2.code === "ENOENT") {
callback2(void 0, Utils.Errors.FILE_NOT_FOUND(localPath));
} else if (err2) {
callback2(void 0, err2);
} else {
filetools.findFilesAsync(localPath, function(err3, fileEntries) {
if (err3) return callback2(err3);
fileEntries = fileEntries.filter((dir) => filter14(relPathFix(dir)));
if (!fileEntries.length) callback2(void 0, false);
setImmediate(
fileEntries.reverse().reduce(function(next2, entry) {
return function(err4, done) {
if (err4 || done === false) return setImmediate(next2, err4, false);
self2.addLocalFileAsync(
{
localPath: entry,
zipPath: pth.dirname(relPathFix(entry)),
zipName: fileNameFix(entry)
},
next2
);
};
}, callback2)
);
});
}
});
},
/**
* Adds a local directory and all its nested files and directories to the archive
*
* @param {string} localPath - path where files will be extracted
* @param {object} props - optional properties
* @param {string} [props.zipPath] - optional path inside zip
* @param {RegExp|function} [props.filter] - optional RegExp or Function if files match will be included.
* @param {function|string} [props.namefix] - optional function to help fix filename
*/
addLocalFolderPromise: function(localPath, props3) {
return new Promise((resolve4, reject3) => {
this.addLocalFolderAsync2(Object.assign({ localPath }, props3), (err2, done) => {
if (err2) reject3(err2);
if (done) resolve4(this);
});
});
},
/**
* Allows you to create a entry (file or directory) in the zip file.
* If you want to create a directory the entryName must end in / and a null buffer should be provided.
* Comment and attributes are optional
*
* @param {string} entryName
* @param {Buffer | string} content - file content as buffer or utf8 coded string
* @param {string} [comment] - file comment
* @param {number | object} [attr] - number as unix file permissions, object as filesystem Stats object
*/
addFile: function(entryName, content, comment, attr) {
entryName = zipnamefix(entryName);
let entry = getEntry(entryName);
const update2 = entry != null;
if (!update2) {
entry = new ZipEntry(opts3);
entry.entryName = entryName;
}
entry.comment = comment || "";
const isStat = "object" === typeof attr && attr instanceof filetools.fs.Stats;
if (isStat) {
entry.header.time = attr.mtime;
}
var fileattr = entry.isDirectory ? 16 : 0;
let unix = entry.isDirectory ? 16384 : 32768;
if (isStat) {
unix |= 4095 & attr.mode;
} else if ("number" === typeof attr) {
unix |= 4095 & attr;
} else {
unix |= entry.isDirectory ? 493 : 420;
}
fileattr = (fileattr | unix << 16) >>> 0;
entry.attr = fileattr;
entry.setData(content);
if (!update2) _zip.setEntry(entry);
return entry;
},
/**
* Returns an array of ZipEntry objects representing the files and folders inside the archive
*
* @param {string} [password]
* @returns Array
*/
getEntries: function(password) {
_zip.password = password;
return _zip ? _zip.entries : [];
},
/**
* Returns a ZipEntry object representing the file or folder specified by ``name``.
*
* @param {string} name
* @return ZipEntry
*/
getEntry: function(name) {
return getEntry(name);
},
getEntryCount: function() {
return _zip.getEntryCount();
},
forEach: function(callback2) {
return _zip.forEach(callback2);
},
/**
* Extracts the given entry to the given targetPath
* If the entry is a directory inside the archive, the entire directory and it's subdirectories will be extracted
*
* @param {string|ZipEntry} entry - ZipEntry object or String with the full path of the entry
* @param {string} targetPath - Target folder where to write the file
* @param {boolean} [maintainEntryPath=true] - If maintainEntryPath is true and the entry is inside a folder, the entry folder will be created in targetPath as well. Default is TRUE
* @param {boolean} [overwrite=false] - If the file already exists at the target path, the file will be overwriten if this is true.
* @param {boolean} [keepOriginalPermission=false] - The file will be set as the permission from the entry if this is true.
* @param {string} [outFileName] - String If set will override the filename of the extracted file (Only works if the entry is a file)
*
* @return Boolean
*/
extractEntryTo: function(entry, targetPath, maintainEntryPath, overwrite2, keepOriginalPermission, outFileName) {
overwrite2 = get_Bool(false, overwrite2);
keepOriginalPermission = get_Bool(false, keepOriginalPermission);
maintainEntryPath = get_Bool(true, maintainEntryPath);
outFileName = get_Str(keepOriginalPermission, outFileName);
var item = getEntry(entry);
if (!item) {
throw Utils.Errors.NO_ENTRY();
}
var entryName = canonical(item.entryName);
var target2 = sanitize2(targetPath, outFileName && !item.isDirectory ? canonical(outFileName) : maintainEntryPath ? entryName : pth.basename(entryName));
if (item.isDirectory) {
var children = _zip.getEntryChildren(item);
children.forEach(function(child) {
if (child.isDirectory) return;
var content2 = child.getData();
if (!content2) {
throw Utils.Errors.CANT_EXTRACT_FILE();
}
var name = canonical(child.entryName);
var childName = sanitize2(targetPath, maintainEntryPath ? name : pth.basename(name));
const fileAttr2 = keepOriginalPermission ? child.header.fileAttr : void 0;
filetools.writeFileTo(childName, content2, overwrite2, fileAttr2);
});
return true;
}
var content = item.getData(_zip.password);
if (!content) throw Utils.Errors.CANT_EXTRACT_FILE();
if (filetools.fs.existsSync(target2) && !overwrite2) {
throw Utils.Errors.CANT_OVERRIDE();
}
const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
filetools.writeFileTo(target2, content, overwrite2, fileAttr);
return true;
},
/**
* Test the archive
* @param {string} [pass]
*/
test: function(pass) {
if (!_zip) {
return false;
}
for (var entry of _zip.entries) {
try {
if (entry.isDirectory) {
continue;
}
var content = _zip.entries[entry].getData(pass);
if (!content) {
return false;
}
} catch (err2) {
return false;
}
}
return true;
},
/**
* Extracts the entire archive to the given location
*
* @param {string} targetPath Target location
* @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true.
* Default is FALSE
* @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true.
* Default is FALSE
* @param {string|Buffer} [pass] password
*/
extractAllTo: function(targetPath, overwrite2, keepOriginalPermission, pass) {
keepOriginalPermission = get_Bool(false, keepOriginalPermission);
pass = get_Str(keepOriginalPermission, pass);
overwrite2 = get_Bool(false, overwrite2);
if (!_zip) throw Utils.Errors.NO_ZIP();
_zip.entries.forEach(function(entry) {
var entryName = sanitize2(targetPath, canonical(entry.entryName));
if (entry.isDirectory) {
filetools.makeDir(entryName);
return;
}
var content = entry.getData(pass);
if (!content) {
throw Utils.Errors.CANT_EXTRACT_FILE();
}
const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
filetools.writeFileTo(entryName, content, overwrite2, fileAttr);
try {
filetools.fs.utimesSync(entryName, entry.header.time, entry.header.time);
} catch (err2) {
throw Utils.Errors.CANT_EXTRACT_FILE();
}
});
},
/**
* Asynchronous extractAllTo
*
* @param {string} targetPath Target location
* @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true.
* Default is FALSE
* @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true.
* Default is FALSE
* @param {function} callback The callback will be executed when all entries are extracted successfully or any error is thrown.
*/
extractAllToAsync: function(targetPath, overwrite2, keepOriginalPermission, callback2) {
callback2 = get_Fun(overwrite2, keepOriginalPermission, callback2);
keepOriginalPermission = get_Bool(false, keepOriginalPermission);
overwrite2 = get_Bool(false, overwrite2);
if (!callback2) {
return new Promise((resolve4, reject3) => {
this.extractAllToAsync(targetPath, overwrite2, keepOriginalPermission, function(err2) {
if (err2) {
reject3(err2);
} else {
resolve4(this);
}
});
});
}
if (!_zip) {
callback2(Utils.Errors.NO_ZIP());
return;
}
targetPath = pth.resolve(targetPath);
const getPath2 = (entry) => sanitize2(targetPath, pth.normalize(canonical(entry.entryName)));
const getError = (msg, file) => new Error(msg + ': "' + file + '"');
const dirEntries = [];
const fileEntries = [];
_zip.entries.forEach((e) => {
if (e.isDirectory) {
dirEntries.push(e);
} else {
fileEntries.push(e);
}
});
for (const entry of dirEntries) {
const dirPath = getPath2(entry);
const dirAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
try {
filetools.makeDir(dirPath);
if (dirAttr) filetools.fs.chmodSync(dirPath, dirAttr);
filetools.fs.utimesSync(dirPath, entry.header.time, entry.header.time);
} catch (er) {
callback2(getError("Unable to create folder", dirPath));
}
}
fileEntries.reverse().reduce(function(next2, entry) {
return function(err2) {
if (err2) {
next2(err2);
} else {
const entryName = pth.normalize(canonical(entry.entryName));
const filePath = sanitize2(targetPath, entryName);
entry.getDataAsync(function(content, err_1) {
if (err_1) {
next2(err_1);
} else if (!content) {
next2(Utils.Errors.CANT_EXTRACT_FILE());
} else {
const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
filetools.writeFileToAsync(filePath, content, overwrite2, fileAttr, function(succ) {
if (!succ) {
next2(getError("Unable to write file", filePath));
}
filetools.fs.utimes(filePath, entry.header.time, entry.header.time, function(err_2) {
if (err_2) {
next2(getError("Unable to set times", filePath));
} else {
next2();
}
});
});
}
});
}
};
}, callback2)();
},
/**
* Writes the newly created zip file to disk at the specified location or if a zip was opened and no ``targetFileName`` is provided, it will overwrite the opened zip
*
* @param {string} targetFileName
* @param {function} callback
*/
writeZip: function(targetFileName, callback2) {
if (arguments.length === 1) {
if (typeof targetFileName === "function") {
callback2 = targetFileName;
targetFileName = "";
}
}
if (!targetFileName && opts3.filename) {
targetFileName = opts3.filename;
}
if (!targetFileName) return;
var zipData = _zip.compressToBuffer();
if (zipData) {
var ok = filetools.writeFileTo(targetFileName, zipData, true);
if (typeof callback2 === "function") callback2(!ok ? new Error("failed") : null, "");
}
},
/**
*
* @param {string} targetFileName
* @param {object} [props]
* @param {boolean} [props.overwrite=true] If the file already exists at the target path, the file will be overwriten if this is true.
* @param {boolean} [props.perm] The file will be set as the permission from the entry if this is true.
* @returns {Promise<void>}
*/
writeZipPromise: function(targetFileName, props3) {
const { overwrite: overwrite2, perm } = Object.assign({ overwrite: true }, props3);
return new Promise((resolve4, reject3) => {
if (!targetFileName && opts3.filename) targetFileName = opts3.filename;
if (!targetFileName) reject3("ADM-ZIP: ZIP File Name Missing");
this.toBufferPromise().then((zipData) => {
const ret2 = (done) => done ? resolve4(done) : reject3("ADM-ZIP: Wasn't able to write zip file");
filetools.writeFileToAsync(targetFileName, zipData, overwrite2, perm, ret2);
}, reject3);
});
},
/**
* @returns {Promise<Buffer>} A promise to the Buffer.
*/
toBufferPromise: function() {
return new Promise((resolve4, reject3) => {
_zip.toAsyncBuffer(resolve4, reject3);
});
},
/**
* Returns the content of the entire zip file as a Buffer object
*
* @prop {function} [onSuccess]
* @prop {function} [onFail]
* @prop {function} [onItemStart]
* @prop {function} [onItemEnd]
* @returns {Buffer}
*/
toBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) {
if (typeof onSuccess === "function") {
_zip.toAsyncBuffer(onSuccess, onFail, onItemStart, onItemEnd);
return null;
}
return _zip.compressToBuffer();
}
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/temp-dir/2.0.0/4198b35b752c049d4a3d393f440171b7cd6505e7cfe07700ea9fdea5db17538a/node_modules/temp-dir/index.js
var require_temp_dir = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/temp-dir/2.0.0/4198b35b752c049d4a3d393f440171b7cd6505e7cfe07700ea9fdea5db17538a/node_modules/temp-dir/index.js"(exports2, module2) {
"use strict";
var fs126 = __require("fs");
var os17 = __require("os");
var tempDirectorySymbol = /* @__PURE__ */ Symbol.for("__RESOLVED_TEMP_DIRECTORY__");
if (!global[tempDirectorySymbol]) {
Object.defineProperty(global, tempDirectorySymbol, {
value: fs126.realpathSync(os17.tmpdir())
});
}
module2.exports = global[tempDirectorySymbol];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-stream/3.0.0/1172e239beab4f8075b8ee098e2c3ecfe5a0818d863da9dc4268b6563cc63496/node_modules/is-stream/index.js
var init_is_stream2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-stream/3.0.0/1172e239beab4f8075b8ee098e2c3ecfe5a0818d863da9dc4268b6563cc63496/node_modules/is-stream/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tempy/3.0.0/3d67cef696bf4252940e546ecc39f835e45f7d4463663a59cd65519fd5d12c64/node_modules/tempy/index.js
import fs24 from "node:fs";
import path38 from "node:path";
import stream from "node:stream";
import { promisify as promisify13 } from "node:util";
function temporaryDirectory({ prefix = "" } = {}) {
const directory = getPath(prefix);
fs24.mkdirSync(directory);
return directory;
}
var import_temp_dir, import_temp_dir2, pipeline, getPath;
var init_tempy = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tempy/3.0.0/3d67cef696bf4252940e546ecc39f835e45f7d4463663a59cd65519fd5d12c64/node_modules/tempy/index.js"() {
init_unique_string();
import_temp_dir = __toESM(require_temp_dir(), 1);
init_is_stream2();
import_temp_dir2 = __toESM(require_temp_dir(), 1);
pipeline = promisify13(stream.pipeline);
getPath = (prefix = "") => path38.join(import_temp_dir.default, prefix + uniqueString());
}
});
// ../fetching/binary-fetcher/lib/index.js
import fsPromises from "node:fs/promises";
import path39 from "node:path";
import util12 from "node:util";
function createBinaryFetcher(ctx) {
const archiveFilters = /* @__PURE__ */ new Map();
for (const [name, pattern] of Object.entries(ctx.archiveFilters ?? {})) {
try {
archiveFilters.set(name, { pattern, regex: new RegExp(pattern) });
} catch (err2) {
const detail = util12.types.isNativeError(err2) ? `: ${err2.message}` : "";
throw new PnpmError("INVALID_ARCHIVE_FILTER", `Invalid archive filter regex for "${name}"${detail}: ${pattern}`);
}
}
const fetchBinary = async (cafs, resolution, opts3) => {
if (ctx.offline) {
throw new PnpmError("CANNOT_DOWNLOAD_BINARY_OFFLINE", `Cannot download binary "${resolution.url}" because offline mode is enabled.`);
}
const manifest = {
name: opts3.pkg.name,
version: opts3.pkg.version,
bin: resolution.bin
};
const archiveFilter = opts3.pkg.name != null ? archiveFilters.get(opts3.pkg.name) : void 0;
let fetchResult;
switch (resolution.archive) {
case "tarball": {
fetchResult = await ctx.fetchFromRemoteTarball(cafs, {
tarball: resolution.url,
integrity: resolution.integrity
}, {
...opts3,
appendManifest: manifest,
ignoreFilePattern: archiveFilter?.pattern ?? opts3.ignoreFilePattern
});
break;
}
case "zip": {
const tempLocation = await cafs.tempDir();
await downloadAndUnpackZip(ctx.fetch, {
url: resolution.url,
integrity: resolution.integrity,
basename: resolution.prefix ?? "",
ignoreEntry: archiveFilter?.regex
}, tempLocation);
fetchResult = await addFilesFromDir({
storeDir: cafs.storeDir,
storeIndex: ctx.storeIndex,
dir: tempLocation,
filesIndexFile: opts3.filesIndexFile,
readManifest: false,
appendManifest: manifest,
includeNodeModules: true
});
break;
}
default: {
throw new PnpmError("NOT_SUPPORTED_ARCHIVE", `The binary fetcher doesn't support archive type ${resolution.archive}`);
}
}
return {
...fetchResult,
manifest
};
};
return {
binary: fetchBinary
};
}
async function downloadAndUnpackZip(fetchFromRegistry, assetInfo, targetDir) {
const tmp = path39.join(temporaryDirectory(), "pnpm.zip");
try {
await downloadWithIntegrityCheck(fetchFromRegistry, assetInfo, tmp);
await extractZipToTarget(tmp, assetInfo.basename, targetDir, assetInfo.ignoreEntry);
} finally {
try {
await fsPromises.unlink(tmp);
} catch {
}
}
}
async function downloadWithIntegrityCheck(fetchFromRegistry, { url: url7, integrity }, tmpPath) {
const response = await fetchFromRegistry(url7);
const chunks = [];
for await (const chunk of response.body) {
chunks.push(chunk);
}
const data = Buffer.concat(chunks);
try {
import_ssri3.default.checkData(data, integrity, { error: true });
} catch (err2) {
if (!(err2 instanceof Error) || !("expected" in err2) || !("found" in err2)) {
throw err2;
}
throw new PnpmError("TARBALL_INTEGRITY", `Got unexpected checksum for "${url7}". Wanted "${err2.expected}". Got "${err2.found}".`);
}
await fsPromises.writeFile(tmpPath, data);
}
async function extractZipToTarget(zipPath, basename2, targetDir, ignoreEntry) {
const zip = new import_adm_zip.default(zipPath);
const nodeDir = basename2 === "" ? targetDir : path39.dirname(targetDir);
if (basename2 !== "") {
validatePathSecurity(nodeDir, basename2);
}
const basenamePrefix = basename2 === "" ? "" : `${basename2}/`;
const testEntry = toStatelessTester(ignoreEntry);
for (const entry of zip.getEntries()) {
if (entry.isDirectory)
continue;
const entryPath = entry.entryName;
validatePathSecurity(nodeDir, entryPath);
if (testEntry) {
const relative2 = basenamePrefix && entryPath.startsWith(basenamePrefix) ? entryPath.slice(basenamePrefix.length) : entryPath;
if (testEntry(relative2))
continue;
}
zip.extractEntryTo(entry, nodeDir, true, true);
}
const extractedDir = path39.join(nodeDir, basename2);
await renameOverwrite(extractedDir, targetDir);
}
function toStatelessTester(regex2) {
if (!regex2)
return void 0;
if (!regex2.global && !regex2.sticky) {
return (input) => regex2.test(input);
}
const safeFlags = regex2.flags.replace(/[gy]/g, "");
const clone4 = new RegExp(regex2.source, safeFlags);
return (input) => clone4.test(input);
}
function validatePathSecurity(basePath, targetPath) {
if (path39.isAbsolute(targetPath)) {
throw new PnpmError("PATH_TRAVERSAL", `Refusing to extract path "${targetPath}" - absolute paths are not allowed`);
}
const normalizedTarget = path39.resolve(basePath, targetPath);
if (!isSubdir(basePath, normalizedTarget) && normalizedTarget !== basePath) {
throw new PnpmError("PATH_TRAVERSAL", `Refusing to extract path "${targetPath}" outside of target directory`);
}
}
var import_adm_zip, import_ssri3;
var init_lib47 = __esm({
"../fetching/binary-fetcher/lib/index.js"() {
"use strict";
init_lib2();
init_lib4();
import_adm_zip = __toESM(require_adm_zip(), 1);
init_is_subdir();
init_rename_overwrite();
import_ssri3 = __toESM(require_lib18(), 1);
init_tempy();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@lazy-node/types-path/1.0.3/5b3236ffe4e645c8815128ca5ca39ed7883290536aa4e64064e2a7c00a2b2d36/node_modules/@lazy-node/types-path/index.js
var require_types_path = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@lazy-node/types-path/1.0.3/5b3236ffe4e645c8815128ca5ca39ed7883290536aa4e64064e2a7c00a2b2d36/node_modules/@lazy-node/types-path/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.rePathSepSlashAll = exports2.ORIGIN_KEY = exports2.EnumPathDelimiter = exports2.EnumPathSep = exports2.EnumPathPlatformExtra = exports2.EnumPathPlatformOrigin = void 0;
exports2.makeRePathSepSlash = makeRePathSepSlash;
var EnumPathPlatformOrigin;
(function(EnumPathPlatformOrigin2) {
EnumPathPlatformOrigin2["win32"] = "win32";
EnumPathPlatformOrigin2["posix"] = "posix";
})(EnumPathPlatformOrigin || (exports2.EnumPathPlatformOrigin = EnumPathPlatformOrigin = {}));
var EnumPathPlatformExtra;
(function(EnumPathPlatformExtra2) {
EnumPathPlatformExtra2["upath"] = "upath";
EnumPathPlatformExtra2["node"] = "node";
})(EnumPathPlatformExtra || (exports2.EnumPathPlatformExtra = EnumPathPlatformExtra = {}));
var EnumPathSep;
(function(EnumPathSep2) {
EnumPathSep2["win32"] = "\\";
EnumPathSep2["posix"] = "/";
EnumPathSep2["backslash"] = "\\";
EnumPathSep2["forwardslash"] = "/";
EnumPathSep2["slash"] = "/";
})(EnumPathSep || (exports2.EnumPathSep = EnumPathSep = {}));
var EnumPathDelimiter;
(function(EnumPathDelimiter2) {
EnumPathDelimiter2["win32"] = ";";
EnumPathDelimiter2["posix"] = ":";
})(EnumPathDelimiter || (exports2.EnumPathDelimiter = EnumPathDelimiter = {}));
exports2.ORIGIN_KEY = /* @__PURE__ */ Symbol.for("_origin");
exports2.rePathSepSlashAll = makeRePathSepSlash();
function makeRePathSepSlash(options = {}) {
let source = options.sep && !options.all ? options.sep === "\\" ? `\\\\` : "/" : "[/\\\\]";
if (options.repeat) {
source = `${source}${options.repeat > 0 ? `{${options.repeat}}` : "+"}`;
}
if (options.match) {
source = `(${source})`;
}
if (options.matchFull) {
source = `^${source}$`;
}
return new RegExp(source, !options.global ? "" : "g");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/type.js
var require_type2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/type.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ORIGIN_KEY = void 0;
var types_path_1 = require_types_path();
Object.defineProperty(exports2, "ORIGIN_KEY", { enumerable: true, get: function() {
return types_path_1.ORIGIN_KEY;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-is-network-drive/1.0.24/a93be0c44cf1b8a62c1899c7e3097d21c9b9143bfe8af63b44b86e388865bd93/node_modules/path-is-network-drive/index.js
var require_path_is_network_drive = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-is-network-drive/1.0.24/a93be0c44cf1b8a62c1899c7e3097d21c9b9143bfe8af63b44b86e388865bd93/node_modules/path-is-network-drive/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.pathIsNetworkDrive = pathIsNetworkDrive;
exports2.matchNetworkDriveRoot = matchNetworkDriveRoot;
exports2.matchNetworkDrive02 = matchNetworkDrive02;
function pathIsNetworkDrive(input) {
return /^\\\\[^/\\]/.test(input);
}
function matchNetworkDriveRoot(input) {
return input.match(/^\\\\([^\\/]+)[\\/]?$/);
}
function matchNetworkDrive02(input) {
return input.match(/^\\\\([^\\/]+)[\\/]([^\\/]+)[\\/]?$/);
}
exports2.default = pathIsNetworkDrive;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-strip-sep/1.0.21/49eea8ad5a5efd3cca1c3fe4f834c18b0c005d5b0dfebebda9f5626e36caaec1/node_modules/path-strip-sep/index.js
var require_path_strip_sep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-strip-sep/1.0.21/49eea8ad5a5efd3cca1c3fe4f834c18b0c005d5b0dfebebda9f5626e36caaec1/node_modules/path-strip-sep/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.pathStripSep = pathStripSep;
function pathStripSep(input) {
return input.replace(/([^/\\:])[/\\]+$/, "$1").replace(/(^[/\\])[/\\]{2,}$/, "$1");
}
exports2.default = pathStripSep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/util.js
var require_util11 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._strip_sep = void 0;
exports2._replace_sep = _replace_sep;
exports2.getStatic = getStatic;
exports2.defaults = defaults4;
var path_is_network_drive_1 = require_path_is_network_drive();
var path_strip_sep_1 = require_path_strip_sep();
Object.defineProperty(exports2, "_strip_sep", { enumerable: true, get: function() {
return path_strip_sep_1.pathStripSep;
} });
function _replace_sep(who, input) {
let sep2 = who.sep;
if (who.name !== "posix" && (0, path_is_network_drive_1.pathIsNetworkDrive)(input)) {
sep2 = "\\";
input = sep2 + sep2 + input.slice(2);
}
input = input.replace(/[/\\]/g, sep2);
return input;
}
function getStatic(who) {
return who.__proto__.constructor;
}
function defaults4(destination, ...input) {
destination = destination || {};
input.forEach((defaults5) => {
for (const key in defaults5) {
if (defaults5.hasOwnProperty(key) && !destination.hasOwnProperty(key)) {
destination[key] = defaults5[key];
}
}
});
return destination;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/fix.js
var require_fix = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/fix.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._fix_special = _fix_special;
function _fix_special(who, path236, returnOldIfNoPreset) {
var _a2;
let m;
if ((_a2 = m = path236 === null || path236 === void 0 ? void 0 : path236.match(/^(\w+:)(?:\.[\/\\]?)?$/)) === null || _a2 === void 0 ? void 0 : _a2.length) {
return m[1] + who.sep;
} else if (returnOldIfNoPreset === true) {
return path236;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/core.js
var require_core4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/core.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fn = exports2.upath = exports2.win32 = exports2.posix = exports2.PathWrap = void 0;
exports2._this_origin = _this_origin;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var path_1 = tslib_12.__importDefault(__require("path"));
var type_1 = require_type2();
var util_1 = require_util11();
var path_is_network_drive_1 = require_path_is_network_drive();
var fix_1 = require_fix();
var PathWrap = class {
/**
* 構造函數
*
* @param {IPath} path 要包裝的路徑庫
* @param {string} id 實例ID('posix'、'win32' 或 'upath')
*/
constructor(path236, id) {
var _a2;
this.sep = "/";
this.node = path_1.default;
let _static = (0, util_1.getStatic)(this);
this.fn = (0, util_1.defaults)(this.__proto__, _static.fn, path236);
this.delimiter = (_a2 = path236.delimiter) !== null && _a2 !== void 0 ? _a2 : _static.fn.delimiter;
[
"join",
"normalize",
"relative",
"resolve",
"parse",
"format",
"basename",
"dirname",
"extname",
"isAbsolute",
"toNamespacedPath"
].forEach((prop3) => {
this[prop3] = this[prop3].bind(this);
});
delete this[id];
Object.defineProperty(this, type_1.ORIGIN_KEY, {
enumerable: false,
value: path236
});
this.fn[id] = this[id] = this;
this.name = id;
}
/**
* 連接多個路徑片段
*
* @template T 第一個路徑類型
* @template U 後續路徑類型
* @param {T} path 第一個路徑
* @param {...U[]} paths 後續路徑
* @returns {string} 連接後的路徑
*/
join(path236, ...paths3) {
path236 = (0, fix_1._fix_special)(this, path236, true);
return (0, util_1._replace_sep)(this, _this_origin(this).join(path236, ...paths3));
}
/**
* 規範化路徑
*
* @template T 路徑類型
* @param {T} path 要規範化的路徑
* @returns {string} 規範化後的路徑
*/
normalize(path236) {
let ret2 = (0, fix_1._fix_special)(this, path236);
if (ret2 === null || ret2 === void 0 ? void 0 : ret2.length) {
return ret2;
}
return (0, util_1._replace_sep)(this, _this_origin(this).normalize(path236));
}
/**
* 計算相對路徑
*
* @template T 源路徑類型
* @template U 目標路徑類型
* @param {T} from 源路徑
* @param {U} to 目標路徑
* @returns {string} 相對路徑
*/
relative(from5, to) {
from5 = (0, fix_1._fix_special)(this, from5, true);
to = (0, fix_1._fix_special)(this, to, true);
return (0, util_1._replace_sep)(this, _this_origin(this).relative(from5.toString(), to.toString()));
}
/**
* 解析路徑
*
* @template T 第一個路徑類型
* @template U 後續路徑類型
* @param {T} path 第一個路徑
* @param {...U[]} paths 後續路徑
* @returns {string} 解析後的路徑
*/
resolve(path236, ...paths3) {
path236 = (0, fix_1._fix_special)(this, path236, true);
return (0, util_1._replace_sep)(this, _this_origin(this).resolve(path236, ...paths3));
}
/**
* 解析路徑物件
*
* @template T 路徑類型
* @param {T} path 要解析的路徑
* @returns {ParsedPath} 解析後的路徑物件
*/
parse(path236) {
path236 = this.normalize(path236);
let ret2 = _this_origin(this).parse(path236);
ret2.root = (0, util_1._replace_sep)(this, ret2.root);
ret2.dir = (0, util_1._replace_sep)(this, ret2.dir);
return ret2;
}
/**
* 格式化路徑物件
*
* @template T 路徑物件類型
* @param {T} pathObject 要格式化的路徑物件
* @returns {string} 格式化後的路徑
*/
format(pathObject) {
return (0, util_1._replace_sep)(this, _this_origin(this).format(pathObject));
}
// ---------
/**
* 獲取路徑的最後一個部分
*
* @template T 路徑類型
* @template U 擴展名類型
* @param {T} path 路徑
* @param {U} [ext] 要移除的擴展名
* @returns {string} 最後一部分
*/
basename(path236, ext) {
return _this_origin(this).basename(path236, ext);
}
/**
* 獲取路徑的目錄部分
*
* @template T 路徑類型
* @param {T} path 路徑
* @returns {string} 目錄部分
*/
dirname(path236) {
let r;
if (false) {
if ((0, path_is_network_drive_1.matchNetworkDriveRoot)(path236)) {
r = path236;
} else {
let m = (0, path_is_network_drive_1.matchNetworkDrive02)(path236);
if (m === null || m === void 0 ? void 0 : m.length) {
return `\\\\${m[1]}`;
}
r = _this_origin(this).dirname(path236);
}
} else {
r = _this_origin(this).dirname(path236);
}
if (r.length > 1 && !/^\w:[/\\]$/.test(r)) {
r = (0, util_1._strip_sep)(r);
}
return (0, util_1._replace_sep)(this, r);
}
/**
* 獲取路徑的擴展名
*
* @template T 路徑類型
* @param {T} path 路徑
* @returns {string} 擴展名
*/
extname(path236) {
return _this_origin(this).extname(path236);
}
/**
* 檢查路徑是否為絕對路徑
*
* @template T 路徑類型
* @param {T} path 路徑
* @returns {boolean} 是否為絕對路徑
*/
isAbsolute(path236) {
return _this_origin(this).isAbsolute(path236);
}
/**
* 轉換為命名空間路徑
*
* @param {string} path 路徑
* @returns {string} 命名空間路徑
*/
toNamespacedPath(path236) {
return _this_origin(this).toNamespacedPath(path236);
}
};
exports2.PathWrap = PathWrap;
(function(PathWrap2) {
let __proto__ = {};
for (let i4 in Object.getOwnPropertyDescriptors(PathWrap2.prototype)) {
__proto__[i4] = PathWrap2.prototype[i4];
}
PathWrap2.fn = __proto__;
delete PathWrap2.fn.name;
PathWrap2.fn["fn"] = PathWrap2.fn;
PathWrap2.fn.sep = "/";
PathWrap2.prototype.fn = PathWrap2.fn;
})(PathWrap || (exports2.PathWrap = PathWrap = {}));
exports2.posix = new PathWrap(path_1.default.posix, "posix");
exports2.win32 = new PathWrap(path_1.default.win32, "win32");
var _upath = new PathWrap(path_1.default, "upath");
exports2.upath = _upath;
exports2.upath.PathWrap = PathWrap;
exports2.fn = PathWrap.fn = exports2.upath.fn;
path_1.default.upath = exports2.upath;
for (const [key, lib] of [
["win32", exports2.win32],
["posix", exports2.posix],
["upath", exports2.upath],
["default", exports2.upath],
["node", path_1.default]
]) {
delete exports2.win32.fn[key];
delete exports2.posix.fn[key];
delete exports2.upath.fn[key];
delete exports2.win32[key];
delete exports2.posix[key];
delete exports2.upath[key];
exports2.win32[key] = exports2.posix[key] = exports2.upath[key] = lib;
}
Object.defineProperty(exports2.upath, "__esModule", { value: true });
exports2.default = exports2.upath;
function _this_origin(who) {
if (who[type_1.ORIGIN_KEY]) {
return who[type_1.ORIGIN_KEY];
} else if (who === exports2.upath) {
return path_1.default;
} else if (who === exports2.win32) {
return path_1.default.win32;
} else if (who === exports2.posix) {
return path_1.default.posix;
}
throw new TypeError(`this not PathWrap`);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/fs.js
var require_fs6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/lib/fs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.vaildNameEntry = vaildNameEntry;
exports2.filterNameEntry = filterNameEntry;
var core_1 = require_core4();
var r_vaild = /[\\\?\/\!'"\:\<\>\*\|]+/g;
function vaildNameEntry(name) {
return r_vaild.test(name.toString()) ? void 0 : name;
}
function filterNameEntry(name) {
return name.toString().replace(r_vaild, "");
}
core_1.fn.vaildNameEntry = vaildNameEntry;
core_1.fn.filterNameEntry = filterNameEntry;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/index.js
var require_upath2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/upath2/3.1.23/d78683e1e704e2cad269ade12950ee543845eb4b58f4c5df63cdc2f69cc6846c/node_modules/upath2/index.js"(exports2, module2) {
"use strict";
var core_1 = require_core4();
require_fs6();
module2.exports = core_1.upath;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yocto-queue/0.1.0/4c43f079397c00ac34489fcc138889c92b389bfbfd9885817a164db2f94bca55/node_modules/yocto-queue/index.js
var require_yocto_queue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yocto-queue/0.1.0/4c43f079397c00ac34489fcc138889c92b389bfbfd9885817a164db2f94bca55/node_modules/yocto-queue/index.js"(exports2, module2) {
var Node2 = class {
/// value;
/// next;
constructor(value) {
this.value = value;
this.next = void 0;
}
};
var Queue3 = class {
// TODO: Use private class fields when targeting Node.js 12.
// #_head;
// #_tail;
// #_size;
constructor() {
this.clear();
}
enqueue(value) {
const node = new Node2(value);
if (this._head) {
this._tail.next = node;
this._tail = node;
} else {
this._head = node;
this._tail = node;
}
this._size++;
}
dequeue() {
const current = this._head;
if (!current) {
return;
}
this._head = this._head.next;
this._size--;
return current.value;
}
clear() {
this._head = void 0;
this._tail = void 0;
this._size = 0;
}
get size() {
return this._size;
}
*[Symbol.iterator]() {
let current = this._head;
while (current) {
yield current.value;
current = current.next;
}
}
};
module2.exports = Queue3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/3.1.0/fa96fc3e665099292f8a1d3459fe28356450e99b29f7900cedee53902679fc6b/node_modules/p-limit/index.js
var require_p_limit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/3.1.0/fa96fc3e665099292f8a1d3459fe28356450e99b29f7900cedee53902679fc6b/node_modules/p-limit/index.js"(exports2, module2) {
"use strict";
var Queue3 = require_yocto_queue();
var pLimit2 = (concurrency) => {
if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
}
const queue2 = new Queue3();
let activeCount = 0;
const next2 = () => {
activeCount--;
if (queue2.size > 0) {
queue2.dequeue()();
}
};
const run2 = async (fn, resolve4, ...args) => {
activeCount++;
const result2 = (async () => fn(...args))();
resolve4(result2);
try {
await result2;
} catch {
}
next2();
};
const enqueue = (fn, resolve4, ...args) => {
queue2.enqueue(run2.bind(null, fn, resolve4, ...args));
(async () => {
await Promise.resolve();
if (activeCount < concurrency && queue2.size > 0) {
queue2.dequeue()();
}
})();
};
const generator = (fn, ...args) => new Promise((resolve4) => {
enqueue(fn, resolve4, ...args);
});
Object.defineProperties(generator, {
activeCount: {
get: () => activeCount
},
pendingCount: {
get: () => queue2.size
},
clearQueue: {
value: () => {
queue2.clear();
}
}
});
return generator;
};
module2.exports = pLimit2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-locate/5.0.0/08fc2f1ccece64042b1517dfe3d1518af686d92175d00f96598ee32913c9a3d3/node_modules/p-locate/index.js
var require_p_locate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-locate/5.0.0/08fc2f1ccece64042b1517dfe3d1518af686d92175d00f96598ee32913c9a3d3/node_modules/p-locate/index.js"(exports2, module2) {
"use strict";
var pLimit2 = require_p_limit();
var EndError = class extends Error {
constructor(value) {
super();
this.value = value;
}
};
var testElement = async (element, tester) => tester(await element);
var finder = async (element) => {
const values = await Promise.all(element);
if (values[1] === true) {
throw new EndError(values[0]);
}
return false;
};
var pLocate = async (iterable, tester, options) => {
options = {
concurrency: Infinity,
preserveOrder: true,
...options
};
const limit = pLimit2(options.concurrency);
const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]);
const checkLimit = pLimit2(options.preserveOrder ? 1 : Infinity);
try {
await Promise.all(items.map((element) => checkLimit(finder, element)));
} catch (error) {
if (error instanceof EndError) {
return error.value;
}
throw error;
}
};
module2.exports = pLocate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/locate-path/6.0.0/cfe3170135e7e8af5471ebdc6c4ca55d1bffa9650758890ca82965755749c031/node_modules/locate-path/index.js
var require_locate_path = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/locate-path/6.0.0/cfe3170135e7e8af5471ebdc6c4ca55d1bffa9650758890ca82965755749c031/node_modules/locate-path/index.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var fs126 = __require("fs");
var { promisify: promisify15 } = __require("util");
var pLocate = require_p_locate();
var fsStat = promisify15(fs126.stat);
var fsLStat = promisify15(fs126.lstat);
var typeMappings = {
directory: "isDirectory",
file: "isFile"
};
function checkType({ type: type4 }) {
if (type4 in typeMappings) {
return;
}
throw new Error(`Invalid type specified: ${type4}`);
}
var matchType = (type4, stat2) => type4 === void 0 || stat2[typeMappings[type4]]();
module2.exports = async (paths3, options) => {
options = {
cwd: process.cwd(),
type: "file",
allowSymlinks: true,
...options
};
checkType(options);
const statFn = options.allowSymlinks ? fsStat : fsLStat;
return pLocate(paths3, async (path_) => {
try {
const stat2 = await statFn(path236.resolve(options.cwd, path_));
return matchType(options.type, stat2);
} catch {
return false;
}
}, options);
};
module2.exports.sync = (paths3, options) => {
options = {
cwd: process.cwd(),
allowSymlinks: true,
type: "file",
...options
};
checkType(options);
const statFn = options.allowSymlinks ? fs126.statSync : fs126.lstatSync;
for (const path_ of paths3) {
try {
const stat2 = statFn(path236.resolve(options.cwd, path_));
if (matchType(options.type, stat2)) {
return path_;
}
} catch {
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-exists/4.0.0/cac00b7570ea3af629ef9cea69fd59c8ad3d1562ec41ab0cf0ad193e511f229c/node_modules/path-exists/index.js
var require_path_exists2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-exists/4.0.0/cac00b7570ea3af629ef9cea69fd59c8ad3d1562ec41ab0cf0ad193e511f229c/node_modules/path-exists/index.js"(exports2, module2) {
"use strict";
var fs126 = __require("fs");
var { promisify: promisify15 } = __require("util");
var pAccess = promisify15(fs126.access);
module2.exports = async (path236) => {
try {
await pAccess(path236);
return true;
} catch (_) {
return false;
}
};
module2.exports.sync = (path236) => {
try {
fs126.accessSync(path236);
return true;
} catch (_) {
return false;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-up/5.0.0/a6ffdd9962f1028194cab99ad8a1fad1c7ec80787c1db8993b79dd275223c7a0/node_modules/find-up/index.js
var require_find_up = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-up/5.0.0/a6ffdd9962f1028194cab99ad8a1fad1c7ec80787c1db8993b79dd275223c7a0/node_modules/find-up/index.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var locatePath = require_locate_path();
var pathExists3 = require_path_exists2();
var stop = /* @__PURE__ */ Symbol("findUp.stop");
module2.exports = async (name, options = {}) => {
let directory = path236.resolve(options.cwd || "");
const { root } = path236.parse(directory);
const paths3 = [].concat(name);
const runMatcher = async (locateOptions) => {
if (typeof name !== "function") {
return locatePath(paths3, locateOptions);
}
const foundPath = await name(locateOptions.cwd);
if (typeof foundPath === "string") {
return locatePath([foundPath], locateOptions);
}
return foundPath;
};
while (true) {
const foundPath = await runMatcher({ ...options, cwd: directory });
if (foundPath === stop) {
return;
}
if (foundPath) {
return path236.resolve(directory, foundPath);
}
if (directory === root) {
return;
}
directory = path236.dirname(directory);
}
};
module2.exports.sync = (name, options = {}) => {
let directory = path236.resolve(options.cwd || "");
const { root } = path236.parse(directory);
const paths3 = [].concat(name);
const runMatcher = (locateOptions) => {
if (typeof name !== "function") {
return locatePath.sync(paths3, locateOptions);
}
const foundPath = name(locateOptions.cwd);
if (typeof foundPath === "string") {
return locatePath.sync([foundPath], locateOptions);
}
return foundPath;
};
while (true) {
const foundPath = runMatcher({ ...options, cwd: directory });
if (foundPath === stop) {
return;
}
if (foundPath) {
return path236.resolve(directory, foundPath);
}
if (directory === root) {
return;
}
directory = path236.dirname(directory);
}
};
module2.exports.exists = pathExists3;
module2.exports.sync.exists = pathExists3.sync;
module2.exports.stop = stop;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pkg-dir/5.0.0/200336ca495d7cdcd39e85a5e9da0aedfb76c3467a5a3ddf94a77243abb27903/node_modules/pkg-dir/index.js
var require_pkg_dir = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pkg-dir/5.0.0/200336ca495d7cdcd39e85a5e9da0aedfb76c3467a5a3ddf94a77243abb27903/node_modules/pkg-dir/index.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var findUp2 = require_find_up();
var pkgDir = async (cwd) => {
const filePath = await findUp2("package.json", { cwd });
return filePath && path236.dirname(filePath);
};
module2.exports = pkgDir;
module2.exports.sync = (cwd) => {
const filePath = findUp2.sync("package.json", { cwd });
return filePath && path236.dirname(filePath);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-yarn-workspace-root2/1.2.53/021c7486c74bd46f7cd047ed4d2127f330b4c69168e6dd02b7c5f058f1653fec/node_modules/find-yarn-workspace-root2/core.js
var require_core5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-yarn-workspace-root2/1.2.53/021c7486c74bd46f7cd047ed4d2127f330b4c69168e6dd02b7c5f058f1653fec/node_modules/find-yarn-workspace-root2/core.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.findWorkspaceRoot = findWorkspaceRoot;
exports2.checkWorkspaces = checkWorkspaces;
exports2.isMatchWorkspaces = isMatchWorkspaces;
exports2.extractWorkspaces = extractWorkspaces;
exports2.readPackageJSON = readPackageJSON;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var upath2_1 = require_upath2();
var pkg_dir_1 = tslib_12.__importDefault(require_pkg_dir());
var fs_1 = __require("fs");
var micromatch_12 = tslib_12.__importDefault(require_micromatch());
function findWorkspaceRoot(initial) {
if (!initial) {
initial = process.cwd();
}
let _pkg = pkg_dir_1.default.sync(initial);
if (!_pkg) {
return null;
}
initial = (0, upath2_1.normalize)(_pkg);
let previous = null;
let current = initial;
do {
const manifest = readPackageJSON(current);
const workspaces = extractWorkspaces(manifest);
let { done, found } = checkWorkspaces(current, initial);
if (done) {
return found;
}
previous = current;
current = (0, upath2_1.dirname)(current);
} while (current !== previous);
return null;
}
function checkWorkspaces(current, initial) {
const manifest = readPackageJSON(current);
const workspaces = extractWorkspaces(manifest);
let done = false;
let found;
let relativePath2;
if (workspaces) {
done = true;
relativePath2 = (0, upath2_1.relative)(current, initial);
if (relativePath2 === "" || isMatchWorkspaces(relativePath2, workspaces)) {
found = current;
} else {
found = null;
}
}
return {
done,
found,
relativePath: relativePath2
};
}
function isMatchWorkspaces(relativePath2, workspaces) {
let ls = (0, micromatch_12.default)([relativePath2], workspaces);
return ls.length > 0;
}
function extractWorkspaces(manifest) {
const workspaces = (manifest || {}).workspaces;
return workspaces && workspaces.packages || (Array.isArray(workspaces) ? workspaces : null);
}
function readPackageJSON(dir) {
const file = (0, upath2_1.join)(dir, "package.json");
if ((0, fs_1.existsSync)(file)) {
return JSON.parse((0, fs_1.readFileSync)(file, "utf8"));
}
return null;
}
findWorkspaceRoot.findWorkspaceRoot = findWorkspaceRoot;
findWorkspaceRoot.readPackageJSON = readPackageJSON;
findWorkspaceRoot.extractWorkspaces = extractWorkspaces;
findWorkspaceRoot.isMatchWorkspaces = isMatchWorkspaces;
findWorkspaceRoot.default = findWorkspaceRoot;
exports2.default = findWorkspaceRoot;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-yarn-workspace-root2/1.2.53/021c7486c74bd46f7cd047ed4d2127f330b4c69168e6dd02b7c5f058f1653fec/node_modules/find-yarn-workspace-root2/index.js
var require_find_yarn_workspace_root2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-yarn-workspace-root2/1.2.53/021c7486c74bd46f7cd047ed4d2127f330b4c69168e6dd02b7c5f058f1653fec/node_modules/find-yarn-workspace-root2/index.js"(exports2, module2) {
"use strict";
var core_1 = require_core5();
module2.exports = core_1.findWorkspaceRoot;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/load-yaml-file/1.0.0/cb2737c0b3c43387fe3c9844350abfb5a1b98563755e03cc1a066161cbcfebdd/node_modules/load-yaml-file/index.js
function parse6(data) {
return jsYaml.load(stripBom(data));
}
async function loadYamlFile(path236) {
return parse6(await import_graceful_fs4.default.promises.readFile(path236, "utf8"));
}
var import_graceful_fs4;
var init_load_yaml_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/load-yaml-file/1.0.0/cb2737c0b3c43387fe3c9844350abfb5a1b98563755e03cc1a066161cbcfebdd/node_modules/load-yaml-file/index.js"() {
import_graceful_fs4 = __toESM(require_graceful_fs(), 1);
init_strip_bom();
init_js_yaml();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which-pm/4.0.0/27c3056bd68cd1568a134c7a4e55c24c1c93d5dc1273197b8d3589477d9a60d5/node_modules/which-pm/index.js
import path40 from "node:path";
import fs26 from "node:fs";
async function whichPM(pkgPath) {
const modulesPath = path40.join(pkgPath, "node_modules");
const exists = fs26.existsSync(path40.join(modulesPath, ".yarn-integrity"));
if (exists) return { name: "yarn" };
try {
const modules = await loadYamlFile(path40.join(modulesPath, ".modules.yaml"));
return toNameAndVersion(modules.packageManager);
} catch (err2) {
if (err2.code !== "ENOENT") throw err2;
}
if (fs26.existsSync(path40.join(pkgPath, "bun.lockb"))) return { name: "bun" };
const modulesExists = fs26.existsSync(modulesPath);
return modulesExists ? { name: "npm" } : null;
}
function toNameAndVersion(pkgSpec) {
if (pkgSpec[0] === "@") {
const woPrefix = pkgSpec.substr(1);
const parts2 = woPrefix.split("@");
return {
name: `@${parts2[0]}`,
version: parts2[1]
};
}
const parts = pkgSpec.split("@");
return {
name: parts[0],
version: parts[1]
};
}
var init_which_pm = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/which-pm/4.0.0/27c3056bd68cd1568a134c7a4e55c24c1c93d5dc1273197b8d3589477d9a60d5/node_modules/which-pm/index.js"() {
init_load_yaml_file();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-up-simple/1.0.1/62bcb40e509bff1d2c668288360dd2a2aac56ce918e0afa2fe7de56a6d707c7c/node_modules/find-up-simple/index.js
var find_up_simple_exports = {};
__export(find_up_simple_exports, {
findUp: () => findUp,
findUpSync: () => findUpSync
});
import process18 from "node:process";
import fsPromises2 from "node:fs/promises";
import { fileURLToPath as fileURLToPath6 } from "node:url";
import fs27 from "node:fs";
import path41 from "node:path";
async function findUp(name, {
cwd = process18.cwd(),
type: type4 = "file",
stopAt
} = {}) {
let directory = path41.resolve(toPath2(cwd) ?? "");
const { root } = path41.parse(directory);
stopAt = path41.resolve(directory, toPath2(stopAt ?? root));
const isAbsoluteName = path41.isAbsolute(name);
while (directory) {
const filePath = isAbsoluteName ? name : path41.join(directory, name);
try {
const stats = await fsPromises2.stat(filePath);
if (type4 === "file" && stats.isFile() || type4 === "directory" && stats.isDirectory()) {
return filePath;
}
} catch {
}
if (directory === stopAt || directory === root) {
break;
}
directory = path41.dirname(directory);
}
}
function findUpSync(name, {
cwd = process18.cwd(),
type: type4 = "file",
stopAt
} = {}) {
let directory = path41.resolve(toPath2(cwd) ?? "");
const { root } = path41.parse(directory);
stopAt = path41.resolve(directory, toPath2(stopAt) ?? root);
const isAbsoluteName = path41.isAbsolute(name);
while (directory) {
const filePath = isAbsoluteName ? name : path41.join(directory, name);
try {
const stats = fs27.statSync(filePath, { throwIfNoEntry: false });
if (type4 === "file" && stats?.isFile() || type4 === "directory" && stats?.isDirectory()) {
return filePath;
}
} catch {
}
if (directory === stopAt || directory === root) {
break;
}
directory = path41.dirname(directory);
}
}
var toPath2;
var init_find_up_simple = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/find-up-simple/1.0.1/62bcb40e509bff1d2c668288360dd2a2aac56ce918e0afa2fe7de56a6d707c7c/node_modules/find-up-simple/index.js"() {
toPath2 = (urlOrPath) => urlOrPath instanceof URL ? fileURLToPath6(urlOrPath) : urlOrPath;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/preferred-pm/5.0.0/7e961bacabf083b1a87c8bc37019796643a53087beb3222507aa5aec4291c236/node_modules/preferred-pm/index.js
import fs28 from "node:fs";
import path42 from "node:path";
async function preferredPM(pkgPath) {
if (typeof pkgPath !== "string") {
throw new TypeError(`pkgPath should be a string, got ${typeof pkgPath}`);
}
if (fs28.existsSync(path42.join(pkgPath, "package-lock.json"))) {
return {
name: "npm",
version: ">=5"
};
}
if (fs28.existsSync(path42.join(pkgPath, "yarn.lock"))) {
return {
name: "yarn",
version: "*"
};
}
if (fs28.existsSync(path42.join(pkgPath, "pnpm-lock.yaml"))) {
return {
name: "pnpm",
version: ">=3"
};
}
if (fs28.existsSync(path42.join(pkgPath, "shrinkwrap.yaml"))) {
return {
name: "pnpm",
version: "1 || 2"
};
}
if (fs28.existsSync(path42.join(pkgPath, "bun.lockb")) || fs28.existsSync(path42.join(pkgPath, "bun.lock"))) {
return {
name: "bun",
version: "*"
};
}
const { findUp: findUp2 } = await Promise.resolve().then(() => (init_find_up_simple(), find_up_simple_exports));
if (await findUp2("pnpm-lock.yaml", { cwd: pkgPath })) {
return {
name: "pnpm",
version: ">=3"
};
}
try {
const workspaceRoot = (0, import_find_yarn_workspace_root2.default)(pkgPath);
if (typeof workspaceRoot === "string") {
if (fs28.existsSync(path42.join(workspaceRoot, "package-lock.json"))) {
return {
name: "npm",
version: ">=7"
};
}
return {
name: "yarn",
version: "*"
};
}
} catch (err2) {
}
const pm2 = await whichPM(pkgPath);
return pm2 && { name: pm2.name, version: pm2.version || "*" };
}
var import_find_yarn_workspace_root2;
var init_preferred_pm = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/preferred-pm/5.0.0/7e961bacabf083b1a87c8bc37019796643a53087beb3222507aa5aec4291c236/node_modules/preferred-pm/index.js"() {
import_find_yarn_workspace_root2 = __toESM(require_find_yarn_workspace_root2(), 1);
init_which_pm();
}
});
// ../exec/prepare-package/lib/index.js
import assert3 from "node:assert";
import fs29 from "node:fs";
import path43 from "node:path";
import util13 from "node:util";
async function preparePackage(opts3, gitRootDir, subDir) {
const pkgDir = safeJoinPath(gitRootDir, subDir);
const manifest = await safeReadPackageJsonFromDir(pkgDir);
if (manifest?.scripts == null || !packageShouldBeBuilt(manifest, pkgDir))
return { shouldBeBuilt: false, pkgDir };
if (opts3.ignoreScripts)
return { shouldBeBuilt: true, pkgDir };
const depPath = `${manifest.name}@${opts3.pkgResolutionId}`;
if (!opts3.allowBuild?.(depPath)) {
throw new PnpmError("GIT_DEP_PREPARE_NOT_ALLOWED", `The git-hosted package "${manifest.name}@${manifest.version}" needs to execute build scripts but is not in the "allowBuilds" allowlist.`, {
hint: `Add the package to "allowBuilds" in your project's pnpm-workspace.yaml to allow it to run scripts. For example:
allowBuilds:
${depPath}: true`
});
}
const pm2 = (await preferredPM(gitRootDir))?.name ?? "npm";
const execOpts = {
depPath: `${manifest.name}@${manifest.version}`,
pkgRoot: pkgDir,
rootModulesDir: pkgDir,
// We don't need this property but there is currently no way to not set it.
unsafePerm: Boolean(opts3.unsafePerm),
userAgent: opts3.userAgent
};
try {
const installScriptName = `${pm2}-install`;
manifest.scripts[installScriptName] = `${pm2} install`;
await runLifecycleHook(installScriptName, manifest, execOpts);
for (const scriptName of PREPUBLISH_SCRIPTS) {
if (manifest.scripts[scriptName] == null || manifest.scripts[scriptName] === "")
continue;
let newScriptName;
if (pm2 !== "pnpm") {
newScriptName = `${pm2}-run-${scriptName}`;
manifest.scripts[newScriptName] = `${pm2} run ${scriptName}`;
} else {
newScriptName = scriptName;
}
await runLifecycleHook(newScriptName, manifest, execOpts);
}
} catch (err2) {
assert3(util13.types.isNativeError(err2));
Object.assign(err2, {
code: "ERR_PNPM_PREPARE_PACKAGE"
});
throw err2;
}
await rimraf(path43.join(pkgDir, "node_modules"));
return { shouldBeBuilt: true, pkgDir };
}
function packageShouldBeBuilt(manifest, pkgDir) {
if (manifest.scripts == null)
return false;
const scripts = manifest.scripts;
if (scripts.prepare != null && scripts.prepare !== "")
return true;
const hasPrepublishScript = PREPUBLISH_SCRIPTS.some((scriptName) => scripts[scriptName] != null && scripts[scriptName] !== "");
if (!hasPrepublishScript)
return false;
const mainFile = manifest.main ?? "index.js";
return !fs29.existsSync(path43.join(pkgDir, mainFile));
}
function safeJoinPath(root, sub) {
const joined = path43.join(root, sub);
const relative2 = path43.relative(root, joined);
if (relative2.startsWith("..")) {
throw new PnpmError("INVALID_PATH", `Path "${sub}" should be a sub directory`);
}
if (!fs29.existsSync(joined) || !fs29.lstatSync(joined).isDirectory()) {
throw new PnpmError("INVALID_PATH", `Path "${sub}" is not a directory`);
}
return joined;
}
var PREPUBLISH_SCRIPTS;
var init_lib48 = __esm({
"../exec/prepare-package/lib/index.js"() {
"use strict";
init_lib2();
init_lib21();
init_lib5();
init_rimraf();
init_preferred_pm();
PREPUBLISH_SCRIPTS = [
"prepublish",
"prepack",
"publish"
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/lib/retry_operation.js
var require_retry_operation2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/lib/retry_operation.js"(exports2, module2) {
function RetryOperation(timeouts, options) {
if (typeof options === "boolean") {
options = { forever: options };
}
this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
this._timeouts = timeouts;
this._options = options || {};
this._maxRetryTime = options && options.maxRetryTime || Infinity;
this._fn = null;
this._errors = [];
this._attempts = 1;
this._operationTimeout = null;
this._operationTimeoutCb = null;
this._timeout = null;
this._operationStart = null;
this._timer = null;
if (this._options.forever) {
this._cachedTimeouts = this._timeouts.slice(0);
}
}
module2.exports = RetryOperation;
RetryOperation.prototype.reset = function() {
this._attempts = 1;
this._timeouts = this._originalTimeouts.slice(0);
};
RetryOperation.prototype.stop = function() {
if (this._timeout) {
clearTimeout(this._timeout);
}
if (this._timer) {
clearTimeout(this._timer);
}
this._timeouts = [];
this._cachedTimeouts = null;
};
RetryOperation.prototype.retry = function(err2) {
if (this._timeout) {
clearTimeout(this._timeout);
}
if (!err2) {
return false;
}
var currentTime = (/* @__PURE__ */ new Date()).getTime();
if (err2 && currentTime - this._operationStart >= this._maxRetryTime) {
this._errors.push(err2);
this._errors.unshift(new Error("RetryOperation timeout occurred"));
return false;
}
this._errors.push(err2);
var timeout = this._timeouts.shift();
if (timeout === void 0) {
if (this._cachedTimeouts) {
this._errors.splice(0, this._errors.length - 1);
timeout = this._cachedTimeouts.slice(-1);
} else {
return false;
}
}
var self2 = this;
this._timer = setTimeout(function() {
self2._attempts++;
if (self2._operationTimeoutCb) {
self2._timeout = setTimeout(function() {
self2._operationTimeoutCb(self2._attempts);
}, self2._operationTimeout);
if (self2._options.unref) {
self2._timeout.unref();
}
}
self2._fn(self2._attempts);
}, timeout);
if (this._options.unref) {
this._timer.unref();
}
return true;
};
RetryOperation.prototype.attempt = function(fn, timeoutOps) {
this._fn = fn;
if (timeoutOps) {
if (timeoutOps.timeout) {
this._operationTimeout = timeoutOps.timeout;
}
if (timeoutOps.cb) {
this._operationTimeoutCb = timeoutOps.cb;
}
}
var self2 = this;
if (this._operationTimeoutCb) {
this._timeout = setTimeout(function() {
self2._operationTimeoutCb();
}, self2._operationTimeout);
}
this._operationStart = (/* @__PURE__ */ new Date()).getTime();
this._fn(this._attempts);
};
RetryOperation.prototype.try = function(fn) {
console.log("Using RetryOperation.try() is deprecated");
this.attempt(fn);
};
RetryOperation.prototype.start = function(fn) {
console.log("Using RetryOperation.start() is deprecated");
this.attempt(fn);
};
RetryOperation.prototype.start = RetryOperation.prototype.try;
RetryOperation.prototype.errors = function() {
return this._errors;
};
RetryOperation.prototype.attempts = function() {
return this._attempts;
};
RetryOperation.prototype.mainError = function() {
if (this._errors.length === 0) {
return null;
}
var counts = {};
var mainError = null;
var mainErrorCount = 0;
for (var i4 = 0; i4 < this._errors.length; i4++) {
var error = this._errors[i4];
var message = error.message;
var count2 = (counts[message] || 0) + 1;
counts[message] = count2;
if (count2 >= mainErrorCount) {
mainError = error;
mainErrorCount = count2;
}
}
return mainError;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/lib/retry.js
var require_retry3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/lib/retry.js"(exports2) {
var RetryOperation = require_retry_operation2();
exports2.operation = function(options) {
var timeouts = exports2.timeouts(options);
return new RetryOperation(timeouts, {
forever: options && (options.forever || options.retries === Infinity),
unref: options && options.unref,
maxRetryTime: options && options.maxRetryTime
});
};
exports2.timeouts = function(options) {
if (options instanceof Array) {
return [].concat(options);
}
var opts3 = {
retries: 10,
factor: 2,
minTimeout: 1 * 1e3,
maxTimeout: Infinity,
randomize: false
};
for (var key in options) {
opts3[key] = options[key];
}
if (opts3.minTimeout > opts3.maxTimeout) {
throw new Error("minTimeout is greater than maxTimeout");
}
var timeouts = [];
for (var i4 = 0; i4 < opts3.retries; i4++) {
timeouts.push(this.createTimeout(i4, opts3));
}
if (options && options.forever && !timeouts.length) {
timeouts.push(this.createTimeout(i4, opts3));
}
timeouts.sort(function(a2, b) {
return a2 - b;
});
return timeouts;
};
exports2.createTimeout = function(attempt, opts3) {
var random2 = opts3.randomize ? Math.random() + 1 : 1;
var timeout = Math.round(random2 * Math.max(opts3.minTimeout, 1) * Math.pow(opts3.factor, attempt));
timeout = Math.min(timeout, opts3.maxTimeout);
return timeout;
};
exports2.wrap = function(obj, options, methods) {
if (options instanceof Array) {
methods = options;
options = null;
}
if (!methods) {
methods = [];
for (var key in obj) {
if (typeof obj[key] === "function") {
methods.push(key);
}
}
}
for (var i4 = 0; i4 < methods.length; i4++) {
var method2 = methods[i4];
var original = obj[method2];
obj[method2] = function retryWrapper(original2) {
var op = exports2.operation(options);
var args = Array.prototype.slice.call(arguments, 1);
var callback2 = args.pop();
args.push(function(err2) {
if (op.retry(err2)) {
return;
}
if (err2) {
arguments[0] = op.mainError();
}
callback2.apply(this, arguments);
});
op.attempt(function() {
original2.apply(obj, args);
});
}.bind(obj, original);
obj[method2].options = options;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/index.js
var require_retry4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/retry/0.13.1/da3887dc7922b11021a709669c43b300202cf471fcfdc381dd497790db4447da/node_modules/retry/index.js"(exports2, module2) {
module2.exports = require_retry3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-git/5.0.0/f6f2f83b1f0ef700ac9ec8e32452f4993a699dc73f5045d91e9e926157d57359/node_modules/graceful-git/index.js
async function gracefulGit(args, opts3) {
opts3 = opts3 || {};
const operation5 = import_retry2.default.operation(Object.assign({}, RETRY_OPTIONS, opts3));
return new Promise((resolve4, reject3) => {
operation5.attempt((currentAttempt) => {
noRetry(args, opts3).then(resolve4).catch((err2) => {
if (operation5.retry(err2)) {
return;
}
reject3(operation5.mainError());
});
});
});
}
async function noRetry(args, opts3) {
opts3 = opts3 || {};
return safeExeca("git", args, { cwd: opts3.cwd || process.cwd() });
}
var import_retry2, RETRY_OPTIONS;
var init_graceful_git = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graceful-git/5.0.0/f6f2f83b1f0ef700ac9ec8e32452f4993a699dc73f5045d91e9e926157d57359/node_modules/graceful-git/index.js"() {
init_lib25();
import_retry2 = __toESM(require_retry4(), 1);
RETRY_OPTIONS = {
retries: 3,
minTimeout: 1 * 1e3,
maxTimeout: 10 * 1e3,
randomize: true
};
}
});
// ../resolving/git-resolver/lib/createGitHostedPkgId.js
function createGitHostedPkgId({ repo, commit, path: path236 }) {
const normalizedRepo = normalizeGitRepoForPkgResolutionId(repo);
let id = `${normalizedRepo.includes("://") ? "" : "https://"}${normalizedRepo}#${commit}`;
if (!id.startsWith("git+"))
id = `git+${id}`;
if (path236) {
id += `&path:${path236}`;
}
return id;
}
function normalizeGitRepoForPkgResolutionId(repo) {
if (repo.includes("://"))
return repo;
const scp = /^([^@\s]+@[^:\s]+):(.+)$/.exec(repo);
return scp == null ? repo : `ssh://${scp[1]}/${scp[2]}`;
}
var init_createGitHostedPkgId = __esm({
"../resolving/git-resolver/lib/createGitHostedPkgId.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/git-host-info.js
var require_git_host_info2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/git-host-info.js"(exports2, module2) {
"use strict";
var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
var defaults4 = {
sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
browsefiletemplate: ({ domain, user, project, committish, treepath, path: path236, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path236}${maybeJoin("#", hashformat(fragment || ""))}`,
docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ domain, user, project, committish, path: path236 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path236}`,
shortcuttemplate: ({ type: type4, user, project, committish }) => `${type4}:${user}/${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
hashformat: formatHashFragment
};
var gitHosts = {};
gitHosts.github = Object.assign({}, defaults4, {
// First two are insecure and generally shouldn't be used any more, but
// they are still supported.
protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "github.com",
treepath: "tree",
filetemplate: ({ auth, user, project, committish, path: path236 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path236}`,
gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
extract: (url7) => {
let [, user, project, type4, committish] = url7.pathname.split("/", 5);
if (type4 && type4 !== "tree") {
return;
}
if (!type4) {
committish = url7.hash.slice(1);
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish };
}
});
gitHosts.bitbucket = Object.assign({}, defaults4, {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "bitbucket.org",
treepath: "src",
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (["get"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
});
gitHosts.gitlab = Object.assign({}, defaults4, {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gitlab.com",
treepath: "tree",
httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/api/v4/projects/${user}%2F${project}/repository/archive.tar.gz?sha=${maybeEncode(committish) || "master"}`,
extract: (url7) => {
const path236 = url7.pathname.slice(1);
if (path236.includes("/-/") || path236.includes("/archive.tar.gz")) {
return;
}
const segments = path236.split("/");
let project = segments.pop();
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
const user = segments.join("/");
if (!user || !project) {
return;
}
return { user, project, committish: url7.hash.slice(1) };
}
});
gitHosts.gist = Object.assign({}, defaults4, {
protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gist.github.com",
sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
browsefiletemplate: ({ domain, project, committish, path: path236, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path236))}`,
docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ user, project, committish, path: path236 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path236}`,
shortcuttemplate: ({ type: type4, project, committish }) => `${type4}:${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
extract: (url7) => {
let [, user, project, aux] = url7.pathname.split("/", 4);
if (aux === "raw") {
return;
}
if (!project) {
if (!user) {
return;
}
project = user;
user = null;
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
return { user, project, committish: url7.hash.slice(1) };
},
hashformat: function(fragment) {
return fragment && "file-" + formatHashFragment(fragment);
}
});
var names = Object.keys(gitHosts);
gitHosts.byShortcut = {};
gitHosts.byDomain = {};
for (const name of names) {
gitHosts.byShortcut[`${name}:`] = name;
gitHosts.byDomain[gitHosts[name].domain] = name;
}
function formatHashFragment(fragment) {
return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-");
}
module2.exports = gitHosts;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/git-host.js
var require_git_host2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/git-host.js"(exports2, module2) {
"use strict";
var gitHosts = require_git_host_info2();
var GitHost = class {
constructor(type4, user, auth, project, committish, defaultRepresentation, opts3 = {}) {
Object.assign(this, gitHosts[type4]);
this.type = type4;
this.user = user;
this.auth = auth;
this.project = project;
this.committish = committish;
this.default = defaultRepresentation;
this.opts = opts3;
}
hash() {
return this.committish ? `#${this.committish}` : "";
}
ssh(opts3) {
return this._fill(this.sshtemplate, opts3);
}
_fill(template, opts3) {
if (typeof template === "function") {
const options = { ...this, ...this.opts, ...opts3 };
if (!options.path) {
options.path = "";
}
if (options.path.startsWith("/")) {
options.path = options.path.slice(1);
}
if (options.noCommittish) {
options.committish = null;
}
const result2 = template(options);
return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
}
return null;
}
sshurl(opts3) {
return this._fill(this.sshurltemplate, opts3);
}
browse(path236, fragment, opts3) {
if (typeof path236 !== "string") {
return this._fill(this.browsetemplate, path236);
}
if (typeof fragment !== "string") {
opts3 = fragment;
fragment = null;
}
return this._fill(this.browsefiletemplate, { ...opts3, fragment, path: path236 });
}
docs(opts3) {
return this._fill(this.docstemplate, opts3);
}
bugs(opts3) {
return this._fill(this.bugstemplate, opts3);
}
https(opts3) {
return this._fill(this.httpstemplate, opts3);
}
git(opts3) {
return this._fill(this.gittemplate, opts3);
}
shortcut(opts3) {
return this._fill(this.shortcuttemplate, opts3);
}
path(opts3) {
return this._fill(this.pathtemplate, opts3);
}
tarball(opts3) {
return this._fill(this.tarballtemplate, { ...opts3, noCommittish: false });
}
file(path236, opts3) {
return this._fill(this.filetemplate, { ...opts3, path: path236 });
}
getDefaultRepresentation() {
return this.default;
}
toString(opts3) {
if (this.default && typeof this[this.default] === "function") {
return this[this.default](opts3);
}
return this.sshurl(opts3);
}
};
module2.exports = GitHost;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/index.js
var require_hosted_git_info2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/hosted-git-info/1.0.0/4b9b762e32ce54cea9deca0b4b51774bbc48195c341f49aecfb0c0afd2863d10/node_modules/@pnpm/hosted-git-info/index.js"(exports2, module2) {
"use strict";
var url7 = __require("url");
var gitHosts = require_git_host_info2();
var GitHost = module2.exports = require_git_host2();
var LRU = require_lru_cache();
var cache = new LRU({ max: 1e3 });
var protocolToRepresentationMap = {
"git+ssh:": "sshurl",
"git+https:": "https",
"ssh:": "sshurl",
"git:": "git"
};
function protocolToRepresentation(protocol) {
return protocolToRepresentationMap[protocol] || protocol.slice(0, -1);
}
var authProtocols = {
"git:": true,
"https:": true,
"git+https:": true,
"http:": true,
"git+http:": true
};
var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]);
module2.exports.fromUrl = function(giturl, opts3) {
if (typeof giturl !== "string") {
return;
}
const key = giturl + JSON.stringify(opts3 || {});
if (!cache.has(key)) {
cache.set(key, fromUrl(giturl, opts3));
}
return cache.get(key);
};
function fromUrl(giturl, opts3) {
if (!giturl) {
return;
}
const url8 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl);
const parsed = parseGitUrl(url8);
if (!parsed) {
return parsed;
}
const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
const gitHostName = gitHostShortcut || gitHostDomain;
if (!gitHostName) {
return;
}
const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
let auth = null;
if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) {
auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
}
let committish = null;
let user = null;
let project = null;
let defaultRepresentation = null;
try {
if (gitHostShortcut) {
let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
const firstAt = pathname.indexOf("@");
if (firstAt > -1) {
pathname = pathname.slice(firstAt + 1);
}
const lastSlash = pathname.lastIndexOf("/");
if (lastSlash > -1) {
user = decodeURIComponent(pathname.slice(0, lastSlash));
if (!user) {
user = null;
}
project = decodeURIComponent(pathname.slice(lastSlash + 1));
} else {
project = decodeURIComponent(pathname);
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (parsed.hash) {
committish = decodeURIComponent(parsed.hash.slice(1));
}
defaultRepresentation = "shortcut";
} else {
if (!gitHostInfo.protocols.includes(parsed.protocol)) {
return;
}
const segments = gitHostInfo.extract(parsed);
if (!segments) {
return;
}
user = segments.user && decodeURIComponent(segments.user);
project = decodeURIComponent(segments.project);
committish = decodeURIComponent(segments.committish);
defaultRepresentation = protocolToRepresentation(parsed.protocol);
}
} catch (err2) {
if (err2 instanceof URIError) {
return;
} else {
throw err2;
}
}
return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts3);
}
var correctProtocol = (arg) => {
const firstColon = arg.indexOf(":");
const proto2 = arg.slice(0, firstColon + 1);
if (knownProtocols.includes(proto2)) {
return arg;
}
const firstAt = arg.indexOf("@");
if (firstAt > -1) {
if (firstAt > firstColon) {
return `git+ssh://${arg}`;
} else {
return arg;
}
}
const doubleSlash = arg.indexOf("//");
if (doubleSlash === firstColon + 1) {
return arg;
}
return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1);
};
var isGitHubShorthand = (arg) => {
const firstHash = arg.indexOf("#");
const firstSlash = arg.indexOf("/");
const secondSlash = arg.indexOf("/", firstSlash + 1);
const firstColon = arg.indexOf(":");
const firstSpace = /\s/.exec(arg);
const firstAt = arg.indexOf("@");
const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
const hasSlash = firstSlash > 0;
const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
const doesNotStartWithDot = !arg.startsWith(".");
return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
};
var correctUrl2 = (giturl) => {
const firstAt = giturl.indexOf("@");
const lastHash = giturl.lastIndexOf("#");
let firstColon = giturl.indexOf(":");
let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity);
let corrected;
if (lastColon > firstAt) {
corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1);
firstColon = corrected.indexOf(":");
lastColon = corrected.lastIndexOf(":");
}
if (firstColon === -1 && giturl.indexOf("//") === -1) {
corrected = `git+ssh://${corrected}`;
}
return corrected;
};
var parseGitUrl = (giturl) => {
let result2;
try {
result2 = new url7.URL(giturl);
} catch (err2) {
}
if (result2) {
return result2;
}
const correctedUrl = correctUrl2(giturl);
try {
result2 = new url7.URL(correctedUrl);
} catch (err2) {
}
return result2;
};
}
});
// ../resolving/git-resolver/lib/parseBareSpecifier.js
import urlLib, { URL as URL4 } from "node:url";
function parseBareSpecifier2(bareSpecifier, opts3) {
const hosted = import_hosted_git_info.default.fromUrl(bareSpecifier);
if (hosted != null) {
return () => fromHostedGit(hosted, opts3);
}
const colonsPos = bareSpecifier.indexOf(":");
if (colonsPos === -1)
return null;
const protocol = bareSpecifier.slice(0, colonsPos);
const isGitUrl = gitProtocols.has(protocol.toLocaleLowerCase()) || (protocol === "http" || protocol === "https") && /\.git(?:#|$)/.test(bareSpecifier);
if (protocol && isGitUrl) {
const correctBareSpecifier = correctUrl(bareSpecifier);
const url7 = new URL4(correctBareSpecifier);
if (!url7?.protocol)
return null;
const hash2 = url7.hash?.length > 1 ? decodeURIComponent(url7.hash.slice(1)) : null;
return async () => ({
fetchSpec: urlToFetchSpec(url7),
normalizedBareSpecifier: bareSpecifier,
...parseGitParams(hash2)
});
}
return null;
}
function urlToFetchSpec(url7) {
url7.hash = "";
const fetchSpec = urlLib.format(url7);
if (fetchSpec.startsWith("git+")) {
return fetchSpec.slice(4);
}
return fetchSpec;
}
async function fromHostedGit(hosted, dispatcherOptions) {
let fetchSpec = null;
const gitHttpsUrl = hosted.https({ noCommittish: true, noGitPlus: true });
if (gitHttpsUrl && await isRepoPublic(gitHttpsUrl, dispatcherOptions) && await accessRepository(gitHttpsUrl)) {
fetchSpec = gitHttpsUrl;
} else {
const gitSshUrl = hosted.ssh({ noCommittish: true });
if (gitSshUrl && await accessRepository(gitSshUrl)) {
fetchSpec = gitSshUrl;
}
}
if (!fetchSpec) {
const httpsUrl = hosted.https({ noGitPlus: true, noCommittish: true });
if (httpsUrl) {
if ((hosted.auth || !await isRepoPublic(httpsUrl, dispatcherOptions)) && await accessRepository(httpsUrl)) {
return {
fetchSpec: httpsUrl,
hosted: {
...hosted,
_fill: hosted._fill,
tarball: void 0
},
normalizedBareSpecifier: `git+${httpsUrl}`,
...parseGitParams(hosted.committish)
};
} else {
try {
const response = await fetchWithDispatcher(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", redirect: "manual", retry: { retries: 0 }, dispatcherOptions });
if (response.ok) {
fetchSpec = httpsUrl;
}
} catch {
}
}
}
}
if (!fetchSpec) {
fetchSpec = hosted.sshurl({ noCommittish: true });
}
return {
fetchSpec,
hosted: {
...hosted,
tarballtemplate: hosted.type === "gitlab" ? gitlabTarballTemplate : hosted.tarballtemplate,
_fill: hosted._fill,
tarball: hosted.tarball
},
normalizedBareSpecifier: hosted.shortcut(),
...parseGitParams(hosted.committish)
};
}
function gitlabTarballTemplate({ domain, user, project, committish }) {
const ref = committish ? encodeURIComponent(committish) : "HEAD";
return `https://${domain}/${user}/${project}/-/archive/${ref}/${project}-${ref}.tar.gz`;
}
async function isRepoPublic(httpsUrl, dispatcherOptions) {
try {
const response = await fetchWithDispatcher(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", redirect: "manual", retry: { retries: 0 }, dispatcherOptions });
return response.ok;
} catch {
return false;
}
}
async function accessRepository(repository) {
try {
await gracefulGit(["ls-remote", "--exit-code", repository, "HEAD"], { retries: 0 });
return true;
} catch {
return false;
}
}
function parseGitParams(committish) {
const result2 = { gitCommittish: null };
if (!committish) {
return result2;
}
const params = committish.split("&");
for (const param of params) {
if (param.length >= 7 && param.slice(0, 7) === "semver:") {
result2.gitRange = param.slice(7);
} else if (param.slice(0, 5) === "path:") {
result2.path = param.slice(5);
} else {
result2.gitCommittish = param;
}
}
return result2;
}
function correctUrl(gitUrl) {
let _gitUrl = gitUrl.replace(/^git\+/, "");
if (_gitUrl.startsWith("ssh://")) {
const hashIndex = _gitUrl.indexOf("#");
let hash2 = "";
if (hashIndex !== -1) {
hash2 = _gitUrl.slice(hashIndex);
_gitUrl = _gitUrl.slice(0, hashIndex);
}
const [auth, ...pathname] = _gitUrl.slice(6).split("/");
const [, host] = auth.split("@");
if (host.includes(":") && !/:\d+$/.test(host)) {
const authArr = auth.split(":");
const protocol = gitUrl.split("://")[0];
gitUrl = `${protocol}://${authArr.slice(0, -1).join(":") + "/" + authArr[authArr.length - 1]}${pathname.length ? "/" + pathname.join("/") : ""}${hash2}`;
}
}
return gitUrl;
}
var import_hosted_git_info, gitProtocols;
var init_parseBareSpecifier2 = __esm({
"../resolving/git-resolver/lib/parseBareSpecifier.js"() {
"use strict";
init_lib23();
init_graceful_git();
import_hosted_git_info = __toESM(require_hosted_git_info2(), 1);
gitProtocols = /* @__PURE__ */ new Set([
"git",
"git+http",
"git+https",
"git+rsync",
"git+ftp",
"git+file",
"git+ssh",
"ssh"
]);
}
});
// ../resolving/git-resolver/lib/index.js
function createGitResolver(opts3) {
return async function resolveGit(wantedDependency, resolveOpts) {
const parsedSpecFunc = parseBareSpecifier2(wantedDependency.bareSpecifier, opts3);
if (parsedSpecFunc == null)
return null;
if (resolveOpts?.currentPkg && !resolveOpts.update) {
const currentResolution = resolveOpts.currentPkg.resolution;
if ("type" in currentResolution && currentResolution.type === "git") {
return {
id: resolveOpts.currentPkg.id,
resolution: currentResolution,
resolvedVia: "git-repository"
};
}
if ("tarball" in currentResolution && currentResolution.tarball) {
return {
id: resolveOpts.currentPkg.id,
resolution: currentResolution,
resolvedVia: "git-repository"
};
}
}
const parsedSpec = await parsedSpecFunc();
const bareSpecifier = parsedSpec.gitCommittish == null || parsedSpec.gitCommittish === "" ? "HEAD" : parsedSpec.gitCommittish;
const commit = await resolveRef(parsedSpec.fetchSpec, bareSpecifier, parsedSpec.gitRange);
let resolution;
if (parsedSpec.hosted != null && !isSsh(parsedSpec.fetchSpec)) {
const hosted = parsedSpec.hosted;
hosted.committish = commit;
const tarball = hosted.tarball?.();
if (tarball) {
resolution = { tarball, gitHosted: true };
}
}
if (resolution == null) {
resolution = {
commit,
repo: parsedSpec.fetchSpec,
type: "git"
};
}
if (parsedSpec.path) {
resolution.path = parsedSpec.path;
}
let id;
if ("tarball" in resolution) {
id = resolution.tarball;
if (resolution.path) {
id = `${id}#path:${resolution.path}`;
}
} else {
id = createGitHostedPkgId(resolution);
}
return {
id,
normalizedBareSpecifier: parsedSpec.normalizedBareSpecifier,
resolution,
resolvedVia: "git-repository"
};
};
}
async function resolveLatestFromGit(query) {
const bareSpecifier = query.wantedDependency.bareSpecifier;
if (!bareSpecifier)
return void 0;
const parsedSpecFunc = parseBareSpecifier2(bareSpecifier, {});
if (parsedSpecFunc == null)
return void 0;
return {};
}
function resolveVTags(vTags, range) {
return import_semver17.default.maxSatisfying(vTags, range, true);
}
async function getRepoRefs(repo, ref) {
const gitArgs = [repo];
if (ref) {
gitArgs.push(ref);
gitArgs.push(`${ref}^{}`);
}
const result2 = await gracefulGit(["ls-remote", ...gitArgs], { retries: 1 });
const refs = {};
for (const line of result2.stdout.split("\n")) {
const [commit, refName] = line.split(" ");
refs[refName] = commit;
}
return refs;
}
async function resolveRef(repo, ref, range) {
const committish = ref.match(/^[0-9a-f]{7,40}$/) !== null;
if (committish && ref.length === 40) {
return ref;
}
const refs = await getRepoRefs(repo, range ?? committish ? null : ref);
const result2 = resolveRefFromRefs(refs, repo, ref, committish, range);
if (committish && !result2.startsWith(ref)) {
throw new PnpmError("GIT_AMBIGUOUS_REF", `resolved commit ${result2} from commit-ish reference ${ref}`);
}
return result2;
}
function resolveRefFromRefs(refs, repo, ref, committish, range) {
if (!range) {
let commitId = refs[ref] || refs[`refs/${ref}`] || refs[`refs/tags/${ref}^{}`] || // prefer annotated tags
refs[`refs/tags/${ref}`] || refs[`refs/heads/${ref}`];
if (!commitId) {
const commits = committish ? [...new Set(Object.values(refs).filter((value) => value.startsWith(ref)))] : [];
if (commits.length === 1) {
commitId = commits[0];
} else {
throw new Error(`Could not resolve ${ref} to a commit of ${repo}.`);
}
}
return commitId;
} else {
const vTags = [...new Set(Object.keys(refs).filter((key) => /^refs\/tags\/v?\d+\.\d+\.\d+(?:[-+].+)?(?:\^\{\})?$/.test(key)).map((key) => {
return key.replace(/^refs\/tags\//, "").replace(/\^\{\}$/, "");
}).filter((key) => import_semver17.default.valid(key, true)))];
const refVTag = resolveVTags(vTags, range);
const commitId = refVTag && (refs[`refs/tags/${refVTag}^{}`] || // prefer annotated tags
refs[`refs/tags/${refVTag}`]);
if (!commitId) {
throw new Error(`Could not resolve ${range} to a commit of ${repo}. Available versions are: ${vTags.join(", ")}`);
}
return commitId;
}
}
function isSsh(gitSpec) {
return gitSpec.slice(0, 10) === "git+ssh://" || gitSpec.slice(0, 4) === "git@";
}
var import_semver17;
var init_lib49 = __esm({
"../resolving/git-resolver/lib/index.js"() {
"use strict";
init_lib2();
init_graceful_git();
import_semver17 = __toESM(require_semver2(), 1);
init_createGitHostedPkgId();
init_parseBareSpecifier2();
}
});
// ../fetching/git-fetcher/lib/index.js
import assert4 from "node:assert";
import path44 from "node:path";
import { URL as URL5 } from "node:url";
import util14 from "node:util";
function createGitFetcher(createOpts) {
const allowedHosts = new Set(createOpts?.gitShallowHosts ?? []);
const ignoreScripts = createOpts.ignoreScripts ?? false;
const gitFetcher = async (cafs, resolution, opts3) => {
if (!isValidCommitHash(resolution.commit)) {
throw new PnpmError("INVALID_GIT_COMMIT", `Invalid git commit hash "${resolution.commit}" for repository "${resolution.repo}". Expected a 40-character hexadecimal SHA.`);
}
const tempLocation = await cafs.tempDir();
if (allowedHosts.size > 0 && shouldUseShallow(resolution.repo, allowedHosts)) {
await execGit(["init"], { cwd: tempLocation });
await execGit(["remote", "add", "origin", resolution.repo], { cwd: tempLocation });
await execGit(["fetch", "--depth", "1", "origin", resolution.commit], { cwd: tempLocation });
} else {
await execGit(["clone", resolution.repo, tempLocation]);
}
await execGit(["checkout", resolution.commit], { cwd: tempLocation });
const receivedCommit = await execGit(["rev-parse", "HEAD"], { cwd: tempLocation });
if (receivedCommit.trim() !== resolution.commit) {
throw new PnpmError("GIT_CHECKOUT_FAILED", `received commit ${receivedCommit.trim()} does not match expected value ${resolution.commit}`);
}
let pkgDir;
try {
const prepareResult = await preparePackage({
allowBuild: opts3.allowBuild,
ignoreScripts: createOpts.ignoreScripts,
pkgResolutionId: createGitHostedPkgId(resolution),
unsafePerm: createOpts.unsafePerm,
userAgent: createOpts.userAgent
}, tempLocation, resolution.path ?? "");
pkgDir = prepareResult.pkgDir;
if (ignoreScripts && prepareResult.shouldBeBuilt) {
globalWarn(`The git-hosted package fetched from "${resolution.repo}" has to be built but the build scripts were ignored.`);
}
} catch (err2) {
assert4(util14.types.isNativeError(err2));
err2.message = `Failed to prepare git-hosted package fetched from "${resolution.repo}": ${err2.message}`;
throw err2;
}
await rimraf(path44.join(tempLocation, ".git"));
const files = await packlist(pkgDir);
return addFilesFromDir({
storeDir: cafs.storeDir,
storeIndex: createOpts.storeIndex,
dir: pkgDir,
files,
filesIndexFile: opts3.filesIndexFile,
readManifest: opts3.readManifest,
pkg: opts3.pkg
});
};
return {
git: gitFetcher
};
}
function isValidCommitHash(commit) {
return /^[0-9a-f]{40}$/i.test(commit);
}
function shouldUseShallow(repoUrl, allowedHosts) {
try {
const { host } = new URL5(repoUrl);
if (allowedHosts.has(host)) {
return true;
}
} catch {
}
return false;
}
function prefixGitArgs() {
return process.platform === "win32" ? ["-c", "core.longpaths=true"] : [];
}
async function execGit(args, opts3) {
const fullArgs = prefixGitArgs().concat(args || []);
const { stdout } = await safeExeca("git", fullArgs, opts3);
return stdout;
}
var init_lib50 = __esm({
"../fetching/git-fetcher/lib/index.js"() {
"use strict";
init_lib2();
init_lib48();
init_lib18();
init_lib3();
init_lib49();
init_lib4();
init_rimraf();
init_lib25();
}
});
// ../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js
import assert5 from "node:assert";
import util15 from "node:util";
function createGitHostedTarballFetcher(fetchRemoteTarball, fetcherOpts) {
const fetch2 = async (cafs, resolution, opts3) => {
const rawFilesIndexFile = `${opts3.filesIndexFile} raw`;
const { filesMap, manifest, requiresBuild, integrity } = await fetchRemoteTarball(cafs, resolution, {
...opts3,
filesIndexFile: rawFilesIndexFile
});
fetcherOpts.storeIndex.flush();
try {
const prepareResult = await prepareGitHostedPkg(filesMap, cafs, rawFilesIndexFile, opts3.filesIndexFile, fetcherOpts, opts3, resolution);
if (prepareResult.ignoredBuild) {
globalWarn(`The git-hosted package fetched from "${resolution.tarball}" has to be built but the build scripts were ignored.`);
}
return {
filesMap: prepareResult.filesMap,
manifest: prepareResult.manifest ?? manifest,
requiresBuild,
// Propagate the raw tarball integrity so the lockfile pins it and
// future installs detect a tampered tarball from the git host.
integrity
};
} catch (err2) {
assert5(util15.types.isNativeError(err2));
err2.message = `Failed to prepare git-hosted package fetched from "${resolution.tarball}": ${err2.message}`;
throw err2;
}
};
return fetch2;
}
async function prepareGitHostedPkg(filesMap, cafs, rawFilesIndexFile, filesIndexFile, opts3, fetcherOpts, resolution) {
const tempLocation = await cafs.tempDir();
cafs.importPackage(tempLocation, {
filesResponse: {
filesMap,
resolvedFrom: "remote",
requiresBuild: false
},
force: true
});
const { shouldBeBuilt, pkgDir } = await preparePackage({
...opts3,
allowBuild: fetcherOpts.allowBuild,
pkgResolutionId: createGitHostedTarballPkgResolutionId(resolution)
}, tempLocation, resolution.path ?? "");
const files = await packlist(pkgDir);
const { storeIndex } = opts3;
if (!resolution.path && files.length === filesMap.size) {
if (!shouldBeBuilt) {
const data = storeIndex.get(rawFilesIndexFile);
if (data) {
storeIndex.set(filesIndexFile, data);
storeIndex.delete(rawFilesIndexFile);
}
return {
filesMap,
ignoredBuild: false
};
}
if (opts3.ignoreScripts) {
storeIndex.delete(rawFilesIndexFile);
return {
filesMap,
ignoredBuild: true
};
}
}
storeIndex.delete(rawFilesIndexFile);
return {
...await addFilesFromDir({
storeDir: cafs.storeDir,
storeIndex: opts3.storeIndex,
dir: pkgDir,
files,
filesIndexFile,
pkg: fetcherOpts.pkg,
readManifest: fetcherOpts.readManifest
}),
ignoredBuild: Boolean(opts3.ignoreScripts)
};
}
function createGitHostedTarballPkgResolutionId(resolution) {
let pkgResolutionId = resolution.tarball;
if (resolution.path) {
pkgResolutionId += `#path:${resolution.path}`;
}
return pkgResolutionId;
}
var init_gitHostedTarballFetcher = __esm({
"../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js"() {
"use strict";
init_lib48();
init_lib18();
init_lib3();
init_lib4();
}
});
// ../fetching/tarball-fetcher/lib/localTarballFetcher.js
import path45 from "node:path";
function createLocalTarballFetcher(storeIndex) {
const fetch2 = (cafs, resolution, opts3) => {
const tarball = resolvePath(opts3.lockfileDir, resolution.tarball.slice(5));
const buffer3 = lib_default.readFileSync(tarball);
return addFilesFromTarball({
storeDir: cafs.storeDir,
storeIndex,
buffer: buffer3,
filesIndexFile: opts3.filesIndexFile,
integrity: resolution.integrity,
readManifest: opts3.readManifest,
url: tarball,
pkg: opts3.pkg,
appendManifest: opts3.appendManifest,
ignoreFilePattern: opts3.ignoreFilePattern
});
};
return fetch2;
}
function resolvePath(where, spec) {
if (isAbsolutePath.test(spec))
return spec;
return path45.resolve(where, spec);
}
var isAbsolutePath;
var init_localTarballFetcher = __esm({
"../fetching/tarball-fetcher/lib/localTarballFetcher.js"() {
"use strict";
init_lib14();
init_lib4();
isAbsolutePath = /^\/|^[A-Z]:/i;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.throttle/4.1.1/e8d70d06aacdab4c5ae4b206f2a419585999a791c84c119e8934d8ecb21e5859/node_modules/lodash.throttle/index.js
var require_lodash = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.throttle/4.1.1/e8d70d06aacdab4c5ae4b206f2a419585999a791c84c119e8934d8ecb21e5859/node_modules/lodash.throttle/index.js"(exports2, module2) {
var FUNC_ERROR_TEXT = "Expected a function";
var NAN = 0 / 0;
var symbolTag = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
var objectProto = Object.prototype;
var objectToString3 = objectProto.toString;
var nativeMax = Math.max;
var nativeMin = Math.min;
var now = function() {
return root.Date.now();
};
function debounce(func, wait, options) {
var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
wait = toNumber(wait) || 0;
if (isObject4(options)) {
leading = !!options.leading;
maxing = "maxWait" in options;
maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
function invokeFunc(time) {
var args = lastArgs, thisArg = lastThis;
lastArgs = lastThis = void 0;
lastInvokeTime = time;
result2 = func.apply(thisArg, args);
return result2;
}
function leadingEdge(time) {
lastInvokeTime = time;
timerId = setTimeout(timerExpired, wait);
return leading ? invokeFunc(time) : result2;
}
function remainingWait(time) {
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result3 = wait - timeSinceLastCall;
return maxing ? nativeMin(result3, maxWait - timeSinceLastInvoke) : result3;
}
function shouldInvoke(time) {
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
}
function timerExpired() {
var time = now();
if (shouldInvoke(time)) {
return trailingEdge(time);
}
timerId = setTimeout(timerExpired, remainingWait(time));
}
function trailingEdge(time) {
timerId = void 0;
if (trailing && lastArgs) {
return invokeFunc(time);
}
lastArgs = lastThis = void 0;
return result2;
}
function cancel2() {
if (timerId !== void 0) {
clearTimeout(timerId);
}
lastInvokeTime = 0;
lastArgs = lastCallTime = lastThis = timerId = void 0;
}
function flush() {
return timerId === void 0 ? result2 : trailingEdge(now());
}
function debounced() {
var time = now(), isInvoking = shouldInvoke(time);
lastArgs = arguments;
lastThis = this;
lastCallTime = time;
if (isInvoking) {
if (timerId === void 0) {
return leadingEdge(lastCallTime);
}
if (maxing) {
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
}
if (timerId === void 0) {
timerId = setTimeout(timerExpired, wait);
}
return result2;
}
debounced.cancel = cancel2;
debounced.flush = flush;
return debounced;
}
function throttle2(func, wait, options) {
var leading = true, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
if (isObject4(options)) {
leading = "leading" in options ? !!options.leading : leading;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
return debounce(func, wait, {
"leading": leading,
"maxWait": wait,
"trailing": trailing
});
}
function isObject4(value) {
var type4 = typeof value;
return !!value && (type4 == "object" || type4 == "function");
}
function isObjectLike(value) {
return !!value && typeof value == "object";
}
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && objectToString3.call(value) == symbolTag;
}
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol(value)) {
return NAN;
}
if (isObject4(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject4(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary2 = reIsBinary.test(value);
return isBinary2 || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary2 ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
module2.exports = throttle2;
}
});
// ../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js
var BadTarballError;
var init_BadTarballError = __esm({
"../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js"() {
"use strict";
init_lib2();
BadTarballError = class extends PnpmError {
expectedSize;
receivedSize;
constructor(opts3) {
const message = `Actual size (${opts3.receivedSize}) of tarball (${opts3.tarballUrl}) did not match the one specified in 'Content-Length' header (${opts3.expectedSize})`;
super("BAD_TARBALL_SIZE", message, {
attempts: opts3?.attempts
});
this.expectedSize = opts3.expectedSize;
this.receivedSize = opts3.receivedSize;
}
};
}
});
// ../fetching/tarball-fetcher/lib/errorTypes/index.js
var init_errorTypes = __esm({
"../fetching/tarball-fetcher/lib/errorTypes/index.js"() {
"use strict";
init_BadTarballError();
}
});
// ../fetching/tarball-fetcher/lib/remoteTarballFetcher.js
import util16 from "node:util";
function createDownloader(fetchFromRegistry, gotOpts) {
const retryOpts = {
factor: 10,
maxTimeout: 6e4,
// 1 minute
minTimeout: 1e4,
// 10 seconds
retries: 2,
...gotOpts.retry
};
const fetchMinSpeedKiBps = gotOpts.fetchMinSpeedKiBps ?? 50;
return async function download(url7, opts3) {
const authHeaderValue = opts3.getAuthHeaderByURI(url7, { pkgName: opts3.pkg?.name });
const op = retry4.operation(retryOpts);
return new Promise((resolve4, reject3) => {
op.attempt(async (attempt) => {
try {
resolve4(await fetch2(attempt));
} catch (error) {
if (error.response?.status === 401 || error.response?.status === 403 || error.response?.status === 404 || error.code === "ERR_PNPM_PREPARE_PKG_FAILURE") {
reject3(error);
return;
}
const timeout = op.retry(error);
if (timeout === false) {
reject3(op.mainError());
return;
}
const errorInfo = {
name: error.name,
message: error.message,
code: error.code,
errno: error.errno,
// For HTTP errors from our ResponseError class
status: error.status,
statusCode: error.statusCode,
// undici wraps the actual network error in a cause property
cause: error.cause ? {
code: error.cause.code,
errno: error.cause.errno
} : void 0
};
requestRetryLogger.debug({
attempt,
error: errorInfo,
maxRetries: retryOpts.retries,
method: "GET",
timeout,
url: url7
});
}
});
});
async function fetch2(currentAttempt) {
let data;
try {
const res = await fetchFromRegistry(url7, {
authHeaderValue,
// Tarballs are already compressed; ask the server not to apply an additional
// Content-Encoding so Content-Length matches the body we receive and we don't
// waste CPU on round-trip re-compression. See https://github.com/pnpm/pnpm/issues/11506
headers: { "accept-encoding": "identity" },
// The fetch library can retry requests on bad HTTP responses.
// However, it is not enough to retry on bad HTTP responses only.
// Requests should also be retried when the tarball's integrity check fails.
// Hence, we tell fetch to not retry,
// and we perform the retries from this function instead.
retry: { retries: 0 },
timeout: gotOpts.timeout
});
if (res.status !== 200) {
throw new FetchError({ url: url7, authHeaderValue }, res);
}
const isEncoded = isContentEncoded(res.headers.get("content-encoding"));
const contentLength = !isEncoded && res.headers.has("content-length") && res.headers.get("content-length");
const parsedLength = typeof contentLength === "string" ? parseInt(contentLength, 10) : NaN;
const size = Number.isFinite(parsedLength) && parsedLength >= 0 ? parsedLength : null;
if (opts3.onStart != null) {
opts3.onStart(size, currentAttempt);
}
const onProgress = size != null && size >= BIG_TARBALL_SIZE && opts3.onProgress ? (0, import_lodash.default)(opts3.onProgress, 500) : void 0;
const startTime = Date.now();
let downloaded = 0;
if (size !== null) {
data = Buffer.from(new SharedArrayBuffer(size));
for await (const chunk of res.body) {
const c3 = chunk;
const nextDownloaded = downloaded + c3.byteLength;
if (nextDownloaded > size) {
throw new BadTarballError({
expectedSize: size,
receivedSize: nextDownloaded,
tarballUrl: url7
});
}
data.set(c3, downloaded);
downloaded = nextDownloaded;
onProgress?.(downloaded);
}
if (size !== downloaded) {
throw new BadTarballError({
expectedSize: size,
receivedSize: downloaded,
tarballUrl: url7
});
}
} else {
const chunks = [];
for await (const chunk of res.body) {
const c3 = chunk;
chunks.push(c3);
downloaded += c3.byteLength;
onProgress?.(downloaded);
}
data = Buffer.from(new SharedArrayBuffer(downloaded));
let offset = 0;
for (const chunk of chunks) {
data.set(chunk, offset);
offset += chunk.byteLength;
}
}
const elapsedSec = (Date.now() - startTime) / 1e3;
const avgKiBps = Math.floor(downloaded / elapsedSec / 1024);
if (downloaded > 0 && elapsedSec > 1 && avgKiBps < fetchMinSpeedKiBps) {
const sizeKb = Math.floor(downloaded / 1024);
globalWarn(`Tarball download average speed ${avgKiBps} KiB/s (size ${sizeKb} KiB) is below ${fetchMinSpeedKiBps} KiB/s: ${url7} (GET)`);
}
} catch (err2) {
const error = util16.types.isNativeError(err2) ? err2 : new Error(String(err2), { cause: err2 });
Object.assign(error, {
attempts: currentAttempt,
resource: url7
});
throw error;
}
return addFilesFromTarball({
buffer: data,
storeDir: opts3.cafs.storeDir,
storeIndex: opts3.storeIndex,
readManifest: opts3.readManifest,
integrity: opts3.integrity,
filesIndexFile: opts3.filesIndexFile,
url: url7,
pkg: opts3.pkg,
appendManifest: opts3.appendManifest,
ignoreFilePattern: opts3.ignoreFilePattern
});
}
};
}
function isContentEncoded(header) {
if (header == null)
return false;
return header.split(",").map((coding) => coding.trim().toLowerCase()).some((coding) => coding !== "" && coding !== "identity");
}
var retry4, import_lodash, BIG_TARBALL_SIZE;
var init_remoteTarballFetcher = __esm({
"../fetching/tarball-fetcher/lib/remoteTarballFetcher.js"() {
"use strict";
init_lib6();
init_lib2();
init_lib3();
init_lib4();
retry4 = __toESM(require_retry2(), 1);
import_lodash = __toESM(require_lodash(), 1);
init_errorTypes();
BIG_TARBALL_SIZE = 1024 * 1024 * 5;
}
});
// ../fetching/tarball-fetcher/lib/index.js
function createTarballFetcher(fetchFromRegistry, getAuthHeader, opts3) {
const download = createDownloader(fetchFromRegistry, {
retry: opts3.retry,
timeout: opts3.timeout,
fetchMinSpeedKiBps: opts3.fetchMinSpeedKiBps
});
const remoteTarballFetcher = fetchFromTarball.bind(null, {
download,
getAuthHeaderByURI: getAuthHeader,
offline: opts3.offline,
storeIndex: opts3.storeIndex
});
remoteTarballFetcher.resolutionNeedsFetch = (resolution) => {
return getExpectedIntegrity(resolution) == null;
};
return {
localTarball: createLocalTarballFetcher(opts3.storeIndex),
remoteTarball: remoteTarballFetcher,
gitHostedTarball: createGitHostedTarballFetcher(remoteTarballFetcher, opts3)
};
}
async function fetchFromTarball(ctx, cafs, resolution, opts3) {
if (ctx.offline) {
throw new PnpmError("NO_OFFLINE_TARBALL", `A package is missing from the store but cannot download it in offline mode. The missing package may be downloaded from ${resolution.tarball}.`);
}
return ctx.download(resolution.tarball, {
getAuthHeaderByURI: ctx.getAuthHeaderByURI,
cafs,
storeIndex: ctx.storeIndex,
integrity: getExpectedIntegrity(resolution),
readManifest: opts3.readManifest,
onProgress: opts3.onProgress,
onStart: opts3.onStart,
registry: resolution.registry,
filesIndexFile: opts3.filesIndexFile,
pkg: opts3.pkg,
appendManifest: opts3.appendManifest,
ignoreFilePattern: opts3.ignoreFilePattern
});
}
function getExpectedIntegrity(resolution) {
const integrity = resolution.integrity;
return typeof integrity === "string" && integrity.length > 0 ? integrity : void 0;
}
var init_lib51 = __esm({
"../fetching/tarball-fetcher/lib/index.js"() {
"use strict";
init_lib2();
init_lib4();
init_gitHostedTarballFetcher();
init_localTarballFetcher();
init_remoteTarballFetcher();
init_errorTypes();
init_gitHostedTarballFetcher();
init_localTarballFetcher();
init_remoteTarballFetcher();
}
});
// ../network/auth-header/lib/getAuthHeadersFromConfig.js
import { spawnSync as spawnSync2 } from "node:child_process";
function getAuthHeadersFromCreds(configByUri) {
const authHeaders = {
authHeaderValueByURI: {},
scopedAuthHeaderValueByURI: {}
};
for (const [uri, registryConfig] of Object.entries(configByUri)) {
const normalizedUri = normalizeAuthKey(uri);
const header = credsToHeader(registryConfig[DEFAULT_REGISTRY_SCOPE]);
if (header) {
authHeaders.authHeaderValueByURI[normalizedUri] = header;
}
for (const scope of getRegistryScopes(registryConfig)) {
if (scope === DEFAULT_REGISTRY_SCOPE)
continue;
const scopedCreds = registryConfig[scope];
const scopedHeader = credsToHeader(scopedCreds);
if (scopedHeader) {
authHeaders.scopedAuthHeaderValueByURI[normalizedUri] ??= {};
authHeaders.scopedAuthHeaderValueByURI[normalizedUri][scope] = scopedHeader;
}
}
}
return authHeaders;
}
function getAuthHeadersByScope(authHeaders) {
const result2 = {};
for (const [registryURI, authHeader] of Object.entries(authHeaders.authHeaderValueByURI)) {
result2[registryURI] ??= {};
result2[registryURI][DEFAULT_REGISTRY_SCOPE] = authHeader;
}
for (const [registryURI, scopedAuthHeaders] of Object.entries(authHeaders.scopedAuthHeaderValueByURI)) {
result2[registryURI] ??= {};
for (const [scope, authHeader] of Object.entries(scopedAuthHeaders)) {
result2[registryURI][scope] = authHeader;
}
}
return result2;
}
function getRegistryScopes(registryConfig) {
return Object.keys(registryConfig).filter((scope) => scope.startsWith("@"));
}
function normalizeAuthKey(uri) {
if (!uri)
return uri;
return uri.endsWith("/") ? uri : `${uri}/`;
}
function credsToHeader(creds) {
if (!creds)
return void 0;
if (creds.tokenHelper) {
return executeTokenHelper(creds.tokenHelper);
}
if (creds.authToken) {
return `Bearer ${creds.authToken}`;
}
if (creds.basicAuth) {
return `Basic ${Buffer.from(`${creds.basicAuth.username}:${creds.basicAuth.password}`, "utf8").toString("base64")}`;
}
return void 0;
}
function executeTokenHelper(tokenHelper, timeoutMs = TOKEN_HELPER_TIMEOUT) {
const [cmd, ...args] = tokenHelper;
const shell = process.platform === "win32" && /\.(?:bat|cmd)$/i.test(cmd);
const spawnResult = spawnSync2(cmd, args, { stdio: "pipe", shell, timeout: timeoutMs });
if (spawnResult.error != null && spawnResult.error.code === "ETIMEDOUT") {
throw new PnpmError("TOKEN_HELPER_TIMEOUT", `Token helper "${cmd}" timed out after ${timeoutMs} ms`);
}
if (spawnResult.status !== 0) {
throw new PnpmError("TOKEN_HELPER_ERROR_STATUS", `Error running "${cmd}" as a token helper. Exit code ${spawnResult.status?.toString() ?? ""}`);
}
const token = spawnResult.stdout.toString("utf8").trimEnd();
if (!token) {
throw new PnpmError("TOKEN_HELPER_EMPTY_TOKEN", `Token helper "${cmd}" returned an empty token`);
}
if (/^[A-Z]+ /i.test(token)) {
return token;
}
return `Bearer ${token}`;
}
var TOKEN_HELPER_TIMEOUT;
var init_getAuthHeadersFromConfig = __esm({
"../network/auth-header/lib/getAuthHeadersFromConfig.js"() {
"use strict";
init_lib2();
init_lib9();
TOKEN_HELPER_TIMEOUT = 6e4;
}
});
// ../network/auth-header/lib/helpers/removePort.js
function removePort2(urlObj) {
if (urlObj.port === "")
return urlObj.href;
urlObj.port = "";
return urlObj.toString();
}
var init_removePort = __esm({
"../network/auth-header/lib/helpers/removePort.js"() {
"use strict";
}
});
// ../network/auth-header/lib/index.js
var lib_exports5 = {};
__export(lib_exports5, {
createGetAuthHeaderByURI: () => createGetAuthHeaderByURI,
getAuthHeadersByScope: () => getAuthHeadersByScope,
getAuthHeadersFromCreds: () => getAuthHeadersFromCreds
});
function createGetAuthHeaderByURI(configByUri) {
const authHeaders = getAuthHeadersFromCreds(configByUri);
const registryURIs = Object.keys(authHeaders.authHeaderValueByURI);
const scopedAuthHeaderValueByScope = getScopedAuthHeaderValueByScope(authHeaders.scopedAuthHeaderValueByURI);
if (registryURIs.length === 0 && Object.keys(scopedAuthHeaderValueByScope).length === 0)
return (uri) => basicAuth(new URL(uri));
return getAuthHeaderByURI.bind(null, authHeaders, {
maxParts: getMaxParts(registryURIs),
scopedAuthHeaderValueByScope
});
}
function getMaxParts(uris) {
return uris.reduce((max4, uri) => {
const parts = uri.split("/").length;
return parts > max4 ? parts : max4;
}, 0);
}
function getScopedAuthHeaderValueByScope(authHeaders) {
const result2 = {};
for (const [uri, scopedAuthHeaders] of Object.entries(authHeaders)) {
const parts = uri.split("/").length;
for (const [scope, authHeader] of Object.entries(scopedAuthHeaders)) {
const scopedAuthHeaderLookup = result2[scope] ??= {
authHeaderValueByURI: {},
maxParts: 0
};
scopedAuthHeaderLookup.authHeaderValueByURI[uri] = authHeader;
if (parts > scopedAuthHeaderLookup.maxParts) {
scopedAuthHeaderLookup.maxParts = parts;
}
}
}
return result2;
}
function getAuthHeaderByURI(authHeaders, lookup, uri, opts3) {
if (!uri.endsWith("/")) {
uri += "/";
}
const parsedUri = new URL(uri);
const basic = basicAuth(parsedUri);
if (basic)
return basic;
const scope = getScope2(opts3?.pkgName);
const scopedAuthHeaderLookup = scope ? lookup.scopedAuthHeaderValueByScope[scope] : void 0;
if (scopedAuthHeaderLookup) {
const scopedAuth = getAuthHeaderByNerfedURI(scopedAuthHeaderLookup.authHeaderValueByURI, scopedAuthHeaderLookup.maxParts, uri);
if (scopedAuth)
return scopedAuth;
}
return getAuthHeaderByNerfedURI(authHeaders.authHeaderValueByURI, lookup.maxParts, uri);
}
function getAuthHeaderByNerfedURI(authHeaders, maxParts, uri) {
const parsedUri = new URL(uri);
const nerfed = (0, import_config8.nerfDart)(uri);
const parts = nerfed.split("/");
for (let i4 = Math.min(parts.length, maxParts) - 1; i4 >= 3; i4--) {
const key = `${parts.slice(0, i4).join("/")}/`;
if (authHeaders[key])
return authHeaders[key];
}
const urlWithoutPort = removePort2(parsedUri);
if (urlWithoutPort !== uri) {
return getAuthHeaderByNerfedURI(authHeaders, maxParts, urlWithoutPort);
}
return void 0;
}
function getScope2(pkgName) {
if (!pkgName?.startsWith("@"))
return void 0;
const index2 = pkgName.indexOf("/");
if (index2 <= 1)
return void 0;
return pkgName.slice(0, index2);
}
function basicAuth(uri) {
if (!uri.username && !uri.password)
return void 0;
const auth64 = btoa(`${uri.username}:${uri.password}`);
return `Basic ${auth64}`;
}
var import_config8;
var init_lib52 = __esm({
"../network/auth-header/lib/index.js"() {
"use strict";
import_config8 = __toESM(require_dist(), 1);
init_getAuthHeadersFromConfig();
init_removePort();
}
});
// ../engine/runtime/bun-resolver/lib/index.js
async function resolveBunRuntime(ctx, wantedDependency, opts3) {
if (wantedDependency.alias !== "bun" || !wantedDependency.bareSpecifier?.startsWith("runtime:"))
return null;
if (opts3?.currentPkg && !opts3.update) {
return {
id: opts3.currentPkg.id,
resolution: opts3.currentPkg.resolution,
resolvedVia: "github.com/oven-sh/bun"
};
}
const versionSpec = normalizeRuntimeSpec2(wantedDependency.bareSpecifier.substring("runtime:".length));
const npmResolution = await ctx.resolveFromNpm({ ...wantedDependency, bareSpecifier: versionSpec }, {});
if (npmResolution == null) {
throw new PnpmError("BUN_RESOLUTION_FAILURE", `Could not resolve Bun version specified as ${versionSpec}`);
}
const version2 = npmResolution.manifest.version;
const assets = await readBunAssets(ctx.fetchFromRegistry, version2);
assets.sort((asset1, asset2) => (0, import_util5.lexCompare)(asset1.resolution.url, asset2.resolution.url));
return {
id: `bun@runtime:${version2}`,
normalizedBareSpecifier: `runtime:${versionSpec}`,
resolvedVia: "github.com/oven-sh/bun",
manifest: {
name: "bun",
version: version2,
bin: getBunBinLocationForCurrentOS()
},
resolution: {
type: "variations",
variants: assets
}
};
}
async function resolveLatestBunRuntime(ctx, query, opts3) {
const manifestSpec = query.wantedDependency.bareSpecifier;
if (query.wantedDependency.alias !== "bun" || !manifestSpec?.startsWith("runtime:"))
return void 0;
const versionSpec = query.compatible ? normalizeRuntimeSpec2(manifestSpec.substring("runtime:".length)) : "latest";
try {
const npmResolution = await ctx.resolveFromNpm({ alias: "bun", bareSpecifier: versionSpec }, query.compatible ? opts3 : { ...opts3, update: "latest" });
if (npmResolution?.policyViolation?.code === MINIMUM_RELEASE_AGE_VIOLATION_CODE)
return {};
if (!npmResolution?.manifest)
return {};
return { latestManifest: { name: "bun", version: npmResolution.manifest.version } };
} catch (err2) {
if (opts3.publishedBy && err2.code === "ERR_PNPM_NO_MATCHING_VERSION") {
return {};
}
throw err2;
}
}
function normalizeRuntimeSpec2(versionSpec) {
versionSpec = versionSpec.trim();
return versionSpec === "" ? "latest" : versionSpec;
}
async function readBunAssets(fetch2, version2) {
const integritiesFileUrl = `https://github.com/oven-sh/bun/releases/download/bun-v${version2}/SHASUMS256.txt`;
const shasumsFileItems = await fetchShasumsFile(fetch2, integritiesFileUrl);
const pattern = /^bun-([^-.]+)-([^-.]+)(-musl)?\.zip$/;
const assets = [];
for (const { integrity, fileName } of shasumsFileItems) {
const match = pattern.exec(fileName);
if (!match)
continue;
let [, platform5, arch2, musl] = match;
if (platform5 === "windows") {
platform5 = "win32";
}
if (arch2 === "aarch64") {
arch2 = "arm64";
}
const url7 = `https://github.com/oven-sh/bun/releases/download/bun-v${version2}/${fileName}`;
const resolution = {
type: "binary",
archive: "zip",
bin: getBunBinLocationForCurrentOS(platform5),
integrity,
url: url7,
prefix: fileName.replace(/\.zip$/, "")
};
const target2 = {
os: platform5,
cpu: arch2
};
if (musl != null) {
target2.libc = "musl";
}
assets.push({
targets: [target2],
resolution
});
}
return assets;
}
function getBunBinLocationForCurrentOS(platform5 = process.platform) {
return platform5 === "win32" ? "bun.exe" : "bun";
}
var import_util5;
var init_lib53 = __esm({
"../engine/runtime/bun-resolver/lib/index.js"() {
"use strict";
init_lib45();
init_lib2();
init_lib38();
import_util5 = __toESM(require_dist4(), 1);
}
});
// ../engine/runtime/deno-resolver/lib/index.js
async function resolveDenoRuntime(ctx, wantedDependency, opts3) {
if (wantedDependency.alias !== "deno" || !wantedDependency.bareSpecifier?.startsWith("runtime:"))
return null;
if (opts3?.currentPkg && !opts3.update) {
return {
id: opts3.currentPkg.id,
resolution: opts3.currentPkg.resolution,
resolvedVia: "github.com/denoland/deno"
};
}
const versionSpec = normalizeRuntimeSpec3(wantedDependency.bareSpecifier.substring("runtime:".length));
const npmResolution = await ctx.resolveFromNpm({ ...wantedDependency, bareSpecifier: versionSpec }, {});
if (npmResolution == null) {
throw new PnpmError("DENO_RESOLUTION_FAILURE", `Could not resolve Deno version specified as ${versionSpec}`);
}
const version2 = npmResolution.manifest.version;
const res = await ctx.fetchFromRegistry(`https://api.github.com/repos/denoland/deno/releases/tags/v${version2}`);
const data = await res.json();
const assets = [];
if (data.assets == null) {
throw new PnpmError("DENO_MISSING_ASSETS", `No assets found for Deno v${version2}`);
}
await Promise.all(data.assets.map(async (asset) => {
const targets = parseAssetName(asset.name);
if (!targets)
return;
const sha2562 = await fetchSha256(ctx.fetchFromRegistry, asset.browser_download_url);
const base64 = Buffer.from(sha2562, "hex").toString("base64");
assets.push({
targets,
resolution: {
type: "binary",
url: asset.browser_download_url.replace(/\.sha256sum$/, ""),
integrity: `sha256-${base64}`,
bin: getDenoBinLocationForCurrentOS(targets[0].os),
archive: "zip"
}
});
}));
assets.sort((asset1, asset2) => (0, import_util6.lexCompare)(asset1.resolution.url, asset2.resolution.url));
return {
id: `deno@runtime:${version2}`,
normalizedBareSpecifier: `runtime:${versionSpec}`,
resolvedVia: "github.com/denoland/deno",
manifest: {
name: "deno",
version: version2,
bin: getDenoBinLocationForCurrentOS()
},
resolution: {
type: "variations",
variants: assets
}
};
}
async function resolveLatestDenoRuntime(ctx, query, opts3) {
const manifestSpec = query.wantedDependency.bareSpecifier;
if (query.wantedDependency.alias !== "deno" || !manifestSpec?.startsWith("runtime:"))
return void 0;
const versionSpec = query.compatible ? normalizeRuntimeSpec3(manifestSpec.substring("runtime:".length)) : "latest";
try {
const npmResolution = await ctx.resolveFromNpm({ alias: "deno", bareSpecifier: versionSpec }, query.compatible ? opts3 : { ...opts3, update: "latest" });
if (npmResolution?.policyViolation?.code === MINIMUM_RELEASE_AGE_VIOLATION_CODE)
return {};
if (!npmResolution?.manifest)
return {};
return { latestManifest: { name: "deno", version: npmResolution.manifest.version } };
} catch (err2) {
if (opts3.publishedBy && err2.code === "ERR_PNPM_NO_MATCHING_VERSION") {
return {};
}
throw err2;
}
}
function normalizeRuntimeSpec3(versionSpec) {
versionSpec = versionSpec.trim();
return versionSpec === "" ? "latest" : versionSpec;
}
function parseAssetName(name) {
const m = ASSET_REGEX.exec(name);
if (!m?.groups)
return null;
const os17 = OS_MAP[m.groups.os];
const cpu = CPU_MAP[m.groups.cpu];
const targets = [{ os: os17, cpu }];
if (os17 === "win32" && cpu === "x64") {
targets.push({ os: "win32", cpu: "arm64" });
}
return targets;
}
function getDenoBinLocationForCurrentOS(platform5 = process.platform) {
return platform5 === "win32" ? "deno.exe" : "deno";
}
async function fetchSha256(fetch2, url7) {
const response = await fetch2(url7);
if (!response.ok) {
throw new PnpmError("DENO_GITHUB_FAILURE", `Failed to GET sha256 at ${url7}`);
}
const txt = await response.text();
const m = txt.match(/([a-f0-9]{64})/i);
if (!m) {
throw new PnpmError("DENO_PARSE_HASH", `No SHA256 in ${url7}`);
}
return m[1].toLowerCase();
}
var import_util6, ASSET_REGEX, OS_MAP, CPU_MAP;
var init_lib54 = __esm({
"../engine/runtime/deno-resolver/lib/index.js"() {
"use strict";
init_lib2();
init_lib38();
import_util6 = __toESM(require_dist4(), 1);
ASSET_REGEX = /^deno-(?<cpu>aarch64|x86_64)-(?<os>apple-darwin|unknown-linux-gnu|pc-windows-msvc)\.zip\.sha256sum$/;
OS_MAP = {
"apple-darwin": "darwin",
"unknown-linux-gnu": "linux",
"pc-windows-msvc": "win32"
};
CPU_MAP = {
aarch64: "arm64",
x86_64: "x64"
};
}
});
// ../hooks/types/lib/customResolverCache.js
function getCustomResolverCacheKey(wantedDependency) {
const alias = wantedDependency.alias ?? "";
const bareSpecifier = wantedDependency.bareSpecifier ?? "";
return `${alias}@${bareSpecifier}`;
}
function getCachedCanResolve(customResolver, cacheKey) {
return customResolverCanResolveCache.get(customResolver)?.get(cacheKey);
}
function setCachedCanResolve(customResolver, cacheKey, value) {
let cache = customResolverCanResolveCache.get(customResolver);
if (!cache) {
cache = /* @__PURE__ */ new Map();
customResolverCanResolveCache.set(customResolver, cache);
}
cache.set(cacheKey, value);
}
async function checkCustomResolverCanResolve(customResolver, wantedDependency) {
if (!customResolver.canResolve)
return false;
const cacheKey = getCustomResolverCacheKey(wantedDependency);
const cached = getCachedCanResolve(customResolver, cacheKey);
if (cached !== void 0)
return cached;
const canResolve = await customResolver.canResolve(wantedDependency);
setCachedCanResolve(customResolver, cacheKey, canResolve);
return canResolve;
}
var customResolverCanResolveCache;
var init_customResolverCache = __esm({
"../hooks/types/lib/customResolverCache.js"() {
"use strict";
customResolverCanResolveCache = /* @__PURE__ */ new WeakMap();
}
});
// ../hooks/types/lib/index.js
var init_lib55 = __esm({
"../hooks/types/lib/index.js"() {
"use strict";
init_customResolverCache();
}
});
// ../resolving/local-resolver/lib/parseBareSpecifier.js
import os5 from "node:os";
import path46 from "node:path";
function parseLocalScheme(wd, projectDir, lockfileDir, opts3) {
if (wd.bareSpecifier.startsWith("link:") || wd.bareSpecifier.startsWith("workspace:")) {
return fromLocal(wd, projectDir, lockfileDir, "directory", opts3);
}
if (wd.bareSpecifier.startsWith("file:")) {
const type4 = isFilename.test(wd.bareSpecifier) ? "file" : "directory";
return fromLocal(wd, projectDir, lockfileDir, type4, opts3);
}
if (wd.bareSpecifier.startsWith("path:")) {
throw new PathIsUnsupportedProtocolError(wd.bareSpecifier, "path:");
}
return null;
}
function parseLocalPath(wd, projectDir, lockfileDir, opts3) {
if (wd.bareSpecifier.endsWith(".tgz") || wd.bareSpecifier.endsWith(".tar.gz") || wd.bareSpecifier.endsWith(".tar") || wd.bareSpecifier.includes(path46.sep) || isFilespec.test(wd.bareSpecifier)) {
const type4 = isFilename.test(wd.bareSpecifier) ? "file" : "directory";
return fromLocal(wd, projectDir, lockfileDir, type4, opts3);
}
return null;
}
function fromLocal({ bareSpecifier, injected }, projectDir, lockfileDir, type4, opts3) {
const spec = bareSpecifier.replace(/\\/g, "/").replace(/^(?:file|link|workspace):\/*([A-Z]:)/i, "$1").replace(/^(?:file|link|workspace):(?:\/*([~./]))?/, "$1");
let protocol;
if (bareSpecifier.startsWith("file:")) {
protocol = "file:";
} else if (bareSpecifier.startsWith("link:")) {
protocol = "link:";
} else {
protocol = type4 === "directory" && !injected ? "link:" : "file:";
}
let fetchSpec;
let normalizedBareSpecifier;
if (/^~\//.test(spec)) {
fetchSpec = resolvePath2(os5.homedir(), spec.slice(2));
normalizedBareSpecifier = `${protocol}${spec}`;
} else {
fetchSpec = resolvePath2(projectDir, spec);
if (isAbsolute3(spec)) {
normalizedBareSpecifier = `${protocol}${spec}`;
} else {
normalizedBareSpecifier = `${protocol}${path46.relative(projectDir, fetchSpec)}`;
}
}
function normalizeRelativeOrAbsolute(relativeTo, fromPath) {
let specPath;
if (opts3.preserveAbsolutePaths && isAbsolute3(spec)) {
specPath = path46.resolve(fromPath);
} else {
specPath = path46.relative(relativeTo, fromPath);
}
return (0, import_normalize_path3.default)(specPath);
}
injected = protocol === "file:";
const dependencyPath = injected ? normalizeRelativeOrAbsolute(lockfileDir, fetchSpec) : (0, import_normalize_path3.default)(path46.resolve(fetchSpec));
const id = !injected && (type4 === "directory" || projectDir === lockfileDir) ? `${protocol}${normalizeRelativeOrAbsolute(projectDir, fetchSpec)}` : `${protocol}${normalizeRelativeOrAbsolute(lockfileDir, fetchSpec)}`;
return {
dependencyPath,
fetchSpec,
id,
normalizedBareSpecifier,
type: type4
};
}
function resolvePath2(where, spec) {
if (isAbsolutePath2.test(spec))
return spec;
return path46.resolve(where, spec);
}
function isAbsolute3(dir) {
if (dir[0] === "/")
return true;
if (/^[A-Z]:/i.test(dir))
return true;
return false;
}
var import_normalize_path3, isWindows7, isFilespec, isFilename, isAbsolutePath2, PathIsUnsupportedProtocolError;
var init_parseBareSpecifier3 = __esm({
"../resolving/local-resolver/lib/parseBareSpecifier.js"() {
"use strict";
init_lib2();
import_normalize_path3 = __toESM(require_normalize_path(), 1);
isWindows7 = process.platform === "win32" || global["FAKE_WINDOWS"];
isFilespec = isWindows7 ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i;
isFilename = /\.(?:tgz|tar.gz|tar)$/i;
isAbsolutePath2 = /^\/|^[A-Z]:/i;
PathIsUnsupportedProtocolError = class extends PnpmError {
bareSpecifier;
protocol;
constructor(bareSpecifier, protocol) {
super("PATH_IS_UNSUPPORTED_PROTOCOL", "Local dependencies via `path:` protocol are not supported. Use the `link:` protocol for folder dependencies and `file:` for local tarballs");
this.bareSpecifier = bareSpecifier;
this.protocol = protocol;
}
};
}
});
// ../resolving/local-resolver/lib/index.js
import { existsSync as existsSync4 } from "node:fs";
import path47 from "node:path";
async function resolveFromLocalScheme(ctx, wantedDependency, opts3) {
const spec = parseLocalScheme(wantedDependency, opts3.projectDir, opts3.lockfileDir ?? opts3.projectDir, {
preserveAbsolutePaths: ctx.preserveAbsolutePaths ?? false
});
return resolveSpec(spec, opts3);
}
async function resolveFromLocalPath(ctx, wantedDependency, opts3) {
const spec = parseLocalPath(wantedDependency, opts3.projectDir, opts3.lockfileDir ?? opts3.projectDir, {
preserveAbsolutePaths: ctx.preserveAbsolutePaths ?? false
});
return resolveSpec(spec, opts3);
}
async function resolveLatestFromLocal(query) {
const spec = query.wantedDependency.bareSpecifier;
if (spec?.startsWith("link:") || spec?.startsWith("file:") || spec?.startsWith("workspace:")) {
return {};
}
return void 0;
}
async function resolveSpec(spec, opts3) {
if (spec == null)
return null;
if (spec.type === "file") {
const integrity = await getTarballIntegrity(spec.fetchSpec);
return {
id: spec.id,
normalizedBareSpecifier: spec.normalizedBareSpecifier,
resolution: {
integrity,
tarball: spec.id
},
resolvedVia: "local-filesystem"
};
}
if (opts3.currentPkg?.resolution && spec.type === "directory" && !opts3.update) {
return {
id: opts3.currentPkg.id,
resolution: opts3.currentPkg.resolution,
resolvedVia: "local-filesystem"
};
}
let localDependencyManifest;
try {
localDependencyManifest = await readProjectManifestOnly(spec.fetchSpec);
} catch (internalErr) {
if (!existsSync4(spec.fetchSpec)) {
if (spec.id.startsWith("file:")) {
throw new PnpmError("LINKED_PKG_DIR_NOT_FOUND", `Could not install from "${spec.fetchSpec}" as it does not exist.`);
}
logger.warn({
message: `Installing a dependency from a non-existent directory: ${spec.fetchSpec}`,
prefix: opts3.projectDir
});
localDependencyManifest = {
name: path47.basename(spec.fetchSpec),
version: "0.0.0"
};
} else {
switch (internalErr.code) {
case "ENOTDIR": {
throw new PnpmError("NOT_PACKAGE_DIRECTORY", `Could not install from "${spec.fetchSpec}" as it is not a directory.`);
}
case "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND":
case "ENOENT": {
localDependencyManifest = {
name: path47.basename(spec.fetchSpec),
version: "0.0.0"
};
break;
}
default: {
throw internalErr;
}
}
}
}
return {
id: spec.id,
manifest: localDependencyManifest,
normalizedBareSpecifier: spec.normalizedBareSpecifier,
resolution: {
directory: spec.dependencyPath,
type: "directory"
},
resolvedVia: "local-filesystem"
};
}
var init_lib56 = __esm({
"../resolving/local-resolver/lib/index.js"() {
"use strict";
init_lib34();
init_lib2();
init_lib3();
init_lib15();
init_parseBareSpecifier3();
}
});
// ../resolving/tarball-resolver/lib/index.js
async function resolveFromTarball(fetchFromRegistry, wantedDependency) {
if (!wantedDependency.bareSpecifier.startsWith("http:") && !wantedDependency.bareSpecifier.startsWith("https:")) {
return null;
}
const normalizedBareSpecifier = new URL(wantedDependency.bareSpecifier).toString();
let resolvedUrl;
const response = await fetchFromRegistry(normalizedBareSpecifier, { method: "HEAD" });
if (response?.headers?.get("cache-control")?.includes("immutable")) {
resolvedUrl = response.url;
} else {
resolvedUrl = normalizedBareSpecifier;
}
return {
id: normalizedBareSpecifier,
normalizedBareSpecifier,
resolution: {
tarball: resolvedUrl
},
resolvedVia: "url"
};
}
async function resolveLatestFromTarball(query) {
const bareSpecifier = query.wantedDependency.bareSpecifier;
if (!bareSpecifier?.startsWith("http:") && !bareSpecifier?.startsWith("https:"))
return void 0;
return {};
}
var init_lib57 = __esm({
"../resolving/tarball-resolver/lib/index.js"() {
"use strict";
}
});
// ../resolving/default-resolver/lib/index.js
async function resolveFromCustomResolvers(customResolvers, wantedDependency, opts3) {
if (!customResolvers || customResolvers.length === 0) {
return null;
}
for (const customResolver of customResolvers) {
if (!customResolver.canResolve || !customResolver.resolve)
continue;
const canResolve = await checkCustomResolverCanResolve(customResolver, wantedDependency);
if (canResolve) {
const result2 = await customResolver.resolve(wantedDependency, {
lockfileDir: opts3.lockfileDir,
projectDir: opts3.projectDir,
preferredVersions: opts3.preferredVersions ?? {},
currentPkg: opts3.currentPkg
});
return {
...result2,
resolvedVia: "custom-resolver"
};
}
}
return null;
}
function createResolver(fetchFromRegistry, getAuthHeader, pnpmOpts) {
const { resolveFromNpm, resolveFromJsr, resolveFromNamedRegistry: resolveFromNamedRegistry2, resolveLatestFromNpm, resolveLatestFromJsr, resolveLatestFromNamedRegistry, clearCache } = createNpmResolver(fetchFromRegistry, getAuthHeader, pnpmOpts);
const resolveFromGit = createGitResolver(pnpmOpts);
const localCtx = { preserveAbsolutePaths: pnpmOpts.preserveAbsolutePaths };
const _resolveFromLocalScheme = resolveFromLocalScheme.bind(null, localCtx);
const _resolveFromLocalPath = resolveFromLocalPath.bind(null, localCtx);
const _resolveNodeRuntime = resolveNodeRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, nodeDownloadMirrors: pnpmOpts.nodeDownloadMirrors });
const _resolveDenoRuntime = resolveDenoRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, resolveFromNpm });
const _resolveBunRuntime = resolveBunRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, resolveFromNpm });
const _resolveLatestNodeRuntime = resolveLatestNodeRuntime.bind(null, { fetchFromRegistry, nodeDownloadMirrors: pnpmOpts.nodeDownloadMirrors });
const _resolveLatestDenoRuntime = resolveLatestDenoRuntime.bind(null, { resolveFromNpm });
const _resolveLatestBunRuntime = resolveLatestBunRuntime.bind(null, { resolveFromNpm });
const _resolveFromCustomResolvers = pnpmOpts.customResolvers ? resolveFromCustomResolvers.bind(null, pnpmOpts.customResolvers) : null;
return {
resolve: async (wantedDependency, opts3) => {
const resolution = await _resolveFromCustomResolvers?.(wantedDependency, opts3) ?? await resolveFromNpm(wantedDependency, opts3) ?? await resolveFromJsr(wantedDependency, opts3) ?? (wantedDependency.bareSpecifier && (await resolveFromGit(wantedDependency, opts3) ?? await resolveFromTarball(fetchFromRegistry, wantedDependency) ?? await _resolveFromLocalScheme(wantedDependency, opts3))) ?? await _resolveNodeRuntime(wantedDependency, opts3) ?? await _resolveDenoRuntime(wantedDependency, opts3) ?? await _resolveBunRuntime(wantedDependency, opts3) ?? // Named-registry runs between the explicit local schemes above and the
// path-shape match below, so `<alias>:@scope/pkg` reaches the configured
// registry while a colliding `file:`/`link:`/`workspace:` alias cannot
// hijack the built-in protocols.
await resolveFromNamedRegistry2(wantedDependency, opts3) ?? (wantedDependency.bareSpecifier ? await _resolveFromLocalPath(wantedDependency, opts3) : null);
if (!resolution) {
let specifier = `${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.bareSpecifier ?? ""}`;
if (specifier !== "") {
specifier = `"${specifier}"`;
}
throw new PnpmError("SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER", `${specifier} isn't supported by any available resolver.`);
}
return resolution;
},
resolveLatest: async (query, opts3) => {
const info = await resolveLatestFromNpm(query, opts3) ?? await resolveLatestFromJsr(query, opts3) ?? await resolveLatestFromGit(query) ?? await resolveLatestFromTarball(query) ?? await resolveLatestFromLocal(query) ?? await _resolveLatestNodeRuntime(query, opts3) ?? await _resolveLatestDenoRuntime(query, opts3) ?? await _resolveLatestBunRuntime(query, opts3) ?? await resolveLatestFromNamedRegistry(query, opts3);
return info;
},
clearCache
};
}
function createResolutionVerifiers(fetchFromRegistry, opts3) {
const fetchOpts = {
fetch: fetchFromRegistry,
retry: opts3.retry ?? {},
timeout: opts3.timeout ?? 6e4,
fetchWarnTimeoutMs: opts3.fetchWarnTimeoutMs ?? 1e4
};
const getAuthHeaderValueByURI = createGetAuthHeaderByURI(opts3.configByUri ?? {});
const verifiers = [];
const npmVerifier = createNpmResolutionVerifier({
minimumReleaseAge: opts3.minimumReleaseAge,
minimumReleaseAgeStrict: opts3.minimumReleaseAgeStrict,
minimumReleaseAgeExclude: opts3.minimumReleaseAgeExclude,
ignoreMissingTimeField: opts3.ignoreMissingTimeField,
trustPolicy: opts3.trustPolicy,
trustPolicyExclude: opts3.trustPolicyExclude,
trustPolicyIgnoreAfter: opts3.trustPolicyIgnoreAfter,
registries: opts3.registries,
namedRegistries: opts3.namedRegistries,
fetchOpts,
getAuthHeaderValueByURI,
cacheDir: opts3.cacheDir,
metaCache: opts3.metaCache,
now: opts3.now
});
verifiers.push(npmVerifier);
return verifiers;
}
var init_lib58 = __esm({
"../resolving/default-resolver/lib/index.js"() {
"use strict";
init_lib53();
init_lib54();
init_lib46();
init_lib2();
init_lib55();
init_lib52();
init_lib49();
init_lib56();
init_lib38();
init_lib57();
}
});
// ../installing/client/lib/index.js
function createClient(opts3) {
const fetchFromRegistry = createFetchFromRegistry(opts3);
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri);
const metaCache = createDefaultPackageMetaCache();
const { resolve: resolve4, clearCache: clearResolutionCache } = createResolver(fetchFromRegistry, getAuthHeader, { ...opts3, metaCache, customResolvers: opts3.customResolvers });
return {
fetchers: createFetchers(fetchFromRegistry, getAuthHeader, opts3),
resolve: resolve4,
clearResolutionCache,
resolutionVerifiers: createResolutionVerifiers(fetchFromRegistry, { ...opts3, metaCache })
};
}
function createResolver2(opts3) {
const fetchFromRegistry = createFetchFromRegistry(opts3);
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri);
return createResolver(fetchFromRegistry, getAuthHeader, { ...opts3, customResolvers: opts3.customResolvers });
}
function makeResolutionStrict(resolve4) {
return (async (wantedDependency, opts3) => {
const result2 = await resolve4(wantedDependency, opts3);
if (result2?.policyViolation) {
throw policyViolationToError(result2.policyViolation);
}
return result2;
});
}
function policyViolationToError(violation) {
const message = `${violation.name}@${violation.version} ${violation.reason}`;
const errorCode = violation.code === MINIMUM_RELEASE_AGE_VIOLATION_CODE ? "NO_MATURE_MATCHING_VERSION" : violation.code;
return new PnpmError(errorCode, message);
}
function createFetchers(fetchFromRegistry, getAuthHeader, opts3) {
const tarballFetchers = createTarballFetcher(fetchFromRegistry, getAuthHeader, opts3);
return {
...tarballFetchers,
...createGitFetcher(opts3),
...createDirectoryFetcher({ resolveSymlinks: opts3.resolveSymlinksInInjectedDirs, includeOnlyPackageFiles: opts3.includeOnlyPackageFiles }),
...createBinaryFetcher({
fetch: fetchFromRegistry,
fetchFromRemoteTarball: tarballFetchers.remoteTarball,
offline: opts3.offline,
storeIndex: opts3.storeIndex,
archiveFilters: { node: NODE_EXTRAS_IGNORE_PATTERN }
})
};
}
var init_lib59 = __esm({
"../installing/client/lib/index.js"() {
"use strict";
init_lib46();
init_lib2();
init_lib47();
init_lib19();
init_lib50();
init_lib51();
init_lib52();
init_lib23();
init_lib58();
init_lib38();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/imurmurhash/0.1.4/2f82bfc2313c21ec7e7d0ea2caff82f687c1db8ccf14306261d1d9e7afe19b75/node_modules/imurmurhash/imurmurhash.js
var require_imurmurhash = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/imurmurhash/0.1.4/2f82bfc2313c21ec7e7d0ea2caff82f687c1db8ccf14306261d1d9e7afe19b75/node_modules/imurmurhash/imurmurhash.js"(exports2, module2) {
(function() {
var cache;
function MurmurHash3(key, seed) {
var m = this instanceof MurmurHash3 ? this : cache;
m.reset(seed);
if (typeof key === "string" && key.length > 0) {
m.hash(key);
}
if (m !== this) {
return m;
}
}
;
MurmurHash3.prototype.hash = function(key) {
var h1, k1, i4, top, len;
len = key.length;
this.len += len;
k1 = this.k1;
i4 = 0;
switch (this.rem) {
case 0:
k1 ^= len > i4 ? key.charCodeAt(i4++) & 65535 : 0;
case 1:
k1 ^= len > i4 ? (key.charCodeAt(i4++) & 65535) << 8 : 0;
case 2:
k1 ^= len > i4 ? (key.charCodeAt(i4++) & 65535) << 16 : 0;
case 3:
k1 ^= len > i4 ? (key.charCodeAt(i4) & 255) << 24 : 0;
k1 ^= len > i4 ? (key.charCodeAt(i4++) & 65280) >> 8 : 0;
}
this.rem = len + this.rem & 3;
len -= this.rem;
if (len > 0) {
h1 = this.h1;
while (1) {
k1 = k1 * 11601 + (k1 & 65535) * 3432906752 & 4294967295;
k1 = k1 << 15 | k1 >>> 17;
k1 = k1 * 13715 + (k1 & 65535) * 461832192 & 4294967295;
h1 ^= k1;
h1 = h1 << 13 | h1 >>> 19;
h1 = h1 * 5 + 3864292196 & 4294967295;
if (i4 >= len) {
break;
}
k1 = key.charCodeAt(i4++) & 65535 ^ (key.charCodeAt(i4++) & 65535) << 8 ^ (key.charCodeAt(i4++) & 65535) << 16;
top = key.charCodeAt(i4++);
k1 ^= (top & 255) << 24 ^ (top & 65280) >> 8;
}
k1 = 0;
switch (this.rem) {
case 3:
k1 ^= (key.charCodeAt(i4 + 2) & 65535) << 16;
case 2:
k1 ^= (key.charCodeAt(i4 + 1) & 65535) << 8;
case 1:
k1 ^= key.charCodeAt(i4) & 65535;
}
this.h1 = h1;
}
this.k1 = k1;
return this;
};
MurmurHash3.prototype.result = function() {
var k1, h1;
k1 = this.k1;
h1 = this.h1;
if (k1 > 0) {
k1 = k1 * 11601 + (k1 & 65535) * 3432906752 & 4294967295;
k1 = k1 << 15 | k1 >>> 17;
k1 = k1 * 13715 + (k1 & 65535) * 461832192 & 4294967295;
h1 ^= k1;
}
h1 ^= this.len;
h1 ^= h1 >>> 16;
h1 = h1 * 51819 + (h1 & 65535) * 2246770688 & 4294967295;
h1 ^= h1 >>> 13;
h1 = h1 * 44597 + (h1 & 65535) * 3266445312 & 4294967295;
h1 ^= h1 >>> 16;
return h1 >>> 0;
};
MurmurHash3.prototype.reset = function(seed) {
this.h1 = typeof seed === "number" ? seed : 0;
this.rem = this.k1 = this.len = 0;
return this;
};
cache = new MurmurHash3();
if (typeof module2 != "undefined") {
module2.exports = MurmurHash3;
} else {
this.MurmurHash3 = MurmurHash3;
}
})();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-file-atomic/6.0.0/28f3e5f0396af400017247951525818d08d4d02421346b37e52a20b30a7b1f88/node_modules/write-file-atomic/lib/index.js
var require_lib20 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-file-atomic/6.0.0/28f3e5f0396af400017247951525818d08d4d02421346b37e52a20b30a7b1f88/node_modules/write-file-atomic/lib/index.js"(exports2, module2) {
"use strict";
module2.exports = writeFile3;
module2.exports.sync = writeFileSync2;
module2.exports._getTmpname = getTmpname;
module2.exports._cleanupOnExit = cleanupOnExit2;
var fs126 = __require("fs");
var MurmurHash3 = require_imurmurhash();
var { onExit: onExit2 } = require_cjs();
var path236 = __require("path");
var { promisify: promisify15 } = __require("util");
var activeFiles = {};
var threadId2 = (function getId2() {
try {
const workerThreads2 = __require("worker_threads");
return workerThreads2.threadId;
} catch (e) {
return 0;
}
})();
var invocations = 0;
function getTmpname(filename) {
return filename + "." + MurmurHash3(__filename).hash(String(process.pid)).hash(String(threadId2)).hash(String(++invocations)).result();
}
function cleanupOnExit2(tmpfile) {
return () => {
try {
fs126.unlinkSync(typeof tmpfile === "function" ? tmpfile() : tmpfile);
} catch {
}
};
}
function serializeActiveFile(absoluteName) {
return new Promise((resolve4) => {
if (!activeFiles[absoluteName]) {
activeFiles[absoluteName] = [];
}
activeFiles[absoluteName].push(resolve4);
if (activeFiles[absoluteName].length === 1) {
resolve4();
}
});
}
function isChownErrOk(err2) {
if (err2.code === "ENOSYS") {
return true;
}
const nonroot = !process.getuid || process.getuid() !== 0;
if (nonroot) {
if (err2.code === "EINVAL" || err2.code === "EPERM") {
return true;
}
}
return false;
}
async function writeFileAsync(filename, data, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
let fd2;
let tmpfile;
const removeOnExitHandler = onExit2(cleanupOnExit2(() => tmpfile));
const absoluteName = path236.resolve(filename);
try {
await serializeActiveFile(absoluteName);
const truename = await promisify15(fs126.realpath)(filename).catch(() => filename);
tmpfile = getTmpname(truename);
if (!options.mode || !options.chown) {
const stats = await promisify15(fs126.stat)(truename).catch(() => {
});
if (stats) {
if (options.mode == null) {
options.mode = stats.mode;
}
if (options.chown == null && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid };
}
}
}
fd2 = await promisify15(fs126.open)(tmpfile, "w", options.mode);
if (options.tmpfileCreated) {
await options.tmpfileCreated(tmpfile);
}
if (ArrayBuffer.isView(data)) {
await promisify15(fs126.write)(fd2, data, 0, data.length, 0);
} else if (data != null) {
await promisify15(fs126.write)(fd2, String(data), 0, String(options.encoding || "utf8"));
}
if (options.fsync !== false) {
await promisify15(fs126.fsync)(fd2);
}
await promisify15(fs126.close)(fd2);
fd2 = null;
if (options.chown) {
await promisify15(fs126.chown)(tmpfile, options.chown.uid, options.chown.gid).catch((err2) => {
if (!isChownErrOk(err2)) {
throw err2;
}
});
}
if (options.mode) {
await promisify15(fs126.chmod)(tmpfile, options.mode).catch((err2) => {
if (!isChownErrOk(err2)) {
throw err2;
}
});
}
await promisify15(fs126.rename)(tmpfile, truename);
} finally {
if (fd2) {
await promisify15(fs126.close)(fd2).catch(
/* istanbul ignore next */
() => {
}
);
}
removeOnExitHandler();
await promisify15(fs126.unlink)(tmpfile).catch(() => {
});
activeFiles[absoluteName].shift();
if (activeFiles[absoluteName].length > 0) {
activeFiles[absoluteName][0]();
} else {
delete activeFiles[absoluteName];
}
}
}
async function writeFile3(filename, data, options, callback2) {
if (options instanceof Function) {
callback2 = options;
options = {};
}
const promise2 = writeFileAsync(filename, data, options);
if (callback2) {
try {
const result2 = await promise2;
return callback2(result2);
} catch (err2) {
return callback2(err2);
}
}
return promise2;
}
function writeFileSync2(filename, data, options) {
if (typeof options === "string") {
options = { encoding: options };
} else if (!options) {
options = {};
}
try {
filename = fs126.realpathSync(filename);
} catch (ex) {
}
const tmpfile = getTmpname(filename);
if (!options.mode || !options.chown) {
try {
const stats = fs126.statSync(filename);
options = Object.assign({}, options);
if (!options.mode) {
options.mode = stats.mode;
}
if (!options.chown && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid };
}
} catch (ex) {
}
}
let fd2;
const cleanup2 = cleanupOnExit2(tmpfile);
const removeOnExitHandler = onExit2(cleanup2);
let threw = true;
try {
fd2 = fs126.openSync(tmpfile, "w", options.mode || 438);
if (options.tmpfileCreated) {
options.tmpfileCreated(tmpfile);
}
if (ArrayBuffer.isView(data)) {
fs126.writeSync(fd2, data, 0, data.length, 0);
} else if (data != null) {
fs126.writeSync(fd2, String(data), 0, String(options.encoding || "utf8"));
}
if (options.fsync !== false) {
fs126.fsyncSync(fd2);
}
fs126.closeSync(fd2);
fd2 = null;
if (options.chown) {
try {
fs126.chownSync(tmpfile, options.chown.uid, options.chown.gid);
} catch (err2) {
if (!isChownErrOk(err2)) {
throw err2;
}
}
}
if (options.mode) {
try {
fs126.chmodSync(tmpfile, options.mode);
} catch (err2) {
if (!isChownErrOk(err2)) {
throw err2;
}
}
}
fs126.renameSync(tmpfile, filename);
threw = false;
} finally {
if (fd2) {
try {
fs126.closeSync(fd2);
} catch (ex) {
}
}
removeOnExitHandler();
if (threw) {
cleanup2();
}
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/sort-keys/6.0.1/a3f42f700d138c550c7d458b121d3c960af5d0522ddb275564c561c4ed38b9cd/node_modules/sort-keys/index.js
function buildPath(parentPathArray, key) {
if (Array.isArray(parentPathArray) && parentPathArray.length > 0) {
return [...parentPathArray, key];
}
return [key];
}
function sortKeys(object, options = {}) {
if (!isPlainObject(object) && !Array.isArray(object)) {
throw new TypeError("Expected a plain object or array");
}
const { deep = false, compare: compare3, ignoreKeys } = options;
const cache = /* @__PURE__ */ new WeakMap();
const shouldIgnoreKey = (context) => {
if (Array.isArray(ignoreKeys)) {
return ignoreKeys.includes(context.key);
}
if (typeof ignoreKeys === "function") {
return ignoreKeys(context);
}
return false;
};
const shouldProcessDeep = (context) => {
if (typeof deep === "boolean") {
return deep;
}
if (typeof deep === "function") {
return deep(context);
}
return false;
};
const deepSortArray = (array, currentPath, currentDepth) => {
const resultFromCache = cache.get(array);
if (resultFromCache !== void 0) {
return resultFromCache;
}
const result2 = [];
result2.length = array.length;
cache.set(array, result2);
for (const index2 of array.keys()) {
if (!(index2 in array)) {
continue;
}
const item = array[index2];
const indexKey = String(index2);
const itemPath = buildPath(currentPath, indexKey);
const contextDepth = currentDepth + 1;
const context = {
key: indexKey,
value: item,
path: itemPath,
depth: contextDepth
};
if (Array.isArray(item)) {
result2[index2] = shouldProcessDeep(context) ? deepSortArray(item, itemPath, contextDepth) : item;
continue;
}
if (isPlainObject(item)) {
result2[index2] = shouldProcessDeep(context) ? _sortKeys(item, itemPath, contextDepth + 1) : item;
continue;
}
result2[index2] = item;
}
return result2;
};
const _sortKeys = (object2, currentPath = [], currentDepth = 0) => {
const resultFromCache = cache.get(object2);
if (resultFromCache !== void 0) {
return resultFromCache;
}
const result2 = {};
const allKeys = Object.keys(object2);
const ignoredKeys = [];
const keysToSort = [];
for (const key of allKeys) {
const value = object2[key];
const keyPath = buildPath(currentPath, key);
const context = {
key,
value,
path: keyPath,
depth: currentDepth
};
if (shouldIgnoreKey(context)) {
ignoredKeys.push(key);
} else {
keysToSort.push(key);
}
}
const sortedKeys = keysToSort.sort(compare3);
const finalKeys = [...ignoredKeys, ...sortedKeys];
cache.set(object2, result2);
for (const key of finalKeys) {
const value = object2[key];
const keyPath = buildPath(currentPath, key);
const context = {
key,
value,
path: keyPath,
depth: currentDepth
};
let newValue = value;
if (shouldProcessDeep(context)) {
if (Array.isArray(value)) {
newValue = deepSortArray(value, keyPath, currentDepth);
} else if (isPlainObject(value)) {
newValue = _sortKeys(value, keyPath, currentDepth + 1);
}
}
const descriptor = Object.getOwnPropertyDescriptor(object2, key);
if (descriptor.get || descriptor.set) {
Object.defineProperty(result2, key, descriptor);
} else {
Object.defineProperty(result2, key, {
...descriptor,
value: newValue
});
}
}
return result2;
};
if (Array.isArray(object)) {
return deepSortArray(object, [], -1);
}
return _sortKeys(object, [], 0);
}
var init_sort_keys = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/sort-keys/6.0.1/a3f42f700d138c550c7d458b121d3c960af5d0522ddb275564c561c4ed38b9cd/node_modules/sort-keys/index.js"() {
init_is_plain_obj();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-json-file/7.0.0/028993697ed5a91ddc0d90c5d5e92f1d10d325c0b14af5b5f5b9f6b44ba9da78/node_modules/write-json-file/index.js
import path48 from "node:path";
import fs30, { promises as fsPromises3 } from "node:fs";
async function writeJsonFile(filePath, data, options) {
await fsPromises3.mkdir(path48.dirname(filePath), { recursive: true });
await init(main2, filePath, data, options);
}
var import_write_file_atomic3, init, main2;
var init_write_json_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-json-file/7.0.0/028993697ed5a91ddc0d90c5d5e92f1d10d325c0b14af5b5f5b9f6b44ba9da78/node_modules/write-json-file/index.js"() {
import_write_file_atomic3 = __toESM(require_lib20(), 1);
init_sort_keys();
init_detect_indent();
init_is_plain_obj();
init = (function_, filePath, data, options) => {
if (!filePath) {
throw new TypeError("Expected a filepath");
}
if (data === void 0) {
throw new TypeError("Expected data to stringify");
}
options = {
indent: " ",
sortKeys: false,
...options
};
if (options.sortKeys && isPlainObject(data)) {
data = sortKeys(data, {
deep: true,
compare: typeof options.sortKeys === "function" ? options.sortKeys : void 0
});
}
return function_(filePath, data, options);
};
main2 = async (filePath, data, options) => {
let { indent } = options;
let trailingNewline = "\n";
try {
const file = await fsPromises3.readFile(filePath, "utf8");
if (!file.endsWith("\n")) {
trailingNewline = "";
}
if (options.detectIndent) {
indent = detectIndent(file).indent;
}
} catch (error) {
if (error.code !== "ENOENT") {
throw error;
}
}
const json2 = JSON.stringify(data, options.replacer, indent);
return (0, import_write_file_atomic3.default)(filePath, `${json2}${trailingNewline}`, { mode: options.mode, chown: false });
};
}
});
// lib/checkForUpdates.js
import path49 from "node:path";
async function checkForUpdates(config2) {
const stateFile = path49.join(config2.stateDir, "pnpm-state.json");
let state;
try {
state = await loadJsonFile(stateFile);
} catch {
}
if (state?.lastUpdateCheck && Date.now() - new Date(state.lastUpdateCheck).valueOf() < UPDATE_CHECK_FREQUENCY)
return;
const { resolve: resolve4 } = createResolver2({
...config2,
configByUri: config2.configByUri,
retry: {
retries: 0
}
});
const resolution = await resolve4({ alias: packageManager.name, bareSpecifier: "latest" }, {
lockfileDir: config2.lockfileDir ?? config2.dir,
preferredVersions: {},
projectDir: config2.dir
});
if (resolution?.manifest?.version) {
updateCheckLogger.debug({
currentVersion: packageManager.version,
latestVersion: resolution?.manifest.version
});
}
await writeJsonFile(stateFile, {
...state,
lastUpdateCheck: (/* @__PURE__ */ new Date()).toUTCString()
});
}
var UPDATE_CHECK_FREQUENCY;
var init_checkForUpdates = __esm({
"lib/checkForUpdates.js"() {
"use strict";
init_lib24();
init_lib6();
init_lib59();
init_load_json_file();
init_write_json_file();
UPDATE_CHECK_FREQUENCY = 24 * 60 * 60 * 1e3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/key.js
function isKeybinding(value) {
return keybindingLookup.has(value);
}
function getDefaultKeybindings() {
const env3 = process.env["INQUIRER_KEYBINDINGS"];
if (!env3)
return [];
return Array.from(new Set(env3.toLowerCase().split(/[\s,]+/).filter(isKeybinding)));
}
var keybindings, keybindingLookup, isUpKey, isDownKey, isSpaceKey, isBackspaceKey, isTabKey, isNumberKey, isEnterKey;
var init_key = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/key.js"() {
keybindings = ["emacs", "vim"];
keybindingLookup = new Set(keybindings);
isUpKey = (key, keybindings2 = []) => (
// The up key
key.name === "up" || // Vim keybinding: hjkl keys map to left/down/up/right
keybindings2.includes("vim") && key.name === "k" || // Emacs keybinding: Ctrl+P means "previous" in Emacs navigation conventions
keybindings2.includes("emacs") && key.ctrl && key.name === "p"
);
isDownKey = (key, keybindings2 = []) => (
// The down key
key.name === "down" || // Vim keybinding: hjkl keys map to left/down/up/right
keybindings2.includes("vim") && key.name === "j" || // Emacs keybinding: Ctrl+N means "next" in Emacs navigation conventions
keybindings2.includes("emacs") && key.ctrl && key.name === "n"
);
isSpaceKey = (key) => key.name === "space";
isBackspaceKey = (key) => key.name === "backspace";
isTabKey = (key) => key.name === "tab";
isNumberKey = (key) => "1234567890".includes(key.name);
isEnterKey = (key) => key.name === "enter" || key.name === "return";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/errors.js
var AbortPromptError, CancelPromptError, ExitPromptError, HookError, ValidationError;
var init_errors = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/errors.js"() {
AbortPromptError = class extends Error {
name = "AbortPromptError";
message = "Prompt was aborted";
constructor(options) {
super();
this.cause = options?.cause;
}
};
CancelPromptError = class extends Error {
name = "CancelPromptError";
message = "Prompt was canceled";
};
ExitPromptError = class extends Error {
name = "ExitPromptError";
};
HookError = class extends Error {
name = "HookError";
};
ValidationError = class extends Error {
name = "ValidationError";
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/hook-engine.js
import { AsyncLocalStorage, AsyncResource } from "node:async_hooks";
function createStore(rl) {
const store = {
rl,
hooks: [],
hooksCleanup: [],
hooksEffect: [],
index: 0,
handleChange() {
}
};
return store;
}
function withHooks(rl, cb) {
const store = createStore(rl);
return hookStorage.run(store, () => {
function cycle(render3) {
store.handleChange = () => {
store.index = 0;
render3();
};
store.handleChange();
}
return cb(cycle);
});
}
function getStore() {
const store = hookStorage.getStore();
if (!store) {
throw new HookError("[Inquirer] Hook functions can only be called from within a prompt");
}
return store;
}
function readline() {
return getStore().rl;
}
function withUpdates(fn) {
const wrapped = (...args) => {
const store = getStore();
let shouldUpdate = false;
const oldHandleChange = store.handleChange;
store.handleChange = () => {
shouldUpdate = true;
};
const returnValue = fn(...args);
if (shouldUpdate) {
oldHandleChange();
}
store.handleChange = oldHandleChange;
return returnValue;
};
return AsyncResource.bind(wrapped);
}
function withPointer(cb) {
const store = getStore();
const { index: index2 } = store;
const pointer = {
get() {
return store.hooks[index2];
},
set(value) {
store.hooks[index2] = value;
},
initialized: index2 in store.hooks
};
const returnValue = cb(pointer);
store.index++;
return returnValue;
}
function handleChange() {
getStore().handleChange();
}
var hookStorage, effectScheduler;
var init_hook_engine = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/hook-engine.js"() {
init_errors();
hookStorage = new AsyncLocalStorage();
effectScheduler = {
queue(cb) {
const store = getStore();
const { index: index2 } = store;
store.hooksEffect.push(() => {
store.hooksCleanup[index2]?.();
const cleanFn = cb(readline());
if (cleanFn != null && typeof cleanFn !== "function") {
throw new ValidationError("useEffect return value must be a cleanup function or nothing.");
}
store.hooksCleanup[index2] = cleanFn;
});
},
run() {
const store = getStore();
withUpdates(() => {
store.hooksEffect.forEach((effect) => {
effect();
});
store.hooksEffect.length = 0;
})();
},
clearAll() {
const store = getStore();
store.hooksCleanup.forEach((cleanFn) => {
cleanFn?.();
});
store.hooksEffect.length = 0;
store.hooksCleanup.length = 0;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-state.js
import { AsyncResource as AsyncResource2 } from "node:async_hooks";
function isFactory(value) {
return typeof value === "function";
}
function useState(defaultValue) {
return withPointer((pointer) => {
const setState = AsyncResource2.bind(function setState2(newValue) {
if (pointer.get() !== newValue) {
pointer.set(newValue);
handleChange();
}
});
if (pointer.initialized) {
return [pointer.get(), setState];
}
const value = isFactory(defaultValue) ? defaultValue() : defaultValue;
pointer.set(value);
return [value, setState];
});
}
var init_use_state = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-state.js"() {
init_hook_engine();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-effect.js
function useEffect(cb, depArray) {
withPointer((pointer) => {
const oldDeps = pointer.get();
const hasChanged = !Array.isArray(oldDeps) || depArray.some((dep, i4) => !Object.is(dep, oldDeps[i4]));
if (hasChanged) {
effectScheduler.queue(cb);
}
pointer.set(depArray);
});
}
var init_use_effect = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-effect.js"() {
init_hook_engine();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/figures/2.0.7/b69b05fab29cbfb1e7df41885d318fd9525bf31572bc1e1901cd1bad25a58795/node_modules/@inquirer/figures/dist/index.js
import process19 from "node:process";
function isUnicodeSupported2() {
if (!process19.platform.startsWith("win")) {
return process19.env["TERM"] !== "linux";
}
return Boolean(process19.env["CI"]) || // CI environments generally support unicode
Boolean(process19.env["WT_SESSION"]) || // Windows Terminal
Boolean(process19.env["TERMINUS_SUBLIME"]) || // Terminus (<0.2.27)
process19.env["ConEmuTask"] === "{cmd::Cmder}" || // ConEmu and cmder
process19.env["TERM_PROGRAM"] === "Terminus-Sublime" || process19.env["TERM_PROGRAM"] === "vscode" || process19.env["TERM"] === "xterm-256color" || process19.env["TERM"] === "alacritty" || process19.env["TERMINAL_EMULATOR"] === "JetBrains-JediTerm";
}
var common3, specialMainSymbols2, specialFallbackSymbols2, mainSymbols2, fallbackSymbols2, shouldUseMain2, figures2, dist_default, replacements2;
var init_dist4 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/figures/2.0.7/b69b05fab29cbfb1e7df41885d318fd9525bf31572bc1e1901cd1bad25a58795/node_modules/@inquirer/figures/dist/index.js"() {
common3 = {
circleQuestionMark: "(?)",
questionMarkPrefix: "(?)",
square: "\u2588",
squareDarkShade: "\u2593",
squareMediumShade: "\u2592",
squareLightShade: "\u2591",
squareTop: "\u2580",
squareBottom: "\u2584",
squareLeft: "\u258C",
squareRight: "\u2590",
squareCenter: "\u25A0",
bullet: "\u25CF",
dot: "\u2024",
ellipsis: "\u2026",
pointerSmall: "\u203A",
triangleUp: "\u25B2",
triangleUpSmall: "\u25B4",
triangleDown: "\u25BC",
triangleDownSmall: "\u25BE",
triangleLeftSmall: "\u25C2",
triangleRightSmall: "\u25B8",
home: "\u2302",
heart: "\u2665",
musicNote: "\u266A",
musicNoteBeamed: "\u266B",
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
arrowLeftRight: "\u2194",
arrowUpDown: "\u2195",
almostEqual: "\u2248",
notEqual: "\u2260",
lessOrEqual: "\u2264",
greaterOrEqual: "\u2265",
identical: "\u2261",
infinity: "\u221E",
subscriptZero: "\u2080",
subscriptOne: "\u2081",
subscriptTwo: "\u2082",
subscriptThree: "\u2083",
subscriptFour: "\u2084",
subscriptFive: "\u2085",
subscriptSix: "\u2086",
subscriptSeven: "\u2087",
subscriptEight: "\u2088",
subscriptNine: "\u2089",
oneHalf: "\xBD",
oneThird: "\u2153",
oneQuarter: "\xBC",
oneFifth: "\u2155",
oneSixth: "\u2159",
oneEighth: "\u215B",
twoThirds: "\u2154",
twoFifths: "\u2156",
threeQuarters: "\xBE",
threeFifths: "\u2157",
threeEighths: "\u215C",
fourFifths: "\u2158",
fiveSixths: "\u215A",
fiveEighths: "\u215D",
sevenEighths: "\u215E",
line: "\u2500",
lineBold: "\u2501",
lineDouble: "\u2550",
lineDashed0: "\u2504",
lineDashed1: "\u2505",
lineDashed2: "\u2508",
lineDashed3: "\u2509",
lineDashed4: "\u254C",
lineDashed5: "\u254D",
lineDashed6: "\u2574",
lineDashed7: "\u2576",
lineDashed8: "\u2578",
lineDashed9: "\u257A",
lineDashed10: "\u257C",
lineDashed11: "\u257E",
lineDashed12: "\u2212",
lineDashed13: "\u2013",
lineDashed14: "\u2010",
lineDashed15: "\u2043",
lineVertical: "\u2502",
lineVerticalBold: "\u2503",
lineVerticalDouble: "\u2551",
lineVerticalDashed0: "\u2506",
lineVerticalDashed1: "\u2507",
lineVerticalDashed2: "\u250A",
lineVerticalDashed3: "\u250B",
lineVerticalDashed4: "\u254E",
lineVerticalDashed5: "\u254F",
lineVerticalDashed6: "\u2575",
lineVerticalDashed7: "\u2577",
lineVerticalDashed8: "\u2579",
lineVerticalDashed9: "\u257B",
lineVerticalDashed10: "\u257D",
lineVerticalDashed11: "\u257F",
lineDownLeft: "\u2510",
lineDownLeftArc: "\u256E",
lineDownBoldLeftBold: "\u2513",
lineDownBoldLeft: "\u2512",
lineDownLeftBold: "\u2511",
lineDownDoubleLeftDouble: "\u2557",
lineDownDoubleLeft: "\u2556",
lineDownLeftDouble: "\u2555",
lineDownRight: "\u250C",
lineDownRightArc: "\u256D",
lineDownBoldRightBold: "\u250F",
lineDownBoldRight: "\u250E",
lineDownRightBold: "\u250D",
lineDownDoubleRightDouble: "\u2554",
lineDownDoubleRight: "\u2553",
lineDownRightDouble: "\u2552",
lineUpLeft: "\u2518",
lineUpLeftArc: "\u256F",
lineUpBoldLeftBold: "\u251B",
lineUpBoldLeft: "\u251A",
lineUpLeftBold: "\u2519",
lineUpDoubleLeftDouble: "\u255D",
lineUpDoubleLeft: "\u255C",
lineUpLeftDouble: "\u255B",
lineUpRight: "\u2514",
lineUpRightArc: "\u2570",
lineUpBoldRightBold: "\u2517",
lineUpBoldRight: "\u2516",
lineUpRightBold: "\u2515",
lineUpDoubleRightDouble: "\u255A",
lineUpDoubleRight: "\u2559",
lineUpRightDouble: "\u2558",
lineUpDownLeft: "\u2524",
lineUpBoldDownBoldLeftBold: "\u252B",
lineUpBoldDownBoldLeft: "\u2528",
lineUpDownLeftBold: "\u2525",
lineUpBoldDownLeftBold: "\u2529",
lineUpDownBoldLeftBold: "\u252A",
lineUpDownBoldLeft: "\u2527",
lineUpBoldDownLeft: "\u2526",
lineUpDoubleDownDoubleLeftDouble: "\u2563",
lineUpDoubleDownDoubleLeft: "\u2562",
lineUpDownLeftDouble: "\u2561",
lineUpDownRight: "\u251C",
lineUpBoldDownBoldRightBold: "\u2523",
lineUpBoldDownBoldRight: "\u2520",
lineUpDownRightBold: "\u251D",
lineUpBoldDownRightBold: "\u2521",
lineUpDownBoldRightBold: "\u2522",
lineUpDownBoldRight: "\u251F",
lineUpBoldDownRight: "\u251E",
lineUpDoubleDownDoubleRightDouble: "\u2560",
lineUpDoubleDownDoubleRight: "\u255F",
lineUpDownRightDouble: "\u255E",
lineDownLeftRight: "\u252C",
lineDownBoldLeftBoldRightBold: "\u2533",
lineDownLeftBoldRightBold: "\u252F",
lineDownBoldLeftRight: "\u2530",
lineDownBoldLeftBoldRight: "\u2531",
lineDownBoldLeftRightBold: "\u2532",
lineDownLeftRightBold: "\u252E",
lineDownLeftBoldRight: "\u252D",
lineDownDoubleLeftDoubleRightDouble: "\u2566",
lineDownDoubleLeftRight: "\u2565",
lineDownLeftDoubleRightDouble: "\u2564",
lineUpLeftRight: "\u2534",
lineUpBoldLeftBoldRightBold: "\u253B",
lineUpLeftBoldRightBold: "\u2537",
lineUpBoldLeftRight: "\u2538",
lineUpBoldLeftBoldRight: "\u2539",
lineUpBoldLeftRightBold: "\u253A",
lineUpLeftRightBold: "\u2536",
lineUpLeftBoldRight: "\u2535",
lineUpDoubleLeftDoubleRightDouble: "\u2569",
lineUpDoubleLeftRight: "\u2568",
lineUpLeftDoubleRightDouble: "\u2567",
lineUpDownLeftRight: "\u253C",
lineUpBoldDownBoldLeftBoldRightBold: "\u254B",
lineUpDownBoldLeftBoldRightBold: "\u2548",
lineUpBoldDownLeftBoldRightBold: "\u2547",
lineUpBoldDownBoldLeftRightBold: "\u254A",
lineUpBoldDownBoldLeftBoldRight: "\u2549",
lineUpBoldDownLeftRight: "\u2540",
lineUpDownBoldLeftRight: "\u2541",
lineUpDownLeftBoldRight: "\u253D",
lineUpDownLeftRightBold: "\u253E",
lineUpBoldDownBoldLeftRight: "\u2542",
lineUpDownLeftBoldRightBold: "\u253F",
lineUpBoldDownLeftBoldRight: "\u2543",
lineUpBoldDownLeftRightBold: "\u2544",
lineUpDownBoldLeftBoldRight: "\u2545",
lineUpDownBoldLeftRightBold: "\u2546",
lineUpDoubleDownDoubleLeftDoubleRightDouble: "\u256C",
lineUpDoubleDownDoubleLeftRight: "\u256B",
lineUpDownLeftDoubleRightDouble: "\u256A",
lineCross: "\u2573",
lineBackslash: "\u2572",
lineSlash: "\u2571"
};
specialMainSymbols2 = {
tick: "\u2714",
info: "\u2139",
warning: "\u26A0",
cross: "\u2718",
squareSmall: "\u25FB",
squareSmallFilled: "\u25FC",
circle: "\u25EF",
circleFilled: "\u25C9",
circleDotted: "\u25CC",
circleDouble: "\u25CE",
circleCircle: "\u24DE",
circleCross: "\u24E7",
circlePipe: "\u24BE",
radioOn: "\u25C9",
radioOff: "\u25EF",
checkboxOn: "\u2612",
checkboxOff: "\u2610",
checkboxCircleOn: "\u24E7",
checkboxCircleOff: "\u24BE",
pointer: "\u276F",
triangleUpOutline: "\u25B3",
triangleLeft: "\u25C0",
triangleRight: "\u25B6",
lozenge: "\u25C6",
lozengeOutline: "\u25C7",
hamburger: "\u2630",
smiley: "\u32E1",
mustache: "\u0DF4",
star: "\u2605",
play: "\u25B6",
nodejs: "\u2B22",
oneSeventh: "\u2150",
oneNinth: "\u2151",
oneTenth: "\u2152"
};
specialFallbackSymbols2 = {
tick: "\u221A",
info: "i",
warning: "\u203C",
cross: "\xD7",
squareSmall: "\u25A1",
squareSmallFilled: "\u25A0",
circle: "( )",
circleFilled: "(*)",
circleDotted: "( )",
circleDouble: "( )",
circleCircle: "(\u25CB)",
circleCross: "(\xD7)",
circlePipe: "(\u2502)",
radioOn: "(*)",
radioOff: "( )",
checkboxOn: "[\xD7]",
checkboxOff: "[ ]",
checkboxCircleOn: "(\xD7)",
checkboxCircleOff: "( )",
pointer: ">",
triangleUpOutline: "\u2206",
triangleLeft: "\u25C4",
triangleRight: "\u25BA",
lozenge: "\u2666",
lozengeOutline: "\u25CA",
hamburger: "\u2261",
smiley: "\u263A",
mustache: "\u250C\u2500\u2510",
star: "\u2736",
play: "\u25BA",
nodejs: "\u2666",
oneSeventh: "1/7",
oneNinth: "1/9",
oneTenth: "1/10"
};
mainSymbols2 = {
...common3,
...specialMainSymbols2
};
fallbackSymbols2 = {
...common3,
...specialFallbackSymbols2
};
shouldUseMain2 = isUnicodeSupported2();
figures2 = shouldUseMain2 ? mainSymbols2 : fallbackSymbols2;
dist_default = figures2;
replacements2 = Object.entries(specialMainSymbols2);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/theme.js
import { styleText } from "node:util";
function getDefaultTheme() {
return {
...defaultTheme,
keybindings: getDefaultKeybindings()
};
}
var defaultTheme;
var init_theme = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/theme.js"() {
init_dist4();
init_key();
defaultTheme = {
prefix: {
idle: styleText("blue", "?"),
done: styleText("green", dist_default.tick)
},
spinner: {
interval: 80,
frames: ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"].map((frame) => styleText("yellow", frame))
},
keybindings: [],
style: {
answer: (text) => styleText("cyan", text),
message: (text) => styleText("bold", text),
error: (text) => styleText("red", `> ${text}`),
defaultAnswer: (text) => styleText("dim", `(${text})`),
help: (text) => styleText("dim", text),
highlight: (text) => styleText("cyan", text),
key: (text) => styleText("cyan", styleText("bold", `<${text}>`))
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/make-theme.js
function isPlainObject2(value) {
if (typeof value !== "object" || value === null)
return false;
let proto2 = value;
while (Object.getPrototypeOf(proto2) !== null) {
proto2 = Object.getPrototypeOf(proto2);
}
return Object.getPrototypeOf(value) === proto2;
}
function deepMerge(...objects) {
const output = {};
for (const obj of objects) {
for (const [key, value] of Object.entries(obj)) {
const prevValue = output[key];
output[key] = isPlainObject2(prevValue) && isPlainObject2(value) ? deepMerge(prevValue, value) : value;
}
}
return output;
}
function makeTheme(...themes) {
const themesToMerge = [
getDefaultTheme(),
...themes.filter((theme) => theme != null)
];
return deepMerge(...themesToMerge);
}
var init_make_theme = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/make-theme.js"() {
init_theme();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-prefix.js
function usePrefix({ status = "idle", theme }) {
const [showLoader, setShowLoader] = useState(false);
const [tick, setTick] = useState(0);
const { prefix, spinner } = makeTheme(theme);
useEffect(() => {
if (status === "loading") {
let tickInterval;
let inc3 = -1;
const delayTimeout = setTimeout(() => {
setShowLoader(true);
tickInterval = setInterval(() => {
inc3 = inc3 + 1;
setTick(inc3 % spinner.frames.length);
}, spinner.interval);
}, 300);
return () => {
clearTimeout(delayTimeout);
clearInterval(tickInterval);
};
} else {
setShowLoader(false);
}
}, [status]);
if (showLoader) {
return spinner.frames[tick];
}
const iconName = status === "loading" ? "idle" : status;
return typeof prefix === "string" ? prefix : prefix[iconName] ?? prefix["idle"];
}
var init_use_prefix = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-prefix.js"() {
init_use_state();
init_use_effect();
init_make_theme();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-memo.js
function useMemo(fn, dependencies) {
return withPointer((pointer) => {
const prev = pointer.get();
if (!prev || prev.dependencies.length !== dependencies.length || prev.dependencies.some((dep, i4) => dep !== dependencies[i4])) {
const value = fn();
pointer.set({ value, dependencies });
return value;
}
return prev.value;
});
}
var init_use_memo = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-memo.js"() {
init_hook_engine();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-ref.js
function useRef(val) {
return useState({ current: val })[0];
}
var init_use_ref = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-ref.js"() {
init_use_state();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-keypress.js
function useKeypress(userHandler) {
const signal = useRef(userHandler);
signal.current = userHandler;
useEffect((rl) => {
let ignore2 = false;
const handler82 = withUpdates((_input, event) => {
if (ignore2)
return;
void signal.current(event, rl);
});
rl.input.on("keypress", handler82);
return () => {
ignore2 = true;
rl.input.removeListener("keypress", handler82);
};
}, []);
}
var init_use_keypress = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/use-keypress.js"() {
init_use_ref();
init_use_effect();
init_hook_engine();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cli-width/4.1.0/05d7ce5fb90e3662c73fce3d95401494067b7dd58c781b2602b5a3ba1a15b453/node_modules/cli-width/index.js
var require_cli_width = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cli-width/4.1.0/05d7ce5fb90e3662c73fce3d95401494067b7dd58c781b2602b5a3ba1a15b453/node_modules/cli-width/index.js"(exports2, module2) {
"use strict";
module2.exports = cliWidth2;
function normalizeOpts(options) {
const defaultOpts = {
defaultWidth: 0,
output: process.stdout,
tty: __require("tty")
};
if (!options) {
return defaultOpts;
}
Object.keys(defaultOpts).forEach(function(key) {
if (!options[key]) {
options[key] = defaultOpts[key];
}
});
return options;
}
function cliWidth2(options) {
const opts3 = normalizeOpts(options);
if (opts3.output.getWindowSize) {
return opts3.output.getWindowSize()[0] || opts3.defaultWidth;
}
if (opts3.tty.getWindowSize) {
return opts3.tty.getWindowSize()[1] || opts3.defaultWidth;
}
if (opts3.output.columns) {
return opts3.output.columns;
}
if (process.env.CLI_WIDTH) {
const width = parseInt(process.env.CLI_WIDTH, 10);
if (!isNaN(width) && width !== 0) {
return width;
}
}
return opts3.defaultWidth;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-truncated-width/3.0.3/5e16650deba0731567b17e8a4a9273e5b04fa18f3f27351a1f8f22294279d082/node_modules/fast-string-truncated-width/dist/utils.js
var getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji;
var init_utils2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-truncated-width/3.0.3/5e16650deba0731567b17e8a4a9273e5b04fa18f3f27351a1f8f22294279d082/node_modules/fast-string-truncated-width/dist/utils.js"() {
getCodePointsLength = /* @__PURE__ */ (() => {
const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
return (input) => {
let surrogatePairsNr = 0;
SURROGATE_PAIR_RE.lastIndex = 0;
while (SURROGATE_PAIR_RE.test(input)) {
surrogatePairsNr += 1;
}
return input.length - surrogatePairsNr;
};
})();
isFullWidth = (x3) => {
return x3 === 12288 || x3 >= 65281 && x3 <= 65376 || x3 >= 65504 && x3 <= 65510;
};
isWideNotCJKTNotEmoji = (x3) => {
return x3 === 8987 || x3 === 9001 || x3 >= 12272 && x3 <= 12287 || x3 >= 12289 && x3 <= 12350 || x3 >= 12441 && x3 <= 12543 || x3 >= 12549 && x3 <= 12591 || x3 >= 12593 && x3 <= 12686 || x3 >= 12688 && x3 <= 12771 || x3 >= 12783 && x3 <= 12830 || x3 >= 12832 && x3 <= 12871 || x3 >= 12880 && x3 <= 19903 || x3 >= 65040 && x3 <= 65049 || x3 >= 65072 && x3 <= 65106 || x3 >= 65108 && x3 <= 65126 || x3 >= 65128 && x3 <= 65131 || x3 >= 127488 && x3 <= 127490 || x3 >= 127504 && x3 <= 127547 || x3 >= 127552 && x3 <= 127560 || x3 >= 131072 && x3 <= 196605 || x3 >= 196608 && x3 <= 262141;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-truncated-width/3.0.3/5e16650deba0731567b17e8a4a9273e5b04fa18f3f27351a1f8f22294279d082/node_modules/fast-string-truncated-width/dist/index.js
var ANSI_RE, CONTROL_RE, CJKT_WIDE_RE, TAB_RE, EMOJI_RE, LATIN_RE, MODIFIER_RE, NO_TRUNCATION, getStringTruncatedWidth, dist_default2;
var init_dist5 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-truncated-width/3.0.3/5e16650deba0731567b17e8a4a9273e5b04fa18f3f27351a1f8f22294279d082/node_modules/fast-string-truncated-width/dist/index.js"() {
init_utils2();
ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
CONTROL_RE = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
CJKT_WIDE_RE = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu;
TAB_RE = /\t{1,1000}/y;
EMOJI_RE = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu;
LATIN_RE = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
MODIFIER_RE = /\p{M}+/gu;
NO_TRUNCATION = { limit: Infinity, ellipsis: "" };
getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {
const LIMIT = truncationOptions.limit ?? Infinity;
const ELLIPSIS = truncationOptions.ellipsis ?? "";
const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION, widthOptions).width : 0);
const ANSI_WIDTH = 0;
const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
const TAB_WIDTH = widthOptions.tabWidth ?? 8;
const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;
const FULL_WIDTH_WIDTH = 2;
const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;
const PARSE_BLOCKS = [
[LATIN_RE, REGULAR_WIDTH],
[ANSI_RE, ANSI_WIDTH],
[CONTROL_RE, CONTROL_WIDTH],
[TAB_RE, TAB_WIDTH],
[EMOJI_RE, EMOJI_WIDTH],
[CJKT_WIDE_RE, WIDE_WIDTH]
];
let indexPrev = 0;
let index2 = 0;
let length = input.length;
let lengthExtra = 0;
let truncationEnabled = false;
let truncationIndex = length;
let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);
let unmatchedStart = 0;
let unmatchedEnd = 0;
let width = 0;
let widthExtra = 0;
outer: while (true) {
if (unmatchedEnd > unmatchedStart || index2 >= length && index2 > indexPrev) {
const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index2);
lengthExtra = 0;
for (const char of unmatched.replaceAll(MODIFIER_RE, "")) {
const codePoint = char.codePointAt(0) || 0;
if (isFullWidth(codePoint)) {
widthExtra = FULL_WIDTH_WIDTH;
} else if (isWideNotCJKTNotEmoji(codePoint)) {
widthExtra = WIDE_WIDTH;
} else {
widthExtra = REGULAR_WIDTH;
}
if (width + widthExtra > truncationLimit) {
truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);
}
if (width + widthExtra > LIMIT) {
truncationEnabled = true;
break outer;
}
lengthExtra += char.length;
width += widthExtra;
}
unmatchedStart = unmatchedEnd = 0;
}
if (index2 >= length) {
break outer;
}
for (let i4 = 0, l = PARSE_BLOCKS.length; i4 < l; i4++) {
const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i4];
BLOCK_RE.lastIndex = index2;
if (BLOCK_RE.test(input)) {
lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index2, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index2;
widthExtra = lengthExtra * BLOCK_WIDTH;
if (width + widthExtra > truncationLimit) {
truncationIndex = Math.min(truncationIndex, index2 + Math.floor((truncationLimit - width) / BLOCK_WIDTH));
}
if (width + widthExtra > LIMIT) {
truncationEnabled = true;
break outer;
}
width += widthExtra;
unmatchedStart = indexPrev;
unmatchedEnd = index2;
index2 = indexPrev = BLOCK_RE.lastIndex;
continue outer;
}
}
index2 += 1;
}
return {
width: truncationEnabled ? truncationLimit : width,
index: truncationEnabled ? truncationIndex : length,
truncated: truncationEnabled,
ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH
};
};
dist_default2 = getStringTruncatedWidth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-width/3.0.2/378e142101ffa5bddf52b373c8b45b521bca18993a6dcb9848fd99b62a701708/node_modules/fast-string-width/dist/index.js
var NO_TRUNCATION2, fastStringWidth, dist_default3;
var init_dist6 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-width/3.0.2/378e142101ffa5bddf52b373c8b45b521bca18993a6dcb9848fd99b62a701708/node_modules/fast-string-width/dist/index.js"() {
init_dist5();
NO_TRUNCATION2 = {
limit: Infinity,
ellipsis: "",
ellipsisWidth: 0
};
fastStringWidth = (input, options = {}) => {
return dist_default2(input, NO_TRUNCATION2, options).width;
};
dist_default3 = fastStringWidth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-wrap-ansi/0.2.2/d6d9890ab532acfc4e08e1ab9e00aa00b53ead91b46161e22c2a36be0788426a/node_modules/fast-wrap-ansi/lib/main.js
function wrapAnsi(string, columns, options) {
return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
}
var ESC, CSI, END_CODE, ANSI_ESCAPE_BELL, ANSI_CSI, ANSI_OSC, ANSI_SGR_TERMINATOR, ANSI_ESCAPE_LINK, GROUP_REGEX, getClosingCode, wrapAnsiCode, wrapAnsiHyperlink, wrapWord, stringVisibleTrimSpacesRight, exec, CRLF_OR_LF;
var init_main2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-wrap-ansi/0.2.2/d6d9890ab532acfc4e08e1ab9e00aa00b53ead91b46161e22c2a36be0788426a/node_modules/fast-wrap-ansi/lib/main.js"() {
init_dist6();
ESC = "\x1B";
CSI = "\x9B";
END_CODE = 39;
ANSI_ESCAPE_BELL = "\x07";
ANSI_CSI = "[";
ANSI_OSC = "]";
ANSI_SGR_TERMINATOR = "m";
ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
GROUP_REGEX = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, "y");
getClosingCode = (openingCode) => {
if (openingCode >= 30 && openingCode <= 37)
return 39;
if (openingCode >= 90 && openingCode <= 97)
return 39;
if (openingCode >= 40 && openingCode <= 47)
return 49;
if (openingCode >= 100 && openingCode <= 107)
return 49;
if (openingCode === 1 || openingCode === 2)
return 22;
if (openingCode === 3)
return 23;
if (openingCode === 4)
return 24;
if (openingCode === 7)
return 27;
if (openingCode === 8)
return 28;
if (openingCode === 9)
return 29;
if (openingCode === 0)
return 0;
return void 0;
};
wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
wrapAnsiHyperlink = (url7) => `${ESC}${ANSI_ESCAPE_LINK}${url7}${ANSI_ESCAPE_BELL}`;
wrapWord = (rows, word, columns) => {
const characters = word[Symbol.iterator]();
let isInsideEscape = false;
let isInsideLinkEscape = false;
let lastRow = rows.at(-1);
let visible = lastRow === void 0 ? 0 : dist_default3(lastRow);
let currentCharacter = characters.next();
let nextCharacter = characters.next();
let rawCharacterIndex = 0;
while (!currentCharacter.done) {
const character = currentCharacter.value;
const characterLength = dist_default3(character);
if (visible + characterLength <= columns) {
rows[rows.length - 1] += character;
} else {
rows.push(character);
visible = 0;
}
if (character === ESC || character === CSI) {
isInsideEscape = true;
isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);
}
if (isInsideEscape) {
if (isInsideLinkEscape) {
if (character === ANSI_ESCAPE_BELL) {
isInsideEscape = false;
isInsideLinkEscape = false;
}
} else if (character === ANSI_SGR_TERMINATOR) {
isInsideEscape = false;
}
} else {
visible += characterLength;
if (visible === columns && !nextCharacter.done) {
rows.push("");
visible = 0;
}
}
currentCharacter = nextCharacter;
nextCharacter = characters.next();
rawCharacterIndex += character.length;
}
lastRow = rows.at(-1);
if (!visible && lastRow !== void 0 && lastRow.length && rows.length > 1) {
rows[rows.length - 2] += rows.pop();
}
};
stringVisibleTrimSpacesRight = (string) => {
const words = string.split(" ");
let last = words.length;
while (last) {
if (dist_default3(words[last - 1])) {
break;
}
last--;
}
if (last === words.length) {
return string;
}
return words.slice(0, last).join(" ") + words.slice(last).join("");
};
exec = (string, columns, options = {}) => {
if (options.trim !== false && string.trim() === "") {
return "";
}
let returnValue = "";
let escapeCode;
let escapeUrl;
const words = string.split(" ");
let rows = [""];
let rowLength = 0;
for (let index2 = 0; index2 < words.length; index2++) {
const word = words[index2];
if (options.trim !== false) {
const row = rows.at(-1) ?? "";
const trimmed = row.trimStart();
if (row.length !== trimmed.length) {
rows[rows.length - 1] = trimmed;
rowLength = dist_default3(trimmed);
}
}
if (index2 !== 0) {
if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
rows.push("");
rowLength = 0;
}
if (rowLength || options.trim === false) {
rows[rows.length - 1] += " ";
rowLength++;
}
}
const wordLength = dist_default3(word);
if (options.hard && wordLength > columns) {
const remainingColumns = columns - rowLength;
const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);
const breaksStartingNextLine = Math.floor((wordLength - 1) / columns);
if (breaksStartingNextLine < breaksStartingThisLine) {
rows.push("");
}
wrapWord(rows, word, columns);
rowLength = dist_default3(rows.at(-1) ?? "");
continue;
}
if (rowLength + wordLength > columns && rowLength && wordLength) {
if (options.wordWrap === false && rowLength < columns) {
wrapWord(rows, word, columns);
rowLength = dist_default3(rows.at(-1) ?? "");
continue;
}
rows.push("");
rowLength = 0;
}
if (rowLength + wordLength > columns && options.wordWrap === false) {
wrapWord(rows, word, columns);
rowLength = dist_default3(rows.at(-1) ?? "");
continue;
}
rows[rows.length - 1] += word;
rowLength += wordLength;
}
if (options.trim !== false) {
rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
}
const preString = rows.join("\n");
let inSurrogate = false;
for (let i4 = 0; i4 < preString.length; i4++) {
const character = preString[i4];
returnValue += character;
if (!inSurrogate) {
inSurrogate = character >= "\uD800" && character <= "\uDBFF";
if (inSurrogate) {
continue;
}
} else {
inSurrogate = false;
}
if (character === ESC || character === CSI) {
GROUP_REGEX.lastIndex = i4 + 1;
const groupsResult = GROUP_REGEX.exec(preString);
const groups = groupsResult?.groups;
if (groups?.code !== void 0) {
const code = Number.parseFloat(groups.code);
escapeCode = code === END_CODE ? void 0 : code;
} else if (groups?.uri !== void 0) {
escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
}
}
if (preString[i4 + 1] === "\n") {
if (escapeUrl) {
returnValue += wrapAnsiHyperlink("");
}
const closingCode = escapeCode ? getClosingCode(escapeCode) : void 0;
if (escapeCode && closingCode) {
returnValue += wrapAnsiCode(closingCode);
}
} else if (character === "\n") {
if (escapeCode && getClosingCode(escapeCode)) {
returnValue += wrapAnsiCode(escapeCode);
}
if (escapeUrl) {
returnValue += wrapAnsiHyperlink(escapeUrl);
}
}
}
return returnValue;
};
CRLF_OR_LF = /\r?\n/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/utils.js
function breakLines(content, width) {
return content.split("\n").flatMap((line) => wrapAnsi(line, width, { trim: false, wordWrap: false }).split("\n").map((str2) => str2.trimEnd())).join("\n");
}
function readlineWidth() {
return (0, import_cli_width.default)({ defaultWidth: 80, output: readline().output });
}
var import_cli_width;
var init_utils3 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/utils.js"() {
import_cli_width = __toESM(require_cli_width(), 1);
init_main2();
init_hook_engine();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js
function usePointerPosition({ active, renderedItems, pageSize, loop }) {
const state = useRef({
lastPointer: active,
lastActive: void 0
});
const { lastPointer, lastActive } = state.current;
const middle = Math.floor(pageSize / 2);
const renderedLength = renderedItems.reduce((acc, item) => acc + item.length, 0);
const defaultPointerPosition = renderedItems.slice(0, active).reduce((acc, item) => acc + item.length, 0);
let pointer = defaultPointerPosition;
if (renderedLength > pageSize) {
if (loop) {
pointer = lastPointer;
if (
// First render, skip this logic.
lastActive != null && // Only move the pointer down when the user moves down.
lastActive < active && // Check user didn't move up across page boundary.
active - lastActive < pageSize
) {
pointer = Math.min(
// Furthest allowed position for the pointer is the middle of the list
middle,
Math.abs(active - lastActive) === 1 ? Math.min(
// Move the pointer at most the height of the last active item.
lastPointer + (renderedItems[lastActive]?.length ?? 0),
// If the user moved by one item, move the pointer to the natural position of the active item as
// long as it doesn't move the cursor up.
Math.max(defaultPointerPosition, lastPointer)
) : (
// Otherwise, move the pointer down by the difference between the active and last active item.
lastPointer + active - lastActive
)
);
}
} else {
const spaceUnderActive = renderedItems.slice(active).reduce((acc, item) => acc + item.length, 0);
pointer = spaceUnderActive < pageSize - middle ? (
// If the active item is near the end of the list, progressively move the cursor towards the end.
pageSize - spaceUnderActive
) : (
// Otherwise, progressively move the pointer to the middle of the list.
Math.min(defaultPointerPosition, middle)
);
}
}
state.current.lastPointer = pointer;
state.current.lastActive = active;
return pointer;
}
function usePagination({ items, active, renderItem, pageSize, loop = true }) {
const width = readlineWidth();
const bound = (num) => (num % items.length + items.length) % items.length;
const renderedItems = items.map((item, index2) => {
if (item == null)
return [];
return breakLines(renderItem({ item, index: index2, isActive: index2 === active }), width).split("\n");
});
const renderedLength = renderedItems.reduce((acc, item) => acc + item.length, 0);
const renderItemAtIndex = (index2) => renderedItems[index2] ?? [];
const pointer = usePointerPosition({ active, renderedItems, pageSize, loop });
const activeItem = renderItemAtIndex(active).slice(0, pageSize);
const activeItemPosition = pointer + activeItem.length <= pageSize ? pointer : pageSize - activeItem.length;
const pageBuffer = Array.from({ length: pageSize });
pageBuffer.splice(activeItemPosition, activeItem.length, ...activeItem);
const itemVisited = /* @__PURE__ */ new Set([active]);
let bufferPointer = activeItemPosition + activeItem.length;
let itemPointer = bound(active + 1);
while (bufferPointer < pageSize && !itemVisited.has(itemPointer) && (loop && renderedLength > pageSize ? itemPointer !== active : itemPointer > active)) {
const lines = renderItemAtIndex(itemPointer);
const linesToAdd = lines.slice(0, pageSize - bufferPointer);
pageBuffer.splice(bufferPointer, linesToAdd.length, ...linesToAdd);
itemVisited.add(itemPointer);
bufferPointer += linesToAdd.length;
itemPointer = bound(itemPointer + 1);
}
bufferPointer = activeItemPosition - 1;
itemPointer = bound(active - 1);
while (bufferPointer >= 0 && !itemVisited.has(itemPointer) && (loop && renderedLength > pageSize ? itemPointer !== active : itemPointer < active)) {
const lines = renderItemAtIndex(itemPointer);
const linesToAdd = lines.slice(Math.max(0, lines.length - bufferPointer - 1));
pageBuffer.splice(bufferPointer - linesToAdd.length + 1, linesToAdd.length, ...linesToAdd);
itemVisited.add(itemPointer);
bufferPointer -= linesToAdd.length;
itemPointer = bound(itemPointer - 1);
}
return pageBuffer.filter((line) => typeof line === "string").join("\n");
}
var init_use_pagination = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js"() {
init_use_ref();
init_utils3();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mute-stream/3.0.0/c9e7a87f43c96632fd4785c811d0f11ac7d56537b741b07f04cb1fbe09e93e82/node_modules/mute-stream/lib/index.js
var require_lib21 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/mute-stream/3.0.0/c9e7a87f43c96632fd4785c811d0f11ac7d56537b741b07f04cb1fbe09e93e82/node_modules/mute-stream/lib/index.js"(exports2, module2) {
var Stream = __require("stream");
var MuteStream2 = class extends Stream {
#isTTY = null;
constructor(opts3 = {}) {
super(opts3);
this.writable = this.readable = true;
this.muted = false;
this.on("pipe", this._onpipe);
this.replace = opts3.replace;
this._prompt = opts3.prompt || null;
this._hadControl = false;
}
#destSrc(key, def) {
if (this._dest) {
return this._dest[key];
}
if (this._src) {
return this._src[key];
}
return def;
}
#proxy(method2, ...args) {
if (typeof this._dest?.[method2] === "function") {
this._dest[method2](...args);
}
if (typeof this._src?.[method2] === "function") {
this._src[method2](...args);
}
}
get isTTY() {
if (this.#isTTY !== null) {
return this.#isTTY;
}
return this.#destSrc("isTTY", false);
}
// basically just get replace the getter/setter with a regular value
set isTTY(val) {
this.#isTTY = val;
}
get rows() {
return this.#destSrc("rows");
}
get columns() {
return this.#destSrc("columns");
}
mute() {
this.muted = true;
}
unmute() {
this.muted = false;
}
_onpipe(src2) {
this._src = src2;
}
pipe(dest, options) {
this._dest = dest;
return super.pipe(dest, options);
}
pause() {
if (this._src) {
return this._src.pause();
}
}
resume() {
if (this._src) {
return this._src.resume();
}
}
write(c3) {
if (this.muted) {
if (!this.replace) {
return true;
}
if (c3.match(/^\u001b/)) {
if (c3.indexOf(this._prompt) === 0) {
c3 = c3.slice(this._prompt.length);
c3 = c3.replace(/./g, this.replace);
c3 = this._prompt + c3;
}
this._hadControl = true;
return this.emit("data", c3);
} else {
if (this._prompt && this._hadControl && c3.indexOf(this._prompt) === 0) {
this._hadControl = false;
this.emit("data", this._prompt);
c3 = c3.slice(this._prompt.length);
}
c3 = c3.toString().replace(/./g, this.replace);
}
}
this.emit("data", c3);
}
end(c3) {
if (this.muted) {
if (c3 && this.replace) {
c3 = c3.toString().replace(/./g, this.replace);
} else {
c3 = null;
}
}
if (c3) {
this.emit("data", c3);
}
this.emit("end");
}
destroy(...args) {
return this.#proxy("destroy", ...args);
}
destroySoon(...args) {
return this.#proxy("destroySoon", ...args);
}
close(...args) {
return this.#proxy("close", ...args);
}
};
module2.exports = MuteStream2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/ansi/2.0.7/bfade824d61eadb55969f60cea50f7cd5fe1493dcbda84d95f87de2576400b86/node_modules/@inquirer/ansi/dist/index.js
var ESC2, cursorLeft, cursorHide, cursorShow, cursorUp, cursorDown, cursorTo, eraseLine, eraseLines;
var init_dist7 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/ansi/2.0.7/bfade824d61eadb55969f60cea50f7cd5fe1493dcbda84d95f87de2576400b86/node_modules/@inquirer/ansi/dist/index.js"() {
ESC2 = "\x1B[";
cursorLeft = ESC2 + "G";
cursorHide = ESC2 + "?25l";
cursorShow = ESC2 + "?25h";
cursorUp = (rows = 1) => rows > 0 ? `${ESC2}${rows}A` : "";
cursorDown = (rows = 1) => rows > 0 ? `${ESC2}${rows}B` : "";
cursorTo = (x3, y) => {
if (typeof y === "number" && !Number.isNaN(y)) {
return `${ESC2}${y + 1};${x3 + 1}H`;
}
return `${ESC2}${x3 + 1}G`;
};
eraseLine = ESC2 + "2K";
eraseLines = (lines) => lines > 0 ? (eraseLine + cursorUp(1)).repeat(lines - 1) + eraseLine + cursorLeft : "";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/screen-manager.js
import { stripVTControlCharacters as stripVTControlCharacters2 } from "node:util";
var height, lastLine, ScreenManager;
var init_screen_manager = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/screen-manager.js"() {
init_utils3();
init_dist7();
height = (content) => content.split("\n").length;
lastLine = (content) => content.split("\n").pop() ?? "";
ScreenManager = class {
// These variables are keeping information to allow correct prompt re-rendering
height = 0;
extraLinesUnderPrompt = 0;
cursorPos;
rl;
constructor(rl) {
this.rl = rl;
this.cursorPos = rl.getCursorPos();
}
write(content) {
this.rl.output.unmute();
this.rl.output.write(content);
this.rl.output.mute();
}
render(content, bottomContent = "") {
const promptLine = lastLine(content);
const rawPromptLine = stripVTControlCharacters2(promptLine);
let prompt = rawPromptLine;
if (this.rl.line.length > 0) {
prompt = prompt.slice(0, -this.rl.line.length);
}
this.rl.setPrompt(prompt);
this.cursorPos = this.rl.getCursorPos();
const width = readlineWidth();
content = breakLines(content, width);
bottomContent = breakLines(bottomContent, width);
if (rawPromptLine.length % width === 0) {
content += "\n";
}
let output = content + (bottomContent ? "\n" + bottomContent : "");
const promptLineUpDiff = Math.floor(rawPromptLine.length / width) - this.cursorPos.rows;
const bottomContentHeight = promptLineUpDiff + (bottomContent ? height(bottomContent) : 0);
if (bottomContentHeight > 0)
output += cursorUp(bottomContentHeight);
output += cursorTo(this.cursorPos.cols);
this.write(cursorDown(this.extraLinesUnderPrompt) + eraseLines(this.height) + output);
this.extraLinesUnderPrompt = bottomContentHeight;
this.height = height(output);
}
checkCursorPos() {
const cursorPos = this.rl.getCursorPos();
if (cursorPos.cols !== this.cursorPos.cols) {
this.write(cursorTo(cursorPos.cols));
this.cursorPos = cursorPos;
}
}
done({ clearContent }) {
this.rl.setPrompt("");
let output = cursorDown(this.extraLinesUnderPrompt);
output += clearContent ? eraseLines(this.height) : "\n";
output += cursorLeft;
output += cursorShow;
this.write(output);
this.rl.close();
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/promise-polyfill.js
var PromisePolyfill;
var init_promise_polyfill = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/promise-polyfill.js"() {
PromisePolyfill = class extends Promise {
// Available starting from Node 22
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers
static withResolver() {
let resolve4;
let reject3;
const promise2 = new Promise((res, rej) => {
resolve4 = res;
reject3 = rej;
});
return { promise: promise2, resolve: resolve4, reject: reject3 };
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/create-prompt.js
import * as readline2 from "node:readline";
import { AsyncResource as AsyncResource3 } from "node:async_hooks";
import path50 from "node:path";
function getCallSites() {
const savedPrepareStackTrace = Error.prepareStackTrace;
let result2 = [];
try {
Error.prepareStackTrace = (_, callSites) => {
const callSitesWithoutCurrent = callSites.slice(1);
result2 = callSitesWithoutCurrent;
return callSitesWithoutCurrent;
};
new Error().stack;
} catch {
return result2;
}
Error.prepareStackTrace = savedPrepareStackTrace;
return result2;
}
function createPrompt(view) {
const callSites = getCallSites();
const prompt = (config2, context = {}) => {
const { input = process.stdin, signal } = context;
const cleanups = /* @__PURE__ */ new Set();
const output = new import_mute_stream.default();
output.pipe(context.output ?? process.stdout);
const rl = readline2.createInterface({
terminal: true,
input,
output
});
output.mute();
const screen = new ScreenManager(rl);
const { promise: promise2, resolve: resolve4, reject: reject3 } = PromisePolyfill.withResolver();
const cancel2 = () => reject3(new CancelPromptError());
if (signal) {
const abort = () => reject3(new AbortPromptError({ cause: signal.reason }));
if (signal.aborted) {
abort();
return Object.assign(promise2, { cancel: cancel2 });
}
signal.addEventListener("abort", abort);
cleanups.add(() => signal.removeEventListener("abort", abort));
}
cleanups.add(onExit((code, signal2) => {
reject3(new ExitPromptError(`User force closed the prompt with ${code} ${signal2}`));
}));
const sigint = () => reject3(new ExitPromptError(`User force closed the prompt with SIGINT`));
rl.on("SIGINT", sigint);
cleanups.add(() => rl.removeListener("SIGINT", sigint));
return withHooks(rl, (cycle) => {
const hooksCleanup = AsyncResource3.bind(() => effectScheduler.clearAll());
rl.on("close", hooksCleanup);
cleanups.add(() => rl.removeListener("close", hooksCleanup));
const startCycle = () => {
const checkCursorPos = () => screen.checkCursorPos();
rl.input.on("keypress", checkCursorPos);
cleanups.add(() => rl.input.removeListener("keypress", checkCursorPos));
let pendingDone = null;
cycle(() => {
let effectsSettled = false;
try {
const nextView = view(config2, (value) => {
if (effectsSettled) {
resolve4(value);
} else {
pendingDone = { value };
}
});
if (nextView === void 0) {
let callerFilename = callSites[1]?.getFileName();
if (callerFilename && !callerFilename.startsWith("file://")) {
callerFilename = path50.resolve(callerFilename);
}
throw new Error(`Prompt functions must return a string.
at ${callerFilename}`);
}
const [content, bottomContent] = typeof nextView === "string" ? [nextView] : nextView;
screen.render(content, bottomContent);
effectScheduler.run();
} catch (error) {
reject3(error);
}
effectsSettled = true;
if (pendingDone !== null) {
const { value } = pendingDone;
pendingDone = null;
resolve4(value);
}
});
};
if ("readableFlowing" in input) {
nativeSetImmediate(startCycle);
} else {
startCycle();
}
return Object.assign(promise2.then((answer) => {
effectScheduler.clearAll();
return answer;
}, (error) => {
effectScheduler.clearAll();
throw error;
}).finally(() => {
cleanups.forEach((cleanup2) => cleanup2());
screen.done({ clearContent: Boolean(context.clearPromptOnDone) });
output.end();
}).then(() => promise2), { cancel: cancel2 });
});
};
return prompt;
}
var import_mute_stream, nativeSetImmediate;
var init_create_prompt = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/create-prompt.js"() {
import_mute_stream = __toESM(require_lib21(), 1);
init_mjs();
init_screen_manager();
init_promise_polyfill();
init_hook_engine();
init_errors();
nativeSetImmediate = globalThis.setImmediate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/Separator.js
import { styleText as styleText2 } from "node:util";
var Separator;
var init_Separator = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/lib/Separator.js"() {
init_dist4();
Separator = class {
separator = styleText2("dim", Array.from({ length: 15 }).join(dist_default.line));
type = "separator";
constructor(separator) {
if (separator) {
this.separator = separator;
}
}
static isSeparator(choice) {
return Boolean(choice && typeof choice === "object" && "type" in choice && choice.type === "separator");
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/index.js
var init_dist8 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/core/11.2.1/3e87a9fe1392787dec658f7ee3fb37e8f277f5c986499113cf99a0c7a7f3286e/node_modules/@inquirer/core/dist/index.js"() {
init_key();
init_errors();
init_use_prefix();
init_use_state();
init_use_effect();
init_use_memo();
init_use_ref();
init_use_keypress();
init_make_theme();
init_use_pagination();
init_create_prompt();
init_Separator();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/checkbox/5.2.1/71d5b1bf6d2672e02a1e29a2232a87dbae3e854152927ca4f09859624b5d647f/node_modules/@inquirer/checkbox/dist/index.js
import { styleText as styleText3 } from "node:util";
function isSelectable(item) {
return !Separator.isSeparator(item) && !item.disabled;
}
function isNavigable(item) {
return !Separator.isSeparator(item);
}
function isChecked(item) {
return !Separator.isSeparator(item) && item.checked;
}
function toggle(item) {
return isSelectable(item) ? { ...item, checked: !item.checked } : item;
}
function check(checked) {
return function(item) {
return isSelectable(item) ? { ...item, checked } : item;
};
}
function normalizeChoices(choices) {
return choices.map((choice) => {
if (Separator.isSeparator(choice))
return choice;
if (typeof choice !== "object" || choice === null || !("value" in choice)) {
const name2 = String(choice);
return {
value: choice,
name: name2,
short: name2,
checkedName: name2,
disabled: false,
checked: false
};
}
const name = choice.name ?? String(choice.value);
const normalizedChoice = {
value: choice.value,
name,
short: choice.short ?? name,
checkedName: choice.checkedName ?? name,
disabled: choice.disabled ?? false,
checked: choice.checked ?? false
};
if (choice.description) {
normalizedChoice.description = choice.description;
}
return normalizedChoice;
});
}
var checkboxTheme, dist_default4;
var init_dist9 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/checkbox/5.2.1/71d5b1bf6d2672e02a1e29a2232a87dbae3e854152927ca4f09859624b5d647f/node_modules/@inquirer/checkbox/dist/index.js"() {
init_dist8();
init_dist7();
init_dist4();
init_dist8();
checkboxTheme = {
icon: {
checked: styleText3("green", dist_default.circleFilled),
unchecked: dist_default.circle,
cursor: dist_default.pointer,
disabledChecked: styleText3("green", dist_default.circleDouble),
disabledUnchecked: "-"
},
style: {
disabled: (text) => styleText3("dim", text),
renderSelectedChoices: (selectedChoices) => selectedChoices.map((choice) => choice.short).join(", "),
description: (text) => styleText3("cyan", text),
keysHelpTip: (keys4) => keys4.map(([key, action]) => `${styleText3("bold", key)} ${styleText3("dim", action)}`).join(styleText3("dim", " \u2022 "))
},
i18n: { disabledError: "This option is disabled and cannot be toggled." }
};
dist_default4 = createPrompt((config2, done) => {
const { pageSize = 7, loop = true, required, validate: validate2 = () => true } = config2;
const shortcuts = { all: "a", invert: "i", ...config2.shortcuts };
const theme = makeTheme(checkboxTheme, config2.theme);
const { keybindings: keybindings2 } = theme;
const [status, setStatus2] = useState("idle");
const prefix = usePrefix({ status, theme });
const [items, setItems] = useState(normalizeChoices(config2.choices));
const bounds = useMemo(() => {
const first = items.findIndex(isNavigable);
const last = items.findLastIndex(isNavigable);
if (first === -1) {
throw new ValidationError("[checkbox prompt] No selectable choices. All choices are disabled.");
}
return { first, last };
}, [items]);
const [active, setActive] = useState(bounds.first);
const [errorMsg, setError] = useState();
useKeypress(async (key) => {
if (isEnterKey(key)) {
const selection = items.filter(isChecked);
const isValid = await validate2([...selection]);
if (required && !selection.length) {
setError("At least one choice must be selected");
} else if (isValid === true) {
setStatus2("done");
done(selection.map((choice) => choice.value));
} else {
setError(isValid || "You must select a valid value");
}
} else if (isUpKey(key, keybindings2) || isDownKey(key, keybindings2)) {
if (errorMsg) {
setError(void 0);
}
if (loop || isUpKey(key, keybindings2) && active !== bounds.first || isDownKey(key, keybindings2) && active !== bounds.last) {
const offset = isUpKey(key, keybindings2) ? -1 : 1;
let next2 = active;
do {
next2 = (next2 + offset + items.length) % items.length;
} while (!isNavigable(items[next2]));
setActive(next2);
}
} else if (isSpaceKey(key)) {
const activeItem = items[active];
if (activeItem && !Separator.isSeparator(activeItem)) {
if (activeItem.disabled) {
setError(theme.i18n.disabledError);
} else {
setError(void 0);
setItems(items.map((choice, i4) => i4 === active ? toggle(choice) : choice));
}
}
} else if (key.name === shortcuts.all) {
const selectAll = items.some((choice) => isSelectable(choice) && !choice.checked);
setItems(items.map(check(selectAll)));
} else if (key.name === shortcuts.invert) {
setItems(items.map(toggle));
} else if (isNumberKey(key)) {
const selectedIndex = Number(key.name) - 1;
let selectableIndex = -1;
const position3 = items.findIndex((item) => {
if (Separator.isSeparator(item))
return false;
selectableIndex++;
return selectableIndex === selectedIndex;
});
const selectedItem = items[position3];
if (selectedItem && isSelectable(selectedItem)) {
setActive(position3);
setItems(items.map((choice, i4) => i4 === position3 ? toggle(choice) : choice));
}
}
});
const message = theme.style.message(config2.message, status);
let description;
const page = usePagination({
items,
active,
renderItem({ item, isActive }) {
if (Separator.isSeparator(item)) {
return ` ${item.separator}`;
}
const cursor = isActive ? theme.icon.cursor : " ";
if (item.disabled) {
const disabledLabel = typeof item.disabled === "string" ? item.disabled : "(disabled)";
const checkbox2 = item.checked ? theme.icon.disabledChecked : theme.icon.disabledUnchecked;
return theme.style.disabled(`${cursor}${checkbox2} ${item.name} ${disabledLabel}`);
}
if (isActive) {
description = item.description;
}
const checkbox = item.checked ? theme.icon.checked : theme.icon.unchecked;
const name = item.checked ? item.checkedName : item.name;
const color = isActive ? theme.style.highlight : (x3) => x3;
return color(`${cursor}${checkbox} ${name}`);
},
pageSize,
loop
});
if (status === "done") {
const selection = items.filter(isChecked);
const answer = theme.style.answer(theme.style.renderSelectedChoices(selection, items));
return [prefix, message, answer].filter(Boolean).join(" ");
}
const keys4 = [
["\u2191\u2193", "navigate"],
["space", "select"]
];
if (shortcuts.all)
keys4.push([shortcuts.all, "all"]);
if (shortcuts.invert)
keys4.push([shortcuts.invert, "invert"]);
keys4.push(["\u23CE", "submit"]);
const helpLine = theme.style.keysHelpTip(keys4);
const lines = [
[prefix, message].filter(Boolean).join(" "),
page,
" ",
description ? theme.style.description(description) : "",
errorMsg ? theme.style.error(errorMsg) : "",
helpLine
].filter(Boolean).join("\n").trimEnd();
return `${lines}${cursorHide}`;
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/safer-buffer/2.1.2/7aea9b095994aca14d0c650f31af95178b10047e65f9fd03884a27cdb72c2c20/node_modules/safer-buffer/safer.js
var require_safer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/safer-buffer/2.1.2/7aea9b095994aca14d0c650f31af95178b10047e65f9fd03884a27cdb72c2c20/node_modules/safer-buffer/safer.js"(exports2, module2) {
"use strict";
var buffer3 = __require("buffer");
var Buffer6 = buffer3.Buffer;
var safer = {};
var key;
for (key in buffer3) {
if (!buffer3.hasOwnProperty(key)) continue;
if (key === "SlowBuffer" || key === "Buffer") continue;
safer[key] = buffer3[key];
}
var Safer = safer.Buffer = {};
for (key in Buffer6) {
if (!Buffer6.hasOwnProperty(key)) continue;
if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue;
Safer[key] = Buffer6[key];
}
safer.Buffer.prototype = Buffer6.prototype;
if (!Safer.from || Safer.from === Uint8Array.from) {
Safer.from = function(value, encodingOrOffset, length) {
if (typeof value === "number") {
throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value);
}
if (value && typeof value.length === "undefined") {
throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
}
return Buffer6(value, encodingOrOffset, length);
};
}
if (!Safer.alloc) {
Safer.alloc = function(size, fill, encoding) {
if (typeof size !== "number") {
throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size);
}
if (size < 0 || size >= 2 * (1 << 30)) {
throw new RangeError('The value "' + size + '" is invalid for option "size"');
}
var buf = Buffer6(size);
if (!fill || fill.length === 0) {
buf.fill(0);
} else if (typeof encoding === "string") {
buf.fill(fill, encoding);
} else {
buf.fill(fill);
}
return buf;
};
}
if (!safer.kStringMaxLength) {
try {
safer.kStringMaxLength = process.binding("buffer").kStringMaxLength;
} catch (e) {
}
}
if (!safer.constants) {
safer.constants = {
MAX_LENGTH: safer.kMaxLength
};
if (safer.kStringMaxLength) {
safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength;
}
}
module2.exports = safer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/bom-handling.js
var require_bom_handling = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/bom-handling.js"(exports2) {
"use strict";
var BOMChar = "\uFEFF";
exports2.PrependBOM = PrependBOMWrapper;
function PrependBOMWrapper(encoder, options) {
this.encoder = encoder;
this.addBOM = true;
}
PrependBOMWrapper.prototype.write = function(str2) {
if (this.addBOM) {
str2 = BOMChar + str2;
this.addBOM = false;
}
return this.encoder.write(str2);
};
PrependBOMWrapper.prototype.end = function() {
return this.encoder.end();
};
exports2.StripBOM = StripBOMWrapper;
function StripBOMWrapper(decoder2, options) {
this.decoder = decoder2;
this.pass = false;
this.options = options || {};
}
StripBOMWrapper.prototype.write = function(buf) {
var res = this.decoder.write(buf);
if (this.pass || !res) {
return res;
}
if (res[0] === BOMChar) {
res = res.slice(1);
if (typeof this.options.stripBOM === "function") {
this.options.stripBOM();
}
}
this.pass = true;
return res;
};
StripBOMWrapper.prototype.end = function() {
return this.decoder.end();
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/helpers/merge-exports.js
var require_merge_exports = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports2, module2) {
"use strict";
var hasOwn2 = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn;
function mergeModules(target2, module3) {
for (var key in module3) {
if (hasOwn2(module3, key)) {
target2[key] = module3[key];
}
}
}
module2.exports = mergeModules;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/internal.js
var require_internal = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) {
"use strict";
var Buffer6 = require_safer().Buffer;
module2.exports = {
// Encodings
utf8: { type: "_internal", bomAware: true },
cesu8: { type: "_internal", bomAware: true },
unicode11utf8: "utf8",
ucs2: { type: "_internal", bomAware: true },
utf16le: "ucs2",
binary: { type: "_internal" },
base64: { type: "_internal" },
hex: { type: "_internal" },
// Codec.
_internal: InternalCodec
};
function InternalCodec(codecOptions, iconv) {
this.enc = codecOptions.encodingName;
this.bomAware = codecOptions.bomAware;
if (this.enc === "base64") {
this.encoder = InternalEncoderBase64;
} else if (this.enc === "utf8") {
this.encoder = InternalEncoderUtf8;
} else if (this.enc === "cesu8") {
this.enc = "utf8";
this.encoder = InternalEncoderCesu8;
if (Buffer6.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") {
this.decoder = InternalDecoderCesu8;
this.defaultCharUnicode = iconv.defaultCharUnicode;
}
}
}
InternalCodec.prototype.encoder = InternalEncoder;
InternalCodec.prototype.decoder = InternalDecoder;
var StringDecoder4 = __require("string_decoder").StringDecoder;
function InternalDecoder(options, codec) {
this.decoder = new StringDecoder4(codec.enc);
}
InternalDecoder.prototype.write = function(buf) {
if (!Buffer6.isBuffer(buf)) {
buf = Buffer6.from(buf);
}
return this.decoder.write(buf);
};
InternalDecoder.prototype.end = function() {
return this.decoder.end();
};
function InternalEncoder(options, codec) {
this.enc = codec.enc;
}
InternalEncoder.prototype.write = function(str2) {
return Buffer6.from(str2, this.enc);
};
InternalEncoder.prototype.end = function() {
};
function InternalEncoderBase64(options, codec) {
this.prevStr = "";
}
InternalEncoderBase64.prototype.write = function(str2) {
str2 = this.prevStr + str2;
var completeQuads = str2.length - str2.length % 4;
this.prevStr = str2.slice(completeQuads);
str2 = str2.slice(0, completeQuads);
return Buffer6.from(str2, "base64");
};
InternalEncoderBase64.prototype.end = function() {
return Buffer6.from(this.prevStr, "base64");
};
function InternalEncoderCesu8(options, codec) {
}
InternalEncoderCesu8.prototype.write = function(str2) {
var buf = Buffer6.alloc(str2.length * 3);
var bufIdx = 0;
for (var i4 = 0; i4 < str2.length; i4++) {
var charCode = str2.charCodeAt(i4);
if (charCode < 128) {
buf[bufIdx++] = charCode;
} else if (charCode < 2048) {
buf[bufIdx++] = 192 + (charCode >>> 6);
buf[bufIdx++] = 128 + (charCode & 63);
} else {
buf[bufIdx++] = 224 + (charCode >>> 12);
buf[bufIdx++] = 128 + (charCode >>> 6 & 63);
buf[bufIdx++] = 128 + (charCode & 63);
}
}
return buf.slice(0, bufIdx);
};
InternalEncoderCesu8.prototype.end = function() {
};
function InternalDecoderCesu8(options, codec) {
this.acc = 0;
this.contBytes = 0;
this.accBytes = 0;
this.defaultCharUnicode = codec.defaultCharUnicode;
}
InternalDecoderCesu8.prototype.write = function(buf) {
var acc = this.acc;
var contBytes = this.contBytes;
var accBytes = this.accBytes;
var res = "";
for (var i4 = 0; i4 < buf.length; i4++) {
var curByte = buf[i4];
if ((curByte & 192) !== 128) {
if (contBytes > 0) {
res += this.defaultCharUnicode;
contBytes = 0;
}
if (curByte < 128) {
res += String.fromCharCode(curByte);
} else if (curByte < 224) {
acc = curByte & 31;
contBytes = 1;
accBytes = 1;
} else if (curByte < 240) {
acc = curByte & 15;
contBytes = 2;
accBytes = 1;
} else {
res += this.defaultCharUnicode;
}
} else {
if (contBytes > 0) {
acc = acc << 6 | curByte & 63;
contBytes--;
accBytes++;
if (contBytes === 0) {
if (accBytes === 2 && acc < 128 && acc > 0) {
res += this.defaultCharUnicode;
} else if (accBytes === 3 && acc < 2048) {
res += this.defaultCharUnicode;
} else {
res += String.fromCharCode(acc);
}
}
} else {
res += this.defaultCharUnicode;
}
}
}
this.acc = acc;
this.contBytes = contBytes;
this.accBytes = accBytes;
return res;
};
InternalDecoderCesu8.prototype.end = function() {
var res = 0;
if (this.contBytes > 0) {
res += this.defaultCharUnicode;
}
return res;
};
function InternalEncoderUtf8(options, codec) {
this.highSurrogate = "";
}
InternalEncoderUtf8.prototype.write = function(str2) {
if (this.highSurrogate) {
str2 = this.highSurrogate + str2;
this.highSurrogate = "";
}
if (str2.length > 0) {
var charCode = str2.charCodeAt(str2.length - 1);
if (charCode >= 55296 && charCode < 56320) {
this.highSurrogate = str2[str2.length - 1];
str2 = str2.slice(0, str2.length - 1);
}
}
return Buffer6.from(str2, this.enc);
};
InternalEncoderUtf8.prototype.end = function() {
if (this.highSurrogate) {
var str2 = this.highSurrogate;
this.highSurrogate = "";
return Buffer6.from(str2, this.enc);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf32.js
var require_utf32 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf32.js"(exports2) {
"use strict";
var Buffer6 = require_safer().Buffer;
exports2._utf32 = Utf32Codec;
function Utf32Codec(codecOptions, iconv) {
this.iconv = iconv;
this.bomAware = true;
this.isLE = codecOptions.isLE;
}
exports2.utf32le = { type: "_utf32", isLE: true };
exports2.utf32be = { type: "_utf32", isLE: false };
exports2.ucs4le = "utf32le";
exports2.ucs4be = "utf32be";
Utf32Codec.prototype.encoder = Utf32Encoder;
Utf32Codec.prototype.decoder = Utf32Decoder;
function Utf32Encoder(options, codec) {
this.isLE = codec.isLE;
this.highSurrogate = 0;
}
Utf32Encoder.prototype.write = function(str2) {
var src2 = Buffer6.from(str2, "ucs2");
var dst = Buffer6.alloc(src2.length * 2 + 4);
var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;
var offset = 0;
for (var i4 = 0; i4 < src2.length; i4 += 2) {
var code = src2.readUInt16LE(i4);
var isHighSurrogate = code >= 55296 && code < 56320;
var isLowSurrogate = code >= 56320 && code < 57344;
if (this.highSurrogate) {
if (isHighSurrogate || !isLowSurrogate) {
write32.call(dst, this.highSurrogate, offset);
offset += 4;
} else {
var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536;
write32.call(dst, codepoint, offset);
offset += 4;
this.highSurrogate = 0;
continue;
}
}
if (isHighSurrogate) {
this.highSurrogate = code;
} else {
write32.call(dst, code, offset);
offset += 4;
this.highSurrogate = 0;
}
}
if (offset < dst.length) {
dst = dst.slice(0, offset);
}
return dst;
};
Utf32Encoder.prototype.end = function() {
if (!this.highSurrogate) {
return;
}
var buf = Buffer6.alloc(4);
if (this.isLE) {
buf.writeUInt32LE(this.highSurrogate, 0);
} else {
buf.writeUInt32BE(this.highSurrogate, 0);
}
this.highSurrogate = 0;
return buf;
};
function Utf32Decoder(options, codec) {
this.isLE = codec.isLE;
this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);
this.overflow = [];
}
Utf32Decoder.prototype.write = function(src2) {
if (src2.length === 0) {
return "";
}
var i4 = 0;
var codepoint = 0;
var dst = Buffer6.alloc(src2.length + 4);
var offset = 0;
var isLE2 = this.isLE;
var overflow = this.overflow;
var badChar = this.badChar;
if (overflow.length > 0) {
for (; i4 < src2.length && overflow.length < 4; i4++) {
overflow.push(src2[i4]);
}
if (overflow.length === 4) {
if (isLE2) {
codepoint = overflow[0] | overflow[1] << 8 | overflow[2] << 16 | overflow[3] << 24;
} else {
codepoint = overflow[3] | overflow[2] << 8 | overflow[1] << 16 | overflow[0] << 24;
}
overflow.length = 0;
offset = _writeCodepoint(dst, offset, codepoint, badChar);
}
}
for (; i4 < src2.length - 3; i4 += 4) {
if (isLE2) {
codepoint = src2[i4] | src2[i4 + 1] << 8 | src2[i4 + 2] << 16 | src2[i4 + 3] << 24;
} else {
codepoint = src2[i4 + 3] | src2[i4 + 2] << 8 | src2[i4 + 1] << 16 | src2[i4] << 24;
}
offset = _writeCodepoint(dst, offset, codepoint, badChar);
}
for (; i4 < src2.length; i4++) {
overflow.push(src2[i4]);
}
return dst.slice(0, offset).toString("ucs2");
};
function _writeCodepoint(dst, offset, codepoint, badChar) {
if (codepoint < 0 || codepoint > 1114111) {
codepoint = badChar;
}
if (codepoint >= 65536) {
codepoint -= 65536;
var high = 55296 | codepoint >> 10;
dst[offset++] = high & 255;
dst[offset++] = high >> 8;
var codepoint = 56320 | codepoint & 1023;
}
dst[offset++] = codepoint & 255;
dst[offset++] = codepoint >> 8;
return offset;
}
Utf32Decoder.prototype.end = function() {
if (this.overflow.length === 0) {
return;
}
this.overflow.length = 0;
return String.fromCharCode(this.badChar);
};
exports2.utf32 = Utf32AutoCodec;
exports2.ucs4 = "utf32";
function Utf32AutoCodec(options, iconv) {
this.iconv = iconv;
}
Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder;
Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder;
function Utf32AutoEncoder(options, codec) {
options = options || {};
if (options.addBOM === void 0) {
options.addBOM = true;
}
this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options);
}
Utf32AutoEncoder.prototype.write = function(str2) {
return this.encoder.write(str2);
};
Utf32AutoEncoder.prototype.end = function() {
return this.encoder.end();
};
function Utf32AutoDecoder(options, codec) {
this.decoder = null;
this.initialBufs = [];
this.initialBufsLen = 0;
this.options = options || {};
this.iconv = codec.iconv;
}
Utf32AutoDecoder.prototype.write = function(buf) {
if (!this.decoder) {
this.initialBufs.push(buf);
this.initialBufsLen += buf.length;
if (this.initialBufsLen < 32) {
return "";
}
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
this.decoder = this.iconv.getDecoder(encoding, this.options);
var resStr = "";
for (var i4 = 0; i4 < this.initialBufs.length; i4++) {
resStr += this.decoder.write(this.initialBufs[i4]);
}
this.initialBufs.length = this.initialBufsLen = 0;
return resStr;
}
return this.decoder.write(buf);
};
Utf32AutoDecoder.prototype.end = function() {
if (!this.decoder) {
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
this.decoder = this.iconv.getDecoder(encoding, this.options);
var resStr = "";
for (var i4 = 0; i4 < this.initialBufs.length; i4++) {
resStr += this.decoder.write(this.initialBufs[i4]);
}
var trail = this.decoder.end();
if (trail) {
resStr += trail;
}
this.initialBufs.length = this.initialBufsLen = 0;
return resStr;
}
return this.decoder.end();
};
function detectEncoding(bufs, defaultEncoding) {
var b = [];
var charsProcessed = 0;
var invalidLE = 0;
var invalidBE = 0;
var bmpCharsLE = 0;
var bmpCharsBE = 0;
outerLoop:
for (var i4 = 0; i4 < bufs.length; i4++) {
var buf = bufs[i4];
for (var j2 = 0; j2 < buf.length; j2++) {
b.push(buf[j2]);
if (b.length === 4) {
if (charsProcessed === 0) {
if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) {
return "utf-32le";
}
if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) {
return "utf-32be";
}
}
if (b[0] !== 0 || b[1] > 16) invalidBE++;
if (b[3] !== 0 || b[2] > 16) invalidLE++;
if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;
if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;
b.length = 0;
charsProcessed++;
if (charsProcessed >= 100) {
break outerLoop;
}
}
}
}
if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be";
if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le";
return defaultEncoding || "utf-32le";
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf16.js
var require_utf16 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf16.js"(exports2) {
"use strict";
var Buffer6 = require_safer().Buffer;
exports2.utf16be = Utf16BECodec;
function Utf16BECodec() {
}
Utf16BECodec.prototype.encoder = Utf16BEEncoder;
Utf16BECodec.prototype.decoder = Utf16BEDecoder;
Utf16BECodec.prototype.bomAware = true;
function Utf16BEEncoder() {
}
Utf16BEEncoder.prototype.write = function(str2) {
var buf = Buffer6.from(str2, "ucs2");
for (var i4 = 0; i4 < buf.length; i4 += 2) {
var tmp = buf[i4];
buf[i4] = buf[i4 + 1];
buf[i4 + 1] = tmp;
}
return buf;
};
Utf16BEEncoder.prototype.end = function() {
};
function Utf16BEDecoder() {
this.overflowByte = -1;
}
Utf16BEDecoder.prototype.write = function(buf) {
if (buf.length == 0) {
return "";
}
var buf2 = Buffer6.alloc(buf.length + 1);
var i4 = 0;
var j2 = 0;
if (this.overflowByte !== -1) {
buf2[0] = buf[0];
buf2[1] = this.overflowByte;
i4 = 1;
j2 = 2;
}
for (; i4 < buf.length - 1; i4 += 2, j2 += 2) {
buf2[j2] = buf[i4 + 1];
buf2[j2 + 1] = buf[i4];
}
this.overflowByte = i4 == buf.length - 1 ? buf[buf.length - 1] : -1;
return buf2.slice(0, j2).toString("ucs2");
};
Utf16BEDecoder.prototype.end = function() {
this.overflowByte = -1;
};
exports2.utf16 = Utf16Codec;
function Utf16Codec(codecOptions, iconv) {
this.iconv = iconv;
}
Utf16Codec.prototype.encoder = Utf16Encoder;
Utf16Codec.prototype.decoder = Utf16Decoder;
function Utf16Encoder(options, codec) {
options = options || {};
if (options.addBOM === void 0) {
options.addBOM = true;
}
this.encoder = codec.iconv.getEncoder("utf-16le", options);
}
Utf16Encoder.prototype.write = function(str2) {
return this.encoder.write(str2);
};
Utf16Encoder.prototype.end = function() {
return this.encoder.end();
};
function Utf16Decoder(options, codec) {
this.decoder = null;
this.initialBufs = [];
this.initialBufsLen = 0;
this.options = options || {};
this.iconv = codec.iconv;
}
Utf16Decoder.prototype.write = function(buf) {
if (!this.decoder) {
this.initialBufs.push(buf);
this.initialBufsLen += buf.length;
if (this.initialBufsLen < 16) {
return "";
}
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
this.decoder = this.iconv.getDecoder(encoding, this.options);
var resStr = "";
for (var i4 = 0; i4 < this.initialBufs.length; i4++) {
resStr += this.decoder.write(this.initialBufs[i4]);
}
this.initialBufs.length = this.initialBufsLen = 0;
return resStr;
}
return this.decoder.write(buf);
};
Utf16Decoder.prototype.end = function() {
if (!this.decoder) {
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
this.decoder = this.iconv.getDecoder(encoding, this.options);
var resStr = "";
for (var i4 = 0; i4 < this.initialBufs.length; i4++) {
resStr += this.decoder.write(this.initialBufs[i4]);
}
var trail = this.decoder.end();
if (trail) {
resStr += trail;
}
this.initialBufs.length = this.initialBufsLen = 0;
return resStr;
}
return this.decoder.end();
};
function detectEncoding(bufs, defaultEncoding) {
var b = [];
var charsProcessed = 0;
var asciiCharsLE = 0;
var asciiCharsBE = 0;
outerLoop:
for (var i4 = 0; i4 < bufs.length; i4++) {
var buf = bufs[i4];
for (var j2 = 0; j2 < buf.length; j2++) {
b.push(buf[j2]);
if (b.length === 2) {
if (charsProcessed === 0) {
if (b[0] === 255 && b[1] === 254) return "utf-16le";
if (b[0] === 254 && b[1] === 255) return "utf-16be";
}
if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;
if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;
b.length = 0;
charsProcessed++;
if (charsProcessed >= 100) {
break outerLoop;
}
}
}
}
if (asciiCharsBE > asciiCharsLE) return "utf-16be";
if (asciiCharsBE < asciiCharsLE) return "utf-16le";
return defaultEncoding || "utf-16le";
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf7.js
var require_utf7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/utf7.js"(exports2) {
"use strict";
var Buffer6 = require_safer().Buffer;
exports2.utf7 = Utf7Codec;
exports2.unicode11utf7 = "utf7";
function Utf7Codec(codecOptions, iconv) {
this.iconv = iconv;
}
Utf7Codec.prototype.encoder = Utf7Encoder;
Utf7Codec.prototype.decoder = Utf7Decoder;
Utf7Codec.prototype.bomAware = true;
var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;
function Utf7Encoder(options, codec) {
this.iconv = codec.iconv;
}
Utf7Encoder.prototype.write = function(str2) {
return Buffer6.from(str2.replace(nonDirectChars, function(chunk) {
return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-";
}.bind(this)));
};
Utf7Encoder.prototype.end = function() {
};
function Utf7Decoder(options, codec) {
this.iconv = codec.iconv;
this.inBase64 = false;
this.base64Accum = "";
}
var base64Regex = /[A-Za-z0-9\/+]/;
var base64Chars = [];
for (i4 = 0; i4 < 256; i4++) {
base64Chars[i4] = base64Regex.test(String.fromCharCode(i4));
}
var i4;
var plusChar = "+".charCodeAt(0);
var minusChar = "-".charCodeAt(0);
var andChar = "&".charCodeAt(0);
Utf7Decoder.prototype.write = function(buf) {
var res = "";
var lastI = 0;
var inBase64 = this.inBase64;
var base64Accum = this.base64Accum;
for (var i5 = 0; i5 < buf.length; i5++) {
if (!inBase64) {
if (buf[i5] == plusChar) {
res += this.iconv.decode(buf.slice(lastI, i5), "ascii");
lastI = i5 + 1;
inBase64 = true;
}
} else {
if (!base64Chars[buf[i5]]) {
if (i5 == lastI && buf[i5] == minusChar) {
res += "+";
} else {
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i5), "ascii");
res += this.iconv.decode(Buffer6.from(b64str, "base64"), "utf16-be");
}
if (buf[i5] != minusChar) {
i5--;
}
lastI = i5 + 1;
inBase64 = false;
base64Accum = "";
}
}
}
if (!inBase64) {
res += this.iconv.decode(buf.slice(lastI), "ascii");
} else {
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii");
var canBeDecoded = b64str.length - b64str.length % 8;
base64Accum = b64str.slice(canBeDecoded);
b64str = b64str.slice(0, canBeDecoded);
res += this.iconv.decode(Buffer6.from(b64str, "base64"), "utf16-be");
}
this.inBase64 = inBase64;
this.base64Accum = base64Accum;
return res;
};
Utf7Decoder.prototype.end = function() {
var res = "";
if (this.inBase64 && this.base64Accum.length > 0) {
res = this.iconv.decode(Buffer6.from(this.base64Accum, "base64"), "utf16-be");
}
this.inBase64 = false;
this.base64Accum = "";
return res;
};
exports2.utf7imap = Utf7IMAPCodec;
function Utf7IMAPCodec(codecOptions, iconv) {
this.iconv = iconv;
}
Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;
Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;
Utf7IMAPCodec.prototype.bomAware = true;
function Utf7IMAPEncoder(options, codec) {
this.iconv = codec.iconv;
this.inBase64 = false;
this.base64Accum = Buffer6.alloc(6);
this.base64AccumIdx = 0;
}
Utf7IMAPEncoder.prototype.write = function(str2) {
var inBase64 = this.inBase64;
var base64Accum = this.base64Accum;
var base64AccumIdx = this.base64AccumIdx;
var buf = Buffer6.alloc(str2.length * 5 + 10);
var bufIdx = 0;
for (var i5 = 0; i5 < str2.length; i5++) {
var uChar = str2.charCodeAt(i5);
if (uChar >= 32 && uChar <= 126) {
if (inBase64) {
if (base64AccumIdx > 0) {
bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
base64AccumIdx = 0;
}
buf[bufIdx++] = minusChar;
inBase64 = false;
}
if (!inBase64) {
buf[bufIdx++] = uChar;
if (uChar === andChar) {
buf[bufIdx++] = minusChar;
}
}
} else {
if (!inBase64) {
buf[bufIdx++] = andChar;
inBase64 = true;
}
if (inBase64) {
base64Accum[base64AccumIdx++] = uChar >> 8;
base64Accum[base64AccumIdx++] = uChar & 255;
if (base64AccumIdx == base64Accum.length) {
bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx);
base64AccumIdx = 0;
}
}
}
}
this.inBase64 = inBase64;
this.base64AccumIdx = base64AccumIdx;
return buf.slice(0, bufIdx);
};
Utf7IMAPEncoder.prototype.end = function() {
var buf = Buffer6.alloc(10);
var bufIdx = 0;
if (this.inBase64) {
if (this.base64AccumIdx > 0) {
bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
this.base64AccumIdx = 0;
}
buf[bufIdx++] = minusChar;
this.inBase64 = false;
}
return buf.slice(0, bufIdx);
};
function Utf7IMAPDecoder(options, codec) {
this.iconv = codec.iconv;
this.inBase64 = false;
this.base64Accum = "";
}
var base64IMAPChars = base64Chars.slice();
base64IMAPChars[",".charCodeAt(0)] = true;
Utf7IMAPDecoder.prototype.write = function(buf) {
var res = "";
var lastI = 0;
var inBase64 = this.inBase64;
var base64Accum = this.base64Accum;
for (var i5 = 0; i5 < buf.length; i5++) {
if (!inBase64) {
if (buf[i5] == andChar) {
res += this.iconv.decode(buf.slice(lastI, i5), "ascii");
lastI = i5 + 1;
inBase64 = true;
}
} else {
if (!base64IMAPChars[buf[i5]]) {
if (i5 == lastI && buf[i5] == minusChar) {
res += "&";
} else {
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i5), "ascii").replace(/,/g, "/");
res += this.iconv.decode(Buffer6.from(b64str, "base64"), "utf16-be");
}
if (buf[i5] != minusChar) {
i5--;
}
lastI = i5 + 1;
inBase64 = false;
base64Accum = "";
}
}
}
if (!inBase64) {
res += this.iconv.decode(buf.slice(lastI), "ascii");
} else {
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/");
var canBeDecoded = b64str.length - b64str.length % 8;
base64Accum = b64str.slice(canBeDecoded);
b64str = b64str.slice(0, canBeDecoded);
res += this.iconv.decode(Buffer6.from(b64str, "base64"), "utf16-be");
}
this.inBase64 = inBase64;
this.base64Accum = base64Accum;
return res;
};
Utf7IMAPDecoder.prototype.end = function() {
var res = "";
if (this.inBase64 && this.base64Accum.length > 0) {
res = this.iconv.decode(Buffer6.from(this.base64Accum, "base64"), "utf16-be");
}
this.inBase64 = false;
this.base64Accum = "";
return res;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-codec.js
var require_sbcs_codec = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) {
"use strict";
var Buffer6 = require_safer().Buffer;
exports2._sbcs = SBCSCodec;
function SBCSCodec(codecOptions, iconv) {
if (!codecOptions) {
throw new Error("SBCS codec is called without the data.");
}
if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) {
throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)");
}
if (codecOptions.chars.length === 128) {
var asciiString = "";
for (var i4 = 0; i4 < 128; i4++) {
asciiString += String.fromCharCode(i4);
}
codecOptions.chars = asciiString + codecOptions.chars;
}
this.decodeBuf = Buffer6.from(codecOptions.chars, "ucs2");
var encodeBuf = Buffer6.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0));
for (var i4 = 0; i4 < codecOptions.chars.length; i4++) {
encodeBuf[codecOptions.chars.charCodeAt(i4)] = i4;
}
this.encodeBuf = encodeBuf;
}
SBCSCodec.prototype.encoder = SBCSEncoder;
SBCSCodec.prototype.decoder = SBCSDecoder;
function SBCSEncoder(options, codec) {
this.encodeBuf = codec.encodeBuf;
}
SBCSEncoder.prototype.write = function(str2) {
var buf = Buffer6.alloc(str2.length);
for (var i4 = 0; i4 < str2.length; i4++) {
buf[i4] = this.encodeBuf[str2.charCodeAt(i4)];
}
return buf;
};
SBCSEncoder.prototype.end = function() {
};
function SBCSDecoder(options, codec) {
this.decodeBuf = codec.decodeBuf;
}
SBCSDecoder.prototype.write = function(buf) {
var decodeBuf = this.decodeBuf;
var newBuf = Buffer6.alloc(buf.length * 2);
var idx1 = 0;
var idx2 = 0;
for (var i4 = 0; i4 < buf.length; i4++) {
idx1 = buf[i4] * 2;
idx2 = i4 * 2;
newBuf[idx2] = decodeBuf[idx1];
newBuf[idx2 + 1] = decodeBuf[idx1 + 1];
}
return newBuf.toString("ucs2");
};
SBCSDecoder.prototype.end = function() {
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-data.js
var require_sbcs_data = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) {
"use strict";
module2.exports = {
// Not supported by iconv, not sure why.
10029: "maccenteuro",
maccenteuro: {
type: "_sbcs",
chars: "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"
},
808: "cp808",
ibm808: "cp808",
cp808: {
type: "_sbcs",
chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"
},
mik: {
type: "_sbcs",
chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
cp720: {
type: "_sbcs",
chars: "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
// Aliases of generated encodings.
ascii8bit: "ascii",
usascii: "ascii",
ansix34: "ascii",
ansix341968: "ascii",
ansix341986: "ascii",
csascii: "ascii",
cp367: "ascii",
ibm367: "ascii",
isoir6: "ascii",
iso646us: "ascii",
iso646irv: "ascii",
us: "ascii",
latin1: "iso88591",
latin2: "iso88592",
latin3: "iso88593",
latin4: "iso88594",
latin5: "iso88599",
latin6: "iso885910",
latin7: "iso885913",
latin8: "iso885914",
latin9: "iso885915",
latin10: "iso885916",
csisolatin1: "iso88591",
csisolatin2: "iso88592",
csisolatin3: "iso88593",
csisolatin4: "iso88594",
csisolatincyrillic: "iso88595",
csisolatinarabic: "iso88596",
csisolatingreek: "iso88597",
csisolatinhebrew: "iso88598",
csisolatin5: "iso88599",
csisolatin6: "iso885910",
l1: "iso88591",
l2: "iso88592",
l3: "iso88593",
l4: "iso88594",
l5: "iso88599",
l6: "iso885910",
l7: "iso885913",
l8: "iso885914",
l9: "iso885915",
l10: "iso885916",
isoir14: "iso646jp",
isoir57: "iso646cn",
isoir100: "iso88591",
isoir101: "iso88592",
isoir109: "iso88593",
isoir110: "iso88594",
isoir144: "iso88595",
isoir127: "iso88596",
isoir126: "iso88597",
isoir138: "iso88598",
isoir148: "iso88599",
isoir157: "iso885910",
isoir166: "tis620",
isoir179: "iso885913",
isoir199: "iso885914",
isoir203: "iso885915",
isoir226: "iso885916",
cp819: "iso88591",
ibm819: "iso88591",
cyrillic: "iso88595",
arabic: "iso88596",
arabic8: "iso88596",
ecma114: "iso88596",
asmo708: "iso88596",
greek: "iso88597",
greek8: "iso88597",
ecma118: "iso88597",
elot928: "iso88597",
hebrew: "iso88598",
hebrew8: "iso88598",
iso88598i: "iso88598",
iso88598e: "iso88598",
turkish: "iso88599",
turkish8: "iso88599",
thai: "iso885911",
thai8: "iso885911",
celtic: "iso885914",
celtic8: "iso885914",
isoceltic: "iso885914",
tis6200: "tis620",
tis62025291: "tis620",
tis62025330: "tis620",
1e4: "macroman",
10006: "macgreek",
10007: "maccyrillic",
10079: "maciceland",
10081: "macturkish",
cspc8codepage437: "cp437",
cspc775baltic: "cp775",
cspc850multilingual: "cp850",
cspcp852: "cp852",
cspc862latinhebrew: "cp862",
cpgr: "cp869",
msee: "cp1250",
mscyrl: "cp1251",
msansi: "cp1252",
msgreek: "cp1253",
msturk: "cp1254",
mshebr: "cp1255",
msarab: "cp1256",
winbaltrim: "cp1257",
cp20866: "koi8r",
20866: "koi8r",
ibm878: "koi8r",
cskoi8r: "koi8r",
cp21866: "koi8u",
21866: "koi8u",
ibm1168: "koi8u",
strk10482002: "rk1048",
tcvn5712: "tcvn",
tcvn57121: "tcvn",
gb198880: "iso646cn",
cn: "iso646cn",
csiso14jisc6220ro: "iso646jp",
jisc62201969ro: "iso646jp",
jp: "iso646jp",
cshproman8: "hproman8",
r8: "hproman8",
roman8: "hproman8",
xroman8: "hproman8",
ibm1051: "hproman8",
mac: "macintosh",
csmacintosh: "macintosh"
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-data-generated.js
var require_sbcs_data_generated = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) {
"use strict";
module2.exports = {
"437": "cp437",
"737": "cp737",
"775": "cp775",
"850": "cp850",
"852": "cp852",
"855": "cp855",
"856": "cp856",
"857": "cp857",
"858": "cp858",
"860": "cp860",
"861": "cp861",
"862": "cp862",
"863": "cp863",
"864": "cp864",
"865": "cp865",
"866": "cp866",
"869": "cp869",
"874": "windows874",
"922": "cp922",
"1046": "cp1046",
"1124": "cp1124",
"1125": "cp1125",
"1129": "cp1129",
"1133": "cp1133",
"1161": "cp1161",
"1162": "cp1162",
"1163": "cp1163",
"1250": "windows1250",
"1251": "windows1251",
"1252": "windows1252",
"1253": "windows1253",
"1254": "windows1254",
"1255": "windows1255",
"1256": "windows1256",
"1257": "windows1257",
"1258": "windows1258",
"28591": "iso88591",
"28592": "iso88592",
"28593": "iso88593",
"28594": "iso88594",
"28595": "iso88595",
"28596": "iso88596",
"28597": "iso88597",
"28598": "iso88598",
"28599": "iso88599",
"28600": "iso885910",
"28601": "iso885911",
"28603": "iso885913",
"28604": "iso885914",
"28605": "iso885915",
"28606": "iso885916",
"windows874": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
},
"win874": "windows874",
"cp874": "windows874",
"windows1250": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"
},
"win1250": "windows1250",
"cp1250": "windows1250",
"windows1251": {
"type": "_sbcs",
"chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
},
"win1251": "windows1251",
"cp1251": "windows1251",
"windows1252": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
},
"win1252": "windows1252",
"cp1252": "windows1252",
"windows1253": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"
},
"win1253": "windows1253",
"cp1253": "windows1253",
"windows1254": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"
},
"win1254": "windows1254",
"cp1254": "windows1254",
"windows1255": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"
},
"win1255": "windows1255",
"cp1255": "windows1255",
"windows1256": {
"type": "_sbcs",
"chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"
},
"win1256": "windows1256",
"cp1256": "windows1256",
"windows1257": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"
},
"win1257": "windows1257",
"cp1257": "windows1257",
"windows1258": {
"type": "_sbcs",
"chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
},
"win1258": "windows1258",
"cp1258": "windows1258",
"iso88591": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
},
"cp28591": "iso88591",
"iso88592": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"
},
"cp28592": "iso88592",
"iso88593": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"
},
"cp28593": "iso88593",
"iso88594": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"
},
"cp28594": "iso88594",
"iso88595": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"
},
"cp28595": "iso88595",
"iso88596": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
},
"cp28596": "iso88596",
"iso88597": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"
},
"cp28597": "iso88597",
"iso88598": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"
},
"cp28598": "iso88598",
"iso88599": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"
},
"cp28599": "iso88599",
"iso885910": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"
},
"cp28600": "iso885910",
"iso885911": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
},
"cp28601": "iso885911",
"iso885913": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"
},
"cp28603": "iso885913",
"iso885914": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"
},
"cp28604": "iso885914",
"iso885915": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
},
"cp28605": "iso885915",
"iso885916": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"
},
"cp28606": "iso885916",
"cp437": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm437": "cp437",
"csibm437": "cp437",
"cp737": {
"type": "_sbcs",
"chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm737": "cp737",
"csibm737": "cp737",
"cp775": {
"type": "_sbcs",
"chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"
},
"ibm775": "cp775",
"csibm775": "cp775",
"cp850": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
},
"ibm850": "cp850",
"csibm850": "cp850",
"cp852": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"
},
"ibm852": "cp852",
"csibm852": "cp852",
"cp855": {
"type": "_sbcs",
"chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"
},
"ibm855": "cp855",
"csibm855": "cp855",
"cp856": {
"type": "_sbcs",
"chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
},
"ibm856": "cp856",
"csibm856": "cp856",
"cp857": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
},
"ibm857": "cp857",
"csibm857": "cp857",
"cp858": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
},
"ibm858": "cp858",
"csibm858": "cp858",
"cp860": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm860": "cp860",
"csibm860": "cp860",
"cp861": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm861": "cp861",
"csibm861": "cp861",
"cp862": {
"type": "_sbcs",
"chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm862": "cp862",
"csibm862": "cp862",
"cp863": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm863": "cp863",
"csibm863": "cp863",
"cp864": {
"type": "_sbcs",
"chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD"
},
"ibm864": "cp864",
"csibm864": "cp864",
"cp865": {
"type": "_sbcs",
"chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
},
"ibm865": "cp865",
"csibm865": "cp865",
"cp866": {
"type": "_sbcs",
"chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"
},
"ibm866": "cp866",
"csibm866": "cp866",
"cp869": {
"type": "_sbcs",
"chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"
},
"ibm869": "cp869",
"csibm869": "cp869",
"cp922": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"
},
"ibm922": "cp922",
"csibm922": "cp922",
"cp1046": {
"type": "_sbcs",
"chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"
},
"ibm1046": "cp1046",
"csibm1046": "cp1046",
"cp1124": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"
},
"ibm1124": "cp1124",
"csibm1124": "cp1124",
"cp1125": {
"type": "_sbcs",
"chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"
},
"ibm1125": "cp1125",
"csibm1125": "cp1125",
"cp1129": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
},
"ibm1129": "cp1129",
"csibm1129": "cp1129",
"cp1133": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"
},
"ibm1133": "cp1133",
"csibm1133": "cp1133",
"cp1161": {
"type": "_sbcs",
"chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"
},
"ibm1161": "cp1161",
"csibm1161": "cp1161",
"cp1162": {
"type": "_sbcs",
"chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
},
"ibm1162": "cp1162",
"csibm1162": "cp1162",
"cp1163": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
},
"ibm1163": "cp1163",
"csibm1163": "cp1163",
"maccroatian": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"
},
"maccyrillic": {
"type": "_sbcs",
"chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"
},
"macgreek": {
"type": "_sbcs",
"chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"
},
"maciceland": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
},
"macroman": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
},
"macromania": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
},
"macthai": {
"type": "_sbcs",
"chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"
},
"macturkish": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
},
"macukraine": {
"type": "_sbcs",
"chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"
},
"koi8r": {
"type": "_sbcs",
"chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
},
"koi8u": {
"type": "_sbcs",
"chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
},
"koi8ru": {
"type": "_sbcs",
"chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
},
"koi8t": {
"type": "_sbcs",
"chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
},
"armscii8": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"
},
"rk1048": {
"type": "_sbcs",
"chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
},
"tcvn": {
"type": "_sbcs",
"chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0"
},
"georgianacademy": {
"type": "_sbcs",
"chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
},
"georgianps": {
"type": "_sbcs",
"chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
},
"pt154": {
"type": "_sbcs",
"chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
},
"viscii": {
"type": "_sbcs",
"chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE"
},
"iso646cn": {
"type": "_sbcs",
"chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
},
"iso646jp": {
"type": "_sbcs",
"chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
},
"hproman8": {
"type": "_sbcs",
"chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"
},
"macintosh": {
"type": "_sbcs",
"chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
},
"ascii": {
"type": "_sbcs",
"chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
},
"tis620": {
"type": "_sbcs",
"chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/dbcs-codec.js
var require_dbcs_codec = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) {
"use strict";
var Buffer6 = require_safer().Buffer;
exports2._dbcs = DBCSCodec;
var UNASSIGNED = -1;
var GB18030_CODE = -2;
var SEQ_START = -10;
var NODE_START = -1e3;
var UNASSIGNED_NODE = new Array(256);
var DEF_CHAR = -1;
for (i4 = 0; i4 < 256; i4++) {
UNASSIGNED_NODE[i4] = UNASSIGNED;
}
var i4;
function DBCSCodec(codecOptions, iconv) {
this.encodingName = codecOptions.encodingName;
if (!codecOptions) {
throw new Error("DBCS codec is called without the data.");
}
if (!codecOptions.table) {
throw new Error("Encoding '" + this.encodingName + "' has no data.");
}
var mappingTable = codecOptions.table();
this.decodeTables = [];
this.decodeTables[0] = UNASSIGNED_NODE.slice(0);
this.decodeTableSeq = [];
for (var i5 = 0; i5 < mappingTable.length; i5++) {
this._addDecodeChunk(mappingTable[i5]);
}
if (typeof codecOptions.gb18030 === "function") {
this.gb18030 = codecOptions.gb18030();
var commonThirdByteNodeIdx = this.decodeTables.length;
this.decodeTables.push(UNASSIGNED_NODE.slice(0));
var commonFourthByteNodeIdx = this.decodeTables.length;
this.decodeTables.push(UNASSIGNED_NODE.slice(0));
var firstByteNode = this.decodeTables[0];
for (var i5 = 129; i5 <= 254; i5++) {
var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i5]];
for (var j2 = 48; j2 <= 57; j2++) {
if (secondByteNode[j2] === UNASSIGNED) {
secondByteNode[j2] = NODE_START - commonThirdByteNodeIdx;
} else if (secondByteNode[j2] > NODE_START) {
throw new Error("gb18030 decode tables conflict at byte 2");
}
var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j2]];
for (var k2 = 129; k2 <= 254; k2++) {
if (thirdByteNode[k2] === UNASSIGNED) {
thirdByteNode[k2] = NODE_START - commonFourthByteNodeIdx;
} else if (thirdByteNode[k2] === NODE_START - commonFourthByteNodeIdx) {
continue;
} else if (thirdByteNode[k2] > NODE_START) {
throw new Error("gb18030 decode tables conflict at byte 3");
}
var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k2]];
for (var l = 48; l <= 57; l++) {
if (fourthByteNode[l] === UNASSIGNED) {
fourthByteNode[l] = GB18030_CODE;
}
}
}
}
}
}
this.defaultCharUnicode = iconv.defaultCharUnicode;
this.encodeTable = [];
this.encodeTableSeq = [];
var skipEncodeChars = {};
if (codecOptions.encodeSkipVals) {
for (var i5 = 0; i5 < codecOptions.encodeSkipVals.length; i5++) {
var val = codecOptions.encodeSkipVals[i5];
if (typeof val === "number") {
skipEncodeChars[val] = true;
} else {
for (var j2 = val.from; j2 <= val.to; j2++) {
skipEncodeChars[j2] = true;
}
}
}
}
this._fillEncodeTable(0, 0, skipEncodeChars);
if (codecOptions.encodeAdd) {
for (var uChar in codecOptions.encodeAdd) {
if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) {
this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);
}
}
}
this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];
if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"];
if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0);
}
DBCSCodec.prototype.encoder = DBCSEncoder;
DBCSCodec.prototype.decoder = DBCSDecoder;
DBCSCodec.prototype._getDecodeTrieNode = function(addr) {
var bytes = [];
for (; addr > 0; addr >>>= 8) {
bytes.push(addr & 255);
}
if (bytes.length == 0) {
bytes.push(0);
}
var node = this.decodeTables[0];
for (var i5 = bytes.length - 1; i5 > 0; i5--) {
var val = node[bytes[i5]];
if (val == UNASSIGNED) {
node[bytes[i5]] = NODE_START - this.decodeTables.length;
this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));
} else if (val <= NODE_START) {
node = this.decodeTables[NODE_START - val];
} else {
throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16));
}
}
return node;
};
DBCSCodec.prototype._addDecodeChunk = function(chunk) {
var curAddr = parseInt(chunk[0], 16);
var writeTable = this._getDecodeTrieNode(curAddr);
curAddr = curAddr & 255;
for (var k2 = 1; k2 < chunk.length; k2++) {
var part = chunk[k2];
if (typeof part === "string") {
for (var l = 0; l < part.length; ) {
var code = part.charCodeAt(l++);
if (code >= 55296 && code < 56320) {
var codeTrail = part.charCodeAt(l++);
if (codeTrail >= 56320 && codeTrail < 57344) {
writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320);
} else {
throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]);
}
} else if (code > 4080 && code <= 4095) {
var len = 4095 - code + 2;
var seq2 = [];
for (var m = 0; m < len; m++) {
seq2.push(part.charCodeAt(l++));
}
writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;
this.decodeTableSeq.push(seq2);
} else {
writeTable[curAddr++] = code;
}
}
} else if (typeof part === "number") {
var charCode = writeTable[curAddr - 1] + 1;
for (var l = 0; l < part; l++) {
writeTable[curAddr++] = charCode++;
}
} else {
throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]);
}
}
if (curAddr > 255) {
throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr);
}
};
DBCSCodec.prototype._getEncodeBucket = function(uCode) {
var high = uCode >> 8;
if (this.encodeTable[high] === void 0) {
this.encodeTable[high] = UNASSIGNED_NODE.slice(0);
}
return this.encodeTable[high];
};
DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {
var bucket = this._getEncodeBucket(uCode);
var low = uCode & 255;
if (bucket[low] <= SEQ_START) {
this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode;
} else if (bucket[low] == UNASSIGNED) {
bucket[low] = dbcsCode;
}
};
DBCSCodec.prototype._setEncodeSequence = function(seq2, dbcsCode) {
var uCode = seq2[0];
var bucket = this._getEncodeBucket(uCode);
var low = uCode & 255;
var node;
if (bucket[low] <= SEQ_START) {
node = this.encodeTableSeq[SEQ_START - bucket[low]];
} else {
node = {};
if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low];
bucket[low] = SEQ_START - this.encodeTableSeq.length;
this.encodeTableSeq.push(node);
}
for (var j2 = 1; j2 < seq2.length - 1; j2++) {
var oldVal = node[uCode];
if (typeof oldVal === "object") {
node = oldVal;
} else {
node = node[uCode] = {};
if (oldVal !== void 0) {
node[DEF_CHAR] = oldVal;
}
}
}
uCode = seq2[seq2.length - 1];
node[uCode] = dbcsCode;
};
DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {
var node = this.decodeTables[nodeIdx];
var hasValues = false;
var subNodeEmpty = {};
for (var i5 = 0; i5 < 256; i5++) {
var uCode = node[i5];
var mbCode = prefix + i5;
if (skipEncodeChars[mbCode]) {
continue;
}
if (uCode >= 0) {
this._setEncodeChar(uCode, mbCode);
hasValues = true;
} else if (uCode <= NODE_START) {
var subNodeIdx = NODE_START - uCode;
if (!subNodeEmpty[subNodeIdx]) {
var newPrefix = mbCode << 8 >>> 0;
if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) {
hasValues = true;
} else {
subNodeEmpty[subNodeIdx] = true;
}
}
} else if (uCode <= SEQ_START) {
this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);
hasValues = true;
}
}
return hasValues;
};
function DBCSEncoder(options, codec) {
this.leadSurrogate = -1;
this.seqObj = void 0;
this.encodeTable = codec.encodeTable;
this.encodeTableSeq = codec.encodeTableSeq;
this.defaultCharSingleByte = codec.defCharSB;
this.gb18030 = codec.gb18030;
}
DBCSEncoder.prototype.write = function(str2) {
var newBuf = Buffer6.alloc(str2.length * (this.gb18030 ? 4 : 3));
var leadSurrogate = this.leadSurrogate;
var seqObj = this.seqObj;
var nextChar = -1;
var i5 = 0;
var j2 = 0;
while (true) {
if (nextChar === -1) {
if (i5 == str2.length) break;
var uCode = str2.charCodeAt(i5++);
} else {
var uCode = nextChar;
nextChar = -1;
}
if (uCode >= 55296 && uCode < 57344) {
if (uCode < 56320) {
if (leadSurrogate === -1) {
leadSurrogate = uCode;
continue;
} else {
leadSurrogate = uCode;
uCode = UNASSIGNED;
}
} else {
if (leadSurrogate !== -1) {
uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320);
leadSurrogate = -1;
} else {
uCode = UNASSIGNED;
}
}
} else if (leadSurrogate !== -1) {
nextChar = uCode;
uCode = UNASSIGNED;
leadSurrogate = -1;
}
var dbcsCode = UNASSIGNED;
if (seqObj !== void 0 && uCode != UNASSIGNED) {
var resCode = seqObj[uCode];
if (typeof resCode === "object") {
seqObj = resCode;
continue;
} else if (typeof resCode === "number") {
dbcsCode = resCode;
} else if (resCode == void 0) {
resCode = seqObj[DEF_CHAR];
if (resCode !== void 0) {
dbcsCode = resCode;
nextChar = uCode;
} else {
}
}
seqObj = void 0;
} else if (uCode >= 0) {
var subtable = this.encodeTable[uCode >> 8];
if (subtable !== void 0) {
dbcsCode = subtable[uCode & 255];
}
if (dbcsCode <= SEQ_START) {
seqObj = this.encodeTableSeq[SEQ_START - dbcsCode];
continue;
}
if (dbcsCode == UNASSIGNED && this.gb18030) {
var idx = findIdx(this.gb18030.uChars, uCode);
if (idx != -1) {
var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);
newBuf[j2++] = 129 + Math.floor(dbcsCode / 12600);
dbcsCode = dbcsCode % 12600;
newBuf[j2++] = 48 + Math.floor(dbcsCode / 1260);
dbcsCode = dbcsCode % 1260;
newBuf[j2++] = 129 + Math.floor(dbcsCode / 10);
dbcsCode = dbcsCode % 10;
newBuf[j2++] = 48 + dbcsCode;
continue;
}
}
}
if (dbcsCode === UNASSIGNED) {
dbcsCode = this.defaultCharSingleByte;
}
if (dbcsCode < 256) {
newBuf[j2++] = dbcsCode;
} else if (dbcsCode < 65536) {
newBuf[j2++] = dbcsCode >> 8;
newBuf[j2++] = dbcsCode & 255;
} else if (dbcsCode < 16777216) {
newBuf[j2++] = dbcsCode >> 16;
newBuf[j2++] = dbcsCode >> 8 & 255;
newBuf[j2++] = dbcsCode & 255;
} else {
newBuf[j2++] = dbcsCode >>> 24;
newBuf[j2++] = dbcsCode >>> 16 & 255;
newBuf[j2++] = dbcsCode >>> 8 & 255;
newBuf[j2++] = dbcsCode & 255;
}
}
this.seqObj = seqObj;
this.leadSurrogate = leadSurrogate;
return newBuf.slice(0, j2);
};
DBCSEncoder.prototype.end = function() {
if (this.leadSurrogate === -1 && this.seqObj === void 0) {
return;
}
var newBuf = Buffer6.alloc(10);
var j2 = 0;
if (this.seqObj) {
var dbcsCode = this.seqObj[DEF_CHAR];
if (dbcsCode !== void 0) {
if (dbcsCode < 256) {
newBuf[j2++] = dbcsCode;
} else {
newBuf[j2++] = dbcsCode >> 8;
newBuf[j2++] = dbcsCode & 255;
}
} else {
}
this.seqObj = void 0;
}
if (this.leadSurrogate !== -1) {
newBuf[j2++] = this.defaultCharSingleByte;
this.leadSurrogate = -1;
}
return newBuf.slice(0, j2);
};
DBCSEncoder.prototype.findIdx = findIdx;
function DBCSDecoder(options, codec) {
this.nodeIdx = 0;
this.prevBytes = [];
this.decodeTables = codec.decodeTables;
this.decodeTableSeq = codec.decodeTableSeq;
this.defaultCharUnicode = codec.defaultCharUnicode;
this.gb18030 = codec.gb18030;
}
DBCSDecoder.prototype.write = function(buf) {
var newBuf = Buffer6.alloc(buf.length * 2);
var nodeIdx = this.nodeIdx;
var prevBytes = this.prevBytes;
var prevOffset = this.prevBytes.length;
var seqStart = -this.prevBytes.length;
var uCode;
for (var i5 = 0, j2 = 0; i5 < buf.length; i5++) {
var curByte = i5 >= 0 ? buf[i5] : prevBytes[i5 + prevOffset];
var uCode = this.decodeTables[nodeIdx][curByte];
if (uCode >= 0) {
} else if (uCode === UNASSIGNED) {
uCode = this.defaultCharUnicode.charCodeAt(0);
i5 = seqStart;
} else if (uCode === GB18030_CODE) {
if (i5 >= 3) {
var ptr = (buf[i5 - 3] - 129) * 12600 + (buf[i5 - 2] - 48) * 1260 + (buf[i5 - 1] - 129) * 10 + (curByte - 48);
} else {
var ptr = (prevBytes[i5 - 3 + prevOffset] - 129) * 12600 + ((i5 - 2 >= 0 ? buf[i5 - 2] : prevBytes[i5 - 2 + prevOffset]) - 48) * 1260 + ((i5 - 1 >= 0 ? buf[i5 - 1] : prevBytes[i5 - 1 + prevOffset]) - 129) * 10 + (curByte - 48);
}
var idx = findIdx(this.gb18030.gbChars, ptr);
uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];
} else if (uCode <= NODE_START) {
nodeIdx = NODE_START - uCode;
continue;
} else if (uCode <= SEQ_START) {
var seq2 = this.decodeTableSeq[SEQ_START - uCode];
for (var k2 = 0; k2 < seq2.length - 1; k2++) {
uCode = seq2[k2];
newBuf[j2++] = uCode & 255;
newBuf[j2++] = uCode >> 8;
}
uCode = seq2[seq2.length - 1];
} else {
throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte);
}
if (uCode >= 65536) {
uCode -= 65536;
var uCodeLead = 55296 | uCode >> 10;
newBuf[j2++] = uCodeLead & 255;
newBuf[j2++] = uCodeLead >> 8;
uCode = 56320 | uCode & 1023;
}
newBuf[j2++] = uCode & 255;
newBuf[j2++] = uCode >> 8;
nodeIdx = 0;
seqStart = i5 + 1;
}
this.nodeIdx = nodeIdx;
this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));
return newBuf.slice(0, j2).toString("ucs2");
};
DBCSDecoder.prototype.end = function() {
var ret2 = "";
while (this.prevBytes.length > 0) {
ret2 += this.defaultCharUnicode;
var bytesArr = this.prevBytes.slice(1);
this.prevBytes = [];
this.nodeIdx = 0;
if (bytesArr.length > 0) {
ret2 += this.write(bytesArr);
}
}
this.prevBytes = [];
this.nodeIdx = 0;
return ret2;
};
function findIdx(table9, val) {
if (table9[0] > val) {
return -1;
}
var l = 0;
var r = table9.length;
while (l < r - 1) {
var mid = l + (r - l + 1 >> 1);
if (table9[mid] <= val) {
l = mid;
} else {
r = mid;
}
}
return l;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/shiftjis.json
var require_shiftjis = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) {
module2.exports = [
["0", "\0", 128],
["a1", "\uFF61", 62],
["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"],
["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],
["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],
["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],
["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],
["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],
["81fc", "\u25EF"],
["824f", "\uFF10", 9],
["8260", "\uFF21", 25],
["8281", "\uFF41", 25],
["829f", "\u3041", 82],
["8340", "\u30A1", 62],
["8380", "\u30E0", 22],
["839f", "\u0391", 16, "\u03A3", 6],
["83bf", "\u03B1", 16, "\u03C3", 6],
["8440", "\u0410", 5, "\u0401\u0416", 25],
["8470", "\u0430", 5, "\u0451\u0436", 7],
["8480", "\u043E", 17],
["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],
["8740", "\u2460", 19, "\u2160", 9],
["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],
["877e", "\u337B"],
["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],
["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],
["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],
["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],
["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],
["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],
["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],
["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],
["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],
["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],
["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],
["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],
["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],
["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],
["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],
["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],
["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],
["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],
["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],
["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],
["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],
["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],
["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],
["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],
["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],
["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],
["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],
["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],
["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],
["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],
["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],
["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],
["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],
["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],
["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],
["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],
["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],
["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],
["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],
["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],
["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],
["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],
["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],
["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],
["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],
["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],
["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],
["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],
["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],
["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],
["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],
["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],
["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],
["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],
["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],
["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],
["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],
["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],
["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],
["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],
["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],
["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],
["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],
["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],
["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],
["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],
["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],
["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],
["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],
["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],
["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],
["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],
["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],
["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],
["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"],
["f040", "\uE000", 62],
["f080", "\uE03F", 124],
["f140", "\uE0BC", 62],
["f180", "\uE0FB", 124],
["f240", "\uE178", 62],
["f280", "\uE1B7", 124],
["f340", "\uE234", 62],
["f380", "\uE273", 124],
["f440", "\uE2F0", 62],
["f480", "\uE32F", 124],
["f540", "\uE3AC", 62],
["f580", "\uE3EB", 124],
["f640", "\uE468", 62],
["f680", "\uE4A7", 124],
["f740", "\uE524", 62],
["f780", "\uE563", 124],
["f840", "\uE5E0", 62],
["f880", "\uE61F", 124],
["f940", "\uE69C"],
["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],
["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],
["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],
["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],
["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/eucjp.json
var require_eucjp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) {
module2.exports = [
["0", "\0", 127],
["8ea1", "\uFF61", 62],
["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],
["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],
["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],
["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],
["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],
["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],
["a2fe", "\u25EF"],
["a3b0", "\uFF10", 9],
["a3c1", "\uFF21", 25],
["a3e1", "\uFF41", 25],
["a4a1", "\u3041", 82],
["a5a1", "\u30A1", 85],
["a6a1", "\u0391", 16, "\u03A3", 6],
["a6c1", "\u03B1", 16, "\u03C3", 6],
["a7a1", "\u0410", 5, "\u0401\u0416", 25],
["a7d1", "\u0430", 5, "\u0451\u0436", 25],
["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],
["ada1", "\u2460", 19, "\u2160", 9],
["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],
["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],
["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],
["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],
["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],
["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],
["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],
["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],
["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],
["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],
["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],
["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],
["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],
["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],
["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],
["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],
["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],
["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],
["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],
["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],
["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],
["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],
["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],
["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],
["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],
["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],
["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],
["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],
["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],
["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],
["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],
["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],
["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],
["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],
["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],
["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],
["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],
["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],
["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],
["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],
["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],
["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],
["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],
["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],
["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],
["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],
["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],
["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],
["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],
["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],
["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],
["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],
["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],
["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],
["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],
["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],
["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],
["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],
["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],
["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],
["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],
["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],
["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],
["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],
["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],
["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],
["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],
["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],
["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],
["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],
["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"],
["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],
["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],
["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],
["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],
["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"],
["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],
["8fa2c2", "\xA1\xA6\xBF"],
["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],
["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"],
["8fa6e7", "\u038C"],
["8fa6e9", "\u038E\u03AB"],
["8fa6ec", "\u038F"],
["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],
["8fa7c2", "\u0402", 10, "\u040E\u040F"],
["8fa7f2", "\u0452", 10, "\u045E\u045F"],
["8fa9a1", "\xC6\u0110"],
["8fa9a4", "\u0126"],
["8fa9a6", "\u0132"],
["8fa9a8", "\u0141\u013F"],
["8fa9ab", "\u014A\xD8\u0152"],
["8fa9af", "\u0166\xDE"],
["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],
["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],
["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],
["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],
["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],
["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],
["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],
["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],
["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],
["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],
["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],
["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],
["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"],
["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],
["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],
["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],
["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],
["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],
["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],
["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],
["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],
["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],
["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],
["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],
["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],
["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],
["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],
["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],
["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],
["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],
["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],
["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],
["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],
["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],
["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],
["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],
["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],
["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],
["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],
["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],
["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5],
["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],
["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],
["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],
["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],
["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],
["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],
["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],
["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],
["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],
["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],
["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],
["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],
["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],
["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],
["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],
["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],
["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],
["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],
["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],
["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],
["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],
["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],
["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4],
["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],
["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],
["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],
["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp936.json
var require_cp936 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) {
module2.exports = [
["0", "\0", 127, "\u20AC"],
["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"],
["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],
["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11],
["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"],
["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"],
["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5],
["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],
["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],
["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],
["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],
["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],
["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"],
["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4],
["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6],
["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],
["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7],
["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],
["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],
["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],
["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5],
["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"],
["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6],
["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],
["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4],
["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4],
["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],
["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],
["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6],
["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],
["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],
["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],
["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6],
["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"],
["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"],
["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],
["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],
["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"],
["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],
["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8],
["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"],
["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"],
["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],
["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],
["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5],
["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],
["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],
["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],
["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"],
["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5],
["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6],
["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],
["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"],
["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],
["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],
["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],
["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5],
["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"],
["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],
["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6],
["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"],
["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"],
["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4],
["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19],
["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],
["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],
["a2a1", "\u2170", 9],
["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9],
["a2e5", "\u3220", 9],
["a2f1", "\u2160", 11],
["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"],
["a4a1", "\u3041", 82],
["a5a1", "\u30A1", 85],
["a6a1", "\u0391", 16, "\u03A3", 6],
["a6c1", "\u03B1", 16, "\u03C3", 6],
["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],
["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"],
["a6f4", "\uFE33\uFE34"],
["a7a1", "\u0410", 5, "\u0401\u0416", 25],
["a7d1", "\u0430", 5, "\u0451\u0436", 25],
["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6],
["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],
["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],
["a8bd", "\u0144\u0148"],
["a8c0", "\u0261"],
["a8c5", "\u3105", 36],
["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],
["a959", "\u2121\u3231"],
["a95c", "\u2010"],
["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8],
["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"],
["a996", "\u3007"],
["a9a4", "\u2500", 75],
["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8],
["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"],
["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4],
["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4],
["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11],
["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"],
["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12],
["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"],
["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],
["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"],
["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],
["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],
["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],
["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],
["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],
["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],
["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4],
["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],
["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],
["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],
["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9],
["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],
["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"],
["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],
["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],
["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],
["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16],
["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],
["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],
["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],
["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"],
["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],
["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"],
["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],
["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9],
["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],
["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5],
["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],
["bd40", "\u7D37", 54, "\u7D6F", 7],
["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],
["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42],
["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],
["bf40", "\u7DFB", 62],
["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],
["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"],
["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],
["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"],
["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],
["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],
["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],
["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],
["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],
["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"],
["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],
["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],
["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],
["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],
["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],
["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"],
["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],
["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"],
["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],
["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],
["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],
["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10],
["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],
["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"],
["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],
["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],
["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],
["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],
["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],
["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"],
["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],
["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9],
["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],
["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],
["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],
["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5],
["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],
["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"],
["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],
["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6],
["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],
["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21],
["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],
["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46],
["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],
["d640", "\u8AE4", 34, "\u8B08", 27],
["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],
["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25],
["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],
["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"],
["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],
["d940", "\u8CAE", 62],
["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],
["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"],
["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],
["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],
["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],
["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7],
["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],
["dd40", "\u8EE5", 62],
["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],
["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],
["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],
["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"],
["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],
["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"],
["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],
["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],
["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],
["e240", "\u91E6", 62],
["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],
["e340", "\u9246", 45, "\u9275", 16],
["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],
["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31],
["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],
["e540", "\u930A", 51, "\u933F", 10],
["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],
["e640", "\u936C", 34, "\u9390", 27],
["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],
["e740", "\u93CE", 7, "\u93D7", 54],
["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],
["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"],
["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],
["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42],
["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],
["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],
["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],
["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"],
["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],
["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7],
["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],
["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46],
["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],
["ee40", "\u980F", 62],
["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],
["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4],
["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],
["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26],
["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],
["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47],
["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],
["f240", "\u99FA", 62],
["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],
["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],
["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],
["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5],
["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],
["f540", "\u9B7C", 62],
["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],
["f640", "\u9BDC", 62],
["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],
["f740", "\u9C3C", 62],
["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],
["f840", "\u9CE3", 62],
["f880", "\u9D22", 32],
["f940", "\u9D43", 62],
["f980", "\u9D82", 32],
["fa40", "\u9DA3", 62],
["fa80", "\u9DE2", 32],
["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"],
["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"],
["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6],
["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"],
["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38],
["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"],
["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/gbk-added.json
var require_gbk_added = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) {
module2.exports = [
["a140", "\uE4C6", 62],
["a180", "\uE505", 32],
["a240", "\uE526", 62],
["a280", "\uE565", 32],
["a2ab", "\uE766", 5],
["a2e3", "\u20AC\uE76D"],
["a2ef", "\uE76E\uE76F"],
["a2fd", "\uE770\uE771"],
["a340", "\uE586", 62],
["a380", "\uE5C5", 31, "\u3000"],
["a440", "\uE5E6", 62],
["a480", "\uE625", 32],
["a4f4", "\uE772", 10],
["a540", "\uE646", 62],
["a580", "\uE685", 32],
["a5f7", "\uE77D", 7],
["a640", "\uE6A6", 62],
["a680", "\uE6E5", 32],
["a6b9", "\uE785", 7],
["a6d9", "\uE78D", 6],
["a6ec", "\uE794\uE795"],
["a6f3", "\uE796"],
["a6f6", "\uE797", 8],
["a740", "\uE706", 62],
["a780", "\uE745", 32],
["a7c2", "\uE7A0", 14],
["a7f2", "\uE7AF", 12],
["a896", "\uE7BC", 10],
["a8bc", "\u1E3F"],
["a8bf", "\u01F9"],
["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"],
["a8ea", "\uE7CD", 20],
["a958", "\uE7E2"],
["a95b", "\uE7E3"],
["a95d", "\uE7E4\uE7E5\uE7E6"],
["a989", "\u303E\u2FF0", 11],
["a997", "\uE7F4", 12],
["a9f0", "\uE801", 14],
["aaa1", "\uE000", 93],
["aba1", "\uE05E", 93],
["aca1", "\uE0BC", 93],
["ada1", "\uE11A", 93],
["aea1", "\uE178", 93],
["afa1", "\uE1D6", 93],
["d7fa", "\uE810", 4],
["f8a1", "\uE234", 93],
["f9a1", "\uE292", 93],
["faa1", "\uE2F0", 93],
["fba1", "\uE34E", 93],
["fca1", "\uE3AC", 93],
["fda1", "\uE40A", 93],
["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],
["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93],
["8135f437", "\uE7C7"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
var require_gb18030_ranges = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) {
module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp949.json
var require_cp949 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) {
module2.exports = [
["0", "\0", 127],
["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"],
["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"],
["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"],
["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5],
["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],
["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18],
["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7],
["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],
["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8],
["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8],
["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18],
["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"],
["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4],
["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"],
["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"],
["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"],
["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10],
["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],
["8741", "\uB19E", 9, "\uB1A9", 15],
["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],
["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4],
["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4],
["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],
["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],
["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"],
["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"],
["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15],
["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"],
["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"],
["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"],
["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"],
["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8],
["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18],
["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4],
["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5],
["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16],
["8d41", "\uB6C3", 16, "\uB6D5", 8],
["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],
["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],
["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8],
["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19],
["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7],
["8f41", "\uB885", 7, "\uB88E", 17],
["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4],
["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5],
["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"],
["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15],
["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],
["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5],
["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5],
["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6],
["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],
["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4],
["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],
["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],
["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8],
["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],
["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8],
["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12],
["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24],
["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"],
["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"],
["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14],
["9641", "\uBEB8", 23, "\uBED2\uBED3"],
["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8],
["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44],
["9741", "\uBF83", 16, "\uBF95", 8],
["9761", "\uBF9E", 17, "\uBFB1", 7],
["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"],
["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"],
["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15],
["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],
["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"],
["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],
["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],
["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16],
["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"],
["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"],
["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8],
["9b61", "\uC333", 17, "\uC346", 7],
["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"],
["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5],
["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9],
["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12],
["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8],
["9d61", "\uC4C6", 25],
["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],
["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"],
["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"],
["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"],
["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"],
["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],
["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],
["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"],
["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13],
["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],
["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"],
["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"],
["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],
["a241", "\uC910\uC912", 5, "\uC919", 18],
["a261", "\uC92D", 6, "\uC935", 18],
["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],
["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"],
["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16],
["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"],
["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],
["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12],
["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93],
["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"],
["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"],
["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9],
["a5b0", "\u2160", 9],
["a5c1", "\u0391", 16, "\u03A3", 6],
["a5e1", "\u03B1", 16, "\u03C3", 6],
["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],
["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6],
["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7],
["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7],
["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"],
["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],
["a841", "\uCB6D", 10, "\uCB7A", 14],
["a861", "\uCB89", 18, "\uCB9D", 6],
["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"],
["a8a6", "\u0132"],
["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],
["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],
["a941", "\uCBC5", 14, "\uCBD5", 10],
["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18],
["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],
["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],
["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"],
["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82],
["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"],
["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5],
["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85],
["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],
["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4],
["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25],
["acd1", "\u0430", 5, "\u0451\u0436", 25],
["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7],
["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],
["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"],
["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16],
["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4],
["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],
["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19],
["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"],
["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],
["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12],
["b061", "\uCEBB", 5, "\uCEC2", 19],
["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],
["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],
["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11],
["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],
["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"],
["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"],
["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],
["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],
["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5],
["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],
["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5],
["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"],
["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],
["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5],
["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4],
["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],
["b641", "\uD105", 7, "\uD10E", 17],
["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],
["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],
["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"],
["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],
["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],
["b841", "\uD1D0", 7, "\uD1D9", 17],
["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13],
["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],
["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"],
["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"],
["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],
["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"],
["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5],
["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],
["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"],
["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"],
["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],
["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],
["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"],
["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],
["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],
["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13],
["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],
["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14],
["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"],
["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"],
["bf41", "\uD49E", 10, "\uD4AA", 14],
["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],
["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],
["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5],
["c061", "\uD51E", 25],
["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],
["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"],
["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"],
["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],
["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],
["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"],
["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],
["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4],
["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11],
["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],
["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],
["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4],
["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],
["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"],
["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4],
["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],
["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5],
["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],
["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],
["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],
["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],
["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],
["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],
["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],
["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],
["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],
["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],
["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],
["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],
["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],
["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],
["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],
["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],
["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],
["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],
["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],
["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],
["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],
["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],
["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],
["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],
["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],
["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],
["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],
["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],
["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],
["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],
["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],
["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],
["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],
["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],
["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],
["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],
["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],
["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],
["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],
["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],
["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],
["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],
["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],
["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],
["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],
["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],
["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],
["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],
["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],
["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],
["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],
["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],
["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],
["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],
["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp950.json
var require_cp950 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) {
module2.exports = [
["0", "\0", 127],
["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],
["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],
["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],
["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21],
["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10],
["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"],
["a3e1", "\u20AC"],
["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],
["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],
["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],
["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],
["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],
["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],
["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],
["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],
["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],
["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],
["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],
["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],
["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],
["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],
["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],
["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],
["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],
["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],
["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],
["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],
["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],
["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],
["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],
["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],
["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],
["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],
["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],
["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],
["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],
["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],
["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],
["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],
["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],
["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],
["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],
["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],
["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],
["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],
["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],
["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],
["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],
["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],
["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],
["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],
["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],
["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],
["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],
["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],
["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],
["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],
["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],
["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],
["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],
["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],
["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],
["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],
["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],
["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],
["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],
["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],
["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],
["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],
["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],
["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],
["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],
["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],
["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],
["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],
["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],
["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],
["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],
["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],
["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],
["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],
["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],
["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],
["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],
["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],
["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],
["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],
["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],
["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],
["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],
["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],
["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],
["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],
["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],
["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],
["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],
["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],
["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],
["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],
["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],
["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],
["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],
["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],
["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],
["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],
["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],
["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],
["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],
["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],
["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],
["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],
["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],
["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],
["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],
["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],
["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],
["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],
["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],
["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],
["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],
["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],
["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],
["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],
["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],
["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],
["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],
["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],
["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],
["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],
["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],
["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],
["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],
["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],
["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],
["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],
["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],
["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],
["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],
["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],
["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],
["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],
["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],
["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],
["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],
["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],
["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],
["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],
["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],
["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],
["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],
["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],
["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],
["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],
["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],
["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],
["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],
["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],
["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],
["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],
["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],
["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],
["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],
["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],
["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],
["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],
["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],
["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],
["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],
["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],
["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],
["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],
["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],
["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],
["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/big5-added.json
var require_big5_added = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) {
module2.exports = [
["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],
["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],
["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],
["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],
["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],
["8940", "\u{2A3A9}\u{21145}"],
["8943", "\u650A"],
["8946", "\u4E3D\u6EDD\u9D4E\u91DF"],
["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],
["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],
["89ab", "\u918C\u78B8\u915E\u80BC"],
["89b0", "\u8D0B\u80F6\u{209E7}"],
["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],
["89c1", "\u6E9A\u823E\u7519"],
["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],
["8a40", "\u{27D84}\u5525"],
["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],
["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],
["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],
["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],
["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],
["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],
["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],
["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],
["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],
["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],
["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],
["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],
["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],
["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],
["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],
["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],
["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],
["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],
["8cc9", "\u9868\u676B\u4276\u573D"],
["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],
["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],
["8d40", "\u{20B9F}"],
["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],
["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],
["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],
["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],
["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],
["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],
["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],
["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],
["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],
["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],
["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],
["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],
["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],
["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],
["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],
["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],
["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],
["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],
["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],
["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],
["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],
["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],
["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],
["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],
["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],
["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],
["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],
["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],
["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],
["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],
["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],
["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],
["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],
["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],
["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],
["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],
["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],
["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],
["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],
["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],
["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],
["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],
["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],
["9fae", "\u9159\u9681\u915C"],
["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],
["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],
["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],
["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],
["9fe7", "\u6BFA\u8818\u7F78"],
["9feb", "\u5620\u{2A64A}\u8E77\u9F53"],
["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],
["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],
["a055", "\u{2183B}\u{26E05}"],
["a058", "\u8A7E\u{2251B}"],
["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],
["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],
["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],
["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"],
["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],
["a0ae", "\u77FE"],
["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],
["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],
["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],
["a3c0", "\u2400", 31, "\u2421"],
["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23],
["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"],
["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4],
["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],
["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"],
["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],
["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],
["f9fe", "\uFFED"],
["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],
["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],
["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],
["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],
["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],
["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],
["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],
["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],
["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],
["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/dbcs-data.js
var require_dbcs_data = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) {
"use strict";
module2.exports = {
// == Japanese/ShiftJIS ====================================================
// All japanese encodings are based on JIS X set of standards:
// JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.
// JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes.
// Has several variations in 1978, 1983, 1990 and 1997.
// JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.
// JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.
// 2 planes, first is superset of 0208, second - revised 0212.
// Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)
// Byte encodings are:
// * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte
// encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.
// Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.
// * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.
// 0x00-0x7F - lower part of 0201
// 0x8E, 0xA1-0xDF - upper part of 0201
// (0xA1-0xFE)x2 - 0208 plane (94x94).
// 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).
// * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.
// Used as-is in ISO2022 family.
// * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII,
// 0201-1976 Roman, 0208-1978, 0208-1983.
// * ISO2022-JP-1: Adds esc seq for 0212-1990.
// * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.
// * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.
// * ISO2022-JP-2004: Adds 0213-2004 Plane 1.
//
// After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.
//
// Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html
shiftjis: {
type: "_dbcs",
table: function() {
return require_shiftjis();
},
encodeAdd: { "\xA5": 92, "\u203E": 126 },
encodeSkipVals: [{ from: 60736, to: 63808 }]
},
csshiftjis: "shiftjis",
mskanji: "shiftjis",
sjis: "shiftjis",
windows31j: "shiftjis",
ms31j: "shiftjis",
xsjis: "shiftjis",
windows932: "shiftjis",
ms932: "shiftjis",
932: "shiftjis",
cp932: "shiftjis",
eucjp: {
type: "_dbcs",
table: function() {
return require_eucjp();
},
encodeAdd: { "\xA5": 92, "\u203E": 126 }
},
// TODO: KDDI extension to Shift_JIS
// TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.
// TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.
// == Chinese/GBK ==========================================================
// http://en.wikipedia.org/wiki/GBK
// We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder
// Oldest GB2312 (1981, ~7600 chars) is a subset of CP936
gb2312: "cp936",
gb231280: "cp936",
gb23121980: "cp936",
csgb2312: "cp936",
csiso58gb231280: "cp936",
euccn: "cp936",
// Microsoft's CP936 is a subset and approximation of GBK.
windows936: "cp936",
ms936: "cp936",
936: "cp936",
cp936: {
type: "_dbcs",
table: function() {
return require_cp936();
}
},
// GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.
gbk: {
type: "_dbcs",
table: function() {
return require_cp936().concat(require_gbk_added());
}
},
xgbk: "gbk",
isoir58: "gbk",
// GB18030 is an algorithmic extension of GBK.
// Main source: https://www.w3.org/TR/encoding/#gbk-encoder
// http://icu-project.org/docs/papers/gb18030.html
// http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml
// http://www.khngai.com/chinese/charmap/tblgbk.php?page=0
gb18030: {
type: "_dbcs",
table: function() {
return require_cp936().concat(require_gbk_added());
},
gb18030: function() {
return require_gb18030_ranges();
},
encodeSkipVals: [128],
encodeAdd: { "\u20AC": 41699 }
},
chinese: "gb18030",
// == Korean ===============================================================
// EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.
windows949: "cp949",
ms949: "cp949",
949: "cp949",
cp949: {
type: "_dbcs",
table: function() {
return require_cp949();
}
},
cseuckr: "cp949",
csksc56011987: "cp949",
euckr: "cp949",
isoir149: "cp949",
korean: "cp949",
ksc56011987: "cp949",
ksc56011989: "cp949",
ksc5601: "cp949",
// == Big5/Taiwan/Hong Kong ================================================
// There are lots of tables for Big5 and cp950. Please see the following links for history:
// http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html
// Variations, in roughly number of defined chars:
// * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
// * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/
// * Big5-2003 (Taiwan standard) almost superset of cp950.
// * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.
// * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard.
// many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.
// Plus, it has 4 combining sequences.
// Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299
// because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.
// Implementations are not consistent within browsers; sometimes labeled as just big5.
// MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.
// Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31
// In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.
// Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt
// http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt
//
// Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder
// Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.
windows950: "cp950",
ms950: "cp950",
950: "cp950",
cp950: {
type: "_dbcs",
table: function() {
return require_cp950();
}
},
// Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.
big5: "big5hkscs",
big5hkscs: {
type: "_dbcs",
table: function() {
return require_cp950().concat(require_big5_added());
},
encodeSkipVals: [
// Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of
// https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.
// But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.
36457,
36463,
36478,
36523,
36532,
36557,
36560,
36695,
36713,
36718,
36811,
36862,
36973,
36986,
37060,
37084,
37105,
37311,
37551,
37552,
37553,
37554,
37585,
37959,
38090,
38361,
38652,
39285,
39798,
39800,
39803,
39878,
39902,
39916,
39926,
40002,
40019,
40034,
40040,
40043,
40055,
40124,
40125,
40144,
40279,
40282,
40388,
40431,
40443,
40617,
40687,
40701,
40800,
40907,
41079,
41180,
41183,
36812,
37576,
38468,
38637,
// Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345
41636,
41637,
41639,
41638,
41676,
41678
]
},
cnbig5: "big5hkscs",
csbig5: "big5hkscs",
xxbig5: "big5hkscs"
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/index.js
var require_encodings = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/encodings/index.js"(exports2, module2) {
"use strict";
var mergeModules = require_merge_exports();
var modules = [
require_internal(),
require_utf32(),
require_utf16(),
require_utf7(),
require_sbcs_codec(),
require_sbcs_data(),
require_sbcs_data_generated(),
require_dbcs_codec(),
require_dbcs_data()
];
for (i4 = 0; i4 < modules.length; i4++) {
module2 = modules[i4];
mergeModules(exports2, module2);
}
var module2;
var i4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/streams.js
var require_streams = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/streams.js"(exports2, module2) {
"use strict";
var Buffer6 = require_safer().Buffer;
module2.exports = function(streamModule) {
var Transform2 = streamModule.Transform;
function IconvLiteEncoderStream(conv, options) {
this.conv = conv;
options = options || {};
options.decodeStrings = false;
Transform2.call(this, options);
}
IconvLiteEncoderStream.prototype = Object.create(Transform2.prototype, {
constructor: { value: IconvLiteEncoderStream }
});
IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {
if (typeof chunk !== "string") {
return done(new Error("Iconv encoding stream needs strings as its input."));
}
try {
var res = this.conv.write(chunk);
if (res && res.length) this.push(res);
done();
} catch (e) {
done(e);
}
};
IconvLiteEncoderStream.prototype._flush = function(done) {
try {
var res = this.conv.end();
if (res && res.length) this.push(res);
done();
} catch (e) {
done(e);
}
};
IconvLiteEncoderStream.prototype.collect = function(cb) {
var chunks = [];
this.on("error", cb);
this.on("data", function(chunk) {
chunks.push(chunk);
});
this.on("end", function() {
cb(null, Buffer6.concat(chunks));
});
return this;
};
function IconvLiteDecoderStream(conv, options) {
this.conv = conv;
options = options || {};
options.encoding = this.encoding = "utf8";
Transform2.call(this, options);
}
IconvLiteDecoderStream.prototype = Object.create(Transform2.prototype, {
constructor: { value: IconvLiteDecoderStream }
});
IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {
if (!Buffer6.isBuffer(chunk) && !(chunk instanceof Uint8Array)) {
return done(new Error("Iconv decoding stream needs buffers as its input."));
}
try {
var res = this.conv.write(chunk);
if (res && res.length) this.push(res, this.encoding);
done();
} catch (e) {
done(e);
}
};
IconvLiteDecoderStream.prototype._flush = function(done) {
try {
var res = this.conv.end();
if (res && res.length) this.push(res, this.encoding);
done();
} catch (e) {
done(e);
}
};
IconvLiteDecoderStream.prototype.collect = function(cb) {
var res = "";
this.on("error", cb);
this.on("data", function(chunk) {
res += chunk;
});
this.on("end", function() {
cb(null, res);
});
return this;
};
return {
IconvLiteEncoderStream,
IconvLiteDecoderStream
};
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/index.js
var require_lib22 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/iconv-lite/0.7.3/b8dff172719028b16b33941a2dd4a120b3cb74b894c3dec3bb0a13a3f8733d46/node_modules/iconv-lite/lib/index.js"(exports2, module2) {
"use strict";
var Buffer6 = require_safer().Buffer;
var bomHandling = require_bom_handling();
var mergeModules = require_merge_exports();
module2.exports.encodings = null;
module2.exports.defaultCharUnicode = "\uFFFD";
module2.exports.defaultCharSingleByte = "?";
module2.exports.encode = function encode3(str2, encoding, options) {
str2 = "" + (str2 || "");
var encoder = module2.exports.getEncoder(encoding, options);
var res = encoder.write(str2);
var trail = encoder.end();
return trail && trail.length > 0 ? Buffer6.concat([res, trail]) : res;
};
module2.exports.decode = function decode3(buf, encoding, options) {
if (typeof buf === "string") {
if (!module2.exports.skipDecodeWarning) {
console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");
module2.exports.skipDecodeWarning = true;
}
buf = Buffer6.from("" + (buf || ""), "binary");
}
var decoder2 = module2.exports.getDecoder(encoding, options);
var res = decoder2.write(buf);
var trail = decoder2.end();
return trail ? res + trail : res;
};
module2.exports.encodingExists = function encodingExists(enc) {
try {
module2.exports.getCodec(enc);
return true;
} catch (e) {
return false;
}
};
module2.exports.toEncoding = module2.exports.encode;
module2.exports.fromEncoding = module2.exports.decode;
module2.exports._codecDataCache = { __proto__: null };
module2.exports.getCodec = function getCodec(encoding) {
if (!module2.exports.encodings) {
var raw = require_encodings();
module2.exports.encodings = { __proto__: null };
mergeModules(module2.exports.encodings, raw);
}
var enc = module2.exports._canonicalizeEncoding(encoding);
var codecOptions = {};
while (true) {
var codec = module2.exports._codecDataCache[enc];
if (codec) {
return codec;
}
var codecDef = module2.exports.encodings[enc];
switch (typeof codecDef) {
case "string":
enc = codecDef;
break;
case "object":
for (var key in codecDef) {
codecOptions[key] = codecDef[key];
}
if (!codecOptions.encodingName) {
codecOptions.encodingName = enc;
}
enc = codecDef.type;
break;
case "function":
if (!codecOptions.encodingName) {
codecOptions.encodingName = enc;
}
codec = new codecDef(codecOptions, module2.exports);
module2.exports._codecDataCache[codecOptions.encodingName] = codec;
return codec;
default:
throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')");
}
}
};
module2.exports._canonicalizeEncoding = function(encoding) {
return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, "");
};
module2.exports.getEncoder = function getEncoder(encoding, options) {
var codec = module2.exports.getCodec(encoding);
var encoder = new codec.encoder(options, codec);
if (codec.bomAware && options && options.addBOM) {
encoder = new bomHandling.PrependBOM(encoder, options);
}
return encoder;
};
module2.exports.getDecoder = function getDecoder(encoding, options) {
var codec = module2.exports.getCodec(encoding);
var decoder2 = new codec.decoder(options, codec);
if (codec.bomAware && !(options && options.stripBOM === false)) {
decoder2 = new bomHandling.StripBOM(decoder2, options);
}
return decoder2;
};
module2.exports.enableStreamingAPI = function enableStreamingAPI(streamModule2) {
if (module2.exports.supportsStreams) {
return;
}
var streams = require_streams()(streamModule2);
module2.exports.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;
module2.exports.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;
module2.exports.encodeStream = function encodeStream(encoding, options) {
return new module2.exports.IconvLiteEncoderStream(module2.exports.getEncoder(encoding, options), options);
};
module2.exports.decodeStream = function decodeStream(encoding, options) {
return new module2.exports.IconvLiteDecoderStream(module2.exports.getDecoder(encoding, options), options);
};
module2.exports.supportsStreams = true;
};
var streamModule;
try {
streamModule = __require("stream");
} catch (e) {
}
if (streamModule && streamModule.Transform) {
module2.exports.enableStreamingAPI(streamModule);
} else {
module2.exports.encodeStream = module2.exports.decodeStream = function() {
throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.");
};
}
if (false) {
console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/confirm/6.1.1/0de0ed9505a088966f0951dd4cd707b3fffcbe202ab03db0b44be8d49be10251/node_modules/@inquirer/confirm/dist/index.js
function getBooleanValue(value, defaultValue) {
let answer = defaultValue !== false;
if (/^(y|yes)/i.test(value))
answer = true;
else if (/^(n|no)/i.test(value))
answer = false;
return answer;
}
function boolToString(value) {
return value ? "Yes" : "No";
}
var dist_default5;
var init_dist10 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/confirm/6.1.1/0de0ed9505a088966f0951dd4cd707b3fffcbe202ab03db0b44be8d49be10251/node_modules/@inquirer/confirm/dist/index.js"() {
init_dist8();
dist_default5 = createPrompt((config2, done) => {
const { transformer = boolToString } = config2;
const [status, setStatus2] = useState("idle");
const [value, setValue] = useState("");
const theme = makeTheme(config2.theme);
const prefix = usePrefix({ status, theme });
useKeypress((key, rl) => {
if (status !== "idle")
return;
if (isEnterKey(key)) {
const answer = getBooleanValue(value, config2.default);
setValue(transformer(answer));
setStatus2("done");
done(answer);
} else if (isTabKey(key)) {
const answer = boolToString(!getBooleanValue(value, config2.default));
rl.clearLine(0);
rl.write(answer);
setValue(answer);
} else {
setValue(rl.line);
}
});
let formattedValue = value;
let defaultValue = "";
if (status === "done") {
formattedValue = theme.style.answer(value);
} else {
defaultValue = ` ${theme.style.defaultAnswer(config2.default === false ? "y/N" : "Y/n")}`;
}
const message = theme.style.message(config2.message, status);
return `${prefix} ${message}${defaultValue} ${formattedValue}`;
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/input/5.1.2/936121cdd2c44d47525693a6a18dc8125c7a7f7d6703da092b56a597d89cade6/node_modules/@inquirer/input/dist/index.js
var inputTheme, dist_default6;
var init_dist11 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/input/5.1.2/936121cdd2c44d47525693a6a18dc8125c7a7f7d6703da092b56a597d89cade6/node_modules/@inquirer/input/dist/index.js"() {
init_dist8();
inputTheme = {
validationFailureMode: "keep"
};
dist_default6 = createPrompt((config2, done) => {
const { prefill = "tab" } = config2;
const theme = makeTheme(inputTheme, config2.theme);
const [status, setStatus2] = useState("idle");
const [defaultValue, setDefaultValue] = useState(String(config2.default ?? ""));
const [errorMsg, setError] = useState();
const [value, setValue] = useState("");
const prefix = usePrefix({ status, theme });
async function validate2(value2) {
const { required, pattern, patternError = "Invalid input" } = config2;
if (required && !value2) {
return "You must provide a value";
}
if (pattern && !pattern.test(value2)) {
return patternError;
}
if (typeof config2.validate === "function") {
return await config2.validate(value2) || "You must provide a valid value";
}
return true;
}
useKeypress(async (key, rl) => {
if (status !== "idle") {
return;
}
if (isEnterKey(key)) {
const answer = value || defaultValue;
setStatus2("loading");
const isValid = await validate2(answer);
if (isValid === true) {
setValue(answer);
setStatus2("done");
done(answer);
} else {
if (theme.validationFailureMode === "clear") {
setValue("");
} else {
rl.write(value);
}
setError(isValid);
setStatus2("idle");
}
} else if (isBackspaceKey(key) && !value) {
setDefaultValue("");
} else if (isTabKey(key) && !value) {
setDefaultValue("");
rl.clearLine(0);
rl.write(defaultValue);
setValue(defaultValue);
} else {
setValue(rl.line);
setError(void 0);
}
});
useEffect((rl) => {
if (prefill === "editable" && defaultValue) {
rl.write(defaultValue);
setValue(defaultValue);
}
}, []);
const message = theme.style.message(config2.message, status);
let formattedValue = value;
if (typeof config2.transformer === "function") {
formattedValue = config2.transformer(value, { isFinal: status === "done" });
} else if (status === "done") {
formattedValue = theme.style.answer(value);
}
let defaultStr;
if (defaultValue && status !== "done" && !value) {
defaultStr = theme.style.defaultAnswer(defaultValue);
}
let error = "";
if (errorMsg) {
error = theme.style.error(errorMsg);
}
return [
[prefix, message, defaultStr, formattedValue].filter((v) => v !== void 0).join(" "),
error
];
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/password/5.1.1/5b1273ec425ec439ed5f6fd40516ee28f49415d0893d20bf0e0fdead2ca6929d/node_modules/@inquirer/password/dist/index.js
var passwordTheme, dist_default7;
var init_dist12 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/password/5.1.1/5b1273ec425ec439ed5f6fd40516ee28f49415d0893d20bf0e0fdead2ca6929d/node_modules/@inquirer/password/dist/index.js"() {
init_dist8();
init_dist7();
passwordTheme = {
style: {
maskedText: "[input is masked]"
}
};
dist_default7 = createPrompt((config2, done) => {
const { validate: validate2 = () => true } = config2;
const theme = makeTheme(passwordTheme, config2.theme);
const [status, setStatus2] = useState("idle");
const [errorMsg, setError] = useState();
const [value, setValue] = useState("");
const prefix = usePrefix({ status, theme });
useKeypress(async (key, rl) => {
if (status !== "idle") {
return;
}
if (isEnterKey(key)) {
const answer = value;
setStatus2("loading");
const isValid = await validate2(answer);
if (isValid === true) {
setValue(answer);
setStatus2("done");
done(answer);
} else {
rl.write(value);
setError(isValid || "You must provide a valid value");
setStatus2("idle");
}
} else {
setValue(rl.line);
setError(void 0);
}
});
const message = theme.style.message(config2.message, status);
let formattedValue = "";
let helpTip;
if (config2.mask) {
const maskChar = typeof config2.mask === "string" ? config2.mask : "*";
formattedValue = maskChar.repeat(value.length);
} else if (status !== "done") {
helpTip = `${theme.style.help(theme.style.maskedText)}${cursorHide}`;
}
if (status === "done") {
formattedValue = theme.style.answer(formattedValue);
}
let error = "";
if (errorMsg) {
error = theme.style.error(errorMsg);
}
return [[prefix, message, config2.mask ? formattedValue : helpTip].join(" "), error];
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/select/5.2.1/ad519e1c4b04ef43390c3e2f5bf558a87f1710bfb9ee7c0ace732e1f5a1564ae/node_modules/@inquirer/select/dist/index.js
import { styleText as styleText4 } from "node:util";
function isSelectable2(item) {
return !Separator.isSeparator(item) && !item.disabled;
}
function isNavigable2(item) {
return !Separator.isSeparator(item);
}
function normalizeChoices2(choices) {
return choices.map((choice) => {
if (Separator.isSeparator(choice))
return choice;
if (typeof choice !== "object" || choice === null || !("value" in choice)) {
const name2 = String(choice);
return {
value: choice,
name: name2,
short: name2,
disabled: false
};
}
const name = choice.name ?? String(choice.value);
const normalizedChoice = {
value: choice.value,
name,
short: choice.short ?? name,
disabled: choice.disabled ?? false
};
if (choice.description) {
normalizedChoice.description = choice.description;
}
return normalizedChoice;
});
}
var selectTheme, dist_default8;
var init_dist13 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/select/5.2.1/ad519e1c4b04ef43390c3e2f5bf558a87f1710bfb9ee7c0ace732e1f5a1564ae/node_modules/@inquirer/select/dist/index.js"() {
init_dist8();
init_dist7();
init_dist4();
selectTheme = {
icon: { cursor: dist_default.pointer },
style: {
disabled: (text) => styleText4("dim", text),
description: (text) => styleText4("cyan", text),
keysHelpTip: (keys4) => keys4.map(([key, action]) => `${styleText4("bold", key)} ${styleText4("dim", action)}`).join(styleText4("dim", " \u2022 "))
},
i18n: { disabledError: "This option is disabled and cannot be selected." },
indexMode: "hidden"
};
dist_default8 = createPrompt((config2, done) => {
const { loop = true, pageSize = 7 } = config2;
const theme = makeTheme(selectTheme, config2.theme);
const { keybindings: keybindings2 } = theme;
const [status, setStatus2] = useState("idle");
const prefix = usePrefix({ status, theme });
const searchTimeoutRef = useRef();
const searchEnabled = !keybindings2.includes("vim");
const items = useMemo(() => normalizeChoices2(config2.choices), [config2.choices]);
const bounds = useMemo(() => {
const first = items.findIndex(isNavigable2);
const last = items.findLastIndex(isNavigable2);
if (first === -1) {
throw new ValidationError("[select prompt] No selectable choices. All choices are disabled.");
}
return { first, last };
}, [items]);
const defaultItemIndex = useMemo(() => {
if (!("default" in config2))
return -1;
return items.findIndex((item) => isSelectable2(item) && item.value === config2.default);
}, [config2.default, items]);
const [active, setActive] = useState(defaultItemIndex === -1 ? bounds.first : defaultItemIndex);
const selectedChoice = items[active];
if (selectedChoice == null || Separator.isSeparator(selectedChoice)) {
throw new Error("Active index does not point to a choice");
}
const [errorMsg, setError] = useState();
useKeypress((key, rl) => {
clearTimeout(searchTimeoutRef.current);
if (errorMsg) {
setError(void 0);
}
if (isEnterKey(key)) {
if (selectedChoice.disabled) {
setError(theme.i18n.disabledError);
} else {
setStatus2("done");
done(selectedChoice.value);
}
} else if (isUpKey(key, keybindings2) || isDownKey(key, keybindings2)) {
rl.clearLine(0);
if (loop || isUpKey(key, keybindings2) && active !== bounds.first || isDownKey(key, keybindings2) && active !== bounds.last) {
const offset = isUpKey(key, keybindings2) ? -1 : 1;
let next2 = active;
do {
next2 = (next2 + offset + items.length) % items.length;
} while (!isNavigable2(items[next2]));
setActive(next2);
}
} else if (isNumberKey(key) && !Number.isNaN(Number(rl.line))) {
const selectedIndex = Number(rl.line) - 1;
let selectableIndex = -1;
const position3 = items.findIndex((item2) => {
if (Separator.isSeparator(item2))
return false;
selectableIndex++;
return selectableIndex === selectedIndex;
});
const item = items[position3];
if (item != null && isSelectable2(item)) {
setActive(position3);
}
searchTimeoutRef.current = setTimeout(() => {
rl.clearLine(0);
}, 700);
} else if (isBackspaceKey(key)) {
rl.clearLine(0);
} else if (searchEnabled) {
const searchTerm = rl.line.toLowerCase();
const matchIndex = items.findIndex((item) => {
if (Separator.isSeparator(item) || !isSelectable2(item))
return false;
return item.name.toLowerCase().startsWith(searchTerm);
});
if (matchIndex !== -1) {
setActive(matchIndex);
}
searchTimeoutRef.current = setTimeout(() => {
rl.clearLine(0);
}, 700);
}
});
useEffect(() => () => {
clearTimeout(searchTimeoutRef.current);
}, []);
const message = theme.style.message(config2.message, status);
const helpLine = theme.style.keysHelpTip([
["\u2191\u2193", "navigate"],
["\u23CE", "select"]
]);
let separatorCount = 0;
const page = usePagination({
items,
active,
renderItem({ item, isActive, index: index2 }) {
if (Separator.isSeparator(item)) {
separatorCount++;
return ` ${item.separator}`;
}
const cursor = isActive ? theme.icon.cursor : " ";
const indexLabel = theme.indexMode === "number" ? `${index2 + 1 - separatorCount}. ` : "";
if (item.disabled) {
const disabledLabel = typeof item.disabled === "string" ? item.disabled : "(disabled)";
const disabledCursor = isActive ? theme.icon.cursor : "-";
return theme.style.disabled(`${disabledCursor} ${indexLabel}${item.name} ${disabledLabel}`);
}
const color = isActive ? theme.style.highlight : (x3) => x3;
return color(`${cursor} ${indexLabel}${item.name}`);
},
pageSize,
loop
});
if (status === "done") {
return [prefix, message, theme.style.answer(selectedChoice.short)].filter(Boolean).join(" ");
}
const { description } = selectedChoice;
const lines = [
[prefix, message].filter(Boolean).join(" "),
page,
" ",
description ? theme.style.description(description) : "",
errorMsg ? theme.style.error(errorMsg) : "",
helpLine
].filter(Boolean).join("\n").trimEnd();
return `${lines}${cursorHide}`;
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/prompts/8.5.2/20312654628665d76cdf2b0f1b7f4093a8dc4b8eefd4299fbd7d331749b8ece7/node_modules/@inquirer/prompts/dist/index.js
var init_dist14 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@inquirer/prompts/8.5.2/20312654628665d76cdf2b0f1b7f4093a8dc4b8eefd4299fbd7d331749b8ece7/node_modules/@inquirer/prompts/dist/index.js"() {
init_dist9();
init_dist10();
init_dist11();
init_dist12();
init_dist13();
}
});
// ../catalogs/config/lib/getCatalogsFromWorkspaceManifest.js
function getCatalogsFromWorkspaceManifest(workspaceManifest) {
if (workspaceManifest == null) {
return {};
}
checkDefaultCatalogIsDefinedOnce(workspaceManifest);
return {
// If workspaceManifest.catalog is undefined, intentionally allow the spread
// below to overwrite it. The check above ensures only one or the either is
// defined.
default: workspaceManifest.catalog,
...workspaceManifest.catalogs
};
}
function checkDefaultCatalogIsDefinedOnce(manifest) {
if (manifest.catalog != null && manifest.catalogs?.default != null) {
throw new PnpmError("INVALID_CATALOGS_CONFIGURATION", "The 'default' catalog was defined multiple times. Use the 'catalog' field or 'catalogs.default', but not both.");
}
}
var init_getCatalogsFromWorkspaceManifest = __esm({
"../catalogs/config/lib/getCatalogsFromWorkspaceManifest.js"() {
"use strict";
init_lib2();
}
});
// ../catalogs/config/lib/mergeCatalogs.js
function mergeCatalogs(...catalogsList) {
const result2 = /* @__PURE__ */ Object.create(null);
for (const catalogs of catalogsList) {
if (catalogs == null)
continue;
for (const catalogName of Object.keys(catalogs)) {
const catalog = catalogs[catalogName];
if (catalog == null)
continue;
const target2 = result2[catalogName] ?? /* @__PURE__ */ Object.create(null);
for (const dependencyName of Object.keys(catalog)) {
Object.defineProperty(target2, dependencyName, {
value: catalog[dependencyName],
writable: true,
enumerable: true,
configurable: true
});
}
Object.defineProperty(result2, catalogName, {
value: target2,
writable: true,
enumerable: true,
configurable: true
});
}
}
return result2;
}
var init_mergeCatalogs = __esm({
"../catalogs/config/lib/mergeCatalogs.js"() {
"use strict";
}
});
// ../catalogs/config/lib/index.js
var init_lib60 = __esm({
"../catalogs/config/lib/index.js"() {
"use strict";
init_getCatalogsFromWorkspaceManifest();
init_mergeCatalogs();
}
});
// ../network/git-utils/lib/index.js
import fs31 from "node:fs";
import path51 from "node:path";
async function isGitRepo(opts3 = {}) {
try {
await safeExeca("git", ["rev-parse", "--git-dir"], { cwd: opts3.cwd });
} catch {
return false;
}
return true;
}
async function getCurrentBranch(opts3 = {}) {
const branch = readBranchFromHeadFile(opts3.cwd);
if (branch !== void 0)
return branch;
try {
const { stdout } = await safeExeca("git", ["symbolic-ref", "--short", "HEAD"], { cwd: opts3.cwd });
return stdout;
} catch {
return null;
}
}
async function isWorkingTreeClean(opts3 = {}) {
try {
const { stdout: status } = await safeExeca("git", ["status", "--porcelain"], { cwd: opts3.cwd });
if (status !== "") {
return false;
}
return true;
} catch {
return false;
}
}
async function isRemoteHistoryClean(opts3 = {}) {
let history;
try {
const { stdout } = await safeExeca("git", ["rev-list", "--count", "--left-only", "@{u}...HEAD"], { cwd: opts3.cwd });
history = stdout;
} catch {
history = null;
}
if (history && history !== "0") {
return false;
}
return true;
}
function readBranchFromHeadFile(cwd) {
const baseDir = cwd ?? process.cwd();
const dotGitPath = path51.join(baseDir, ".git");
let gitDir;
try {
const stat2 = fs31.statSync(dotGitPath);
if (stat2.isDirectory()) {
gitDir = dotGitPath;
} else if (stat2.isFile()) {
const content = fs31.readFileSync(dotGitPath, "utf8").trim();
const match = content.match(/^gitdir:\s*(.+)/);
if (!match)
return void 0;
gitDir = path51.isAbsolute(match[1]) ? match[1] : path51.resolve(baseDir, match[1]);
} else {
return void 0;
}
} catch {
return void 0;
}
try {
const head2 = fs31.readFileSync(path51.join(gitDir, "HEAD"), "utf8").trim();
const match = head2.match(/^ref:\s*refs\/heads\/(.+)/);
if (match)
return match[1];
return null;
} catch {
return void 0;
}
}
var init_lib61 = __esm({
"../network/git-utils/lib/index.js"() {
"use strict";
init_lib25();
}
});
// ../text/naming-cases/lib/index.js
function isStrictlyKebabCase(name) {
const segments = name.split("-");
if (segments.length < 2)
return false;
return segments.every((segment) => /^[a-z][a-z0-9]*$/.test(segment));
}
function isCamelCase(name) {
return /^[a-z][a-zA-Z0-9]*$/.test(name);
}
var init_lib62 = __esm({
"../text/naming-cases/lib/index.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/camelcase/9.0.0/c6ca1b177a2f250b0cb0bca1db835e95c4dc98e7c5609ee4aaa2f4fa0fc2f497/node_modules/camelcase/index.js
function camelCase(input, options) {
if (!(typeof input === "string" || Array.isArray(input))) {
throw new TypeError("Expected the input to be `string | string[]`");
}
options = {
pascalCase: false,
preserveConsecutiveUppercase: false,
capitalizeAfterNumber: true,
...options
};
if (Array.isArray(input)) {
input = input.map((element) => element.trim()).filter((element) => element.length > 0).join("-");
} else {
input = input.trim();
}
if (input.length === 0) {
return "";
}
const leadingPrefix = input.match(/^[_$]*/)[0];
input = input.slice(leadingPrefix.length);
if (input.length === 0) {
return leadingPrefix;
}
const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
if (input.length === 1) {
if (SEPARATORS.test(input)) {
return leadingPrefix;
}
return leadingPrefix + (options.pascalCase ? toUpperCase(input) : toLowerCase(input));
}
const hasUpperCase = input !== toLowerCase(input);
if (hasUpperCase) {
input = preserveCamelCase(
input,
toLowerCase,
toUpperCase,
options.preserveConsecutiveUppercase
);
}
input = input.replace(LEADING_SEPARATORS, "");
if (options.capitalizeAfterNumber) {
input = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);
} else {
input = processWithCasePreservation(input, toLowerCase, options.preserveConsecutiveUppercase);
}
if (options.pascalCase && input.length > 0) {
input = toUpperCase(input[0]) + input.slice(1);
}
return leadingPrefix + postProcess(input, toUpperCase, options);
}
var UPPERCASE, LOWERCASE, LEADING_CAPITAL, SEPARATORS, IDENTIFIER, LEADING_SEPARATORS, SEPARATORS_AND_IDENTIFIER, NUMBERS_AND_IDENTIFIER, preserveCamelCase, preserveConsecutiveUppercase, processWithCasePreservation, postProcess;
var init_camelcase = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/camelcase/9.0.0/c6ca1b177a2f250b0cb0bca1db835e95c4dc98e7c5609ee4aaa2f4fa0fc2f497/node_modules/camelcase/index.js"() {
UPPERCASE = /[\p{Lu}]/u;
LOWERCASE = /[\p{Ll}]/u;
LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/u;
SEPARATORS = /[_.\- ]+/;
IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
NUMBERS_AND_IDENTIFIER = new RegExp(String.raw`\d+` + IDENTIFIER.source, "gu");
preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase2) => {
let isLastCharLower = false;
let isLastCharUpper = false;
let isLastLastCharUpper = false;
let isLastLastCharPreserved = false;
for (let index2 = 0; index2 < string.length; index2++) {
const character = string[index2];
isLastLastCharPreserved = index2 > 2 ? string[index2 - 3] === "-" : true;
if (isLastCharLower && UPPERCASE.test(character)) {
string = string.slice(0, index2) + "-" + string.slice(index2);
isLastCharLower = false;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = true;
index2++;
} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase2)) {
string = string.slice(0, index2 - 1) + "-" + string.slice(index2 - 1);
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = false;
isLastCharLower = true;
} else {
isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
}
}
return string;
};
preserveConsecutiveUppercase = (input, toLowerCase) => input.replace(LEADING_CAPITAL, (match) => toLowerCase(match));
processWithCasePreservation = (input, toLowerCase, preserveConsecutiveUppercase2) => {
let result2 = "";
let previousWasNumber = false;
let previousWasUppercase = false;
const characters = [...input];
for (let index2 = 0; index2 < characters.length; index2++) {
const character = characters[index2];
const isUpperCase = UPPERCASE.test(character);
const nextCharIsUpperCase = index2 + 1 < characters.length && UPPERCASE.test(characters[index2 + 1]);
if (previousWasNumber && /[\p{Alpha}]/u.test(character)) {
result2 += character;
previousWasNumber = false;
previousWasUppercase = isUpperCase;
} else if (preserveConsecutiveUppercase2 && isUpperCase && (previousWasUppercase || nextCharIsUpperCase)) {
result2 += character;
previousWasUppercase = true;
} else if (/\d/.test(character)) {
result2 += character;
previousWasNumber = true;
previousWasUppercase = false;
} else if (SEPARATORS.test(character)) {
result2 += character;
previousWasUppercase = false;
} else {
result2 += toLowerCase(character);
previousWasNumber = false;
previousWasUppercase = false;
}
}
return result2;
};
postProcess = (input, toUpperCase, { capitalizeAfterNumber }) => {
const transformNumericIdentifier = capitalizeAfterNumber ? (match, identifier, offset, string) => {
const nextCharacter = string.charAt(offset + match.length);
if (SEPARATORS.test(nextCharacter)) {
return match;
}
return identifier ? match.slice(0, -identifier.length) + toUpperCase(identifier) : match;
} : (match) => match;
return input.replaceAll(NUMBERS_AND_IDENTIFIER, transformNumericIdentifier).replaceAll(
SEPARATORS_AND_IDENTIFIER,
(_, identifier) => toUpperCase(identifier)
);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ci-info/4.4.0/78b376724aeb79a8381e1f03b9a81ad6402765a8d23354588ff1d993999d0ab8/node_modules/ci-info/vendors.json
var require_vendors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ci-info/4.4.0/78b376724aeb79a8381e1f03b9a81ad6402765a8d23354588ff1d993999d0ab8/node_modules/ci-info/vendors.json"(exports2, module2) {
module2.exports = [
{
name: "Agola CI",
constant: "AGOLA",
env: "AGOLA_GIT_REF",
pr: "AGOLA_PULL_REQUEST_ID"
},
{
name: "Alpic",
constant: "ALPIC",
env: "ALPIC_HOST"
},
{
name: "Appcircle",
constant: "APPCIRCLE",
env: "AC_APPCIRCLE",
pr: {
env: "AC_GIT_PR",
ne: "false"
}
},
{
name: "AppVeyor",
constant: "APPVEYOR",
env: "APPVEYOR",
pr: "APPVEYOR_PULL_REQUEST_NUMBER"
},
{
name: "AWS CodeBuild",
constant: "CODEBUILD",
env: "CODEBUILD_BUILD_ARN",
pr: {
env: "CODEBUILD_WEBHOOK_EVENT",
any: [
"PULL_REQUEST_CREATED",
"PULL_REQUEST_UPDATED",
"PULL_REQUEST_REOPENED"
]
}
},
{
name: "Azure Pipelines",
constant: "AZURE_PIPELINES",
env: "TF_BUILD",
pr: {
BUILD_REASON: "PullRequest"
}
},
{
name: "Bamboo",
constant: "BAMBOO",
env: "bamboo_planKey"
},
{
name: "Bitbucket Pipelines",
constant: "BITBUCKET",
env: "BITBUCKET_COMMIT",
pr: "BITBUCKET_PR_ID"
},
{
name: "Bitrise",
constant: "BITRISE",
env: "BITRISE_IO",
pr: "BITRISE_PULL_REQUEST"
},
{
name: "Buddy",
constant: "BUDDY",
env: "BUDDY_WORKSPACE_ID",
pr: "BUDDY_EXECUTION_PULL_REQUEST_ID"
},
{
name: "Buildkite",
constant: "BUILDKITE",
env: "BUILDKITE",
pr: {
env: "BUILDKITE_PULL_REQUEST",
ne: "false"
}
},
{
name: "CircleCI",
constant: "CIRCLE",
env: "CIRCLECI",
pr: "CIRCLE_PULL_REQUEST"
},
{
name: "Cirrus CI",
constant: "CIRRUS",
env: "CIRRUS_CI",
pr: "CIRRUS_PR"
},
{
name: "Cloudflare Pages",
constant: "CLOUDFLARE_PAGES",
env: "CF_PAGES"
},
{
name: "Cloudflare Workers",
constant: "CLOUDFLARE_WORKERS",
env: "WORKERS_CI"
},
{
name: "Codefresh",
constant: "CODEFRESH",
env: "CF_BUILD_ID",
pr: {
any: [
"CF_PULL_REQUEST_NUMBER",
"CF_PULL_REQUEST_ID"
]
}
},
{
name: "Codemagic",
constant: "CODEMAGIC",
env: "CM_BUILD_ID",
pr: "CM_PULL_REQUEST"
},
{
name: "Codeship",
constant: "CODESHIP",
env: {
CI_NAME: "codeship"
}
},
{
name: "Drone",
constant: "DRONE",
env: "DRONE",
pr: {
DRONE_BUILD_EVENT: "pull_request"
}
},
{
name: "dsari",
constant: "DSARI",
env: "DSARI"
},
{
name: "Earthly",
constant: "EARTHLY",
env: "EARTHLY_CI"
},
{
name: "Expo Application Services",
constant: "EAS",
env: "EAS_BUILD"
},
{
name: "Gerrit",
constant: "GERRIT",
env: "GERRIT_PROJECT"
},
{
name: "Gitea Actions",
constant: "GITEA_ACTIONS",
env: "GITEA_ACTIONS"
},
{
name: "GitHub Actions",
constant: "GITHUB_ACTIONS",
env: "GITHUB_ACTIONS",
pr: {
GITHUB_EVENT_NAME: "pull_request"
}
},
{
name: "GitLab CI",
constant: "GITLAB",
env: "GITLAB_CI",
pr: "CI_MERGE_REQUEST_ID"
},
{
name: "GoCD",
constant: "GOCD",
env: "GO_PIPELINE_LABEL"
},
{
name: "Google Cloud Build",
constant: "GOOGLE_CLOUD_BUILD",
env: "BUILDER_OUTPUT"
},
{
name: "Harness CI",
constant: "HARNESS",
env: "HARNESS_BUILD_ID"
},
{
name: "Heroku",
constant: "HEROKU",
env: {
env: "NODE",
includes: "/app/.heroku/node/bin/node"
}
},
{
name: "Hudson",
constant: "HUDSON",
env: "HUDSON_URL"
},
{
name: "Jenkins",
constant: "JENKINS",
env: [
"JENKINS_URL",
"BUILD_ID"
],
pr: {
any: [
"ghprbPullId",
"CHANGE_ID"
]
}
},
{
name: "LayerCI",
constant: "LAYERCI",
env: "LAYERCI",
pr: "LAYERCI_PULL_REQUEST"
},
{
name: "Magnum CI",
constant: "MAGNUM",
env: "MAGNUM"
},
{
name: "Netlify CI",
constant: "NETLIFY",
env: "NETLIFY",
pr: {
env: "PULL_REQUEST",
ne: "false"
}
},
{
name: "Nevercode",
constant: "NEVERCODE",
env: "NEVERCODE",
pr: {
env: "NEVERCODE_PULL_REQUEST",
ne: "false"
}
},
{
name: "Prow",
constant: "PROW",
env: "PROW_JOB_ID"
},
{
name: "ReleaseHub",
constant: "RELEASEHUB",
env: "RELEASE_BUILD_ID"
},
{
name: "Render",
constant: "RENDER",
env: "RENDER",
pr: {
IS_PULL_REQUEST: "true"
}
},
{
name: "Sail CI",
constant: "SAIL",
env: "SAILCI",
pr: "SAIL_PULL_REQUEST_NUMBER"
},
{
name: "Screwdriver",
constant: "SCREWDRIVER",
env: "SCREWDRIVER",
pr: {
env: "SD_PULL_REQUEST",
ne: "false"
}
},
{
name: "Semaphore",
constant: "SEMAPHORE",
env: "SEMAPHORE",
pr: "PULL_REQUEST_NUMBER"
},
{
name: "Sourcehut",
constant: "SOURCEHUT",
env: {
CI_NAME: "sourcehut"
}
},
{
name: "Strider CD",
constant: "STRIDER",
env: "STRIDER"
},
{
name: "TaskCluster",
constant: "TASKCLUSTER",
env: [
"TASK_ID",
"RUN_ID"
]
},
{
name: "TeamCity",
constant: "TEAMCITY",
env: "TEAMCITY_VERSION"
},
{
name: "Travis CI",
constant: "TRAVIS",
env: "TRAVIS",
pr: {
env: "TRAVIS_PULL_REQUEST",
ne: "false"
}
},
{
name: "Vela",
constant: "VELA",
env: "VELA",
pr: {
VELA_PULL_REQUEST: "1"
}
},
{
name: "Vercel",
constant: "VERCEL",
env: {
any: [
"NOW_BUILDER",
"VERCEL"
]
},
pr: "VERCEL_GIT_PULL_REQUEST_ID"
},
{
name: "Visual Studio App Center",
constant: "APPCENTER",
env: "APPCENTER_BUILD_ID"
},
{
name: "Woodpecker",
constant: "WOODPECKER",
env: {
CI: "woodpecker"
},
pr: {
CI_BUILD_EVENT: "pull_request"
}
},
{
name: "Xcode Cloud",
constant: "XCODE_CLOUD",
env: "CI_XCODE_PROJECT",
pr: "CI_PULL_REQUEST_NUMBER"
},
{
name: "Xcode Server",
constant: "XCODE_SERVER",
env: "XCS"
}
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ci-info/4.4.0/78b376724aeb79a8381e1f03b9a81ad6402765a8d23354588ff1d993999d0ab8/node_modules/ci-info/index.js
var require_ci_info = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ci-info/4.4.0/78b376724aeb79a8381e1f03b9a81ad6402765a8d23354588ff1d993999d0ab8/node_modules/ci-info/index.js"(exports2) {
"use strict";
var vendors = require_vendors();
var env3 = process.env;
Object.defineProperty(exports2, "_vendors", {
value: vendors.map(function(v) {
return v.constant;
})
});
exports2.name = null;
exports2.isPR = null;
exports2.id = null;
if (env3.CI !== "false") {
vendors.forEach(function(vendor) {
const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];
const isCI3 = envs.every(function(obj) {
return checkEnv(obj);
});
exports2[vendor.constant] = isCI3;
if (!isCI3) {
return;
}
exports2.name = vendor.name;
exports2.isPR = checkPR(vendor);
exports2.id = vendor.constant;
});
}
exports2.isCI = !!(env3.CI !== "false" && // Bypass all checks if CI env is explicitly set to 'false'
(env3.BUILD_ID || // Jenkins, Cloudbees
env3.BUILD_NUMBER || // Jenkins, TeamCity
env3.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari, Cloudflare Pages/Workers
env3.CI_APP_ID || // Appflow
env3.CI_BUILD_ID || // Appflow
env3.CI_BUILD_NUMBER || // Appflow
env3.CI_NAME || // Codeship and others
env3.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
env3.RUN_ID || // TaskCluster, dsari
exports2.name || false));
function checkEnv(obj) {
if (typeof obj === "string") return !!env3[obj];
if ("env" in obj) {
return env3[obj.env] && env3[obj.env].includes(obj.includes);
}
if ("any" in obj) {
return obj.any.some(function(k2) {
return !!env3[k2];
});
}
return Object.keys(obj).every(function(k2) {
return env3[k2] === obj[k2];
});
}
function checkPR(vendor) {
switch (typeof vendor.pr) {
case "string":
return !!env3[vendor.pr];
case "object":
if ("env" in vendor.pr) {
if ("any" in vendor.pr) {
return vendor.pr.any.some(function(key) {
return env3[vendor.pr.env] === key;
});
} else {
return vendor.pr.env in env3 && env3[vendor.pr.env] !== vendor.pr.ne;
}
} else if ("any" in vendor.pr) {
return vendor.pr.any.some(function(key) {
return !!env3[key];
});
} else {
return checkEnv(vendor.pr);
}
default:
return null;
}
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.kebabcase/4.1.1/519a528f48565ef00ec4aae84101a038b116d9ae2797ca0453cbe2cc8c6517fd/node_modules/lodash.kebabcase/index.js
var require_lodash2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.kebabcase/4.1.1/519a528f48565ef00ec4aae84101a038b116d9ae2797ca0453cbe2cc8c6517fd/node_modules/lodash.kebabcase/index.js"(exports2, module2) {
var INFINITY = 1 / 0;
var symbolTag = "[object Symbol]";
var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
var rsAstralRange = "\\ud800-\\udfff";
var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23";
var rsComboSymbolsRange = "\\u20d0-\\u20f0";
var rsDingbatRange = "\\u2700-\\u27bf";
var rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff";
var rsMathOpRange = "\\xac\\xb1\\xd7\\xf7";
var rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";
var rsPunctuationRange = "\\u2000-\\u206f";
var rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";
var rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde";
var rsVarRange = "\\ufe0e\\ufe0f";
var rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
var rsApos = "['\u2019]";
var rsBreak = "[" + rsBreakRange + "]";
var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]";
var rsDigits = "\\d+";
var rsDingbat = "[" + rsDingbatRange + "]";
var rsLower = "[" + rsLowerRange + "]";
var rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]";
var rsFitz = "\\ud83c[\\udffb-\\udfff]";
var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
var rsNonAstral = "[^" + rsAstralRange + "]";
var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
var rsUpper = "[" + rsUpperRange + "]";
var rsZWJ = "\\u200d";
var rsLowerMisc = "(?:" + rsLower + "|" + rsMisc + ")";
var rsUpperMisc = "(?:" + rsUpper + "|" + rsMisc + ")";
var rsOptLowerContr = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?";
var rsOptUpperContr = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?";
var reOptMod = rsModifier + "?";
var rsOptVar = "[" + rsVarRange + "]?";
var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
var rsSeq = rsOptVar + reOptMod + rsOptJoin;
var rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
var reApos = RegExp(rsApos, "g");
var reComboMark = RegExp(rsCombo, "g");
var reUnicodeWord = RegExp([
rsUpper + "?" + rsLower + "+" + rsOptLowerContr + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
rsUpperMisc + "+" + rsOptUpperContr + "(?=" + [rsBreak, rsUpper + rsLowerMisc, "$"].join("|") + ")",
rsUpper + "?" + rsLowerMisc + "+" + rsOptLowerContr,
rsUpper + "+" + rsOptUpperContr,
rsDigits,
rsEmoji
].join("|"), "g");
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
var deburredLetters = {
// Latin-1 Supplement block.
"\xC0": "A",
"\xC1": "A",
"\xC2": "A",
"\xC3": "A",
"\xC4": "A",
"\xC5": "A",
"\xE0": "a",
"\xE1": "a",
"\xE2": "a",
"\xE3": "a",
"\xE4": "a",
"\xE5": "a",
"\xC7": "C",
"\xE7": "c",
"\xD0": "D",
"\xF0": "d",
"\xC8": "E",
"\xC9": "E",
"\xCA": "E",
"\xCB": "E",
"\xE8": "e",
"\xE9": "e",
"\xEA": "e",
"\xEB": "e",
"\xCC": "I",
"\xCD": "I",
"\xCE": "I",
"\xCF": "I",
"\xEC": "i",
"\xED": "i",
"\xEE": "i",
"\xEF": "i",
"\xD1": "N",
"\xF1": "n",
"\xD2": "O",
"\xD3": "O",
"\xD4": "O",
"\xD5": "O",
"\xD6": "O",
"\xD8": "O",
"\xF2": "o",
"\xF3": "o",
"\xF4": "o",
"\xF5": "o",
"\xF6": "o",
"\xF8": "o",
"\xD9": "U",
"\xDA": "U",
"\xDB": "U",
"\xDC": "U",
"\xF9": "u",
"\xFA": "u",
"\xFB": "u",
"\xFC": "u",
"\xDD": "Y",
"\xFD": "y",
"\xFF": "y",
"\xC6": "Ae",
"\xE6": "ae",
"\xDE": "Th",
"\xFE": "th",
"\xDF": "ss",
// Latin Extended-A block.
"\u0100": "A",
"\u0102": "A",
"\u0104": "A",
"\u0101": "a",
"\u0103": "a",
"\u0105": "a",
"\u0106": "C",
"\u0108": "C",
"\u010A": "C",
"\u010C": "C",
"\u0107": "c",
"\u0109": "c",
"\u010B": "c",
"\u010D": "c",
"\u010E": "D",
"\u0110": "D",
"\u010F": "d",
"\u0111": "d",
"\u0112": "E",
"\u0114": "E",
"\u0116": "E",
"\u0118": "E",
"\u011A": "E",
"\u0113": "e",
"\u0115": "e",
"\u0117": "e",
"\u0119": "e",
"\u011B": "e",
"\u011C": "G",
"\u011E": "G",
"\u0120": "G",
"\u0122": "G",
"\u011D": "g",
"\u011F": "g",
"\u0121": "g",
"\u0123": "g",
"\u0124": "H",
"\u0126": "H",
"\u0125": "h",
"\u0127": "h",
"\u0128": "I",
"\u012A": "I",
"\u012C": "I",
"\u012E": "I",
"\u0130": "I",
"\u0129": "i",
"\u012B": "i",
"\u012D": "i",
"\u012F": "i",
"\u0131": "i",
"\u0134": "J",
"\u0135": "j",
"\u0136": "K",
"\u0137": "k",
"\u0138": "k",
"\u0139": "L",
"\u013B": "L",
"\u013D": "L",
"\u013F": "L",
"\u0141": "L",
"\u013A": "l",
"\u013C": "l",
"\u013E": "l",
"\u0140": "l",
"\u0142": "l",
"\u0143": "N",
"\u0145": "N",
"\u0147": "N",
"\u014A": "N",
"\u0144": "n",
"\u0146": "n",
"\u0148": "n",
"\u014B": "n",
"\u014C": "O",
"\u014E": "O",
"\u0150": "O",
"\u014D": "o",
"\u014F": "o",
"\u0151": "o",
"\u0154": "R",
"\u0156": "R",
"\u0158": "R",
"\u0155": "r",
"\u0157": "r",
"\u0159": "r",
"\u015A": "S",
"\u015C": "S",
"\u015E": "S",
"\u0160": "S",
"\u015B": "s",
"\u015D": "s",
"\u015F": "s",
"\u0161": "s",
"\u0162": "T",
"\u0164": "T",
"\u0166": "T",
"\u0163": "t",
"\u0165": "t",
"\u0167": "t",
"\u0168": "U",
"\u016A": "U",
"\u016C": "U",
"\u016E": "U",
"\u0170": "U",
"\u0172": "U",
"\u0169": "u",
"\u016B": "u",
"\u016D": "u",
"\u016F": "u",
"\u0171": "u",
"\u0173": "u",
"\u0174": "W",
"\u0175": "w",
"\u0176": "Y",
"\u0177": "y",
"\u0178": "Y",
"\u0179": "Z",
"\u017B": "Z",
"\u017D": "Z",
"\u017A": "z",
"\u017C": "z",
"\u017E": "z",
"\u0132": "IJ",
"\u0133": "ij",
"\u0152": "Oe",
"\u0153": "oe",
"\u0149": "'n",
"\u017F": "ss"
};
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
function arrayReduce(array, iteratee, accumulator, initAccum) {
var index2 = -1, length = array ? array.length : 0;
if (initAccum && length) {
accumulator = array[++index2];
}
while (++index2 < length) {
accumulator = iteratee(accumulator, array[index2], index2, array);
}
return accumulator;
}
function asciiWords(string) {
return string.match(reAsciiWord) || [];
}
function basePropertyOf(object) {
return function(key) {
return object == null ? void 0 : object[key];
};
}
var deburrLetter = basePropertyOf(deburredLetters);
function hasUnicodeWord(string) {
return reHasUnicodeWord.test(string);
}
function unicodeWords(string) {
return string.match(reUnicodeWord) || [];
}
var objectProto = Object.prototype;
var objectToString3 = objectProto.toString;
var Symbol2 = root.Symbol;
var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
var symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString(value) {
if (typeof value == "string") {
return value;
}
if (isSymbol(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result2 = value + "";
return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
}
function createCompounder(callback2) {
return function(string) {
return arrayReduce(words(deburr2(string).replace(reApos, "")), callback2, "");
};
}
function isObjectLike(value) {
return !!value && typeof value == "object";
}
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && objectToString3.call(value) == symbolTag;
}
function toString4(value) {
return value == null ? "" : baseToString(value);
}
function deburr2(string) {
string = toString4(string);
return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
}
var kebabCase6 = createCompounder(function(result2, word, index2) {
return result2 + (index2 ? "-" : "") + word.toLowerCase();
});
function words(string, pattern, guard) {
string = toString4(string);
pattern = guard ? void 0 : pattern;
if (pattern === void 0) {
return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
}
return string.match(pattern) || [];
}
module2.exports = kebabCase6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-registry-url/2.0.1/3e3909f9f76c047e49f652d92462012dcb1e0d8e8bde7da0e12380d1736a13a2/node_modules/normalize-registry-url/index.js
var require_normalize_registry_url = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/normalize-registry-url/2.0.1/3e3909f9f76c047e49f652d92462012dcb1e0d8e8bde7da0e12380d1736a13a2/node_modules/normalize-registry-url/index.js"(exports2, module2) {
"use strict";
module2.exports = function(registry) {
if (typeof registry !== "string") {
throw new TypeError("`registry` should be a string");
}
try {
registry = new URL(registry).toString();
} catch {
}
if (registry.endsWith("/") || registry.indexOf("/", registry.indexOf("//") + 2) != -1) return registry;
return `${registry}/`;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-absolute/2.0.0/f2b738a953841aeecc7605b3344e7fb07922fd917b50ed3ed6c9c377ee7e6df5/node_modules/path-absolute/index.js
import os6 from "node:os";
import path52 from "node:path";
function pathAbsolute(filepath, cwd) {
const home = getHomedir();
if (isHomepath(filepath)) {
return path52.join(home, filepath.substr(2));
}
if (path52.isAbsolute(filepath)) {
return filepath;
}
if (cwd) {
return path52.join(cwd, filepath);
}
return path52.resolve(filepath);
}
function getHomedir() {
const home = os6.homedir();
if (!home) throw new Error("Could not find the homedir");
return home;
}
function isHomepath(filepath) {
return filepath.indexOf("~/") === 0 || filepath.indexOf("~\\") === 0;
}
var init_path_absolute = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-absolute/2.0.0/f2b738a953841aeecc7605b3344e7fb07922fd917b50ed3ed6c9c377ee7e6df5/node_modules/path-absolute/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/realpath-missing/2.0.0/1df589cef309cadda526424ec014de249398ac32a74d7c9d9d791e03d934fa17/node_modules/realpath-missing/index.js
import fs32 from "node:fs";
async function realpathMissing(path236) {
try {
return await fs32.promises.realpath(path236);
} catch (err2) {
if (err2.code === "ENOENT") {
return path236;
}
throw err2;
}
}
var init_realpath_missing = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/realpath-missing/2.0.0/1df589cef309cadda526424ec014de249398ac32a74d7c9d9d791e03d934fa17/node_modules/realpath-missing/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/can-write-to-dir/2.0.0/c363cc8380dcc3b452a03bc2c68b4ab99a7b057ef5d22956e27d1a5a850b369f/node_modules/can-write-to-dir/index.js
import defaultFS from "node:fs";
function canWriteToDirSync(dir, customFS) {
const fs126 = customFS || defaultFS;
const tempFile = pathTemp(dir);
try {
fs126.writeFileSync(tempFile, "", "utf8");
fs126.unlinkSync(tempFile);
return true;
} catch (err2) {
if (err2.code === "EACCES" || err2.code === "EPERM" || err2.code === "EROFS") {
return false;
}
throw err2;
}
}
var init_can_write_to_dir = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/can-write-to-dir/2.0.0/c363cc8380dcc3b452a03bc2c68b4ab99a7b057ef5d22956e27d1a5a850b369f/node_modules/can-write-to-dir/index.js"() {
init_path_temp();
}
});
// ../config/reader/lib/checkGlobalBinDir.js
import { promises as fs33 } from "node:fs";
import path53 from "node:path";
import util17 from "node:util";
async function checkGlobalBinDir(globalBinDir, { env: env3, shouldAllowWrite }) {
if (!env3[import_path_name2.default]) {
throw new PnpmError("NO_PATH_ENV", `Couldn't find a global directory for executables because the "${import_path_name2.default}" environment variable is not set.`);
}
if (!await globalBinDirIsInPath(globalBinDir, env3)) {
throw new PnpmError("GLOBAL_BIN_DIR_NOT_IN_PATH", `The configured global bin directory "${globalBinDir}" is not in PATH`, {
hint: 'Run "pnpm setup" to update your shell configuration.'
});
}
if (shouldAllowWrite && !canWriteToDirAndExists(globalBinDir)) {
throw new PnpmError("PNPM_DIR_NOT_WRITABLE", `The CLI has no write access to the global bin directory at ${globalBinDir}`);
}
}
async function globalBinDirIsInPath(globalBinDir, env3) {
const dirs2 = env3[import_path_name2.default]?.split(path53.delimiter) ?? [];
if (dirs2.some((dir) => areDirsEqual(globalBinDir, dir)))
return true;
const realGlobalBinDir = await fs33.realpath(globalBinDir);
return dirs2.some((dir) => areDirsEqual(realGlobalBinDir, dir));
}
function canWriteToDirAndExists(dir) {
try {
return canWriteToDirSync(dir);
} catch (err2) {
if (util17.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
return false;
throw err2;
}
}
var import_path_name2, areDirsEqual;
var init_checkGlobalBinDir = __esm({
"../config/reader/lib/checkGlobalBinDir.js"() {
"use strict";
init_lib2();
init_can_write_to_dir();
import_path_name2 = __toESM(require_path_name(), 1);
areDirsEqual = (dir1, dir2) => path53.relative(dir1, dir2) === "";
}
});
// ../config/reader/lib/concurrency.js
import os7 from "node:os";
function getAvailableParallelism(cache = true) {
if (cache && Number(cacheAvailableParallelism) > 0) {
return cacheAvailableParallelism;
}
cacheAvailableParallelism = Math.max(1, os7.availableParallelism?.() ?? os7.cpus().length);
return cacheAvailableParallelism;
}
function getDefaultWorkspaceConcurrency(cache) {
return Math.min(MaxDefaultWorkspaceConcurrency, getAvailableParallelism(cache));
}
function getWorkspaceConcurrency(option) {
if (typeof option !== "number")
return getDefaultWorkspaceConcurrency();
if (option <= 0) {
return Math.max(1, getAvailableParallelism() - Math.abs(option));
}
return option;
}
var MaxDefaultWorkspaceConcurrency, cacheAvailableParallelism;
var init_concurrency = __esm({
"../config/reader/lib/concurrency.js"() {
"use strict";
MaxDefaultWorkspaceConcurrency = 4;
}
});
// ../config/reader/lib/npmConfigTypes.js
import path54 from "node:path";
import url2 from "node:url";
var npmConfigTypes;
var init_npmConfigTypes = __esm({
"../config/reader/lib/npmConfigTypes.js"() {
"use strict";
npmConfigTypes = {
access: [null, "restricted", "public"],
"allow-same-version": Boolean,
"bin-links": Boolean,
ca: [null, String, Array],
cafile: path54,
cert: [null, String],
"commit-hooks": Boolean,
depth: Number,
description: Boolean,
dev: Boolean,
"dry-run": Boolean,
"engine-strict": Boolean,
"fetch-retries": Number,
"fetch-retry-factor": Number,
"fetch-retry-mintimeout": Number,
"fetch-retry-maxtimeout": Number,
force: Boolean,
git: String,
"git-tag-version": Boolean,
global: Boolean,
"https-proxy": [null, url2],
"ignore-scripts": Boolean,
"init-author-name": String,
"init-author-email": String,
"init-author-url": ["", url2],
"init-license": String,
"init-version": String,
json: Boolean,
key: [null, String],
"local-address": String,
long: Boolean,
maxsockets: Number,
message: String,
"node-options": [null, String],
"node-version": [null, String],
"no-proxy": [null, String, Array],
offline: Boolean,
only: [null, "dev", "development", "prod", "production"],
optional: Boolean,
otp: [null, String],
"package-lock": Boolean,
parseable: Boolean,
"prefer-offline": Boolean,
prefix: path54,
production: Boolean,
progress: Boolean,
provenance: Boolean,
proxy: [null, false, url2],
registry: [null, url2],
save: Boolean,
"save-dev": Boolean,
"save-exact": Boolean,
"save-optional": Boolean,
"save-prefix": String,
"save-prod": Boolean,
scope: String,
"script-shell": [null, String],
"scripts-prepend-node-path": [false, true, "auto", "warn-only"],
"sign-git-tag": Boolean,
"strict-ssl": Boolean,
tag: String,
"tag-version-prefix": String,
"unsafe-perm": Boolean,
"user-agent": String,
userconfig: path54,
umask: Number,
version: Boolean
};
}
});
// ../config/reader/lib/configFileKey.js
var pnpmConfigFileKeys, structuredConfigFileKeys, excludedPnpmKeys, setOfPnpmConfigFilesKeys, setOfStructuredConfigFilesKeys, setOfExcludedPnpmKeys, isConfigFileKey;
var init_configFileKey = __esm({
"../config/reader/lib/configFileKey.js"() {
"use strict";
init_npmConfigTypes();
pnpmConfigFileKeys = [
"bail",
"ci",
"color",
"cache-dir",
"child-concurrency",
"dangerously-allow-all-builds",
"enable-modules-dir",
"enable-global-virtual-store",
"exclude-links-from-lockfile",
"extend-node-path",
"fetch-timeout",
"fetch-warn-timeout-ms",
"fetch-min-speed-ki-bps",
"fetching-concurrency",
"frozen-store",
"git-checks",
"git-shallow-hosts",
"global-bin-dir",
"global-dir",
"global-path",
"global-pnpmfile",
"global-virtual-store-dir",
"http-proxy",
"init-package-manager",
"init-type",
"optimistic-repeat-install",
"loglevel",
"maxsockets",
"modules-cache-max-age",
"dlx-cache-max-age",
"minimum-release-age",
"minimum-release-age-exclude",
"minimum-release-age-ignore-missing-time",
"minimum-release-age-strict",
"network-concurrency",
"node-experimental-package-map",
"node-package-map-type",
"noproxy",
"npm-path",
"npmrc-auth-file",
"package-import-method",
"pnpr-server",
"prefer-frozen-lockfile",
"prefer-offline",
"prefer-symlinked-executables",
"block-exotic-subdeps",
"registry-supports-time-field",
"reporter",
"resolution-mode",
"script-shell",
"shell-emulator",
"side-effects-cache",
"side-effects-cache-readonly",
"state-dir",
"store-dir",
"strict-dep-builds",
"trust-lockfile",
"trust-policy",
"trust-policy-exclude",
"trust-policy-ignore-after",
"update-notifier",
"use-beta-cli",
"use-stderr",
"verify-deps-before-run",
"verify-store-integrity",
"virtual-store-dir",
"virtual-store-dir-max-length"
];
structuredConfigFileKeys = [
"named-registries",
"registries"
];
excludedPnpmKeys = [
"auto-install-peers",
"catalog-mode",
"config-dir",
"merge-git-branch-lockfiles",
"merge-git-branch-lockfiles-branch-pattern",
"deploy-all-files",
"dedupe-peer-dependents",
"dedupe-peers",
"dedupe-direct-deps",
"dedupe-injected-deps",
"dev",
"dir",
"disallow-workspace-cycles",
"enable-pre-post-scripts",
"filter",
"filter-prod",
"force-legacy-deploy",
"frozen-lockfile",
"git-branch-lockfile",
"hoist",
"hoist-pattern",
"hoist-workspace-packages",
"hoisting-limits",
"ignore-compatibility-db",
"ignore-pnpmfile",
"ignore-workspace",
"ignore-workspace-cycles",
"ignore-workspace-root-check",
"include-workspace-root",
"inject-workspace-packages",
"legacy-dir-filtering",
"link-workspace-packages",
"lockfile",
"lockfile-dir",
"lockfile-include-tarball-url",
"lockfile-only",
"modules-dir",
"node-linker",
"offline",
"pack-destination",
"pack-gzip-level",
"patches-dir",
"pnpmfile",
"pm-on-fail",
"prefer-workspace-packages",
"preserve-absolute-paths",
"production",
"public-hoist-pattern",
"publish-branch",
"recursive-install",
"resolve-peers-from-workspace-root",
"runtime",
"runtime-on-fail",
"aggregate-output",
"reporter-hide-prefix",
"save-catalog-name",
"save-peer",
"save-workspace-protocol",
"shamefully-hoist",
"shared-workspace-lockfile",
"symlink",
"sort",
"stream",
"strict-store-pkg-content-check",
"strict-peer-dependencies",
"virtual-store-only",
"peers-suffix-max-length",
"workspace-concurrency",
"workspace-packages",
"workspace-root",
"test-pattern",
"changed-files-ignore-pattern",
"embed-readme",
"skip-manifest-obfuscation",
"fail-if-no-match",
"sync-injected-deps-after-scripts",
"cpu",
"libc",
"os",
"audit-level",
"yes"
];
setOfPnpmConfigFilesKeys = new Set(pnpmConfigFileKeys);
setOfStructuredConfigFilesKeys = new Set(structuredConfigFileKeys);
setOfExcludedPnpmKeys = new Set(excludedPnpmKeys);
isConfigFileKey = (kebabKey) => setOfPnpmConfigFilesKeys.has(kebabKey) || setOfStructuredConfigFilesKeys.has(kebabKey) || kebabKey in npmConfigTypes && !setOfExcludedPnpmKeys.has(kebabKey);
}
});
// ../config/reader/lib/dependencyBuildOptions.js
function extractAndRemoveDependencyBuildOptions(targetConfig) {
const depsBuildConfig = {};
for (const key of DEPS_BUILD_CONFIG_KEYS) {
depsBuildConfig[key] = targetConfig[key];
delete targetConfig[key];
}
return depsBuildConfig;
}
var DEPS_BUILD_CONFIG_KEYS, hasDependencyBuildOptions;
var init_dependencyBuildOptions = __esm({
"../config/reader/lib/dependencyBuildOptions.js"() {
"use strict";
DEPS_BUILD_CONFIG_KEYS = [
"dangerouslyAllowAllBuilds",
"allowBuilds"
];
hasDependencyBuildOptions = (config2) => DEPS_BUILD_CONFIG_KEYS.some((key) => config2[key] != null);
}
});
// ../config/reader/lib/dirs.js
import os8 from "node:os";
import path55 from "node:path";
function getGlobalConfigPath(configDir) {
return path55.join(configDir, GLOBAL_CONFIG_YAML_FILENAME);
}
function getCacheDir(opts3) {
if (opts3.env.XDG_CACHE_HOME) {
return path55.join(opts3.env.XDG_CACHE_HOME, "pnpm");
}
if (opts3.platform === "darwin") {
return path55.join(os8.homedir(), "Library/Caches/pnpm");
}
if (opts3.platform !== "win32") {
return path55.join(os8.homedir(), ".cache/pnpm");
}
if (opts3.env.LOCALAPPDATA) {
return path55.join(opts3.env.LOCALAPPDATA, "pnpm-cache");
}
return path55.join(os8.homedir(), ".pnpm-cache");
}
function getStateDir(opts3) {
if (opts3.env.XDG_STATE_HOME) {
return path55.join(opts3.env.XDG_STATE_HOME, "pnpm");
}
if (opts3.platform !== "win32") {
return path55.join(os8.homedir(), ".local/state/pnpm");
}
if (opts3.env.LOCALAPPDATA) {
return path55.join(opts3.env.LOCALAPPDATA, "pnpm-state");
}
return path55.join(os8.homedir(), ".pnpm-state");
}
function getDataDir(opts3) {
if (opts3.env.PNPM_HOME) {
return opts3.env.PNPM_HOME;
}
if (opts3.env.XDG_DATA_HOME) {
return path55.join(opts3.env.XDG_DATA_HOME, "pnpm");
}
if (opts3.platform === "darwin") {
return path55.join(os8.homedir(), "Library/pnpm");
}
if (opts3.platform !== "win32") {
return path55.join(os8.homedir(), ".local/share/pnpm");
}
if (opts3.env.LOCALAPPDATA) {
return path55.join(opts3.env.LOCALAPPDATA, "pnpm");
}
return path55.join(os8.homedir(), ".pnpm");
}
function getConfigDir(opts3) {
if (opts3.env.XDG_CONFIG_HOME) {
return path55.join(opts3.env.XDG_CONFIG_HOME, "pnpm");
}
if (opts3.platform === "darwin") {
return path55.join(os8.homedir(), "Library/Preferences/pnpm");
}
if (opts3.platform !== "win32") {
return path55.join(os8.homedir(), ".config/pnpm");
}
if (opts3.env.LOCALAPPDATA) {
return path55.join(opts3.env.LOCALAPPDATA, "pnpm/config");
}
return path55.join(os8.homedir(), ".config/pnpm");
}
var init_dirs = __esm({
"../config/reader/lib/dirs.js"() {
"use strict";
init_lib();
}
});
// ../config/reader/lib/env.js
import path56 from "node:path";
import url3 from "node:url";
function* parseEnvVars(getSchema, env3) {
for (const envKey in env3) {
const suffix = getEnvKeySuffix(envKey);
if (!suffix)
continue;
const envValue = env3[envKey];
if (envValue == null)
continue;
const schemaKey = (0, import_lodash2.default)(suffix);
const schema2 = getSchema(schemaKey);
if (schema2 == null)
continue;
const key = camelCase(suffix);
const value = parseValueBySchema(schema2, envValue, env3);
yield { key, value };
}
}
function parseValueBySchema(schema2, envVar, env3) {
if (Array.isArray(schema2)) {
return parseValueByTypeUnion(schema2, envVar, env3);
} else if (typeof schema2 === "function") {
return parseValueByConstructor(schema2, envVar);
} else if (schema2 && typeof schema2 === "object") {
return parseValueByModule(schema2, envVar, env3);
}
const _typeGuard = schema2;
throw new Error(`Invalid schema: ${JSON.stringify(_typeGuard)}`);
}
function parseValueByTypeUnion(schema2, envVar, env3) {
for (const variant of sortUnionVariant(schema2)) {
let value;
switch (typeof variant) {
case "string":
value = parseStringLiteral(variant, envVar);
break;
case "boolean":
value = parseBooleanLiteral(variant, envVar);
break;
case "function":
value = parseValueByConstructor(variant, envVar);
break;
case "object":
value = variant === null ? parseNullLiteral(envVar) : parseValueByModule(variant, envVar, env3);
break;
default: {
const _typeGuard = variant;
throw new Error(`Invalid schema variant: ${JSON.stringify(_typeGuard)}`);
}
}
if (value !== void 0)
return value;
}
return void 0;
}
function parseStringLiteral(schema2, envVar) {
return envVar === schema2 ? schema2 : void 0;
}
function parseBooleanLiteral(schema2, envVar) {
return schema2.toString() === envVar ? schema2 : void 0;
}
function parseNullLiteral(envVar) {
return envVar === "null" ? null : void 0;
}
function parseValueByConstructor(schema2, envVar) {
if (schema2 === Array) {
const value = tryParseObjectOrArray(envVar);
return Array.isArray(value) ? value : void 0;
}
if (schema2 === Boolean) {
switch (envVar) {
case "true":
return true;
case "false":
return false;
default:
return void 0;
}
}
if (schema2 === Number) {
const value = Number(envVar);
return isNaN(value) ? void 0 : value;
}
if (schema2 === String) {
return envVar;
}
return void 0;
}
function parseValueByModule(schema2, envVar, env3) {
if (schema2 === path56) {
const homePrefix = /^~[/\\]/;
if (env3.HOME && homePrefix.test(envVar)) {
return path56.join(env3.HOME, envVar.replace(homePrefix, ""));
}
return envVar;
}
if (schema2 === url3) {
return new url3.URL(envVar).toString();
}
return void 0;
}
function sortUnionVariant(variants) {
const sorted = variants.filter((variant) => variant !== String);
if (variants.includes(String)) {
sorted.push(String);
}
return sorted;
}
function tryParseObjectOrArray(envVar) {
let result2;
try {
result2 = JSON.parse(envVar);
} catch {
return void 0;
}
return result2 == null || typeof result2 !== "object" ? void 0 : result2;
}
function getEnvKeySuffix(envKey) {
if (envKey.startsWith(PREFIX)) {
const suffix = envKey.slice(PREFIX.length);
return isLowerSnakeCase(suffix) ? suffix : void 0;
}
if (envKey.startsWith(PREFIX_UPPER)) {
const suffix = envKey.slice(PREFIX_UPPER.length);
return isUpperSnakeCase(suffix) ? suffix.toLowerCase() : void 0;
}
return void 0;
}
function isLowerSnakeCase(s) {
return s.length > 0 && s.split("_").every((segment) => /^[a-z0-9]+$/.test(segment));
}
function isUpperSnakeCase(s) {
return s.length > 0 && s.split("_").every((segment) => /^[A-Z0-9]+$/.test(segment));
}
var import_lodash2, PREFIX, PREFIX_UPPER;
var init_env = __esm({
"../config/reader/lib/env.js"() {
"use strict";
init_camelcase();
import_lodash2 = __toESM(require_lodash2(), 1);
PREFIX = "pnpm_config_";
PREFIX_UPPER = PREFIX.toUpperCase();
}
});
// ../config/reader/lib/parseCreds.js
function parseCreds(input) {
let parsedCreds;
if (input.tokenHelper) {
parsedCreds = {
...parsedCreds,
tokenHelper: parseTokenHelper(input.tokenHelper)
};
}
if (input.authToken) {
parsedCreds = {
...parsedCreds,
authToken: input.authToken
};
}
const basicAuth2 = parseBasicAuth(input);
if (basicAuth2) {
parsedCreds = {
...parsedCreds,
basicAuth: basicAuth2
};
}
return parsedCreds;
}
function parseBasicAuth({ authPairBase64, authUsername, authPassword }) {
if (authPairBase64) {
const pair = decodeBase64Credential(authPairBase64, "_auth");
const colonIndex = pair.indexOf(":");
if (colonIndex < 0) {
throw new AuthMissingSeparatorError();
}
const username = pair.slice(0, colonIndex);
const password = pair.slice(colonIndex + 1);
return { username, password };
}
if (authUsername && authPassword) {
return { username: authUsername, password: decodeBase64Credential(authPassword, "_password") };
}
return void 0;
}
function decodeBase64Credential(value, key) {
try {
return atob(value);
} catch {
const normalizedValue = normalizeBase64Padding(value);
if (normalizedValue !== value) {
try {
return atob(normalizedValue);
} catch {
}
}
throw new AuthBase64DecodeError(key);
}
}
function normalizeBase64Padding(value) {
let paddingStart = value.length;
while (paddingStart > 0 && value[paddingStart - 1] === "=") {
paddingStart--;
}
const valueWithoutPadding = value.slice(0, paddingStart);
if (!valueWithoutPadding)
return value;
const remainder = valueWithoutPadding.length % 4;
if (remainder === 1)
return value;
return valueWithoutPadding.padEnd(valueWithoutPadding.length + (4 - remainder) % 4, "=");
}
function parseTokenHelper(source) {
source = source.trim();
for (const char of source) {
if (RESERVED_CHARACTERS.has(char)) {
throw new TokenHelperUnsupportedCharacterError(char);
}
}
const command = source.split(/\s+/).filter(Boolean);
return command;
}
var AuthMissingSeparatorError, AuthBase64DecodeError, RESERVED_CHARACTERS, TokenHelperUnsupportedCharacterError;
var init_parseCreds = __esm({
"../config/reader/lib/parseCreds.js"() {
"use strict";
init_lib2();
AuthMissingSeparatorError = class extends PnpmError {
constructor() {
super("AUTH_MISSING_SEPARATOR", "No separator found in the decoded form of _auth", {
hint: "_auth is a base64 encoded form of <username>:<password> where the colon (:) serves as the separator"
});
}
};
AuthBase64DecodeError = class extends PnpmError {
constructor(key) {
super("AUTH_INVALID_BASE64", `Failed to decode ${key} as base64`, {
hint: `${key} must contain a base64-encoded ${key === "_auth" ? "<username>:<password>" : "password"} value`
});
}
};
RESERVED_CHARACTERS = /* @__PURE__ */ new Set(["$", "%", "`", '"', "'"]);
TokenHelperUnsupportedCharacterError = class extends PnpmError {
char;
constructor(char) {
let hint = "Try wrapping the current command in a script whose name does not contain unsupported characters";
if (char === '"' || char === "'") {
hint = `pnpm does not support quotations in tokenHelper. ${hint}`;
} else if (char === "$" || char === "%") {
hint = `pnpm does not support environment variables. ${hint}`;
}
super("TOKEN_HELPER_UNSUPPORTED_CHARACTER", `Unexpected character ${JSON.stringify(char)}`, { hint });
this.char = char;
}
};
}
});
// ../config/reader/lib/getNetworkConfigs.js
import fs34 from "node:fs";
function getNetworkConfigs(rawConfig) {
const rawCredsMap = {};
const registries = {};
const networkConfigs = { registries };
for (const [configKey, value] of Object.entries(rawConfig)) {
if (configKey[0] === "@" && configKey.endsWith(":registry")) {
registries[configKey.slice(0, configKey.indexOf(":"))] = (0, import_normalize_registry_url.default)(value);
continue;
}
const parsedCreds = tryParseCredsKey(configKey);
if (parsedCreds) {
const { credsField, registry, scope } = parsedCreds;
rawCredsMap[registry] ??= {};
rawCredsMap[registry][scope ?? DEFAULT_REGISTRY_SCOPE] ??= {};
rawCredsMap[registry][scope ?? DEFAULT_REGISTRY_SCOPE][credsField] = value;
continue;
}
const parsedSsl = tryParseSslKey(configKey);
if (parsedSsl) {
const { registry, sslField, isFile } = parsedSsl;
networkConfigs.configByUri ??= {};
networkConfigs.configByUri[registry] ??= {};
networkConfigs.configByUri[registry].tls ??= {};
networkConfigs.configByUri[registry].tls[sslField] = isFile ? fs34.readFileSync(value, "utf8") : value.replace(/\\n/g, "\n");
}
}
for (const uri in rawCredsMap) {
const scopedCreds = getScopedCreds(rawCredsMap[uri]);
if (Object.keys(scopedCreds).length > 0) {
networkConfigs.configByUri ??= {};
networkConfigs.configByUri[uri] ??= {};
Object.assign(networkConfigs.configByUri[uri], scopedCreds);
}
}
return networkConfigs;
}
function tryParseCredsKey(key) {
const match = key.match(AUTH_SUFFIX_RE);
if (!match?.groups) {
return void 0;
}
const registry = key.slice(0, match.index);
const credsField = AUTH_SUFFIX_KEY_MAP[match.groups.key];
if (!credsField) {
throw new Error(`Unexpected key: ${match.groups.key}`);
}
return { ...splitScopeFromRegistry(registry), credsField };
}
function getScopedCreds(rawCredsByScope = {}) {
const scopedCreds = {};
for (const [scope, rawCreds] of Object.entries(rawCredsByScope)) {
const creds = parseCreds(rawCreds);
if (creds) {
scopedCreds[scope] = creds;
}
}
return scopedCreds;
}
function splitScopeFromRegistry(registry) {
const colonScope = splitScopeFromRegistryByColon(registry);
if (colonScope)
return colonScope;
return splitScopeFromRegistryByPath(registry);
}
function splitScopeFromRegistryByColon(registry) {
if (!registry.startsWith("//"))
return void 0;
const scopeSeparatorIndex = registry.lastIndexOf(":@");
if (scopeSeparatorIndex === -1)
return void 0;
const scope = registry.slice(scopeSeparatorIndex + 1);
if (!isPackageScope(scope))
return void 0;
return {
registry: normalizeRegistryKey(registry.slice(0, scopeSeparatorIndex)),
scope
};
}
function splitScopeFromRegistryByPath(registry) {
if (!registry.startsWith("//"))
return { registry };
const trimmed = registry.endsWith("/") ? registry.slice(0, -1) : registry;
const lastSlashIndex = trimmed.lastIndexOf("/");
if (lastSlashIndex === -1)
return { registry };
const scope = trimmed.slice(lastSlashIndex + 1);
if (!isPackageScope(scope))
return { registry };
return {
registry: trimmed.slice(0, lastSlashIndex + 1),
scope
};
}
function isPackageScope(scope) {
return scope.startsWith("@") && scope.length > 1 && !scope.includes("/") && !scope.includes(":");
}
function normalizeRegistryKey(registry) {
return registry.endsWith("/") ? registry : `${registry}/`;
}
function tryParseSslKey(key) {
const match = key.match(SSL_SUFFIX_RE);
if (!match?.groups) {
return void 0;
}
const registry = key.slice(0, match.index);
const sslField = match.groups.id;
const isFile = Boolean(match.groups.kind);
return { registry, sslField, isFile };
}
var import_normalize_registry_url, AUTH_SUFFIX_RE, AUTH_SUFFIX_KEY_MAP, SSL_SUFFIX_RE;
var init_getNetworkConfigs = __esm({
"../config/reader/lib/getNetworkConfigs.js"() {
"use strict";
init_lib9();
import_normalize_registry_url = __toESM(require_normalize_registry_url(), 1);
init_parseCreds();
AUTH_SUFFIX_RE = /:(?<key>_auth|_authToken|_password|username|tokenHelper)$/;
AUTH_SUFFIX_KEY_MAP = {
_auth: "authPairBase64",
_authToken: "authToken",
_password: "authPassword",
username: "authUsername",
tokenHelper: "tokenHelper"
};
SSL_SUFFIX_RE = /:(?<id>cert|key|ca)(?<kind>file)?$/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.env-replace/4.1.0/88b8499de92e93193d395d0d73336a2bf6f02d0c6e78b4137263559da8f6b27c/node_modules/@pnpm/config.env-replace/dist/env-replace.js
var require_env_replace = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.env-replace/4.1.0/88b8499de92e93193d395d0d73336a2bf6f02d0c6e78b4137263559da8f6b27c/node_modules/@pnpm/config.env-replace/dist/env-replace.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.envReplaceLossy = exports2.envReplace = void 0;
var ENV_EXPR = /(?<!\\)(\\*)\$\{([^${}]+)\}/g;
var ENV_VALUE = /([^:-]+)(:?)-(.+)/;
function envReplace2(settingValue, env3) {
return replaceWith(settingValue, env3, (orig) => {
throw new Error(`Failed to replace env in config: ${orig}`);
});
}
exports2.envReplace = envReplace2;
function envReplaceLossy2(settingValue, env3) {
const unresolved = [];
const value = replaceWith(settingValue, env3, (orig) => {
unresolved.push(orig);
return "";
});
return { value, unresolved };
}
exports2.envReplaceLossy = envReplaceLossy2;
function replaceWith(settingValue, env3, onUnresolved) {
return settingValue.replace(ENV_EXPR, (orig, escape, name) => {
if (escape.length % 2)
return orig.slice((escape.length + 1) / 2);
const halfEscape = escape.slice(escape.length / 2);
const envValue = getEnvValue2(env3, name);
if (envValue === void 0)
return `${halfEscape}${onUnresolved(orig)}`;
return `${halfEscape}${envValue}`;
});
}
function getEnvValue2(env3, name) {
const matched = name.match(ENV_VALUE);
if (!matched)
return env3[name];
const [, variableName, colon, fallback] = matched;
const v = env3[variableName];
if (v === void 0)
return fallback;
return !v && colon ? fallback : v;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.env-replace/4.1.0/88b8499de92e93193d395d0d73336a2bf6f02d0c6e78b4137263559da8f6b27c/node_modules/@pnpm/config.env-replace/dist/index.js
var require_dist5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/config.env-replace/4.1.0/88b8499de92e93193d395d0d73336a2bf6f02d0c6e78b4137263559da8f6b27c/node_modules/@pnpm/config.env-replace/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.envReplaceLossy = exports2.envReplace = void 0;
var env_replace_1 = require_env_replace();
Object.defineProperty(exports2, "envReplace", { enumerable: true, get: function() {
return env_replace_1.envReplace;
} });
Object.defineProperty(exports2, "envReplaceLossy", { enumerable: true, get: function() {
return env_replace_1.envReplaceLossy;
} });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/LogBase.js
var init_LogBase2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/LogBase.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/logger.js
function globalWarn2(message) {
globalLogger2.warn(message);
}
var import_bole4, logger2, globalLogger2;
var init_logger2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/logger.js"() {
import_bole4 = __toESM(require_bole(), 1);
import_bole4.default.setFastTime();
logger2 = (0, import_bole4.default)("pnpm");
globalLogger2 = (0, import_bole4.default)("pnpm:global");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/LogLevel.js
var init_LogLevel2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/LogLevel.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/ndjsonParse.js
function parse7() {
function parseRow(row) {
try {
if (row)
return JSON.parse(row);
} catch (_e) {
if (opts2.strict) {
this.emit("error", new Error(`Could not parse row "${row.length > 50 ? `${row.slice(0, 50)}...` : row}"`));
}
}
}
return (0, import_split22.default)(parseRow, opts2);
}
var import_split22, opts2;
var init_ndjsonParse2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/ndjsonParse.js"() {
import_split22 = __toESM(require_split2(), 1);
opts2 = { strict: true };
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/streamParser.js
function createStreamParser2() {
const sp = parse7();
import_bole5.default.output([
{
level: "debug",
stream: sp
}
]);
return sp;
}
var import_bole5, streamParser2;
var init_streamParser2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/streamParser.js"() {
import_bole5 = __toESM(require_bole(), 1);
init_ndjsonParse2();
streamParser2 = createStreamParser2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/writeToConsole.js
var import_bole6;
var init_writeToConsole2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/writeToConsole.js"() {
import_bole6 = __toESM(require_bole(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/index.js
var init_lib63 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/logger/1100.0.0/952a318e01cd01c3b43df7852eec32ba1e302a5d5192561691e22394516f7a59/node_modules/@pnpm/logger/lib/index.js"() {
init_LogBase2();
init_logger2();
init_LogLevel2();
init_streamParser2();
init_writeToConsole2();
}
});
// ../config/reader/lib/getOptionsFromRootManifest.js
import path57 from "node:path";
function getOptionsFromPnpmSettings(manifestDir, pnpmSettings, manifestOrOpts) {
const opts3 = isGetOptionsFromPnpmSettingsOptions(manifestOrOpts) ? manifestOrOpts : manifestOrOpts == null ? {} : { manifest: manifestOrOpts };
const settings = replaceEnvInSettings(pnpmSettings, {
expandRequestDestinationEnv: opts3.expandRequestDestinationEnv ?? false
});
if (settings.overrides) {
assertValidOverrides(settings.overrides);
if (Object.keys(settings.overrides).length === 0) {
delete settings.overrides;
} else {
warnAboutDeprecatedVersionReferences(settings.overrides);
if (opts3.manifest) {
settings.overrides = map_default(createVersionReferencesReplacer(opts3.manifest), settings.overrides);
}
}
}
if (pnpmSettings.patchedDependencies) {
settings.patchedDependencies = { ...pnpmSettings.patchedDependencies };
for (const [dep, patchFile] of Object.entries(pnpmSettings.patchedDependencies)) {
if (manifestDir == null || path57.isAbsolute(patchFile))
continue;
settings.patchedDependencies[dep] = path57.join(manifestDir, patchFile);
}
}
return settings;
}
function isGetOptionsFromPnpmSettingsOptions(value) {
return value != null && ("expandRequestDestinationEnv" in value || "manifest" in value);
}
function assertValidOverrides(overrides) {
if (overrides == null || typeof overrides !== "object" || Array.isArray(overrides)) {
throw new PnpmError("INVALID_OVERRIDES", `The overrides field should be an object, but got ${renderReceivedType(overrides)}`);
}
for (const [selector, spec] of Object.entries(overrides)) {
if (typeof spec !== "string") {
throw new PnpmError("INVALID_OVERRIDES", `The value of overrides.${selector} should be a string, but got ${renderReceivedType(spec)}`);
}
}
}
function renderReceivedType(value) {
if (value === null)
return "null";
if (Array.isArray(value))
return "array";
return typeof value;
}
function replaceEnvInSettings(settings, opts3) {
const newSettings = {};
for (const [key, value] of Object.entries(settings)) {
const newKey = (0, import_config9.envReplace)(key, process.env);
if (typeof value === "string") {
if (REQUEST_DESTINATION_SCALAR_KEYS.has(newKey) && !opts3.expandRequestDestinationEnv && hasEnvPlaceholder(value))
continue;
newSettings[newKey] = (0, import_config9.envReplace)(value, process.env);
} else if (newKey === "registries" || newKey === "namedRegistries") {
newSettings[newKey] = opts3.expandRequestDestinationEnv ? replaceEnvInStringValues(value) : copyStringValuesWithoutEnvPlaceholders(value);
} else {
newSettings[newKey] = value;
}
}
return newSettings;
}
function replaceEnvInStringValues(value) {
if (value == null || typeof value !== "object" || Array.isArray(value))
return value;
const out = {};
for (const [k2, v] of Object.entries(value)) {
out[k2] = typeof v === "string" ? (0, import_config9.envReplace)(v, process.env) : v;
}
return out;
}
function copyStringValuesWithoutEnvPlaceholders(value) {
if (value == null || typeof value !== "object" || Array.isArray(value))
return value;
const out = {};
for (const [k2, v] of Object.entries(value)) {
if (typeof v === "string" && hasEnvPlaceholder(v))
continue;
out[k2] = v;
}
return out;
}
function hasEnvPlaceholder(value) {
return /\$\{[^}]+\}/.test(value);
}
function warnAboutDeprecatedVersionReferences(overrides) {
const selectors = Object.keys(overrides).filter((selector) => overrides[selector][0] === "$");
if (selectors.length === 0)
return;
globalWarn2(`The "$" version reference syntax in overrides is deprecated (used by: ${selectors.join(", ")}). Define the version in a catalog and reference it with the "catalog:" protocol instead. See https://pnpm.io/catalogs`);
}
function createVersionReferencesReplacer(manifest) {
const allDeps = {
...manifest.devDependencies,
...manifest.dependencies,
...manifest.optionalDependencies
};
return replaceVersionReferences.bind(null, allDeps);
}
function replaceVersionReferences(dep, spec) {
if (!(spec[0] === "$"))
return spec;
const dependencyName = spec.slice(1);
const newSpec = dep[dependencyName];
if (newSpec)
return newSpec;
throw new PnpmError("CANNOT_RESOLVE_OVERRIDE_VERSION", `Cannot resolve version ${spec} in overrides. The direct dependencies don't have dependency "${dependencyName}".`);
}
var import_config9, REQUEST_DESTINATION_SCALAR_KEYS;
var init_getOptionsFromRootManifest = __esm({
"../config/reader/lib/getOptionsFromRootManifest.js"() {
"use strict";
import_config9 = __toESM(require_dist5(), 1);
init_lib2();
init_lib63();
init_es();
REQUEST_DESTINATION_SCALAR_KEYS = /* @__PURE__ */ new Set(["pnprServer", "registry", "httpProxy", "httpsProxy", "noProxy", "proxy", "noproxy"]);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ini/6.0.0/2fd7d766b38bed97ba2f9858e63a9f5aef58f7b49f16475d6820a9baed65a35c/node_modules/ini/lib/ini.js
var require_ini = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ini/6.0.0/2fd7d766b38bed97ba2f9858e63a9f5aef58f7b49f16475d6820a9baed65a35c/node_modules/ini/lib/ini.js"(exports2, module2) {
var { hasOwnProperty: hasOwnProperty2 } = Object.prototype;
var encode3 = (obj, opt = {}) => {
if (typeof opt === "string") {
opt = { section: opt };
}
opt.align = opt.align === true;
opt.newline = opt.newline === true;
opt.sort = opt.sort === true;
opt.whitespace = opt.whitespace === true || opt.align === true;
opt.platform = opt.platform || typeof process !== "undefined" && process.platform;
opt.bracketedArray = opt.bracketedArray !== false;
const eol = opt.platform === "win32" ? "\r\n" : "\n";
const separator = opt.whitespace ? " = " : "=";
const children = [];
const keys4 = opt.sort ? Object.keys(obj).sort() : Object.keys(obj);
let padToChars = 0;
if (opt.align) {
padToChars = safe(
keys4.filter((k2) => obj[k2] === null || Array.isArray(obj[k2]) || typeof obj[k2] !== "object").map((k2) => Array.isArray(obj[k2]) ? `${k2}[]` : k2).concat([""]).reduce((a2, b) => safe(a2).length >= safe(b).length ? a2 : b)
).length;
}
let out = "";
const arraySuffix = opt.bracketedArray ? "[]" : "";
for (const k2 of keys4) {
const val = obj[k2];
if (val && Array.isArray(val)) {
for (const item of val) {
out += safe(`${k2}${arraySuffix}`).padEnd(padToChars, " ") + separator + safe(item) + eol;
}
} else if (val && typeof val === "object") {
children.push(k2);
} else {
out += safe(k2).padEnd(padToChars, " ") + separator + safe(val) + eol;
}
}
if (opt.section && out.length) {
out = "[" + safe(opt.section) + "]" + (opt.newline ? eol + eol : eol) + out;
}
for (const k2 of children) {
const nk = splitSections(k2, ".").join("\\.");
const section = (opt.section ? opt.section + "." : "") + nk;
const child = encode3(obj[k2], {
...opt,
section
});
if (out.length && child.length) {
out += eol;
}
out += child;
}
return out;
};
function splitSections(str2, separator) {
var lastMatchIndex = 0;
var lastSeparatorIndex = 0;
var nextIndex = 0;
var sections = [];
do {
nextIndex = str2.indexOf(separator, lastMatchIndex);
if (nextIndex !== -1) {
lastMatchIndex = nextIndex + separator.length;
if (nextIndex > 0 && str2[nextIndex - 1] === "\\") {
continue;
}
sections.push(str2.slice(lastSeparatorIndex, nextIndex));
lastSeparatorIndex = nextIndex + separator.length;
}
} while (nextIndex !== -1);
sections.push(str2.slice(lastSeparatorIndex));
return sections;
}
var decode3 = (str2, opt = {}) => {
opt.bracketedArray = opt.bracketedArray !== false;
const out = /* @__PURE__ */ Object.create(null);
let p = out;
let section = null;
const re = /^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i;
const lines = str2.split(/[\r\n]+/g);
const duplicates = {};
for (const line of lines) {
if (!line || line.match(/^\s*[;#]/) || line.match(/^\s*$/)) {
continue;
}
const match = line.match(re);
if (!match) {
continue;
}
if (match[1] !== void 0) {
section = unsafe2(match[1]);
if (section === "__proto__") {
p = /* @__PURE__ */ Object.create(null);
continue;
}
p = out[section] = out[section] || /* @__PURE__ */ Object.create(null);
continue;
}
const keyRaw = unsafe2(match[2]);
let isArray;
if (opt.bracketedArray) {
isArray = keyRaw.length > 2 && keyRaw.slice(-2) === "[]";
} else {
duplicates[keyRaw] = (duplicates?.[keyRaw] || 0) + 1;
isArray = duplicates[keyRaw] > 1;
}
const key = isArray && keyRaw.endsWith("[]") ? keyRaw.slice(0, -2) : keyRaw;
if (key === "__proto__") {
continue;
}
const valueRaw = match[3] ? unsafe2(match[4]) : true;
const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw;
if (isArray) {
if (!hasOwnProperty2.call(p, key)) {
p[key] = [];
} else if (!Array.isArray(p[key])) {
p[key] = [p[key]];
}
}
if (Array.isArray(p[key])) {
p[key].push(value);
} else {
p[key] = value;
}
}
const remove = [];
for (const k2 of Object.keys(out)) {
if (!hasOwnProperty2.call(out, k2) || typeof out[k2] !== "object" || Array.isArray(out[k2])) {
continue;
}
const parts = splitSections(k2, ".");
p = out;
const l = parts.pop();
const nl = l.replace(/\\\./g, ".");
for (const part of parts) {
if (part === "__proto__") {
continue;
}
if (!hasOwnProperty2.call(p, part) || typeof p[part] !== "object") {
p[part] = /* @__PURE__ */ Object.create(null);
}
p = p[part];
}
if (p === out && nl === l) {
continue;
}
p[nl] = out[k2];
remove.push(k2);
}
for (const del of remove) {
delete out[del];
}
return out;
};
var isQuoted = (val) => {
return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'");
};
var safe = (val) => {
if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) {
return JSON.stringify(val);
}
return val.split(";").join("\\;").split("#").join("\\#");
};
var unsafe2 = (val) => {
val = (val || "").trim();
if (isQuoted(val)) {
if (val.charAt(0) === "'") {
val = val.slice(1, -1);
}
try {
val = JSON.parse(val);
} catch {
}
} else {
let esc = false;
let unesc = "";
for (let i4 = 0, l = val.length; i4 < l; i4++) {
const c3 = val.charAt(i4);
if (esc) {
if ("\\;#".indexOf(c3) !== -1) {
unesc += c3;
} else {
unesc += "\\" + c3;
}
esc = false;
} else if (";#".indexOf(c3) !== -1) {
break;
} else if (c3 === "\\") {
esc = true;
} else {
unesc += c3;
}
}
if (esc) {
unesc += "\\";
}
return unesc.trim();
}
return val;
};
module2.exports = {
parse: decode3,
decode: decode3,
stringify: encode3,
encode: encode3,
safe,
unsafe: unsafe2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/read-ini-file/5.0.0/068ec83fb9ce95684b2076a4d488f1467dd140dea045076d4fe252f4a01769c0/node_modules/read-ini-file/index.js
import fs35 from "node:fs";
async function readIniFile(fp) {
const data = await fs35.promises.readFile(fp, "utf8");
return parse8(data);
}
function readIniFileSync(fp) {
return parse8(fs35.readFileSync(fp, "utf8"));
}
var import_ini, parse8;
var init_read_ini_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/read-ini-file/5.0.0/068ec83fb9ce95684b2076a4d488f1467dd140dea045076d4fe252f4a01769c0/node_modules/read-ini-file/index.js"() {
init_strip_bom();
import_ini = __toESM(require_ini(), 1);
parse8 = (data) => import_ini.default.parse(stripBom(data));
}
});
// ../config/reader/lib/inheritPickedConfig.js
function inheritPickedConfig(target2, src2, pickConfig, pickRawConfig) {
Object.assign(target2.config, pickConfig(src2.config));
Object.assign(target2.config.authConfig, pickRawConfig(src2.config.authConfig));
}
var init_inheritPickedConfig = __esm({
"../config/reader/lib/inheritPickedConfig.js"() {
"use strict";
}
});
// ../config/reader/lib/localConfig.js
function isRawAuthCfgKey(rawCfgKey) {
if (RAW_AUTH_CFG_KEYS.includes(rawCfgKey))
return true;
if (RAW_AUTH_CFG_KEY_SUFFIXES.some((suffix) => rawCfgKey.endsWith(suffix)))
return true;
return false;
}
function isAuthCfgKey(cfgKey) {
return AUTH_CFG_KEYS.includes(cfgKey);
}
function isSecurityPolicyCfgKey(cfgKey) {
return SECURITY_POLICY_CFG_KEYS.includes(cfgKey);
}
function isCatalogsCfgKey(cfgKey) {
return CATALOGS_CFG_KEYS.includes(cfgKey);
}
function isFetchCfgKey(cfgKey) {
return FETCH_CFG_KEYS.includes(cfgKey);
}
function pickRawAuthConfig(rawLocalCfg) {
const result2 = {};
for (const key in rawLocalCfg) {
if (isRawAuthCfgKey(key)) {
result2[key] = rawLocalCfg[key];
}
}
return result2;
}
function pickDlxConfig(localCfg) {
const result2 = {};
for (const key in localCfg) {
if (isAuthCfgKey(key) || isSecurityPolicyCfgKey(key) || isCatalogsCfgKey(key) || isFetchCfgKey(key)) {
result2[key] = localCfg[key];
}
}
return result2;
}
function inheritDlxConfig(target2, src2) {
inheritPickedConfig(target2, src2, pickDlxConfig, pickRawAuthConfig);
}
function pickIniConfig(rawConfig) {
const result2 = {};
for (const key in rawConfig) {
if (isIniConfigKey(key)) {
result2[key] = rawConfig[key];
}
}
return result2;
}
var RAW_AUTH_CFG_KEYS, NETWORK_INI_KEYS, RAW_AUTH_CFG_KEY_SUFFIXES, AUTH_CFG_KEYS, SECURITY_POLICY_CFG_KEYS, CATALOGS_CFG_KEYS, FETCH_CFG_KEYS, NPM_AUTH_SETTINGS, isIniConfigKey, isNpmrcReadableKey;
var init_localConfig = __esm({
"../config/reader/lib/localConfig.js"() {
"use strict";
init_inheritPickedConfig();
RAW_AUTH_CFG_KEYS = [
"ca",
"cafile",
"cert",
"key",
"registry"
];
NETWORK_INI_KEYS = [
"https-proxy",
"proxy",
"no-proxy",
"http-proxy",
"local-address",
"strict-ssl"
];
RAW_AUTH_CFG_KEY_SUFFIXES = [
":ca",
":cafile",
":cert",
":certfile",
":key",
":keyfile",
":registry",
":tokenHelper",
":_auth",
":_authToken"
];
AUTH_CFG_KEYS = [
"ca",
"cert",
"configByUri",
"key",
"registry",
"registries"
];
SECURITY_POLICY_CFG_KEYS = [
"minimumReleaseAge",
"minimumReleaseAgeExclude",
"minimumReleaseAgeIgnoreMissingTime",
"minimumReleaseAgeStrict",
"trustLockfile",
"trustPolicy",
"trustPolicyExclude",
"trustPolicyIgnoreAfter"
];
CATALOGS_CFG_KEYS = [
"catalogs"
];
FETCH_CFG_KEYS = [
"fetchRetryFactor",
"fetchRetryMaxtimeout",
"fetchRetryMintimeout",
"fetchRetries",
"fetchTimeout"
];
NPM_AUTH_SETTINGS = [
...RAW_AUTH_CFG_KEYS,
"_auth",
"_authToken",
"_password",
"email",
"username"
];
isIniConfigKey = (key) => key.startsWith("@") || key.startsWith("//") || NPM_AUTH_SETTINGS.includes(key);
isNpmrcReadableKey = (key) => isIniConfigKey(key) || NETWORK_INI_KEYS.includes(key);
}
});
// ../config/reader/lib/npmDefaults.js
import os9 from "node:os";
import path58 from "node:path";
var npmDefaults;
var init_npmDefaults = __esm({
"../config/reader/lib/npmDefaults.js"() {
"use strict";
npmDefaults = {
registry: "https://registry.npmjs.org/",
"package-lock": true,
"unsafe-perm": process.platform === "win32" || process.platform === "cygwin" || !(process.getuid && process.setuid && process.getgid && process.setgid) || process.getuid() !== 0,
userconfig: path58.resolve(os9.homedir(), ".npmrc"),
maxsockets: 50
};
}
});
// ../config/reader/lib/loadNpmrcFiles.js
import fs36 from "node:fs";
import os10 from "node:os";
import path59 from "node:path";
function loadNpmrcConfig(opts3) {
const warnings = [];
const env3 = opts3.env ?? process.env;
const localPrefix = opts3.dir ? path59.resolve(opts3.dir) : findLocalPrefix(process.cwd());
const userConfigPath = normalizePath3(opts3.npmrcAuthFile) ?? path59.resolve(os10.homedir(), ".npmrc");
const workspaceNpmrcDir = opts3.workspaceDir ?? localPrefix;
const workspaceNpmrcPath = path59.resolve(workspaceNpmrcDir, ".npmrc");
const workspaceIsTrustedAuthFile = userConfigPath === workspaceNpmrcPath;
const workspaceNpmrc = readAndFilterNpmrc(workspaceNpmrcPath, warnings, env3, {
expandAuthValueEnv: workspaceIsTrustedAuthFile,
expandRequestDestinationEnv: workspaceIsTrustedAuthFile
});
const userConfig = readAndFilterNpmrc(userConfigPath, warnings, env3);
const pnpmAuthConfig = readAndFilterNpmrc(path59.join(opts3.configDir, "auth.ini"), warnings, env3);
const cliOptions = rescopeUnscopedCreds({ ...opts3.cliOptions }, "<command line>", warnings);
const envScopedConfig = readUrlScopedEnvConfig(env3);
const envJsonAuth = readJsonAuthEnv(env3);
const globalConfigJsonAuth = readGlobalConfigAuth(opts3.globalConfigAuth);
const jsonAuth = {
auth: { ...globalConfigJsonAuth.auth, ...envJsonAuth.auth },
registries: { ...globalConfigJsonAuth.registries, ...envJsonAuth.registries }
};
const pnpmBuiltinConfig = {
...readAndFilterNpmrc(path59.resolve(path59.join(opts3.moduleDirname, "pnpmrc")), warnings, env3),
registry: "https://registry.npmjs.org/",
"@jsr:registry": "https://npm.jsr.io/"
};
loadCAFile([
cliOptions,
workspaceNpmrc,
pnpmAuthConfig,
userConfig,
opts3.defaultOptions
]);
const mergedConfig = {};
for (const source of [pnpmBuiltinConfig, opts3.defaultOptions, userConfig, pnpmAuthConfig, workspaceNpmrc, envScopedConfig, jsonAuth.auth, cliOptions]) {
for (const [key, value] of Object.entries(source)) {
if (isNpmrcReadableKey(key)) {
mergedConfig[key] = value;
}
}
}
const trustedConfig = {};
for (const source of [pnpmBuiltinConfig, opts3.defaultOptions, userConfig, pnpmAuthConfig, envScopedConfig, jsonAuth.auth, cliOptions]) {
for (const [key, value] of Object.entries(source)) {
if (isNpmrcReadableKey(key)) {
trustedConfig[key] = value;
}
}
}
const rawConfig = {
...pnpmBuiltinConfig,
...opts3.defaultOptions,
...userConfig,
...pnpmAuthConfig,
...workspaceNpmrc,
...envScopedConfig,
...jsonAuth.auth,
...cliOptions
};
return {
mergedConfig,
rawConfig,
trustedConfig,
workspaceNpmrc,
userConfig,
localPrefix,
warnings,
jsonAuth
};
}
function readUrlScopedEnvConfig(env3) {
const npmScoped = {};
const pnpmScoped = {};
for (const envKey of Object.keys(env3)) {
const value = env3[envKey];
if (value == null || value === "")
continue;
const match = URL_SCOPED_ENV_RE.exec(envKey);
if (match == null)
continue;
const key = match[1];
if (key.endsWith(":tokenHelper"))
continue;
const target2 = envKey.slice(0, 5).toLowerCase() === "pnpm_" ? pnpmScoped : npmScoped;
target2[key] = value;
}
return { ...npmScoped, ...pnpmScoped };
}
function readJsonAuthEnv(env3) {
const value = readJsonAuthEnvValue(env3);
if (value == null)
return { auth: {}, registries: {} };
let parsed;
try {
parsed = JSON.parse(value);
} catch (err2) {
throw new PnpmError("INVALID_AUTH_SETTING", `Failed to parse pnpm_config__auth as JSON: ${err2 instanceof Error ? err2.message : String(err2)}`);
}
return parseJsonAuth(parsed, "pnpm_config__auth");
}
function parseJsonAuth(parsed, source) {
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
throw new PnpmError("INVALID_AUTH_SETTING", `${source} must be a JSON object`);
}
const auth = {};
const registries = {};
for (const [index2, [url7, scopes]] of Object.entries(parsed).entries()) {
const registry = parseJsonAuthRegistry(url7, index2 + 1, source);
if (scopes === null || typeof scopes !== "object" || Array.isArray(scopes)) {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${registry.label}] must be an object keyed by scope`);
}
for (const [scope, rawCreds] of Object.entries(scopes)) {
if (!isJsonAuthScope(scope)) {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${registry.label}][${JSON.stringify(scope)}]: scope must be "@" or a package scope like "@org"`);
}
if (rawCreds === null || typeof rawCreds !== "object" || Array.isArray(rawCreds)) {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${registry.label}][${JSON.stringify(scope)}] must be an auth object`);
}
const token = jsonAuthToken(rawCreds, registry, scope, source);
auth[`${registry.nerfed}:${scope === "@" ? "" : `${scope}:`}_authToken`] = token;
registries[scope === "@" ? "default" : scope] = registry.normalized;
}
}
return { auth, registries };
}
function readGlobalConfigAuth(globalConfigAuth) {
if (globalConfigAuth == null)
return { auth: {}, registries: {} };
return parseJsonAuth(globalConfigAuth, "_auth");
}
function parseJsonAuthRegistry(url7, entryNumber, source) {
const label = jsonAuthRegistryLabel(url7, entryNumber);
let parsed;
try {
parsed = new URL(url7);
} catch {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${label}]: key must be an http(s) registry URL`);
}
if (parsed.protocol !== "https:" && parsed.protocol !== "http:" || parsed.hostname === "") {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${label}]: key must be an http(s) registry URL`);
}
if (parsed.username !== "" || parsed.password !== "" || parsed.search !== "" || parsed.hash !== "") {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${label}]: registry URL must not include credentials, query, or fragment`);
}
const normalized = (0, import_normalize_registry_url2.default)(parsed.href);
const nerfed = (0, import_config11.nerfDart)(normalized);
if (nerfed === "") {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${label}]: key must be an http(s) registry URL`);
}
return { label, nerfed, normalized };
}
function jsonAuthRegistryLabel(url7, entryNumber) {
const entryLabel = `entry ${entryNumber}`;
try {
const parsed = new URL(url7);
if ((parsed.protocol === "https:" || parsed.protocol === "http:") && parsed.hostname !== "") {
return `${entryLabel} (${parsed.protocol}//${parsed.host})`;
}
} catch {
}
return entryLabel;
}
function readJsonAuthEnvValue(env3) {
return env3.pnpm_config__auth !== "" && env3.pnpm_config__auth != null ? env3.pnpm_config__auth : env3.PNPM_CONFIG__AUTH !== "" && env3.PNPM_CONFIG__AUTH != null ? env3.PNPM_CONFIG__AUTH : void 0;
}
function isJsonAuthScope(scope) {
return scope === "@" || scope.startsWith("@") && scope.length > 1 && !scope.includes("/") && !scope.includes(":");
}
function jsonAuthToken(creds, registry, scope, source) {
for (const field of Object.keys(creds)) {
if (field !== "authToken") {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${registry.label}][${JSON.stringify(scope)}][${JSON.stringify(field)}]: unsupported auth field (only "authToken" is supported)`);
}
}
const token = creds.authToken;
if (typeof token !== "string") {
throw new PnpmError("INVALID_AUTH_SETTING", `${source}[${registry.label}][${JSON.stringify(scope)}]: "authToken" must be a string`);
}
return token;
}
function readAndFilterNpmrc(filePath, warnings, env3, opts3 = {}) {
let raw;
try {
raw = readIniFileSync(filePath);
} catch (err2) {
if (isErrorWithCode(err2, "ENOENT") || isErrorWithCode(err2, "EISDIR")) {
return {};
}
warnings.push(`Issue while reading "${filePath}". ${err2 instanceof Error ? err2.message : String(err2)}`);
return {};
}
const npmrcDir = path59.dirname(filePath);
const result2 = {};
const expandAuthValueEnv = opts3.expandAuthValueEnv ?? true;
const expandRequestDestinationEnv = opts3.expandRequestDestinationEnv ?? true;
for (const [rawKey, rawValue] of Object.entries(raw)) {
if (!expandRequestDestinationEnv && hasEnvPlaceholder2(rawKey) && isRequestDestinationKey(rawKey)) {
warnIgnoredRequestDestinationEnv(filePath, rawKey, warnings);
continue;
}
if (!expandAuthValueEnv && hasEnvPlaceholder2(rawKey) && isAuthValueKey(rawKey)) {
warnIgnoredAuthValueEnv(filePath, rawKey, warnings);
continue;
}
const key = substituteEnv(rawKey, env3, warnings);
if (!expandRequestDestinationEnv && hasEnvPlaceholder2(rawKey) && isRequestDestinationKey(key)) {
warnIgnoredRequestDestinationEnv(filePath, rawKey, warnings);
continue;
}
if (!expandAuthValueEnv && hasEnvPlaceholder2(rawKey) && isAuthValueKey(key)) {
warnIgnoredAuthValueEnv(filePath, rawKey, warnings);
continue;
}
let value = rawValue;
if (typeof rawValue === "string") {
if (!expandRequestDestinationEnv && hasEnvPlaceholder2(rawValue) && isRequestDestinationValueKey(key)) {
warnIgnoredRequestDestinationEnv(filePath, key, warnings);
continue;
}
if (!expandAuthValueEnv && hasEnvPlaceholder2(rawValue) && isAuthValueKey(key)) {
warnIgnoredAuthValueEnv(filePath, key, warnings);
continue;
}
value = substituteEnv(rawValue, env3, warnings);
}
if (isNpmrcReadableKey(key)) {
if (key === "cafile" && typeof value === "string" && value !== "" && !path59.isAbsolute(value)) {
value = path59.resolve(npmrcDir, value);
}
result2[key] = value;
}
}
return rescopeUnscopedCreds(result2, filePath, warnings);
}
function isRequestDestinationKey(key) {
return isRegistryKey(key) || key.startsWith("//");
}
function isRequestDestinationValueKey(key) {
return isRegistryKey(key) || key === "https-proxy" || key === "http-proxy" || key === "proxy";
}
function isRegistryKey(key) {
return key === "registry" || key.startsWith("@") && key.endsWith(":registry");
}
function isAuthValueKey(key) {
return AUTH_VALUE_KEYS.includes(key) || AUTH_VALUE_KEY_SUFFIXES.some((suffix) => key.endsWith(suffix));
}
function hasEnvPlaceholder2(value) {
return /\$\{[^}]+\}/.test(value);
}
function configSetExample(key) {
return SHELL_SAFE_KEY.test(key) ? ` (for example, run: pnpm config set "${key}" <value>)` : "";
}
function warnIgnoredRequestDestinationEnv(filePath, key, warnings) {
warnings.push(`Ignored project-level request destination "${key}" in "${filePath}": environment variables are not expanded in registry or proxy URLs that come from a project .npmrc, because that file is committed to the repository and a malicious value could redirect requests or leak secrets. Move this setting to a trusted source that pnpm still expands \u2014 put it in your user-level ~/.npmrc, or set it with pnpm config set${configSetExample(key)}. If the value is not secret, you can also write it literally in the project .npmrc. See ${DOCS_URL}`);
}
function warnIgnoredAuthValueEnv(filePath, key, warnings) {
warnings.push(`Ignored project-level auth setting "${key}" in "${filePath}": environment variables are not expanded in registry credentials that come from a project .npmrc, because that file is committed to the repository and could leak the secret to an attacker-controlled registry. Move this credential to a trusted source that pnpm still expands \u2014 put the line in your user-level ~/.npmrc, or set it with pnpm config set${configSetExample(key)}. See ${DOCS_URL}`);
}
function rescopeUnscopedCreds(source, sourceLabel, warnings) {
if (!UNSCOPED_RESCOPABLE_KEYS.some((key) => key in source)) {
return source;
}
const rawRegistry = typeof source.registry === "string" && source.registry !== "" ? source.registry : null;
const fallbackRegistry = rawRegistry ?? npmDefaults.registry;
let nerfedRegistry;
try {
nerfedRegistry = (0, import_config11.nerfDart)((0, import_normalize_registry_url2.default)(fallbackRegistry));
} catch {
const dropped = UNSCOPED_RESCOPABLE_KEYS.filter((key) => key in source);
for (const key of dropped)
delete source[key];
warnings.push(`Unscoped per-registry settings (${dropped.join(", ")}) in "${sourceLabel}" were ignored: the source's "registry" value (${JSON.stringify(source.registry)}) is not a parseable URL, so pnpm cannot pin them anywhere safe. Write them URL-scoped (e.g. "//registry.example.com/:_authToken=...") to send them to a specific registry.`);
return source;
}
const rescoped = [];
for (const key of UNSCOPED_RESCOPABLE_KEYS) {
if (!(key in source))
continue;
const scopedKey = `${nerfedRegistry}:${key}`;
if (!(scopedKey in source)) {
source[scopedKey] = source[key];
}
delete source[key];
rescoped.push(key);
}
if (rescoped.length > 0) {
warnings.push(`Unscoped per-registry settings (${rescoped.join(", ")}) in "${sourceLabel}" are deprecated. pnpm pinned them to "${nerfedRegistry}" for this run, but a future release will stop supporting unscoped per-registry settings. Write them as "${nerfedRegistry}:${rescoped[0]}=..." instead.`);
}
return source;
}
function substituteEnv(value, env3, warnings) {
const { value: substituted, unresolved } = (0, import_config10.envReplaceLossy)(value, env3);
for (const placeholder of unresolved) {
warnings.push(`Failed to replace env in config: ${placeholder}`);
}
return substituted;
}
function normalizePath3(p) {
if (p == null)
return void 0;
if (p.startsWith("~/") || p.startsWith("~\\")) {
p = path59.join(os10.homedir(), p.slice(2));
}
return path59.resolve(p);
}
function isErrorWithCode(err2, code) {
return err2 != null && typeof err2 === "object" && "code" in err2 && err2.code === code;
}
function findLocalPrefix(startDir) {
let name = path59.resolve(startDir);
let walkedUp = false;
while (path59.basename(name) === "node_modules") {
name = path59.dirname(name);
walkedUp = true;
}
if (walkedUp) {
return name;
}
return findPrefixUp(name, name);
}
function findPrefixUp(name, original) {
const driveRootRegex = /^[a-z]:[/\\]?$/i;
if (name === "/" || process.platform === "win32" && driveRootRegex.test(name)) {
return original;
}
try {
const files = fs36.readdirSync(name);
if (files.includes("node_modules") || files.includes("package.json") || files.includes("package.json5") || files.includes("package.yaml") || files.includes("pnpm-workspace.yaml")) {
return name;
}
const dirname3 = path59.dirname(name);
if (dirname3 === name) {
return original;
}
return findPrefixUp(dirname3, original);
} catch (err2) {
if (name === original) {
if (isErrorWithCode(err2, "ENOENT")) {
return original;
}
throw err2;
}
return original;
}
}
function loadCAFile(layers) {
let cafile;
for (const layer of layers) {
if (typeof layer.cafile === "string") {
cafile = layer.cafile;
break;
}
}
if (!cafile)
return;
try {
const contents = fs36.readFileSync(cafile, "utf8");
const delim = "-----END CERTIFICATE-----";
const cas = contents.split(delim).filter((ca) => ca.trim().length > 0).map((ca) => `${ca.trimStart()}${delim}`);
if (cas.length === 0)
return;
for (const layer of layers) {
if (typeof layer.cafile === "string") {
layer.ca = cas;
break;
}
}
} catch {
}
}
var import_config10, import_config11, import_normalize_registry_url2, URL_SCOPED_ENV_RE, UNSCOPED_RESCOPABLE_KEYS, AUTH_VALUE_KEYS, AUTH_VALUE_KEY_SUFFIXES, DOCS_URL, SHELL_SAFE_KEY;
var init_loadNpmrcFiles = __esm({
"../config/reader/lib/loadNpmrcFiles.js"() {
"use strict";
import_config10 = __toESM(require_dist5(), 1);
import_config11 = __toESM(require_dist(), 1);
init_lib2();
import_normalize_registry_url2 = __toESM(require_normalize_registry_url(), 1);
init_read_ini_file();
init_localConfig();
init_npmDefaults();
URL_SCOPED_ENV_RE = /^p?npm_config_(\/\/.+)$/i;
UNSCOPED_RESCOPABLE_KEYS = [
"_authToken",
"_auth",
"username",
"_password",
"tokenHelper",
"cert",
"key"
];
AUTH_VALUE_KEYS = ["_authToken", "_auth", "_password", "username", "tokenHelper", "cert", "key"];
AUTH_VALUE_KEY_SUFFIXES = AUTH_VALUE_KEYS.map((key) => `:${key}`);
DOCS_URL = "https://pnpm.io/npmrc";
SHELL_SAFE_KEY = /^[\w@.:/-]+$/;
}
});
// ../config/reader/lib/overrideSupportedArchitecturesWithCLI.js
function overrideSupportedArchitecturesWithCLI(targetConfig, cliOptions) {
for (const key of CLI_OPTION_NAMES) {
const values = cliOptions[key];
if (values != null) {
targetConfig.supportedArchitectures ??= {};
targetConfig.supportedArchitectures[key] = typeof values === "string" ? [values] : values;
}
}
}
var CLI_OPTION_NAMES;
var init_overrideSupportedArchitecturesWithCLI = __esm({
"../config/reader/lib/overrideSupportedArchitecturesWithCLI.js"() {
"use strict";
CLI_OPTION_NAMES = ["cpu", "libc", "os"];
}
});
// ../config/reader/lib/transformPath.js
import { join as join4 } from "node:path";
function transformPathKeys(config2, homedir) {
for (const key of PATH_KEYS) {
if (config2[key]) {
config2[key] = transformPath(config2[key], homedir);
}
}
}
var REGEX, transformPath, PATH_KEYS;
var init_transformPath = __esm({
"../config/reader/lib/transformPath.js"() {
"use strict";
REGEX = /^~[/\\]/;
transformPath = (path236, homedir) => REGEX.test(path236) ? join4(homedir, path236.replace(REGEX, "")) : path236;
PATH_KEYS = [
"cacheDir",
"globalBinDir",
"globalDir",
"pnpmHomeDir",
"storeDir"
];
}
});
// ../config/reader/lib/types.js
import path60 from "node:path";
var pnpmTypes, types2;
var init_types = __esm({
"../config/reader/lib/types.js"() {
"use strict";
init_npmConfigTypes();
pnpmTypes = {
"auto-install-peers": Boolean,
bail: Boolean,
ci: Boolean,
"cache-dir": String,
"catalog-mode": ["strict", "prefer", "manual"],
"child-concurrency": Number,
"merge-git-branch-lockfiles": Boolean,
"merge-git-branch-lockfiles-branch-pattern": Array,
color: [Boolean, "always", "auto", "never"],
"config-dir": String,
"dangerously-allow-all-builds": Boolean,
"deploy-all-files": Boolean,
"dedupe-peer-dependents": Boolean,
"dedupe-peers": Boolean,
"dedupe-direct-deps": Boolean,
"dedupe-injected-deps": Boolean,
dev: [null, true],
dir: String,
"disallow-workspace-cycles": Boolean,
"enable-modules-dir": Boolean,
"enable-pre-post-scripts": Boolean,
"enable-global-virtual-store": Boolean,
"exclude-links-from-lockfile": Boolean,
"extend-node-path": Boolean,
"fetch-timeout": Number,
"fetch-warn-timeout-ms": Number,
"fetch-min-speed-ki-bps": Number,
"fetching-concurrency": Number,
filter: [String, Array],
"filter-prod": [String, Array],
"force-legacy-deploy": Boolean,
"frozen-lockfile": Boolean,
"git-checks": Boolean,
"git-shallow-hosts": Array,
"global-bin-dir": String,
"global-dir": String,
"global-path": String,
"global-pnpmfile": String,
"git-branch-lockfile": Boolean,
hoist: Boolean,
"http-proxy": [null, String],
"hoist-pattern": Array,
"hoist-workspace-packages": Boolean,
"hoisting-limits": ["none", "workspaces", "dependencies"],
"ignore-compatibility-db": Boolean,
"ignore-pnpmfile": Boolean,
"ignore-workspace": Boolean,
"ignore-workspace-cycles": Boolean,
"ignore-workspace-root-check": Boolean,
"optimistic-repeat-install": Boolean,
"include-workspace-root": Boolean,
"init-package-manager": Boolean,
"init-type": ["commonjs", "module"],
"inject-workspace-packages": Boolean,
"legacy-dir-filtering": Boolean,
"link-workspace-packages": [Boolean, "deep"],
lockfile: Boolean,
"lockfile-dir": String,
"lockfile-include-tarball-url": Boolean,
"lockfile-only": Boolean,
loglevel: ["silent", "error", "warn", "info", "debug"],
maxsockets: Number,
"modules-cache-max-age": Number,
"dlx-cache-max-age": Number,
"minimum-release-age": Number,
"minimum-release-age-exclude": [String, Array],
"minimum-release-age-ignore-missing-time": Boolean,
"minimum-release-age-strict": Boolean,
"modules-dir": String,
"network-concurrency": Number,
"node-experimental-package-map": Boolean,
"node-package-map-type": ["standard", "loose"],
"node-linker": ["pnp", "isolated", "hoisted"],
noproxy: String,
"npm-path": String,
"npmrc-auth-file": path60,
offline: Boolean,
"pack-destination": String,
"pack-gzip-level": Number,
"package-import-method": ["auto", "hardlink", "clone", "copy"],
"patches-dir": String,
pnpmfile: String,
"pm-on-fail": ["download", "error", "warn", "ignore"],
"prefer-frozen-lockfile": Boolean,
"prefer-offline": Boolean,
"prefer-symlinked-executables": Boolean,
"prefer-workspace-packages": Boolean,
"preserve-absolute-paths": Boolean,
production: [null, true],
"public-hoist-pattern": Array,
"publish-branch": String,
"recursive-install": Boolean,
"block-exotic-subdeps": Boolean,
reporter: String,
"resolution-mode": ["highest", "time-based", "lowest-direct"],
"resolve-peers-from-workspace-root": Boolean,
runtime: Boolean,
"runtime-on-fail": ["ignore", "warn", "error", "download"],
"aggregate-output": Boolean,
"reporter-hide-prefix": Boolean,
"save-peer": Boolean,
"save-catalog-name": String,
"save-workspace-protocol": Boolean,
"script-shell": String,
"shamefully-hoist": Boolean,
"shared-workspace-lockfile": Boolean,
"shell-emulator": Boolean,
"side-effects-cache": Boolean,
"side-effects-cache-readonly": Boolean,
symlink: Boolean,
sort: Boolean,
"state-dir": String,
"store-dir": String,
stream: Boolean,
"strict-dep-builds": Boolean,
"strict-store-pkg-content-check": Boolean,
"strict-peer-dependencies": Boolean,
"trust-lockfile": Boolean,
"trust-policy": ["off", "no-downgrade"],
"trust-policy-exclude": [String, Array],
"trust-policy-ignore-after": Number,
"use-beta-cli": Boolean,
"use-stderr": Boolean,
"verify-deps-before-run": Boolean,
"verify-store-integrity": Boolean,
"frozen-store": Boolean,
"global-virtual-store-dir": String,
"virtual-store-dir": String,
"virtual-store-only": Boolean,
"virtual-store-dir-max-length": Number,
"peers-suffix-max-length": Number,
"workspace-concurrency": Number,
"workspace-packages": [String, Array],
"workspace-root": Boolean,
yes: Boolean,
"test-pattern": [String, Array],
"changed-files-ignore-pattern": [String, Array],
"embed-readme": Boolean,
"skip-manifest-obfuscation": Boolean,
"update-notifier": Boolean,
"pnpr-server": [null, String],
"registry-supports-time-field": Boolean,
"fail-if-no-match": Boolean,
"sync-injected-deps-after-scripts": Array,
cpu: [String, Array],
libc: [String, Array],
os: [String, Array],
"audit-level": ["low", "moderate", "high", "critical"]
};
types2 = {
...pnpmTypes,
...npmConfigTypes
};
}
});
// ../config/reader/lib/Config.js
var PROJECT_CONFIG_FIELDS;
var init_Config = __esm({
"../config/reader/lib/Config.js"() {
"use strict";
PROJECT_CONFIG_FIELDS = [
"hoist",
"modulesDir",
"overrides",
"saveExact",
"savePrefix"
];
}
});
// ../config/reader/lib/projectConfig.js
function createProjectConfigRecord(opts3) {
return createProjectConfigRecordFromConfigSet(opts3.packageConfigs);
}
function createProjectConfigFromRaw(config2) {
if (typeof config2 !== "object" || !config2 || Array.isArray(config2)) {
throw new ProjectConfigIsNotAnObjectError(config2);
}
if ("hoist" in config2 && config2.hoist !== void 0 && typeof config2.hoist !== "boolean") {
throw new ProjectConfigInvalidValueTypeError("boolean", config2.hoist);
}
if ("modulesDir" in config2 && config2.modulesDir !== void 0 && typeof config2.modulesDir !== "string") {
throw new ProjectConfigInvalidValueTypeError("string", config2.modulesDir);
}
if ("saveExact" in config2 && config2.saveExact !== void 0 && typeof config2.saveExact !== "boolean") {
throw new ProjectConfigInvalidValueTypeError("boolean", config2.saveExact);
}
if ("savePrefix" in config2 && config2.savePrefix !== void 0 && typeof config2.savePrefix !== "string") {
throw new ProjectConfigInvalidValueTypeError("string", config2.savePrefix);
}
if ("overrides" in config2 && config2.overrides !== void 0 && (typeof config2.overrides !== "object" || config2.overrides === null || Array.isArray(config2.overrides))) {
throw new ProjectConfigInvalidValueTypeError("object", config2.overrides);
}
for (const key in config2) {
if (config2[key] !== void 0 && !PROJECT_CONFIG_FIELDS.includes(key)) {
throw new ProjectConfigUnsupportedFieldError(key);
}
}
const result2 = config2;
if (result2.hoist === false) {
return { ...result2, hoistPattern: void 0 };
}
return result2;
}
function createProjectConfigRecordFromConfigSet(configSet2) {
if (configSet2 == null)
return void 0;
if (typeof configSet2 !== "object")
throw new ProjectConfigsIsNeitherObjectNorArrayError(configSet2);
const result2 = {};
if (!Array.isArray(configSet2)) {
for (const projectName in configSet2) {
const projectConfig = configSet2[projectName];
result2[projectName] = createProjectConfigFromRaw(projectConfig);
}
return result2;
}
for (const item of configSet2) {
if (!item || typeof item !== "object" || Array.isArray(item)) {
throw new ProjectConfigsArrayItemIsNotAnObjectError(item);
}
if (!("match" in item)) {
throw new ProjectConfigsArrayItemMatchIsNotDefinedError();
}
if (typeof item.match !== "object" || !Array.isArray(item.match)) {
throw new ProjectConfigsArrayItemMatchIsNotAnArrayError(item.match);
}
const projectConfig = createProjectConfigFromRaw(withoutMatch(item));
for (const projectName of item.match) {
if (typeof projectName !== "string") {
throw new ProjectConfigsMatchItemIsNotAStringError(projectName);
}
result2[projectName] = projectConfig;
}
}
return result2;
}
var ProjectConfigIsNotAnObjectError, ProjectConfigInvalidValueTypeError, ProjectConfigUnsupportedFieldError, ProjectConfigsIsNeitherObjectNorArrayError, ProjectConfigsArrayItemIsNotAnObjectError, ProjectConfigsArrayItemMatchIsNotDefinedError, ProjectConfigsArrayItemMatchIsNotAnArrayError, ProjectConfigsMatchItemIsNotAStringError, withoutMatch;
var init_projectConfig = __esm({
"../config/reader/lib/projectConfig.js"() {
"use strict";
init_lib2();
init_es();
init_Config();
ProjectConfigIsNotAnObjectError = class extends PnpmError {
actualRawConfig;
constructor(actualRawConfig) {
super("PROJECT_CONFIG_NOT_AN_OBJECT", `Expecting project-specific config to be an object, but received ${JSON.stringify(actualRawConfig)}`);
this.actualRawConfig = actualRawConfig;
}
};
ProjectConfigInvalidValueTypeError = class extends PnpmError {
expectedType;
actualType;
actualValue;
constructor(expectedType, actualValue) {
const actualType = typeof actualValue;
super("PROJECT_CONFIG_INVALID_VALUE_TYPE", `Expecting a value of type ${expectedType} but received a value of type ${actualType}: ${JSON.stringify(actualValue)}`);
this.expectedType = expectedType;
this.actualType = actualType;
this.actualValue = actualValue;
}
};
ProjectConfigUnsupportedFieldError = class extends PnpmError {
field;
constructor(field) {
super("PROJECT_CONFIG_UNSUPPORTED_FIELD", `Field ${field} is not supported but was specified`);
this.field = field;
}
};
ProjectConfigsIsNeitherObjectNorArrayError = class extends PnpmError {
configSet;
constructor(configSet2) {
super("PROJECT_CONFIGS_IS_NEITHER_OBJECT_NOR_ARRAY", `Expecting packageConfigs to be either an object or an array but received ${JSON.stringify(configSet2)}`);
this.configSet = configSet2;
}
};
ProjectConfigsArrayItemIsNotAnObjectError = class extends PnpmError {
item;
constructor(item) {
super("PROJECT_CONFIGS_ARRAY_ITEM_IS_NOT_AN_OBJECT", `Expecting a packageConfigs item to be an object but received ${JSON.stringify(item)}`);
this.item = item;
}
};
ProjectConfigsArrayItemMatchIsNotDefinedError = class extends PnpmError {
constructor() {
super("PROJECT_CONFIGS_ARRAY_ITEM_MATCH_IS_NOT_DEFINED", "A packageConfigs match is not defined");
}
};
ProjectConfigsArrayItemMatchIsNotAnArrayError = class extends PnpmError {
match;
constructor(match) {
super("PROJECT_CONFIGS_ARRAY_ITEM_MATCH_IS_NOT_AN_ARRAY", `Expecting a packageConfigs match to be an array but received ${JSON.stringify(match)}`);
this.match = match;
}
};
ProjectConfigsMatchItemIsNotAStringError = class extends PnpmError {
matchItem;
constructor(matchItem) {
super("PROJECT_CONFIGS_MATCH_ITEM_IS_NOT_A_STRING", `Expecting a match item to be a string but received ${JSON.stringify(matchItem)}`);
this.matchItem = matchItem;
}
};
withoutMatch = omit_default(["match"]);
}
});
// ../config/reader/lib/index.js
import fs37 from "node:fs";
import os11 from "node:os";
import path61 from "node:path";
import { stripVTControlCharacters as stripVTControlCharacters3 } from "node:util";
async function getConfig(opts3) {
if (opts3.onlyInheritDlxSettingsFromLocal) {
const { onlyInheritDlxSettingsFromLocal: _, ...localOpts } = opts3;
const globalCfgOpts = {
...localOpts,
ignoreLocalSettings: true,
cliOptions: {
...localOpts.cliOptions,
dir: os11.homedir()
}
};
const [final, localSrc] = await Promise.all([getConfig(globalCfgOpts), getConfig(localOpts)]);
inheritDlxConfig(final, localSrc);
final.warnings.push(...localSrc.warnings);
return final;
}
const env3 = opts3.env ?? process.env;
const packageManager2 = opts3.packageManager ?? { name: "pnpm", version: "undefined" };
const cliOptions = opts3.cliOptions ?? {};
if (cliOptions["hoist"] === false) {
if (cliOptions["shamefully-hoist"] === true) {
throw new PnpmError("CONFIG_CONFLICT_HOIST", "--shamefully-hoist cannot be used with --no-hoist");
}
if (cliOptions["hoist-pattern"]) {
throw new PnpmError("CONFIG_CONFLICT_HOIST", "--hoist-pattern cannot be used with --no-hoist");
}
}
if (cliOptions.dir) {
cliOptions.dir = await realpathMissing(cliOptions.dir);
}
const defaultOptions4 = {
"auto-install-peers": true,
bail: true,
"catalog-mode": "manual",
ci: import_ci_info.isCI,
color: "auto",
"dangerously-allow-all-builds": false,
"deploy-all-files": false,
"dedupe-peer-dependents": true,
"dedupe-peers": false,
"dedupe-direct-deps": false,
"dedupe-injected-deps": true,
"disallow-workspace-cycles": false,
"enable-modules-dir": true,
"node-experimental-package-map": false,
"node-package-map-type": "standard",
"enable-pre-post-scripts": true,
"exclude-links-from-lockfile": false,
"extend-node-path": true,
"fail-if-no-match": false,
"fetch-retries": 2,
"fetch-retry-factor": 10,
"fetch-retry-maxtimeout": 6e4,
"fetch-retry-mintimeout": 1e4,
"fetch-timeout": 6e4,
"fetch-warn-timeout-ms": 1e4,
// 10 sec
"fetch-min-speed-ki-bps": 50,
// 50 KiB/s
"force-legacy-deploy": false,
"git-shallow-hosts": [
// Follow https://github.com/npm/git/blob/1e1dbd26bd5b87ca055defecc3679777cb480e2a/lib/clone.js#L13-L19
"github.com",
"gist.github.com",
"gitlab.com",
"bitbucket.com",
"bitbucket.org"
],
"git-branch-lockfile": false,
hoist: true,
"hoist-pattern": ["*"],
"hoist-workspace-packages": true,
"ignore-workspace-cycles": false,
"ignore-workspace-root-check": false,
"optimistic-repeat-install": true,
optional: true,
"init-package-manager": true,
"init-type": "module",
"inject-workspace-packages": false,
"link-workspace-packages": false,
"lockfile-include-tarball-url": false,
"minimum-release-age": 24 * 60,
// 1 day
"minimum-release-age-ignore-missing-time": true,
"modules-cache-max-age": 7 * 24 * 60,
// 7 days
"dlx-cache-max-age": 24 * 60,
// 1 day
"node-linker": "isolated",
"package-lock": npmDefaults["package-lock"],
pending: false,
"prefer-workspace-packages": false,
"public-hoist-pattern": [],
"recursive-install": true,
registry: npmDefaults.registry,
"block-exotic-subdeps": true,
"resolution-mode": "highest",
"resolve-peers-from-workspace-root": true,
"save-peer": false,
"save-catalog-name": void 0,
"save-workspace-protocol": "rolling",
"scripts-prepend-node-path": false,
"strict-dep-builds": true,
"side-effects-cache": true,
symlink: true,
"shared-workspace-lockfile": true,
"shell-emulator": false,
"strict-store-pkg-content-check": true,
reverse: false,
sort: true,
"strict-peer-dependencies": false,
"unsafe-perm": npmDefaults["unsafe-perm"],
"use-beta-cli": false,
userconfig: npmDefaults.userconfig,
"verify-deps-before-run": "install",
"verify-store-integrity": true,
"frozen-store": false,
"workspace-concurrency": getDefaultWorkspaceConcurrency(),
"workspace-prefix": opts3.workspaceDir,
"embed-readme": false,
"skip-manifest-obfuscation": false,
"registry-supports-time-field": false,
"virtual-store-dir-max-length": (0, import_is_windows6.default)() ? 60 : 120,
"virtual-store-only": false,
"peers-suffix-max-length": 1e3
};
const configDir = getConfigDir(process);
const globalYamlConfigForNpmrcAuthFile = await readWorkspaceManifest(configDir, GLOBAL_CONFIG_YAML_FILENAME);
const npmrcAuthFile = cliOptions["npmrc-auth-file"] ?? cliOptions.userconfig ?? readEnvVar(env3, "npmrc_auth_file") ?? readEnvVar(env3, "userconfig") ?? globalYamlConfigForNpmrcAuthFile?.npmrcAuthFile ?? readNpmEnvVar(env3, "userconfig");
const npmrcResult = loadNpmrcConfig({
cliOptions,
defaultOptions: defaultOptions4,
dir: cliOptions.dir,
workspaceDir: opts3.workspaceDir,
npmrcAuthFile,
configDir,
moduleDirname: import.meta.dirname,
env: opts3.env,
// Only the global config yaml may supply `_auth` (deleted from
// `globalYamlConfig` below so it isn't flagged as an unknown setting).
globalConfigAuth: globalYamlConfigForNpmrcAuthFile?._auth
});
const warnings = npmrcResult.warnings;
const configFromCliOpts = Object.fromEntries(Object.entries(cliOptions).filter(([_, value]) => typeof value !== "undefined").map(([name, value]) => [camelCase(name, { locale: "en-US" }), value]));
const pnpmConfig = Object.fromEntries(Object.entries(defaultOptions4).map(([key, value]) => [camelCase(key, { locale: "en-US" }), value]));
for (const [key, value] of Object.entries(npmrcResult.mergedConfig)) {
if (Object.hasOwn(types2, key)) {
;
pnpmConfig[camelCase(key, { locale: "en-US" })] = value;
}
}
const globalDepsBuildConfig = extractAndRemoveDependencyBuildOptions(pnpmConfig);
const explicitlySetKeys = new Set(Object.keys(configFromCliOpts));
pnpmConfig.explicitlySetKeys = explicitlySetKeys;
pnpmConfig.cliOptions = cliOptions;
Object.assign(pnpmConfig, configFromCliOpts);
const cwd = fs37.realpathSync(betterPathResolve(cliOptions.dir ?? npmrcResult.localPrefix));
if (cwd.includes(path61.delimiter)) {
warnings.push(`Directory "${cwd}" contains the path delimiter character (${path61.delimiter}), so binaries from node_modules/.bin will not be accessible via PATH. Consider renaming the directory.`);
}
pnpmConfig.maxSockets = pnpmConfig.maxSockets ?? pnpmConfig["maxsockets"] ?? npmDefaults.maxsockets;
delete pnpmConfig["maxsockets"];
pnpmConfig.configDir = configDir;
pnpmConfig.workspaceDir = opts3.workspaceDir;
pnpmConfig.workspaceRoot = cliOptions["workspace-root"];
pnpmConfig.userAgent = cliOptions["user-agent"] ?? `${packageManager2.name}/${packageManager2.version} npm/? node/${process.version} ${process.platform} ${process.arch}`;
pnpmConfig.authConfig = pickIniConfig(npmrcResult.rawConfig);
let globalYamlRegistries;
const globalYamlConfig = globalYamlConfigForNpmrcAuthFile;
if (globalYamlConfig) {
delete globalYamlConfig._auth;
const ignoredKeys = [];
for (const key in globalYamlConfig) {
if (!isConfigFileKey((0, import_lodash3.default)(key))) {
ignoredKeys.push(key);
delete globalYamlConfig[key];
}
}
if (ignoredKeys.length > 0) {
const globalYamlConfigPath = getGlobalConfigPath(configDir);
warnings.push(`The following settings cannot be set in the global config file ("${globalYamlConfigPath}") and were ignored: ${ignoredKeys.map((k2) => `"${k2}"`).join(", ")}. Move them to a project-level pnpm-workspace.yaml. To share these settings across projects, use config dependencies: https://pnpm.io/11.x/config-dependencies`);
}
addSettingsFromWorkspaceManifestToConfig(pnpmConfig, {
configFromCliOpts,
expandRequestDestinationEnv: true,
projectManifest: void 0,
workspaceDir: void 0,
workspaceManifest: globalYamlConfig
});
globalYamlRegistries = pnpmConfig.registries;
}
const networkConfigs = getNetworkConfigs(pnpmConfig.authConfig);
const registriesFromNpmrc = {
default: (0, import_normalize_registry_url3.default)(pnpmConfig.authConfig.registry),
...networkConfigs.registries
};
const trustedAuthConfig = pickIniConfig(npmrcResult.trustedConfig);
const trustedNetworkConfigs = getNetworkConfigs(trustedAuthConfig);
const cliScopedRegistries = {};
for (const [key, value] of Object.entries(cliOptions)) {
if (key.startsWith("@") && key.endsWith(":registry") && typeof value === "string") {
cliScopedRegistries[key.slice(0, -":registry".length)] = (0, import_normalize_registry_url3.default)(value);
}
}
pnpmConfig.registries = { ...registriesFromNpmrc };
if (explicitlySetKeys.has("registry") && typeof pnpmConfig.registry === "string") {
pnpmConfig.registries.default = (0, import_normalize_registry_url3.default)(pnpmConfig.registry);
}
pnpmConfig.packageManagerRegistries = {
default: (0, import_normalize_registry_url3.default)(trustedAuthConfig.registry),
...trustedNetworkConfigs.registries,
// `_auth` routes apply here too so bootstrap (self-download / version
// switching) resolves the same way as regular installs.
...npmrcResult.jsonAuth.registries,
...cliScopedRegistries
};
if (explicitlySetKeys.has("registry") && typeof pnpmConfig.registry === "string") {
pnpmConfig.packageManagerRegistries.default = (0, import_normalize_registry_url3.default)(pnpmConfig.registry);
}
pnpmConfig.packageManagerNetworkConfig = createPackageManagerNetworkConfig(npmrcResult.trustedConfig, trustedNetworkConfigs.configByUri ?? {}, env3);
pnpmConfig.configByUri = { ...networkConfigs.configByUri };
const trustedConfig = npmrcResult.trustedConfig;
for (const [key, value] of Object.entries(pnpmConfig.authConfig)) {
if (!key.endsWith("tokenHelper") && key !== "tokenHelper")
continue;
if (!(key in trustedConfig) || trustedConfig[key] !== value) {
throw new PnpmError("TOKEN_HELPER_IN_PROJECT_CONFIG", "tokenHelper must not be configured in project-level .npmrc", { hint: `The key "${key}" was found in project config. Move it to ~/.npmrc or the global pnpm auth.ini.` });
}
}
pnpmConfig.pnpmHomeDir = getDataDir({ env: env3, platform: process.platform });
let globalDirRoot;
if (pnpmConfig.globalDir) {
globalDirRoot = pnpmConfig.globalDir;
} else {
globalDirRoot = path61.join(pnpmConfig.pnpmHomeDir, "global");
}
pnpmConfig.globalPkgDir = path61.join(globalDirRoot, GLOBAL_LAYOUT_VERSION);
pnpmConfig.dir = cwd;
if (cliOptions["global"]) {
delete pnpmConfig.workspaceDir;
pnpmConfig.bin = pnpmConfig.globalBinDir ?? path61.join(pnpmConfig.pnpmHomeDir, "bin");
if (pnpmConfig.bin) {
fs37.mkdirSync(pnpmConfig.bin, { recursive: true });
await checkGlobalBinDir(pnpmConfig.bin, { env: env3, shouldAllowWrite: opts3.globalDirShouldAllowWrite });
}
pnpmConfig.save = true;
pnpmConfig.allowNew = true;
pnpmConfig.ignoreCurrentSpecifiers = true;
pnpmConfig.saveProd = true;
pnpmConfig.saveDev = false;
pnpmConfig.saveOptional = false;
if (pnpmConfig.hoistPattern != null && (pnpmConfig.hoistPattern.length > 1 || pnpmConfig.hoistPattern[0] !== "*")) {
if (opts3.cliOptions["hoist-pattern"]) {
throw new PnpmError("CONFIG_CONFLICT_HOIST_PATTERN_WITH_GLOBAL", 'Configuration conflict. "hoist-pattern" may not be used with "global"');
}
}
if (pnpmConfig.linkWorkspacePackages) {
if (opts3.cliOptions["link-workspace-packages"]) {
throw new PnpmError("CONFIG_CONFLICT_LINK_WORKSPACE_PACKAGES_WITH_GLOBAL", 'Configuration conflict. "link-workspace-packages" may not be used with "global"');
}
pnpmConfig.linkWorkspacePackages = false;
}
if (pnpmConfig.sharedWorkspaceLockfile) {
if (opts3.cliOptions["shared-workspace-lockfile"]) {
throw new PnpmError("CONFIG_CONFLICT_SHARED_WORKSPACE_LOCKFILE_WITH_GLOBAL", 'Configuration conflict. "shared-workspace-lockfile" may not be used with "global"');
}
pnpmConfig.sharedWorkspaceLockfile = false;
}
if (pnpmConfig.lockfileDir) {
if (opts3.cliOptions["lockfile-dir"]) {
throw new PnpmError("CONFIG_CONFLICT_LOCKFILE_DIR_WITH_GLOBAL", 'Configuration conflict. "lockfile-dir" may not be used with "global"');
}
delete pnpmConfig.lockfileDir;
}
if (opts3.cliOptions["virtual-store-dir"]) {
throw new PnpmError("CONFIG_CONFLICT_VIRTUAL_STORE_DIR_WITH_GLOBAL", 'Configuration conflict. "virtual-store-dir" may not be used with "global"');
}
if (pnpmConfig.enableGlobalVirtualStore == null) {
pnpmConfig.enableGlobalVirtualStore = true;
}
} else if (!pnpmConfig.bin) {
pnpmConfig.bin = path61.join(pnpmConfig.dir, "node_modules", ".bin");
}
pnpmConfig.packageManager = packageManager2;
pnpmConfig.rootProjectManifestDir = pnpmConfig.lockfileDir ?? pnpmConfig.workspaceDir ?? pnpmConfig.dir;
let workspaceManifestRegistries;
if (!opts3.ignoreLocalSettings) {
pnpmConfig.rootProjectManifest = await safeReadProjectManifestOnly(pnpmConfig.rootProjectManifestDir) ?? void 0;
if (pnpmConfig.rootProjectManifest != null) {
if (pnpmConfig.rootProjectManifest.workspaces?.length && !pnpmConfig.workspaceDir) {
warnings.push('The "workspaces" field in package.json is not supported by pnpm. Create a "pnpm-workspace.yaml" file instead.');
}
const ignoredPnpmFieldKeys = getIgnoredPnpmFieldKeys(pnpmConfig.rootProjectManifest);
if (ignoredPnpmFieldKeys.length > 0) {
warnings.push(`The "pnpm" field in package.json is no longer read by pnpm. The following keys were ignored: ${ignoredPnpmFieldKeys.map((k2) => `"pnpm.${k2}"`).join(", ")}. See https://pnpm.io/settings for the new home of each setting.`);
}
const wantedPmResult = getWantedPackageManager(pnpmConfig.rootProjectManifest);
if (wantedPmResult.pm) {
pnpmConfig.wantedPackageManager = wantedPmResult.pm;
}
warnings.push(...wantedPmResult.warnings);
if (pnpmConfig.nodeVersion == null) {
pnpmConfig.nodeVersion = getNodeVersionFromEnginesRuntime(pnpmConfig.rootProjectManifest);
}
}
if (pnpmConfig.workspaceDir != null) {
const workspaceManifest = await readWorkspaceManifest(pnpmConfig.workspaceDir);
pnpmConfig.workspacePackagePatterns = cliOptions["workspace-packages"] ?? workspaceManifest?.packages ?? ["."];
if (workspaceManifest) {
addSettingsFromWorkspaceManifestToConfig(pnpmConfig, {
configFromCliOpts,
projectManifest: pnpmConfig.rootProjectManifest,
workspaceDir: pnpmConfig.workspaceDir,
workspaceManifest
});
if (workspaceManifest.registries != null) {
workspaceManifestRegistries = pnpmConfig.registries;
}
}
} else if (cliOptions["global"]) {
const workspaceManifest = await readWorkspaceManifest(pnpmConfig.globalPkgDir);
if (workspaceManifest) {
addSettingsFromWorkspaceManifestToConfig(pnpmConfig, {
configFromCliOpts,
projectManifest: pnpmConfig.rootProjectManifest,
workspaceDir: pnpmConfig.globalPkgDir,
workspaceManifest
});
if (workspaceManifest.registries != null) {
workspaceManifestRegistries = pnpmConfig.registries;
}
}
}
}
pnpmConfig.registries = {
...registriesFromNpmrc,
...globalYamlRegistries,
...workspaceManifestRegistries,
// `_auth` routes win over repo-controlled yaml on conflicting scopes.
...npmrcResult.jsonAuth.registries,
// CLI per-scope registries last, so `--@scope:registry=...` wins over
// both yaml and `_auth` ("CLI > _auth > yaml").
...cliScopedRegistries
};
if (explicitlySetKeys.has("registry") && typeof pnpmConfig.registry === "string") {
pnpmConfig.registries.default = (0, import_normalize_registry_url3.default)(pnpmConfig.registry);
}
if (!pnpmConfig.registries.default) {
pnpmConfig.registries.default = registriesFromNpmrc.default;
}
for (const [scope, url7] of Object.entries(pnpmConfig.registries)) {
if (typeof url7 === "string") {
pnpmConfig.registries[scope] = (0, import_normalize_registry_url3.default)(url7);
}
}
if (!explicitlySetKeys.has("registry") && pnpmConfig.registries.default !== registriesFromNpmrc.default) {
pnpmConfig.registry = pnpmConfig.registries.default;
}
const envPnpmTypes = omit_default([
"init-version",
// the type is a private function named 'semver'
"node-version",
// the type is a private function named 'semver'
"umask"
// the type is a private function named 'Umask'
], types2);
for (const { key, value } of parseEnvVars((key2) => envPnpmTypes[key2], env3)) {
if (value === void 0)
continue;
if (Object.hasOwn(cliOptions, key) || Object.hasOwn(cliOptions, (0, import_lodash3.default)(key)))
continue;
pnpmConfig[key] = value;
explicitlySetKeys.add(key);
if (key === "registry") {
if (typeof value !== "string") {
throw new TypeError(`Unexpected type of registry, expecting a string but received ${JSON.stringify(value)}`);
}
pnpmConfig.registries.default = (0, import_normalize_registry_url3.default)(value);
pnpmConfig.packageManagerRegistries.default = (0, import_normalize_registry_url3.default)(value);
}
}
if (pnpmConfig.explicitlySetKeys.has("minimumReleaseAge") && pnpmConfig.minimumReleaseAgeStrict == null) {
pnpmConfig.minimumReleaseAgeStrict = true;
}
overrideSupportedArchitecturesWithCLI(pnpmConfig, cliOptions);
pnpmConfig.useLockfile = (() => {
if (typeof pnpmConfig.lockfile === "boolean")
return pnpmConfig.lockfile;
if (typeof pnpmConfig.packageLock === "boolean")
return pnpmConfig.packageLock;
return false;
})();
pnpmConfig.useGitBranchLockfile = (() => {
if (typeof pnpmConfig.gitBranchLockfile === "boolean")
return pnpmConfig.gitBranchLockfile;
return false;
})();
pnpmConfig.mergeGitBranchLockfiles = await (async () => {
if (typeof pnpmConfig.mergeGitBranchLockfiles === "boolean")
return pnpmConfig.mergeGitBranchLockfiles;
if (pnpmConfig.mergeGitBranchLockfilesBranchPattern != null && pnpmConfig.mergeGitBranchLockfilesBranchPattern.length > 0) {
const branch = await getCurrentBranch();
if (branch) {
const branchMatcher = createMatcher(pnpmConfig.mergeGitBranchLockfilesBranchPattern);
return branchMatcher(branch);
}
}
return void 0;
})();
if (!hasDependencyBuildOptions(pnpmConfig)) {
Object.assign(pnpmConfig, globalDepsBuildConfig);
}
if (pnpmConfig.enableGlobalVirtualStore && pnpmConfig.allowBuilds == null && pnpmConfig.dangerouslyAllowAllBuilds !== true) {
pnpmConfig.allowBuilds = {};
}
if (opts3.cliOptions["save-peer"]) {
if (opts3.cliOptions["save-prod"]) {
throw new PnpmError("CONFIG_CONFLICT_PEER_CANNOT_BE_PROD_DEP", "A package cannot be a peer dependency and a prod dependency at the same time");
}
if (opts3.cliOptions["save-optional"]) {
throw new PnpmError("CONFIG_CONFLICT_PEER_CANNOT_BE_OPTIONAL_DEP", "A package cannot be a peer dependency and an optional dependency at the same time");
}
}
if (typeof pnpmConfig.filter === "string") {
pnpmConfig.filter = pnpmConfig.filter.split(" ");
}
if (typeof pnpmConfig.filterProd === "string") {
pnpmConfig.filterProd = pnpmConfig.filterProd.split(" ");
}
if (pnpmConfig.workspaceDir) {
pnpmConfig.extraBinPaths = [path61.join(pnpmConfig.workspaceDir, "node_modules", ".bin")];
} else {
pnpmConfig.extraBinPaths = [];
}
pnpmConfig.extraEnv = {
pnpm_config_verify_deps_before_run: "false"
};
if (pnpmConfig.preferSymlinkedExecutables && !(0, import_is_windows6.default)()) {
const cwd2 = pnpmConfig.lockfileDir ?? pnpmConfig.dir;
const virtualStoreDir = pnpmConfig.virtualStoreDir ? pnpmConfig.virtualStoreDir : pnpmConfig.modulesDir ? path61.join(pnpmConfig.modulesDir, ".pnpm") : "node_modules/.pnpm";
pnpmConfig.extraEnv["NODE_PATH"] = pathAbsolute(path61.join(virtualStoreDir, "node_modules"), cwd2);
}
if (!pnpmConfig.cacheDir) {
pnpmConfig.cacheDir = getCacheDir(process);
}
if (!pnpmConfig.stateDir) {
pnpmConfig.stateDir = getStateDir(process);
}
if (typeof pnpmConfig["color"] === "boolean") {
switch (pnpmConfig["color"]) {
case true:
pnpmConfig.color = "always";
break;
case false:
pnpmConfig.color = "never";
break;
default:
pnpmConfig.color = "auto";
break;
}
}
if (!pnpmConfig.httpsProxy) {
pnpmConfig.httpsProxy = pnpmConfig.proxy ?? getProcessEnv("https_proxy");
}
if (!pnpmConfig.httpProxy) {
pnpmConfig.httpProxy = pnpmConfig.httpsProxy ?? getProcessEnv("http_proxy") ?? getProcessEnv("proxy");
}
if (!pnpmConfig.noProxy) {
pnpmConfig.noProxy = pnpmConfig["noproxy"] ?? getProcessEnv("no_proxy");
}
switch (pnpmConfig.nodeLinker) {
case "pnp":
pnpmConfig.enablePnp = pnpmConfig.nodeLinker === "pnp";
break;
case "hoisted":
if (pnpmConfig.preferSymlinkedExecutables == null) {
pnpmConfig.preferSymlinkedExecutables = true;
}
break;
}
if (!pnpmConfig.userConfig) {
pnpmConfig.userConfig = npmrcResult.userConfig;
}
pnpmConfig.sideEffectsCacheRead = pnpmConfig.sideEffectsCache ?? pnpmConfig.sideEffectsCacheReadonly;
pnpmConfig.sideEffectsCacheWrite = pnpmConfig.sideEffectsCache;
if (pnpmConfig.sharedWorkspaceLockfile && !pnpmConfig.lockfileDir && pnpmConfig.workspaceDir) {
pnpmConfig.lockfileDir = pnpmConfig.workspaceDir;
}
pnpmConfig.workspaceConcurrency = getWorkspaceConcurrency(pnpmConfig.workspaceConcurrency);
if (pnpmConfig.only === "prod" || pnpmConfig.only === "production" || !pnpmConfig.only && pnpmConfig.production) {
pnpmConfig.production = true;
pnpmConfig.dev = false;
} else if (pnpmConfig.only === "dev" || pnpmConfig.only === "development" || pnpmConfig.dev) {
pnpmConfig.production = false;
pnpmConfig.dev = true;
pnpmConfig.optional = false;
} else {
pnpmConfig.production = true;
pnpmConfig.dev = true;
}
if (pnpmConfig.ci && pnpmConfig.enableGlobalVirtualStore == null) {
pnpmConfig.enableGlobalVirtualStore = false;
}
delete pnpmConfig.yes;
if (cliOptions.yes) {
pnpmConfig.autoConfirmAllPrompts = true;
}
transformPathKeys(pnpmConfig, os11.homedir());
if (pnpmConfig.wantedPackageManager) {
if (pnpmConfig.pmOnFail) {
pnpmConfig.wantedPackageManager.onFail = pnpmConfig.pmOnFail;
} else if (pnpmConfig.wantedPackageManager.onFail == null) {
pnpmConfig.wantedPackageManager.onFail = "download";
}
}
if (pnpmConfig.runtimeOnFail && pnpmConfig.rootProjectManifest) {
applyRuntimeOnFailOverride(pnpmConfig.rootProjectManifest, pnpmConfig.runtimeOnFail);
}
const { hooks, finders, allProjects, selectedProjectsGraph, allProjectsGraph, prodAllProjectsGraph, prodOnlySelectedProjectDirs, rootProjectManifest, rootProjectManifestDir, cliOptions: ctxCliOptions, explicitlySetKeys: ctxExplicitlySetKeys, packageManager: ctxPackageManager, wantedPackageManager, ...config2 } = pnpmConfig;
const context = {
hooks,
finders,
allProjects,
selectedProjectsGraph,
allProjectsGraph,
prodAllProjectsGraph,
prodOnlySelectedProjectDirs,
rootProjectManifest,
rootProjectManifestDir,
cliOptions: ctxCliOptions,
explicitlySetKeys: ctxExplicitlySetKeys,
packageManager: ctxPackageManager,
wantedPackageManager
};
return { config: config2, context, warnings };
}
function getProcessEnv(env3) {
return process.env[env3] ?? process.env[env3.toUpperCase()] ?? process.env[env3.toLowerCase()];
}
function createPackageManagerNetworkConfig(trustedConfig, configByUri, env3) {
const httpsProxy = getProxyValue(trustedConfig["https-proxy"] ?? trustedConfig.proxy, getEnvValue(env3, "https_proxy"));
const httpProxy = getProxyValue(trustedConfig["http-proxy"], httpsProxy ?? getEnvValue(env3, "http_proxy") ?? getEnvValue(env3, "proxy"));
return {
ca: trustedConfig.ca,
cert: trustedConfig.cert,
configByUri,
httpProxy,
httpsProxy,
key: trustedConfig.key,
localAddress: trustedConfig["local-address"],
noProxy: trustedConfig["no-proxy"] ?? trustedConfig.noproxy ?? getEnvValue(env3, "no_proxy"),
strictSsl: trustedConfig["strict-ssl"]
};
}
function getEnvValue(env3, key) {
return env3[key] ?? env3[key.toUpperCase()] ?? env3[key.toLowerCase()];
}
function getProxyValue(value, fallback) {
if (value === false || value === null)
return void 0;
if (typeof value === "string" && value.length > 0)
return value;
return fallback;
}
function readEnvVar(env3, key) {
const value = env3[`pnpm_config_${key}`] ?? env3[`PNPM_CONFIG_${key.toUpperCase()}`];
return value !== "" ? value : void 0;
}
function readNpmEnvVar(env3, key) {
const value = env3[`npm_config_${key}`] ?? env3[`NPM_CONFIG_${key.toUpperCase()}`];
return value !== "" ? value : void 0;
}
function getWantedPackageManager(manifest) {
const warnings = [];
const pmFromDevEngines = parseDevEnginesPackageManager(manifest.devEngines);
if (pmFromDevEngines) {
if (pmFromDevEngines.version != null && !import_semver18.default.validRange(pmFromDevEngines.version)) {
warnings.push(`Cannot use devEngines.packageManager version "${pmFromDevEngines.version}": not a valid version or range`);
pmFromDevEngines.version = void 0;
}
if (manifest.packageManager) {
const legacyPm = parsePackageManager(manifest.packageManager);
const conflictWarning = getPackageManagerConflictWarning(legacyPm, {
name: pmFromDevEngines.name,
...splitPackageManagerVersion(pmFromDevEngines.version)
});
if (conflictWarning) {
warnings.push(conflictWarning);
}
}
return { pm: { ...pmFromDevEngines, fromDevEngines: true }, warnings };
}
if (manifest.packageManager) {
const pm2 = parsePackageManager(manifest.packageManager);
if (pm2.version != null) {
const cleanVersion = import_semver18.default.valid(pm2.version);
if (!cleanVersion) {
warnings.push(`Cannot use packageManager "${manifest.packageManager}": "${pm2.version}" is not a valid exact version`);
pm2.version = void 0;
} else if (cleanVersion !== pm2.version) {
warnings.push(`Cannot use packageManager "${manifest.packageManager}": you need to specify the version as "${cleanVersion}"`);
pm2.version = void 0;
}
}
return { pm: pm2, warnings };
}
return { warnings };
}
function getIgnoredPnpmFieldKeys(manifest) {
const legacyField = manifest.pnpm;
if (legacyField == null || typeof legacyField !== "object" || Array.isArray(legacyField)) {
return [];
}
return Object.keys(legacyField).filter((k2) => MIGRATED_PNPM_FIELD_KEYS.has(k2));
}
function parsePackageManager(packageManager2) {
const separatorIndex = packageManager2.startsWith("@") ? packageManager2.indexOf("@", 1) : packageManager2.indexOf("@");
if (separatorIndex === -1)
return { name: packageManager2, version: void 0, hash: void 0 };
const name = packageManager2.slice(0, separatorIndex);
const pmReference = packageManager2.slice(separatorIndex + 1);
if (pmReference.includes(":"))
return { name, version: void 0, hash: void 0 };
return { name, ...splitPackageManagerVersion(pmReference) };
}
function splitPackageManagerVersion(reference) {
if (reference == null)
return { version: void 0, hash: void 0 };
const hashIndex = reference.indexOf("+");
if (hashIndex === -1)
return { version: reference, hash: void 0 };
return { version: reference.slice(0, hashIndex), hash: reference.slice(hashIndex + 1) };
}
function getPackageManagerConflictWarning(legacy, devEngines) {
const ignoredSuffix = '. "packageManager" will be ignored';
const genericWarning = `Cannot use both "packageManager" and "devEngines.packageManager" in package.json${ignoredSuffix}`;
if (legacy.name !== devEngines.name) {
return `"packageManager" (${sanitizeManifestValue(legacy.name)}) and "devEngines.packageManager" (${sanitizeManifestValue(devEngines.name)}) specify different package managers in package.json${ignoredSuffix}`;
}
if (legacy.version !== devEngines.version) {
if (legacy.version == null || devEngines.version == null)
return genericWarning;
return `"packageManager" and "devEngines.packageManager" specify different versions of ${sanitizeManifestValue(legacy.name)} in package.json${ignoredSuffix}`;
}
if (legacy.hash !== devEngines.hash) {
if (legacy.hash != null && devEngines.hash != null && legacy.version != null) {
return `"packageManager" and "devEngines.packageManager" specify ${sanitizeManifestValue(legacy.name)}@${sanitizeManifestValue(legacy.version)} with different integrity hashes in package.json${ignoredSuffix}`;
}
return genericWarning;
}
return void 0;
}
function sanitizeManifestValue(value) {
return stripVTControlCharacters3(value).replace(/[\u0000-\u001f\u007f]/g, " ");
}
function shouldPersistLockfile(pm2) {
if (pm2.onFail === "ignore")
return false;
if (pm2.fromDevEngines === true)
return true;
if (pm2.version == null || import_semver18.default.valid(pm2.version) == null)
return false;
return import_semver18.default.major(pm2.version) >= 12;
}
function parseDevEnginesPackageManager(devEngines) {
if (!devEngines?.packageManager)
return void 0;
let pmEngine;
let onFail;
if (Array.isArray(devEngines.packageManager)) {
const engines = devEngines.packageManager;
if (engines.length === 0)
return void 0;
const pnpmIndex = engines.findIndex((engine) => engine.name === "pnpm");
if (pnpmIndex !== -1) {
pmEngine = engines[pnpmIndex];
onFail = pmEngine.onFail ?? (pnpmIndex === engines.length - 1 ? "error" : "ignore");
} else {
pmEngine = engines[0];
const lastEngine = engines[engines.length - 1];
onFail = lastEngine.onFail ?? "error";
}
} else {
pmEngine = devEngines.packageManager;
onFail = pmEngine.onFail;
}
if (!pmEngine?.name)
return void 0;
return {
name: pmEngine.name,
version: pmEngine.version,
onFail
};
}
function getNodeVersionFromEnginesRuntime(manifest) {
for (const enginesFieldName of ["devEngines", "engines"]) {
const enginesRuntime = manifest[enginesFieldName]?.runtime;
if (enginesRuntime == null)
continue;
const runtimes = Array.isArray(enginesRuntime) ? enginesRuntime : [enginesRuntime];
const nodeRuntime = runtimes.find((r) => r.name === "node");
if (nodeRuntime?.version == null)
continue;
if (!import_semver18.default.validRange(nodeRuntime.version))
continue;
const minVersion = import_semver18.default.minVersion(nodeRuntime.version);
if (minVersion != null) {
return minVersion.version;
}
}
return void 0;
}
function addSettingsFromWorkspaceManifestToConfig(pnpmConfig, { configFromCliOpts, expandRequestDestinationEnv, projectManifest, workspaceManifest, workspaceDir }) {
const newSettings = Object.assign(getOptionsFromPnpmSettings(workspaceDir, workspaceManifest, { manifest: projectManifest, expandRequestDestinationEnv }), configFromCliOpts);
for (const [key, value] of Object.entries(newSettings)) {
if (!isCamelCase(key))
continue;
pnpmConfig[key] = value;
pnpmConfig.explicitlySetKeys.add(key);
}
if (process.env.pnpm_config_verify_deps_before_run != null) {
pnpmConfig.verifyDepsBeforeRun = process.env.pnpm_config_verify_deps_before_run;
}
pnpmConfig.catalogs = getCatalogsFromWorkspaceManifest(workspaceManifest);
}
var import_ci_info, import_is_windows6, import_lodash3, import_normalize_registry_url3, import_semver18, MIGRATED_PNPM_FIELD_KEYS;
var init_lib64 = __esm({
"../config/reader/lib/index.js"() {
"use strict";
init_lib60();
init_lib27();
init_lib();
init_lib2();
init_lib61();
init_lib11();
init_lib62();
init_lib15();
init_lib43();
init_better_path_resolve();
init_camelcase();
import_ci_info = __toESM(require_ci_info(), 1);
import_is_windows6 = __toESM(require_is_windows(), 1);
import_lodash3 = __toESM(require_lodash2(), 1);
import_normalize_registry_url3 = __toESM(require_normalize_registry_url(), 1);
init_path_absolute();
init_es();
init_realpath_missing();
import_semver18 = __toESM(require_semver2(), 1);
init_checkGlobalBinDir();
init_concurrency();
init_configFileKey();
init_dependencyBuildOptions();
init_dirs();
init_env();
init_getNetworkConfigs();
init_getOptionsFromRootManifest();
init_loadNpmrcFiles();
init_localConfig();
init_npmDefaults();
init_overrideSupportedArchitecturesWithCLI();
init_transformPath();
init_types();
init_concurrency();
init_dirs();
init_getNetworkConfigs();
init_getOptionsFromRootManifest();
init_projectConfig();
init_configFileKey();
init_localConfig();
MIGRATED_PNPM_FIELD_KEYS = /* @__PURE__ */ new Set([
"allowBuilds",
"allowedDeprecatedVersions",
"allowUnusedPatches",
"auditConfig",
"configDependencies",
"executionEnv",
"ignoredOptionalDependencies",
"neverBuiltDependencies",
"onlyBuiltDependencies",
"onlyBuiltDependenciesFile",
"overrides",
"packageExtensions",
"patchedDependencies",
"peerDependencyRules",
"requiredScripts",
"supportedArchitectures",
"updateConfig"
]);
}
});
// ../registry-access/client/lib/addUser.js
async function addUser(opts3) {
const url7 = new URL(`-/user/org.couchdb.user:${encodeURIComponent(opts3.username)}`, opts3.registryUrl).href;
const response = await opts3.fetch(url7, {
method: "PUT",
headers: {
"content-type": "application/json",
accept: "application/json",
"npm-auth-type": "web",
...opts3.otp != null ? { "npm-otp": opts3.otp } : {}
},
body: JSON.stringify({
_id: `org.couchdb.user:${opts3.username}`,
name: opts3.username,
password: opts3.password,
email: opts3.email,
type: "user"
})
});
if (!response.ok) {
const text = await response.text();
throw new AddUserHttpError(response.status, text, response.headers);
}
const body = await response.json();
if (!body?.token) {
throw new AddUserNoTokenError();
}
return { token: body.token };
}
var AddUserHttpError, AddUserNoTokenError;
var init_addUser = __esm({
"../registry-access/client/lib/addUser.js"() {
"use strict";
AddUserHttpError = class extends Error {
status;
responseText;
responseJson;
responseHeaders;
constructor(status, responseText, responseHeaders) {
super(`addUser failed (HTTP ${status}): ${responseText}`);
this.name = "AddUserHttpError";
this.status = status;
this.responseText = responseText;
this.responseHeaders = responseHeaders;
try {
this.responseJson = JSON.parse(responseText);
} catch {
this.responseJson = void 0;
}
}
};
AddUserNoTokenError = class extends Error {
constructor() {
super("The registry returned a successful response but no token");
this.name = "AddUserNoTokenError";
}
};
}
});
// ../registry-access/client/lib/setDistTag.js
async function setDistTag(opts3) {
const encodedName = (0, import_npm_package_arg2.default)(opts3.packageName).escapedName;
const url7 = new URL(`-/package/${encodedName}/dist-tags/${encodeURIComponent(opts3.distTag)}`, opts3.registryUrl).href;
const response = await opts3.fetchFromRegistry(url7, {
authHeaderValue: opts3.authHeader,
method: "PUT",
headers: {
"content-type": "application/json",
"npm-auth-type": opts3.authType ?? "web",
...opts3.otp ? { "npm-otp": opts3.otp } : {}
},
body: JSON.stringify(opts3.version)
});
if (response.ok)
return;
const body = await response.text();
if (response.status === 401) {
throw parseAuthError(body, opts3.distTag);
}
const action = `set dist-tag "${opts3.distTag}" on`;
if (response.status === 403) {
throw new PnpmError("FORBIDDEN", `You do not have permission to ${action} this package. ${body}`);
}
throw new PnpmError("REGISTRY_ERROR", `Failed to ${action} package: ${response.status} ${response.statusText}. ${body}`);
}
function parseAuthError(body, distTag) {
const parsed = tryParseJson(body);
if (parsed != null && typeof parsed === "object" && "authUrl" in parsed && "doneUrl" in parsed) {
return new SyntheticOtpError({
authUrl: typeof parsed.authUrl === "string" ? parsed.authUrl : void 0,
doneUrl: typeof parsed.doneUrl === "string" ? parsed.doneUrl : void 0
});
}
if (/one-time pass/i.test(body)) {
return new SyntheticOtpError(void 0);
}
return new PnpmError("UNAUTHORIZED", `You must be logged in to set dist-tag "${distTag}" on packages. ${body}`);
}
function tryParseJson(body) {
try {
return JSON.parse(body);
} catch {
return void 0;
}
}
var import_npm_package_arg2;
var init_setDistTag = __esm({
"../registry-access/client/lib/setDistTag.js"() {
"use strict";
init_lib2();
init_lib22();
import_npm_package_arg2 = __toESM(require_npa(), 1);
}
});
// ../registry-access/client/lib/index.js
var init_lib65 = __esm({
"../registry-access/client/lib/index.js"() {
"use strict";
init_addUser();
init_setDistTag();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-regex/5.0.1/76c207fb4c174310b90a92e59359db860ee2acc81117e822787bbf6cfbe69c45/node_modules/ansi-regex/index.js
var require_ansi_regex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-regex/5.0.1/76c207fb4c174310b90a92e59359db860ee2acc81117e822787bbf6cfbe69c45/node_modules/ansi-regex/index.js"(exports2, module2) {
"use strict";
module2.exports = ({ onlyFirst = false } = {}) => {
const pattern = [
"[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
].join("|");
return new RegExp(pattern, onlyFirst ? void 0 : "g");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-ansi/6.0.1/b780933dd84d36bca6262271187fcc44f9d907bd6963c018f00a50a19cff84b3/node_modules/strip-ansi/index.js
var require_strip_ansi = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/strip-ansi/6.0.1/b780933dd84d36bca6262271187fcc44f9d907bd6963c018f00a50a19cff84b3/node_modules/strip-ansi/index.js"(exports2, module2) {
"use strict";
var ansiRegex2 = require_ansi_regex();
module2.exports = (string) => typeof string === "string" ? string.replace(ansiRegex2(), "") : string;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-fullwidth-code-point/3.0.0/11c9c3d8abab0e1aed5f8fc6ce215659a7fc48c19f1ce587eb54dc4e093b07f0/node_modules/is-fullwidth-code-point/index.js
var require_is_fullwidth_code_point = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-fullwidth-code-point/3.0.0/11c9c3d8abab0e1aed5f8fc6ce215659a7fc48c19f1ce587eb54dc4e093b07f0/node_modules/is-fullwidth-code-point/index.js"(exports2, module2) {
"use strict";
var isFullwidthCodePoint2 = (codePoint) => {
if (Number.isNaN(codePoint)) {
return false;
}
if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
// CJK Radicals Supplement .. Enclosed CJK Letters and Months
11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
131072 <= codePoint && codePoint <= 262141)) {
return true;
}
return false;
};
module2.exports = isFullwidthCodePoint2;
module2.exports.default = isFullwidthCodePoint2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/emoji-regex/8.0.0/40f3b57febcd8177353dcf953ef4a5dc6cd0ba03563cf9cd473d9f5a2d0dbebf/node_modules/emoji-regex/index.js
var require_emoji_regex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/emoji-regex/8.0.0/40f3b57febcd8177353dcf953ef4a5dc6cd0ba03563cf9cd473d9f5a2d0dbebf/node_modules/emoji-regex/index.js"(exports2, module2) {
"use strict";
module2.exports = function() {
return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/string-width/4.2.3/8a83f39756ea40270d3928824234b7d89d0dab6c62b7d51c8698d0396183bc30/node_modules/string-width/index.js
var require_string_width = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/string-width/4.2.3/8a83f39756ea40270d3928824234b7d89d0dab6c62b7d51c8698d0396183bc30/node_modules/string-width/index.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var isFullwidthCodePoint2 = require_is_fullwidth_code_point();
var emojiRegex = require_emoji_regex();
var stringWidth2 = (string) => {
if (typeof string !== "string" || string.length === 0) {
return 0;
}
string = stripAnsi4(string);
if (string.length === 0) {
return 0;
}
string = string.replace(emojiRegex(), " ");
let width = 0;
for (let i4 = 0; i4 < string.length; i4++) {
const code = string.codePointAt(i4);
if (code <= 31 || code >= 127 && code <= 159) {
continue;
}
if (code >= 768 && code <= 879) {
continue;
}
if (code > 65535) {
i4++;
}
width += isFullwidthCodePoint2(code) ? 2 : 1;
}
return width;
};
module2.exports = stringWidth2;
module2.exports.default = stringWidth2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/astral-regex/2.0.0/84572dd9a104efb84ce6eae0947f1c9b00623edc5ef16eebc54f2817c00c82e4/node_modules/astral-regex/index.js
var require_astral_regex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/astral-regex/2.0.0/84572dd9a104efb84ce6eae0947f1c9b00623edc5ef16eebc54f2817c00c82e4/node_modules/astral-regex/index.js"(exports2, module2) {
"use strict";
var regex2 = "[\uD800-\uDBFF][\uDC00-\uDFFF]";
var astralRegex = (options) => options && options.exact ? new RegExp(`^${regex2}$`) : new RegExp(regex2, "g");
module2.exports = astralRegex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/slice-ansi/4.0.0/6e081b863d4919c869de5c60f331162f5fab64b759c81c029f883af54c1f90d8/node_modules/slice-ansi/index.js
var require_slice_ansi = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/slice-ansi/4.0.0/6e081b863d4919c869de5c60f331162f5fab64b759c81c029f883af54c1f90d8/node_modules/slice-ansi/index.js"(exports2, module2) {
"use strict";
var isFullwidthCodePoint2 = require_is_fullwidth_code_point();
var astralRegex = require_astral_regex();
var ansiStyles3 = require_ansi_styles();
var ESCAPES2 = [
"\x1B",
"\x9B"
];
var wrapAnsi2 = (code) => `${ESCAPES2[0]}[${code}m`;
var checkAnsi = (ansiCodes, isEscapes, endAnsiCode) => {
let output = [];
ansiCodes = [...ansiCodes];
for (let ansiCode of ansiCodes) {
const ansiCodeOrigin = ansiCode;
if (ansiCode.includes(";")) {
ansiCode = ansiCode.split(";")[0][0] + "0";
}
const item = ansiStyles3.codes.get(Number.parseInt(ansiCode, 10));
if (item) {
const indexEscape = ansiCodes.indexOf(item.toString());
if (indexEscape === -1) {
output.push(wrapAnsi2(isEscapes ? item : ansiCodeOrigin));
} else {
ansiCodes.splice(indexEscape, 1);
}
} else if (isEscapes) {
output.push(wrapAnsi2(0));
break;
} else {
output.push(wrapAnsi2(ansiCodeOrigin));
}
}
if (isEscapes) {
output = output.filter((element, index2) => output.indexOf(element) === index2);
if (endAnsiCode !== void 0) {
const fistEscapeCode = wrapAnsi2(ansiStyles3.codes.get(Number.parseInt(endAnsiCode, 10)));
output = output.reduce((current, next2) => next2 === fistEscapeCode ? [next2, ...current] : [...current, next2], []);
}
}
return output.join("");
};
module2.exports = (string, begin, end) => {
const characters = [...string];
const ansiCodes = [];
let stringEnd = typeof end === "number" ? end : characters.length;
let isInsideEscape = false;
let ansiCode;
let visible = 0;
let output = "";
for (const [index2, character] of characters.entries()) {
let leftEscape = false;
if (ESCAPES2.includes(character)) {
const code = /\d[^m]*/.exec(string.slice(index2, index2 + 18));
ansiCode = code && code.length > 0 ? code[0] : void 0;
if (visible < stringEnd) {
isInsideEscape = true;
if (ansiCode !== void 0) {
ansiCodes.push(ansiCode);
}
}
} else if (isInsideEscape && character === "m") {
isInsideEscape = false;
leftEscape = true;
}
if (!isInsideEscape && !leftEscape) {
visible++;
}
if (!astralRegex({ exact: true }).test(character) && isFullwidthCodePoint2(character.codePointAt())) {
visible++;
if (typeof end !== "number") {
stringEnd++;
}
}
if (visible > begin && visible <= stringEnd) {
output += character;
} else if (visible === begin && !isInsideEscape && ansiCode !== void 0) {
output = checkAnsi(ansiCodes);
} else if (visible >= stringEnd) {
output += checkAnsi(ansiCodes, true, ansiCode);
break;
}
}
return output;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/getBorderCharacters.js
var require_getBorderCharacters = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/getBorderCharacters.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getBorderCharacters = void 0;
var getBorderCharacters4 = (name) => {
if (name === "honeywell") {
return {
topBody: "\u2550",
topJoin: "\u2564",
topLeft: "\u2554",
topRight: "\u2557",
bottomBody: "\u2550",
bottomJoin: "\u2567",
bottomLeft: "\u255A",
bottomRight: "\u255D",
bodyLeft: "\u2551",
bodyRight: "\u2551",
bodyJoin: "\u2502",
headerJoin: "\u252C",
joinBody: "\u2500",
joinLeft: "\u255F",
joinRight: "\u2562",
joinJoin: "\u253C",
joinMiddleDown: "\u252C",
joinMiddleUp: "\u2534",
joinMiddleLeft: "\u2524",
joinMiddleRight: "\u251C"
};
}
if (name === "norc") {
return {
topBody: "\u2500",
topJoin: "\u252C",
topLeft: "\u250C",
topRight: "\u2510",
bottomBody: "\u2500",
bottomJoin: "\u2534",
bottomLeft: "\u2514",
bottomRight: "\u2518",
bodyLeft: "\u2502",
bodyRight: "\u2502",
bodyJoin: "\u2502",
headerJoin: "\u252C",
joinBody: "\u2500",
joinLeft: "\u251C",
joinRight: "\u2524",
joinJoin: "\u253C",
joinMiddleDown: "\u252C",
joinMiddleUp: "\u2534",
joinMiddleLeft: "\u2524",
joinMiddleRight: "\u251C"
};
}
if (name === "ramac") {
return {
topBody: "-",
topJoin: "+",
topLeft: "+",
topRight: "+",
bottomBody: "-",
bottomJoin: "+",
bottomLeft: "+",
bottomRight: "+",
bodyLeft: "|",
bodyRight: "|",
bodyJoin: "|",
headerJoin: "+",
joinBody: "-",
joinLeft: "|",
joinRight: "|",
joinJoin: "|",
joinMiddleDown: "+",
joinMiddleUp: "+",
joinMiddleLeft: "+",
joinMiddleRight: "+"
};
}
if (name === "void") {
return {
topBody: "",
topJoin: "",
topLeft: "",
topRight: "",
bottomBody: "",
bottomJoin: "",
bottomLeft: "",
bottomRight: "",
bodyLeft: "",
bodyRight: "",
bodyJoin: "",
headerJoin: "",
joinBody: "",
joinLeft: "",
joinRight: "",
joinJoin: "",
joinMiddleDown: "",
joinMiddleUp: "",
joinMiddleLeft: "",
joinMiddleRight: ""
};
}
throw new Error('Unknown border template "' + name + '".');
};
exports2.getBorderCharacters = getBorderCharacters4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/utils.js
var require_utils12 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/utils.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi());
var string_width_1 = __importDefault2(require_string_width());
var strip_ansi_1 = __importDefault2(require_strip_ansi());
var getBorderCharacters_1 = require_getBorderCharacters();
var normalizeString2 = (input) => {
return input.replace(/\r\n/g, "\n");
};
exports2.normalizeString = normalizeString2;
var splitAnsi = (input) => {
const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default);
const result2 = [];
let startIndex = 0;
lengths.forEach((length) => {
result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length));
startIndex += length + 1;
});
return result2;
};
exports2.splitAnsi = splitAnsi;
var makeBorderConfig = (border) => {
return {
...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"),
...border
};
};
exports2.makeBorderConfig = makeBorderConfig;
var groupBySizes = (array, sizes) => {
let startIndex = 0;
return sizes.map((size) => {
const group = array.slice(startIndex, startIndex + size);
startIndex += size;
return group;
});
};
exports2.groupBySizes = groupBySizes;
var countSpaceSequence = (input) => {
var _a2, _b2;
return (_b2 = (_a2 = input.match(/\s+/g)) === null || _a2 === void 0 ? void 0 : _a2.length) !== null && _b2 !== void 0 ? _b2 : 0;
};
exports2.countSpaceSequence = countSpaceSequence;
var distributeUnevenly = (sum, length) => {
const result2 = Array.from({ length }).fill(Math.floor(sum / length));
return result2.map((element, index2) => {
return element + (index2 < sum % length ? 1 : 0);
});
};
exports2.distributeUnevenly = distributeUnevenly;
var sequence = (start, end) => {
return Array.from({ length: end - start + 1 }, (_, index2) => {
return index2 + start;
});
};
exports2.sequence = sequence;
var sumArray = (array) => {
return array.reduce((accumulator, element) => {
return accumulator + element;
}, 0);
};
exports2.sumArray = sumArray;
var extractTruncates = (config2) => {
return config2.columns.map(({ truncate }) => {
return truncate;
});
};
exports2.extractTruncates = extractTruncates;
var flatten2 = (array) => {
return [].concat(...array);
};
exports2.flatten = flatten2;
var calculateRangeCoordinate = (spanningCellConfig) => {
const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig;
return {
bottomRight: {
col: col + colSpan - 1,
row: row + rowSpan - 1
},
topLeft: {
col,
row
}
};
};
exports2.calculateRangeCoordinate = calculateRangeCoordinate;
var areCellEqual = (cell1, cell2) => {
return cell1.row === cell2.row && cell1.col === cell2.col;
};
exports2.areCellEqual = areCellEqual;
var isCellInRange = (cell, { topLeft, bottomRight }) => {
return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col;
};
exports2.isCellInRange = isCellInRange;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignString.js
var require_alignString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignString.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignString = void 0;
var string_width_1 = __importDefault2(require_string_width());
var utils_1 = require_utils12();
var alignLeft = (subject, width) => {
return subject + " ".repeat(width);
};
var alignRight = (subject, width) => {
return " ".repeat(width) + subject;
};
var alignCenter = (subject, width) => {
return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2));
};
var alignJustify = (subject, width) => {
const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject);
if (spaceSequenceCount === 0) {
return alignLeft(subject, width);
}
const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount);
if (Math.max(...addingSpaces) > 3) {
return alignLeft(subject, width);
}
let spaceSequenceIndex = 0;
return subject.replace(/\s+/g, (groupSpace) => {
return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]);
});
};
var alignString = (subject, containerWidth, alignment) => {
const subjectWidth = (0, string_width_1.default)(subject);
if (subjectWidth === containerWidth) {
return subject;
}
if (subjectWidth > containerWidth) {
throw new Error("Subject parameter value width cannot be greater than the container width.");
}
if (subjectWidth === 0) {
return " ".repeat(containerWidth);
}
const availableWidth = containerWidth - subjectWidth;
if (alignment === "left") {
return alignLeft(subject, availableWidth);
}
if (alignment === "right") {
return alignRight(subject, availableWidth);
}
if (alignment === "justify") {
return alignJustify(subject, availableWidth);
}
return alignCenter(subject, availableWidth);
};
exports2.alignString = alignString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignTableData.js
var require_alignTableData = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignTableData = void 0;
var alignString_1 = require_alignString();
var alignTableData = (rows, config2) => {
return rows.map((row, rowIndex) => {
return row.map((cell, cellIndex) => {
var _a2;
const { width, alignment } = config2.columns[cellIndex];
const containingRange = (_a2 = config2.spanningCellManager) === null || _a2 === void 0 ? void 0 : _a2.getContainingRange({
col: cellIndex,
row: rowIndex
}, { mapped: true });
if (containingRange) {
return cell;
}
return (0, alignString_1.alignString)(cell, width, alignment);
});
});
};
exports2.alignTableData = alignTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapString.js
var require_wrapString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapString.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapString = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi());
var string_width_1 = __importDefault2(require_string_width());
var wrapString = (subject, size) => {
let subjectSlice = subject;
const chunks = [];
do {
chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size));
subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim();
} while ((0, string_width_1.default)(subjectSlice));
return chunks;
};
exports2.wrapString = wrapString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapWord.js
var require_wrapWord = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapWord.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapWord = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi());
var strip_ansi_1 = __importDefault2(require_strip_ansi());
var calculateStringLengths = (input, size) => {
let subject = (0, strip_ansi_1.default)(input);
const chunks = [];
const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))");
do {
let chunk;
const match = re.exec(subject);
if (match) {
chunk = match[0];
subject = subject.slice(chunk.length);
const trimmedLength = chunk.trim().length;
const offset = chunk.length - trimmedLength;
chunks.push([trimmedLength, offset]);
} else {
chunk = subject.slice(0, size);
subject = subject.slice(size);
chunks.push([chunk.length, 0]);
}
} while (subject.length);
return chunks;
};
var wrapWord2 = (input, size) => {
const result2 = [];
let startIndex = 0;
calculateStringLengths(input, size).forEach(([length, offset]) => {
result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length));
startIndex += length + offset;
});
return result2;
};
exports2.wrapWord = wrapWord2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapCell.js
var require_wrapCell = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/wrapCell.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapCell = void 0;
var utils_1 = require_utils12();
var wrapString_1 = require_wrapString();
var wrapWord_1 = require_wrapWord();
var wrapCell = (cellValue, cellWidth, useWrapWord) => {
const cellLines = (0, utils_1.splitAnsi)(cellValue);
for (let lineNr = 0; lineNr < cellLines.length; ) {
let lineChunks;
if (useWrapWord) {
lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth);
} else {
lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth);
}
cellLines.splice(lineNr, 1, ...lineChunks);
lineNr += lineChunks.length;
}
return cellLines;
};
exports2.wrapCell = wrapCell;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateCellHeight.js
var require_calculateCellHeight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateCellHeight.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateCellHeight = void 0;
var wrapCell_1 = require_wrapCell();
var calculateCellHeight = (value, columnWidth, useWrapWord = false) => {
return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length;
};
exports2.calculateCellHeight = calculateCellHeight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateRowHeights.js
var require_calculateRowHeights = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateRowHeights.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateRowHeights = void 0;
var calculateCellHeight_1 = require_calculateCellHeight();
var utils_1 = require_utils12();
var calculateRowHeights = (rows, config2) => {
const rowHeights = [];
for (const [rowIndex, row] of rows.entries()) {
let rowHeight = 1;
row.forEach((cell, cellIndex) => {
var _a2;
const containingRange = (_a2 = config2.spanningCellManager) === null || _a2 === void 0 ? void 0 : _a2.getContainingRange({
col: cellIndex,
row: rowIndex
});
if (!containingRange) {
const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config2.columns[cellIndex].width, config2.columns[cellIndex].wrapWord);
rowHeight = Math.max(rowHeight, cellHeight);
return;
}
const { topLeft, bottomRight, height: height2 } = containingRange;
if (rowIndex === bottomRight.row) {
const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row));
const totalHorizontalBorderHeight = bottomRight.row - topLeft.row;
const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
var _a3;
return !((_a3 = config2.drawHorizontalLine) === null || _a3 === void 0 ? void 0 : _a3.call(config2, horizontalBorderIndex, rows.length));
}).length;
const cellHeight = height2 - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight;
rowHeight = Math.max(rowHeight, cellHeight);
}
});
rowHeights.push(rowHeight);
}
return rowHeights;
};
exports2.calculateRowHeights = calculateRowHeights;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawContent.js
var require_drawContent = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawContent.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawContent = void 0;
var drawContent = (parameters) => {
const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters;
const contentSize = contents.length;
const result2 = [];
if (drawSeparator(0, contentSize)) {
result2.push(separatorGetter(0, contentSize));
}
contents.forEach((content, contentIndex) => {
if (!elementType || elementType === "border" || elementType === "row") {
result2.push(content);
}
if (elementType === "cell" && rowIndex === void 0) {
result2.push(content);
}
if (elementType === "cell" && rowIndex !== void 0) {
const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({
col: contentIndex,
row: rowIndex
});
if (!containingRange || contentIndex === containingRange.topLeft.col) {
result2.push(content);
}
}
if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) {
const separator = separatorGetter(contentIndex + 1, contentSize);
if (elementType === "cell" && rowIndex !== void 0) {
const currentCell = {
col: contentIndex + 1,
row: rowIndex
};
const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange(currentCell);
if (!containingRange || containingRange.topLeft.col === currentCell.col) {
result2.push(separator);
}
} else {
result2.push(separator);
}
}
});
if (drawSeparator(contentSize, contentSize)) {
result2.push(separatorGetter(contentSize, contentSize));
}
return result2.join("");
};
exports2.drawContent = drawContent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawBorder.js
var require_drawBorder = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawBorder.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0;
var drawContent_1 = require_drawContent();
var drawBorderSegments = (columnWidths, parameters) => {
const { separator, horizontalBorderIndex, spanningCellManager } = parameters;
return columnWidths.map((columnWidth, columnIndex) => {
const normalSegment = separator.body.repeat(columnWidth);
if (horizontalBorderIndex === void 0) {
return normalSegment;
}
const range = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({
col: columnIndex,
row: horizontalBorderIndex
});
if (!range) {
return normalSegment;
}
const { topLeft } = range;
if (horizontalBorderIndex === topLeft.row) {
return normalSegment;
}
if (columnIndex !== topLeft.col) {
return "";
}
return range.extractBorderContent(horizontalBorderIndex);
});
};
exports2.drawBorderSegments = drawBorderSegments;
var createSeparatorGetter = (dependencies) => {
const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies;
return (verticalBorderIndex, columnCount) => {
const inSameRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.inSameRange;
if (horizontalBorderIndex !== void 0 && inSameRange) {
const topCell = {
col: verticalBorderIndex,
row: horizontalBorderIndex - 1
};
const leftCell = {
col: verticalBorderIndex - 1,
row: horizontalBorderIndex
};
const oppositeCell = {
col: verticalBorderIndex - 1,
row: horizontalBorderIndex - 1
};
const currentCell = {
col: verticalBorderIndex,
row: horizontalBorderIndex
};
const pairs2 = [
[oppositeCell, topCell],
[topCell, currentCell],
[currentCell, leftCell],
[leftCell, oppositeCell]
];
if (verticalBorderIndex === 0) {
if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) {
return separator.bodyJoinOuter;
}
return separator.left;
}
if (verticalBorderIndex === columnCount) {
if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) {
return separator.bodyJoinOuter;
}
return separator.right;
}
if (horizontalBorderIndex === 0) {
if (inSameRange(currentCell, leftCell)) {
return separator.body;
}
return separator.join;
}
if (horizontalBorderIndex === rowCount) {
if (inSameRange(topCell, oppositeCell)) {
return separator.body;
}
return separator.join;
}
const sameRangeCount = pairs2.map((pair) => {
return inSameRange(...pair);
}).filter(Boolean).length;
if (sameRangeCount === 0) {
return separator.join;
}
if (sameRangeCount === 4) {
return "";
}
if (sameRangeCount === 2) {
if (inSameRange(...pairs2[1]) && inSameRange(...pairs2[3]) && separator.bodyJoinInner) {
return separator.bodyJoinInner;
}
return separator.body;
}
if (sameRangeCount === 1) {
if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) {
throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`);
}
if (inSameRange(...pairs2[0])) {
return separator.joinDown;
}
if (inSameRange(...pairs2[1])) {
return separator.joinLeft;
}
if (inSameRange(...pairs2[2])) {
return separator.joinUp;
}
return separator.joinRight;
}
throw new Error("Invalid case");
}
if (verticalBorderIndex === 0) {
return separator.left;
}
if (verticalBorderIndex === columnCount) {
return separator.right;
}
return separator.join;
};
};
exports2.createSeparatorGetter = createSeparatorGetter;
var drawBorder = (columnWidths, parameters) => {
const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters);
const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters;
return (0, drawContent_1.drawContent)({
contents: borderSegments,
drawSeparator: drawVerticalLine,
elementType: "border",
rowIndex: horizontalBorderIndex,
separatorGetter: (0, exports2.createSeparatorGetter)(parameters),
spanningCellManager
}) + "\n";
};
exports2.drawBorder = drawBorder;
var drawBorderTop = (columnWidths, parameters) => {
const { border } = parameters;
const result2 = (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.topBody,
join: border.topJoin,
left: border.topLeft,
right: border.topRight
}
});
if (result2 === "\n") {
return "";
}
return result2;
};
exports2.drawBorderTop = drawBorderTop;
var drawBorderJoin = (columnWidths, parameters) => {
const { border } = parameters;
return (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.joinBody,
bodyJoinInner: border.bodyJoin,
bodyJoinOuter: border.bodyLeft,
join: border.joinJoin,
joinDown: border.joinMiddleDown,
joinLeft: border.joinMiddleLeft,
joinRight: border.joinMiddleRight,
joinUp: border.joinMiddleUp,
left: border.joinLeft,
right: border.joinRight
}
});
};
exports2.drawBorderJoin = drawBorderJoin;
var drawBorderBottom = (columnWidths, parameters) => {
const { border } = parameters;
return (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.bottomBody,
join: border.bottomJoin,
left: border.bottomLeft,
right: border.bottomRight
}
});
};
exports2.drawBorderBottom = drawBorderBottom;
var createTableBorderGetter = (columnWidths, parameters) => {
return (index2, size) => {
const drawBorderParameters = {
...parameters,
horizontalBorderIndex: index2
};
if (index2 === 0) {
return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters);
} else if (index2 === size) {
return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters);
}
return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters);
};
};
exports2.createTableBorderGetter = createTableBorderGetter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawRow.js
var require_drawRow = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawRow.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawRow = void 0;
var drawContent_1 = require_drawContent();
var drawRow = (row, config2) => {
const { border, drawVerticalLine, rowIndex, spanningCellManager } = config2;
return (0, drawContent_1.drawContent)({
contents: row,
drawSeparator: drawVerticalLine,
elementType: "cell",
rowIndex,
separatorGetter: (index2, columnCount) => {
if (index2 === 0) {
return border.bodyLeft;
}
if (index2 === columnCount) {
return border.bodyRight;
}
return border.bodyJoin;
},
spanningCellManager
}) + "\n";
};
exports2.drawRow = drawRow;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ajv/8.20.0/02fd403968aa792ee7b198db1d75ebe9986a7864460b41eaf2e503e1bb46a473/node_modules/ajv/dist/runtime/equal.js
var require_equal = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ajv/8.20.0/02fd403968aa792ee7b198db1d75ebe9986a7864460b41eaf2e503e1bb46a473/node_modules/ajv/dist/runtime/equal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var equal2 = require_fast_deep_equal();
equal2.code = 'require("ajv/dist/runtime/equal").default';
exports2.default = equal2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/generated/validators.js
var require_validators = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/generated/validators.js"(exports2) {
"use strict";
exports2["config.json"] = validate43;
var schema13 = {
"$id": "config.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"border": {
"$ref": "shared.json#/definitions/borders"
},
"header": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"alignment": {
"$ref": "shared.json#/definitions/alignment"
},
"wrapWord": {
"type": "boolean"
},
"truncate": {
"type": "integer"
},
"paddingLeft": {
"type": "integer"
},
"paddingRight": {
"type": "integer"
}
},
"required": ["content"],
"additionalProperties": false
},
"columns": {
"$ref": "shared.json#/definitions/columns"
},
"columnDefault": {
"$ref": "shared.json#/definitions/column"
},
"drawVerticalLine": {
"typeof": "function"
},
"drawHorizontalLine": {
"typeof": "function"
},
"singleLine": {
"typeof": "boolean"
},
"spanningCells": {
"type": "array",
"items": {
"type": "object",
"properties": {
"col": {
"type": "integer",
"minimum": 0
},
"row": {
"type": "integer",
"minimum": 0
},
"colSpan": {
"type": "integer",
"minimum": 1
},
"rowSpan": {
"type": "integer",
"minimum": 1
},
"alignment": {
"$ref": "shared.json#/definitions/alignment"
},
"verticalAlignment": {
"$ref": "shared.json#/definitions/verticalAlignment"
},
"wrapWord": {
"type": "boolean"
},
"truncate": {
"type": "integer"
},
"paddingLeft": {
"type": "integer"
},
"paddingRight": {
"type": "integer"
}
},
"required": ["row", "col"],
"additionalProperties": false
}
}
},
"additionalProperties": false
};
var schema15 = {
"type": "object",
"properties": {
"topBody": {
"$ref": "#/definitions/border"
},
"topJoin": {
"$ref": "#/definitions/border"
},
"topLeft": {
"$ref": "#/definitions/border"
},
"topRight": {
"$ref": "#/definitions/border"
},
"bottomBody": {
"$ref": "#/definitions/border"
},
"bottomJoin": {
"$ref": "#/definitions/border"
},
"bottomLeft": {
"$ref": "#/definitions/border"
},
"bottomRight": {
"$ref": "#/definitions/border"
},
"bodyLeft": {
"$ref": "#/definitions/border"
},
"bodyRight": {
"$ref": "#/definitions/border"
},
"bodyJoin": {
"$ref": "#/definitions/border"
},
"headerJoin": {
"$ref": "#/definitions/border"
},
"joinBody": {
"$ref": "#/definitions/border"
},
"joinLeft": {
"$ref": "#/definitions/border"
},
"joinRight": {
"$ref": "#/definitions/border"
},
"joinJoin": {
"$ref": "#/definitions/border"
},
"joinMiddleUp": {
"$ref": "#/definitions/border"
},
"joinMiddleDown": {
"$ref": "#/definitions/border"
},
"joinMiddleLeft": {
"$ref": "#/definitions/border"
},
"joinMiddleRight": {
"$ref": "#/definitions/border"
}
},
"additionalProperties": false
};
var func8 = Object.prototype.hasOwnProperty;
function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
validate46.errors = vErrors;
return errors2 === 0;
}
function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!func8.call(schema15.properties, key0)) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.topBody !== void 0) {
if (!validate46(data.topBody, {
instancePath: instancePath + "/topBody",
parentData: data,
parentDataProperty: "topBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topJoin !== void 0) {
if (!validate46(data.topJoin, {
instancePath: instancePath + "/topJoin",
parentData: data,
parentDataProperty: "topJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topLeft !== void 0) {
if (!validate46(data.topLeft, {
instancePath: instancePath + "/topLeft",
parentData: data,
parentDataProperty: "topLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topRight !== void 0) {
if (!validate46(data.topRight, {
instancePath: instancePath + "/topRight",
parentData: data,
parentDataProperty: "topRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomBody !== void 0) {
if (!validate46(data.bottomBody, {
instancePath: instancePath + "/bottomBody",
parentData: data,
parentDataProperty: "bottomBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomJoin !== void 0) {
if (!validate46(data.bottomJoin, {
instancePath: instancePath + "/bottomJoin",
parentData: data,
parentDataProperty: "bottomJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomLeft !== void 0) {
if (!validate46(data.bottomLeft, {
instancePath: instancePath + "/bottomLeft",
parentData: data,
parentDataProperty: "bottomLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomRight !== void 0) {
if (!validate46(data.bottomRight, {
instancePath: instancePath + "/bottomRight",
parentData: data,
parentDataProperty: "bottomRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyLeft !== void 0) {
if (!validate46(data.bodyLeft, {
instancePath: instancePath + "/bodyLeft",
parentData: data,
parentDataProperty: "bodyLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyRight !== void 0) {
if (!validate46(data.bodyRight, {
instancePath: instancePath + "/bodyRight",
parentData: data,
parentDataProperty: "bodyRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyJoin !== void 0) {
if (!validate46(data.bodyJoin, {
instancePath: instancePath + "/bodyJoin",
parentData: data,
parentDataProperty: "bodyJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.headerJoin !== void 0) {
if (!validate46(data.headerJoin, {
instancePath: instancePath + "/headerJoin",
parentData: data,
parentDataProperty: "headerJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinBody !== void 0) {
if (!validate46(data.joinBody, {
instancePath: instancePath + "/joinBody",
parentData: data,
parentDataProperty: "joinBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinLeft !== void 0) {
if (!validate46(data.joinLeft, {
instancePath: instancePath + "/joinLeft",
parentData: data,
parentDataProperty: "joinLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinRight !== void 0) {
if (!validate46(data.joinRight, {
instancePath: instancePath + "/joinRight",
parentData: data,
parentDataProperty: "joinRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinJoin !== void 0) {
if (!validate46(data.joinJoin, {
instancePath: instancePath + "/joinJoin",
parentData: data,
parentDataProperty: "joinJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleUp !== void 0) {
if (!validate46(data.joinMiddleUp, {
instancePath: instancePath + "/joinMiddleUp",
parentData: data,
parentDataProperty: "joinMiddleUp",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleDown !== void 0) {
if (!validate46(data.joinMiddleDown, {
instancePath: instancePath + "/joinMiddleDown",
parentData: data,
parentDataProperty: "joinMiddleDown",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleLeft !== void 0) {
if (!validate46(data.joinMiddleLeft, {
instancePath: instancePath + "/joinMiddleLeft",
parentData: data,
parentDataProperty: "joinMiddleLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleRight !== void 0) {
if (!validate46(data.joinMiddleRight, {
instancePath: instancePath + "/joinMiddleRight",
parentData: data,
parentDataProperty: "joinMiddleRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate45.errors = vErrors;
return errors2 === 0;
}
var schema17 = {
"type": "string",
"enum": ["left", "right", "center", "justify"]
};
var func0 = require_equal().default;
function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema17.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate68.errors = vErrors;
return errors2 === 0;
}
var pattern0 = new RegExp("^[0-9]+$", "u");
function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema17.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate72.errors = vErrors;
return errors2 === 0;
}
var schema21 = {
"type": "string",
"enum": ["top", "middle", "bottom"]
};
function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "top" || data === "middle" || data === "bottom")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema21.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate74.errors = vErrors;
return errors2 === 0;
}
function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate71.errors = vErrors;
return errors2 === 0;
}
function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
const _errs0 = errors2;
let valid0 = false;
let passing0 = null;
const _errs1 = errors2;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!pattern0.test(key0)) {
const err0 = {
instancePath,
schemaPath: "#/oneOf/0/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
for (const key1 in data) {
if (pattern0.test(key1)) {
if (!validate71(data[key1], {
instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
parentData: data,
parentDataProperty: key1,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/oneOf/0/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
var _valid0 = _errs1 === errors2;
if (_valid0) {
valid0 = true;
passing0 = 0;
}
const _errs5 = errors2;
if (Array.isArray(data)) {
const len0 = data.length;
for (let i0 = 0; i0 < len0; i0++) {
if (!validate71(data[i0], {
instancePath: instancePath + "/" + i0,
parentData: data,
parentDataProperty: i0,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
} else {
const err2 = {
instancePath,
schemaPath: "#/oneOf/1/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
var _valid0 = _errs5 === errors2;
if (_valid0 && valid0) {
valid0 = false;
passing0 = [passing0, 1];
} else {
if (_valid0) {
valid0 = true;
passing0 = 1;
}
}
if (!valid0) {
const err3 = {
instancePath,
schemaPath: "#/oneOf",
keyword: "oneOf",
params: {
passingSchemas: passing0
},
message: "must match exactly one schema in oneOf"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
} else {
errors2 = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
} else {
vErrors = null;
}
}
}
validate70.errors = vErrors;
return errors2 === 0;
}
function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate79.errors = vErrors;
return errors2 === 0;
}
function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "top" || data === "middle" || data === "bottom")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema21.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate84.errors = vErrors;
return errors2 === 0;
}
function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
;
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.border !== void 0) {
if (!validate45(data.border, {
instancePath: instancePath + "/border",
parentData: data,
parentDataProperty: "border",
rootData
})) {
vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);
errors2 = vErrors.length;
}
}
if (data.header !== void 0) {
let data1 = data.header;
if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
if (data1.content === void 0) {
const err1 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/required",
keyword: "required",
params: {
missingProperty: "content"
},
message: "must have required property 'content'"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
for (const key1 in data1) {
if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) {
const err2 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key1
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
if (data1.content !== void 0) {
if (typeof data1.content !== "string") {
const err3 = {
instancePath: instancePath + "/header/content",
schemaPath: "#/properties/header/properties/content/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data1.alignment !== void 0) {
if (!validate68(data1.alignment, {
instancePath: instancePath + "/header/alignment",
parentData: data1,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
errors2 = vErrors.length;
}
}
if (data1.wrapWord !== void 0) {
if (typeof data1.wrapWord !== "boolean") {
const err4 = {
instancePath: instancePath + "/header/wrapWord",
schemaPath: "#/properties/header/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data1.truncate !== void 0) {
let data5 = data1.truncate;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/header/truncate",
schemaPath: "#/properties/header/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data1.paddingLeft !== void 0) {
let data6 = data1.paddingLeft;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/header/paddingLeft",
schemaPath: "#/properties/header/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
if (data1.paddingRight !== void 0) {
let data7 = data1.paddingRight;
if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) {
const err7 = {
instancePath: instancePath + "/header/paddingRight",
schemaPath: "#/properties/header/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
}
} else {
const err8 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err8];
} else {
vErrors.push(err8);
}
errors2++;
}
}
if (data.columns !== void 0) {
if (!validate70(data.columns, {
instancePath: instancePath + "/columns",
parentData: data,
parentDataProperty: "columns",
rootData
})) {
vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors);
errors2 = vErrors.length;
}
}
if (data.columnDefault !== void 0) {
if (!validate79(data.columnDefault, {
instancePath: instancePath + "/columnDefault",
parentData: data,
parentDataProperty: "columnDefault",
rootData
})) {
vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);
errors2 = vErrors.length;
}
}
if (data.drawVerticalLine !== void 0) {
if (typeof data.drawVerticalLine != "function") {
const err9 = {
instancePath: instancePath + "/drawVerticalLine",
schemaPath: "#/properties/drawVerticalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err9];
} else {
vErrors.push(err9);
}
errors2++;
}
}
if (data.drawHorizontalLine !== void 0) {
if (typeof data.drawHorizontalLine != "function") {
const err10 = {
instancePath: instancePath + "/drawHorizontalLine",
schemaPath: "#/properties/drawHorizontalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err10];
} else {
vErrors.push(err10);
}
errors2++;
}
}
if (data.singleLine !== void 0) {
if (typeof data.singleLine != "boolean") {
const err11 = {
instancePath: instancePath + "/singleLine",
schemaPath: "#/properties/singleLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err11];
} else {
vErrors.push(err11);
}
errors2++;
}
}
if (data.spanningCells !== void 0) {
let data13 = data.spanningCells;
if (Array.isArray(data13)) {
const len0 = data13.length;
for (let i0 = 0; i0 < len0; i0++) {
let data14 = data13[i0];
if (data14 && typeof data14 == "object" && !Array.isArray(data14)) {
if (data14.row === void 0) {
const err12 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/required",
keyword: "required",
params: {
missingProperty: "row"
},
message: "must have required property 'row'"
};
if (vErrors === null) {
vErrors = [err12];
} else {
vErrors.push(err12);
}
errors2++;
}
if (data14.col === void 0) {
const err13 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/required",
keyword: "required",
params: {
missingProperty: "col"
},
message: "must have required property 'col'"
};
if (vErrors === null) {
vErrors = [err13];
} else {
vErrors.push(err13);
}
errors2++;
}
for (const key2 in data14) {
if (!func8.call(schema13.properties.spanningCells.items.properties, key2)) {
const err14 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key2
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err14];
} else {
vErrors.push(err14);
}
errors2++;
}
}
if (data14.col !== void 0) {
let data15 = data14.col;
if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) {
const err15 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/col",
schemaPath: "#/properties/spanningCells/items/properties/col/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err15];
} else {
vErrors.push(err15);
}
errors2++;
}
if (typeof data15 == "number" && isFinite(data15)) {
if (data15 < 0 || isNaN(data15)) {
const err16 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/col",
schemaPath: "#/properties/spanningCells/items/properties/col/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 0
},
message: "must be >= 0"
};
if (vErrors === null) {
vErrors = [err16];
} else {
vErrors.push(err16);
}
errors2++;
}
}
}
if (data14.row !== void 0) {
let data16 = data14.row;
if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) {
const err17 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/row",
schemaPath: "#/properties/spanningCells/items/properties/row/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err17];
} else {
vErrors.push(err17);
}
errors2++;
}
if (typeof data16 == "number" && isFinite(data16)) {
if (data16 < 0 || isNaN(data16)) {
const err18 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/row",
schemaPath: "#/properties/spanningCells/items/properties/row/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 0
},
message: "must be >= 0"
};
if (vErrors === null) {
vErrors = [err18];
} else {
vErrors.push(err18);
}
errors2++;
}
}
}
if (data14.colSpan !== void 0) {
let data17 = data14.colSpan;
if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) {
const err19 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
schemaPath: "#/properties/spanningCells/items/properties/colSpan/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err19];
} else {
vErrors.push(err19);
}
errors2++;
}
if (typeof data17 == "number" && isFinite(data17)) {
if (data17 < 1 || isNaN(data17)) {
const err20 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err20];
} else {
vErrors.push(err20);
}
errors2++;
}
}
}
if (data14.rowSpan !== void 0) {
let data18 = data14.rowSpan;
if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) {
const err21 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err21];
} else {
vErrors.push(err21);
}
errors2++;
}
if (typeof data18 == "number" && isFinite(data18)) {
if (data18 < 1 || isNaN(data18)) {
const err22 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err22];
} else {
vErrors.push(err22);
}
errors2++;
}
}
}
if (data14.alignment !== void 0) {
if (!validate68(data14.alignment, {
instancePath: instancePath + "/spanningCells/" + i0 + "/alignment",
parentData: data14,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
errors2 = vErrors.length;
}
}
if (data14.verticalAlignment !== void 0) {
if (!validate84(data14.verticalAlignment, {
instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment",
parentData: data14,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors);
errors2 = vErrors.length;
}
}
if (data14.wrapWord !== void 0) {
if (typeof data14.wrapWord !== "boolean") {
const err23 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord",
schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err23];
} else {
vErrors.push(err23);
}
errors2++;
}
}
if (data14.truncate !== void 0) {
let data22 = data14.truncate;
if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) {
const err24 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/truncate",
schemaPath: "#/properties/spanningCells/items/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err24];
} else {
vErrors.push(err24);
}
errors2++;
}
}
if (data14.paddingLeft !== void 0) {
let data23 = data14.paddingLeft;
if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) {
const err25 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft",
schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err25];
} else {
vErrors.push(err25);
}
errors2++;
}
}
if (data14.paddingRight !== void 0) {
let data24 = data14.paddingRight;
if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) {
const err26 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight",
schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err26];
} else {
vErrors.push(err26);
}
errors2++;
}
}
} else {
const err27 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err27];
} else {
vErrors.push(err27);
}
errors2++;
}
}
} else {
const err28 = {
instancePath: instancePath + "/spanningCells",
schemaPath: "#/properties/spanningCells/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err28];
} else {
vErrors.push(err28);
}
errors2++;
}
}
} else {
const err29 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err29];
} else {
vErrors.push(err29);
}
errors2++;
}
validate43.errors = vErrors;
return errors2 === 0;
}
exports2["streamConfig.json"] = validate86;
function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!func8.call(schema15.properties, key0)) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.topBody !== void 0) {
if (!validate46(data.topBody, {
instancePath: instancePath + "/topBody",
parentData: data,
parentDataProperty: "topBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topJoin !== void 0) {
if (!validate46(data.topJoin, {
instancePath: instancePath + "/topJoin",
parentData: data,
parentDataProperty: "topJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topLeft !== void 0) {
if (!validate46(data.topLeft, {
instancePath: instancePath + "/topLeft",
parentData: data,
parentDataProperty: "topLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topRight !== void 0) {
if (!validate46(data.topRight, {
instancePath: instancePath + "/topRight",
parentData: data,
parentDataProperty: "topRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomBody !== void 0) {
if (!validate46(data.bottomBody, {
instancePath: instancePath + "/bottomBody",
parentData: data,
parentDataProperty: "bottomBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomJoin !== void 0) {
if (!validate46(data.bottomJoin, {
instancePath: instancePath + "/bottomJoin",
parentData: data,
parentDataProperty: "bottomJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomLeft !== void 0) {
if (!validate46(data.bottomLeft, {
instancePath: instancePath + "/bottomLeft",
parentData: data,
parentDataProperty: "bottomLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomRight !== void 0) {
if (!validate46(data.bottomRight, {
instancePath: instancePath + "/bottomRight",
parentData: data,
parentDataProperty: "bottomRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyLeft !== void 0) {
if (!validate46(data.bodyLeft, {
instancePath: instancePath + "/bodyLeft",
parentData: data,
parentDataProperty: "bodyLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyRight !== void 0) {
if (!validate46(data.bodyRight, {
instancePath: instancePath + "/bodyRight",
parentData: data,
parentDataProperty: "bodyRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyJoin !== void 0) {
if (!validate46(data.bodyJoin, {
instancePath: instancePath + "/bodyJoin",
parentData: data,
parentDataProperty: "bodyJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.headerJoin !== void 0) {
if (!validate46(data.headerJoin, {
instancePath: instancePath + "/headerJoin",
parentData: data,
parentDataProperty: "headerJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinBody !== void 0) {
if (!validate46(data.joinBody, {
instancePath: instancePath + "/joinBody",
parentData: data,
parentDataProperty: "joinBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinLeft !== void 0) {
if (!validate46(data.joinLeft, {
instancePath: instancePath + "/joinLeft",
parentData: data,
parentDataProperty: "joinLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinRight !== void 0) {
if (!validate46(data.joinRight, {
instancePath: instancePath + "/joinRight",
parentData: data,
parentDataProperty: "joinRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinJoin !== void 0) {
if (!validate46(data.joinJoin, {
instancePath: instancePath + "/joinJoin",
parentData: data,
parentDataProperty: "joinJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleUp !== void 0) {
if (!validate46(data.joinMiddleUp, {
instancePath: instancePath + "/joinMiddleUp",
parentData: data,
parentDataProperty: "joinMiddleUp",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleDown !== void 0) {
if (!validate46(data.joinMiddleDown, {
instancePath: instancePath + "/joinMiddleDown",
parentData: data,
parentDataProperty: "joinMiddleDown",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleLeft !== void 0) {
if (!validate46(data.joinMiddleLeft, {
instancePath: instancePath + "/joinMiddleLeft",
parentData: data,
parentDataProperty: "joinMiddleLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleRight !== void 0) {
if (!validate46(data.joinMiddleRight, {
instancePath: instancePath + "/joinMiddleRight",
parentData: data,
parentDataProperty: "joinMiddleRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate87.errors = vErrors;
return errors2 === 0;
}
function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
const _errs0 = errors2;
let valid0 = false;
let passing0 = null;
const _errs1 = errors2;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!pattern0.test(key0)) {
const err0 = {
instancePath,
schemaPath: "#/oneOf/0/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
for (const key1 in data) {
if (pattern0.test(key1)) {
if (!validate71(data[key1], {
instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
parentData: data,
parentDataProperty: key1,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/oneOf/0/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
var _valid0 = _errs1 === errors2;
if (_valid0) {
valid0 = true;
passing0 = 0;
}
const _errs5 = errors2;
if (Array.isArray(data)) {
const len0 = data.length;
for (let i0 = 0; i0 < len0; i0++) {
if (!validate71(data[i0], {
instancePath: instancePath + "/" + i0,
parentData: data,
parentDataProperty: i0,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
} else {
const err2 = {
instancePath,
schemaPath: "#/oneOf/1/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
var _valid0 = _errs5 === errors2;
if (_valid0 && valid0) {
valid0 = false;
passing0 = [passing0, 1];
} else {
if (_valid0) {
valid0 = true;
passing0 = 1;
}
}
if (!valid0) {
const err3 = {
instancePath,
schemaPath: "#/oneOf",
keyword: "oneOf",
params: {
passingSchemas: passing0
},
message: "must match exactly one schema in oneOf"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
} else {
errors2 = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
} else {
vErrors = null;
}
}
}
validate109.errors = vErrors;
return errors2 === 0;
}
function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate113.errors = vErrors;
return errors2 === 0;
}
function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
;
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
if (data.columnDefault === void 0) {
const err0 = {
instancePath,
schemaPath: "#/required",
keyword: "required",
params: {
missingProperty: "columnDefault"
},
message: "must have required property 'columnDefault'"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (data.columnCount === void 0) {
const err1 = {
instancePath,
schemaPath: "#/required",
keyword: "required",
params: {
missingProperty: "columnCount"
},
message: "must have required property 'columnCount'"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
for (const key0 in data) {
if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) {
const err2 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
if (data.border !== void 0) {
if (!validate87(data.border, {
instancePath: instancePath + "/border",
parentData: data,
parentDataProperty: "border",
rootData
})) {
vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors);
errors2 = vErrors.length;
}
}
if (data.columns !== void 0) {
if (!validate109(data.columns, {
instancePath: instancePath + "/columns",
parentData: data,
parentDataProperty: "columns",
rootData
})) {
vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors);
errors2 = vErrors.length;
}
}
if (data.columnDefault !== void 0) {
if (!validate113(data.columnDefault, {
instancePath: instancePath + "/columnDefault",
parentData: data,
parentDataProperty: "columnDefault",
rootData
})) {
vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors);
errors2 = vErrors.length;
}
}
if (data.columnCount !== void 0) {
let data3 = data.columnCount;
if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) {
const err3 = {
instancePath: instancePath + "/columnCount",
schemaPath: "#/properties/columnCount/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
if (typeof data3 == "number" && isFinite(data3)) {
if (data3 < 1 || isNaN(data3)) {
const err4 = {
instancePath: instancePath + "/columnCount",
schemaPath: "#/properties/columnCount/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
}
if (data.drawVerticalLine !== void 0) {
if (typeof data.drawVerticalLine != "function") {
const err5 = {
instancePath: instancePath + "/drawVerticalLine",
schemaPath: "#/properties/drawVerticalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
} else {
const err6 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
validate86.errors = vErrors;
return errors2 === 0;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateConfig.js
var require_validateConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateConfig.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateConfig = void 0;
var validators_1 = __importDefault2(require_validators());
var validateConfig = (schemaId, config2) => {
const validate2 = validators_1.default[schemaId];
if (!validate2(config2) && validate2.errors) {
const errors2 = validate2.errors.map((error) => {
return {
message: error.message,
params: error.params,
schemaPath: error.schemaPath
};
});
console.log("config", config2);
console.log("errors", errors2);
throw new Error("Invalid config.");
}
};
exports2.validateConfig = validateConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeStreamConfig.js
var require_makeStreamConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeStreamConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeStreamConfig = void 0;
var utils_1 = require_utils12();
var validateConfig_1 = require_validateConfig();
var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => {
return Array.from({ length: columnCount }).map((_, index2) => {
return {
alignment: "left",
paddingLeft: 1,
paddingRight: 1,
truncate: Number.POSITIVE_INFINITY,
verticalAlignment: "top",
wrapWord: false,
...columnDefault,
...columns[index2]
};
});
};
var makeStreamConfig = (config2) => {
(0, validateConfig_1.validateConfig)("streamConfig.json", config2);
if (config2.columnDefault.width === void 0) {
throw new Error("Must provide config.columnDefault.width when creating a stream.");
}
return {
drawVerticalLine: () => {
return true;
},
...config2,
border: (0, utils_1.makeBorderConfig)(config2.border),
columns: makeColumnsConfig(config2.columnCount, config2.columns, config2.columnDefault)
};
};
exports2.makeStreamConfig = makeStreamConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/mapDataUsingRowHeights.js
var require_mapDataUsingRowHeights = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/mapDataUsingRowHeights.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0;
var utils_1 = require_utils12();
var wrapCell_1 = require_wrapCell();
var createEmptyStrings = (length) => {
return new Array(length).fill("");
};
var padCellVertically = (lines, rowHeight, verticalAlignment) => {
const availableLines = rowHeight - lines.length;
if (verticalAlignment === "top") {
return [...lines, ...createEmptyStrings(availableLines)];
}
if (verticalAlignment === "bottom") {
return [...createEmptyStrings(availableLines), ...lines];
}
return [
...createEmptyStrings(Math.floor(availableLines / 2)),
...lines,
...createEmptyStrings(Math.ceil(availableLines / 2))
];
};
exports2.padCellVertically = padCellVertically;
var mapDataUsingRowHeights = (unmappedRows, rowHeights, config2) => {
const nColumns = unmappedRows[0].length;
const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => {
const outputRowHeight = rowHeights[unmappedRowIndex];
const outputRow = Array.from({ length: outputRowHeight }, () => {
return new Array(nColumns).fill("");
});
unmappedRow.forEach((cell, cellIndex) => {
var _a2;
const containingRange = (_a2 = config2.spanningCellManager) === null || _a2 === void 0 ? void 0 : _a2.getContainingRange({
col: cellIndex,
row: unmappedRowIndex
});
if (containingRange) {
containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => {
outputRow[cellLineIndex][cellIndex] = cellLine;
});
return;
}
const cellLines = (0, wrapCell_1.wrapCell)(cell, config2.columns[cellIndex].width, config2.columns[cellIndex].wrapWord);
const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config2.columns[cellIndex].verticalAlignment);
paddedCellLines.forEach((cellLine, cellLineIndex) => {
outputRow[cellLineIndex][cellIndex] = cellLine;
});
});
return outputRow;
});
return (0, utils_1.flatten)(mappedRows);
};
exports2.mapDataUsingRowHeights = mapDataUsingRowHeights;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/padTableData.js
var require_padTableData = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/padTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.padTableData = exports2.padString = void 0;
var padString = (input, paddingLeft, paddingRight) => {
return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight);
};
exports2.padString = padString;
var padTableData = (rows, config2) => {
return rows.map((cells, rowIndex) => {
return cells.map((cell, cellIndex) => {
var _a2;
const containingRange = (_a2 = config2.spanningCellManager) === null || _a2 === void 0 ? void 0 : _a2.getContainingRange({
col: cellIndex,
row: rowIndex
}, { mapped: true });
if (containingRange) {
return cell;
}
const { paddingLeft, paddingRight } = config2.columns[cellIndex];
return (0, exports2.padString)(cell, paddingLeft, paddingRight);
});
});
};
exports2.padTableData = padTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/stringifyTableData.js
var require_stringifyTableData = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/stringifyTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.stringifyTableData = void 0;
var utils_1 = require_utils12();
var stringifyTableData = (rows) => {
return rows.map((cells) => {
return cells.map((cell) => {
return (0, utils_1.normalizeString)(String(cell));
});
});
};
exports2.stringifyTableData = stringifyTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.truncate/4.4.2/5be401af008ba6ee54f536d112893474ce418e03c4ac7aa27684595e7649a180/node_modules/lodash.truncate/index.js
var require_lodash3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/lodash.truncate/4.4.2/5be401af008ba6ee54f536d112893474ce418e03c4ac7aa27684595e7649a180/node_modules/lodash.truncate/index.js"(exports2, module2) {
var DEFAULT_TRUNC_LENGTH = 30;
var DEFAULT_TRUNC_OMISSION = "...";
var INFINITY = 1 / 0;
var MAX_INTEGER = 17976931348623157e292;
var NAN = 0 / 0;
var regexpTag = "[object RegExp]";
var symbolTag = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reFlags = /\w*$/;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var rsAstralRange = "\\ud800-\\udfff";
var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23";
var rsComboSymbolsRange = "\\u20d0-\\u20f0";
var rsVarRange = "\\ufe0e\\ufe0f";
var rsAstral = "[" + rsAstralRange + "]";
var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]";
var rsFitz = "\\ud83c[\\udffb-\\udfff]";
var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
var rsNonAstral = "[^" + rsAstralRange + "]";
var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
var rsZWJ = "\\u200d";
var reOptMod = rsModifier + "?";
var rsOptVar = "[" + rsVarRange + "]?";
var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
var rsSeq = rsOptVar + reOptMod + rsOptJoin;
var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + "]");
var freeParseInt = parseInt;
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
var moduleExports = freeModule && freeModule.exports === freeExports;
var freeProcess = moduleExports && freeGlobal.process;
var nodeUtil = (function() {
try {
return freeProcess && freeProcess.binding("util");
} catch (e) {
}
})();
var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;
var asciiSize = baseProperty("length");
function asciiToArray(string) {
return string.split("");
}
function baseProperty(key) {
return function(object) {
return object == null ? void 0 : object[key];
};
}
function baseUnary(func) {
return function(value) {
return func(value);
};
}
function hasUnicode(string) {
return reHasUnicode.test(string);
}
function stringSize(string) {
return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
}
function stringToArray(string) {
return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
}
function unicodeSize(string) {
var result2 = reUnicode.lastIndex = 0;
while (reUnicode.test(string)) {
result2++;
}
return result2;
}
function unicodeToArray(string) {
return string.match(reUnicode) || [];
}
var objectProto = Object.prototype;
var objectToString3 = objectProto.toString;
var Symbol2 = root.Symbol;
var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
var symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseIsRegExp(value) {
return isObject4(value) && objectToString3.call(value) == regexpTag;
}
function baseSlice(array, start, end) {
var index2 = -1, length = array.length;
if (start < 0) {
start = -start > length ? 0 : length + start;
}
end = end > length ? length : end;
if (end < 0) {
end += length;
}
length = start > end ? 0 : end - start >>> 0;
start >>>= 0;
var result2 = Array(length);
while (++index2 < length) {
result2[index2] = array[index2 + start];
}
return result2;
}
function baseToString(value) {
if (typeof value == "string") {
return value;
}
if (isSymbol(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result2 = value + "";
return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
}
function castSlice(array, start, end) {
var length = array.length;
end = end === void 0 ? length : end;
return !start && end >= length ? array : baseSlice(array, start, end);
}
function isObject4(value) {
var type4 = typeof value;
return !!value && (type4 == "object" || type4 == "function");
}
function isObjectLike(value) {
return !!value && typeof value == "object";
}
var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && objectToString3.call(value) == symbolTag;
}
function toFinite(value) {
if (!value) {
return value === 0 ? value : 0;
}
value = toNumber(value);
if (value === INFINITY || value === -INFINITY) {
var sign = value < 0 ? -1 : 1;
return sign * MAX_INTEGER;
}
return value === value ? value : 0;
}
function toInteger(value) {
var result2 = toFinite(value), remainder = result2 % 1;
return result2 === result2 ? remainder ? result2 - remainder : result2 : 0;
}
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol(value)) {
return NAN;
}
if (isObject4(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject4(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary2 = reIsBinary.test(value);
return isBinary2 || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary2 ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
function toString4(value) {
return value == null ? "" : baseToString(value);
}
function truncate(string, options) {
var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
if (isObject4(options)) {
var separator = "separator" in options ? options.separator : separator;
length = "length" in options ? toInteger(options.length) : length;
omission = "omission" in options ? baseToString(options.omission) : omission;
}
string = toString4(string);
var strLength = string.length;
if (hasUnicode(string)) {
var strSymbols = stringToArray(string);
strLength = strSymbols.length;
}
if (length >= strLength) {
return string;
}
var end = length - stringSize(omission);
if (end < 1) {
return omission;
}
var result2 = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end);
if (separator === void 0) {
return result2 + omission;
}
if (strSymbols) {
end += result2.length - end;
}
if (isRegExp(separator)) {
if (string.slice(end).search(separator)) {
var match, substring = result2;
if (!separator.global) {
separator = RegExp(separator.source, toString4(reFlags.exec(separator)) + "g");
}
separator.lastIndex = 0;
while (match = separator.exec(substring)) {
var newEnd = match.index;
}
result2 = result2.slice(0, newEnd === void 0 ? end : newEnd);
}
} else if (string.indexOf(baseToString(separator), end) != end) {
var index2 = result2.lastIndexOf(separator);
if (index2 > -1) {
result2 = result2.slice(0, index2);
}
}
return result2 + omission;
}
module2.exports = truncate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/truncateTableData.js
var require_truncateTableData = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/truncateTableData.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.truncateTableData = exports2.truncateString = void 0;
var lodash_truncate_1 = __importDefault2(require_lodash3());
var truncateString = (input, length) => {
return (0, lodash_truncate_1.default)(input, {
length,
omission: "\u2026"
});
};
exports2.truncateString = truncateString;
var truncateTableData = (rows, truncates) => {
return rows.map((cells) => {
return cells.map((cell, cellIndex) => {
return (0, exports2.truncateString)(cell, truncates[cellIndex]);
});
});
};
exports2.truncateTableData = truncateTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/createStream.js
var require_createStream = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/createStream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createStream = void 0;
var alignTableData_1 = require_alignTableData();
var calculateRowHeights_1 = require_calculateRowHeights();
var drawBorder_1 = require_drawBorder();
var drawRow_1 = require_drawRow();
var makeStreamConfig_1 = require_makeStreamConfig();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
var padTableData_1 = require_padTableData();
var stringifyTableData_1 = require_stringifyTableData();
var truncateTableData_1 = require_truncateTableData();
var utils_1 = require_utils12();
var prepareData = (data, config2) => {
let rows = (0, stringifyTableData_1.stringifyTableData)(data);
rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config2));
const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config2);
rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config2);
rows = (0, alignTableData_1.alignTableData)(rows, config2);
rows = (0, padTableData_1.padTableData)(rows, config2);
return rows;
};
var create = (row, columnWidths, config2) => {
const rows = prepareData([row], config2);
const body = rows.map((literalRow) => {
return (0, drawRow_1.drawRow)(literalRow, config2);
}).join("");
let output;
output = "";
output += (0, drawBorder_1.drawBorderTop)(columnWidths, config2);
output += body;
output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config2);
output = output.trimEnd();
process.stdout.write(output);
};
var append = (row, columnWidths, config2) => {
const rows = prepareData([row], config2);
const body = rows.map((literalRow) => {
return (0, drawRow_1.drawRow)(literalRow, config2);
}).join("");
let output = "";
const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config2);
if (bottom !== "\n") {
output = "\r\x1B[K";
}
output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config2);
output += body;
output += bottom;
output = output.trimEnd();
process.stdout.write(output);
};
var createStream = (userConfig) => {
const config2 = (0, makeStreamConfig_1.makeStreamConfig)(userConfig);
const columnWidths = Object.values(config2.columns).map((column) => {
return column.width + column.paddingLeft + column.paddingRight;
});
let empty4 = true;
return {
write: (row) => {
if (row.length !== config2.columnCount) {
throw new Error("Row cell count does not match the config.columnCount.");
}
if (empty4) {
empty4 = false;
create(row, columnWidths, config2);
} else {
append(row, columnWidths, config2);
}
}
};
};
exports2.createStream = createStream;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateOutputColumnWidths.js
var require_calculateOutputColumnWidths = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateOutputColumnWidths.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateOutputColumnWidths = void 0;
var calculateOutputColumnWidths = (config2) => {
return config2.columns.map((col) => {
return col.paddingLeft + col.width + col.paddingRight;
});
};
exports2.calculateOutputColumnWidths = calculateOutputColumnWidths;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawTable.js
var require_drawTable = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/drawTable.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawTable = void 0;
var drawBorder_1 = require_drawBorder();
var drawContent_1 = require_drawContent();
var drawRow_1 = require_drawRow();
var utils_1 = require_utils12();
var drawTable = (rows, outputColumnWidths, rowHeights, config2) => {
const { drawHorizontalLine, singleLine } = config2;
const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => {
return group.map((row) => {
return (0, drawRow_1.drawRow)(row, {
...config2,
rowIndex: groupIndex
});
}).join("");
});
return (0, drawContent_1.drawContent)({
contents,
drawSeparator: (index2, size) => {
if (index2 === 0 || index2 === size) {
return drawHorizontalLine(index2, size);
}
return !singleLine && drawHorizontalLine(index2, size);
},
elementType: "row",
rowIndex: -1,
separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, {
...config2,
rowCount: contents.length
}),
spanningCellManager: config2.spanningCellManager
});
};
exports2.drawTable = drawTable;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/injectHeaderConfig.js
var require_injectHeaderConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/injectHeaderConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.injectHeaderConfig = void 0;
var injectHeaderConfig = (rows, config2) => {
var _a2;
let spanningCellConfig = (_a2 = config2.spanningCells) !== null && _a2 !== void 0 ? _a2 : [];
const headerConfig = config2.header;
const adjustedRows = [...rows];
if (headerConfig) {
spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => {
return {
...rest,
row: row + 1
};
});
const { content, ...headerStyles } = headerConfig;
spanningCellConfig.unshift({
alignment: "center",
col: 0,
colSpan: rows[0].length,
paddingLeft: 1,
paddingRight: 1,
row: 0,
wrapWord: false,
...headerStyles
});
adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]);
}
return [
adjustedRows,
spanningCellConfig
];
};
exports2.injectHeaderConfig = injectHeaderConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateMaximumColumnWidths.js
var require_calculateMaximumColumnWidths = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateMaximumColumnWidths.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0;
var string_width_1 = __importDefault2(require_string_width());
var utils_1 = require_utils12();
var calculateMaximumCellWidth = (cell) => {
return Math.max(...cell.split("\n").map(string_width_1.default));
};
exports2.calculateMaximumCellWidth = calculateMaximumCellWidth;
var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => {
const columnWidths = new Array(rows[0].length).fill(0);
const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate);
const isSpanningCell = (rowIndex, columnIndex) => {
return rangeCoordinates.some((rangeCoordinate) => {
return (0, utils_1.isCellInRange)({
col: columnIndex,
row: rowIndex
}, rangeCoordinate);
});
};
rows.forEach((row, rowIndex) => {
row.forEach((cell, cellIndex) => {
if (isSpanningCell(rowIndex, cellIndex)) {
return;
}
columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell));
});
});
return columnWidths;
};
exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignSpanningCell.js
var require_alignSpanningCell = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/alignSpanningCell.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0;
var string_width_1 = __importDefault2(require_string_width());
var alignString_1 = require_alignString();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
var padTableData_1 = require_padTableData();
var truncateTableData_1 = require_truncateTableData();
var utils_1 = require_utils12();
var wrapCell_1 = require_wrapCell();
var wrapRangeContent = (rangeConfig, rangeWidth, context) => {
const { topLeft, paddingRight, paddingLeft, truncate, wrapWord: wrapWord2, alignment } = rangeConfig;
const originalContent = context.rows[topLeft.row][topLeft.col];
const contentWidth = rangeWidth - paddingLeft - paddingRight;
return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord2).map((line) => {
const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment);
return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight);
});
};
exports2.wrapRangeContent = wrapRangeContent;
var alignVerticalRangeContent = (range, content, context) => {
const { rows, drawHorizontalLine, rowHeights } = context;
const { topLeft, bottomRight, verticalAlignment } = range;
if (rowHeights.length === 0) {
return [];
}
const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1));
const totalBorderHeight = bottomRight.row - topLeft.row;
const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
return !drawHorizontalLine(horizontalBorderIndex, rows.length);
}).length;
const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount;
return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => {
if (line.length === 0) {
return " ".repeat((0, string_width_1.default)(content[0]));
}
return line;
});
};
exports2.alignVerticalRangeContent = alignVerticalRangeContent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateSpanningCellWidth.js
var require_calculateSpanningCellWidth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/calculateSpanningCellWidth.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateSpanningCellWidth = void 0;
var utils_1 = require_utils12();
var calculateSpanningCellWidth = (rangeConfig, dependencies) => {
const { columnsConfig, drawVerticalLine } = dependencies;
const { topLeft, bottomRight } = rangeConfig;
const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => {
return width;
}));
const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => {
return paddingLeft + paddingRight;
}));
const totalBorderWidths = bottomRight.col - topLeft.col;
const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => {
return !drawVerticalLine(verticalBorderIndex, columnsConfig.length);
}).length;
return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders;
};
exports2.calculateSpanningCellWidth = calculateSpanningCellWidth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeRangeConfig.js
var require_makeRangeConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeRangeConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeRangeConfig = void 0;
var utils_1 = require_utils12();
var makeRangeConfig = (spanningCellConfig, columnsConfig) => {
var _a2;
const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig);
const cellConfig = {
...columnsConfig[topLeft.col],
...spanningCellConfig,
paddingRight: (_a2 = spanningCellConfig.paddingRight) !== null && _a2 !== void 0 ? _a2 : columnsConfig[bottomRight.col].paddingRight
};
return {
...cellConfig,
bottomRight,
topLeft
};
};
exports2.makeRangeConfig = makeRangeConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/spanningCellManager.js
var require_spanningCellManager = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/spanningCellManager.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createSpanningCellManager = void 0;
var alignSpanningCell_1 = require_alignSpanningCell();
var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth();
var makeRangeConfig_1 = require_makeRangeConfig();
var utils_1 = require_utils12();
var findRangeConfig = (cell, rangeConfigs) => {
return rangeConfigs.find((rangeCoordinate) => {
return (0, utils_1.isCellInRange)(cell, rangeCoordinate);
});
};
var getContainingRange = (rangeConfig, context) => {
const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context);
const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context);
const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context);
const getCellContent = (rowIndex) => {
const { topLeft } = rangeConfig;
const { drawHorizontalLine, rowHeights } = context;
const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row;
const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index2) => {
return !(drawHorizontalLine === null || drawHorizontalLine === void 0 ? void 0 : drawHorizontalLine(index2, rowHeights.length));
}).length;
const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight;
return alignedContent.slice(offset, offset + rowHeights[rowIndex]);
};
const getBorderContent = (borderIndex) => {
const { topLeft } = rangeConfig;
const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1);
return alignedContent[offset];
};
return {
...rangeConfig,
extractBorderContent: getBorderContent,
extractCellContent: getCellContent,
height: wrappedContent.length,
width
};
};
var inSameRange = (cell1, cell2, ranges) => {
const range1 = findRangeConfig(cell1, ranges);
const range2 = findRangeConfig(cell2, ranges);
if (range1 && range2) {
return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft);
}
return false;
};
var hashRange = (range) => {
const { row, col } = range.topLeft;
return `${row}/${col}`;
};
var createSpanningCellManager = (parameters) => {
const { spanningCellConfigs, columnsConfig } = parameters;
const ranges = spanningCellConfigs.map((config2) => {
return (0, makeRangeConfig_1.makeRangeConfig)(config2, columnsConfig);
});
const rangeCache = {};
let rowHeights = [];
let rowIndexMapping = [];
return {
getContainingRange: (cell, options) => {
var _a2;
const originalRow = (options === null || options === void 0 ? void 0 : options.mapped) ? rowIndexMapping[cell.row] : cell.row;
const range = findRangeConfig({
...cell,
row: originalRow
}, ranges);
if (!range) {
return void 0;
}
if (rowHeights.length === 0) {
return getContainingRange(range, {
...parameters,
rowHeights
});
}
const hash2 = hashRange(range);
(_a2 = rangeCache[hash2]) !== null && _a2 !== void 0 ? _a2 : rangeCache[hash2] = getContainingRange(range, {
...parameters,
rowHeights
});
return rangeCache[hash2];
},
inSameRange: (cell1, cell2) => {
return inSameRange(cell1, cell2, ranges);
},
rowHeights,
rowIndexMapping,
setRowHeights: (_rowHeights) => {
rowHeights = _rowHeights;
},
setRowIndexMapping: (mappedRowHeights) => {
rowIndexMapping = (0, utils_1.flatten)(mappedRowHeights.map((height2, index2) => {
return Array.from({ length: height2 }, () => {
return index2;
});
}));
}
};
};
exports2.createSpanningCellManager = createSpanningCellManager;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateSpanningCellConfig.js
var require_validateSpanningCellConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateSpanningCellConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateSpanningCellConfig = void 0;
var utils_1 = require_utils12();
var inRange2 = (start, end, value) => {
return start <= value && value <= end;
};
var validateSpanningCellConfig = (rows, configs) => {
const [nRow, nCol] = [rows.length, rows[0].length];
configs.forEach((config2, configIndex) => {
const { colSpan, rowSpan } = config2;
if (colSpan === void 0 && rowSpan === void 0) {
throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`);
}
if (colSpan !== void 0 && colSpan < 1) {
throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`);
}
if (rowSpan !== void 0 && rowSpan < 1) {
throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`);
}
});
const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate);
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
if (!inRange2(0, nCol - 1, topLeft.col) || !inRange2(0, nRow - 1, topLeft.row) || !inRange2(0, nCol - 1, bottomRight.col) || !inRange2(0, nRow - 1, bottomRight.row)) {
throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`);
}
});
const configOccupy = Array.from({ length: nRow }, () => {
return Array.from({ length: nCol });
});
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
(0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => {
(0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => {
if (configOccupy[row][col] !== void 0) {
throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`);
}
configOccupy[row][col] = rangeIndex;
});
});
});
};
exports2.validateSpanningCellConfig = validateSpanningCellConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeTableConfig.js
var require_makeTableConfig = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/makeTableConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeTableConfig = void 0;
var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths();
var spanningCellManager_1 = require_spanningCellManager();
var utils_1 = require_utils12();
var validateConfig_1 = require_validateConfig();
var validateSpanningCellConfig_1 = require_validateSpanningCellConfig();
var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => {
const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs);
return rows[0].map((_, columnIndex) => {
return {
alignment: "left",
paddingLeft: 1,
paddingRight: 1,
truncate: Number.POSITIVE_INFINITY,
verticalAlignment: "top",
width: columnWidths[columnIndex],
wrapWord: false,
...columnDefault,
...columns === null || columns === void 0 ? void 0 : columns[columnIndex]
};
});
};
var makeTableConfig = (rows, config2 = {}, injectedSpanningCellConfig) => {
var _a2, _b2, _c, _d, _e;
(0, validateConfig_1.validateConfig)("config.json", config2);
(0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, (_a2 = config2.spanningCells) !== null && _a2 !== void 0 ? _a2 : []);
const spanningCellConfigs = (_b2 = injectedSpanningCellConfig !== null && injectedSpanningCellConfig !== void 0 ? injectedSpanningCellConfig : config2.spanningCells) !== null && _b2 !== void 0 ? _b2 : [];
const columnsConfig = makeColumnsConfig(rows, config2.columns, config2.columnDefault, spanningCellConfigs);
const drawVerticalLine = (_c = config2.drawVerticalLine) !== null && _c !== void 0 ? _c : (() => {
return true;
});
const drawHorizontalLine = (_d = config2.drawHorizontalLine) !== null && _d !== void 0 ? _d : (() => {
return true;
});
return {
...config2,
border: (0, utils_1.makeBorderConfig)(config2.border),
columns: columnsConfig,
drawHorizontalLine,
drawVerticalLine,
singleLine: (_e = config2.singleLine) !== null && _e !== void 0 ? _e : false,
spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({
columnsConfig,
drawHorizontalLine,
drawVerticalLine,
rows,
spanningCellConfigs
})
};
};
exports2.makeTableConfig = makeTableConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateTableData.js
var require_validateTableData = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/validateTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateTableData = void 0;
var utils_1 = require_utils12();
var validateTableData = (rows) => {
if (!Array.isArray(rows)) {
throw new TypeError("Table data must be an array.");
}
if (rows.length === 0) {
throw new Error("Table must define at least one row.");
}
if (rows[0].length === 0) {
throw new Error("Table must define at least one column.");
}
const columnNumber = rows[0].length;
for (const row of rows) {
if (!Array.isArray(row)) {
throw new TypeError("Table row data must be an array.");
}
if (row.length !== columnNumber) {
throw new Error("Table must have a consistent number of cells.");
}
for (const cell of row) {
if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) {
throw new Error("Table data must not contain control characters.");
}
}
}
};
exports2.validateTableData = validateTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/table.js
var require_table = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/table.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.table = void 0;
var alignTableData_1 = require_alignTableData();
var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths();
var calculateRowHeights_1 = require_calculateRowHeights();
var drawTable_1 = require_drawTable();
var injectHeaderConfig_1 = require_injectHeaderConfig();
var makeTableConfig_1 = require_makeTableConfig();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
var padTableData_1 = require_padTableData();
var stringifyTableData_1 = require_stringifyTableData();
var truncateTableData_1 = require_truncateTableData();
var utils_1 = require_utils12();
var validateTableData_1 = require_validateTableData();
var table9 = (data, userConfig = {}) => {
(0, validateTableData_1.validateTableData)(data);
let rows = (0, stringifyTableData_1.stringifyTableData)(data);
const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig);
const config2 = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig);
rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config2));
const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config2);
config2.spanningCellManager.setRowHeights(rowHeights);
config2.spanningCellManager.setRowIndexMapping(rowHeights);
rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config2);
rows = (0, alignTableData_1.alignTableData)(rows, config2);
rows = (0, padTableData_1.padTableData)(rows, config2);
const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config2);
return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config2);
};
exports2.table = table9;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/types/api.js
var require_api2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/types/api.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/index.js
var require_src = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/table/6.9.0/af94e2c03aa52a9ac0441ac4c829d5a27616667eebe30040088645da59557dab/node_modules/table/dist/src/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
Object.defineProperty(o2, k22, { enumerable: true, get: function() {
return m[k2];
} });
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0;
var createStream_1 = require_createStream();
Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() {
return createStream_1.createStream;
} });
var getBorderCharacters_1 = require_getBorderCharacters();
Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() {
return getBorderCharacters_1.getBorderCharacters;
} });
var table_1 = require_table();
Object.defineProperty(exports2, "table", { enumerable: true, get: function() {
return table_1.table;
} });
__exportStar2(require_api2(), exports2);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/render-help/2.0.0/c12a5c49014a2ea2acda2802d7215306c3602c9822b2feefc8f5ccb8b86d4692/node_modules/render-help/lib/index.js
function renderHelp(config2) {
const width = config2.width ?? process.stdout.columns ?? 80;
let outputSections = [];
if (config2.usages.length > 0) {
const [firstUsage, ...restUsages] = config2.usages;
let usageOutput = `Usage: ${firstUsage}`;
for (let usage of restUsages) {
usageOutput += `
${usage}`;
}
outputSections.push(usageOutput);
}
if (config2.aliases && config2.aliases.length) {
outputSections.push(`${config2.aliases.length === 1 ? "Alias" : "Aliases"}: ${config2.aliases.join(", ")}`);
}
if (config2.description)
outputSections.push(`${config2.description}`);
if (config2.descriptionLists) {
for (let { title, list: list2 } of config2.descriptionLists) {
outputSections.push(`${title}:
` + renderDescriptionList(list2, width));
}
}
if (config2.url) {
outputSections.push(`Visit ${config2.url} for documentation about this command.`);
}
return outputSections.join("\n\n");
}
function renderDescriptionList(descriptionItems, width) {
const data = descriptionItems.sort((item1, item2) => item1.name.localeCompare(item2.name)).map(({ shortAlias, name, description }) => [shortAlias && `${shortAlias},` || " ", name, description || ""]);
const firstColumnMaxWidth = Math.max(getColumnMaxWidth(data, 0), 3);
const nameColumnMaxWidth = Math.max(getColumnMaxWidth(data, 1), 19);
const descriptionColumnWidth = Math.max(width - (FIRST_COLUMN.paddingLeft + firstColumnMaxWidth + FIRST_COLUMN.paddingRight + LONG_OPTION_COLUMN.paddingLeft + nameColumnMaxWidth + LONG_OPTION_COLUMN.paddingRight + DESCRIPTION_COLUMN.paddingLeft + DESCRIPTION_COLUMN.paddingRight), 2);
return multiTrim((0, import_table.table)(data, {
...TABLE_OPTIONS2,
columns: {
0: {
width: firstColumnMaxWidth,
...SHORT_OPTION_COLUMN,
...FIRST_COLUMN
},
1: {
width: nameColumnMaxWidth,
...LONG_OPTION_COLUMN
},
2: {
width: descriptionColumnWidth,
...DESCRIPTION_COLUMN
}
}
}));
}
function multiTrim(str2) {
return str2.split("\n").map((line) => line.trimRight()).filter(Boolean).join("\n");
}
function getColumnMaxWidth(data, columnNumber) {
return data.reduce((maxWidth, row) => Math.max(maxWidth, row[columnNumber].length), 0);
}
var import_table, TABLE_OPTIONS2, FIRST_COLUMN, SHORT_OPTION_COLUMN, LONG_OPTION_COLUMN, DESCRIPTION_COLUMN;
var init_lib66 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/render-help/2.0.0/c12a5c49014a2ea2acda2802d7215306c3602c9822b2feefc8f5ccb8b86d4692/node_modules/render-help/lib/index.js"() {
import_table = __toESM(require_src(), 1);
TABLE_OPTIONS2 = {
border: (0, import_table.getBorderCharacters)("void"),
singleLine: true
};
FIRST_COLUMN = { paddingLeft: 2, paddingRight: 0 };
SHORT_OPTION_COLUMN = { alignment: "right" };
LONG_OPTION_COLUMN = { paddingLeft: 1, paddingRight: 2 };
DESCRIPTION_COLUMN = {
paddingLeft: 0,
paddingRight: 0,
wrapWord: true
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-ini-file/5.0.0/cd3d23cbd6e3487b6de152907b74cb8d49ba3ef375729197f630a7c98ff0d5a0/node_modules/write-ini-file/index.js
import path62 from "node:path";
import fs38 from "node:fs";
async function writeIniFile(fp, data, opts3) {
await fs38.promises.mkdir(path62.dirname(fp), { recursive: true });
return main3(import_write_file_atomic4.default, fp, data, opts3);
}
var import_write_file_atomic4, import_ini2, main3;
var init_write_ini_file = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/write-ini-file/5.0.0/cd3d23cbd6e3487b6de152907b74cb8d49ba3ef375729197f630a7c98ff0d5a0/node_modules/write-ini-file/index.js"() {
import_write_file_atomic4 = __toESM(require_lib10(), 1);
import_ini2 = __toESM(require_ini(), 1);
main3 = (fn, fp, data, opts3) => {
if (!fp) {
throw new TypeError("Expected a filepath");
}
if (data === void 0) {
throw new TypeError("Expected data to stringify");
}
opts3 = opts3 || {};
const encodedData = import_ini2.default.encode(data, opts3);
return fn(fp, encodedData, { mode: opts3.mode });
};
}
});
// ../auth/commands/lib/shared.js
import util18 from "node:util";
function getRegistryConfigKey(registryUrl) {
const url7 = new URL(registryUrl);
return `//${url7.host}${url7.pathname}`;
}
async function safeReadIniFile(readIniFile2, configPath) {
try {
return await readIniFile2(configPath);
} catch (err2) {
if (util18.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
return {};
throw err2;
}
}
var init_shared2 = __esm({
"../auth/commands/lib/shared.js"() {
"use strict";
}
});
// ../auth/commands/lib/login.js
var login_exports = {};
__export(login_exports, {
DEFAULT_CONTEXT: () => DEFAULT_CONTEXT,
cliOptionsTypes: () => cliOptionsTypes,
commandNames: () => commandNames,
handler: () => handler,
help: () => help,
login: () => login,
rcOptionsTypes: () => rcOptionsTypes
});
import path63 from "node:path";
import readline3 from "node:readline";
function rcOptionsTypes() {
return {
registry: types2.registry,
scope: types2.scope
};
}
function cliOptionsTypes() {
return {
...rcOptionsTypes()
};
}
function help() {
return renderHelp({
description: "Log in to an npm registry.",
descriptionLists: [
{
title: "Options",
list: [
{
description: "The registry to log in to",
name: "--registry <url>"
},
{
description: "Associate the login token with a package scope and record the scope-to-registry mapping.",
name: "--scope <scope>"
}
]
}
],
url: docsUrl("login"),
usages: ["pnpm login [--registry <url>] [--scope <scope>]"]
});
}
async function handler(opts3) {
return login({ opts: opts3 });
}
async function login({ context = DEFAULT_CONTEXT, opts: opts3 }) {
const { process: process24, readIniFile: readIniFile2, writeIniFile: writeIniFile2 } = context;
const registry = (0, import_normalize_registry_url4.default)(opts3.registry ?? "https://registry.npmjs.org/");
if (!process24.stdin.isTTY || !process24.stdout.isTTY) {
throw new LoginNonInteractiveError();
}
const fetchOptions = {
method: "GET",
retry: {
factor: opts3.fetchRetryFactor,
maxTimeout: opts3.fetchRetryMaxtimeout,
minTimeout: opts3.fetchRetryMintimeout,
retries: opts3.fetchRetries
},
timeout: opts3.fetchTimeout
};
let token;
try {
token = await webLogin({ context, fetchOptions, registry });
} catch (err2) {
if (err2 instanceof WebLoginError && (err2.httpStatus === 404 || err2.httpStatus === 405)) {
token = await classicLogin({ context, fetchOptions, registry });
} else {
throw err2;
}
}
const configPath = path63.join(opts3.configDir, "auth.ini");
const settings = await safeReadIniFile(readIniFile2, configPath);
const registryConfigKey = getRegistryConfigKey(registry);
const scopeKey = normalizeScope(opts3.scope);
const authConfigKey = scopeKey == null ? registryConfigKey : `${registryConfigKey}:${scopeKey}`;
settings[`${authConfigKey}:_authToken`] = token;
if (scopeKey != null) {
settings[`${scopeKey}:registry`] = registry;
}
await writeIniFile2(configPath, settings);
return `Logged in on ${registry}`;
}
function normalizeScope(scope) {
if (scope == null)
return void 0;
const trimmed = scope.trim();
if (trimmed === "" || trimmed === "@")
return void 0;
return trimmed.startsWith("@") ? trimmed : `@${trimmed}`;
}
async function webLogin({ context, fetchOptions, registry }) {
const { fetch: fetch2, globalInfo: globalInfo3 } = context;
const loginUrl = new URL("-/v1/login", registry).href;
const response = await fetch2(loginUrl, {
method: "POST",
headers: {
"content-type": "application/json",
accept: "application/json",
"npm-auth-type": "web"
},
body: JSON.stringify({})
});
if (!response.ok) {
const text = await response.text();
throw new WebLoginError(response.status, text);
}
const body = await response.json();
if (!body.loginUrl || !body.doneUrl) {
throw new LoginInvalidResponseError();
}
const qrCode = generateQrCode(body.loginUrl);
globalInfo3(`Authenticate your account at:
${body.loginUrl}
${qrCode}`);
const pollPromise = pollForWebAuthToken({ context, doneUrl: body.doneUrl, fetchOptions });
return promptBrowserOpen({
authUrl: body.loginUrl,
context,
pollPromise
});
}
async function classicLogin({ context, fetchOptions, registry }) {
const { enquirer, fetch: fetch2, globalInfo: globalInfo3, globalWarn: globalWarn3 } = context;
let username;
let password;
let email;
try {
username = await enquirer.input({ message: "Username:" });
password = await enquirer.password({ message: "Password:" });
email = await enquirer.input({ message: "Email (this IS public):" });
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
throw new PnpmError("LOGIN_CANCELED", "Login canceled");
}
throw err2;
}
if (!username || !password || !email) {
throw new LoginMissingCredentialsError();
}
const token = await withOtpHandling({
context,
fetchOptions,
operation: async (otp) => {
try {
const result2 = await addUser({
username,
password,
email,
otp,
registryUrl: registry,
fetch: fetch2
});
return result2.token;
} catch (err2) {
if (err2 instanceof AddUserHttpError) {
if (err2.status === 401 && err2.responseHeaders.get("www-authenticate")?.includes("otp")) {
throw SyntheticOtpError.fromUnknownBody(globalWarn3, err2.responseJson);
}
throw new ClassicLoginError(err2.status, err2.responseText);
}
if (err2 instanceof AddUserNoTokenError) {
throw new LoginNoTokenError();
}
throw err2;
}
}
});
globalInfo3(`Logged in as ${username}`);
return token;
}
var import_normalize_registry_url4, commandNames, DEFAULT_CONTEXT, LoginNonInteractiveError, LoginInvalidResponseError, LoginMissingCredentialsError, LoginNoTokenError, ClassicLoginError, WebLoginError;
var init_login = __esm({
"../auth/commands/lib/login.js"() {
"use strict";
init_dist14();
init_lib41();
init_lib64();
init_lib2();
init_lib3();
init_lib23();
init_lib22();
init_lib65();
import_normalize_registry_url4 = __toESM(require_normalize_registry_url(), 1);
init_read_ini_file();
init_lib66();
init_write_ini_file();
init_shared2();
commandNames = ["login", "adduser"];
DEFAULT_CONTEXT = {
Date,
setTimeout,
createReadlineInterface: readline3.createInterface.bind(null, { input: process.stdin }),
enquirer: { input: dist_default6, password: dist_default7 },
fetch,
globalInfo,
globalWarn,
process,
readIniFile,
writeIniFile
};
LoginNonInteractiveError = class extends PnpmError {
constructor() {
super("LOGIN_NON_INTERACTIVE", "The login command requires an interactive terminal");
}
};
LoginInvalidResponseError = class extends PnpmError {
constructor() {
super("LOGIN_INVALID_RESPONSE", "The registry returned an invalid response for web-based login");
}
};
LoginMissingCredentialsError = class extends PnpmError {
constructor() {
super("LOGIN_MISSING_CREDENTIALS", "Username, password, and email are all required");
}
};
LoginNoTokenError = class extends PnpmError {
constructor() {
super("LOGIN_NO_TOKEN", "The registry did not return an authentication token");
}
};
ClassicLoginError = class extends PnpmError {
httpStatus;
responseText;
constructor(httpStatus, responseText) {
super("LOGIN_FAILED", `Login failed (HTTP ${httpStatus}): ${responseText}`);
this.httpStatus = httpStatus;
this.responseText = responseText;
}
};
WebLoginError = class extends PnpmError {
httpStatus;
responseText;
constructor(httpStatus, responseText) {
super("WEB_LOGIN_FAILED", `Web-based login failed (HTTP ${httpStatus}): ${responseText}`);
this.httpStatus = httpStatus;
this.responseText = responseText;
}
};
}
});
// ../auth/commands/lib/logout.js
var logout_exports = {};
__export(logout_exports, {
DEFAULT_CONTEXT: () => DEFAULT_CONTEXT2,
cliOptionsTypes: () => cliOptionsTypes2,
commandNames: () => commandNames2,
handler: () => handler2,
help: () => help2,
logout: () => logout,
rcOptionsTypes: () => rcOptionsTypes2
});
import path64 from "node:path";
function rcOptionsTypes2() {
return { registry: types2.registry };
}
function cliOptionsTypes2() {
return {
...rcOptionsTypes2()
};
}
function help2() {
return renderHelp({
description: "Log out of an npm registry.",
descriptionLists: [
{
title: "Options",
list: [
{
description: "The registry to log out of",
name: "--registry <url>"
}
]
}
],
url: docsUrl("logout"),
usages: ["pnpm logout [--registry <url>]"]
});
}
async function handler2(opts3) {
return logout({ opts: opts3 });
}
async function logout({ context = DEFAULT_CONTEXT2, opts: opts3 }) {
const { globalWarn: globalWarn3, readIniFile: readIniFile2 } = context;
const registry = (0, import_normalize_registry_url5.default)(opts3.registry ?? "https://registry.npmjs.org/");
const registryConfigKey = getRegistryConfigKey(registry);
const tokenKey = `${registryConfigKey}:_authToken`;
const token = opts3.authConfig?.[tokenKey];
if (!token) {
throw new LogoutNotLoggedInError(registry);
}
const revokedOnRegistry = await tryRevokeToken({ context, opts: opts3, registry, token });
const configPath = path64.join(opts3.configDir, "auth.ini");
const authIniSettings = await safeReadIniFile(readIniFile2, configPath);
if (tokenKey in authIniSettings) {
await removeTokenFromAuthIni({ context, configPath, authIniSettings, tokenKey });
} else if (revokedOnRegistry) {
globalWarn3(`The auth token for ${registry} was not found in ${configPath}. It may be configured in .npmrc or another config file. The token was revoked on the registry but must be removed manually from that config file.`);
} else {
throw new LogoutFailedError(registry, configPath);
}
return `Logged out of ${registry}`;
}
async function tryRevokeToken({ context: { fetch: fetch2, globalInfo: globalInfo3 }, opts: opts3, registry, token }) {
const revokeUrl = new URL(`-/user/token/${encodeURIComponent(token)}`, registry).href;
try {
const response = await fetch2(revokeUrl, {
method: "DELETE",
headers: {
authorization: `Bearer ${token}`
},
retry: {
factor: opts3.fetchRetryFactor,
maxTimeout: opts3.fetchRetryMaxtimeout,
minTimeout: opts3.fetchRetryMintimeout,
retries: opts3.fetchRetries
},
timeout: opts3.fetchTimeout
});
if (!response.ok) {
globalInfo3(`Registry returned HTTP ${response.status} when revoking token`);
return false;
}
return true;
} catch {
globalInfo3("Could not reach the registry to revoke the token");
return false;
}
}
async function removeTokenFromAuthIni({ context: { writeIniFile: writeIniFile2 }, configPath, authIniSettings, tokenKey }) {
delete authIniSettings[tokenKey];
await writeIniFile2(configPath, authIniSettings);
}
var import_normalize_registry_url5, commandNames2, DEFAULT_CONTEXT2, LogoutNotLoggedInError, LogoutFailedError;
var init_logout = __esm({
"../auth/commands/lib/logout.js"() {
"use strict";
init_lib41();
init_lib64();
init_lib2();
init_lib3();
init_lib23();
import_normalize_registry_url5 = __toESM(require_normalize_registry_url(), 1);
init_read_ini_file();
init_lib66();
init_write_ini_file();
init_shared2();
commandNames2 = ["logout"];
DEFAULT_CONTEXT2 = {
fetch,
globalInfo,
globalWarn,
readIniFile,
writeIniFile
};
LogoutNotLoggedInError = class extends PnpmError {
constructor(registry) {
super("NOT_LOGGED_IN", `Not logged in to ${registry}, so can't log out`);
}
};
LogoutFailedError = class extends PnpmError {
constructor(registry, configPath) {
super("LOGOUT_FAILED", `Failed to log out of ${registry}. The registry rejected the token revocation request, and the token was not found in ${configPath}. The token may be configured in .npmrc or another config file and must be removed manually, and may still need to be revoked on the registry.`);
}
};
}
});
// ../auth/commands/lib/index.js
var init_lib67 = __esm({
"../auth/commands/lib/index.js"() {
"use strict";
init_login();
init_logout();
}
});
// ../deps/path/lib/index.js
function indexOfDepPathSuffix(depPath) {
if (!depPath.endsWith(")"))
return { peersIndex: -1, patchHashIndex: -1 };
let open3 = 1;
for (let i4 = depPath.length - 2; i4 >= 0; i4--) {
if (depPath[i4] === "(") {
open3--;
} else if (depPath[i4] === ")") {
open3++;
} else if (!open3) {
if (depPath.substring(i4 + 1).startsWith("(patch_hash=")) {
return {
patchHashIndex: i4 + 1,
peersIndex: depPath.indexOf("(", i4 + 2)
};
}
return {
patchHashIndex: -1,
peersIndex: i4 + 1
};
}
}
return { peersIndex: -1, patchHashIndex: -1 };
}
function parseDepPath(relDepPath) {
const { peersIndex } = indexOfDepPathSuffix(relDepPath);
if (peersIndex !== -1) {
return {
id: relDepPath.substring(0, peersIndex),
peerDepGraphHash: relDepPath.substring(peersIndex)
};
}
return {
id: relDepPath,
peerDepGraphHash: ""
};
}
function removeSuffix(relDepPath) {
const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(relDepPath);
if (patchHashIndex !== -1) {
return relDepPath.substring(0, patchHashIndex);
}
if (peersIndex !== -1) {
return relDepPath.substring(0, peersIndex);
}
return relDepPath;
}
function removePeersSuffix(relDepPath) {
const { peersIndex } = indexOfDepPathSuffix(relDepPath);
if (peersIndex !== -1) {
return relDepPath.substring(0, peersIndex);
}
return relDepPath;
}
function getPkgIdWithPatchHash(depPath) {
return removePeersSuffix(depPath);
}
function tryGetPackageId(relDepPath) {
let pkgId = relDepPath;
const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(pkgId);
const sepIndex = patchHashIndex === -1 ? peersIndex : patchHashIndex;
if (sepIndex !== -1) {
pkgId = pkgId.substring(0, sepIndex);
}
if (pkgId.includes(":")) {
const newPkgId = pkgId.substring(pkgId.indexOf("@", 1) + 1);
if (!newPkgId.startsWith("runtime:")) {
pkgId = newPkgId;
}
}
return pkgId;
}
function getRegistryByPackageName(registries, packageName) {
if (packageName[0] !== "@")
return registries.default;
const scope = packageName.substring(0, packageName.indexOf("/"));
return registries[scope] || registries.default;
}
function refToRelative(reference, pkgName) {
if (reference.startsWith("link:")) {
return null;
}
if (reference[0] === "@")
return reference;
const atIndex = reference.indexOf("@");
if (atIndex === -1)
return `${pkgName}@${reference}`;
const colonIndex = reference.indexOf(":");
const bracketIndex = reference.indexOf("(");
if ((colonIndex === -1 || atIndex < colonIndex) && (bracketIndex === -1 || atIndex < bracketIndex))
return reference;
return `${pkgName}@${reference}`;
}
function parse9(dependencyPath) {
if (typeof dependencyPath !== "string") {
throw new TypeError(`Expected \`dependencyPath\` to be of type \`string\`, got \`${// eslint-disable-next-line: strict-type-predicates
dependencyPath === null ? "null" : typeof dependencyPath}\``);
}
const sepIndex = dependencyPath.indexOf("@", 1);
if (sepIndex === -1) {
return {};
}
const name = dependencyPath.substring(0, sepIndex);
let version2 = dependencyPath.substring(sepIndex + 1);
if (version2) {
let peerDepGraphHash;
let patchHash;
const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(version2);
if (peersIndex !== -1 || patchHashIndex !== -1) {
if (peersIndex === -1) {
patchHash = version2.substring(patchHashIndex);
version2 = version2.substring(0, patchHashIndex);
} else if (patchHashIndex === -1) {
peerDepGraphHash = version2.substring(peersIndex);
version2 = version2.substring(0, peersIndex);
} else {
patchHash = version2.substring(patchHashIndex, peersIndex);
peerDepGraphHash = version2.substring(peersIndex);
version2 = version2.substring(0, patchHashIndex);
}
}
if (import_semver19.default.valid(version2)) {
return {
name,
peerDepGraphHash,
version: version2,
patchHash
};
}
return {
name,
nonSemverVersion: version2,
peerDepGraphHash,
patchHash
};
}
return {};
}
function depPathToFilename(depPath, maxLengthWithoutHash) {
let filename = depPathToFilenameUnescaped(depPath).replace(/[\\/:*?"<>|#]/g, "+");
if (filename.includes("(")) {
filename = filename.replace(/\)$/, "").replace(/\)\(|\(|\)/g, "_");
}
if (filename.length > maxLengthWithoutHash || filename !== filename.toLowerCase() && !filename.startsWith("file+")) {
return `${filename.substring(0, maxLengthWithoutHash - 33)}_${createShortHash(filename)}`;
}
return filename;
}
function depPathToFilenameUnescaped(depPath) {
if (!depPath.startsWith("file:")) {
if (depPath[0] === "/") {
depPath = depPath.substring(1);
}
const index2 = depPath.indexOf("@", 1);
if (index2 === -1)
return depPath;
return `${depPath.substring(0, index2)}@${depPath.slice(index2 + 1)}`;
}
return depPath.replace(":", "+");
}
function createPeerDepGraphHash(peerIds, maxLength = 1e3) {
let dirName = peerIds.map((peerId) => {
if (typeof peerId !== "string") {
return `${peerId.name}@${peerId.version}`;
}
if (peerId[0] === "/") {
return peerId.substring(1);
}
return peerId;
}).sort().join(")(");
if (dirName.length > maxLength) {
dirName = createShortHash(dirName);
}
return `(${dirName})`;
}
function isRuntimeDepPath(depPath) {
return RUNTIME_DEP_PATH_RE.test(depPath);
}
var import_semver19, RUNTIME_DEP_PATH_RE;
var init_lib68 = __esm({
"../deps/path/lib/index.js"() {
"use strict";
init_lib34();
import_semver19 = __toESM(require_semver2(), 1);
RUNTIME_DEP_PATH_RE = /^(?:node|bun|deno)@runtime:/;
}
});
// ../building/policy/lib/index.js
function isBuildExplicitlyDisallowed(depPath, allowBuild) {
return allowBuild?.(depPath) === false;
}
function createAllowBuildFunction(opts3) {
if (opts3.dangerouslyAllowAllBuilds)
return () => true;
if (opts3.allowBuilds != null) {
const allowedPackageBuilds = /* @__PURE__ */ new Set();
const disallowedPackageBuilds = /* @__PURE__ */ new Set();
const allowedDepPathBuilds = /* @__PURE__ */ new Set();
const disallowedDepPathBuilds = /* @__PURE__ */ new Set();
const allowedGitRepoBuilds = /* @__PURE__ */ new Set();
const disallowedGitRepoBuilds = /* @__PURE__ */ new Set();
for (const [pkg, value] of Object.entries(opts3.allowBuilds)) {
switch (value) {
case true:
addAllowBuildRule(pkg, {
depPaths: allowedDepPathBuilds,
gitRepos: allowedGitRepoBuilds,
packageSpecs: allowedPackageBuilds
});
break;
case false:
addAllowBuildRule(pkg, {
depPaths: disallowedDepPathBuilds,
gitRepos: disallowedGitRepoBuilds,
packageSpecs: disallowedPackageBuilds
});
break;
}
}
const expandedAllowed = expandPackageVersionSpecs(Array.from(allowedPackageBuilds));
const expandedDisallowed = expandPackageVersionSpecs(Array.from(disallowedPackageBuilds));
return (depPath, context) => {
const pkgIdWithPatchHash = getPkgIdWithPatchHash(depPath);
if (disallowedDepPathBuilds.has(pkgIdWithPatchHash)) {
return false;
}
const gitRepoKey = getGitRepoAllowBuildKeyFromDepPath(pkgIdWithPatchHash);
if (gitRepoKey != null && disallowedGitRepoBuilds.has(gitRepoKey)) {
return false;
}
const { name, version: version2, nonSemverVersion } = parse9(depPath);
const nameAtVersion2 = name != null && version2 != null ? `${name}@${version2}` : void 0;
if (name != null && expandedDisallowed.has(name) || nameAtVersion2 != null && expandedDisallowed.has(nameAtVersion2)) {
return false;
}
if (allowedDepPathBuilds.has(pkgIdWithPatchHash)) {
return true;
}
if (gitRepoKey != null && allowedGitRepoBuilds.has(gitRepoKey)) {
return true;
}
const trustPackageIdentity = context?.trustPackageIdentity ?? (name != null && version2 != null && nonSemverVersion == null);
if (!trustPackageIdentity)
return void 0;
if (name != null && expandedAllowed.has(name) || nameAtVersion2 != null && expandedAllowed.has(nameAtVersion2)) {
return true;
}
return void 0;
};
}
return void 0;
}
function allowBuildKeyFromIgnoredBuild(depPath) {
const pkgIdWithPatchHash = getPkgIdWithPatchHash(depPath);
const parsed = parse9(pkgIdWithPatchHash);
if (parsed.nonSemverVersion != null || parsed.name == null)
return pkgIdWithPatchHash;
return parsed.name;
}
function addAllowBuildRule(pkg, target2) {
if (isGitRepoAllowBuildKey(pkg)) {
target2.gitRepos.add(pkg);
return;
}
if (isDepPathAllowBuildKey(pkg)) {
target2.depPaths.add(removePeersSuffix(pkg));
} else {
target2.packageSpecs.add(pkg);
}
}
function isGitRepoAllowBuildKey(pkg) {
return !pkg.includes("#") && isGitRepoDepPath(pkg);
}
function getGitRepoAllowBuildKeyFromDepPath(depPath) {
if (!isGitRepoDepPath(depPath))
return void 0;
const refStart = depPath.indexOf("#");
return refStart === -1 ? depPath : depPath.slice(0, refStart);
}
function isGitRepoDepPath(depPath) {
return depPath.startsWith("git+") || depPath.includes("@git+");
}
function isDepPathAllowBuildKey(pkg) {
if (removePeersSuffix(pkg) !== pkg)
return true;
if (pkg.includes("||"))
return false;
const parsed = parse9(pkg);
if (parsed.nonSemverVersion != null)
return isSourceLikeDepPathVersion(parsed.nonSemverVersion);
if (parsed.name != null || pkg.startsWith("@"))
return false;
return pkg.includes("/") || pkg.includes(":");
}
function isSourceLikeDepPathVersion(version2) {
return version2.includes(":") || version2.includes("/") || version2.includes("#");
}
var init_lib69 = __esm({
"../building/policy/lib/index.js"() {
"use strict";
init_lib37();
init_lib68();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/object-hash/3.0.0/3cf2efaf98680b1d4a359a0a8b21b5ac630665e570398969c96958d6ec5c5aae/node_modules/object-hash/index.js
var require_object_hash = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/object-hash/3.0.0/3cf2efaf98680b1d4a359a0a8b21b5ac630665e570398969c96958d6ec5c5aae/node_modules/object-hash/index.js"(exports2, module2) {
"use strict";
var crypto13 = __require("crypto");
exports2 = module2.exports = objectHash;
function objectHash(object, options) {
options = applyDefaults(object, options);
return hash2(object, options);
}
exports2.sha1 = function(object) {
return objectHash(object);
};
exports2.keys = function(object) {
return objectHash(object, { excludeValues: true, algorithm: "sha1", encoding: "hex" });
};
exports2.MD5 = function(object) {
return objectHash(object, { algorithm: "md5", encoding: "hex" });
};
exports2.keysMD5 = function(object) {
return objectHash(object, { algorithm: "md5", encoding: "hex", excludeValues: true });
};
var hashes = crypto13.getHashes ? crypto13.getHashes().slice() : ["sha1", "md5"];
hashes.push("passthrough");
var encodings = ["buffer", "hex", "binary", "base64"];
function applyDefaults(object, sourceOptions) {
sourceOptions = sourceOptions || {};
var options = {};
options.algorithm = sourceOptions.algorithm || "sha1";
options.encoding = sourceOptions.encoding || "hex";
options.excludeValues = sourceOptions.excludeValues ? true : false;
options.algorithm = options.algorithm.toLowerCase();
options.encoding = options.encoding.toLowerCase();
options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true;
options.respectType = sourceOptions.respectType === false ? false : true;
options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;
options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;
options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true;
options.unorderedSets = sourceOptions.unorderedSets === false ? false : true;
options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true;
options.replacer = sourceOptions.replacer || void 0;
options.excludeKeys = sourceOptions.excludeKeys || void 0;
if (typeof object === "undefined") {
throw new Error("Object argument required.");
}
for (var i4 = 0; i4 < hashes.length; ++i4) {
if (hashes[i4].toLowerCase() === options.algorithm.toLowerCase()) {
options.algorithm = hashes[i4];
}
}
if (hashes.indexOf(options.algorithm) === -1) {
throw new Error('Algorithm "' + options.algorithm + '" not supported. supported values: ' + hashes.join(", "));
}
if (encodings.indexOf(options.encoding) === -1 && options.algorithm !== "passthrough") {
throw new Error('Encoding "' + options.encoding + '" not supported. supported values: ' + encodings.join(", "));
}
return options;
}
function isNativeFunction(f) {
if (typeof f !== "function") {
return false;
}
var exp = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;
return exp.exec(Function.prototype.toString.call(f)) != null;
}
function hash2(object, options) {
var hashingStream;
if (options.algorithm !== "passthrough") {
hashingStream = crypto13.createHash(options.algorithm);
} else {
hashingStream = new PassThrough3();
}
if (typeof hashingStream.write === "undefined") {
hashingStream.write = hashingStream.update;
hashingStream.end = hashingStream.update;
}
var hasher = typeHasher(options, hashingStream);
hasher.dispatch(object);
if (!hashingStream.update) {
hashingStream.end("");
}
if (hashingStream.digest) {
return hashingStream.digest(options.encoding === "buffer" ? void 0 : options.encoding);
}
var buf = hashingStream.read();
if (options.encoding === "buffer") {
return buf;
}
return buf.toString(options.encoding);
}
exports2.writeToStream = function(object, options, stream2) {
if (typeof stream2 === "undefined") {
stream2 = options;
options = {};
}
options = applyDefaults(object, options);
return typeHasher(options, stream2).dispatch(object);
};
function typeHasher(options, writeTo, context) {
context = context || [];
var write = function(str2) {
if (writeTo.update) {
return writeTo.update(str2, "utf8");
} else {
return writeTo.write(str2, "utf8");
}
};
return {
dispatch: function(value) {
if (options.replacer) {
value = options.replacer(value);
}
var type4 = typeof value;
if (value === null) {
type4 = "null";
}
return this["_" + type4](value);
},
_object: function(object) {
var pattern = /\[object (.*)\]/i;
var objString = Object.prototype.toString.call(object);
var objType = pattern.exec(objString);
if (!objType) {
objType = "unknown:[" + objString + "]";
} else {
objType = objType[1];
}
objType = objType.toLowerCase();
var objectNumber = null;
if ((objectNumber = context.indexOf(object)) >= 0) {
return this.dispatch("[CIRCULAR:" + objectNumber + "]");
} else {
context.push(object);
}
if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) {
write("buffer:");
return write(object);
}
if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") {
if (this["_" + objType]) {
this["_" + objType](object);
} else if (options.ignoreUnknown) {
return write("[" + objType + "]");
} else {
throw new Error('Unknown object type "' + objType + '"');
}
} else {
var keys4 = Object.keys(object);
if (options.unorderedObjects) {
keys4 = keys4.sort();
}
if (options.respectType !== false && !isNativeFunction(object)) {
keys4.splice(0, 0, "prototype", "__proto__", "constructor");
}
if (options.excludeKeys) {
keys4 = keys4.filter(function(key) {
return !options.excludeKeys(key);
});
}
write("object:" + keys4.length + ":");
var self2 = this;
return keys4.forEach(function(key) {
self2.dispatch(key);
write(":");
if (!options.excludeValues) {
self2.dispatch(object[key]);
}
write(",");
});
}
},
_array: function(arr, unordered) {
unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false;
var self2 = this;
write("array:" + arr.length + ":");
if (!unordered || arr.length <= 1) {
return arr.forEach(function(entry) {
return self2.dispatch(entry);
});
}
var contextAdditions = [];
var entries = arr.map(function(entry) {
var strm = new PassThrough3();
var localContext = context.slice();
var hasher = typeHasher(options, strm, localContext);
hasher.dispatch(entry);
contextAdditions = contextAdditions.concat(localContext.slice(context.length));
return strm.read().toString();
});
context = context.concat(contextAdditions);
entries.sort();
return this._array(entries, false);
},
_date: function(date) {
return write("date:" + date.toJSON());
},
_symbol: function(sym) {
return write("symbol:" + sym.toString());
},
_error: function(err2) {
return write("error:" + err2.toString());
},
_boolean: function(bool2) {
return write("bool:" + bool2.toString());
},
_string: function(string) {
write("string:" + string.length + ":");
write(string.toString());
},
_function: function(fn) {
write("fn:");
if (isNativeFunction(fn)) {
this.dispatch("[native]");
} else {
this.dispatch(fn.toString());
}
if (options.respectFunctionNames !== false) {
this.dispatch("function-name:" + String(fn.name));
}
if (options.respectFunctionProperties) {
this._object(fn);
}
},
_number: function(number) {
return write("number:" + number.toString());
},
_xml: function(xml) {
return write("xml:" + xml.toString());
},
_null: function() {
return write("Null");
},
_undefined: function() {
return write("Undefined");
},
_regexp: function(regex2) {
return write("regex:" + regex2.toString());
},
_uint8array: function(arr) {
write("uint8array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint8clampedarray: function(arr) {
write("uint8clampedarray:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int8array: function(arr) {
write("int8array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint16array: function(arr) {
write("uint16array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int16array: function(arr) {
write("int16array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint32array: function(arr) {
write("uint32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int32array: function(arr) {
write("int32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_float32array: function(arr) {
write("float32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_float64array: function(arr) {
write("float64array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_arraybuffer: function(arr) {
write("arraybuffer:");
return this.dispatch(new Uint8Array(arr));
},
_url: function(url7) {
return write("url:" + url7.toString(), "utf8");
},
_map: function(map26) {
write("map:");
var arr = Array.from(map26);
return this._array(arr, options.unorderedSets !== false);
},
_set: function(set2) {
write("set:");
var arr = Array.from(set2);
return this._array(arr, options.unorderedSets !== false);
},
_file: function(file) {
write("file:");
return this.dispatch([file.name, file.size, file.type, file.lastModfied]);
},
_blob: function() {
if (options.ignoreUnknown) {
return write("[blob]");
}
throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n');
},
_domwindow: function() {
return write("domwindow");
},
_bigint: function(number) {
return write("bigint:" + number.toString());
},
/* Node.js standard native objects */
_process: function() {
return write("process");
},
_timer: function() {
return write("timer");
},
_pipe: function() {
return write("pipe");
},
_tcp: function() {
return write("tcp");
},
_udp: function() {
return write("udp");
},
_tty: function() {
return write("tty");
},
_statwatcher: function() {
return write("statwatcher");
},
_securecontext: function() {
return write("securecontext");
},
_connection: function() {
return write("connection");
},
_zlib: function() {
return write("zlib");
},
_context: function() {
return write("context");
},
_nodescript: function() {
return write("nodescript");
},
_httpparser: function() {
return write("httpparser");
},
_dataview: function() {
return write("dataview");
},
_signal: function() {
return write("signal");
},
_fsevent: function() {
return write("fsevent");
},
_tlswrap: function() {
return write("tlswrap");
}
};
}
function PassThrough3() {
return {
buf: "",
write: function(b) {
this.buf += b;
},
end: function(b) {
this.buf += b;
},
read: function() {
return this.buf;
}
};
}
}
});
// ../crypto/object-hasher/lib/index.js
function hashUnknown(object, options) {
if (object === void 0) {
return "00000000000000000000000000000000000000000000";
}
return (0, import_object_hash.default)(object, options);
}
function hashObjectNullableWithPrefix(object) {
if (!object || isEmpty_default(object))
return void 0;
const packageExtensionsChecksum = (0, import_object_hash.default)(object, withSortingOptions);
return `sha256-${packageExtensionsChecksum}`;
}
var import_object_hash, defaultOptions3, withoutSortingOptions, withSortingOptions, hashObjectWithoutSorting, hashObject;
var init_lib70 = __esm({
"../crypto/object-hasher/lib/index.js"() {
"use strict";
import_object_hash = __toESM(require_object_hash(), 1);
init_es();
defaultOptions3 = {
respectType: false,
algorithm: "sha256",
encoding: "base64"
};
withoutSortingOptions = {
...defaultOptions3,
unorderedArrays: false,
unorderedObjects: false,
unorderedSets: false
};
withSortingOptions = {
...defaultOptions3,
unorderedArrays: true,
unorderedObjects: true,
unorderedSets: true
};
hashObjectWithoutSorting = (object, opts3) => hashUnknown(object, {
...withoutSortingOptions,
...opts3
});
hashObject = (object) => hashUnknown(object, withSortingOptions);
}
});
// ../lockfile/utils/lib/nameVerFromPkgSnapshot.js
function nameVerFromPkgSnapshot(depPath, pkgSnapshot) {
const pkgInfo = parse9(depPath);
return {
name: pkgInfo.name,
peerDepGraphHash: pkgInfo.peerDepGraphHash,
version: pkgSnapshot.version ?? pkgInfo.version ?? void 0,
nonSemverVersion: pkgInfo.nonSemverVersion
};
}
var init_nameVerFromPkgSnapshot = __esm({
"../lockfile/utils/lib/nameVerFromPkgSnapshot.js"() {
"use strict";
init_lib68();
}
});
// ../lockfile/utils/lib/packageIdFromSnapshot.js
function packageIdFromSnapshot(depPath, pkgSnapshot) {
if (pkgSnapshot.id)
return pkgSnapshot.id;
return tryGetPackageId(depPath) ?? depPath;
}
var init_packageIdFromSnapshot = __esm({
"../lockfile/utils/lib/packageIdFromSnapshot.js"() {
"use strict";
init_lib68();
}
});
// ../lockfile/utils/lib/packageIsIndependent.js
function packageIsIndependent({ dependencies, optionalDependencies }) {
return dependencies === void 0 && optionalDependencies === void 0;
}
var init_packageIsIndependent = __esm({
"../lockfile/utils/lib/packageIsIndependent.js"() {
"use strict";
}
});
// ../resolving/tarball-url/lib/index.js
function getNpmTarballUrl(pkgName, pkgVersion, opts3) {
const registry = normalizeRegistry(opts3?.registry);
const scopelessName = getScopelessName(pkgName);
return `${registry}${pkgName}/-/${scopelessName}-${removeBuildMetadataFromVersion(pkgVersion)}.tgz`;
}
function isCanonicalRegistryTarballUrl(tarball, pkg, registry) {
const expectedTarball = getNpmTarballUrl(pkg.name, pkg.version, { registry });
const actualTarball = tarball.replace(/%2f/gi, "/");
return removeProtocol(expectedTarball) === removeProtocol(actualTarball);
}
function normalizeRegistry(registry) {
if (!registry)
return "https://registry.npmjs.org/";
return registry.endsWith("/") ? registry : `${registry}/`;
}
function removeBuildMetadataFromVersion(version2) {
const plusPos = version2.indexOf("+");
if (plusPos === -1)
return version2;
return version2.substring(0, plusPos);
}
function getScopelessName(name) {
if (name[0] !== "@") {
return name;
}
return name.split("/")[1];
}
function removeProtocol(url7) {
return url7.replace(/^https?:\/\//i, "");
}
var init_lib71 = __esm({
"../resolving/tarball-url/lib/index.js"() {
"use strict";
}
});
// ../lockfile/utils/lib/pkgSnapshotToResolution.js
import url4 from "node:url";
function pkgSnapshotToResolution(depPath, pkgSnapshot, registries) {
const resolution = pkgSnapshot.resolution;
if (resolution.tarball != null && typeof resolution.tarball !== "string") {
throw new PnpmError("INVALID_TARBALL_RESOLUTION", `Cannot install package "${depPath}": its lockfile entry has a non-string "tarball" field.`);
}
if (Boolean(resolution.type) || resolution.tarball?.startsWith("file:") || resolution.gitHosted === true) {
return pkgSnapshot.resolution;
}
const nonSemverVersion = parse9(depPath).nonSemverVersion;
if (nonSemverVersion?.startsWith("file:")) {
return {
...pkgSnapshot.resolution,
tarball: nonSemverVersion
};
}
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
let registry = "";
if (name != null) {
if (name[0] === "@") {
registry = registries[name.split("/")[0]];
}
}
if (!registry) {
registry = registries.default;
}
let tarball;
if (!resolution.tarball) {
tarball = getTarball(registry);
} else {
tarball = new url4.URL(resolution.tarball, registry.endsWith("/") ? registry : `${registry}/`).toString();
}
return {
...pkgSnapshot.resolution,
tarball
};
function getTarball(registry2) {
if (!name || !version2) {
throw new Error(`Couldn't get tarball URL from dependency path ${depPath}`);
}
return getNpmTarballUrl(name, version2, { registry: registry2 });
}
}
var init_pkgSnapshotToResolution = __esm({
"../lockfile/utils/lib/pkgSnapshotToResolution.js"() {
"use strict";
init_lib68();
init_lib2();
init_lib71();
init_nameVerFromPkgSnapshot();
}
});
// ../lockfile/utils/lib/refIsLocalTarball.js
function refIsLocalTarball(ref) {
return ref.startsWith("file:") && (ref.endsWith(".tgz") || ref.endsWith(".tar.gz") || ref.endsWith(".tar"));
}
function refIsLocalDirectory(ref) {
return ref.startsWith("file:") && !refIsLocalTarball(ref);
}
var init_refIsLocalTarball = __esm({
"../lockfile/utils/lib/refIsLocalTarball.js"() {
"use strict";
}
});
// ../lockfile/utils/lib/toLockfileResolution.js
function toLockfileResolution(pkg, resolution, registry, lockfileIncludeTarballUrl) {
if (resolution.type !== void 0 || !resolution["integrity"]) {
return resolution;
}
const tarball = resolution["tarball"];
if (tarball == null) {
return { integrity: resolution["integrity"] };
}
const gitHosted = resolution.gitHosted === true || isGitHostedTarballUrl(tarball);
if (!lockfileIncludeTarballUrl && !gitHosted && !tarball.startsWith("file:") && isCanonicalRegistryTarballUrl(tarball, pkg, registry)) {
return { integrity: resolution["integrity"] };
}
const { path: path236 } = resolution;
return {
integrity: resolution["integrity"],
tarball,
...gitHosted ? { gitHosted: true } : {},
...path236 == null ? {} : { path: path236 }
};
}
var init_toLockfileResolution = __esm({
"../lockfile/utils/lib/toLockfileResolution.js"() {
"use strict";
init_lib29();
init_lib71();
}
});
// ../lockfile/types/lib/lockfileFileTypes.js
var init_lockfileFileTypes = __esm({
"../lockfile/types/lib/lockfileFileTypes.js"() {
"use strict";
}
});
// ../lockfile/types/lib/index.js
var init_lib72 = __esm({
"../lockfile/types/lib/index.js"() {
"use strict";
init_lockfileFileTypes();
}
});
// ../lockfile/utils/lib/index.js
var init_lib73 = __esm({
"../lockfile/utils/lib/index.js"() {
"use strict";
init_lib68();
init_nameVerFromPkgSnapshot();
init_packageIdFromSnapshot();
init_packageIsIndependent();
init_pkgSnapshotToResolution();
init_refIsLocalTarball();
init_toLockfileResolution();
init_lib72();
init_lib29();
}
});
// ../deps/graph-hasher/lib/index.js
function extractRuntimeNodeVersion(snapshotKey) {
const prefix = "node@runtime:";
if (!snapshotKey.startsWith(prefix))
return void 0;
const versionWithPeers = snapshotKey.slice(prefix.length);
const parenAt = versionWithPeers.indexOf("(");
return parenAt === -1 ? versionWithPeers : versionWithPeers.slice(0, parenAt);
}
function findRuntimeNodeVersion(snapshotKeys) {
for (const key of snapshotKeys) {
const version2 = extractRuntimeNodeVersion(key);
if (version2 != null)
return version2;
}
return void 0;
}
function readSnapshotRuntimePin(children) {
const ref = children?.node;
return ref != null ? extractRuntimeNodeVersion(ref) : void 0;
}
function calcDepState(depsGraph, cache, depPath, opts3) {
const ownPin = readSnapshotRuntimePin(depsGraph[depPath]?.children);
let result2 = engineName(ownPin ?? opts3.nodeVersion);
if (opts3.includeDepGraphHash) {
const depGraphHash = calcDepGraphHash(depsGraph, cache, /* @__PURE__ */ new Set(), depPath, opts3.supportedArchitectures);
result2 += `;deps=${depGraphHash}`;
}
if (opts3.patchFileHash) {
result2 += `;patch=${opts3.patchFileHash}`;
}
return result2;
}
function calcDepGraphHash(depsGraph, cache, parents, depPath, supportedArchitectures) {
if (cache[depPath])
return cache[depPath];
const node = depsGraph[depPath];
if (!node)
return "";
if (!node.fullPkgId) {
if (!node.pkgIdWithPatchHash) {
throw new Error(`pkgIdWithPatchHash is not defined for ${depPath} in depsGraph`);
}
if (!node.resolution) {
throw new Error(`resolution is not defined for ${depPath} in depsGraph`);
}
node.fullPkgId = createFullPkgId(node.pkgIdWithPatchHash, node.resolution, supportedArchitectures);
}
const deps = {};
if (Object.keys(node.children).length && !parents.has(node.fullPkgId)) {
const nextParents = /* @__PURE__ */ new Set([...Array.from(parents), node.fullPkgId]);
for (const alias in node.children) {
if (Object.hasOwn(node.children, alias)) {
const childId = node.children[alias];
deps[alias] = calcDepGraphHash(depsGraph, cache, nextParents, childId, supportedArchitectures);
}
}
}
cache[depPath] = hashObject({
id: node.fullPkgId,
deps
});
return cache[depPath];
}
function* iterateHashedGraphNodes(graph, pkgMetaIterator, allowBuild, supportedArchitectures, nodeVersion) {
let builtDepPaths;
let entries;
if (allowBuild != null) {
const pkgMetaList = Array.from(pkgMetaIterator);
builtDepPaths = computeBuiltDepPaths(pkgMetaList, allowBuild);
entries = pkgMetaList;
} else {
entries = pkgMetaIterator;
}
const ctx = {
graph,
cache: {},
builtDepPaths,
buildRequiredCache: builtDepPaths !== void 0 ? {} : void 0,
supportedArchitectures,
nodeVersion
};
for (const pkgMeta of entries) {
yield {
hash: calcGraphNodeHash(ctx, pkgMeta),
pkgMeta
};
}
}
function calcGraphNodeHash({ graph, cache, builtDepPaths, buildRequiredCache, supportedArchitectures, nodeVersion }, pkgMeta) {
const { name, version: version2, depPath } = pkgMeta;
const includeEngine = builtDepPaths === void 0 || transitivelyRequiresBuild(graph, builtDepPaths, buildRequiredCache ??= {}, depPath, /* @__PURE__ */ new Set());
const ownPin = readSnapshotRuntimePin(graph[depPath]?.children);
const engine = includeEngine ? engineName(ownPin ?? nodeVersion) : null;
const deps = calcDepGraphHash(graph, cache, /* @__PURE__ */ new Set(), depPath, supportedArchitectures);
const hexDigest = hashObjectWithoutSorting({ engine, deps }, { encoding: "hex" });
return formatGlobalVirtualStorePath(name, version2, hexDigest);
}
function calcLeafGlobalVirtualStorePath(fullPkgId, name, version2) {
const depsHash = hashObject({ id: fullPkgId, deps: {} });
const hexDigest = hashObjectWithoutSorting({ engine: null, deps: depsHash }, { encoding: "hex" });
return formatGlobalVirtualStorePath(name, version2, hexDigest);
}
function calcGlobalVirtualStorePathWithSubdeps(fullPkgId, name, version2, subdepIds) {
const childHashes = {};
for (const [alias, childFullPkgId] of Object.entries(subdepIds)) {
childHashes[alias] = hashObject({ id: childFullPkgId, deps: {} });
}
const depsHash = hashObject({ id: fullPkgId, deps: childHashes });
const hexDigest = hashObjectWithoutSorting({ engine: null, deps: depsHash }, { encoding: "hex" });
return formatGlobalVirtualStorePath(name, version2, hexDigest);
}
function formatGlobalVirtualStorePath(name, version2, hexDigest) {
assertNoPathTraversal(version2);
const prefix = name.startsWith("@") ? "" : "@/";
return `${prefix}${name}/${version2}/${hexDigest}`;
}
function assertNoPathTraversal(version2) {
if (version2.split(/[/\\]/).includes("..")) {
const error = new Error(`Refusing to build a virtual-store path with the traversal version segment ${JSON.stringify(version2)}`);
error.code = "ERR_PNPM_INVALID_DEPENDENCY_NAME";
throw error;
}
}
function* iteratePkgMeta(lockfile, graph) {
if (lockfile.packages == null) {
return;
}
for (const depPath in lockfile.packages) {
if (!Object.hasOwn(lockfile.packages, depPath)) {
continue;
}
const pkgSnapshot = lockfile.packages[depPath];
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
yield {
name,
version: version2,
depPath,
pkgIdWithPatchHash: graph[depPath]?.pkgIdWithPatchHash ?? getPkgIdWithPatchHash(depPath),
pkgSnapshot
};
}
}
function lockfileToDepGraph(lockfile, supportedArchitectures) {
const graph = {};
if (lockfile.packages != null) {
for (const [depPath, pkgSnapshot] of Object.entries(lockfile.packages)) {
const children = lockfileDepsToGraphChildren({
...pkgSnapshot.dependencies,
...pkgSnapshot.optionalDependencies
});
graph[depPath] = {
children,
fullPkgId: createFullPkgId(getPkgIdWithPatchHash(depPath), pkgSnapshot.resolution, supportedArchitectures)
};
}
}
return graph;
}
function computeBuiltDepPaths(entries, allowBuild) {
const builtDepPaths = /* @__PURE__ */ new Set();
for (const entry of entries) {
if (allowBuild(entry.depPath) === true) {
builtDepPaths.add(entry.depPath);
}
}
return builtDepPaths;
}
function transitivelyRequiresBuild(graph, builtDepPaths, cache, depPath, parents) {
if (depPath in cache)
return cache[depPath];
if (builtDepPaths.has(depPath)) {
cache[depPath] = true;
return true;
}
const node = graph[depPath];
if (!node) {
cache[depPath] = false;
return false;
}
if (parents.has(depPath)) {
return false;
}
const nextParents = /* @__PURE__ */ new Set([...parents, depPath]);
for (const childDepPath of Object.values(node.children)) {
if (transitivelyRequiresBuild(graph, builtDepPaths, cache, childDepPath, nextParents)) {
cache[depPath] = true;
return true;
}
}
cache[depPath] = false;
return false;
}
function lockfileDepsToGraphChildren(deps) {
const children = {};
for (const [alias, reference] of Object.entries(deps)) {
const depPath = refToRelative(reference, alias);
if (depPath) {
children[alias] = depPath;
}
}
return children;
}
function createFullPkgId(pkgIdWithPatchHash, resolution, supportedArchitectures) {
if ("integrity" in resolution && resolution.integrity != null) {
return `${pkgIdWithPatchHash}:${resolution.integrity}`;
}
if ("type" in resolution && resolution.type === "variations") {
const selector = resolvePlatformSelector(supportedArchitectures, {
platform: process.platform,
arch: process.arch,
libc: (0, import_detect_libc2.familySync)()
});
const variant = selectPlatformVariant(resolution.variants, selector);
const chosenResolution = variant?.resolution;
if (chosenResolution && "integrity" in chosenResolution && chosenResolution.integrity != null) {
return `${pkgIdWithPatchHash}:${chosenResolution.integrity}`;
}
}
return `${pkgIdWithPatchHash}:${hashObject(resolution)}`;
}
var import_detect_libc2;
var init_lib74 = __esm({
"../deps/graph-hasher/lib/index.js"() {
"use strict";
init_lib70();
init_lib68();
init_lib26();
init_lib73();
init_lib29();
import_detect_libc2 = __toESM(require_detect_libc(), 1);
}
});
// ../deps/graph-sequencer/lib/index.js
function graphSequencer(graph, includedNodes = [...graph.keys()]) {
const reverseGraph2 = /* @__PURE__ */ new Map();
for (const key of graph.keys()) {
reverseGraph2.set(key, []);
}
const nodes = new Set(includedNodes);
const visited = /* @__PURE__ */ new Set();
const outDegree = /* @__PURE__ */ new Map();
for (const [from5, edges] of graph.entries()) {
outDegree.set(from5, 0);
for (const to of edges) {
if (nodes.has(from5) && nodes.has(to)) {
changeOutDegree(from5, 1);
reverseGraph2.get(to).push(from5);
}
}
if (!nodes.has(from5)) {
visited.add(from5);
}
}
const chunks = [];
const cycles = [];
let safe = true;
while (nodes.size) {
const chunk = [];
let minDegree = Number.MAX_SAFE_INTEGER;
for (const node of nodes) {
const degree = outDegree.get(node);
if (degree === 0) {
chunk.push(node);
}
minDegree = Math.min(minDegree, degree);
}
if (minDegree === 0) {
chunk.forEach(removeNode);
chunks.push(chunk);
} else {
const cycleNodes = [];
for (const node of nodes) {
const cycle = findCycle(node);
if (cycle.length) {
cycles.push(cycle);
cycle.forEach(removeNode);
cycleNodes.push(...cycle);
if (cycle.length > 1) {
safe = false;
}
}
}
chunks.push(cycleNodes);
}
}
return { safe, chunks, cycles };
function changeOutDegree(node, value) {
const degree = outDegree.get(node) ?? 0;
outDegree.set(node, degree + value);
}
function removeNode(node) {
for (const from5 of reverseGraph2.get(node)) {
changeOutDegree(from5, -1);
}
visited.add(node);
nodes.delete(node);
}
function findCycle(startNode) {
const queue2 = [[startNode, [startNode]]];
const cycleVisited = /* @__PURE__ */ new Set();
const cycles2 = [];
while (queue2.length) {
const [id, cycle] = queue2.shift();
for (const to of graph.get(id)) {
if (to === startNode) {
cycleVisited.add(to);
cycles2.push([...cycle]);
continue;
}
if (visited.has(to) || cycleVisited.has(to)) {
continue;
}
cycleVisited.add(to);
queue2.push([to, [...cycle, to]]);
}
}
if (!cycles2.length) {
return [];
}
cycles2.sort((a2, b) => b.length - a2.length);
return cycles2[0];
}
}
var init_lib75 = __esm({
"../deps/graph-sequencer/lib/index.js"() {
"use strict";
}
});
// ../config/normalize-registries/lib/index.js
function normalizeRegistries(registries) {
if (registries == null)
return DEFAULT_REGISTRIES;
const normalizeRegistries2 = map_default(import_normalize_registry_url6.default, registries);
return {
...DEFAULT_REGISTRIES,
...normalizeRegistries2
};
}
var import_normalize_registry_url6, DEFAULT_REGISTRIES;
var init_lib76 = __esm({
"../config/normalize-registries/lib/index.js"() {
"use strict";
import_normalize_registry_url6 = __toESM(require_normalize_registry_url(), 1);
init_es();
DEFAULT_REGISTRIES = {
default: "https://registry.npmjs.org/",
"@jsr": "https://npm.jsr.io/"
};
}
});
// ../installing/modules-yaml/lib/index.js
import path65 from "node:path";
async function readModulesManifest(modulesDir) {
const modulesYamlPath = path65.join(modulesDir, MODULES_FILENAME);
let modulesRaw;
try {
modulesRaw = await readYamlFile(modulesYamlPath);
if (!modulesRaw)
return modulesRaw;
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
return null;
}
const modules = {
...modulesRaw,
ignoredBuilds: modulesRaw.ignoredBuilds ? new Set(modulesRaw.ignoredBuilds) : void 0
};
if (!modules.virtualStoreDir) {
modules.virtualStoreDir = path65.join(modulesDir, ".pnpm");
} else if (!path65.isAbsolute(modules.virtualStoreDir)) {
modules.virtualStoreDir = path65.join(modulesDir, modules.virtualStoreDir);
}
switch (modules.shamefullyHoist) {
case true:
if (modules.publicHoistPattern == null) {
modules.publicHoistPattern = ["*"];
}
if (modules.hoistedAliases != null && !modules.hoistedDependencies) {
modules.hoistedDependencies = map_default((aliases) => Object.fromEntries(aliases.map((alias) => [alias, "public"])), modules.hoistedAliases);
}
break;
case false:
if (modules.publicHoistPattern == null) {
modules.publicHoistPattern = [];
}
if (modules.hoistedAliases != null && !modules.hoistedDependencies) {
modules.hoistedDependencies = {};
for (const depPath of Object.keys(modules.hoistedAliases)) {
modules.hoistedDependencies[depPath] = {};
for (const alias of modules.hoistedAliases[depPath]) {
modules.hoistedDependencies[depPath][alias] = "private";
}
}
}
break;
}
if (!modules.prunedAt) {
modules.prunedAt = (/* @__PURE__ */ new Date()).toUTCString();
}
if (!modules.virtualStoreDirMaxLength) {
modules.virtualStoreDirMaxLength = 120;
}
return modules;
}
async function writeModulesManifest(modulesDir, modules) {
const modulesYamlPath = path65.join(modulesDir, MODULES_FILENAME);
const saveModules = { ...modules, ignoredBuilds: modules.ignoredBuilds ? Array.from(modules.ignoredBuilds) : void 0 };
if (saveModules.skipped)
saveModules.skipped.sort();
if (saveModules.hoistPattern == null || saveModules.hoistPattern === "") {
delete saveModules.hoistPattern;
}
if (saveModules.publicHoistPattern == null) {
delete saveModules.publicHoistPattern;
}
if (!saveModules.virtualStoreOnly) {
delete saveModules.virtualStoreOnly;
}
if (saveModules.hoistedAliases == null || saveModules.hoistPattern == null && saveModules.publicHoistPattern == null) {
delete saveModules.hoistedAliases;
}
if (!(0, import_is_windows7.default)()) {
saveModules.virtualStoreDir = path65.relative(modulesDir, saveModules.virtualStoreDir);
}
await lib_default.mkdir(modulesDir, { recursive: true });
await lib_default.writeFile(modulesYamlPath, JSON.stringify(saveModules, null, 2));
}
var import_is_windows7, MODULES_FILENAME;
var init_lib77 = __esm({
"../installing/modules-yaml/lib/index.js"() {
"use strict";
init_lib14();
import_is_windows7 = __toESM(require_is_windows(), 1);
init_es();
init_read_yaml_file();
MODULES_FILENAME = ".modules.yaml";
}
});
// ../object/key-sorting/lib/index.js
function sortDirectKeys(obj) {
return sortKeys(obj, {
compare: import_util7.lexCompare,
deep: false
});
}
function sortDeepKeys(obj) {
return sortKeys(obj, {
compare: import_util7.lexCompare,
deep: true
});
}
function sortKeysByPriority(opts3, obj) {
const compare3 = compareWithPriority.bind(null, opts3.priority);
return sortKeys(obj, {
compare: compare3,
deep: opts3.deep
});
}
function compareWithPriority(priority, left, right) {
const leftPriority = priority[left];
const rightPriority = priority[right];
if (leftPriority != null && rightPriority != null)
return leftPriority - rightPriority;
if (leftPriority != null)
return -1;
if (rightPriority != null)
return 1;
return (0, import_util7.lexCompare)(left, right);
}
var import_util7;
var init_lib78 = __esm({
"../object/key-sorting/lib/index.js"() {
"use strict";
import_util7 = __toESM(require_dist4(), 1);
init_sort_keys();
}
});
// ../lockfile/fs/lib/sortLockfileKeys.js
function sortLockfileKeys(lockfile) {
if (lockfile.importers != null) {
lockfile.importers = sortDirectKeys(lockfile.importers);
for (const [importerId, importer] of Object.entries(lockfile.importers)) {
lockfile.importers[importerId] = sortKeysByPriority({
priority: ROOT_KEYS_ORDER,
deep: true
}, importer);
}
}
if (lockfile.packages != null) {
lockfile.packages = sortDirectKeys(lockfile.packages);
for (const [pkgId, pkg] of Object.entries(lockfile.packages)) {
lockfile.packages[pkgId] = sortKeysByPriority({
priority: ORDERED_KEYS,
deep: true
}, pkg);
}
}
if (lockfile.snapshots != null) {
lockfile.snapshots = sortDirectKeys(lockfile.snapshots);
for (const [pkgId, pkg] of Object.entries(lockfile.snapshots)) {
lockfile.snapshots[pkgId] = sortKeysByPriority({
priority: ORDERED_KEYS,
deep: true
}, pkg);
}
}
if ("catalogs" in lockfile && lockfile.catalogs != null) {
lockfile.catalogs = sortDirectKeys(lockfile.catalogs);
for (const [catalogName, catalog] of Object.entries(lockfile.catalogs)) {
lockfile.catalogs[catalogName] = sortDeepKeys(catalog);
}
}
if ("time" in lockfile && lockfile.time != null) {
lockfile.time = sortDirectKeys(lockfile.time);
}
if ("patchedDependencies" in lockfile && lockfile.patchedDependencies != null) {
lockfile.patchedDependencies = sortDirectKeys(lockfile.patchedDependencies);
}
return sortKeysByPriority({ priority: ROOT_KEYS_ORDER }, lockfile);
}
var ORDERED_KEYS, ROOT_KEYS, ROOT_KEYS_ORDER;
var init_sortLockfileKeys = __esm({
"../lockfile/fs/lib/sortLockfileKeys.js"() {
"use strict";
init_lib78();
ORDERED_KEYS = {
resolution: 1,
id: 2,
name: 3,
version: 4,
engines: 5,
cpu: 6,
os: 7,
libc: 8,
deprecated: 9,
hasBin: 10,
prepare: 11,
requiresBuild: 12,
bundleDependencies: 13,
peerDependencies: 14,
peerDependenciesMeta: 15,
dependencies: 16,
optionalDependencies: 17,
transitivePeerDependencies: 18,
dev: 19,
optional: 20
};
ROOT_KEYS = [
"lockfileVersion",
"settings",
"catalogs",
"overrides",
"packageExtensionsChecksum",
"pnpmfileChecksum",
"patchedDependencies",
"importers",
"packages"
];
ROOT_KEYS_ORDER = Object.fromEntries(ROOT_KEYS.map((key, index2) => [key, index2]));
}
});
// ../lockfile/fs/lib/lockfileFormatConverters.js
function convertToLockfileFile(lockfile) {
const packages = {};
const snapshots = {};
for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) {
snapshots[depPath] = pick_default([
"dependencies",
"optionalDependencies",
"transitivePeerDependencies",
"optional",
"id"
], pkg);
const pkgId = removeSuffix(depPath);
if (!packages[pkgId]) {
packages[pkgId] = pick_default([
"bundledDependencies",
"cpu",
"deprecated",
"engines",
"hasBin",
"libc",
"name",
"os",
"peerDependencies",
"peerDependenciesMeta",
"resolution",
"version"
], pkg);
}
}
const newLockfile = {
...lockfile,
snapshots,
packages,
lockfileVersion: LOCKFILE_VERSION,
importers: mapValues(lockfile.importers, convertProjectSnapshotToInlineSpecifiersFormat)
};
if (newLockfile.settings?.peersSuffixMaxLength === 1e3) {
newLockfile.settings = omit_default(["peersSuffixMaxLength"], newLockfile.settings);
}
if (newLockfile.settings?.injectWorkspacePackages === false) {
delete newLockfile.settings.injectWorkspacePackages;
}
return normalizeLockfile(newLockfile);
}
function normalizeLockfile(lockfile) {
const lockfileToSave = {
...lockfile,
importers: map_default((importer) => {
const normalizedImporter = {};
if (importer.dependenciesMeta != null && !isEmpty_default(importer.dependenciesMeta)) {
normalizedImporter.dependenciesMeta = importer.dependenciesMeta;
}
for (const depType of DEPENDENCIES_FIELDS) {
if (!isEmpty_default(importer[depType] ?? {})) {
normalizedImporter[depType] = importer[depType];
}
}
if (importer.publishDirectory) {
normalizedImporter.publishDirectory = importer.publishDirectory;
}
return normalizedImporter;
}, lockfile.importers ?? {})
};
if (isEmpty_default(lockfileToSave.packages) || lockfileToSave.packages == null) {
delete lockfileToSave.packages;
}
if (isEmpty_default(lockfileToSave.snapshots) || lockfileToSave.snapshots == null) {
delete lockfileToSave.snapshots;
}
if (lockfileToSave.time) {
lockfileToSave.time = pruneTimeInLockfile(lockfileToSave.time, lockfile.importers ?? {});
}
if (lockfileToSave.catalogs != null && isEmpty_default(lockfileToSave.catalogs)) {
delete lockfileToSave.catalogs;
}
if (lockfileToSave.overrides != null && isEmpty_default(lockfileToSave.overrides)) {
delete lockfileToSave.overrides;
}
if (lockfileToSave.patchedDependencies != null && isEmpty_default(lockfileToSave.patchedDependencies)) {
delete lockfileToSave.patchedDependencies;
}
if (!lockfileToSave.packageExtensionsChecksum) {
delete lockfileToSave.packageExtensionsChecksum;
}
if (!lockfileToSave.ignoredOptionalDependencies?.length) {
delete lockfileToSave.ignoredOptionalDependencies;
}
if (!lockfileToSave.pnpmfileChecksum) {
delete lockfileToSave.pnpmfileChecksum;
}
return lockfileToSave;
}
function pruneTimeInLockfile(time, importers) {
const rootDepPaths = /* @__PURE__ */ new Set();
for (const importer of Object.values(importers)) {
for (const depType of DEPENDENCIES_FIELDS) {
for (const [depName, ref] of Object.entries(importer[depType] ?? {})) {
const suffixStart = ref.version.indexOf("(");
const refWithoutPeerDepGraphHash = suffixStart === -1 ? ref.version : ref.version.slice(0, suffixStart);
const depPath = refToRelative(refWithoutPeerDepGraphHash, depName);
if (!depPath)
continue;
rootDepPaths.add(depPath);
}
}
}
return pickBy_default((_, depPath) => rootDepPaths.has(depPath), time);
}
function convertToLockfileObject(lockfile) {
const { importers, ...rest } = lockfile;
const packages = {};
for (const [depPath, pkg] of Object.entries(lockfile.snapshots ?? {})) {
const pkgId = removeSuffix(depPath);
const snapshot = Object.assign(pkg, lockfile.packages?.[pkgId]);
if (snapshot.resolution == null) {
const ref = parse9(depPath).nonSemverVersion;
if (ref != null && ref.startsWith("file:") && !LOCAL_TARBALL_RE.test(ref)) {
snapshot.resolution = { directory: ref.slice("file:".length), type: "directory" };
}
}
packages[depPath] = snapshot;
enrichGitHostedFlag(packages[depPath]?.resolution);
}
return {
...omit_default(["snapshots"], rest),
patchedDependencies: migratePatchedDependencies(rest.patchedDependencies),
packages,
importers: mapValues(importers ?? {}, revertProjectSnapshot)
};
}
function enrichGitHostedFlag(resolution) {
if (resolution == null)
return;
if (resolution.type !== void 0)
return;
if (resolution.gitHosted != null)
return;
if (resolution.tarball != null && isGitHostedTarballUrl(resolution.tarball)) {
resolution.gitHosted = true;
}
}
function migratePatchedDependencies(patchedDependencies) {
if (!patchedDependencies)
return void 0;
const result2 = {};
for (const [key, value] of Object.entries(patchedDependencies)) {
result2[key] = typeof value === "string" ? value : value.hash;
}
return result2;
}
function convertProjectSnapshotToInlineSpecifiersFormat(projectSnapshot) {
const { specifiers, ...rest } = projectSnapshot;
if (specifiers == null)
return projectSnapshot;
const convertBlock = (block) => block != null ? convertResolvedDependenciesToInlineSpecifiersFormat(block, { specifiers }) : block;
return {
...rest,
dependencies: convertBlock(projectSnapshot.dependencies ?? {}),
optionalDependencies: convertBlock(projectSnapshot.optionalDependencies ?? {}),
devDependencies: convertBlock(projectSnapshot.devDependencies ?? {})
};
}
function convertResolvedDependenciesToInlineSpecifiersFormat(resolvedDependencies, { specifiers }) {
return mapValues(resolvedDependencies, (version2, depName) => ({
specifier: specifiers[depName],
version: version2
}));
}
function revertProjectSnapshot(from5) {
const specifiers = {};
function moveSpecifiers(from6) {
const resolvedDependencies = {};
for (const [depName, { specifier, version: version2 }] of Object.entries(from6)) {
const existingValue = specifiers[depName];
if (existingValue != null && existingValue !== specifier) {
throw new Error(`Project snapshot lists the same dependency more than once with conflicting versions: ${depName}`);
}
specifiers[depName] = specifier;
resolvedDependencies[depName] = version2;
}
return resolvedDependencies;
}
const dependencies = from5.dependencies == null ? from5.dependencies : moveSpecifiers(from5.dependencies);
const devDependencies = from5.devDependencies == null ? from5.devDependencies : moveSpecifiers(from5.devDependencies);
const optionalDependencies = from5.optionalDependencies == null ? from5.optionalDependencies : moveSpecifiers(from5.optionalDependencies);
return {
...from5,
specifiers,
dependencies,
devDependencies,
optionalDependencies
};
}
function mapValues(obj, mapper) {
const result2 = {};
for (const [key, value] of Object.entries(obj)) {
result2[key] = mapper(value, key);
}
return result2;
}
var LOCAL_TARBALL_RE;
var init_lockfileFormatConverters = __esm({
"../lockfile/fs/lib/lockfileFormatConverters.js"() {
"use strict";
init_lib();
init_lib68();
init_lib73();
init_lib9();
init_es();
LOCAL_TARBALL_RE = /\.(?:tgz|tar\.gz|tar)$/i;
}
});
// ../lockfile/fs/lib/lockfileName.js
async function getWantedLockfileName(opts3 = {}) {
if (opts3.useGitBranchLockfile && !opts3.mergeGitBranchLockfiles) {
const currentBranchName = await getCurrentBranch({ cwd: opts3.cwd });
if (currentBranchName) {
return WANTED_LOCKFILE.replace(".yaml", `.${stringifyBranchName(currentBranchName)}.yaml`);
}
}
return WANTED_LOCKFILE;
}
function stringifyBranchName(branchName = "") {
return branchName.replace(/[^\w.-]/g, "!").toLowerCase();
}
var init_lockfileName = __esm({
"../lockfile/fs/lib/lockfileName.js"() {
"use strict";
init_lib();
init_lib61();
}
});
// ../lockfile/fs/lib/logger.js
var lockfileLogger;
var init_logger3 = __esm({
"../lockfile/fs/lib/logger.js"() {
"use strict";
init_lib3();
lockfileLogger = logger("lockfile");
}
});
// ../lockfile/fs/lib/yamlDocuments.js
import { constants as constants4 } from "node:fs";
import { lstat, open as open2 } from "node:fs/promises";
import { StringDecoder as StringDecoder3 } from "node:string_decoder";
import util19 from "node:util";
async function streamReadFirstYamlDocument(filePath, readBufferSize = READ_BUFFER_SIZE) {
let fileHandle;
let buffer3 = "";
let firstChunk = true;
try {
fileHandle = await openLockfileNoFollow(filePath);
const decoder2 = new StringDecoder3("utf8");
const readBuffer = Buffer.allocUnsafe(normalizeReadBufferSize(readBufferSize));
let position3 = 0;
while (true) {
const { bytesRead } = await fileHandle.read(readBuffer, 0, readBuffer.length, position3);
if (bytesRead === 0)
break;
position3 += bytesRead;
let chunk = decoder2.write(readBuffer.subarray(0, bytesRead));
if (firstChunk && chunk.length > 0) {
chunk = stripBom(chunk);
firstChunk = false;
}
buffer3 += chunk;
buffer3 = buffer3.replace(/\r\n/g, "\n");
if (canRejectDocumentStart(buffer3)) {
return null;
}
const sep2 = buffer3.indexOf(YAML_DOCUMENT_SEPARATOR, YAML_DOCUMENT_START.length);
if (sep2 !== -1) {
return buffer3.slice(YAML_DOCUMENT_START.length, sep2);
}
}
const remainder = decoder2.end();
if (remainder.length > 0) {
buffer3 += firstChunk ? stripBom(remainder) : remainder;
buffer3 = buffer3.replace(/\r\n/g, "\n");
}
return null;
} catch (err2) {
if (util19.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return null;
}
throw err2;
} finally {
await fileHandle?.close().catch(() => {
});
}
}
async function readLockfileToStringNoFollow(filePath) {
let fileHandle;
try {
fileHandle = await openLockfileNoFollow(filePath);
return await fileHandle.readFile("utf8");
} catch (err2) {
if (util19.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return null;
}
throw err2;
} finally {
await fileHandle?.close().catch(() => {
});
}
}
async function openLockfileNoFollow(filePath) {
await ensureLockfileIsNotSymlink(filePath);
try {
return await open2(filePath, LOCKFILE_READ_FLAGS);
} catch (err2) {
if (util19.types.isNativeError(err2) && "code" in err2 && err2.code === "ELOOP") {
throw symlinkedLockfileError(filePath);
}
throw err2;
}
}
async function ensureLockfileIsNotSymlink(filePath) {
let stat2;
try {
stat2 = await lstat(filePath);
} catch (err2) {
if (util19.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return;
}
throw err2;
}
if (stat2.isSymbolicLink()) {
throw symlinkedLockfileError(filePath);
}
}
function symlinkedLockfileError(filePath) {
return new PnpmError("LOCKFILE_IS_SYMLINK", `Refusing to read or write symlinked lockfile at ${filePath}`);
}
function canRejectDocumentStart(buffer3) {
if (buffer3.length < YAML_DOCUMENT_START.length)
return false;
if (buffer3 === "---\r")
return false;
return !buffer3.startsWith(YAML_DOCUMENT_START);
}
function normalizeReadBufferSize(readBufferSize) {
const size = Number.isFinite(readBufferSize) ? Math.floor(readBufferSize) : READ_BUFFER_SIZE;
return size > 0 ? size : READ_BUFFER_SIZE;
}
function extractMainDocument(content) {
content = content.replace(/\r\n/g, "\n");
if (!content.startsWith(YAML_DOCUMENT_START))
return content;
const sep2 = content.indexOf(YAML_DOCUMENT_SEPARATOR, YAML_DOCUMENT_START.length);
if (sep2 === -1)
return "";
return content.slice(sep2 + YAML_DOCUMENT_SEPARATOR.length);
}
var YAML_DOCUMENT_SEPARATOR, YAML_DOCUMENT_START, READ_BUFFER_SIZE, LOCKFILE_READ_FLAGS;
var init_yamlDocuments = __esm({
"../lockfile/fs/lib/yamlDocuments.js"() {
"use strict";
init_lib2();
init_strip_bom();
YAML_DOCUMENT_SEPARATOR = "\n---\n";
YAML_DOCUMENT_START = "---\n";
READ_BUFFER_SIZE = 64 * 1024;
LOCKFILE_READ_FLAGS = constants4.O_RDONLY | (process.platform === "win32" ? 0 : constants4.O_NOFOLLOW);
}
});
// ../lockfile/fs/lib/write.js
import { promises as fs39 } from "node:fs";
import path66 from "node:path";
function lockfileYamlDump(obj) {
return jsYaml.dump(obj, LOCKFILE_YAML_FORMAT);
}
async function writeWantedLockfile(pkgPath, wantedLockfile, opts3) {
const wantedLockfileName = opts3?.lockfileName ?? await getWantedLockfileName(opts3);
return writeLockfile(wantedLockfileName, pkgPath, wantedLockfile);
}
async function writeCurrentLockfile(virtualStoreDir, currentLockfile) {
if (isEmptyLockfile(currentLockfile)) {
await rimraf(path66.join(virtualStoreDir, "lock.yaml"));
return void 0;
}
await fs39.mkdir(virtualStoreDir, { recursive: true });
return writeLockfile("lock.yaml", virtualStoreDir, currentLockfile);
}
async function writeLockfile(lockfileFilename, pkgPath, wantedLockfile) {
const lockfilePath = path66.join(pkgPath, lockfileFilename);
const lockfileToStringify = convertToLockfileFile(wantedLockfile);
const yamlDoc = yamlStringify(lockfileToStringify);
if (lockfileFilename === WANTED_LOCKFILE) {
const envDoc = await streamReadFirstYamlDocument(lockfilePath);
const envPrefix = envDoc != null ? `${YAML_DOCUMENT_START}${envDoc}${YAML_DOCUMENT_SEPARATOR}` : "";
await (0, import_write_file_atomic5.default)(lockfilePath, `${envPrefix}${yamlDoc}`);
} else {
await (0, import_write_file_atomic5.default)(lockfilePath, yamlDoc);
}
return convertToLockfileObject(stripUndefinedDeep(lockfileToStringify));
}
function stripUndefinedDeep(value) {
if (value === null || typeof value !== "object")
return value;
if (Array.isArray(value))
return value.map(stripUndefinedDeep);
const out = {};
for (const [k2, v] of Object.entries(value)) {
if (v === void 0)
continue;
out[k2] = stripUndefinedDeep(v);
}
return out;
}
function yamlStringify(lockfile) {
const sortedLockfile = sortLockfileKeys(lockfile);
return lockfileYamlDump(sortedLockfile);
}
function isEmptyLockfile(lockfile) {
return Object.values(lockfile.importers).every((importer) => isEmpty_default(importer.specifiers ?? {}) && isEmpty_default(importer.dependencies ?? {}));
}
async function writeLockfiles(opts3) {
const wantedLockfileName = opts3.wantedLockfileName ?? await getWantedLockfileName(opts3);
const wantedLockfilePath = path66.join(opts3.wantedLockfileDir, wantedLockfileName);
const currentLockfilePath = path66.join(opts3.currentLockfileDir, "lock.yaml");
const wantedLockfileToStringify = convertToLockfileFile(opts3.wantedLockfile);
const yamlDoc = yamlStringify(wantedLockfileToStringify);
let envPrefix = "";
if (wantedLockfileName === WANTED_LOCKFILE) {
const envDoc = await streamReadFirstYamlDocument(wantedLockfilePath);
if (envDoc != null) {
envPrefix = `${YAML_DOCUMENT_START}${envDoc}${YAML_DOCUMENT_SEPARATOR}`;
}
}
const wantedYamlDoc = `${envPrefix}${yamlDoc}`;
if (opts3.wantedLockfile === opts3.currentLockfile) {
await Promise.all([
(0, import_write_file_atomic5.default)(wantedLockfilePath, wantedYamlDoc),
(async () => {
if (isEmptyLockfile(opts3.wantedLockfile)) {
await rimraf(currentLockfilePath);
} else {
await fs39.mkdir(path66.dirname(currentLockfilePath), { recursive: true });
await (0, import_write_file_atomic5.default)(currentLockfilePath, yamlDoc);
}
})()
]);
const normalized = convertToLockfileObject(stripUndefinedDeep(wantedLockfileToStringify));
return {
wantedLockfile: normalized,
currentLockfile: isEmptyLockfile(opts3.wantedLockfile) ? void 0 : normalized
};
}
lockfileLogger.debug({
message: `\`${WANTED_LOCKFILE}\` differs from \`${path66.relative(opts3.wantedLockfileDir, currentLockfilePath)}\``,
prefix: opts3.wantedLockfileDir
});
const currentLockfileToStringify = convertToLockfileFile(opts3.currentLockfile);
const currentYamlDoc = yamlStringify(currentLockfileToStringify);
const currentIsEmpty = isEmptyLockfile(opts3.currentLockfile);
await Promise.all([
(0, import_write_file_atomic5.default)(wantedLockfilePath, wantedYamlDoc),
(async () => {
if (currentIsEmpty) {
await rimraf(currentLockfilePath);
} else {
await fs39.mkdir(path66.dirname(currentLockfilePath), { recursive: true });
await (0, import_write_file_atomic5.default)(currentLockfilePath, currentYamlDoc);
}
})()
]);
return {
wantedLockfile: convertToLockfileObject(stripUndefinedDeep(wantedLockfileToStringify)),
currentLockfile: currentIsEmpty ? void 0 : convertToLockfileObject(stripUndefinedDeep(currentLockfileToStringify))
};
}
var import_write_file_atomic5, LOCKFILE_YAML_FORMAT;
var init_write = __esm({
"../lockfile/fs/lib/write.js"() {
"use strict";
init_lib();
init_rimraf();
init_js_yaml();
init_es();
import_write_file_atomic5 = __toESM(require_lib10(), 1);
init_lockfileFormatConverters();
init_lockfileName();
init_logger3();
init_sortLockfileKeys();
init_yamlDocuments();
LOCKFILE_YAML_FORMAT = {
blankLines: true,
lineWidth: -1,
noCompatMode: true,
noRefs: true,
sortKeys: false
};
}
});
// ../lockfile/fs/lib/envLockfile.js
import path67 from "node:path";
function createEnvLockfile() {
return {
lockfileVersion: LOCKFILE_VERSION,
importers: {
".": {
configDependencies: {}
}
},
packages: {},
snapshots: {}
};
}
async function readEnvLockfile(rootDir) {
const lockfilePath = path67.join(rootDir, WANTED_LOCKFILE);
const rawContent = await streamReadFirstYamlDocument(lockfilePath);
if (rawContent == null) {
return null;
}
const parsed = jsYaml.load(rawContent);
if (parsed == null || typeof parsed !== "object") {
return null;
}
const lockfile = parsed;
if (typeof lockfile.lockfileVersion !== "string") {
return null;
}
if (lockfile.importers == null || typeof lockfile.importers !== "object") {
return null;
}
if (lockfile.packages == null || typeof lockfile.packages !== "object") {
return null;
}
if (lockfile.snapshots == null || typeof lockfile.snapshots !== "object") {
return null;
}
const envLockfile = parsed;
if (!envLockfile.importers["."]) {
envLockfile.importers["."] = { configDependencies: {} };
} else if (!envLockfile.importers["."].configDependencies) {
envLockfile.importers["."].configDependencies = {};
}
return envLockfile;
}
async function writeEnvLockfile(rootDir, lockfile) {
const lockfilePath = path67.join(rootDir, WANTED_LOCKFILE);
const sorted = sortLockfileKeys(lockfile);
const envYaml = lockfileYamlDump(sorted);
const existing = await readLockfileToStringNoFollow(lockfilePath);
const mainDoc = existing == null ? "" : extractMainDocument(existing);
const combined = `---
${envYaml}
---
${mainDoc}`;
return (0, import_write_file_atomic6.default)(lockfilePath, combined);
}
var import_write_file_atomic6;
var init_envLockfile = __esm({
"../lockfile/fs/lib/envLockfile.js"() {
"use strict";
init_lib();
init_js_yaml();
import_write_file_atomic6 = __toESM(require_lib10(), 1);
init_sortLockfileKeys();
init_write();
init_yamlDocuments();
}
});
// ../lockfile/fs/lib/existsWantedLockfile.js
import fs40 from "node:fs";
import path68 from "node:path";
async function existsNonEmptyWantedLockfile(pkgPath, opts3 = {
useGitBranchLockfile: false,
mergeGitBranchLockfiles: false
}) {
const wantedLockfile = await getWantedLockfileName(opts3);
return new Promise((resolve4, reject3) => {
fs40.access(path68.join(pkgPath, wantedLockfile), (err2) => {
if (err2 == null) {
resolve4(true);
return;
}
if (err2.code === "ENOENT") {
resolve4(false);
return;
}
reject3(err2);
});
});
}
var init_existsWantedLockfile = __esm({
"../lockfile/fs/lib/existsWantedLockfile.js"() {
"use strict";
init_lockfileName();
}
});
// ../lockfile/fs/lib/getLockfileImporterId.js
import path69 from "node:path";
function getLockfileImporterId(lockfileDir, prefix) {
return (0, import_normalize_path4.default)(path69.relative(lockfileDir, prefix)) || ".";
}
var import_normalize_path4;
var init_getLockfileImporterId = __esm({
"../lockfile/fs/lib/getLockfileImporterId.js"() {
"use strict";
import_normalize_path4 = __toESM(require_normalize_path(), 1);
}
});
// ../lockfile/fs/lib/gitBranchLockfile.js
import fs41, { promises as fsp } from "node:fs";
import path70 from "node:path";
async function getGitBranchLockfileNames(lockfileDir) {
const files = await fsp.readdir(lockfileDir);
return files.filter((file) => GIT_BRANCH_LOCKFILE_NAME.test(file));
}
function getGitBranchLockfileNamesSync(lockfileDir) {
const files = fs41.readdirSync(lockfileDir);
return files.filter((file) => GIT_BRANCH_LOCKFILE_NAME.test(file));
}
async function cleanGitBranchLockfiles(lockfileDir) {
const gitBranchLockfiles = await getGitBranchLockfileNames(lockfileDir);
await Promise.all(gitBranchLockfiles.map(async (file) => {
const filepath = path70.join(lockfileDir, file);
await fsp.unlink(filepath);
}));
}
var GIT_BRANCH_LOCKFILE_NAME;
var init_gitBranchLockfile = __esm({
"../lockfile/fs/lib/gitBranchLockfile.js"() {
"use strict";
GIT_BRANCH_LOCKFILE_NAME = /^pnpm-lock\..+\.yaml$/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/comver-to-semver/2.0.0/5c36e9dd358b83d2f79ddbeed454399fdbe4f968cfda5cea2a62e13701556a51/node_modules/comver-to-semver/index.js
function comverToSemver(comver) {
if (!comver.includes(".")) return `${comver}.0.0`;
return `${comver}.0`;
}
var init_comver_to_semver = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/comver-to-semver/2.0.0/5c36e9dd358b83d2f79ddbeed454399fdbe4f968cfda5cea2a62e13701556a51/node_modules/comver-to-semver/index.js"() {
}
});
// ../lockfile/merger/lib/index.js
function mergeLockfileChanges(ours, theirs) {
const newLockfile = {
importers: {},
lockfileVersion: import_semver20.default.gt(comverToSemver(theirs.lockfileVersion.toString()), comverToSemver(ours.lockfileVersion.toString())) ? theirs.lockfileVersion : ours.lockfileVersion
};
const pnpmfileChecksum = ours.pnpmfileChecksum ?? theirs.pnpmfileChecksum;
if (pnpmfileChecksum) {
newLockfile.pnpmfileChecksum = pnpmfileChecksum;
}
const ignoredOptionalDependencies = [.../* @__PURE__ */ new Set([
...ours.ignoredOptionalDependencies ?? [],
...theirs.ignoredOptionalDependencies ?? []
])];
if (ignoredOptionalDependencies.length) {
newLockfile.ignoredOptionalDependencies = ignoredOptionalDependencies;
}
for (const importerId of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.importers), ...Object.keys(theirs.importers)]))) {
newLockfile.importers[importerId] = {
specifiers: {}
};
for (const key of ["dependencies", "devDependencies", "optionalDependencies"]) {
newLockfile.importers[importerId][key] = mergeDict(ours.importers[importerId]?.[key] ?? {}, theirs.importers[importerId]?.[key] ?? {}, mergeVersions);
if (Object.keys(newLockfile.importers[importerId][key] ?? {}).length === 0) {
delete newLockfile.importers[importerId][key];
}
}
newLockfile.importers[importerId].specifiers = mergeDict(ours.importers[importerId]?.specifiers ?? {}, theirs.importers[importerId]?.specifiers ?? {}, takeChangedValue);
}
const packages = {};
for (const depPath of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.packages ?? {}), ...Object.keys(theirs.packages ?? {})]))) {
const ourPkg = ours.packages?.[depPath];
const theirPkg = theirs.packages?.[depPath];
const pkg = {
...ourPkg,
...theirPkg
};
for (const key of ["dependencies", "optionalDependencies"]) {
pkg[key] = mergeDict(ourPkg?.[key] ?? {}, theirPkg?.[key] ?? {}, mergeVersions);
if (Object.keys(pkg[key] ?? {}).length === 0) {
delete pkg[key];
}
}
packages[depPath] = pkg;
}
newLockfile.packages = packages;
return newLockfile;
}
function mergeDict(ourDict, theirDict, valueMerger) {
const newDict = {};
for (const key of Object.keys(ourDict).concat(Object.keys(theirDict))) {
const changedValue = valueMerger(ourDict[key], theirDict[key]);
if (changedValue) {
newDict[key] = changedValue;
}
}
return newDict;
}
function takeChangedValue(ourValue, theirValue) {
if (ourValue === theirValue || theirValue == null)
return ourValue;
return theirValue;
}
function mergeVersions(ourValue, theirValue) {
if (ourValue === theirValue || !theirValue)
return ourValue;
if (!ourValue)
return theirValue;
const [ourVersion] = ourValue.split("(");
const [theirVersion] = theirValue.split("(");
const validOurVersion = import_semver20.default.valid(ourVersion);
const validTheirVersion = import_semver20.default.valid(theirVersion);
if (validOurVersion && validTheirVersion) {
return import_semver20.default.gt(ourVersion, theirVersion) ? ourValue : theirValue;
}
return theirValue;
}
var import_semver20;
var init_lib79 = __esm({
"../lockfile/merger/lib/index.js"() {
"use strict";
init_comver_to_semver();
import_semver20 = __toESM(require_semver2(), 1);
}
});
// ../lockfile/fs/lib/errors/LockfileBreakingChangeError.js
var LockfileBreakingChangeError;
var init_LockfileBreakingChangeError = __esm({
"../lockfile/fs/lib/errors/LockfileBreakingChangeError.js"() {
"use strict";
init_lib2();
LockfileBreakingChangeError = class extends PnpmError {
filename;
constructor(filename) {
super("LOCKFILE_BREAKING_CHANGE", `Lockfile ${filename} not compatible with current pnpm`);
this.filename = filename;
}
};
}
});
// ../lockfile/fs/lib/errors/index.js
var init_errors2 = __esm({
"../lockfile/fs/lib/errors/index.js"() {
"use strict";
init_LockfileBreakingChangeError();
}
});
// ../lockfile/fs/lib/gitMergeFile.js
function autofixMergeConflicts(fileContent) {
const { ours, theirs } = parseMergeFile(fileContent);
return mergeLockfileChanges(convertToLockfileObject(jsYaml.load(ours)), convertToLockfileObject(jsYaml.load(theirs)));
}
function parseMergeFile(fileContent) {
const lines = fileContent.split(/[\n\r]+/);
let state = "top";
const ours = [];
const theirs = [];
while (lines.length > 0) {
const line = lines.shift();
if (line.startsWith(MERGE_CONFLICT_PARENT)) {
state = "parent";
continue;
}
if (line.startsWith(MERGE_CONFLICT_OURS)) {
state = "ours";
continue;
}
if (line === MERGE_CONFLICT_THEIRS) {
state = "theirs";
continue;
}
if (line.startsWith(MERGE_CONFLICT_END)) {
state = "top";
continue;
}
if (state === "top" || state === "ours")
ours.push(line);
if (state === "top" || state === "theirs")
theirs.push(line);
}
return { ours: ours.join("\n"), theirs: theirs.join("\n") };
}
function isDiff(fileContent) {
return fileContent.includes(MERGE_CONFLICT_OURS) && fileContent.includes(MERGE_CONFLICT_THEIRS) && fileContent.includes(MERGE_CONFLICT_END);
}
var MERGE_CONFLICT_PARENT, MERGE_CONFLICT_END, MERGE_CONFLICT_THEIRS, MERGE_CONFLICT_OURS;
var init_gitMergeFile = __esm({
"../lockfile/fs/lib/gitMergeFile.js"() {
"use strict";
init_lib79();
init_js_yaml();
init_lockfileFormatConverters();
MERGE_CONFLICT_PARENT = "|||||||";
MERGE_CONFLICT_END = ">>>>>>>";
MERGE_CONFLICT_THEIRS = "=======";
MERGE_CONFLICT_OURS = "<<<<<<<";
}
});
// ../lockfile/fs/lib/read.js
import fs42, { promises as fsp2 } from "node:fs";
import path71 from "node:path";
import util20 from "node:util";
async function readCurrentLockfile(pnpmInternalDir, opts3) {
const lockfilePath = path71.join(pnpmInternalDir, "lock.yaml");
return (await _read(lockfilePath, pnpmInternalDir, opts3)).lockfile;
}
async function readWantedLockfileAndAutofixConflicts(pkgPath, opts3) {
return _readWantedLockfile(pkgPath, {
...opts3,
autofixMergeConflicts: true
});
}
async function readWantedLockfile(pkgPath, opts3) {
return (await _readWantedLockfile(pkgPath, opts3)).lockfile;
}
async function readWantedLockfileFile(pkgPath, opts3) {
return (await _readWantedLockfile(pkgPath, opts3)).lockfileFile;
}
function wantedLockfileHasMergeConflictsSync(pkgPath, lockfileName = WANTED_LOCKFILE) {
try {
const lockfileRawContent = stripBom(fs42.readFileSync(path71.join(pkgPath, lockfileName), "utf8"));
return isDiff(extractMainDocument(lockfileRawContent));
} catch (err2) {
if (util20.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return false;
}
throw err2;
}
}
async function _read(lockfilePath, prefix, opts3) {
let lockfileRawContent;
try {
lockfileRawContent = stripBom(await fsp2.readFile(lockfilePath, "utf8"));
} catch (err2) {
if (!(util20.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")) {
throw err2;
}
return {
lockfile: null,
lockfileFile: null,
hadConflicts: false
};
}
lockfileRawContent = extractMainDocument(lockfileRawContent);
if (!lockfileRawContent.trim()) {
return {
lockfile: null,
lockfileFile: null,
hadConflicts: false
};
}
let lockfile;
let lockfileFile;
let hadConflicts;
try {
lockfileFile = jsYaml.load(lockfileRawContent);
lockfile = convertToLockfileObject(lockfileFile);
hadConflicts = false;
} catch (err2) {
if (!opts3.autofixMergeConflicts || !isDiff(lockfileRawContent)) {
throw new PnpmError("BROKEN_LOCKFILE", `The lockfile at "${lockfilePath}" is broken: ${err2.message}`);
}
hadConflicts = true;
lockfile = autofixMergeConflicts(lockfileRawContent);
lockfileFile = convertToLockfileFile(lockfile);
lockfileLogger.info({
message: `Merge conflict detected in ${WANTED_LOCKFILE} and successfully merged`,
prefix
});
}
if (lockfile) {
const lockfileSemver = comverToSemver((lockfile.lockfileVersion ?? 0).toString());
if (!opts3.wantedVersions || opts3.wantedVersions.length === 0 || opts3.wantedVersions.some((wantedVersion) => {
if (import_semver21.default.major(lockfileSemver) !== import_semver21.default.major(comverToSemver(wantedVersion)))
return false;
if (lockfile.lockfileVersion !== "6.1" && import_semver21.default.gt(lockfileSemver, comverToSemver(wantedVersion))) {
lockfileLogger.warn({
message: `Your ${WANTED_LOCKFILE} was generated by a newer version of pnpm. It is a compatible version but it might get downgraded to version ${wantedVersion}`,
prefix
});
}
return true;
})) {
return { lockfile, lockfileFile, hadConflicts };
}
}
if (opts3.ignoreIncompatible) {
lockfileLogger.warn({
message: `Ignoring not compatible lockfile at ${lockfilePath}`,
prefix
});
return { lockfile: null, lockfileFile: null, hadConflicts: false };
}
throw new LockfileBreakingChangeError(lockfilePath);
}
function createLockfileObject(importerIds, opts3) {
const importers = {};
for (const importerId of importerIds) {
importers[importerId] = {
dependencies: {},
specifiers: {}
};
}
return {
importers,
lockfileVersion: opts3.lockfileVersion || LOCKFILE_VERSION,
settings: {
autoInstallPeers: opts3.autoInstallPeers,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength
}
};
}
async function _readWantedLockfile(pkgPath, opts3) {
const lockfileNames = [WANTED_LOCKFILE];
if (opts3.useGitBranchLockfile) {
const gitBranchLockfileName = await getWantedLockfileName(opts3);
if (gitBranchLockfileName !== WANTED_LOCKFILE) {
lockfileNames.unshift(gitBranchLockfileName);
}
}
let result2 = { lockfile: null, lockfileFile: null, hadConflicts: false };
for (const lockfileName of lockfileNames) {
result2 = await _read(path71.join(pkgPath, lockfileName), pkgPath, { ...opts3, autofixMergeConflicts: true });
if (result2.lockfile) {
if (opts3.mergeGitBranchLockfiles) {
result2.lockfile = await _mergeGitBranchLockfiles(result2.lockfile, pkgPath, pkgPath, opts3);
result2.lockfileFile = result2.lockfile ? convertToLockfileFile(result2.lockfile) : null;
}
break;
}
}
return result2;
}
async function _mergeGitBranchLockfiles(lockfile, lockfileDir, prefix, opts3) {
if (!lockfile) {
return lockfile;
}
const gitBranchLockfiles = (await _readGitBranchLockfiles(lockfileDir, prefix, opts3)).map(({ lockfile: lockfile2 }) => lockfile2);
let mergedLockfile = lockfile;
for (const gitBranchLockfile of gitBranchLockfiles) {
if (!gitBranchLockfile) {
continue;
}
mergedLockfile = mergeLockfileChanges(mergedLockfile, gitBranchLockfile);
}
return mergedLockfile;
}
async function _readGitBranchLockfiles(lockfileDir, prefix, opts3) {
const files = await getGitBranchLockfileNames(lockfileDir);
return Promise.all(files.map((file) => _read(path71.join(lockfileDir, file), prefix, opts3)));
}
var import_semver21;
var init_read = __esm({
"../lockfile/fs/lib/read.js"() {
"use strict";
init_lib();
init_lib2();
init_lib79();
init_comver_to_semver();
init_js_yaml();
import_semver21 = __toESM(require_semver2(), 1);
init_strip_bom();
init_errors2();
init_gitBranchLockfile();
init_gitMergeFile();
init_lockfileFormatConverters();
init_lockfileName();
init_logger3();
init_yamlDocuments();
}
});
// ../lockfile/fs/lib/index.js
var init_lib80 = __esm({
"../lockfile/fs/lib/index.js"() {
"use strict";
init_envLockfile();
init_existsWantedLockfile();
init_getLockfileImporterId();
init_gitBranchLockfile();
init_lockfileFormatConverters();
init_lockfileName();
init_read();
init_write();
init_yamlDocuments();
init_lib72();
}
});
// ../installing/read-projects-context/lib/index.js
import { promises as fs43 } from "node:fs";
import path72 from "node:path";
import util21 from "node:util";
async function readProjectsContext(projects, opts3) {
const modulesDirOpt = opts3.modulesDir ?? "node_modules";
const rootModulesDir = await realpathMissing(pathAbsolute(modulesDirOpt, opts3.lockfileDir));
const modules = await readModulesManifest(rootModulesDir);
return {
currentHoistPattern: modules?.hoistPattern,
currentPublicHoistPattern: modules?.publicHoistPattern,
hoist: modules == null ? void 0 : Boolean(modules.hoistPattern),
hoistedDependencies: modules?.hoistedDependencies ?? {},
include: modules?.included ?? { dependencies: true, devDependencies: true, optionalDependencies: true },
modules,
pendingBuilds: modules?.pendingBuilds ?? [],
projects: await Promise.all(projects.map(async (project) => {
const modulesDir = await realpathMissing(pathAbsolute(project.modulesDir ?? modulesDirOpt, project.rootDir));
const importerId = getLockfileImporterId(opts3.lockfileDir, project.rootDir);
return {
...project,
binsDir: project.binsDir ?? path72.join(modulesDir, ".bin"),
id: importerId,
modulesDir,
rootDirRealPath: project.rootDirRealPath ?? await realpath2(project.rootDir)
};
})),
registries: modules?.registries != null ? normalizeRegistries(modules.registries) : void 0,
rootModulesDir,
skipped: new Set(modules?.skipped ?? []),
virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength
};
}
async function realpath2(path236) {
try {
return await fs43.realpath(path236);
} catch (err2) {
if (util21.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return path236;
}
throw err2;
}
}
var init_lib81 = __esm({
"../installing/read-projects-context/lib/index.js"() {
"use strict";
init_lib76();
init_lib77();
init_lib80();
init_path_absolute();
init_realpath_missing();
}
});
// ../fetching/pick-fetcher/lib/index.js
async function pickFetcher(fetcherByHostingType, resolution, opts3) {
if (opts3?.customFetchers && opts3.customFetchers.length > 0) {
for (const customFetcher of opts3.customFetchers) {
if (customFetcher.canFetch && customFetcher.fetch) {
const canFetch = await customFetcher.canFetch(opts3.packageId, resolution);
if (canFetch) {
const resolutionNeedsFetch = typeof customFetcher.resolutionNeedsFetch === "function" ? customFetcher.resolutionNeedsFetch.bind(customFetcher) : void 0;
return Object.assign(async (cafs, resolution2, fetchOpts) => {
const result2 = await customFetcher.fetch(cafs, resolution2, fetchOpts, fetcherByHostingType);
if (isCustomFetcherDelegation(result2)) {
const delegate = result2.delegate;
const fetch2 = pickBuiltinFetcher(fetcherByHostingType, delegate);
return fetch2(cafs, delegate, fetchOpts);
}
return result2;
}, { resolutionNeedsFetch });
}
}
}
}
return pickBuiltinFetcher(fetcherByHostingType, resolution);
}
function isCustomFetcherDelegation(result2) {
return result2 != null && typeof result2 === "object" && "delegate" in result2 && !("filesMap" in result2);
}
function pickBuiltinFetcher(fetcherByHostingType, resolution) {
const fetcherType = classifyResolution(resolution);
if (fetcherType === "custom") {
throw new PnpmError("UNSUPPORTED_RESOLUTION_TYPE", `Cannot fetch dependency with custom resolution type "${resolution.type}". Custom resolutions must be handled by custom fetchers.`);
}
const fetch2 = fetcherByHostingType[fetcherType];
if (!fetch2) {
throw new Error(`Fetching for dependency type "${resolution.type ?? "tarball"}" is not supported`);
}
return fetch2;
}
var init_lib82 = __esm({
"../fetching/pick-fetcher/lib/index.js"() {
"use strict";
init_lib2();
init_lib29();
}
});
// ../store/cafs/lib/parseJson.js
function parseJsonBufferSync(buffer3) {
return JSON.parse(stripBom(buffer3.toString()));
}
var init_parseJson = __esm({
"../store/cafs/lib/parseJson.js"() {
"use strict";
init_strip_bom();
}
});
// ../store/cafs/lib/addFilesFromDir.js
import fs44, {} from "node:fs";
import path73 from "node:path";
import util22 from "node:util";
function addFilesFromDir2(addBuffer, dirname3, opts3 = {}) {
const filesIndex = /* @__PURE__ */ new Map();
let manifest;
let files;
const resolvedRoot = fs44.realpathSync(dirname3);
if (opts3.files) {
files = [];
for (const file of opts3.files) {
const absolutePath = path73.join(dirname3, file);
const stat2 = getStatIfContained(absolutePath, resolvedRoot);
if (!stat2) {
continue;
}
files.push({
absolutePath,
relativePath: file,
stat: stat2
});
}
} else {
files = findFilesInDir(dirname3, resolvedRoot, opts3);
}
for (const { absolutePath, relativePath: relativePath2, stat: stat2 } of files) {
const buffer3 = lib_default.readFileSync(absolutePath);
if (opts3.readManifest && relativePath2 === "package.json") {
manifest = parseJsonBufferSync(buffer3);
}
const mode = stat2.mode & 511;
filesIndex.set(relativePath2, {
mode,
size: stat2.size,
...addBuffer(buffer3, mode)
});
}
return { manifest, filesIndex };
}
function getStatIfContained(absolutePath, rootDir) {
let lstat2;
try {
lstat2 = fs44.lstatSync(absolutePath);
} catch (err2) {
if (util22.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return null;
}
throw err2;
}
if (lstat2.isSymbolicLink()) {
return getSymlinkStatIfContained(absolutePath, rootDir)?.stat ?? null;
}
return lstat2;
}
function getSymlinkStatIfContained(absolutePath, rootDir) {
let realPath;
try {
realPath = fs44.realpathSync(absolutePath);
} catch (err2) {
if (util22.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return null;
}
throw err2;
}
if (!isSubdir(rootDir, realPath)) {
return null;
}
return { stat: fs44.statSync(realPath), realPath };
}
function findFilesInDir(dir, rootDir, opts3) {
const files = [];
const ctx = {
filesList: files,
includeNodeModules: opts3.includeNodeModules ?? false,
rootDir,
visited: /* @__PURE__ */ new Set([rootDir])
};
findFiles2(ctx, dir, "", rootDir);
return files;
}
function findFiles2(ctx, dir, relativeDir, currentRealPath) {
const files = fs44.readdirSync(dir, { withFileTypes: true });
for (const file of files) {
const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file.name}`;
const absolutePath = path73.join(dir, file.name);
let nextRealDir;
if (file.isSymbolicLink()) {
const res = getSymlinkStatIfContained(absolutePath, ctx.rootDir);
if (!res) {
continue;
}
if (res.stat.isDirectory()) {
nextRealDir = res.realPath;
} else {
ctx.filesList.push({
relativePath: relativeSubdir,
absolutePath,
stat: res.stat
});
continue;
}
} else if (file.isDirectory()) {
nextRealDir = path73.join(currentRealPath, file.name);
}
if (nextRealDir) {
if (ctx.visited.has(nextRealDir))
continue;
if (relativeDir !== "" || file.name !== "node_modules" || ctx.includeNodeModules) {
ctx.visited.add(nextRealDir);
findFiles2(ctx, absolutePath, relativeSubdir, nextRealDir);
ctx.visited.delete(nextRealDir);
}
continue;
}
let stat2;
try {
stat2 = fs44.statSync(absolutePath);
} catch (err2) {
if (util22.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
continue;
}
throw err2;
}
ctx.filesList.push({
relativePath: relativeSubdir,
absolutePath,
stat: stat2
});
}
}
var init_addFilesFromDir = __esm({
"../store/cafs/lib/addFilesFromDir.js"() {
"use strict";
init_lib14();
init_is_subdir();
init_parseJson();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-gzip/2.0.0/82a8e17050fa38e95e62aa7580ddf517da43682e2ea1a94728382ef43c644d04/node_modules/is-gzip/index.js
var require_is_gzip = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-gzip/2.0.0/82a8e17050fa38e95e62aa7580ddf517da43682e2ea1a94728382ef43c644d04/node_modules/is-gzip/index.js"(exports2, module2) {
"use strict";
module2.exports = (buf) => {
if (!buf || buf.length < 3) {
return false;
}
return buf[0] === 31 && buf[1] === 139 && buf[2] === 8;
};
}
});
// ../store/cafs/lib/parseTarball.js
import path74 from "node:path";
function parseTarball(buffer3) {
const files = /* @__PURE__ */ new Map();
let pathTrimmed = false;
let mode = 0;
let fileSize = 0;
let fileType = 0;
let prefix = "";
let fileName = "";
let longLinkPath = "";
let paxHeaderPath = "";
let paxHeaderFileSize;
let blockBytes = 0;
let blockStart = 0;
while (buffer3[blockStart] !== 0) {
fileType = buffer3[blockStart + FILE_TYPE_OFFSET];
if (paxHeaderFileSize !== void 0) {
fileSize = paxHeaderFileSize;
paxHeaderFileSize = void 0;
} else {
fileSize = parseOctal(blockStart + FILE_SIZE_OFFSET, 12);
}
blockBytes = (fileSize & ~511) + (fileSize & 511 ? 1024 : 512);
const expectedCheckSum = parseOctal(blockStart + CHECKSUM_OFFSET, 8);
const actualCheckSum = checkSum(blockStart);
if (expectedCheckSum !== actualCheckSum) {
throw new Error(`Invalid checksum for TAR header at offset ${blockStart}. Expected ${expectedCheckSum}, got ${actualCheckSum}`);
}
pathTrimmed = false;
if (longLinkPath) {
fileName = longLinkPath;
longLinkPath = "";
} else if (paxHeaderPath) {
fileName = paxHeaderPath;
paxHeaderPath = "";
} else {
prefix = parseString2(blockStart + PREFIX_OFFSET, 155);
if (prefix && !pathTrimmed) {
pathTrimmed = true;
prefix = "";
}
fileName = parseString2(blockStart, MODE_OFFSET);
if (prefix) {
fileName = `${prefix}/${fileName}`;
}
}
if (fileName.includes("./") || fileName.includes(".\\")) {
fileName = path74.posix.join("/", fileName.replaceAll("\\", "/")).slice(1);
}
switch (fileType) {
case 0:
case ZERO:
case FILE_TYPE_HARD_LINK:
mode = parseOctal(blockStart + MODE_OFFSET, 8);
files.set(fileName.replaceAll("//", "/"), { offset: blockStart + 512, mode, size: fileSize });
break;
case FILE_TYPE_DIRECTORY:
case FILE_TYPE_SYMLINK:
break;
case FILE_TYPE_PAX_HEADER:
parsePaxHeader(blockStart + 512, fileSize, false);
break;
case FILE_TYPE_PAX_GLOBAL_HEADER:
parsePaxHeader(blockStart + 512, fileSize, true);
break;
case FILE_TYPE_LONGLINK: {
longLinkPath = buffer3.toString("utf8", blockStart + 512, blockStart + 512 + fileSize).replace(/\0.*/, "");
const slashIndex = longLinkPath.indexOf("/");
if (slashIndex >= 0) {
longLinkPath = longLinkPath.slice(slashIndex + 1);
}
break;
}
default:
throw new Error(`Unsupported file type ${fileType} for file ${fileName}.`);
}
blockStart += blockBytes;
}
return { files, buffer: buffer3.buffer };
function checkSum(offset) {
let sum = 256;
let i4 = offset;
const checksumStart = offset + 148;
const checksumEnd = offset + 156;
const blockEnd = offset + 512;
for (; i4 < checksumStart; i4++) {
sum += buffer3[i4];
}
for (i4 = checksumEnd; i4 < blockEnd; i4++) {
sum += buffer3[i4];
}
return sum;
}
function parsePaxHeader(offset, length, global3) {
const end = offset + length;
let i4 = offset;
while (i4 < end) {
const lineStart = i4;
while (i4 < end && buffer3[i4] !== SPACE) {
i4++;
}
const strLen = buffer3.toString("utf-8", lineStart, i4);
const len = parseInt(strLen, 10);
if (!len) {
throw new Error(`Invalid length in PAX record: ${strLen}`);
}
i4++;
const lineEnd = lineStart + len;
const record = buffer3.toString("utf-8", i4, lineEnd - 1);
i4 = lineEnd;
const equalSign = record.indexOf("=");
const keyword = record.slice(0, equalSign);
if (keyword === "path") {
const slashIndex = record.indexOf("/", equalSign + 1);
if (global3) {
throw new Error(`Unexpected global PAX path: ${record}`);
}
paxHeaderPath = record.slice(slashIndex >= 0 ? slashIndex + 1 : equalSign + 1);
} else if (keyword === "size") {
const size = parseInt(record.slice(equalSign + 1), 10);
if (isNaN(size) || size < 0) {
throw new Error(`Invalid size in PAX record: ${record}`);
}
if (global3) {
throw new Error(`Unexpected global PAX file size: ${record}`);
}
paxHeaderFileSize = size;
} else {
continue;
}
}
}
function parseString2(offset, length) {
let end = offset;
const max4 = length + offset;
for (let char = buffer3[end]; char !== 0 && end !== max4; char = buffer3[++end]) {
if (!pathTrimmed && (char === SLASH || char === BACKSLASH)) {
pathTrimmed = true;
offset = end + 1;
}
}
return buffer3.toString("utf8", offset, end);
}
function parseOctal(offset, length) {
const val = buffer3.subarray(offset, offset + length);
offset = 0;
while (offset < val.length && val[offset] === SPACE)
offset++;
const end = clamp(indexOf(val, SPACE, offset, val.length), val.length, val.length);
while (offset < end && val[offset] === 0)
offset++;
if (end === offset)
return 0;
return parseInt(val.subarray(offset, end).toString(), 8);
}
}
function indexOf(block, num, offset, end) {
for (; offset < end; offset++) {
if (block[offset] === num)
return offset;
}
return end;
}
function clamp(index2, len, defaultValue) {
if (typeof index2 !== "number")
return defaultValue;
index2 = ~~index2;
if (index2 >= len)
return len;
if (index2 >= 0)
return index2;
index2 += len;
if (index2 >= 0)
return index2;
return 0;
}
var ZERO, FILE_TYPE_HARD_LINK, FILE_TYPE_SYMLINK, FILE_TYPE_DIRECTORY, SPACE, SLASH, BACKSLASH, FILE_TYPE_PAX_HEADER, FILE_TYPE_PAX_GLOBAL_HEADER, FILE_TYPE_LONGLINK, MODE_OFFSET, FILE_SIZE_OFFSET, CHECKSUM_OFFSET, FILE_TYPE_OFFSET, PREFIX_OFFSET;
var init_parseTarball = __esm({
"../store/cafs/lib/parseTarball.js"() {
"use strict";
ZERO = "0".charCodeAt(0);
FILE_TYPE_HARD_LINK = "1".charCodeAt(0);
FILE_TYPE_SYMLINK = "2".charCodeAt(0);
FILE_TYPE_DIRECTORY = "5".charCodeAt(0);
SPACE = " ".charCodeAt(0);
SLASH = "/".charCodeAt(0);
BACKSLASH = "\\".charCodeAt(0);
FILE_TYPE_PAX_HEADER = "x".charCodeAt(0);
FILE_TYPE_PAX_GLOBAL_HEADER = "g".charCodeAt(0);
FILE_TYPE_LONGLINK = "L".charCodeAt(0);
MODE_OFFSET = 100;
FILE_SIZE_OFFSET = 124;
CHECKSUM_OFFSET = 148;
FILE_TYPE_OFFSET = 156;
PREFIX_OFFSET = 345;
}
});
// ../store/cafs/lib/addFilesFromTarball.js
import { gunzipSync } from "node:zlib";
function addFilesFromTarball2(addBufferToCafs2, tarballBuffer, readManifest, ignore2) {
const tarContent = (0, import_is_gzip.default)(tarballBuffer) ? gunzipSync(tarballBuffer, { chunkSize: 128 * 1024 }) : Buffer.isBuffer(tarballBuffer) ? tarballBuffer : Buffer.from(tarballBuffer);
const { files } = parseTarball(tarContent);
const filesIndex = /* @__PURE__ */ new Map();
let manifestBuffer;
for (const [relativePath2, { mode, offset, size }] of files) {
if (ignore2?.(relativePath2))
continue;
const fileBuffer = tarContent.subarray(offset, offset + size);
if (readManifest && relativePath2 === "package.json") {
manifestBuffer = fileBuffer;
}
filesIndex.set(relativePath2, {
mode,
size,
...addBufferToCafs2(fileBuffer, mode)
});
}
return {
filesIndex,
manifest: manifestBuffer ? parseJsonBufferSync(manifestBuffer) : void 0
};
}
var import_is_gzip;
var init_addFilesFromTarball = __esm({
"../store/cafs/lib/addFilesFromTarball.js"() {
"use strict";
import_is_gzip = __toESM(require_is_gzip(), 1);
init_parseJson();
init_parseTarball();
}
});
// ../store/cafs/lib/getFilePathInCafs.js
import path75 from "node:path";
function getFilePathByModeInCafs(storeDir, hexDigest, mode) {
const fileType = modeIsExecutable(mode) ? "exec" : "nonexec";
return `${storeDir}${SEP}${contentPathFromHex(fileType, hexDigest)}`;
}
function contentPathFromHex(fileType, hex) {
const p = `files${SEP}${hex.slice(0, 2)}${SEP}${hex.slice(2)}`;
switch (fileType) {
case "exec":
return `${p}-exec`;
case "nonexec":
return p;
}
}
var SEP, modeIsExecutable;
var init_getFilePathInCafs = __esm({
"../store/cafs/lib/getFilePathInCafs.js"() {
"use strict";
SEP = path75.sep;
modeIsExecutable = (mode) => (mode & 73) !== 0;
}
});
// ../store/cafs/lib/checkPkgFilesIntegrity.js
import crypto5 from "node:crypto";
import util23 from "node:util";
function verifyFileIntegrity(filename, integrity) {
global["verifiedFileIntegrity"]++;
let data;
try {
data = lib_default.readFileSync(filename);
} catch (err2) {
if (util23.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return false;
}
throw err2;
}
try {
return crypto5.hash(integrity.algorithm, data, "hex") === integrity.digest;
} catch {
return false;
}
}
var init_checkPkgFilesIntegrity = __esm({
"../store/cafs/lib/checkPkgFilesIntegrity.js"() {
"use strict";
init_lib2();
init_lib14();
init_rimraf();
init_getFilePathInCafs();
global["verifiedFileIntegrity"] = 0;
}
});
// ../store/cafs/lib/normalizeBundledManifest.js
function normalizeBundledManifest(manifest) {
let result2;
for (const key of BUNDLED_MANIFEST_FIELDS) {
if (manifest[key] != null) {
if (!result2)
result2 = {};
result2[key] = manifest[key];
}
}
let scripts;
if (manifest.scripts) {
for (const key of LIFECYCLE_SCRIPTS) {
if (manifest.scripts[key]) {
if (!scripts)
scripts = {};
scripts[key] = manifest.scripts[key];
}
}
}
if (!result2 && !scripts)
return void 0;
return {
version: import_semver22.default.clean(manifest.version ?? "0.0.0", { loose: true }) ?? manifest.version,
...result2,
...scripts ? { scripts } : {}
};
}
var import_semver22, BUNDLED_MANIFEST_FIELDS, LIFECYCLE_SCRIPTS;
var init_normalizeBundledManifest = __esm({
"../store/cafs/lib/normalizeBundledManifest.js"() {
"use strict";
import_semver22 = __toESM(require_semver2(), 1);
BUNDLED_MANIFEST_FIELDS = [
"bin",
"bundledDependencies",
"bundleDependencies",
"cpu",
"dependencies",
"devDependencies",
"directories",
"engines",
"libc",
"name",
"optionalDependencies",
"os",
"peerDependencies",
"peerDependenciesMeta"
];
LIFECYCLE_SCRIPTS = ["preinstall", "install", "postinstall"];
}
});
// ../store/cafs/lib/writeFile.js
import path76 from "node:path";
function writeFile(fileDest, buffer3, mode) {
makeDirForFile(fileDest);
lib_default.writeFileSync(fileDest, buffer3, { mode });
}
function writeFileExclusive(fileDest, buffer3, mode) {
makeDirForFile(fileDest);
lib_default.writeFileSync(fileDest, buffer3, { mode, flag: "wx" });
}
function makeDirForFile(fileDest) {
const dir = path76.dirname(fileDest);
if (!dirs.has(dir)) {
lib_default.mkdirSync(dir, { recursive: true });
dirs.add(dir);
}
}
var dirs;
var init_writeFile = __esm({
"../store/cafs/lib/writeFile.js"() {
"use strict";
init_lib14();
dirs = /* @__PURE__ */ new Set();
}
});
// ../store/cafs/lib/writeBufferToCafs.js
import fs45 from "node:fs";
import path77 from "node:path";
import util24 from "node:util";
import workerThreads from "node:worker_threads";
function writeBufferToCafs(locker, storeDir, buffer3, fileDest, mode, integrity) {
fileDest = path77.join(storeDir, fileDest);
if (locker.has(fileDest)) {
return {
checkedAt: locker.get(fileDest),
filePath: fileDest
};
}
const checkedAt = writeOrCheck(fileDest, buffer3, mode, integrity);
locker.set(fileDest, checkedAt);
return {
checkedAt,
filePath: fileDest
};
}
function writeOrCheck(fileDest, buffer3, mode, integrity) {
const existingFile = fs45.statSync(fileDest, { throwIfNoEntry: false });
if (existingFile) {
if (verifyFileIntegrity(fileDest, integrity)) {
return Date.now();
}
return writeFileAtomic7(fileDest, buffer3, mode);
}
try {
writeFileExclusive(fileDest, buffer3, mode);
} catch (err2) {
if (util24.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST") {
if (verifyFileIntegrity(fileDest, integrity)) {
return Date.now();
}
return writeFileAtomic7(fileDest, buffer3, mode);
}
throw err2;
}
return Date.now();
}
function writeFileAtomic7(fileDest, buffer3, mode) {
const temp = pathTemp2(fileDest);
writeFile(temp, buffer3, mode);
optimisticRenameOverwrite(temp, fileDest);
return Date.now();
}
function optimisticRenameOverwrite(temp, fileDest) {
try {
renameOverwriteSync(temp, fileDest);
} catch (err2) {
if (!(util24.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") || !fs45.existsSync(fileDest))
throw err2;
}
}
function pathTemp2(file) {
const basename2 = removeSuffix2(path77.basename(file));
return path77.join(path77.dirname(file), `${basename2}${process.pid}${workerThreads.threadId}`);
}
function removeSuffix2(filePath) {
const dashPosition = filePath.indexOf("-");
if (dashPosition === -1)
return filePath;
const withoutSuffix = filePath.substring(0, dashPosition);
if (filePath.substring(dashPosition) === "-exec") {
return `${withoutSuffix}x`;
}
return withoutSuffix;
}
var init_writeBufferToCafs = __esm({
"../store/cafs/lib/writeBufferToCafs.js"() {
"use strict";
init_rename_overwrite();
init_checkPkgFilesIntegrity();
init_writeFile();
}
});
// ../store/cafs/lib/index.js
import crypto6 from "node:crypto";
function createCafs(storeDir, { ignoreFile, cafsLocker } = {}) {
const _writeBufferToCafs = writeBufferToCafs.bind(null, cafsLocker ?? /* @__PURE__ */ new Map(), storeDir);
const addBuffer = addBufferToCafs.bind(null, _writeBufferToCafs);
return {
addFilesFromDir: addFilesFromDir2.bind(null, addBuffer),
addFilesFromTarball: (tarballBuffer, readManifest, callIgnore) => addFilesFromTarball2(addBuffer, tarballBuffer, readManifest, combineIgnore(ignoreFile, callIgnore)),
addFile: addBuffer,
getFilePathByModeInCafs: getFilePathByModeInCafs.bind(null, storeDir)
};
}
function combineIgnore(a2, b) {
if (!a2)
return b;
if (!b)
return a2;
return (filename) => a2(filename) || b(filename);
}
function addBufferToCafs(writeBufferToCafs2, buffer3, mode) {
const digest = crypto6.hash(HASH_ALGORITHM, buffer3, "hex");
const isExecutable = modeIsExecutable(mode);
const fileDest = contentPathFromHex(isExecutable ? "exec" : "nonexec", digest);
const { checkedAt, filePath } = writeBufferToCafs2(buffer3, fileDest, isExecutable ? 493 : void 0, { digest, algorithm: HASH_ALGORITHM });
return { checkedAt, filePath, digest };
}
var HASH_ALGORITHM;
var init_lib83 = __esm({
"../store/cafs/lib/index.js"() {
"use strict";
init_addFilesFromDir();
init_addFilesFromTarball();
init_checkPkgFilesIntegrity();
init_getFilePathInCafs();
init_normalizeBundledManifest();
init_writeBufferToCafs();
init_lib9();
HASH_ALGORITHM = "sha512";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-defer/4.0.1/840dd3780d5233de542b9dbb564939ed9be51a2e6fed10febe8d325383bb7b3d/node_modules/p-defer/index.js
function pDefer() {
const deferred = {};
deferred.promise = new Promise((resolve4, reject3) => {
deferred.resolve = resolve4;
deferred.reject = reject3;
});
return deferred;
}
var init_p_defer = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-defer/4.0.1/840dd3780d5233de542b9dbb564939ed9be51a2e6fed10febe8d325383bb7b3d/node_modules/p-defer/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eventemitter3/5.0.4/575196c5129a96010821b0b9286f8861735eb3295e2600aa424f0150b72adea4/node_modules/eventemitter3/index.js
var require_eventemitter3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eventemitter3/5.0.4/575196c5129a96010821b0b9286f8861735eb3295e2600aa424f0150b72adea4/node_modules/eventemitter3/index.js"(exports2, module2) {
"use strict";
var has = Object.prototype.hasOwnProperty;
var prefix = "~";
function Events() {
}
if (Object.create) {
Events.prototype = /* @__PURE__ */ Object.create(null);
if (!new Events().__proto__) prefix = false;
}
function EE(fn, context, once11) {
this.fn = fn;
this.context = context;
this.once = once11 || false;
}
function addListener(emitter, event, fn, context, once11) {
if (typeof fn !== "function") {
throw new TypeError("The listener must be a function");
}
var listener = new EE(fn, context || emitter, once11), evt = prefix ? prefix + event : event;
if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
else emitter._events[evt] = [emitter._events[evt], listener];
return emitter;
}
function clearEvent(emitter, evt) {
if (--emitter._eventsCount === 0) emitter._events = new Events();
else delete emitter._events[evt];
}
function EventEmitter4() {
this._events = new Events();
this._eventsCount = 0;
}
EventEmitter4.prototype.eventNames = function eventNames() {
var names = [], events, name;
if (this._eventsCount === 0) return names;
for (name in events = this._events) {
if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
}
if (Object.getOwnPropertySymbols) {
return names.concat(Object.getOwnPropertySymbols(events));
}
return names;
};
EventEmitter4.prototype.listeners = function listeners(event) {
var evt = prefix ? prefix + event : event, handlers = this._events[evt];
if (!handlers) return [];
if (handlers.fn) return [handlers.fn];
for (var i4 = 0, l = handlers.length, ee = new Array(l); i4 < l; i4++) {
ee[i4] = handlers[i4].fn;
}
return ee;
};
EventEmitter4.prototype.listenerCount = function listenerCount(event) {
var evt = prefix ? prefix + event : event, listeners = this._events[evt];
if (!listeners) return 0;
if (listeners.fn) return 1;
return listeners.length;
};
EventEmitter4.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt]) return false;
var listeners = this._events[evt], len = arguments.length, args, i4;
if (listeners.fn) {
if (listeners.once) this.removeListener(event, listeners.fn, void 0, true);
switch (len) {
case 1:
return listeners.fn.call(listeners.context), true;
case 2:
return listeners.fn.call(listeners.context, a1), true;
case 3:
return listeners.fn.call(listeners.context, a1, a2), true;
case 4:
return listeners.fn.call(listeners.context, a1, a2, a3), true;
case 5:
return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
case 6:
return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
}
for (i4 = 1, args = new Array(len - 1); i4 < len; i4++) {
args[i4 - 1] = arguments[i4];
}
listeners.fn.apply(listeners.context, args);
} else {
var length = listeners.length, j2;
for (i4 = 0; i4 < length; i4++) {
if (listeners[i4].once) this.removeListener(event, listeners[i4].fn, void 0, true);
switch (len) {
case 1:
listeners[i4].fn.call(listeners[i4].context);
break;
case 2:
listeners[i4].fn.call(listeners[i4].context, a1);
break;
case 3:
listeners[i4].fn.call(listeners[i4].context, a1, a2);
break;
case 4:
listeners[i4].fn.call(listeners[i4].context, a1, a2, a3);
break;
default:
if (!args) for (j2 = 1, args = new Array(len - 1); j2 < len; j2++) {
args[j2 - 1] = arguments[j2];
}
listeners[i4].fn.apply(listeners[i4].context, args);
}
}
}
return true;
};
EventEmitter4.prototype.on = function on6(event, fn, context) {
return addListener(this, event, fn, context, false);
};
EventEmitter4.prototype.once = function once11(event, fn, context) {
return addListener(this, event, fn, context, true);
};
EventEmitter4.prototype.removeListener = function removeListener(event, fn, context, once11) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt]) return this;
if (!fn) {
clearEvent(this, evt);
return this;
}
var listeners = this._events[evt];
if (listeners.fn) {
if (listeners.fn === fn && (!once11 || listeners.once) && (!context || listeners.context === context)) {
clearEvent(this, evt);
}
} else {
for (var i4 = 0, events = [], length = listeners.length; i4 < length; i4++) {
if (listeners[i4].fn !== fn || once11 && !listeners[i4].once || context && listeners[i4].context !== context) {
events.push(listeners[i4]);
}
}
if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
else clearEvent(this, evt);
}
return this;
};
EventEmitter4.prototype.removeAllListeners = function removeAllListeners(event) {
var evt;
if (event) {
evt = prefix ? prefix + event : event;
if (this._events[evt]) clearEvent(this, evt);
} else {
this._events = new Events();
this._eventsCount = 0;
}
return this;
};
EventEmitter4.prototype.off = EventEmitter4.prototype.removeListener;
EventEmitter4.prototype.addListener = EventEmitter4.prototype.on;
EventEmitter4.prefixed = prefix;
EventEmitter4.EventEmitter = EventEmitter4;
if ("undefined" !== typeof module2) {
module2.exports = EventEmitter4;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eventemitter3/5.0.4/575196c5129a96010821b0b9286f8861735eb3295e2600aa424f0150b72adea4/node_modules/eventemitter3/index.mjs
var import_index2;
var init_eventemitter3 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eventemitter3/5.0.4/575196c5129a96010821b0b9286f8861735eb3295e2600aa424f0150b72adea4/node_modules/eventemitter3/index.mjs"() {
import_index2 = __toESM(require_eventemitter3(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-timeout/7.0.1/a38b2f8471965bf9620be98ee45ef855afd07d93b4c38e404a7cb2171483d949/node_modules/p-timeout/index.js
function pTimeout(promise2, options) {
const {
milliseconds,
fallback,
message,
customTimers = { setTimeout, clearTimeout },
signal
} = options;
let timer;
let abortHandler;
const wrappedPromise = new Promise((resolve4, reject3) => {
if (typeof milliseconds !== "number" || Math.sign(milliseconds) !== 1) {
throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${milliseconds}\``);
}
if (signal?.aborted) {
reject3(getAbortedReason(signal));
return;
}
if (signal) {
abortHandler = () => {
reject3(getAbortedReason(signal));
};
signal.addEventListener("abort", abortHandler, { once: true });
}
promise2.then(resolve4, reject3);
if (milliseconds === Number.POSITIVE_INFINITY) {
return;
}
const timeoutError = new TimeoutError();
timer = customTimers.setTimeout.call(void 0, () => {
if (fallback) {
try {
resolve4(fallback());
} catch (error) {
reject3(error);
}
return;
}
if (typeof promise2.cancel === "function") {
promise2.cancel();
}
if (message === false) {
resolve4();
} else if (message instanceof Error) {
reject3(message);
} else {
timeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;
reject3(timeoutError);
}
}, milliseconds);
});
const cancelablePromise = wrappedPromise.finally(() => {
cancelablePromise.clear();
if (abortHandler && signal) {
signal.removeEventListener("abort", abortHandler);
}
});
cancelablePromise.clear = () => {
customTimers.clearTimeout.call(void 0, timer);
timer = void 0;
};
return cancelablePromise;
}
var TimeoutError, getAbortedReason;
var init_p_timeout = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-timeout/7.0.1/a38b2f8471965bf9620be98ee45ef855afd07d93b4c38e404a7cb2171483d949/node_modules/p-timeout/index.js"() {
TimeoutError = class _TimeoutError extends Error {
name = "TimeoutError";
constructor(message, options) {
super(message, options);
Error.captureStackTrace?.(this, _TimeoutError);
}
};
getAbortedReason = (signal) => signal.reason ?? new DOMException("This operation was aborted.", "AbortError");
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/lower-bound.js
function lowerBound(array, value, comparator) {
let first = 0;
let count2 = array.length;
while (count2 > 0) {
const step2 = Math.trunc(count2 / 2);
let it = first + step2;
if (comparator(array[it], value) <= 0) {
first = ++it;
count2 -= step2 + 1;
} else {
count2 = step2;
}
}
return first;
}
var init_lower_bound = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/lower-bound.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/priority-queue.js
var compactionThreshold, PriorityQueue;
var init_priority_queue = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/priority-queue.js"() {
init_lower_bound();
compactionThreshold = 100;
PriorityQueue = class {
#queue = [];
// The queue is stored as a sorted array, but dequeued items are left before `#head` until compaction. Only items from `#head` onward are live, which keeps repeated dequeues amortized O(1).
#head = 0;
enqueue(run2, options) {
const { priority = 0, id } = options ?? {};
const { size } = this;
const element = {
priority,
id,
run: run2
};
if (size === 0) {
this.#queue.length = 0;
this.#head = 0;
this.#queue.push(element);
return;
}
if (this.#queue.at(-1).priority >= priority) {
this.#queue.push(element);
return;
}
this.#compact();
const index2 = lowerBound(this.#queue, element, (a2, b) => b.priority - a2.priority);
this.#queue.splice(index2, 0, element);
}
setPriority(id, priority) {
const index2 = this.#queue.findIndex((element, index3) => index3 >= this.#head && element.id === id);
if (index2 === -1) {
throw new ReferenceError(`No promise function with the id "${id}" exists in the queue.`);
}
const [item] = this.#queue.splice(index2, 1);
this.enqueue(item.run, { priority, id });
}
remove(idOrRun) {
const index2 = this.#queue.findIndex((element, index3) => {
if (index3 < this.#head) {
return false;
}
if (typeof idOrRun === "string") {
return element.id === idOrRun;
}
return element.run === idOrRun;
});
if (index2 !== -1) {
this.#queue.splice(index2, 1);
}
}
dequeue() {
if (this.#head === this.#queue.length) {
return void 0;
}
const item = this.#queue[this.#head];
this.#head++;
if (this.#head === this.#queue.length) {
this.#queue.length = 0;
this.#head = 0;
} else if (this.#head > compactionThreshold && this.#head > this.#queue.length / 2) {
this.#compact();
}
return item?.run;
}
filter(options) {
const result2 = [];
for (let index2 = this.#head; index2 < this.#queue.length; index2++) {
const element = this.#queue[index2];
if (element.priority === options.priority) {
result2.push(element.run);
}
}
return result2;
}
get size() {
return this.#queue.length - this.#head;
}
#compact() {
if (this.#head === 0) {
return;
}
this.#queue.splice(0, this.#head);
this.#head = 0;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/index.js
var PQueue;
var init_dist15 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-queue/9.3.1/63f39e7cee1a2b29887f73209fe1a4c70f22bfd5ac6a3c37752bd2351b7317d1/node_modules/p-queue/dist/index.js"() {
init_eventemitter3();
init_p_timeout();
init_priority_queue();
PQueue = class extends import_index2.default {
#carryoverIntervalCount;
#isIntervalIgnored;
#intervalCount = 0;
#intervalCap;
#rateLimitedInInterval = false;
#rateLimitFlushScheduled = false;
#interval;
#intervalEnd = 0;
#lastExecutionTime = 0;
#intervalId;
#timeoutId;
#strict;
// Circular buffer implementation for better performance
#strictTicks = [];
#strictTicksStartIndex = 0;
#queue;
#queueClass;
#pending = 0;
// The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194
#concurrency;
#isPaused;
// Use to assign a unique identifier to a promise function, if not explicitly specified
#idAssigner = 1n;
// Track currently running tasks for debugging
#runningTasks = /* @__PURE__ */ new Map();
#queueAbortListenerCleanupFunctions = /* @__PURE__ */ new Set();
/**
Get or set the default timeout for all tasks. Can be changed at runtime.
Operations will throw a `TimeoutError` if they don't complete within the specified time.
The timeout begins when the operation is dequeued and starts execution, not while it's waiting in the queue.
@example
```
const queue = new PQueue({timeout: 5000});
// Change timeout for all future tasks
queue.timeout = 10000;
```
*/
timeout;
constructor(options) {
super();
options = {
carryoverIntervalCount: false,
intervalCap: Number.POSITIVE_INFINITY,
interval: 0,
concurrency: Number.POSITIVE_INFINITY,
autoStart: true,
queueClass: PriorityQueue,
strict: false,
...options
};
if (!(typeof options.intervalCap === "number" && options.intervalCap >= 1)) {
throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${options.intervalCap?.toString() ?? ""}\` (${typeof options.intervalCap})`);
}
if (options.interval === void 0 || !(Number.isFinite(options.interval) && options.interval >= 0)) {
throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${options.interval?.toString() ?? ""}\` (${typeof options.interval})`);
}
if (options.strict && options.interval === 0) {
throw new TypeError("The `strict` option requires a non-zero `interval`");
}
if (options.strict && options.intervalCap === Number.POSITIVE_INFINITY) {
throw new TypeError("The `strict` option requires a finite `intervalCap`");
}
this.#carryoverIntervalCount = options.carryoverIntervalCount ?? options.carryoverConcurrencyCount ?? false;
this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;
this.#intervalCap = options.intervalCap;
this.#interval = options.interval;
this.#strict = options.strict;
this.#queue = new options.queueClass();
this.#queueClass = options.queueClass;
this.concurrency = options.concurrency;
if (options.timeout !== void 0 && !(Number.isFinite(options.timeout) && options.timeout > 0)) {
throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${options.timeout}\` (${typeof options.timeout})`);
}
this.timeout = options.timeout;
this.#isPaused = options.autoStart === false;
this.#setupRateLimitTracking();
}
#cleanupStrictTicks(now) {
while (this.#strictTicksStartIndex < this.#strictTicks.length) {
const oldestTick = this.#strictTicks[this.#strictTicksStartIndex];
if (oldestTick !== void 0 && now - oldestTick >= this.#interval) {
this.#strictTicksStartIndex++;
} else {
break;
}
}
const shouldCompact = this.#strictTicksStartIndex > 100 && this.#strictTicksStartIndex > this.#strictTicks.length / 2 || this.#strictTicksStartIndex === this.#strictTicks.length;
if (shouldCompact) {
this.#strictTicks = this.#strictTicks.slice(this.#strictTicksStartIndex);
this.#strictTicksStartIndex = 0;
}
}
// Helper methods for interval consumption
#consumeIntervalSlot(now) {
if (this.#strict) {
this.#strictTicks.push(now);
} else {
this.#intervalCount++;
}
}
#rollbackIntervalSlot() {
if (this.#strict) {
if (this.#strictTicks.length > this.#strictTicksStartIndex) {
this.#strictTicks.pop();
}
} else if (this.#intervalCount > 0) {
this.#intervalCount--;
}
}
#getActiveTicksCount() {
return this.#strictTicks.length - this.#strictTicksStartIndex;
}
get #doesIntervalAllowAnother() {
if (this.#isIntervalIgnored) {
return true;
}
if (this.#strict) {
return this.#getActiveTicksCount() < this.#intervalCap;
}
return this.#intervalCount < this.#intervalCap;
}
get #doesConcurrentAllowAnother() {
return this.#pending < this.#concurrency;
}
#next() {
this.#pending--;
if (this.#pending === 0) {
this.emit("pendingZero");
}
this.#tryToStartAnother();
this.emit("next");
}
#onResumeInterval() {
this.#timeoutId = void 0;
this.#onInterval();
this.#initializeIntervalIfNeeded();
}
#isIntervalPausedAt(now) {
if (this.#strict) {
this.#cleanupStrictTicks(now);
const activeTicksCount = this.#getActiveTicksCount();
if (activeTicksCount >= this.#intervalCap) {
const oldestTick = this.#strictTicks[this.#strictTicksStartIndex];
const delay = this.#interval - (now - oldestTick);
this.#createIntervalTimeout(delay);
return true;
}
return false;
}
if (this.#intervalId === void 0) {
const delay = this.#intervalEnd - now;
if (delay < 0) {
if (this.#lastExecutionTime > 0) {
const timeSinceLastExecution = now - this.#lastExecutionTime;
if (timeSinceLastExecution < this.#interval) {
this.#createIntervalTimeout(this.#interval - timeSinceLastExecution);
return true;
}
}
this.#intervalCount = this.#carryoverIntervalCount ? this.#pending : 0;
} else {
this.#createIntervalTimeout(delay);
return true;
}
}
return false;
}
#createIntervalTimeout(delay) {
if (this.#timeoutId !== void 0) {
return;
}
this.#timeoutId = setTimeout(() => {
this.#onResumeInterval();
}, delay);
}
#clearIntervalTimer() {
if (this.#intervalId) {
clearInterval(this.#intervalId);
this.#intervalId = void 0;
}
}
#clearTimeoutTimer() {
if (this.#timeoutId) {
clearTimeout(this.#timeoutId);
this.#timeoutId = void 0;
}
}
#tryToStartAnother() {
if (this.#queue.size === 0) {
this.#clearIntervalTimer();
this.emit("empty");
if (this.#pending === 0) {
this.#clearTimeoutTimer();
if (this.#strict && this.#strictTicksStartIndex > 0) {
const now = Date.now();
this.#cleanupStrictTicks(now);
}
this.emit("idle");
}
return false;
}
let taskStarted = false;
if (!this.#isPaused) {
const now = Date.now();
const canInitializeInterval = !this.#isIntervalPausedAt(now);
if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {
const job = this.#queue.dequeue();
if (!this.#isIntervalIgnored) {
this.#consumeIntervalSlot(now);
this.#scheduleRateLimitUpdate();
}
this.emit("active");
job();
if (canInitializeInterval) {
this.#initializeIntervalIfNeeded();
}
taskStarted = true;
}
}
return taskStarted;
}
#initializeIntervalIfNeeded() {
if (this.#isIntervalIgnored || this.#intervalId !== void 0) {
return;
}
if (this.#strict) {
return;
}
this.#intervalId = setInterval(() => {
this.#onInterval();
}, this.#interval);
this.#intervalEnd = Date.now() + this.#interval;
}
#onInterval() {
if (!this.#strict) {
if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {
this.#clearIntervalTimer();
}
this.#intervalCount = this.#carryoverIntervalCount ? this.#pending : 0;
}
this.#processQueue();
this.#scheduleRateLimitUpdate();
}
/**
Executes all queued functions until it reaches the limit.
*/
#processQueue() {
while (this.#tryToStartAnother()) {
}
}
get concurrency() {
return this.#concurrency;
}
set concurrency(newConcurrency) {
if (!(typeof newConcurrency === "number" && newConcurrency >= 1)) {
throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${newConcurrency}\` (${typeof newConcurrency})`);
}
this.#concurrency = newConcurrency;
this.#processQueue();
}
/**
Updates the priority of a promise function by its id, affecting its execution order. Requires a defined concurrency limit to take effect.
For example, this can be used to prioritize a promise function to run earlier.
```js
import PQueue from 'p-queue';
const queue = new PQueue({concurrency: 1});
queue.add(async () => '🦄', {priority: 1});
queue.add(async () => '🦀', {priority: 0, id: '🦀'});
queue.add(async () => '🦄', {priority: 1});
queue.add(async () => '🦄', {priority: 1});
queue.setPriority('🦀', 2);
```
In this case, the promise function with `id: '🦀'` runs second.
You can also deprioritize a promise function to delay its execution:
```js
import PQueue from 'p-queue';
const queue = new PQueue({concurrency: 1});
queue.add(async () => '🦄', {priority: 1});
queue.add(async () => '🦀', {priority: 1, id: '🦀'});
queue.add(async () => '🦄');
queue.add(async () => '🦄', {priority: 0});
queue.setPriority('🦀', -1);
```
Here, the promise function with `id: '🦀'` executes last.
*/
setPriority(id, priority) {
if (typeof priority !== "number" || !Number.isFinite(priority)) {
throw new TypeError(`Expected \`priority\` to be a finite number, got \`${priority}\` (${typeof priority})`);
}
this.#queue.setPriority(id, priority);
}
async add(function_, options = {}) {
options = {
timeout: this.timeout,
...options,
// Assign unique ID if not provided
id: options.id ?? (this.#idAssigner++).toString()
};
return new Promise((resolve4, reject3) => {
const taskSymbol = /* @__PURE__ */ Symbol(`task-${options.id}`);
let cleanupQueueAbortHandler = () => void 0;
const run2 = async () => {
cleanupQueueAbortHandler();
this.#pending++;
this.#runningTasks.set(taskSymbol, {
id: options.id,
priority: options.priority ?? 0,
// Match priority-queue default
startTime: Date.now(),
timeout: options.timeout
});
let eventListener;
try {
try {
options.signal?.throwIfAborted();
} catch (error) {
this.#rollbackIntervalConsumption();
this.#runningTasks.delete(taskSymbol);
throw error;
}
this.#lastExecutionTime = Date.now();
let operation5 = function_({ signal: options.signal });
if (options.timeout) {
operation5 = pTimeout(Promise.resolve(operation5), {
milliseconds: options.timeout,
message: `Task timed out after ${options.timeout}ms (queue has ${this.#pending} running, ${this.#queue.size} waiting)`
});
}
if (options.signal) {
const { signal } = options;
operation5 = Promise.race([operation5, new Promise((_resolve, reject4) => {
eventListener = () => {
reject4(signal.reason);
};
signal.addEventListener("abort", eventListener, { once: true });
})]);
}
const result2 = await operation5;
resolve4(result2);
this.emit("completed", result2);
} catch (error) {
reject3(error);
this.emit("error", error);
} finally {
if (eventListener) {
options.signal?.removeEventListener("abort", eventListener);
}
this.#runningTasks.delete(taskSymbol);
queueMicrotask(() => {
this.#next();
});
}
};
this.#queue.enqueue(run2, options);
const removeQueuedTask = () => {
if (this.#queue instanceof PriorityQueue) {
this.#queue.remove(run2);
return;
}
this.#queue.remove?.(options.id);
};
if (options.signal) {
const { signal } = options;
const queueAbortHandler = () => {
cleanupQueueAbortHandler();
removeQueuedTask();
reject3(signal.reason);
this.#tryToStartAnother();
this.emit("next");
};
cleanupQueueAbortHandler = () => {
signal.removeEventListener("abort", queueAbortHandler);
this.#queueAbortListenerCleanupFunctions.delete(cleanupQueueAbortHandler);
};
if (signal.aborted) {
queueAbortHandler();
return;
}
signal.addEventListener("abort", queueAbortHandler, { once: true });
this.#queueAbortListenerCleanupFunctions.add(cleanupQueueAbortHandler);
}
this.emit("add");
this.#tryToStartAnother();
});
}
async addAll(functions, options) {
return Promise.all(functions.map(async (function_) => this.add(function_, options)));
}
/**
Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)
*/
start() {
if (!this.#isPaused) {
return this;
}
this.#isPaused = false;
this.#processQueue();
return this;
}
/**
Put queue execution on hold.
*/
pause() {
this.#isPaused = true;
}
/**
Clear the queue.
*/
clear() {
for (const cleanupQueueAbortHandler of this.#queueAbortListenerCleanupFunctions) {
cleanupQueueAbortHandler();
}
this.#queue = new this.#queueClass();
this.#clearIntervalTimer();
this.#updateRateLimitState();
this.emit("empty");
if (this.#pending === 0) {
this.#clearTimeoutTimer();
this.emit("idle");
}
this.emit("next");
}
/**
Can be called multiple times. Useful if you for example add additional items at a later time.
@returns A promise that settles when the queue becomes empty.
*/
async onEmpty() {
if (this.#queue.size === 0) {
return;
}
await this.#onEvent("empty");
}
/**
@returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.
If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.
Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.
*/
async onSizeLessThan(limit) {
if (this.#queue.size < limit) {
return;
}
await this.#onEvent(["next", "active"], () => this.#queue.size < limit);
}
/**
The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.
@returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.
*/
async onIdle() {
if (this.#pending === 0 && this.#queue.size === 0) {
return;
}
await this.#onEvent("idle");
}
/**
The difference with `.onIdle` is that `.onPendingZero` only waits for currently running tasks to finish, ignoring queued tasks.
@returns A promise that settles when all currently running tasks have completed; `queue.pending === 0`.
*/
async onPendingZero() {
if (this.#pending === 0) {
return;
}
await this.#onEvent("pendingZero");
}
/**
@returns A promise that settles when the queue becomes rate-limited due to intervalCap.
*/
async onRateLimit() {
if (this.isRateLimited) {
return;
}
await this.#onEvent("rateLimit");
}
/**
@returns A promise that settles when the queue is no longer rate-limited.
*/
async onRateLimitCleared() {
if (!this.isRateLimited) {
return;
}
await this.#onEvent("rateLimitCleared");
}
/**
@returns A promise that rejects when any task in the queue errors.
Use with `Promise.race([queue.onError(), queue.onIdle()])` to fail fast on the first error while still resolving normally when the queue goes idle.
Important: The promise returned by `add()` still rejects. You must handle each `add()` promise (for example, `.catch(() => {})`) to avoid unhandled rejections.
@example
```
import PQueue from 'p-queue';
const queue = new PQueue({concurrency: 2});
queue.add(() => fetchData(1)).catch(() => {});
queue.add(() => fetchData(2)).catch(() => {});
queue.add(() => fetchData(3)).catch(() => {});
// Stop processing on first error
try {
await Promise.race([
queue.onError(),
queue.onIdle()
]);
} catch (error) {
queue.pause(); // Stop processing remaining tasks
console.error('Queue failed:', error);
}
```
*/
// eslint-disable-next-line @typescript-eslint/promise-function-async
onError() {
return new Promise((_resolve, reject3) => {
const handleError = (error) => {
this.off("error", handleError);
reject3(error);
};
this.on("error", handleError);
});
}
async #onEvent(events, filter14) {
const eventList = Array.isArray(events) ? events : [events];
return new Promise((resolve4) => {
const listener = () => {
if (filter14 && !filter14()) {
return;
}
for (const event of eventList) {
this.off(event, listener);
}
resolve4();
};
for (const event of eventList) {
this.on(event, listener);
}
});
}
/**
Size of the queue, the number of queued items waiting to run.
*/
get size() {
return this.#queue.size;
}
/**
Size of the queue, filtered by the given options.
For example, this can be used to find the number of items remaining in the queue with a specific priority level.
*/
sizeBy(options) {
return this.#queue.filter(options).length;
}
/**
Number of running items (no longer in the queue).
*/
get pending() {
return this.#pending;
}
/**
Whether the queue is currently paused.
*/
get isPaused() {
return this.#isPaused;
}
#setupRateLimitTracking() {
if (this.#isIntervalIgnored) {
return;
}
this.on("add", () => {
if (this.#queue.size > 0) {
this.#scheduleRateLimitUpdate();
}
});
this.on("next", () => {
this.#scheduleRateLimitUpdate();
});
}
#scheduleRateLimitUpdate() {
if (this.#isIntervalIgnored || this.#rateLimitFlushScheduled) {
return;
}
this.#rateLimitFlushScheduled = true;
queueMicrotask(() => {
this.#rateLimitFlushScheduled = false;
this.#updateRateLimitState();
});
}
#rollbackIntervalConsumption() {
if (this.#isIntervalIgnored) {
return;
}
this.#rollbackIntervalSlot();
this.#scheduleRateLimitUpdate();
}
#updateRateLimitState() {
const previous = this.#rateLimitedInInterval;
if (this.#isIntervalIgnored || this.#queue.size === 0) {
if (previous) {
this.#rateLimitedInInterval = false;
this.emit("rateLimitCleared");
}
return;
}
let count2;
if (this.#strict) {
const now = Date.now();
this.#cleanupStrictTicks(now);
count2 = this.#getActiveTicksCount();
} else {
count2 = this.#intervalCount;
}
const shouldBeRateLimited = count2 >= this.#intervalCap;
if (shouldBeRateLimited !== previous) {
this.#rateLimitedInInterval = shouldBeRateLimited;
this.emit(shouldBeRateLimited ? "rateLimit" : "rateLimitCleared");
}
}
/**
Whether the queue is currently rate-limited due to intervalCap.
*/
get isRateLimited() {
return this.#rateLimitedInInterval;
}
/**
Whether the queue is saturated. Returns `true` when:
- All concurrency slots are occupied and tasks are waiting, OR
- The queue is rate-limited and tasks are waiting
Useful for detecting backpressure and potential hanging tasks.
```js
import PQueue from 'p-queue';
const queue = new PQueue({concurrency: 2});
// Backpressure handling
if (queue.isSaturated) {
console.log('Queue is saturated, waiting for capacity...');
await queue.onSizeLessThan(queue.concurrency);
}
// Monitoring for stuck tasks
setInterval(() => {
if (queue.isSaturated) {
console.warn(`Queue saturated: ${queue.pending} running, ${queue.size} waiting`);
}
}, 60000);
```
*/
get isSaturated() {
return this.#pending === this.#concurrency && this.#queue.size > 0 || this.isRateLimited && this.#queue.size > 0;
}
/**
The tasks currently being executed. Each task includes its `id`, `priority`, `startTime`, `timeout` (if set), and `timeoutRemaining` (milliseconds until the task times out, or `undefined` if no timeout is set).
Returns an array of task info objects.
```js
import PQueue from 'p-queue';
const queue = new PQueue({concurrency: 2, timeout: 10000});
// Add tasks with IDs for better debugging
queue.add(() => fetchUser(123), {id: 'user-123'});
queue.add(() => fetchPosts(456), {id: 'posts-456', priority: 1});
// Check what's running
console.log(queue.runningTasks);
// => [{
// id: 'user-123',
// priority: 0,
// startTime: 1759253001716,
// timeout: 10000,
// timeoutRemaining: 9700
// }, {
// id: 'posts-456',
// priority: 1,
// startTime: 1759253001916,
// timeout: 10000,
// timeoutRemaining: 9900
// }]
```
*/
get runningTasks() {
return [...this.#runningTasks.values()].map((task) => ({
...task,
timeoutRemaining: task.timeout ? Math.max(0, task.startTime + task.timeout - Date.now()) : void 0
}));
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-reflect/3.1.0/6f95dcbf2829f016a4a665ec47811ad42cf4e3ca630bc671584a7e2cc839145d/node_modules/p-reflect/index.js
async function pReflect(promise2) {
try {
const value = await promise2;
return {
status: "fulfilled",
value,
isFulfilled: true,
isRejected: false
};
} catch (error) {
return {
status: "rejected",
reason: error,
isFulfilled: false,
isRejected: true
};
}
}
var init_p_reflect = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-reflect/3.1.0/6f95dcbf2829f016a4a665ec47811ad42cf4e3ca630bc671584a7e2cc839145d/node_modules/p-reflect/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/promise-share/2.0.1/49c9a9052af012e839bac1af677bd64fa26e25833bcec109ea012b813632820c/node_modules/promise-share/index.js
function pShare(p) {
const reflected = pReflect(p);
return async () => {
const reflection = await reflected;
if (reflection.isRejected) throw reflection.reason;
return reflection.value;
};
}
var init_promise_share = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/promise-share/2.0.1/49c9a9052af012e839bac1af677bd64fa26e25833bcec109ea012b813632820c/node_modules/promise-share/index.js"() {
init_p_reflect();
}
});
// ../installing/package-requester/lib/packageRequester.js
import { createReadStream as createReadStream2, promises as fs46 } from "node:fs";
import path78 from "node:path";
function getLibcFamilySync2() {
if (currentLibc2 === void 0) {
currentLibc2 = (0, import_detect_libc3.familySync)();
}
return currentLibc2;
}
function createPackageRequester(opts3) {
opts3 = opts3 || {};
const networkConcurrency = opts3.networkConcurrency ?? Math.min(96, Math.max(calcMaxWorkers() * 3, 64));
const requestsQueue = new PQueue({
concurrency: networkConcurrency
});
const fetch2 = fetcher.bind(null, opts3.fetchers, opts3.cafs, opts3.customFetchers);
const readPkgFromCafs2 = readPkgFromCafs.bind(null, {
storeDir: opts3.storeDir,
verifyStoreIntegrity: opts3.verifyStoreIntegrity,
strictStorePkgContentCheck: opts3.strictStorePkgContentCheck,
frozenStore: opts3.frozenStore
});
const fetchPackageToStore = fetchToStore.bind(null, {
readPkgFromCafs: readPkgFromCafs2,
fetch: fetch2,
fetchingLocker: /* @__PURE__ */ new Map(),
requestsQueue: Object.assign(requestsQueue, {
counter: 0,
concurrency: networkConcurrency
}),
storeDir: opts3.storeDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
strictStorePkgContentCheck: opts3.strictStorePkgContentCheck
});
const requestPackage = resolveAndFetch.bind(null, {
engineStrict: opts3.engineStrict,
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.pnpmVersion,
force: opts3.force,
fetchPackageToStore,
requestsQueue,
resolve: opts3.resolve,
storeDir: opts3.storeDir,
fetchers: opts3.fetchers,
customFetchers: opts3.customFetchers
});
return Object.assign(requestPackage, {
fetchPackageToStore,
getFilesIndexFilePath: getFilesIndexFilePath.bind(null, {
storeDir: opts3.storeDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
}),
requestPackage
});
}
async function resolveAndFetch(ctx, wantedDependency, options) {
let resolution = options.currentPkg?.resolution;
let pkgId = options.currentPkg?.id;
const preferredVersions = resolution && !options.update && options.currentPkg?.name != null && options.currentPkg?.version != null ? {
...options.preferredVersions,
[options.currentPkg.name]: { [options.currentPkg.version]: "version" }
} : options.preferredVersions;
const resolveResult = await ctx.requestsQueue.add(async () => ctx.resolve(wantedDependency, {
...options,
preferredVersions,
currentPkg: options.currentPkg?.id && options.currentPkg?.resolution ? {
id: options.currentPkg.id,
name: options.currentPkg.name,
version: options.currentPkg.version,
resolution: options.currentPkg.resolution,
publishedAt: options.currentPkg.publishedAt
} : void 0
}), { priority: options.downloadPriority });
let { manifest } = resolveResult;
const { latest, resolvedVia, publishedAt, normalizedBareSpecifier, alias, policyViolation } = resolveResult;
const previousResolution = options.currentPkg?.resolution;
const previousIntegrity = previousResolution && "integrity" in previousResolution ? previousResolution.integrity : void 0;
const newIntegrity = "integrity" in resolveResult.resolution ? resolveResult.resolution.integrity : void 0;
const integrityChanged = previousIntegrity != null && newIntegrity != null && previousIntegrity !== newIntegrity;
const updated = pkgId !== resolveResult.id || !resolution || integrityChanged;
resolution = resolveResult.resolution;
pkgId = resolveResult.id;
if (!updated && typeof previousIntegrity === "string" && !resolution.type && !resolution.integrity) {
resolution.integrity = previousIntegrity;
}
const id = pkgId;
if ("type" in resolution && resolution.type === "directory" && !id.startsWith("file:")) {
if (manifest == null) {
throw new Error(`Couldn't read package.json of local dependency ${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.bareSpecifier ?? ""}`);
}
return {
body: {
id,
isLocal: true,
manifest,
resolution,
resolvedVia,
updated,
normalizedBareSpecifier,
alias
}
};
}
let isInstallable = ctx.force === true || (manifest == null ? void 0 : packageIsInstallable(id, manifest, {
engineStrict: ctx.engineStrict,
lockfileDir: options.lockfileDir,
nodeVersion: ctx.nodeVersion,
optional: wantedDependency.optional === true,
supportedArchitectures: options.supportedArchitectures
}));
const fetcherForResolution = resolution.type === "variations" ? void 0 : await pickFetcher(ctx.fetchers, resolution, {
customFetchers: ctx.customFetchers,
packageId: id
});
const resolutionNeedsFetchHook = fetcherForResolution?.resolutionNeedsFetch;
const resolutionNeedsFetch = typeof resolutionNeedsFetchHook === "function" ? resolutionNeedsFetchHook(resolution) : false;
if ((options.skipFetch === true || isInstallable === false) && !resolutionNeedsFetch && !integrityChanged && manifest != null) {
return {
body: {
id,
isLocal: false,
isInstallable: isInstallable ?? void 0,
latest,
manifest,
normalizedBareSpecifier,
resolution,
resolvedVia,
updated,
publishedAt,
alias,
policyViolation
}
};
}
const pkg = manifest != null ? pick_default(["name", "version"], manifest) : {};
const fetchResult = ctx.fetchPackageToStore({
allowBuild: options.allowBuild,
fetchRawManifest: true,
force: integrityChanged,
populateMissingIntegrity: resolutionNeedsFetch,
pickedFetcher: fetcherForResolution,
ignoreScripts: options.ignoreScripts,
lockfileDir: options.lockfileDir,
pkg: {
...options.expectedPkg?.name != null ? updated ? { name: options.expectedPkg.name, version: pkg.version } : options.expectedPkg : pkg,
id,
resolution
},
onFetchError: options.onFetchError,
supportedArchitectures: options.supportedArchitectures
});
if (!manifest) {
const fetchedResult = await fetchResult.fetching();
if (fetchedResult.bundledManifest) {
manifest = fetchedResult.bundledManifest;
} else if (fetchedResult.files.filesMap.has("package.json")) {
const loadedManifest = await loadJsonFile(fetchedResult.files.filesMap.get("package.json"));
if (!loadedManifest._pnpmPlaceholder) {
manifest = loadedManifest;
}
}
if (resolution.type !== "variations" && fetchedResult.integrity != null && getExpectedIntegrity2(resolution) == null) {
resolution.integrity = fetchedResult.integrity;
}
}
let fetching = fetchResult.fetching;
if (resolutionNeedsFetch) {
let populating;
fetching = () => {
populating ??= fetchResult.fetching().then((fetchedResult) => {
if (fetchedResult.integrity != null && getExpectedIntegrity2(resolution) == null) {
resolution.integrity = fetchedResult.integrity;
}
return fetchedResult;
}).catch((err2) => {
populating = void 0;
throw err2;
});
return populating;
};
}
if (isInstallable === void 0 && manifest != null) {
isInstallable = ctx.force === true || packageIsInstallable(id, manifest, {
engineStrict: ctx.engineStrict,
lockfileDir: options.lockfileDir,
nodeVersion: ctx.nodeVersion,
optional: wantedDependency.optional === true,
supportedArchitectures: options.supportedArchitectures
});
}
return {
body: {
id,
isLocal: false,
isInstallable: isInstallable ?? void 0,
latest,
manifest,
normalizedBareSpecifier,
resolution,
resolvedVia,
updated,
publishedAt,
alias,
policyViolation
},
fetching,
filesIndexFile: fetchResult.filesIndexFile,
resolutionNeedsFetch
};
}
function getFilesIndexFilePath(ctx, opts3) {
const targetRelative = depPathToFilename(opts3.pkg.id, ctx.virtualStoreDirMaxLength);
const target2 = path78.join(ctx.storeDir, targetRelative);
const built = !opts3.ignoreScripts;
let resolution;
if (opts3.pkg.resolution.type === "variations") {
resolution = findResolution(opts3.pkg.resolution.variants, opts3.supportedArchitectures);
} else {
resolution = opts3.pkg.resolution;
}
return {
target: target2,
filesIndexFile: pickStoreIndexKey(resolution, opts3.pkg.id, { built }),
resolution
};
}
function findResolution(resolutionVariants, supportedArchitectures) {
const selector = resolvePlatformSelector(supportedArchitectures, {
platform: process.platform,
arch: process.arch,
libc: getLibcFamilySync2()
});
const variant = selectPlatformVariant(resolutionVariants, selector);
if (!variant) {
const resolutionTargets = resolutionVariants.map((variant2) => variant2.targets);
throw new PnpmError("NO_RESOLUTION_MATCHED", `Cannot find a resolution variant for the current platform in these resolutions: ${JSON.stringify(resolutionTargets)}`);
}
return variant.resolution;
}
function fetchToStore(ctx, opts3) {
if (!opts3.pkg.name) {
opts3.fetchRawManifest = true;
}
if (!ctx.fetchingLocker.has(opts3.pkg.id)) {
const fetching = pDefer();
const { filesIndexFile, target: target2, resolution } = getFilesIndexFilePath(ctx, opts3);
doFetchToStore(filesIndexFile, fetching, target2, resolution);
ctx.fetchingLocker.set(opts3.pkg.id, {
fetching: removeKeyOnFail(fetching.promise),
filesIndexFile,
fetchRawManifest: opts3.fetchRawManifest
});
fetching.promise.then((cache) => {
progressLogger.debug({
packageId: opts3.pkg.id,
requester: opts3.lockfileDir,
status: cache.files.resolvedFrom === "remote" ? "fetched" : "found_in_store"
});
if (cache.files.resolvedFrom !== "remote") {
return;
}
const tmp = ctx.fetchingLocker.get(opts3.pkg.id);
if (tmp == null)
return;
ctx.fetchingLocker.set(opts3.pkg.id, {
...tmp,
fetching: Promise.resolve({
...cache,
files: {
...cache.files,
resolvedFrom: "store"
}
})
});
}).catch(() => {
ctx.fetchingLocker.delete(opts3.pkg.id);
});
}
const result2 = ctx.fetchingLocker.get(opts3.pkg.id);
if (opts3.fetchRawManifest && !result2.fetchRawManifest) {
result2.fetching = removeKeyOnFail(result2.fetching.then(async ({ files }) => {
if (!files.filesMap.has("package.json"))
return {
files,
bundledManifest: void 0
};
return {
files,
bundledManifest: await readBundledManifest(files.filesMap.get("package.json"))
};
}));
result2.fetchRawManifest = true;
}
return {
fetching: pShare(result2.fetching),
filesIndexFile: result2.filesIndexFile
};
async function removeKeyOnFail(p) {
try {
return await p;
} catch (err2) {
ctx.fetchingLocker.delete(opts3.pkg.id);
if (opts3.onFetchError) {
throw opts3.onFetchError(err2);
}
throw err2;
}
}
async function doFetchToStore(filesIndexFile, fetching, target2, resolution) {
try {
const isLocalTarballDep = opts3.pkg.id.startsWith("file:");
const isLocalPkg = resolution.type === "directory";
const populateMissingIntegrity = opts3.populateMissingIntegrity === true;
if (!populateMissingIntegrity) {
assertFetchableResolution(opts3.pkg.id, resolution);
}
let refetchingStoredPackage = false;
if (!opts3.force && !populateMissingIntegrity && (!isLocalTarballDep || await tarballIsUpToDate(opts3.pkg.resolution, target2, opts3.lockfileDir)) && !isLocalPkg) {
const { verified: verified2, files, bundledManifest } = await ctx.readPkgFromCafs(filesIndexFile, {
readManifest: opts3.fetchRawManifest,
expectedPkg: opts3.pkg
});
if (verified2) {
fetching.resolve({
files,
bundledManifest
});
return;
}
refetchingStoredPackage = files?.filesMap != null;
}
if (refetchingStoredPackage) {
packageRequestLogger.warn({
message: `Refetching ${target2} to store. It was either modified or had no integrity checksums`,
prefix: opts3.lockfileDir
});
}
const priority = (++ctx.requestsQueue.counter % ctx.requestsQueue.concurrency === 0 ? -1 : 1) * 1e3;
const fetchedPackage = await ctx.requestsQueue.add(async () => ctx.fetch(opts3.pkg.id, resolution, {
allowBuild: opts3.allowBuild,
filesIndexFile,
lockfileDir: opts3.lockfileDir,
readManifest: opts3.fetchRawManifest,
onProgress: (downloaded) => {
fetchingProgressLogger.debug({
downloaded,
packageId: opts3.pkg.id,
status: "in_progress"
});
},
onStart: (size, attempt) => {
fetchingProgressLogger.debug({
attempt,
packageId: opts3.pkg.id,
size,
status: "started"
});
},
pkg: {
name: opts3.pkg.name,
version: opts3.pkg.version
}
}, opts3.pickedFetcher), { priority });
const integrity = getExpectedIntegrity2(opts3.pkg.resolution) ?? fetchedPackage.integrity;
if (isLocalTarballDep && integrity) {
await fs46.mkdir(target2, { recursive: true });
await lib_default.writeFile(path78.join(target2, TARBALL_INTEGRITY_FILENAME), integrity, "utf8");
}
fetching.resolve({
files: {
resolvedFrom: fetchedPackage.local ? "local-dir" : "remote",
filesMap: fetchedPackage.filesMap,
packageImportMethod: fetchedPackage.packageImportMethod,
requiresBuild: fetchedPackage.requiresBuild
},
bundledManifest: fetchedPackage.manifest,
integrity
});
} catch (err2) {
fetching.reject(err2);
}
}
}
async function readBundledManifest(pkgJsonPath) {
return normalizeBundledManifest(await loadJsonFile(pkgJsonPath));
}
function getExpectedIntegrity2(resolution) {
const integrity = resolution.integrity;
return typeof integrity === "string" && integrity.length > 0 ? integrity : void 0;
}
function assertFetchableResolution(depPath, resolution) {
if (classifyResolution(resolution) !== "remoteTarball")
return;
if (getExpectedIntegrity2(resolution) != null)
return;
throw new PnpmError("MISSING_TARBALL_INTEGRITY", `Cannot fetch package "${depPath}" from the lockfile: it has no "integrity" field, so the downloaded tarball cannot be verified. Run a fresh install to repair the lockfile.`);
}
async function tarballIsUpToDate(resolution, pkgInStoreLocation, lockfileDir) {
let currentIntegrity;
try {
currentIntegrity = await lib_default.readFile(path78.join(pkgInStoreLocation, TARBALL_INTEGRITY_FILENAME), "utf8");
} catch (err2) {
return false;
}
if (resolution.integrity && currentIntegrity !== resolution.integrity)
return false;
const tarball = path78.join(lockfileDir, resolution.tarball.slice(5));
const tarballStream = createReadStream2(tarball);
try {
return Boolean(await import_ssri4.default.checkStream(tarballStream, currentIntegrity));
} catch (err2) {
return false;
}
}
async function fetcher(fetcherByHostingType, cafs, customFetchers, packageId, resolution, opts3, pickedFetcher) {
try {
const fetch2 = pickedFetcher ?? await pickFetcher(fetcherByHostingType, resolution, {
customFetchers,
packageId
});
const result2 = await fetch2(cafs, resolution, opts3);
return result2;
} catch (err2) {
packageRequestLogger.warn({
message: `Fetching ${packageId} failed!`,
prefix: opts3.lockfileDir
});
throw err2;
}
}
var import_detect_libc3, import_ssri4, currentLibc2, TARBALL_INTEGRITY_FILENAME, packageRequestLogger;
var init_packageRequester = __esm({
"../installing/package-requester/lib/packageRequester.js"() {
"use strict";
init_lib40();
init_lib6();
init_lib68();
init_lib2();
init_lib82();
init_lib14();
init_lib3();
init_lib29();
init_lib83();
init_lib30();
init_lib4();
import_detect_libc3 = __toESM(require_detect_libc(), 1);
init_load_json_file();
init_p_defer();
init_dist15();
init_promise_share();
init_es();
import_ssri4 = __toESM(require_lib18(), 1);
TARBALL_INTEGRITY_FILENAME = "tarball-integrity";
packageRequestLogger = logger("package-requester");
}
});
// ../installing/package-requester/lib/index.js
var init_lib84 = __esm({
"../installing/package-requester/lib/index.js"() {
"use strict";
init_packageRequester();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/fs/index.js
var require_fs7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/fs/index.js"(exports2) {
"use strict";
var u2 = require_universalify().fromCallback;
var fs126 = require_graceful_fs();
var api2 = [
"access",
"appendFile",
"chmod",
"chown",
"close",
"copyFile",
"cp",
"fchmod",
"fchown",
"fdatasync",
"fstat",
"fsync",
"ftruncate",
"futimes",
"glob",
"lchmod",
"lchown",
"lutimes",
"link",
"lstat",
"mkdir",
"mkdtemp",
"open",
"opendir",
"readdir",
"readFile",
"readlink",
"realpath",
"rename",
"rm",
"rmdir",
"stat",
"statfs",
"symlink",
"truncate",
"unlink",
"utimes",
"writeFile"
].filter((key) => {
return typeof fs126[key] === "function";
});
Object.assign(exports2, fs126);
api2.forEach((method2) => {
exports2[method2] = u2(fs126[method2]);
});
exports2.exists = function(filename, callback2) {
if (typeof callback2 === "function") {
return fs126.exists(filename, callback2);
}
return new Promise((resolve4) => {
return fs126.exists(filename, resolve4);
});
};
exports2.read = function(fd2, buffer3, offset, length, position3, callback2) {
if (typeof callback2 === "function") {
return fs126.read(fd2, buffer3, offset, length, position3, callback2);
}
return new Promise((resolve4, reject3) => {
fs126.read(fd2, buffer3, offset, length, position3, (err2, bytesRead, buffer4) => {
if (err2) return reject3(err2);
resolve4({ bytesRead, buffer: buffer4 });
});
});
};
exports2.write = function(fd2, buffer3, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.write(fd2, buffer3, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.write(fd2, buffer3, ...args, (err2, bytesWritten, buffer4) => {
if (err2) return reject3(err2);
resolve4({ bytesWritten, buffer: buffer4 });
});
});
};
exports2.readv = function(fd2, buffers, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.readv(fd2, buffers, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.readv(fd2, buffers, ...args, (err2, bytesRead, buffers2) => {
if (err2) return reject3(err2);
resolve4({ bytesRead, buffers: buffers2 });
});
});
};
exports2.writev = function(fd2, buffers, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs126.writev(fd2, buffers, ...args);
}
return new Promise((resolve4, reject3) => {
fs126.writev(fd2, buffers, ...args, (err2, bytesWritten, buffers2) => {
if (err2) return reject3(err2);
resolve4({ bytesWritten, buffers: buffers2 });
});
});
};
if (typeof fs126.realpath.native === "function") {
exports2.realpath.native = u2(fs126.realpath.native);
} else {
process.emitWarning(
"fs.realpath.native is not a function. Is fs being monkey-patched?",
"Warning",
"fs-extra-WARN0003"
);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/utils.js
var require_utils13 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
module2.exports.checkPath = function checkPath(pth) {
if (process.platform === "win32") {
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path236.parse(pth).root, ""));
if (pathHasInvalidWinCharacters) {
const error = new Error(`Path contains invalid characters: ${pth}`);
error.code = "EINVAL";
throw error;
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/make-dir.js
var require_make_dir2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var { checkPath } = require_utils13();
var getMode = (options) => {
const defaults4 = { mode: 511 };
if (typeof options === "number") return options;
return { ...defaults4, ...options }.mode;
};
module2.exports.makeDir = async (dir, options) => {
checkPath(dir);
return fs126.mkdir(dir, {
mode: getMode(options),
recursive: true
});
};
module2.exports.makeDirSync = (dir, options) => {
checkPath(dir);
return fs126.mkdirSync(dir, {
mode: getMode(options),
recursive: true
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/index.js
var require_mkdirs2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var { makeDir: _makeDir, makeDirSync } = require_make_dir2();
var makeDir = u2(_makeDir);
module2.exports = {
mkdirs: makeDir,
mkdirsSync: makeDirSync,
// alias
mkdirp: makeDir,
mkdirpSync: makeDirSync,
ensureDir: makeDir,
ensureDirSync: makeDirSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/path-exists/index.js
var require_path_exists3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs7();
function pathExists3(path236) {
return fs126.access(path236).then(() => true).catch(() => false);
}
module2.exports = {
pathExists: u2(pathExists3),
pathExistsSync: fs126.existsSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/utimes.js
var require_utimes2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var u2 = require_universalify().fromPromise;
async function utimesMillis(path236, atime, mtime) {
const fd2 = await fs126.open(path236, "r+");
let error = null;
try {
await fs126.futimes(fd2, atime, mtime);
} catch (futimesErr) {
error = futimesErr;
} finally {
try {
await fs126.close(fd2);
} catch (closeErr) {
if (!error) error = closeErr;
}
}
if (error) {
throw error;
}
}
function utimesMillisSync(path236, atime, mtime) {
const fd2 = fs126.openSync(path236, "r+");
let error = null;
try {
fs126.futimesSync(fd2, atime, mtime);
} catch (futimesErr) {
error = futimesErr;
} finally {
try {
fs126.closeSync(fd2);
} catch (closeErr) {
if (!error) error = closeErr;
}
}
if (error) {
throw error;
}
}
module2.exports = {
utimesMillis: u2(utimesMillis),
utimesMillisSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/stat.js
var require_stat2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/stat.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var path236 = __require("path");
var u2 = require_universalify().fromPromise;
function getStats2(src2, dest, opts3) {
const statFunc = opts3.dereference ? (file) => fs126.stat(file, { bigint: true }) : (file) => fs126.lstat(file, { bigint: true });
return Promise.all([
statFunc(src2),
statFunc(dest).catch((err2) => {
if (err2.code === "ENOENT") return null;
throw err2;
})
]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
}
function getStatsSync(src2, dest, opts3) {
let destStat;
const statFunc = opts3.dereference ? (file) => fs126.statSync(file, { bigint: true }) : (file) => fs126.lstatSync(file, { bigint: true });
const srcStat = statFunc(src2);
try {
destStat = statFunc(dest);
} catch (err2) {
if (err2.code === "ENOENT") return { srcStat, destStat: null };
throw err2;
}
return { srcStat, destStat };
}
async function checkPaths(src2, dest, funcName, opts3) {
const { srcStat, destStat } = await getStats2(src2, dest, opts3);
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path236.basename(src2);
const destBaseName = path236.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return { srcStat, destStat, isChangingCase: true };
}
throw new Error("Source and destination must not be the same.");
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src2}'.`);
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src2}'.`);
}
}
if (srcStat.isDirectory() && isSrcSubdir(src2, dest)) {
throw new Error(errMsg(src2, dest, funcName));
}
return { srcStat, destStat };
}
function checkPathsSync(src2, dest, funcName, opts3) {
const { srcStat, destStat } = getStatsSync(src2, dest, opts3);
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path236.basename(src2);
const destBaseName = path236.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return { srcStat, destStat, isChangingCase: true };
}
throw new Error("Source and destination must not be the same.");
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src2}'.`);
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src2}'.`);
}
}
if (srcStat.isDirectory() && isSrcSubdir(src2, dest)) {
throw new Error(errMsg(src2, dest, funcName));
}
return { srcStat, destStat };
}
async function checkParentPaths(src2, srcStat, dest, funcName) {
const srcParent = path236.resolve(path236.dirname(src2));
const destParent = path236.resolve(path236.dirname(dest));
if (destParent === srcParent || destParent === path236.parse(destParent).root) return;
let destStat;
try {
destStat = await fs126.stat(destParent, { bigint: true });
} catch (err2) {
if (err2.code === "ENOENT") return checkParentPaths(src2, srcStat, destParent, funcName);
throw err2;
}
if (areIdentical(srcStat, destStat)) {
throw new Error(errMsg(src2, dest, funcName));
}
return checkParentPaths(src2, srcStat, destParent, funcName);
}
function checkParentPathsSync(src2, srcStat, dest, funcName) {
const srcParent = path236.resolve(path236.dirname(src2));
const destParent = path236.resolve(path236.dirname(dest));
if (destParent === srcParent || destParent === path236.parse(destParent).root) return;
let destStat;
try {
destStat = fs126.statSync(destParent, { bigint: true });
} catch (err2) {
if (err2.code === "ENOENT") return checkParentPathsSync(src2, srcStat, destParent, funcName);
throw err2;
}
if (areIdentical(srcStat, destStat)) {
throw new Error(errMsg(src2, dest, funcName));
}
return checkParentPathsSync(src2, srcStat, destParent, funcName);
}
function areIdentical(srcStat, destStat) {
return destStat.ino !== void 0 && destStat.dev !== void 0 && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
}
function isSrcSubdir(src2, dest) {
const srcArr = path236.resolve(src2).split(path236.sep).filter((i4) => i4);
const destArr = path236.resolve(dest).split(path236.sep).filter((i4) => i4);
return srcArr.every((cur, i4) => destArr[i4] === cur);
}
function errMsg(src2, dest, funcName) {
return `Cannot ${funcName} '${src2}' to a subdirectory of itself, '${dest}'.`;
}
module2.exports = {
// checkPaths
checkPaths: u2(checkPaths),
checkPathsSync,
// checkParent
checkParentPaths: u2(checkParentPaths),
checkParentPathsSync,
// Misc
isSrcSubdir,
areIdentical
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/async.js
var require_async8 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/util/async.js"(exports2, module2) {
"use strict";
async function asyncIteratorConcurrentProcess(iterator, fn) {
const promises = [];
for await (const item of iterator) {
promises.push(
fn(item).then(
() => null,
(err2) => err2 ?? new Error("unknown error")
)
);
}
await Promise.all(
promises.map(
(promise2) => promise2.then((possibleErr) => {
if (possibleErr !== null) throw possibleErr;
})
)
);
}
module2.exports = {
asyncIteratorConcurrentProcess
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/copy.js
var require_copy3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var path236 = __require("path");
var { mkdirs } = require_mkdirs2();
var { pathExists: pathExists3 } = require_path_exists3();
var { utimesMillis } = require_utimes2();
var stat2 = require_stat2();
var { asyncIteratorConcurrentProcess } = require_async8();
async function copy2(src2, dest, opts3 = {}) {
if (typeof opts3 === "function") {
opts3 = { filter: opts3 };
}
opts3.clobber = "clobber" in opts3 ? !!opts3.clobber : true;
opts3.overwrite = "overwrite" in opts3 ? !!opts3.overwrite : opts3.clobber;
if (opts3.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0001"
);
}
const { srcStat, destStat } = await stat2.checkPaths(src2, dest, "copy", opts3);
await stat2.checkParentPaths(src2, srcStat, dest, "copy");
const include = await runFilter(src2, dest, opts3);
if (!include) return;
const destParent = path236.dirname(dest);
const dirExists = await pathExists3(destParent);
if (!dirExists) {
await mkdirs(destParent);
}
await getStatsAndPerformCopy(destStat, src2, dest, opts3);
}
async function runFilter(src2, dest, opts3) {
if (!opts3.filter) return true;
return opts3.filter(src2, dest);
}
async function getStatsAndPerformCopy(destStat, src2, dest, opts3) {
const statFn = opts3.dereference ? fs126.stat : fs126.lstat;
const srcStat = await statFn(src2);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src2, dest, opts3);
if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src2, dest, opts3);
if (srcStat.isSymbolicLink()) return onLink(destStat, src2, dest, opts3);
if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src2}`);
if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src2}`);
throw new Error(`Unknown file: ${src2}`);
}
async function onFile(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return copyFile(srcStat, src2, dest, opts3);
if (opts3.overwrite) {
await fs126.unlink(dest);
return copyFile(srcStat, src2, dest, opts3);
}
if (opts3.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
async function copyFile(srcStat, src2, dest, opts3) {
await fs126.copyFile(src2, dest);
if (opts3.preserveTimestamps) {
if (fileIsNotWritable(srcStat.mode)) {
await makeFileWritable(dest, srcStat.mode);
}
const updatedSrcStat = await fs126.stat(src2);
await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
}
return fs126.chmod(dest, srcStat.mode);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode) {
return fs126.chmod(dest, srcMode | 128);
}
async function onDir(srcStat, destStat, src2, dest, opts3) {
if (!destStat) {
await fs126.mkdir(dest);
}
await asyncIteratorConcurrentProcess(await fs126.opendir(src2), async (item) => {
const srcItem = path236.join(src2, item.name);
const destItem = path236.join(dest, item.name);
const include = await runFilter(srcItem, destItem, opts3);
if (include) {
const { destStat: destStat2 } = await stat2.checkPaths(srcItem, destItem, "copy", opts3);
await getStatsAndPerformCopy(destStat2, srcItem, destItem, opts3);
}
});
if (!destStat) {
await fs126.chmod(dest, srcStat.mode);
}
}
async function onLink(destStat, src2, dest, opts3) {
let resolvedSrc = await fs126.readlink(src2);
if (opts3.dereference) {
resolvedSrc = path236.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs126.symlink(resolvedSrc, dest);
}
let resolvedDest = null;
try {
resolvedDest = await fs126.readlink(dest);
} catch (e) {
if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs126.symlink(resolvedSrc, dest);
throw e;
}
if (opts3.dereference) {
resolvedDest = path236.resolve(process.cwd(), resolvedDest);
}
if (resolvedSrc !== resolvedDest) {
if (stat2.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (stat2.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
}
await fs126.unlink(dest);
return fs126.symlink(resolvedSrc, dest);
}
module2.exports = copy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/copy-sync.js
var require_copy_sync2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/copy-sync.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var path236 = __require("path");
var mkdirsSync = require_mkdirs2().mkdirsSync;
var utimesMillisSync = require_utimes2().utimesMillisSync;
var stat2 = require_stat2();
function copySync2(src2, dest, opts3) {
if (typeof opts3 === "function") {
opts3 = { filter: opts3 };
}
opts3 = opts3 || {};
opts3.clobber = "clobber" in opts3 ? !!opts3.clobber : true;
opts3.overwrite = "overwrite" in opts3 ? !!opts3.overwrite : opts3.clobber;
if (opts3.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0002"
);
}
const { srcStat, destStat } = stat2.checkPathsSync(src2, dest, "copy", opts3);
stat2.checkParentPathsSync(src2, srcStat, dest, "copy");
if (opts3.filter && !opts3.filter(src2, dest)) return;
const destParent = path236.dirname(dest);
if (!fs126.existsSync(destParent)) mkdirsSync(destParent);
return getStats2(destStat, src2, dest, opts3);
}
function getStats2(destStat, src2, dest, opts3) {
const statSync4 = opts3.dereference ? fs126.statSync : fs126.lstatSync;
const srcStat = statSync4(src2);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src2, dest, opts3);
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src2, dest, opts3);
else if (srcStat.isSymbolicLink()) return onLink(destStat, src2, dest, opts3);
else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src2}`);
else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src2}`);
throw new Error(`Unknown file: ${src2}`);
}
function onFile(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return copyFile(srcStat, src2, dest, opts3);
return mayCopyFile(srcStat, src2, dest, opts3);
}
function mayCopyFile(srcStat, src2, dest, opts3) {
if (opts3.overwrite) {
fs126.unlinkSync(dest);
return copyFile(srcStat, src2, dest, opts3);
} else if (opts3.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
function copyFile(srcStat, src2, dest, opts3) {
fs126.copyFileSync(src2, dest);
if (opts3.preserveTimestamps) handleTimestamps(srcStat.mode, src2, dest);
return setDestMode(dest, srcStat.mode);
}
function handleTimestamps(srcMode, src2, dest) {
if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode);
return setDestTimestamps(src2, dest);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode) {
return setDestMode(dest, srcMode | 128);
}
function setDestMode(dest, srcMode) {
return fs126.chmodSync(dest, srcMode);
}
function setDestTimestamps(src2, dest) {
const updatedSrcStat = fs126.statSync(src2);
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
}
function onDir(srcStat, destStat, src2, dest, opts3) {
if (!destStat) return mkDirAndCopy(srcStat.mode, src2, dest, opts3);
return copyDir(src2, dest, opts3);
}
function mkDirAndCopy(srcMode, src2, dest, opts3) {
fs126.mkdirSync(dest);
copyDir(src2, dest, opts3);
return setDestMode(dest, srcMode);
}
function copyDir(src2, dest, opts3) {
const dir = fs126.opendirSync(src2);
try {
let dirent;
while ((dirent = dir.readSync()) !== null) {
copyDirItem(dirent.name, src2, dest, opts3);
}
} finally {
dir.closeSync();
}
}
function copyDirItem(item, src2, dest, opts3) {
const srcItem = path236.join(src2, item);
const destItem = path236.join(dest, item);
if (opts3.filter && !opts3.filter(srcItem, destItem)) return;
const { destStat } = stat2.checkPathsSync(srcItem, destItem, "copy", opts3);
return getStats2(destStat, srcItem, destItem, opts3);
}
function onLink(destStat, src2, dest, opts3) {
let resolvedSrc = fs126.readlinkSync(src2);
if (opts3.dereference) {
resolvedSrc = path236.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs126.symlinkSync(resolvedSrc, dest);
} else {
let resolvedDest;
try {
resolvedDest = fs126.readlinkSync(dest);
} catch (err2) {
if (err2.code === "EINVAL" || err2.code === "UNKNOWN") return fs126.symlinkSync(resolvedSrc, dest);
throw err2;
}
if (opts3.dereference) {
resolvedDest = path236.resolve(process.cwd(), resolvedDest);
}
if (resolvedSrc !== resolvedDest) {
if (stat2.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (stat2.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
}
return copyLink(resolvedSrc, dest);
}
}
function copyLink(resolvedSrc, dest) {
fs126.unlinkSync(dest);
return fs126.symlinkSync(resolvedSrc, dest);
}
module2.exports = copySync2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/index.js
var require_copy4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/copy/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
module2.exports = {
copy: u2(require_copy3()),
copySync: require_copy_sync2()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/remove/index.js
var require_remove2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/remove/index.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var u2 = require_universalify().fromCallback;
function remove(path236, callback2) {
fs126.rm(path236, { recursive: true, force: true }, callback2);
}
function removeSync(path236) {
fs126.rmSync(path236, { recursive: true, force: true });
}
module2.exports = {
remove: u2(remove),
removeSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/empty/index.js
var require_empty2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/empty/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs7();
var path236 = __require("path");
var mkdir2 = require_mkdirs2();
var remove = require_remove2();
var emptyDir = u2(async function emptyDir2(dir) {
let items;
try {
items = await fs126.readdir(dir);
} catch {
return mkdir2.mkdirs(dir);
}
return Promise.all(items.map((item) => remove.remove(path236.join(dir, item))));
});
function emptyDirSync(dir) {
let items;
try {
items = fs126.readdirSync(dir);
} catch {
return mkdir2.mkdirsSync(dir);
}
items.forEach((item) => {
item = path236.join(dir, item);
remove.removeSync(item);
});
}
module2.exports = {
emptyDirSync,
emptydirSync: emptyDirSync,
emptyDir,
emptydir: emptyDir
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/file.js
var require_file2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs7();
var mkdir2 = require_mkdirs2();
async function createFile(file) {
let stats;
try {
stats = await fs126.stat(file);
} catch {
}
if (stats && stats.isFile()) return;
const dir = path236.dirname(file);
let dirStats = null;
try {
dirStats = await fs126.stat(dir);
} catch (err2) {
if (err2.code === "ENOENT") {
await mkdir2.mkdirs(dir);
await fs126.writeFile(file, "");
return;
} else {
throw err2;
}
}
if (dirStats.isDirectory()) {
await fs126.writeFile(file, "");
} else {
await fs126.readdir(dir);
}
}
function createFileSync(file) {
let stats;
try {
stats = fs126.statSync(file);
} catch {
}
if (stats && stats.isFile()) return;
const dir = path236.dirname(file);
try {
if (!fs126.statSync(dir).isDirectory()) {
fs126.readdirSync(dir);
}
} catch (err2) {
if (err2 && err2.code === "ENOENT") mkdir2.mkdirsSync(dir);
else throw err2;
}
fs126.writeFileSync(file, "");
}
module2.exports = {
createFile: u2(createFile),
createFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/link.js
var require_link2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs7();
var mkdir2 = require_mkdirs2();
var { pathExists: pathExists3 } = require_path_exists3();
var { areIdentical } = require_stat2();
async function createLink(srcpath, dstpath) {
let dstStat;
try {
dstStat = await fs126.lstat(dstpath, { bigint: true });
} catch {
}
let srcStat;
try {
srcStat = await fs126.lstat(srcpath, { bigint: true });
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureLink");
throw err2;
}
if (dstStat && areIdentical(srcStat, dstStat)) return;
const dir = path236.dirname(dstpath);
const dirExists = await pathExists3(dir);
if (!dirExists) {
await mkdir2.mkdirs(dir);
}
await fs126.link(srcpath, dstpath);
}
function createLinkSync(srcpath, dstpath) {
let dstStat;
try {
dstStat = fs126.lstatSync(dstpath, { bigint: true });
} catch {
}
try {
const srcStat = fs126.lstatSync(srcpath, { bigint: true });
if (dstStat && areIdentical(srcStat, dstStat)) return;
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureLink");
throw err2;
}
const dir = path236.dirname(dstpath);
const dirExists = fs126.existsSync(dir);
if (dirExists) return fs126.linkSync(srcpath, dstpath);
mkdir2.mkdirsSync(dir);
return fs126.linkSync(srcpath, dstpath);
}
module2.exports = {
createLink: u2(createLink),
createLinkSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink-paths.js
var require_symlink_paths2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var fs126 = require_fs7();
var { pathExists: pathExists3 } = require_path_exists3();
var u2 = require_universalify().fromPromise;
async function symlinkPaths(srcpath, dstpath) {
if (path236.isAbsolute(srcpath)) {
try {
await fs126.lstat(srcpath);
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureSymlink");
throw err2;
}
return {
toCwd: srcpath,
toDst: srcpath
};
}
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
const exists = await pathExists3(relativeToDst);
if (exists) {
return {
toCwd: relativeToDst,
toDst: srcpath
};
}
try {
await fs126.lstat(srcpath);
} catch (err2) {
err2.message = err2.message.replace("lstat", "ensureSymlink");
throw err2;
}
return {
toCwd: srcpath,
toDst: path236.relative(dstdir, srcpath)
};
}
function symlinkPathsSync(srcpath, dstpath) {
if (path236.isAbsolute(srcpath)) {
const exists2 = fs126.existsSync(srcpath);
if (!exists2) throw new Error("absolute srcpath does not exist");
return {
toCwd: srcpath,
toDst: srcpath
};
}
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
const exists = fs126.existsSync(relativeToDst);
if (exists) {
return {
toCwd: relativeToDst,
toDst: srcpath
};
}
const srcExists = fs126.existsSync(srcpath);
if (!srcExists) throw new Error("relative srcpath does not exist");
return {
toCwd: srcpath,
toDst: path236.relative(dstdir, srcpath)
};
}
module2.exports = {
symlinkPaths: u2(symlinkPaths),
symlinkPathsSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink-type.js
var require_symlink_type2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var u2 = require_universalify().fromPromise;
async function symlinkType(srcpath, type4) {
if (type4) return type4;
let stats;
try {
stats = await fs126.lstat(srcpath);
} catch {
return "file";
}
return stats && stats.isDirectory() ? "dir" : "file";
}
function symlinkTypeSync(srcpath, type4) {
if (type4) return type4;
let stats;
try {
stats = fs126.lstatSync(srcpath);
} catch {
return "file";
}
return stats && stats.isDirectory() ? "dir" : "file";
}
module2.exports = {
symlinkType: u2(symlinkType),
symlinkTypeSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink.js
var require_symlink2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var path236 = __require("path");
var fs126 = require_fs7();
var { mkdirs, mkdirsSync } = require_mkdirs2();
var { symlinkPaths, symlinkPathsSync } = require_symlink_paths2();
var { symlinkType, symlinkTypeSync } = require_symlink_type2();
var { pathExists: pathExists3 } = require_path_exists3();
var { areIdentical } = require_stat2();
async function createSymlink(srcpath, dstpath, type4) {
let stats;
try {
stats = await fs126.lstat(dstpath);
} catch {
}
if (stats && stats.isSymbolicLink()) {
let srcStat;
if (path236.isAbsolute(srcpath)) {
srcStat = await fs126.stat(srcpath, { bigint: true });
} else {
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
try {
srcStat = await fs126.stat(relativeToDst, { bigint: true });
} catch {
srcStat = await fs126.stat(srcpath, { bigint: true });
}
}
const dstStat = await fs126.stat(dstpath, { bigint: true });
if (areIdentical(srcStat, dstStat)) return;
}
const relative2 = await symlinkPaths(srcpath, dstpath);
srcpath = relative2.toDst;
const toType = await symlinkType(relative2.toCwd, type4);
const dir = path236.dirname(dstpath);
if (!await pathExists3(dir)) {
await mkdirs(dir);
}
return fs126.symlink(srcpath, dstpath, toType);
}
function createSymlinkSync2(srcpath, dstpath, type4) {
let stats;
try {
stats = fs126.lstatSync(dstpath);
} catch {
}
if (stats && stats.isSymbolicLink()) {
let srcStat;
if (path236.isAbsolute(srcpath)) {
srcStat = fs126.statSync(srcpath, { bigint: true });
} else {
const dstdir = path236.dirname(dstpath);
const relativeToDst = path236.join(dstdir, srcpath);
try {
srcStat = fs126.statSync(relativeToDst, { bigint: true });
} catch {
srcStat = fs126.statSync(srcpath, { bigint: true });
}
}
const dstStat = fs126.statSync(dstpath, { bigint: true });
if (areIdentical(srcStat, dstStat)) return;
}
const relative2 = symlinkPathsSync(srcpath, dstpath);
srcpath = relative2.toDst;
type4 = symlinkTypeSync(relative2.toCwd, type4);
const dir = path236.dirname(dstpath);
const exists = fs126.existsSync(dir);
if (exists) return fs126.symlinkSync(srcpath, dstpath, type4);
mkdirsSync(dir);
return fs126.symlinkSync(srcpath, dstpath, type4);
}
module2.exports = {
createSymlink: u2(createSymlink),
createSymlinkSync: createSymlinkSync2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/index.js
var require_ensure2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) {
"use strict";
var { createFile, createFileSync } = require_file2();
var { createLink, createLinkSync } = require_link2();
var { createSymlink, createSymlinkSync: createSymlinkSync2 } = require_symlink2();
module2.exports = {
// file
createFile,
createFileSync,
ensureFile: createFile,
ensureFileSync: createFileSync,
// link
createLink,
createLinkSync,
ensureLink: createLink,
ensureLinkSync: createLinkSync,
// symlink
createSymlink,
createSymlinkSync: createSymlinkSync2,
ensureSymlink: createSymlink,
ensureSymlinkSync: createSymlinkSync2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/jsonfile.js
var require_jsonfile3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) {
"use strict";
var jsonFile = require_jsonfile();
module2.exports = {
// jsonfile exports
readJson: jsonFile.readFile,
readJsonSync: jsonFile.readFileSync,
writeJson: jsonFile.writeFile,
writeJsonSync: jsonFile.writeFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/output-file/index.js
var require_output_file2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/output-file/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var fs126 = require_fs7();
var path236 = __require("path");
var mkdir2 = require_mkdirs2();
var pathExists3 = require_path_exists3().pathExists;
async function outputFile(file, data, encoding = "utf-8") {
const dir = path236.dirname(file);
if (!await pathExists3(dir)) {
await mkdir2.mkdirs(dir);
}
return fs126.writeFile(file, data, encoding);
}
function outputFileSync(file, ...args) {
const dir = path236.dirname(file);
if (!fs126.existsSync(dir)) {
mkdir2.mkdirsSync(dir);
}
fs126.writeFileSync(file, ...args);
}
module2.exports = {
outputFile: u2(outputFile),
outputFileSync
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/output-json.js
var require_output_json2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
"use strict";
var { stringify: stringify2 } = require_utils8();
var { outputFile } = require_output_file2();
async function outputJson(file, data, options = {}) {
const str2 = stringify2(data, options);
await outputFile(file, str2, options);
}
module2.exports = outputJson;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/output-json-sync.js
var require_output_json_sync2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
"use strict";
var { stringify: stringify2 } = require_utils8();
var { outputFileSync } = require_output_file2();
function outputJsonSync(file, data, options) {
const str2 = stringify2(data, options);
outputFileSync(file, str2, options);
}
module2.exports = outputJsonSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/index.js
var require_json3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/json/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
var jsonFile = require_jsonfile3();
jsonFile.outputJson = u2(require_output_json2());
jsonFile.outputJsonSync = require_output_json_sync2();
jsonFile.outputJSON = jsonFile.outputJson;
jsonFile.outputJSONSync = jsonFile.outputJsonSync;
jsonFile.writeJSON = jsonFile.writeJson;
jsonFile.writeJSONSync = jsonFile.writeJsonSync;
jsonFile.readJSON = jsonFile.readJson;
jsonFile.readJSONSync = jsonFile.readJsonSync;
module2.exports = jsonFile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/move.js
var require_move3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/move.js"(exports2, module2) {
"use strict";
var fs126 = require_fs7();
var path236 = __require("path");
var { copy: copy2 } = require_copy4();
var { remove } = require_remove2();
var { mkdirp } = require_mkdirs2();
var { pathExists: pathExists3 } = require_path_exists3();
var stat2 = require_stat2();
async function move(src2, dest, opts3 = {}) {
const overwrite2 = opts3.overwrite || opts3.clobber || false;
const { srcStat, isChangingCase = false } = await stat2.checkPaths(src2, dest, "move", opts3);
await stat2.checkParentPaths(src2, srcStat, dest, "move");
const destParent = path236.dirname(dest);
const parsedParentPath = path236.parse(destParent);
if (parsedParentPath.root !== destParent) {
await mkdirp(destParent);
}
return doRename(src2, dest, overwrite2, isChangingCase);
}
async function doRename(src2, dest, overwrite2, isChangingCase) {
if (!isChangingCase) {
if (overwrite2) {
await remove(dest);
} else if (await pathExists3(dest)) {
throw new Error("dest already exists.");
}
}
try {
await fs126.rename(src2, dest);
} catch (err2) {
if (err2.code !== "EXDEV") {
throw err2;
}
await moveAcrossDevice(src2, dest, overwrite2);
}
}
async function moveAcrossDevice(src2, dest, overwrite2) {
const opts3 = {
overwrite: overwrite2,
errorOnExist: true,
preserveTimestamps: true
};
await copy2(src2, dest, opts3);
return remove(src2);
}
module2.exports = move;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/move-sync.js
var require_move_sync2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/move-sync.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var path236 = __require("path");
var copySync2 = require_copy4().copySync;
var removeSync = require_remove2().removeSync;
var mkdirpSync = require_mkdirs2().mkdirpSync;
var stat2 = require_stat2();
function moveSync(src2, dest, opts3) {
opts3 = opts3 || {};
const overwrite2 = opts3.overwrite || opts3.clobber || false;
const { srcStat, isChangingCase = false } = stat2.checkPathsSync(src2, dest, "move", opts3);
stat2.checkParentPathsSync(src2, srcStat, dest, "move");
if (!isParentRoot(dest)) mkdirpSync(path236.dirname(dest));
return doRename(src2, dest, overwrite2, isChangingCase);
}
function isParentRoot(dest) {
const parent = path236.dirname(dest);
const parsedPath = path236.parse(parent);
return parsedPath.root === parent;
}
function doRename(src2, dest, overwrite2, isChangingCase) {
if (isChangingCase) return rename(src2, dest, overwrite2);
if (overwrite2) {
removeSync(dest);
return rename(src2, dest, overwrite2);
}
if (fs126.existsSync(dest)) throw new Error("dest already exists.");
return rename(src2, dest, overwrite2);
}
function rename(src2, dest, overwrite2) {
try {
fs126.renameSync(src2, dest);
} catch (err2) {
if (err2.code !== "EXDEV") throw err2;
return moveAcrossDevice(src2, dest, overwrite2);
}
}
function moveAcrossDevice(src2, dest, overwrite2) {
const opts3 = {
overwrite: overwrite2,
errorOnExist: true,
preserveTimestamps: true
};
copySync2(src2, dest, opts3);
return removeSync(src2);
}
module2.exports = moveSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/index.js
var require_move4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/move/index.js"(exports2, module2) {
"use strict";
var u2 = require_universalify().fromPromise;
module2.exports = {
move: u2(require_move3()),
moveSync: require_move_sync2()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/index.js
var require_lib23 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fs-extra/11.3.6/3c12fa2b74cbbefb03a285394edc2d994e2a6b3a78040cfa374f69c5829d9780/node_modules/fs-extra/lib/index.js"(exports2, module2) {
"use strict";
module2.exports = {
// Export promiseified graceful-fs:
...require_fs7(),
// Export extra methods:
...require_copy4(),
...require_empty2(),
...require_ensure2(),
...require_json3(),
...require_mkdirs2(),
...require_move4(),
...require_output_file2(),
...require_path_exists3(),
...require_remove2()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/make-empty-dir/4.0.0/3607722a2f7d328bdf182e4db3290941113e732fd2d785b1a5837ab89bb24489/node_modules/make-empty-dir/index.js
import fs47 from "node:fs";
import path79 from "node:path";
async function makeEmptyDir(dir, opts3) {
if (opts3 && opts3.recursive) {
await fs47.promises.mkdir(path79.dirname(dir), { recursive: true });
}
try {
await fs47.promises.mkdir(dir);
return "created";
} catch (err2) {
if (err2.code === "EEXIST") {
await removeContentsOfDir(dir);
return "emptied";
}
throw err2;
}
}
async function removeContentsOfDir(dir) {
const items = await fs47.promises.readdir(dir);
for (const item of items) {
await rimraf(path79.join(dir, item));
}
}
function makeEmptyDirSync(dir, opts3) {
if (opts3 && opts3.recursive) {
fs47.mkdirSync(path79.dirname(dir), { recursive: true });
}
try {
fs47.mkdirSync(dir);
return "created";
} catch (err2) {
if (err2.code === "EEXIST") {
removeContentsOfDirSync(dir);
return "emptied";
}
throw err2;
}
}
function removeContentsOfDirSync(dir) {
const items = fs47.readdirSync(dir);
for (const item of items) {
rimrafSync(path79.join(dir, item));
}
}
var init_make_empty_dir = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/make-empty-dir/4.0.0/3607722a2f7d328bdf182e4db3290941113e732fd2d785b1a5837ab89bb24489/node_modules/make-empty-dir/index.js"() {
init_rimraf();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/truncate-utf8-bytes/1.0.2/a125ab6f857e769c1c35dafd31e6b108b9a2517e088148da14ad32169c2567ee/node_modules/truncate-utf8-bytes/lib/truncate.js
var require_truncate2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/truncate-utf8-bytes/1.0.2/a125ab6f857e769c1c35dafd31e6b108b9a2517e088148da14ad32169c2567ee/node_modules/truncate-utf8-bytes/lib/truncate.js"(exports2, module2) {
"use strict";
function isHighSurrogate(codePoint) {
return codePoint >= 55296 && codePoint <= 56319;
}
function isLowSurrogate(codePoint) {
return codePoint >= 56320 && codePoint <= 57343;
}
module2.exports = function truncate(getLength, string, byteLength2) {
if (typeof string !== "string") {
throw new Error("Input must be string");
}
var charLength = string.length;
var curByteLength = 0;
var codePoint;
var segment;
for (var i4 = 0; i4 < charLength; i4 += 1) {
codePoint = string.charCodeAt(i4);
segment = string[i4];
if (isHighSurrogate(codePoint) && isLowSurrogate(string.charCodeAt(i4 + 1))) {
i4 += 1;
segment += string[i4];
}
curByteLength += getLength(segment);
if (curByteLength === byteLength2) {
return string.slice(0, i4 + 1);
} else if (curByteLength > byteLength2) {
return string.slice(0, i4 - segment.length + 1);
}
}
return string;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/truncate-utf8-bytes/1.0.2/a125ab6f857e769c1c35dafd31e6b108b9a2517e088148da14ad32169c2567ee/node_modules/truncate-utf8-bytes/index.js
var require_truncate_utf8_bytes = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/truncate-utf8-bytes/1.0.2/a125ab6f857e769c1c35dafd31e6b108b9a2517e088148da14ad32169c2567ee/node_modules/truncate-utf8-bytes/index.js"(exports2, module2) {
"use strict";
var truncate = require_truncate2();
var getLength = Buffer.byteLength.bind(Buffer);
module2.exports = truncate.bind(null, getLength);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/sanitize-filename/1.6.4/5f553bde92425a76e0b51eddf2a9a22faa7626146298aecdcafaf8de748aa2e6/node_modules/sanitize-filename/index.js
var require_sanitize_filename = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/sanitize-filename/1.6.4/5f553bde92425a76e0b51eddf2a9a22faa7626146298aecdcafaf8de748aa2e6/node_modules/sanitize-filename/index.js"(exports2, module2) {
"use strict";
var truncate = require_truncate_utf8_bytes();
var illegalRe = /[\/\?<>\\:\*\|"]/g;
var controlRe = /[\x00-\x1f\x80-\x9f]/g;
var reservedRe = /^\.+$/;
var windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;
function replaceTrailingDotsAndSpaces(str2, replacement) {
var end = str2.length;
while (end > 0 && (str2[end - 1] === "." || str2[end - 1] === " ")) end--;
return end < str2.length ? str2.slice(0, end) + replacement : str2;
}
function sanitize2(input, replacement) {
if (typeof input !== "string") {
throw new Error("Input must be string");
}
var sanitized = input.replace(illegalRe, replacement).replace(controlRe, replacement).replace(reservedRe, replacement).replace(windowsReservedRe, replacement);
sanitized = replaceTrailingDotsAndSpaces(sanitized, replacement);
return truncate(sanitized, 255);
}
module2.exports = function(input, options) {
var replacement = options && options.replacement || "";
var output = sanitize2(input, replacement);
if (replacement === "") {
return output;
}
return sanitize2(output, "");
};
}
});
// ../fs/indexed-pkg-importer/lib/importIndexedDir.js
import fs48 from "node:fs";
import path80 from "node:path";
import util25 from "node:util";
function importIndexedDir(importer, newDir, filenames, opts3) {
if (!opts3.keepModulesDir) {
if (opts3.safeToSkip) {
try {
fs48.mkdirSync(newDir, { recursive: true });
tryImportIndexedDir(importer, newDir, filenames);
return;
} catch (err2) {
if (util25.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST" && allFilesMatch(newDir, filenames)) {
return;
}
}
} else if (tryExclusiveImport(importer, newDir, filenames)) {
return;
}
}
const stage = fastPathTemp(newDir);
try {
makeEmptyDirSync(stage, { recursive: true });
tryImportIndexedDir({ importFile: importer.importFile, importFileAtomic: importer.importFile }, stage, filenames);
if (opts3.keepModulesDir) {
moveOrMergeModulesDirs(path80.join(newDir, "node_modules"), path80.join(stage, "node_modules"));
}
} catch (err2) {
try {
rimrafSync(stage);
} catch {
}
if (util25.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST") {
const { uniqueFileMap, conflictingFileNames } = getUniqueFileMap(filenames);
if (conflictingFileNames.size === 0)
throw err2;
filenameConflictsLogger.debug({
conflicts: Object.fromEntries(conflictingFileNames),
writingTo: newDir
});
globalWarn(`Not all files were linked to "${path80.relative(process.cwd(), newDir)}". Some of the files have equal names in different case, which is an issue on case-insensitive filesystems. The conflicting file names are: ${JSON.stringify(Object.fromEntries(conflictingFileNames))}`);
importIndexedDir(importer, newDir, uniqueFileMap, opts3);
return;
}
if (util25.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
if (retryWithSanitizedFilenames(importer, newDir, filenames, opts3))
return;
throw err2;
}
throw err2;
}
if (opts3.safeToSkip) {
try {
fs48.renameSync(stage, newDir);
return;
} catch (err2) {
if (util25.types.isNativeError(err2) && "code" in err2 && (err2.code === "ENOTEMPTY" || err2.code === "EEXIST" || err2.code === "EPERM")) {
if (allFilesMatch(newDir, filenames)) {
try {
rimrafSync(stage);
} catch {
}
return;
}
}
}
}
try {
renameOverwriteSync(stage, newDir);
} catch (renameErr) {
try {
rimrafSync(stage);
} catch {
}
throw renameErr;
}
}
function tryExclusiveImport(importer, newDir, filenames) {
fs48.mkdirSync(path80.dirname(newDir), { recursive: true });
try {
fs48.mkdirSync(newDir);
} catch (err2) {
if (util25.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST")
return false;
throw err2;
}
try {
tryImportIndexedDir(importer, newDir, filenames);
return true;
} catch {
try {
rimrafSync(newDir);
} catch {
}
return false;
}
}
function allFilesMatch(dir, filenames) {
for (const [f, src2] of filenames) {
const target2 = path80.join(dir, f);
try {
const targetStat = lib_default.statSync(target2);
const srcStat = lib_default.statSync(src2);
if (targetStat.ino === srcStat.ino && targetStat.dev === srcStat.dev)
continue;
if (targetStat.size !== srcStat.size) {
globalInfo(`Re-importing "${dir}" because file "${f}" has a different size`);
return false;
}
if (!lib_default.readFileSync(target2).equals(lib_default.readFileSync(src2))) {
globalInfo(`Re-importing "${dir}" because file "${f}" has different content`);
return false;
}
} catch {
globalInfo(`Re-importing "${dir}" because file "${f}" is missing or unreadable`);
return false;
}
}
return true;
}
function retryWithSanitizedFilenames(importer, newDir, filenames, opts3) {
const { sanitizedFilenames, invalidFilenames } = sanitizeFilenames(filenames);
if (invalidFilenames.length === 0)
return false;
globalWarn(`The package linked to "${path80.relative(process.cwd(), newDir)}" had files with invalid names: ${invalidFilenames.join(", ")}. They were renamed.`);
importIndexedDir(importer, newDir, sanitizedFilenames, opts3);
return true;
}
function sanitizeFilenames(filenames) {
const sanitizedFilenames = /* @__PURE__ */ new Map();
const invalidFilenames = [];
for (const [filename, src2] of filenames) {
const sanitizedFilename = filename.split("/").map((f) => (0, import_sanitize_filename.default)(f)).join("/");
if (sanitizedFilename !== filename) {
invalidFilenames.push(filename);
}
sanitizedFilenames.set(sanitizedFilename, src2);
}
return { sanitizedFilenames, invalidFilenames };
}
function tryImportIndexedDir({ importFile, importFileAtomic }, newDir, filenames) {
const allDirs = /* @__PURE__ */ new Set();
for (const f of filenames.keys()) {
const dir = path80.dirname(f);
if (dir === ".")
continue;
allDirs.add(dir);
}
Array.from(allDirs).sort((d1, d22) => d1.length - d22.length).forEach((dir) => fs48.mkdirSync(path80.join(newDir, dir), { recursive: true }));
let packageJsonSrc;
for (const [f, src2] of filenames) {
if (f === "package.json") {
packageJsonSrc = src2;
continue;
}
importFile(src2, path80.join(newDir, f));
}
if (packageJsonSrc !== void 0) {
importFileAtomic(packageJsonSrc, path80.join(newDir, "package.json"));
}
}
function getUniqueFileMap(fileMap) {
const lowercaseFiles = /* @__PURE__ */ new Map();
const conflictingFileNames = /* @__PURE__ */ new Map();
const uniqueFileMap = /* @__PURE__ */ new Map();
for (const filename of Array.from(fileMap.keys()).sort()) {
const lowercaseFilename = filename.toLowerCase();
if (lowercaseFiles.has(lowercaseFilename)) {
conflictingFileNames.set(filename, lowercaseFiles.get(lowercaseFilename));
continue;
}
lowercaseFiles.set(lowercaseFilename, filename);
uniqueFileMap.set(filename, fileMap.get(filename));
}
return {
conflictingFileNames,
uniqueFileMap
};
}
function moveOrMergeModulesDirs(src2, dest) {
try {
renameEvenAcrossDevices(src2, dest);
} catch (err2) {
switch (util25.types.isNativeError(err2) && "code" in err2 && err2.code) {
case "ENOENT":
return;
case "ENOTEMPTY":
case "EPERM":
mergeModulesDirs(src2, dest);
return;
default:
throw err2;
}
}
}
function renameEvenAcrossDevices(src2, dest) {
try {
lib_default.renameSync(src2, dest);
} catch (err2) {
if (!(util25.types.isNativeError(err2) && "code" in err2 && err2.code === "EXDEV"))
throw err2;
import_fs_extra2.default.copySync(src2, dest);
}
}
function mergeModulesDirs(src2, dest) {
const srcFiles = fs48.readdirSync(src2);
const destFiles = new Set(fs48.readdirSync(dest));
const filesToMove = srcFiles.filter((file) => !destFiles.has(file));
for (const file of filesToMove) {
renameEvenAcrossDevices(path80.join(src2, file), path80.join(dest, file));
}
}
var import_fs_extra2, import_sanitize_filename, filenameConflictsLogger;
var init_importIndexedDir = __esm({
"../fs/indexed-pkg-importer/lib/importIndexedDir.js"() {
"use strict";
init_lib14();
init_lib3();
init_rimraf();
import_fs_extra2 = __toESM(require_lib23(), 1);
init_make_empty_dir();
init_path_temp();
init_rename_overwrite();
import_sanitize_filename = __toESM(require_sanitize_filename(), 1);
filenameConflictsLogger = logger("_filename-conflicts");
}
});
// ../fs/indexed-pkg-importer/lib/removeQuarantine.js
import { execFileSync as execFileSync2 } from "node:child_process";
import path81 from "node:path";
function isNativeBinary(filePath) {
return NATIVE_BINARY_EXTENSIONS.has(path81.extname(filePath).toLowerCase());
}
function removeQuarantine(filePaths) {
if (process.platform !== "darwin")
return;
for (const chunk of chunkByArgSize(filePaths)) {
removeQuarantineFromChunk(chunk);
}
}
function removeQuarantineFromChunk(filePaths) {
try {
execFileSync2("/usr/bin/xattr", ["-d", QUARANTINE_ATTR, ...filePaths], {
stdio: ["ignore", "ignore", "pipe"]
});
} catch (err2) {
const realErrors = getStderr(err2).split("\n").filter((line) => line.trim() !== "" && !line.includes("No such xattr") && !line.includes("No such file"));
if (realErrors.length > 0) {
globalWarn(`Failed to remove the macOS quarantine attribute:
${realErrors.join("\n")}`);
}
}
}
function chunkByArgSize(filePaths) {
const chunks = [];
let chunk = [];
let chunkBytes = 0;
for (const filePath of filePaths) {
const bytes = Buffer.byteLength(filePath) + 1;
if (chunk.length > 0 && chunkBytes + bytes > MAX_ARG_BYTES) {
chunks.push(chunk);
chunk = [];
chunkBytes = 0;
}
chunk.push(filePath);
chunkBytes += bytes;
}
if (chunk.length > 0)
chunks.push(chunk);
return chunks;
}
function getStderr(err2) {
if (typeof err2 === "object" && err2 !== null && "stderr" in err2) {
const stderr = err2.stderr;
if (stderr != null)
return stderr.toString();
}
return err2 instanceof Error ? err2.message : String(err2);
}
var QUARANTINE_ATTR, NATIVE_BINARY_EXTENSIONS, MAX_ARG_BYTES;
var init_removeQuarantine = __esm({
"../fs/indexed-pkg-importer/lib/removeQuarantine.js"() {
"use strict";
init_lib3();
QUARANTINE_ATTR = "com.apple.quarantine";
NATIVE_BINARY_EXTENSIONS = /* @__PURE__ */ new Set([".node", ".dylib", ".so"]);
MAX_ARG_BYTES = 1e5;
}
});
// ../fs/indexed-pkg-importer/lib/index.js
import assert6 from "node:assert";
import { constants as constants5, existsSync as existsSync5 } from "node:fs";
import path82 from "node:path";
import util26 from "node:util";
function createIndexedPkgImporter(packageImportMethod) {
const importPackage2 = createImportPackage(packageImportMethod);
return importPackage2;
}
function createImportPackage(packageImportMethod) {
switch (packageImportMethod ?? "auto") {
case "clone":
packageImportMethodLogger.debug({ method: "clone" });
return createClonePkg();
case "hardlink":
packageImportMethodLogger.debug({ method: "hardlink" });
return hardlinkPkg.bind(null, linkOrCopy);
case "auto": {
return createAutoImporter();
}
case "clone-or-copy":
return createCloneOrCopyImporter();
case "copy":
packageImportMethodLogger.debug({ method: "copy" });
return copyPkg;
default:
throw new Error(`Unknown package import method ${packageImportMethod}`);
}
}
function createAutoImporter() {
let auto = initialAuto;
return (to, opts3) => auto(to, opts3);
function initialAuto(to, opts3) {
if (process.platform !== "win32") {
try {
if (!tryClonePkg(to, opts3))
return void 0;
packageImportMethodLogger.debug({ method: "clone" });
auto = createClonePkg();
return "clone";
} catch {
}
}
try {
if (!hardlinkPkg(lib_default.linkSync, to, opts3))
return void 0;
packageImportMethodLogger.debug({ method: "hardlink" });
auto = hardlinkPkg.bind(null, linkOrCopy);
return "hardlink";
} catch (err2) {
assert6(util26.types.isNativeError(err2));
if (err2.message.startsWith("EXDEV: cross-device link not permitted")) {
globalWarn(err2.message);
globalInfo("Falling back to copying packages from store");
packageImportMethodLogger.debug({ method: "copy" });
auto = copyPkg;
return auto(to, opts3);
}
packageImportMethodLogger.debug({ method: "hardlink" });
auto = hardlinkPkg.bind(null, linkOrCopy);
return auto(to, opts3);
}
}
}
function createCloneOrCopyImporter() {
let auto = initialAuto;
return (to, opts3) => auto(to, opts3);
function initialAuto(to, opts3) {
try {
if (!tryClonePkg(to, opts3))
return void 0;
packageImportMethodLogger.debug({ method: "clone" });
auto = createClonePkg();
return "clone";
} catch {
}
packageImportMethodLogger.debug({ method: "copy" });
auto = copyPkg;
return auto(to, opts3);
}
}
function tryClonePkg(to, opts3) {
if (opts3.resolvedFrom !== "store" || opts3.force || !pkgExistsAtTargetDir(to, opts3.filesMap)) {
const clone4 = createCloneFunction();
importIndexedDir({ importFile: clone4, importFileAtomic: clone4 }, to, opts3.filesMap, opts3);
removeQuarantineFromNativeBinaries(to, opts3);
return "clone";
}
return void 0;
}
function createClonePkg() {
const clone4 = createCloneFunction();
const withFallback = (fallback) => (src2, dest) => {
try {
clone4(src2, dest);
} catch (err2) {
if (util26.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOTSUP") {
fallback(src2, dest);
return;
}
throw err2;
}
};
const importer = {
importFile: withFallback(resilientCopyFileSync),
importFileAtomic: withFallback(atomicCopyFileSync)
};
return (to, opts3) => {
if (opts3.resolvedFrom !== "store" || opts3.force || !pkgExistsAtTargetDir(to, opts3.filesMap)) {
importIndexedDir(importer, to, opts3.filesMap, opts3);
removeQuarantineFromNativeBinaries(to, opts3);
return "clone";
}
return void 0;
};
}
function pkgExistsAtTargetDir(targetDir, filesMap) {
return existsSync5(path82.join(targetDir, pickFileFromFilesMap(filesMap)));
}
function pickFileFromFilesMap(filesMap) {
if (filesMap.has("package.json")) {
return "package.json";
}
if (filesMap.size === 0) {
throw new Error("pickFileFromFilesMap cannot pick a file from an empty FilesMap");
}
return filesMap.keys().next().value;
}
function createCloneFunction() {
if (_cloneFunction)
return _cloneFunction;
if (process.platform === "darwin" || process.platform === "win32") {
const { reflinkFileSync } = __require("@reflink/reflink");
_cloneFunction = (fr, to) => {
try {
reflinkFileSync(fr, to);
} catch (err2) {
if (!util26.types.isNativeError(err2) || !("code" in err2) || err2.code !== "EEXIST")
throw err2;
}
};
} else {
_cloneFunction = (src2, dest) => {
try {
lib_default.copyFileSync(src2, dest, constants5.COPYFILE_FICLONE_FORCE);
} catch (err2) {
if (!(util26.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST"))
throw err2;
}
};
}
return _cloneFunction;
}
function hardlinkPkg(importFile, to, opts3) {
if (opts3.force || shouldRelinkPkg(to, opts3)) {
importIndexedDir({ importFile, importFileAtomic: importFile }, to, opts3.filesMap, opts3);
removeQuarantineFromNativeBinaries(to, opts3);
return "hardlink";
}
return void 0;
}
function shouldRelinkPkg(to, opts3) {
if (opts3.disableRelinkLocalDirDeps && opts3.resolvedFrom === "local-dir") {
try {
const files = lib_default.readdirSync(to);
return files.length === 0 || files.length === 1 && files[0] === "node_modules";
} catch {
return true;
}
}
return opts3.resolvedFrom !== "store" || !pkgLinkedToStore(opts3.filesMap, to);
}
function linkOrCopy(existingPath, newPath) {
try {
lib_default.linkSync(existingPath, newPath);
} catch (err2) {
if (util26.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST")
return;
resilientCopyFileSync(existingPath, newPath);
}
}
function resilientCopyFileSync(src2, dest) {
try {
lib_default.copyFileSync(src2, dest);
} catch (err2) {
if (util26.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOTSUP") {
const srcMode = lib_default.statSync(src2).mode;
lib_default.writeFileSync(dest, lib_default.readFileSync(src2), { mode: srcMode });
} else {
throw err2;
}
}
}
function pkgLinkedToStore(filesMap, linkedPkgDir) {
const filename = pickFileFromFilesMap(filesMap);
const linkedFile = path82.join(linkedPkgDir, filename);
let stats0;
try {
stats0 = lib_default.statSync(linkedFile);
} catch (err2) {
if (util26.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
return false;
}
const stats1 = lib_default.statSync(filesMap.get(filename));
if (stats0.ino === stats1.ino)
return true;
globalInfo(`Relinking ${linkedPkgDir} from the store`);
return false;
}
function copyPkg(to, opts3) {
if (opts3.resolvedFrom !== "store" || opts3.force || !pkgExistsAtTargetDir(to, opts3.filesMap)) {
importIndexedDir({ importFile: resilientCopyFileSync, importFileAtomic: atomicCopyFileSync }, to, opts3.filesMap, opts3);
removeQuarantineFromNativeBinaries(to, opts3);
return "copy";
}
return void 0;
}
function atomicCopyFileSync(src2, dest) {
const tmp = fastPathTemp(dest);
try {
resilientCopyFileSync(src2, tmp);
} catch (err2) {
try {
lib_default.unlinkSync(tmp);
} catch {
}
throw err2;
}
renameOverwriteSync(tmp, dest);
}
function removeQuarantineFromNativeBinaries(to, opts3) {
if (process.platform !== "darwin" || opts3.resolvedFrom !== "store")
return;
const nativeBinaries = [];
for (const file of opts3.filesMap.keys()) {
if (isNativeBinary(file)) {
nativeBinaries.push(path82.join(to, file));
}
}
removeQuarantine(nativeBinaries);
}
var _cloneFunction;
var init_lib85 = __esm({
"../fs/indexed-pkg-importer/lib/index.js"() {
"use strict";
init_lib6();
init_lib14();
init_lib3();
init_path_temp();
init_rename_overwrite();
init_importIndexedDir();
init_removeQuarantine();
}
});
// ../store/create-cafs-store/lib/index.js
import { promises as fs49 } from "node:fs";
import path83 from "node:path";
function createPackageImporterAsync(opts3) {
const cachedImporterCreator = opts3.importIndexedPackage ? () => opts3.importIndexedPackage : memoize(createIndexedPkgImporter);
const packageImportMethod = opts3.packageImportMethod;
const gfm = getFlatMap.bind(null, opts3.storeDir);
return async (to, opts4) => {
const { filesMap, isBuilt } = gfm(opts4.filesResponse, opts4.sideEffectsCacheKey);
const willBeBuilt = !isBuilt && opts4.requiresBuild;
const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts4.filesResponse.packageImportMethod ?? packageImportMethod;
const impPkg = cachedImporterCreator(pkgImportMethod);
const importMethod = await impPkg(to, {
disableRelinkLocalDirDeps: opts4.disableRelinkLocalDirDeps,
filesMap,
resolvedFrom: opts4.filesResponse.resolvedFrom,
force: opts4.force,
keepModulesDir: Boolean(opts4.keepModulesDir),
safeToSkip: opts4.safeToSkip
});
return { importMethod, isBuilt };
};
}
function createPackageImporter(opts3) {
const cachedImporterCreator = opts3.importIndexedPackage ? () => opts3.importIndexedPackage : memoize(createIndexedPkgImporter);
const packageImportMethod = opts3.packageImportMethod;
const gfm = getFlatMap.bind(null, opts3.storeDir);
return (to, opts4) => {
const { filesMap, isBuilt } = gfm(opts4.filesResponse, opts4.sideEffectsCacheKey);
const willBeBuilt = !isBuilt && opts4.requiresBuild;
const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts4.filesResponse.packageImportMethod ?? packageImportMethod;
const impPkg = cachedImporterCreator(pkgImportMethod);
const importMethod = impPkg(to, {
disableRelinkLocalDirDeps: opts4.disableRelinkLocalDirDeps,
filesMap,
resolvedFrom: opts4.filesResponse.resolvedFrom,
force: opts4.force,
keepModulesDir: Boolean(opts4.keepModulesDir),
safeToSkip: opts4.safeToSkip
});
return { importMethod, isBuilt };
};
}
function getFlatMap(storeDir, filesResponse, targetEngine) {
if (targetEngine && filesResponse.sideEffectsMaps?.has(targetEngine)) {
const sideEffectMap = filesResponse.sideEffectsMaps.get(targetEngine);
const filesMap = applySideEffectsDiffWithMaps(filesResponse.filesMap, sideEffectMap);
return {
filesMap,
isBuilt: true
};
}
return {
filesMap: filesResponse.filesMap,
isBuilt: false
};
}
function applySideEffectsDiffWithMaps(baseFiles, { added, deleted }) {
const filesWithSideEffects = /* @__PURE__ */ new Map();
if (added) {
for (const [name, filePath] of added.entries()) {
filesWithSideEffects.set(name, filePath);
}
}
for (const [fileName, filePath] of baseFiles) {
if (!deleted?.includes(fileName) && !filesWithSideEffects.has(fileName)) {
filesWithSideEffects.set(fileName, filePath);
}
}
return filesWithSideEffects;
}
function createCafsStore(storeDir, opts3) {
const baseTempDir = path83.join(storeDir, "tmp");
const importPackage2 = createPackageImporter({
importIndexedPackage: opts3?.importPackage,
packageImportMethod: opts3?.packageImportMethod,
storeDir
});
return {
...createCafs(storeDir, opts3),
storeDir,
importPackage: importPackage2,
tempDir: async () => {
await fs49.mkdir(baseTempDir, { recursive: true });
return fs49.mkdtemp(path83.join(baseTempDir, "_tmp_"));
}
};
}
var init_lib86 = __esm({
"../store/create-cafs-store/lib/index.js"() {
"use strict";
init_lib85();
init_lib83();
init_distribution();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pretty-bytes/7.1.0/1decda1e3bafc24ebf9bdbdfbdae6c6903719ba9edcfb496e7a4f602e26e6497/node_modules/pretty-bytes/index.js
function prettyBytes(number, options) {
if (typeof number !== "bigint" && !Number.isFinite(number)) {
throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);
}
options = {
bits: false,
binary: false,
space: true,
nonBreakingSpace: false,
...options
};
const UNITS = options.bits ? options.binary ? BIBIT_UNITS : BIT_UNITS : options.binary ? BIBYTE_UNITS : BYTE_UNITS;
const separator = options.space ? options.nonBreakingSpace ? "\xA0" : " " : "";
const isZero2 = typeof number === "number" ? number === 0 : number === 0n;
if (options.signed && isZero2) {
const result3 = ` 0${separator}${UNITS[0]}`;
return applyFixedWidth(result3, options.fixedWidth);
}
const isNegative = number < 0;
const prefix = isNegative ? "-" : options.signed ? "+" : "";
if (isNegative) {
number = -number;
}
const localeOptions = buildLocaleOptions(options);
let result2;
if (number < 1) {
const numberString = toLocaleString(number, options.locale, localeOptions);
result2 = prefix + numberString + separator + UNITS[0];
} else {
const exponent = Math.min(Math.floor(options.binary ? log2(number) / Math.log(1024) : log10(number) / 3), UNITS.length - 1);
number = divide(number, (options.binary ? 1024 : 1e3) ** exponent);
if (!localeOptions) {
const minPrecision = Math.max(3, Math.floor(number).toString().length);
number = number.toPrecision(minPrecision);
}
const numberString = toLocaleString(Number(number), options.locale, localeOptions);
const unit = UNITS[exponent];
result2 = prefix + numberString + separator + unit;
}
return applyFixedWidth(result2, options.fixedWidth);
}
var BYTE_UNITS, BIBYTE_UNITS, BIT_UNITS, BIBIT_UNITS, toLocaleString, log10, log2, divide, applyFixedWidth, buildLocaleOptions;
var init_pretty_bytes = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/pretty-bytes/7.1.0/1decda1e3bafc24ebf9bdbdfbdae6c6903719ba9edcfb496e7a4f602e26e6497/node_modules/pretty-bytes/index.js"() {
BYTE_UNITS = [
"B",
"kB",
"MB",
"GB",
"TB",
"PB",
"EB",
"ZB",
"YB"
];
BIBYTE_UNITS = [
"B",
"KiB",
"MiB",
"GiB",
"TiB",
"PiB",
"EiB",
"ZiB",
"YiB"
];
BIT_UNITS = [
"b",
"kbit",
"Mbit",
"Gbit",
"Tbit",
"Pbit",
"Ebit",
"Zbit",
"Ybit"
];
BIBIT_UNITS = [
"b",
"kibit",
"Mibit",
"Gibit",
"Tibit",
"Pibit",
"Eibit",
"Zibit",
"Yibit"
];
toLocaleString = (number, locale, options) => {
let result2 = number;
if (typeof locale === "string" || Array.isArray(locale)) {
result2 = number.toLocaleString(locale, options);
} else if (locale === true || options !== void 0) {
result2 = number.toLocaleString(void 0, options);
}
return result2;
};
log10 = (numberOrBigInt) => {
if (typeof numberOrBigInt === "number") {
return Math.log10(numberOrBigInt);
}
const string = numberOrBigInt.toString(10);
return string.length + Math.log10(`0.${string.slice(0, 15)}`);
};
log2 = (numberOrBigInt) => {
if (typeof numberOrBigInt === "number") {
return Math.log(numberOrBigInt);
}
return log10(numberOrBigInt) * Math.log(10);
};
divide = (numberOrBigInt, divisor) => {
if (typeof numberOrBigInt === "number") {
return numberOrBigInt / divisor;
}
const integerPart = numberOrBigInt / BigInt(divisor);
const remainder = numberOrBigInt % BigInt(divisor);
return Number(integerPart) + Number(remainder) / divisor;
};
applyFixedWidth = (result2, fixedWidth) => {
if (fixedWidth === void 0) {
return result2;
}
if (typeof fixedWidth !== "number" || !Number.isSafeInteger(fixedWidth) || fixedWidth < 0) {
throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof fixedWidth}: ${fixedWidth}`);
}
if (fixedWidth === 0) {
return result2;
}
return result2.length < fixedWidth ? result2.padStart(fixedWidth, " ") : result2;
};
buildLocaleOptions = (options) => {
const { minimumFractionDigits, maximumFractionDigits } = options;
if (minimumFractionDigits === void 0 && maximumFractionDigits === void 0) {
return void 0;
}
return {
...minimumFractionDigits !== void 0 && { minimumFractionDigits },
...maximumFractionDigits !== void 0 && { maximumFractionDigits },
roundingMode: "trunc"
};
};
}
});
// ../store/controller/lib/storeController/projectRegistry.js
import { promises as fs50 } from "node:fs";
import path84 from "node:path";
import util27 from "node:util";
function getProjectsRegistryDir(storeDir) {
return path84.join(storeDir, PROJECTS_DIR);
}
async function registerProject(storeDir, projectDir) {
if (isSubdir(projectDir, storeDir)) {
return;
}
const registryDir = getProjectsRegistryDir(storeDir);
await fs50.mkdir(registryDir, { recursive: true });
const linkPath = path84.join(registryDir, createShortHash(projectDir));
await symlinkDir(projectDir, linkPath);
}
async function getRegisteredProjects(storeDir) {
const registryDir = getProjectsRegistryDir(storeDir);
let entries;
try {
entries = await fs50.readdir(registryDir, { withFileTypes: true });
} catch (err2) {
if (util27.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return [];
}
throw err2;
}
const projects = [];
await Promise.all(entries.map(async (entry) => {
if (entry.name.startsWith("."))
return;
if (!entry.isSymbolicLink())
return;
const linkPath = path84.join(registryDir, entry.name);
let target2;
try {
target2 = await fs50.readlink(linkPath);
} catch (err2) {
if (util27.types.isNativeError(err2) && "code" in err2 && (err2.code === "ENOENT" || err2.code === "EINVAL")) {
return;
}
const message = util27.types.isNativeError(err2) ? err2.message : String(err2);
throw new PnpmError("PROJECT_REGISTRY_ENTRY_INACCESSIBLE", `Cannot read project registry entry "${linkPath}": ${message}`, {
hint: `To remove this project from the registry, delete the file at:
${linkPath}`
});
}
const absoluteTarget = path84.isAbsolute(target2) ? target2 : path84.resolve(path84.dirname(linkPath), target2);
try {
await fs50.stat(absoluteTarget);
projects.push(absoluteTarget);
} catch (err2) {
if (util27.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
await fs50.unlink(linkPath);
globalInfo(`Removed stale project registry entry: ${absoluteTarget}`);
return;
}
const message = util27.types.isNativeError(err2) ? err2.message : String(err2);
throw new PnpmError("PROJECT_INACCESSIBLE", `Cannot access registered project "${absoluteTarget}": ${message}`, {
hint: `To remove this project from the registry, delete the symlink at:
${linkPath}`
});
}
}));
return projects;
}
var PROJECTS_DIR;
var init_projectRegistry = __esm({
"../store/controller/lib/storeController/projectRegistry.js"() {
"use strict";
init_lib34();
init_lib2();
init_lib3();
init_is_subdir();
init_dist3();
PROJECTS_DIR = "projects";
}
});
// ../store/controller/lib/storeController/pruneGlobalVirtualStore.js
import crypto7 from "node:crypto";
import { promises as fs51 } from "node:fs";
import path85 from "node:path";
import util28 from "node:util";
async function pruneGlobalVirtualStore(storeDir) {
const linksDir = path85.join(storeDir, LINKS_DIR);
if (!await pathExists(linksDir)) {
return;
}
const projects = await getRegisteredProjects(storeDir);
if (projects.length === 0) {
globalInfo("No registered projects for global virtual store");
return;
}
globalInfo(`Checking ${projects.length} registered project(s) for global virtual store usage`);
const reachable = /* @__PURE__ */ new Set();
const visited = /* @__PURE__ */ new Set();
await Promise.all(projects.map(async (projectDir) => {
const nodeModulesDirs = await findAllNodeModulesDirs(projectDir);
await Promise.all(nodeModulesDirs.map((modulesDir) => walkSymlinksToStore(modulesDir, linksDir, reachable, visited)));
}));
const unreachableCount = await removeUnreachablePackages(linksDir, reachable);
if (unreachableCount > 0) {
globalInfo(`Removed ${unreachableCount} package${unreachableCount === 1 ? "" : "s"} from global virtual store`);
} else {
globalInfo("No unused packages found in global virtual store");
}
}
async function findAllNodeModulesDirs(projectDir) {
const nodeModulesDirs = [];
async function scan3(dir) {
let entries;
try {
entries = await fs51.readdir(dir, { withFileTypes: true });
} catch {
return;
}
const subdirs = [];
for (const entry of entries) {
if (!entry.isDirectory())
continue;
const entryPath = path85.join(dir, entry.name);
if (entry.name === "node_modules") {
nodeModulesDirs.push(entryPath);
} else if (!entry.name.startsWith(".")) {
subdirs.push(entryPath);
}
}
await Promise.all(subdirs.map((subdir) => scan3(subdir)));
}
await scan3(projectDir);
return nodeModulesDirs;
}
async function walkSymlinksToStore(dir, linksDir, reachable, visited) {
const dirHash = await getRealPathHash(dir);
if (visited.has(dirHash)) {
return;
}
visited.add(dirHash);
let entries;
try {
entries = await fs51.readdir(dir, { withFileTypes: true });
} catch {
return;
}
await Promise.all(entries.map(async (entry) => {
const entryPath = path85.join(dir, entry.name);
if (entry.isSymbolicLink()) {
try {
const target2 = await fs51.readlink(entryPath);
const absoluteTarget = path85.isAbsolute(target2) ? target2 : path85.resolve(dir, target2);
if (isSubdir(linksDir, absoluteTarget)) {
const relPath = path85.relative(linksDir, absoluteTarget);
const parts = relPath.split(path85.sep);
const nodeModulesIdx = parts.indexOf("node_modules");
if (nodeModulesIdx !== -1) {
const relativePath2 = parts.slice(0, nodeModulesIdx).join(path85.sep);
reachable.add(relativePath2);
const pkgNodeModules = path85.join(linksDir, relativePath2, "node_modules");
await walkSymlinksToStore(pkgNodeModules, linksDir, reachable, visited);
}
}
} catch {
}
} else if (entry.isDirectory() && entry.name !== ".pnpm") {
await walkSymlinksToStore(entryPath, linksDir, reachable, visited);
}
}));
}
async function getRealPathHash(p) {
let realPath;
try {
realPath = await fs51.realpath(p);
} catch {
realPath = p;
}
return crypto7.createHash("sha256").update(realPath).digest("base64url");
}
async function removeUnreachablePackages(linksDir, reachable) {
const scopes = await getSubdirsSafely(linksDir);
let count2 = 0;
await Promise.all(scopes.map(async (scope) => {
const scopePath = path85.join(linksDir, scope);
const pkgNames = await getSubdirsSafely(scopePath);
let removedPkgs = 0;
await Promise.all(pkgNames.map(async (pkgName) => {
const pkgDir = path85.join(scopePath, pkgName);
const removedVersions = await removeUnreachableVersions(pkgDir, path85.join(scope, pkgName), reachable);
count2 += removedVersions.count;
if (removedVersions.allRemoved) {
await rimraf(pkgDir);
removedPkgs++;
}
}));
if (removedPkgs === pkgNames.length && pkgNames.length > 0) {
await rimraf(scopePath);
}
}));
return count2;
}
async function removeUnreachableVersions(pkgDir, pkgPath, reachable) {
const versions = await getSubdirsSafely(pkgDir);
let count2 = 0;
let removedVersions = 0;
await Promise.all(versions.map(async (version2) => {
const versionDir = path85.join(pkgDir, version2);
const hashes = await getSubdirsSafely(versionDir);
let removedHashes = 0;
await Promise.all(hashes.map(async (hash2) => {
const relativePath2 = path85.join(pkgPath, version2, hash2);
if (!reachable.has(relativePath2)) {
await rimraf(path85.join(versionDir, hash2));
removedHashes++;
count2++;
}
}));
if (removedHashes === hashes.length && hashes.length > 0) {
await rimraf(versionDir);
removedVersions++;
}
}));
return {
count: count2,
allRemoved: removedVersions === versions.length && versions.length > 0
};
}
async function pathExists(p) {
try {
await fs51.stat(p);
return true;
} catch {
return false;
}
}
async function getSubdirsSafely(dir) {
let entries;
try {
entries = await fs51.readdir(dir, { withFileTypes: true });
} catch (err2) {
if (util28.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return [];
}
throw err2;
}
const subdirs = [];
for (const entry of entries) {
if (entry.isDirectory()) {
subdirs.push(entry.name);
}
}
return subdirs;
}
var LINKS_DIR;
var init_pruneGlobalVirtualStore = __esm({
"../store/controller/lib/storeController/pruneGlobalVirtualStore.js"() {
"use strict";
init_lib3();
init_rimraf();
init_is_subdir();
init_projectRegistry();
LINKS_DIR = "links";
}
});
// ../store/controller/lib/storeController/prune.js
import { promises as fs52 } from "node:fs";
import path86 from "node:path";
import util29 from "node:util";
async function prune({ cacheDir, storeDir, storeIndex }, removeAlienFiles) {
await pruneGlobalVirtualStore(storeDir);
const metadataDirs = await getSubdirsSafely2(cacheDir);
await Promise.all(metadataDirs.map(async (metadataDir) => {
if (!metadataDir.startsWith("metadata") && !/^v\d+$/.test(metadataDir))
return;
try {
await rimraf(path86.join(cacheDir, metadataDir));
} catch (err2) {
if (!(util29.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")) {
throw err2;
}
}
}));
await rimraf(path86.join(storeDir, "tmp"));
globalInfo("Removed all cached metadata files");
const cafsDir = path86.join(storeDir, "files");
const removedHashes = /* @__PURE__ */ new Set();
const dirs2 = await getSubdirsSafely2(cafsDir);
let fileCounter = 0;
let totalSize = 0;
await Promise.all(dirs2.map(async (dir) => {
const subdir = path86.join(cafsDir, dir);
await Promise.all((await fs52.readdir(subdir)).map(async (fileName) => {
const filePath = path86.join(subdir, fileName);
const stat2 = await fs52.stat(filePath);
if (stat2.isDirectory()) {
if (removeAlienFiles) {
await rimraf(filePath);
globalWarn(`An alien directory has been removed from the store: ${filePath}`);
fileCounter++;
return;
} else {
globalWarn(`An alien directory is present in the store: ${filePath}`);
return;
}
}
if (stat2.nlink === 1 || stat2.nlink === BIG_ONE) {
totalSize += stat2.size;
await fs52.unlink(filePath);
fileCounter++;
removedHashes.add(`${dir}${fileName.replace(/-exec$/, "")}`);
}
}));
}));
globalInfo(`Removed ${fileCounter} file${fileCounter === 1 ? "" : "s"} (${prettyBytes(totalSize)})`);
let pkgCounter = 0;
const toDelete = [];
for (const [filesIndexFile, data] of storeIndex.entries()) {
const pkgFilesIndex = data;
const pkgJson2 = pkgFilesIndex.files.get("package.json");
if (pkgJson2 && removedHashes.has(pkgJson2.digest)) {
toDelete.push(filesIndexFile);
pkgCounter++;
}
}
storeIndex.deleteMany(toDelete);
globalInfo(`Removed ${pkgCounter} package${pkgCounter === 1 ? "" : "s"}`);
}
async function getSubdirsSafely2(dir) {
let entries;
try {
entries = await fs52.readdir(dir, { withFileTypes: true });
} catch (err2) {
if (util29.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return [];
}
throw err2;
}
return entries.filter((entry) => entry.isDirectory()).map((dir2) => dir2.name);
}
var BIG_ONE;
var init_prune = __esm({
"../store/controller/lib/storeController/prune.js"() {
"use strict";
init_lib3();
init_rimraf();
init_pretty_bytes();
init_pruneGlobalVirtualStore();
BIG_ONE = BigInt(1);
}
});
// ../store/controller/lib/storeController/index.js
import fs53 from "node:fs";
import path87 from "node:path";
function createPackageStore(resolve4, fetchers, initOpts) {
const storeDir = initOpts.storeDir;
if (!fs53.existsSync(path87.join(storeDir, "files"))) {
if (initOpts.frozenStore) {
throw new PnpmError("FROZEN_STORE_INCOMPLETE", `frozenStore is enabled but the store at ${storeDir} is missing its content directory (${path87.join(storeDir, "files")}). The store must be fully seeded before it can be used read-only.`);
}
initStoreDir(storeDir).catch(() => {
});
}
const cafs = createCafsStore(storeDir, {
cafsLocker: initOpts.cafsLocker,
packageImportMethod: initOpts.packageImportMethod
});
const packageRequester = createPackageRequester({
force: initOpts.force,
engineStrict: initOpts.engineStrict,
nodeVersion: initOpts.nodeVersion,
pnpmVersion: initOpts.pnpmVersion,
resolve: resolve4,
fetchers,
cafs,
ignoreFile: initOpts.ignoreFile,
networkConcurrency: initOpts.networkConcurrency,
storeDir: initOpts.storeDir,
verifyStoreIntegrity: initOpts.verifyStoreIntegrity,
virtualStoreDirMaxLength: initOpts.virtualStoreDirMaxLength,
strictStorePkgContentCheck: initOpts.strictStorePkgContentCheck,
customFetchers: initOpts.customFetchers,
frozenStore: initOpts.frozenStore
});
return {
close: async () => {
initOpts.storeIndex.flush();
},
fetchPackage: packageRequester.fetchPackageToStore,
getFilesIndexFilePath: packageRequester.getFilesIndexFilePath,
importPackage: initOpts.importPackage ? createPackageImporterAsync({ importIndexedPackage: initOpts.importPackage, storeDir: cafs.storeDir }) : (targetDir, opts3) => importPackage({
...opts3,
packageImportMethod: initOpts.packageImportMethod,
storeDir: initOpts.storeDir,
targetDir
}),
prune: prune.bind(null, { storeDir, cacheDir: initOpts.cacheDir, storeIndex: initOpts.storeIndex }),
requestPackage: packageRequester.requestPackage,
upload,
clearResolutionCache: initOpts.clearResolutionCache
};
async function upload(builtPkgLocation, opts3) {
await addFilesFromDir({
storeDir: cafs.storeDir,
storeIndex: initOpts.storeIndex,
dir: builtPkgLocation,
sideEffectsCacheKey: opts3.sideEffectsCacheKey,
filesIndexFile: opts3.filesIndexFile,
pkg: {}
});
}
}
var init_storeController = __esm({
"../store/controller/lib/storeController/index.js"() {
"use strict";
init_lib2();
init_lib84();
init_lib86();
init_lib4();
init_prune();
}
});
// ../store/controller-types/lib/index.js
var init_lib87 = __esm({
"../store/controller-types/lib/index.js"() {
"use strict";
init_lib29();
}
});
// ../store/controller/lib/index.js
var init_lib88 = __esm({
"../store/controller/lib/index.js"() {
"use strict";
init_storeController();
init_projectRegistry();
init_lib87();
}
});
// ../installing/context/lib/readLockfiles.js
import path88 from "node:path";
async function readLockfiles(opts3) {
const wantedLockfileVersion = LOCKFILE_VERSION;
const lockfileOpts = {
ignoreIncompatible: opts3.force || opts3.ci === true && !opts3.frozenLockfile,
wantedVersions: [LOCKFILE_VERSION],
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
};
const fileReads = [];
let lockfileHadConflicts = false;
let wantedLockfileFileExists = false;
if (opts3.useLockfile) {
wantedLockfileFileExists = await existsNonEmptyWantedLockfile(opts3.lockfileDir, lockfileOpts);
if (!opts3.frozenLockfile) {
fileReads.push((async () => {
try {
const { lockfile, hadConflicts } = await readWantedLockfileAndAutofixConflicts(opts3.lockfileDir, lockfileOpts);
lockfileHadConflicts = hadConflicts;
return lockfile;
} catch (err2) {
logger.warn({
message: `Ignoring broken lockfile at ${opts3.lockfileDir}: ${err2.message}`,
prefix: opts3.lockfileDir
});
return void 0;
}
})());
} else {
fileReads.push(readWantedLockfile(opts3.lockfileDir, lockfileOpts));
}
} else {
if (await existsNonEmptyWantedLockfile(opts3.lockfileDir, lockfileOpts)) {
logger.warn({
message: `A ${WANTED_LOCKFILE} file exists. The current configuration prohibits to read or write a lockfile`,
prefix: opts3.lockfileDir
});
}
fileReads.push(Promise.resolve(void 0));
}
fileReads.push((async () => {
try {
return await readCurrentLockfile(opts3.internalPnpmDir, lockfileOpts);
} catch (err2) {
logger.warn({
message: `Ignoring broken lockfile at ${opts3.internalPnpmDir}: ${err2.message}`,
prefix: opts3.lockfileDir
});
return void 0;
}
})());
const files = await Promise.all(fileReads);
if (opts3.frozenLockfile && wantedLockfileFileExists && files[0] == null) {
throw new PnpmError("BROKEN_LOCKFILE", `The lockfile at "${path88.join(opts3.lockfileDir, WANTED_LOCKFILE)}" is broken: it is empty`);
}
const sopts = {
autoInstallPeers: opts3.autoInstallPeers,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
lockfileVersion: wantedLockfileVersion,
peersSuffixMaxLength: opts3.peersSuffixMaxLength
};
const importerIds = opts3.projects.map((importer) => importer.id);
const currentLockfile = files[1] ?? createLockfileObject(importerIds, sopts);
for (const importerId of importerIds) {
if (!currentLockfile.importers[importerId]) {
currentLockfile.importers[importerId] = {
specifiers: {}
};
}
}
const existsWantedLockfile = files[0] != null;
const existsCurrentLockfile = files[1] != null;
const wantedLockfile = files[0] ?? (currentLockfile && clone_default(currentLockfile)) ?? createLockfileObject(importerIds, sopts);
let wantedLockfileIsModified = !existsWantedLockfile && existsCurrentLockfile;
for (const importerId of importerIds) {
if (!wantedLockfile.importers[importerId]) {
wantedLockfileIsModified = true;
wantedLockfile.importers[importerId] = {
specifiers: {}
};
}
}
return {
currentLockfile,
currentLockfileIsUpToDate: equals_default(currentLockfile, wantedLockfile),
existsCurrentLockfile,
existsWantedLockfile,
existsNonEmptyWantedLockfile: existsWantedLockfile && !isEmptyLockfile(wantedLockfile),
wantedLockfile,
wantedLockfileIsModified,
lockfileHadConflicts
};
}
var init_readLockfiles = __esm({
"../installing/context/lib/readLockfiles.js"() {
"use strict";
init_lib();
init_lib2();
init_lib80();
init_lib3();
init_es();
}
});
// ../installing/context/lib/index.js
import { promises as fs54 } from "node:fs";
import path89 from "node:path";
async function getContext(opts3) {
const modulesDir = opts3.modulesDir ?? "node_modules";
const importersContext = await readProjectsContext(opts3.allProjects, { lockfileDir: opts3.lockfileDir, modulesDir });
const virtualStoreDir = pathAbsolute(opts3.virtualStoreDir ?? path89.join(modulesDir, ".pnpm"), opts3.lockfileDir);
if (!opts3.frozenStore) {
await fs54.mkdir(opts3.storeDir, { recursive: true });
await registerProject(opts3.storeDir, opts3.lockfileDir);
}
for (const project of opts3.allProjects) {
packageManifestLogger.debug({
initial: project.manifest,
prefix: project.rootDir
});
}
if (opts3.readPackageHook != null) {
await Promise.all(importersContext.projects.map(async (project) => {
project.originalManifest = project.manifest;
project.manifest = await opts3.readPackageHook(clone_default(project.manifest), project.rootDir);
}));
}
const extraBinPaths = [
...opts3.extraBinPaths || []
];
const internalPnpmDir = path89.join(importersContext.rootModulesDir, ".pnpm");
const hoistedModulesDir = path89.join(opts3.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules");
if (opts3.hoistPattern?.length) {
extraBinPaths.unshift(path89.join(hoistedModulesDir, ".bin"));
}
const ctx = {
extraBinPaths,
extraNodePaths: getExtraNodePaths({
extendNodePath: opts3.extendNodePath,
nodeLinker: opts3.nodeLinker,
hoistPattern: importersContext.currentHoistPattern ?? opts3.hoistPattern,
hoistedModulesDir
}),
hoistedDependencies: importersContext.hoistedDependencies,
hoistedModulesDir,
hoistPattern: opts3.hoistPattern,
currentHoistPattern: importersContext.currentHoistPattern,
include: opts3.include ?? importersContext.include,
lockfileDir: opts3.lockfileDir,
modulesFile: importersContext.modules,
pendingBuilds: importersContext.pendingBuilds,
projects: Object.fromEntries(importersContext.projects.map((project) => [project.rootDir, project])),
publicHoistPattern: opts3.publicHoistPattern,
currentPublicHoistPattern: importersContext.currentPublicHoistPattern,
registries: opts3.registries,
rootModulesDir: importersContext.rootModulesDir,
skipped: importersContext.skipped,
storeDir: opts3.storeDir,
virtualStoreDir,
virtualStoreDirMaxLength: importersContext.virtualStoreDirMaxLength ?? opts3.virtualStoreDirMaxLength,
workspacePackages: opts3.workspacePackages ?? arrayOfWorkspacePackagesToMap(opts3.allProjects),
...await readLockfiles({
autoInstallPeers: opts3.autoInstallPeers,
ci: opts3.ci,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
force: opts3.force,
frozenLockfile: opts3.frozenLockfile === true,
lockfileDir: opts3.lockfileDir,
projects: importersContext.projects,
registry: opts3.registries.default,
useLockfile: opts3.useLockfile,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
internalPnpmDir
})
};
contextLogger.debug({
currentLockfileExists: ctx.existsCurrentLockfile,
storeDir: opts3.storeDir,
virtualStoreDir
});
return ctx;
}
async function getContextForSingleImporter(manifest, opts3) {
const { currentHoistPattern, hoistedDependencies, projects, include, modules, pendingBuilds, registries, skipped, rootModulesDir } = await readProjectsContext([
{
rootDir: opts3.dir
}
], {
lockfileDir: opts3.lockfileDir,
modulesDir: opts3.modulesDir
});
const storeDir = opts3.storeDir;
const importer = projects[0];
const modulesDir = importer.modulesDir;
const importerId = importer.id;
const virtualStoreDir = pathAbsolute(opts3.virtualStoreDir ?? "node_modules/.pnpm", opts3.lockfileDir);
if (!opts3.frozenStore) {
await fs54.mkdir(storeDir, { recursive: true });
await registerProject(storeDir, opts3.lockfileDir);
}
const extraBinPaths = [
...opts3.extraBinPaths || []
];
const internalPnpmDir = path89.join(rootModulesDir, ".pnpm");
const hoistedModulesDir = path89.join(opts3.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules");
if (opts3.hoistPattern?.length) {
extraBinPaths.unshift(path89.join(hoistedModulesDir, ".bin"));
}
const ctx = {
extraBinPaths,
extraNodePaths: getExtraNodePaths({
extendNodePath: opts3.extendNodePath,
nodeLinker: opts3.nodeLinker,
hoistPattern: currentHoistPattern ?? opts3.hoistPattern,
hoistedModulesDir
}),
hoistedDependencies,
hoistedModulesDir,
hoistPattern: opts3.hoistPattern,
importerId,
include: opts3.include ?? include,
lockfileDir: opts3.lockfileDir,
manifest: await opts3.readPackageHook?.(manifest) ?? manifest,
modulesDir,
modulesFile: modules,
pendingBuilds,
prefix: opts3.dir,
publicHoistPattern: opts3.publicHoistPattern,
registries: {
...opts3.registries,
...registries
},
rootModulesDir,
skipped,
storeDir,
virtualStoreDir,
...await readLockfiles({
autoInstallPeers: opts3.autoInstallPeers,
ci: opts3.ci,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
force: opts3.force,
frozenLockfile: false,
lockfileDir: opts3.lockfileDir,
projects: [{ id: importerId, rootDir: opts3.dir }],
registry: opts3.registries.default,
useLockfile: opts3.useLockfile,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
internalPnpmDir
})
};
packageManifestLogger.debug({
initial: manifest,
prefix: opts3.dir
});
contextLogger.debug({
currentLockfileExists: ctx.existsCurrentLockfile,
storeDir: opts3.storeDir,
virtualStoreDir
});
return ctx;
}
function getExtraNodePaths({ extendNodePath = true, hoistPattern, nodeLinker, hoistedModulesDir }) {
if (extendNodePath && nodeLinker === "isolated" && hoistPattern?.length) {
return [hoistedModulesDir];
}
return [];
}
function arrayOfWorkspacePackagesToMap(pkgs) {
const workspacePkgs = /* @__PURE__ */ new Map();
for (const { manifest, rootDir } of pkgs) {
if (!manifest.name)
continue;
let workspacePkgsByVersion = workspacePkgs.get(manifest.name);
if (!workspacePkgsByVersion) {
workspacePkgsByVersion = /* @__PURE__ */ new Map();
workspacePkgs.set(manifest.name, workspacePkgsByVersion);
}
workspacePkgsByVersion.set(manifest.version ?? "0.0.0", {
manifest,
rootDir
});
}
return workspacePkgs;
}
var init_lib89 = __esm({
"../installing/context/lib/index.js"() {
"use strict";
init_lib6();
init_lib81();
init_lib88();
init_path_absolute();
init_es();
init_readLockfiles();
}
});
// ../lockfile/walker/lib/index.js
function lockfileWalkerGroupImporterSteps(lockfile, importerIds, opts3) {
const walked = new Set(opts3?.skipped != null ? Array.from(opts3?.skipped) : []);
return importerIds.map((importerId) => {
const projectSnapshot = lockfile.importers[importerId];
const entryNodes = Object.entries({
...opts3?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies,
...opts3?.include?.dependencies === false ? {} : projectSnapshot.dependencies,
...opts3?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies
}).map(([pkgName, reference]) => refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null);
return {
importerId,
step: step({
includeOptionalDependencies: opts3?.include?.optionalDependencies !== false,
lockfile,
walked
}, entryNodes)
};
});
}
function lockfileWalker(lockfile, importerIds, opts3) {
const walked = new Set(opts3?.skipped != null ? Array.from(opts3?.skipped) : []);
const entryNodes = [];
const directDeps = [];
for (const importerId of importerIds) {
const projectSnapshot = lockfile.importers[importerId];
Object.entries({
...opts3?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies,
...opts3?.include?.dependencies === false ? {} : projectSnapshot.dependencies,
...opts3?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies
}).forEach(([pkgName, reference]) => {
const depPath = refToRelative(reference, pkgName);
if (depPath === null)
return;
entryNodes.push(depPath);
directDeps.push({ alias: pkgName, depPath });
});
}
return {
directDeps,
step: step({
includeOptionalDependencies: opts3?.include?.optionalDependencies !== false,
lockfile,
walked
}, entryNodes)
};
}
function step(ctx, nextDepPaths) {
const result2 = {
dependencies: [],
links: [],
missing: []
};
for (const depPath of nextDepPaths) {
if (ctx.walked.has(depPath))
continue;
ctx.walked.add(depPath);
const pkgSnapshot = ctx.lockfile.packages?.[depPath];
if (pkgSnapshot == null) {
if (depPath.startsWith("link:")) {
result2.links.push(depPath);
continue;
}
result2.missing.push(depPath);
continue;
}
result2.dependencies.push({
depPath,
next: () => step(ctx, next({ includeOptionalDependencies: ctx.includeOptionalDependencies }, pkgSnapshot)),
pkgSnapshot
});
}
return result2;
}
function next(opts3, nextPkg) {
return Object.entries({
...nextPkg.dependencies,
...opts3.includeOptionalDependencies ? nextPkg.optionalDependencies : {}
}).map(([pkgName, reference]) => refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null);
}
var init_lib90 = __esm({
"../lockfile/walker/lib/index.js"() {
"use strict";
init_lib68();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/can-link/3.0.0/bae417759b91f431851e4811843beef52513ed66982ee97d7bcd9c27ccf8c2bb/node_modules/can-link/index.js
import defaultFS2 from "node:fs";
async function canLink(existingPath, newPath, customFS) {
const fs126 = customFS || defaultFS2;
try {
await fs126.promises.link(existingPath, newPath);
fs126.promises.unlink(newPath).catch(() => {
});
return true;
} catch (err2) {
if (err2.code === "EXDEV" || err2.code === "EACCES" || err2.code === "EPERM") {
return false;
}
throw err2;
}
}
var init_can_link = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/can-link/3.0.0/bae417759b91f431851e4811843beef52513ed66982ee97d7bcd9c27ccf8c2bb/node_modules/can-link/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/next-path/1.0.0/de08de603a106249d809dfd48fcc251f85b935bfa3517816c69f157ad1243460/node_modules/next-path/index.js
var require_next_path = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/next-path/1.0.0/de08de603a106249d809dfd48fcc251f85b935bfa3517816c69f157ad1243460/node_modules/next-path/index.js"(exports2, module2) {
"use strict";
var path236 = __require("path");
var nextPath2 = (from5, to) => {
const diff2 = path236.relative(from5, to);
const sepIndex = diff2.indexOf(path236.sep);
const next2 = sepIndex >= 0 ? diff2.substring(0, sepIndex) : diff2;
return path236.join(from5, next2);
};
module2.exports = nextPath2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/root-link-target/4.0.0/0d12f51c3375d006ca143eed15964c8223b5e04c31b06dfc634e410c28e0c56f/node_modules/root-link-target/index.js
import path90 from "node:path";
async function rootLinkTarget(filePath) {
filePath = path90.resolve(filePath);
const end = path90.dirname(filePath);
let dir = path90.parse(end).root;
while (true) {
const result2 = await canLink(filePath, pathTemp(dir));
if (result2) {
return dir;
} else if (dir === end) {
throw new Error(`${filePath} cannot be linked to anywhere`);
} else {
dir = (0, import_next_path.default)(dir, end);
}
}
}
var import_next_path;
var init_root_link_target = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/root-link-target/4.0.0/0d12f51c3375d006ca143eed15964c8223b5e04c31b06dfc634e410c28e0c56f/node_modules/root-link-target/index.js"() {
init_can_link();
init_path_temp();
import_next_path = __toESM(require_next_path(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/touch/3.1.1/12ecbce42e84b3507a93f09e9839abf0c0444e94b859aaf14db9c066cb13b6a2/node_modules/touch/index.js
var require_touch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/touch/3.1.1/12ecbce42e84b3507a93f09e9839abf0c0444e94b859aaf14db9c066cb13b6a2/node_modules/touch/index.js"(exports2, module2) {
"use strict";
var EE = __require("events").EventEmitter;
var cons = __require("constants");
var fs126 = __require("fs");
module2.exports = (f, options, cb) => {
if (typeof options === "function")
cb = options, options = {};
const p = new Promise((res, rej) => {
new Touch(validOpts(options, f, null)).on("done", res).on("error", rej);
});
return cb ? p.then((res) => cb(null, res), cb) : p;
};
module2.exports.sync = module2.exports.touchSync = (f, options) => (new TouchSync(validOpts(options, f, null)), void 0);
module2.exports.ftouch = (fd2, options, cb) => {
if (typeof options === "function")
cb = options, options = {};
const p = new Promise((res, rej) => {
new Touch(validOpts(options, null, fd2)).on("done", res).on("error", rej);
});
return cb ? p.then((res) => cb(null, res), cb) : p;
};
module2.exports.ftouchSync = (fd2, opt) => (new TouchSync(validOpts(opt, null, fd2)), void 0);
var validOpts = (options, path236, fd2) => {
options = Object.create(options || {});
options.fd = fd2;
options.path = path236;
const now = new Date(options.time || Date.now()).getTime() / 1e3;
if (!options.atime && !options.mtime)
options.atime = options.mtime = now;
else {
if (true === options.atime)
options.atime = now;
if (true === options.mtime)
options.mtime = now;
}
let oflags = 0;
if (!options.force)
oflags = oflags | cons.O_RDWR;
if (!options.nocreate)
oflags = oflags | cons.O_CREAT;
options.oflags = oflags;
return options;
};
var Touch = class extends EE {
constructor(options) {
super(options);
this.fd = options.fd;
this.path = options.path;
this.atime = options.atime;
this.mtime = options.mtime;
this.ref = options.ref;
this.nocreate = !!options.nocreate;
this.force = !!options.force;
this.closeAfter = options.closeAfter;
this.oflags = options.oflags;
this.options = options;
if (typeof this.fd !== "number") {
this.closeAfter = true;
this.open();
} else
this.onopen(null, this.fd);
}
emit(ev, data) {
this.close();
return super.emit(ev, data);
}
close() {
if (typeof this.fd === "number" && this.closeAfter)
fs126.close(this.fd, () => {
});
}
open() {
fs126.open(this.path, this.oflags, (er, fd2) => this.onopen(er, fd2));
}
onopen(er, fd2) {
if (er) {
if (er.code === "EISDIR")
this.onopen(null, null);
else if (er.code === "ENOENT" && this.nocreate)
this.emit("done");
else
this.emit("error", er);
} else {
this.fd = fd2;
if (this.ref)
this.statref();
else if (!this.atime || !this.mtime)
this.fstat();
else
this.futimes();
}
}
statref() {
fs126.stat(this.ref, (er, st) => {
if (er)
this.emit("error", er);
else
this.onstatref(st);
});
}
onstatref(st) {
this.atime = this.atime && st.atime.getTime() / 1e3;
this.mtime = this.mtime && st.mtime.getTime() / 1e3;
if (!this.atime || !this.mtime)
this.fstat();
else
this.futimes();
}
fstat() {
const stat2 = this.fd ? "fstat" : "stat";
const target2 = this.fd || this.path;
fs126[stat2](target2, (er, st) => {
if (er)
this.emit("error", er);
else
this.onfstat(st);
});
}
onfstat(st) {
if (typeof this.atime !== "number")
this.atime = st.atime.getTime() / 1e3;
if (typeof this.mtime !== "number")
this.mtime = st.mtime.getTime() / 1e3;
this.futimes();
}
futimes() {
const utimes = this.fd ? "futimes" : "utimes";
const target2 = this.fd || this.path;
fs126[utimes](target2, "" + this.atime, "" + this.mtime, (er) => {
if (er)
this.emit("error", er);
else
this.emit("done");
});
}
};
var TouchSync = class extends Touch {
open() {
try {
this.onopen(null, fs126.openSync(this.path, this.oflags));
} catch (er) {
this.onopen(er);
}
}
statref() {
let threw = true;
try {
this.onstatref(fs126.statSync(this.ref));
threw = false;
} finally {
if (threw)
this.close();
}
}
fstat() {
let threw = true;
const stat2 = this.fd ? "fstatSync" : "statSync";
const target2 = this.fd || this.path;
try {
this.onfstat(fs126[stat2](target2));
threw = false;
} finally {
if (threw)
this.close();
}
}
futimes() {
let threw = true;
const utimes = this.fd ? "futimesSync" : "utimesSync";
const target2 = this.fd || this.path;
try {
fs126[utimes](target2, this.atime, this.mtime);
threw = false;
} finally {
if (threw)
this.close();
}
this.emit("done");
}
close() {
if (typeof this.fd === "number" && this.closeAfter)
try {
fs126.closeSync(this.fd);
} catch (er) {
}
}
};
}
});
// ../store/path/lib/index.js
import { promises as fs55 } from "node:fs";
import os12 from "node:os";
import path91 from "node:path";
function getStorePath({ pkgRoot, storePath, pnpmHomeDir }) {
if (!storePath) {
if (!pnpmHomeDir) {
throw new PnpmError("NO_PNPM_HOME_DIR", "The pnpm home directory is unknown. Cannot calculate the store directory location.");
}
return storePathRelativeToHome(pkgRoot, "store", pnpmHomeDir);
}
if (isHomepath2(storePath)) {
const homedir = getHomedir2();
return storePathRelativeToHome(pkgRoot, storePath.substring(2), homedir);
}
const storeBasePath = pathAbsolute(storePath, pkgRoot);
if (storeBasePath.endsWith(`${path91.sep}${STORE_VERSION}`)) {
return storeBasePath;
}
return path91.join(storeBasePath, STORE_VERSION);
}
async function storePathRelativeToHome(pkgRoot, relStore, homedir) {
const tempFile = pathTemp(pkgRoot);
if (path91.parse(pkgRoot).root !== pkgRoot)
await fs55.mkdir(path91.dirname(tempFile), { recursive: true });
await (0, import_touch.default)(tempFile);
const storeInHomeDir = path91.join(homedir, relStore, STORE_VERSION);
if (await canLinkToSubdir(tempFile, homedir)) {
await fs55.unlink(tempFile);
return storeInHomeDir;
}
try {
let mountpoint = await rootLinkTarget(tempFile);
const mountpointParent = path91.join(mountpoint, "..");
if (!dirsAreEqual(mountpointParent, mountpoint) && await canLinkToSubdir(tempFile, mountpointParent)) {
mountpoint = mountpointParent;
}
if (dirsAreEqual(pkgRoot, mountpoint)) {
return storeInHomeDir;
}
return path91.join(mountpoint, ".pnpm-store", STORE_VERSION);
} catch {
return storeInHomeDir;
} finally {
await fs55.unlink(tempFile);
}
}
async function canLinkToSubdir(fileToLink, dir) {
let result2 = false;
const tmpDir = pathTemp(dir);
try {
await fs55.mkdir(tmpDir, { recursive: true });
result2 = await canLink(fileToLink, pathTemp(tmpDir));
} catch {
result2 = false;
} finally {
await safeRmdir(tmpDir);
}
return result2;
}
async function safeRmdir(dir) {
try {
await rimraf(dir);
} catch {
}
}
function dirsAreEqual(dir1, dir2) {
return path91.relative(dir1, dir2) === ".";
}
function getHomedir2() {
const home = os12.homedir();
if (!home)
throw new Error("Could not find the homedir");
return home;
}
function isHomepath2(filepath) {
return filepath.startsWith("~/") || filepath.startsWith("~\\");
}
var import_touch;
var init_lib91 = __esm({
"../store/path/lib/index.js"() {
"use strict";
init_lib();
init_lib2();
init_rimraf();
init_can_link();
init_path_absolute();
init_path_temp();
init_root_link_target();
import_touch = __toESM(require_touch(), 1);
}
});
// ../store/connection-manager/lib/createNewStoreController.js
import { promises as fs56 } from "node:fs";
async function createNewStoreController(opts3) {
const fullMetadata = shouldFetchFullMetadata(opts3);
if (!opts3.frozenStore) {
await fs56.mkdir(opts3.storeDir, { recursive: true });
}
const storeIndex = opts3.frozenStore ? new ReadOnlyStoreIndex(opts3.storeDir) : new StoreIndex(opts3.storeDir);
const { resolve: resolve4, fetchers, clearResolutionCache, resolutionVerifiers } = createClient({
customResolvers: opts3.hooks?.customResolvers,
customFetchers: opts3.hooks?.customFetchers,
unsafePerm: opts3.unsafePerm,
ca: opts3.ca,
cacheDir: opts3.cacheDir,
storeDir: opts3.storeDir,
cert: opts3.cert,
frozenStore: opts3.frozenStore,
fetchWarnTimeoutMs: opts3.fetchWarnTimeoutMs,
fetchMinSpeedKiBps: opts3.fetchMinSpeedKiBps,
fullMetadata,
filterMetadata: fullMetadata,
httpProxy: opts3.httpProxy,
httpsProxy: opts3.httpsProxy,
ignoreScripts: opts3.ignoreScripts,
key: opts3.key,
localAddress: opts3.localAddress,
nodeDownloadMirrors: opts3.nodeDownloadMirrors,
noProxy: opts3.noProxy,
offline: opts3.offline,
preferOffline: opts3.preferOffline,
configByUri: opts3.configByUri,
registries: opts3.registries,
namedRegistries: opts3.namedRegistries,
retry: {
factor: opts3.fetchRetryFactor,
maxTimeout: opts3.fetchRetryMaxtimeout,
minTimeout: opts3.fetchRetryMintimeout,
retries: opts3.fetchRetries
},
strictSsl: opts3.strictSsl ?? true,
timeout: opts3.fetchTimeout,
userAgent: opts3.userAgent,
maxSockets: opts3.maxSockets ?? (opts3.networkConcurrency != null ? opts3.networkConcurrency * 3 : void 0),
gitShallowHosts: opts3.gitShallowHosts,
resolveSymlinksInInjectedDirs: opts3.resolveSymlinksInInjectedDirs,
includeOnlyPackageFiles: !opts3.deployAllFiles,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol,
preserveAbsolutePaths: opts3.preserveAbsolutePaths,
ignoreMissingTimeField: opts3.minimumReleaseAgeIgnoreMissingTime,
minimumReleaseAge: opts3.minimumReleaseAge,
minimumReleaseAgeStrict: opts3.minimumReleaseAgeStrict,
minimumReleaseAgeExclude: opts3.minimumReleaseAgeExclude,
trustPolicy: opts3.trustPolicy,
trustPolicyExclude: opts3.trustPolicyExclude,
trustPolicyIgnoreAfter: opts3.trustPolicyIgnoreAfter,
storeIndex
});
return {
ctrl: createPackageStore(resolve4, fetchers, {
cafsLocker: opts3.cafsLocker,
engineStrict: opts3.engineStrict,
force: opts3.force,
nodeVersion: opts3.nodeVersion,
pnpmVersion: packageManager.version,
ignoreFile: opts3.ignoreFile,
importPackage: opts3.hooks?.importPackage,
networkConcurrency: opts3.networkConcurrency,
packageImportMethod: opts3.packageImportMethod,
cacheDir: opts3.cacheDir,
storeDir: opts3.storeDir,
verifyStoreIntegrity: typeof opts3.verifyStoreIntegrity === "boolean" ? opts3.verifyStoreIntegrity : true,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
strictStorePkgContentCheck: opts3.strictStorePkgContentCheck,
clearResolutionCache,
customFetchers: opts3.hooks?.customFetchers,
frozenStore: opts3.frozenStore,
storeIndex
}),
dir: opts3.storeDir,
resolutionVerifiers
};
}
function shouldFetchFullMetadata(opts3) {
return opts3.fetchFullMetadata ?? (opts3.supportedArchitectures?.libc != null || opts3.trustPolicy === "no-downgrade" || opts3.resolutionMode === "time-based" && !opts3.registrySupportsTimeField);
}
var init_createNewStoreController = __esm({
"../store/connection-manager/lib/createNewStoreController.js"() {
"use strict";
init_lib24();
init_lib59();
init_lib88();
init_lib30();
}
});
// ../store/connection-manager/lib/index.js
async function createStoreController(opts3) {
const storeDir = await getStorePath({
pkgRoot: opts3.workspaceDir ?? opts3.dir,
storePath: opts3.storeDir,
pnpmHomeDir: opts3.pnpmHomeDir
});
return createNewStoreController(Object.assign(opts3, {
storeDir
}));
}
var init_lib92 = __esm({
"../store/connection-manager/lib/index.js"() {
"use strict";
init_lib91();
init_createNewStoreController();
}
});
// ../building/after-install/lib/extendBuildOptions.js
import path92 from "node:path";
async function extendBuildOptions(opts3) {
if (opts3) {
for (const key in opts3) {
if (opts3[key] === void 0) {
delete opts3[key];
}
}
}
const defaultOpts = await defaults(opts3);
const extendedOpts = {
...defaultOpts,
...opts3,
storeDir: defaultOpts.storeDir
};
extendedOpts.registries = normalizeRegistries(extendedOpts.registries);
if (extendedOpts.enableGlobalVirtualStore && extendedOpts.virtualStoreDir == null) {
extendedOpts.virtualStoreDir = extendedOpts.globalVirtualStoreDir ?? path92.join(extendedOpts.storeDir, "links");
}
return extendedOpts;
}
var defaults;
var init_extendBuildOptions = __esm({
"../building/after-install/lib/extendBuildOptions.js"() {
"use strict";
init_lib76();
init_load_json_file();
defaults = async (opts3) => {
const packageManager2 = opts3.packageManager ?? await loadJsonFile(path92.join(import.meta.dirname, "../package.json"));
const dir = opts3.dir ?? process.cwd();
const lockfileDir = opts3.lockfileDir ?? dir;
return {
childConcurrency: 5,
development: true,
dir,
force: false,
lockfileDir,
nodeLinker: "isolated",
optional: true,
packageManager: packageManager2,
pending: false,
production: true,
configByUri: {},
registries: DEFAULT_REGISTRIES,
scriptsPrependNodePath: false,
shamefullyHoist: false,
shellEmulator: false,
sideEffectsCacheRead: false,
storeDir: opts3.storeDir,
unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0,
useLockfile: true,
userAgent: `${packageManager2.name}/${packageManager2.version} npm/? node/${process.version} ${process.platform} ${process.arch}`
};
};
}
});
// ../building/after-install/lib/index.js
import assert7 from "node:assert";
import fs57 from "node:fs";
import path93 from "node:path";
import util30 from "node:util";
function findPackages2(packages, searched, opts3) {
return Object.keys(packages).filter((relativeDepPath) => {
const pkgLockfile = packages[relativeDepPath];
const pkgInfo = nameVerFromPkgSnapshot(relativeDepPath, pkgLockfile);
if (!pkgInfo.name) {
logger2.warn({
message: `Skipping ${relativeDepPath} because cannot get the package name from ${WANTED_LOCKFILE}.
Try to run \`pnpm update --depth 100\` to create a new ${WANTED_LOCKFILE} with all the necessary info.`,
prefix: opts3.prefix
});
return false;
}
return matches(searched, pkgInfo, getPkgIdWithPatchHash(relativeDepPath));
});
}
function matches(searched, manifest, pkgIdWithPatchHash) {
return searched.some((searchedPkg) => {
if (typeof searchedPkg === "string") {
return manifest.name === searchedPkg;
}
if ("pkgIdWithPatchHash" in searchedPkg) {
return searchedPkg.pkgIdWithPatchHash === pkgIdWithPatchHash;
}
return searchedPkg.name === manifest.name && !!manifest.version && import_semver23.default.satisfies(manifest.version, searchedPkg.range);
});
}
async function buildSelectedPkgs(projects, pkgSpecs, maybeOpts) {
const reporter = maybeOpts?.reporter;
if (reporter != null && typeof reporter === "function") {
streamParser2.on("data", reporter);
}
const opts3 = await extendBuildOptions(maybeOpts);
const ctx = await getContext({ ...opts3, allProjects: projects });
if (ctx.currentLockfile?.packages == null)
return {};
const packages = ctx.currentLockfile.packages;
const searched = pkgSpecs.map((arg) => {
if (matchesDepPath(packages, arg)) {
return { pkgIdWithPatchHash: removePeersSuffix(arg) };
}
const { fetchSpec, name, raw, type: type4 } = (0, import_npm_package_arg3.default)(arg);
if (raw === name) {
return name;
}
if (type4 !== "version" && type4 !== "range") {
throw new Error(`Invalid argument - ${arg}. Rebuild can only select by version or range`);
}
return {
name,
range: fetchSpec
};
});
let pkgs = [];
for (const { rootDir } of projects) {
pkgs = [
...pkgs,
...findPackages2(packages, searched, { prefix: rootDir })
];
}
const { ignoredPkgs } = await _rebuild({
pkgsToRebuild: new Set(pkgs),
...ctx
}, opts3);
await writeModulesManifest(ctx.rootModulesDir, {
prunedAt: (/* @__PURE__ */ new Date()).toUTCString(),
...ctx.modulesFile,
hoistedDependencies: ctx.hoistedDependencies,
hoistPattern: ctx.hoistPattern,
included: ctx.include,
ignoredBuilds: mergeIgnoredBuilds(ctx.modulesFile?.ignoredBuilds, ignoredPkgs, pkgs),
layoutVersion: LAYOUT_VERSION,
packageManager: `${opts3.packageManager.name}@${opts3.packageManager.version}`,
pendingBuilds: ctx.pendingBuilds,
publicHoistPattern: ctx.publicHoistPattern,
registries: ctx.registries,
skipped: Array.from(ctx.skipped),
storeDir: ctx.modulesFile?.storeDir ?? ctx.storeDir,
virtualStoreDir: ctx.modulesFile?.virtualStoreDir ?? ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.modulesFile?.virtualStoreDirMaxLength ?? ctx.virtualStoreDirMaxLength,
allowBuilds: opts3.allowBuilds
});
return {
ignoredBuilds: ignoredPkgs
};
}
function matchesDepPath(packages, pkgSpec) {
const normalizedPkgSpec = removePeersSuffix(pkgSpec);
return Object.keys(packages).some((depPath) => removePeersSuffix(depPath) === normalizedPkgSpec);
}
async function buildProjects(projects, maybeOpts) {
const reporter = maybeOpts?.reporter;
if (reporter != null && typeof reporter === "function") {
streamParser2.on("data", reporter);
}
const opts3 = await extendBuildOptions(maybeOpts);
const ctx = await getContext({ ...opts3, allProjects: projects });
let idsToRebuild = [];
if (opts3.pending) {
idsToRebuild = ctx.pendingBuilds;
} else if (ctx.currentLockfile?.packages != null) {
idsToRebuild = Object.keys(ctx.currentLockfile.packages);
}
const { pkgsThatWereRebuilt, ignoredPkgs } = await _rebuild({
pkgsToRebuild: new Set(idsToRebuild),
...ctx
}, opts3);
ctx.pendingBuilds = ctx.pendingBuilds.filter((depPath) => !pkgsThatWereRebuilt.has(depPath));
const store = await createStoreController(opts3);
const scriptsOpts = {
extraBinPaths: ctx.extraBinPaths,
extraNodePaths: ctx.extraNodePaths,
extraEnv: opts3.extraEnv,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
storeController: store.ctrl,
unsafePerm: opts3.unsafePerm || false,
userAgent: opts3.userAgent
};
await runLifecycleHooksConcurrently(["preinstall", "install", "postinstall", "prepublish", "prepare"], Object.values(ctx.projects), opts3.childConcurrency || 5, scriptsOpts);
for (const { id, manifest } of Object.values(ctx.projects)) {
if (manifest?.scripts != null && (!opts3.pending || ctx.pendingBuilds.includes(id))) {
ctx.pendingBuilds.splice(ctx.pendingBuilds.indexOf(id), 1);
}
}
await writeModulesManifest(ctx.rootModulesDir, {
prunedAt: (/* @__PURE__ */ new Date()).toUTCString(),
...ctx.modulesFile,
hoistedDependencies: ctx.hoistedDependencies,
hoistPattern: ctx.hoistPattern,
included: ctx.include,
ignoredBuilds: ignoredPkgs,
layoutVersion: LAYOUT_VERSION,
packageManager: `${opts3.packageManager.name}@${opts3.packageManager.version}`,
pendingBuilds: ctx.pendingBuilds,
publicHoistPattern: ctx.publicHoistPattern,
registries: ctx.registries,
skipped: Array.from(ctx.skipped),
storeDir: ctx.storeDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength
});
}
function getSubgraphToBuild(step2, nodesToBuildAndTransitive, opts3) {
let currentShouldBeBuilt = false;
for (const { depPath, next: next2 } of step2.dependencies) {
if (nodesToBuildAndTransitive.has(depPath)) {
currentShouldBeBuilt = true;
}
const childShouldBeBuilt = getSubgraphToBuild(next2(), nodesToBuildAndTransitive, opts3) || opts3.pkgsToRebuild.has(depPath);
if (childShouldBeBuilt) {
nodesToBuildAndTransitive.add(depPath);
currentShouldBeBuilt = true;
}
}
for (const depPath of step2.missing) {
logger2.debug({ message: `No entry for "${depPath}" in ${WANTED_LOCKFILE}` });
}
return currentShouldBeBuilt;
}
async function _rebuild(ctx, opts3) {
const depGraph = lockfileToDepGraph(ctx.currentLockfile, opts3.supportedArchitectures);
const depsStateCache = {};
const nodeVersion = findRuntimeNodeVersion(Object.keys(depGraph));
const pkgsThatWereRebuilt = /* @__PURE__ */ new Set();
const graph = /* @__PURE__ */ new Map();
const pkgSnapshots = ctx.currentLockfile.packages ?? {};
const nodesToBuildAndTransitive = /* @__PURE__ */ new Set();
getSubgraphToBuild(lockfileWalker(ctx.currentLockfile, Object.values(ctx.projects).map(({ id }) => id), {
include: {
dependencies: opts3.production,
devDependencies: opts3.development,
optionalDependencies: opts3.optional
}
}).step, nodesToBuildAndTransitive, { pkgsToRebuild: ctx.pkgsToRebuild });
const nodesToBuildAndTransitiveArray = Array.from(nodesToBuildAndTransitive);
for (const depPath of nodesToBuildAndTransitiveArray) {
const pkgSnapshot = pkgSnapshots[depPath];
graph.set(depPath, Object.entries({ ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies }).map(([pkgName, reference]) => refToRelative(reference, pkgName)).filter((childRelDepPath) => childRelDepPath && nodesToBuildAndTransitive.has(childRelDepPath)));
}
const graphSequencerResult = graphSequencer(graph, nodesToBuildAndTransitiveArray);
const chunks = graphSequencerResult.chunks;
const warn = (message) => {
logger2.info({ message, prefix: opts3.dir });
};
const ignoredPkgs = /* @__PURE__ */ new Set();
const _allowBuild = createAllowBuildFunction(opts3) ?? (() => void 0);
const allowBuild = (depPath) => {
switch (_allowBuild(depPath)) {
case true:
return true;
case void 0: {
ignoredPkgs.add(depPath);
break;
}
}
return false;
};
const builtDepPaths = /* @__PURE__ */ new Set();
const storeIndex = opts3.skipIfHasSideEffectsCache ? opts3.frozenStore ? new ReadOnlyStoreIndex(opts3.storeDir) : new StoreIndex(opts3.storeDir) : void 0;
const gvsDirByDepPath = /* @__PURE__ */ new Map();
if (opts3.enableGlobalVirtualStore) {
const globalVirtualStoreDir = opts3.globalVirtualStoreDir ?? path93.join(opts3.storeDir, "links");
for (const { hash: hash2, pkgMeta } of iterateHashedGraphNodes(depGraph, iteratePkgMeta(ctx.currentLockfile, depGraph), _allowBuild, opts3.supportedArchitectures, nodeVersion)) {
const preferredGvsDir = path93.join(globalVirtualStoreDir, hash2);
gvsDirByDepPath.set(pkgMeta.depPath, fs57.existsSync(preferredGvsDir) ? preferredGvsDir : findLinkedGvsDir(pkgMeta.name, Object.values(ctx.projects), globalVirtualStoreDir) ?? preferredGvsDir);
}
}
const pkgModulesDir = (depPath) => gvsDirByDepPath.has(depPath) ? path93.join(gvsDirByDepPath.get(depPath), "node_modules") : path93.join(ctx.virtualStoreDir, depPathToFilename(depPath, opts3.virtualStoreDirMaxLength), "node_modules");
const groups = chunks.map((chunk) => chunk.filter((depPath) => ctx.pkgsToRebuild.has(depPath) && !ctx.skipped.has(depPath)).map((depPath) => async () => {
const pkgSnapshot = pkgSnapshots[depPath];
const pkgInfo = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const pkgRoots = opts3.nodeLinker === "hoisted" ? (ctx.modulesFile?.hoistedLocations?.[depPath] ?? []).map((hoistedLocation) => path93.join(opts3.lockfileDir, hoistedLocation)) : [path93.join(pkgModulesDir(depPath), pkgInfo.name)];
if (pkgRoots.length === 0) {
if (pkgSnapshot.optional)
return;
throw new PnpmError("MISSING_HOISTED_LOCATIONS", `${depPath} is not found in hoistedLocations inside node_modules/.modules.yaml`, {
hint: 'If you installed your node_modules with pnpm older than v7.19.0, you may need to remove it and run "pnpm install"'
});
}
const pkgRoot = pkgRoots[0];
const gvsDir = gvsDirByDepPath.get(depPath);
if (gvsDir != null) {
const inFlight = gvsBuildLocks.get(gvsDir);
if (inFlight != null) {
await inFlight.catch(() => {
});
pkgsThatWereRebuilt.add(depPath);
return;
}
}
let releaseGvsLock;
if (gvsDir != null) {
let resolveLock;
gvsBuildLocks.set(gvsDir, new Promise((resolve4) => {
resolveLock = resolve4;
}));
releaseGvsLock = () => {
gvsBuildLocks.delete(gvsDir);
resolveLock();
};
}
try {
const extraBinPaths = ctx.extraBinPaths;
if (opts3.nodeLinker !== "hoisted") {
const modules = pkgModulesDir(depPath);
const binPath = path93.join(pkgRoot, "node_modules", ".bin");
await linkBins(modules, binPath, { extraNodePaths: ctx.extraNodePaths, warn });
} else {
extraBinPaths.push(...binDirsInAllParentDirs(pkgRoot, opts3.lockfileDir));
}
const resolution = pkgSnapshot.resolution;
let sideEffectsCacheKey;
const pkgId = pkgInfo.nonSemverVersion ?? `${pkgInfo.name}@${pkgInfo.version}`;
if (opts3.skipIfHasSideEffectsCache && (resolution.gitHosted || resolution.integrity)) {
const filesIndexFile = pickStoreIndexKey(resolution, pkgId, { built: true });
const pkgFilesIndex = storeIndex.get(filesIndexFile);
if (pkgFilesIndex) {
sideEffectsCacheKey = calcDepState(depGraph, depsStateCache, depPath, {
includeDepGraphHash: true,
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion
});
if (pkgFilesIndex.sideEffects?.has(sideEffectsCacheKey)) {
pkgsThatWereRebuilt.add(depPath);
return;
}
}
}
let requiresBuild = true;
const pgkManifest = await safeReadPackageJsonFromDir(pkgRoot);
if (pgkManifest != null) {
requiresBuild = pkgRequiresBuild(pgkManifest, /* @__PURE__ */ new Map());
}
const hasSideEffects = requiresBuild && allowBuild(depPath) && await runPostinstallHooks({
depPath,
extraBinPaths,
extraEnv: opts3.extraEnv,
optional: pkgSnapshot.optional === true,
pkgRoot,
rootModulesDir: ctx.rootModulesDir,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
shellEmulator: opts3.shellEmulator,
unsafePerm: opts3.unsafePerm || false,
userAgent: opts3.userAgent
});
if (hasSideEffects && (opts3.sideEffectsCacheWrite ?? true) && (resolution.gitHosted || resolution.integrity)) {
builtDepPaths.add(depPath);
const filesIndexFile = pickStoreIndexKey(resolution, pkgId, { built: true });
try {
if (!sideEffectsCacheKey) {
sideEffectsCacheKey = calcDepState(depGraph, depsStateCache, depPath, {
includeDepGraphHash: true,
nodeVersion
});
}
await opts3.storeController.upload(pkgRoot, {
sideEffectsCacheKey,
filesIndexFile
});
} catch (err2) {
assert7(util30.types.isNativeError(err2));
logger2.warn({
error: err2,
message: `An error occurred while uploading ${pkgRoot}`,
prefix: opts3.lockfileDir
});
}
}
pkgsThatWereRebuilt.add(depPath);
} catch (err2) {
assert7(util30.types.isNativeError(err2));
if (pkgSnapshot.optional) {
skippedOptionalDependencyLogger.debug({
details: err2.toString(),
package: {
id: pkgSnapshot.id ?? depPath,
name: pkgInfo.name,
version: pkgInfo.version
},
prefix: opts3.dir,
reason: "build_failure"
});
return;
}
throw err2;
} finally {
releaseGvsLock?.();
}
if (pkgRoots.length > 1) {
await hardLinkDir(pkgRoot, pkgRoots.slice(1));
}
}));
await runGroups(opts3.childConcurrency || 5, groups);
storeIndex?.close();
if (builtDepPaths.size > 0) {
await Promise.all(Object.keys(pkgSnapshots).filter((depPath) => !packageIsIndependent(pkgSnapshots[depPath])).map(async (depPath) => limitLinking(async () => {
const pkgSnapshot = pkgSnapshots[depPath];
const pkgInfo = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const modules = pkgModulesDir(depPath);
const binPath = path93.join(modules, pkgInfo.name, "node_modules", ".bin");
return linkBins(modules, binPath, { warn });
})));
await Promise.all(Object.values(ctx.projects).map(async ({ rootDir }) => limitLinking(async () => {
const modules = path93.join(rootDir, "node_modules");
const binPath = path93.join(modules, ".bin");
return linkBins(modules, binPath, {
allowExoticManifests: true,
warn
});
})));
}
return { pkgsThatWereRebuilt, ignoredPkgs };
}
function findLinkedGvsDir(pkgName, projects, globalVirtualStoreDir) {
const normalizedGvsRoot = `${path93.resolve(globalVirtualStoreDir)}${path93.sep}`;
for (const { rootDir } of projects) {
const pkgLink = path93.join(rootDir, "node_modules", pkgName);
try {
const target2 = fs57.readlinkSync(pkgLink);
const pkgRoot = path93.resolve(path93.dirname(pkgLink), target2);
if (!pkgRoot.startsWith(normalizedGvsRoot))
continue;
return nthAncestorDir(pkgRoot, pkgName.split("/").length + 1);
} catch (err2) {
if (util30.types.isNativeError(err2) && "code" in err2 && (err2.code === "EINVAL" || err2.code === "ENOENT"))
continue;
throw err2;
}
}
return void 0;
}
function nthAncestorDir(dir, levels) {
let result2 = dir;
for (let i4 = 0; i4 < levels; i4++) {
result2 = path93.dirname(result2);
}
return result2;
}
function binDirsInAllParentDirs(pkgRoot, lockfileDir) {
const binDirs = [];
let dir = pkgRoot;
do {
if (!(path93.dirname(dir)[0] === "@")) {
binDirs.push(path93.join(dir, "node_modules/.bin"));
}
dir = path93.dirname(dir);
} while (path93.relative(dir, lockfileDir) !== "");
binDirs.push(path93.join(lockfileDir, "node_modules/.bin"));
return binDirs;
}
function mergeIgnoredBuilds(existing, newIgnored, rebuiltPkgs) {
if (!existing?.size && !newIgnored.size)
return void 0;
const rebuiltSet = new Set(rebuiltPkgs);
const merged = /* @__PURE__ */ new Set();
if (existing) {
for (const depPath of existing) {
if (!rebuiltSet.has(depPath)) {
merged.add(depPath);
}
}
}
for (const depPath of newIgnored) {
merged.add(depPath);
}
return merged.size ? merged : void 0;
}
var import_npm_package_arg3, import_semver23, gvsBuildLocks, limitLinking;
var init_lib93 = __esm({
"../building/after-install/lib/index.js"() {
"use strict";
init_lib16();
init_lib17();
init_lib69();
init_lib();
init_lib6();
init_lib74();
init_lib75();
init_lib68();
init_lib2();
init_lib21();
init_lib89();
init_lib77();
init_lib73();
init_lib90();
init_lib63();
import_npm_package_arg3 = __toESM(require_npa(), 1);
init_lib5();
init_lib92();
init_lib30();
init_lib4();
init_p_limit();
init_lib20();
import_semver23 = __toESM(require_semver2(), 1);
init_extendBuildOptions();
gvsBuildLocks = /* @__PURE__ */ new Map();
limitLinking = pLimit(16);
}
});
// ../cli/common-cli-options-help/lib/index.js
var OPTIONS, UNIVERSAL_OPTIONS, FILTERING, OUTPUT_OPTIONS;
var init_lib94 = __esm({
"../cli/common-cli-options-help/lib/index.js"() {
"use strict";
OPTIONS = {
globalDir: {
description: "Specify a custom directory to store global packages",
name: "--global-dir"
},
ignoreScripts: {
description: "Don't run lifecycle scripts",
name: "--ignore-scripts"
},
offline: {
description: "Trigger an error if any required dependencies are not available in local store",
name: "--offline"
},
preferOffline: {
description: "Skip staleness checks for cached data, but request missing data from the server",
name: "--prefer-offline"
},
storeDir: {
description: "The directory in which all packages are saved on disk. Use a shared store only with trusted users and jobs",
name: "--store-dir <dir>"
},
virtualStoreDir: {
description: "The directory with links to the store (default is node_modules/.pnpm). All direct and indirect dependencies of the project are linked into this directory",
name: "--virtual-store-dir <dir>"
}
};
UNIVERSAL_OPTIONS = [
{
description: "Controls colors in the output. By default, output is always colored when it goes directly to a terminal",
name: "--[no-]color"
},
{
description: "Output usage information",
name: "--help",
shortAlias: "-h"
},
{
description: "Automatically answer yes to prompts and run non-interactively. Will abort if an undesirable situation occurs and user input is strictly necessary.",
name: "--yes",
shortAlias: "-y"
},
{
description: `Change to directory <dir> (default: ${process.cwd()})`,
name: "--dir <dir>",
shortAlias: "-C"
},
{
description: "Run the command on the root workspace project",
name: "--workspace-root",
shortAlias: "-w"
},
{
description: 'What level of logs to report. Any logs at or higher than the given level will be shown. Levels (lowest to highest): debug, info, warn, error. Or use "--silent" to turn off all logging.',
name: "--loglevel <level>"
},
{
description: "Stream output from child processes immediately, prefixed with the originating package directory. This allows output from different packages to be interleaved.",
name: "--stream"
},
{
description: "Aggregate output from child processes that are run in parallel, and only print output when child process is finished. It makes reading large logs after running `pnpm recursive` with `--parallel` or with `--workspace-concurrency` much easier (especially on CI). Only `--reporter=append-only` is supported.",
name: "--aggregate-output"
},
{
description: "Divert all output to stderr",
name: "--use-stderr"
}
];
FILTERING = {
list: [
{
description: 'Restricts the scope to package names matching the given pattern. E.g.: foo, "@bar/*"',
name: "--filter <pattern>",
shortAlias: "-F"
},
{
description: "Includes all direct and indirect dependencies of the matched packages. E.g.: foo...",
name: "--filter <pattern>..."
},
{
description: "Includes only the direct and indirect dependencies of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: foo^... (foo^^... in Command Prompt)",
name: "--filter <pattern>^..."
},
{
description: 'Includes all direct and indirect dependents of the matched packages. E.g.: ...foo, "...@bar/*"',
name: "--filter ...<pattern>"
},
{
description: "Includes only the direct and indirect dependents of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: ...^foo (...^^foo in Command Prompt)",
name: "--filter ...^<pattern>"
},
{
description: "Includes all packages that are inside a given subdirectory. E.g.: ./components",
name: "--filter ./<dir>"
},
{
description: "Includes all packages that are under the current working directory",
name: "--filter ."
},
{
description: 'Includes all projects that are under the specified directory. It may be used with "..." to select dependents/dependencies as well. It also may be combined with "[<since>]". For instance, all changed projects inside a directory: "{packages}[origin/master]"',
name: "--filter {<dir>}"
},
{
description: 'Includes all packages changed since the specified commit/branch. E.g.: "[master]", "[HEAD~2]". It may be used together with "...". So, for instance, "...[HEAD~1]" selects all packages changed in the last commit and their dependents',
name: '--filter "[<since>]"'
},
{
description: 'If a selector starts with ! (or \\! in zsh), it means the packages matching the selector must be excluded. E.g., "pnpm --filter !foo" selects all packages except "foo"',
name: "--filter !<selector>"
},
{
description: 'Defines files related to tests. Useful with the changed since filter. When selecting only changed packages and their dependent packages, the dependent packages will be ignored in case a package has changes only in tests. Usage example: pnpm --filter="...[origin/master]" --test-pattern="test/*" test',
name: "--test-pattern <pattern>"
},
{
description: 'Defines files to ignore when filtering for changed projects since the specified commit/branch. Usage example: pnpm --filter="...[origin/master]" --changed-files-ignore-pattern="**/README.md" build',
name: "--changed-files-ignore-pattern <pattern>"
},
{
description: "Restricts the scope to package names matching the given pattern similar to --filter, but it ignores devDependencies when searching for dependencies and dependents.",
name: "--filter-prod <pattern>"
},
{
description: "If no projects are matched by the command, exit with exit code 1 (fail)",
name: "--fail-if-no-match"
}
],
title: "Filtering options (run the command only on packages that satisfy at least one of the selectors)"
};
OUTPUT_OPTIONS = {
title: "Output",
list: [
{
description: "No output is logged to the console, not even fatal errors",
name: "--silent, --reporter silent",
shortAlias: "-s"
},
{
description: "The default reporter when the stdout is TTY",
name: "--reporter default"
},
{
description: "The output is always appended to the end. No cursor manipulations are performed",
name: "--reporter append-only"
},
{
description: "The most verbose reporter. Prints all logs in ndjson format",
name: "--reporter ndjson"
}
]
};
}
});
// ../workspace/projects-sorter/lib/index.js
function sequenceGraph(projectsGraph) {
const projectDirs = Object.keys(projectsGraph);
const sorted = new Set(projectDirs);
const graph = new Map(projectDirs.map((projectDir) => [
projectDir,
projectsGraph[projectDir].dependencies.filter((dep) => dep !== projectDir && sorted.has(dep))
]));
return graphSequencer(graph, projectDirs);
}
function sortProjects(projectsGraph) {
return sequenceGraph(projectsGraph).chunks;
}
function sortFilteredProjects(opts3) {
const fullProjectsGraph = opts3.allProjectsGraph ?? opts3.selectedProjectsGraph;
const prodAllProjectsGraph = opts3.prodAllProjectsGraph;
if (!prodAllProjectsGraph) {
return sequenceGraphByProject(opts3.selectedProjectsGraph, () => fullProjectsGraph).chunks;
}
const prodOnlySelectedProjectDirs = new Set(opts3.prodOnlySelectedProjectDirs);
return sequenceGraphByProject(opts3.selectedProjectsGraph, (projectDir) => prodOnlySelectedProjectDirs.has(projectDir) ? prodAllProjectsGraph : fullProjectsGraph).chunks;
}
function sequenceGraphByProject(projectsGraph, fullProjectsGraphByProject) {
const sortedProjectDirs = Object.keys(projectsGraph);
const sorted = new Set(sortedProjectDirs);
const graph = new Map(sortedProjectDirs.map((projectDir) => [
projectDir,
sortedDependencies(projectsGraph, fullProjectsGraphByProject(projectDir), projectDir, sorted)
]));
return graphSequencer(graph, sortedProjectDirs);
}
function sortedDependencies(projectsGraph, fullProjectsGraph, projectDir, sorted) {
const dependencies = /* @__PURE__ */ new Set();
const visited = /* @__PURE__ */ new Set();
const stack = [...projectsGraph[projectDir]?.dependencies ?? []];
while (stack.length > 0) {
const dependencyDir = stack.pop();
if (dependencyDir === projectDir || visited.has(dependencyDir))
continue;
visited.add(dependencyDir);
if (sorted.has(dependencyDir)) {
dependencies.add(dependencyDir);
} else {
const transitiveDeps = fullProjectsGraph[dependencyDir]?.dependencies;
if (transitiveDeps)
stack.push(...transitiveDeps);
}
}
return Array.from(dependencies);
}
var init_lib95 = __esm({
"../workspace/projects-sorter/lib/index.js"() {
"use strict";
init_lib75();
}
});
// ../building/commands/lib/build/recursive.js
import assert8 from "node:assert";
import util31 from "node:util";
async function recursiveRebuild(allProjects, params, opts3) {
if (allProjects.length === 0) {
return;
}
const pkgs = Object.values(opts3.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
if (pkgs.length === 0) {
return;
}
const manifestsByPath = {};
for (const { rootDir, manifest, writeProjectManifest: writeProjectManifest2 } of pkgs) {
manifestsByPath[rootDir] = { manifest, writeProjectManifest: writeProjectManifest2 };
}
const throwOnFail = throwOnCommandFail.bind(null, "pnpm recursive rebuild");
const chunks = opts3.sort !== false ? sortFilteredProjects(opts3) : [Object.keys(opts3.selectedProjectsGraph).sort()];
const store = await createStoreController(opts3);
const rebuildOpts = Object.assign(opts3, {
ownLifecycleHooksStdio: "pipe",
pruneLockfileImporters: (opts3.ignoredPackages == null || opts3.ignoredPackages.size === 0) && pkgs.length === allProjects.length,
storeController: store.ctrl,
storeDir: store.dir
});
const result2 = {};
const projectConfigRecord = createProjectConfigRecord(opts3) ?? {};
async function getImporters2() {
const importers = [];
await Promise.all(chunks.map(async (prefixes, buildIndex) => {
if (opts3.ignoredPackages != null) {
prefixes = prefixes.filter((prefix) => !opts3.ignoredPackages.has(prefix));
}
return Promise.all(prefixes.map(async (prefix) => {
importers.push({
buildIndex,
manifest: manifestsByPath[prefix].manifest,
rootDir: prefix
});
}));
}));
return importers;
}
const rebuild = params.length === 0 ? buildProjects : (importers, opts4) => buildSelectedPkgs(importers, params, opts4);
if (opts3.lockfileDir) {
const importers = await getImporters2();
await rebuild(importers, {
...rebuildOpts,
pending: opts3.pending === true
});
return;
}
const limitRebuild = pLimit(getWorkspaceConcurrency(opts3.workspaceConcurrency));
for (const chunk of chunks) {
await Promise.all(chunk.map(async (rootDir) => limitRebuild(async () => {
try {
if (opts3.ignoredPackages?.has(rootDir)) {
return;
}
result2[rootDir] = { status: "running" };
const { manifest } = opts3.selectedProjectsGraph[rootDir].package;
const localConfig = manifest.name ? projectConfigRecord[manifest.name] : void 0;
await rebuild([
{
buildIndex: 0,
manifest: manifestsByPath[rootDir].manifest,
rootDir
}
], {
...rebuildOpts,
...localConfig,
dir: rootDir,
pending: opts3.pending === true
});
result2[rootDir].status = "passed";
} catch (err2) {
assert8(util31.types.isNativeError(err2));
const errWithPrefix = Object.assign(err2, {
prefix: rootDir
});
logger.info(errWithPrefix);
if (!opts3.bail) {
result2[rootDir] = {
status: "failure",
error: errWithPrefix,
message: err2.message,
prefix: rootDir
};
return;
}
throw err2;
}
})));
}
throwOnFail(result2);
}
var init_recursive = __esm({
"../building/commands/lib/build/recursive.js"() {
"use strict";
init_lib93();
init_lib41();
init_lib64();
init_lib3();
init_lib92();
init_lib95();
init_p_limit();
}
});
// ../building/commands/lib/build/rebuild.js
var rebuild_exports = {};
__export(rebuild_exports, {
cliOptionsTypes: () => cliOptionsTypes3,
commandNames: () => commandNames3,
handler: () => handler3,
help: () => help3,
overridableByScript: () => overridableByScript,
rcOptionsTypes: () => rcOptionsTypes3
});
function rcOptionsTypes3() {
return {
...pick_default([
"npm-path",
"reporter",
"scripts-prepend-node-path",
"unsafe-perm",
"store-dir"
], types2)
};
}
function cliOptionsTypes3() {
return {
...rcOptionsTypes3(),
pending: Boolean,
recursive: Boolean
};
}
function help3() {
return renderHelp({
aliases: ["rb"],
description: "Rebuild a package.",
descriptionLists: [
{
title: "Options",
list: [
{
description: 'Rebuild every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
{
description: "Rebuild packages that were not built during installation. Packages are not built when installing with the --ignore-scripts flag",
name: "--pending"
},
{
description: "The directory in which all the packages are saved on the disk",
name: "--store-dir <dir>"
},
...UNIVERSAL_OPTIONS
]
},
FILTERING
],
url: docsUrl("rebuild"),
usages: ["pnpm rebuild [<pkg> ...]"]
});
}
async function handler3(opts3, params) {
if (opts3.recursive && opts3.allProjects != null && opts3.selectedProjectsGraph != null && opts3.workspaceDir) {
await recursiveRebuild(opts3.allProjects, params, { ...opts3, selectedProjectsGraph: opts3.selectedProjectsGraph, workspaceDir: opts3.workspaceDir });
return;
}
const store = await createStoreController(opts3);
const rebuildOpts = Object.assign(opts3, {
sideEffectsCacheRead: opts3.sideEffectsCache ?? opts3.sideEffectsCacheReadonly,
sideEffectsCacheWrite: opts3.sideEffectsCache,
storeController: store.ctrl,
storeDir: store.dir
});
if (params.length === 0) {
await buildProjects([
{
buildIndex: 0,
manifest: await readProjectManifestOnly2(rebuildOpts.dir, opts3),
rootDir: rebuildOpts.dir
}
], rebuildOpts);
return;
}
await buildSelectedPkgs([
{
buildIndex: 0,
manifest: await readProjectManifestOnly2(rebuildOpts.dir, opts3),
rootDir: rebuildOpts.dir
}
], params, rebuildOpts);
}
var commandNames3, overridableByScript;
var init_rebuild = __esm({
"../building/commands/lib/build/rebuild.js"() {
"use strict";
init_lib93();
init_lib94();
init_lib41();
init_lib64();
init_lib92();
init_es();
init_lib66();
init_recursive();
commandNames3 = ["rebuild", "rb"];
overridableByScript = true;
}
});
// ../building/commands/lib/build/index.js
var init_build = __esm({
"../building/commands/lib/build/index.js"() {
"use strict";
init_rebuild();
init_rebuild();
}
});
// ../catalogs/resolver/lib/matchCatalogResolveResult.js
function matchCatalogResolveResult(result2, matcher) {
switch (result2.type) {
case "found":
return matcher.found(result2);
case "misconfiguration":
return matcher.misconfiguration(result2);
case "unused":
return matcher.unused(result2);
}
}
var init_matchCatalogResolveResult = __esm({
"../catalogs/resolver/lib/matchCatalogResolveResult.js"() {
"use strict";
}
});
// ../catalogs/protocol-parser/lib/parseCatalogProtocol.js
function parseCatalogProtocol(bareSpecifier) {
if (!bareSpecifier.startsWith(CATALOG_PROTOCOL)) {
return null;
}
const catalogNameRaw = bareSpecifier.slice(CATALOG_PROTOCOL.length).trim();
const catalogNameNormalized = catalogNameRaw === "" ? "default" : catalogNameRaw;
return catalogNameNormalized;
}
var CATALOG_PROTOCOL;
var init_parseCatalogProtocol = __esm({
"../catalogs/protocol-parser/lib/parseCatalogProtocol.js"() {
"use strict";
CATALOG_PROTOCOL = "catalog:";
}
});
// ../catalogs/protocol-parser/lib/index.js
var init_lib96 = __esm({
"../catalogs/protocol-parser/lib/index.js"() {
"use strict";
init_parseCatalogProtocol();
}
});
// ../catalogs/resolver/lib/resolveFromCatalog.js
function resolveFromCatalog(catalogs, wantedDependency) {
const catalogName = parseCatalogProtocol(wantedDependency.bareSpecifier);
if (catalogName == null) {
return { type: "unused" };
}
const catalogLookup = catalogs[catalogName]?.[wantedDependency.alias];
if (catalogLookup == null) {
return {
type: "misconfiguration",
catalogName,
error: new PnpmError("CATALOG_ENTRY_NOT_FOUND_FOR_SPEC", `No catalog entry '${wantedDependency.alias}' was found for catalog '${catalogName}'.`)
};
}
if (parseCatalogProtocol(catalogLookup) != null) {
return {
type: "misconfiguration",
catalogName,
error: new PnpmError("CATALOG_ENTRY_INVALID_RECURSIVE_DEFINITION", `Found invalid catalog entry using the catalog protocol recursively. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`)
};
}
const protocolOfLookup = catalogLookup.split(":")[0];
if (protocolOfLookup === "workspace") {
return {
type: "misconfiguration",
catalogName,
error: new PnpmError("CATALOG_ENTRY_INVALID_WORKSPACE_SPEC", `The workspace protocol cannot be used as a catalog value. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`)
};
}
if (["link", "file"].includes(protocolOfLookup)) {
return {
type: "misconfiguration",
catalogName,
error: new PnpmError("CATALOG_ENTRY_INVALID_SPEC", `The entry for '${wantedDependency.alias}' in catalog '${catalogName}' declares a dependency using the '${protocolOfLookup}' protocol. This is not yet supported, but may be in a future version of pnpm.`)
};
}
return {
type: "found",
resolution: {
catalogName,
specifier: catalogLookup
}
};
}
var init_resolveFromCatalog = __esm({
"../catalogs/resolver/lib/resolveFromCatalog.js"() {
"use strict";
init_lib96();
init_lib2();
}
});
// ../catalogs/resolver/lib/index.js
var init_lib97 = __esm({
"../catalogs/resolver/lib/index.js"() {
"use strict";
init_matchCatalogResolveResult();
init_resolveFromCatalog();
}
});
// ../resolving/parse-wanted-dependency/lib/index.js
function parseWantedDependency(rawWantedDependency) {
const versionDelimiter = rawWantedDependency.indexOf("@", 1);
if (versionDelimiter !== -1) {
const alias = rawWantedDependency.slice(0, versionDelimiter);
if ((0, import_validate_npm_package_name3.default)(alias).validForOldPackages) {
return {
alias,
bareSpecifier: rawWantedDependency.slice(versionDelimiter + 1)
};
}
return {
bareSpecifier: rawWantedDependency
};
}
if ((0, import_validate_npm_package_name3.default)(rawWantedDependency).validForOldPackages) {
return {
alias: rawWantedDependency
};
}
return {
bareSpecifier: rawWantedDependency
};
}
var import_validate_npm_package_name3;
var init_lib98 = __esm({
"../resolving/parse-wanted-dependency/lib/index.js"() {
"use strict";
import_validate_npm_package_name3 = __toESM(require_lib19(), 1);
}
});
// ../config/parse-overrides/lib/index.js
function parseOverrides(overrides, catalogs) {
const _resolveFromCatalog = resolveFromCatalog.bind(null, catalogs ?? {});
return Object.entries(overrides).map(([selector, newBareSpecifier]) => {
const result2 = parsePkgAndParentSelector(selector);
const resolvedCatalog = matchCatalogResolveResult(_resolveFromCatalog({
bareSpecifier: newBareSpecifier,
alias: result2.targetPkg.name
}), {
found: ({ resolution }) => resolution.specifier,
unused: () => void 0,
misconfiguration: ({ error }) => {
throw new PnpmError("CATALOG_IN_OVERRIDES", `Could not resolve a catalog in the overrides: ${error.message}`);
}
});
const override = {
selector,
newBareSpecifier: resolvedCatalog ?? newBareSpecifier,
...result2
};
return markConvergeOverride(override);
});
}
function markConvergeOverride(override) {
const emptyRangeInParentChildSelector = override.parentPkg != null && (override.parentPkg.bareSpecifier === "" || override.targetPkg.bareSpecifier === "");
if (emptyRangeInParentChildSelector) {
throw new PnpmError("INVALID_CONVERGENCE_OVERRIDE", `Cannot use an empty range in the "${override.selector}" selector: convergence overrides ("pkg@") cannot be combined with parent>child selectors`);
}
if (override.targetPkg.bareSpecifier !== "")
return override;
if (import_semver24.default.valid(override.newBareSpecifier) == null) {
throw new PnpmError("INVALID_CONVERGENCE_OVERRIDE", `The value of the convergence override "${override.selector}" must be an exact version, but got "${override.newBareSpecifier}"`);
}
override.converge = true;
return override;
}
function parsePkgAndParentSelector(selector) {
let delimiterIndex = selector.search(DELIMITER_REGEX);
if (delimiterIndex !== -1) {
delimiterIndex++;
const parentSelector = selector.substring(0, delimiterIndex);
const childSelector = selector.substring(delimiterIndex + 1);
return {
parentPkg: parsePkgSelector(parentSelector),
targetPkg: parsePkgSelector(childSelector)
};
}
return {
targetPkg: parsePkgSelector(selector)
};
}
function parsePkgSelector(selector) {
const wantedDep = parseWantedDependency(selector);
if (!wantedDep.alias) {
throw new PnpmError("INVALID_SELECTOR", `Cannot parse the "${selector}" selector`);
}
return {
name: wantedDep.alias,
bareSpecifier: wantedDep.bareSpecifier
};
}
var import_semver24, DELIMITER_REGEX;
var init_lib99 = __esm({
"../config/parse-overrides/lib/index.js"() {
"use strict";
init_lib97();
init_lib2();
init_lib98();
import_semver24 = __toESM(require_semver2(), 1);
DELIMITER_REGEX = /[^ |@]>/;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/identity.js
var require_identity = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/identity.js"(exports2) {
"use strict";
var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias");
var DOC = /* @__PURE__ */ Symbol.for("yaml.document");
var MAP = /* @__PURE__ */ Symbol.for("yaml.map");
var PAIR = /* @__PURE__ */ Symbol.for("yaml.pair");
var SCALAR = /* @__PURE__ */ Symbol.for("yaml.scalar");
var SEQ = /* @__PURE__ */ Symbol.for("yaml.seq");
var NODE_TYPE = /* @__PURE__ */ Symbol.for("yaml.node.type");
var isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS;
var isDocument = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC;
var isMap = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP;
var isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR;
var isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR;
var isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ;
function isCollection(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case MAP:
case SEQ:
return true;
}
return false;
}
function isNode2(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case ALIAS:
case MAP:
case SCALAR:
case SEQ:
return true;
}
return false;
}
var hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
exports2.ALIAS = ALIAS;
exports2.DOC = DOC;
exports2.MAP = MAP;
exports2.NODE_TYPE = NODE_TYPE;
exports2.PAIR = PAIR;
exports2.SCALAR = SCALAR;
exports2.SEQ = SEQ;
exports2.hasAnchor = hasAnchor;
exports2.isAlias = isAlias;
exports2.isCollection = isCollection;
exports2.isDocument = isDocument;
exports2.isMap = isMap;
exports2.isNode = isNode2;
exports2.isPair = isPair;
exports2.isScalar = isScalar;
exports2.isSeq = isSeq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/visit.js
var require_visit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/visit.js"(exports2) {
"use strict";
var identity5 = require_identity();
var BREAK = /* @__PURE__ */ Symbol("break visit");
var SKIP = /* @__PURE__ */ Symbol("skip children");
var REMOVE = /* @__PURE__ */ Symbol("remove node");
function visit(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity5.isDocument(node)) {
const cd = visit_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
visit_(null, node, visitor_, Object.freeze([]));
}
visit.BREAK = BREAK;
visit.SKIP = SKIP;
visit.REMOVE = REMOVE;
function visit_(key, node, visitor, path236) {
const ctrl = callVisitor(key, node, visitor, path236);
if (identity5.isNode(ctrl) || identity5.isPair(ctrl)) {
replaceNode(key, path236, ctrl);
return visit_(key, ctrl, visitor, path236);
}
if (typeof ctrl !== "symbol") {
if (identity5.isCollection(node)) {
path236 = Object.freeze(path236.concat(node));
for (let i4 = 0; i4 < node.items.length; ++i4) {
const ci = visit_(i4, node.items[i4], visitor, path236);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i4, 1);
i4 -= 1;
}
}
} else if (identity5.isPair(node)) {
path236 = Object.freeze(path236.concat(node));
const ck = visit_("key", node.key, visitor, path236);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = visit_("value", node.value, visitor, path236);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
async function visitAsync(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity5.isDocument(node)) {
const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
await visitAsync_(null, node, visitor_, Object.freeze([]));
}
visitAsync.BREAK = BREAK;
visitAsync.SKIP = SKIP;
visitAsync.REMOVE = REMOVE;
async function visitAsync_(key, node, visitor, path236) {
const ctrl = await callVisitor(key, node, visitor, path236);
if (identity5.isNode(ctrl) || identity5.isPair(ctrl)) {
replaceNode(key, path236, ctrl);
return visitAsync_(key, ctrl, visitor, path236);
}
if (typeof ctrl !== "symbol") {
if (identity5.isCollection(node)) {
path236 = Object.freeze(path236.concat(node));
for (let i4 = 0; i4 < node.items.length; ++i4) {
const ci = await visitAsync_(i4, node.items[i4], visitor, path236);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i4, 1);
i4 -= 1;
}
}
} else if (identity5.isPair(node)) {
path236 = Object.freeze(path236.concat(node));
const ck = await visitAsync_("key", node.key, visitor, path236);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = await visitAsync_("value", node.value, visitor, path236);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
function initVisitor(visitor) {
if (typeof visitor === "object" && (visitor.Collection || visitor.Node || visitor.Value)) {
return Object.assign({
Alias: visitor.Node,
Map: visitor.Node,
Scalar: visitor.Node,
Seq: visitor.Node
}, visitor.Value && {
Map: visitor.Value,
Scalar: visitor.Value,
Seq: visitor.Value
}, visitor.Collection && {
Map: visitor.Collection,
Seq: visitor.Collection
}, visitor);
}
return visitor;
}
function callVisitor(key, node, visitor, path236) {
if (typeof visitor === "function")
return visitor(key, node, path236);
if (identity5.isMap(node))
return visitor.Map?.(key, node, path236);
if (identity5.isSeq(node))
return visitor.Seq?.(key, node, path236);
if (identity5.isPair(node))
return visitor.Pair?.(key, node, path236);
if (identity5.isScalar(node))
return visitor.Scalar?.(key, node, path236);
if (identity5.isAlias(node))
return visitor.Alias?.(key, node, path236);
return void 0;
}
function replaceNode(key, path236, node) {
const parent = path236[path236.length - 1];
if (identity5.isCollection(parent)) {
parent.items[key] = node;
} else if (identity5.isPair(parent)) {
if (key === "key")
parent.key = node;
else
parent.value = node;
} else if (identity5.isDocument(parent)) {
parent.contents = node;
} else {
const pt = identity5.isAlias(parent) ? "alias" : "scalar";
throw new Error(`Cannot replace node with ${pt} parent`);
}
}
exports2.visit = visit;
exports2.visitAsync = visitAsync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/directives.js
var require_directives = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/directives.js"(exports2) {
"use strict";
var identity5 = require_identity();
var visit = require_visit();
var escapeChars = {
"!": "%21",
",": "%2C",
"[": "%5B",
"]": "%5D",
"{": "%7B",
"}": "%7D"
};
var escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, (ch) => escapeChars[ch]);
var Directives = class _Directives {
constructor(yaml5, tags) {
this.docStart = null;
this.docEnd = false;
this.yaml = Object.assign({}, _Directives.defaultYaml, yaml5);
this.tags = Object.assign({}, _Directives.defaultTags, tags);
}
clone() {
const copy2 = new _Directives(this.yaml, this.tags);
copy2.docStart = this.docStart;
return copy2;
}
/**
* During parsing, get a Directives instance for the current document and
* update the stream state according to the current version's spec.
*/
atDocument() {
const res = new _Directives(this.yaml, this.tags);
switch (this.yaml.version) {
case "1.1":
this.atNextDocument = true;
break;
case "1.2":
this.atNextDocument = false;
this.yaml = {
explicit: _Directives.defaultYaml.explicit,
version: "1.2"
};
this.tags = Object.assign({}, _Directives.defaultTags);
break;
}
return res;
}
/**
* @param onError - May be called even if the action was successful
* @returns `true` on success
*/
add(line, onError) {
if (this.atNextDocument) {
this.yaml = { explicit: _Directives.defaultYaml.explicit, version: "1.1" };
this.tags = Object.assign({}, _Directives.defaultTags);
this.atNextDocument = false;
}
const parts = line.trim().split(/[ \t]+/);
const name = parts.shift();
switch (name) {
case "%TAG": {
if (parts.length !== 2) {
onError(0, "%TAG directive should contain exactly two parts");
if (parts.length < 2)
return false;
}
const [handle, prefix] = parts;
this.tags[handle] = prefix;
return true;
}
case "%YAML": {
this.yaml.explicit = true;
if (parts.length !== 1) {
onError(0, "%YAML directive should contain exactly one part");
return false;
}
const [version2] = parts;
if (version2 === "1.1" || version2 === "1.2") {
this.yaml.version = version2;
return true;
} else {
const isValid = /^\d+\.\d+$/.test(version2);
onError(6, `Unsupported YAML version ${version2}`, isValid);
return false;
}
}
default:
onError(0, `Unknown directive ${name}`, true);
return false;
}
}
/**
* Resolves a tag, matching handles to those defined in %TAG directives.
*
* @returns Resolved tag, which may also be the non-specific tag `'!'` or a
* `'!local'` tag, or `null` if unresolvable.
*/
tagName(source, onError) {
if (source === "!")
return "!";
if (source[0] !== "!") {
onError(`Not a valid tag: ${source}`);
return null;
}
if (source[1] === "<") {
const verbatim = source.slice(2, -1);
if (verbatim === "!" || verbatim === "!!") {
onError(`Verbatim tags aren't resolved, so ${source} is invalid.`);
return null;
}
if (source[source.length - 1] !== ">")
onError("Verbatim tags must end with a >");
return verbatim;
}
const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/s);
if (!suffix)
onError(`The ${source} tag has no suffix`);
const prefix = this.tags[handle];
if (prefix) {
try {
return prefix + decodeURIComponent(suffix);
} catch (error) {
onError(String(error));
return null;
}
}
if (handle === "!")
return source;
onError(`Could not resolve tag: ${source}`);
return null;
}
/**
* Given a fully resolved tag, returns its printable string form,
* taking into account current tag prefixes and defaults.
*/
tagString(tag) {
for (const [handle, prefix] of Object.entries(this.tags)) {
if (tag.startsWith(prefix))
return handle + escapeTagName(tag.substring(prefix.length));
}
return tag[0] === "!" ? tag : `!<${tag}>`;
}
toString(doc) {
const lines = this.yaml.explicit ? [`%YAML ${this.yaml.version || "1.2"}`] : [];
const tagEntries = Object.entries(this.tags);
let tagNames;
if (doc && tagEntries.length > 0 && identity5.isNode(doc.contents)) {
const tags = {};
visit.visit(doc.contents, (_key, node) => {
if (identity5.isNode(node) && node.tag)
tags[node.tag] = true;
});
tagNames = Object.keys(tags);
} else
tagNames = [];
for (const [handle, prefix] of tagEntries) {
if (handle === "!!" && prefix === "tag:yaml.org,2002:")
continue;
if (!doc || tagNames.some((tn) => tn.startsWith(prefix)))
lines.push(`%TAG ${handle} ${prefix}`);
}
return lines.join("\n");
}
};
Directives.defaultYaml = { explicit: false, version: "1.2" };
Directives.defaultTags = { "!!": "tag:yaml.org,2002:" };
exports2.Directives = Directives;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/anchors.js
var require_anchors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/anchors.js"(exports2) {
"use strict";
var identity5 = require_identity();
var visit = require_visit();
function anchorIsValid(anchor) {
if (/[\x00-\x19\s,[\]{}]/.test(anchor)) {
const sa = JSON.stringify(anchor);
const msg = `Anchor must not contain whitespace or control characters: ${sa}`;
throw new Error(msg);
}
return true;
}
function anchorNames(root) {
const anchors = /* @__PURE__ */ new Set();
visit.visit(root, {
Value(_key, node) {
if (node.anchor)
anchors.add(node.anchor);
}
});
return anchors;
}
function findNewAnchor(prefix, exclude) {
for (let i4 = 1; true; ++i4) {
const name = `${prefix}${i4}`;
if (!exclude.has(name))
return name;
}
}
function createNodeAnchors(doc, prefix) {
const aliasObjects = [];
const sourceObjects = /* @__PURE__ */ new Map();
let prevAnchors = null;
return {
onAnchor: (source) => {
aliasObjects.push(source);
prevAnchors ?? (prevAnchors = anchorNames(doc));
const anchor = findNewAnchor(prefix, prevAnchors);
prevAnchors.add(anchor);
return anchor;
},
/**
* With circular references, the source node is only resolved after all
* of its child nodes are. This is why anchors are set only after all of
* the nodes have been created.
*/
setAnchors: () => {
for (const source of aliasObjects) {
const ref = sourceObjects.get(source);
if (typeof ref === "object" && ref.anchor && (identity5.isScalar(ref.node) || identity5.isCollection(ref.node))) {
ref.node.anchor = ref.anchor;
} else {
const error = new Error("Failed to resolve repeated object (this should not happen)");
error.source = source;
throw error;
}
}
},
sourceObjects
};
}
exports2.anchorIsValid = anchorIsValid;
exports2.anchorNames = anchorNames;
exports2.createNodeAnchors = createNodeAnchors;
exports2.findNewAnchor = findNewAnchor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/applyReviver.js
var require_applyReviver = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/applyReviver.js"(exports2) {
"use strict";
function applyReviver(reviver, obj, key, val) {
if (val && typeof val === "object") {
if (Array.isArray(val)) {
for (let i4 = 0, len = val.length; i4 < len; ++i4) {
const v0 = val[i4];
const v1 = applyReviver(reviver, val, String(i4), v0);
if (v1 === void 0)
delete val[i4];
else if (v1 !== v0)
val[i4] = v1;
}
} else if (val instanceof Map) {
for (const k2 of Array.from(val.keys())) {
const v0 = val.get(k2);
const v1 = applyReviver(reviver, val, k2, v0);
if (v1 === void 0)
val.delete(k2);
else if (v1 !== v0)
val.set(k2, v1);
}
} else if (val instanceof Set) {
for (const v0 of Array.from(val)) {
const v1 = applyReviver(reviver, val, v0, v0);
if (v1 === void 0)
val.delete(v0);
else if (v1 !== v0) {
val.delete(v0);
val.add(v1);
}
}
} else {
for (const [k2, v0] of Object.entries(val)) {
const v1 = applyReviver(reviver, val, k2, v0);
if (v1 === void 0)
delete val[k2];
else if (v1 !== v0)
val[k2] = v1;
}
}
}
return reviver.call(obj, key, val);
}
exports2.applyReviver = applyReviver;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/toJS.js
var require_toJS = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/toJS.js"(exports2) {
"use strict";
var identity5 = require_identity();
function toJS(value, arg, ctx) {
if (Array.isArray(value))
return value.map((v, i4) => toJS(v, String(i4), ctx));
if (value && typeof value.toJSON === "function") {
if (!ctx || !identity5.hasAnchor(value))
return value.toJSON(arg, ctx);
const data = { aliasCount: 0, count: 1, res: void 0 };
ctx.anchors.set(value, data);
ctx.onCreate = (res2) => {
data.res = res2;
delete ctx.onCreate;
};
const res = value.toJSON(arg, ctx);
if (ctx.onCreate)
ctx.onCreate(res);
return res;
}
if (typeof value === "bigint" && !ctx?.keep)
return Number(value);
return value;
}
exports2.toJS = toJS;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Node.js
var require_Node = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Node.js"(exports2) {
"use strict";
var applyReviver = require_applyReviver();
var identity5 = require_identity();
var toJS = require_toJS();
var NodeBase = class {
constructor(type4) {
Object.defineProperty(this, identity5.NODE_TYPE, { value: type4 });
}
/** Create a copy of this node. */
clone() {
const copy2 = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (this.range)
copy2.range = this.range.slice();
return copy2;
}
/** A plain JavaScript representation of this node. */
toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
if (!identity5.isDocument(doc))
throw new TypeError("A document argument is required");
const ctx = {
anchors: /* @__PURE__ */ new Map(),
doc,
keep: true,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this, "", ctx);
if (typeof onAnchor === "function")
for (const { count: count2, res: res2 } of ctx.anchors.values())
onAnchor(res2, count2);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
};
exports2.NodeBase = NodeBase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Alias.js
var require_Alias = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Alias.js"(exports2) {
"use strict";
var anchors = require_anchors();
var visit = require_visit();
var identity5 = require_identity();
var Node2 = require_Node();
var toJS = require_toJS();
var Alias = class extends Node2.NodeBase {
constructor(source) {
super(identity5.ALIAS);
this.source = source;
Object.defineProperty(this, "tag", {
set() {
throw new Error("Alias nodes cannot have tags");
}
});
}
/**
* Resolve the value of this alias within `doc`, finding the last
* instance of the `source` anchor before this node.
*/
resolve(doc, ctx) {
if (ctx?.maxAliasCount === 0)
throw new ReferenceError("Alias resolution is disabled");
let nodes;
if (ctx?.aliasResolveCache) {
nodes = ctx.aliasResolveCache;
} else {
nodes = [];
visit.visit(doc, {
Node: (_key, node) => {
if (identity5.isAlias(node) || identity5.hasAnchor(node))
nodes.push(node);
}
});
if (ctx)
ctx.aliasResolveCache = nodes;
}
let found = void 0;
for (const node of nodes) {
if (node === this)
break;
if (node.anchor === this.source)
found = node;
}
return found;
}
toJSON(_arg, ctx) {
if (!ctx)
return { source: this.source };
const { anchors: anchors2, doc, maxAliasCount } = ctx;
const source = this.resolve(doc, ctx);
if (!source) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new ReferenceError(msg);
}
let data = anchors2.get(source);
if (!data) {
toJS.toJS(source, null, ctx);
data = anchors2.get(source);
}
if (data?.res === void 0) {
const msg = "This should not happen: Alias anchor was not resolved?";
throw new ReferenceError(msg);
}
if (maxAliasCount >= 0) {
data.count += 1;
if (data.aliasCount === 0)
data.aliasCount = getAliasCount(doc, source, anchors2);
if (data.count * data.aliasCount > maxAliasCount) {
const msg = "Excessive alias count indicates a resource exhaustion attack";
throw new ReferenceError(msg);
}
}
return data.res;
}
toString(ctx, _onComment, _onChompKeep) {
const src2 = `*${this.source}`;
if (ctx) {
anchors.anchorIsValid(this.source);
if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new Error(msg);
}
if (ctx.implicitKey)
return `${src2} `;
}
return src2;
}
};
function getAliasCount(doc, node, anchors2) {
if (identity5.isAlias(node)) {
const source = node.resolve(doc);
const anchor = anchors2 && source && anchors2.get(source);
return anchor ? anchor.count * anchor.aliasCount : 0;
} else if (identity5.isCollection(node)) {
let count2 = 0;
for (const item of node.items) {
const c3 = getAliasCount(doc, item, anchors2);
if (c3 > count2)
count2 = c3;
}
return count2;
} else if (identity5.isPair(node)) {
const kc = getAliasCount(doc, node.key, anchors2);
const vc = getAliasCount(doc, node.value, anchors2);
return Math.max(kc, vc);
}
return 1;
}
exports2.Alias = Alias;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Scalar.js
var require_Scalar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Scalar.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Node2 = require_Node();
var toJS = require_toJS();
var isScalarValue = (value) => !value || typeof value !== "function" && typeof value !== "object";
var Scalar = class extends Node2.NodeBase {
constructor(value) {
super(identity5.SCALAR);
this.value = value;
}
toJSON(arg, ctx) {
return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
}
toString() {
return String(this.value);
}
};
Scalar.BLOCK_FOLDED = "BLOCK_FOLDED";
Scalar.BLOCK_LITERAL = "BLOCK_LITERAL";
Scalar.PLAIN = "PLAIN";
Scalar.QUOTE_DOUBLE = "QUOTE_DOUBLE";
Scalar.QUOTE_SINGLE = "QUOTE_SINGLE";
exports2.Scalar = Scalar;
exports2.isScalarValue = isScalarValue;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/createNode.js
var require_createNode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/createNode.js"(exports2) {
"use strict";
var Alias = require_Alias();
var identity5 = require_identity();
var Scalar = require_Scalar();
var defaultTagPrefix = "tag:yaml.org,2002:";
function findTagObject(value, tagName, tags) {
if (tagName) {
const match = tags.filter((t2) => t2.tag === tagName);
const tagObj = match.find((t2) => !t2.format) ?? match[0];
if (!tagObj)
throw new Error(`Tag ${tagName} not found`);
return tagObj;
}
return tags.find((t2) => t2.identify?.(value) && !t2.format);
}
function createNode(value, tagName, ctx) {
if (identity5.isDocument(value))
value = value.contents;
if (identity5.isNode(value))
return value;
if (identity5.isPair(value)) {
const map26 = ctx.schema[identity5.MAP].createNode?.(ctx.schema, null, ctx);
map26.items.push(value);
return map26;
}
if (value instanceof String || value instanceof Number || value instanceof Boolean || typeof BigInt !== "undefined" && value instanceof BigInt) {
value = value.valueOf();
}
const { aliasDuplicateObjects, onAnchor, onTagObj, schema: schema2, sourceObjects } = ctx;
let ref = void 0;
if (aliasDuplicateObjects && value && typeof value === "object") {
ref = sourceObjects.get(value);
if (ref) {
ref.anchor ?? (ref.anchor = onAnchor(value));
return new Alias.Alias(ref.anchor);
} else {
ref = { anchor: null, node: null };
sourceObjects.set(value, ref);
}
}
if (tagName?.startsWith("!!"))
tagName = defaultTagPrefix + tagName.slice(2);
let tagObj = findTagObject(value, tagName, schema2.tags);
if (!tagObj) {
if (value && typeof value.toJSON === "function") {
value = value.toJSON();
}
if (!value || typeof value !== "object") {
const node2 = new Scalar.Scalar(value);
if (ref)
ref.node = node2;
return node2;
}
tagObj = value instanceof Map ? schema2[identity5.MAP] : Symbol.iterator in Object(value) ? schema2[identity5.SEQ] : schema2[identity5.MAP];
}
if (onTagObj) {
onTagObj(tagObj);
delete ctx.onTagObj;
}
const node = tagObj?.createNode ? tagObj.createNode(ctx.schema, value, ctx) : typeof tagObj?.nodeClass?.from === "function" ? tagObj.nodeClass.from(ctx.schema, value, ctx) : new Scalar.Scalar(value);
if (tagName)
node.tag = tagName;
else if (!tagObj.default)
node.tag = tagObj.tag;
if (ref)
ref.node = node;
return node;
}
exports2.createNode = createNode;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Collection.js
var require_Collection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Collection.js"(exports2) {
"use strict";
var createNode = require_createNode();
var identity5 = require_identity();
var Node2 = require_Node();
function collectionFromPath(schema2, path236, value) {
let v = value;
for (let i4 = path236.length - 1; i4 >= 0; --i4) {
const k2 = path236[i4];
if (typeof k2 === "number" && Number.isInteger(k2) && k2 >= 0) {
const a2 = [];
a2[k2] = v;
v = a2;
} else {
v = /* @__PURE__ */ new Map([[k2, v]]);
}
}
return createNode.createNode(v, void 0, {
aliasDuplicateObjects: false,
keepUndefined: false,
onAnchor: () => {
throw new Error("This should not happen, please report a bug.");
},
schema: schema2,
sourceObjects: /* @__PURE__ */ new Map()
});
}
var isEmptyPath = (path236) => path236 == null || typeof path236 === "object" && !!path236[Symbol.iterator]().next().done;
var Collection = class extends Node2.NodeBase {
constructor(type4, schema2) {
super(type4);
Object.defineProperty(this, "schema", {
value: schema2,
configurable: true,
enumerable: false,
writable: true
});
}
/**
* Create a copy of this collection.
*
* @param schema - If defined, overwrites the original's schema
*/
clone(schema2) {
const copy2 = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (schema2)
copy2.schema = schema2;
copy2.items = copy2.items.map((it) => identity5.isNode(it) || identity5.isPair(it) ? it.clone(schema2) : it);
if (this.range)
copy2.range = this.range.slice();
return copy2;
}
/**
* Adds a value to the collection. For `!!map` and `!!omap` the value must
* be a Pair instance or a `{ key, value }` object, which may not have a key
* that already exists in the map.
*/
addIn(path236, value) {
if (isEmptyPath(path236))
this.add(value);
else {
const [key, ...rest] = path236;
const node = this.get(key, true);
if (identity5.isCollection(node))
node.addIn(rest, value);
else if (node === void 0 && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
/**
* Removes a value from the collection.
* @returns `true` if the item was found and removed.
*/
deleteIn(path236) {
const [key, ...rest] = path236;
if (rest.length === 0)
return this.delete(key);
const node = this.get(key, true);
if (identity5.isCollection(node))
return node.deleteIn(rest);
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
/**
* Returns item at `key`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
getIn(path236, keepScalar) {
const [key, ...rest] = path236;
const node = this.get(key, true);
if (rest.length === 0)
return !keepScalar && identity5.isScalar(node) ? node.value : node;
else
return identity5.isCollection(node) ? node.getIn(rest, keepScalar) : void 0;
}
hasAllNullValues(allowScalar) {
return this.items.every((node) => {
if (!identity5.isPair(node))
return false;
const n2 = node.value;
return n2 == null || allowScalar && identity5.isScalar(n2) && n2.value == null && !n2.commentBefore && !n2.comment && !n2.tag;
});
}
/**
* Checks if the collection includes a value with the key `key`.
*/
hasIn(path236) {
const [key, ...rest] = path236;
if (rest.length === 0)
return this.has(key);
const node = this.get(key, true);
return identity5.isCollection(node) ? node.hasIn(rest) : false;
}
/**
* Sets a value in this collection. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
setIn(path236, value) {
const [key, ...rest] = path236;
if (rest.length === 0) {
this.set(key, value);
} else {
const node = this.get(key, true);
if (identity5.isCollection(node))
node.setIn(rest, value);
else if (node === void 0 && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
};
exports2.Collection = Collection;
exports2.collectionFromPath = collectionFromPath;
exports2.isEmptyPath = isEmptyPath;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyComment.js
var require_stringifyComment = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) {
"use strict";
var stringifyComment = (str2) => str2.replace(/^(?!$)(?: $)?/gm, "#");
function indentComment(comment, indent) {
if (/^\n+$/.test(comment))
return comment.substring(1);
return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
}
var lineComment = (str2, indent, comment) => str2.endsWith("\n") ? indentComment(comment, indent) : comment.includes("\n") ? "\n" + indentComment(comment, indent) : (str2.endsWith(" ") ? "" : " ") + comment;
exports2.indentComment = indentComment;
exports2.lineComment = lineComment;
exports2.stringifyComment = stringifyComment;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/foldFlowLines.js
var require_foldFlowLines = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) {
"use strict";
var FOLD_FLOW = "flow";
var FOLD_BLOCK = "block";
var FOLD_QUOTED = "quoted";
function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
if (!lineWidth || lineWidth < 0)
return text;
if (lineWidth < minContentWidth)
minContentWidth = 0;
const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
if (text.length <= endStep)
return text;
const folds = [];
const escapedFolds = {};
let end = lineWidth - indent.length;
if (typeof indentAtStart === "number") {
if (indentAtStart > lineWidth - Math.max(2, minContentWidth))
folds.push(0);
else
end = lineWidth - indentAtStart;
}
let split4 = void 0;
let prev = void 0;
let overflow = false;
let i4 = -1;
let escStart = -1;
let escEnd = -1;
if (mode === FOLD_BLOCK) {
i4 = consumeMoreIndentedLines(text, i4, indent.length);
if (i4 !== -1)
end = i4 + endStep;
}
for (let ch; ch = text[i4 += 1]; ) {
if (mode === FOLD_QUOTED && ch === "\\") {
escStart = i4;
switch (text[i4 + 1]) {
case "x":
i4 += 3;
break;
case "u":
i4 += 5;
break;
case "U":
i4 += 9;
break;
default:
i4 += 1;
}
escEnd = i4;
}
if (ch === "\n") {
if (mode === FOLD_BLOCK)
i4 = consumeMoreIndentedLines(text, i4, indent.length);
end = i4 + indent.length + endStep;
split4 = void 0;
} else {
if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") {
const next2 = text[i4 + 1];
if (next2 && next2 !== " " && next2 !== "\n" && next2 !== " ")
split4 = i4;
}
if (i4 >= end) {
if (split4) {
folds.push(split4);
end = split4 + endStep;
split4 = void 0;
} else if (mode === FOLD_QUOTED) {
while (prev === " " || prev === " ") {
prev = ch;
ch = text[i4 += 1];
overflow = true;
}
const j2 = i4 > escEnd + 1 ? i4 - 2 : escStart - 1;
if (escapedFolds[j2])
return text;
folds.push(j2);
escapedFolds[j2] = true;
end = j2 + endStep;
split4 = void 0;
} else {
overflow = true;
}
}
}
prev = ch;
}
if (overflow && onOverflow)
onOverflow();
if (folds.length === 0)
return text;
if (onFold)
onFold();
let res = text.slice(0, folds[0]);
for (let i5 = 0; i5 < folds.length; ++i5) {
const fold = folds[i5];
const end2 = folds[i5 + 1] || text.length;
if (fold === 0)
res = `
${indent}${text.slice(0, end2)}`;
else {
if (mode === FOLD_QUOTED && escapedFolds[fold])
res += `${text[fold]}\\`;
res += `
${indent}${text.slice(fold + 1, end2)}`;
}
}
return res;
}
function consumeMoreIndentedLines(text, i4, indent) {
let end = i4;
let start = i4 + 1;
let ch = text[start];
while (ch === " " || ch === " ") {
if (i4 < start + indent) {
ch = text[++i4];
} else {
do {
ch = text[++i4];
} while (ch && ch !== "\n");
end = i4;
start = i4 + 1;
ch = text[start];
}
}
return end;
}
exports2.FOLD_BLOCK = FOLD_BLOCK;
exports2.FOLD_FLOW = FOLD_FLOW;
exports2.FOLD_QUOTED = FOLD_QUOTED;
exports2.foldFlowLines = foldFlowLines;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyString.js
var require_stringifyString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyString.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var foldFlowLines = require_foldFlowLines();
var getFoldOptions = (ctx, isBlock) => ({
indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart,
lineWidth: ctx.options.lineWidth,
minContentWidth: ctx.options.minContentWidth
});
var containsDocumentMarker = (str2) => /^(%|---|\.\.\.)/m.test(str2);
function lineLengthOverLimit(str2, lineWidth, indentLength) {
if (!lineWidth || lineWidth < 0)
return false;
const limit = lineWidth - indentLength;
const strLen = str2.length;
if (strLen <= limit)
return false;
for (let i4 = 0, start = 0; i4 < strLen; ++i4) {
if (str2[i4] === "\n") {
if (i4 - start > limit)
return true;
start = i4 + 1;
if (strLen - start <= limit)
return false;
}
}
return true;
}
function doubleQuotedString(value, ctx) {
const json2 = JSON.stringify(value);
if (ctx.options.doubleQuotedAsJSON)
return json2;
const { implicitKey } = ctx;
const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
let str2 = "";
let start = 0;
for (let i4 = 0, ch = json2[i4]; ch; ch = json2[++i4]) {
if (ch === " " && json2[i4 + 1] === "\\" && json2[i4 + 2] === "n") {
str2 += json2.slice(start, i4) + "\\ ";
i4 += 1;
start = i4;
ch = "\\";
}
if (ch === "\\")
switch (json2[i4 + 1]) {
case "u":
{
str2 += json2.slice(start, i4);
const code = json2.substr(i4 + 2, 4);
switch (code) {
case "0000":
str2 += "\\0";
break;
case "0007":
str2 += "\\a";
break;
case "000b":
str2 += "\\v";
break;
case "001b":
str2 += "\\e";
break;
case "0085":
str2 += "\\N";
break;
case "00a0":
str2 += "\\_";
break;
case "2028":
str2 += "\\L";
break;
case "2029":
str2 += "\\P";
break;
default:
if (code.substr(0, 2) === "00")
str2 += "\\x" + code.substr(2);
else
str2 += json2.substr(i4, 6);
}
i4 += 5;
start = i4 + 1;
}
break;
case "n":
if (implicitKey || json2[i4 + 2] === '"' || json2.length < minMultiLineLength) {
i4 += 1;
} else {
str2 += json2.slice(start, i4) + "\n\n";
while (json2[i4 + 2] === "\\" && json2[i4 + 3] === "n" && json2[i4 + 4] !== '"') {
str2 += "\n";
i4 += 2;
}
str2 += indent;
if (json2[i4 + 2] === " ")
str2 += "\\";
i4 += 1;
start = i4 + 1;
}
break;
default:
i4 += 1;
}
}
str2 = start ? str2 + json2.slice(start) : json2;
return implicitKey ? str2 : foldFlowLines.foldFlowLines(str2, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx, false));
}
function singleQuotedString(value, ctx) {
if (ctx.options.singleQuote === false || ctx.implicitKey && value.includes("\n") || /[ \t]\n|\n[ \t]/.test(value))
return doubleQuotedString(value, ctx);
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&
${indent}`) + "'";
return ctx.implicitKey ? res : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function quotedString(value, ctx) {
const { singleQuote } = ctx.options;
let qs;
if (singleQuote === false)
qs = doubleQuotedString;
else {
const hasDouble = value.includes('"');
const hasSingle = value.includes("'");
if (hasDouble && !hasSingle)
qs = singleQuotedString;
else if (hasSingle && !hasDouble)
qs = doubleQuotedString;
else
qs = singleQuote ? singleQuotedString : doubleQuotedString;
}
return qs(value, ctx);
}
var blockEndNewlines;
try {
blockEndNewlines = new RegExp("(^|(?<!\n))\n+(?!\n|$)", "g");
} catch {
blockEndNewlines = /\n+(?!\n|$)/g;
}
function blockString({ comment, type: type4, value }, ctx, onComment, onChompKeep) {
const { blockQuote, commentString, lineWidth } = ctx.options;
if (!blockQuote || /\n[\t ]+$/.test(value)) {
return quotedString(value, ctx);
}
const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? " " : "");
const literal = blockQuote === "literal" ? true : blockQuote === "folded" || type4 === Scalar.Scalar.BLOCK_FOLDED ? false : type4 === Scalar.Scalar.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, lineWidth, indent.length);
if (!value)
return literal ? "|\n" : ">\n";
let chomp;
let endStart;
for (endStart = value.length; endStart > 0; --endStart) {
const ch = value[endStart - 1];
if (ch !== "\n" && ch !== " " && ch !== " ")
break;
}
let end = value.substring(endStart);
const endNlPos = end.indexOf("\n");
if (endNlPos === -1) {
chomp = "-";
} else if (value === end || endNlPos !== end.length - 1) {
chomp = "+";
if (onChompKeep)
onChompKeep();
} else {
chomp = "";
}
if (end) {
value = value.slice(0, -end.length);
if (end[end.length - 1] === "\n")
end = end.slice(0, -1);
end = end.replace(blockEndNewlines, `$&${indent}`);
}
let startWithSpace = false;
let startEnd;
let startNlPos = -1;
for (startEnd = 0; startEnd < value.length; ++startEnd) {
const ch = value[startEnd];
if (ch === " ")
startWithSpace = true;
else if (ch === "\n")
startNlPos = startEnd;
else
break;
}
let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
if (start) {
value = value.substring(start.length);
start = start.replace(/\n+/g, `$&${indent}`);
}
const indentSize = indent ? "2" : "1";
let header = (startWithSpace ? indentSize : "") + chomp;
if (comment) {
header += " " + commentString(comment.replace(/ ?[\r\n]+/g, " "));
if (onComment)
onComment();
}
if (!literal) {
const foldedValue = value.replace(/\n+/g, "\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${indent}`);
let literalFallback = false;
const foldOptions = getFoldOptions(ctx, true);
if (blockQuote !== "folded" && type4 !== Scalar.Scalar.BLOCK_FOLDED) {
foldOptions.onOverflow = () => {
literalFallback = true;
};
}
const body = foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`, indent, foldFlowLines.FOLD_BLOCK, foldOptions);
if (!literalFallback)
return `>${header}
${indent}${body}`;
}
value = value.replace(/\n+/g, `$&${indent}`);
return `|${header}
${indent}${start}${value}${end}`;
}
function plainString(item, ctx, onComment, onChompKeep) {
const { type: type4, value } = item;
const { actualString, implicitKey, indent, indentStep, inFlow } = ctx;
if (implicitKey && value.includes("\n") || inFlow && /[[\]{},]/.test(value)) {
return quotedString(value, ctx);
}
if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
return implicitKey || inFlow || !value.includes("\n") ? quotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);
}
if (!implicitKey && !inFlow && type4 !== Scalar.Scalar.PLAIN && value.includes("\n")) {
return blockString(item, ctx, onComment, onChompKeep);
}
if (containsDocumentMarker(value)) {
if (indent === "") {
ctx.forceBlockIndent = true;
return blockString(item, ctx, onComment, onChompKeep);
} else if (implicitKey && indent === indentStep) {
return quotedString(value, ctx);
}
}
const str2 = value.replace(/\n+/g, `$&
${indent}`);
if (actualString) {
const test = (tag) => tag.default && tag.tag !== "tag:yaml.org,2002:str" && tag.test?.test(str2);
const { compat, tags } = ctx.doc.schema;
if (tags.some(test) || compat?.some(test))
return quotedString(value, ctx);
}
return implicitKey ? str2 : foldFlowLines.foldFlowLines(str2, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function stringifyString(item, ctx, onComment, onChompKeep) {
const { implicitKey, inFlow } = ctx;
const ss = typeof item.value === "string" ? item : Object.assign({}, item, { value: String(item.value) });
let { type: type4 } = item;
if (type4 !== Scalar.Scalar.QUOTE_DOUBLE) {
if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
type4 = Scalar.Scalar.QUOTE_DOUBLE;
}
const _stringify = (_type) => {
switch (_type) {
case Scalar.Scalar.BLOCK_FOLDED:
case Scalar.Scalar.BLOCK_LITERAL:
return implicitKey || inFlow ? quotedString(ss.value, ctx) : blockString(ss, ctx, onComment, onChompKeep);
case Scalar.Scalar.QUOTE_DOUBLE:
return doubleQuotedString(ss.value, ctx);
case Scalar.Scalar.QUOTE_SINGLE:
return singleQuotedString(ss.value, ctx);
case Scalar.Scalar.PLAIN:
return plainString(ss, ctx, onComment, onChompKeep);
default:
return null;
}
};
let res = _stringify(type4);
if (res === null) {
const { defaultKeyType, defaultStringType } = ctx.options;
const t2 = implicitKey && defaultKeyType || defaultStringType;
res = _stringify(t2);
if (res === null)
throw new Error(`Unsupported default string type ${t2}`);
}
return res;
}
exports2.stringifyString = stringifyString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringify.js
var require_stringify3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringify.js"(exports2) {
"use strict";
var anchors = require_anchors();
var identity5 = require_identity();
var stringifyComment = require_stringifyComment();
var stringifyString = require_stringifyString();
function createStringifyContext(doc, options) {
const opt = Object.assign({
blockQuote: true,
commentString: stringifyComment.stringifyComment,
defaultKeyType: null,
defaultStringType: "PLAIN",
directives: null,
doubleQuotedAsJSON: false,
doubleQuotedMinMultiLineLength: 40,
falseStr: "false",
flowCollectionPadding: true,
indentSeq: true,
lineWidth: 80,
minContentWidth: 20,
nullStr: "null",
simpleKeys: false,
singleQuote: null,
trailingComma: false,
trueStr: "true",
verifyAliasOrder: true
}, doc.schema.toStringOptions, options);
let inFlow;
switch (opt.collectionStyle) {
case "block":
inFlow = false;
break;
case "flow":
inFlow = true;
break;
default:
inFlow = null;
}
return {
anchors: /* @__PURE__ */ new Set(),
doc,
flowCollectionPadding: opt.flowCollectionPadding ? " " : "",
indent: "",
indentStep: typeof opt.indent === "number" ? " ".repeat(opt.indent) : " ",
inFlow,
options: opt
};
}
function getTagObject(tags, item) {
if (item.tag) {
const match = tags.filter((t2) => t2.tag === item.tag);
if (match.length > 0)
return match.find((t2) => t2.format === item.format) ?? match[0];
}
let tagObj = void 0;
let obj;
if (identity5.isScalar(item)) {
obj = item.value;
let match = tags.filter((t2) => t2.identify?.(obj));
if (match.length > 1) {
const testMatch = match.filter((t2) => t2.test);
if (testMatch.length > 0)
match = testMatch;
}
tagObj = match.find((t2) => t2.format === item.format) ?? match.find((t2) => !t2.format);
} else {
obj = item;
tagObj = tags.find((t2) => t2.nodeClass && obj instanceof t2.nodeClass);
}
if (!tagObj) {
const name = obj?.constructor?.name ?? (obj === null ? "null" : typeof obj);
throw new Error(`Tag not resolved for ${name} value`);
}
return tagObj;
}
function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
if (!doc.directives)
return "";
const props3 = [];
const anchor = (identity5.isScalar(node) || identity5.isCollection(node)) && node.anchor;
if (anchor && anchors.anchorIsValid(anchor)) {
anchors$1.add(anchor);
props3.push(`&${anchor}`);
}
const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
if (tag)
props3.push(doc.directives.tagString(tag));
return props3.join(" ");
}
function stringify2(item, ctx, onComment, onChompKeep) {
if (identity5.isPair(item))
return item.toString(ctx, onComment, onChompKeep);
if (identity5.isAlias(item)) {
if (ctx.doc.directives)
return item.toString(ctx);
if (ctx.resolvedAliases?.has(item)) {
throw new TypeError(`Cannot stringify circular structure without alias nodes`);
} else {
if (ctx.resolvedAliases)
ctx.resolvedAliases.add(item);
else
ctx.resolvedAliases = /* @__PURE__ */ new Set([item]);
item = item.resolve(ctx.doc);
}
}
let tagObj = void 0;
const node = identity5.isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: (o2) => tagObj = o2 });
tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
const props3 = stringifyProps(node, tagObj, ctx);
if (props3.length > 0)
ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props3.length + 1;
const str2 = typeof tagObj.stringify === "function" ? tagObj.stringify(node, ctx, onComment, onChompKeep) : identity5.isScalar(node) ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep) : node.toString(ctx, onComment, onChompKeep);
if (!props3)
return str2;
return identity5.isScalar(node) || str2[0] === "{" || str2[0] === "[" ? `${props3} ${str2}` : `${props3}
${ctx.indent}${str2}`;
}
exports2.createStringifyContext = createStringifyContext;
exports2.stringify = stringify2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyPair.js
var require_stringifyPair = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Scalar = require_Scalar();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
let keyComment = identity5.isNode(key) && key.comment || null;
if (simpleKeys) {
if (keyComment) {
throw new Error("With simple keys, key nodes cannot have comments");
}
if (identity5.isCollection(key) || !identity5.isNode(key) && typeof key === "object") {
const msg = "With simple keys, collection cannot be used as a key value";
throw new Error(msg);
}
}
let explicitKey = !simpleKeys && (!key || keyComment && value == null && !ctx.inFlow || identity5.isCollection(key) || (identity5.isScalar(key) ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL : typeof key === "object"));
ctx = Object.assign({}, ctx, {
allNullValues: false,
implicitKey: !explicitKey && (simpleKeys || !allNullValues),
indent: indent + indentStep
});
let keyCommentDone = false;
let chompKeep = false;
let str2 = stringify2.stringify(key, ctx, () => keyCommentDone = true, () => chompKeep = true);
if (!explicitKey && !ctx.inFlow && str2.length > 1024) {
if (simpleKeys)
throw new Error("With simple keys, single line scalar must not span more than 1024 characters");
explicitKey = true;
}
if (ctx.inFlow) {
if (allNullValues || value == null) {
if (keyCommentDone && onComment)
onComment();
return str2 === "" ? "?" : explicitKey ? `? ${str2}` : str2;
}
} else if (allNullValues && !simpleKeys || value == null && explicitKey) {
str2 = `? ${str2}`;
if (keyComment && !keyCommentDone) {
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
} else if (chompKeep && onChompKeep)
onChompKeep();
return str2;
}
if (keyCommentDone)
keyComment = null;
if (explicitKey) {
if (keyComment)
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
str2 = `? ${str2}
${indent}:`;
} else {
str2 = `${str2}:`;
if (keyComment)
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
}
let vsb, vcb, valueComment;
if (identity5.isNode(value)) {
vsb = !!value.spaceBefore;
vcb = value.commentBefore;
valueComment = value.comment;
} else {
vsb = false;
vcb = null;
valueComment = null;
if (value && typeof value === "object")
value = doc.createNode(value);
}
ctx.implicitKey = false;
if (!explicitKey && !keyComment && identity5.isScalar(value))
ctx.indentAtStart = str2.length + 1;
chompKeep = false;
if (!indentSeq && indentStep.length >= 2 && !ctx.inFlow && !explicitKey && identity5.isSeq(value) && !value.flow && !value.tag && !value.anchor) {
ctx.indent = ctx.indent.substring(2);
}
let valueCommentDone = false;
const valueStr = stringify2.stringify(value, ctx, () => valueCommentDone = true, () => chompKeep = true);
let ws = " ";
if (keyComment || vsb || vcb) {
ws = vsb ? "\n" : "";
if (vcb) {
const cs = commentString(vcb);
ws += `
${stringifyComment.indentComment(cs, ctx.indent)}`;
}
if (valueStr === "" && !ctx.inFlow) {
if (ws === "\n" && valueComment)
ws = "\n\n";
} else {
ws += `
${ctx.indent}`;
}
} else if (!explicitKey && identity5.isCollection(value)) {
const vs0 = valueStr[0];
const nl0 = valueStr.indexOf("\n");
const hasNewline = nl0 !== -1;
const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
if (hasNewline || !flow) {
let hasPropsLine = false;
if (hasNewline && (vs0 === "&" || vs0 === "!")) {
let sp0 = valueStr.indexOf(" ");
if (vs0 === "&" && sp0 !== -1 && sp0 < nl0 && valueStr[sp0 + 1] === "!") {
sp0 = valueStr.indexOf(" ", sp0 + 1);
}
if (sp0 === -1 || nl0 < sp0)
hasPropsLine = true;
}
if (!hasPropsLine)
ws = `
${ctx.indent}`;
}
} else if (valueStr === "" || valueStr[0] === "\n") {
ws = "";
}
str2 += ws + valueStr;
if (ctx.inFlow) {
if (valueCommentDone && onComment)
onComment();
} else if (valueComment && !valueCommentDone) {
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(valueComment));
} else if (chompKeep && onChompKeep) {
onChompKeep();
}
return str2;
}
exports2.stringifyPair = stringifyPair;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/log.js
var require_log = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/log.js"(exports2) {
"use strict";
var node_process = __require("process");
function debug(logLevel, ...messages) {
if (logLevel === "debug")
console.log(...messages);
}
function warn(logLevel, warning) {
if (logLevel === "debug" || logLevel === "warn") {
if (typeof node_process.emitWarning === "function")
node_process.emitWarning(warning);
else
console.warn(warning);
}
}
exports2.debug = debug;
exports2.warn = warn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/merge.js
var require_merge3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Scalar = require_Scalar();
var MERGE_KEY = "<<";
var merge7 = {
identify: (value) => value === MERGE_KEY || typeof value === "symbol" && value.description === MERGE_KEY,
default: "key",
tag: "tag:yaml.org,2002:merge",
test: /^<<$/,
resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
addToJSMap: addMergeToJSMap
}),
stringify: () => MERGE_KEY
};
var isMergeKey = (ctx, key) => (merge7.identify(key) || identity5.isScalar(key) && (!key.type || key.type === Scalar.Scalar.PLAIN) && merge7.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge7.tag && tag.default);
function addMergeToJSMap(ctx, map26, value) {
const source = resolveAliasValue(ctx, value);
if (identity5.isSeq(source))
for (const it of source.items)
mergeValue(ctx, map26, it);
else if (Array.isArray(source))
for (const it of source)
mergeValue(ctx, map26, it);
else
mergeValue(ctx, map26, source);
}
function mergeValue(ctx, map26, value) {
const source = resolveAliasValue(ctx, value);
if (!identity5.isMap(source))
throw new Error("Merge sources must be maps or map aliases");
const srcMap = source.toJSON(null, ctx, Map);
for (const [key, value2] of srcMap) {
if (map26 instanceof Map) {
if (!map26.has(key))
map26.set(key, value2);
} else if (map26 instanceof Set) {
map26.add(key);
} else if (!Object.prototype.hasOwnProperty.call(map26, key)) {
Object.defineProperty(map26, key, {
value: value2,
writable: true,
enumerable: true,
configurable: true
});
}
}
return map26;
}
function resolveAliasValue(ctx, value) {
return ctx && identity5.isAlias(value) ? value.resolve(ctx.doc, ctx) : value;
}
exports2.addMergeToJSMap = addMergeToJSMap;
exports2.isMergeKey = isMergeKey;
exports2.merge = merge7;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/addPairToJSMap.js
var require_addPairToJSMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) {
"use strict";
var log3 = require_log();
var merge7 = require_merge3();
var stringify2 = require_stringify3();
var identity5 = require_identity();
var toJS = require_toJS();
function addPairToJSMap(ctx, map26, { key, value }) {
if (identity5.isNode(key) && key.addToJSMap)
key.addToJSMap(ctx, map26, value);
else if (merge7.isMergeKey(ctx, key))
merge7.addMergeToJSMap(ctx, map26, value);
else {
const jsKey = toJS.toJS(key, "", ctx);
if (map26 instanceof Map) {
map26.set(jsKey, toJS.toJS(value, jsKey, ctx));
} else if (map26 instanceof Set) {
map26.add(jsKey);
} else {
const stringKey = stringifyKey(key, jsKey, ctx);
const jsValue = toJS.toJS(value, stringKey, ctx);
if (stringKey in map26)
Object.defineProperty(map26, stringKey, {
value: jsValue,
writable: true,
enumerable: true,
configurable: true
});
else
map26[stringKey] = jsValue;
}
}
return map26;
}
function stringifyKey(key, jsKey, ctx) {
if (jsKey === null)
return "";
if (typeof jsKey !== "object")
return String(jsKey);
if (identity5.isNode(key) && ctx?.doc) {
const strCtx = stringify2.createStringifyContext(ctx.doc, {});
strCtx.anchors = /* @__PURE__ */ new Set();
for (const node of ctx.anchors.keys())
strCtx.anchors.add(node.anchor);
strCtx.inFlow = true;
strCtx.inStringifyKey = true;
const strKey = key.toString(strCtx);
if (!ctx.mapKeyWarned) {
let jsonStr = JSON.stringify(strKey);
if (jsonStr.length > 40)
jsonStr = jsonStr.substring(0, 36) + '..."';
log3.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`);
ctx.mapKeyWarned = true;
}
return strKey;
}
return JSON.stringify(jsKey);
}
exports2.addPairToJSMap = addPairToJSMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Pair.js
var require_Pair = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/Pair.js"(exports2) {
"use strict";
var createNode = require_createNode();
var stringifyPair = require_stringifyPair();
var addPairToJSMap = require_addPairToJSMap();
var identity5 = require_identity();
function createPair(key, value, ctx) {
const k2 = createNode.createNode(key, void 0, ctx);
const v = createNode.createNode(value, void 0, ctx);
return new Pair(k2, v);
}
var Pair = class _Pair {
constructor(key, value = null) {
Object.defineProperty(this, identity5.NODE_TYPE, { value: identity5.PAIR });
this.key = key;
this.value = value;
}
clone(schema2) {
let { key, value } = this;
if (identity5.isNode(key))
key = key.clone(schema2);
if (identity5.isNode(value))
value = value.clone(schema2);
return new _Pair(key, value);
}
toJSON(_, ctx) {
const pair = ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
return addPairToJSMap.addPairToJSMap(ctx, pair, this);
}
toString(ctx, onComment, onChompKeep) {
return ctx?.doc ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep) : JSON.stringify(this);
}
};
exports2.Pair = Pair;
exports2.createPair = createPair;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyCollection.js
var require_stringifyCollection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) {
"use strict";
var identity5 = require_identity();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyCollection(collection, ctx, options) {
const flow = ctx.inFlow ?? collection.flow;
const stringify3 = flow ? stringifyFlowCollection : stringifyBlockCollection;
return stringify3(collection, ctx, options);
}
function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
const { indent, options: { commentString } } = ctx;
const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
let chompKeep = false;
const lines = [];
for (let i4 = 0; i4 < items.length; ++i4) {
const item = items[i4];
let comment2 = null;
if (identity5.isNode(item)) {
if (!chompKeep && item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
if (item.comment)
comment2 = item.comment;
} else if (identity5.isPair(item)) {
const ik = identity5.isNode(item.key) ? item.key : null;
if (ik) {
if (!chompKeep && ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
}
}
chompKeep = false;
let str3 = stringify2.stringify(item, itemCtx, () => comment2 = null, () => chompKeep = true);
if (comment2)
str3 += stringifyComment.lineComment(str3, itemIndent, commentString(comment2));
if (chompKeep && comment2)
chompKeep = false;
lines.push(blockItemPrefix + str3);
}
let str2;
if (lines.length === 0) {
str2 = flowChars.start + flowChars.end;
} else {
str2 = lines[0];
for (let i4 = 1; i4 < lines.length; ++i4) {
const line = lines[i4];
str2 += line ? `
${indent}${line}` : "\n";
}
}
if (comment) {
str2 += "\n" + stringifyComment.indentComment(commentString(comment), indent);
if (onComment)
onComment();
} else if (chompKeep && onChompKeep)
onChompKeep();
return str2;
}
function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
itemIndent += indentStep;
const itemCtx = Object.assign({}, ctx, {
indent: itemIndent,
inFlow: true,
type: null
});
let reqNewline = false;
let linesAtValue = 0;
const lines = [];
for (let i4 = 0; i4 < items.length; ++i4) {
const item = items[i4];
let comment = null;
if (identity5.isNode(item)) {
if (item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, false);
if (item.comment)
comment = item.comment;
} else if (identity5.isPair(item)) {
const ik = identity5.isNode(item.key) ? item.key : null;
if (ik) {
if (ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, false);
if (ik.comment)
reqNewline = true;
}
const iv = identity5.isNode(item.value) ? item.value : null;
if (iv) {
if (iv.comment)
comment = iv.comment;
if (iv.commentBefore)
reqNewline = true;
} else if (item.value == null && ik?.comment) {
comment = ik.comment;
}
}
if (comment)
reqNewline = true;
let str2 = stringify2.stringify(item, itemCtx, () => comment = null);
reqNewline || (reqNewline = lines.length > linesAtValue || str2.includes("\n"));
if (i4 < items.length - 1) {
str2 += ",";
} else if (ctx.options.trailingComma) {
if (ctx.options.lineWidth > 0) {
reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) + (str2.length + 2) > ctx.options.lineWidth);
}
if (reqNewline) {
str2 += ",";
}
}
if (comment)
str2 += stringifyComment.lineComment(str2, itemIndent, commentString(comment));
lines.push(str2);
linesAtValue = lines.length;
}
const { start, end } = flowChars;
if (lines.length === 0) {
return start + end;
} else {
if (!reqNewline) {
const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
}
if (reqNewline) {
let str2 = start;
for (const line of lines)
str2 += line ? `
${indentStep}${indent}${line}` : "\n";
return `${str2}
${indent}${end}`;
} else {
return `${start}${fcPadding}${lines.join(" ")}${fcPadding}${end}`;
}
}
}
function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
if (comment && chompKeep)
comment = comment.replace(/^\n+/, "");
if (comment) {
const ic = stringifyComment.indentComment(commentString(comment), indent);
lines.push(ic.trimStart());
}
}
exports2.stringifyCollection = stringifyCollection;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/YAMLMap.js
var require_YAMLMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) {
"use strict";
var stringifyCollection = require_stringifyCollection();
var addPairToJSMap = require_addPairToJSMap();
var Collection = require_Collection();
var identity5 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
function findPair(items, key) {
const k2 = identity5.isScalar(key) ? key.value : key;
for (const it of items) {
if (identity5.isPair(it)) {
if (it.key === key || it.key === k2)
return it;
if (identity5.isScalar(it.key) && it.key.value === k2)
return it;
}
}
return void 0;
}
var YAMLMap = class extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:map";
}
constructor(schema2) {
super(identity5.MAP, schema2);
this.items = [];
}
/**
* A generic collection parsing method that can be extended
* to other node classes that inherit from YAMLMap
*/
static from(schema2, obj, ctx) {
const { keepUndefined, replacer: replacer2 } = ctx;
const map26 = new this(schema2);
const add2 = (key, value) => {
if (typeof replacer2 === "function")
value = replacer2.call(obj, key, value);
else if (Array.isArray(replacer2) && !replacer2.includes(key))
return;
if (value !== void 0 || keepUndefined)
map26.items.push(Pair.createPair(key, value, ctx));
};
if (obj instanceof Map) {
for (const [key, value] of obj)
add2(key, value);
} else if (obj && typeof obj === "object") {
for (const key of Object.keys(obj))
add2(key, obj[key]);
}
if (typeof schema2.sortMapEntries === "function") {
map26.items.sort(schema2.sortMapEntries);
}
return map26;
}
/**
* Adds a value to the collection.
*
* @param overwrite - If not set `true`, using a key that is already in the
* collection will throw. Otherwise, overwrites the previous value.
*/
add(pair, overwrite2) {
let _pair;
if (identity5.isPair(pair))
_pair = pair;
else if (!pair || typeof pair !== "object" || !("key" in pair)) {
_pair = new Pair.Pair(pair, pair?.value);
} else
_pair = new Pair.Pair(pair.key, pair.value);
const prev = findPair(this.items, _pair.key);
const sortEntries = this.schema?.sortMapEntries;
if (prev) {
if (!overwrite2)
throw new Error(`Key ${_pair.key} already set`);
if (identity5.isScalar(prev.value) && Scalar.isScalarValue(_pair.value))
prev.value.value = _pair.value;
else
prev.value = _pair.value;
} else if (sortEntries) {
const i4 = this.items.findIndex((item) => sortEntries(_pair, item) < 0);
if (i4 === -1)
this.items.push(_pair);
else
this.items.splice(i4, 0, _pair);
} else {
this.items.push(_pair);
}
}
delete(key) {
const it = findPair(this.items, key);
if (!it)
return false;
const del = this.items.splice(this.items.indexOf(it), 1);
return del.length > 0;
}
get(key, keepScalar) {
const it = findPair(this.items, key);
const node = it?.value;
return (!keepScalar && identity5.isScalar(node) ? node.value : node) ?? void 0;
}
has(key) {
return !!findPair(this.items, key);
}
set(key, value) {
this.add(new Pair.Pair(key, value), true);
}
/**
* @param ctx - Conversion context, originally set in Document#toJS()
* @param {Class} Type - If set, forces the returned collection type
* @returns Instance of Type, Map, or Object
*/
toJSON(_, ctx, Type2) {
const map26 = Type2 ? new Type2() : ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
if (ctx?.onCreate)
ctx.onCreate(map26);
for (const item of this.items)
addPairToJSMap.addPairToJSMap(ctx, map26, item);
return map26;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
for (const item of this.items) {
if (!identity5.isPair(item))
throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
}
if (!ctx.allNullValues && this.hasAllNullValues(false))
ctx = Object.assign({}, ctx, { allNullValues: true });
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "",
flowChars: { start: "{", end: "}" },
itemIndent: ctx.indent || "",
onChompKeep,
onComment
});
}
};
exports2.YAMLMap = YAMLMap;
exports2.findPair = findPair;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/map.js
var require_map2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/map.js"(exports2) {
"use strict";
var identity5 = require_identity();
var YAMLMap = require_YAMLMap();
var map26 = {
collection: "map",
default: true,
nodeClass: YAMLMap.YAMLMap,
tag: "tag:yaml.org,2002:map",
resolve(map27, onError) {
if (!identity5.isMap(map27))
onError("Expected a mapping for this tag");
return map27;
},
createNode: (schema2, obj, ctx) => YAMLMap.YAMLMap.from(schema2, obj, ctx)
};
exports2.map = map26;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/YAMLSeq.js
var require_YAMLSeq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) {
"use strict";
var createNode = require_createNode();
var stringifyCollection = require_stringifyCollection();
var Collection = require_Collection();
var identity5 = require_identity();
var Scalar = require_Scalar();
var toJS = require_toJS();
var YAMLSeq = class extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:seq";
}
constructor(schema2) {
super(identity5.SEQ, schema2);
this.items = [];
}
add(value) {
this.items.push(value);
}
/**
* Removes a value from the collection.
*
* `key` must contain a representation of an integer for this to succeed.
* It may be wrapped in a `Scalar`.
*
* @returns `true` if the item was found and removed.
*/
delete(key) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return false;
const del = this.items.splice(idx, 1);
return del.length > 0;
}
get(key, keepScalar) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return void 0;
const it = this.items[idx];
return !keepScalar && identity5.isScalar(it) ? it.value : it;
}
/**
* Checks if the collection includes a value with the key `key`.
*
* `key` must contain a representation of an integer for this to succeed.
* It may be wrapped in a `Scalar`.
*/
has(key) {
const idx = asItemIndex(key);
return typeof idx === "number" && idx < this.items.length;
}
/**
* Sets a value in this collection. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*
* If `key` does not contain a representation of an integer, this will throw.
* It may be wrapped in a `Scalar`.
*/
set(key, value) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
throw new Error(`Expected a valid index, not ${key}.`);
const prev = this.items[idx];
if (identity5.isScalar(prev) && Scalar.isScalarValue(value))
prev.value = value;
else
this.items[idx] = value;
}
toJSON(_, ctx) {
const seq2 = [];
if (ctx?.onCreate)
ctx.onCreate(seq2);
let i4 = 0;
for (const item of this.items)
seq2.push(toJS.toJS(item, String(i4++), ctx));
return seq2;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "- ",
flowChars: { start: "[", end: "]" },
itemIndent: (ctx.indent || "") + " ",
onChompKeep,
onComment
});
}
static from(schema2, obj, ctx) {
const { replacer: replacer2 } = ctx;
const seq2 = new this(schema2);
if (obj && Symbol.iterator in Object(obj)) {
let i4 = 0;
for (let it of obj) {
if (typeof replacer2 === "function") {
const key = obj instanceof Set ? it : String(i4++);
it = replacer2.call(obj, key, it);
}
seq2.items.push(createNode.createNode(it, void 0, ctx));
}
}
return seq2;
}
};
function asItemIndex(key) {
let idx = identity5.isScalar(key) ? key.value : key;
if (idx && typeof idx === "string")
idx = Number(idx);
return typeof idx === "number" && Number.isInteger(idx) && idx >= 0 ? idx : null;
}
exports2.YAMLSeq = YAMLSeq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/seq.js
var require_seq2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/seq.js"(exports2) {
"use strict";
var identity5 = require_identity();
var YAMLSeq = require_YAMLSeq();
var seq2 = {
collection: "seq",
default: true,
nodeClass: YAMLSeq.YAMLSeq,
tag: "tag:yaml.org,2002:seq",
resolve(seq3, onError) {
if (!identity5.isSeq(seq3))
onError("Expected a sequence for this tag");
return seq3;
},
createNode: (schema2, obj, ctx) => YAMLSeq.YAMLSeq.from(schema2, obj, ctx)
};
exports2.seq = seq2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/string.js
var require_string2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/string.js"(exports2) {
"use strict";
var stringifyString = require_stringifyString();
var string = {
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str2) => str2,
stringify(item, ctx, onComment, onChompKeep) {
ctx = Object.assign({ actualString: true }, ctx);
return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
}
};
exports2.string = string;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/null.js
var require_null2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/common/null.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var nullTag = {
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^(?:~|[Nn]ull|NULL)?$/,
resolve: () => new Scalar.Scalar(null),
stringify: ({ source }, ctx) => typeof source === "string" && nullTag.test.test(source) ? source : ctx.options.nullStr
};
exports2.nullTag = nullTag;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/bool.js
var require_bool2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/bool.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var boolTag = {
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
resolve: (str2) => new Scalar.Scalar(str2[0] === "t" || str2[0] === "T"),
stringify({ source, value }, ctx) {
if (source && boolTag.test.test(source)) {
const sv = source[0] === "t" || source[0] === "T";
if (value === sv)
return source;
}
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
};
exports2.boolTag = boolTag;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyNumber.js
var require_stringifyNumber = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) {
"use strict";
function stringifyNumber({ format: format2, minFractionDigits, tag, value }) {
if (typeof value === "bigint")
return String(value);
const num = typeof value === "number" ? value : Number(value);
if (!isFinite(num))
return isNaN(num) ? ".nan" : num < 0 ? "-.inf" : ".inf";
let n2 = Object.is(value, -0) ? "-0" : JSON.stringify(value);
if (!format2 && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^-?\d/.test(n2) && !n2.includes("e")) {
let i4 = n2.indexOf(".");
if (i4 < 0) {
i4 = n2.length;
n2 += ".";
}
let d3 = minFractionDigits - (n2.length - i4 - 1);
while (d3-- > 0)
n2 += "0";
}
return n2;
}
exports2.stringifyNumber = stringifyNumber;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/float.js
var require_float2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/float.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str2) => str2.slice(-3).toLowerCase() === "nan" ? NaN : str2[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
resolve: (str2) => parseFloat(str2),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float2 = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
resolve(str2) {
const node = new Scalar.Scalar(parseFloat(str2));
const dot = str2.indexOf(".");
if (dot !== -1 && str2[str2.length - 1] === "0")
node.minFractionDigits = str2.length - dot - 1;
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports2.float = float2;
exports2.floatExp = floatExp;
exports2.floatNaN = floatNaN;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/int.js
var require_int2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/int.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
var intResolve = (str2, offset, radix, { intAsBigInt }) => intAsBigInt ? BigInt(str2) : parseInt(str2.substring(offset), radix);
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value) && value >= 0)
return prefix + value.toString(radix);
return stringifyNumber.stringifyNumber(node);
}
var intOct = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^0o[0-7]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 2, 8, opt),
stringify: (node) => intStringify(node, 8, "0o")
};
var int2 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^0x[0-9a-fA-F]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports2.int = int2;
exports2.intHex = intHex;
exports2.intOct = intOct;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/schema.js
var require_schema2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/core/schema.js"(exports2) {
"use strict";
var map26 = require_map2();
var _null2 = require_null2();
var seq2 = require_seq2();
var string = require_string2();
var bool2 = require_bool2();
var float2 = require_float2();
var int2 = require_int2();
var schema2 = [
map26.map,
seq2.seq,
string.string,
_null2.nullTag,
bool2.boolTag,
int2.intOct,
int2.int,
int2.intHex,
float2.floatNaN,
float2.floatExp,
float2.float
];
exports2.schema = schema2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/json/schema.js
var require_schema3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/json/schema.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var map26 = require_map2();
var seq2 = require_seq2();
function intIdentify(value) {
return typeof value === "bigint" || Number.isInteger(value);
}
var stringifyJSON = ({ value }) => JSON.stringify(value);
var jsonScalars = [
{
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str2) => str2,
stringify: stringifyJSON
},
{
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^null$/,
resolve: () => null,
stringify: stringifyJSON
},
{
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^true$|^false$/,
resolve: (str2) => str2 === "true",
stringify: stringifyJSON
},
{
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^-?(?:0|[1-9][0-9]*)$/,
resolve: (str2, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str2) : parseInt(str2, 10),
stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
},
{
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
resolve: (str2) => parseFloat(str2),
stringify: stringifyJSON
}
];
var jsonError = {
default: true,
tag: "",
test: /^/,
resolve(str2, onError) {
onError(`Unresolved plain scalar ${JSON.stringify(str2)}`);
return str2;
}
};
var schema2 = [map26.map, seq2.seq].concat(jsonScalars, jsonError);
exports2.schema = schema2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/binary.js
var require_binary2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) {
"use strict";
var node_buffer = __require("buffer");
var Scalar = require_Scalar();
var stringifyString = require_stringifyString();
var binary2 = {
identify: (value) => value instanceof Uint8Array,
// Buffer inherits from Uint8Array
default: false,
tag: "tag:yaml.org,2002:binary",
/**
* Returns a Buffer in node and an Uint8Array in browsers
*
* To use the resulting buffer as an image, you'll want to do something like:
*
* const blob = new Blob([buffer], { type: 'image/jpeg' })
* document.querySelector('#photo').src = URL.createObjectURL(blob)
*/
resolve(src2, onError) {
if (typeof node_buffer.Buffer === "function") {
return node_buffer.Buffer.from(src2, "base64");
} else if (typeof atob === "function") {
const str2 = atob(src2.replace(/[\n\r]/g, ""));
const buffer3 = new Uint8Array(str2.length);
for (let i4 = 0; i4 < str2.length; ++i4)
buffer3[i4] = str2.charCodeAt(i4);
return buffer3;
} else {
onError("This environment does not support reading binary tags; either Buffer or atob is required");
return src2;
}
},
stringify({ comment, type: type4, value }, ctx, onComment, onChompKeep) {
if (!value)
return "";
const buf = value;
let str2;
if (typeof node_buffer.Buffer === "function") {
str2 = buf instanceof node_buffer.Buffer ? buf.toString("base64") : node_buffer.Buffer.from(buf.buffer).toString("base64");
} else if (typeof btoa === "function") {
let s = "";
for (let i4 = 0; i4 < buf.length; ++i4)
s += String.fromCharCode(buf[i4]);
str2 = btoa(s);
} else {
throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");
}
type4 ?? (type4 = Scalar.Scalar.BLOCK_LITERAL);
if (type4 !== Scalar.Scalar.QUOTE_DOUBLE) {
const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
const n2 = Math.ceil(str2.length / lineWidth);
const lines = new Array(n2);
for (let i4 = 0, o2 = 0; i4 < n2; ++i4, o2 += lineWidth) {
lines[i4] = str2.substr(o2, lineWidth);
}
str2 = lines.join(type4 === Scalar.Scalar.BLOCK_LITERAL ? "\n" : " ");
}
return stringifyString.stringifyString({ comment, type: type4, value: str2 }, ctx, onComment, onChompKeep);
}
};
exports2.binary = binary2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
var require_pairs2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLSeq = require_YAMLSeq();
function resolvePairs(seq2, onError) {
if (identity5.isSeq(seq2)) {
for (let i4 = 0; i4 < seq2.items.length; ++i4) {
let item = seq2.items[i4];
if (identity5.isPair(item))
continue;
else if (identity5.isMap(item)) {
if (item.items.length > 1)
onError("Each pair must have its own sequence indicator");
const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null));
if (item.commentBefore)
pair.key.commentBefore = pair.key.commentBefore ? `${item.commentBefore}
${pair.key.commentBefore}` : item.commentBefore;
if (item.comment) {
const cn = pair.value ?? pair.key;
cn.comment = cn.comment ? `${item.comment}
${cn.comment}` : item.comment;
}
item = pair;
}
seq2.items[i4] = identity5.isPair(item) ? item : new Pair.Pair(item);
}
} else
onError("Expected a sequence for this tag");
return seq2;
}
function createPairs(schema2, iterable, ctx) {
const { replacer: replacer2 } = ctx;
const pairs3 = new YAMLSeq.YAMLSeq(schema2);
pairs3.tag = "tag:yaml.org,2002:pairs";
let i4 = 0;
if (iterable && Symbol.iterator in Object(iterable))
for (let it of iterable) {
if (typeof replacer2 === "function")
it = replacer2.call(iterable, String(i4++), it);
let key, value;
if (Array.isArray(it)) {
if (it.length === 2) {
key = it[0];
value = it[1];
} else
throw new TypeError(`Expected [key, value] tuple: ${it}`);
} else if (it && it instanceof Object) {
const keys4 = Object.keys(it);
if (keys4.length === 1) {
key = keys4[0];
value = it[key];
} else {
throw new TypeError(`Expected tuple with one key, not ${keys4.length} keys`);
}
} else {
key = it;
}
pairs3.items.push(Pair.createPair(key, value, ctx));
}
return pairs3;
}
var pairs2 = {
collection: "seq",
default: false,
tag: "tag:yaml.org,2002:pairs",
resolve: resolvePairs,
createNode: createPairs
};
exports2.createPairs = createPairs;
exports2.pairs = pairs2;
exports2.resolvePairs = resolvePairs;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/omap.js
var require_omap2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) {
"use strict";
var identity5 = require_identity();
var toJS = require_toJS();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var pairs2 = require_pairs2();
var YAMLOMap = class _YAMLOMap extends YAMLSeq.YAMLSeq {
constructor() {
super();
this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
this.tag = _YAMLOMap.tag;
}
/**
* If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
* but TypeScript won't allow widening the signature of a child method.
*/
toJSON(_, ctx) {
if (!ctx)
return super.toJSON(_);
const map26 = /* @__PURE__ */ new Map();
if (ctx?.onCreate)
ctx.onCreate(map26);
for (const pair of this.items) {
let key, value;
if (identity5.isPair(pair)) {
key = toJS.toJS(pair.key, "", ctx);
value = toJS.toJS(pair.value, key, ctx);
} else {
key = toJS.toJS(pair, "", ctx);
}
if (map26.has(key))
throw new Error("Ordered maps must not include duplicate keys");
map26.set(key, value);
}
return map26;
}
static from(schema2, iterable, ctx) {
const pairs$1 = pairs2.createPairs(schema2, iterable, ctx);
const omap3 = new this();
omap3.items = pairs$1.items;
return omap3;
}
};
YAMLOMap.tag = "tag:yaml.org,2002:omap";
var omap2 = {
collection: "seq",
identify: (value) => value instanceof Map,
nodeClass: YAMLOMap,
default: false,
tag: "tag:yaml.org,2002:omap",
resolve(seq2, onError) {
const pairs$1 = pairs2.resolvePairs(seq2, onError);
const seenKeys = [];
for (const { key } of pairs$1.items) {
if (identity5.isScalar(key)) {
if (seenKeys.includes(key.value)) {
onError(`Ordered maps must not include duplicate keys: ${key.value}`);
} else {
seenKeys.push(key.value);
}
}
}
return Object.assign(new YAMLOMap(), pairs$1);
},
createNode: (schema2, iterable, ctx) => YAMLOMap.from(schema2, iterable, ctx)
};
exports2.YAMLOMap = YAMLOMap;
exports2.omap = omap2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/bool.js
var require_bool3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
function boolStringify({ value, source }, ctx) {
const boolObj = value ? trueTag : falseTag;
if (source && boolObj.test.test(source))
return source;
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
var trueTag = {
identify: (value) => value === true,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
resolve: () => new Scalar.Scalar(true),
stringify: boolStringify
};
var falseTag = {
identify: (value) => value === false,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
resolve: () => new Scalar.Scalar(false),
stringify: boolStringify
};
exports2.falseTag = falseTag;
exports2.trueTag = trueTag;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/float.js
var require_float3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str2) => str2.slice(-3).toLowerCase() === "nan" ? NaN : str2[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
resolve: (str2) => parseFloat(str2.replace(/_/g, "")),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float2 = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
resolve(str2) {
const node = new Scalar.Scalar(parseFloat(str2.replace(/_/g, "")));
const dot = str2.indexOf(".");
if (dot !== -1) {
const f = str2.substring(dot + 1).replace(/_/g, "");
if (f[f.length - 1] === "0")
node.minFractionDigits = f.length;
}
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports2.float = float2;
exports2.floatExp = floatExp;
exports2.floatNaN = floatNaN;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/int.js
var require_int3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
function intResolve(str2, offset, radix, { intAsBigInt }) {
const sign = str2[0];
if (sign === "-" || sign === "+")
offset += 1;
str2 = str2.substring(offset).replace(/_/g, "");
if (intAsBigInt) {
switch (radix) {
case 2:
str2 = `0b${str2}`;
break;
case 8:
str2 = `0o${str2}`;
break;
case 16:
str2 = `0x${str2}`;
break;
}
const n3 = BigInt(str2);
return sign === "-" ? BigInt(-1) * n3 : n3;
}
const n2 = parseInt(str2, radix);
return sign === "-" ? -1 * n2 : n2;
}
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value)) {
const str2 = value.toString(radix);
return value < 0 ? "-" + prefix + str2.substr(1) : prefix + str2;
}
return stringifyNumber.stringifyNumber(node);
}
var intBin = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "BIN",
test: /^[-+]?0b[0-1_]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 2, 2, opt),
stringify: (node) => intStringify(node, 2, "0b")
};
var intOct = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^[-+]?0[0-7_]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 1, 8, opt),
stringify: (node) => intStringify(node, 8, "0")
};
var int2 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9][0-9_]*$/,
resolve: (str2, _onError, opt) => intResolve(str2, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^[-+]?0x[0-9a-fA-F_]+$/,
resolve: (str2, _onError, opt) => intResolve(str2, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports2.int = int2;
exports2.intBin = intBin;
exports2.intHex = intHex;
exports2.intOct = intOct;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/set.js
var require_set2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var YAMLSet = class _YAMLSet extends YAMLMap.YAMLMap {
constructor(schema2) {
super(schema2);
this.tag = _YAMLSet.tag;
}
add(key) {
let pair;
if (identity5.isPair(key))
pair = key;
else if (key && typeof key === "object" && "key" in key && "value" in key && key.value === null)
pair = new Pair.Pair(key.key, null);
else
pair = new Pair.Pair(key, null);
const prev = YAMLMap.findPair(this.items, pair.key);
if (!prev)
this.items.push(pair);
}
/**
* If `keepPair` is `true`, returns the Pair matching `key`.
* Otherwise, returns the value of that Pair's key.
*/
get(key, keepPair) {
const pair = YAMLMap.findPair(this.items, key);
return !keepPair && identity5.isPair(pair) ? identity5.isScalar(pair.key) ? pair.key.value : pair.key : pair;
}
set(key, value) {
if (typeof value !== "boolean")
throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
const prev = YAMLMap.findPair(this.items, key);
if (prev && !value) {
this.items.splice(this.items.indexOf(prev), 1);
} else if (!prev && value) {
this.items.push(new Pair.Pair(key));
}
}
toJSON(_, ctx) {
return super.toJSON(_, ctx, Set);
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
if (this.hasAllNullValues(true))
return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
else
throw new Error("Set items must all have null values");
}
static from(schema2, iterable, ctx) {
const { replacer: replacer2 } = ctx;
const set3 = new this(schema2);
if (iterable && Symbol.iterator in Object(iterable))
for (let value of iterable) {
if (typeof replacer2 === "function")
value = replacer2.call(iterable, value, value);
set3.items.push(Pair.createPair(value, null, ctx));
}
return set3;
}
};
YAMLSet.tag = "tag:yaml.org,2002:set";
var set2 = {
collection: "map",
identify: (value) => value instanceof Set,
nodeClass: YAMLSet,
default: false,
tag: "tag:yaml.org,2002:set",
createNode: (schema2, iterable, ctx) => YAMLSet.from(schema2, iterable, ctx),
resolve(map26, onError) {
if (identity5.isMap(map26)) {
if (map26.hasAllNullValues(true))
return Object.assign(new YAMLSet(), map26);
else
onError("Set items must all have null values");
} else
onError("Expected a mapping for this tag");
return map26;
}
};
exports2.YAMLSet = YAMLSet;
exports2.set = set2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
var require_timestamp2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
function parseSexagesimal(str2, asBigInt) {
const sign = str2[0];
const parts = sign === "-" || sign === "+" ? str2.substring(1) : str2;
const num = (n2) => asBigInt ? BigInt(n2) : Number(n2);
const res = parts.replace(/_/g, "").split(":").reduce((res2, p) => res2 * num(60) + num(p), num(0));
return sign === "-" ? num(-1) * res : res;
}
function stringifySexagesimal(node) {
let { value } = node;
let num = (n2) => n2;
if (typeof value === "bigint")
num = (n2) => BigInt(n2);
else if (isNaN(value) || !isFinite(value))
return stringifyNumber.stringifyNumber(node);
let sign = "";
if (value < 0) {
sign = "-";
value *= num(-1);
}
const _60 = num(60);
const parts = [value % _60];
if (value < 60) {
parts.unshift(0);
} else {
value = (value - parts[0]) / _60;
parts.unshift(value % _60);
if (value >= 60) {
value = (value - parts[0]) / _60;
parts.unshift(value);
}
}
return sign + parts.map((n2) => String(n2).padStart(2, "0")).join(":").replace(/000000\d*$/, "");
}
var intTime = {
identify: (value) => typeof value === "bigint" || Number.isInteger(value),
default: true,
tag: "tag:yaml.org,2002:int",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
resolve: (str2, _onError, { intAsBigInt }) => parseSexagesimal(str2, intAsBigInt),
stringify: stringifySexagesimal
};
var floatTime = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
resolve: (str2) => parseSexagesimal(str2, false),
stringify: stringifySexagesimal
};
var timestamp2 = {
identify: (value) => value instanceof Date,
default: true,
tag: "tag:yaml.org,2002:timestamp",
// If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
// may be omitted altogether, resulting in a date format. In such a case, the time part is
// assumed to be 00:00:00Z (start of day, UTC).
test: RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),
resolve(str2) {
const match = str2.match(timestamp2.test);
if (!match)
throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");
const [, year, month, day, hour, minute, second] = match.map(Number);
const millisec = match[7] ? Number((match[7] + "00").substr(1, 3)) : 0;
let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
const tz = match[8];
if (tz && tz !== "Z") {
let d3 = parseSexagesimal(tz, false);
if (Math.abs(d3) < 30)
d3 *= 60;
date -= 6e4 * d3;
}
return new Date(date);
},
stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, "") ?? ""
};
exports2.floatTime = floatTime;
exports2.intTime = intTime;
exports2.timestamp = timestamp2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/schema.js
var require_schema4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) {
"use strict";
var map26 = require_map2();
var _null2 = require_null2();
var seq2 = require_seq2();
var string = require_string2();
var binary2 = require_binary2();
var bool2 = require_bool3();
var float2 = require_float3();
var int2 = require_int3();
var merge7 = require_merge3();
var omap2 = require_omap2();
var pairs2 = require_pairs2();
var set2 = require_set2();
var timestamp2 = require_timestamp2();
var schema2 = [
map26.map,
seq2.seq,
string.string,
_null2.nullTag,
bool2.trueTag,
bool2.falseTag,
int2.intBin,
int2.intOct,
int2.int,
int2.intHex,
float2.floatNaN,
float2.floatExp,
float2.float,
binary2.binary,
merge7.merge,
omap2.omap,
pairs2.pairs,
set2.set,
timestamp2.intTime,
timestamp2.floatTime,
timestamp2.timestamp
];
exports2.schema = schema2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/tags.js
var require_tags = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/tags.js"(exports2) {
"use strict";
var map26 = require_map2();
var _null2 = require_null2();
var seq2 = require_seq2();
var string = require_string2();
var bool2 = require_bool2();
var float2 = require_float2();
var int2 = require_int2();
var schema2 = require_schema2();
var schema$1 = require_schema3();
var binary2 = require_binary2();
var merge7 = require_merge3();
var omap2 = require_omap2();
var pairs2 = require_pairs2();
var schema$2 = require_schema4();
var set2 = require_set2();
var timestamp2 = require_timestamp2();
var schemas = /* @__PURE__ */ new Map([
["core", schema2.schema],
["failsafe", [map26.map, seq2.seq, string.string]],
["json", schema$1.schema],
["yaml11", schema$2.schema],
["yaml-1.1", schema$2.schema]
]);
var tagsByName = {
binary: binary2.binary,
bool: bool2.boolTag,
float: float2.float,
floatExp: float2.floatExp,
floatNaN: float2.floatNaN,
floatTime: timestamp2.floatTime,
int: int2.int,
intHex: int2.intHex,
intOct: int2.intOct,
intTime: timestamp2.intTime,
map: map26.map,
merge: merge7.merge,
null: _null2.nullTag,
omap: omap2.omap,
pairs: pairs2.pairs,
seq: seq2.seq,
set: set2.set,
timestamp: timestamp2.timestamp
};
var coreKnownTags = {
"tag:yaml.org,2002:binary": binary2.binary,
"tag:yaml.org,2002:merge": merge7.merge,
"tag:yaml.org,2002:omap": omap2.omap,
"tag:yaml.org,2002:pairs": pairs2.pairs,
"tag:yaml.org,2002:set": set2.set,
"tag:yaml.org,2002:timestamp": timestamp2.timestamp
};
function getTags(customTags, schemaName, addMergeTag) {
const schemaTags = schemas.get(schemaName);
if (schemaTags && !customTags) {
return addMergeTag && !schemaTags.includes(merge7.merge) ? schemaTags.concat(merge7.merge) : schemaTags.slice();
}
let tags = schemaTags;
if (!tags) {
if (Array.isArray(customTags))
tags = [];
else {
const keys4 = Array.from(schemas.keys()).filter((key) => key !== "yaml11").map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown schema "${schemaName}"; use one of ${keys4} or define customTags array`);
}
}
if (Array.isArray(customTags)) {
for (const tag of customTags)
tags = tags.concat(tag);
} else if (typeof customTags === "function") {
tags = customTags(tags.slice());
}
if (addMergeTag)
tags = tags.concat(merge7.merge);
return tags.reduce((tags2, tag) => {
const tagObj = typeof tag === "string" ? tagsByName[tag] : tag;
if (!tagObj) {
const tagName = JSON.stringify(tag);
const keys4 = Object.keys(tagsByName).map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown custom tag ${tagName}; use one of ${keys4}`);
}
if (!tags2.includes(tagObj))
tags2.push(tagObj);
return tags2;
}, []);
}
exports2.coreKnownTags = coreKnownTags;
exports2.getTags = getTags;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/Schema.js
var require_Schema = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/schema/Schema.js"(exports2) {
"use strict";
var identity5 = require_identity();
var map26 = require_map2();
var seq2 = require_seq2();
var string = require_string2();
var tags = require_tags();
var sortMapEntriesByKey = (a2, b) => a2.key < b.key ? -1 : a2.key > b.key ? 1 : 0;
var Schema2 = class _Schema {
constructor({ compat, customTags, merge: merge7, resolveKnownTags, schema: schema2, sortMapEntries, toStringDefaults }) {
this.compat = Array.isArray(compat) ? tags.getTags(compat, "compat") : compat ? tags.getTags(null, compat) : null;
this.name = typeof schema2 === "string" && schema2 || "core";
this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
this.tags = tags.getTags(customTags, this.name, merge7);
this.toStringOptions = toStringDefaults ?? null;
Object.defineProperty(this, identity5.MAP, { value: map26.map });
Object.defineProperty(this, identity5.SCALAR, { value: string.string });
Object.defineProperty(this, identity5.SEQ, { value: seq2.seq });
this.sortMapEntries = typeof sortMapEntries === "function" ? sortMapEntries : sortMapEntries === true ? sortMapEntriesByKey : null;
}
clone() {
const copy2 = Object.create(_Schema.prototype, Object.getOwnPropertyDescriptors(this));
copy2.tags = this.tags.slice();
return copy2;
}
};
exports2.Schema = Schema2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyDocument.js
var require_stringifyDocument = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) {
"use strict";
var identity5 = require_identity();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyDocument(doc, options) {
const lines = [];
let hasDirectives = options.directives === true;
if (options.directives !== false && doc.directives) {
const dir = doc.directives.toString(doc);
if (dir) {
lines.push(dir);
hasDirectives = true;
} else if (doc.directives.docStart)
hasDirectives = true;
}
if (hasDirectives)
lines.push("---");
const ctx = stringify2.createStringifyContext(doc, options);
const { commentString } = ctx.options;
if (doc.commentBefore) {
if (lines.length !== 1)
lines.unshift("");
const cs = commentString(doc.commentBefore);
lines.unshift(stringifyComment.indentComment(cs, ""));
}
let chompKeep = false;
let contentComment = null;
if (doc.contents) {
if (identity5.isNode(doc.contents)) {
if (doc.contents.spaceBefore && hasDirectives)
lines.push("");
if (doc.contents.commentBefore) {
const cs = commentString(doc.contents.commentBefore);
lines.push(stringifyComment.indentComment(cs, ""));
}
ctx.forceBlockIndent = !!doc.comment;
contentComment = doc.contents.comment;
}
const onChompKeep = contentComment ? void 0 : () => chompKeep = true;
let body = stringify2.stringify(doc.contents, ctx, () => contentComment = null, onChompKeep);
if (contentComment)
body += stringifyComment.lineComment(body, "", commentString(contentComment));
if ((body[0] === "|" || body[0] === ">") && lines[lines.length - 1] === "---") {
lines[lines.length - 1] = `--- ${body}`;
} else
lines.push(body);
} else {
lines.push(stringify2.stringify(doc.contents, ctx));
}
if (doc.directives?.docEnd) {
if (doc.comment) {
const cs = commentString(doc.comment);
if (cs.includes("\n")) {
lines.push("...");
lines.push(stringifyComment.indentComment(cs, ""));
} else {
lines.push(`... ${cs}`);
}
} else {
lines.push("...");
}
} else {
let dc = doc.comment;
if (dc && chompKeep)
dc = dc.replace(/^\n+/, "");
if (dc) {
if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "")
lines.push("");
lines.push(stringifyComment.indentComment(commentString(dc), ""));
}
}
return lines.join("\n") + "\n";
}
exports2.stringifyDocument = stringifyDocument;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/Document.js
var require_Document = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/doc/Document.js"(exports2) {
"use strict";
var Alias = require_Alias();
var Collection = require_Collection();
var identity5 = require_identity();
var Pair = require_Pair();
var toJS = require_toJS();
var Schema2 = require_Schema();
var stringifyDocument = require_stringifyDocument();
var anchors = require_anchors();
var applyReviver = require_applyReviver();
var createNode = require_createNode();
var directives = require_directives();
var Document = class _Document {
constructor(value, replacer2, options) {
this.commentBefore = null;
this.comment = null;
this.errors = [];
this.warnings = [];
Object.defineProperty(this, identity5.NODE_TYPE, { value: identity5.DOC });
let _replacer = null;
if (typeof replacer2 === "function" || Array.isArray(replacer2)) {
_replacer = replacer2;
} else if (options === void 0 && replacer2) {
options = replacer2;
replacer2 = void 0;
}
const opt = Object.assign({
intAsBigInt: false,
keepSourceTokens: false,
logLevel: "warn",
prettyErrors: true,
strict: true,
stringKeys: false,
uniqueKeys: true,
version: "1.2"
}, options);
this.options = opt;
let { version: version2 } = opt;
if (options?._directives) {
this.directives = options._directives.atDocument();
if (this.directives.yaml.explicit)
version2 = this.directives.yaml.version;
} else
this.directives = new directives.Directives({ version: version2 });
this.setSchema(version2, options);
this.contents = value === void 0 ? null : this.createNode(value, _replacer, options);
}
/**
* Create a deep copy of this Document and its contents.
*
* Custom Node values that inherit from `Object` still refer to their original instances.
*/
clone() {
const copy2 = Object.create(_Document.prototype, {
[identity5.NODE_TYPE]: { value: identity5.DOC }
});
copy2.commentBefore = this.commentBefore;
copy2.comment = this.comment;
copy2.errors = this.errors.slice();
copy2.warnings = this.warnings.slice();
copy2.options = Object.assign({}, this.options);
if (this.directives)
copy2.directives = this.directives.clone();
copy2.schema = this.schema.clone();
copy2.contents = identity5.isNode(this.contents) ? this.contents.clone(copy2.schema) : this.contents;
if (this.range)
copy2.range = this.range.slice();
return copy2;
}
/** Adds a value to the document. */
add(value) {
if (assertCollection(this.contents))
this.contents.add(value);
}
/** Adds a value to the document. */
addIn(path236, value) {
if (assertCollection(this.contents))
this.contents.addIn(path236, value);
}
/**
* Create a new `Alias` node, ensuring that the target `node` has the required anchor.
*
* If `node` already has an anchor, `name` is ignored.
* Otherwise, the `node.anchor` value will be set to `name`,
* or if an anchor with that name is already present in the document,
* `name` will be used as a prefix for a new unique anchor.
* If `name` is undefined, the generated anchor will use 'a' as a prefix.
*/
createAlias(node, name) {
if (!node.anchor) {
const prev = anchors.anchorNames(this);
node.anchor = // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
!name || prev.has(name) ? anchors.findNewAnchor(name || "a", prev) : name;
}
return new Alias.Alias(node.anchor);
}
createNode(value, replacer2, options) {
let _replacer = void 0;
if (typeof replacer2 === "function") {
value = replacer2.call({ "": value }, "", value);
_replacer = replacer2;
} else if (Array.isArray(replacer2)) {
const keyToStr = (v) => typeof v === "number" || v instanceof String || v instanceof Number;
const asStr = replacer2.filter(keyToStr).map(String);
if (asStr.length > 0)
replacer2 = replacer2.concat(asStr);
_replacer = replacer2;
} else if (options === void 0 && replacer2) {
options = replacer2;
replacer2 = void 0;
}
const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {};
const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(
this,
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
anchorPrefix || "a"
);
const ctx = {
aliasDuplicateObjects: aliasDuplicateObjects ?? true,
keepUndefined: keepUndefined ?? false,
onAnchor,
onTagObj,
replacer: _replacer,
schema: this.schema,
sourceObjects
};
const node = createNode.createNode(value, tag, ctx);
if (flow && identity5.isCollection(node))
node.flow = true;
setAnchors();
return node;
}
/**
* Convert a key and a value into a `Pair` using the current schema,
* recursively wrapping all values as `Scalar` or `Collection` nodes.
*/
createPair(key, value, options = {}) {
const k2 = this.createNode(key, null, options);
const v = this.createNode(value, null, options);
return new Pair.Pair(k2, v);
}
/**
* Removes a value from the document.
* @returns `true` if the item was found and removed.
*/
delete(key) {
return assertCollection(this.contents) ? this.contents.delete(key) : false;
}
/**
* Removes a value from the document.
* @returns `true` if the item was found and removed.
*/
deleteIn(path236) {
if (Collection.isEmptyPath(path236)) {
if (this.contents == null)
return false;
this.contents = null;
return true;
}
return assertCollection(this.contents) ? this.contents.deleteIn(path236) : false;
}
/**
* Returns item at `key`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
get(key, keepScalar) {
return identity5.isCollection(this.contents) ? this.contents.get(key, keepScalar) : void 0;
}
/**
* Returns item at `path`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
getIn(path236, keepScalar) {
if (Collection.isEmptyPath(path236))
return !keepScalar && identity5.isScalar(this.contents) ? this.contents.value : this.contents;
return identity5.isCollection(this.contents) ? this.contents.getIn(path236, keepScalar) : void 0;
}
/**
* Checks if the document includes a value with the key `key`.
*/
has(key) {
return identity5.isCollection(this.contents) ? this.contents.has(key) : false;
}
/**
* Checks if the document includes a value at `path`.
*/
hasIn(path236) {
if (Collection.isEmptyPath(path236))
return this.contents !== void 0;
return identity5.isCollection(this.contents) ? this.contents.hasIn(path236) : false;
}
/**
* Sets a value in this document. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
set(key, value) {
if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, [key], value);
} else if (assertCollection(this.contents)) {
this.contents.set(key, value);
}
}
/**
* Sets a value in this document. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
setIn(path236, value) {
if (Collection.isEmptyPath(path236)) {
this.contents = value;
} else if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, Array.from(path236), value);
} else if (assertCollection(this.contents)) {
this.contents.setIn(path236, value);
}
}
/**
* Change the YAML version and schema used by the document.
* A `null` version disables support for directives, explicit tags, anchors, and aliases.
* It also requires the `schema` option to be given as a `Schema` instance value.
*
* Overrides all previously set schema options.
*/
setSchema(version2, options = {}) {
if (typeof version2 === "number")
version2 = String(version2);
let opt;
switch (version2) {
case "1.1":
if (this.directives)
this.directives.yaml.version = "1.1";
else
this.directives = new directives.Directives({ version: "1.1" });
opt = { resolveKnownTags: false, schema: "yaml-1.1" };
break;
case "1.2":
case "next":
if (this.directives)
this.directives.yaml.version = version2;
else
this.directives = new directives.Directives({ version: version2 });
opt = { resolveKnownTags: true, schema: "core" };
break;
case null:
if (this.directives)
delete this.directives;
opt = null;
break;
default: {
const sv = JSON.stringify(version2);
throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`);
}
}
if (options.schema instanceof Object)
this.schema = options.schema;
else if (opt)
this.schema = new Schema2.Schema(Object.assign(opt, options));
else
throw new Error(`With a null YAML version, the { schema: Schema } option is required`);
}
// json & jsonArg are only used from toJSON()
toJS({ json: json2, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
const ctx = {
anchors: /* @__PURE__ */ new Map(),
doc: this,
keep: !json2,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this.contents, jsonArg ?? "", ctx);
if (typeof onAnchor === "function")
for (const { count: count2, res: res2 } of ctx.anchors.values())
onAnchor(res2, count2);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
/**
* A JSON representation of the document `contents`.
*
* @param jsonArg Used by `JSON.stringify` to indicate the array index or
* property name.
*/
toJSON(jsonArg, onAnchor) {
return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor });
}
/** A YAML representation of the document. */
toString(options = {}) {
if (this.errors.length > 0)
throw new Error("Document with errors cannot be stringified");
if ("indent" in options && (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) {
const s = JSON.stringify(options.indent);
throw new Error(`"indent" option must be a positive integer, not ${s}`);
}
return stringifyDocument.stringifyDocument(this, options);
}
};
function assertCollection(contents) {
if (identity5.isCollection(contents))
return true;
throw new Error("Expected a YAML collection as document contents");
}
exports2.Document = Document;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/errors.js
var require_errors6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/errors.js"(exports2) {
"use strict";
var YAMLError = class extends Error {
constructor(name, pos, code, message) {
super();
this.name = name;
this.code = code;
this.message = message;
this.pos = pos;
}
};
var YAMLParseError = class extends YAMLError {
constructor(pos, code, message) {
super("YAMLParseError", pos, code, message);
}
};
var YAMLWarning = class extends YAMLError {
constructor(pos, code, message) {
super("YAMLWarning", pos, code, message);
}
};
var prettifyError = (src2, lc2) => (error) => {
if (error.pos[0] === -1)
return;
error.linePos = error.pos.map((pos) => lc2.linePos(pos));
const { line, col } = error.linePos[0];
error.message += ` at line ${line}, column ${col}`;
let ci = col - 1;
let lineStr = src2.substring(lc2.lineStarts[line - 1], lc2.lineStarts[line]).replace(/[\n\r]+$/, "");
if (ci >= 60 && lineStr.length > 80) {
const trimStart = Math.min(ci - 39, lineStr.length - 79);
lineStr = "\u2026" + lineStr.substring(trimStart);
ci -= trimStart - 1;
}
if (lineStr.length > 80)
lineStr = lineStr.substring(0, 79) + "\u2026";
if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) {
let prev = src2.substring(lc2.lineStarts[line - 2], lc2.lineStarts[line - 1]);
if (prev.length > 80)
prev = prev.substring(0, 79) + "\u2026\n";
lineStr = prev + lineStr;
}
if (/[^ ]/.test(lineStr)) {
let count2 = 1;
const end = error.linePos[1];
if (end?.line === line && end.col > col) {
count2 = Math.max(1, Math.min(end.col - col, 80 - ci));
}
const pointer = " ".repeat(ci) + "^".repeat(count2);
error.message += `:
${lineStr}
${pointer}
`;
}
};
exports2.YAMLError = YAMLError;
exports2.YAMLParseError = YAMLParseError;
exports2.YAMLWarning = YAMLWarning;
exports2.prettifyError = prettifyError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-props.js
var require_resolve_props = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-props.js"(exports2) {
"use strict";
function resolveProps(tokens, { flow, indicator, next: next2, offset, onError, parentIndent, startOnNewline }) {
let spaceBefore = false;
let atNewline = startOnNewline;
let hasSpace = startOnNewline;
let comment = "";
let commentSep = "";
let hasNewline = false;
let reqSpace = false;
let tab = null;
let anchor = null;
let tag = null;
let newlineAfterProp = null;
let comma = null;
let found = null;
let start = null;
for (const token of tokens) {
if (reqSpace) {
if (token.type !== "space" && token.type !== "newline" && token.type !== "comma")
onError(token.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
reqSpace = false;
}
if (tab) {
if (atNewline && token.type !== "comment" && token.type !== "newline") {
onError(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
}
tab = null;
}
switch (token.type) {
case "space":
if (!flow && (indicator !== "doc-start" || next2?.type !== "flow-collection") && token.source.includes(" ")) {
tab = token;
}
hasSpace = true;
break;
case "comment": {
if (!hasSpace)
onError(token, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = token.source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += commentSep + cb;
commentSep = "";
atNewline = false;
break;
}
case "newline":
if (atNewline) {
if (comment)
comment += token.source;
else if (!found || indicator !== "seq-item-ind")
spaceBefore = true;
} else
commentSep += token.source;
atNewline = true;
hasNewline = true;
if (anchor || tag)
newlineAfterProp = token;
hasSpace = true;
break;
case "anchor":
if (anchor)
onError(token, "MULTIPLE_ANCHORS", "A node can have at most one anchor");
if (token.source.endsWith(":"))
onError(token.offset + token.source.length - 1, "BAD_ALIAS", "Anchor ending in : is ambiguous", true);
anchor = token;
start ?? (start = token.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
case "tag": {
if (tag)
onError(token, "MULTIPLE_TAGS", "A node can have at most one tag");
tag = token;
start ?? (start = token.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
}
case indicator:
if (anchor || tag)
onError(token, "BAD_PROP_ORDER", `Anchors and tags must be after the ${token.source} indicator`);
if (found)
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${token.source} in ${flow ?? "collection"}`);
found = token;
atNewline = indicator === "seq-item-ind" || indicator === "explicit-key-ind";
hasSpace = false;
break;
case "comma":
if (flow) {
if (comma)
onError(token, "UNEXPECTED_TOKEN", `Unexpected , in ${flow}`);
comma = token;
atNewline = false;
hasSpace = false;
break;
}
// else fallthrough
default:
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${token.type} token`);
atNewline = false;
hasSpace = false;
}
}
const last = tokens[tokens.length - 1];
const end = last ? last.offset + last.source.length : offset;
if (reqSpace && next2 && next2.type !== "space" && next2.type !== "newline" && next2.type !== "comma" && (next2.type !== "scalar" || next2.source !== "")) {
onError(next2.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
}
if (tab && (atNewline && tab.indent <= parentIndent || next2?.type === "block-map" || next2?.type === "block-seq"))
onError(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
return {
comma,
found,
spaceBefore,
comment,
hasNewline,
anchor,
tag,
newlineAfterProp,
end,
start: start ?? end
};
}
exports2.resolveProps = resolveProps;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-contains-newline.js
var require_util_contains_newline = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) {
"use strict";
function containsNewline(key) {
if (!key)
return null;
switch (key.type) {
case "alias":
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
if (key.source.includes("\n"))
return true;
if (key.end) {
for (const st of key.end)
if (st.type === "newline")
return true;
}
return false;
case "flow-collection":
for (const it of key.items) {
for (const st of it.start)
if (st.type === "newline")
return true;
if (it.sep) {
for (const st of it.sep)
if (st.type === "newline")
return true;
}
if (containsNewline(it.key) || containsNewline(it.value))
return true;
}
return false;
default:
return true;
}
}
exports2.containsNewline = containsNewline;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-flow-indent-check.js
var require_util_flow_indent_check = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) {
"use strict";
var utilContainsNewline = require_util_contains_newline();
function flowIndentCheck(indent, fc, onError) {
if (fc?.type === "flow-collection") {
const end = fc.end[0];
if (end.indent === indent && (end.source === "]" || end.source === "}") && utilContainsNewline.containsNewline(fc)) {
const msg = "Flow end indicator should be more indented than parent";
onError(end, "BAD_INDENT", msg, true);
}
}
}
exports2.flowIndentCheck = flowIndentCheck;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-map-includes.js
var require_util_map_includes = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-map-includes.js"(exports2) {
"use strict";
var identity5 = require_identity();
function mapIncludes(ctx, items, search2) {
const { uniqueKeys } = ctx.options;
if (uniqueKeys === false)
return false;
const isEqual2 = typeof uniqueKeys === "function" ? uniqueKeys : (a2, b) => a2 === b || identity5.isScalar(a2) && identity5.isScalar(b) && a2.value === b.value;
return items.some((pair) => isEqual2(pair.key, search2));
}
exports2.mapIncludes = mapIncludes;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-map.js
var require_resolve_block_map = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) {
"use strict";
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilFlowIndentCheck = require_util_flow_indent_check();
var utilMapIncludes = require_util_map_includes();
var startColMsg = "All mapping items must start at the same column";
function resolveBlockMap({ composeNode: composeNode2, composeEmptyNode }, ctx, bm, onError, tag) {
const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
const map26 = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
let offset = bm.offset;
let commentEnd = null;
for (const collItem of bm.items) {
const { start, key, sep: sep2, value } = collItem;
const keyProps = resolveProps.resolveProps(start, {
indicator: "explicit-key-ind",
next: key ?? sep2?.[0],
offset,
onError,
parentIndent: bm.indent,
startOnNewline: true
});
const implicitKey = !keyProps.found;
if (implicitKey) {
if (key) {
if (key.type === "block-seq")
onError(offset, "BLOCK_AS_IMPLICIT_KEY", "A block sequence may not be used as an implicit map key");
else if ("indent" in key && key.indent !== bm.indent)
onError(offset, "BAD_INDENT", startColMsg);
}
if (!keyProps.anchor && !keyProps.tag && !sep2) {
commentEnd = keyProps.end;
if (keyProps.comment) {
if (map26.comment)
map26.comment += "\n" + keyProps.comment;
else
map26.comment = keyProps.comment;
}
continue;
}
if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
onError(key ?? start[start.length - 1], "MULTILINE_IMPLICIT_KEY", "Implicit keys need to be on a single line");
}
} else if (keyProps.found?.indent !== bm.indent) {
onError(offset, "BAD_INDENT", startColMsg);
}
ctx.atKey = true;
const keyStart = keyProps.end;
const keyNode = key ? composeNode2(ctx, key, keyProps, onError) : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
ctx.atKey = false;
if (utilMapIncludes.mapIncludes(ctx, map26.items, keyNode))
onError(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
const valueProps = resolveProps.resolveProps(sep2 ?? [], {
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError,
parentIndent: bm.indent,
startOnNewline: !key || key.type === "block-scalar"
});
offset = valueProps.end;
if (valueProps.found) {
if (implicitKey) {
if (value?.type === "block-map" && !valueProps.hasNewline)
onError(offset, "BLOCK_AS_IMPLICIT_KEY", "Nested mappings are not allowed in compact mappings");
if (ctx.options.strict && keyProps.start < valueProps.found.offset - 1024)
onError(keyNode.range, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit block mapping key");
}
const valueNode = value ? composeNode2(ctx, value, valueProps, onError) : composeEmptyNode(ctx, offset, sep2, null, valueProps, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
offset = valueNode.range[2];
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map26.items.push(pair);
} else {
if (implicitKey)
onError(keyNode.range, "MISSING_CHAR", "Implicit map keys need to be followed by map values");
if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += "\n" + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map26.items.push(pair);
}
}
if (commentEnd && commentEnd < offset)
onError(commentEnd, "IMPOSSIBLE", "Map comment with trailing content");
map26.range = [bm.offset, offset, commentEnd ?? offset];
return map26;
}
exports2.resolveBlockMap = resolveBlockMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-seq.js
var require_resolve_block_seq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) {
"use strict";
var YAMLSeq = require_YAMLSeq();
var resolveProps = require_resolve_props();
var utilFlowIndentCheck = require_util_flow_indent_check();
function resolveBlockSeq({ composeNode: composeNode2, composeEmptyNode }, ctx, bs, onError, tag) {
const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
const seq2 = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = bs.offset;
let commentEnd = null;
for (const { start, value } of bs.items) {
const props3 = resolveProps.resolveProps(start, {
indicator: "seq-item-ind",
next: value,
offset,
onError,
parentIndent: bs.indent,
startOnNewline: true
});
if (!props3.found) {
if (props3.anchor || props3.tag || value) {
if (value?.type === "block-seq")
onError(props3.end, "BAD_INDENT", "All sequence items must start at the same column");
else
onError(offset, "MISSING_CHAR", "Sequence item without - indicator");
} else {
commentEnd = props3.end;
if (props3.comment)
seq2.comment = props3.comment;
continue;
}
}
const node = value ? composeNode2(ctx, value, props3, onError) : composeEmptyNode(ctx, props3.end, start, null, props3, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError);
offset = node.range[2];
seq2.items.push(node);
}
seq2.range = [bs.offset, offset, commentEnd ?? offset];
return seq2;
}
exports2.resolveBlockSeq = resolveBlockSeq;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-end.js
var require_resolve_end = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-end.js"(exports2) {
"use strict";
function resolveEnd(end, offset, reqSpace, onError) {
let comment = "";
if (end) {
let hasSpace = false;
let sep2 = "";
for (const token of end) {
const { source, type: type4 } = token;
switch (type4) {
case "space":
hasSpace = true;
break;
case "comment": {
if (reqSpace && !hasSpace)
onError(token, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += sep2 + cb;
sep2 = "";
break;
}
case "newline":
if (comment)
sep2 += source;
hasSpace = true;
break;
default:
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${type4} at node end`);
}
offset += source.length;
}
}
return { comment, offset };
}
exports2.resolveEnd = resolveEnd;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-flow-collection.js
var require_resolve_flow_collection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilMapIncludes = require_util_map_includes();
var blockMsg = "Block collections are not allowed within flow collections";
var isBlock = (token) => token && (token.type === "block-map" || token.type === "block-seq");
function resolveFlowCollection({ composeNode: composeNode2, composeEmptyNode }, ctx, fc, onError, tag) {
const isMap = fc.start.source === "{";
const fcName = isMap ? "flow map" : "flow sequence";
const NodeClass = tag?.nodeClass ?? (isMap ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq);
const coll = new NodeClass(ctx.schema);
coll.flow = true;
const atRoot = ctx.atRoot;
if (atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = fc.offset + fc.start.source.length;
for (let i4 = 0; i4 < fc.items.length; ++i4) {
const collItem = fc.items[i4];
const { start, key, sep: sep2, value } = collItem;
const props3 = resolveProps.resolveProps(start, {
flow: fcName,
indicator: "explicit-key-ind",
next: key ?? sep2?.[0],
offset,
onError,
parentIndent: fc.indent,
startOnNewline: false
});
if (!props3.found) {
if (!props3.anchor && !props3.tag && !sep2 && !value) {
if (i4 === 0 && props3.comma)
onError(props3.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
else if (i4 < fc.items.length - 1)
onError(props3.start, "UNEXPECTED_TOKEN", `Unexpected empty item in ${fcName}`);
if (props3.comment) {
if (coll.comment)
coll.comment += "\n" + props3.comment;
else
coll.comment = props3.comment;
}
offset = props3.end;
continue;
}
if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key))
onError(
key,
// checked by containsNewline()
"MULTILINE_IMPLICIT_KEY",
"Implicit keys of flow sequence pairs need to be on a single line"
);
}
if (i4 === 0) {
if (props3.comma)
onError(props3.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
} else {
if (!props3.comma)
onError(props3.start, "MISSING_CHAR", `Missing , between ${fcName} items`);
if (props3.comment) {
let prevItemComment = "";
loop: for (const st of start) {
switch (st.type) {
case "comma":
case "space":
break;
case "comment":
prevItemComment = st.source.substring(1);
break loop;
default:
break loop;
}
}
if (prevItemComment) {
let prev = coll.items[coll.items.length - 1];
if (identity5.isPair(prev))
prev = prev.value ?? prev.key;
if (prev.comment)
prev.comment += "\n" + prevItemComment;
else
prev.comment = prevItemComment;
props3.comment = props3.comment.substring(prevItemComment.length + 1);
}
}
}
if (!isMap && !sep2 && !props3.found) {
const valueNode = value ? composeNode2(ctx, value, props3, onError) : composeEmptyNode(ctx, props3.end, sep2, null, props3, onError);
coll.items.push(valueNode);
offset = valueNode.range[2];
if (isBlock(value))
onError(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else {
ctx.atKey = true;
const keyStart = props3.end;
const keyNode = key ? composeNode2(ctx, key, props3, onError) : composeEmptyNode(ctx, keyStart, start, null, props3, onError);
if (isBlock(key))
onError(keyNode.range, "BLOCK_IN_FLOW", blockMsg);
ctx.atKey = false;
const valueProps = resolveProps.resolveProps(sep2 ?? [], {
flow: fcName,
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError,
parentIndent: fc.indent,
startOnNewline: false
});
if (valueProps.found) {
if (!isMap && !props3.found && ctx.options.strict) {
if (sep2)
for (const st of sep2) {
if (st === valueProps.found)
break;
if (st.type === "newline") {
onError(st, "MULTILINE_IMPLICIT_KEY", "Implicit keys of flow sequence pairs need to be on a single line");
break;
}
}
if (props3.start < valueProps.found.offset - 1024)
onError(valueProps.found, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit flow sequence key");
}
} else if (value) {
if ("source" in value && value.source?.[0] === ":")
onError(value, "MISSING_CHAR", `Missing space after : in ${fcName}`);
else
onError(valueProps.start, "MISSING_CHAR", `Missing , or : between ${fcName} items`);
}
const valueNode = value ? composeNode2(ctx, value, valueProps, onError) : valueProps.found ? composeEmptyNode(ctx, valueProps.end, sep2, null, valueProps, onError) : null;
if (valueNode) {
if (isBlock(value))
onError(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += "\n" + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
if (isMap) {
const map26 = coll;
if (utilMapIncludes.mapIncludes(ctx, map26.items, keyNode))
onError(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
map26.items.push(pair);
} else {
const map26 = new YAMLMap.YAMLMap(ctx.schema);
map26.flow = true;
map26.items.push(pair);
const endRange = (valueNode ?? keyNode).range;
map26.range = [keyNode.range[0], endRange[1], endRange[2]];
coll.items.push(map26);
}
offset = valueNode ? valueNode.range[2] : valueProps.end;
}
}
const expectedEnd = isMap ? "}" : "]";
const [ce, ...ee] = fc.end;
let cePos = offset;
if (ce?.source === expectedEnd)
cePos = ce.offset + ce.source.length;
else {
const name = fcName[0].toUpperCase() + fcName.substring(1);
const msg = atRoot ? `${name} must end with a ${expectedEnd}` : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
onError(offset, atRoot ? "MISSING_CHAR" : "BAD_INDENT", msg);
if (ce && ce.source.length !== 1)
ee.unshift(ce);
}
if (ee.length > 0) {
const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError);
if (end.comment) {
if (coll.comment)
coll.comment += "\n" + end.comment;
else
coll.comment = end.comment;
}
coll.range = [fc.offset, cePos, end.offset];
} else {
coll.range = [fc.offset, cePos, cePos];
}
return coll;
}
exports2.resolveFlowCollection = resolveFlowCollection;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-collection.js
var require_compose_collection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-collection.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveBlockMap = require_resolve_block_map();
var resolveBlockSeq = require_resolve_block_seq();
var resolveFlowCollection = require_resolve_flow_collection();
function resolveCollection(CN, ctx, token, onError, tagName, tag) {
const coll = token.type === "block-map" ? resolveBlockMap.resolveBlockMap(CN, ctx, token, onError, tag) : token.type === "block-seq" ? resolveBlockSeq.resolveBlockSeq(CN, ctx, token, onError, tag) : resolveFlowCollection.resolveFlowCollection(CN, ctx, token, onError, tag);
const Coll = coll.constructor;
if (tagName === "!" || tagName === Coll.tagName) {
coll.tag = Coll.tagName;
return coll;
}
if (tagName)
coll.tag = tagName;
return coll;
}
function composeCollection(CN, ctx, token, props3, onError) {
const tagToken = props3.tag;
const tagName = !tagToken ? null : ctx.directives.tagName(tagToken.source, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg));
if (token.type === "block-seq") {
const { anchor, newlineAfterProp: nl } = props3;
const lastProp = anchor && tagToken ? anchor.offset > tagToken.offset ? anchor : tagToken : anchor ?? tagToken;
if (lastProp && (!nl || nl.offset < lastProp.offset)) {
const message = "Missing newline after block sequence props";
onError(lastProp, "MISSING_CHAR", message);
}
}
const expType = token.type === "block-map" ? "map" : token.type === "block-seq" ? "seq" : token.start.source === "{" ? "map" : "seq";
if (!tagToken || !tagName || tagName === "!" || tagName === YAMLMap.YAMLMap.tagName && expType === "map" || tagName === YAMLSeq.YAMLSeq.tagName && expType === "seq") {
return resolveCollection(CN, ctx, token, onError, tagName);
}
let tag = ctx.schema.tags.find((t2) => t2.tag === tagName && t2.collection === expType);
if (!tag) {
const kt = ctx.schema.knownTags[tagName];
if (kt?.collection === expType) {
ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
tag = kt;
} else {
if (kt) {
onError(tagToken, "BAD_COLLECTION_TYPE", `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? "scalar"}`, true);
} else {
onError(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, true);
}
return resolveCollection(CN, ctx, token, onError, tagName);
}
}
const coll = resolveCollection(CN, ctx, token, onError, tagName, tag);
const res = tag.resolve?.(coll, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg), ctx.options) ?? coll;
const node = identity5.isNode(res) ? res : new Scalar.Scalar(res);
node.range = coll.range;
node.tag = tagName;
if (tag?.format)
node.format = tag.format;
return node;
}
exports2.composeCollection = composeCollection;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-scalar.js
var require_resolve_block_scalar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
function resolveBlockScalar(ctx, scalar, onError) {
const start = scalar.offset;
const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError);
if (!header)
return { value: "", type: null, comment: "", range: [start, start, start] };
const type4 = header.mode === ">" ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
const lines = scalar.source ? splitLines(scalar.source) : [];
let chompStart = lines.length;
for (let i4 = lines.length - 1; i4 >= 0; --i4) {
const content = lines[i4][1];
if (content === "" || content === "\r")
chompStart = i4;
else
break;
}
if (chompStart === 0) {
const value2 = header.chomp === "+" && lines.length > 0 ? "\n".repeat(Math.max(1, lines.length - 1)) : "";
let end2 = start + header.length;
if (scalar.source)
end2 += scalar.source.length;
return { value: value2, type: type4, comment: header.comment, range: [start, end2, end2] };
}
let trimIndent = scalar.indent + header.indent;
let offset = scalar.offset + header.length;
let contentStart = 0;
for (let i4 = 0; i4 < chompStart; ++i4) {
const [indent, content] = lines[i4];
if (content === "" || content === "\r") {
if (header.indent === 0 && indent.length > trimIndent)
trimIndent = indent.length;
} else {
if (indent.length < trimIndent) {
const message = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator";
onError(offset + indent.length, "MISSING_CHAR", message);
}
if (header.indent === 0)
trimIndent = indent.length;
contentStart = i4;
if (trimIndent === 0 && !ctx.atRoot) {
const message = "Block scalar values in collections must be indented";
onError(offset, "BAD_INDENT", message);
}
break;
}
offset += indent.length + content.length + 1;
}
for (let i4 = lines.length - 1; i4 >= chompStart; --i4) {
if (lines[i4][0].length > trimIndent)
chompStart = i4 + 1;
}
let value = "";
let sep2 = "";
let prevMoreIndented = false;
for (let i4 = 0; i4 < contentStart; ++i4)
value += lines[i4][0].slice(trimIndent) + "\n";
for (let i4 = contentStart; i4 < chompStart; ++i4) {
let [indent, content] = lines[i4];
offset += indent.length + content.length + 1;
const crlf = content[content.length - 1] === "\r";
if (crlf)
content = content.slice(0, -1);
if (content && indent.length < trimIndent) {
const src2 = header.indent ? "explicit indentation indicator" : "first line";
const message = `Block scalar lines must not be less indented than their ${src2}`;
onError(offset - content.length - (crlf ? 2 : 1), "BAD_INDENT", message);
indent = "";
}
if (type4 === Scalar.Scalar.BLOCK_LITERAL) {
value += sep2 + indent.slice(trimIndent) + content;
sep2 = "\n";
} else if (indent.length > trimIndent || content[0] === " ") {
if (sep2 === " ")
sep2 = "\n";
else if (!prevMoreIndented && sep2 === "\n")
sep2 = "\n\n";
value += sep2 + indent.slice(trimIndent) + content;
sep2 = "\n";
prevMoreIndented = true;
} else if (content === "") {
if (sep2 === "\n")
value += "\n";
else
sep2 = "\n";
} else {
value += sep2 + content;
sep2 = " ";
prevMoreIndented = false;
}
}
switch (header.chomp) {
case "-":
break;
case "+":
for (let i4 = chompStart; i4 < lines.length; ++i4)
value += "\n" + lines[i4][0].slice(trimIndent);
if (value[value.length - 1] !== "\n")
value += "\n";
break;
default:
value += "\n";
}
const end = start + header.length + scalar.source.length;
return { value, type: type4, comment: header.comment, range: [start, end, end] };
}
function parseBlockScalarHeader({ offset, props: props3 }, strict, onError) {
if (props3[0].type !== "block-scalar-header") {
onError(props3[0], "IMPOSSIBLE", "Block scalar header not found");
return null;
}
const { source } = props3[0];
const mode = source[0];
let indent = 0;
let chomp = "";
let error = -1;
for (let i4 = 1; i4 < source.length; ++i4) {
const ch = source[i4];
if (!chomp && (ch === "-" || ch === "+"))
chomp = ch;
else {
const n2 = Number(ch);
if (!indent && n2)
indent = n2;
else if (error === -1)
error = offset + i4;
}
}
if (error !== -1)
onError(error, "UNEXPECTED_TOKEN", `Block scalar header includes extra characters: ${source}`);
let hasSpace = false;
let comment = "";
let length = source.length;
for (let i4 = 1; i4 < props3.length; ++i4) {
const token = props3[i4];
switch (token.type) {
case "space":
hasSpace = true;
// fallthrough
case "newline":
length += token.source.length;
break;
case "comment":
if (strict && !hasSpace) {
const message = "Comments must be separated from other tokens by white space characters";
onError(token, "MISSING_CHAR", message);
}
length += token.source.length;
comment = token.source.substring(1);
break;
case "error":
onError(token, "UNEXPECTED_TOKEN", token.message);
length += token.source.length;
break;
/* istanbul ignore next should not happen */
default: {
const message = `Unexpected token in block scalar header: ${token.type}`;
onError(token, "UNEXPECTED_TOKEN", message);
const ts = token.source;
if (ts && typeof ts === "string")
length += ts.length;
}
}
}
return { mode, indent, chomp, comment, length };
}
function splitLines(source) {
const split4 = source.split(/\n( *)/);
const first = split4[0];
const m = first.match(/^( *)/);
const line0 = m?.[1] ? [m[1], first.slice(m[1].length)] : ["", first];
const lines = [line0];
for (let i4 = 1; i4 < split4.length; i4 += 2)
lines.push([split4[i4], split4[i4 + 1]]);
return lines;
}
exports2.resolveBlockScalar = resolveBlockScalar;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-flow-scalar.js
var require_resolve_flow_scalar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var resolveEnd = require_resolve_end();
function resolveFlowScalar(scalar, strict, onError) {
const { offset, type: type4, source, end } = scalar;
let _type;
let value;
const _onError = (rel, code, msg) => onError(offset + rel, code, msg);
switch (type4) {
case "scalar":
_type = Scalar.Scalar.PLAIN;
value = plainValue(source, _onError);
break;
case "single-quoted-scalar":
_type = Scalar.Scalar.QUOTE_SINGLE;
value = singleQuotedValue(source, _onError);
break;
case "double-quoted-scalar":
_type = Scalar.Scalar.QUOTE_DOUBLE;
value = doubleQuotedValue(source, _onError);
break;
/* istanbul ignore next should not happen */
default:
onError(scalar, "UNEXPECTED_TOKEN", `Expected a flow scalar value, but found: ${type4}`);
return {
value: "",
type: null,
comment: "",
range: [offset, offset + source.length, offset + source.length]
};
}
const valueEnd = offset + source.length;
const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
return {
value,
type: _type,
comment: re.comment,
range: [offset, valueEnd, re.offset]
};
}
function plainValue(source, onError) {
let badChar = "";
switch (source[0]) {
/* istanbul ignore next should not happen */
case " ":
badChar = "a tab character";
break;
case ",":
badChar = "flow indicator character ,";
break;
case "%":
badChar = "directive indicator character %";
break;
case "|":
case ">": {
badChar = `block scalar indicator ${source[0]}`;
break;
}
case "@":
case "`": {
badChar = `reserved character ${source[0]}`;
break;
}
}
if (badChar)
onError(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
return foldLines(source);
}
function singleQuotedValue(source, onError) {
if (source[source.length - 1] !== "'" || source.length === 1)
onError(source.length, "MISSING_CHAR", "Missing closing 'quote");
return foldLines(source.slice(1, -1)).replace(/''/g, "'");
}
function foldLines(source) {
let first, line;
try {
first = new RegExp("(.*?)(?<![ ])[ ]*\r?\n", "sy");
line = new RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n", "sy");
} catch {
first = /(.*?)[ \t]*\r?\n/sy;
line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
}
let match = first.exec(source);
if (!match)
return source;
let res = match[1];
let sep2 = " ";
let pos = first.lastIndex;
line.lastIndex = pos;
while (match = line.exec(source)) {
if (match[1] === "") {
if (sep2 === "\n")
res += sep2;
else
sep2 = "\n";
} else {
res += sep2 + match[1];
sep2 = " ";
}
pos = line.lastIndex;
}
const last = /[ \t]*(.*)/sy;
last.lastIndex = pos;
match = last.exec(source);
return res + sep2 + (match?.[1] ?? "");
}
function doubleQuotedValue(source, onError) {
let res = "";
for (let i4 = 1; i4 < source.length - 1; ++i4) {
const ch = source[i4];
if (ch === "\r" && source[i4 + 1] === "\n")
continue;
if (ch === "\n") {
const { fold, offset } = foldNewline(source, i4);
res += fold;
i4 = offset;
} else if (ch === "\\") {
let next2 = source[++i4];
const cc = escapeCodes[next2];
if (cc)
res += cc;
else if (next2 === "\n") {
next2 = source[i4 + 1];
while (next2 === " " || next2 === " ")
next2 = source[++i4 + 1];
} else if (next2 === "\r" && source[i4 + 1] === "\n") {
next2 = source[++i4 + 1];
while (next2 === " " || next2 === " ")
next2 = source[++i4 + 1];
} else if (next2 === "x" || next2 === "u" || next2 === "U") {
const length = next2 === "x" ? 2 : next2 === "u" ? 4 : 8;
res += parseCharCode(source, i4 + 1, length, onError);
i4 += length;
} else {
const raw = source.substr(i4 - 1, 2);
onError(i4 - 1, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
res += raw;
}
} else if (ch === " " || ch === " ") {
const wsStart = i4;
let next2 = source[i4 + 1];
while (next2 === " " || next2 === " ")
next2 = source[++i4 + 1];
if (next2 !== "\n" && !(next2 === "\r" && source[i4 + 2] === "\n"))
res += i4 > wsStart ? source.slice(wsStart, i4 + 1) : ch;
} else {
res += ch;
}
}
if (source[source.length - 1] !== '"' || source.length === 1)
onError(source.length, "MISSING_CHAR", 'Missing closing "quote');
return res;
}
function foldNewline(source, offset) {
let fold = "";
let ch = source[offset + 1];
while (ch === " " || ch === " " || ch === "\n" || ch === "\r") {
if (ch === "\r" && source[offset + 2] !== "\n")
break;
if (ch === "\n")
fold += "\n";
offset += 1;
ch = source[offset + 1];
}
if (!fold)
fold = " ";
return { fold, offset };
}
var escapeCodes = {
"0": "\0",
// null character
a: "\x07",
// bell character
b: "\b",
// backspace
e: "\x1B",
// escape character
f: "\f",
// form feed
n: "\n",
// line feed
r: "\r",
// carriage return
t: " ",
// horizontal tab
v: "\v",
// vertical tab
N: "\x85",
// Unicode next line
_: "\xA0",
// Unicode non-breaking space
L: "\u2028",
// Unicode line separator
P: "\u2029",
// Unicode paragraph separator
" ": " ",
'"': '"',
"/": "/",
"\\": "\\",
" ": " "
};
function parseCharCode(source, offset, length, onError) {
const cc = source.substr(offset, length);
const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
const code = ok ? parseInt(cc, 16) : NaN;
try {
return String.fromCodePoint(code);
} catch {
const raw = source.substr(offset - 2, length + 2);
onError(offset - 2, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
return raw;
}
}
exports2.resolveFlowScalar = resolveFlowScalar;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-scalar.js
var require_compose_scalar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-scalar.js"(exports2) {
"use strict";
var identity5 = require_identity();
var Scalar = require_Scalar();
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
function composeScalar(ctx, token, tagToken, onError) {
const { value, type: type4, comment, range } = token.type === "block-scalar" ? resolveBlockScalar.resolveBlockScalar(ctx, token, onError) : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError);
const tagName = tagToken ? ctx.directives.tagName(tagToken.source, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg)) : null;
let tag;
if (ctx.options.stringKeys && ctx.atKey) {
tag = ctx.schema[identity5.SCALAR];
} else if (tagName)
tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError);
else if (token.type === "scalar")
tag = findScalarTagByTest(ctx, value, token, onError);
else
tag = ctx.schema[identity5.SCALAR];
let scalar;
try {
const res = tag.resolve(value, (msg) => onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg), ctx.options);
scalar = identity5.isScalar(res) ? res : new Scalar.Scalar(res);
} catch (error) {
const msg = error instanceof Error ? error.message : String(error);
onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg);
scalar = new Scalar.Scalar(value);
}
scalar.range = range;
scalar.source = value;
if (type4)
scalar.type = type4;
if (tagName)
scalar.tag = tagName;
if (tag.format)
scalar.format = tag.format;
if (comment)
scalar.comment = comment;
return scalar;
}
function findScalarTagByName(schema2, value, tagName, tagToken, onError) {
if (tagName === "!")
return schema2[identity5.SCALAR];
const matchWithTest = [];
for (const tag of schema2.tags) {
if (!tag.collection && tag.tag === tagName) {
if (tag.default && tag.test)
matchWithTest.push(tag);
else
return tag;
}
}
for (const tag of matchWithTest)
if (tag.test?.test(value))
return tag;
const kt = schema2.knownTags[tagName];
if (kt && !kt.collection) {
schema2.tags.push(Object.assign({}, kt, { default: false, test: void 0 }));
return kt;
}
onError(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, tagName !== "tag:yaml.org,2002:str");
return schema2[identity5.SCALAR];
}
function findScalarTagByTest({ atKey, directives, schema: schema2 }, value, token, onError) {
const tag = schema2.tags.find((tag2) => (tag2.default === true || atKey && tag2.default === "key") && tag2.test?.test(value)) || schema2[identity5.SCALAR];
if (schema2.compat) {
const compat = schema2.compat.find((tag2) => tag2.default && tag2.test?.test(value)) ?? schema2[identity5.SCALAR];
if (tag.tag !== compat.tag) {
const ts = directives.tagString(tag.tag);
const cs = directives.tagString(compat.tag);
const msg = `Value may be parsed as either ${ts} or ${cs}`;
onError(token, "TAG_RESOLVE_FAILED", msg, true);
}
}
return tag;
}
exports2.composeScalar = composeScalar;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-empty-scalar-position.js
var require_util_empty_scalar_position = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) {
"use strict";
function emptyScalarPosition(offset, before, pos) {
if (before) {
pos ?? (pos = before.length);
for (let i4 = pos - 1; i4 >= 0; --i4) {
let st = before[i4];
switch (st.type) {
case "space":
case "comment":
case "newline":
offset -= st.source.length;
continue;
}
st = before[++i4];
while (st?.type === "space") {
offset += st.source.length;
st = before[++i4];
}
break;
}
}
return offset;
}
exports2.emptyScalarPosition = emptyScalarPosition;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-node.js
var require_compose_node = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-node.js"(exports2) {
"use strict";
var Alias = require_Alias();
var identity5 = require_identity();
var composeCollection = require_compose_collection();
var composeScalar = require_compose_scalar();
var resolveEnd = require_resolve_end();
var utilEmptyScalarPosition = require_util_empty_scalar_position();
var CN = { composeNode: composeNode2, composeEmptyNode };
function composeNode2(ctx, token, props3, onError) {
const atKey = ctx.atKey;
const { spaceBefore, comment, anchor, tag } = props3;
let node;
let isSrcToken = true;
switch (token.type) {
case "alias":
node = composeAlias(ctx, token, onError);
if (anchor || tag)
onError(token, "ALIAS_PROPS", "An alias node must not specify any properties");
break;
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "block-scalar":
node = composeScalar.composeScalar(ctx, token, tag, onError);
if (anchor)
node.anchor = anchor.source.substring(1);
break;
case "block-map":
case "block-seq":
case "flow-collection":
try {
node = composeCollection.composeCollection(CN, ctx, token, props3, onError);
if (anchor)
node.anchor = anchor.source.substring(1);
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
onError(token, "RESOURCE_EXHAUSTION", message);
}
break;
default: {
const message = token.type === "error" ? token.message : `Unsupported token (type: ${token.type})`;
onError(token, "UNEXPECTED_TOKEN", message);
isSrcToken = false;
}
}
node ?? (node = composeEmptyNode(ctx, token.offset, void 0, null, props3, onError));
if (anchor && node.anchor === "")
onError(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
if (atKey && ctx.options.stringKeys && (!identity5.isScalar(node) || typeof node.value !== "string" || node.tag && node.tag !== "tag:yaml.org,2002:str")) {
const msg = "With stringKeys, all keys must be strings";
onError(tag ?? token, "NON_STRING_KEY", msg);
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
if (token.type === "scalar" && token.source === "")
node.comment = comment;
else
node.commentBefore = comment;
}
if (ctx.options.keepSourceTokens && isSrcToken)
node.srcToken = token;
return node;
}
function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) {
const token = {
type: "scalar",
offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
indent: -1,
source: ""
};
const node = composeScalar.composeScalar(ctx, token, tag, onError);
if (anchor) {
node.anchor = anchor.source.substring(1);
if (node.anchor === "")
onError(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
node.comment = comment;
node.range[2] = end;
}
return node;
}
function composeAlias({ options }, { offset, source, end }, onError) {
const alias = new Alias.Alias(source.substring(1));
if (alias.source === "")
onError(offset, "BAD_ALIAS", "Alias cannot be an empty string");
if (alias.source.endsWith(":"))
onError(offset + source.length - 1, "BAD_ALIAS", "Alias ending in : is ambiguous", true);
const valueEnd = offset + source.length;
const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
alias.range = [offset, valueEnd, re.offset];
if (re.comment)
alias.comment = re.comment;
return alias;
}
exports2.composeEmptyNode = composeEmptyNode;
exports2.composeNode = composeNode2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-doc.js
var require_compose_doc = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/compose-doc.js"(exports2) {
"use strict";
var Document = require_Document();
var composeNode2 = require_compose_node();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
function composeDoc(options, directives, { offset, start, value, end }, onError) {
const opts3 = Object.assign({ _directives: directives }, options);
const doc = new Document.Document(void 0, opts3);
const ctx = {
atKey: false,
atRoot: true,
directives: doc.directives,
options: doc.options,
schema: doc.schema
};
const props3 = resolveProps.resolveProps(start, {
indicator: "doc-start",
next: value ?? end?.[0],
offset,
onError,
parentIndent: 0,
startOnNewline: true
});
if (props3.found) {
doc.directives.docStart = true;
if (value && (value.type === "block-map" || value.type === "block-seq") && !props3.hasNewline)
onError(props3.end, "MISSING_CHAR", "Block collection cannot start on same line with directives-end marker");
}
doc.contents = value ? composeNode2.composeNode(ctx, value, props3, onError) : composeNode2.composeEmptyNode(ctx, props3.end, start, null, props3, onError);
const contentEnd = doc.contents.range[2];
const re = resolveEnd.resolveEnd(end, contentEnd, false, onError);
if (re.comment)
doc.comment = re.comment;
doc.range = [offset, contentEnd, re.offset];
return doc;
}
exports2.composeDoc = composeDoc;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/composer.js
var require_composer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/compose/composer.js"(exports2) {
"use strict";
var node_process = __require("process");
var directives = require_directives();
var Document = require_Document();
var errors2 = require_errors6();
var identity5 = require_identity();
var composeDoc = require_compose_doc();
var resolveEnd = require_resolve_end();
function getErrorPos(src2) {
if (typeof src2 === "number")
return [src2, src2 + 1];
if (Array.isArray(src2))
return src2.length === 2 ? src2 : [src2[0], src2[1]];
const { offset, source } = src2;
return [offset, offset + (typeof source === "string" ? source.length : 1)];
}
function parsePrelude(prelude) {
let comment = "";
let atComment = false;
let afterEmptyLine = false;
for (let i4 = 0; i4 < prelude.length; ++i4) {
const source = prelude[i4];
switch (source[0]) {
case "#":
comment += (comment === "" ? "" : afterEmptyLine ? "\n\n" : "\n") + (source.substring(1) || " ");
atComment = true;
afterEmptyLine = false;
break;
case "%":
if (prelude[i4 + 1]?.[0] !== "#")
i4 += 1;
atComment = false;
break;
default:
if (!atComment)
afterEmptyLine = true;
atComment = false;
}
}
return { comment, afterEmptyLine };
}
var Composer = class {
constructor(options = {}) {
this.doc = null;
this.atDirectives = false;
this.prelude = [];
this.errors = [];
this.warnings = [];
this.onError = (source, code, message, warning) => {
const pos = getErrorPos(source);
if (warning)
this.warnings.push(new errors2.YAMLWarning(pos, code, message));
else
this.errors.push(new errors2.YAMLParseError(pos, code, message));
};
this.directives = new directives.Directives({ version: options.version || "1.2" });
this.options = options;
}
decorate(doc, afterDoc) {
const { comment, afterEmptyLine } = parsePrelude(this.prelude);
if (comment) {
const dc = doc.contents;
if (afterDoc) {
doc.comment = doc.comment ? `${doc.comment}
${comment}` : comment;
} else if (afterEmptyLine || doc.directives.docStart || !dc) {
doc.commentBefore = comment;
} else if (identity5.isCollection(dc) && !dc.flow && dc.items.length > 0) {
let it = dc.items[0];
if (identity5.isPair(it))
it = it.key;
const cb = it.commentBefore;
it.commentBefore = cb ? `${comment}
${cb}` : comment;
} else {
const cb = dc.commentBefore;
dc.commentBefore = cb ? `${comment}
${cb}` : comment;
}
}
if (afterDoc) {
for (let i4 = 0; i4 < this.errors.length; ++i4)
doc.errors.push(this.errors[i4]);
for (let i4 = 0; i4 < this.warnings.length; ++i4)
doc.warnings.push(this.warnings[i4]);
} else {
doc.errors = this.errors;
doc.warnings = this.warnings;
}
this.prelude = [];
this.errors = [];
this.warnings = [];
}
/**
* Current stream status information.
*
* Mostly useful at the end of input for an empty stream.
*/
streamInfo() {
return {
comment: parsePrelude(this.prelude).comment,
directives: this.directives,
errors: this.errors,
warnings: this.warnings
};
}
/**
* Compose tokens into documents.
*
* @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
* @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
*/
*compose(tokens, forceDoc = false, endOffset = -1) {
for (const token of tokens)
yield* this.next(token);
yield* this.end(forceDoc, endOffset);
}
/** Advance the composer by one CST token. */
*next(token) {
if (node_process.env.LOG_STREAM)
console.dir(token, { depth: null });
switch (token.type) {
case "directive":
this.directives.add(token.source, (offset, message, warning) => {
const pos = getErrorPos(token);
pos[0] += offset;
this.onError(pos, "BAD_DIRECTIVE", message, warning);
});
this.prelude.push(token.source);
this.atDirectives = true;
break;
case "document": {
const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
if (this.atDirectives && !doc.directives.docStart)
this.onError(token, "MISSING_CHAR", "Missing directives-end/doc-start indicator line");
this.decorate(doc, false);
if (this.doc)
yield this.doc;
this.doc = doc;
this.atDirectives = false;
break;
}
case "byte-order-mark":
case "space":
break;
case "comment":
case "newline":
this.prelude.push(token.source);
break;
case "error": {
const msg = token.source ? `${token.message}: ${JSON.stringify(token.source)}` : token.message;
const error = new errors2.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", msg);
if (this.atDirectives || !this.doc)
this.errors.push(error);
else
this.doc.errors.push(error);
break;
}
case "doc-end": {
if (!this.doc) {
const msg = "Unexpected doc-end without preceding document";
this.errors.push(new errors2.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", msg));
break;
}
this.doc.directives.docEnd = true;
const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
this.decorate(this.doc, true);
if (end.comment) {
const dc = this.doc.comment;
this.doc.comment = dc ? `${dc}
${end.comment}` : end.comment;
}
this.doc.range[2] = end.offset;
break;
}
default:
this.errors.push(new errors2.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", `Unsupported token ${token.type}`));
}
}
/**
* Call at end of input to yield any remaining document.
*
* @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
* @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
*/
*end(forceDoc = false, endOffset = -1) {
if (this.doc) {
this.decorate(this.doc, true);
yield this.doc;
this.doc = null;
} else if (forceDoc) {
const opts3 = Object.assign({ _directives: this.directives }, this.options);
const doc = new Document.Document(void 0, opts3);
if (this.atDirectives)
this.onError(endOffset, "MISSING_CHAR", "Missing directives-end indicator line");
doc.range = [0, endOffset, endOffset];
this.decorate(doc, false);
yield doc;
}
}
};
exports2.Composer = Composer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-scalar.js
var require_cst_scalar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-scalar.js"(exports2) {
"use strict";
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
var errors2 = require_errors6();
var stringifyString = require_stringifyString();
function resolveAsScalar(token, strict = true, onError) {
if (token) {
const _onError = (pos, code, message) => {
const offset = typeof pos === "number" ? pos : Array.isArray(pos) ? pos[0] : pos.offset;
if (onError)
onError(offset, code, message);
else
throw new errors2.YAMLParseError([offset, offset + 1], code, message);
};
switch (token.type) {
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return resolveFlowScalar.resolveFlowScalar(token, strict, _onError);
case "block-scalar":
return resolveBlockScalar.resolveBlockScalar({ options: { strict } }, token, _onError);
}
}
return null;
}
function createScalarToken(value, context) {
const { implicitKey = false, indent, inFlow = false, offset = -1, type: type4 = "PLAIN" } = context;
const source = stringifyString.stringifyString({ type: type4, value }, {
implicitKey,
indent: indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
const end = context.end ?? [
{ type: "newline", offset: -1, indent, source: "\n" }
];
switch (source[0]) {
case "|":
case ">": {
const he = source.indexOf("\n");
const head2 = source.substring(0, he);
const body = source.substring(he + 1) + "\n";
const props3 = [
{ type: "block-scalar-header", offset, indent, source: head2 }
];
if (!addEndtoBlockProps(props3, end))
props3.push({ type: "newline", offset: -1, indent, source: "\n" });
return { type: "block-scalar", offset, indent, props: props3, source: body };
}
case '"':
return { type: "double-quoted-scalar", offset, indent, source, end };
case "'":
return { type: "single-quoted-scalar", offset, indent, source, end };
default:
return { type: "scalar", offset, indent, source, end };
}
}
function setScalarValue(token, value, context = {}) {
let { afterKey = false, implicitKey = false, inFlow = false, type: type4 } = context;
let indent = "indent" in token ? token.indent : null;
if (afterKey && typeof indent === "number")
indent += 2;
if (!type4)
switch (token.type) {
case "single-quoted-scalar":
type4 = "QUOTE_SINGLE";
break;
case "double-quoted-scalar":
type4 = "QUOTE_DOUBLE";
break;
case "block-scalar": {
const header = token.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
type4 = header.source[0] === ">" ? "BLOCK_FOLDED" : "BLOCK_LITERAL";
break;
}
default:
type4 = "PLAIN";
}
const source = stringifyString.stringifyString({ type: type4, value }, {
implicitKey: implicitKey || indent === null,
indent: indent !== null && indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
switch (source[0]) {
case "|":
case ">":
setBlockScalarValue(token, source);
break;
case '"':
setFlowScalarValue(token, source, "double-quoted-scalar");
break;
case "'":
setFlowScalarValue(token, source, "single-quoted-scalar");
break;
default:
setFlowScalarValue(token, source, "scalar");
}
}
function setBlockScalarValue(token, source) {
const he = source.indexOf("\n");
const head2 = source.substring(0, he);
const body = source.substring(he + 1) + "\n";
if (token.type === "block-scalar") {
const header = token.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
header.source = head2;
token.source = body;
} else {
const { offset } = token;
const indent = "indent" in token ? token.indent : -1;
const props3 = [
{ type: "block-scalar-header", offset, indent, source: head2 }
];
if (!addEndtoBlockProps(props3, "end" in token ? token.end : void 0))
props3.push({ type: "newline", offset: -1, indent, source: "\n" });
for (const key of Object.keys(token))
if (key !== "type" && key !== "offset")
delete token[key];
Object.assign(token, { type: "block-scalar", indent, props: props3, source: body });
}
}
function addEndtoBlockProps(props3, end) {
if (end)
for (const st of end)
switch (st.type) {
case "space":
case "comment":
props3.push(st);
break;
case "newline":
props3.push(st);
return true;
}
return false;
}
function setFlowScalarValue(token, source, type4) {
switch (token.type) {
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
token.type = type4;
token.source = source;
break;
case "block-scalar": {
const end = token.props.slice(1);
let oa = source.length;
if (token.props[0].type === "block-scalar-header")
oa -= token.props[0].source.length;
for (const tok of end)
tok.offset += oa;
delete token.props;
Object.assign(token, { type: type4, source, end });
break;
}
case "block-map":
case "block-seq": {
const offset = token.offset + source.length;
const nl = { type: "newline", offset, indent: token.indent, source: "\n" };
delete token.items;
Object.assign(token, { type: type4, source, end: [nl] });
break;
}
default: {
const indent = "indent" in token ? token.indent : -1;
const end = "end" in token && Array.isArray(token.end) ? token.end.filter((st) => st.type === "space" || st.type === "comment" || st.type === "newline") : [];
for (const key of Object.keys(token))
if (key !== "type" && key !== "offset")
delete token[key];
Object.assign(token, { type: type4, indent, source, end });
}
}
}
exports2.createScalarToken = createScalarToken;
exports2.resolveAsScalar = resolveAsScalar;
exports2.setScalarValue = setScalarValue;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-stringify.js
var require_cst_stringify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-stringify.js"(exports2) {
"use strict";
var stringify2 = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst);
function stringifyToken(token) {
switch (token.type) {
case "block-scalar": {
let res = "";
for (const tok of token.props)
res += stringifyToken(tok);
return res + token.source;
}
case "block-map":
case "block-seq": {
let res = "";
for (const item of token.items)
res += stringifyItem(item);
return res;
}
case "flow-collection": {
let res = token.start.source;
for (const item of token.items)
res += stringifyItem(item);
for (const st of token.end)
res += st.source;
return res;
}
case "document": {
let res = stringifyItem(token);
if (token.end)
for (const st of token.end)
res += st.source;
return res;
}
default: {
let res = token.source;
if ("end" in token && token.end)
for (const st of token.end)
res += st.source;
return res;
}
}
}
function stringifyItem({ start, key, sep: sep2, value }) {
let res = "";
for (const st of start)
res += st.source;
if (key)
res += stringifyToken(key);
if (sep2)
for (const st of sep2)
res += st.source;
if (value)
res += stringifyToken(value);
return res;
}
exports2.stringify = stringify2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-visit.js
var require_cst_visit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst-visit.js"(exports2) {
"use strict";
var BREAK = /* @__PURE__ */ Symbol("break visit");
var SKIP = /* @__PURE__ */ Symbol("skip children");
var REMOVE = /* @__PURE__ */ Symbol("remove item");
function visit(cst, visitor) {
if ("type" in cst && cst.type === "document")
cst = { start: cst.start, value: cst.value };
_visit(Object.freeze([]), cst, visitor);
}
visit.BREAK = BREAK;
visit.SKIP = SKIP;
visit.REMOVE = REMOVE;
visit.itemAtPath = (cst, path236) => {
let item = cst;
for (const [field, index2] of path236) {
const tok = item?.[field];
if (tok && "items" in tok) {
item = tok.items[index2];
} else
return void 0;
}
return item;
};
visit.parentCollection = (cst, path236) => {
const parent = visit.itemAtPath(cst, path236.slice(0, -1));
const field = path236[path236.length - 1][0];
const coll = parent?.[field];
if (coll && "items" in coll)
return coll;
throw new Error("Parent collection not found");
};
function _visit(path236, item, visitor) {
let ctrl = visitor(item, path236);
if (typeof ctrl === "symbol")
return ctrl;
for (const field of ["key", "value"]) {
const token = item[field];
if (token && "items" in token) {
for (let i4 = 0; i4 < token.items.length; ++i4) {
const ci = _visit(Object.freeze(path236.concat([[field, i4]])), token.items[i4], visitor);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
token.items.splice(i4, 1);
i4 -= 1;
}
}
if (typeof ctrl === "function" && field === "key")
ctrl = ctrl(item, path236);
}
}
return typeof ctrl === "function" ? ctrl(item, path236) : ctrl;
}
exports2.visit = visit;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst.js
var require_cst = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/cst.js"(exports2) {
"use strict";
var cstScalar = require_cst_scalar();
var cstStringify = require_cst_stringify();
var cstVisit = require_cst_visit();
var BOM = "\uFEFF";
var DOCUMENT = "";
var FLOW_END = "";
var SCALAR = "";
var isCollection = (token) => !!token && "items" in token;
var isScalar = (token) => !!token && (token.type === "scalar" || token.type === "single-quoted-scalar" || token.type === "double-quoted-scalar" || token.type === "block-scalar");
function prettyToken(token) {
switch (token) {
case BOM:
return "<BOM>";
case DOCUMENT:
return "<DOC>";
case FLOW_END:
return "<FLOW_END>";
case SCALAR:
return "<SCALAR>";
default:
return JSON.stringify(token);
}
}
function tokenType(source) {
switch (source) {
case BOM:
return "byte-order-mark";
case DOCUMENT:
return "doc-mode";
case FLOW_END:
return "flow-error-end";
case SCALAR:
return "scalar";
case "---":
return "doc-start";
case "...":
return "doc-end";
case "":
case "\n":
case "\r\n":
return "newline";
case "-":
return "seq-item-ind";
case "?":
return "explicit-key-ind";
case ":":
return "map-value-ind";
case "{":
return "flow-map-start";
case "}":
return "flow-map-end";
case "[":
return "flow-seq-start";
case "]":
return "flow-seq-end";
case ",":
return "comma";
}
switch (source[0]) {
case " ":
case " ":
return "space";
case "#":
return "comment";
case "%":
return "directive-line";
case "*":
return "alias";
case "&":
return "anchor";
case "!":
return "tag";
case "'":
return "single-quoted-scalar";
case '"':
return "double-quoted-scalar";
case "|":
case ">":
return "block-scalar-header";
}
return null;
}
exports2.createScalarToken = cstScalar.createScalarToken;
exports2.resolveAsScalar = cstScalar.resolveAsScalar;
exports2.setScalarValue = cstScalar.setScalarValue;
exports2.stringify = cstStringify.stringify;
exports2.visit = cstVisit.visit;
exports2.BOM = BOM;
exports2.DOCUMENT = DOCUMENT;
exports2.FLOW_END = FLOW_END;
exports2.SCALAR = SCALAR;
exports2.isCollection = isCollection;
exports2.isScalar = isScalar;
exports2.prettyToken = prettyToken;
exports2.tokenType = tokenType;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/lexer.js
var require_lexer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/lexer.js"(exports2) {
"use strict";
var cst = require_cst();
function isEmpty4(ch) {
switch (ch) {
case void 0:
case " ":
case "\n":
case "\r":
case " ":
return true;
default:
return false;
}
}
var hexDigits = new Set("0123456789ABCDEFabcdef");
var tagChars = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");
var flowIndicatorChars = new Set(",[]{}");
var invalidAnchorChars = new Set(" ,[]{}\n\r ");
var isNotAnchorChar = (ch) => !ch || invalidAnchorChars.has(ch);
var Lexer = class {
constructor() {
this.atEnd = false;
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
this.buffer = "";
this.flowKey = false;
this.flowLevel = 0;
this.indentNext = 0;
this.indentValue = 0;
this.lineEndPos = null;
this.next = null;
this.pos = 0;
}
/**
* Generate YAML tokens from the `source` string. If `incomplete`,
* a part of the last line may be left as a buffer for the next call.
*
* @returns A generator of lexical tokens
*/
*lex(source, incomplete = false) {
if (source) {
if (typeof source !== "string")
throw TypeError("source is not a string");
this.buffer = this.buffer ? this.buffer + source : source;
this.lineEndPos = null;
}
this.atEnd = !incomplete;
let next2 = this.next ?? "stream";
while (next2 && (incomplete || this.hasChars(1)))
next2 = yield* this.parseNext(next2);
}
atLineEnd() {
let i4 = this.pos;
let ch = this.buffer[i4];
while (ch === " " || ch === " ")
ch = this.buffer[++i4];
if (!ch || ch === "#" || ch === "\n")
return true;
if (ch === "\r")
return this.buffer[i4 + 1] === "\n";
return false;
}
charAt(n2) {
return this.buffer[this.pos + n2];
}
continueScalar(offset) {
let ch = this.buffer[offset];
if (this.indentNext > 0) {
let indent = 0;
while (ch === " ")
ch = this.buffer[++indent + offset];
if (ch === "\r") {
const next2 = this.buffer[indent + offset + 1];
if (next2 === "\n" || !next2 && !this.atEnd)
return offset + indent + 1;
}
return ch === "\n" || indent >= this.indentNext || !ch && !this.atEnd ? offset + indent : -1;
}
if (ch === "-" || ch === ".") {
const dt = this.buffer.substr(offset, 3);
if ((dt === "---" || dt === "...") && isEmpty4(this.buffer[offset + 3]))
return -1;
}
return offset;
}
getLine() {
let end = this.lineEndPos;
if (typeof end !== "number" || end !== -1 && end < this.pos) {
end = this.buffer.indexOf("\n", this.pos);
this.lineEndPos = end;
}
if (end === -1)
return this.atEnd ? this.buffer.substring(this.pos) : null;
if (this.buffer[end - 1] === "\r")
end -= 1;
return this.buffer.substring(this.pos, end);
}
hasChars(n2) {
return this.pos + n2 <= this.buffer.length;
}
setNext(state) {
this.buffer = this.buffer.substring(this.pos);
this.pos = 0;
this.lineEndPos = null;
this.next = state;
return null;
}
peek(n2) {
return this.buffer.substr(this.pos, n2);
}
*parseNext(next2) {
switch (next2) {
case "stream":
return yield* this.parseStream();
case "line-start":
return yield* this.parseLineStart();
case "block-start":
return yield* this.parseBlockStart();
case "doc":
return yield* this.parseDocument();
case "flow":
return yield* this.parseFlowCollection();
case "quoted-scalar":
return yield* this.parseQuotedScalar();
case "block-scalar":
return yield* this.parseBlockScalar();
case "plain-scalar":
return yield* this.parsePlainScalar();
}
}
*parseStream() {
let line = this.getLine();
if (line === null)
return this.setNext("stream");
if (line[0] === cst.BOM) {
yield* this.pushCount(1);
line = line.substring(1);
}
if (line[0] === "%") {
let dirEnd = line.length;
let cs = line.indexOf("#");
while (cs !== -1) {
const ch = line[cs - 1];
if (ch === " " || ch === " ") {
dirEnd = cs - 1;
break;
} else {
cs = line.indexOf("#", cs + 1);
}
}
while (true) {
const ch = line[dirEnd - 1];
if (ch === " " || ch === " ")
dirEnd -= 1;
else
break;
}
const n2 = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true));
yield* this.pushCount(line.length - n2);
this.pushNewline();
return "stream";
}
if (this.atLineEnd()) {
const sp = yield* this.pushSpaces(true);
yield* this.pushCount(line.length - sp);
yield* this.pushNewline();
return "stream";
}
yield cst.DOCUMENT;
return yield* this.parseLineStart();
}
*parseLineStart() {
const ch = this.charAt(0);
if (!ch && !this.atEnd)
return this.setNext("line-start");
if (ch === "-" || ch === ".") {
if (!this.atEnd && !this.hasChars(4))
return this.setNext("line-start");
const s = this.peek(3);
if ((s === "---" || s === "...") && isEmpty4(this.charAt(3))) {
yield* this.pushCount(3);
this.indentValue = 0;
this.indentNext = 0;
return s === "---" ? "doc" : "stream";
}
}
this.indentValue = yield* this.pushSpaces(false);
if (this.indentNext > this.indentValue && !isEmpty4(this.charAt(1)))
this.indentNext = this.indentValue;
return yield* this.parseBlockStart();
}
*parseBlockStart() {
const [ch0, ch1] = this.peek(2);
if (!ch1 && !this.atEnd)
return this.setNext("block-start");
if ((ch0 === "-" || ch0 === "?" || ch0 === ":") && isEmpty4(ch1)) {
const n2 = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
this.indentNext = this.indentValue + 1;
this.indentValue += n2;
return "block-start";
}
return "doc";
}
*parseDocument() {
yield* this.pushSpaces(true);
const line = this.getLine();
if (line === null)
return this.setNext("doc");
let n2 = yield* this.pushIndicators();
switch (line[n2]) {
case "#":
yield* this.pushCount(line.length - n2);
// fallthrough
case void 0:
yield* this.pushNewline();
return yield* this.parseLineStart();
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel = 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
return "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "doc";
case '"':
case "'":
return yield* this.parseQuotedScalar();
case "|":
case ">":
n2 += yield* this.parseBlockScalarHeader();
n2 += yield* this.pushSpaces(true);
yield* this.pushCount(line.length - n2);
yield* this.pushNewline();
return yield* this.parseBlockScalar();
default:
return yield* this.parsePlainScalar();
}
}
*parseFlowCollection() {
let nl, sp;
let indent = -1;
do {
nl = yield* this.pushNewline();
if (nl > 0) {
sp = yield* this.pushSpaces(false);
this.indentValue = indent = sp;
} else {
sp = 0;
}
sp += yield* this.pushSpaces(true);
} while (nl + sp > 0);
const line = this.getLine();
if (line === null)
return this.setNext("flow");
if (indent !== -1 && indent < this.indentNext && line[0] !== "#" || indent === 0 && (line.startsWith("---") || line.startsWith("...")) && isEmpty4(line[3])) {
const atFlowEndMarker = indent === this.indentNext - 1 && this.flowLevel === 1 && (line[0] === "]" || line[0] === "}");
if (!atFlowEndMarker) {
this.flowLevel = 0;
yield cst.FLOW_END;
return yield* this.parseLineStart();
}
}
let n2 = 0;
while (line[n2] === ",") {
n2 += yield* this.pushCount(1);
n2 += yield* this.pushSpaces(true);
this.flowKey = false;
}
n2 += yield* this.pushIndicators();
switch (line[n2]) {
case void 0:
return "flow";
case "#":
yield* this.pushCount(line.length - n2);
return "flow";
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel += 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
this.flowKey = true;
this.flowLevel -= 1;
return this.flowLevel ? "flow" : "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "flow";
case '"':
case "'":
this.flowKey = true;
return yield* this.parseQuotedScalar();
case ":": {
const next2 = this.charAt(1);
if (this.flowKey || isEmpty4(next2) || next2 === ",") {
this.flowKey = false;
yield* this.pushCount(1);
yield* this.pushSpaces(true);
return "flow";
}
}
// fallthrough
default:
this.flowKey = false;
return yield* this.parsePlainScalar();
}
}
*parseQuotedScalar() {
const quote2 = this.charAt(0);
let end = this.buffer.indexOf(quote2, this.pos + 1);
if (quote2 === "'") {
while (end !== -1 && this.buffer[end + 1] === "'")
end = this.buffer.indexOf("'", end + 2);
} else {
while (end !== -1) {
let n2 = 0;
while (this.buffer[end - 1 - n2] === "\\")
n2 += 1;
if (n2 % 2 === 0)
break;
end = this.buffer.indexOf('"', end + 1);
}
}
const qb = this.buffer.substring(0, end);
let nl = qb.indexOf("\n", this.pos);
if (nl !== -1) {
while (nl !== -1) {
const cs = this.continueScalar(nl + 1);
if (cs === -1)
break;
nl = qb.indexOf("\n", cs);
}
if (nl !== -1) {
end = nl - (qb[nl - 1] === "\r" ? 2 : 1);
}
}
if (end === -1) {
if (!this.atEnd)
return this.setNext("quoted-scalar");
end = this.buffer.length;
}
yield* this.pushToIndex(end + 1, false);
return this.flowLevel ? "flow" : "doc";
}
*parseBlockScalarHeader() {
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
let i4 = this.pos;
while (true) {
const ch = this.buffer[++i4];
if (ch === "+")
this.blockScalarKeep = true;
else if (ch > "0" && ch <= "9")
this.blockScalarIndent = Number(ch) - 1;
else if (ch !== "-")
break;
}
return yield* this.pushUntil((ch) => isEmpty4(ch) || ch === "#");
}
*parseBlockScalar() {
let nl = this.pos - 1;
let indent = 0;
let ch;
loop: for (let i5 = this.pos; ch = this.buffer[i5]; ++i5) {
switch (ch) {
case " ":
indent += 1;
break;
case "\n":
nl = i5;
indent = 0;
break;
case "\r": {
const next2 = this.buffer[i5 + 1];
if (!next2 && !this.atEnd)
return this.setNext("block-scalar");
if (next2 === "\n")
break;
}
// fallthrough
default:
break loop;
}
}
if (!ch && !this.atEnd)
return this.setNext("block-scalar");
if (indent >= this.indentNext) {
if (this.blockScalarIndent === -1)
this.indentNext = indent;
else {
this.indentNext = this.blockScalarIndent + (this.indentNext === 0 ? 1 : this.indentNext);
}
do {
const cs = this.continueScalar(nl + 1);
if (cs === -1)
break;
nl = this.buffer.indexOf("\n", cs);
} while (nl !== -1);
if (nl === -1) {
if (!this.atEnd)
return this.setNext("block-scalar");
nl = this.buffer.length;
}
}
let i4 = nl + 1;
ch = this.buffer[i4];
while (ch === " ")
ch = this.buffer[++i4];
if (ch === " ") {
while (ch === " " || ch === " " || ch === "\r" || ch === "\n")
ch = this.buffer[++i4];
nl = i4 - 1;
} else if (!this.blockScalarKeep) {
do {
let i5 = nl - 1;
let ch2 = this.buffer[i5];
if (ch2 === "\r")
ch2 = this.buffer[--i5];
const lastChar = i5;
while (ch2 === " ")
ch2 = this.buffer[--i5];
if (ch2 === "\n" && i5 >= this.pos && i5 + 1 + indent > lastChar)
nl = i5;
else
break;
} while (true);
}
yield cst.SCALAR;
yield* this.pushToIndex(nl + 1, true);
return yield* this.parseLineStart();
}
*parsePlainScalar() {
const inFlow = this.flowLevel > 0;
let end = this.pos - 1;
let i4 = this.pos - 1;
let ch;
while (ch = this.buffer[++i4]) {
if (ch === ":") {
const next2 = this.buffer[i4 + 1];
if (isEmpty4(next2) || inFlow && flowIndicatorChars.has(next2))
break;
end = i4;
} else if (isEmpty4(ch)) {
let next2 = this.buffer[i4 + 1];
if (ch === "\r") {
if (next2 === "\n") {
i4 += 1;
ch = "\n";
next2 = this.buffer[i4 + 1];
} else
end = i4;
}
if (next2 === "#" || inFlow && flowIndicatorChars.has(next2))
break;
if (ch === "\n") {
const cs = this.continueScalar(i4 + 1);
if (cs === -1)
break;
i4 = Math.max(i4, cs - 2);
}
} else {
if (inFlow && flowIndicatorChars.has(ch))
break;
end = i4;
}
}
if (!ch && !this.atEnd)
return this.setNext("plain-scalar");
yield cst.SCALAR;
yield* this.pushToIndex(end + 1, true);
return inFlow ? "flow" : "doc";
}
*pushCount(n2) {
if (n2 > 0) {
yield this.buffer.substr(this.pos, n2);
this.pos += n2;
return n2;
}
return 0;
}
*pushToIndex(i4, allowEmpty) {
const s = this.buffer.slice(this.pos, i4);
if (s) {
yield s;
this.pos += s.length;
return s.length;
} else if (allowEmpty)
yield "";
return 0;
}
*pushIndicators() {
let n2 = 0;
loop: while (true) {
switch (this.charAt(0)) {
case "!":
n2 += yield* this.pushTag();
n2 += yield* this.pushSpaces(true);
continue loop;
case "&":
n2 += yield* this.pushUntil(isNotAnchorChar);
n2 += yield* this.pushSpaces(true);
continue loop;
case "-":
// this is an error
case "?":
// this is an error outside flow collections
case ":": {
const inFlow = this.flowLevel > 0;
const ch1 = this.charAt(1);
if (isEmpty4(ch1) || inFlow && flowIndicatorChars.has(ch1)) {
if (!inFlow)
this.indentNext = this.indentValue + 1;
else if (this.flowKey)
this.flowKey = false;
n2 += yield* this.pushCount(1);
n2 += yield* this.pushSpaces(true);
continue loop;
}
}
}
break loop;
}
return n2;
}
*pushTag() {
if (this.charAt(1) === "<") {
let i4 = this.pos + 2;
let ch = this.buffer[i4];
while (!isEmpty4(ch) && ch !== ">")
ch = this.buffer[++i4];
return yield* this.pushToIndex(ch === ">" ? i4 + 1 : i4, false);
} else {
let i4 = this.pos + 1;
let ch = this.buffer[i4];
while (ch) {
if (tagChars.has(ch))
ch = this.buffer[++i4];
else if (ch === "%" && hexDigits.has(this.buffer[i4 + 1]) && hexDigits.has(this.buffer[i4 + 2])) {
ch = this.buffer[i4 += 3];
} else
break;
}
return yield* this.pushToIndex(i4, false);
}
}
*pushNewline() {
const ch = this.buffer[this.pos];
if (ch === "\n")
return yield* this.pushCount(1);
else if (ch === "\r" && this.charAt(1) === "\n")
return yield* this.pushCount(2);
else
return 0;
}
*pushSpaces(allowTabs) {
let i4 = this.pos - 1;
let ch;
do {
ch = this.buffer[++i4];
} while (ch === " " || allowTabs && ch === " ");
const n2 = i4 - this.pos;
if (n2 > 0) {
yield this.buffer.substr(this.pos, n2);
this.pos = i4;
}
return n2;
}
*pushUntil(test) {
let i4 = this.pos;
let ch = this.buffer[i4];
while (!test(ch))
ch = this.buffer[++i4];
return yield* this.pushToIndex(i4, false);
}
};
exports2.Lexer = Lexer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/line-counter.js
var require_line_counter = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/line-counter.js"(exports2) {
"use strict";
var LineCounter = class {
constructor() {
this.lineStarts = [];
this.addNewLine = (offset) => this.lineStarts.push(offset);
this.linePos = (offset) => {
let low = 0;
let high = this.lineStarts.length;
while (low < high) {
const mid = low + high >> 1;
if (this.lineStarts[mid] < offset)
low = mid + 1;
else
high = mid;
}
if (this.lineStarts[low] === offset)
return { line: low + 1, col: 1 };
if (low === 0)
return { line: 0, col: offset };
const start = this.lineStarts[low - 1];
return { line: low, col: offset - start + 1 };
};
}
};
exports2.LineCounter = LineCounter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/parser.js
var require_parser = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/parse/parser.js"(exports2) {
"use strict";
var node_process = __require("process");
var cst = require_cst();
var lexer = require_lexer();
function includesToken(list2, type4) {
for (let i4 = 0; i4 < list2.length; ++i4)
if (list2[i4].type === type4)
return true;
return false;
}
function findNonEmptyIndex(list2) {
for (let i4 = 0; i4 < list2.length; ++i4) {
switch (list2[i4].type) {
case "space":
case "comment":
case "newline":
break;
default:
return i4;
}
}
return -1;
}
function isFlowToken(token) {
switch (token?.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "flow-collection":
return true;
default:
return false;
}
}
function getPrevProps(parent) {
switch (parent.type) {
case "document":
return parent.start;
case "block-map": {
const it = parent.items[parent.items.length - 1];
return it.sep ?? it.start;
}
case "block-seq":
return parent.items[parent.items.length - 1].start;
/* istanbul ignore next should not happen */
default:
return [];
}
}
function getFirstKeyStartProps(prev) {
if (prev.length === 0)
return [];
let i4 = prev.length;
loop: while (--i4 >= 0) {
switch (prev[i4].type) {
case "doc-start":
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
case "newline":
break loop;
}
}
while (prev[++i4]?.type === "space") {
}
return prev.splice(i4, prev.length);
}
function arrayPushArray(target2, source) {
if (source.length < 1e5)
Array.prototype.push.apply(target2, source);
else
for (let i4 = 0; i4 < source.length; ++i4)
target2.push(source[i4]);
}
function fixFlowSeqItems(fc) {
if (fc.start.type === "flow-seq-start") {
for (const it of fc.items) {
if (it.sep && !it.value && !includesToken(it.start, "explicit-key-ind") && !includesToken(it.sep, "map-value-ind")) {
if (it.key)
it.value = it.key;
delete it.key;
if (isFlowToken(it.value)) {
if (it.value.end)
arrayPushArray(it.value.end, it.sep);
else
it.value.end = it.sep;
} else
arrayPushArray(it.start, it.sep);
delete it.sep;
}
}
}
}
var Parser = class {
/**
* @param onNewLine - If defined, called separately with the start position of
* each new line (in `parse()`, including the start of input).
*/
constructor(onNewLine) {
this.atNewLine = true;
this.atScalar = false;
this.indent = 0;
this.offset = 0;
this.onKeyLine = false;
this.stack = [];
this.source = "";
this.type = "";
this.lexer = new lexer.Lexer();
this.onNewLine = onNewLine;
}
/**
* Parse `source` as a YAML stream.
* If `incomplete`, a part of the last line may be left as a buffer for the next call.
*
* Errors are not thrown, but yielded as `{ type: 'error', message }` tokens.
*
* @returns A generator of tokens representing each directive, document, and other structure.
*/
*parse(source, incomplete = false) {
if (this.onNewLine && this.offset === 0)
this.onNewLine(0);
for (const lexeme of this.lexer.lex(source, incomplete))
yield* this.next(lexeme);
if (!incomplete)
yield* this.end();
}
/**
* Advance the parser by the `source` of one lexical token.
*/
*next(source) {
this.source = source;
if (node_process.env.LOG_TOKENS)
console.log("|", cst.prettyToken(source));
if (this.atScalar) {
this.atScalar = false;
yield* this.step();
this.offset += source.length;
return;
}
const type4 = cst.tokenType(source);
if (!type4) {
const message = `Not a YAML token: ${source}`;
yield* this.pop({ type: "error", offset: this.offset, message, source });
this.offset += source.length;
} else if (type4 === "scalar") {
this.atNewLine = false;
this.atScalar = true;
this.type = "scalar";
} else {
this.type = type4;
yield* this.step();
switch (type4) {
case "newline":
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine)
this.onNewLine(this.offset + source.length);
break;
case "space":
if (this.atNewLine && source[0] === " ")
this.indent += source.length;
break;
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
if (this.atNewLine)
this.indent += source.length;
break;
case "doc-mode":
case "flow-error-end":
return;
default:
this.atNewLine = false;
}
this.offset += source.length;
}
}
/** Call at end of input to push out any remaining constructions */
*end() {
while (this.stack.length > 0)
yield* this.pop();
}
get sourceToken() {
const st = {
type: this.type,
offset: this.offset,
indent: this.indent,
source: this.source
};
return st;
}
*step() {
const top = this.peek(1);
if (this.type === "doc-end" && top?.type !== "doc-end") {
while (this.stack.length > 0)
yield* this.pop();
this.stack.push({
type: "doc-end",
offset: this.offset,
source: this.source
});
return;
}
if (!top)
return yield* this.stream();
switch (top.type) {
case "document":
return yield* this.document(top);
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return yield* this.scalar(top);
case "block-scalar":
return yield* this.blockScalar(top);
case "block-map":
return yield* this.blockMap(top);
case "block-seq":
return yield* this.blockSequence(top);
case "flow-collection":
return yield* this.flowCollection(top);
case "doc-end":
return yield* this.documentEnd(top);
}
yield* this.pop();
}
peek(n2) {
return this.stack[this.stack.length - n2];
}
*pop(error) {
const token = error ?? this.stack.pop();
if (!token) {
const message = "Tried to pop an empty stack";
yield { type: "error", offset: this.offset, source: "", message };
} else if (this.stack.length === 0) {
yield token;
} else {
const top = this.peek(1);
if (token.type === "block-scalar") {
token.indent = "indent" in top ? top.indent : 0;
} else if (token.type === "flow-collection" && top.type === "document") {
token.indent = 0;
}
if (token.type === "flow-collection")
fixFlowSeqItems(token);
switch (top.type) {
case "document":
top.value = token;
break;
case "block-scalar":
top.props.push(token);
break;
case "block-map": {
const it = top.items[top.items.length - 1];
if (it.value) {
top.items.push({ start: [], key: token, sep: [] });
this.onKeyLine = true;
return;
} else if (it.sep) {
it.value = token;
} else {
Object.assign(it, { key: token, sep: [] });
this.onKeyLine = !it.explicitKey;
return;
}
break;
}
case "block-seq": {
const it = top.items[top.items.length - 1];
if (it.value)
top.items.push({ start: [], value: token });
else
it.value = token;
break;
}
case "flow-collection": {
const it = top.items[top.items.length - 1];
if (!it || it.value)
top.items.push({ start: [], key: token, sep: [] });
else if (it.sep)
it.value = token;
else
Object.assign(it, { key: token, sep: [] });
return;
}
/* istanbul ignore next should not happen */
default:
yield* this.pop();
yield* this.pop(token);
}
if ((top.type === "document" || top.type === "block-map" || top.type === "block-seq") && (token.type === "block-map" || token.type === "block-seq")) {
const last = token.items[token.items.length - 1];
if (last && !last.sep && !last.value && last.start.length > 0 && findNonEmptyIndex(last.start) === -1 && (token.indent === 0 || last.start.every((st) => st.type !== "comment" || st.indent < token.indent))) {
if (top.type === "document")
top.end = last.start;
else
top.items.push({ start: last.start });
token.items.splice(-1, 1);
}
}
}
}
*stream() {
switch (this.type) {
case "directive-line":
yield { type: "directive", offset: this.offset, source: this.source };
return;
case "byte-order-mark":
case "space":
case "comment":
case "newline":
yield this.sourceToken;
return;
case "doc-mode":
case "doc-start": {
const doc = {
type: "document",
offset: this.offset,
start: []
};
if (this.type === "doc-start")
doc.start.push(this.sourceToken);
this.stack.push(doc);
return;
}
}
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML stream`,
source: this.source
};
}
*document(doc) {
if (doc.value)
return yield* this.lineEnd(doc);
switch (this.type) {
case "doc-start": {
if (findNonEmptyIndex(doc.start) !== -1) {
yield* this.pop();
yield* this.step();
} else
doc.start.push(this.sourceToken);
return;
}
case "anchor":
case "tag":
case "space":
case "comment":
case "newline":
doc.start.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(doc);
if (bv)
this.stack.push(bv);
else {
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML document`,
source: this.source
};
}
}
*scalar(scalar) {
if (this.type === "map-value-ind") {
const prev = getPrevProps(this.peek(2));
const start = getFirstKeyStartProps(prev);
let sep2;
if (scalar.end) {
sep2 = scalar.end;
sep2.push(this.sourceToken);
delete scalar.end;
} else
sep2 = [this.sourceToken];
const map26 = {
type: "block-map",
offset: scalar.offset,
indent: scalar.indent,
items: [{ start, key: scalar, sep: sep2 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map26;
} else
yield* this.lineEnd(scalar);
}
*blockScalar(scalar) {
switch (this.type) {
case "space":
case "comment":
case "newline":
scalar.props.push(this.sourceToken);
return;
case "scalar":
scalar.source = this.source;
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine) {
let nl = this.source.indexOf("\n") + 1;
while (nl !== 0) {
this.onNewLine(this.offset + nl);
nl = this.source.indexOf("\n", nl) + 1;
}
}
yield* this.pop();
break;
/* istanbul ignore next should not happen */
default:
yield* this.pop();
yield* this.step();
}
}
*blockMap(map26) {
const it = map26.items[map26.items.length - 1];
switch (this.type) {
case "newline":
this.onKeyLine = false;
if (it.value) {
const end = "end" in it.value ? it.value.end : void 0;
const last = Array.isArray(end) ? end[end.length - 1] : void 0;
if (last?.type === "comment")
end?.push(this.sourceToken);
else
map26.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "space":
case "comment":
if (it.value) {
map26.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
if (this.atIndentedComment(it.start, map26.indent)) {
const prev = map26.items[map26.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
arrayPushArray(end, it.start);
end.push(this.sourceToken);
map26.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
}
if (this.indent >= map26.indent) {
const atMapIndent = !this.onKeyLine && this.indent === map26.indent;
const atNextItem = atMapIndent && (it.sep || it.explicitKey) && this.type !== "seq-item-ind";
let start = [];
if (atNextItem && it.sep && !it.value) {
const nl = [];
for (let i4 = 0; i4 < it.sep.length; ++i4) {
const st = it.sep[i4];
switch (st.type) {
case "newline":
nl.push(i4);
break;
case "space":
break;
case "comment":
if (st.indent > map26.indent)
nl.length = 0;
break;
default:
nl.length = 0;
}
}
if (nl.length >= 2)
start = it.sep.splice(nl[1]);
}
switch (this.type) {
case "anchor":
case "tag":
if (atNextItem || it.value) {
start.push(this.sourceToken);
map26.items.push({ start });
this.onKeyLine = true;
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "explicit-key-ind":
if (!it.sep && !it.explicitKey) {
it.start.push(this.sourceToken);
it.explicitKey = true;
} else if (atNextItem || it.value) {
start.push(this.sourceToken);
map26.items.push({ start, explicitKey: true });
} else {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken], explicitKey: true }]
});
}
this.onKeyLine = true;
return;
case "map-value-ind":
if (it.explicitKey) {
if (!it.sep) {
if (includesToken(it.start, "newline")) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else {
const start2 = getFirstKeyStartProps(it.start);
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key: null, sep: [this.sourceToken] }]
});
}
} else if (it.value) {
map26.items.push({ start: [], key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, key: null, sep: [this.sourceToken] }]
});
} else if (isFlowToken(it.key) && !includesToken(it.sep, "newline")) {
const start2 = getFirstKeyStartProps(it.start);
const key = it.key;
const sep2 = it.sep;
sep2.push(this.sourceToken);
delete it.key;
delete it.sep;
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key, sep: sep2 }]
});
} else if (start.length > 0) {
it.sep = it.sep.concat(start, this.sourceToken);
} else {
it.sep.push(this.sourceToken);
}
} else {
if (!it.sep) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else if (it.value || atNextItem) {
map26.items.push({ start, key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [], key: null, sep: [this.sourceToken] }]
});
} else {
it.sep.push(this.sourceToken);
}
}
this.onKeyLine = true;
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs126 = this.flowScalar(this.type);
if (atNextItem || it.value) {
map26.items.push({ start, key: fs126, sep: [] });
this.onKeyLine = true;
} else if (it.sep) {
this.stack.push(fs126);
} else {
Object.assign(it, { key: fs126, sep: [] });
this.onKeyLine = true;
}
return;
}
default: {
const bv = this.startBlockValue(map26);
if (bv) {
if (bv.type === "block-seq") {
if (!it.explicitKey && it.sep && !includesToken(it.sep, "newline")) {
yield* this.pop({
type: "error",
offset: this.offset,
message: "Unexpected block-seq-ind on same line with key",
source: this.source
});
return;
}
} else if (atMapIndent) {
map26.items.push({ start });
}
this.stack.push(bv);
return;
}
}
}
}
yield* this.pop();
yield* this.step();
}
*blockSequence(seq2) {
const it = seq2.items[seq2.items.length - 1];
switch (this.type) {
case "newline":
if (it.value) {
const end = "end" in it.value ? it.value.end : void 0;
const last = Array.isArray(end) ? end[end.length - 1] : void 0;
if (last?.type === "comment")
end?.push(this.sourceToken);
else
seq2.items.push({ start: [this.sourceToken] });
} else
it.start.push(this.sourceToken);
return;
case "space":
case "comment":
if (it.value)
seq2.items.push({ start: [this.sourceToken] });
else {
if (this.atIndentedComment(it.start, seq2.indent)) {
const prev = seq2.items[seq2.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
arrayPushArray(end, it.start);
end.push(this.sourceToken);
seq2.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
case "anchor":
case "tag":
if (it.value || this.indent <= seq2.indent)
break;
it.start.push(this.sourceToken);
return;
case "seq-item-ind":
if (this.indent !== seq2.indent)
break;
if (it.value || includesToken(it.start, "seq-item-ind"))
seq2.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
}
if (this.indent > seq2.indent) {
const bv = this.startBlockValue(seq2);
if (bv) {
this.stack.push(bv);
return;
}
}
yield* this.pop();
yield* this.step();
}
*flowCollection(fc) {
const it = fc.items[fc.items.length - 1];
if (this.type === "flow-error-end") {
let top;
do {
yield* this.pop();
top = this.peek(1);
} while (top?.type === "flow-collection");
} else if (fc.end.length === 0) {
switch (this.type) {
case "comma":
case "explicit-key-ind":
if (!it || it.sep)
fc.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
case "map-value-ind":
if (!it || it.value)
fc.items.push({ start: [], key: null, sep: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
Object.assign(it, { key: null, sep: [this.sourceToken] });
return;
case "space":
case "comment":
case "newline":
case "anchor":
case "tag":
if (!it || it.value)
fc.items.push({ start: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
it.start.push(this.sourceToken);
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs126 = this.flowScalar(this.type);
if (!it || it.value)
fc.items.push({ start: [], key: fs126, sep: [] });
else if (it.sep)
this.stack.push(fs126);
else
Object.assign(it, { key: fs126, sep: [] });
return;
}
case "flow-map-end":
case "flow-seq-end":
fc.end.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(fc);
if (bv)
this.stack.push(bv);
else {
yield* this.pop();
yield* this.step();
}
} else {
const parent = this.peek(2);
if (parent.type === "block-map" && (this.type === "map-value-ind" && parent.indent === fc.indent || this.type === "newline" && !parent.items[parent.items.length - 1].sep)) {
yield* this.pop();
yield* this.step();
} else if (this.type === "map-value-ind" && parent.type !== "flow-collection") {
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
fixFlowSeqItems(fc);
const sep2 = fc.end.splice(1, fc.end.length);
sep2.push(this.sourceToken);
const map26 = {
type: "block-map",
offset: fc.offset,
indent: fc.indent,
items: [{ start, key: fc, sep: sep2 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map26;
} else {
yield* this.lineEnd(fc);
}
}
}
flowScalar(type4) {
if (this.onNewLine) {
let nl = this.source.indexOf("\n") + 1;
while (nl !== 0) {
this.onNewLine(this.offset + nl);
nl = this.source.indexOf("\n", nl) + 1;
}
}
return {
type: type4,
offset: this.offset,
indent: this.indent,
source: this.source
};
}
startBlockValue(parent) {
switch (this.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return this.flowScalar(this.type);
case "block-scalar-header":
return {
type: "block-scalar",
offset: this.offset,
indent: this.indent,
props: [this.sourceToken],
source: ""
};
case "flow-map-start":
case "flow-seq-start":
return {
type: "flow-collection",
offset: this.offset,
indent: this.indent,
start: this.sourceToken,
items: [],
end: []
};
case "seq-item-ind":
return {
type: "block-seq",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken] }]
};
case "explicit-key-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
start.push(this.sourceToken);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, explicitKey: true }]
};
}
case "map-value-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, key: null, sep: [this.sourceToken] }]
};
}
}
return null;
}
atIndentedComment(start, indent) {
if (this.type !== "comment")
return false;
if (this.indent <= indent)
return false;
return start.every((st) => st.type === "newline" || st.type === "space");
}
*documentEnd(docEnd) {
if (this.type !== "doc-mode") {
if (docEnd.end)
docEnd.end.push(this.sourceToken);
else
docEnd.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
*lineEnd(token) {
switch (this.type) {
case "comma":
case "doc-start":
case "doc-end":
case "flow-seq-end":
case "flow-map-end":
case "map-value-ind":
yield* this.pop();
yield* this.step();
break;
case "newline":
this.onKeyLine = false;
// fallthrough
case "space":
case "comment":
default:
if (token.end)
token.end.push(this.sourceToken);
else
token.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
};
exports2.Parser = Parser;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/public-api.js
var require_public_api = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/public-api.js"(exports2) {
"use strict";
var composer = require_composer();
var Document = require_Document();
var errors2 = require_errors6();
var log3 = require_log();
var identity5 = require_identity();
var lineCounter = require_line_counter();
var parser = require_parser();
function parseOptions(options) {
const prettyErrors = options.prettyErrors !== false;
const lineCounter$1 = options.lineCounter || prettyErrors && new lineCounter.LineCounter() || null;
return { lineCounter: lineCounter$1, prettyErrors };
}
function parseAllDocuments(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
const docs = Array.from(composer$1.compose(parser$1.parse(source)));
if (prettyErrors && lineCounter2)
for (const doc of docs) {
doc.errors.forEach(errors2.prettifyError(source, lineCounter2));
doc.warnings.forEach(errors2.prettifyError(source, lineCounter2));
}
if (docs.length > 0)
return docs;
return Object.assign([], { empty: true }, composer$1.streamInfo());
}
function parseDocument(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
let doc = null;
for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
if (!doc)
doc = _doc;
else if (doc.options.logLevel !== "silent") {
doc.errors.push(new errors2.YAMLParseError(_doc.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
break;
}
}
if (prettyErrors && lineCounter2) {
doc.errors.forEach(errors2.prettifyError(source, lineCounter2));
doc.warnings.forEach(errors2.prettifyError(source, lineCounter2));
}
return doc;
}
function parse12(src2, reviver, options) {
let _reviver = void 0;
if (typeof reviver === "function") {
_reviver = reviver;
} else if (options === void 0 && reviver && typeof reviver === "object") {
options = reviver;
}
const doc = parseDocument(src2, options);
if (!doc)
return null;
doc.warnings.forEach((warning) => log3.warn(doc.options.logLevel, warning));
if (doc.errors.length > 0) {
if (doc.options.logLevel !== "silent")
throw doc.errors[0];
else
doc.errors = [];
}
return doc.toJS(Object.assign({ reviver: _reviver }, options));
}
function stringify2(value, replacer2, options) {
let _replacer = null;
if (typeof replacer2 === "function" || Array.isArray(replacer2)) {
_replacer = replacer2;
} else if (options === void 0 && replacer2) {
options = replacer2;
}
if (typeof options === "string")
options = options.length;
if (typeof options === "number") {
const indent = Math.round(options);
options = indent < 1 ? void 0 : indent > 8 ? { indent: 8 } : { indent };
}
if (value === void 0) {
const { keepUndefined } = options ?? replacer2 ?? {};
if (!keepUndefined)
return void 0;
}
if (identity5.isDocument(value) && !_replacer)
return value.toString(options);
return new Document.Document(value, _replacer, options).toString(options);
}
exports2.parse = parse12;
exports2.parseAllDocuments = parseAllDocuments;
exports2.parseDocument = parseDocument;
exports2.stringify = stringify2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/index.js
var require_dist6 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/yaml/2.9.0/289eaaf5fca48540c4ef4ebdb3c27244c62a4ca2ac0a5d76c6d0eea0d1f3190b/node_modules/yaml/dist/index.js"(exports2) {
"use strict";
var composer = require_composer();
var Document = require_Document();
var Schema2 = require_Schema();
var errors2 = require_errors6();
var Alias = require_Alias();
var identity5 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var cst = require_cst();
var lexer = require_lexer();
var lineCounter = require_line_counter();
var parser = require_parser();
var publicApi = require_public_api();
var visit = require_visit();
exports2.Composer = composer.Composer;
exports2.Document = Document.Document;
exports2.Schema = Schema2.Schema;
exports2.YAMLError = errors2.YAMLError;
exports2.YAMLParseError = errors2.YAMLParseError;
exports2.YAMLWarning = errors2.YAMLWarning;
exports2.Alias = Alias.Alias;
exports2.isAlias = identity5.isAlias;
exports2.isCollection = identity5.isCollection;
exports2.isDocument = identity5.isDocument;
exports2.isMap = identity5.isMap;
exports2.isNode = identity5.isNode;
exports2.isPair = identity5.isPair;
exports2.isScalar = identity5.isScalar;
exports2.isSeq = identity5.isSeq;
exports2.Pair = Pair.Pair;
exports2.Scalar = Scalar.Scalar;
exports2.YAMLMap = YAMLMap.YAMLMap;
exports2.YAMLSeq = YAMLSeq.YAMLSeq;
exports2.CST = cst;
exports2.Lexer = lexer.Lexer;
exports2.LineCounter = lineCounter.LineCounter;
exports2.Parser = parser.Parser;
exports2.parse = publicApi.parse;
exports2.parseAllDocuments = publicApi.parseAllDocuments;
exports2.parseDocument = publicApi.parseDocument;
exports2.stringify = publicApi.stringify;
exports2.visit = visit.visit;
exports2.visitAsync = visit.visitAsync;
}
});
// ../yaml/document-sync/lib/patchDocument.js
function patchDocument(document2, target2, options) {
if (document2.errors.length > 0) {
throw new Error("Document with errors cannot be patched");
}
document2.contents = patchNode(document2.contents, target2, {
document: document2,
aliases: options?.aliases ?? "unwrap"
});
}
function patchNode(node, target2, ctx) {
if (node == null) {
return ctx.document.createNode(target2);
}
if (target2 == null) {
return null;
}
if (import_yaml.default.isAlias(node)) {
return patchAlias(node, target2, ctx);
}
if (import_yaml.default.isScalar(node)) {
return patchScalar(node, target2, ctx);
}
if (import_yaml.default.isMap(node)) {
return patchMap(node, target2, ctx);
}
if (import_yaml.default.isSeq(node)) {
return patchSeq(node, target2, ctx);
}
const _never = node;
throw new Error("Unrecognized yaml node: " + String(node));
}
function patchAlias(alias, target2, ctx) {
const resolved = alias.resolve(ctx.document);
if (resolved == null) {
throw new Error("Failed to resolve yaml alias: " + alias.source);
}
switch (ctx.aliases) {
case "follow": {
patchNode(resolved, target2, ctx);
return alias;
}
case "unwrap": {
const copy2 = resolved.clone();
copy2.anchor = void 0;
patchNode(copy2, target2, ctx);
return copy2;
}
}
}
function patchScalar(scalar, target2, ctx) {
if (scalar.value === target2) {
return scalar;
}
if (typeof target2 === "boolean" || typeof target2 === "string" || typeof target2 === "number") {
scalar.value = target2;
return scalar;
}
return ctx.document.createNode(target2);
}
function patchMap(map26, target2, ctx) {
if (!isRecord(target2)) {
return ctx.document.createNode(target2);
}
if (target2 == null || Object.keys(target2).length === 0) {
return null;
}
const mapKeyToExistingPair = /* @__PURE__ */ new Map();
for (const pair of map26.items) {
if (!import_yaml.default.isScalar(pair.key) || typeof pair.key.value !== "string") {
throw new Error("Encountered unexpected non-node value: " + String(pair.key));
}
mapKeyToExistingPair.set(pair.key.value, pair);
}
map26.items = Object.entries(target2).map(([key, value]) => {
const existingPair = mapKeyToExistingPair.get(key);
if (existingPair == null) {
return ctx.document.createPair(key, value);
}
if (!import_yaml.default.isNode(existingPair.value)) {
throw new Error("Encountered unexpected non-node value: " + String(existingPair.value));
}
existingPair.value = patchNode(existingPair.value, value, ctx);
return existingPair;
}).filter((pair) => pair.value != null);
return map26;
}
function patchSeq(seq2, target2, ctx) {
if (!Array.isArray(target2)) {
return ctx.document.createNode(target2);
}
return isPrimitiveList(target2) ? patchSeqPrimitive(seq2, target2) : patchSeqComplex(seq2, target2, ctx);
}
function patchSeqPrimitive(seq2, target2) {
const valueToNodesMap = /* @__PURE__ */ new Map();
for (const item of seq2.items) {
if (item != null && !import_yaml.default.isNode(item)) {
throw new Error("Encountered unexpected non-node value: " + String(item));
}
if (!import_yaml.default.isScalar(item) || !isPrimitive(item.value) || item.value == null) {
continue;
}
const nodeList = valueToNodesMap.get(item.value) ?? [];
nodeList.push(item);
valueToNodesMap.set(item.value, nodeList);
}
seq2.items = target2.filter((item) => item != null).map((item) => {
const existingNodesList = valueToNodesMap.get(item);
const firstExistingItem = existingNodesList?.shift();
if (existingNodesList?.length === 0) {
valueToNodesMap.delete(item);
}
return firstExistingItem ?? new import_yaml.default.Scalar(item);
});
return seq2;
}
function patchSeqComplex(seq2, target2, ctx) {
const nextItems = [];
for (let i4 = 0; i4 < Math.max(seq2.items.length, target2.length); i4++) {
const existingItem = seq2.items[i4];
const targetItem = target2[i4];
if (existingItem != null && !import_yaml.default.isNode(existingItem)) {
throw new Error("Encountered unexpected non-node value: " + String(existingItem));
}
const nextItem = patchNode(existingItem, targetItem, ctx);
if (nextItem == null) {
continue;
}
nextItems.push(nextItem);
}
seq2.items = nextItems;
return seq2;
}
function isRecord(value) {
return value != null && typeof value === "object" && !Array.isArray(value);
}
function isPrimitiveList(arr) {
return arr.every(isPrimitive);
}
function isPrimitive(value) {
return value == null || typeof value === "boolean" || typeof value === "string" || typeof value === "number";
}
var import_yaml;
var init_patchDocument = __esm({
"../yaml/document-sync/lib/patchDocument.js"() {
"use strict";
import_yaml = __toESM(require_dist6(), 1);
}
});
// ../yaml/document-sync/lib/index.js
var init_lib100 = __esm({
"../yaml/document-sync/lib/index.js"() {
"use strict";
init_patchDocument();
}
});
// ../workspace/workspace-manifest-writer/lib/index.js
import fs58 from "node:fs";
import path94 from "node:path";
import util32 from "node:util";
async function writeManifestFile(dir, fileName, manifest) {
const manifestStr = manifest.toString({
lineWidth: 0,
// This is setting line width to never wrap
singleQuote: true
// Prefer single quotes over double quotes
});
await fs58.promises.mkdir(dir, { recursive: true });
await (0, import_write_file_atomic7.default)(path94.join(dir, fileName), manifestStr);
}
async function readManifestRaw2(file) {
try {
return (await fs58.promises.readFile(file)).toString();
} catch (err2) {
if (util32.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return void 0;
}
throw err2;
}
}
async function updateWorkspaceManifest(dir, opts3) {
const fileName = opts3.fileName ?? DEFAULT_FILENAME;
const workspaceManifestStr = await readManifestRaw2(path94.join(dir, fileName));
const document2 = workspaceManifestStr != null ? import_yaml3.default.parseDocument(workspaceManifestStr) : new import_yaml3.default.Document();
let manifest = document2.toJSON();
validateWorkspaceManifest(manifest);
manifest ??= {};
const originalKeyOrder = captureKeyOrder(manifest);
let shouldBeUpdated = opts3.updatedCatalogs != null && addCatalogs(manifest, opts3.updatedCatalogs);
if (opts3.cleanupUnusedCatalogs) {
shouldBeUpdated = removePackagesFromWorkspaceCatalog(manifest, opts3.allProjects ?? []) || shouldBeUpdated;
}
const updatedFields = { ...opts3.updatedFields };
for (const [key, value] of Object.entries(updatedFields)) {
if (!equals_default(manifest[key], value)) {
shouldBeUpdated = true;
if (value == null) {
delete manifest[key];
} else {
manifest[key] = value;
}
}
}
if (opts3.updatedOverrides) {
manifest.overrides ??= {};
for (const [key, value] of Object.entries(opts3.updatedOverrides)) {
if (!equals_default(manifest.overrides[key], value)) {
shouldBeUpdated = true;
manifest.overrides[key] = value;
}
}
}
if (opts3.addedMinimumReleaseAgeExcludes?.length) {
const existing = manifest.minimumReleaseAgeExclude ?? [];
const merged = mergePackageVersionSpecs([...existing, ...opts3.addedMinimumReleaseAgeExcludes]);
if (!equals_default(existing, merged)) {
shouldBeUpdated = true;
manifest.minimumReleaseAgeExclude = merged;
}
}
if (!shouldBeUpdated) {
return;
}
if (Object.keys(manifest).length === 0) {
await fs58.promises.rm(path94.join(dir, fileName));
return;
}
manifest = reorderRecursive(originalKeyOrder, manifest);
patchDocument(document2, manifest);
propagateBlankLinesToNewPairs(document2, originalKeyOrder?.keys ?? []);
await writeManifestFile(dir, fileName, document2);
}
function addCatalogs(manifest, newCatalogs) {
let shouldBeUpdated = false;
for (const catalogName in newCatalogs) {
let targetCatalog = catalogName === "default" ? manifest.catalog ?? manifest.catalogs?.default : manifest.catalogs?.[catalogName];
const targetCatalogWasNil = targetCatalog == null;
for (const [dependencyName, specifier] of Object.entries(newCatalogs[catalogName] ?? {})) {
if (specifier == null) {
continue;
}
targetCatalog ??= {};
if (targetCatalog[dependencyName] !== specifier) {
targetCatalog[dependencyName] = specifier;
shouldBeUpdated = true;
}
}
if (targetCatalog == null)
continue;
if (targetCatalogWasNil) {
if (catalogName === "default") {
manifest.catalog = targetCatalog;
} else {
manifest.catalogs ??= {};
manifest.catalogs[catalogName] = targetCatalog;
}
}
}
return shouldBeUpdated;
}
function removePackagesFromWorkspaceCatalog(manifest, packagesJson) {
let shouldBeUpdated = false;
if (packagesJson.length === 0 || manifest.catalog == null && manifest.catalogs == null) {
return shouldBeUpdated;
}
const packageReferences = {};
for (const pkg of packagesJson) {
const pkgManifest = pkg.manifest;
const dependencyTypes = [
pkgManifest.dependencies,
pkgManifest.devDependencies,
pkgManifest.optionalDependencies,
pkgManifest.peerDependencies
];
for (const deps of dependencyTypes) {
if (!deps)
continue;
for (const [pkgName, version2] of Object.entries(deps)) {
addPackageReference(packageReferences, pkgName, version2);
}
}
}
for (const [selector, version2] of Object.entries(manifest.overrides ?? {})) {
if (!version2.startsWith("catalog:")) {
continue;
}
let pkgName;
try {
pkgName = parsePkgAndParentSelector(selector).targetPkg.name;
} catch {
continue;
}
addPackageReference(packageReferences, pkgName, version2);
}
if (manifest.catalog) {
const packagesToRemove = Object.keys(manifest.catalog).filter((pkg) => !packageReferences[pkg]?.has("catalog:"));
for (const pkg of packagesToRemove) {
delete manifest.catalog[pkg];
shouldBeUpdated = true;
}
if (Object.keys(manifest.catalog).length === 0) {
delete manifest.catalog;
shouldBeUpdated = true;
}
}
if (manifest.catalogs) {
const catalogsToRemove = [];
for (const [catalogName, catalog] of Object.entries(manifest.catalogs)) {
if (!catalog)
continue;
const packagesToRemove = Object.keys(catalog).filter((pkg) => {
const references = packageReferences[pkg];
return !references?.has(`catalog:${catalogName}`) && !references?.has("catalog:");
});
for (const pkg of packagesToRemove) {
delete catalog[pkg];
shouldBeUpdated = true;
}
if (Object.keys(catalog).length === 0) {
catalogsToRemove.push(catalogName);
shouldBeUpdated = true;
}
}
for (const catalogName of catalogsToRemove) {
delete manifest.catalogs[catalogName];
}
if (Object.keys(manifest.catalogs).length === 0) {
delete manifest.catalogs;
shouldBeUpdated = true;
}
}
return shouldBeUpdated;
}
function addPackageReference(packageReferences, pkgName, version2) {
if (!packageReferences[pkgName]) {
packageReferences[pkgName] = /* @__PURE__ */ new Set();
}
packageReferences[pkgName].add(version2);
}
function captureKeyOrder(value) {
if (!isPlainObject3(value))
return null;
const children = {};
for (const [key, child] of Object.entries(value)) {
const childOrder = captureKeyOrder(child);
if (childOrder != null) {
children[key] = childOrder;
}
}
return { keys: Object.keys(value), children };
}
function reorderRecursive(originalOrder, current) {
if (!isPlainObject3(current))
return current;
const originalKeys = originalOrder?.keys ?? [];
const originalKeySet = new Set(originalKeys);
const survivingOriginal = originalKeys.filter((key) => Object.hasOwn(current, key));
const newKeys = Object.keys(current).filter((key) => !originalKeySet.has(key));
let orderedKeys;
if (newKeys.length === 0) {
orderedKeys = survivingOriginal;
} else {
const layout = detectKeyLayout(originalKeys);
orderedKeys = layout === "unordered" ? [...survivingOriginal, ...newKeys] : sortKeys2([...survivingOriginal, ...newKeys], layout);
}
const result2 = {};
for (const key of orderedKeys) {
result2[key] = reorderRecursive(originalOrder?.children[key] ?? null, current[key]);
}
return result2;
}
function detectKeyLayout(keys4) {
if (keys4.length === 0)
return "packages-first";
const packagesFirst = keys4[0] === "packages";
const start = packagesFirst ? 1 : 0;
for (let i4 = start + 1; i4 < keys4.length; i4++) {
if ((0, import_util8.lexCompare)(keys4[i4 - 1], keys4[i4]) > 0)
return "unordered";
}
return packagesFirst ? "packages-first" : "alphabetical";
}
function sortKeys2(keys4, layout) {
if (layout === "packages-first" && keys4.includes("packages")) {
return ["packages", ...keys4.filter((key) => key !== "packages").sort(import_util8.lexCompare)];
}
return [...keys4].sort(import_util8.lexCompare);
}
function isPlainObject3(value) {
return value != null && typeof value === "object" && !Array.isArray(value);
}
function propagateBlankLinesToNewPairs(document2, originalTopLevelKeys) {
if (!import_yaml3.default.isMap(document2.contents))
return;
const items = document2.contents.items;
const keyOf = (pair) => import_yaml3.default.isScalar(pair.key) && typeof pair.key.value === "string" ? pair.key : null;
const originalKeySet = new Set(originalTopLevelKeys);
const originalFirstKey = originalTopLevelKeys[0] ?? null;
let originalNonFirstCount = 0;
let originalNonFirstWithBlank = 0;
for (const item of items) {
const k2 = keyOf(item);
if (k2 == null || !originalKeySet.has(k2.value) || k2.value === originalFirstKey)
continue;
originalNonFirstCount++;
if (k2.spaceBefore)
originalNonFirstWithBlank++;
}
const usesBlankLineStyle = originalNonFirstCount > 0 && originalNonFirstWithBlank === originalNonFirstCount;
for (let i4 = 1; i4 < items.length; i4++) {
const key = keyOf(items[i4]);
if (key == null || key.spaceBefore)
continue;
if (usesBlankLineStyle) {
key.spaceBefore = true;
continue;
}
if (originalKeySet.has(key.value))
continue;
const nextKey = items[i4 + 1] ? keyOf(items[i4 + 1]) : null;
const prevKey = items[i4 - 1] ? keyOf(items[i4 - 1]) : null;
if (nextKey?.spaceBefore || nextKey == null && prevKey?.spaceBefore) {
key.spaceBefore = true;
}
}
}
var import_util8, import_write_file_atomic7, import_yaml3, DEFAULT_FILENAME;
var init_lib101 = __esm({
"../workspace/workspace-manifest-writer/lib/index.js"() {
"use strict";
init_lib99();
init_lib37();
init_lib();
import_util8 = __toESM(require_dist4(), 1);
init_lib43();
init_lib100();
init_es();
import_write_file_atomic7 = __toESM(require_lib10(), 1);
import_yaml3 = __toESM(require_dist6(), 1);
DEFAULT_FILENAME = WORKSPACE_MANIFEST_FILENAME;
}
});
// ../config/writer/lib/index.js
async function writeSettings(opts3) {
await updateWorkspaceManifest(opts3.workspaceDir, {
updatedFields: opts3.updatedSettings,
updatedOverrides: opts3.updatedOverrides,
addedMinimumReleaseAgeExcludes: opts3.addedMinimumReleaseAgeExcludes
});
}
var init_lib102 = __esm({
"../config/writer/lib/index.js"() {
"use strict";
init_lib101();
}
});
// ../global/packages/lib/cacheKey.js
function createGlobalCacheKey(opts3) {
const sortedAliases = [...opts3.aliases].sort(import_util9.lexCompare);
const sortedRegistries = Object.entries(opts3.registries).sort(([k1], [k2]) => (0, import_util9.lexCompare)(k1, k2));
const hashStr = JSON.stringify([sortedAliases, sortedRegistries]);
return createHexHash(hashStr);
}
var import_util9;
var init_cacheKey = __esm({
"../global/packages/lib/cacheKey.js"() {
"use strict";
init_lib34();
import_util9 = __toESM(require_dist4(), 1);
}
});
// ../global/packages/lib/globalPackageDir.js
import crypto8 from "node:crypto";
import fs59 from "node:fs";
import path95 from "node:path";
import util33 from "node:util";
function getHashLink(globalDir, hash2) {
return path95.join(globalDir, hash2);
}
function createInstallDir(globalDir) {
fs59.mkdirSync(globalDir, { recursive: true });
for (let i4 = 0; i4 < 10; i4++) {
const name = `${process.pid.toString(16)}-${Date.now().toString(16)}-${crypto8.randomBytes(8).toString("hex")}`;
const dir = path95.join(globalDir, name);
try {
fs59.mkdirSync(dir);
return dir;
} catch (err2) {
if (util33.types.isNativeError(err2) && "code" in err2 && err2.code === "EEXIST")
continue;
throw err2;
}
}
throw new Error("Could not create a unique global install directory");
}
var init_globalPackageDir = __esm({
"../global/packages/lib/globalPackageDir.js"() {
"use strict";
}
});
// ../global/packages/lib/scanGlobalPackages.js
import fs60 from "node:fs";
import path96 from "node:path";
import util34 from "node:util";
function isValidGlobalDependencyAlias(alias) {
if (alias.length === 0)
return false;
if (/^[._-]/.test(alias))
return false;
if (alias.trim() !== alias)
return false;
if (RESERVED_ALIASES.has(alias.toLowerCase()))
return false;
if (isUrlFriendly(alias))
return true;
const scoped = /^@([^/]+)\/([^/]+)$/.exec(alias);
if (scoped) {
const [, scope, name] = scoped;
return !name.startsWith(".") && isUrlFriendly(scope) && isUrlFriendly(name);
}
return false;
}
function pickValidDependencies(dependencies) {
const result2 = {};
for (const [alias, spec] of Object.entries(dependencies)) {
if (isValidGlobalDependencyAlias(alias)) {
result2[alias] = spec;
}
}
return result2;
}
function scanGlobalPackages(globalDir) {
let entries;
try {
entries = fs60.readdirSync(globalDir, { withFileTypes: true });
} catch (err2) {
if (util34.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
return [];
}
throw err2;
}
const result2 = [];
for (const entry of entries) {
if (!entry.isSymbolicLink())
continue;
const linkPath = path96.join(globalDir, entry.name);
let installDir;
try {
installDir = fs60.realpathSync(linkPath);
} catch {
continue;
}
let pkgJson2;
try {
pkgJson2 = readPackageJsonFromDirRawSync(installDir);
} catch {
continue;
}
if (!pkgJson2.dependencies)
continue;
const dependencies = pickValidDependencies(pkgJson2.dependencies);
if (Object.keys(dependencies).length === 0)
continue;
result2.push({
hash: entry.name,
installDir,
dependencies
});
}
return result2;
}
function findGlobalPackage(globalDir, alias) {
const packages = scanGlobalPackages(globalDir);
return packages.find((pkg) => alias in pkg.dependencies) ?? null;
}
async function getGlobalPackageDetails(info) {
const aliases = Object.keys(info.dependencies);
const installedPackages = await Promise.all(aliases.map(async (alias) => {
const manifest = await safeReadPackageJsonFromDir(path96.join(info.installDir, "node_modules", alias));
if (!manifest)
return null;
return { alias, version: manifest.version, manifest };
}));
return installedPackages.filter((pkg) => pkg !== null);
}
function cleanOrphanedInstallDirs(globalDir) {
globalDir = path96.resolve(globalDir);
let entries;
try {
entries = fs60.readdirSync(globalDir, { withFileTypes: true });
} catch {
return;
}
const referenced = /* @__PURE__ */ new Set();
for (const entry of entries) {
if (!entry.isSymbolicLink())
continue;
try {
referenced.add(fs60.realpathSync(path96.join(globalDir, entry.name)));
} catch {
}
}
const now = Date.now();
const SAFETY_WINDOW_MS = 5 * 60 * 1e3;
for (const entry of entries) {
if (!entry.isDirectory())
continue;
const dirPath = path96.join(globalDir, entry.name);
if (referenced.has(dirPath))
continue;
try {
const stat2 = fs60.statSync(dirPath);
if (now - Math.max(stat2.birthtimeMs, stat2.ctimeMs) < SAFETY_WINDOW_MS)
continue;
} catch {
continue;
}
fs60.rmSync(dirPath, { recursive: true, force: true });
}
}
async function getInstalledBinNames(info) {
const bins = /* @__PURE__ */ new Set();
const aliases = Object.keys(info.dependencies);
const modulesDir = path96.join(info.installDir, "node_modules");
await Promise.all(aliases.map(async (alias) => {
const depDir = path96.join(modulesDir, alias);
const manifest = await safeReadPackageJsonFromDir(depDir);
if (!manifest)
return;
const binsOfPkg = await getBinsFromPackageManifest(manifest, depDir);
for (const bin of binsOfPkg) {
bins.add(bin.name);
}
}));
return [...bins];
}
var RESERVED_ALIASES, isUrlFriendly;
var init_scanGlobalPackages = __esm({
"../global/packages/lib/scanGlobalPackages.js"() {
"use strict";
init_lib7();
init_lib5();
RESERVED_ALIASES = /* @__PURE__ */ new Set(["node_modules", "favicon.ico"]);
isUrlFriendly = (segment) => encodeURIComponent(segment) === segment;
}
});
// ../global/packages/lib/index.js
var init_lib103 = __esm({
"../global/packages/lib/index.js"() {
"use strict";
init_cacheKey();
init_globalPackageDir();
init_scanGlobalPackages();
}
});
// ../global/commands/lib/checkGlobalBinConflicts.js
import fs61 from "node:fs";
import path97 from "node:path";
async function checkGlobalBinConflicts(opts3) {
const binsToSkip = /* @__PURE__ */ new Set();
const newBinOwners = /* @__PURE__ */ new Map();
await Promise.all(opts3.newPkgs.map(async (pkg) => {
const bins = await getBinsFromPackageManifest(pkg.manifest, pkg.location);
for (const bin of bins) {
const owners = newBinOwners.get(bin.name);
if (owners) {
owners.push(pkg.manifest.name);
} else {
newBinOwners.set(bin.name, [pkg.manifest.name]);
}
}
}));
if (newBinOwners.size === 0)
return binsToSkip;
const conflicting = new Set([...newBinOwners.keys()].filter((name) => binSlotExists(opts3.globalBinDir, name)));
if (conflicting.size === 0)
return binsToSkip;
const existingPackages = scanGlobalPackages(opts3.globalDir);
for (const existingPkg of existingPackages) {
if (opts3.shouldSkip(existingPkg))
continue;
const modulesDir = path97.join(existingPkg.installDir, "node_modules");
for (const alias of Object.keys(existingPkg.dependencies)) {
const depDir = path97.join(modulesDir, alias);
const manifest = await safeReadPackageJsonFromDir(depDir);
if (!manifest)
continue;
const bins = await getBinsFromPackageManifest(manifest, depDir);
for (const bin of bins) {
if (!conflicting.has(bin.name))
continue;
const newOwns = newBinOwners.get(bin.name).some((owner) => pkgOwnsBin(bin.name, owner));
const existingOwns = pkgOwnsBin(bin.name, manifest.name);
if (newOwns && !existingOwns)
continue;
if (existingOwns && !newOwns) {
binsToSkip.add(bin.name);
continue;
}
const conflictDisplay = alias === manifest.name ? `"${alias}"` : `"${alias}" (package "${manifest.name}")`;
throw new PnpmError("GLOBAL_BIN_CONFLICT", `Cannot install: binary "${bin.name}" would conflict with ${conflictDisplay} that is already installed globally`, {
hint: `Remove the conflicting package first: pnpm remove -g ${alias}`
});
}
}
}
return binsToSkip;
}
function binSlotExists(globalBinDir, name) {
if (fs61.existsSync(path97.join(globalBinDir, name)))
return true;
return process.platform === "win32" && fs61.existsSync(path97.join(globalBinDir, `${name}.exe`));
}
var init_checkGlobalBinConflicts = __esm({
"../global/commands/lib/checkGlobalBinConflicts.js"() {
"use strict";
init_lib7();
init_lib2();
init_lib103();
init_lib5();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cmd-extension/2.0.0/097570cd6df7f312030b5c3d573963575f7e8b5500eebbf732719aa30b61b8f7/node_modules/cmd-extension/index.js
import path98 from "node:path";
var _cmdExtension, cmdExtension;
var init_cmd_extension = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/cmd-extension/2.0.0/097570cd6df7f312030b5c3d573963575f7e8b5500eebbf732719aa30b61b8f7/node_modules/cmd-extension/index.js"() {
if (process.env.PATHEXT) {
_cmdExtension = process.env.PATHEXT.split(path98.delimiter).find((ext) => ext.toUpperCase() === ".CMD");
}
cmdExtension = _cmdExtension || ".cmd";
}
});
// ../bins/remover/lib/removeBins.js
import path99 from "node:path";
async function removeOnWin(cmd) {
removalLogger.debug(cmd);
await Promise.all([
rimraf(cmd),
rimraf(`${cmd}.ps1`),
rimraf(`${cmd}${cmdExtension}`),
// The `node` bin is linked as a real `<cmd>.exe` (see the node
// special-case in `@pnpm/bins.linker`), so it must be removed too —
// otherwise a stale `node.exe` survives on PATH after uninstall.
rimraf(`${cmd}.exe`)
]);
}
async function removeOnNonWin(p) {
removalLogger.debug(p);
return rimraf(p);
}
async function removeBinsOfDependency(dependencyDir, opts3) {
const uninstalledPkgJson = await safeReadPackageJsonFromDir(dependencyDir);
if (!uninstalledPkgJson)
return;
const cmds = await getBinsFromPackageManifest(uninstalledPkgJson, dependencyDir);
if (!opts3.dryRun) {
await Promise.all(cmds.map((cmd) => path99.join(opts3.binsDir, cmd.name)).map(removeBin));
}
return uninstalledPkgJson;
}
var import_is_windows8, removeBin;
var init_removeBins = __esm({
"../bins/remover/lib/removeBins.js"() {
"use strict";
init_lib7();
init_lib6();
init_lib5();
init_rimraf();
init_cmd_extension();
import_is_windows8 = __toESM(require_is_windows(), 1);
removeBin = (0, import_is_windows8.default)() ? removeOnWin : removeOnNonWin;
}
});
// ../bins/remover/lib/index.js
var init_lib104 = __esm({
"../bins/remover/lib/index.js"() {
"use strict";
init_removeBins();
}
});
// ../global/commands/lib/binOwnership.js
async function getBinNamesOfOtherGroups(globalDir, excludeHashes) {
const others = scanGlobalPackages(globalDir).filter((pkg) => !excludeHashes.has(pkg.hash));
const names = /* @__PURE__ */ new Set();
await Promise.all(others.map(async (pkg) => {
for (const name of await getInstalledBinNames(pkg)) {
names.add(name);
}
}));
return names;
}
var init_binOwnership = __esm({
"../global/commands/lib/binOwnership.js"() {
"use strict";
init_lib103();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/extensions/2.0.6/ce24c1441630ea04cecd49152dfeec3b3f29c27c347fe9fdeba1f3a7af3a94c5/node_modules/@yarnpkg/extensions/lib/index.js
var require_lib24 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/extensions/2.0.6/ce24c1441630ea04cecd49152dfeec3b3f29c27c347fe9fdeba1f3a7af3a94c5/node_modules/@yarnpkg/extensions/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.packageExtensions = void 0;
var optionalPeerDep = {
optional: true
};
exports2.packageExtensions = [
// https://github.com/tailwindlabs/tailwindcss-aspect-ratio/pull/14
[`@tailwindcss/aspect-ratio@<0.2.1`, {
peerDependencies: {
[`tailwindcss`]: `^2.0.2`
}
}],
// https://github.com/tailwindlabs/tailwindcss-line-clamp/pull/6
[`@tailwindcss/line-clamp@<0.2.1`, {
peerDependencies: {
[`tailwindcss`]: `^2.0.2`
}
}],
// https://github.com/FullHuman/purgecss/commit/24116f394dc54c913e4fd254cf2d78c03db971f2
[`@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0`, {
peerDependencies: {
[`postcss`]: `^8.0.0`
}
}],
// https://github.com/SamVerschueren/stream-to-observable/pull/5
[`@samverschueren/stream-to-observable@<0.3.1`, {
peerDependenciesMeta: {
[`rxjs`]: optionalPeerDep,
[`zenObservable`]: optionalPeerDep
}
}],
// https://github.com/sindresorhus/any-observable/pull/25
[`any-observable@<0.5.1`, {
peerDependenciesMeta: {
[`rxjs`]: optionalPeerDep,
[`zenObservable`]: optionalPeerDep
}
}],
// https://github.com/keymetrics/pm2-io-agent/pull/125
[`@pm2/agent@<1.0.4`, {
dependencies: {
[`debug`]: `*`
}
}],
// https://github.com/visionmedia/debug/pull/727
[`debug@<4.2.0`, {
peerDependenciesMeta: {
[`supports-color`]: optionalPeerDep
}
}],
// https://github.com/sindresorhus/got/pull/1125
[`got@<11`, {
dependencies: {
[`@types/responselike`]: `^1.0.0`,
[`@types/keyv`]: `^3.1.1`
}
}],
// https://github.com/szmarczak/cacheable-lookup/pull/12
[`cacheable-lookup@<4.1.2`, {
dependencies: {
[`@types/keyv`]: `^3.1.1`
}
}],
// https://github.com/prisma-labs/http-link-dataloader/pull/22
[`http-link-dataloader@*`, {
peerDependencies: {
[`graphql`]: `^0.13.1 || ^14.0.0`
}
}],
// https://github.com/theia-ide/typescript-language-server/issues/144
[`typescript-language-server@*`, {
dependencies: {
[`vscode-jsonrpc`]: `^5.0.1`,
[`vscode-languageserver-protocol`]: `^3.15.0`
}
}],
// https://github.com/gucong3000/postcss-syntax/pull/46
[`postcss-syntax@*`, {
peerDependenciesMeta: {
[`postcss-html`]: optionalPeerDep,
[`postcss-jsx`]: optionalPeerDep,
[`postcss-less`]: optionalPeerDep,
[`postcss-markdown`]: optionalPeerDep,
[`postcss-scss`]: optionalPeerDep
}
}],
// https://github.com/cssinjs/jss/pull/1315
[`jss-plugin-rule-value-function@<=10.1.1`, {
dependencies: {
[`tiny-warning`]: `^1.0.2`
}
}],
// https://github.com/vadimdemedes/ink-select-input/pull/26
[`ink-select-input@<4.1.0`, {
peerDependencies: {
react: `^16.8.2`
}
}],
// https://github.com/xz64/license-webpack-plugin/pull/100
[`license-webpack-plugin@<2.3.18`, {
peerDependenciesMeta: {
[`webpack`]: optionalPeerDep
}
}],
// https://github.com/snowpackjs/snowpack/issues/3158
[`snowpack@>=3.3.0`, {
dependencies: {
[`node-gyp`]: `^7.1.0`
}
}],
// https://github.com/iarna/promise-inflight/pull/4
[`promise-inflight@*`, {
peerDependenciesMeta: {
[`bluebird`]: optionalPeerDep
}
}],
// https://github.com/casesandberg/reactcss/pull/153
[`reactcss@*`, {
peerDependencies: {
react: `*`
}
}],
// https://github.com/casesandberg/react-color/pull/746
[`react-color@<=2.19.0`, {
peerDependencies: {
react: `*`
}
}],
// https://github.com/angeloocana/gatsby-plugin-i18n/pull/145
[`gatsby-plugin-i18n@*`, {
dependencies: {
ramda: `^0.24.1`
}
}],
// https://github.com/3rd-Eden/useragent/pull/159
[`useragent@^2.0.0`, {
dependencies: {
request: `^2.88.0`,
yamlparser: `0.0.x`,
semver: `5.5.x`
}
}],
// https://github.com/apollographql/apollo-tooling/pull/2049
[`@apollographql/apollo-tools@<=0.5.2`, {
peerDependencies: {
graphql: `^14.2.1 || ^15.0.0`
}
}],
// https://github.com/mbrn/material-table/pull/2374
[`material-table@^2.0.0`, {
dependencies: {
"@babel/runtime": `^7.11.2`
}
}],
// https://github.com/babel/babel/pull/11118
[`@babel/parser@*`, {
dependencies: {
"@babel/types": `^7.8.3`
}
}],
// https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/pull/507
[`fork-ts-checker-webpack-plugin@<=6.3.4`, {
peerDependencies: {
eslint: `>= 6`,
typescript: `>= 2.7`,
webpack: `>= 4`,
"vue-template-compiler": `*`
},
peerDependenciesMeta: {
eslint: optionalPeerDep,
"vue-template-compiler": optionalPeerDep
}
}],
// https://github.com/react-component/animate/pull/116
[`rc-animate@<=3.1.1`, {
peerDependencies: {
react: `>=16.9.0`,
"react-dom": `>=16.9.0`
}
}],
// https://github.com/react-bootstrap-table/react-bootstrap-table2/pull/1491
[`react-bootstrap-table2-paginator@*`, {
dependencies: {
classnames: `^2.2.6`
}
}],
// https://github.com/STRML/react-draggable/pull/525
[`react-draggable@<=4.4.3`, {
peerDependencies: {
react: `>= 16.3.0`,
"react-dom": `>= 16.3.0`
}
}],
// https://github.com/jaydenseric/apollo-upload-client/commit/336691cec6698661ab404649e4e8435750255803
[`apollo-upload-client@<14`, {
peerDependencies: {
graphql: `14 - 15`
}
}],
// https://github.com/algolia/react-instantsearch/pull/2975
[`react-instantsearch-core@<=6.7.0`, {
peerDependencies: {
algoliasearch: `>= 3.1 < 5`
}
}],
// https://github.com/algolia/react-instantsearch/pull/2975
[`react-instantsearch-dom@<=6.7.0`, {
dependencies: {
"react-fast-compare": `^3.0.0`
}
}],
// https://github.com/websockets/ws/pull/1626
[`ws@<7.2.1`, {
peerDependencies: {
bufferutil: `^4.0.1`,
"utf-8-validate": `^5.0.2`
},
peerDependenciesMeta: {
bufferutil: optionalPeerDep,
"utf-8-validate": optionalPeerDep
}
}],
// https://github.com/tajo/react-portal/pull/233
// https://github.com/tajo/react-portal/commit/daf85792c2fce25a3481b6f9132ef61a110f3d78
[`react-portal@<4.2.2`, {
peerDependencies: {
"react-dom": `^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0`
}
}],
// https://github.com/facebook/create-react-app/pull/9872
[`react-scripts@<=4.0.1`, {
peerDependencies: {
[`react`]: `*`
}
}],
// https://github.com/DevExpress/testcafe/pull/5872
[`testcafe@<=1.10.1`, {
dependencies: {
"@babel/plugin-transform-for-of": `^7.12.1`,
"@babel/runtime": `^7.12.5`
}
}],
// https://github.com/DevExpress/testcafe-legacy-api/pull/51
[`testcafe-legacy-api@<=4.2.0`, {
dependencies: {
"testcafe-hammerhead": `^17.0.1`,
"read-file-relative": `^1.2.0`
}
}],
// https://github.com/googleapis/nodejs-firestore/pull/1425
[`@google-cloud/firestore@<=4.9.3`, {
dependencies: {
protobufjs: `^6.8.6`
}
}],
// https://github.com/thinhle-agilityio/gatsby-source-apiserver/pull/58
[`gatsby-source-apiserver@*`, {
dependencies: {
[`babel-polyfill`]: `^6.26.0`
}
}],
// https://github.com/webpack/webpack-cli/pull/2097
[`@webpack-cli/package-utils@<=1.0.1-alpha.4`, {
dependencies: {
[`cross-spawn`]: `^7.0.3`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/20156
[`gatsby-remark-prismjs@<3.3.28`, {
dependencies: {
[`lodash`]: `^4`
}
}],
// https://github.com/Creatiwity/gatsby-plugin-favicon/pull/65
[`gatsby-plugin-favicon@*`, {
peerDependencies: {
[`webpack`]: `*`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/28759
[`gatsby-plugin-sharp@<=4.6.0-next.3`, {
dependencies: {
[`debug`]: `^4.3.1`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/28759
[`gatsby-react-router-scroll@<=5.6.0-next.0`, {
dependencies: {
[`prop-types`]: `^15.7.2`
}
}],
// https://github.com/rebassjs/rebass/pull/934
[`@rebass/forms@*`, {
dependencies: {
[`@styled-system/should-forward-prop`]: `^5.0.0`
},
peerDependencies: {
react: `^16.8.6`
}
}],
// https://github.com/rebassjs/rebass/pull/934
[`rebass@*`, {
peerDependencies: {
react: `^16.8.6`
}
}],
// https://github.com/ant-design/react-slick/pull/95
[`@ant-design/react-slick@<=0.28.3`, {
peerDependencies: {
react: `>=16.0.0`
}
}],
// https://github.com/mqttjs/MQTT.js/pull/1266
[`mqtt@<4.2.7`, {
dependencies: {
duplexify: `^4.1.1`
}
}],
// https://github.com/vuetifyjs/vue-cli-plugins/pull/155
[`vue-cli-plugin-vuetify@<=2.0.3`, {
dependencies: {
semver: `^6.3.0`
},
peerDependenciesMeta: {
"sass-loader": optionalPeerDep,
"vuetify-loader": optionalPeerDep
}
}],
// https://github.com/vuetifyjs/vue-cli-plugins/pull/152
[`vue-cli-plugin-vuetify@<=2.0.4`, {
dependencies: {
"null-loader": `^3.0.0`
}
}],
// https://github.com/vuetifyjs/vue-cli-plugins/pull/324
[`vue-cli-plugin-vuetify@>=2.4.3`, {
peerDependencies: {
vue: `*`
}
}],
// https://github.com/vuetifyjs/vue-cli-plugins/pull/155
[`@vuetify/cli-plugin-utils@<=0.0.4`, {
dependencies: {
semver: `^6.3.0`
},
peerDependenciesMeta: {
"sass-loader": optionalPeerDep
}
}],
// https://github.com/vuejs/vue-cli/pull/6060/files#diff-857cfb6f3e9a676b0de4a00c2c712297068c038a7d5820c133b8d6aa8cceb146R28
[`@vue/cli-plugin-typescript@<=5.0.0-alpha.0`, {
dependencies: {
"babel-loader": `^8.1.0`
}
}],
// https://github.com/vuejs/vue-cli/pull/6456
[`@vue/cli-plugin-typescript@<=5.0.0-beta.0`, {
dependencies: {
"@babel/core": `^7.12.16`
},
peerDependencies: {
"vue-template-compiler": `^2.0.0`
},
peerDependenciesMeta: {
"vue-template-compiler": optionalPeerDep
}
}],
// https://github.com/apache/cordova-ios/pull/1105
[`cordova-ios@<=6.3.0`, {
dependencies: {
underscore: `^1.9.2`
}
}],
// https://github.com/apache/cordova-lib/pull/871
[`cordova-lib@<=10.0.1`, {
dependencies: {
underscore: `^1.9.2`
}
}],
// https://github.com/creationix/git-node-fs/pull/8
[`git-node-fs@*`, {
peerDependencies: {
"js-git": `^0.7.8`
},
peerDependenciesMeta: {
"js-git": optionalPeerDep
}
}],
// https://github.com/tj/consolidate.js/pull/339
// https://github.com/tj/consolidate.js/commit/6068c17fd443897e540d69b1786db07a0d64b53b
[`consolidate@<0.16.0`, {
peerDependencies: {
mustache: `^3.0.0`
},
peerDependenciesMeta: {
mustache: optionalPeerDep
}
}],
// https://github.com/tj/consolidate.js/pull/339
[`consolidate@<=0.16.0`, {
peerDependencies: {
velocityjs: `^2.0.1`,
tinyliquid: `^0.2.34`,
"liquid-node": `^3.0.1`,
jade: `^1.11.0`,
"then-jade": `*`,
dust: `^0.3.0`,
"dustjs-helpers": `^1.7.4`,
"dustjs-linkedin": `^2.7.5`,
swig: `^1.4.2`,
"swig-templates": `^2.0.3`,
"razor-tmpl": `^1.3.1`,
atpl: `>=0.7.6`,
liquor: `^0.0.5`,
twig: `^1.15.2`,
ejs: `^3.1.5`,
eco: `^1.1.0-rc-3`,
jazz: `^0.0.18`,
jqtpl: `~1.1.0`,
hamljs: `^0.6.2`,
hamlet: `^0.3.3`,
whiskers: `^0.4.0`,
"haml-coffee": `^1.14.1`,
"hogan.js": `^3.0.2`,
templayed: `>=0.2.3`,
handlebars: `^4.7.6`,
underscore: `^1.11.0`,
lodash: `^4.17.20`,
pug: `^3.0.0`,
"then-pug": `*`,
qejs: `^3.0.5`,
walrus: `^0.10.1`,
mustache: `^4.0.1`,
just: `^0.1.8`,
ect: `^0.5.9`,
mote: `^0.2.0`,
toffee: `^0.3.6`,
dot: `^1.1.3`,
"bracket-template": `^1.1.5`,
ractive: `^1.3.12`,
nunjucks: `^3.2.2`,
htmling: `^0.0.8`,
"babel-core": `^6.26.3`,
plates: `~0.4.11`,
"react-dom": `^16.13.1`,
react: `^16.13.1`,
"arc-templates": `^0.5.3`,
vash: `^0.13.0`,
slm: `^2.0.0`,
marko: `^3.14.4`,
teacup: `^2.0.0`,
"coffee-script": `^1.12.7`,
squirrelly: `^5.1.0`,
twing: `^5.0.2`
},
peerDependenciesMeta: {
velocityjs: optionalPeerDep,
tinyliquid: optionalPeerDep,
"liquid-node": optionalPeerDep,
jade: optionalPeerDep,
"then-jade": optionalPeerDep,
dust: optionalPeerDep,
"dustjs-helpers": optionalPeerDep,
"dustjs-linkedin": optionalPeerDep,
swig: optionalPeerDep,
"swig-templates": optionalPeerDep,
"razor-tmpl": optionalPeerDep,
atpl: optionalPeerDep,
liquor: optionalPeerDep,
twig: optionalPeerDep,
ejs: optionalPeerDep,
eco: optionalPeerDep,
jazz: optionalPeerDep,
jqtpl: optionalPeerDep,
hamljs: optionalPeerDep,
hamlet: optionalPeerDep,
whiskers: optionalPeerDep,
"haml-coffee": optionalPeerDep,
"hogan.js": optionalPeerDep,
templayed: optionalPeerDep,
handlebars: optionalPeerDep,
underscore: optionalPeerDep,
lodash: optionalPeerDep,
pug: optionalPeerDep,
"then-pug": optionalPeerDep,
qejs: optionalPeerDep,
walrus: optionalPeerDep,
mustache: optionalPeerDep,
just: optionalPeerDep,
ect: optionalPeerDep,
mote: optionalPeerDep,
toffee: optionalPeerDep,
dot: optionalPeerDep,
"bracket-template": optionalPeerDep,
ractive: optionalPeerDep,
nunjucks: optionalPeerDep,
htmling: optionalPeerDep,
"babel-core": optionalPeerDep,
plates: optionalPeerDep,
"react-dom": optionalPeerDep,
react: optionalPeerDep,
"arc-templates": optionalPeerDep,
vash: optionalPeerDep,
slm: optionalPeerDep,
marko: optionalPeerDep,
teacup: optionalPeerDep,
"coffee-script": optionalPeerDep,
squirrelly: optionalPeerDep,
twing: optionalPeerDep
}
}],
// https://github.com/vuejs/vue-loader/pull/1853
// https://github.com/vuejs/vue-loader/commit/089473af97077b8e14b3feff48d32d2733ad792c
[`vue-loader@<=16.3.3`, {
peerDependencies: {
"@vue/compiler-sfc": `^3.0.8`,
webpack: `^4.1.0 || ^5.0.0-0`
},
peerDependenciesMeta: {
"@vue/compiler-sfc": optionalPeerDep
}
}],
// https://github.com/vuejs/vue-loader/pull/1944
[`vue-loader@^16.7.0`, {
peerDependencies: {
"@vue/compiler-sfc": `^3.0.8`,
vue: `^3.2.13`
},
peerDependenciesMeta: {
"@vue/compiler-sfc": optionalPeerDep,
vue: optionalPeerDep
}
}],
// https://github.com/salesforce-ux/scss-parser/pull/43
[`scss-parser@<=1.0.5`, {
dependencies: {
lodash: `^4.17.21`
}
}],
// https://github.com/salesforce-ux/query-ast/pull/25
[`query-ast@<1.0.5`, {
dependencies: {
lodash: `^4.17.21`
}
}],
// https://github.com/reduxjs/redux-thunk/pull/251
[`redux-thunk@<=2.3.0`, {
peerDependencies: {
redux: `^4.0.0`
}
}],
// https://github.com/snowpackjs/snowpack/pull/3556
[`skypack@<=0.3.2`, {
dependencies: {
tar: `^6.1.0`
}
}],
// https://github.com/npm/metavuln-calculator/pull/8
[`@npmcli/metavuln-calculator@<2.0.0`, {
dependencies: {
"json-parse-even-better-errors": `^2.3.1`
}
}],
// https://github.com/npm/bin-links/pull/17
[`bin-links@<2.3.0`, {
dependencies: {
"mkdirp-infer-owner": `^1.0.2`
}
}],
// https://github.com/snowpackjs/rollup-plugin-polyfill-node/pull/30
[`rollup-plugin-polyfill-node@<=0.8.0`, {
peerDependencies: {
rollup: `^1.20.0 || ^2.0.0`
}
}],
// https://github.com/snowpackjs/snowpack/pull/3673
[`snowpack@<3.8.6`, {
dependencies: {
"magic-string": `^0.25.7`
}
}],
// https://github.com/elm-community/elm-webpack-loader/pull/202
[`elm-webpack-loader@*`, {
dependencies: {
temp: `^0.9.4`
}
}],
// https://github.com/winstonjs/winston-transport/pull/58
[`winston-transport@<=4.4.0`, {
dependencies: {
logform: `^2.2.0`
}
}],
// https://github.com/vire/jest-vue-preprocessor/pull/177
[`jest-vue-preprocessor@*`, {
dependencies: {
"@babel/core": `7.8.7`,
"@babel/template": `7.8.6`
},
peerDependencies: {
pug: `^2.0.4`
},
peerDependenciesMeta: {
pug: optionalPeerDep
}
}],
// https://github.com/rt2zz/redux-persist/pull/1336
[`redux-persist@*`, {
peerDependencies: {
react: `>=16`
},
peerDependenciesMeta: {
react: optionalPeerDep
}
}],
// https://github.com/paixaop/node-sodium/pull/159
[`sodium@>=3`, {
dependencies: {
"node-gyp": `^3.8.0`
}
}],
// https://github.com/gajus/babel-plugin-graphql-tag/pull/63
[`babel-plugin-graphql-tag@<=3.1.0`, {
peerDependencies: {
graphql: `^14.0.0 || ^15.0.0`
}
}],
// https://github.com/microsoft/playwright/pull/8501
[`@playwright/test@<=1.14.1`, {
dependencies: {
"jest-matcher-utils": `^26.4.2`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/32954
...[
`babel-plugin-remove-graphql-queries@<3.14.0-next.1`,
`babel-preset-gatsby-package@<1.14.0-next.1`,
`create-gatsby@<1.14.0-next.1`,
`gatsby-admin@<0.24.0-next.1`,
`gatsby-cli@<3.14.0-next.1`,
`gatsby-core-utils@<2.14.0-next.1`,
`gatsby-design-tokens@<3.14.0-next.1`,
`gatsby-legacy-polyfills@<1.14.0-next.1`,
`gatsby-plugin-benchmark-reporting@<1.14.0-next.1`,
`gatsby-plugin-graphql-config@<0.23.0-next.1`,
`gatsby-plugin-image@<1.14.0-next.1`,
`gatsby-plugin-mdx@<2.14.0-next.1`,
`gatsby-plugin-netlify-cms@<5.14.0-next.1`,
`gatsby-plugin-no-sourcemaps@<3.14.0-next.1`,
`gatsby-plugin-page-creator@<3.14.0-next.1`,
`gatsby-plugin-preact@<5.14.0-next.1`,
`gatsby-plugin-preload-fonts@<2.14.0-next.1`,
`gatsby-plugin-schema-snapshot@<2.14.0-next.1`,
`gatsby-plugin-styletron@<6.14.0-next.1`,
`gatsby-plugin-subfont@<3.14.0-next.1`,
`gatsby-plugin-utils@<1.14.0-next.1`,
`gatsby-recipes@<0.25.0-next.1`,
`gatsby-source-shopify@<5.6.0-next.1`,
`gatsby-source-wikipedia@<3.14.0-next.1`,
`gatsby-transformer-screenshot@<3.14.0-next.1`,
`gatsby-worker@<0.5.0-next.1`
].map((descriptorString) => [
descriptorString,
{
dependencies: {
"@babel/runtime": `^7.14.8`
}
}
]),
// Originally fixed in https://github.com/gatsbyjs/gatsby/pull/31837 (https://github.com/gatsbyjs/gatsby/commit/6378692d7ec1eb902520720e27aca97e8eb42c21)
// Version updated and added in https://github.com/gatsbyjs/gatsby/pull/32928
[`gatsby-core-utils@<2.14.0-next.1`, {
dependencies: {
got: `8.3.2`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/32861
[`gatsby-plugin-gatsby-cloud@<=3.1.0-next.0`, {
dependencies: {
"gatsby-core-utils": `^2.13.0-next.0`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/31837
[`gatsby-plugin-gatsby-cloud@<=3.2.0-next.1`, {
peerDependencies: {
webpack: `*`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/31837
[`babel-plugin-remove-graphql-queries@<=3.14.0-next.1`, {
dependencies: {
"gatsby-core-utils": `^2.8.0-next.1`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/32861
[`gatsby-plugin-netlify@3.13.0-next.1`, {
dependencies: {
"gatsby-core-utils": `^2.13.0-next.0`
}
}],
// https://github.com/paul-soporan/clipanion-v3-codemod/pull/1
[`clipanion-v3-codemod@<=0.2.0`, {
peerDependencies: {
jscodeshift: `^0.11.0`
}
}],
// https://github.com/FormidableLabs/react-live/pull/180
[`react-live@*`, {
peerDependencies: {
"react-dom": `*`,
react: `*`
}
}],
// https://github.com/webpack/webpack/pull/11190
[`webpack@<4.44.1`, {
peerDependenciesMeta: {
"webpack-cli": optionalPeerDep,
"webpack-command": optionalPeerDep
}
}],
// https://github.com/webpack/webpack/pull/11189
[`webpack@<5.0.0-beta.23`, {
peerDependenciesMeta: {
"webpack-cli": optionalPeerDep
}
}],
// https://github.com/webpack/webpack-dev-server/pull/2396
[`webpack-dev-server@<3.10.2`, {
peerDependenciesMeta: {
"webpack-cli": optionalPeerDep
}
}],
// https://github.com/slorber/responsive-loader/pull/1/files
[`@docusaurus/responsive-loader@<1.5.0`, {
peerDependenciesMeta: {
sharp: optionalPeerDep,
jimp: optionalPeerDep
}
}],
// https://github.com/import-js/eslint-plugin-import/pull/2283
[`eslint-module-utils@*`, {
peerDependenciesMeta: {
"eslint-import-resolver-node": optionalPeerDep,
"eslint-import-resolver-typescript": optionalPeerDep,
"eslint-import-resolver-webpack": optionalPeerDep,
"@typescript-eslint/parser": optionalPeerDep
}
}],
// https://github.com/import-js/eslint-plugin-import/pull/2283
[`eslint-plugin-import@*`, {
peerDependenciesMeta: {
"@typescript-eslint/parser": optionalPeerDep
}
}],
// https://github.com/GoogleChromeLabs/critters/pull/91
[`critters-webpack-plugin@<3.0.2`, {
peerDependenciesMeta: {
"html-webpack-plugin": optionalPeerDep
}
}],
// https://github.com/terser/terser/commit/05b23eeb682d732484ad51b19bf528258fd5dc2a
[`terser@<=5.10.0`, {
dependencies: {
acorn: `^8.5.0`
}
}],
// https://github.com/facebook/create-react-app/pull/12364
[`babel-preset-react-app@10.0.x <10.0.2`, {
dependencies: {
"@babel/plugin-proposal-private-property-in-object": `^7.16.7`
}
}],
// https://github.com/facebook/create-react-app/pull/11751
[`eslint-config-react-app@*`, {
peerDependenciesMeta: {
typescript: optionalPeerDep
}
}],
// https://github.com/vuejs/eslint-config-typescript/pull/39
[`@vue/eslint-config-typescript@<11.0.0`, {
peerDependenciesMeta: {
typescript: optionalPeerDep
}
}],
// https://github.com/antfu/unplugin-vue2-script-setup/pull/100
[`unplugin-vue2-script-setup@<0.9.1`, {
peerDependencies: {
"@vue/composition-api": `^1.4.3`,
"@vue/runtime-dom": `^3.2.26`
}
}],
// https://github.com/cypress-io/snapshot/pull/159
[`@cypress/snapshot@*`, {
dependencies: {
debug: `^3.2.7`
}
}],
// https://github.com/wemaintain/auto-relay/pull/95
[`auto-relay@<=0.14.0`, {
peerDependencies: {
"reflect-metadata": `^0.1.13`
}
}],
// https://github.com/JuniorTour/vue-template-babel-compiler/pull/40
[`vue-template-babel-compiler@<1.2.0`, {
peerDependencies: {
[`vue-template-compiler`]: `^2.6.0`
}
}],
// https://github.com/parcel-bundler/parcel/pull/7977
[`@parcel/transformer-image@<2.5.0`, {
peerDependencies: {
[`@parcel/core`]: `*`
}
}],
// https://github.com/parcel-bundler/parcel/pull/7977
[`@parcel/transformer-js@<2.5.0`, {
peerDependencies: {
[`@parcel/core`]: `*`
}
}],
// Experiment to unblock the usage of Parcel in E2E tests
[`parcel@*`, {
peerDependenciesMeta: {
[`@parcel/core`]: optionalPeerDep
}
}],
// This doesn't have an upstream PR.
// The auto types causes two instances of eslint-config-react-app,
// one that has access to @types/eslint and one that doesn't.
// ESLint doesn't allow the same plugin to show up multiple times so it throws.
// As a temporary workaround until create-react-app fixes their ESLint
// setup we make eslint a peer dependency /w fallback.
// TODO: Lock the range when create-react-app fixes their ESLint setup
[`react-scripts@*`, {
peerDependencies: {
[`eslint`]: `*`
}
}],
// https://github.com/focus-trap/focus-trap-react/pull/691
[`focus-trap-react@^8.0.0`, {
dependencies: {
tabbable: `^5.3.2`
}
}],
// https://github.com/bokuweb/react-rnd/pull/864
[`react-rnd@<10.3.7`, {
peerDependencies: {
react: `>=16.3.0`,
"react-dom": `>=16.3.0`
}
}],
// https://github.com/jdesboeufs/connect-mongo/pull/458
// https://github.com/jdesboeufs/connect-mongo/commit/f462a2598d1dea0722a89e1f101937d427462458
[`connect-mongo@<5.0.0`, {
peerDependencies: {
"express-session": `^1.17.1`
}
}],
// https://github.com/intlify/vue-i18n-next/commit/ed932b9e575807dc27c30573b280ad8ae48e98c9
[`vue-i18n@<9`, {
peerDependencies: {
vue: `^2`
}
}],
// https://github.com/vuejs/router/commit/c2305083a8fcb42d1bb1f3f0d92f09930124b530
[`vue-router@<4`, {
peerDependencies: {
vue: `^2`
}
}],
// https://github.com/unifiedjs/unified/pull/146
[`unified@<10`, {
dependencies: {
"@types/unist": `^2.0.0`
}
}],
// https://github.com/ntkme/react-github-btn/pull/23
[`react-github-btn@<=1.3.0`, {
peerDependencies: {
react: `>=16.3.0`
}
}],
// There are two candidates upstream, clean this up when either is merged.
// - https://github.com/facebook/create-react-app/pull/11526
// - https://github.com/facebook/create-react-app/pull/11716
[`react-dev-utils@*`, {
peerDependencies: {
typescript: `>=2.7`,
webpack: `>=4`
},
peerDependenciesMeta: {
typescript: optionalPeerDep
}
}],
// https://github.com/asyncapi/asyncapi-react/pull/614
[`@asyncapi/react-component@<=1.0.0-next.39`, {
peerDependencies: {
react: `>=16.8.0`,
"react-dom": `>=16.8.0`
}
}],
// https://github.com/xojs/xo/pull/678
[`xo@*`, {
peerDependencies: {
webpack: `>=1.11.0`
},
peerDependenciesMeta: {
webpack: optionalPeerDep
}
}],
// https://github.com/gatsbyjs/gatsby/pull/36230
[`babel-plugin-remove-graphql-queries@<=4.20.0-next.0`, {
dependencies: {
"@babel/types": `^7.15.4`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/36230
[`gatsby-plugin-page-creator@<=4.20.0-next.1`, {
dependencies: {
"fs-extra": `^10.1.0`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/36230
[`gatsby-plugin-utils@<=3.14.0-next.1`, {
dependencies: {
fastq: `^1.13.0`
},
peerDependencies: {
graphql: `^15.0.0`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/33724
[`gatsby-plugin-mdx@<3.1.0-next.1`, {
dependencies: {
mkdirp: `^1.0.4`
}
}],
// https://github.com/gatsbyjs/gatsby/pull/33170
[`gatsby-plugin-mdx@^2`, {
peerDependencies: {
gatsby: `^3.0.0-next`
}
}],
// https://github.com/thecodrr/fdir/pull/76
// https://github.com/thecodrr/fdir/pull/80
[`fdir@<=5.2.0`, {
peerDependencies: {
picomatch: `2.x`
},
peerDependenciesMeta: {
picomatch: optionalPeerDep
}
}],
// https://github.com/leonardfactory/babel-plugin-transform-typescript-metadata/pull/61
[`babel-plugin-transform-typescript-metadata@<=0.3.2`, {
peerDependencies: {
"@babel/core": `^7`,
"@babel/traverse": `^7`
},
peerDependenciesMeta: {
"@babel/traverse": optionalPeerDep
}
}],
// https://github.com/graphql-compose/graphql-compose/pull/398
[`graphql-compose@>=9.0.10`, {
peerDependencies: {
graphql: `^14.2.0 || ^15.0.0 || ^16.0.0`
}
}],
// https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3
[`vite-plugin-vuetify@<=1.0.2`, {
peerDependencies: {
vue: `^3.0.0`
}
}],
// https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3
[`webpack-plugin-vuetify@<=2.0.1`, {
peerDependencies: {
vue: `^3.2.6`
}
}],
// https://github.com/pzmosquito/eslint-import-resolver-vite/pull/22
// https://github.com/pzmosquito/eslint-import-resolver-vite/commit/97b8111b03d3f8c66506732ac965e906568e8dc1#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
[`eslint-import-resolver-vite@<2.0.1`, {
dependencies: {
debug: `^4.3.4`,
resolve: `^1.22.8`
}
}],
// https://github.com/iamhosseindhv/notistack/issues/561
// https://github.com/iamhosseindhv/notistack/pull/562
[`notistack@^3.0.0`, {
dependencies: {
csstype: `^3.0.10`
}
}],
// https://github.com/fastify/fastify-type-provider-typebox/issues/114
// https://github.com/fastify/fastify-type-provider-typebox/pull/165
[`@fastify/type-provider-typebox@^5.0.0`, {
peerDependencies: {
fastify: `^5.0.0`
}
}],
[`@fastify/type-provider-typebox@^4.0.0`, {
peerDependencies: {
fastify: `^4.0.0`
}
}]
];
}
});
// ../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js
function createOptionalDependenciesRemover(toBeRemoved) {
if (!toBeRemoved.length)
return (manifest) => manifest;
const shouldBeRemoved = createMatcher(toBeRemoved);
return (manifest) => removeOptionalDependencies(manifest, shouldBeRemoved);
}
function removeOptionalDependencies(manifest, shouldBeRemoved) {
for (const optionalDependency in manifest.optionalDependencies) {
if (shouldBeRemoved(optionalDependency)) {
delete manifest.optionalDependencies[optionalDependency];
delete manifest.dependencies?.[optionalDependency];
}
}
return manifest;
}
var init_createOptionalDependenciesRemover = __esm({
"../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js"() {
"use strict";
init_lib27();
}
});
// ../hooks/read-package-hook/lib/createPackageExtender.js
function createPackageExtender(packageExtensions) {
const extensionsByPkgName = /* @__PURE__ */ new Map();
for (const selector in packageExtensions) {
const packageExtension = packageExtensions[selector];
const { alias, bareSpecifier } = parseWantedDependency(selector);
if (!extensionsByPkgName.has(alias)) {
extensionsByPkgName.set(alias, []);
}
extensionsByPkgName.get(alias).push({ packageExtension, range: bareSpecifier });
}
return extendPkgHook.bind(null, extensionsByPkgName);
}
function extendPkgHook(extensionsByPkgName, manifest) {
const extensions2 = extensionsByPkgName.get(manifest.name);
if (extensions2 == null)
return manifest;
extendPkg(manifest, extensions2);
return manifest;
}
function extendPkg(manifest, extensions2) {
for (const { range, packageExtension } of extensions2) {
if (range != null && !import_semver25.default.satisfies(manifest.version, range))
continue;
for (const field of ["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]) {
if (!packageExtension[field])
continue;
manifest[field] = {
...packageExtension[field],
...manifest[field]
};
}
}
}
var import_semver25;
var init_createPackageExtender = __esm({
"../hooks/read-package-hook/lib/createPackageExtender.js"() {
"use strict";
init_lib98();
import_semver25 = __toESM(require_semver2(), 1);
}
});
// ../hooks/read-package-hook/lib/isIntersectingRange.js
function isIntersectingRange(range1, range2) {
return !range1 || range2 === range1 || import_semver26.default.validRange(range2) != null && import_semver26.default.validRange(range1) != null && import_semver26.default.intersects(range2, range1);
}
var import_semver26;
var init_isIntersectingRange = __esm({
"../hooks/read-package-hook/lib/isIntersectingRange.js"() {
"use strict";
import_semver26 = __toESM(require_semver2(), 1);
}
});
// ../hooks/read-package-hook/lib/createVersionsOverrider.js
import path100 from "node:path";
function createVersionsOverrider(overrides, rootDir, opts3) {
const [convergeOverrides, explicitOverrides] = partition_default(({ converge: converge3 }) => converge3 === true, overrides);
const [versionOverrides, genericVersionOverrides] = partition_default(({ parentPkg }) => parentPkg != null, explicitOverrides.map((override) => ({
...override,
localTarget: createLocalTarget(override, rootDir)
})));
const convergeVersions = new Map(convergeOverrides.map((override) => [override.targetPkg.name, override.newBareSpecifier]));
return ((manifest, dir) => {
const versionOverridesWithParent = versionOverrides.filter(({ parentPkg }) => {
return parentPkg.name === manifest.name && (!parentPkg.bareSpecifier || import_semver27.default.satisfies(manifest.version, parentPkg.bareSpecifier));
});
overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides, {
convergeVersions,
convergeDeclaredRanges: opts3?.convergeDeclaredRanges
});
return manifest;
});
}
function createLocalTarget(override, rootDir) {
let protocol;
if (override.newBareSpecifier.startsWith("file:")) {
protocol = "file:";
} else if (override.newBareSpecifier.startsWith("link:")) {
protocol = "link:";
} else {
return void 0;
}
const pkgPath = override.newBareSpecifier.substring(protocol.length);
const specifiedViaRelativePath = !path100.isAbsolute(pkgPath);
const absolutePath = specifiedViaRelativePath ? path100.join(rootDir, pkgPath) : pkgPath;
return { absolutePath, specifiedViaRelativePath, protocol };
}
function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOverrides, convergeOpts) {
const { dependencies, optionalDependencies, devDependencies, peerDependencies } = manifest;
const _overrideDeps = overrideDeps.bind(null, { versionOverrides, genericVersionOverrides, dir, convergeOpts });
for (const deps of [dependencies, optionalDependencies, devDependencies]) {
if (deps) {
_overrideDeps(deps, void 0);
}
}
if (peerDependencies) {
if (!manifest.dependencies)
manifest.dependencies = {};
_overrideDeps(manifest.dependencies, peerDependencies);
}
}
function overrideDeps({ versionOverrides, genericVersionOverrides, dir, convergeOpts }, deps, peerDeps) {
for (const [name, bareSpecifier] of Object.entries(peerDeps ?? deps)) {
const versionOverride = pickMostSpecificVersionOverride(versionOverrides.filter(({ targetPkg }) => targetPkg.name === name && isIntersectingRange(targetPkg.bareSpecifier, bareSpecifier))) ?? pickMostSpecificVersionOverride(genericVersionOverrides.filter(({ targetPkg }) => targetPkg.name === name && isIntersectingRange(targetPkg.bareSpecifier, bareSpecifier)));
if (!versionOverride) {
convergeDep(convergeOpts, { deps, peerDeps }, name, bareSpecifier);
continue;
}
if (versionOverride.newBareSpecifier === "-") {
if (peerDeps) {
delete peerDeps[versionOverride.targetPkg.name];
} else {
delete deps[versionOverride.targetPkg.name];
}
continue;
}
const newBareSpecifier = versionOverride.localTarget ? `${versionOverride.localTarget.protocol}${resolveLocalOverride(versionOverride.localTarget, dir)}` : versionOverride.newBareSpecifier;
if (peerDeps == null || !isValidPeerRange(newBareSpecifier)) {
deps[versionOverride.targetPkg.name] = newBareSpecifier;
} else if (isValidPeerRange(newBareSpecifier)) {
peerDeps[versionOverride.targetPkg.name] = newBareSpecifier;
}
}
}
function convergeDep({ convergeVersions, convergeDeclaredRanges }, { deps, peerDeps }, name, bareSpecifier) {
const convergeVersion = convergeVersions.get(name);
if (convergeVersion == null || import_semver27.default.validRange(bareSpecifier, true) == null)
return;
if (convergeDeclaredRanges != null) {
let ranges = convergeDeclaredRanges.get(name);
if (ranges == null) {
ranges = /* @__PURE__ */ new Set();
convergeDeclaredRanges.set(name, ranges);
}
ranges.add(bareSpecifier);
}
if (!import_semver27.default.satisfies(convergeVersion, bareSpecifier, true))
return;
if (peerDeps == null) {
deps[name] = convergeVersion;
} else {
peerDeps[name] = convergeVersion;
}
}
function resolveLocalOverride({ specifiedViaRelativePath, absolutePath }, pkgDir) {
return specifiedViaRelativePath && pkgDir ? (0, import_normalize_path5.default)(path100.relative(pkgDir, absolutePath)) : absolutePath;
}
function pickMostSpecificVersionOverride(versionOverrides) {
return versionOverrides.sort((a2, b) => isIntersectingRange(b.targetPkg.bareSpecifier ?? "", a2.targetPkg.bareSpecifier ?? "") ? -1 : 1)[0];
}
var import_normalize_path5, import_semver27;
var init_createVersionsOverrider = __esm({
"../hooks/read-package-hook/lib/createVersionsOverrider.js"() {
"use strict";
init_lib10();
import_normalize_path5 = __toESM(require_normalize_path(), 1);
init_es();
import_semver27 = __toESM(require_semver2(), 1);
init_isIntersectingRange();
}
});
// ../hooks/read-package-hook/lib/createReadPackageHook.js
function getEffectivePackageExtensions({ ignoreCompatibilityDb, packageExtensions }) {
const effectivePackageExtensions = {};
if (!ignoreCompatibilityDb) {
mergePackageExtensions(effectivePackageExtensions, import_extensions.packageExtensions);
}
if (!isEmpty_default(packageExtensions ?? {})) {
mergePackageExtensions(effectivePackageExtensions, Object.entries(packageExtensions));
}
return isEmpty_default(effectivePackageExtensions) ? void 0 : effectivePackageExtensions;
}
function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, convergeDeclaredRanges, ignoredOptionalDependencies, packageExtensions, readPackageHook }) {
const hooks = [];
const effectivePackageExtensions = getEffectivePackageExtensions({
ignoreCompatibilityDb,
packageExtensions
});
if (effectivePackageExtensions != null) {
hooks.push(createPackageExtender(effectivePackageExtensions));
}
if (Array.isArray(readPackageHook)) {
hooks.push(...readPackageHook);
} else if (readPackageHook) {
hooks.push(readPackageHook);
}
if (!isEmpty_default(overrides ?? {})) {
hooks.push(createVersionsOverrider(overrides, lockfileDir, { convergeDeclaredRanges }));
}
if (ignoredOptionalDependencies && !isEmpty_default(ignoredOptionalDependencies)) {
hooks.push(createOptionalDependenciesRemover(ignoredOptionalDependencies));
}
if (hooks.length === 0) {
return void 0;
}
const readPackageAndExtend = hooks.length === 1 ? hooks[0] : ((pkg, dir) => pipeWith_default(async (f, res) => f(await res, dir), hooks)(pkg, dir));
return readPackageAndExtend;
}
function mergePackageExtensions(target2, entries) {
for (const [selector, packageExtension] of entries) {
target2[selector] = mergePackageExtension(target2[selector], packageExtension);
}
}
function mergePackageExtension(previous, next2) {
if (previous == null)
return clonePackageExtension(next2);
const merged = clonePackageExtension(previous);
for (const field of PACKAGE_EXTENSION_FIELDS) {
if (next2[field] == null)
continue;
merged[field] = {
...next2[field],
...merged[field]
};
}
return merged;
}
function clonePackageExtension(packageExtension) {
const cloned = {};
for (const field of PACKAGE_EXTENSION_FIELDS) {
if (packageExtension[field] == null)
continue;
cloned[field] = { ...packageExtension[field] };
}
return cloned;
}
var import_extensions, PACKAGE_EXTENSION_FIELDS;
var init_createReadPackageHook = __esm({
"../hooks/read-package-hook/lib/createReadPackageHook.js"() {
"use strict";
import_extensions = __toESM(require_lib24(), 1);
init_es();
init_createOptionalDependenciesRemover();
init_createPackageExtender();
init_createVersionsOverrider();
PACKAGE_EXTENSION_FIELDS = [
"dependencies",
"optionalDependencies",
"peerDependencies",
"peerDependenciesMeta"
];
}
});
// ../hooks/read-package-hook/lib/index.js
var init_lib105 = __esm({
"../hooks/read-package-hook/lib/index.js"() {
"use strict";
init_createReadPackageHook();
}
});
// ../fs/symlink-dependency/lib/safeJoinModulesDir.js
import path101 from "node:path";
function safeJoinModulesDir(modulesDir, alias) {
if (!(0, import_validate_npm_package_name4.default)(alias).validForOldPackages) {
throw invalidDependencyNameError(modulesDir, alias);
}
const link2 = path101.join(modulesDir, alias);
const resolvedDir = path101.resolve(modulesDir);
const resolvedLink = path101.resolve(link2);
if (resolvedLink === resolvedDir || !resolvedLink.startsWith(resolvedDir + path101.sep)) {
throw invalidDependencyNameError(modulesDir, alias, resolvedLink);
}
return link2;
}
function invalidDependencyNameError(modulesDir, alias, resolvedLink) {
const detail = resolvedLink ? ` (it resolves to ${resolvedLink})` : "";
const error = new Error(`Refusing to place a dependency under ${modulesDir} with the invalid alias ${JSON.stringify(alias)}${detail}`);
error.code = "ERR_PNPM_INVALID_DEPENDENCY_NAME";
return error;
}
var import_validate_npm_package_name4;
var init_safeJoinModulesDir = __esm({
"../fs/symlink-dependency/lib/safeJoinModulesDir.js"() {
"use strict";
import_validate_npm_package_name4 = __toESM(require_lib19(), 1);
}
});
// ../fs/symlink-dependency/lib/symlinkDirectRootDependency.js
import { promises as fs62 } from "node:fs";
import util35 from "node:util";
async function symlinkDirectRootDependency(dependencyLocation, destModulesDir, importAs, opts3) {
let destModulesDirReal;
try {
destModulesDirReal = await fs62.realpath(destModulesDir);
} catch (err2) {
if (util35.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
await fs62.mkdir(destModulesDir, { recursive: true });
destModulesDirReal = await fs62.realpath(destModulesDir);
} else {
throw err2;
}
}
const dest = safeJoinModulesDir(destModulesDirReal, importAs);
const { reused } = await symlinkDir(dependencyLocation, dest);
if (reused)
return;
rootLogger.debug({
added: {
dependencyType: opts3.fromDependenciesField && DEP_TYPE_BY_DEPS_FIELD_NAME[opts3.fromDependenciesField],
linkedFrom: dependencyLocation,
name: importAs,
realName: opts3.linkedPackage.name,
version: opts3.linkedPackage.version
},
prefix: opts3.prefix
});
}
var DEP_TYPE_BY_DEPS_FIELD_NAME;
var init_symlinkDirectRootDependency = __esm({
"../fs/symlink-dependency/lib/symlinkDirectRootDependency.js"() {
"use strict";
init_lib6();
init_dist3();
init_safeJoinModulesDir();
DEP_TYPE_BY_DEPS_FIELD_NAME = {
dependencies: "prod",
devDependencies: "dev",
optionalDependencies: "optional"
};
}
});
// ../fs/symlink-dependency/lib/index.js
async function symlinkDependency(dependencyRealLocation, destModulesDir, importAs) {
const link2 = safeJoinModulesDir(destModulesDir, importAs);
linkLogger.debug({ target: dependencyRealLocation, link: link2 });
return symlinkDir(dependencyRealLocation, link2);
}
var init_lib106 = __esm({
"../fs/symlink-dependency/lib/index.js"() {
"use strict";
init_lib6();
init_dist3();
init_safeJoinModulesDir();
init_safeJoinModulesDir();
init_symlinkDirectRootDependency();
}
});
// ../patching/config/lib/getPatchInfo.js
function getPatchInfo(patchFileGroups, pkgName, pkgVersion) {
if (!patchFileGroups?.[pkgName])
return void 0;
const exactVersion = patchFileGroups[pkgName].exact[pkgVersion];
if (exactVersion)
return exactVersion;
const satisfied = patchFileGroups[pkgName].range.filter((item) => (0, import_semver28.satisfies)(pkgVersion, item.version));
if (satisfied.length > 1) {
throw new PatchKeyConflictError(pkgName, pkgVersion, satisfied);
}
if (satisfied.length === 1) {
return satisfied[0].patch;
}
return patchFileGroups[pkgName].all;
}
var import_semver28, PatchKeyConflictError;
var init_getPatchInfo = __esm({
"../patching/config/lib/getPatchInfo.js"() {
"use strict";
init_lib2();
import_semver28 = __toESM(require_semver2(), 1);
PatchKeyConflictError = class extends PnpmError {
constructor(pkgName, pkgVersion, satisfied) {
const pkgId = `${pkgName}@${pkgVersion}`;
const satisfiedVersions = satisfied.map(({ version: version2 }) => version2);
const message = `Unable to choose between ${satisfied.length} version ranges to patch ${pkgId}: ${satisfiedVersions.join(", ")}`;
super("PATCH_KEY_CONFLICT", message, {
hint: `Explicitly set the exact version (${pkgId}) to resolve conflict`
});
}
};
}
});
// ../patching/config/lib/groupPatchedDependencies.js
function groupPatchedDependencies(patchedDependencies) {
const result2 = {};
function getGroup(name) {
let group = result2[name];
if (group)
return group;
group = {
exact: {},
range: [],
all: void 0
};
result2[name] = group;
return group;
}
for (const key in patchedDependencies) {
const value = patchedDependencies[key];
const info = typeof value === "string" ? { hash: value } : value;
const { name, version: version2, nonSemverVersion } = parse9(key);
if (name && version2) {
getGroup(name).exact[version2] = { ...info, key };
continue;
}
if (name && nonSemverVersion) {
if (!(0, import_semver29.validRange)(nonSemverVersion)) {
throw new PnpmError("PATCH_NON_SEMVER_RANGE", `${nonSemverVersion} is not a valid semantic version range.`);
}
if (nonSemverVersion.trim() === "*") {
getGroup(name).all = { ...info, key };
} else {
getGroup(name).range.push({
version: nonSemverVersion,
patch: { ...info, key }
});
}
continue;
}
getGroup(key).all = { ...info, key };
}
return result2;
}
var import_semver29;
var init_groupPatchedDependencies = __esm({
"../patching/config/lib/groupPatchedDependencies.js"() {
"use strict";
init_lib68();
init_lib2();
import_semver29 = __toESM(require_semver2(), 1);
}
});
// ../patching/config/lib/allPatchKeys.js
function* allPatchKeys(patchedDependencies) {
for (const name in patchedDependencies) {
const group = patchedDependencies[name];
for (const version2 in group.exact) {
yield group.exact[version2].key;
}
for (const item of group.range) {
yield item.patch.key;
}
if (group.all) {
yield group.all.key;
}
}
}
var init_allPatchKeys = __esm({
"../patching/config/lib/allPatchKeys.js"() {
"use strict";
}
});
// ../patching/config/lib/verifyPatches.js
function verifyPatches({ patchedDependencies, appliedPatches, allowUnusedPatches }) {
const unusedPatches = [];
for (const patchKey of allPatchKeys(patchedDependencies)) {
if (!appliedPatches.has(patchKey))
unusedPatches.push(patchKey);
}
if (!unusedPatches.length)
return;
const message = `The following patches were not used: ${unusedPatches.join(", ")}`;
if (allowUnusedPatches) {
globalWarn2(message);
return;
}
throw new PnpmError("UNUSED_PATCH", message, {
hint: 'Either remove them from "patchedDependencies" or update them to match packages in your dependencies.'
});
}
var init_verifyPatches = __esm({
"../patching/config/lib/verifyPatches.js"() {
"use strict";
init_lib2();
init_lib63();
init_allPatchKeys();
}
});
// ../patching/types/lib/index.js
var init_lib107 = __esm({
"../patching/types/lib/index.js"() {
"use strict";
}
});
// ../patching/config/lib/index.js
var init_lib108 = __esm({
"../patching/config/lib/index.js"() {
"use strict";
init_getPatchInfo();
init_groupPatchedDependencies();
init_verifyPatches();
init_lib107();
}
});
// ../installing/deps-resolver/lib/depPathToRef.js
function depPathToRef(depPath, opts3) {
if (opts3.alias === opts3.realName && depPath.startsWith(`${opts3.realName}@`)) {
return depPath.substring(opts3.realName.length + 1);
}
return depPath;
}
var init_depPathToRef = __esm({
"../installing/deps-resolver/lib/depPathToRef.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/getCatalogSnapshots.js
function getCatalogSnapshots(resolvedDirectDeps, updatedCatalogs) {
const catalogSnapshots = {};
const catalogedDeps = resolvedDirectDeps.filter(isCatalogedDep);
for (const dep of catalogedDeps) {
const snapshotForSingleCatalog = catalogSnapshots[dep.catalogLookup.catalogName] ??= {};
const updatedSpecifier = updatedCatalogs?.[dep.catalogLookup.catalogName]?.[dep.alias];
snapshotForSingleCatalog[dep.alias] = {
// The "updated specifier" will be present when pnpm add/update is ran and
// bare specifiers need to be added in the pnpm-workspace.yaml file. When
// this happens, the updated specifier should be saved to lockfile instead
// of the original specifier before the update.
specifier: updatedSpecifier ?? dep.catalogLookup.specifier,
version: dep.version
};
}
return catalogSnapshots;
}
function isCatalogedDep(dep) {
return dep.catalogLookup != null;
}
var init_getCatalogSnapshots = __esm({
"../installing/deps-resolver/lib/getCatalogSnapshots.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/validateDependencyAlias.js
function isValidDependencyAlias(alias) {
return typeof alias === "string" && (0, import_validate_npm_package_name5.default)(alias).validForOldPackages;
}
function assertValidDependencyAliases(deps, parentPkgDescription) {
if (deps == null)
return;
for (const alias of Object.keys(deps)) {
if (!isValidDependencyAlias(alias)) {
throw new PnpmError("INVALID_DEPENDENCY_NAME", `${parentPkgDescription} contains a dependency with an invalid name: ${JSON.stringify(alias)}`, {
hint: "A dependency name must be a valid npm package name \u2014 a single `name` or `@scope/name` consisting of URL-friendly characters, with no leading `.` or `_`, and not equal to reserved names such as `node_modules`."
});
}
}
}
var import_validate_npm_package_name5;
var init_validateDependencyAlias = __esm({
"../installing/deps-resolver/lib/validateDependencyAlias.js"() {
"use strict";
init_lib2();
import_validate_npm_package_name5 = __toESM(require_lib19(), 1);
}
});
// ../installing/deps-resolver/lib/getWantedDependencies.js
function getWantedDependencies(pkg, opts3) {
assertValidDependencyAliases(pkg.dependencies, "The current package");
assertValidDependencyAliases(pkg.devDependencies, "The current package");
assertValidDependencyAliases(pkg.optionalDependencies, "The current package");
assertValidDependencyAliases(pkg.peerDependencies, "The current package");
let depsToInstall = filterDependenciesByType(pkg, opts3?.includeDirect ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true
});
if (opts3?.autoInstallPeers) {
depsToInstall = {
...pkg.peerDependencies,
...depsToInstall
};
}
return getWantedDependenciesFromGivenSet(depsToInstall, {
dependencies: pkg.dependencies ?? {},
devDependencies: pkg.devDependencies ?? {},
optionalDependencies: pkg.optionalDependencies ?? {},
dependenciesMeta: pkg.dependenciesMeta ?? {},
peerDependencies: pkg.peerDependencies ?? {}
});
}
function getWantedDependenciesFromGivenSet(deps, opts3) {
if (!deps)
return [];
return Object.entries(deps).map(([alias, bareSpecifier]) => {
let depType;
if (opts3.optionalDependencies[alias] != null)
depType = "optional";
else if (opts3.dependencies[alias] != null)
depType = "prod";
else if (opts3.devDependencies[alias] != null)
depType = "dev";
else if (opts3.peerDependencies[alias] != null)
depType = "prod";
return {
alias,
dev: depType === "dev",
injected: opts3.dependenciesMeta[alias]?.injected,
optional: depType === "optional",
bareSpecifier,
prevSpecifier: bareSpecifier
};
});
}
var init_getWantedDependencies = __esm({
"../installing/deps-resolver/lib/getWantedDependencies.js"() {
"use strict";
init_lib11();
init_validateDependencyAlias();
}
});
// ../lockfile/preferred-versions/lib/index.js
function getPreferredVersionsFromLockfileAndManifests(snapshots, manifests) {
const preferredVersions = /* @__PURE__ */ Object.create(null);
for (const manifest of manifests) {
const specs = getAllDependenciesFromManifest2(manifest);
for (const [name, spec] of Object.entries(specs)) {
const selector = (0, import_version_selector_type4.default)(spec);
if (!selector)
continue;
preferredVersions[name] = preferredVersions[name] ?? /* @__PURE__ */ Object.create(null);
preferredVersions[name][spec] = {
selectorType: selector.type,
weight: DIRECT_DEP_SELECTOR_WEIGHT
};
}
}
if (!snapshots)
return preferredVersions;
addPreferredVersionsFromLockfile(snapshots, preferredVersions);
return preferredVersions;
}
function addPreferredVersionsFromLockfile(snapshots, preferredVersions) {
const uniqueNameVersions = /* @__PURE__ */ Object.create(null);
for (const [depPath, snapshot] of Object.entries(snapshots)) {
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, snapshot);
uniqueNameVersions[name] ??= /* @__PURE__ */ new Set();
uniqueNameVersions[name].add(version2);
}
for (const [name, versions] of Object.entries(uniqueNameVersions)) {
for (const version2 of versions) {
preferredVersions[name] ??= /* @__PURE__ */ Object.create(null);
const existingSelector = preferredVersions[name][version2];
if (existingSelector == null) {
preferredVersions[name][version2] = { selectorType: "version", weight: EXISTING_VERSION_SELECTOR_WEIGHT };
continue;
}
const existingSelectorType = typeof existingSelector === "string" ? existingSelector : existingSelector.selectorType;
if (existingSelectorType !== "version") {
throw new Error(`Encountered unexpected version selector '${existingSelectorType}' for dependency '${name}@${version2}'`);
}
preferredVersions[name][version2] = addWeightToVersionSelector(existingSelector, EXISTING_VERSION_SELECTOR_WEIGHT);
}
}
}
function addWeightToVersionSelector(selector, weight) {
return typeof selector === "string" ? { selectorType: selector, weight: weight + 1 } : { selectorType: selector.selectorType, weight: selector.weight + weight };
}
var import_version_selector_type4;
var init_lib109 = __esm({
"../lockfile/preferred-versions/lib/index.js"() {
"use strict";
init_lib73();
init_lib11();
init_lib29();
import_version_selector_type4 = __toESM(require_version_selector_type(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-exists/5.0.0/807a2a7b778216f41e07b2ae7c9f30106db072a3e29bc81492360ad57b4431cd/node_modules/path-exists/index.js
import fs63, { promises as fsPromises4 } from "node:fs";
async function pathExists2(path236) {
try {
await fsPromises4.access(path236);
return true;
} catch {
return false;
}
}
var init_path_exists = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/path-exists/5.0.0/807a2a7b778216f41e07b2ae7c9f30106db072a3e29bc81492360ad57b4431cd/node_modules/path-exists/index.js"() {
}
});
// ../installing/deps-resolver/lib/unwrapPackageName.js
function unwrapPackageName(alias, originalBareSpecifier) {
if (!originalBareSpecifier.startsWith("npm:")) {
return { pkgName: alias, bareSpecifier: originalBareSpecifier };
}
const npmAliasSpecifierValue = originalBareSpecifier.slice(4);
const index2 = npmAliasSpecifierValue.lastIndexOf("@");
if (index2 === -1 || index2 === 0) {
return { pkgName: npmAliasSpecifierValue, bareSpecifier: "*" };
}
const bareSpecifier = npmAliasSpecifierValue.slice(index2 + 1);
const pkgName = npmAliasSpecifierValue.substring(0, index2);
return { pkgName, bareSpecifier };
}
var init_unwrapPackageName = __esm({
"../installing/deps-resolver/lib/unwrapPackageName.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/getExactSinglePreferredVersions.js
function getExactSinglePreferredVersions(wantedDependency, version2) {
const { pkgName } = unwrapPackageName(wantedDependency.alias, wantedDependency.bareSpecifier);
return {
[pkgName]: { [version2]: "version" }
};
}
var init_getExactSinglePreferredVersions = __esm({
"../installing/deps-resolver/lib/getExactSinglePreferredVersions.js"() {
"use strict";
init_unwrapPackageName();
}
});
// ../installing/deps-resolver/lib/getNonDevWantedDependencies.js
function getNonDevWantedDependencies(pkg) {
const pkgDescription = pkg.name != null ? `Package "${pkg.name}${pkg.version != null ? `@${pkg.version}` : ""}"` : "Package";
assertValidDependencyAliases(pkg.dependencies, pkgDescription);
assertValidDependencyAliases(pkg.optionalDependencies, pkgDescription);
let bd = pkg.bundledDependencies ?? pkg.bundleDependencies;
if (bd === true) {
bd = pkg.dependencies != null ? Object.keys(pkg.dependencies) : [];
}
const bundledDeps = new Set(Array.isArray(bd) ? bd : []);
const filterDeps = getNotBundledDeps.bind(null, bundledDeps);
return getWantedDependenciesFromGivenSet2(filterDeps({ ...pkg.optionalDependencies, ...pkg.dependencies }), {
dependenciesMeta: pkg.dependenciesMeta ?? {},
devDependencies: {},
optionalDependencies: pkg.optionalDependencies ?? {}
});
}
function getWantedDependenciesFromGivenSet2(deps, opts3) {
if (!deps)
return [];
return Object.entries(deps).map(([alias, bareSpecifier]) => ({
alias,
dev: !!opts3.devDependencies[alias],
injected: opts3.dependenciesMeta[alias]?.injected,
optional: !!opts3.optionalDependencies[alias],
bareSpecifier
}));
}
function getNotBundledDeps(bundledDeps, deps) {
return pickBy_default((_, depName) => !bundledDeps.has(depName), deps);
}
var init_getNonDevWantedDependencies = __esm({
"../installing/deps-resolver/lib/getNonDevWantedDependencies.js"() {
"use strict";
init_es();
init_validateDependencyAlias();
}
});
// ../installing/deps-resolver/lib/hoistPeers.js
function hoistPeers(opts3, missingRequiredPeers) {
const dependencies = {};
for (const [peerName, { range }] of missingRequiredPeers) {
const rootDepByAlias = opts3.workspaceRootDeps.find((rootDep2) => rootDep2.alias === peerName);
if (rootDepByAlias?.normalizedBareSpecifier) {
dependencies[peerName] = rootDepByAlias.normalizedBareSpecifier;
continue;
}
const rootDep = opts3.workspaceRootDeps.filter((rootDep2) => rootDep2.pkgName === peerName).sort((rootDep1, rootDep2) => (0, import_util10.lexCompare)(rootDep1.alias, rootDep2.alias))[0];
if (rootDep?.normalizedBareSpecifier) {
dependencies[peerName] = rootDep.normalizedBareSpecifier;
continue;
}
if (opts3.allPreferredVersions[peerName]) {
const versions = [];
const nonVersions = [];
for (const [spec, selector] of Object.entries(opts3.allPreferredVersions[peerName])) {
const specType = typeof selector === "string" ? selector : selector.selectorType;
if (specType === "version") {
versions.push(spec);
} else {
nonVersions.push(spec);
}
}
const isSemverRange = import_semver30.default.validRange(range, { includePrerelease: true }) != null;
const satisfyingVersion = isSemverRange ? import_semver30.default.maxSatisfying(versions, range, { includePrerelease: true }) : null;
if (satisfyingVersion) {
dependencies[peerName] = [satisfyingVersion, ...nonVersions].join(" || ");
} else if (isSemverRange && versions.length > 0) {
if (opts3.autoInstallPeers) {
dependencies[peerName] = range;
}
} else {
dependencies[peerName] = [import_semver30.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].filter((spec) => spec != null).join(" || ");
}
} else if (opts3.autoInstallPeers) {
dependencies[peerName] = range;
}
}
return dependencies;
}
function getHoistableOptionalPeers(allMissingOptionalPeers, allPreferredVersions) {
const optionalDependencies = {};
for (const [missingOptionalPeerName, ranges] of Object.entries(allMissingOptionalPeers)) {
if (!allPreferredVersions[missingOptionalPeerName])
continue;
let maxSatisfyingVersion;
for (const [version2, selector] of Object.entries(allPreferredVersions[missingOptionalPeerName])) {
const specType = typeof selector === "string" ? selector : selector.selectorType;
if (specType === "version" && ranges.every((range) => import_semver30.default.satisfies(version2, range)) && (!maxSatisfyingVersion || import_semver30.default.gt(version2, maxSatisfyingVersion))) {
maxSatisfyingVersion = version2;
}
}
if (maxSatisfyingVersion) {
optionalDependencies[missingOptionalPeerName] = maxSatisfyingVersion;
}
}
return optionalDependencies;
}
var import_util10, import_semver30;
var init_hoistPeers = __esm({
"../installing/deps-resolver/lib/hoistPeers.js"() {
"use strict";
import_util10 = __toESM(require_dist4(), 1);
import_semver30 = __toESM(require_semver2(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/utils.js
var require_utils14 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/utils.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var semver_12 = __importDefault2(require_semver2());
function isNotNull(value) {
return value !== null;
}
exports2.isNotNull = isNotNull;
function uniqueArray(array) {
return [...new Set(array)];
}
exports2.uniqueArray = uniqueArray;
function isNoIncludeNull(value) {
return value.every(isNotNull);
}
exports2.isNoIncludeNull = isNoIncludeNull;
function isPrerelease(version2) {
if (version2 instanceof semver_12.default.SemVer) {
return version2.prerelease.length !== 0;
} else {
return false;
}
}
exports2.isPrerelease = isPrerelease;
function isValidOperator(comparator, operatorList) {
return operatorList.includes(comparator.operator);
}
exports2.isValidOperator = isValidOperator;
function equalComparator(comparatorA, comparatorB) {
return comparatorA.value === comparatorB.value;
}
exports2.equalComparator = equalComparator;
function comparator2versionStr(comparator) {
const compSemver = comparator.semver;
return compSemver instanceof semver_12.default.SemVer ? compSemver.version : "";
}
exports2.comparator2versionStr = comparator2versionStr;
function isSameVersionEqualsLikeComparator(comparatorA, comparatorB) {
const compVersionA = comparator2versionStr(comparatorA);
const compVersionB = comparator2versionStr(comparatorB);
return compVersionA !== "" && compVersionB !== "" && compVersionA === compVersionB && /=|^$/.test(comparatorA.operator) && /=|^$/.test(comparatorB.operator);
}
exports2.isSameVersionEqualsLikeComparator = isSameVersionEqualsLikeComparator;
function isEqualsComparator(comparator) {
return comparator.semver instanceof semver_12.default.SemVer && isValidOperator(comparator, ["", "="]);
}
exports2.isEqualsComparator = isEqualsComparator;
function filterUniqueComparator(comparator, index2, self2) {
return self2.findIndex((comp) => equalComparator(comparator, comp)) === index2;
}
exports2.filterUniqueComparator = filterUniqueComparator;
function filterOperator(operatorList) {
return (comparator) => isValidOperator(comparator, operatorList);
}
exports2.filterOperator = filterOperator;
function isIntersectRanges(semverRangeList) {
return semverRangeList.every((rangeA, index2, rangeList) => rangeList.slice(index2 + 1).every((rangeB) => rangeA.intersects(rangeB)));
}
exports2.isIntersectRanges = isIntersectRanges;
function stripSemVerPrerelease(semverVersion) {
if (!(semverVersion instanceof semver_12.default.SemVer)) {
return "";
}
if (!semverVersion.prerelease.length) {
return semverVersion.version;
}
const newSemverVersion = new semver_12.default.SemVer(semverVersion.version, semverVersion.options);
newSemverVersion.prerelease = [];
return newSemverVersion.format();
}
exports2.stripSemVerPrerelease = stripSemVerPrerelease;
function stripComparatorOperator(comparator) {
if (!comparator.operator) {
return comparator;
}
const versionStr = comparator2versionStr(comparator);
return new semver_12.default.Comparator(versionStr, comparator.options);
}
exports2.stripComparatorOperator = stripComparatorOperator;
function getLowerBoundComparator(comparatorList, options = {}) {
const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, [">", ">="]) || !(comparator.semver instanceof semver_12.default.SemVer));
const leComparatorVersionList = comparatorList.filter(filterOperator(["<="])).map(comparator2versionStr);
if (validComparatorList.length >= 1) {
return validComparatorList.reduce((a2, b) => {
const semverA = a2.semver;
const semverB = b.semver;
if (!(semverA instanceof semver_12.default.SemVer)) {
if (!options.singleRange && isPrerelease(semverB) && !(b.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverB)))) {
return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverB)}`, b.options);
}
return b;
} else if (!(semverB instanceof semver_12.default.SemVer)) {
if (!options.singleRange && isPrerelease(semverA) && !(a2.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverA)))) {
return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverA)}`, a2.options);
}
return a2;
}
const semverCmp = semver_12.default.compare(semverA, semverB);
if (a2.operator === b.operator || semverCmp !== 0) {
if (!options.singleRange) {
const semverCmpMain = semverA.compareMain(semverB);
if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) {
if (semverCmpMain > 0) {
return new semver_12.default.Comparator(a2.operator + stripSemVerPrerelease(semverA), a2.options);
} else {
return new semver_12.default.Comparator(b.operator + stripSemVerPrerelease(semverB), b.options);
}
}
}
if (semverCmp > 0) {
return a2;
} else {
return b;
}
} else {
if (a2.operator === ">") {
return a2;
} else {
return b;
}
}
});
} else {
return new semver_12.default.Comparator("");
}
}
exports2.getLowerBoundComparator = getLowerBoundComparator;
function getUpperBoundComparator(comparatorList, options = {}) {
const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, ["<", "<="]) || !(comparator.semver instanceof semver_12.default.SemVer));
const geComparatorVersionList = comparatorList.filter(filterOperator([">="])).map(comparator2versionStr);
if (validComparatorList.length >= 1) {
return validComparatorList.reduce((a2, b) => {
const semverA = a2.semver;
const semverB = b.semver;
if (!(semverA instanceof semver_12.default.SemVer)) {
if (!options.singleRange && isPrerelease(semverB) && !(b.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverB)))) {
return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options);
}
return b;
} else if (!(semverB instanceof semver_12.default.SemVer)) {
if (!options.singleRange && isPrerelease(semverA) && !(a2.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverA)))) {
return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a2.options);
}
return a2;
}
const semverCmp = semver_12.default.compare(semverA, semverB);
if (a2.operator === b.operator || semverCmp !== 0) {
if (!options.singleRange) {
const semverCmpMain = semverA.compareMain(semverB);
if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) {
if (semverCmpMain < 0) {
return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a2.options);
} else {
return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options);
}
}
}
if (semverCmp < 0) {
return a2;
} else {
return b;
}
} else {
if (a2.operator === "<") {
return a2;
} else {
return b;
}
}
});
} else {
return new semver_12.default.Comparator("");
}
}
exports2.getUpperBoundComparator = getUpperBoundComparator;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/single-range.js
var require_single_range = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/single-range.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var semver_12 = __importDefault2(require_semver2());
var utils_1 = require_utils14();
var SingleVer = class {
constructor(comp) {
this.comp = comp;
}
toString() {
return this.comp.value;
}
intersect(singleRange) {
if (semver_12.default.intersects(String(this), String(singleRange))) {
return this;
} else {
return null;
}
}
merge(singleRange) {
if (semver_12.default.intersects(String(this), String(singleRange))) {
return singleRange;
}
return null;
}
};
exports2.SingleVer = SingleVer;
var SingleRange = class _SingleRange {
constructor(lowerBound2, upperBound) {
this.lowerBound = lowerBound2;
this.upperBound = upperBound;
if (!lowerBound2.intersects(upperBound)) {
throw new Error(`Invalid range; version range does not intersect: ${this}`);
}
}
toString() {
return [this.lowerBound.value, this.upperBound.value].filter((v) => v !== "").join(" ");
}
intersect(singleRange) {
if (semver_12.default.intersects(String(this), String(singleRange))) {
if (singleRange instanceof SingleVer) {
return singleRange;
} else {
const lowerBoundComparatorList = [
this.lowerBound,
singleRange.lowerBound
];
const upperBoundComparatorList = [
this.upperBound,
singleRange.upperBound
];
const lowerBound2 = utils_1.getLowerBoundComparator([
...lowerBoundComparatorList,
...upperBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer)
]);
const upperBound = utils_1.getUpperBoundComparator([
...upperBoundComparatorList,
...lowerBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer)
]);
if (utils_1.isSameVersionEqualsLikeComparator(lowerBound2, upperBound)) {
return new SingleVer(utils_1.stripComparatorOperator(lowerBound2));
}
return new _SingleRange(lowerBound2, upperBound);
}
} else {
return null;
}
}
merge(singleRange) {
if (semver_12.default.intersects(String(this), String(singleRange))) {
if (singleRange instanceof SingleVer) {
return this;
} else {
const lowerBound2 = ((a2, b) => {
const semverA = a2.semver;
const semverB = b.semver;
if (!(semverA instanceof semver_12.default.SemVer)) {
if (utils_1.isPrerelease(semverB)) {
return null;
}
return a2;
} else if (!(semverB instanceof semver_12.default.SemVer)) {
if (utils_1.isPrerelease(semverA)) {
return null;
}
return b;
}
const cmpMain = semverA.compareMain(semverB);
if (cmpMain < 0 && utils_1.isPrerelease(semverB) || cmpMain > 0 && utils_1.isPrerelease(semverA)) {
return null;
}
const semverCmp = semver_12.default.compare(semverA, semverB);
if (a2.operator === b.operator || semverCmp !== 0) {
if (semverCmp < 0) {
return a2;
} else {
return b;
}
} else {
if (a2.operator === ">=") {
return a2;
} else {
return b;
}
}
})(this.lowerBound, singleRange.lowerBound);
const upperBound = ((a2, b) => {
const semverA = a2.semver;
const semverB = b.semver;
if (!(semverA instanceof semver_12.default.SemVer)) {
if (utils_1.isPrerelease(semverB)) {
return null;
}
return a2;
} else if (!(semverB instanceof semver_12.default.SemVer)) {
if (utils_1.isPrerelease(semverA)) {
return null;
}
return b;
}
const cmpMain = semverA.compareMain(semverB);
if (cmpMain > 0 && utils_1.isPrerelease(semverB) || cmpMain < 0 && utils_1.isPrerelease(semverA)) {
return null;
}
const semverCmp = semver_12.default.compare(semverA, semverB);
if (a2.operator === b.operator || semverCmp !== 0) {
if (semverCmp > 0) {
return a2;
} else {
return b;
}
} else {
if (a2.operator === "<=") {
return a2;
} else {
return b;
}
}
})(this.upperBound, singleRange.upperBound);
if (lowerBound2 && upperBound) {
return new _SingleRange(lowerBound2, upperBound);
}
}
}
return null;
}
};
exports2.SingleRange = SingleRange;
function createSingleRange(comparatorList) {
const equalsComparatorList = comparatorList.filter(utils_1.isEqualsComparator).filter(utils_1.filterUniqueComparator);
switch (equalsComparatorList.length) {
case 0: {
const lowerBound2 = utils_1.getLowerBoundComparator(comparatorList, {
singleRange: true
});
const upperBound = utils_1.getUpperBoundComparator(comparatorList, {
singleRange: true
});
if (utils_1.isSameVersionEqualsLikeComparator(lowerBound2, upperBound)) {
return new SingleVer(utils_1.stripComparatorOperator(lowerBound2));
}
try {
return new SingleRange(lowerBound2, upperBound);
} catch (err2) {
return null;
}
}
case 1:
return new SingleVer(equalsComparatorList[0]);
default:
return null;
}
}
exports2.createSingleRange = createSingleRange;
function isSingleRange(value) {
return value instanceof SingleVer || value instanceof SingleRange;
}
exports2.isSingleRange = isSingleRange;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/multi-range.js
var require_multi_range = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/multi-range.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var single_range_1 = require_single_range();
var utils_1 = require_utils14();
function normalizeSingleRangeList(singleRangeList) {
return singleRangeList.reduce((singleRangeList2, singleRange) => {
if (!singleRange) {
return [...singleRangeList2, singleRange];
}
let insertFirst = false;
const removeIndexList = [];
const appendSingleRange = singleRangeList2.reduce((appendSingleRange2, insertedSingleRange, index2) => {
if (insertedSingleRange && appendSingleRange2) {
const mergedSingleRange = insertedSingleRange.merge(appendSingleRange2);
if (mergedSingleRange) {
if (String(mergedSingleRange) === String(insertedSingleRange)) {
return;
} else {
removeIndexList.push(index2);
if (insertedSingleRange instanceof single_range_1.SingleRange && appendSingleRange2 instanceof single_range_1.SingleRange) {
insertFirst = true;
}
return mergedSingleRange;
}
}
}
return appendSingleRange2;
}, singleRange);
const removedSingleRangeList = singleRangeList2.filter((_, index2) => !removeIndexList.includes(index2));
if (appendSingleRange) {
if (insertFirst) {
return [appendSingleRange, ...removedSingleRangeList];
} else {
return [...removedSingleRangeList, appendSingleRange];
}
}
return removedSingleRangeList;
}, []);
}
exports2.normalizeSingleRangeList = normalizeSingleRangeList;
var MultiRange = class _MultiRange {
get valid() {
return this.set.length >= 1;
}
constructor(rangeList) {
if (rangeList) {
const singleRangeList = normalizeSingleRangeList(rangeList.map((singleRangeOrComparatorList) => {
if (single_range_1.isSingleRange(singleRangeOrComparatorList) || !singleRangeOrComparatorList) {
return singleRangeOrComparatorList;
} else {
return single_range_1.createSingleRange(singleRangeOrComparatorList);
}
}));
this.set = singleRangeList.filter(utils_1.isNotNull);
} else {
this.set = [];
}
}
toString() {
if (!this.valid) {
throw new Error("Invalid range");
}
return utils_1.uniqueArray(this.set.map(String)).join(" || ");
}
intersect(multiRange) {
if (this.valid && multiRange.valid) {
const singleRangeList = this.set.map((singleRangeA) => multiRange.set.map((singleRangeB) => singleRangeA.intersect(singleRangeB))).reduce((a2, b) => [...a2, ...b]).filter(utils_1.isNotNull);
return new _MultiRange(singleRangeList);
} else if (this.valid) {
return this;
} else if (multiRange.valid) {
return multiRange;
} else {
return new _MultiRange(null);
}
}
};
exports2.MultiRange = MultiRange;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/index.js
var require_dist7 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/semver-range-intersect/0.3.1/62355b206a3d3bb7824814eb45059bb13baf842b2c19c3096d068b36f4bbabd9/node_modules/semver-range-intersect/dist/index.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var semver_12 = __importDefault2(require_semver2());
var multi_range_1 = require_multi_range();
var utils_1 = require_utils14();
function intersect3(...ranges) {
const semverRangeList = (() => {
try {
return ranges.map((rangeStr) => new semver_12.default.Range(rangeStr));
} catch (err2) {
return null;
}
})();
if (!semverRangeList || !utils_1.isIntersectRanges(semverRangeList)) {
return null;
}
const intersectRange = semverRangeList.map((range) => new multi_range_1.MultiRange(range.set)).reduce((multiRangeA, multiRangeB) => multiRangeA.intersect(multiRangeB), new multi_range_1.MultiRange(null));
return intersectRange.valid ? String(intersectRange) || "*" : null;
}
exports2.intersect = intersect3;
}
});
// ../installing/deps-resolver/lib/mergePeers.js
function mergePeers(missingPeers) {
const conflicts = [];
const intersections = {};
for (const [peerName, ranges] of Object.entries(missingPeers)) {
if (ranges.every(({ optional }) => optional))
continue;
if (ranges.length === 1) {
intersections[peerName] = ranges[0].wantedRange;
continue;
}
const intersection = safeIntersect(ranges.map(({ wantedRange }) => wantedRange));
if (intersection === null) {
conflicts.push(peerName);
} else {
intersections[peerName] = intersection;
}
}
return { conflicts, intersections };
}
function safeIntersect(ranges) {
try {
return (0, import_semver_range_intersect.intersect)(...ranges);
} catch {
return null;
}
}
var import_semver_range_intersect;
var init_mergePeers = __esm({
"../installing/deps-resolver/lib/mergePeers.js"() {
"use strict";
import_semver_range_intersect = __toESM(require_dist7(), 1);
}
});
// ../installing/deps-resolver/lib/nextNodeId.js
function nextNodeId() {
return ++nodeIdCounter;
}
var nodeIdCounter;
var init_nextNodeId = __esm({
"../installing/deps-resolver/lib/nextNodeId.js"() {
"use strict";
nodeIdCounter = 0;
}
});
// ../installing/deps-resolver/lib/parentIdsContainSequence.js
function parentIdsContainSequence(pkgIds, pkgId1, pkgId2) {
const pkg1Index = pkgIds.indexOf(pkgId1);
if (pkg1Index === -1 || pkg1Index === pkgIds.length - 1) {
return false;
}
const pkg2Index = pkgIds.lastIndexOf(pkgId2);
return pkg1Index < pkg2Index && pkg2Index !== pkgIds.length - 1;
}
var init_parentIdsContainSequence = __esm({
"../installing/deps-resolver/lib/parentIdsContainSequence.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/replaceVersionInBareSpecifier.js
function replaceVersionInBareSpecifier(bareSpecifier, version2, namedRegistryPrefixes = []) {
if (import_semver31.default.validRange(bareSpecifier)) {
return version2;
}
let prefix;
if (bareSpecifier.startsWith("npm:")) {
prefix = "npm:";
} else {
for (const candidate of namedRegistryPrefixes) {
if (bareSpecifier.startsWith(candidate)) {
prefix = candidate;
break;
}
}
}
if (prefix == null) {
return bareSpecifier;
}
if (import_semver31.default.validRange(bareSpecifier.slice(prefix.length))) {
return `${prefix}${version2}`;
}
const versionDelimiter = bareSpecifier.lastIndexOf("@");
if (versionDelimiter === -1 || bareSpecifier.indexOf("/") > versionDelimiter) {
return `${bareSpecifier}@${version2}`;
}
return `${bareSpecifier.substring(0, versionDelimiter + 1)}${version2}`;
}
var import_semver31;
var init_replaceVersionInBareSpecifier = __esm({
"../installing/deps-resolver/lib/replaceVersionInBareSpecifier.js"() {
"use strict";
import_semver31 = __toESM(require_semver2(), 1);
}
});
// ../installing/deps-resolver/lib/wantedDepIsLocallyAvailable.js
function wantedDepIsLocallyAvailable(workspacePackages, wantedDependency, opts3) {
const spec = parseBareSpecifier(wantedDependency.bareSpecifier, wantedDependency.alias, opts3.defaultTag || "latest", opts3.registry);
if (spec == null || !workspacePackages.has(spec.name))
return false;
return pickMatchingLocalVersionOrNull2(workspacePackages.get(spec.name), spec) !== null;
}
function pickMatchingLocalVersionOrNull2(versions, spec) {
const localVersions = Array.from(versions.keys());
switch (spec.type) {
case "tag":
return import_semver32.default.maxSatisfying(localVersions, "*");
case "version":
return versions.has(spec.fetchSpec) ? spec.fetchSpec : null;
case "range":
return import_semver32.default.maxSatisfying(localVersions, spec.fetchSpec, true);
default:
return null;
}
}
var import_semver32;
var init_wantedDepIsLocallyAvailable = __esm({
"../installing/deps-resolver/lib/wantedDepIsLocallyAvailable.js"() {
"use strict";
init_lib38();
import_semver32 = __toESM(require_semver2(), 1);
}
});
// ../installing/deps-resolver/lib/resolveDependencies.js
import path102 from "node:path";
function getPkgsInfoFromIds(ids, resolvedPkgsById) {
return ids.slice(1).map((id) => {
const { name, version: version2 } = resolvedPkgsById[id];
return { id, name, version: version2 };
});
}
async function resolveRootDependencies(ctx, importers) {
if (ctx.autoInstallPeers) {
ctx.allPreferredVersions = getPreferredVersionsFromLockfileAndManifests(ctx.wantedLockfile.packages, []);
} else if (ctx.hoistPeers) {
ctx.allPreferredVersions = /* @__PURE__ */ Object.create(null);
}
const { pkgAddressesByImportersWithoutPeers, publishedBy, time } = await resolveDependenciesOfImporters(ctx, importers);
if (!ctx.hoistPeers) {
return {
pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses),
time
};
}
let workspaceRootDeps;
if (ctx.resolvePeersFromWorkspaceRoot) {
const rootImporterIndex = importers.findIndex(({ options }) => options.parentIds[0] === ".");
workspaceRootDeps = getHoistableRootDeps(importers[rootImporterIndex], pkgAddressesByImportersWithoutPeers[rootImporterIndex]?.pkgAddresses ?? []);
} else {
workspaceRootDeps = [];
}
const _hoistPeers = hoistPeers.bind(null, {
autoInstallPeers: ctx.autoInstallPeers,
allPreferredVersions: ctx.allPreferredVersions,
workspaceRootDeps
});
while (true) {
const allMissingOptionalPeersByImporters = await Promise.all(pkgAddressesByImportersWithoutPeers.map(async (importerResolutionResult, index2) => {
const { parentPkgAliases, preferredVersions, options } = importers[index2];
const allMissingOptionalPeers = {};
while (true) {
for (const pkgAddress of importerResolutionResult.pkgAddresses) {
parentPkgAliases[pkgAddress.alias] = true;
}
const missingOptionalPeers = [];
const missingRequiredPeers = [];
for (const [peerName, peerInfo] of Object.entries(importerResolutionResult.missingPeers ?? {})) {
if (peerInfo.optional) {
missingOptionalPeers.push([peerName, peerInfo]);
} else {
missingRequiredPeers.push([peerName, peerInfo]);
parentPkgAliases[peerName] = true;
}
}
if (ctx.autoInstallPeers) {
for (const [resolvedPeerName, resolvedPeerAddress] of Object.entries(importerResolutionResult.resolvedPeers ?? {})) {
if (!parentPkgAliases[resolvedPeerName]) {
importerResolutionResult.pkgAddresses.push({
...resolvedPeerAddress,
hoistedPeerProvider: true
});
}
}
}
for (const [missingOptionalPeerName, { range: missingOptionalPeerRange }] of missingOptionalPeers) {
if (!allMissingOptionalPeers[missingOptionalPeerName]) {
allMissingOptionalPeers[missingOptionalPeerName] = [missingOptionalPeerRange];
} else if (!allMissingOptionalPeers[missingOptionalPeerName].includes(missingOptionalPeerRange)) {
allMissingOptionalPeers[missingOptionalPeerName].push(missingOptionalPeerRange);
}
}
if (!missingRequiredPeers.length)
break;
const dependencies = _hoistPeers(missingRequiredPeers);
if (!Object.keys(dependencies).length)
break;
const wantedDependencies = getNonDevWantedDependencies({ dependencies });
const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
...options,
parentPkgAliases,
publishedBy,
updateToLatest: false
});
importerResolutionResult.pkgAddresses.push(...resolveDependenciesResult.pkgAddresses);
Object.assign(importerResolutionResult, filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases));
}
return allMissingOptionalPeers;
}));
let hasNewMissingPeers = false;
await Promise.all(allMissingOptionalPeersByImporters.map(async (allMissingOptionalPeers, index2) => {
const { preferredVersions, parentPkgAliases, options } = importers[index2];
if (Object.keys(allMissingOptionalPeers).length && ctx.allPreferredVersions) {
const optionalDependencies = getHoistableOptionalPeers(allMissingOptionalPeers, ctx.allPreferredVersions);
if (Object.keys(optionalDependencies).length) {
hasNewMissingPeers = true;
const wantedDependencies = getNonDevWantedDependencies({ optionalDependencies });
const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
...options,
parentPkgAliases,
publishedBy,
updateToLatest: false
});
pkgAddressesByImportersWithoutPeers[index2].pkgAddresses.push(...resolveDependenciesResult.pkgAddresses);
Object.assign(pkgAddressesByImportersWithoutPeers[index2], filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases));
}
}
}));
if (!hasNewMissingPeers)
break;
}
return {
pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses),
time
};
}
function getHoistableRootDeps(rootImporter, rootPkgAddresses) {
const wantedSpecifierByAlias = /* @__PURE__ */ new Map();
for (const wantedDep of rootImporter?.wantedDependencies ?? []) {
if (wantedDep.alias && wantedDep.bareSpecifier) {
wantedSpecifierByAlias.set(wantedDep.alias, wantedDep.bareSpecifier);
}
}
const rootDeps = rootPkgAddresses.map((pkgAddress) => ({
alias: pkgAddress.alias,
pkgName: pkgAddress.pkg.name,
normalizedBareSpecifier: pkgAddress.normalizedBareSpecifier ?? wantedSpecifierByAlias.get(pkgAddress.alias)
}));
const coveredAliases = new Set(rootDeps.map(({ alias }) => alias));
for (const [alias, bareSpecifier] of wantedSpecifierByAlias) {
if (coveredAliases.has(alias))
continue;
rootDeps.push({
alias,
pkgName: unwrapPackageName(alias, bareSpecifier).pkgName,
normalizedBareSpecifier: bareSpecifier
});
}
return rootDeps;
}
async function resolveDependenciesOfImporters(ctx, importers) {
const pickLowestVersion = ctx.resolutionMode === "time-based" || ctx.resolutionMode === "lowest-direct";
const resolveResults = await Promise.all(importers.map(async (importer) => {
const extendedWantedDeps = getDepsToResolve(importer.wantedDependencies, ctx.wantedLockfile, {
preferredDependencies: importer.options.preferredDependencies,
prefix: importer.options.prefix,
proceed: importer.options.proceed || ctx.forceFullResolution,
registries: ctx.registries,
resolvedDependencies: importer.options.resolvedDependencies
});
const postponedResolutionsQueue = [];
const postponedPeersResolutionQueue = [];
const pkgAddresses = [];
const resolveDependenciesOfImporterWantedDep = resolveDependenciesOfImporterDependency.bind(null, {
ctx,
importer,
pickLowestVersion
});
const resolvedDependenciesOfImporter = await Promise.all(extendedWantedDeps.map(resolveDependenciesOfImporterWantedDep));
for (const { resolveDependencyResult, postponedPeersResolution, postponedResolution } of resolvedDependenciesOfImporter) {
if (resolveDependencyResult) {
pkgAddresses.push(resolveDependencyResult);
}
if (postponedResolution) {
postponedResolutionsQueue.push(postponedResolution);
}
if (postponedPeersResolution) {
postponedPeersResolutionQueue.push(postponedPeersResolution);
}
}
return { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue };
}));
let publishedBy;
let time;
if (ctx.resolutionMode === "time-based") {
const result2 = getPublishedByDate(resolveResults.map(({ pkgAddresses }) => pkgAddresses).flat(), ctx.wantedLockfile.time);
if (result2.publishedBy) {
publishedBy = new Date(result2.publishedBy.getTime() + 60 * 60 * 1e3);
time = result2.newTime;
}
}
if (ctx.maximumPublishedBy && (publishedBy == null || publishedBy > ctx.maximumPublishedBy)) {
publishedBy = ctx.maximumPublishedBy;
}
const pkgAddressesByImportersWithoutPeers = await Promise.all(zipWith_default(async (importer, { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue }) => {
const newPreferredVersions = Object.create(importer.preferredVersions);
const currentParentPkgAliases = {};
for (const pkgAddress of pkgAddresses) {
if (currentParentPkgAliases[pkgAddress.alias] !== true) {
currentParentPkgAliases[pkgAddress.alias] = pkgAddress;
}
if (pkgAddress.updated) {
ctx.updatedSet.add(pkgAddress.alias);
}
const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId];
if (!resolvedPackage)
continue;
if (!Object.hasOwn(newPreferredVersions, resolvedPackage.name)) {
newPreferredVersions[resolvedPackage.name] = { ...importer.preferredVersions[resolvedPackage.name] };
}
if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) {
newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = {
selectorType: "version",
weight: DIRECT_DEP_SELECTOR_WEIGHT
};
}
}
const newParentPkgAliases = { ...importer.parentPkgAliases, ...currentParentPkgAliases };
const postponedResolutionOpts = {
preferredVersions: newPreferredVersions,
parentPkgAliases: newParentPkgAliases,
publishedBy
};
const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts)));
if (!ctx.hoistPeers) {
return {
missingPeers: {},
pkgAddresses,
resolvedPeers: {}
};
}
const postponedPeersResolution = await Promise.all(postponedPeersResolutionQueue.map((postponedMissingPeers) => postponedMissingPeers(postponedResolutionOpts.parentPkgAliases)));
const resolvedPeers = [...childrenResults, ...postponedPeersResolution].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {});
const allMissingPeers = mergePkgsDeps([
...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers),
...childrenResults,
...postponedPeersResolution
].map(({ missingPeers }) => missingPeers).filter(Boolean), {
autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch
});
return {
missingPeers: allMissingPeers,
pkgAddresses,
resolvedPeers
};
}, importers, resolveResults));
return {
pkgAddressesByImportersWithoutPeers,
publishedBy,
time
};
}
async function resolveDependenciesOfImporterDependency({ ctx, importer, pickLowestVersion }, extendedWantedDep) {
const catalogLookup = matchCatalogResolveResult(ctx.catalogResolver(extendedWantedDep.wantedDependency), {
found: (result3) => result3.resolution,
unused: () => void 0,
misconfiguration: (result3) => {
throw result3.error;
}
});
const originalBareSpecifier = extendedWantedDep.wantedDependency.bareSpecifier;
if (catalogLookup != null) {
extendedWantedDep.wantedDependency.bareSpecifier = catalogLookup.specifier;
extendedWantedDep.preferredVersion = getCatalogExistingVersionFromSnapshot(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency);
}
const result2 = await resolveDependenciesOfDependency(ctx, importer.preferredVersions, {
...importer.options,
parentPkgAliases: importer.parentPkgAliases,
pickLowestVersion: pickLowestVersion && !importer.updatePackageManifest,
pinnedVersion: importer.pinnedVersion,
publishedBy: ctx.maximumPublishedBy
}, extendedWantedDep);
if (result2.resolveDependencyResult != null && catalogLookup != null) {
result2.resolveDependencyResult.catalogLookup = {
...catalogLookup,
userSpecifiedBareSpecifier: originalBareSpecifier
};
}
return result2;
}
function filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers) {
return pkgAddresses.map((pkgAddress) => ({
...pkgAddress,
missingPeers: pickBy_default((_, peerName) => {
if (!currentParentPkgAliases[peerName])
return true;
if (currentParentPkgAliases[peerName] !== true) {
resolvedPeers[peerName] = currentParentPkgAliases[peerName];
}
return false;
}, pkgAddress.missingPeers ?? {})
}));
}
function getPublishedByDate(pkgAddresses, timeFromLockfile = {}) {
const newTime = {};
for (const pkgAddress of pkgAddresses) {
if (pkgAddress.publishedAt) {
newTime[pkgAddress.pkgId] = pkgAddress.publishedAt;
} else if (timeFromLockfile[pkgAddress.pkgId]) {
newTime[pkgAddress.pkgId] = timeFromLockfile[pkgAddress.pkgId];
}
}
const sortedDates = Object.values(newTime).map((publishedAt) => new Date(publishedAt)).sort((d1, d22) => d1.getTime() - d22.getTime());
return { publishedBy: sortedDates[sortedDates.length - 1], newTime };
}
async function resolveDependencies(ctx, preferredVersions, wantedDependencies, options) {
const extendedWantedDeps = getDepsToResolve(wantedDependencies, ctx.wantedLockfile, {
preferredDependencies: options.preferredDependencies,
preferredVersions,
prefix: options.prefix,
proceed: options.proceed || ctx.forceFullResolution,
registries: ctx.registries,
resolvedDependencies: options.resolvedDependencies
});
const postponedResolutionsQueue = [];
const postponedPeersResolutionQueue = [];
const pkgAddresses = [];
const resolvedDependencies = await Promise.all(extendedWantedDeps.map((extendedWantedDep) => resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep)));
for (const { resolveDependencyResult, postponedResolution, postponedPeersResolution } of resolvedDependencies) {
if (resolveDependencyResult) {
pkgAddresses.push(resolveDependencyResult);
}
if (postponedResolution) {
postponedResolutionsQueue.push(postponedResolution);
}
if (postponedPeersResolution) {
postponedPeersResolutionQueue.push(postponedPeersResolution);
}
}
const newPreferredVersions = Object.create(preferredVersions);
const currentParentPkgAliases = {};
for (const pkgAddress of pkgAddresses) {
if (currentParentPkgAliases[pkgAddress.alias] !== true) {
currentParentPkgAliases[pkgAddress.alias] = pkgAddress;
}
if (pkgAddress.updated) {
ctx.updatedSet.add(pkgAddress.alias);
}
const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId];
if (!resolvedPackage)
continue;
if (!Object.hasOwn(newPreferredVersions, resolvedPackage.name)) {
newPreferredVersions[resolvedPackage.name] = { ...preferredVersions[resolvedPackage.name] };
}
if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) {
newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = "version";
}
}
const newParentPkgAliases = {
...options.parentPkgAliases,
...currentParentPkgAliases
};
const postponedResolutionOpts = {
preferredVersions: newPreferredVersions,
parentPkgAliases: newParentPkgAliases,
publishedBy: options.publishedBy
};
const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts)));
if (!ctx.hoistPeers) {
return {
resolvingPeers: Promise.resolve({
missingPeers: {},
resolvedPeers: {}
}),
pkgAddresses
};
}
return {
pkgAddresses,
resolvingPeers: startResolvingPeers({
childrenResults,
pkgAddresses,
parentPkgAliases: options.parentPkgAliases,
currentParentPkgAliases,
postponedPeersResolutionQueue,
autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch
})
};
}
async function startResolvingPeers({ childrenResults, currentParentPkgAliases, parentPkgAliases, pkgAddresses, postponedPeersResolutionQueue, autoInstallPeersFromHighestMatch }) {
const results = await Promise.all(postponedPeersResolutionQueue.map((postponedPeersResolution) => postponedPeersResolution(parentPkgAliases)));
const resolvedPeers = [...childrenResults, ...results].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {});
const allMissingPeers = mergePkgsDeps([
...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers),
...childrenResults,
...results
].map(({ missingPeers }) => missingPeers).filter(Boolean), { autoInstallPeersFromHighestMatch });
return {
missingPeers: allMissingPeers,
resolvedPeers
};
}
function mergePkgsDeps(pkgsDeps, opts3) {
const groupedRanges = {};
for (const deps of pkgsDeps) {
for (const [name, { range, optional }] of Object.entries(deps)) {
if (!groupedRanges[name]) {
groupedRanges[name] = { ranges: [], optional };
} else {
groupedRanges[name].optional &&= optional;
}
groupedRanges[name].ranges.push(range);
}
}
const mergedPkgDeps = {};
for (const [name, { ranges, optional }] of Object.entries(groupedRanges)) {
const intersection = safeIntersect(ranges);
if (intersection) {
mergedPkgDeps[name] = { range: intersection, optional };
} else if (opts3.autoInstallPeersFromHighestMatch) {
mergedPkgDeps[name] = { range: ranges.join(" || "), optional };
}
}
return mergedPkgDeps;
}
async function resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep) {
const updateDepth = typeof extendedWantedDep.wantedDependency.updateDepth === "number" ? extendedWantedDep.wantedDependency.updateDepth : options.updateDepth;
const updateShouldContinue = options.currentDepth <= updateDepth;
const updateRequested = updateShouldContinue && (options.updateMatching == null || (extendedWantedDep.infoFromLockfile?.name != null ? options.updateMatching(extendedWantedDep.infoFromLockfile.name, extendedWantedDep.infoFromLockfile.version) : wantedDependencyMatchesUpdateTarget(ctx, options.updateMatching, extendedWantedDep.wantedDependency)));
const update2 = updateRequested || extendedWantedDep.infoFromLockfile?.dependencyLockfile == null || Boolean(ctx.workspacePackages != null && ctx.linkWorkspacePackagesDepth !== -1 && wantedDepIsLocallyAvailable(ctx.workspacePackages, extendedWantedDep.wantedDependency, { defaultTag: ctx.defaultTag, registry: ctx.registries.default })) || ctx.updatedSet.has(extendedWantedDep.infoFromLockfile.name);
const resolveDependencyOpts = {
currentDepth: options.currentDepth,
parentPkg: options.parentPkg,
parentPkgAliases: options.parentPkgAliases,
preferredVersions,
currentPkg: extendedWantedDep.infoFromLockfile ?? void 0,
preferredVersion: extendedWantedDep.preferredVersion,
pickLowestVersion: options.pickLowestVersion,
prefix: options.prefix,
proceed: extendedWantedDep.proceed || updateShouldContinue || ctx.updatedSet.size > 0,
publishedBy: options.publishedBy,
update: update2 ? options.updateToLatest ? "latest" : "compatible" : false,
updateChecksums: ctx.updateChecksums,
updateDepth,
updateRequested,
supportedArchitectures: options.supportedArchitectures,
parentIds: options.parentIds,
pinnedVersion: options.pinnedVersion
};
const isInjectedWorkspacePackage = options.parentPkg.resolvedVia === "workspace" && options.parentPkg.pkgId.startsWith("file:");
if (isInjectedWorkspacePackage) {
const catalogLookup = matchCatalogResolveResult(ctx.catalogResolver(extendedWantedDep.wantedDependency), {
found: (result2) => result2.resolution,
unused: () => void 0,
misconfiguration: (result2) => {
throw result2.error;
}
});
if (catalogLookup != null) {
extendedWantedDep.wantedDependency.bareSpecifier = catalogLookup.specifier;
extendedWantedDep.preferredVersion = getCatalogExistingVersionFromSnapshot(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency);
}
}
const resolveDependencyResult = await resolveDependency2(extendedWantedDep.wantedDependency, ctx, resolveDependencyOpts);
if (resolveDependencyResult == null)
return { resolveDependencyResult: null };
if (resolveDependencyResult.isLinkedDependency) {
ctx.dependenciesTree.set(createNodeIdForLinkedLocalPkg(ctx.lockfileDir, resolveDependencyResult.resolution.directory), {
children: {},
depth: -1,
installable: true,
resolvedPackage: {
name: resolveDependencyResult.name,
version: resolveDependencyResult.version
}
});
return { resolveDependencyResult };
}
if (update2 === false && extendedWantedDep.infoFromLockfile != null) {
resolveDependencyResult.previousDepPath = extendedWantedDep.infoFromLockfile.depPath;
resolveDependencyResult.lockedPeerContext = extendedWantedDep.infoFromLockfile.lockedPeerContext;
}
if (!resolveDependencyResult.isNew) {
return {
resolveDependencyResult,
postponedPeersResolution: resolveDependencyResult.missingPeersOfChildren != null ? async (parentPkgAliases) => {
const missingPeers = await resolveDependencyResult.missingPeersOfChildren.get();
return filterMissingPeers({ missingPeers, resolvedPeers: {} }, parentPkgAliases);
} : void 0
};
}
const postponedResolution = resolveChildren.bind(null, ctx, {
parentPkg: resolveDependencyResult,
childrenResolutionId: resolveDependencyResult.childrenResolutionId,
dependencyLockfile: extendedWantedDep.infoFromLockfile?.dependencyLockfile,
parentDepth: options.currentDepth,
parentIds: [...options.parentIds, resolveDependencyResult.pkgId],
updateDepth,
prefix: options.prefix,
updateMatching: options.updateMatching,
supportedArchitectures: options.supportedArchitectures,
updateToLatest: options.updateToLatest
});
return {
resolveDependencyResult,
postponedResolution: async (postponedResolutionOpts) => {
if (!isCurrentChildrenResolution(ctx, resolveDependencyResult.pkgId, resolveDependencyResult.childrenResolutionId)) {
setDependencyTreeNodeWithCurrentChildren(ctx, {
parentDepth: options.currentDepth,
parentIds: [...options.parentIds, resolveDependencyResult.pkgId],
parentPkg: resolveDependencyResult
});
return resolveMissingPeersFromCurrentChildrenResolution(ctx, resolveDependencyResult.pkgId, postponedResolutionOpts.parentPkgAliases);
}
const { missingPeers, resolvedPeers } = await postponedResolution(postponedResolutionOpts);
if (!isCurrentChildrenResolution(ctx, resolveDependencyResult.pkgId, resolveDependencyResult.childrenResolutionId)) {
return resolveMissingPeersFromCurrentChildrenResolution(ctx, resolveDependencyResult.pkgId, postponedResolutionOpts.parentPkgAliases);
}
if (resolveDependencyResult.missingPeersOfChildren) {
resolveDependencyResult.missingPeersOfChildren.resolved = true;
resolveDependencyResult.missingPeersOfChildren.resolve(missingPeers);
}
return filterMissingPeers({ missingPeers, resolvedPeers }, postponedResolutionOpts.parentPkgAliases);
}
};
}
function wantedDependencyMatchesUpdateTarget(ctx, updateMatching, wantedDependency) {
const { alias, bareSpecifier } = wantedDependency;
const spec = alias && bareSpecifier ? parseBareSpecifier(bareSpecifier, alias, ctx.defaultTag ?? "latest", ctx.registries.default) : null;
const name = spec?.name ?? alias;
return name != null && updateMatching(name, void 0);
}
function createNodeIdForLinkedLocalPkg(lockfileDir, pkgDir) {
return `link:${(0, import_normalize_path6.default)(path102.relative(lockfileDir, pkgDir))}`;
}
function filterMissingPeers({ missingPeers, resolvedPeers }, parentPkgAliases) {
const newMissing = {};
for (const [peerName, peerVersion] of Object.entries(missingPeers)) {
if (parentPkgAliases[peerName]) {
if (parentPkgAliases[peerName] !== true) {
resolvedPeers[peerName] = parentPkgAliases[peerName];
}
} else {
newMissing[peerName] = peerVersion;
}
}
return {
resolvedPeers,
missingPeers: newMissing
};
}
function startPackageResolution(ctx, depth) {
const activeCount = ctx.packageResolutionBarrier.activeByDepth.get(depth) ?? 0;
ctx.packageResolutionBarrier.activeByDepth.set(depth, activeCount + 1);
let finished7 = false;
return () => {
if (finished7)
return;
finished7 = true;
const nextActiveCount = (ctx.packageResolutionBarrier.activeByDepth.get(depth) ?? 1) - 1;
if (nextActiveCount > 0) {
ctx.packageResolutionBarrier.activeByDepth.set(depth, nextActiveCount);
} else {
ctx.packageResolutionBarrier.activeByDepth.delete(depth);
}
const waiters = ctx.packageResolutionBarrier.waiters.splice(0);
for (const resolve4 of waiters) {
resolve4();
}
};
}
async function waitForPackageResolutionTurn(ctx, depth) {
if (!hasActivePackageResolutionBeforeDepth(ctx, depth))
return;
await new Promise((resolve4) => ctx.packageResolutionBarrier.waiters.push(resolve4));
return waitForPackageResolutionTurn(ctx, depth);
}
function hasActivePackageResolutionBeforeDepth(ctx, depth) {
for (const [activeDepth, activeCount] of ctx.packageResolutionBarrier.activeByDepth) {
if (activeDepth < depth && activeCount > 0)
return true;
}
return false;
}
function claimChildrenResolution(ctx, opts3) {
const owner = {
depth: opts3.currentDepth,
importerOrder: ctx.importerResolutionOrder[opts3.parentIds[0]] ?? Number.MAX_SAFE_INTEGER,
parentPath: opts3.parentIds
};
const existing = ctx.childrenResolutionByPkgId[opts3.pkgId];
if (existing == null || compareChildrenResolutionOwners(owner, existing.owner) < 0) {
const previousMissingPeersOfChildren = existing?.missingPeersOfChildren;
const missingPeersOfChildren2 = ctx.hoistPeers && !opts3.parentIds.includes(opts3.pkgId) ? createMissingPeersOfChildren() : void 0;
const resolution = {
id: ++ctx.childrenResolutionId,
owner,
missingPeersOfChildren: missingPeersOfChildren2
};
ctx.childrenResolutionByPkgId[opts3.pkgId] = resolution;
if (missingPeersOfChildren2) {
ctx.missingPeersOfChildrenByPkgId[opts3.pkgId] = {
depth: owner.depth,
missingPeersOfChildren: missingPeersOfChildren2
};
}
if (previousMissingPeersOfChildren) {
if (missingPeersOfChildren2) {
missingPeersOfChildren2.get().then((missingPeers) => {
previousMissingPeersOfChildren.resolved = true;
previousMissingPeersOfChildren.resolve(missingPeers);
}, previousMissingPeersOfChildren.reject);
} else {
previousMissingPeersOfChildren.resolved = true;
previousMissingPeersOfChildren.resolve({});
}
}
return {
id: resolution.id,
isOwner: true,
missingPeersOfChildren: missingPeersOfChildren2
};
}
let missingPeersOfChildren;
if (ctx.hoistPeers && !opts3.parentIds.includes(opts3.pkgId) && existing.missingPeersOfChildren && existing.owner.depth >= opts3.currentDepth) {
missingPeersOfChildren = existing.missingPeersOfChildren;
}
return {
id: existing.id,
isOwner: false,
missingPeersOfChildren
};
}
function compareChildrenResolutionOwners(owner1, owner2) {
if (owner1.depth !== owner2.depth)
return owner1.depth - owner2.depth;
if (owner1.importerOrder !== owner2.importerOrder)
return owner1.importerOrder - owner2.importerOrder;
const pathLength = Math.min(owner1.parentPath.length, owner2.parentPath.length);
for (let i4 = 0; i4 < pathLength; i4++) {
const result2 = (0, import_util11.lexCompare)(owner1.parentPath[i4], owner2.parentPath[i4]);
if (result2 !== 0)
return result2;
}
return owner1.parentPath.length - owner2.parentPath.length;
}
function createMissingPeersOfChildren() {
const p = pDefer();
return {
resolve: p.resolve,
reject: p.reject,
get: pShare(p.promise)
};
}
function isCurrentChildrenResolution(ctx, pkgId, childrenResolutionId) {
return childrenResolutionId != null && ctx.childrenResolutionByPkgId[pkgId]?.id === childrenResolutionId;
}
async function resolveMissingPeersFromCurrentChildrenResolution(ctx, pkgId, parentPkgAliases) {
const missingPeersOfChildren = ctx.childrenResolutionByPkgId[pkgId]?.missingPeersOfChildren;
if (missingPeersOfChildren == null) {
return {
missingPeers: {},
resolvedPeers: {}
};
}
const missingPeers = await missingPeersOfChildren.get();
return filterMissingPeers({ missingPeers, resolvedPeers: {} }, parentPkgAliases);
}
function setDependencyTreeNodeWithCurrentChildren(ctx, { parentDepth, parentIds, parentPkg }) {
ctx.dependenciesTree.set(parentPkg.nodeId, {
children: () => buildTree(ctx, parentPkg.pkgId, parentIds, ctx.childrenByParentId[parentPkg.pkgId] ?? [], parentDepth + 1, parentPkg.installable),
depth: parentDepth,
installable: parentPkg.installable,
lockedPeerContext: parentPkg.lockedPeerContext,
previousDepPath: parentPkg.previousDepPath,
resolvedPackage: ctx.resolvedPkgsById[parentPkg.pkgId]
});
ctx.nodeResolutionContextByNodeId.set(parentPkg.nodeId, {
depth: parentDepth,
installable: parentPkg.installable,
parentIds,
pkgId: parentPkg.pkgId
});
}
function updateChildrenResolutionNodes(ctx, pkgId, currentNodeId) {
for (const [nodeId, nodeContext] of ctx.nodeResolutionContextByNodeId) {
if (nodeId === currentNodeId || nodeContext.pkgId !== pkgId)
continue;
const node = ctx.dependenciesTree.get(nodeId);
if (node == null || node.depth === -1)
continue;
node.children = () => buildTree(ctx, pkgId, nodeContext.parentIds, ctx.childrenByParentId[pkgId] ?? [], nodeContext.depth + 1, nodeContext.installable);
}
}
function buildTree(ctx, parentId, parentIds, children, depth, installable) {
const childrenNodeIds = {};
for (const child of children) {
if (child.id.startsWith("link:")) {
childrenNodeIds[child.alias] = child.id;
continue;
}
if (parentIdsContainSequence(parentIds, parentId, child.id) || parentId === child.id) {
continue;
}
if (ctx.resolvedPkgsById[child.id].isLeaf) {
childrenNodeIds[child.alias] = child.id;
continue;
}
const childNodeId = nextNodeId();
childrenNodeIds[child.alias] = childNodeId;
installable = installable || !ctx.skipped.has(child.id);
ctx.dependenciesTree.set(childNodeId, {
children: () => buildTree(ctx, child.id, [...parentIds, child.id], ctx.childrenByParentId[child.id], depth + 1, installable),
depth,
installable,
resolvedPackage: ctx.resolvedPkgsById[child.id]
});
}
return childrenNodeIds;
}
async function resolveChildren(ctx, { parentPkg, childrenResolutionId, parentIds, dependencyLockfile, parentDepth, updateDepth, updateMatching, prefix, supportedArchitectures }, { parentPkgAliases, preferredVersions, publishedBy }) {
if (!isCurrentChildrenResolution(ctx, parentPkg.pkgId, childrenResolutionId)) {
setDependencyTreeNodeWithCurrentChildren(ctx, {
parentDepth,
parentIds,
parentPkg
});
return {
missingPeers: {},
resolvedPeers: {}
};
}
const currentResolvedDependencies = dependencyLockfile != null ? {
...dependencyLockfile.dependencies,
...dependencyLockfile.optionalDependencies
} : void 0;
const resolvedDependencies = parentPkg.updated ? void 0 : currentResolvedDependencies;
const parentDependsOnPeer = Boolean(Object.keys(dependencyLockfile?.peerDependencies ?? parentPkg.pkg.peerDependencies ?? {}).length);
const wantedDependencies = getNonDevWantedDependencies(parentPkg.pkg);
const { pkgAddresses, resolvingPeers } = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
currentDepth: parentDepth + 1,
parentPkg,
parentPkgAliases,
preferredDependencies: currentResolvedDependencies,
prefix,
// If the package is not linked, we should also gather information about its dependencies.
// After linking the package we'll need to symlink its dependencies.
proceed: !parentPkg.depIsLinked || parentDependsOnPeer,
publishedBy,
resolvedDependencies,
updateDepth,
updateMatching,
supportedArchitectures,
parentIds
});
if (!isCurrentChildrenResolution(ctx, parentPkg.pkgId, childrenResolutionId)) {
setDependencyTreeNodeWithCurrentChildren(ctx, {
parentDepth,
parentIds,
parentPkg
});
return resolvingPeers;
}
ctx.childrenByParentId[parentPkg.pkgId] = pkgAddresses.map((child) => ({
alias: child.alias,
id: child.pkgId
}));
ctx.dependenciesTree.set(parentPkg.nodeId, {
children: pkgAddresses.reduce((chn, child) => {
chn[child.alias] = child.nodeId ?? child.pkgId;
return chn;
}, {}),
depth: parentDepth,
installable: parentPkg.installable,
dependencyNamesWhoseCurrentProviderMustWin: new Set(pkgAddresses.filter((child) => {
const previousRef = dependencyLockfile?.dependencies?.[child.alias] ?? dependencyLockfile?.optionalDependencies?.[child.alias];
if (previousRef == null || child.isLinkedDependency)
return true;
return child.previousDepPath !== refToRelative(previousRef, child.alias);
}).map(({ alias }) => alias)),
lockedPeerContext: parentPkg.lockedPeerContext,
previousDepPath: parentPkg.previousDepPath,
resolvedPackage: ctx.resolvedPkgsById[parentPkg.pkgId]
});
ctx.nodeResolutionContextByNodeId.set(parentPkg.nodeId, {
depth: parentDepth,
installable: parentPkg.installable,
parentIds,
pkgId: parentPkg.pkgId
});
updateChildrenResolutionNodes(ctx, parentPkg.pkgId, parentPkg.nodeId);
return resolvingPeers;
}
function getDepsToResolve(wantedDependencies, wantedLockfile, options) {
const resolvedDependencies = options.resolvedDependencies ?? {};
const preferredDependencies = options.preferredDependencies ?? {};
const extendedWantedDeps = [];
let proceedAll = options.proceed;
const satisfiesWanted2Args = referenceSatisfiesWantedSpec.bind(null, {
lockfile: wantedLockfile,
prefix: options.prefix
});
for (const wantedDependency of wantedDependencies) {
let reference = void 0;
let preferredVersion = void 0;
let proceed = proceedAll;
if (wantedDependency.alias) {
const satisfiesWanted = satisfiesWanted2Args.bind(null, wantedDependency);
if (resolvedDependencies[wantedDependency.alias] && (satisfiesWanted(resolvedDependencies[wantedDependency.alias]) || resolvedDependencies[wantedDependency.alias].startsWith("file:"))) {
const pinnedRef = resolvedDependencies[wantedDependency.alias];
const pinned = pinnedRef.startsWith("file:") ? void 0 : getPinnedNameVer(wantedLockfile, pinnedRef, wantedDependency.alias);
const higherDirectVersion = pinned == null ? void 0 : findHigherDirectDepVersion(options.preferredVersions, pinned.name, pinned.version, wantedDependency.bareSpecifier);
if (higherDirectVersion != null) {
proceed = true;
preferredVersion = higherDirectVersion;
} else {
reference = pinnedRef;
}
} else if (
// If dependencies that were used by the previous version of the package
// satisfy the newer version's requirements, then pnpm tries to keep
// the previous dependency.
// So for example, if foo@1.0.0 had bar@1.0.0 as a dependency
// and foo was updated to 1.1.0 which depends on bar ^1.0.0
// then bar@1.0.0 can be reused for foo@1.1.0
import_semver33.default.validRange(wantedDependency.bareSpecifier) !== null && preferredDependencies[wantedDependency.alias] && satisfiesWanted(preferredDependencies[wantedDependency.alias])
) {
proceed = true;
reference = preferredDependencies[wantedDependency.alias];
}
}
const infoFromLockfile = getInfoFromLockfile(wantedLockfile, options.registries, reference, wantedDependency.alias);
if (!proceedAll && (infoFromLockfile == null || infoFromLockfile.dependencyLockfile != null && (infoFromLockfile.dependencyLockfile.peerDependencies != null || infoFromLockfile.dependencyLockfile.transitivePeerDependencies?.length))) {
proceed = true;
proceedAll = true;
for (const extendedWantedDep of extendedWantedDeps) {
if (!extendedWantedDep.proceed) {
extendedWantedDep.proceed = true;
}
}
}
extendedWantedDeps.push({
infoFromLockfile,
preferredVersion,
proceed,
wantedDependency
});
}
return extendedWantedDeps;
}
function referenceSatisfiesWantedSpec(opts3, wantedDep, preferredRef) {
const depPath = refToRelative(preferredRef, wantedDep.alias);
if (depPath === null)
return false;
const pkgSnapshot = opts3.lockfile.packages?.[depPath];
if (pkgSnapshot == null) {
logger.warn({
message: `Could not find preferred package ${depPath} in lockfile`,
prefix: opts3.prefix
});
return false;
}
const { version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
if (!import_semver33.default.validRange(wantedDep.bareSpecifier) && Object.values(opts3.lockfile.importers).filter((importer) => importer.specifiers[wantedDep.alias] === wantedDep.bareSpecifier).length) {
return true;
}
return import_semver33.default.satisfies(version2, wantedDep.bareSpecifier, true);
}
function getPinnedNameVer(lockfile, reference, alias) {
const depPath = refToRelative(reference, alias);
if (depPath === null)
return void 0;
const pkgSnapshot = lockfile.packages?.[depPath];
if (pkgSnapshot == null)
return void 0;
return nameVerFromPkgSnapshot(depPath, pkgSnapshot);
}
function findHigherDirectDepVersion(preferredVersions, pinnedName, pinnedVersion, bareSpecifier) {
if (preferredVersions == null)
return void 0;
if (!import_semver33.default.valid(pinnedVersion))
return void 0;
if (import_semver33.default.validRange(bareSpecifier) === null)
return void 0;
const selectors = preferredVersions[pinnedName];
if (selectors == null)
return void 0;
let best;
for (const [candidate, selector] of Object.entries(selectors)) {
if (typeof selector === "object" && selector.selectorType === "version" && selector.weight === DIRECT_DEP_SELECTOR_WEIGHT && import_semver33.default.valid(candidate) && import_semver33.default.gt(candidate, pinnedVersion) && import_semver33.default.satisfies(candidate, bareSpecifier, true) && (best == null || import_semver33.default.gt(candidate, best))) {
best = candidate;
}
}
return best;
}
function getLockedPeerContext(dependencyLockfile) {
if (dependencyLockfile.peerDependencies == null)
return void 0;
const lockedPeerContext = {};
for (const peerName of Object.keys(dependencyLockfile.peerDependencies)) {
const ref = dependencyLockfile.dependencies?.[peerName] ?? dependencyLockfile.optionalDependencies?.[peerName];
const depPath = ref == null ? null : refToRelative(ref, peerName);
if (depPath != null)
lockedPeerContext[peerName] = depPath;
}
return Object.keys(lockedPeerContext).length === 0 ? void 0 : lockedPeerContext;
}
function getInfoFromLockfile(lockfile, registries, reference, alias) {
if (!reference || !alias) {
return void 0;
}
const depPath = refToRelative(reference, alias);
if (!depPath) {
return void 0;
}
let dependencyLockfile = lockfile.packages?.[depPath];
if (dependencyLockfile != null) {
const lockedPeerContext = getLockedPeerContext(dependencyLockfile);
if (dependencyLockfile.peerDependencies != null && dependencyLockfile.dependencies != null) {
const dependencies = {};
for (const [depName, ref] of Object.entries(dependencyLockfile.dependencies ?? {})) {
if (dependencyLockfile.peerDependencies[depName])
continue;
dependencies[depName] = ref;
}
dependencyLockfile = {
...dependencyLockfile,
dependencies
};
}
const { name, version: version2, nonSemverVersion } = nameVerFromPkgSnapshot(depPath, dependencyLockfile);
return {
depPath,
name,
version: version2,
dependencyLockfile,
lockedPeerContext,
pkgId: nonSemverVersion ?? `${name}@${version2}`,
// resolution may not exist if lockfile is broken, and an unexpected error will be thrown
// if resolution does not exist, return undefined so it can be autofixed later
resolution: dependencyLockfile.resolution && pkgSnapshotToResolution(depPath, dependencyLockfile, registries)
};
} else {
const parsed = parse9(depPath);
return {
depPath,
pkgId: parsed.nonSemverVersion ?? (parsed.name && parsed.version ? `${parsed.name}@${parsed.version}` : depPath)
// Does it make sense to set pkgId when we're not sure?
};
}
}
async function resolveDependency2(wantedDependency, ctx, options) {
const currentPkg = options.currentPkg ?? {};
const currentLockfileContainsTheDep = currentPkg.depPath ? Boolean(ctx.currentLockfile.packages?.[currentPkg.depPath]) : void 0;
const depIsLinked = Boolean(
// if package is not in `node_modules/.pnpm-lock.yaml`
// we can safely assume that it doesn't exist in `node_modules`
currentLockfileContainsTheDep && currentPkg.depPath && currentPkg.dependencyLockfile && currentPkg.name && await pathExists2(path102.join(ctx.virtualStoreDir, depPathToFilename(currentPkg.depPath, ctx.virtualStoreDirMaxLength), "node_modules", currentPkg.name, "package.json"))
);
if (!options.update && !options.proceed && options.currentDepth === Math.max(0, options.updateDepth) && currentPkg.resolution != null && depIsLinked) {
return null;
}
let pkgResponse;
if (!options.parentPkg.installable) {
wantedDependency = {
...wantedDependency,
optional: true
};
}
const finishPackageResolution = startPackageResolution(ctx, options.currentDepth);
try {
await waitForPackageResolutionTurn(ctx, options.currentDepth);
const preferredVersions = !options.updateRequested && options.preferredVersion != null ? getExactSinglePreferredVersions(wantedDependency, options.preferredVersion) : options.preferredVersions;
try {
const calcSpecifier2 = options.currentDepth === 0;
if (!options.update && currentPkg.version && currentPkg.pkgId?.endsWith(`@${currentPkg.version}`) && !calcSpecifier2) {
wantedDependency.bareSpecifier = replaceVersionInBareSpecifier(wantedDependency.bareSpecifier, currentPkg.version, ctx.namedRegistryPrefixes);
}
pkgResponse = await ctx.storeController.requestPackage(wantedDependency, {
allowBuild: ctx.allowBuild,
alwaysTryWorkspacePackages: ctx.linkWorkspacePackagesDepth >= options.currentDepth,
currentPkg: currentPkg ? {
id: currentPkg.pkgId,
name: currentPkg.name,
resolution: currentPkg.resolution,
version: currentPkg.version,
publishedAt: currentPkg.pkgId ? ctx.wantedLockfile.time?.[currentPkg.pkgId] : void 0
} : void 0,
expectedPkg: currentPkg,
defaultTag: ctx.defaultTag,
ignoreScripts: ctx.ignoreScripts,
publishedBy: options.publishedBy,
publishedByExclude: ctx.publishedByExclude,
pickLowestVersion: options.pickLowestVersion,
downloadPriority: -options.currentDepth,
lockfileDir: ctx.lockfileDir,
preferredVersions,
preferWorkspacePackages: ctx.preferWorkspacePackages,
projectDir: options.currentDepth > 0 && !wantedDependency.bareSpecifier.startsWith("file:") ? ctx.lockfileDir : options.parentPkg.rootDir,
skipFetch: ctx.dryRun,
trustPolicy: ctx.trustPolicy,
trustPolicyExclude: ctx.trustPolicyExclude,
trustPolicyIgnoreAfter: ctx.trustPolicyIgnoreAfter,
update: options.update,
updateRequested: options.updateRequested,
updateChecksums: options.updateChecksums,
workspacePackages: ctx.workspacePackages,
supportedArchitectures: options.supportedArchitectures,
onFetchError: (err2) => {
err2.prefix = options.prefix;
err2.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById);
return err2;
},
injectWorkspacePackages: ctx.injectWorkspacePackages,
calcSpecifier: calcSpecifier2,
pinnedVersion: options.pinnedVersion
});
} catch (err2) {
const wantedDependencyDetails = {
name: wantedDependency.alias,
bareSpecifier: wantedDependency.bareSpecifier,
version: wantedDependency.alias ? wantedDependency.bareSpecifier : void 0
};
if (wantedDependency.optional && err2.code !== "ERR_PNPM_TRUST_DOWNGRADE") {
if (!wantedLockfileContainsSatisfyingEntry(ctx.wantedLockfile, wantedDependency)) {
skippedOptionalDependencyLogger.debug({
details: err2.toString(),
package: wantedDependencyDetails,
parents: getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById),
prefix: options.prefix,
reason: "resolution_failure"
});
return null;
}
if (err2.hint == null) {
err2.hint = "This optional dependency is not skipped, because the lockfile contains a resolution for it. Skipping it would remove the locked entries, making the lockfile differ depending on which machine ran the install. If the version was intentionally removed from the registry, update the dependent package or remove the entries from the lockfile.";
}
}
err2.package = wantedDependencyDetails;
err2.prefix = options.prefix;
err2.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById);
throw err2;
}
dependencyResolvedLogger.debug({
resolution: pkgResponse.body.id,
wanted: {
dependentId: options.parentPkg.pkgId,
name: wantedDependency.alias,
rawSpec: wantedDependency.bareSpecifier
}
});
if (pkgResponse.body.policyViolation) {
ctx.resolutionPolicyViolations.push(pkgResponse.body.policyViolation);
}
if (ctx.blockExoticSubdeps && options.currentDepth > 0 && pkgResponse.body.resolvedVia != null && // This is already coming from the lockfile, we skip the check in this case for now. Should be fixed later.
isExoticDep(pkgResponse.body.resolvedVia)) {
const error = new PnpmError("EXOTIC_SUBDEP", `Exotic dependency "${wantedDependency.alias ?? wantedDependency.bareSpecifier}" (resolved via ${pkgResponse.body.resolvedVia}) is not allowed in subdependencies when blockExoticSubdeps is enabled`);
error.prefix = options.prefix;
error.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById);
throw error;
}
if (ctx.allPreferredVersions && pkgResponse.body.manifest?.version) {
if (!ctx.allPreferredVersions[pkgResponse.body.manifest.name]) {
ctx.allPreferredVersions[pkgResponse.body.manifest.name] = /* @__PURE__ */ Object.create(null);
}
ctx.allPreferredVersions[pkgResponse.body.manifest.name][pkgResponse.body.manifest.version] = "version";
}
if (!pkgResponse.body.updated && options.currentDepth === Math.max(0, options.updateDepth) && depIsLinked && !ctx.force && !options.proceed) {
return null;
}
if (pkgResponse.body.isLocal) {
if (!pkgResponse.body.manifest) {
throw new PnpmError("MISSING_PACKAGE_JSON", `Can't install ${wantedDependency.bareSpecifier}: Missing package.json file`);
}
return {
alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkgResponse.body.manifest.name ?? path102.basename(pkgResponse.body.resolution.directory),
dev: wantedDependency.dev,
isLinkedDependency: true,
name: pkgResponse.body.manifest.name,
optional: wantedDependency.optional,
pkgId: pkgResponse.body.id,
resolution: pkgResponse.body.resolution,
version: pkgResponse.body.manifest.version,
normalizedBareSpecifier: pkgResponse.body.normalizedBareSpecifier,
pkg: pkgResponse.body.manifest,
wantedDependency
};
}
let prepare;
let hasBin;
let pkg = getManifestFromResponse(pkgResponse, wantedDependency, currentPkg);
if (!pkg.dependencies) {
pkg.dependencies = {};
}
if (ctx.readPackageHook != null) {
pkg = await ctx.readPackageHook(pkg);
}
if (pkg.peerDependencies && pkg.dependencies) {
if (ctx.autoInstallPeers) {
pkg = {
...pkg,
dependencies: omit_default(Object.keys(pkg.peerDependencies), pkg.dependencies)
};
} else {
pkg = {
...pkg,
dependencies: omit_default(Object.keys(pkg.peerDependencies).filter((peerDep) => options.parentPkgAliases[peerDep]), pkg.dependencies)
};
}
}
if (pkg.engines?.runtime != null) {
convertEnginesRuntimeToDependencies(pkg, "engines", "dependencies");
}
if (!pkg.name) {
throw new PnpmError("MISSING_PACKAGE_NAME", `Can't install ${wantedDependency.bareSpecifier}: Missing package name`);
}
let pkgIdWithPatchHash = pkgResponse.body.id.startsWith(`${pkg.name}@`) ? pkgResponse.body.id : `${pkg.name}@${pkgResponse.body.id}`;
const patch = getPatchInfo(ctx.patchedDependencies, pkg.name, pkg.version);
if (patch) {
ctx.appliedPatches.add(patch.key);
pkgIdWithPatchHash = `${pkgIdWithPatchHash}(patch_hash=${patch.hash})`;
}
if (parentIdsContainSequence(options.parentIds, options.parentPkg.pkgId, pkgResponse.body.id) || pkgResponse.body.id === options.parentPkg.pkgId) {
return null;
}
if (!options.update && currentPkg.dependencyLockfile != null && currentPkg.depPath && !pkgResponse.body.updated && // peerDependencies field is also used for transitive peer dependencies which should not be linked
// That's why we cannot omit reading package.json of such dependencies.
// This can be removed if we implement something like peerDependenciesMeta.transitive: true
currentPkg.dependencyLockfile.peerDependencies == null) {
hasBin = currentPkg.dependencyLockfile.hasBin === true;
pkg = {
...nameVerFromPkgSnapshot(currentPkg.depPath, currentPkg.dependencyLockfile),
...omitDepsFields(currentPkg.dependencyLockfile),
...pkg
};
} else {
prepare = Boolean(pkgResponse.body.resolvedVia === "git-repository" && typeof pkg.scripts?.prepare === "string");
if (currentPkg.dependencyLockfile?.deprecated && !pkgResponse.body.updated && !pkg.deprecated) {
pkg.deprecated = currentPkg.dependencyLockfile.deprecated;
}
hasBin = currentPkg.dependencyLockfile?.hasBin != null && !pkg.bin ? currentPkg.dependencyLockfile.hasBin : Boolean((pkg.bin && !(pkg.bin === "" || Object.keys(pkg.bin).length === 0)) ?? pkg.directories?.bin);
}
if (options.currentDepth === 0 && pkgResponse.body.latest && pkgResponse.body.latest !== pkg.version) {
ctx.outdatedDependencies[pkgResponse.body.id] = pkgResponse.body.latest;
}
if (pkg.peerDependencies != null) {
for (const name in pkg.peerDependencies) {
ctx.allPeerDepNames.add(name);
}
}
if (pkg.peerDependenciesMeta != null) {
for (const name in pkg.peerDependenciesMeta) {
ctx.allPeerDepNames.add(name);
}
}
const nodeId = pkgIsLeaf(pkg) ? pkgResponse.body.id : nextNodeId();
const parentIsInstallable = options.parentPkg.installable === void 0 || options.parentPkg.installable;
const installable = parentIsInstallable && pkgResponse.body.isInstallable !== false;
const packageIsNew = !ctx.resolvedPkgsById[pkgResponse.body.id];
const parentImporterId = options.parentIds[0];
const currentIsOptional = wantedDependency.optional || options.parentPkg.optional;
const childrenResolution = claimChildrenResolution(ctx, {
currentDepth: options.currentDepth,
parentIds: options.parentIds,
pkgId: pkgResponse.body.id
});
const isNew = childrenResolution.isOwner;
if (packageIsNew) {
if (pkg.deprecated && (!ctx.allowedDeprecatedVersions[pkg.name] || !import_semver33.default.satisfies(pkg.version, ctx.allowedDeprecatedVersions[pkg.name]))) {
deprecationLogger.debug({
deprecated: pkg.deprecated,
depth: options.currentDepth,
pkgId: pkgResponse.body.id,
pkgName: pkg.name,
pkgVersion: pkg.version,
prefix: options.prefix
});
}
if (pkgResponse.body.isInstallable === false || !parentIsInstallable) {
ctx.skipped.add(pkgResponse.body.id);
}
progressLogger.debug({
packageId: pkgResponse.body.id,
requester: ctx.lockfileDir,
status: "resolved"
});
ctx.resolvedPkgsById[pkgResponse.body.id] = getResolvedPackage({
dependencyLockfile: currentPkg.dependencyLockfile,
pkgIdWithPatchHash,
force: ctx.force,
hasBin,
patch,
pkg,
pkgResponse,
prepare,
wantedDependency,
parentImporterId,
optional: currentIsOptional
});
} else {
ctx.resolvedPkgsById[pkgResponse.body.id].prod = ctx.resolvedPkgsById[pkgResponse.body.id].prod || !wantedDependency.dev && !wantedDependency.optional;
ctx.resolvedPkgsById[pkgResponse.body.id].dev = ctx.resolvedPkgsById[pkgResponse.body.id].dev || wantedDependency.dev;
ctx.resolvedPkgsById[pkgResponse.body.id].optional = ctx.resolvedPkgsById[pkgResponse.body.id].optional && currentIsOptional;
if (ctx.resolvedPkgsById[pkgResponse.body.id].fetching == null && pkgResponse.fetching != null) {
ctx.resolvedPkgsById[pkgResponse.body.id].fetching = pkgResponse.fetching;
ctx.resolvedPkgsById[pkgResponse.body.id].filesIndexFile = pkgResponse.filesIndexFile;
}
if (!isNew) {
if (ctx.dependenciesTree.has(nodeId)) {
ctx.dependenciesTree.get(nodeId).depth = Math.min(ctx.dependenciesTree.get(nodeId).depth, options.currentDepth);
} else {
ctx.pendingNodes.push({
alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkg.name,
depth: options.currentDepth,
parentIds: options.parentIds,
installable,
lockedPeerContext: currentPkg.lockedPeerContext,
previousDepPath: currentPkg.depPath,
nodeId,
resolvedPackage: ctx.resolvedPkgsById[pkgResponse.body.id]
});
}
}
}
const rootDir = pkgResponse.body.resolution.type === "directory" ? path102.resolve(ctx.lockfileDir, pkgResponse.body.resolution.directory) : options.prefix;
const missingPeersOfChildren = childrenResolution.missingPeersOfChildren;
const resolvedPkg = ctx.resolvedPkgsById[pkgResponse.body.id];
return {
alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkg.name,
depIsLinked,
resolvedVia: pkgResponse.body.resolvedVia,
isNew,
nodeId,
wantedDependency,
normalizedBareSpecifier: pkgResponse.body.normalizedBareSpecifier,
missingPeersOfChildren,
childrenResolutionId: childrenResolution.id,
pkgId: pkgResponse.body.id,
rootDir,
missingPeers: getMissingPeers(pkg),
optional: resolvedPkg.optional,
version: resolvedPkg.version,
saveCatalogName: wantedDependency.saveCatalogName,
// Next fields are actually only needed when isNew = true
installable,
isLinkedDependency: void 0,
pkg,
updated: pkgResponse.body.updated,
publishedAt: pkgResponse.body.publishedAt
};
} finally {
finishPackageResolution();
}
}
function wantedLockfileContainsSatisfyingEntry(lockfile, wantedDependency) {
if (!wantedDependency.alias)
return false;
const { pkgName, bareSpecifier } = unwrapPackageName(wantedDependency.alias, wantedDependency.bareSpecifier);
if (import_semver33.default.validRange(bareSpecifier) == null)
return false;
return Object.keys(lockfile.packages ?? {}).some((depPath) => {
const parsed = parse9(depPath);
return parsed.name === pkgName && parsed.version != null && import_semver33.default.satisfies(parsed.version, bareSpecifier);
});
}
function getManifestFromResponse(pkgResponse, wantedDependency, currentPkg) {
if (pkgResponse.body.manifest)
return pkgResponse.body.manifest;
if (currentPkg?.name && currentPkg?.version) {
return {
name: currentPkg.name,
version: currentPkg.version
};
}
return {
name: wantedDependency.alias ? wantedDependency.alias : wantedDependency.bareSpecifier.split("/").pop(),
version: "0.0.0"
};
}
function getMissingPeers(pkg) {
const missingPeers = {};
for (const [peerName, peerVersion] of Object.entries(pkg.peerDependencies ?? {})) {
missingPeers[peerName] = {
range: peerVersion,
optional: pkg.peerDependenciesMeta?.[peerName]?.optional === true
};
}
return missingPeers;
}
function pkgIsLeaf(pkg) {
return Object.keys(pkg.dependencies ?? {}).length === 0 && Object.keys(pkg.optionalDependencies ?? {}).length === 0 && Object.keys(pkg.peerDependencies ?? {}).length === 0 && // Package manifests can declare peerDependenciesMeta without declaring
// peerDependencies. peerDependenciesMeta implies the later.
Object.keys(pkg.peerDependenciesMeta ?? {}).length === 0;
}
function getResolvedPackage(options) {
const peerDependencies = peerDependenciesWithoutOwn(options.pkg);
return {
additionalInfo: {
bundledDependencies: options.pkg.bundledDependencies,
bundleDependencies: options.pkg.bundleDependencies,
cpu: options.pkg.cpu,
deprecated: options.pkg.deprecated,
engines: options.pkg.engines,
os: options.pkg.os,
libc: options.pkg.libc
},
isLeaf: pkgIsLeaf(options.pkg),
pkgIdWithPatchHash: options.pkgIdWithPatchHash,
dev: options.wantedDependency.dev,
fetching: options.pkgResponse.fetching,
resolutionNeedsFetch: options.pkgResponse.resolutionNeedsFetch,
filesIndexFile: options.pkgResponse.filesIndexFile,
hasBin: options.hasBin,
hasBundledDependencies: !((options.pkg.bundledDependencies ?? options.pkg.bundleDependencies) == null),
id: options.pkgResponse.body.id,
name: options.pkg.name,
optional: options.optional,
optionalDependencies: new Set(Object.keys(options.pkg.optionalDependencies ?? {})),
patch: options.patch,
peerDependencies,
prepare: options.prepare,
prod: !options.wantedDependency.dev && !options.wantedDependency.optional,
resolution: options.pkgResponse.body.resolution,
version: options.pkg.version
};
}
function peerDependenciesWithoutOwn(pkg) {
if (pkg.peerDependencies == null && pkg.peerDependenciesMeta == null)
return {};
const ownDeps = /* @__PURE__ */ new Set([
pkg.name,
...Object.keys(pkg.dependencies ?? {}),
...Object.keys(pkg.optionalDependencies ?? {})
]);
const result2 = {};
if (pkg.peerDependencies != null) {
for (const [peerName, peerRange] of Object.entries(pkg.peerDependencies)) {
if (ownDeps.has(peerName))
continue;
result2[peerName] = {
version: peerRange
};
}
}
if (pkg.peerDependenciesMeta != null) {
for (const [peerName, peerMeta] of Object.entries(pkg.peerDependenciesMeta)) {
if (ownDeps.has(peerName) || peerMeta.optional !== true)
continue;
if (!result2[peerName])
result2[peerName] = { version: "*" };
result2[peerName].optional = true;
}
}
return result2;
}
function getCatalogExistingVersionFromSnapshot(catalogLookup, wantedLockfile, wantedDependency) {
const existingCatalogResolution = wantedLockfile.catalogs?.[catalogLookup.catalogName]?.[wantedDependency.alias];
return existingCatalogResolution?.specifier === catalogLookup.specifier ? existingCatalogResolution.version : void 0;
}
function isExoticDep(resolvedVia) {
return !NON_EXOTIC_RESOLVED_VIA.has(resolvedVia);
}
var import_util11, import_normalize_path6, import_semver33, dependencyResolvedLogger, omitDepsFields, NON_EXOTIC_RESOLVED_VIA;
var init_resolveDependencies = __esm({
"../installing/deps-resolver/lib/resolveDependencies.js"() {
"use strict";
init_lib97();
init_lib6();
init_lib68();
init_lib2();
init_lib109();
init_lib73();
init_lib3();
init_lib108();
init_lib11();
init_lib38();
init_lib29();
import_util11 = __toESM(require_dist4(), 1);
import_normalize_path6 = __toESM(require_normalize_path(), 1);
init_p_defer();
init_path_exists();
init_promise_share();
init_es();
import_semver33 = __toESM(require_semver2(), 1);
init_getExactSinglePreferredVersions();
init_getNonDevWantedDependencies();
init_hoistPeers();
init_mergePeers();
init_nextNodeId();
init_parentIdsContainSequence();
init_replaceVersionInBareSpecifier();
init_unwrapPackageName();
init_wantedDepIsLocallyAvailable();
dependencyResolvedLogger = logger("_dependency_resolved");
omitDepsFields = omit_default(["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]);
NON_EXOTIC_RESOLVED_VIA = /* @__PURE__ */ new Set([
"custom-resolver",
"github.com/denoland/deno",
"github.com/oven-sh/bun",
"jsr-registry",
"local-filesystem",
"named-registry",
"nodejs.org",
"npm-registry",
"workspace"
]);
}
});
// ../installing/deps-resolver/lib/resolveDependencyTree.js
async function resolveDependencyTree(importers, opts3) {
const wantedToBeSkippedPackageIds = /* @__PURE__ */ new Set();
const autoInstallPeers = opts3.autoInstallPeers === true;
const { publishedBy, publishedByExclude } = getPublishedByPolicy(opts3);
const ctx = {
allowBuild: opts3.allowBuild,
autoInstallPeers,
autoInstallPeersFromHighestMatch: opts3.autoInstallPeersFromHighestMatch === true,
allowedDeprecatedVersions: opts3.allowedDeprecatedVersions,
catalogResolver: resolveFromCatalog.bind(null, opts3.catalogs ?? {}),
childrenByParentId: {},
currentLockfile: opts3.currentLockfile,
defaultTag: opts3.tag,
dependenciesTree: /* @__PURE__ */ new Map(),
dryRun: opts3.dryRun,
engineStrict: opts3.engineStrict,
force: opts3.force,
forceFullResolution: opts3.forceFullResolution,
updateChecksums: opts3.updateChecksums,
ignoreScripts: opts3.ignoreScripts,
injectWorkspacePackages: opts3.injectWorkspacePackages,
linkWorkspacePackagesDepth: opts3.linkWorkspacePackagesDepth ?? -1,
lockfileDir: opts3.lockfileDir,
nodeVersion: opts3.nodeVersion,
outdatedDependencies: {},
patchedDependencies: opts3.patchedDependencies,
pendingNodes: [],
pnpmVersion: opts3.pnpmVersion,
preferWorkspacePackages: opts3.preferWorkspacePackages,
readPackageHook: opts3.hooks.readPackage,
registries: opts3.registries,
namedRegistryPrefixes: Array.from(/* @__PURE__ */ new Set([
...Object.keys(BUILTIN_NAMED_REGISTRIES),
...Object.keys(opts3.namedRegistries ?? {})
])).map((alias) => `${alias}:`),
resolvedPkgsById: {},
resolvePeersFromWorkspaceRoot: opts3.resolvePeersFromWorkspaceRoot,
resolutionMode: opts3.resolutionMode,
skipped: wantedToBeSkippedPackageIds,
storeController: opts3.storeController,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
wantedLockfile: opts3.wantedLockfile,
appliedPatches: /* @__PURE__ */ new Set(),
updatedSet: /* @__PURE__ */ new Set(),
workspacePackages: opts3.workspacePackages,
missingPeersOfChildrenByPkgId: {},
hoistPeers: autoInstallPeers || opts3.dedupePeerDependents,
allPeerDepNames: /* @__PURE__ */ new Set(),
maximumPublishedBy: publishedBy,
publishedByExclude,
packageResolutionBarrier: {
activeByDepth: /* @__PURE__ */ new Map(),
waiters: []
},
childrenResolutionByPkgId: {},
childrenResolutionId: 0,
importerResolutionOrder: Object.fromEntries(importers.map(({ id }, index2) => [id, index2])),
nodeResolutionContextByNodeId: /* @__PURE__ */ new Map(),
trustPolicy: opts3.trustPolicy,
trustPolicyExclude: opts3.trustPolicyExclude ? createPackageVersionPolicyOrThrow(opts3.trustPolicyExclude, "trustPolicyExclude") : void 0,
trustPolicyIgnoreAfter: opts3.trustPolicyIgnoreAfter,
blockExoticSubdeps: opts3.blockExoticSubdeps,
resolutionPolicyViolations: []
};
const resolveArgs = importers.map((importer) => {
const projectSnapshot = opts3.wantedLockfile.importers[importer.id];
const proceed = importer.id === "." || importer.hasRemovedDependencies === true || importer.wantedDependencies.some((wantedDep) => wantedDep.isNew);
const resolveOpts = {
currentDepth: 0,
parentPkg: {
installable: true,
nodeId: importer.id,
optional: false,
pkgId: importer.id,
rootDir: importer.rootDir
},
parentIds: [importer.id],
proceed,
resolvedDependencies: {
...projectSnapshot.dependencies,
...projectSnapshot.devDependencies,
...projectSnapshot.optionalDependencies
},
updateDepth: -1,
updateMatching: importer.updateMatching,
updateToLatest: importer.updateToLatest,
prefix: importer.rootDir,
supportedArchitectures: opts3.supportedArchitectures
};
return {
updatePackageManifest: importer.updatePackageManifest,
parentPkgAliases: Object.fromEntries(importer.wantedDependencies.filter(({ alias }) => alias).map(({ alias }) => [alias, true])),
preferredVersions: importer.preferredVersions ?? {},
wantedDependencies: importer.wantedDependencies,
options: resolveOpts,
pinnedVersion: importer.pinnedVersion
};
});
const { pkgAddressesByImporters, time } = await resolveRootDependencies(ctx, resolveArgs);
const directDepsByImporterId = Object.fromEntries(importers.map(({ id }, i4) => [id, pkgAddressesByImporters[i4]]));
for (const directDependencies of pkgAddressesByImporters) {
for (const directDep of directDependencies) {
const { alias, normalizedBareSpecifier, version: version2, saveCatalogName } = directDep;
if (saveCatalogName == null) {
continue;
}
const existingCatalog = opts3.catalogs?.default?.[alias];
if (existingCatalog != null) {
if (existingCatalog !== normalizedBareSpecifier) {
globalWarn(`Skip adding ${alias} to the default catalog because it already exists as ${existingCatalog}. Please use \`pnpm update\` to update the catalogs.`);
}
} else if (normalizedBareSpecifier != null && version2 != null) {
const userSpecifiedBareSpecifier = `catalog:${saveCatalogName === "default" ? "" : saveCatalogName}`;
directDep.catalogLookup = {
catalogName: saveCatalogName,
specifier: normalizedBareSpecifier,
userSpecifiedBareSpecifier
};
}
}
}
for (const pendingNode of ctx.pendingNodes) {
ctx.dependenciesTree.set(pendingNode.nodeId, {
children: () => buildTree(ctx, pendingNode.resolvedPackage.id, pendingNode.parentIds, ctx.childrenByParentId[pendingNode.resolvedPackage.id], pendingNode.depth + 1, pendingNode.installable),
depth: pendingNode.depth,
installable: pendingNode.installable,
lockedPeerContext: pendingNode.lockedPeerContext,
previousDepPath: pendingNode.previousDepPath,
resolvedPackage: pendingNode.resolvedPackage
});
}
const resolvedImporters = {};
for (const { id, wantedDependencies } of importers) {
const directDeps = dedupeSameAliasDirectDeps(directDepsByImporterId[id], wantedDependencies);
const [linkedDependencies, directNonLinkedDeps] = partition_default((dep) => dep.isLinkedDependency === true, directDeps);
resolvedImporters[id] = {
directDependencies: directDeps.map((dep) => {
if (dep.isLinkedDependency === true) {
return dep;
}
const resolvedPackage = ctx.dependenciesTree.get(dep.nodeId).resolvedPackage;
return {
alias: dep.alias,
catalogLookup: dep.catalogLookup,
dev: resolvedPackage.dev,
name: resolvedPackage.name,
optional: resolvedPackage.optional,
pkgId: resolvedPackage.id,
resolution: resolvedPackage.resolution,
version: resolvedPackage.version,
normalizedBareSpecifier: dep.normalizedBareSpecifier,
wantedDependency: dep.wantedDependency
};
}),
directNodeIdsByAlias: new Map(directNonLinkedDeps.map(({ alias, nodeId }) => [alias, nodeId])),
hoistedPeerProviderNodeIds: new Set(directNonLinkedDeps.filter((dep) => dep.hoistedPeerProvider).map(({ nodeId }) => nodeId)),
linkedDependencies
};
}
return {
dependenciesTree: ctx.dependenciesTree,
outdatedDependencies: ctx.outdatedDependencies,
resolvedImporters,
resolvedPkgsById: ctx.resolvedPkgsById,
wantedToBeSkippedPackageIds,
appliedPatches: ctx.appliedPatches,
time,
allPeerDepNames: ctx.allPeerDepNames,
resolutionPolicyViolations: ctx.resolutionPolicyViolations
};
}
function dedupeSameAliasDirectDeps(directDeps, wantedDependencies) {
const deps = /* @__PURE__ */ new Map();
for (const directDep of directDeps) {
const { alias, normalizedBareSpecifier } = directDep;
if (!deps.has(alias)) {
deps.set(alias, directDep);
} else {
const wantedDep = wantedDependencies.find((dep) => dep.alias ? dep.alias === alias : dep.bareSpecifier === normalizedBareSpecifier);
if (wantedDep?.isNew) {
deps.set(alias, directDep);
}
}
}
return Array.from(deps.values());
}
var init_resolveDependencyTree = __esm({
"../installing/deps-resolver/lib/resolveDependencyTree.js"() {
"use strict";
init_lib97();
init_lib37();
init_lib3();
init_lib38();
init_es();
init_resolveDependencies();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/semverUtils.js
var require_semverUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/semverUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SemVer = void 0;
exports2.satisfiesWithPrereleases = satisfiesWithPrereleases2;
exports2.validRange = validRange4;
exports2.clean = clean2;
exports2.getComparator = getComparator;
exports2.mergeComparators = mergeComparators;
exports2.stringifyComparator = stringifyComparator;
exports2.simplifyRanges = simplifyRanges;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var semver_12 = tslib_12.__importDefault(require_semver2());
var semver_2 = require_semver2();
Object.defineProperty(exports2, "SemVer", { enumerable: true, get: function() {
return semver_2.SemVer;
} });
var satisfiesWithPrereleasesCache = /* @__PURE__ */ new Map();
function satisfiesWithPrereleases2(version2, range, loose = false) {
if (!version2)
return false;
const key = `${range}${loose}`;
let semverRange = satisfiesWithPrereleasesCache.get(key);
if (typeof semverRange === `undefined`) {
try {
semverRange = new semver_12.default.Range(range, { includePrerelease: true, loose });
} catch {
return false;
} finally {
satisfiesWithPrereleasesCache.set(key, semverRange || null);
}
} else if (semverRange === null) {
return false;
}
let semverVersion;
try {
semverVersion = new semver_12.default.SemVer(version2, semverRange);
} catch {
return false;
}
if (semverRange.test(semverVersion))
return true;
if (semverVersion.prerelease)
semverVersion.prerelease = [];
return semverRange.set.some((comparatorSet) => {
for (const comparator of comparatorSet)
if (comparator.semver.prerelease)
comparator.semver.prerelease = [];
return comparatorSet.every((comparator) => {
return comparator.test(semverVersion);
});
});
}
var rangesCache = /* @__PURE__ */ new Map();
function validRange4(potentialRange) {
if (potentialRange.indexOf(`:`) !== -1)
return null;
let range = rangesCache.get(potentialRange);
if (typeof range !== `undefined`)
return range;
try {
range = new semver_12.default.Range(potentialRange);
} catch {
range = null;
}
rangesCache.set(potentialRange, range);
return range;
}
var CLEAN_SEMVER_REGEXP = /^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;
function clean2(potentialVersion) {
const version2 = CLEAN_SEMVER_REGEXP.exec(potentialVersion);
return version2 ? version2[1] : null;
}
function getComparator(comparators) {
if (comparators.semver === semver_12.default.Comparator.ANY)
return { gt: null, lt: null };
switch (comparators.operator) {
case ``:
return { gt: [`>=`, comparators.semver], lt: [`<=`, comparators.semver] };
case `>`:
case `>=`:
return { gt: [comparators.operator, comparators.semver], lt: null };
case `<`:
case `<=`:
return { gt: null, lt: [comparators.operator, comparators.semver] };
default: {
throw new Error(`Assertion failed: Unexpected comparator operator (${comparators.operator})`);
}
}
}
function mergeComparators(comparators) {
if (comparators.length === 0)
return null;
let maxGtComparator = null;
let minLtComparator = null;
for (const comparator of comparators) {
if (comparator.gt) {
const cmp = maxGtComparator !== null ? semver_12.default.compare(comparator.gt[1], maxGtComparator[1]) : null;
if (cmp === null || cmp > 0 || cmp === 0 && comparator.gt[0] === `>`) {
maxGtComparator = comparator.gt;
}
}
if (comparator.lt) {
const cmp = minLtComparator !== null ? semver_12.default.compare(comparator.lt[1], minLtComparator[1]) : null;
if (cmp === null || cmp < 0 || cmp === 0 && comparator.lt[0] === `<`) {
minLtComparator = comparator.lt;
}
}
}
if (maxGtComparator && minLtComparator) {
const cmp = semver_12.default.compare(maxGtComparator[1], minLtComparator[1]);
if (cmp === 0 && (maxGtComparator[0] === `>` || minLtComparator[0] === `<`))
return null;
if (cmp > 0) {
return null;
}
}
return {
gt: maxGtComparator,
lt: minLtComparator
};
}
function stringifyComparator(comparator) {
if (comparator.gt && comparator.lt) {
if (comparator.gt[0] === `>=` && comparator.lt[0] === `<=` && comparator.gt[1].version === comparator.lt[1].version)
return comparator.gt[1].version;
if (comparator.gt[0] === `>=` && comparator.lt[0] === `<`) {
if (comparator.lt[1].version === `${comparator.gt[1].major + 1}.0.0-0`)
return `^${comparator.gt[1].version}`;
if (comparator.lt[1].version === `${comparator.gt[1].major}.${comparator.gt[1].minor + 1}.0-0`) {
return `~${comparator.gt[1].version}`;
}
}
}
const parts = [];
if (comparator.gt)
parts.push(comparator.gt[0] + comparator.gt[1].version);
if (comparator.lt)
parts.push(comparator.lt[0] + comparator.lt[1].version);
if (!parts.length)
return `*`;
return parts.join(` `);
}
function simplifyRanges(ranges) {
const parsedRanges = ranges.map(removeSubsets).map((range) => validRange4(range).set.map((comparators) => comparators.map((comparator) => getComparator(comparator))));
let alternatives = parsedRanges.shift().map((comparators) => mergeComparators(comparators)).filter((range) => range !== null);
for (const parsedRange of parsedRanges) {
const nextAlternatives = [];
for (const comparator of alternatives) {
for (const refiners of parsedRange) {
const nextComparators = mergeComparators([
comparator,
...refiners
]);
if (nextComparators !== null) {
nextAlternatives.push(nextComparators);
}
}
}
alternatives = nextAlternatives;
}
if (alternatives.length === 0)
return null;
return alternatives.map((comparator) => stringifyComparator(comparator)).join(` || `);
}
function removeSubsets(rangeString) {
const parts = rangeString.split(`||`);
if (parts.length > 1) {
const newParts = /* @__PURE__ */ new Set();
for (const potentialSubset of parts) {
if (!parts.some((part) => part !== potentialSubset && semver_12.default.subset(potentialSubset, part))) {
newParts.add(potentialSubset);
}
}
if (newParts.size < parts.length) {
const newRange = [...newParts].join(` || `);
return newRange;
}
}
return rangeString;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/treebase.js
var require_treebase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/treebase.js"(exports2, module2) {
function TreeBase() {
}
TreeBase.prototype.clear = function() {
this._root = null;
this.size = 0;
};
TreeBase.prototype.find = function(data) {
var res = this._root;
while (res !== null) {
var c3 = this._comparator(data, res.data);
if (c3 === 0) {
return res.data;
} else {
res = res.get_child(c3 > 0);
}
}
return null;
};
TreeBase.prototype.findIter = function(data) {
var res = this._root;
var iter = this.iterator();
while (res !== null) {
var c3 = this._comparator(data, res.data);
if (c3 === 0) {
iter._cursor = res;
return iter;
} else {
iter._ancestors.push(res);
res = res.get_child(c3 > 0);
}
}
return null;
};
TreeBase.prototype.lowerBound = function(item) {
var cur = this._root;
var iter = this.iterator();
var cmp = this._comparator;
while (cur !== null) {
var c3 = cmp(item, cur.data);
if (c3 === 0) {
iter._cursor = cur;
return iter;
}
iter._ancestors.push(cur);
cur = cur.get_child(c3 > 0);
}
for (var i4 = iter._ancestors.length - 1; i4 >= 0; --i4) {
cur = iter._ancestors[i4];
if (cmp(item, cur.data) < 0) {
iter._cursor = cur;
iter._ancestors.length = i4;
return iter;
}
}
iter._ancestors.length = 0;
return iter;
};
TreeBase.prototype.upperBound = function(item) {
var iter = this.lowerBound(item);
var cmp = this._comparator;
while (iter.data() !== null && cmp(iter.data(), item) === 0) {
iter.next();
}
return iter;
};
TreeBase.prototype.min = function() {
var res = this._root;
if (res === null) {
return null;
}
while (res.left !== null) {
res = res.left;
}
return res.data;
};
TreeBase.prototype.max = function() {
var res = this._root;
if (res === null) {
return null;
}
while (res.right !== null) {
res = res.right;
}
return res.data;
};
TreeBase.prototype.iterator = function() {
return new Iterator2(this);
};
TreeBase.prototype.each = function(cb) {
var it = this.iterator(), data;
while ((data = it.next()) !== null) {
if (cb(data) === false) {
return;
}
}
};
TreeBase.prototype.reach = function(cb) {
var it = this.iterator(), data;
while ((data = it.prev()) !== null) {
if (cb(data) === false) {
return;
}
}
};
function Iterator2(tree) {
this._tree = tree;
this._ancestors = [];
this._cursor = null;
}
Iterator2.prototype.data = function() {
return this._cursor !== null ? this._cursor.data : null;
};
Iterator2.prototype.next = function() {
if (this._cursor === null) {
var root = this._tree._root;
if (root !== null) {
this._minNode(root);
}
} else {
if (this._cursor.right === null) {
var save;
do {
save = this._cursor;
if (this._ancestors.length) {
this._cursor = this._ancestors.pop();
} else {
this._cursor = null;
break;
}
} while (this._cursor.right === save);
} else {
this._ancestors.push(this._cursor);
this._minNode(this._cursor.right);
}
}
return this._cursor !== null ? this._cursor.data : null;
};
Iterator2.prototype.prev = function() {
if (this._cursor === null) {
var root = this._tree._root;
if (root !== null) {
this._maxNode(root);
}
} else {
if (this._cursor.left === null) {
var save;
do {
save = this._cursor;
if (this._ancestors.length) {
this._cursor = this._ancestors.pop();
} else {
this._cursor = null;
break;
}
} while (this._cursor.left === save);
} else {
this._ancestors.push(this._cursor);
this._maxNode(this._cursor.left);
}
}
return this._cursor !== null ? this._cursor.data : null;
};
Iterator2.prototype._minNode = function(start) {
while (start.left !== null) {
this._ancestors.push(start);
start = start.left;
}
this._cursor = start;
};
Iterator2.prototype._maxNode = function(start) {
while (start.right !== null) {
this._ancestors.push(start);
start = start.right;
}
this._cursor = start;
};
module2.exports = TreeBase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/rbtree.js
var require_rbtree = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/rbtree.js"(exports2, module2) {
var TreeBase = require_treebase();
function Node2(data) {
this.data = data;
this.left = null;
this.right = null;
this.red = true;
}
Node2.prototype.get_child = function(dir) {
return dir ? this.right : this.left;
};
Node2.prototype.set_child = function(dir, val) {
if (dir) {
this.right = val;
} else {
this.left = val;
}
};
function RBTree2(comparator) {
this._root = null;
this._comparator = comparator;
this.size = 0;
}
RBTree2.prototype = new TreeBase();
RBTree2.prototype.insert = function(data) {
var ret2 = false;
if (this._root === null) {
this._root = new Node2(data);
ret2 = true;
this.size++;
} else {
var head2 = new Node2(void 0);
var dir = 0;
var last = 0;
var gp = null;
var ggp = head2;
var p = null;
var node = this._root;
ggp.right = this._root;
while (true) {
if (node === null) {
node = new Node2(data);
p.set_child(dir, node);
ret2 = true;
this.size++;
} else if (is_red(node.left) && is_red(node.right)) {
node.red = true;
node.left.red = false;
node.right.red = false;
}
if (is_red(node) && is_red(p)) {
var dir2 = ggp.right === gp;
if (node === p.get_child(last)) {
ggp.set_child(dir2, single_rotate(gp, !last));
} else {
ggp.set_child(dir2, double_rotate(gp, !last));
}
}
var cmp = this._comparator(node.data, data);
if (cmp === 0) {
break;
}
last = dir;
dir = cmp < 0;
if (gp !== null) {
ggp = gp;
}
gp = p;
p = node;
node = node.get_child(dir);
}
this._root = head2.right;
}
this._root.red = false;
return ret2;
};
RBTree2.prototype.remove = function(data) {
if (this._root === null) {
return false;
}
var head2 = new Node2(void 0);
var node = head2;
node.right = this._root;
var p = null;
var gp = null;
var found = null;
var dir = 1;
while (node.get_child(dir) !== null) {
var last = dir;
gp = p;
p = node;
node = node.get_child(dir);
var cmp = this._comparator(data, node.data);
dir = cmp > 0;
if (cmp === 0) {
found = node;
}
if (!is_red(node) && !is_red(node.get_child(dir))) {
if (is_red(node.get_child(!dir))) {
var sr = single_rotate(node, dir);
p.set_child(last, sr);
p = sr;
} else if (!is_red(node.get_child(!dir))) {
var sibling = p.get_child(!last);
if (sibling !== null) {
if (!is_red(sibling.get_child(!last)) && !is_red(sibling.get_child(last))) {
p.red = false;
sibling.red = true;
node.red = true;
} else {
var dir2 = gp.right === p;
if (is_red(sibling.get_child(last))) {
gp.set_child(dir2, double_rotate(p, last));
} else if (is_red(sibling.get_child(!last))) {
gp.set_child(dir2, single_rotate(p, last));
}
var gpc = gp.get_child(dir2);
gpc.red = true;
node.red = true;
gpc.left.red = false;
gpc.right.red = false;
}
}
}
}
}
if (found !== null) {
found.data = node.data;
p.set_child(p.right === node, node.get_child(node.left === null));
this.size--;
}
this._root = head2.right;
if (this._root !== null) {
this._root.red = false;
}
return found !== null;
};
function is_red(node) {
return node !== null && node.red;
}
function single_rotate(root, dir) {
var save = root.get_child(!dir);
root.set_child(!dir, save.get_child(dir));
save.set_child(dir, root);
root.red = true;
save.red = false;
return save;
}
function double_rotate(root, dir) {
root.set_child(!dir, single_rotate(root.get_child(!dir), !dir));
return single_rotate(root, dir);
}
module2.exports = RBTree2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/bintree.js
var require_bintree = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/lib/bintree.js"(exports2, module2) {
var TreeBase = require_treebase();
function Node2(data) {
this.data = data;
this.left = null;
this.right = null;
}
Node2.prototype.get_child = function(dir) {
return dir ? this.right : this.left;
};
Node2.prototype.set_child = function(dir, val) {
if (dir) {
this.right = val;
} else {
this.left = val;
}
};
function BinTree(comparator) {
this._root = null;
this._comparator = comparator;
this.size = 0;
}
BinTree.prototype = new TreeBase();
BinTree.prototype.insert = function(data) {
if (this._root === null) {
this._root = new Node2(data);
this.size++;
return true;
}
var dir = 0;
var p = null;
var node = this._root;
while (true) {
if (node === null) {
node = new Node2(data);
p.set_child(dir, node);
ret = true;
this.size++;
return true;
}
if (this._comparator(node.data, data) === 0) {
return false;
}
dir = this._comparator(node.data, data) < 0;
p = node;
node = node.get_child(dir);
}
};
BinTree.prototype.remove = function(data) {
if (this._root === null) {
return false;
}
var head2 = new Node2(void 0);
var node = head2;
node.right = this._root;
var p = null;
var found = null;
var dir = 1;
while (node.get_child(dir) !== null) {
p = node;
node = node.get_child(dir);
var cmp = this._comparator(data, node.data);
dir = cmp > 0;
if (cmp === 0) {
found = node;
}
}
if (found !== null) {
found.data = node.data;
p.set_child(p.right === node, node.get_child(node.left === null));
this._root = head2.right;
this.size--;
return true;
} else {
return false;
}
};
module2.exports = BinTree;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/index.js
var require_bintrees = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/bintrees/1.0.2/614e6be6b3552f19d02a4562ab466d605ce771f2013ab0d62c4dfab17116a120/node_modules/bintrees/index.js"(exports2, module2) {
module2.exports = {
RBTree: require_rbtree(),
BinTree: require_bintree()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/short-tree/3.0.0/315f27e198b3a82594f98ff98c05c51363823ee809ae68731f318db44de034ac/node_modules/short-tree/dist/index.js
function makeArrayCompare(cmp) {
return function(a2, b) {
const lenA = a2.length;
const lenB = b.length;
const minLength = Math.min(lenA, lenB);
for (let i4 = 0; i4 < minLength; ++i4) {
const diff2 = cmp(a2[i4], b[i4]);
if (diff2 === 0)
continue;
return diff2;
}
return lenA > lenB ? 1 : lenA < lenB ? -1 : 0;
};
}
function arrayStartsWith(haystack, needle, cmp) {
if (haystack.length < needle.length)
return false;
for (let i4 = 0; i4 < needle.length; ++i4)
if (cmp(haystack[i4], needle[i4]) !== 0)
return false;
return true;
}
var import_bintrees, ShortTree;
var init_dist16 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/short-tree/3.0.0/315f27e198b3a82594f98ff98c05c51363823ee809ae68731f318db44de034ac/node_modules/short-tree/dist/index.js"() {
import_bintrees = __toESM(require_bintrees(), 1);
ShortTree = class extends import_bintrees.RBTree {
constructor(cmp, arrayCmp = makeArrayCompare(cmp)) {
super(arrayCmp);
this.cmp = cmp;
this.arrayCmp = arrayCmp;
}
arrayStartsWith(haystack, needle) {
return arrayStartsWith(haystack, needle, this.cmp);
}
insert(path236) {
const iter = this.lowerBound(path236);
const data = iter.data();
if (data) {
const cmp = this.arrayCmp(data, path236);
if (cmp === 0)
return false;
else if (this.arrayStartsWith(data, path236))
this.chopOff(path236);
}
const prev = this.lowerBound(path236).prev();
if (prev && this.arrayStartsWith(path236, prev))
return false;
return super.insert(path236);
}
chopOff(path236) {
const iter = this.lowerBound(path236);
const found = [];
do {
const data = iter.data();
if (data && this.arrayStartsWith(data, path236))
found.push(data);
else
break;
iter.next();
} while (true);
for (const node of found)
this.remove(node);
return found.length > 0;
}
values() {
const ret2 = [];
this.each((node) => ret2.push(node));
return ret2;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/rotated-array-set/3.0.0/c09c9e498ee5cb5c526aa9e4720bbc26db9b17b566911b75e3df405f9215f1fa/node_modules/rotated-array-set/dist/index.js
function arrayEqual(a2, b) {
if (a2.length !== b.length)
return false;
else if (a2.length === 0)
return true;
return !a2.some((nodeA, i4) => nodeA !== b[i4]);
}
function rotatedArrayEqual(a2, b) {
if (a2.length !== b.length)
return false;
else if (!a2.length)
return true;
const offset = b.indexOf(a2[0]);
if (offset === -1)
return false;
const _b2 = offset === 0 ? b : [...b.slice(offset), ...b.slice(0, offset)];
return arrayEqual(a2, _b2);
}
function simpleHash(text, hashCache) {
const textLength = text.length;
if (textLength === 0)
return 4711;
const quads = [];
for (let i4 = 0; i4 < textLength; ++i4) {
let byte = text.charCodeAt(i4) + i4 * 13;
byte = byte % 256;
const mod2 = i4 % 4;
if (mod2 === 0)
quads.push(byte);
else
quads[quads.length - 1] |= byte << (mod2 === 1 ? 8 : mod2 === 2 ? 16 : 24);
}
const hash2 = quads.reduce((prev, cur) => prev ^ cur, textLength * 13);
hashCache.set(text, hash2);
return hash2;
}
function nodeHash2(keys4, hashCache) {
if (keys4.length === 0)
return 31415;
return keys4.map((key) => {
var _a2;
return (_a2 = hashCache.get(key)) !== null && _a2 !== void 0 ? _a2 : simpleHash(key, hashCache);
}).reduce((prev, cur) => prev ^ cur, keys4.length * 13);
}
var RotatedArraySet;
var init_dist17 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/rotated-array-set/3.0.0/c09c9e498ee5cb5c526aa9e4720bbc26db9b17b566911b75e3df405f9215f1fa/node_modules/rotated-array-set/dist/index.js"() {
RotatedArraySet = class {
constructor(stringify2 = (t2) => `${t2}`) {
this.stringify = stringify2;
this.hashCache = /* @__PURE__ */ new Map();
this.tree = /* @__PURE__ */ new Map();
}
makeNode(arr) {
const keys4 = arr.map((t2) => this.stringify(t2));
const hash2 = nodeHash2(keys4, this.hashCache);
const node = {
keys: keys4,
hash: hash2,
value: arr
};
return node;
}
add(arr) {
const node = this.makeNode(arr);
if (this._has(node))
return false;
let set2 = this.tree.get(node.hash);
if (!set2) {
set2 = /* @__PURE__ */ new Set();
this.tree.set(node.hash, set2);
}
set2.add(node);
return true;
}
_has(node) {
const set2 = this.tree.get(node.hash);
if (!set2)
return void 0;
for (const iter of set2.values())
if (rotatedArrayEqual(iter.keys, node.keys))
return iter;
return void 0;
}
has(arr) {
return !!this._has(this.makeNode(arr));
}
delete(arr) {
const node = this._has(this.makeNode(arr));
if (!node)
return false;
const set2 = this.tree.get(node.hash);
set2.delete(node);
if (set2.size === 0)
this.tree.delete(node.hash);
return true;
}
values() {
const set2 = new Set([...this.tree.values()].flatMap((set3) => [...set3.values()]));
return [...set2].map(({ value }) => value);
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-compare/3.0.0/297de306c3646778ca2761b80afc8636496d962689fa79ef606e94448ab233f2/node_modules/fast-string-compare/dist/index.js
function compare(a2, b) {
const lenA = a2.length;
const lenB = b.length;
const minLen = lenA < lenB ? lenA : lenB;
var i4 = 0;
for (; i4 < minLen; ++i4) {
const ca = a2.charCodeAt(i4);
const cb = b.charCodeAt(i4);
if (ca > cb)
return 1;
else if (ca < cb)
return -1;
}
if (lenA === lenB)
return 0;
return lenA > lenB ? 1 : -1;
}
var init_dist18 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/fast-string-compare/3.0.0/297de306c3646778ca2761b80afc8636496d962689fa79ef606e94448ab233f2/node_modules/fast-string-compare/dist/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/util.js
function uniq2(arr) {
return [...new Set(arr)];
}
function uniqArrays(arrays) {
const known = [];
return arrays.filter((array) => {
const isKnown = known.some((arr) => !arrayCompare(arr, array));
if (isKnown)
return false;
known.push(array);
return true;
});
}
function arrayCompare(a2, b) {
if (a2.length !== b.length)
return a2.length > b.length ? 1 : -1;
else if (a2.length === 0)
return 0;
for (let i4 = 0; i4 < a2.length; ++i4) {
const diff2 = compare(a2[i4], b[i4]);
if (diff2 !== 0)
return diff2;
}
return 0;
}
var init_util = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/util.js"() {
init_dist18();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/types.js
var init_types2 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/types.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/index.js
function buildAndEnsureValidGraph(edges) {
const fromSet = /* @__PURE__ */ new Set();
edges.forEach(([from5]) => {
if (fromSet.has(from5))
throw new Error(`Duplicate edge specification from "${from5}"`);
fromSet.add(from5);
});
return new Map(edges.map(([from5, to]) => [from5, uniq2(to)]));
}
function analyzeGraph(graph) {
const graphMap = buildAndEnsureValidGraph(graph);
const entrypoints = new ShortTree(compare);
const cycleNodes = /* @__PURE__ */ new Set();
const cycles = new RotatedArraySet();
const dependencies = /* @__PURE__ */ new Set();
const allExitPaths = new Array();
const recordCycleEntrypoint = (path236) => {
if (path236.length === 0)
return;
entrypoints.insert(path236);
};
const recordCycle = (path236) => {
if (cycles.add(path236)) {
for (const node of path236)
cycleNodes.add(node);
}
};
const isPartOfCycle = (node) => cycleNodes.has(node);
for (const [from5, _to] of graphMap.entries()) {
const path236 = [from5];
const visited = /* @__PURE__ */ new Set();
let foundCycle = false;
let createdCycle = false;
const exitPaths = [];
let to = _to;
let nodeNextIndex = 0;
const getLeaf = () => path236[path236.length - 1];
const testNode = () => {
const node = getLeaf();
const shouldCheckCycles = !createdCycle;
if (shouldCheckCycles && isPartOfCycle(node)) {
recordCycleEntrypoint(path236.slice(0, -1));
foundCycle = true;
return true;
}
if (visited.has(node)) {
const entrypointPath = path236.slice(0, path236.indexOf(node) + 1);
if (entrypointPath.length > 1)
recordCycleEntrypoint(entrypointPath.slice(0, -1));
const cycle = path236.slice(path236.indexOf(node), -1);
recordCycle(cycle);
createdCycle = true;
return true;
}
return false;
};
const walkDown = () => {
var _a2;
if (nodeNextIndex >= to.length)
return false;
const node = getLeaf();
visited.add(node);
const nextLeaf = to[nodeNextIndex];
path236.push(nextLeaf);
to = (_a2 = graphMap.get(nextLeaf)) !== null && _a2 !== void 0 ? _a2 : [];
nodeNextIndex = 0;
return true;
};
const walkUp = () => {
var _a2;
if (path236.length === 1)
return true;
const lastLeaf = getLeaf();
path236.pop();
const node = getLeaf();
visited.delete(node);
to = (_a2 = graphMap.get(node)) !== null && _a2 !== void 0 ? _a2 : [];
nodeNextIndex = to.indexOf(lastLeaf) + 1;
if (nodeNextIndex >= to.length)
return walkUp();
else
walkDown();
return false;
};
while (true) {
if (testNode()) {
if (walkUp())
break;
else
continue;
}
if (walkDown())
continue;
exitPaths.push([...path236]);
if (walkUp())
break;
}
if (foundCycle || createdCycle)
exitPaths.forEach((path237) => {
while (path237.length > 0 && !isPartOfCycle(path237[path237.length - 1])) {
dependencies.add(path237[path237.length - 1]);
path237.pop();
}
});
for (const path237 of exitPaths)
allExitPaths.push(path237);
}
const trimmedEntrypoints = uniqArrays(entrypoints.values().map((path236) => {
for (let i4 = 0; i4 < path236.length; ++i4) {
if (isPartOfCycle(path236[i4])) {
path236 = path236.slice(0, i4);
break;
}
}
return path236;
}).filter((path236) => path236.length > 0));
const all = /* @__PURE__ */ new Set([...cycleNodes, ...trimmedEntrypoints.flat()]);
const dependenciesList = [...dependencies].filter((dep) => !all.has(dep));
const allInclDeps = /* @__PURE__ */ new Set([...all, ...dependenciesList]);
const dependents = /* @__PURE__ */ new Set();
allExitPaths.forEach((path236) => {
if (path236.length > 0 && allInclDeps.has(path236[path236.length - 1])) {
const prePath = path236.slice(0, -1);
if (prePath.some((node) => allInclDeps.has(node)))
return;
prePath.forEach((node) => dependents.add(node));
}
});
return {
cycles: cycles.values(),
entrypoints: trimmedEntrypoints,
dependencies: dependenciesList,
dependents: [...dependents],
all: [...all]
};
}
var init_dist19 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/graph-cycles/3.0.0/71982412f573eb00eb9df3947dac50c9c9bad9a5689655503beddf0343c9887f/node_modules/graph-cycles/dist/index.js"() {
init_dist16();
init_dist17();
init_dist18();
init_util();
init_types2();
}
});
// ../installing/deps-resolver/lib/depPathCompatibility.js
function nodeDepsCount(node) {
return Object.keys(node.children).length + node.resolvedPeerNames.size;
}
function isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2) {
const node1 = depGraph[depPath1];
const node2 = depGraph[depPath2];
if (nodeDepsCount(node1) < nodeDepsCount(node2))
return false;
const node1DepPathsSet = new Set(Object.values(node1.children));
const node2DepPaths = Object.values(node2.children);
if (!node2DepPaths.every((depPath) => node1DepPathsSet.has(depPath)))
return false;
for (const depPath of node2.resolvedPeerNames) {
if (!node1.resolvedPeerNames.has(depPath))
return false;
}
return true;
}
var init_depPathCompatibility = __esm({
"../installing/deps-resolver/lib/depPathCompatibility.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/dedupeInjectedDeps.js
import path103 from "node:path";
function dedupeInjectedDeps(opts3) {
const injectedDepsByProjects = getInjectedDepsByProjects(opts3);
const dedupeMap = getDedupeMap(injectedDepsByProjects, opts3);
applyDedupeMap(dedupeMap, opts3);
}
function getInjectedDepsByProjects(opts3) {
const injectedDepsByProjects = /* @__PURE__ */ new Map();
for (const project of opts3.projects) {
for (const [alias, nodeId] of project.directNodeIdsByAlias.entries()) {
const depPath = opts3.pathsByNodeId.get(nodeId);
if (!opts3.depGraph[depPath].id.startsWith("file:"))
continue;
const id = opts3.depGraph[depPath].id.substring(5);
if (opts3.workspaceProjectIds.has(id)) {
if (!injectedDepsByProjects.has(project.id))
injectedDepsByProjects.set(project.id, /* @__PURE__ */ new Map());
injectedDepsByProjects.get(project.id).set(alias, { depPath, id });
}
}
}
return injectedDepsByProjects;
}
function getDedupeMap(injectedDepsByProjects, opts3) {
const toDedupe = /* @__PURE__ */ new Map();
for (const [id, deps] of injectedDepsByProjects.entries()) {
const dedupedInjectedDeps = /* @__PURE__ */ new Map();
for (const [alias, dep] of deps.entries()) {
const node = opts3.depGraph[dep.depPath];
const targetProjectDeps = opts3.dependenciesByProjectId[dep.id];
if (!targetProjectDeps) {
if (node.pkgIdWithPatchHash === dep.depPath) {
dedupedInjectedDeps.set(alias, dep.id);
}
continue;
}
const children = Object.entries(node.children);
const isSubset = children.every(([alias2, depPath]) => {
const targetDepPath = targetProjectDeps.get(alias2);
if (targetDepPath === depPath)
return true;
if (targetDepPath == null)
return false;
const targetNode = opts3.depGraph[targetDepPath];
const injectedChildNode = opts3.depGraph[depPath];
if (targetNode == null || injectedChildNode == null)
return false;
if (targetNode.pkgIdWithPatchHash !== injectedChildNode.pkgIdWithPatchHash)
return false;
return isCompatibleAndHasMoreDeps(opts3.depGraph, targetDepPath, depPath);
});
if (isSubset) {
dedupedInjectedDeps.set(alias, dep.id);
}
}
toDedupe.set(id, dedupedInjectedDeps);
}
return toDedupe;
}
function applyDedupeMap(dedupeMap, opts3) {
for (const [id, aliases] of dedupeMap.entries()) {
for (const [alias, dedupedProjectId] of aliases.entries()) {
opts3.dependenciesByProjectId[id].delete(alias);
const index2 = opts3.resolvedImporters[id].directDependencies.findIndex((dep) => dep.alias === alias);
const prev = opts3.resolvedImporters[id].directDependencies[index2];
const linkedDep = {
...prev,
pkg: prev,
isLinkedDependency: true,
pkgId: `link:${(0, import_normalize_path7.default)(path103.relative(id, dedupedProjectId))}`,
resolution: {
type: "directory",
directory: path103.join(opts3.lockfileDir, dedupedProjectId)
}
};
opts3.resolvedImporters[id].directDependencies[index2] = linkedDep;
opts3.resolvedImporters[id].linkedDependencies.push(linkedDep);
}
}
}
var import_normalize_path7;
var init_dedupeInjectedDeps = __esm({
"../installing/deps-resolver/lib/dedupeInjectedDeps.js"() {
"use strict";
import_normalize_path7 = __toESM(require_normalize_path(), 1);
init_depPathCompatibility();
}
});
// ../installing/deps-resolver/lib/linkPathToPeerVersion.js
function linkPathToPeerVersion(relPath) {
let i4 = 0;
while (i4 < relPath.length && relPath[i4] === ".")
i4++;
let out = "";
let lastWasPlus = true;
for (; i4 < relPath.length; i4++) {
const c3 = relPath.charCodeAt(i4);
const replace = c3 < 32 || c3 === 34 || c3 === 42 || c3 === 43 || c3 === 47 || c3 === 58 || c3 === 60 || c3 === 62 || c3 === 63 || c3 === 92 || c3 === 124;
if (replace) {
if (!lastWasPlus) {
out += "+";
lastWasPlus = true;
}
} else {
out += relPath[i4];
lastWasPlus = false;
}
}
let end = out.length;
while (end > 0) {
const ch = out.charCodeAt(end - 1);
if (ch !== 43 && ch !== 46)
break;
end--;
}
if (end > 0)
return out.slice(0, end);
return relPath.length === 0 ? "" : "+";
}
var init_linkPathToPeerVersion = __esm({
"../installing/deps-resolver/lib/linkPathToPeerVersion.js"() {
"use strict";
}
});
// ../installing/deps-resolver/lib/resolvePeers.js
import path104 from "node:path";
async function resolvePeers(opts3) {
const depGraph = {};
const pathsByNodeId = /* @__PURE__ */ new Map();
const pathsByNodeIdPromises = /* @__PURE__ */ new Map();
const awaitedPeerNodeIdsByNodeId = /* @__PURE__ */ new Map();
const peersCacheOwnerByNodeId = /* @__PURE__ */ new Map();
const cycleBrokenNodeIds = /* @__PURE__ */ new Set();
const depPathsByPkgId = /* @__PURE__ */ new Map();
const nodeIdsByPreviousDepPath = opts3.resolvedPeerProviderPaths == null ? /* @__PURE__ */ new Map() : getNodeIdsByPreviousDepPath(opts3.dependenciesTree);
const _createPkgsByName = createPkgsByName.bind(null, opts3.dependenciesTree);
const workspaceRootProject = opts3.resolvePeersFromWorkspaceRoot && opts3.projects.length > 1 ? opts3.projects.find(({ id }) => id === ".") : void 0;
const rootPkgsByName = workspaceRootProject == null ? {} : _createPkgsByName(workspaceRootProject);
const peerDependencyIssuesByProjects = {};
const finishingList = [];
const peersCache = /* @__PURE__ */ new Map();
const purePkgs = /* @__PURE__ */ new Set();
for (const { directNodeIdsByAlias, hoistedPeerProviderNodeIds, declaredDirectDependencies, explicitlyRequestedDirectDependencies, topParents, rootDir, id } of opts3.projects) {
const currentProviderSources = [{
directNodeIdsByAlias,
declaredDirectDependencies: declaredDirectDependencies ?? /* @__PURE__ */ new Set(),
explicitlyRequestedDirectDependencies: explicitlyRequestedDirectDependencies ?? /* @__PURE__ */ new Set()
}];
if (workspaceRootProject != null && workspaceRootProject.id !== id) {
currentProviderSources.push({
directNodeIdsByAlias: workspaceRootProject.directNodeIdsByAlias,
declaredDirectDependencies: workspaceRootProject.declaredDirectDependencies ?? /* @__PURE__ */ new Set(),
explicitlyRequestedDirectDependencies: workspaceRootProject.explicitlyRequestedDirectDependencies ?? /* @__PURE__ */ new Set()
});
}
const peerDependencyIssues = { bad: {}, missing: {} };
const pkgsByName = Object.fromEntries(Object.entries({
...rootPkgsByName,
..._createPkgsByName({ directNodeIdsByAlias, topParents })
}).filter(([peerName]) => opts3.allPeerDepNames.has(peerName)));
for (const { nodeId } of Object.values(pkgsByName)) {
if (nodeId && !pathsByNodeIdPromises.has(nodeId)) {
pathsByNodeIdPromises.set(nodeId, pDefer());
}
}
const ownDirectChildren = {};
const hoistedProviderChildren = {};
for (const [alias, nodeId] of directNodeIdsByAlias.entries()) {
if (hoistedPeerProviderNodeIds?.has(nodeId)) {
hoistedProviderChildren[alias] = nodeId;
} else {
ownDirectChildren[alias] = nodeId;
}
}
const parentPkgsOfNode = /* @__PURE__ */ new Map();
const projectPeersContext = {
allPeerDepNames: opts3.allPeerDepNames,
parentPkgsOfNode,
dependenciesTree: opts3.dependenciesTree,
depGraph,
lockfileDir: opts3.lockfileDir,
parentNodeIds: [],
parentDepPathsChain: [],
pathsByNodeId,
pathsByNodeIdPromises,
awaitedPeerNodeIdsByNodeId,
peersCacheOwnerByNodeId,
cycleBrokenNodeIds,
depPathsByPkgId,
nodeIdsByPreviousDepPath,
resolvedPeerProviderPaths: opts3.resolvedPeerProviderPaths,
currentProviderSources,
peersCache,
peerDependencyIssues,
purePkgs,
dedupePeers: opts3.dedupePeers,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
rootDir,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
};
const { finishing } = await resolvePeersOfChildren(ownDirectChildren, pkgsByName, projectPeersContext);
if (finishing) {
finishingList.push(finishing);
}
const prunedProviderChildren = {};
for (const [alias, nodeId] of Object.entries(hoistedProviderChildren)) {
if (parentPkgsOfNode.has(nodeId))
continue;
prunedProviderChildren[alias] = nodeId;
}
if (Object.keys(prunedProviderChildren).length > 0) {
const { finishing: finishing2 } = await resolvePeersOfChildren(prunedProviderChildren, pkgsByName, projectPeersContext);
if (finishing2) {
finishingList.push(finishing2);
}
}
if (Object.keys(peerDependencyIssues.bad).length > 0 || Object.keys(peerDependencyIssues.missing).length > 0) {
peerDependencyIssuesByProjects[id] = {
...peerDependencyIssues,
...mergePeers(peerDependencyIssues.missing)
};
}
}
breakDepPathAwaitCycles({
awaitedPeerNodeIdsByNodeId,
peersCacheOwnerByNodeId,
cycleBrokenNodeIds,
pathsByNodeId,
pathsByNodeIdPromises,
dependenciesTree: opts3.dependenciesTree
});
await Promise.all(finishingList);
const depGraphWithResolvedChildren = resolveChildren2(depGraph);
function resolveChildren2(depGraph2) {
for (const node of Object.values(depGraph2)) {
node.children = {};
for (const [alias, childNodeId] of Object.entries(node.childrenNodeIds)) {
node.children[alias] = pathsByNodeId.get(childNodeId) ?? childNodeId;
}
delete node.childrenNodeIds;
}
return depGraph2;
}
const dependenciesByProjectId = {};
for (const { directNodeIdsByAlias, id } of opts3.projects) {
dependenciesByProjectId[id] = /* @__PURE__ */ new Map();
for (const [alias, nodeId] of directNodeIdsByAlias.entries()) {
dependenciesByProjectId[id].set(alias, pathsByNodeId.get(nodeId));
}
}
if (opts3.dedupeInjectedDeps) {
dedupeInjectedDeps({
dependenciesByProjectId,
projects: opts3.projects,
depGraph: depGraphWithResolvedChildren,
pathsByNodeId,
lockfileDir: opts3.lockfileDir,
resolvedImporters: opts3.resolvedImporters,
workspaceProjectIds: opts3.workspaceProjectIds
});
}
if (opts3.dedupePeerDependents) {
const duplicates = Array.from(depPathsByPkgId.values()).filter((item) => item.size > 1);
const allDepPathsMap = deduplicateAll(depGraphWithResolvedChildren, duplicates);
for (const { id } of opts3.projects) {
for (const [alias, depPath] of dependenciesByProjectId[id].entries()) {
dependenciesByProjectId[id].set(alias, allDepPathsMap[depPath] ?? depPath);
}
}
}
return {
dependenciesGraph: depGraphWithResolvedChildren,
dependenciesByProjectId,
peerDependencyIssuesByProjects,
pathsByNodeId
};
}
function breakDepPathAwaitCycles(opts3) {
const isSettled = (nodeId) => opts3.pathsByNodeId.has(nodeId) || opts3.cycleBrokenNodeIds.has(nodeId);
const keysByNodeId = /* @__PURE__ */ new Map();
const nodeIdsByKey = /* @__PURE__ */ new Map();
function keyOf(nodeId) {
let key = keysByNodeId.get(nodeId);
if (key == null) {
key = String(keysByNodeId.size);
keysByNodeId.set(nodeId, key);
nodeIdsByKey.set(key, nodeId);
}
return key;
}
const graphEntries = [];
const awaitingNodeIds = /* @__PURE__ */ new Set([
...opts3.awaitedPeerNodeIdsByNodeId.keys(),
...opts3.peersCacheOwnerByNodeId.keys()
]);
for (const nodeId of awaitingNodeIds) {
if (isSettled(nodeId))
continue;
const cacheOwnerNodeId = opts3.peersCacheOwnerByNodeId.get(nodeId);
const awaitedNodeIds = opts3.awaitedPeerNodeIdsByNodeId.get(nodeId) ?? (cacheOwnerNodeId == null ? void 0 : opts3.awaitedPeerNodeIdsByNodeId.get(cacheOwnerNodeId));
if (awaitedNodeIds == null)
continue;
const liveTargets = [];
for (const awaitedNodeId of awaitedNodeIds) {
if (!isSettled(awaitedNodeId)) {
liveTargets.push(keyOf(awaitedNodeId));
}
}
if (liveTargets.length > 0) {
graphEntries.push([keyOf(nodeId), liveTargets]);
}
}
if (graphEntries.length === 0)
return;
const { cycles } = analyzeGraph(graphEntries);
for (const key of new Set(cycles.flat())) {
const nodeId = nodeIdsByKey.get(key);
const { name, version: version2 } = opts3.dependenciesTree.get(nodeId).resolvedPackage;
opts3.cycleBrokenNodeIds.add(nodeId);
opts3.pathsByNodeIdPromises.get(nodeId)?.resolve(`${name}@${version2}`);
}
}
function deduplicateAll(depGraph, duplicates) {
const { depPathsMap, remainingDuplicates } = deduplicateDepPaths(duplicates, depGraph);
if (remainingDuplicates.length === duplicates.length) {
return depPathsMap;
}
for (const node of Object.values(depGraph)) {
for (const [alias, childDepPath] of Object.entries(node.children)) {
if (depPathsMap[childDepPath]) {
node.children[alias] = depPathsMap[childDepPath];
}
}
}
if (Object.keys(depPathsMap).length > 0) {
return {
...depPathsMap,
...deduplicateAll(depGraph, remainingDuplicates)
};
}
return depPathsMap;
}
function deduplicateDepPaths(duplicates, depGraph) {
const depCountSorter = (depPath1, depPath2) => {
const countDiff = nodeDepsCount(depGraph[depPath1]) - nodeDepsCount(depGraph[depPath2]);
if (countDiff !== 0)
return countDiff;
return depPath1 < depPath2 ? -1 : depPath1 > depPath2 ? 1 : 0;
};
const depPathsMap = {};
const remainingDuplicates = [];
for (const depPaths of duplicates) {
const unresolvedDepPaths = new Set(depPaths.values());
let currentDepPaths = [...depPaths].sort(depCountSorter);
while (currentDepPaths.length) {
const depPath1 = currentDepPaths.pop();
const nextDepPaths = [];
while (currentDepPaths.length) {
const depPath2 = currentDepPaths.pop();
if (isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2)) {
depPathsMap[depPath2] = depPath1;
unresolvedDepPaths.delete(depPath1);
unresolvedDepPaths.delete(depPath2);
} else {
nextDepPaths.push(depPath2);
}
}
nextDepPaths.push(...currentDepPaths);
currentDepPaths = nextDepPaths.sort(depCountSorter);
}
if (unresolvedDepPaths.size) {
remainingDuplicates.push(unresolvedDepPaths);
}
}
return {
depPathsMap,
remainingDuplicates
};
}
function createPkgsByName(dependenciesTree, { directNodeIdsByAlias, topParents }) {
const parentRefs = toPkgByName(Array.from(directNodeIdsByAlias.entries()).map(([alias, nodeId]) => ({
alias,
node: dependenciesTree.get(nodeId),
nodeId,
parentNodeIds: []
})));
const _updateParentRefs = updateParentRefs.bind(null, parentRefs);
for (const { name, version: version2, alias, linkedDir } of topParents) {
const pkg = {
occurrence: 0,
alias,
depth: 0,
version: version2,
nodeId: linkedDir,
parentNodeIds: []
};
_updateParentRefs(name, pkg);
if (alias && alias !== name) {
_updateParentRefs(alias, pkg);
}
}
return parentRefs;
}
async function resolvePeersOfNode(currentAlias, nodeId, parentParentPkgs, ctx) {
const node = ctx.dependenciesTree.get(nodeId);
if (node.depth === -1)
return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() };
const resolvedPackage = node.resolvedPackage;
if (ctx.purePkgs.has(resolvedPackage.pkgIdWithPatchHash) && ctx.depGraph[resolvedPackage.pkgIdWithPatchHash].depth <= node.depth && Object.keys(resolvedPackage.peerDependencies).length === 0) {
ctx.pathsByNodeId.set(nodeId, resolvedPackage.pkgIdWithPatchHash);
ctx.pathsByNodeIdPromises.get(nodeId).resolve(resolvedPackage.pkgIdWithPatchHash);
return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() };
}
if (typeof node.children === "function") {
node.children = node.children();
}
const parentNodeIds = [...ctx.parentNodeIds, nodeId];
const children = node.children;
let parentPkgs;
if (Object.keys(children).length === 0) {
parentPkgs = parentParentPkgs;
} else {
parentPkgs = { ...parentParentPkgs };
const parentPkgNodes = [];
for (const [alias, nodeId2] of Object.entries(children)) {
const childNode = ctx.dependenciesTree.get(nodeId2);
if (ctx.allPeerDepNames.has(alias) || alias !== childNode.resolvedPackage.name && ctx.allPeerDepNames.has(childNode.resolvedPackage.name)) {
parentPkgNodes.push({
alias,
node: childNode,
nodeId: nodeId2,
parentNodeIds
});
}
}
const newParentPkgs = toPkgByName(parentPkgNodes);
const _parentPkgsMatch = parentPkgsMatch.bind(null, ctx.dependenciesTree);
for (const [newParentPkgName, newParentPkg] of Object.entries(newParentPkgs)) {
if (parentPkgs[newParentPkgName]) {
if (!_parentPkgsMatch(parentPkgs[newParentPkgName], newParentPkg) || inheritedParentPkgBreaksPeerDiamond(ctx, parentPkgs, parentPkgs[newParentPkgName], newParentPkg, children)) {
newParentPkg.occurrence = parentPkgs[newParentPkgName].occurrence + 1;
parentPkgs[newParentPkgName] = newParentPkg;
}
} else {
parentPkgs[newParentPkgName] = newParentPkg;
}
}
}
if (node.lockedPeerContext != null && ctx.resolvedPeerProviderPaths != null) {
for (const [peerName, previousPeerDepPath] of Object.entries(node.lockedPeerContext)) {
const peerNodeId = ctx.nodeIdsByPreviousDepPath.get(previousPeerDepPath);
const peerDependency = resolvedPackage.peerDependencies[peerName];
if (peerNodeId == null || peerDependency == null)
continue;
if (ctx.resolvedPeerProviderPaths?.get(peerNodeId) !== previousPeerDepPath)
continue;
if (parseDepPath(previousPeerDepPath).peerDepGraphHash !== "")
continue;
const currentPeerDepPath = ctx.pathsByNodeId.get(peerNodeId);
if (currentPeerDepPath != null && currentPeerDepPath !== previousPeerDepPath)
continue;
if (hasCurrentPeerProviderThatMustWin(peerName, parentPkgs, ctx))
continue;
const lockedPeer = toPkgByName([{
alias: peerName,
node: ctx.dependenciesTree.get(peerNodeId),
nodeId: peerNodeId,
parentNodeIds
}])[peerName];
if (!semverUtils.satisfiesWithPrereleases(lockedPeer.version, peerDependency.version.replace(/^workspace:/, ""), true))
continue;
const peerPathPromise = ctx.pathsByNodeIdPromises.get(peerNodeId) ?? pDefer();
ctx.pathsByNodeIdPromises.set(peerNodeId, peerPathPromise);
ctx.pathsByNodeId.set(peerNodeId, previousPeerDepPath);
peerPathPromise.resolve(previousPeerDepPath);
if (parentPkgs === parentParentPkgs) {
parentPkgs = { ...parentParentPkgs };
}
parentPkgs[peerName] = lockedPeer;
}
}
const hit = findHit(ctx, parentPkgs, resolvedPackage.pkgIdWithPatchHash);
if (hit != null) {
for (const [peerName, { range: wantedRange, optional }] of hit.missingPeers.entries()) {
if (ctx.peerDependencyIssues.missing[peerName] == null) {
ctx.peerDependencyIssues.missing[peerName] = [];
}
const { parents } = getLocationFromParentNodeIds({
dependenciesTree: ctx.dependenciesTree,
parentNodeIds
});
ctx.peerDependencyIssues.missing[peerName].push({
optional,
parents,
wantedRange
});
}
ctx.peersCacheOwnerByNodeId.set(nodeId, hit.ownerNodeId);
return {
missingPeers: hit.missingPeers,
finishing: (async () => {
const depPath = await hit.depPath.promise;
ctx.pathsByNodeId.set(nodeId, depPath);
ctx.depGraph[depPath].depth = Math.min(ctx.depGraph[depPath].depth, node.depth);
ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath);
})(),
resolvedPeers: hit.resolvedPeers
};
}
const { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: missingPeersOfChildren, finishing } = await resolvePeersOfChildren(children, parentPkgs, {
...ctx,
parentNodeIds,
parentDepPathsChain: ctx.parentDepPathsChain.includes(resolvedPackage.pkgIdWithPatchHash) ? ctx.parentDepPathsChain : [...ctx.parentDepPathsChain, resolvedPackage.pkgIdWithPatchHash]
});
const { resolvedPeers, missingPeers } = Object.keys(resolvedPackage.peerDependencies).length === 0 ? { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() } : _resolvePeers({
currentDepth: node.depth,
dependenciesTree: ctx.dependenciesTree,
lockfileDir: ctx.lockfileDir,
nodeId,
parentPkgs,
peerDependencyIssues: ctx.peerDependencyIssues,
resolvedPackage,
rootDir: ctx.rootDir,
parentNodeIds
});
const allResolvedPeers = unknownResolvedPeersOfChildren;
for (const [k2, v] of resolvedPeers) {
allResolvedPeers.set(k2, v);
}
allResolvedPeers.delete(node.resolvedPackage.name);
const allMissingPeers = /* @__PURE__ */ new Map();
for (const [peer, range] of missingPeersOfChildren.entries()) {
allMissingPeers.set(peer, range);
}
for (const [peer, range] of missingPeers.entries()) {
allMissingPeers.set(peer, range);
}
let cache;
const isPure = allResolvedPeers.size === 0 && allMissingPeers.size === 0;
const resolvedThroughCycle = ctx.parentDepPathsChain.includes(resolvedPackage.pkgIdWithPatchHash);
if (resolvedThroughCycle) {
} else if (isPure) {
ctx.purePkgs.add(resolvedPackage.pkgIdWithPatchHash);
} else {
cache = {
missingPeers: allMissingPeers,
depPath: pDefer(),
resolvedPeers: allResolvedPeers,
ownerNodeId: nodeId
};
if (ctx.peersCache.has(resolvedPackage.pkgIdWithPatchHash)) {
ctx.peersCache.get(resolvedPackage.pkgIdWithPatchHash).push(cache);
} else {
ctx.peersCache.set(resolvedPackage.pkgIdWithPatchHash, [cache]);
}
}
let calculateDepPathIfNeeded;
if (allResolvedPeers.size === 0) {
addDepPathToGraph(resolvedPackage.pkgIdWithPatchHash);
} else {
const peerIds = [];
const pendingPeers = [];
for (const [alias, peerNodeId] of allResolvedPeers.entries()) {
const peerId = peerNodeIdToPeerId(alias, peerNodeId, ctx);
if (peerId != null) {
peerIds.push(peerId);
} else {
pendingPeers.push({ alias, nodeId: peerNodeId });
}
}
if (pendingPeers.length === 0) {
const peerDepGraphHash = createPeerDepGraphHash(peerIds, ctx.peersSuffixMaxLength);
addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peerDepGraphHash}`);
} else {
calculateDepPathIfNeeded = calculateDepPath.bind(null, peerIds, pendingPeers);
}
}
return {
resolvedPeers: allResolvedPeers,
missingPeers: allMissingPeers,
calculateDepPath: calculateDepPathIfNeeded,
finishing
};
async function calculateDepPath(peerIds, pendingPeerNodes, cycles) {
const cyclicPeerAliases = /* @__PURE__ */ new Set();
const pendingPeerAliases = new Set(pendingPeerNodes.map(({ alias }) => alias));
for (const cycle of cycles) {
if (cycle.includes(currentAlias) || cycle.some((alias) => pendingPeerAliases.has(alias))) {
for (const peerAlias of cycle) {
cyclicPeerAliases.add(peerAlias);
}
}
}
const peerDepGraphHash = createPeerDepGraphHash([
...peerIds,
...await Promise.all(pendingPeerNodes.map(async (pendingPeer) => {
if (cyclicPeerAliases.has(pendingPeer.alias)) {
const { name, version: version2 } = ctx.dependenciesTree.get(pendingPeer.nodeId)?.resolvedPackage;
const id = `${name}@${version2}`;
ctx.cycleBrokenNodeIds.add(pendingPeer.nodeId);
ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId)?.resolve(id);
return id;
}
if (ctx.dedupePeers) {
const peerNode = ctx.dependenciesTree.get(pendingPeer.nodeId);
if (peerNode) {
return { name: peerNode.resolvedPackage.name, version: peerNode.resolvedPackage.version };
}
}
let awaitedPeerNodeIds = ctx.awaitedPeerNodeIdsByNodeId.get(nodeId);
if (awaitedPeerNodeIds == null) {
awaitedPeerNodeIds = /* @__PURE__ */ new Set();
ctx.awaitedPeerNodeIdsByNodeId.set(nodeId, awaitedPeerNodeIds);
}
awaitedPeerNodeIds.add(pendingPeer.nodeId);
return ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId).promise;
}))
], ctx.peersSuffixMaxLength);
addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peerDepGraphHash}`);
}
function addDepPathToGraph(depPath) {
cache?.depPath.resolve(depPath);
ctx.pathsByNodeId.set(nodeId, depPath);
ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath);
if (ctx.depPathsByPkgId != null) {
if (!ctx.depPathsByPkgId.has(resolvedPackage.pkgIdWithPatchHash)) {
ctx.depPathsByPkgId.set(resolvedPackage.pkgIdWithPatchHash, /* @__PURE__ */ new Set([depPath]));
} else {
ctx.depPathsByPkgId.get(resolvedPackage.pkgIdWithPatchHash).add(depPath);
}
}
const peerDependencies = { ...resolvedPackage.peerDependencies };
if (!ctx.depGraph[depPath] || ctx.depGraph[depPath].depth > node.depth) {
const modules = path104.join(ctx.virtualStoreDir, depPathToFilename(depPath, ctx.virtualStoreDirMaxLength), "node_modules");
const dir = safeJoinModulesDir(modules, resolvedPackage.name);
const transitivePeerDependencies = /* @__PURE__ */ new Set();
for (const unknownPeer of allResolvedPeers.keys()) {
if (!peerDependencies[unknownPeer]) {
transitivePeerDependencies.add(unknownPeer);
}
}
for (const unknownPeer of missingPeersOfChildren.keys()) {
if (!peerDependencies[unknownPeer]) {
transitivePeerDependencies.add(unknownPeer);
}
}
ctx.depGraph[depPath] = {
...node.resolvedPackage,
childrenNodeIds: Object.assign(getPreviouslyResolvedChildren(ctx, node.resolvedPackage.pkgIdWithPatchHash), children, Object.fromEntries(resolvedPeers.entries())),
depPath,
depth: node.depth,
dir,
installable: node.installable,
isPure,
modules,
peerDependencies,
transitivePeerDependencies,
resolvedPeerNames: new Set(allResolvedPeers.keys())
};
}
}
}
function getNodeIdsByPreviousDepPath(dependenciesTree) {
const nodeIdsByPreviousDepPath = /* @__PURE__ */ new Map();
for (const [nodeId, node] of dependenciesTree.entries()) {
if (node.previousDepPath != null && !nodeIdsByPreviousDepPath.has(node.previousDepPath)) {
nodeIdsByPreviousDepPath.set(node.previousDepPath, nodeId);
}
}
return nodeIdsByPreviousDepPath;
}
function hasCurrentPeerProviderThatMustWin(peerName, parentPkgs, ctx) {
const peerNodeId = parentPkgs[peerName]?.nodeId;
if (peerNodeId == null)
return false;
for (const source of ctx.currentProviderSources) {
for (const [alias, directNodeId] of source.directNodeIdsByAlias) {
if (directNodeId === peerNodeId && (alias !== peerName || source.explicitlyRequestedDirectDependencies.has(alias) || source.declaredDirectDependencies.has(alias) && ctx.dependenciesTree.get(peerNodeId)?.previousDepPath == null))
return true;
}
}
for (const parentNodeId of ctx.parentNodeIds) {
const parentNode = ctx.dependenciesTree.get(parentNodeId);
if (parentNode == null)
continue;
const children = typeof parentNode.children === "function" ? parentNode.children() : parentNode.children;
parentNode.children = children;
if ([...parentNode.dependencyNamesWhoseCurrentProviderMustWin ?? []].some((alias) => children[alias] === peerNodeId))
return true;
}
return false;
}
function parentPkgsMatch(dependenciesTree, currentParentPkg, newParentPkg) {
if (currentParentPkg.version !== newParentPkg.version || currentParentPkg.alias !== newParentPkg.alias) {
return false;
}
const currentParentResolvedPkg = currentParentPkg.nodeId && dependenciesTree.get(currentParentPkg.nodeId)?.resolvedPackage;
if (currentParentResolvedPkg == null)
return true;
const newParentResolvedPkg = newParentPkg.nodeId && dependenciesTree.get(newParentPkg.nodeId)?.resolvedPackage;
if (newParentResolvedPkg == null)
return true;
return currentParentResolvedPkg.name === newParentResolvedPkg.name;
}
function inheritedParentPkgBreaksPeerDiamond(ctx, parentPkgs, inheritedParentPkg, ownChildParentPkg, children) {
if (inheritedParentPkg.nodeId == null || ownChildParentPkg.nodeId == null)
return false;
if (inheritedParentPkg.nodeId === ownChildParentPkg.nodeId)
return false;
const inheritedContext = ctx.parentPkgsOfNode.get(inheritedParentPkg.nodeId);
if (inheritedContext == null)
return false;
const parentPkg = ctx.dependenciesTree.get(ownChildParentPkg.nodeId)?.resolvedPackage;
if (parentPkg == null)
return false;
const conflictingPeers = /* @__PURE__ */ new Set();
for (const peerName of Object.keys(parentPkg.peerDependencies)) {
if (!ctx.allPeerDepNames.has(peerName))
continue;
const inheritedPeer = inheritedContext[peerName];
const currentPeer = parentPkgs[peerName];
if (inheritedPeer == null || currentPeer == null)
continue;
if (parentPeerDiffers(ctx.dependenciesTree, currentPeer, inheritedPeer)) {
conflictingPeers.add(peerName);
}
}
if (conflictingPeers.size === 0)
return false;
for (const childNodeId of Object.values(children)) {
const childPeerDependencies = ctx.dependenciesTree.get(childNodeId)?.resolvedPackage?.peerDependencies;
if (childPeerDependencies == null || childPeerDependencies[parentPkg.name] == null)
continue;
for (const peerName of conflictingPeers) {
if (childPeerDependencies[peerName] != null)
return true;
}
}
return false;
}
function parentPeerDiffers(dependenciesTree, currentPeer, inheritedPeer) {
if (inheritedPeer.pkgIdWithPatchHash != null) {
if (currentPeer.nodeId == null || typeof currentPeer.nodeId === "string" && currentPeer.nodeId.startsWith("link:")) {
return true;
}
return dependenciesTree.get(currentPeer.nodeId)?.resolvedPackage?.pkgIdWithPatchHash !== inheritedPeer.pkgIdWithPatchHash;
}
return currentPeer.version !== inheritedPeer.version;
}
function findHit(ctx, parentPkgs, pkgIdWithPatchHash) {
const cacheItems = ctx.peersCache.get(pkgIdWithPatchHash);
if (!cacheItems)
return void 0;
return cacheItems.find((cache) => {
for (const [name, cachedNodeId] of cache.resolvedPeers) {
const parentPkgNodeId = parentPkgs[name]?.nodeId;
if (Boolean(parentPkgNodeId) !== Boolean(cachedNodeId))
return false;
if (parentPkgNodeId === cachedNodeId)
continue;
if (!parentPkgNodeId)
return false;
if (ctx.pathsByNodeId.has(cachedNodeId) && ctx.pathsByNodeId.get(cachedNodeId) === ctx.pathsByNodeId.get(parentPkgNodeId))
continue;
if (!ctx.dependenciesTree.has(parentPkgNodeId) && typeof parentPkgNodeId === "string" && parentPkgNodeId.startsWith("link:")) {
return false;
}
const parentPkgId = ctx.dependenciesTree.get(parentPkgNodeId).resolvedPackage.pkgIdWithPatchHash;
const cachedPkgId = ctx.dependenciesTree.get(cachedNodeId).resolvedPackage.pkgIdWithPatchHash;
if (parentPkgId !== cachedPkgId) {
return false;
}
if (!ctx.purePkgs.has(parentPkgId) && !parentPackagesMatch(ctx, cachedNodeId, parentPkgNodeId)) {
return false;
}
}
for (const missingPeer of cache.missingPeers.keys()) {
if (parentPkgs[missingPeer])
return false;
}
return true;
});
}
function parentPackagesMatch(ctx, cachedNodeId, checkedNodeId) {
const cachedParentPkgs = ctx.parentPkgsOfNode.get(cachedNodeId);
if (!cachedParentPkgs)
return false;
const checkedParentPkgs = ctx.parentPkgsOfNode.get(checkedNodeId);
if (!checkedParentPkgs)
return false;
if (Object.keys(cachedParentPkgs).length !== Object.keys(checkedParentPkgs).length)
return false;
const maxDepth = Object.values(checkedParentPkgs).reduce((maxDepth2, { depth }) => Math.max(depth ?? 0, maxDepth2), 0);
const peerDepsAreNotShadowed = parentPkgsHaveSingleOccurrence(cachedParentPkgs) && parentPkgsHaveSingleOccurrence(checkedParentPkgs);
return Object.entries(cachedParentPkgs).every(([name, { version: version2, pkgIdWithPatchHash }]) => {
if (checkedParentPkgs[name] == null)
return false;
if (version2 && checkedParentPkgs[name].version) {
return version2 === checkedParentPkgs[name].version;
}
return pkgIdWithPatchHash != null && pkgIdWithPatchHash === checkedParentPkgs[name].pkgIdWithPatchHash && (peerDepsAreNotShadowed || // Peer dependencies that appear last we can consider valid.
// If they do depend on other peer dependencies then they must be those that we will check further.
checkedParentPkgs[name].depth === maxDepth || ctx.purePkgs.has(pkgIdWithPatchHash));
});
}
function parentPkgsHaveSingleOccurrence(parentPkgs) {
return Object.values(parentPkgs).every(({ occurrence }) => occurrence === 0 || occurrence == null);
}
function getPreviouslyResolvedChildren({ parentNodeIds, parentDepPathsChain, dependenciesTree }, currentDepPath) {
const allChildren = {};
if (!currentDepPath || !parentDepPathsChain.includes(currentDepPath))
return allChildren;
for (let i4 = parentNodeIds.length - 1; i4 >= 0; i4--) {
const parentNode = dependenciesTree.get(parentNodeIds[i4]);
if (parentNode.resolvedPackage.pkgIdWithPatchHash === currentDepPath) {
if (typeof parentNode.children === "function") {
parentNode.children = parentNode.children();
}
Object.assign(allChildren, parentNode.children);
}
}
return allChildren;
}
async function resolvePeersOfChildren(children, parentPkgs, ctx) {
const allResolvedPeers = /* @__PURE__ */ new Map();
const allMissingPeers = /* @__PURE__ */ new Map();
const [repeated, notRepeated] = partition_default(([alias]) => parentPkgs[alias] != null, Object.entries(children));
const nodeIds = Array.from(new Set([...repeated, ...notRepeated].map(([, nodeId]) => nodeId)));
const aliasByNodeId = Object.fromEntries(Object.entries(children).map(([alias, nodeId]) => [nodeId, alias]));
for (const nodeId of nodeIds) {
if (!ctx.pathsByNodeIdPromises.has(nodeId)) {
ctx.pathsByNodeIdPromises.set(nodeId, pDefer());
}
}
const calculateDepPaths = [];
const graph = /* @__PURE__ */ new Map();
const finishingList = [];
const parentDepPaths = {};
for (const [name, parentPkg] of Object.entries(parentPkgs)) {
if (!ctx.allPeerDepNames.has(name))
continue;
if (parentPkg.nodeId && (typeof parentPkg.nodeId === "number" || !parentPkg.nodeId.startsWith("link:"))) {
parentDepPaths[name] = {
pkgIdWithPatchHash: ctx.dependenciesTree.get(parentPkg.nodeId).resolvedPackage.pkgIdWithPatchHash,
depth: parentPkg.depth,
occurrence: parentPkg.occurrence
};
} else {
parentDepPaths[name] = { version: parentPkg.version };
}
}
for (const childNodeId of nodeIds) {
ctx.parentPkgsOfNode.set(childNodeId, parentDepPaths);
}
for (const childNodeId of nodeIds) {
const currentAlias = aliasByNodeId[childNodeId];
const { resolvedPeers, missingPeers, calculateDepPath, finishing: finishing2 } = await resolvePeersOfNode(currentAlias, childNodeId, parentPkgs, ctx);
if (finishing2) {
finishingList.push(finishing2);
}
if (calculateDepPath) {
calculateDepPaths.push(calculateDepPath);
}
const edges = [];
for (const [peerName, peerNodeId] of resolvedPeers) {
allResolvedPeers.set(peerName, peerNodeId);
edges.push(peerName);
}
addEdgesToGraph(currentAlias, edges);
const node = ctx.dependenciesTree.get(childNodeId);
if (currentAlias !== node.resolvedPackage.name) {
addEdgesToGraph(node.resolvedPackage.name, edges);
}
for (const [missingPeer, range] of missingPeers.entries()) {
allMissingPeers.set(missingPeer, range);
}
}
function addEdgesToGraph(pkgName, edges) {
const existingEdges = graph.get(pkgName);
if (existingEdges == null) {
graph.set(pkgName, edges);
} else {
existingEdges.push(...edges);
}
}
if (calculateDepPaths.length) {
const { cycles } = analyzeGraph(Array.from(graph.entries()));
finishingList.push(...calculateDepPaths.map((calculateDepPath) => calculateDepPath(cycles)));
}
const finishing = Promise.all(finishingList).then(() => {
});
const unknownResolvedPeersOfChildren = /* @__PURE__ */ new Map();
for (const [alias, v] of allResolvedPeers) {
if (!children[alias]) {
unknownResolvedPeersOfChildren.set(alias, v);
}
}
return { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: allMissingPeers, finishing };
}
function _resolvePeers(ctx) {
const resolvedPeers = /* @__PURE__ */ new Map();
const missingPeers = /* @__PURE__ */ new Map();
for (const [peerName, { version: version2, optional }] of Object.entries(ctx.resolvedPackage.peerDependencies)) {
const peerVersionRange = version2.replace(/^workspace:/, "");
const resolved = ctx.parentPkgs[peerName];
const optionalPeer = optional === true;
if (!resolved) {
missingPeers.set(peerName, { range: version2, optional: optionalPeer });
const location = getLocationFromParentNodeIds(ctx);
if (!ctx.peerDependencyIssues.missing[peerName]) {
ctx.peerDependencyIssues.missing[peerName] = [];
}
ctx.peerDependencyIssues.missing[peerName].push({
parents: location.parents,
optional: optionalPeer,
wantedRange: peerVersionRange
});
continue;
}
if (!semverUtils.satisfiesWithPrereleases(resolved.version, peerVersionRange, true)) {
const location = getLocationFromParentNodeIds(ctx);
if (!ctx.peerDependencyIssues.bad[peerName]) {
ctx.peerDependencyIssues.bad[peerName] = [];
}
const peerLocation = resolved.nodeId == null ? [] : getLocationFromParentNodeIds({
dependenciesTree: ctx.dependenciesTree,
parentNodeIds: resolved.parentNodeIds
}).parents;
ctx.peerDependencyIssues.bad[peerName].push({
foundVersion: resolved.version,
resolvedFrom: peerLocation,
parents: location.parents,
optional: optionalPeer,
wantedRange: peerVersionRange
});
}
if (resolved?.nodeId)
resolvedPeers.set(peerName, resolved.nodeId);
}
return { resolvedPeers, missingPeers };
}
function getLocationFromParentNodeIds({ dependenciesTree, parentNodeIds }) {
const parents = parentNodeIds.map((nid) => pick_default(["name", "version"], dependenciesTree.get(nid).resolvedPackage));
return {
projectId: ".",
parents
};
}
function peerNodeIdToPeerId(alias, peerNodeId, ctx) {
if (typeof peerNodeId === "string" && peerNodeId.startsWith("link:")) {
return {
name: alias,
version: linkPathToPeerVersion(peerNodeId.slice(5))
};
}
if (ctx.dedupePeers) {
const peerNode = ctx.dependenciesTree.get(peerNodeId);
if (peerNode) {
return { name: peerNode.resolvedPackage.name, version: peerNode.resolvedPackage.version };
}
}
return ctx.pathsByNodeId.get(peerNodeId);
}
function toPkgByName(nodes) {
const pkgsByName = {};
const _updateParentRefs = updateParentRefs.bind(null, pkgsByName);
for (const { alias, node, nodeId, parentNodeIds } of nodes) {
const pkg = {
alias,
depth: node.depth,
nodeId,
version: node.resolvedPackage.version,
occurrence: 0,
parentNodeIds
};
_updateParentRefs(alias, pkg);
if (alias !== node.resolvedPackage.name) {
_updateParentRefs(node.resolvedPackage.name, pkg);
}
}
return pkgsByName;
}
function updateParentRefs(parentRefs, newAlias, pkg) {
const existing = parentRefs[newAlias];
if (existing) {
const existingHasAlias = existing.alias != null && existing.alias !== newAlias;
if (!existingHasAlias)
return;
const newHasAlias = pkg.alias != null && pkg.alias !== newAlias;
if (newHasAlias && import_semver34.default.gte(existing.version, pkg.version))
return;
}
parentRefs[newAlias] = pkg;
}
var semverUtils, import_semver34;
var init_resolvePeers = __esm({
"../installing/deps-resolver/lib/resolvePeers.js"() {
"use strict";
init_lib68();
init_lib106();
semverUtils = __toESM(require_semverUtils(), 1);
init_dist19();
init_p_defer();
init_es();
import_semver34 = __toESM(require_semver2(), 1);
init_dedupeInjectedDeps();
init_depPathCompatibility();
init_linkPathToPeerVersion();
init_mergePeers();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/resolve-link-target/3.0.0/63776cb8be27067aa98a4b4c16d9067c7b08f7d7882ff72f496488f6d01e9296/node_modules/resolve-link-target/index.js
import fs64 from "node:fs";
import path105 from "node:path";
async function resolveLinkTarget(linkPath) {
linkPath = path105.resolve(linkPath);
const target2 = await fs64.promises.readlink(linkPath);
return _resolveLink(linkPath, target2);
}
function _resolveLink(dest, target2) {
if (path105.isAbsolute(target2)) {
return path105.resolve(target2);
}
return path105.join(path105.dirname(dest), target2);
}
var init_resolve_link_target = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/resolve-link-target/3.0.0/63776cb8be27067aa98a4b4c16d9067c7b08f7d7882ff72f496488f6d01e9296/node_modules/resolve-link-target/index.js"() {
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-inner-link/5.0.0/72b7eb44d56e1666d7ca026d99a5fb2fb1b7840dde1a66e0e9ee7e333683e310/node_modules/is-inner-link/index.js
import path106 from "node:path";
async function isInnerLink(parent, relativePathToLink) {
const linkPath = path106.resolve(parent, relativePathToLink);
const target2 = await resolveLinkTarget(linkPath);
return {
isInner: isSubdir(parent, target2),
target: target2
};
}
var init_is_inner_link = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-inner-link/5.0.0/72b7eb44d56e1666d7ca026d99a5fb2fb1b7840dde1a66e0e9ee7e333683e310/node_modules/is-inner-link/index.js"() {
init_is_subdir();
init_resolve_link_target();
}
});
// ../installing/deps-resolver/lib/safeIsInnerLink.js
import path107 from "node:path";
async function safeIsInnerLink(projectModulesDir, depName, opts3) {
try {
const link2 = await isInnerLink(projectModulesDir, depName);
if (link2.isInner)
return true;
if (isSubdir(opts3.virtualStoreDir, link2.target) || opts3.globalVirtualStoreDir !== opts3.virtualStoreDir && isSubdir(opts3.globalVirtualStoreDir, link2.target)) {
return true;
}
return link2.target;
} catch (err2) {
if (err2.code === "ENOENT")
return true;
if (opts3.hideAlienModules) {
logger.warn({
message: `Moving ${depName} that was installed by a different package manager to "node_modules/.ignored"`,
prefix: opts3.projectDir
});
const ignoredDir = path107.join(projectModulesDir, ".ignored", depName);
await renameOverwrite(path107.join(projectModulesDir, depName), ignoredDir);
}
return true;
}
}
var init_safeIsInnerLink = __esm({
"../installing/deps-resolver/lib/safeIsInnerLink.js"() {
"use strict";
init_lib3();
init_is_inner_link();
init_is_subdir();
init_rename_overwrite();
}
});
// ../installing/deps-resolver/lib/validatePeerDependencies.js
function validatePeerDependencies(project) {
const { name, peerDependencies } = project.manifest;
const projectId = name ?? project.rootDir;
for (const depName in peerDependencies) {
const version2 = peerDependencies[depName];
if (!isValidPeerRange(version2)) {
throw new PnpmError("INVALID_PEER_DEPENDENCY_SPECIFICATION", `The peerDependencies field named '${depName}' of package '${projectId}' has an invalid value: '${version2}'`, {
hint: "The values in peerDependencies should be either a valid semver range, a `workspace:` spec, or a `catalog:` spec"
});
}
}
}
var init_validatePeerDependencies = __esm({
"../installing/deps-resolver/lib/validatePeerDependencies.js"() {
"use strict";
init_lib10();
init_lib2();
}
});
// ../installing/deps-resolver/lib/toResolveImporter.js
async function toResolveImporter(opts3, project) {
validatePeerDependencies(project);
const allDeps = getWantedDependencies(project.manifest);
const nonLinkedDependencies = await partitionLinkedPackages(allDeps, {
lockfileOnly: opts3.lockfileOnly,
modulesDir: project.modulesDir,
projectDir: project.rootDir,
virtualStoreDir: opts3.virtualStoreDir,
globalVirtualStoreDir: opts3.globalVirtualStoreDir,
workspacePackages: opts3.workspacePackages
});
const defaultUpdateDepth = project.update === true || project.updateMatching != null ? opts3.defaultUpdateDepth : -1;
const existingDeps = nonLinkedDependencies.filter(({ alias }) => !project.wantedDependencies.some((wantedDep) => wantedDep.alias === alias));
if (opts3.updateToLatest && opts3.noDependencySelectors) {
for (const dep of existingDeps) {
dep.updateSpec = true;
}
}
let wantedDependencies;
if (!project.manifest) {
wantedDependencies = [
...project.wantedDependencies,
...existingDeps
].map((dep) => ({
...dep,
updateDepth: defaultUpdateDepth
}));
} else {
const updateLocalTarballs = (dep) => ({
...dep,
updateDepth: project.updateMatching != null ? defaultUpdateDepth : prefIsLocalTarball(dep.bareSpecifier) ? 0 : defaultUpdateDepth
});
wantedDependencies = [
...project.wantedDependencies.map(defaultUpdateDepth < 0 ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: defaultUpdateDepth })),
...existingDeps.map(project.updateMatching != null ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: -1 }))
];
}
return {
...project,
hasRemovedDependencies: Boolean(project.removePackages?.length),
preferredVersions: opts3.preferredVersions ?? (project.manifest && getPreferredVersionsFromPackage(project.manifest)) ?? {},
wantedDependencies
};
}
function prefIsLocalTarball(bareSpecifier) {
return bareSpecifier.startsWith("file:") && bareSpecifier.endsWith(".tgz");
}
async function partitionLinkedPackages(dependencies, opts3) {
const nonLinkedDependencies = [];
const linkedAliases = /* @__PURE__ */ new Set();
await Promise.all(dependencies.map(async (dependency) => {
if (!dependency.alias || opts3.workspacePackages?.get(dependency.alias) != null || dependency.bareSpecifier.startsWith("workspace:")) {
nonLinkedDependencies.push(dependency);
return;
}
const isInnerLink2 = await safeIsInnerLink(opts3.modulesDir, dependency.alias, {
hideAlienModules: !opts3.lockfileOnly,
projectDir: opts3.projectDir,
virtualStoreDir: opts3.virtualStoreDir,
globalVirtualStoreDir: opts3.globalVirtualStoreDir
});
if (isInnerLink2 === true) {
nonLinkedDependencies.push(dependency);
return;
}
if (!dependency.bareSpecifier.startsWith("link:")) {
logger.info({
message: `${dependency.alias} is linked to ${opts3.modulesDir} from ${isInnerLink2}`,
prefix: opts3.projectDir
});
}
linkedAliases.add(dependency.alias);
}));
return nonLinkedDependencies;
}
function getPreferredVersionsFromPackage(pkg) {
return getVersionSpecsByRealNames(getAllDependenciesFromManifest2(pkg));
}
function getVersionSpecsByRealNames(deps) {
const acc = {};
for (const depName in deps) {
const currentBareSpecifier = deps[depName];
const { pkgName, bareSpecifier } = unwrapPackageName(depName, currentBareSpecifier);
if (bareSpecifier.includes(":")) {
continue;
}
const selector = (0, import_version_selector_type5.default)(bareSpecifier);
if (selector != null) {
acc[pkgName] = acc[pkgName] || {};
acc[pkgName][selector.normalized] = selector.type;
}
}
return acc;
}
var import_version_selector_type5;
var init_toResolveImporter = __esm({
"../installing/deps-resolver/lib/toResolveImporter.js"() {
"use strict";
init_lib3();
init_lib11();
import_version_selector_type5 = __toESM(require_version_selector_type(), 1);
init_getWantedDependencies();
init_safeIsInnerLink();
init_unwrapPackageName();
init_validatePeerDependencies();
}
});
// ../lockfile/pruner/lib/index.js
function pruneSharedLockfile(lockfile, opts3) {
const copiedPackages = lockfile.packages == null ? {} : copyPackageSnapshots(lockfile.packages, {
devDepPaths: unnest_default(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.devDependencies ?? {}))),
optionalDepPaths: unnest_default(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.optionalDependencies ?? {}))),
prodDepPaths: unnest_default(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.dependencies ?? {}))),
warn: opts3?.warn ?? ((_msg) => void 0),
dependenciesGraph: opts3?.dependenciesGraph
});
const prunedLockfile = {
...lockfile,
packages: copiedPackages
};
if (isEmpty_default(prunedLockfile.packages)) {
delete prunedLockfile.packages;
}
return prunedLockfile;
}
function copyPackageSnapshots(originalPackages, opts3) {
const copiedSnapshots = {};
const ctx = {
copiedSnapshots,
nonOptional: /* @__PURE__ */ new Set(),
originalPackages,
walked: /* @__PURE__ */ new Set(),
warn: opts3.warn,
dependenciesGraph: opts3.dependenciesGraph
};
copyDependencySubGraph(ctx, opts3.devDepPaths, {
optional: false
});
copyDependencySubGraph(ctx, opts3.optionalDepPaths, {
optional: true
});
copyDependencySubGraph(ctx, opts3.prodDepPaths, {
optional: false
});
return copiedSnapshots;
}
function resolvedDepsToDepPaths(deps) {
return Object.entries(deps).map(([alias, ref]) => refToRelative(ref, alias)).filter((depPath) => depPath !== null);
}
function copyDependencySubGraph(ctx, depPaths, opts3) {
for (const depPath of depPaths) {
const key = `${depPath}:${opts3.optional.toString()}`;
if (ctx.walked.has(key))
continue;
ctx.walked.add(key);
if (!ctx.originalPackages[depPath]) {
if (depPath.startsWith("link:") || depPath.startsWith("file:") && !depPath.endsWith(".tar.gz"))
continue;
ctx.warn(`Cannot find resolution of ${depPath} in lockfile`);
continue;
}
const depLockfile = ctx.originalPackages[depPath];
ctx.copiedSnapshots[depPath] = depLockfile;
if (opts3.optional && !ctx.nonOptional.has(depPath)) {
depLockfile.optional = true;
if (ctx.dependenciesGraph?.[depPath]) {
ctx.dependenciesGraph[depPath].optional = true;
}
} else {
ctx.nonOptional.add(depPath);
delete depLockfile.optional;
if (ctx.dependenciesGraph?.[depPath]) {
ctx.dependenciesGraph[depPath].optional = false;
}
}
const newDependencies = resolvedDepsToDepPaths(depLockfile.dependencies ?? {});
copyDependencySubGraph(ctx, newDependencies, opts3);
const newOptionalDependencies = resolvedDepsToDepPaths(depLockfile.optionalDependencies ?? {});
copyDependencySubGraph(ctx, newOptionalDependencies, { optional: true });
}
}
var init_lib110 = __esm({
"../lockfile/pruner/lib/index.js"() {
"use strict";
init_lib();
init_lib68();
init_es();
init_lib72();
}
});
// ../installing/deps-resolver/lib/updateLockfile.js
function updateLockfile({ dependenciesGraph, lockfile, prefix, registries, lockfileIncludeTarballUrl }) {
lockfile.packages = lockfile.packages ?? {};
for (const [depPath, depNode] of Object.entries(dependenciesGraph)) {
const [updatedOptionalDeps, updatedDeps] = partition_default((child) => depNode.optionalDependencies.has(child.alias) || depNode.peerDependencies[child.alias]?.optional === true, Object.entries(depNode.children).map(([alias, depPath2]) => ({ alias, depPath: depPath2 })));
lockfile.packages[depPath] = toLockfileDependency(depNode, {
depGraph: dependenciesGraph,
depPath,
prevSnapshot: lockfile.packages[depPath],
registries,
registry: getRegistryByPackageName(registries, depNode.name),
updatedDeps,
updatedOptionalDeps,
lockfileIncludeTarballUrl
});
}
const warn = (message) => {
logger.warn({ message, prefix });
};
return pruneSharedLockfile(lockfile, { warn, dependenciesGraph });
}
function toLockfileDependency(pkg, opts3) {
let lockfileResolution = toLockfileResolution({ name: pkg.name, version: pkg.version }, pkg.resolution, opts3.registry, opts3.lockfileIncludeTarballUrl);
if ("tarball" in lockfileResolution && lockfileResolution.integrity == null && lockfileResolution.type === void 0) {
const prevResolution = opts3.prevSnapshot?.resolution;
if (prevResolution != null && "tarball" in prevResolution && prevResolution.type === void 0 && prevResolution.tarball === lockfileResolution.tarball && prevResolution.integrity != null) {
lockfileResolution = { ...lockfileResolution, integrity: prevResolution.integrity };
}
}
const newResolvedDeps = updateResolvedDeps(opts3.updatedDeps, opts3.depGraph);
const newResolvedOptionalDeps = updateResolvedDeps(opts3.updatedOptionalDeps, opts3.depGraph);
const result2 = {
resolution: lockfileResolution
};
if (opts3.depPath.includes(":")) {
if (pkg.version && (!("type" in lockfileResolution) || lockfileResolution.type !== "directory")) {
result2["version"] = pkg.version;
}
}
if (Object.keys(newResolvedDeps).length > 0) {
result2["dependencies"] = newResolvedDeps;
}
if (Object.keys(newResolvedOptionalDeps).length > 0) {
result2["optionalDependencies"] = newResolvedOptionalDeps;
}
if (pkg.optional) {
result2["optional"] = true;
}
if (pkg.transitivePeerDependencies.size) {
result2["transitivePeerDependencies"] = Array.from(pkg.transitivePeerDependencies).sort();
}
if (Object.keys(pkg.peerDependencies ?? {}).length > 0) {
const peerPkgs = {};
const normalizedPeerDependenciesMeta = {};
for (const [peer, { version: version2, optional }] of Object.entries(pkg.peerDependencies)) {
peerPkgs[peer] = version2;
if (optional) {
normalizedPeerDependenciesMeta[peer] = { optional: true };
}
}
result2["peerDependencies"] = peerPkgs;
if (Object.keys(normalizedPeerDependenciesMeta).length > 0) {
result2["peerDependenciesMeta"] = normalizedPeerDependenciesMeta;
}
}
if (pkg.additionalInfo.engines != null) {
for (const [engine, version2] of Object.entries(pkg.additionalInfo.engines)) {
if (version2 === "*")
continue;
result2.engines = result2.engines ?? {};
result2.engines[engine] = version2;
}
}
if (pkg.additionalInfo.cpu != null) {
result2["cpu"] = pkg.additionalInfo.cpu;
}
if (pkg.additionalInfo.os != null) {
result2["os"] = pkg.additionalInfo.os;
}
if (pkg.additionalInfo.libc != null) {
result2["libc"] = pkg.additionalInfo.libc;
}
if (Array.isArray(pkg.additionalInfo.bundledDependencies) || pkg.additionalInfo.bundledDependencies === true) {
result2["bundledDependencies"] = pkg.additionalInfo.bundledDependencies;
} else if (Array.isArray(pkg.additionalInfo.bundleDependencies) || pkg.additionalInfo.bundleDependencies === true) {
result2["bundledDependencies"] = pkg.additionalInfo.bundleDependencies;
}
if (pkg.additionalInfo.deprecated) {
result2["deprecated"] = pkg.additionalInfo.deprecated;
}
if (pkg.hasBin) {
result2["hasBin"] = true;
}
if (pkg.patch) {
result2["patched"] = true;
}
return result2;
}
function updateResolvedDeps(updatedDeps, depGraph) {
return Object.fromEntries(updatedDeps.map(({ alias, depPath }) => {
if (depPath.startsWith("link:")) {
return [alias, depPath];
}
const depNode = depGraph[depPath];
return [
alias,
depPathToRef(depPath, {
alias,
realName: depNode.name
})
];
}));
}
var init_updateLockfile = __esm({
"../installing/deps-resolver/lib/updateLockfile.js"() {
"use strict";
init_lib68();
init_lib110();
init_lib73();
init_lib3();
init_es();
init_depPathToRef();
}
});
// ../installing/deps-resolver/lib/updateProjectManifest.js
async function updateProjectManifest(importer, opts3) {
if (!importer.manifest) {
throw new Error("Cannot save because no package.json found");
}
const specsToUpsert = [];
for (const rdd of opts3.directDependencies) {
const wantedDep = rdd.wantedDependency;
if (wantedDep?.updateSpec !== true)
continue;
specsToUpsert.push({
alias: rdd.alias,
peer: importer.peer,
bareSpecifier: getBareSpecifierToSave(wantedDep, rdd, opts3.preserveWorkspaceProtocol),
resolvedVersion: rdd.version,
pinnedVersion: importer.pinnedVersion,
saveType: importer.targetDependenciesField
});
}
for (const pkgToInstall of importer.wantedDependencies) {
if (pkgToInstall.updateSpec && pkgToInstall.alias && !specsToUpsert.some(({ alias }) => alias === pkgToInstall.alias)) {
specsToUpsert.push({
alias: pkgToInstall.alias,
peer: importer.peer,
saveType: importer.targetDependenciesField
});
}
}
const hookedManifest = await updateProjectManifestObject(importer.rootDir, importer.manifest, specsToUpsert);
const originalManifest = importer.originalManifest != null ? await updateProjectManifestObject(importer.rootDir, importer.originalManifest, specsToUpsert) : void 0;
return [hookedManifest, originalManifest];
}
function getBareSpecifierToSave(wantedDep, resolvedDep, preserveWorkspaceProtocol) {
if (resolvedDep.catalogLookup != null) {
return resolvedDep.catalogLookup.userSpecifiedBareSpecifier;
}
if (preserveWorkspaceProtocol && isWorkspaceLocalPathSpecifier(wantedDep.bareSpecifier)) {
return wantedDep.bareSpecifier;
}
return resolvedDep.normalizedBareSpecifier ?? wantedDep.bareSpecifier;
}
function isWorkspaceLocalPathSpecifier(bareSpecifier) {
if (!bareSpecifier.startsWith("workspace:"))
return false;
const pref = bareSpecifier.slice("workspace:".length);
return pref.startsWith(".") || pref.startsWith("/") || pref.startsWith("~/") || /^[A-Z]:/i.test(pref);
}
var init_updateProjectManifest = __esm({
"../installing/deps-resolver/lib/updateProjectManifest.js"() {
"use strict";
init_lib11();
}
});
// ../installing/deps-resolver/lib/index.js
import path108 from "node:path";
async function resolveDependencies2(importers, opts3) {
const _toResolveImporter = toResolveImporter.bind(null, {
defaultUpdateDepth: opts3.defaultUpdateDepth,
lockfileOnly: opts3.dryRun,
preferredVersions: opts3.preferredVersions,
virtualStoreDir: opts3.virtualStoreDir,
globalVirtualStoreDir: opts3.globalVirtualStoreDir,
workspacePackages: opts3.workspacePackages,
noDependencySelectors: importers.every(({ wantedDependencies }) => wantedDependencies.length === 0)
});
const projectsToResolve = await Promise.all(importers.map(async (project) => _toResolveImporter(project)));
const { dependenciesTree, outdatedDependencies, resolvedImporters, resolvedPkgsById, wantedToBeSkippedPackageIds, appliedPatches, time, allPeerDepNames, resolutionPolicyViolations } = await resolveDependencyTree(projectsToResolve, opts3);
if (resolutionPolicyViolations.length > 0) {
if (!opts3.handleResolutionPolicyViolations) {
throw new PnpmError("RESOLUTION_POLICY_VIOLATIONS_UNHANDLED", `${resolutionPolicyViolations.length} resolution-policy ${resolutionPolicyViolations.length === 1 ? "violation was" : "violations were"} produced but no handleResolutionPolicyViolations callback was wired to react to them.`, {
hint: "Internal: resolveDependencies needs a handleResolutionPolicyViolations callback whenever a policy that can produce violations (today: minimumReleaseAge) is active. Wire setupPolicyHandlers (in @pnpm/installing.commands) or supply a callback directly."
});
}
await opts3.handleResolutionPolicyViolations(resolutionPolicyViolations);
}
opts3.storeController.clearResolutionCache();
if (opts3.patchedDependencies && (opts3.forceFullResolution || !Object.keys(opts3.wantedLockfile.packages ?? {})?.length) && Object.keys(opts3.wantedLockfile.importers).length === importers.length) {
verifyPatches({
patchedDependencies: opts3.patchedDependencies,
appliedPatches,
allowUnusedPatches: opts3.allowUnusedPatches
});
}
const projectsToLink = await Promise.all(projectsToResolve.map(async (project) => {
const resolvedImporter = resolvedImporters[project.id];
const topParents = project.manifest ? await getTopParents(difference_default(Object.keys(getAllDependenciesFromManifest2(project.manifest)), resolvedImporter.directDependencies.map(({ alias }) => alias) || []), project.modulesDir) : [];
for (const linkedDependency of resolvedImporter.linkedDependencies) {
const target2 = !opts3.excludeLinksFromLockfile || isSubdir(opts3.lockfileDir, linkedDependency.resolution.directory) ? linkedDependency.resolution.directory : path108.join(project.modulesDir, linkedDependency.alias);
const linkedDir = createNodeIdForLinkedLocalPkg(opts3.lockfileDir, target2);
topParents.push({
name: linkedDependency.alias,
version: linkedDependency.version,
linkedDir
});
}
return {
binsDir: project.binsDir,
declaredDirectDependencies: /* @__PURE__ */ new Set([
...Object.keys(project.manifest == null ? {} : getAllDependenciesFromManifest2(project.manifest)),
...project.wantedDependencies.flatMap(({ alias, isNew }) => isNew && alias != null ? [alias] : [])
]),
directNodeIdsByAlias: resolvedImporter.directNodeIdsByAlias,
hoistedPeerProviderNodeIds: resolvedImporter.hoistedPeerProviderNodeIds,
explicitlyRequestedDirectDependencies: new Set(project.wantedDependencies.flatMap(({ alias, bareSpecifier, isNew, prevSpecifier, updateSpec }) => alias != null && (isNew === true || updateSpec === true || prevSpecifier != null && bareSpecifier !== prevSpecifier) ? [alias] : [])),
id: project.id,
linkedDependencies: resolvedImporter.linkedDependencies,
manifest: project.manifest,
modulesDir: project.modulesDir,
rootDir: project.rootDir,
topParents
};
}));
const peerResolutionOpts = {
allPeerDepNames,
dependenciesTree,
dedupePeerDependents: opts3.dedupePeerDependents,
dedupePeers: opts3.dedupePeers,
dedupeInjectedDeps: opts3.dedupeInjectedDeps,
lockfileDir: opts3.lockfileDir,
projects: projectsToLink,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
resolvePeersFromWorkspaceRoot: Boolean(opts3.resolvePeersFromWorkspaceRoot),
resolvedImporters,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
workspaceProjectIds: /* @__PURE__ */ new Set([...opts3.allProjectIds, ...Object.keys(opts3.wantedLockfile.importers)])
};
const initiallyResolvedPeers = await resolvePeers(peerResolutionOpts);
const { dependenciesGraph, dependenciesByProjectId, peerDependencyIssuesByProjects } = treeHasLockedPeerContexts(dependenciesTree) ? await resolvePeers({
...peerResolutionOpts,
resolvedPeerProviderPaths: initiallyResolvedPeers.pathsByNodeId
}) : initiallyResolvedPeers;
const linkedDependenciesByProjectId = {};
await Promise.all(projectsToResolve.map(async (project, index2) => {
const resolvedImporter = resolvedImporters[project.id];
linkedDependenciesByProjectId[project.id] = resolvedImporter.linkedDependencies;
let updatedManifest;
let updatedOriginalManifest;
if (project.updatePackageManifest) {
[updatedManifest, updatedOriginalManifest] = await updateProjectManifest(project, {
directDependencies: resolvedImporter.directDependencies,
preserveWorkspaceProtocol: opts3.preserveWorkspaceProtocol,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol
});
} else {
updatedManifest = project.manifest;
updatedOriginalManifest = project.originalManifest;
packageManifestLogger.debug({
prefix: project.rootDir,
updated: project.manifest
});
}
if (updatedManifest != null) {
if (opts3.autoInstallPeers) {
if (updatedManifest.peerDependencies) {
const allDeps = getAllDependenciesFromManifest2(updatedManifest);
for (const [peerName, peerRange] of Object.entries(updatedManifest.peerDependencies)) {
if (allDeps[peerName])
continue;
updatedManifest.dependencies ??= {};
updatedManifest.dependencies[peerName] = peerRange;
}
}
}
const projectSnapshot = opts3.wantedLockfile.importers[project.id];
opts3.wantedLockfile.importers[project.id] = addDirectDependenciesToLockfile(updatedManifest, projectSnapshot, resolvedImporter.linkedDependencies, resolvedImporter.directDependencies, opts3.excludeLinksFromLockfile);
}
importers[index2].manifest = updatedOriginalManifest ?? project.originalManifest ?? project.manifest;
for (const [alias, depPath] of dependenciesByProjectId[project.id].entries()) {
const projectSnapshot = opts3.wantedLockfile.importers[project.id];
if (project.manifest.dependenciesMeta != null) {
projectSnapshot.dependenciesMeta = project.manifest.dependenciesMeta;
}
const depNode = dependenciesGraph[depPath];
const ref = depPathToRef(depPath, {
alias,
realName: depNode.name
});
if (projectSnapshot.dependencies?.[alias]) {
projectSnapshot.dependencies[alias] = ref;
} else if (projectSnapshot.devDependencies?.[alias]) {
projectSnapshot.devDependencies[alias] = ref;
} else if (projectSnapshot.optionalDependencies?.[alias]) {
projectSnapshot.optionalDependencies[alias] = ref;
}
}
}));
let updatedCatalogs;
for (const project of projectsToResolve) {
if (!project.updatePackageManifest)
continue;
const resolvedImporter = resolvedImporters[project.id];
for (let i4 = 0; i4 < resolvedImporter.directDependencies.length; i4++) {
const updateSpec = project.wantedDependencies[i4]?.updateSpec ?? false;
if (!updateSpec)
continue;
const dep = resolvedImporter.directDependencies[i4];
if (dep.catalogLookup == null)
continue;
if (dep.normalizedBareSpecifier == null)
continue;
updatedCatalogs ??= {};
updatedCatalogs[dep.catalogLookup.catalogName] ??= {};
updatedCatalogs[dep.catalogLookup.catalogName][dep.alias] = dep.normalizedBareSpecifier;
}
}
if (opts3.dedupeDirectDeps) {
const rootDeps = dependenciesByProjectId["."];
if (rootDeps) {
for (const [id, deps] of Object.entries(dependenciesByProjectId)) {
if (id === ".")
continue;
for (const [alias, depPath] of deps.entries()) {
if (depPath === rootDeps.get(alias)) {
deps.delete(alias);
}
}
}
}
}
await waitForResolutionFetches(resolvedPkgsById);
const newLockfile = updateLockfile({
dependenciesGraph,
lockfile: opts3.wantedLockfile,
prefix: opts3.virtualStoreDir,
registries: opts3.registries,
lockfileIncludeTarballUrl: opts3.lockfileIncludeTarballUrl
});
if (time) {
newLockfile.time = {
...opts3.wantedLockfile.time,
...time
};
}
newLockfile.catalogs = getCatalogSnapshots(Object.values(resolvedImporters).flatMap(({ directDependencies }) => directDependencies), updatedCatalogs);
async function waitTillAllFetchingsFinish() {
await Promise.all(Object.values(resolvedPkgsById).map(async ({ fetching }) => {
try {
await fetching?.();
} catch {
}
}));
}
return {
dependenciesByProjectId,
dependenciesGraph: extendGraph(dependenciesGraph, opts3),
outdatedDependencies,
linkedDependenciesByProjectId,
updatedCatalogs,
newLockfile,
peerDependencyIssuesByProjects,
waitTillAllFetchingsFinish,
wantedToBeSkippedPackageIds,
resolutionPolicyViolations
};
}
function treeHasLockedPeerContexts(dependenciesTree) {
for (const node of dependenciesTree.values()) {
if (node.lockedPeerContext != null)
return true;
}
return false;
}
function addDirectDependenciesToLockfile(newManifest, projectSnapshot, linkedPackages, directDependencies, excludeLinksFromLockfile) {
const newProjectSnapshot = {
dependencies: {},
devDependencies: {},
optionalDependencies: {},
specifiers: {}
};
if (newManifest.publishConfig?.directory) {
newProjectSnapshot.publishDirectory = newManifest.publishConfig.directory;
}
for (const linkedPkg of linkedPackages) {
newProjectSnapshot.specifiers[linkedPkg.alias] = getSpecFromPackageManifest(newManifest, linkedPkg.alias);
}
const directDependenciesByAlias = {};
for (const directDependency of directDependencies) {
directDependenciesByAlias[directDependency.alias] = directDependency;
}
const allDeps = Array.from(new Set(Object.keys(getAllDependenciesFromManifest2(newManifest))));
for (const alias of allDeps) {
const dep = directDependenciesByAlias[alias];
const spec = dep && getSpecFromPackageManifest(newManifest, dep.alias);
if (dep && (!excludeLinksFromLockfile || !dep.isLinkedDependency || spec.startsWith("workspace:"))) {
const ref = depPathToRef(dep.pkgId, {
alias: dep.alias,
realName: dep.name
});
if (dep.dev) {
newProjectSnapshot.devDependencies[dep.alias] = ref;
} else if (dep.optional) {
newProjectSnapshot.optionalDependencies[dep.alias] = ref;
} else {
newProjectSnapshot.dependencies[dep.alias] = ref;
}
newProjectSnapshot.specifiers[dep.alias] = spec;
} else if (projectSnapshot.specifiers[alias]) {
newProjectSnapshot.specifiers[alias] = projectSnapshot.specifiers[alias];
if (projectSnapshot.dependencies?.[alias]) {
newProjectSnapshot.dependencies[alias] = projectSnapshot.dependencies[alias];
} else if (projectSnapshot.optionalDependencies?.[alias]) {
newProjectSnapshot.optionalDependencies[alias] = projectSnapshot.optionalDependencies[alias];
} else if (projectSnapshot.devDependencies?.[alias]) {
newProjectSnapshot.devDependencies[alias] = projectSnapshot.devDependencies[alias];
}
}
}
alignDependencyTypes(newManifest, newProjectSnapshot);
return newProjectSnapshot;
}
function alignDependencyTypes(manifest, projectSnapshot) {
const depTypesOfAliases = getAliasToDependencyTypeMap(manifest);
for (const depType of DEPENDENCIES_FIELDS) {
if (projectSnapshot[depType] == null)
continue;
for (const [alias, ref] of Object.entries(projectSnapshot[depType] ?? {})) {
if (depType === depTypesOfAliases[alias] || !depTypesOfAliases[alias])
continue;
projectSnapshot[depTypesOfAliases[alias]][alias] = ref;
delete projectSnapshot[depType][alias];
}
}
}
async function waitForResolutionFetches(resolvedPkgsById) {
const fetches = [];
for (const pkg of Object.values(resolvedPkgsById)) {
if (pkg.resolutionNeedsFetch && pkg.fetching != null) {
fetches.push(pkg.fetching());
}
}
if (fetches.length > 0) {
await Promise.all(fetches);
}
}
function getAliasToDependencyTypeMap(manifest) {
const depTypesOfAliases = {};
for (const depType of DEPENDENCIES_FIELDS) {
if (manifest[depType] == null)
continue;
for (const alias of Object.keys(manifest[depType] ?? {})) {
if (!depTypesOfAliases[alias]) {
depTypesOfAliases[alias] = depType;
}
}
}
return depTypesOfAliases;
}
async function getTopParents(pkgAliases, modulesDir) {
const pkgs = await Promise.all(pkgAliases.map((alias) => path108.join(modulesDir, alias)).map(safeReadPackageJsonFromDir));
return zipWith_default((manifest, alias) => {
if (!manifest)
return null;
return {
alias,
name: manifest.name,
version: manifest.version
};
}, pkgs, pkgAliases).filter(Boolean);
}
function* iterateGraphPkgMetaEntries(graph, runtimeOnly) {
for (const depPath in graph) {
if (Object.hasOwn(graph, depPath)) {
if (runtimeOnly && !isRuntimeDepPath(depPath))
continue;
const { name, version: version2, pkgIdWithPatchHash } = graph[depPath];
yield { depPath, name, version: version2, pkgIdWithPatchHash };
}
}
}
function extendGraph(graph, opts3) {
const pkgMetaIter = iterateGraphPkgMetaEntries(graph, !opts3.enableGlobalVirtualStore);
const allowBuild = opts3.enableGlobalVirtualStore ? opts3.allowBuild : void 0;
const nodeVersion = findRuntimeNodeVersion(Object.keys(graph));
for (const { pkgMeta: { depPath }, hash: hash2 } of iterateHashedGraphNodes(graph, pkgMetaIter, allowBuild, opts3.supportedArchitectures, nodeVersion)) {
const modules = path108.join(opts3.globalVirtualStoreDir, hash2, "node_modules");
const node = graph[depPath];
Object.assign(node, {
modules,
dir: safeJoinModulesDir(modules, node.name)
});
}
return graph;
}
var init_lib111 = __esm({
"../installing/deps-resolver/lib/index.js"() {
"use strict";
init_lib6();
init_lib74();
init_lib68();
init_lib2();
init_lib106();
init_lib108();
init_lib5();
init_lib11();
init_lib9();
init_is_subdir();
init_es();
init_depPathToRef();
init_getCatalogSnapshots();
init_getWantedDependencies();
init_resolveDependencies();
init_resolveDependencyTree();
init_resolvePeers();
init_toResolveImporter();
init_updateLockfile();
init_updateProjectManifest();
init_validateDependencyAlias();
}
});
// ../installing/deps-installer/lib/getPeerDependencyIssues.js
var init_getPeerDependencyIssues = __esm({
"../installing/deps-installer/lib/getPeerDependencyIssues.js"() {
"use strict";
init_lib76();
init_lib99();
init_lib105();
init_lib89();
init_lib111();
init_lib109();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/util.js
var require_util12 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/util.js"(exports2, module2) {
"use strict";
var stringReplaceAll2 = (string, substring, replacer2) => {
let index2 = string.indexOf(substring);
if (index2 === -1) {
return string;
}
const substringLength = substring.length;
let endIndex = 0;
let returnValue = "";
do {
returnValue += string.substr(endIndex, index2 - endIndex) + substring + replacer2;
endIndex = index2 + substringLength;
index2 = string.indexOf(substring, endIndex);
} while (index2 !== -1);
returnValue += string.substr(endIndex);
return returnValue;
};
var stringEncaseCRLFWithFirstIndex2 = (string, prefix, postfix, index2) => {
let endIndex = 0;
let returnValue = "";
do {
const gotCR = string[index2 - 1] === "\r";
returnValue += string.substr(endIndex, (gotCR ? index2 - 1 : index2) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
endIndex = index2 + 1;
index2 = string.indexOf("\n", endIndex);
} while (index2 !== -1);
returnValue += string.substr(endIndex);
return returnValue;
};
module2.exports = {
stringReplaceAll: stringReplaceAll2,
stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/templates.js
var require_templates2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/templates.js"(exports2, module2) {
"use strict";
var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
var ESCAPES2 = /* @__PURE__ */ new Map([
["n", "\n"],
["r", "\r"],
["t", " "],
["b", "\b"],
["f", "\f"],
["v", "\v"],
["0", "\0"],
["\\", "\\"],
["e", "\x1B"],
["a", "\x07"]
]);
function unescape2(c3) {
const u2 = c3[0] === "u";
const bracket = c3[1] === "{";
if (u2 && !bracket && c3.length === 5 || c3[0] === "x" && c3.length === 3) {
return String.fromCharCode(parseInt(c3.slice(1), 16));
}
if (u2 && bracket) {
return String.fromCodePoint(parseInt(c3.slice(2, -1), 16));
}
return ESCAPES2.get(c3) || c3;
}
function parseArguments2(name, arguments_) {
const results = [];
const chunks = arguments_.trim().split(/\s*,\s*/g);
let matches2;
for (const chunk of chunks) {
const number = Number(chunk);
if (!Number.isNaN(number)) {
results.push(number);
} else if (matches2 = chunk.match(STRING_REGEX)) {
results.push(matches2[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape2(escape) : character));
} else {
throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
}
}
return results;
}
function parseStyle(style) {
STYLE_REGEX.lastIndex = 0;
const results = [];
let matches2;
while ((matches2 = STYLE_REGEX.exec(style)) !== null) {
const name = matches2[1];
if (matches2[2]) {
const args = parseArguments2(name, matches2[2]);
results.push([name].concat(args));
} else {
results.push([name]);
}
}
return results;
}
function buildStyle(chalk2, styles4) {
const enabled = {};
for (const layer of styles4) {
for (const style of layer.styles) {
enabled[style[0]] = layer.inverse ? null : style.slice(1);
}
}
let current = chalk2;
for (const [styleName, styles5] of Object.entries(enabled)) {
if (!Array.isArray(styles5)) {
continue;
}
if (!(styleName in current)) {
throw new Error(`Unknown Chalk style: ${styleName}`);
}
current = styles5.length > 0 ? current[styleName](...styles5) : current[styleName];
}
return current;
}
module2.exports = (chalk2, temporary) => {
const styles4 = [];
const chunks = [];
let chunk = [];
temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse2, style, close, character) => {
if (escapeCharacter) {
chunk.push(unescape2(escapeCharacter));
} else if (style) {
const string = chunk.join("");
chunk = [];
chunks.push(styles4.length === 0 ? string : buildStyle(chalk2, styles4)(string));
styles4.push({ inverse: inverse2, styles: parseStyle(style) });
} else if (close) {
if (styles4.length === 0) {
throw new Error("Found extraneous } in Chalk template literal");
}
chunks.push(buildStyle(chalk2, styles4)(chunk.join("")));
chunk = [];
styles4.pop();
} else {
chunk.push(character);
}
});
chunks.push(chunk.join(""));
if (styles4.length > 0) {
const errMessage = `Chalk template literal is missing ${styles4.length} closing bracket${styles4.length === 1 ? "" : "s"} (\`}\`)`;
throw new Error(errMessage);
}
return chunks.join("");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/index.js
var require_source2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/chalk/4.1.2/c24cf7af43c10db55fbaf7d627c6e95c786c790072228a2fa3e9995dd55ce893/node_modules/chalk/source/index.js"(exports2, module2) {
"use strict";
var ansiStyles3 = require_ansi_styles();
var { stdout: stdoutColor2, stderr: stderrColor2 } = require_supports_color();
var {
stringReplaceAll: stringReplaceAll2,
stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2
} = require_util12();
var { isArray } = Array;
var levelMapping2 = [
"ansi",
"ansi",
"ansi256",
"ansi16m"
];
var styles4 = /* @__PURE__ */ Object.create(null);
var applyOptions2 = (object, options = {}) => {
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
throw new Error("The `level` option should be an integer from 0 to 3");
}
const colorLevel = stdoutColor2 ? stdoutColor2.level : 0;
object.level = options.level === void 0 ? colorLevel : options.level;
};
var ChalkClass = class {
constructor(options) {
return chalkFactory2(options);
}
};
var chalkFactory2 = (options) => {
const chalk3 = {};
applyOptions2(chalk3, options);
chalk3.template = (...arguments_) => chalkTag(chalk3.template, ...arguments_);
Object.setPrototypeOf(chalk3, Chalk.prototype);
Object.setPrototypeOf(chalk3.template, chalk3);
chalk3.template.constructor = () => {
throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
};
chalk3.template.Instance = ChalkClass;
return chalk3.template;
};
function Chalk(options) {
return chalkFactory2(options);
}
for (const [styleName, style] of Object.entries(ansiStyles3)) {
styles4[styleName] = {
get() {
const builder = createBuilder2(this, createStyler2(style.open, style.close, this._styler), this._isEmpty);
Object.defineProperty(this, styleName, { value: builder });
return builder;
}
};
}
styles4.visible = {
get() {
const builder = createBuilder2(this, this._styler, true);
Object.defineProperty(this, "visible", { value: builder });
return builder;
}
};
var usedModels2 = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
for (const model of usedModels2) {
styles4[model] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler2(ansiStyles3.color[levelMapping2[level]][model](...arguments_), ansiStyles3.color.close, this._styler);
return createBuilder2(this, styler, this._isEmpty);
};
}
};
}
for (const model of usedModels2) {
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
styles4[bgModel] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler2(ansiStyles3.bgColor[levelMapping2[level]][model](...arguments_), ansiStyles3.bgColor.close, this._styler);
return createBuilder2(this, styler, this._isEmpty);
};
}
};
}
var proto2 = Object.defineProperties(() => {
}, {
...styles4,
level: {
enumerable: true,
get() {
return this._generator.level;
},
set(level) {
this._generator.level = level;
}
}
});
var createStyler2 = (open3, close, parent) => {
let openAll;
let closeAll;
if (parent === void 0) {
openAll = open3;
closeAll = close;
} else {
openAll = parent.openAll + open3;
closeAll = close + parent.closeAll;
}
return {
open: open3,
close,
openAll,
closeAll,
parent
};
};
var createBuilder2 = (self2, _styler, _isEmpty) => {
const builder = (...arguments_) => {
if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
return applyStyle2(builder, chalkTag(builder, ...arguments_));
}
return applyStyle2(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
};
Object.setPrototypeOf(builder, proto2);
builder._generator = self2;
builder._styler = _styler;
builder._isEmpty = _isEmpty;
return builder;
};
var applyStyle2 = (self2, string) => {
if (self2.level <= 0 || !string) {
return self2._isEmpty ? "" : string;
}
let styler = self2._styler;
if (styler === void 0) {
return string;
}
const { openAll, closeAll } = styler;
if (string.indexOf("\x1B") !== -1) {
while (styler !== void 0) {
string = stringReplaceAll2(string, styler.close, styler.open);
styler = styler.parent;
}
}
const lfIndex = string.indexOf("\n");
if (lfIndex !== -1) {
string = stringEncaseCRLFWithFirstIndex2(string, closeAll, openAll, lfIndex);
}
return openAll + string + closeAll;
};
var template;
var chalkTag = (chalk3, ...strings2) => {
const [firstString] = strings2;
if (!isArray(firstString) || !isArray(firstString.raw)) {
return strings2.join(" ");
}
const arguments_ = strings2.slice(1);
const parts = [firstString.raw[0]];
for (let i4 = 1; i4 < firstString.length; i4++) {
parts.push(
String(arguments_[i4 - 1]).replace(/[{}\\]/g, "\\$&"),
String(firstString.raw[i4])
);
}
if (template === void 0) {
template = require_templates2();
}
return template(chalk3, parts.join(""));
};
Object.defineProperties(Chalk.prototype, styles4);
var chalk2 = Chalk();
chalk2.supportsColor = stdoutColor2;
chalk2.stderr = Chalk({ level: stderrColor2 ? stderrColor2.level : 0 });
chalk2.stderr.supportsColor = stderrColor2;
module2.exports = chalk2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/slash/2.0.0/7e081a5f0090e902df791a5e0825a6779e59c0a002f1e02b56c93cca6ae8eee7/node_modules/slash/index.js
var require_slash = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/slash/2.0.0/7e081a5f0090e902df791a5e0825a6779e59c0a002f1e02b56c93cca6ae8eee7/node_modules/slash/index.js"(exports2, module2) {
"use strict";
module2.exports = (input) => {
const isExtendedLengthPath = /^\\\\\?\\/.test(input);
const hasNonAscii = /[^\u0000-\u0080]+/.test(input);
if (isExtendedLengthPath || hasNonAscii) {
return input;
}
return input.replace(/\\/g, "/");
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/path.js
var require_path3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/path.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.relative = exports2.resolve = exports2.dirname = exports2.join = void 0;
var slash_1 = __importDefault2(require_slash());
var path_1 = __importDefault2(__require("path"));
var join5 = (...args) => (0, slash_1.default)(path_1.default.join(...args));
exports2.join = join5;
var path_2 = __require("path");
Object.defineProperty(exports2, "dirname", { enumerable: true, get: function() {
return path_2.dirname;
} });
var resolve4 = (...args) => (0, slash_1.default)(path_1.default.resolve(...args));
exports2.resolve = resolve4;
var relative2 = (...args) => (0, slash_1.default)(path_1.default.relative(...args));
exports2.relative = relative2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/klaw-sync/6.0.0/75e2f18cf9655975cd06931c2b639620e1b93111100fc230c73a85e373a49683/node_modules/klaw-sync/klaw-sync.js
var require_klaw_sync = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/klaw-sync/6.0.0/75e2f18cf9655975cd06931c2b639620e1b93111100fc230c73a85e373a49683/node_modules/klaw-sync/klaw-sync.js"(exports2, module2) {
"use strict";
var fs126 = require_graceful_fs();
var path236 = __require("path");
function klawSync(dir, opts3, ls) {
if (!ls) {
ls = [];
dir = path236.resolve(dir);
opts3 = opts3 || {};
opts3.fs = opts3.fs || fs126;
if (opts3.depthLimit > -1) opts3.rootDepth = dir.split(path236.sep).length + 1;
}
const paths3 = opts3.fs.readdirSync(dir).map((p) => dir + path236.sep + p);
for (var i4 = 0; i4 < paths3.length; i4 += 1) {
const pi = paths3[i4];
const st = opts3.fs.statSync(pi);
const item = { path: pi, stats: st };
const isUnderDepthLimit = !opts3.rootDepth || pi.split(path236.sep).length - opts3.rootDepth < opts3.depthLimit;
const filterResult = opts3.filter ? opts3.filter(item) : true;
const isDir = st.isDirectory();
const shouldAdd = filterResult && (isDir ? !opts3.nodir : !opts3.nofile);
const shouldTraverse = isDir && isUnderDepthLimit && (opts3.traverseAll || filterResult);
if (shouldAdd) ls.push(item);
if (shouldTraverse) ls = klawSync(pi, opts3, ls);
}
return ls;
}
module2.exports = klawSync;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patchFs.js
var require_patchFs2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patchFs.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getPatchFiles = void 0;
var path_1 = require_path3();
var klaw_sync_1 = __importDefault2(require_klaw_sync());
var getPatchFiles = (patchesDir) => {
try {
return (0, klaw_sync_1.default)(patchesDir, { nodir: true }).map(({ path: path236 }) => (0, path_1.relative)(patchesDir, path236)).filter((path236) => path236.endsWith(".patch"));
} catch (e) {
return [];
}
};
exports2.getPatchFiles = getPatchFiles;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/assertNever.js
var require_assertNever = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/assertNever.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.assertNever = void 0;
function assertNever2(x3) {
throw new Error("Unexpected object: " + x3);
}
exports2.assertNever = assertNever2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/apply.js
var require_apply = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/apply.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.executeEffects = void 0;
var fs_extra_1 = __importDefault2(require_lib23());
var path_1 = __require("path");
var assertNever_1 = require_assertNever();
var executeEffects = (effects, { dryRun }) => {
effects.forEach((eff) => {
switch (eff.type) {
case "file deletion":
if (dryRun) {
if (!fs_extra_1.default.existsSync(eff.path)) {
throw new Error("Trying to delete file that doesn't exist: " + eff.path);
}
} else {
fs_extra_1.default.unlinkSync(eff.path);
}
break;
case "rename":
if (dryRun) {
if (!fs_extra_1.default.existsSync(eff.fromPath)) {
throw new Error("Trying to move file that doesn't exist: " + eff.fromPath);
}
} else {
fs_extra_1.default.moveSync(eff.fromPath, eff.toPath);
}
break;
case "file creation":
if (dryRun) {
if (fs_extra_1.default.existsSync(eff.path)) {
throw new Error("Trying to create file that already exists: " + eff.path);
}
} else {
const fileContents = eff.hunk ? eff.hunk.parts[0].lines.join("\n") + (eff.hunk.parts[0].noNewlineAtEndOfFile ? "" : "\n") : "";
fs_extra_1.default.ensureDirSync((0, path_1.dirname)(eff.path));
fs_extra_1.default.writeFileSync(eff.path, fileContents, { mode: eff.mode });
}
break;
case "patch":
applyPatch3(eff, { dryRun });
break;
case "mode change":
const currentMode = fs_extra_1.default.statSync(eff.path).mode;
if ((isExecutable(eff.newMode) && isExecutable(currentMode) || !isExecutable(eff.newMode) && !isExecutable(currentMode)) && dryRun) {
console.warn(`Mode change is not required for file ${eff.path}`);
}
fs_extra_1.default.chmodSync(eff.path, eff.newMode);
break;
default:
(0, assertNever_1.assertNever)(eff);
}
});
};
exports2.executeEffects = executeEffects;
function isExecutable(fileMode) {
return (fileMode & 64) > 0;
}
var trimRight = (s) => s.replace(/\s+$/, "");
function linesAreEqual(a2, b) {
return trimRight(a2) === trimRight(b);
}
function applyPatch3({ hunks, path: path236 }, { dryRun }) {
const fileContents = fs_extra_1.default.readFileSync(path236).toString();
const mode = fs_extra_1.default.statSync(path236).mode;
const fileLines = fileContents.split(/\n/);
const result2 = [];
for (const hunk of hunks) {
let fuzzingOffset = 0;
while (true) {
const modifications = evaluateHunk(hunk, fileLines, fuzzingOffset);
if (modifications) {
result2.push(modifications);
break;
}
fuzzingOffset = fuzzingOffset < 0 ? fuzzingOffset * -1 : fuzzingOffset * -1 - 1;
if (Math.abs(fuzzingOffset) > 20) {
throw new Error(`Cant apply hunk ${hunks.indexOf(hunk)} for file ${path236}`);
}
}
}
if (dryRun) {
return;
}
let diffOffset = 0;
for (const modifications of result2) {
for (const modification of modifications) {
switch (modification.type) {
case "splice":
fileLines.splice(modification.index + diffOffset, modification.numToDelete, ...modification.linesToInsert);
diffOffset += modification.linesToInsert.length - modification.numToDelete;
break;
case "pop":
fileLines.pop();
break;
case "push":
fileLines.push(modification.line);
break;
default:
(0, assertNever_1.assertNever)(modification);
}
}
}
fs_extra_1.default.writeFileSync(path236, fileLines.join("\n"), { mode });
}
function evaluateHunk(hunk, fileLines, fuzzingOffset) {
const result2 = [];
let contextIndex = hunk.header.original.start - 1 + fuzzingOffset;
if (contextIndex < 0) {
return null;
}
if (fileLines.length - contextIndex < hunk.header.original.length) {
return null;
}
for (const part of hunk.parts) {
switch (part.type) {
case "deletion":
case "context":
for (const line of part.lines) {
const originalLine = fileLines[contextIndex];
if (!linesAreEqual(originalLine, line)) {
return null;
}
contextIndex++;
}
if (part.type === "deletion") {
result2.push({
type: "splice",
index: contextIndex - part.lines.length,
numToDelete: part.lines.length,
linesToInsert: []
});
if (part.noNewlineAtEndOfFile) {
result2.push({
type: "push",
line: ""
});
}
}
break;
case "insertion":
result2.push({
type: "splice",
index: contextIndex,
numToDelete: 0,
linesToInsert: part.lines
});
if (part.noNewlineAtEndOfFile) {
result2.push({ type: "pop" });
}
break;
default:
(0, assertNever_1.assertNever)(part.type);
}
}
return result2;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/PackageDetails.js
var require_PackageDetails = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/PackageDetails.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getPatchDetailsFromCliString = exports2.getPackageDetailsFromPatchFilename = void 0;
var path_1 = require_path3();
function parseNameAndVersion(s) {
const parts = s.split("+");
switch (parts.length) {
case 1: {
return { name: parts[0] };
}
case 2: {
const [nameOrScope, versionOrName] = parts;
if (versionOrName.match(/^\d+/)) {
return {
name: nameOrScope,
version: versionOrName
};
}
return { name: `${nameOrScope}/${versionOrName}` };
}
case 3: {
const [scope, name, version2] = parts;
return { name: `${scope}/${name}`, version: version2 };
}
}
return null;
}
function getPackageDetailsFromPatchFilename(patchFilename) {
const legacyMatch = patchFilename.match(/^([^+=]+?)(:|\+)(\d+\.\d+\.\d+.*?)(\.dev)?\.patch$/);
if (legacyMatch) {
const name = legacyMatch[1];
const version2 = legacyMatch[3];
return {
packageNames: [name],
pathSpecifier: name,
humanReadablePathSpecifier: name,
path: (0, path_1.join)("node_modules", name),
name,
version: version2,
isNested: false,
patchFilename,
isDevOnly: patchFilename.endsWith(".dev.patch")
};
}
const parts = patchFilename.replace(/(\.dev)?\.patch$/, "").split("++").map(parseNameAndVersion).filter((x3) => x3 !== null);
if (parts.length === 0) {
return null;
}
const lastPart = parts[parts.length - 1];
if (!lastPart.version) {
return null;
}
return {
name: lastPart.name,
version: lastPart.version,
path: (0, path_1.join)("node_modules", parts.map(({ name }) => name).join("/node_modules/")),
patchFilename,
pathSpecifier: parts.map(({ name }) => name).join("/"),
humanReadablePathSpecifier: parts.map(({ name }) => name).join(" => "),
isNested: parts.length > 1,
packageNames: parts.map(({ name }) => name),
isDevOnly: patchFilename.endsWith(".dev.patch")
};
}
exports2.getPackageDetailsFromPatchFilename = getPackageDetailsFromPatchFilename;
function getPatchDetailsFromCliString(specifier) {
const parts = specifier.split("/");
const packageNames = [];
let scope = null;
for (let i4 = 0; i4 < parts.length; i4++) {
if (parts[i4].startsWith("@")) {
if (scope) {
return null;
}
scope = parts[i4];
} else {
if (scope) {
packageNames.push(`${scope}/${parts[i4]}`);
scope = null;
} else {
packageNames.push(parts[i4]);
}
}
}
const path236 = (0, path_1.join)("node_modules", packageNames.join("/node_modules/"));
return {
packageNames,
path: path236,
name: packageNames[packageNames.length - 1],
humanReadablePathSpecifier: packageNames.join(" => "),
isNested: packageNames.length > 1,
pathSpecifier: specifier
};
}
exports2.getPatchDetailsFromCliString = getPatchDetailsFromCliString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/parse.js
var require_parse9 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/parse.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.verifyHunkIntegrity = exports2.parsePatchFile = exports2.interpretParsedPatchFile = exports2.EXECUTABLE_FILE_MODE = exports2.NON_EXECUTABLE_FILE_MODE = exports2.parseHunkHeaderLine = void 0;
var assertNever_1 = require_assertNever();
var parseHunkHeaderLine = (headerLine) => {
const match = headerLine.trim().match(/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/);
if (!match) {
throw new Error(`Bad header line: '${headerLine}'`);
}
return {
original: {
start: Math.max(Number(match[1]), 1),
length: Number(match[3] || 1)
},
patched: {
start: Math.max(Number(match[4]), 1),
length: Number(match[6] || 1)
}
};
};
exports2.parseHunkHeaderLine = parseHunkHeaderLine;
exports2.NON_EXECUTABLE_FILE_MODE = 420;
exports2.EXECUTABLE_FILE_MODE = 493;
var emptyFilePatch = () => ({
diffLineFromPath: null,
diffLineToPath: null,
oldMode: null,
newMode: null,
deletedFileMode: null,
newFileMode: null,
renameFrom: null,
renameTo: null,
beforeHash: null,
afterHash: null,
fromPath: null,
toPath: null,
hunks: null
});
var emptyHunk = (headerLine) => ({
header: (0, exports2.parseHunkHeaderLine)(headerLine),
parts: []
});
var hunkLinetypes = {
"@": "header",
"-": "deletion",
"+": "insertion",
" ": "context",
"\\": "pragma",
// Treat blank lines as context
undefined: "context",
"\r": "context"
};
function parsePatchLines(lines, { supportLegacyDiffs }) {
const result2 = [];
let currentFilePatch = emptyFilePatch();
let state = "parsing header";
let currentHunk = null;
let currentHunkMutationPart = null;
function commitHunk() {
if (currentHunk) {
if (currentHunkMutationPart) {
currentHunk.parts.push(currentHunkMutationPart);
currentHunkMutationPart = null;
}
currentFilePatch.hunks.push(currentHunk);
currentHunk = null;
}
}
function commitFilePatch() {
commitHunk();
result2.push(currentFilePatch);
currentFilePatch = emptyFilePatch();
}
for (let i4 = 0; i4 < lines.length; i4++) {
const line = lines[i4];
if (state === "parsing header") {
if (line.startsWith("@@")) {
state = "parsing hunks";
currentFilePatch.hunks = [];
i4--;
} else if (line.startsWith("diff --git ")) {
if (currentFilePatch && currentFilePatch.diffLineFromPath) {
commitFilePatch();
}
const match = line.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);
if (!match) {
throw new Error("Bad diff line: " + line);
}
currentFilePatch.diffLineFromPath = match[1];
currentFilePatch.diffLineToPath = match[2];
} else if (line.startsWith("old mode ")) {
currentFilePatch.oldMode = line.slice("old mode ".length).trim();
} else if (line.startsWith("new mode ")) {
currentFilePatch.newMode = line.slice("new mode ".length).trim();
} else if (line.startsWith("deleted file mode ")) {
currentFilePatch.deletedFileMode = line.slice("deleted file mode ".length).trim();
} else if (line.startsWith("new file mode ")) {
currentFilePatch.newFileMode = line.slice("new file mode ".length).trim();
} else if (line.startsWith("rename from ")) {
currentFilePatch.renameFrom = line.slice("rename from ".length).trim();
} else if (line.startsWith("rename to ")) {
currentFilePatch.renameTo = line.slice("rename to ".length).trim();
} else if (line.startsWith("index ")) {
const match = line.match(/(\w+)\.\.(\w+)/);
if (!match) {
continue;
}
currentFilePatch.beforeHash = match[1];
currentFilePatch.afterHash = match[2];
} else if (line.startsWith("--- ")) {
currentFilePatch.fromPath = line.slice("--- a/".length).trim();
} else if (line.startsWith("+++ ")) {
currentFilePatch.toPath = line.slice("+++ b/".length).trim();
}
} else {
if (supportLegacyDiffs && line.startsWith("--- a/")) {
state = "parsing header";
commitFilePatch();
i4--;
continue;
}
const lineType = hunkLinetypes[line[0]] || null;
switch (lineType) {
case "header":
commitHunk();
currentHunk = emptyHunk(line);
break;
case null:
state = "parsing header";
commitFilePatch();
i4--;
break;
case "pragma":
if (!line.startsWith("\\ No newline at end of file")) {
throw new Error("Unrecognized pragma in patch file: " + line);
}
if (!currentHunkMutationPart) {
throw new Error("Bad parser state: No newline at EOF pragma encountered without context");
}
currentHunkMutationPart.noNewlineAtEndOfFile = true;
break;
case "insertion":
case "deletion":
case "context":
if (!currentHunk) {
throw new Error("Bad parser state: Hunk lines encountered before hunk header");
}
if (currentHunkMutationPart && currentHunkMutationPart.type !== lineType) {
currentHunk.parts.push(currentHunkMutationPart);
currentHunkMutationPart = null;
}
if (!currentHunkMutationPart) {
currentHunkMutationPart = {
type: lineType,
lines: [],
noNewlineAtEndOfFile: false
};
}
currentHunkMutationPart.lines.push(line.slice(1));
break;
default:
(0, assertNever_1.assertNever)(lineType);
}
}
}
commitFilePatch();
for (const { hunks } of result2) {
if (hunks) {
for (const hunk of hunks) {
verifyHunkIntegrity(hunk);
}
}
}
return result2;
}
function interpretParsedPatchFile(files) {
const result2 = [];
for (const file of files) {
const { diffLineFromPath, diffLineToPath, oldMode, newMode, deletedFileMode, newFileMode, renameFrom, renameTo, beforeHash, afterHash, fromPath, toPath: toPath3, hunks } = file;
const type4 = renameFrom ? "rename" : deletedFileMode ? "file deletion" : newFileMode ? "file creation" : hunks && hunks.length > 0 ? "patch" : "mode change";
let destinationFilePath = null;
switch (type4) {
case "rename":
if (!renameFrom || !renameTo) {
throw new Error("Bad parser state: rename from & to not given");
}
result2.push({
type: "rename",
fromPath: renameFrom,
toPath: renameTo
});
destinationFilePath = renameTo;
break;
case "file deletion": {
const path236 = diffLineFromPath || fromPath;
if (!path236) {
throw new Error("Bad parse state: no path given for file deletion");
}
result2.push({
type: "file deletion",
hunk: hunks && hunks[0] || null,
path: path236,
mode: parseFileMode(deletedFileMode),
hash: beforeHash
});
break;
}
case "file creation": {
const path236 = diffLineToPath || toPath3;
if (!path236) {
throw new Error("Bad parse state: no path given for file creation");
}
result2.push({
type: "file creation",
hunk: hunks && hunks[0] || null,
path: path236,
mode: parseFileMode(newFileMode),
hash: afterHash
});
break;
}
case "patch":
case "mode change":
destinationFilePath = toPath3 || diffLineToPath;
break;
default:
(0, assertNever_1.assertNever)(type4);
}
if (destinationFilePath && oldMode && newMode && oldMode !== newMode) {
result2.push({
type: "mode change",
path: destinationFilePath,
oldMode: parseFileMode(oldMode),
newMode: parseFileMode(newMode)
});
}
if (destinationFilePath && hunks && hunks.length) {
result2.push({
type: "patch",
path: destinationFilePath,
hunks,
beforeHash,
afterHash
});
}
}
return result2;
}
exports2.interpretParsedPatchFile = interpretParsedPatchFile;
function parseFileMode(mode) {
const parsedMode = parseInt(mode, 8) & 511;
if (parsedMode !== exports2.NON_EXECUTABLE_FILE_MODE && parsedMode !== exports2.EXECUTABLE_FILE_MODE) {
throw new Error("Unexpected file mode string: " + mode);
}
return parsedMode;
}
function parsePatchFile2(file) {
const lines = file.split(/\n/g);
if (lines[lines.length - 1] === "") {
lines.pop();
}
try {
return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: false }));
} catch (e) {
if (e instanceof Error && e.message === "hunk header integrity check failed") {
return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: true }));
}
throw e;
}
}
exports2.parsePatchFile = parsePatchFile2;
function verifyHunkIntegrity(hunk) {
let originalLength = 0;
let patchedLength = 0;
for (const { type: type4, lines } of hunk.parts) {
switch (type4) {
case "context":
patchedLength += lines.length;
originalLength += lines.length;
break;
case "deletion":
originalLength += lines.length;
break;
case "insertion":
patchedLength += lines.length;
break;
default:
(0, assertNever_1.assertNever)(type4);
}
}
if (originalLength !== hunk.header.original.length || patchedLength !== hunk.header.patched.length) {
throw new Error("hunk header integrity check failed");
}
}
exports2.verifyHunkIntegrity = verifyHunkIntegrity;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/reverse.js
var require_reverse = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/reverse.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.reversePatch = void 0;
var parse_1 = require_parse9();
var assertNever_1 = require_assertNever();
function reverseHunk(hunk) {
const header = {
original: hunk.header.patched,
patched: hunk.header.original
};
const parts = [];
for (const part of hunk.parts) {
switch (part.type) {
case "context":
parts.push(part);
break;
case "deletion":
parts.push({
type: "insertion",
lines: part.lines,
noNewlineAtEndOfFile: part.noNewlineAtEndOfFile
});
break;
case "insertion":
parts.push({
type: "deletion",
lines: part.lines,
noNewlineAtEndOfFile: part.noNewlineAtEndOfFile
});
break;
default:
(0, assertNever_1.assertNever)(part.type);
}
}
for (let i4 = 0; i4 < parts.length - 1; i4++) {
if (parts[i4].type === "insertion" && parts[i4 + 1].type === "deletion") {
const tmp = parts[i4];
parts[i4] = parts[i4 + 1];
parts[i4 + 1] = tmp;
i4 += 1;
}
}
const result2 = {
header,
parts
};
(0, parse_1.verifyHunkIntegrity)(result2);
return result2;
}
function reversePatchPart(part) {
switch (part.type) {
case "file creation":
return {
type: "file deletion",
path: part.path,
hash: part.hash,
hunk: part.hunk && reverseHunk(part.hunk),
mode: part.mode
};
case "file deletion":
return {
type: "file creation",
path: part.path,
hunk: part.hunk && reverseHunk(part.hunk),
mode: part.mode,
hash: part.hash
};
case "rename":
return {
type: "rename",
fromPath: part.toPath,
toPath: part.fromPath
};
case "patch":
return {
type: "patch",
path: part.path,
hunks: part.hunks.map(reverseHunk),
beforeHash: part.afterHash,
afterHash: part.beforeHash
};
case "mode change":
return {
type: "mode change",
path: part.path,
newMode: part.oldMode,
oldMode: part.newMode
};
}
}
var reversePatch = (patch) => {
return patch.map(reversePatchPart).reverse();
};
exports2.reversePatch = reversePatch;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/read.js
var require_read = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/patch/read.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.readPatch = void 0;
var chalk_1 = __importDefault2(require_source2());
var fs_extra_1 = require_lib23();
var path_1 = require_path3();
var path_2 = __require("path");
var parse_1 = require_parse9();
function readPatch({ patchFilePath, packageDetails, patchDir }) {
try {
return (0, parse_1.parsePatchFile)((0, fs_extra_1.readFileSync)(patchFilePath).toString());
} catch (e) {
if (packageDetails == null || patchDir == null) {
throw e;
}
const fixupSteps = [];
const relativePatchFilePath = (0, path_2.normalize)((0, path_1.relative)(process.cwd(), patchFilePath));
const patchBaseDir = relativePatchFilePath.slice(0, relativePatchFilePath.indexOf(patchDir));
if (patchBaseDir) {
fixupSteps.push(`cd ${patchBaseDir}`);
}
fixupSteps.push(`patch -p1 -i ${relativePatchFilePath.slice(relativePatchFilePath.indexOf(patchDir))}`);
fixupSteps.push(`npx patch-package ${packageDetails.pathSpecifier}`);
if (patchBaseDir) {
fixupSteps.push(`cd ${(0, path_1.relative)((0, path_1.resolve)(process.cwd(), patchBaseDir), process.cwd())}`);
}
console.error(`
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageDetails.humanReadablePathSpecifier)}`)}
This happened because the patch file ${relativePatchFilePath} could not be parsed.
If you just upgraded patch-package, you can try running:
${fixupSteps.join("\n ")}
Otherwise, try manually creating the patch file again.
If the problem persists, please submit a bug report:
https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E
`);
process.exit(1);
}
return [];
}
exports2.readPatch = readPatch;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js
var require_packageIsDevDependency = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.packageIsDevDependency = void 0;
var path_1 = require_path3();
var fs_1 = __require("fs");
function packageIsDevDependency({ appPath, packageDetails }) {
const packageJsonPath = (0, path_1.join)(appPath, "package.json");
if (!(0, fs_1.existsSync)(packageJsonPath)) {
return false;
}
const { devDependencies } = __require(packageJsonPath);
return Boolean(devDependencies && devDependencies[packageDetails.packageNames[0]]);
}
exports2.packageIsDevDependency = packageIsDevDependency;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/applyPatches.js
var require_applyPatches = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/patch-package/0.0.1/7b18d17b201992ef639f32b8b43d184328c986b6d3028ec4f76735c50de1441a/node_modules/@pnpm/patch-package/dist/applyPatches.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.applyPatch = exports2.applyPatchesForApp = void 0;
var chalk_1 = __importDefault2(require_source2());
var patchFs_1 = require_patchFs2();
var apply_1 = require_apply();
var fs_extra_1 = require_lib23();
var path_1 = require_path3();
var path_2 = __require("path");
var PackageDetails_1 = require_PackageDetails();
var reverse_1 = require_reverse();
var semver_12 = __importDefault2(require_semver2());
var read_1 = require_read();
var packageIsDevDependency_1 = require_packageIsDevDependency();
var PatchApplicationError = class extends Error {
constructor(msg) {
super(msg);
}
};
function findPatchFiles(patchesDirectory) {
if (!(0, fs_extra_1.existsSync)(patchesDirectory)) {
return [];
}
return (0, patchFs_1.getPatchFiles)(patchesDirectory);
}
function getInstalledPackageVersion({ appPath, path: path236, pathSpecifier, isDevOnly, patchFilename }) {
const packageDir = (0, path_1.join)(appPath, path236);
if (!(0, fs_extra_1.existsSync)(packageDir)) {
if (process.env.NODE_ENV === "production" && isDevOnly) {
return null;
}
let err2 = `${chalk_1.default.red("Error:")} Patch file found for package ${path_2.posix.basename(pathSpecifier)} which is not present at ${(0, path_1.relative)(".", packageDir)}`;
if (!isDevOnly && process.env.NODE_ENV === "production") {
err2 += `
If this package is a dev dependency, rename the patch file to
${chalk_1.default.bold(patchFilename.replace(".patch", ".dev.patch"))}
`;
}
throw new PatchApplicationError(err2);
}
const { version: version2 } = __require((0, path_1.join)(packageDir, "package.json"));
const result2 = semver_12.default.valid(version2);
if (result2 === null) {
throw new PatchApplicationError(`${chalk_1.default.red("Error:")} Version string '${version2}' cannot be parsed from ${(0, path_1.join)(packageDir, "package.json")}`);
}
return result2;
}
function applyPatchesForApp({ appPath, reverse: reverse3, patchDir, shouldExitWithError, shouldExitWithWarning }) {
const patchesDirectory = (0, path_1.join)(appPath, patchDir);
const files = findPatchFiles(patchesDirectory);
if (files.length === 0) {
console.error(chalk_1.default.blueBright("No patch files found"));
return;
}
const errors2 = [];
const warnings = [];
for (const filename of files) {
try {
const packageDetails = (0, PackageDetails_1.getPackageDetailsFromPatchFilename)(filename);
if (!packageDetails) {
warnings.push(`Unrecognized patch file in patches directory ${filename}`);
continue;
}
const { name, version: version2, path: path236, pathSpecifier, isDevOnly, patchFilename } = packageDetails;
const installedPackageVersion = getInstalledPackageVersion({
appPath,
path: path236,
pathSpecifier,
isDevOnly: isDevOnly || // check for direct-dependents in prod
process.env.NODE_ENV === "production" && (0, packageIsDevDependency_1.packageIsDevDependency)({ appPath, packageDetails }),
patchFilename
});
if (!installedPackageVersion) {
console.log(`Skipping dev-only ${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.blue("\u2714")}`);
continue;
}
if (applyPatch3({
patchFilePath: (0, path_1.resolve)(patchesDirectory, filename),
reverse: reverse3,
packageDetails,
patchDir
})) {
if (installedPackageVersion !== version2) {
warnings.push(createVersionMismatchWarning({
packageName: name,
actualVersion: installedPackageVersion,
originalVersion: version2,
pathSpecifier,
path: path236
}));
}
console.log(`${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.green("\u2714")}`);
} else if (installedPackageVersion === version2) {
errors2.push(createBrokenPatchFileError({
packageName: name,
patchFileName: filename,
pathSpecifier,
path: path236
}));
} else {
errors2.push(createPatchApplictionFailureError({
packageName: name,
actualVersion: installedPackageVersion,
originalVersion: version2,
patchFileName: filename,
path: path236,
pathSpecifier
}));
}
} catch (error) {
if (error instanceof PatchApplicationError) {
errors2.push(error.message);
} else {
errors2.push(createUnexpectedError({ filename, error }));
}
}
}
for (const warning of warnings) {
console.warn(warning);
}
for (const error of errors2) {
console.error(error);
}
const problemsSummary = [];
if (warnings.length) {
problemsSummary.push(chalk_1.default.yellow(`${warnings.length} warning(s)`));
}
if (errors2.length) {
problemsSummary.push(chalk_1.default.red(`${errors2.length} error(s)`));
}
if (problemsSummary.length) {
console.error("---");
console.error("patch-package finished with", problemsSummary.join(", ") + ".");
}
if (errors2.length && shouldExitWithError) {
process.exit(1);
}
if (warnings.length && shouldExitWithWarning) {
process.exit(1);
}
process.exit(0);
}
exports2.applyPatchesForApp = applyPatchesForApp;
function applyPatch3({ patchFilePath, reverse: reverse3, packageDetails, patchDir }) {
const patch = (0, read_1.readPatch)({ patchFilePath, packageDetails, patchDir });
try {
(0, apply_1.executeEffects)(reverse3 ? (0, reverse_1.reversePatch)(patch) : patch, { dryRun: false });
} catch (e) {
try {
(0, apply_1.executeEffects)(reverse3 ? patch : (0, reverse_1.reversePatch)(patch), { dryRun: true });
} catch (e2) {
return false;
}
}
return true;
}
exports2.applyPatch = applyPatch3;
function createVersionMismatchWarning({ packageName, actualVersion, originalVersion, pathSpecifier, path: path236 }) {
return `
${chalk_1.default.yellow("Warning:")} patch-package detected a patch file version mismatch
Don't worry! This is probably fine. The patch was still applied
successfully. Here's the deets:
Patch file created for
${packageName}@${chalk_1.default.bold(originalVersion)}
applied to
${packageName}@${chalk_1.default.bold(actualVersion)}
At path
${path236}
This warning is just to give you a heads-up. There is a small chance of
breakage even though the patch was applied successfully. Make sure the package
still behaves like you expect (you wrote tests, right?) and then run
${chalk_1.default.bold(`patch-package ${pathSpecifier}`)}
to update the version in the patch file name and make this warning go away.
`;
}
function createBrokenPatchFileError({ packageName, patchFileName, path: path236, pathSpecifier }) {
return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)}
${path236}
This error was caused because patch-package cannot apply the following patch file:
patches/${patchFileName}
Try removing node_modules and trying again. If that doesn't work, maybe there was
an accidental change made to the patch file? Try recreating it by manually
editing the appropriate files and running:
patch-package ${pathSpecifier}
If that doesn't work, then it's a bug in patch-package, so please submit a bug
report. Thanks!
https://github.com/ds300/patch-package/issues
`;
}
function createPatchApplictionFailureError({ packageName, actualVersion, originalVersion, patchFileName, path: path236, pathSpecifier }) {
return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)}
${path236}
This error was caused because ${chalk_1.default.bold(packageName)} has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package ${pathSpecifier}
Info:
Patch file: patches/${patchFileName}
Patch was made for version: ${chalk_1.default.green.bold(originalVersion)}
Installed version: ${chalk_1.default.red.bold(actualVersion)}
`;
}
function createUnexpectedError({ filename, error }) {
return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch file ${chalk_1.default.bold(filename)}`)}
${error.stack}
`;
}
}
});
// ../patching/apply-patch/lib/index.js
import fs65 from "node:fs";
import path109 from "node:path";
import util36 from "node:util";
function applyPatchToDir(opts3) {
assertPatchPathsStayInside(opts3);
const cwd = process.cwd();
process.chdir(opts3.patchedDir);
let success = false;
try {
success = (0, import_applyPatches.applyPatch)({
patchFilePath: opts3.patchFilePath
});
} catch (err2) {
if (util36.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
throw new PnpmError("PATCH_NOT_FOUND", `Patch file not found: ${opts3.patchFilePath}`);
}
const message = util36.types.isNativeError(err2) ? err2.message : String(err2);
throw new PnpmError("INVALID_PATCH", `Applying patch "${opts3.patchFilePath}" failed: ${message}`);
} finally {
process.chdir(cwd);
}
if (!success) {
throw new PnpmError("PATCH_FAILED", `Could not apply patch ${opts3.patchFilePath} to ${opts3.patchedDir}`);
}
return success;
}
function assertPatchPathsStayInside(opts3) {
let patchContent;
try {
patchContent = fs65.readFileSync(opts3.patchFilePath, "utf8");
} catch (err2) {
if (util36.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
throw new PnpmError("PATCH_NOT_FOUND", `Patch file not found: ${opts3.patchFilePath}`);
}
throw err2;
}
let effects;
try {
effects = (0, import_parse4.parsePatchFile)(patchContent);
} catch {
return;
}
const root = path109.resolve(opts3.patchedDir);
const rootWithSep = root.endsWith(path109.sep) ? root : root + path109.sep;
for (const effect of effects) {
const candidates = effect.type === "rename" ? [effect.fromPath, effect.toPath] : [effect.path];
for (const candidate of candidates) {
if (!candidate)
continue;
if (path109.isAbsolute(candidate) || candidate.split(/[/\\]/).includes("..")) {
throw new PatchPathEscapesError(opts3, candidate);
}
const resolved = path109.resolve(root, candidate);
if (resolved !== root && !resolved.startsWith(rootWithSep)) {
throw new PatchPathEscapesError(opts3, candidate);
}
}
}
}
var import_applyPatches, import_parse4, PatchPathEscapesError;
var init_lib112 = __esm({
"../patching/apply-patch/lib/index.js"() {
"use strict";
init_lib2();
import_applyPatches = __toESM(require_applyPatches(), 1);
import_parse4 = __toESM(require_parse9(), 1);
PatchPathEscapesError = class extends PnpmError {
constructor(opts3, badPath) {
super("PATCH_FAILED", `Could not apply patch ${opts3.patchFilePath} to ${opts3.patchedDir}: patch path escapes target dir: ${badPath}`);
}
};
}
});
// ../building/during-install/lib/buildSequence.js
function buildSequence(depGraph, rootDepPaths) {
const nodesToBuild = /* @__PURE__ */ new Set();
getSubgraphToBuild2(depGraph, rootDepPaths, nodesToBuild, /* @__PURE__ */ new Set());
const onlyFromBuildGraph = filter_default((depPath) => nodesToBuild.has(depPath));
const nodesToBuildArray = Array.from(nodesToBuild);
const graph = new Map(nodesToBuildArray.map((depPath) => [depPath, onlyFromBuildGraph(Object.values(depGraph[depPath].children))]));
const graphSequencerResult = graphSequencer(graph, nodesToBuildArray);
const chunks = graphSequencerResult.chunks;
return chunks;
}
function getSubgraphToBuild2(graph, entryNodes, nodesToBuild, walked) {
let currentShouldBeBuilt = false;
for (const depPath of entryNodes) {
const node = graph[depPath];
if (!node)
continue;
if (walked.has(depPath))
continue;
walked.add(depPath);
const childShouldBeBuilt = getSubgraphToBuild2(graph, Object.values(node.children), nodesToBuild, walked) || node.requiresBuild || node.patch != null;
if (childShouldBeBuilt) {
nodesToBuild.add(depPath);
currentShouldBeBuilt = true;
}
}
return currentShouldBeBuilt;
}
var init_buildSequence = __esm({
"../building/during-install/lib/buildSequence.js"() {
"use strict";
init_lib75();
init_es();
}
});
// ../building/during-install/lib/index.js
import assert9 from "node:assert";
import fs66 from "node:fs/promises";
import path110 from "node:path";
import util37 from "node:util";
async function buildModules(depGraph, rootDepPaths, opts3) {
if (!rootDepPaths.length)
return {};
const warn = (message) => {
logger.warn({ message, prefix: opts3.lockfileDir });
};
const nodeVersion = findRuntimeNodeVersion(Object.keys(depGraph));
const buildDepOpts = {
...opts3,
builtHoistedDeps: opts3.hoistedLocations ? {} : void 0,
nodeVersion,
warn
};
const chunks = buildSequence(depGraph, rootDepPaths);
if (!chunks.length)
return {};
const ignoredBuilds = /* @__PURE__ */ new Set();
const allowBuild = opts3.allowBuild ?? (() => void 0);
const frozenStoreBlocked = opts3.frozenStore && opts3.enableGlobalVirtualStore ? /* @__PURE__ */ new Set() : void 0;
const groups = chunks.map((chunk) => {
chunk = chunk.filter((depPath) => {
const node = depGraph[depPath];
return (node.requiresBuild || node.patch != null) && !node.isBuilt;
});
if (opts3.depsToBuild != null) {
chunk = chunk.filter((depPath) => opts3.depsToBuild.has(depPath));
}
if (frozenStoreBlocked != null) {
chunk = chunk.filter((depPath) => {
const node = depGraph[depPath];
const willPatch = node.patch != null;
const willRunScripts = !opts3.ignoreScripts && Boolean(node.requiresBuild) && allowBuild(node.depPath) === true;
if (!willPatch && !willRunScripts)
return true;
if (node.optional) {
skippedOptionalDependencyLogger.debug({
details: `The read-only store (frozenStore) is missing the build output of ${node.name}@${node.version}.`,
package: {
id: node.dir,
name: node.name,
version: node.version
},
prefix: opts3.lockfileDir,
reason: "build_failure"
});
return false;
}
frozenStoreBlocked.add(`${node.name}@${node.version}`);
return true;
});
}
return chunk.map((depPath) => () => {
let ignoreScripts = Boolean(buildDepOpts.ignoreScripts);
if (!ignoreScripts) {
const node = depGraph[depPath];
if (node.requiresBuild) {
const allowed = allowBuild(node.depPath);
switch (allowed) {
case false:
ignoreScripts = true;
break;
case void 0:
ignoredBuilds.add(node.depPath);
ignoreScripts = true;
break;
}
}
}
return buildDependency(depPath, depGraph, {
...buildDepOpts,
ignoreScripts
});
});
});
if (frozenStoreBlocked?.size) {
throwFrozenStoreNeedsBuild(frozenStoreBlocked);
}
const patchErrors = [];
const groupsWithPatchErrors = groups.map((group) => group.map((task) => async () => {
try {
await task();
} catch (err2) {
if (util37.types.isNativeError(err2) && "code" in err2 && err2.code === "ERR_PNPM_PATCH_FAILED") {
patchErrors.push(err2);
} else {
throw err2;
}
}
}));
await runGroups(getWorkspaceConcurrency(opts3.childConcurrency), groupsWithPatchErrors);
if (patchErrors.length > 0) {
throw patchErrors[0];
}
return { ignoredBuilds };
}
function throwFrozenStoreNeedsBuild(blocked) {
const list2 = Array.from(blocked).sort();
throw new PnpmError("FROZEN_STORE_NEEDS_BUILD", `Cannot build the following ${list2.length === 1 ? "package" : "packages"} because the store is read-only (frozenStore is enabled): ${list2.join(", ")}`, {
hint: "This read-only store was not seeded with these packages' build output. Rebuild the seed with their scripts enabled so the side-effects cache is populated, or remove them from onlyBuiltDependencies."
});
}
async function buildDependency(depPath, depGraph, opts3) {
const depNode = depGraph[depPath];
if (!depNode.filesIndexFile)
return;
if (opts3.builtHoistedDeps) {
if (opts3.builtHoistedDeps[depNode.depPath]) {
await opts3.builtHoistedDeps[depNode.depPath].promise;
return;
}
opts3.builtHoistedDeps[depNode.depPath] = pDefer();
}
let buildSucceeded = false;
try {
await linkBinsOfDependencies(depNode, depGraph, opts3);
let isPatched = false;
if (depNode.patch) {
if (!depNode.patch.patchFilePath) {
throw new PnpmError("PATCH_FILE_PATH_MISSING", `Cannot apply patch for ${depPath}: patch file path is missing`, { hint: "Ensure the package is listed in patchedDependencies configuration" });
}
isPatched = applyPatchToDir({ patchedDir: depNode.dir, patchFilePath: depNode.patch.patchFilePath });
}
const hasSideEffects = !opts3.ignoreScripts && await runPostinstallHooks({
depPath,
extraBinPaths: opts3.extraBinPaths,
extraEnv: opts3.extraEnv,
initCwd: opts3.lockfileDir,
optional: depNode.optional,
pkgRoot: depNode.dir,
rootModulesDir: opts3.rootModulesDir,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
unsafePerm: opts3.unsafePerm || false,
userAgent: opts3.userAgent
});
if (opts3.enableGlobalVirtualStore) {
await fs66.unlink(path110.join(depNode.dir, ".pnpm-needs-build")).catch(() => {
});
}
if ((isPatched || hasSideEffects) && opts3.sideEffectsCacheWrite && !opts3.frozenStore) {
try {
const sideEffectsCacheKey = calcDepState(depGraph, opts3.depsStateCache, depPath, {
patchFileHash: depNode.patch?.hash,
includeDepGraphHash: hasSideEffects,
nodeVersion: opts3.nodeVersion
});
await opts3.storeController.upload(depNode.dir, {
sideEffectsCacheKey,
filesIndexFile: depNode.filesIndexFile
});
} catch (err2) {
assert9(util37.types.isNativeError(err2));
logger.warn({
error: err2,
message: `An error occurred while uploading ${depNode.dir}`,
prefix: opts3.lockfileDir
});
}
}
buildSucceeded = true;
} catch (err2) {
assert9(util37.types.isNativeError(err2));
if (opts3.enableGlobalVirtualStore) {
const hashDir = path110.resolve(depNode.dir, "../..");
await fs66.rm(hashDir, { recursive: true, force: true });
}
if (depNode.optional) {
skippedOptionalDependencyLogger.debug({
details: err2.toString(),
package: {
id: depNode.dir,
name: depNode.name,
version: depNode.version
},
prefix: opts3.lockfileDir,
reason: "build_failure"
});
return;
}
throw err2;
} finally {
if (buildSucceeded) {
const hoistedLocationsOfDep = opts3.hoistedLocations?.[depNode.depPath];
if (hoistedLocationsOfDep) {
const currentHoistedLocation = path110.relative(opts3.lockfileDir, depNode.dir);
const nonBuiltHoistedDeps = hoistedLocationsOfDep?.filter((hoistedLocation) => hoistedLocation !== currentHoistedLocation);
await hardLinkDir(depNode.dir, nonBuiltHoistedDeps);
}
}
if (opts3.builtHoistedDeps) {
opts3.builtHoistedDeps[depNode.depPath].resolve();
}
}
}
async function linkBinsOfDependencies(depNode, depGraph, opts3) {
const childrenToLink = opts3.optional ? depNode.children : pickBy_default((child, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
const binPath = path110.join(depNode.dir, "node_modules/.bin");
const pkgNodes = [
...Object.entries(childrenToLink).map(([alias, childDepPath]) => ({ alias, dep: depGraph[childDepPath] })).filter(({ alias, dep }) => {
if (!dep) {
logger.debug({ message: `Failed to link bins of "${alias}" to "${binPath}". This is probably not an issue.` });
return false;
}
return dep.hasBin && dep.installable !== false;
}).map(({ dep }) => dep),
depNode
];
const pkgs = await Promise.all(pkgNodes.map(async (dep) => ({
location: dep.dir,
manifest: (await dep.fetching?.())?.bundledManifest ?? await safeReadPackageJsonFromDir(dep.dir) ?? {}
})));
await linkBinsOfPackages(pkgs, binPath, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
if (depNode.hasBundledDependencies) {
const bundledModules = path110.join(depNode.dir, "node_modules");
await linkBins(bundledModules, binPath, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn: opts3.warn
});
}
}
var init_lib113 = __esm({
"../building/during-install/lib/index.js"() {
"use strict";
init_lib16();
init_lib64();
init_lib6();
init_lib74();
init_lib2();
init_lib21();
init_lib3();
init_lib112();
init_lib5();
init_lib4();
init_p_defer();
init_es();
init_lib20();
init_buildSequence();
}
});
// ../deps/graph-builder/lib/iteratePkgsForVirtualStore.js
import path111 from "node:path";
function* iteratePkgsForVirtualStore(lockfile, opts3) {
const nodeVersion = findRuntimeNodeVersion(Object.keys(lockfile.packages ?? {}));
if (opts3.enableGlobalVirtualStore) {
for (const { hash: hash2, pkgMeta } of hashDependencyPaths(lockfile, {
allowBuild: opts3.allowBuild,
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion
})) {
yield {
dirInVirtualStore: path111.join(opts3.globalVirtualStoreDir, hash2),
pkgMeta
};
}
} else if (lockfile.packages) {
let graphNodeHashOpts;
for (const depPath in lockfile.packages) {
if (!Object.hasOwn(lockfile.packages, depPath)) {
continue;
}
const pkgSnapshot = lockfile.packages[depPath];
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const pkgMeta = {
depPath,
pkgIdWithPatchHash: getPkgIdWithPatchHash(depPath),
name,
version: version2,
pkgSnapshot
};
let dirInVirtualStore;
if (isRuntimeDepPath(depPath)) {
graphNodeHashOpts ??= {
cache: {},
graph: lockfileToDepGraph(lockfile, opts3.supportedArchitectures),
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion
};
const hash2 = calcGraphNodeHash(graphNodeHashOpts, pkgMeta);
dirInVirtualStore = path111.join(opts3.globalVirtualStoreDir, hash2);
} else {
dirInVirtualStore = path111.join(opts3.virtualStoreDir, depPathToFilename(depPath, opts3.virtualStoreDirMaxLength));
}
yield {
dirInVirtualStore,
pkgMeta
};
}
}
}
function hashDependencyPaths(lockfile, { allowBuild, supportedArchitectures, nodeVersion }) {
const graph = lockfileToDepGraph(lockfile, supportedArchitectures);
return iterateHashedGraphNodes(graph, iteratePkgMeta(lockfile, graph), allowBuild, supportedArchitectures, nodeVersion);
}
var init_iteratePkgsForVirtualStore = __esm({
"../deps/graph-builder/lib/iteratePkgsForVirtualStore.js"() {
"use strict";
init_lib74();
init_lib68();
init_lib73();
}
});
// ../deps/graph-builder/lib/lockfileToDepGraph.js
import fs67 from "node:fs";
import path112 from "node:path";
async function lockfileToDepGraph2(lockfile, currentLockfile, opts3) {
const { graph, locationByDepPath, injectionTargetsByDepPath } = await buildGraphFromPackages(lockfile, currentLockfile, opts3);
const _getChildrenPaths = getChildrenPaths.bind(null, {
force: opts3.force,
graph,
lockfileDir: opts3.lockfileDir,
registries: opts3.registries,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
skipped: opts3.skipped,
storeController: opts3.storeController,
storeDir: opts3.storeDir,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
locationByDepPath
});
for (const node of Object.values(graph)) {
const pkgSnapshot = lockfile.packages[node.depPath];
const allDeps = {
...pkgSnapshot.dependencies,
...opts3.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
};
const peerDeps = pkgSnapshot.peerDependencies ? new Set(Object.keys(pkgSnapshot.peerDependencies)) : null;
node.children = _getChildrenPaths(allDeps, peerDeps, ".");
}
const directDependenciesByImporterId = {};
for (const importerId of opts3.importerIds) {
const projectSnapshot = lockfile.importers[importerId];
const rootDeps = {
...opts3.include.devDependencies ? projectSnapshot.devDependencies : {},
...opts3.include.dependencies ? projectSnapshot.dependencies : {},
...opts3.include.optionalDependencies ? projectSnapshot.optionalDependencies : {}
};
directDependenciesByImporterId[importerId] = _getChildrenPaths(rootDeps, null, importerId);
}
return { graph, directDependenciesByImporterId, injectionTargetsByDepPath };
}
async function buildGraphFromPackages(lockfile, currentLockfile, opts3) {
const currentPackages = currentLockfile?.packages ?? {};
const graph = {};
const locationByDepPath = {};
const injectionTargetsByDepPath = /* @__PURE__ */ new Map();
const _getPatchInfo = getPatchInfo.bind(null, opts3.patchedDependencies);
const promises = [];
const pkgSnapshotsWithLocations = iteratePkgsForVirtualStore(lockfile, opts3);
for (const { dirInVirtualStore, pkgMeta } of pkgSnapshotsWithLocations) {
promises.push((async () => {
const { pkgIdWithPatchHash, name: pkgName, version: pkgVersion, depPath, pkgSnapshot } = pkgMeta;
if (opts3.skipped.has(depPath))
return;
const pkg = {
name: pkgName,
version: pkgVersion,
engines: pkgSnapshot.engines,
cpu: pkgSnapshot.cpu,
os: pkgSnapshot.os,
libc: pkgSnapshot.libc
};
const packageId = packageIdFromSnapshot(depPath, pkgSnapshot);
if (!opts3.force && packageIsInstallable(packageId, pkg, {
engineStrict: opts3.engineStrict,
lockfileDir: opts3.lockfileDir,
nodeVersion: opts3.nodeVersion,
optional: pkgSnapshot.optional === true,
supportedArchitectures: opts3.supportedArchitectures
}) === false) {
opts3.skipped.add(depPath);
return;
}
const isDirectoryDep = "directory" in pkgSnapshot.resolution && pkgSnapshot.resolution.directory != null;
if (isDirectoryDep && opts3.ignoreLocalPackages) {
logger.info({
message: `Skipping local dependency ${pkgName}@${pkgVersion} (file: protocol)`,
prefix: opts3.lockfileDir
});
return;
}
const depIsPresent = !isDirectoryDep && currentPackages[depPath] && equals_default(currentPackages[depPath].dependencies, pkgSnapshot.dependencies);
const depIntegrityIsUnchanged = isIntegrityEqual(pkgSnapshot.resolution, currentPackages[depPath]?.resolution);
const modules = path112.join(dirInVirtualStore, "node_modules");
const dir = safeJoinModulesDir(modules, pkgName);
locationByDepPath[depPath] = dir;
if (isDirectoryDep) {
injectionTargetsByDepPath.set(depPath, [dir]);
}
const mightNeedBuild = opts3.enableGlobalVirtualStore && opts3.allowBuild?.(depPath) === true;
let dirExists;
if (depIsPresent && depIntegrityIsUnchanged && isEmpty_default(currentPackages[depPath].optionalDependencies ?? {}) && isEmpty_default(pkgSnapshot.optionalDependencies ?? {}) && !opts3.includeUnchangedDeps) {
dirExists = await pathExists2(dir);
if (dirExists) {
if (!(mightNeedBuild && fs67.existsSync(path112.join(dir, ".pnpm-needs-build"))))
return;
} else {
brokenModulesLogger.debug({ missing: dir });
}
}
let fetchResponse;
if (depIsPresent && depIntegrityIsUnchanged && equals_default(currentPackages[depPath].optionalDependencies, pkgSnapshot.optionalDependencies)) {
if (dirExists ?? await pathExists2(dir)) {
if (!(mightNeedBuild && fs67.existsSync(path112.join(dir, ".pnpm-needs-build")))) {
fetchResponse = {};
}
} else {
brokenModulesLogger.debug({ missing: dir });
}
}
if (!fetchResponse && opts3.enableGlobalVirtualStore && !isDirectoryDep && !opts3.force) {
if (dirExists ?? await pathExists2(dir)) {
if (!(mightNeedBuild && fs67.existsSync(path112.join(dir, ".pnpm-needs-build")))) {
fetchResponse = {};
}
}
}
if (!fetchResponse) {
const resolution = pkgSnapshotToResolution(depPath, pkgSnapshot, opts3.registries);
progressLogger.debug({ packageId, requester: opts3.lockfileDir, status: "resolved" });
try {
fetchResponse = await opts3.storeController.fetchPackage({
allowBuild: opts3.allowBuild,
force: false,
lockfileDir: opts3.lockfileDir,
ignoreScripts: opts3.ignoreScripts,
pkg: { name: pkgName, version: pkgVersion, id: packageId, resolution },
supportedArchitectures: opts3.supportedArchitectures
});
} catch (err2) {
if (pkgSnapshot.optional)
return;
throw err2;
}
}
graph[dir] = {
children: {},
pkgIdWithPatchHash,
resolution: pkgSnapshot.resolution,
depPath,
dir,
fetching: fetchResponse.fetching,
filesIndexFile: fetchResponse.filesIndexFile,
forceImportPackage: !depIntegrityIsUnchanged,
hasBin: pkgSnapshot.hasBin === true,
hasBundledDependencies: pkgSnapshot.bundledDependencies != null,
modules,
name: pkgName,
version: pkgVersion,
optional: !!pkgSnapshot.optional,
optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})),
patch: _getPatchInfo(pkgName, pkgVersion)
};
})());
}
await Promise.all(promises);
return { graph, locationByDepPath, injectionTargetsByDepPath };
}
function getChildrenPaths(ctx, allDeps, peerDeps, importerId) {
const children = {};
for (const [alias, ref] of Object.entries(allDeps)) {
const childDepPath = refToRelative(ref, alias);
if (childDepPath === null) {
children[alias] = path112.resolve(ctx.lockfileDir, importerId, ref.slice(5));
continue;
}
const childRelDepPath = refToRelative(ref, alias);
if (ctx.locationByDepPath[childRelDepPath]) {
children[alias] = ctx.locationByDepPath[childRelDepPath];
} else if (ctx.graph[childRelDepPath]) {
children[alias] = ctx.graph[childRelDepPath].dir;
} else if (ref.startsWith("file:")) {
children[alias] = path112.resolve(ctx.lockfileDir, ref.slice(5));
} else if (!ctx.skipped.has(childRelDepPath) && (peerDeps == null || !peerDeps.has(alias))) {
throw new Error(`${childRelDepPath} not found in ${WANTED_LOCKFILE}`);
}
}
return children;
}
function isIntegrityEqual(resolutionA, resolutionB) {
const integrityA = resolutionA?.integrity;
const integrityB = resolutionB?.integrity;
return integrityA === integrityB;
}
var brokenModulesLogger;
var init_lockfileToDepGraph = __esm({
"../deps/graph-builder/lib/lockfileToDepGraph.js"() {
"use strict";
init_lib40();
init_lib();
init_lib6();
init_lib68();
init_lib106();
init_lib73();
init_lib3();
init_lib108();
init_path_exists();
init_es();
init_iteratePkgsForVirtualStore();
brokenModulesLogger = logger("_broken_node_modules");
}
});
// ../deps/graph-builder/lib/index.js
var init_lib114 = __esm({
"../deps/graph-builder/lib/index.js"() {
"use strict";
init_lockfileToDepGraph();
}
});
// ../installing/linking/direct-dep-linker/lib/linkDirectDeps.js
import fs68 from "node:fs";
import path113 from "node:path";
async function linkDirectDeps(projects, opts3) {
if (opts3.dedupe && projects["."] && Object.keys(projects).length > 1) {
return linkDirectDepsAndDedupe(projects["."], omit_default(["."], projects));
}
const numberOfLinkedDeps = await Promise.all(Object.values(projects).map(linkDirectDepsOfProject));
return numberOfLinkedDeps.reduce((sum, count2) => sum + count2, 0);
}
async function linkDirectDepsAndDedupe(rootProject, projects) {
const linkedDeps = await linkDirectDepsOfProject(rootProject);
const pkgsLinkedToRoot = await readLinkedDeps(rootProject.modulesDir);
await Promise.all(Object.values(projects).map(async (project) => {
const deletedAll = await deletePkgsPresentInRoot(project.modulesDir, pkgsLinkedToRoot);
const dependencies = omitDepsFromRoot(project.dependencies, pkgsLinkedToRoot);
if (dependencies.length > 0) {
await linkDirectDepsOfProject({
...project,
dependencies
});
return;
}
if (deletedAll) {
await rimraf(project.modulesDir);
}
}));
return linkedDeps;
}
function omitDepsFromRoot(deps, pkgsLinkedToRoot) {
return deps.filter(({ dir }) => !pkgsLinkedToRoot.some(pathsEqual.bind(null, dir)));
}
function pathsEqual(path1, path236) {
return path113.relative(path1, path236) === "";
}
async function readLinkedDeps(modulesDir) {
const deps = await readModulesDir(modulesDir) ?? [];
return Promise.all(deps.map((alias) => resolveLinkTargetOrFile(path113.join(modulesDir, alias))));
}
async function deletePkgsPresentInRoot(modulesDir, pkgsLinkedToRoot) {
const pkgsLinkedToCurrentProject = await readLinkedDepsWithRealLocations(modulesDir);
const pkgsToDelete = pkgsLinkedToCurrentProject.filter(({ linkedFrom, linkedTo }) => linkedFrom !== linkedTo && pkgsLinkedToRoot.some(pathsEqual.bind(null, linkedFrom)));
await Promise.all(pkgsToDelete.map(({ linkedTo }) => fs68.promises.unlink(linkedTo)));
return pkgsToDelete.length === pkgsLinkedToCurrentProject.length;
}
async function readLinkedDepsWithRealLocations(modulesDir) {
const deps = await readModulesDir(modulesDir) ?? [];
return Promise.all(deps.map(async (alias) => {
const linkedTo = path113.join(modulesDir, alias);
return {
linkedTo,
linkedFrom: await resolveLinkTargetOrFile(linkedTo)
};
}));
}
async function resolveLinkTargetOrFile(filePath) {
try {
return await resolveLinkTarget(filePath);
} catch (err2) {
if (err2.code !== "EINVAL" && err2.code !== "UNKNOWN")
throw err2;
return filePath;
}
}
async function linkDirectDepsOfProject(project) {
let linkedDeps = 0;
await Promise.all(project.dependencies.map(async (dep) => {
if (dep.isExternalLink) {
await symlinkDirectRootDependency(dep.dir, project.modulesDir, dep.alias, {
fromDependenciesField: dep.dependencyType === "dev" && "devDependencies" || dep.dependencyType === "optional" && "optionalDependencies" || "dependencies",
linkedPackage: {
name: dep.name,
version: dep.version
},
prefix: project.dir
});
return;
}
if ((await symlinkDependency(dep.dir, project.modulesDir, dep.alias)).reused) {
return;
}
rootLogger.debug({
added: {
dependencyType: dep.dependencyType,
id: dep.id,
latest: dep.latest,
name: dep.alias,
realName: dep.name,
version: dep.version
},
prefix: project.dir
});
linkedDeps++;
}));
return linkedDeps;
}
var init_linkDirectDeps = __esm({
"../installing/linking/direct-dep-linker/lib/linkDirectDeps.js"() {
"use strict";
init_lib6();
init_lib8();
init_lib106();
init_rimraf();
init_es();
init_resolve_link_target();
}
});
// ../installing/linking/direct-dep-linker/lib/index.js
var init_lib115 = __esm({
"../installing/linking/direct-dep-linker/lib/index.js"() {
"use strict";
init_linkDirectDeps();
}
});
// ../installing/linking/hoist/lib/index.js
import fs69 from "node:fs";
import path114 from "node:path";
async function hoist(opts3) {
const result2 = getHoistedDependencies(opts3);
if (!result2)
return null;
const { hoistedDependencies, hoistedAliasesWithBins, hoistedDependenciesByNodeId } = result2;
await symlinkHoistedDependencies(hoistedDependenciesByNodeId, {
graph: opts3.graph,
directDepsByImporterId: opts3.directDepsByImporterId,
privateHoistedModulesDir: opts3.privateHoistedModulesDir,
publicHoistedModulesDir: opts3.publicHoistedModulesDir,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
hoistedWorkspacePackages: opts3.hoistedWorkspacePackages
});
await linkAllBins(opts3.privateHoistedModulesDir, {
extraNodePaths: opts3.extraNodePath,
hoistedAliasesWithBins,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
return hoistedDependencies;
}
function getHoistedDependencies(opts3) {
if (Object.keys(opts3.graph ?? {}).length === 0)
return null;
const { directDeps, step: step2 } = graphWalker(opts3.graph, opts3.directDepsByImporterId);
const hoistedWorkspaceDeps = Object.fromEntries(Object.entries(opts3.hoistedWorkspacePackages ?? {}).map(([id, { name }]) => [name, id]));
const deps = [
{
children: {
...hoistedWorkspaceDeps,
...directDeps.reduce((acc, { alias, nodeId }) => {
if (!acc[alias]) {
acc[alias] = nodeId;
}
return acc;
}, {})
},
nodeId: "",
depth: -1
},
...getDependencies(0, step2)
];
const getAliasHoistType = createGetAliasHoistType(opts3.publicHoistPattern, opts3.privateHoistPattern);
return hoistGraph(deps, opts3.directDepsByImporterId["."] ?? /* @__PURE__ */ new Map(), {
getAliasHoistType,
graph: opts3.graph,
skipped: opts3.skipped
});
}
function createGetAliasHoistType(publicHoistPattern, privateHoistPattern) {
const publicMatcher = createMatcher(publicHoistPattern);
const privateMatcher = createMatcher(privateHoistPattern);
return (alias) => {
if (publicMatcher(alias))
return "public";
if (privateMatcher(alias))
return "private";
return false;
};
}
async function linkAllBins(modulesDir, opts3) {
const bin = path114.join(modulesDir, ".bin");
const warn = (message, code) => {
if (code === "BINARIES_CONFLICT")
return;
logger.info({ message, prefix: path114.join(modulesDir, "../..") });
};
try {
await linkBinsOfPkgsByAliases(opts3.hoistedAliasesWithBins, bin, {
allowExoticManifests: true,
extraNodePaths: opts3.extraNodePaths,
modulesDir,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn
});
} catch (err2) {
}
}
function getDependencies(depth, step2) {
const deps = [];
const nextSteps = [];
for (const { node, nodeId, next: next2 } of step2.dependencies) {
deps.push({
children: node.children,
nodeId,
depth
});
nextSteps.push(next2());
}
for (const depPath of step2.missing) {
logger.debug({ message: `No entry for "${depPath}" in ${WANTED_LOCKFILE}` });
}
return [
...deps,
...nextSteps.flatMap(getDependencies.bind(null, depth + 1))
];
}
function hoistGraph(depNodes, currentSpecifiers, opts3) {
const hoistedAliases = new Set(currentSpecifiers.keys());
const hoistedDependencies = /* @__PURE__ */ Object.create(null);
const hoistedDependenciesByNodeId = /* @__PURE__ */ new Map();
const hoistedAliasesWithBins = /* @__PURE__ */ new Set();
depNodes.sort((a2, b) => {
const depthDiff = a2.depth - b.depth;
return depthDiff === 0 ? (0, import_util13.lexCompare)(a2.nodeId, b.nodeId) : depthDiff;
}).forEach((depNode) => {
for (const [childAlias, childNodeId] of Object.entries(depNode.children)) {
const hoist3 = opts3.getAliasHoistType(childAlias);
if (!hoist3)
continue;
const childAliasNormalized = childAlias.toLowerCase();
if (hoistedAliases.has(childAliasNormalized)) {
continue;
}
if (!hoistedDependenciesByNodeId.has(childNodeId)) {
hoistedDependenciesByNodeId.set(childNodeId, {});
}
hoistedDependenciesByNodeId.get(childNodeId)[childAlias] = hoist3;
const node = opts3.graph[childNodeId];
if (node?.depPath == null || opts3.skipped.has(node.depPath)) {
continue;
}
if (node.hasBin) {
hoistedAliasesWithBins.add(childAlias);
}
hoistedAliases.add(childAliasNormalized);
if (!hoistedDependencies[node.depPath]) {
hoistedDependencies[node.depPath] = {};
}
hoistedDependencies[node.depPath][childAlias] = hoist3;
}
});
return {
hoistedDependencies,
hoistedDependenciesByNodeId,
hoistedAliasesWithBins: Array.from(hoistedAliasesWithBins)
};
}
async function symlinkHoistedDependencies(hoistedDependenciesByNodeId, opts3) {
const symlink = symlinkHoistedDependency.bind(null, {
virtualStoreDir: opts3.virtualStoreDir,
internalPnpmDir: path114.dirname(opts3.privateHoistedModulesDir)
});
const promises = [];
for (const [hoistedDepNodeId, pkgAliases] of hoistedDependenciesByNodeId.entries()) {
promises.push((async () => {
const node = opts3.graph[hoistedDepNodeId];
let depLocation;
if (node) {
depLocation = node.dir;
} else {
if (!opts3.directDepsByImporterId[hoistedDepNodeId]) {
hoistLogger.debug({ hoistFailedFor: hoistedDepNodeId });
return;
}
depLocation = opts3.hoistedWorkspacePackages[hoistedDepNodeId].dir;
}
await Promise.all(Object.entries(pkgAliases).map(async ([pkgAlias, hoistType]) => {
const targetDir = hoistType === "public" ? opts3.publicHoistedModulesDir : opts3.privateHoistedModulesDir;
const dest = path114.join(targetDir, pkgAlias);
return symlink(depLocation, dest);
}));
})());
}
await Promise.all(promises);
}
async function symlinkHoistedDependency(opts3, depLocation, dest) {
try {
await symlinkDir(depLocation, dest, { overwrite: false });
linkLogger.debug({ target: dest, link: depLocation });
return;
} catch (err2) {
if (err2.code !== "EEXIST" && err2.code !== "EISDIR")
throw err2;
}
let existingSymlink;
try {
existingSymlink = await resolveLinkTarget(dest);
} catch {
hoistLogger.debug({
skipped: dest,
reason: "a directory is present at the target location"
});
return;
}
if (!isSubdir(opts3.virtualStoreDir, existingSymlink) && !isSubdir(opts3.internalPnpmDir, existingSymlink)) {
hoistLogger.debug({
skipped: dest,
existingSymlink,
reason: "an external symlink is present at the target location"
});
return;
}
await fs69.promises.unlink(dest);
await symlinkDir(depLocation, dest);
linkLogger.debug({ target: dest, link: depLocation });
}
function graphWalker(graph, directDepsByImporterId, opts3) {
const startNodeIds = [];
const allDirectDeps = [];
for (const directDeps of Object.values(directDepsByImporterId)) {
for (const [alias, nodeId] of directDeps.entries()) {
const depNode = graph[nodeId];
if (depNode == null)
continue;
startNodeIds.push(nodeId);
allDirectDeps.push({ alias, nodeId });
}
}
const visited = /* @__PURE__ */ new Set();
return {
directDeps: allDirectDeps,
step: makeStep({
includeOptionalDependencies: opts3?.include?.optionalDependencies !== false,
graph,
visited,
skipped: opts3?.skipped
}, startNodeIds)
};
}
function makeStep(ctx, nextNodeIds) {
const result2 = {
dependencies: [],
links: [],
missing: []
};
const _next = collectChildNodeIds.bind(null, {
includeOptionalDependencies: ctx.includeOptionalDependencies
});
for (const nodeId of nextNodeIds) {
if (ctx.visited.has(nodeId))
continue;
ctx.visited.add(nodeId);
const node = ctx.graph[nodeId];
if (node == null) {
if (nodeId.startsWith("link:")) {
result2.links.push(nodeId);
continue;
}
result2.missing.push(nodeId);
continue;
}
if (ctx.skipped?.has(node.depPath))
continue;
result2.dependencies.push({
nodeId,
next: () => makeStep(ctx, _next(node)),
node
});
}
return result2;
}
function collectChildNodeIds(opts3, nextPkg) {
if (opts3.includeOptionalDependencies) {
return Object.values(nextPkg.children);
} else {
const nextNodeIds = [];
for (const [alias, nodeId] of Object.entries(nextPkg.children)) {
if (!nextPkg.optionalDependencies.has(alias)) {
nextNodeIds.push(nodeId);
}
}
return nextNodeIds;
}
}
var import_util13, hoistLogger;
var init_lib116 = __esm({
"../installing/linking/hoist/lib/index.js"() {
"use strict";
init_lib16();
init_lib27();
init_lib();
init_lib6();
init_lib3();
import_util13 = __toESM(require_dist4(), 1);
init_is_subdir();
init_resolve_link_target();
init_dist3();
hoistLogger = logger("hoist");
}
});
// ../lockfile/filtering/lib/filterImporter.js
function filterImporter(importer, include, opts3) {
const skipRuntimes = opts3?.skipRuntimes === true;
return {
dependencies: !include.dependencies ? {} : pickNonRuntime(importer.dependencies, skipRuntimes),
devDependencies: !include.devDependencies ? {} : pickNonRuntime(importer.devDependencies, skipRuntimes),
optionalDependencies: !include.optionalDependencies ? {} : pickNonRuntime(importer.optionalDependencies, skipRuntimes),
specifiers: pickNonRuntime(importer.specifiers, skipRuntimes)
};
}
function pickNonRuntime(deps, skipRuntimes) {
if (!deps)
return {};
if (!skipRuntimes)
return deps;
const result2 = {};
for (const [name, ref] of Object.entries(deps)) {
if (!ref.startsWith("runtime:")) {
result2[name] = ref;
}
}
return result2;
}
var init_filterImporter = __esm({
"../lockfile/filtering/lib/filterImporter.js"() {
"use strict";
}
});
// ../lockfile/filtering/lib/filterLockfileByImporters.js
function filterLockfileByImporters(lockfile, importerIds, opts3) {
const importers = { ...lockfile.importers };
for (const importerId of importerIds) {
importers[importerId] = filterImporter(lockfile.importers[importerId], opts3.include, { skipRuntimes: opts3.skipRuntimes });
}
const packages = {};
if (lockfile.packages != null) {
pkgAllDeps(lockfileWalker({ ...lockfile, importers }, importerIds, { include: opts3.include, skipped: opts3.skipped }).step, packages, {
failOnMissingDependencies: opts3.failOnMissingDependencies
});
}
return {
...lockfile,
importers,
packages
};
}
function pkgAllDeps(step2, pickedPackages, opts3) {
for (const { pkgSnapshot, depPath, next: next2 } of step2.dependencies) {
pickedPackages[depPath] = pkgSnapshot;
pkgAllDeps(next2(), pickedPackages, opts3);
}
for (const depPath of step2.missing) {
if (opts3.failOnMissingDependencies) {
throw new LockfileMissingDependencyError(depPath);
}
lockfileLogger2.debug(`No entry for "${depPath}" in ${WANTED_LOCKFILE}`);
}
}
var lockfileLogger2;
var init_filterLockfileByImporters = __esm({
"../lockfile/filtering/lib/filterLockfileByImporters.js"() {
"use strict";
init_lib();
init_lib2();
init_lib90();
init_lib3();
init_filterImporter();
lockfileLogger2 = logger("lockfile");
}
});
// ../lockfile/filtering/lib/filterLockfile.js
function filterLockfile(lockfile, opts3) {
return filterLockfileByImporters(lockfile, Object.keys(lockfile.importers), {
...opts3,
failOnMissingDependencies: false
});
}
var init_filterLockfile = __esm({
"../lockfile/filtering/lib/filterLockfile.js"() {
"use strict";
init_filterLockfileByImporters();
}
});
// ../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js
function filterLockfileByEngine(lockfile, opts3) {
const importerIds = Object.keys(lockfile.importers);
return filterLockfileByImportersAndEngine(lockfile, importerIds, opts3);
}
function filterLockfileByImportersAndEngine(lockfile, importerIds, opts3) {
const importerIdSet = new Set(importerIds);
const directDepPaths = toImporterDepPaths(lockfile, importerIds, {
include: opts3.include,
importerIdSet,
skipRuntimes: opts3.skipRuntimes
});
const packages = lockfile.packages != null ? pickPkgsWithAllDeps(lockfile, directDepPaths, importerIdSet, {
currentEngine: opts3.currentEngine,
engineStrict: opts3.engineStrict,
failOnMissingDependencies: opts3.failOnMissingDependencies,
include: opts3.include,
includeIncompatiblePackages: opts3.includeIncompatiblePackages === true,
lockfileDir: opts3.lockfileDir,
skipped: opts3.skipped,
skipRuntimes: opts3.skipRuntimes,
supportedArchitectures: opts3.supportedArchitectures
}) : {};
const importers = map_default((importer) => {
const newImporter = filterImporter(importer, opts3.include, { skipRuntimes: opts3.skipRuntimes });
if (newImporter.optionalDependencies != null) {
newImporter.optionalDependencies = pickBy_default((ref, depName) => {
const depPath = refToRelative(ref, depName);
return !depPath || packages[depPath] != null;
}, newImporter.optionalDependencies);
}
return newImporter;
}, lockfile.importers);
return {
lockfile: {
...lockfile,
importers,
packages
},
selectedImporterIds: Array.from(importerIdSet)
};
}
function pickPkgsWithAllDeps(lockfile, depPaths, importerIdSet, opts3) {
const pickedPackages = {};
pkgAllDeps2({ lockfile, pickedPackages, importerIdSet }, depPaths, true, opts3);
return pickedPackages;
}
function pkgAllDeps2(ctx, depPaths, parentIsInstallable, opts3) {
for (const depPath of depPaths) {
if (ctx.pickedPackages[depPath])
continue;
const pkgSnapshot = ctx.lockfile.packages[depPath];
if (!pkgSnapshot && !depPath.startsWith("link:")) {
if (opts3.failOnMissingDependencies) {
throw new LockfileMissingDependencyError(depPath);
}
lockfileLogger3.debug(`No entry for "${depPath}" in ${WANTED_LOCKFILE}`);
continue;
}
let installable;
if (!parentIsInstallable) {
installable = false;
if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) {
opts3.skipped.add(depPath);
}
} else {
const pkg = {
...nameVerFromPkgSnapshot(depPath, pkgSnapshot),
cpu: pkgSnapshot.cpu,
engines: pkgSnapshot.engines,
os: pkgSnapshot.os,
libc: pkgSnapshot.libc
};
installable = opts3.includeIncompatiblePackages || packageIsInstallable(pkgSnapshot.id ?? depPath, pkg, {
engineStrict: opts3.engineStrict,
lockfileDir: opts3.lockfileDir,
nodeVersion: opts3.currentEngine.nodeVersion,
optional: pkgSnapshot.optional === true,
supportedArchitectures: opts3.supportedArchitectures
}) !== false;
if (!installable) {
if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) {
opts3.skipped.add(depPath);
}
} else {
opts3.skipped.delete(depPath);
}
}
ctx.pickedPackages[depPath] = pkgSnapshot;
const { depPaths: nextRelDepPaths, importerIds: additionalImporterIds } = parseDepRefs(Object.entries({
...pkgSnapshot.dependencies,
...opts3.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
}), ctx.lockfile);
additionalImporterIds.forEach((importerId) => ctx.importerIdSet.add(importerId));
nextRelDepPaths.push(...toImporterDepPaths(ctx.lockfile, additionalImporterIds, {
include: opts3.include,
importerIdSet: ctx.importerIdSet,
skipRuntimes: opts3.skipRuntimes
}));
pkgAllDeps2(ctx, nextRelDepPaths, installable, opts3);
}
}
function toImporterDepPaths(lockfile, importerIds, opts3) {
const importerDeps = importerIds.map((importerId) => lockfile.importers[importerId]).map((importer) => ({
...opts3.include.dependencies ? importer.dependencies : {},
...opts3.include.devDependencies ? importer.devDependencies : {},
...opts3.include.optionalDependencies ? importer.optionalDependencies : {}
})).map(Object.entries).map((entries) => opts3.skipRuntimes ? entries.filter(([, ref]) => !ref.startsWith("runtime:")) : entries);
let { depPaths, importerIds: nextImporterIds } = parseDepRefs(unnest_default(importerDeps), lockfile);
if (!nextImporterIds.length) {
return depPaths;
}
nextImporterIds = nextImporterIds.filter((importerId) => !opts3.importerIdSet.has(importerId));
for (const importerId of nextImporterIds) {
opts3.importerIdSet.add(importerId);
}
return [
...depPaths,
...toImporterDepPaths(lockfile, nextImporterIds, opts3)
];
}
function parseDepRefs(refsByPkgNames, lockfile) {
const acc = {
depPaths: [],
importerIds: []
};
for (const [pkgName, ref] of refsByPkgNames) {
if (ref.startsWith("link:")) {
const importerId = ref.substring(5);
if (lockfile.importers[importerId]) {
acc.importerIds.push(importerId);
}
continue;
}
const depPath = refToRelative(ref, pkgName);
if (depPath == null)
continue;
acc.depPaths.push(depPath);
}
return acc;
}
var lockfileLogger3;
var init_filterLockfileByImportersAndEngine = __esm({
"../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js"() {
"use strict";
init_lib40();
init_lib();
init_lib68();
init_lib2();
init_lib73();
init_lib3();
init_es();
init_filterImporter();
lockfileLogger3 = logger("lockfile");
}
});
// ../lockfile/filtering/lib/index.js
var init_lib117 = __esm({
"../lockfile/filtering/lib/index.js"() {
"use strict";
init_filterLockfile();
init_filterLockfileByImporters();
init_filterLockfileByImportersAndEngine();
}
});
// ../installing/linking/modules-cleaner/lib/removeDirectDependency.js
import { promises as fs70 } from "node:fs";
import path115 from "node:path";
async function removeDirectDependency(dependency, opts3) {
const dependencyDir = path115.join(opts3.modulesDir, dependency.name);
const results = await Promise.all([
removeBinsOfDependency(dependencyDir, opts3),
!opts3.dryRun && removeBin(dependencyDir)
// eslint-disable-line @typescript-eslint/no-explicit-any
]);
await removeIfEmpty(opts3.binsDir);
const uninstalledPkg = results[0];
if (!opts3.muteLogs) {
rootLogger.debug({
prefix: opts3.rootDir,
removed: {
dependencyType: dependency.dependenciesField === "devDependencies" && "dev" || dependency.dependenciesField === "optionalDependencies" && "optional" || dependency.dependenciesField === "dependencies" && "prod" || void 0,
name: dependency.name,
version: uninstalledPkg?.version
}
});
}
}
async function removeIfEmpty(dir) {
if (await dirIsEmpty(dir)) {
await rimraf(dir);
}
}
async function dirIsEmpty(dir) {
try {
const fileNames = await fs70.readdir(dir);
return fileNames.length === 0;
} catch {
return false;
}
}
var init_removeDirectDependency = __esm({
"../installing/linking/modules-cleaner/lib/removeDirectDependency.js"() {
"use strict";
init_lib104();
init_lib6();
init_rimraf();
}
});
// ../installing/linking/modules-cleaner/lib/prune.js
import { promises as fs71 } from "node:fs";
import path116 from "node:path";
async function prune2(importers, opts3) {
const wantedLockfile = filterLockfile(opts3.wantedLockfile, {
include: opts3.include,
skipped: opts3.skipped,
skipRuntimes: opts3.skipRuntimes
});
const rootImporter = wantedLockfile.importers["."] ?? {};
const wantedRootPkgs = mergeDependencies(rootImporter);
await Promise.all(importers.map(async ({ binsDir, id, modulesDir, pruneDirectDependencies, removePackages, rootDir }) => {
const currentImporter = opts3.currentLockfile.importers[id] || {};
const currentPkgs = Object.entries(mergeDependencies(currentImporter));
const wantedPkgs = mergeDependencies(wantedLockfile.importers[id]);
const allCurrentPackages = new Set(pruneDirectDependencies === true || removePackages?.length ? await readModulesDir(modulesDir) ?? [] : []);
const depsToRemove = new Set((removePackages ?? []).filter((removePackage) => allCurrentPackages.has(removePackage)));
for (const [depName, depVersion] of currentPkgs) {
if (!wantedPkgs[depName] || wantedPkgs[depName] !== depVersion || opts3.dedupeDirectDeps && id !== "." && wantedPkgs[depName] === wantedRootPkgs[depName]) {
depsToRemove.add(depName);
}
}
if (pruneDirectDependencies) {
const publiclyHoistedDeps = getPubliclyHoistedDependencies(opts3.hoistedDependencies);
if (allCurrentPackages.size > 0) {
for (const currentPackage of allCurrentPackages) {
if (!wantedPkgs[currentPackage] && !publiclyHoistedDeps.has(currentPackage)) {
depsToRemove.add(currentPackage);
}
}
}
}
const removedFromScopes = /* @__PURE__ */ new Set();
await Promise.all(Array.from(depsToRemove).map(async (depName) => {
const scope = getScopeFromPackageName(depName);
if (scope) {
removedFromScopes.add(scope);
}
return removeDirectDependency({
dependenciesField: currentImporter.devDependencies?.[depName] != null && "devDependencies" || currentImporter.optionalDependencies?.[depName] != null && "optionalDependencies" || currentImporter.dependencies?.[depName] != null && "dependencies" || void 0,
name: depName
}, {
binsDir,
dryRun: opts3.dryRun,
modulesDir,
rootDir
});
}));
await Promise.all(Array.from(removedFromScopes).map((scope) => removeIfEmpty(path116.join(modulesDir, scope))));
try {
await removeIfEmpty(modulesDir);
} catch {
}
}));
const selectedImporterIds = importers.map((importer) => importer.id).sort();
const currentPkgIdsByDepPaths = equals_default(selectedImporterIds, Object.keys(opts3.wantedLockfile.importers)) ? getPkgsDepPaths(opts3.currentLockfile.packages ?? {}, opts3.skipped) : getPkgsDepPathsOwnedOnlyByImporters(selectedImporterIds, opts3.currentLockfile, opts3.include, opts3.skipped);
const wantedPkgIdsByDepPaths = getPkgsDepPaths(wantedLockfile.packages ?? {}, opts3.skipped);
const orphanDepPaths = Object.keys(currentPkgIdsByDepPaths).filter((path236) => !wantedPkgIdsByDepPaths[path236]);
const orphanPkgIds = new Set(orphanDepPaths.map((path236) => currentPkgIdsByDepPaths[path236]));
statsLogger.debug({
prefix: opts3.lockfileDir,
removed: orphanPkgIds.size
});
if (!opts3.dryRun) {
if (orphanDepPaths.length > 0 && opts3.currentLockfile.packages != null && (opts3.hoistedModulesDir != null || opts3.publicHoistedModulesDir != null)) {
const prefix = path116.join(opts3.virtualStoreDir, "../..");
await Promise.all(orphanDepPaths.map(async (orphanDepPath) => {
if (opts3.hoistedDependencies[orphanDepPath]) {
await Promise.all(Object.entries(opts3.hoistedDependencies[orphanDepPath]).map(([alias, hoistType]) => {
const modulesDir = hoistType === "public" ? opts3.publicHoistedModulesDir : opts3.hoistedModulesDir;
if (!modulesDir)
return void 0;
return removeDirectDependency({
name: alias
}, {
binsDir: path116.join(modulesDir, ".bin"),
modulesDir,
muteLogs: true,
rootDir: prefix
});
}));
}
delete opts3.hoistedDependencies[orphanDepPath];
}));
}
if (opts3.pruneVirtualStore !== false) {
const _tryRemovePkg = tryRemovePkg.bind(null, opts3.lockfileDir, opts3.virtualStoreDir);
await Promise.all(orphanDepPaths.map((orphanDepPath) => depPathToFilename(orphanDepPath, opts3.virtualStoreDirMaxLength)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath)));
const neededPkgs = /* @__PURE__ */ new Set(["node_modules"]);
for (const depPath of Object.keys(opts3.wantedLockfile.packages ?? {})) {
if (opts3.skipped.has(depPath))
continue;
neededPkgs.add(depPathToFilename(depPath, opts3.virtualStoreDirMaxLength));
}
const availablePkgs = await readVirtualStoreDir(opts3.virtualStoreDir, opts3.lockfileDir);
await Promise.all(availablePkgs.filter((availablePkg) => !neededPkgs.has(availablePkg)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath)));
}
}
return new Set(orphanDepPaths);
}
function getScopeFromPackageName(pkgName) {
if (pkgName[0] === "@") {
return pkgName.substring(0, pkgName.indexOf("/"));
}
return void 0;
}
async function readVirtualStoreDir(virtualStoreDir, lockfileDir) {
try {
return await fs71.readdir(virtualStoreDir);
} catch (err2) {
if (err2.code !== "ENOENT") {
logger.warn({
error: err2,
message: `Failed to read virtualStoreDir at "${virtualStoreDir}"`,
prefix: lockfileDir
});
}
return [];
}
}
async function tryRemovePkg(lockfileDir, virtualStoreDir, pkgDir) {
const pathToRemove = path116.join(virtualStoreDir, pkgDir);
removalLogger.debug(pathToRemove);
try {
await rimraf(pathToRemove);
} catch (err2) {
logger.warn({
error: err2,
message: `Failed to remove "${pathToRemove}"`,
prefix: lockfileDir
});
}
}
function mergeDependencies(projectSnapshot) {
return mergeAll_default(DEPENDENCIES_FIELDS.map((depType) => projectSnapshot[depType] ?? {}));
}
function getPkgsDepPaths(packages, skipped) {
const acc = {};
for (const [depPath, pkg] of Object.entries(packages)) {
if (skipped.has(depPath))
continue;
acc[depPath] = packageIdFromSnapshot(depPath, pkg);
}
return acc;
}
function getPkgsDepPathsOwnedOnlyByImporters(importerIds, lockfile, include, skipped) {
const selected = filterLockfileByImporters(lockfile, importerIds, {
failOnMissingDependencies: false,
include,
skipped
});
const other = filterLockfileByImporters(lockfile, difference_default(Object.keys(lockfile.importers), importerIds), {
failOnMissingDependencies: false,
include,
skipped
});
const packagesOfSelectedOnly = pickAll_default(difference_default(Object.keys(selected.packages), Object.keys(other.packages)), selected.packages);
return getPkgsDepPaths(packagesOfSelectedOnly, skipped);
}
function getPubliclyHoistedDependencies(hoistedDependencies) {
const publiclyHoistedDeps = /* @__PURE__ */ new Set();
for (const hoistedAliases of Object.values(hoistedDependencies)) {
for (const [alias, hoistType] of Object.entries(hoistedAliases)) {
if (hoistType === "public") {
publiclyHoistedDeps.add(alias);
}
}
}
return publiclyHoistedDeps;
}
var init_prune2 = __esm({
"../installing/linking/modules-cleaner/lib/prune.js"() {
"use strict";
init_lib6();
init_lib68();
init_lib8();
init_lib117();
init_lib73();
init_lib3();
init_lib9();
init_rimraf();
init_es();
init_removeDirectDependency();
}
});
// ../installing/linking/modules-cleaner/lib/index.js
var init_lib118 = __esm({
"../installing/linking/modules-cleaner/lib/index.js"() {
"use strict";
init_prune2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/pnp/4.1.7/396f67d96f1e39bc3f06accc4e14efe9cc4a1319615aea1bfaf01e4867bda5af/node_modules/@yarnpkg/pnp/lib/index.js
var require_lib25 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/pnp/4.1.7/396f67d96f1e39bc3f06accc4e14efe9cc4a1319615aea1bfaf01e4867bda5af/node_modules/@yarnpkg/pnp/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var require$$0 = __require("zlib");
var path236 = __require("path");
var module$1 = __require("module");
var url7 = __require("url");
var nodeUtils = __require("util");
var assert13 = __require("assert");
var fs126 = __require("fs");
var crypto13 = __require("crypto");
var os17 = __require("os");
var _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
var require$$0__default = /* @__PURE__ */ _interopDefaultLegacy(require$$0);
var path__default = /* @__PURE__ */ _interopDefaultLegacy(path236);
var assert__default = /* @__PURE__ */ _interopDefaultLegacy(assert13);
var fs__default = /* @__PURE__ */ _interopDefaultLegacy(fs126);
var LinkType = /* @__PURE__ */ ((LinkType2) => {
LinkType2["HARD"] = `HARD`;
LinkType2["SOFT"] = `SOFT`;
return LinkType2;
})(LinkType || {});
var SAFE_TIME = 456789e3;
var PortablePath = {
root: `/`,
dot: `.`,
parent: `..`
};
var Filename = {
home: `~`,
nodeModules: `node_modules`,
manifest: `package.json`,
lockfile: `yarn.lock`,
virtual: `__virtual__`,
/**
* @deprecated
*/
pnpJs: `.pnp.js`,
pnpCjs: `.pnp.cjs`,
pnpData: `.pnp.data.json`,
pnpEsmLoader: `.pnp.loader.mjs`,
rc: `.yarnrc.yml`,
env: `.env`
};
var npath2 = Object.create(path__default.default);
var ppath = Object.create(path__default.default.posix);
npath2.cwd = () => process.cwd();
ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd;
if (process.platform === `win32`) {
ppath.resolve = (...segments) => {
if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
return path__default.default.posix.resolve(...segments);
} else {
return path__default.default.posix.resolve(ppath.cwd(), ...segments);
}
};
}
var contains3 = function(pathUtils, from5, to) {
from5 = pathUtils.normalize(from5);
to = pathUtils.normalize(to);
if (from5 === to)
return `.`;
if (!from5.endsWith(pathUtils.sep))
from5 = from5 + pathUtils.sep;
if (to.startsWith(from5)) {
return to.slice(from5.length);
} else {
return null;
}
};
npath2.contains = (from5, to) => contains3(npath2, from5, to);
ppath.contains = (from5, to) => contains3(ppath, from5, to);
var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
function fromPortablePathWin32(p) {
let portablePathMatch, uncPortablePathMatch;
if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
p = portablePathMatch[1];
else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP))
p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
else
return p;
return p.replace(/\//g, `\\`);
}
function toPortablePathWin32(p) {
p = p.replace(/\\/g, `/`);
let windowsPathMatch, uncWindowsPathMatch;
if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
p = `/${windowsPathMatch[1]}`;
else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP))
p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
return p;
}
var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p;
var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p;
npath2.fromPortablePath = fromPortablePath;
npath2.toPortablePath = toPortablePath;
function convertPath(targetPathUtils, sourcePath) {
return targetPathUtils === npath2 ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
}
var defaultTime = new Date(SAFE_TIME * 1e3);
var defaultTimeMs = defaultTime.getTime();
async function copyPromise(destinationFs, destination, sourceFs, source, opts3) {
const normalizedDestination = destinationFs.pathUtils.normalize(destination);
const normalizedSource = sourceFs.pathUtils.normalize(source);
const prelayout = [];
const postlayout = [];
const { atime, mtime } = opts3.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource);
await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts3, didParentExist: true });
for (const operation5 of prelayout)
await operation5();
await Promise.all(postlayout.map((operation5) => {
return operation5();
}));
}
async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts3) {
const destinationStat = opts3.didParentExist ? await maybeLStat(destinationFs, destination) : null;
const sourceStat = await sourceFs.lstatPromise(source);
const { atime, mtime } = opts3.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat;
let updated;
switch (true) {
case sourceStat.isDirectory():
{
updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
case sourceStat.isFile():
{
updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
case sourceStat.isSymbolicLink():
{
updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
break;
default: {
throw new Error(`Unsupported file type (${sourceStat.mode})`);
}
}
if (opts3.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime));
updated = true;
}
if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) {
postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511));
updated = true;
}
}
return updated;
}
async function maybeLStat(baseFs, p) {
try {
return await baseFs.lstatPromise(p);
} catch {
return null;
}
}
async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null && !destinationStat.isDirectory()) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
let updated = false;
if (destinationStat === null) {
prelayout.push(async () => {
try {
await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
} catch (err2) {
if (err2.code !== `EEXIST`) {
throw err2;
}
}
});
updated = true;
}
const entries = await sourceFs.readdirPromise(source);
const nextOpts = opts3.didParentExist && !destinationStat ? { ...opts3, didParentExist: false } : opts3;
if (opts3.stableSort) {
for (const entry of entries.sort()) {
if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
updated = true;
}
}
} else {
const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
}));
if (entriesUpdateStatus.some((status) => status)) {
updated = true;
}
}
return updated;
}
async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3, linkStrategy) {
const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
const defaultMode = 420;
const sourceMode = sourceStat.mode & 511;
const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
let AtomicBehavior;
((AtomicBehavior2) => {
AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename";
})(AtomicBehavior || (AtomicBehavior = {}));
let atomicBehavior = 1;
let indexStat = await maybeLStat(destinationFs, indexPath);
if (destinationStat) {
const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino;
const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs;
if (isDestinationHardlinkedFromIndex) {
if (isIndexModified && linkStrategy.autoRepair) {
atomicBehavior = 0;
indexStat = null;
}
}
if (!isDestinationHardlinkedFromIndex) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
}
const tempPath2 = !indexStat && atomicBehavior === 1 ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null;
let tempPathCleaned = false;
prelayout.push(async () => {
if (!indexStat) {
if (atomicBehavior === 0) {
await destinationFs.lockPromise(indexPath, async () => {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(indexPath, content);
});
}
if (atomicBehavior === 1 && tempPath2) {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(tempPath2, content);
try {
await destinationFs.linkPromise(tempPath2, indexPath);
} catch (err2) {
if (err2.code === `EEXIST`) {
tempPathCleaned = true;
await destinationFs.unlinkPromise(tempPath2);
} else {
throw err2;
}
}
}
}
if (!destinationStat) {
await destinationFs.linkPromise(indexPath, destination);
}
});
postlayout.push(async () => {
if (!indexStat) {
await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
if (sourceMode !== defaultMode) {
await destinationFs.chmodPromise(indexPath, sourceMode);
}
}
if (tempPath2 && !tempPathCleaned) {
await destinationFs.unlinkPromise(tempPath2);
}
});
return false;
}
async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
prelayout.push(async () => {
const content = await sourceFs.readFilePromise(source);
await destinationFs.writeFilePromise(destination, content);
});
return true;
}
async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (opts3.linkStrategy?.type === `HardlinkFromIndex`) {
return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3, opts3.linkStrategy);
} else {
return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3);
}
}
async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts3) {
if (destinationStat !== null) {
if (opts3.overwrite) {
prelayout.push(async () => destinationFs.removePromise(destination));
destinationStat = null;
} else {
return false;
}
}
prelayout.push(async () => {
await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
});
return true;
}
var FakeFS = class {
pathUtils;
constructor(pathUtils) {
this.pathUtils = pathUtils;
}
async *genTraversePromise(init2, { stableSort = false } = {}) {
const stack = [init2];
while (stack.length > 0) {
const p = stack.shift();
const entry = await this.lstatPromise(p);
if (entry.isDirectory()) {
const entries = await this.readdirPromise(p);
if (stableSort) {
for (const entry2 of entries.sort()) {
stack.push(this.pathUtils.join(p, entry2));
}
} else {
throw new Error(`Not supported`);
}
} else {
yield p;
}
}
}
async checksumFilePromise(path237, { algorithm = `sha512` } = {}) {
const fd2 = await this.openPromise(path237, `r`);
try {
const CHUNK_SIZE = 65536;
const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
const hash2 = crypto13.createHash(algorithm);
let bytesRead = 0;
while ((bytesRead = await this.readPromise(fd2, chunk, 0, CHUNK_SIZE)) !== 0)
hash2.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
return hash2.digest(`hex`);
} finally {
await this.closePromise(fd2);
}
}
async removePromise(p, { recursive: recursive2 = true, maxRetries = 5 } = {}) {
let stat2;
try {
stat2 = await this.lstatPromise(p);
} catch (error) {
if (error.code === `ENOENT`) {
return;
} else {
throw error;
}
}
if (stat2.isDirectory()) {
if (recursive2) {
const entries = await this.readdirPromise(p);
await Promise.all(entries.map((entry) => {
return this.removePromise(this.pathUtils.resolve(p, entry));
}));
}
for (let t2 = 0; t2 <= maxRetries; t2++) {
try {
await this.rmdirPromise(p);
break;
} catch (error) {
if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) {
throw error;
} else if (t2 < maxRetries) {
await new Promise((resolve4) => setTimeout(resolve4, t2 * 100));
}
}
}
} else {
await this.unlinkPromise(p);
}
}
removeSync(p, { recursive: recursive2 = true } = {}) {
let stat2;
try {
stat2 = this.lstatSync(p);
} catch (error) {
if (error.code === `ENOENT`) {
return;
} else {
throw error;
}
}
if (stat2.isDirectory()) {
if (recursive2)
for (const entry of this.readdirSync(p))
this.removeSync(this.pathUtils.resolve(p, entry));
this.rmdirSync(p);
} else {
this.unlinkSync(p);
}
}
async mkdirpPromise(p, { chmod, utimes } = {}) {
p = this.resolve(p);
if (p === this.pathUtils.dirname(p))
return void 0;
const parts = p.split(this.pathUtils.sep);
let createdDirectory;
for (let u2 = 2; u2 <= parts.length; ++u2) {
const subPath = parts.slice(0, u2).join(this.pathUtils.sep);
if (!this.existsSync(subPath)) {
try {
await this.mkdirPromise(subPath);
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
createdDirectory ??= subPath;
if (chmod != null)
await this.chmodPromise(subPath, chmod);
if (utimes != null) {
await this.utimesPromise(subPath, utimes[0], utimes[1]);
} else {
const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
}
}
}
return createdDirectory;
}
mkdirpSync(p, { chmod, utimes } = {}) {
p = this.resolve(p);
if (p === this.pathUtils.dirname(p))
return void 0;
const parts = p.split(this.pathUtils.sep);
let createdDirectory;
for (let u2 = 2; u2 <= parts.length; ++u2) {
const subPath = parts.slice(0, u2).join(this.pathUtils.sep);
if (!this.existsSync(subPath)) {
try {
this.mkdirSync(subPath);
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else {
throw error;
}
}
createdDirectory ??= subPath;
if (chmod != null)
this.chmodSync(subPath, chmod);
if (utimes != null) {
this.utimesSync(subPath, utimes[0], utimes[1]);
} else {
const parentStat = this.statSync(this.pathUtils.dirname(subPath));
this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
}
}
}
return createdDirectory;
}
async copyPromise(destination, source, { baseFs = this, overwrite: overwrite2 = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) {
return await copyPromise(this, destination, baseFs, source, { overwrite: overwrite2, stableSort, stableTime, linkStrategy });
}
copySync(destination, source, { baseFs = this, overwrite: overwrite2 = true } = {}) {
const stat2 = baseFs.lstatSync(source);
const exists = this.existsSync(destination);
if (stat2.isDirectory()) {
this.mkdirpSync(destination);
const directoryListing = baseFs.readdirSync(source);
for (const entry of directoryListing) {
this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite: overwrite2 });
}
} else if (stat2.isFile()) {
if (!exists || overwrite2) {
if (exists)
this.removeSync(destination);
const content = baseFs.readFileSync(source);
this.writeFileSync(destination, content);
}
} else if (stat2.isSymbolicLink()) {
if (!exists || overwrite2) {
if (exists)
this.removeSync(destination);
const target2 = baseFs.readlinkSync(source);
this.symlinkSync(convertPath(this.pathUtils, target2), destination);
}
} else {
throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat2.mode.toString(8).padStart(6, `0`)})`);
}
const mode = stat2.mode & 511;
this.chmodSync(destination, mode);
}
async changeFilePromise(p, content, opts3 = {}) {
if (Buffer.isBuffer(content)) {
return this.changeFileBufferPromise(p, content, opts3);
} else {
return this.changeFileTextPromise(p, content, opts3);
}
}
async changeFileBufferPromise(p, content, { mode } = {}) {
let current = Buffer.alloc(0);
try {
current = await this.readFilePromise(p);
} catch {
}
if (Buffer.compare(current, content) === 0)
return;
await this.writeFilePromise(p, content, { mode });
}
async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) {
let current = ``;
try {
current = await this.readFilePromise(p, `utf8`);
} catch {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
return;
await this.writeFilePromise(p, normalizedContent, { mode });
}
changeFileSync(p, content, opts3 = {}) {
if (Buffer.isBuffer(content)) {
return this.changeFileBufferSync(p, content, opts3);
} else {
return this.changeFileTextSync(p, content, opts3);
}
}
changeFileBufferSync(p, content, { mode } = {}) {
let current = Buffer.alloc(0);
try {
current = this.readFileSync(p);
} catch {
}
if (Buffer.compare(current, content) === 0)
return;
this.writeFileSync(p, content, { mode });
}
changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) {
let current = ``;
try {
current = this.readFileSync(p, `utf8`);
} catch {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
return;
this.writeFileSync(p, normalizedContent, { mode });
}
async movePromise(fromP, toP) {
try {
await this.renamePromise(fromP, toP);
} catch (error) {
if (error.code === `EXDEV`) {
await this.copyPromise(toP, fromP);
await this.removePromise(fromP);
} else {
throw error;
}
}
}
moveSync(fromP, toP) {
try {
this.renameSync(fromP, toP);
} catch (error) {
if (error.code === `EXDEV`) {
this.copySync(toP, fromP);
this.removeSync(fromP);
} else {
throw error;
}
}
}
async lockPromise(affectedPath, callback2) {
const lockPath = `${affectedPath}.flock`;
const interval = 1e3 / 60;
const startTime = Date.now();
let fd2 = null;
const isAlive = async () => {
let pid;
try {
[pid] = await this.readJsonPromise(lockPath);
} catch {
return Date.now() - startTime < 500;
}
try {
process.kill(pid, 0);
return true;
} catch {
return false;
}
};
while (fd2 === null) {
try {
fd2 = await this.openPromise(lockPath, `wx`);
} catch (error) {
if (error.code === `EEXIST`) {
if (!await isAlive()) {
try {
await this.unlinkPromise(lockPath);
continue;
} catch {
}
}
if (Date.now() - startTime < 60 * 1e3) {
await new Promise((resolve4) => setTimeout(resolve4, interval));
} else {
throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
}
} else {
throw error;
}
}
}
await this.writePromise(fd2, JSON.stringify([process.pid]));
try {
return await callback2();
} finally {
try {
await this.closePromise(fd2);
await this.unlinkPromise(lockPath);
} catch {
}
}
}
async readJsonPromise(p) {
const content = await this.readFilePromise(p, `utf8`);
try {
return JSON.parse(content);
} catch (error) {
error.message += ` (in ${p})`;
throw error;
}
}
readJsonSync(p) {
const content = this.readFileSync(p, `utf8`);
try {
return JSON.parse(content);
} catch (error) {
error.message += ` (in ${p})`;
throw error;
}
}
async writeJsonPromise(p, data, { compact = false } = {}) {
const space = compact ? 0 : 2;
return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)}
`);
}
writeJsonSync(p, data, { compact = false } = {}) {
const space = compact ? 0 : 2;
return this.writeFileSync(p, `${JSON.stringify(data, null, space)}
`);
}
async preserveTimePromise(p, cb) {
const stat2 = await this.lstatPromise(p);
const result2 = await cb();
if (typeof result2 !== `undefined`)
p = result2;
await this.lutimesPromise(p, stat2.atime, stat2.mtime);
}
async preserveTimeSync(p, cb) {
const stat2 = this.lstatSync(p);
const result2 = cb();
if (typeof result2 !== `undefined`)
p = result2;
this.lutimesSync(p, stat2.atime, stat2.mtime);
}
};
var BasePortableFakeFS = class extends FakeFS {
constructor() {
super(ppath);
}
};
function getEndOfLine(content) {
const matches2 = content.match(/\r?\n/g);
if (matches2 === null)
return os17.EOL;
const crlf = matches2.filter((nl) => nl === `\r
`).length;
const lf = matches2.length - crlf;
return crlf > lf ? `\r
` : `
`;
}
function normalizeLineEndings(originalContent, newContent) {
return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
}
var ProxiedFS = class extends FakeFS {
getExtractHint(hints) {
return this.baseFs.getExtractHint(hints);
}
resolve(path237) {
return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path237)));
}
getRealPath() {
return this.mapFromBase(this.baseFs.getRealPath());
}
async openPromise(p, flags, mode) {
return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
}
openSync(p, flags, mode) {
return this.baseFs.openSync(this.mapToBase(p), flags, mode);
}
async opendirPromise(p, opts3) {
return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts3), { path: p });
}
opendirSync(p, opts3) {
return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts3), { path: p });
}
async readPromise(fd2, buffer3, offset, length, position3) {
return await this.baseFs.readPromise(fd2, buffer3, offset, length, position3);
}
readSync(fd2, buffer3, offset, length, position3) {
return this.baseFs.readSync(fd2, buffer3, offset, length, position3);
}
async writePromise(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return await this.baseFs.writePromise(fd2, buffer3, offset);
} else {
return await this.baseFs.writePromise(fd2, buffer3, offset, length, position3);
}
}
writeSync(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return this.baseFs.writeSync(fd2, buffer3, offset);
} else {
return this.baseFs.writeSync(fd2, buffer3, offset, length, position3);
}
}
async closePromise(fd2) {
return this.baseFs.closePromise(fd2);
}
closeSync(fd2) {
this.baseFs.closeSync(fd2);
}
createReadStream(p, opts3) {
return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts3);
}
createWriteStream(p, opts3) {
return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts3);
}
async realpathPromise(p) {
return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
}
realpathSync(p) {
return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
}
async existsPromise(p) {
return this.baseFs.existsPromise(this.mapToBase(p));
}
existsSync(p) {
return this.baseFs.existsSync(this.mapToBase(p));
}
accessSync(p, mode) {
return this.baseFs.accessSync(this.mapToBase(p), mode);
}
async accessPromise(p, mode) {
return this.baseFs.accessPromise(this.mapToBase(p), mode);
}
async statPromise(p, opts3) {
return this.baseFs.statPromise(this.mapToBase(p), opts3);
}
statSync(p, opts3) {
return this.baseFs.statSync(this.mapToBase(p), opts3);
}
async fstatPromise(fd2, opts3) {
return this.baseFs.fstatPromise(fd2, opts3);
}
fstatSync(fd2, opts3) {
return this.baseFs.fstatSync(fd2, opts3);
}
lstatPromise(p, opts3) {
return this.baseFs.lstatPromise(this.mapToBase(p), opts3);
}
lstatSync(p, opts3) {
return this.baseFs.lstatSync(this.mapToBase(p), opts3);
}
async fchmodPromise(fd2, mask) {
return this.baseFs.fchmodPromise(fd2, mask);
}
fchmodSync(fd2, mask) {
return this.baseFs.fchmodSync(fd2, mask);
}
async chmodPromise(p, mask) {
return this.baseFs.chmodPromise(this.mapToBase(p), mask);
}
chmodSync(p, mask) {
return this.baseFs.chmodSync(this.mapToBase(p), mask);
}
async fchownPromise(fd2, uid, gid) {
return this.baseFs.fchownPromise(fd2, uid, gid);
}
fchownSync(fd2, uid, gid) {
return this.baseFs.fchownSync(fd2, uid, gid);
}
async chownPromise(p, uid, gid) {
return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
}
chownSync(p, uid, gid) {
return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
}
async renamePromise(oldP, newP) {
return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
}
renameSync(oldP, newP) {
return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
}
async copyFilePromise(sourceP, destP, flags = 0) {
return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
}
copyFileSync(sourceP, destP, flags = 0) {
return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
}
async appendFilePromise(p, content, opts3) {
return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts3);
}
appendFileSync(p, content, opts3) {
return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts3);
}
async writeFilePromise(p, content, opts3) {
return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts3);
}
writeFileSync(p, content, opts3) {
return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts3);
}
async unlinkPromise(p) {
return this.baseFs.unlinkPromise(this.mapToBase(p));
}
unlinkSync(p) {
return this.baseFs.unlinkSync(this.mapToBase(p));
}
async utimesPromise(p, atime, mtime) {
return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
}
utimesSync(p, atime, mtime) {
return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
}
async lutimesPromise(p, atime, mtime) {
return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime);
}
lutimesSync(p, atime, mtime) {
return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime);
}
async mkdirPromise(p, opts3) {
return this.baseFs.mkdirPromise(this.mapToBase(p), opts3);
}
mkdirSync(p, opts3) {
return this.baseFs.mkdirSync(this.mapToBase(p), opts3);
}
async rmdirPromise(p, opts3) {
return this.baseFs.rmdirPromise(this.mapToBase(p), opts3);
}
rmdirSync(p, opts3) {
return this.baseFs.rmdirSync(this.mapToBase(p), opts3);
}
async rmPromise(p, opts3) {
return this.baseFs.rmPromise(this.mapToBase(p), opts3);
}
rmSync(p, opts3) {
return this.baseFs.rmSync(this.mapToBase(p), opts3);
}
async linkPromise(existingP, newP) {
return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
}
linkSync(existingP, newP) {
return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
}
async symlinkPromise(target2, p, type4) {
const mappedP = this.mapToBase(p);
if (this.pathUtils.isAbsolute(target2))
return this.baseFs.symlinkPromise(this.mapToBase(target2), mappedP, type4);
const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target2));
const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
return this.baseFs.symlinkPromise(mappedTarget, mappedP, type4);
}
symlinkSync(target2, p, type4) {
const mappedP = this.mapToBase(p);
if (this.pathUtils.isAbsolute(target2))
return this.baseFs.symlinkSync(this.mapToBase(target2), mappedP, type4);
const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target2));
const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
return this.baseFs.symlinkSync(mappedTarget, mappedP, type4);
}
async readFilePromise(p, encoding) {
return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
}
readFileSync(p, encoding) {
return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
}
readdirPromise(p, opts3) {
return this.baseFs.readdirPromise(this.mapToBase(p), opts3);
}
readdirSync(p, opts3) {
return this.baseFs.readdirSync(this.mapToBase(p), opts3);
}
async readlinkPromise(p) {
return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
}
readlinkSync(p) {
return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
}
async truncatePromise(p, len) {
return this.baseFs.truncatePromise(this.mapToBase(p), len);
}
truncateSync(p, len) {
return this.baseFs.truncateSync(this.mapToBase(p), len);
}
async ftruncatePromise(fd2, len) {
return this.baseFs.ftruncatePromise(fd2, len);
}
ftruncateSync(fd2, len) {
return this.baseFs.ftruncateSync(fd2, len);
}
watch(p, a2, b) {
return this.baseFs.watch(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
watchFile(p, a2, b) {
return this.baseFs.watchFile(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
unwatchFile(p, cb) {
return this.baseFs.unwatchFile(this.mapToBase(p), cb);
}
fsMapToBase(p) {
if (typeof p === `number`) {
return p;
} else {
return this.mapToBase(p);
}
}
};
function direntToPortable(dirent) {
const portableDirent = dirent;
if (typeof dirent.path === `string`)
portableDirent.path = npath2.toPortablePath(dirent.path);
return portableDirent;
}
var NodeFS = class extends BasePortableFakeFS {
realFs;
constructor(realFs = fs__default.default) {
super();
this.realFs = realFs;
}
getExtractHint() {
return false;
}
getRealPath() {
return PortablePath.root;
}
resolve(p) {
return ppath.resolve(p);
}
async openPromise(p, flags, mode) {
return await new Promise((resolve4, reject3) => {
this.realFs.open(npath2.fromPortablePath(p), flags, mode, this.makeCallback(resolve4, reject3));
});
}
openSync(p, flags, mode) {
return this.realFs.openSync(npath2.fromPortablePath(p), flags, mode);
}
async opendirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (typeof opts3 !== `undefined`) {
this.realFs.opendir(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.opendir(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
}).then((dir) => {
const dirWithFixedPath = dir;
Object.defineProperty(dirWithFixedPath, `path`, {
value: p,
configurable: true,
writable: true
});
return dirWithFixedPath;
});
}
opendirSync(p, opts3) {
const dir = typeof opts3 !== `undefined` ? this.realFs.opendirSync(npath2.fromPortablePath(p), opts3) : this.realFs.opendirSync(npath2.fromPortablePath(p));
const dirWithFixedPath = dir;
Object.defineProperty(dirWithFixedPath, `path`, {
value: p,
configurable: true,
writable: true
});
return dirWithFixedPath;
}
async readPromise(fd2, buffer3, offset = 0, length = 0, position3 = -1) {
return await new Promise((resolve4, reject3) => {
this.realFs.read(fd2, buffer3, offset, length, position3, (error, bytesRead) => {
if (error) {
reject3(error);
} else {
resolve4(bytesRead);
}
});
});
}
readSync(fd2, buffer3, offset, length, position3) {
return this.realFs.readSync(fd2, buffer3, offset, length, position3);
}
async writePromise(fd2, buffer3, offset, length, position3) {
return await new Promise((resolve4, reject3) => {
if (typeof buffer3 === `string`) {
return this.realFs.write(fd2, buffer3, offset, this.makeCallback(resolve4, reject3));
} else {
return this.realFs.write(fd2, buffer3, offset, length, position3, this.makeCallback(resolve4, reject3));
}
});
}
writeSync(fd2, buffer3, offset, length, position3) {
if (typeof buffer3 === `string`) {
return this.realFs.writeSync(fd2, buffer3, offset);
} else {
return this.realFs.writeSync(fd2, buffer3, offset, length, position3);
}
}
async closePromise(fd2) {
await new Promise((resolve4, reject3) => {
this.realFs.close(fd2, this.makeCallback(resolve4, reject3));
});
}
closeSync(fd2) {
this.realFs.closeSync(fd2);
}
createReadStream(p, opts3) {
const realPath = p !== null ? npath2.fromPortablePath(p) : p;
return this.realFs.createReadStream(realPath, opts3);
}
createWriteStream(p, opts3) {
const realPath = p !== null ? npath2.fromPortablePath(p) : p;
return this.realFs.createWriteStream(realPath, opts3);
}
async realpathPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.realpath(npath2.fromPortablePath(p), {}, this.makeCallback(resolve4, reject3));
}).then((path237) => {
return npath2.toPortablePath(path237);
});
}
realpathSync(p) {
return npath2.toPortablePath(this.realFs.realpathSync(npath2.fromPortablePath(p), {}));
}
async existsPromise(p) {
return await new Promise((resolve4) => {
this.realFs.exists(npath2.fromPortablePath(p), resolve4);
});
}
accessSync(p, mode) {
return this.realFs.accessSync(npath2.fromPortablePath(p), mode);
}
async accessPromise(p, mode) {
return await new Promise((resolve4, reject3) => {
this.realFs.access(npath2.fromPortablePath(p), mode, this.makeCallback(resolve4, reject3));
});
}
existsSync(p) {
return this.realFs.existsSync(npath2.fromPortablePath(p));
}
async statPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.stat(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.stat(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
statSync(p, opts3) {
if (opts3) {
return this.realFs.statSync(npath2.fromPortablePath(p), opts3);
} else {
return this.realFs.statSync(npath2.fromPortablePath(p));
}
}
async fstatPromise(fd2, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.fstat(fd2, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.fstat(fd2, this.makeCallback(resolve4, reject3));
}
});
}
fstatSync(fd2, opts3) {
if (opts3) {
return this.realFs.fstatSync(fd2, opts3);
} else {
return this.realFs.fstatSync(fd2);
}
}
async lstatPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.lstat(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.lstat(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
lstatSync(p, opts3) {
if (opts3) {
return this.realFs.lstatSync(npath2.fromPortablePath(p), opts3);
} else {
return this.realFs.lstatSync(npath2.fromPortablePath(p));
}
}
async fchmodPromise(fd2, mask) {
return await new Promise((resolve4, reject3) => {
this.realFs.fchmod(fd2, mask, this.makeCallback(resolve4, reject3));
});
}
fchmodSync(fd2, mask) {
return this.realFs.fchmodSync(fd2, mask);
}
async chmodPromise(p, mask) {
return await new Promise((resolve4, reject3) => {
this.realFs.chmod(npath2.fromPortablePath(p), mask, this.makeCallback(resolve4, reject3));
});
}
chmodSync(p, mask) {
return this.realFs.chmodSync(npath2.fromPortablePath(p), mask);
}
async fchownPromise(fd2, uid, gid) {
return await new Promise((resolve4, reject3) => {
this.realFs.fchown(fd2, uid, gid, this.makeCallback(resolve4, reject3));
});
}
fchownSync(fd2, uid, gid) {
return this.realFs.fchownSync(fd2, uid, gid);
}
async chownPromise(p, uid, gid) {
return await new Promise((resolve4, reject3) => {
this.realFs.chown(npath2.fromPortablePath(p), uid, gid, this.makeCallback(resolve4, reject3));
});
}
chownSync(p, uid, gid) {
return this.realFs.chownSync(npath2.fromPortablePath(p), uid, gid);
}
async renamePromise(oldP, newP) {
return await new Promise((resolve4, reject3) => {
this.realFs.rename(npath2.fromPortablePath(oldP), npath2.fromPortablePath(newP), this.makeCallback(resolve4, reject3));
});
}
renameSync(oldP, newP) {
return this.realFs.renameSync(npath2.fromPortablePath(oldP), npath2.fromPortablePath(newP));
}
async copyFilePromise(sourceP, destP, flags = 0) {
return await new Promise((resolve4, reject3) => {
this.realFs.copyFile(npath2.fromPortablePath(sourceP), npath2.fromPortablePath(destP), flags, this.makeCallback(resolve4, reject3));
});
}
copyFileSync(sourceP, destP, flags = 0) {
return this.realFs.copyFileSync(npath2.fromPortablePath(sourceP), npath2.fromPortablePath(destP), flags);
}
async appendFilePromise(p, content, opts3) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
if (opts3) {
this.realFs.appendFile(fsNativePath, content, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve4, reject3));
}
});
}
appendFileSync(p, content, opts3) {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
if (opts3) {
this.realFs.appendFileSync(fsNativePath, content, opts3);
} else {
this.realFs.appendFileSync(fsNativePath, content);
}
}
async writeFilePromise(p, content, opts3) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
if (opts3) {
this.realFs.writeFile(fsNativePath, content, opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve4, reject3));
}
});
}
writeFileSync(p, content, opts3) {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
if (opts3) {
this.realFs.writeFileSync(fsNativePath, content, opts3);
} else {
this.realFs.writeFileSync(fsNativePath, content);
}
}
async unlinkPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.unlink(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
});
}
unlinkSync(p) {
return this.realFs.unlinkSync(npath2.fromPortablePath(p));
}
async utimesPromise(p, atime, mtime) {
return await new Promise((resolve4, reject3) => {
this.realFs.utimes(npath2.fromPortablePath(p), atime, mtime, this.makeCallback(resolve4, reject3));
});
}
utimesSync(p, atime, mtime) {
this.realFs.utimesSync(npath2.fromPortablePath(p), atime, mtime);
}
async lutimesPromise(p, atime, mtime) {
return await new Promise((resolve4, reject3) => {
this.realFs.lutimes(npath2.fromPortablePath(p), atime, mtime, this.makeCallback(resolve4, reject3));
});
}
lutimesSync(p, atime, mtime) {
this.realFs.lutimesSync(npath2.fromPortablePath(p), atime, mtime);
}
async mkdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
this.realFs.mkdir(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
});
}
mkdirSync(p, opts3) {
return this.realFs.mkdirSync(npath2.fromPortablePath(p), opts3);
}
async rmdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.rmdir(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.rmdir(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
rmdirSync(p, opts3) {
return this.realFs.rmdirSync(npath2.fromPortablePath(p), opts3);
}
async rmPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
this.realFs.rm(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
} else {
this.realFs.rm(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
rmSync(p, opts3) {
return this.realFs.rmSync(npath2.fromPortablePath(p), opts3);
}
async linkPromise(existingP, newP) {
return await new Promise((resolve4, reject3) => {
this.realFs.link(npath2.fromPortablePath(existingP), npath2.fromPortablePath(newP), this.makeCallback(resolve4, reject3));
});
}
linkSync(existingP, newP) {
return this.realFs.linkSync(npath2.fromPortablePath(existingP), npath2.fromPortablePath(newP));
}
async symlinkPromise(target2, p, type4) {
return await new Promise((resolve4, reject3) => {
this.realFs.symlink(npath2.fromPortablePath(target2.replace(/\/+$/, ``)), npath2.fromPortablePath(p), type4, this.makeCallback(resolve4, reject3));
});
}
symlinkSync(target2, p, type4) {
return this.realFs.symlinkSync(npath2.fromPortablePath(target2.replace(/\/+$/, ``)), npath2.fromPortablePath(p), type4);
}
async readFilePromise(p, encoding) {
return await new Promise((resolve4, reject3) => {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve4, reject3));
});
}
readFileSync(p, encoding) {
const fsNativePath = typeof p === `string` ? npath2.fromPortablePath(p) : p;
return this.realFs.readFileSync(fsNativePath, encoding);
}
async readdirPromise(p, opts3) {
return await new Promise((resolve4, reject3) => {
if (opts3) {
if (opts3.recursive && process.platform === `win32`) {
if (opts3.withFileTypes) {
this.realFs.readdir(npath2.fromPortablePath(p), opts3, this.makeCallback((results) => resolve4(results.map(direntToPortable)), reject3));
} else {
this.realFs.readdir(npath2.fromPortablePath(p), opts3, this.makeCallback((results) => resolve4(results.map(npath2.toPortablePath)), reject3));
}
} else {
this.realFs.readdir(npath2.fromPortablePath(p), opts3, this.makeCallback(resolve4, reject3));
}
} else {
this.realFs.readdir(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}
});
}
readdirSync(p, opts3) {
if (opts3) {
if (opts3.recursive && process.platform === `win32`) {
if (opts3.withFileTypes) {
return this.realFs.readdirSync(npath2.fromPortablePath(p), opts3).map(direntToPortable);
} else {
return this.realFs.readdirSync(npath2.fromPortablePath(p), opts3).map(npath2.toPortablePath);
}
} else {
return this.realFs.readdirSync(npath2.fromPortablePath(p), opts3);
}
} else {
return this.realFs.readdirSync(npath2.fromPortablePath(p));
}
}
async readlinkPromise(p) {
return await new Promise((resolve4, reject3) => {
this.realFs.readlink(npath2.fromPortablePath(p), this.makeCallback(resolve4, reject3));
}).then((path237) => {
return npath2.toPortablePath(path237);
});
}
readlinkSync(p) {
return npath2.toPortablePath(this.realFs.readlinkSync(npath2.fromPortablePath(p)));
}
async truncatePromise(p, len) {
return await new Promise((resolve4, reject3) => {
this.realFs.truncate(npath2.fromPortablePath(p), len, this.makeCallback(resolve4, reject3));
});
}
truncateSync(p, len) {
return this.realFs.truncateSync(npath2.fromPortablePath(p), len);
}
async ftruncatePromise(fd2, len) {
return await new Promise((resolve4, reject3) => {
this.realFs.ftruncate(fd2, len, this.makeCallback(resolve4, reject3));
});
}
ftruncateSync(fd2, len) {
return this.realFs.ftruncateSync(fd2, len);
}
watch(p, a2, b) {
return this.realFs.watch(
npath2.fromPortablePath(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
watchFile(p, a2, b) {
return this.realFs.watchFile(
npath2.fromPortablePath(p),
// @ts-expect-error - reason TBS
a2,
b
);
}
unwatchFile(p, cb) {
return this.realFs.unwatchFile(npath2.fromPortablePath(p), cb);
}
makeCallback(resolve4, reject3) {
return (err2, result2) => {
if (err2) {
reject3(err2);
} else {
resolve4(result2);
}
};
}
};
var NUMBER_REGEXP = /^[0-9]+$/;
var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
var VirtualFS = class _VirtualFS extends ProxiedFS {
baseFs;
static makeVirtualPath(base, component, to) {
if (ppath.basename(base) !== `__virtual__`)
throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
if (!ppath.basename(component).match(VALID_COMPONENT))
throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`);
const target2 = ppath.relative(ppath.dirname(base), to);
const segments = target2.split(`/`);
let depth = 0;
while (depth < segments.length && segments[depth] === `..`)
depth += 1;
const finalSegments = segments.slice(depth);
const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments);
return fullVirtualPath;
}
static resolveVirtual(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match || !match[3] && match[5])
return p;
const target2 = ppath.dirname(match[1]);
if (!match[3] || !match[4])
return target2;
const isnum = NUMBER_REGEXP.test(match[4]);
if (!isnum)
return p;
const depth = Number(match[4]);
const backstep = `../`.repeat(depth);
const subpath = match[5] || `.`;
return _VirtualFS.resolveVirtual(ppath.join(target2, backstep, subpath));
}
constructor({ baseFs = new NodeFS() } = {}) {
super(ppath);
this.baseFs = baseFs;
}
getExtractHint(hints) {
return this.baseFs.getExtractHint(hints);
}
getRealPath() {
return this.baseFs.getRealPath();
}
realpathSync(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match)
return this.baseFs.realpathSync(p);
if (!match[5])
return p;
const realpath4 = this.baseFs.realpathSync(this.mapToBase(p));
return _VirtualFS.makeVirtualPath(match[1], match[3], realpath4);
}
async realpathPromise(p) {
const match = p.match(VIRTUAL_REGEXP);
if (!match)
return await this.baseFs.realpathPromise(p);
if (!match[5])
return p;
const realpath4 = await this.baseFs.realpathPromise(this.mapToBase(p));
return _VirtualFS.makeVirtualPath(match[1], match[3], realpath4);
}
mapToBase(p) {
if (p === ``)
return p;
if (this.pathUtils.isAbsolute(p))
return _VirtualFS.resolveVirtual(p);
const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot));
const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p));
return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot;
}
mapFromBase(p) {
return p;
}
};
var prettyJsonMachine = {
[
"DEFAULT"
/* DEFAULT */
]: {
collapsed: false,
next: {
[`*`]: "DEFAULT"
/* DEFAULT */
}
},
// {
// "fallbackExclusionList": ...
// }
[
"TOP_LEVEL"
/* TOP_LEVEL */
]: {
collapsed: false,
next: {
[`fallbackExclusionList`]: "FALLBACK_EXCLUSION_LIST",
[`packageRegistryData`]: "PACKAGE_REGISTRY_DATA",
[`*`]: "DEFAULT"
/* DEFAULT */
}
},
// "fallbackExclusionList": [
// ...
// ]
[
"FALLBACK_EXCLUSION_LIST"
/* FALLBACK_EXCLUSION_LIST */
]: {
collapsed: false,
next: {
[`*`]: "FALLBACK_EXCLUSION_ENTRIES"
/* FALLBACK_EXCLUSION_ENTRIES */
}
},
// "fallbackExclusionList": [
// [...]
// ]
[
"FALLBACK_EXCLUSION_ENTRIES"
/* FALLBACK_EXCLUSION_ENTRIES */
]: {
collapsed: true,
next: {
[`*`]: "FALLBACK_EXCLUSION_DATA"
/* FALLBACK_EXCLUSION_DATA */
}
},
// "fallbackExclusionList": [
// [..., [...]]
// ]
[
"FALLBACK_EXCLUSION_DATA"
/* FALLBACK_EXCLUSION_DATA */
]: {
collapsed: true,
next: {
[`*`]: "DEFAULT"
/* DEFAULT */
}
},
// "packageRegistryData": [
// ...
// ]
[
"PACKAGE_REGISTRY_DATA"
/* PACKAGE_REGISTRY_DATA */
]: {
collapsed: false,
next: {
[`*`]: "PACKAGE_REGISTRY_ENTRIES"
/* PACKAGE_REGISTRY_ENTRIES */
}
},
// "packageRegistryData": [
// [...]
// ]
[
"PACKAGE_REGISTRY_ENTRIES"
/* PACKAGE_REGISTRY_ENTRIES */
]: {
collapsed: true,
next: {
[`*`]: "PACKAGE_STORE_DATA"
/* PACKAGE_STORE_DATA */
}
},
// "packageRegistryData": [
// [..., [
// ...
// ]]
// ]
[
"PACKAGE_STORE_DATA"
/* PACKAGE_STORE_DATA */
]: {
collapsed: false,
next: {
[`*`]: "PACKAGE_STORE_ENTRIES"
/* PACKAGE_STORE_ENTRIES */
}
},
// "packageRegistryData": [
// [..., [
// [...]
// ]]
// ]
[
"PACKAGE_STORE_ENTRIES"
/* PACKAGE_STORE_ENTRIES */
]: {
collapsed: true,
next: {
[`*`]: "PACKAGE_INFORMATION_DATA"
/* PACKAGE_INFORMATION_DATA */
}
},
// "packageRegistryData": [
// [..., [
// [..., {
// ...
// }]
// ]]
// ]
[
"PACKAGE_INFORMATION_DATA"
/* PACKAGE_INFORMATION_DATA */
]: {
collapsed: false,
next: {
[`packageDependencies`]: "PACKAGE_DEPENDENCIES",
[`*`]: "DEFAULT"
/* DEFAULT */
}
},
// "packageRegistryData": [
// [..., [
// [..., {
// "packagePeers": [
// ...
// ]
// }]
// ]]
// ]
[
"PACKAGE_DEPENDENCIES"
/* PACKAGE_DEPENDENCIES */
]: {
collapsed: false,
next: {
[`*`]: "PACKAGE_DEPENDENCY"
/* PACKAGE_DEPENDENCY */
}
},
// "packageRegistryData": [
// [..., [
// [..., {
// "packageDependencies": [
// [...]
// ]
// }]
// ]]
// ]
[
"PACKAGE_DEPENDENCY"
/* PACKAGE_DEPENDENCY */
]: {
collapsed: true,
next: {
[`*`]: "DEFAULT"
/* DEFAULT */
}
}
};
function generateCollapsedArray(data, state, indent) {
let result2 = ``;
result2 += `[`;
for (let t2 = 0, T2 = data.length; t2 < T2; ++t2) {
result2 += generateNext(String(t2), data[t2], state, indent).replace(/^ +/g, ``);
if (t2 + 1 < T2) {
result2 += `, `;
}
}
result2 += `]`;
return result2;
}
function generateExpandedArray(data, state, indent) {
const nextIndent = `${indent} `;
let result2 = ``;
result2 += indent;
result2 += `[
`;
for (let t2 = 0, T2 = data.length; t2 < T2; ++t2) {
result2 += nextIndent + generateNext(String(t2), data[t2], state, nextIndent).replace(/^ +/, ``);
if (t2 + 1 < T2)
result2 += `,`;
result2 += `
`;
}
result2 += indent;
result2 += `]`;
return result2;
}
function generateCollapsedObject(data, state, indent) {
const keys4 = Object.keys(data);
let result2 = ``;
result2 += `{`;
for (let t2 = 0, T2 = keys4.length, keysPrinted = 0; t2 < T2; ++t2) {
const key = keys4[t2];
const value = data[key];
if (typeof value === `undefined`)
continue;
if (keysPrinted !== 0)
result2 += `, `;
result2 += JSON.stringify(key);
result2 += `: `;
result2 += generateNext(key, value, state, indent).replace(/^ +/g, ``);
keysPrinted += 1;
}
result2 += `}`;
return result2;
}
function generateExpandedObject(data, state, indent) {
const keys4 = Object.keys(data);
const nextIndent = `${indent} `;
let result2 = ``;
result2 += indent;
result2 += `{
`;
let keysPrinted = 0;
for (let t2 = 0, T2 = keys4.length; t2 < T2; ++t2) {
const key = keys4[t2];
const value = data[key];
if (typeof value === `undefined`)
continue;
if (keysPrinted !== 0) {
result2 += `,`;
result2 += `
`;
}
result2 += nextIndent;
result2 += JSON.stringify(key);
result2 += `: `;
result2 += generateNext(key, value, state, nextIndent).replace(/^ +/g, ``);
keysPrinted += 1;
}
if (keysPrinted !== 0)
result2 += `
`;
result2 += indent;
result2 += `}`;
return result2;
}
function generateNext(key, data, state, indent) {
const { next: next2 } = prettyJsonMachine[state];
const nextState = next2[key] || next2[`*`];
return generate(data, nextState, indent);
}
function generate(data, state, indent) {
const { collapsed } = prettyJsonMachine[state];
if (Array.isArray(data)) {
if (collapsed) {
return generateCollapsedArray(data, state, indent);
} else {
return generateExpandedArray(data, state, indent);
}
}
if (typeof data === `object` && data !== null) {
if (collapsed) {
return generateCollapsedObject(data, state, indent);
} else {
return generateExpandedObject(data, state, indent);
}
}
return JSON.stringify(data);
}
function generatePrettyJson(data) {
return generate(data, "TOP_LEVEL", ``);
}
function sortMap2(values, mappers) {
const asArray = Array.from(values);
if (!Array.isArray(mappers))
mappers = [mappers];
const stringified = [];
for (const mapper of mappers)
stringified.push(asArray.map((value) => mapper(value)));
const indices = asArray.map((_, index2) => index2);
indices.sort((a2, b) => {
for (const layer of stringified) {
const comparison = layer[a2] < layer[b] ? -1 : layer[a2] > layer[b] ? 1 : 0;
if (comparison !== 0) {
return comparison;
}
}
return 0;
});
return indices.map((index2) => {
return asArray[index2];
});
}
function generateFallbackExclusionList(settings) {
const fallbackExclusionList = /* @__PURE__ */ new Map();
const sortedData = sortMap2(settings.fallbackExclusionList || [], [
({ name, reference }) => name,
({ name, reference }) => reference
]);
for (const { name, reference } of sortedData) {
let references = fallbackExclusionList.get(name);
if (typeof references === `undefined`)
fallbackExclusionList.set(name, references = /* @__PURE__ */ new Set());
references.add(reference);
}
return Array.from(fallbackExclusionList).map(([name, references]) => {
return [name, Array.from(references)];
});
}
function generateFallbackPoolData(settings) {
return sortMap2(settings.fallbackPool || [], ([name]) => name);
}
function generatePackageRegistryData(settings) {
const packageRegistryData = [];
const topLevelPackageLocator = settings.dependencyTreeRoots.find((locator) => {
return settings.packageRegistry.get(locator.name)?.get(locator.reference)?.packageLocation === `./`;
});
for (const [packageName, packageStore] of sortMap2(settings.packageRegistry, ([packageName2]) => packageName2 === null ? `0` : `1${packageName2}`)) {
if (packageName === null)
continue;
const packageStoreData = [];
packageRegistryData.push([packageName, packageStoreData]);
for (const [packageReference, { packageLocation, packageDependencies, packagePeers, linkType, discardFromLookup }] of sortMap2(packageStore, ([packageReference2]) => packageReference2 === null ? `0` : `1${packageReference2}`)) {
if (packageReference === null)
continue;
const normalizedDependencies = [];
if (packageName !== null && packageReference !== null && !packageDependencies.has(packageName))
normalizedDependencies.push([packageName, packageReference]);
for (const [dependencyName, dependencyReference] of packageDependencies)
normalizedDependencies.push([dependencyName, dependencyReference]);
const sortedDependencies2 = sortMap2(normalizedDependencies, ([dependencyName]) => dependencyName);
const normalizedPeers = packagePeers && packagePeers.size > 0 ? Array.from(packagePeers) : void 0;
const normalizedDiscardFromLookup = discardFromLookup ? discardFromLookup : void 0;
const packageData = {
packageLocation,
packageDependencies: sortedDependencies2,
packagePeers: normalizedPeers,
linkType,
discardFromLookup: normalizedDiscardFromLookup
};
packageStoreData.push([packageReference, packageData]);
if (topLevelPackageLocator && packageName === topLevelPackageLocator.name && packageReference === topLevelPackageLocator.reference) {
packageRegistryData.unshift([null, [[null, packageData]]]);
}
}
}
return packageRegistryData;
}
function generateSerializedState(settings) {
return {
// @eslint-ignore-next-line @typescript-eslint/naming-convention
__info: [
`This file is automatically generated. Do not touch it, or risk`,
`your modifications being lost.`
],
dependencyTreeRoots: settings.dependencyTreeRoots,
enableTopLevelFallback: settings.enableTopLevelFallback || false,
ignorePatternData: settings.ignorePattern || null,
pnpZipBackend: settings.pnpZipBackend,
fallbackExclusionList: generateFallbackExclusionList(settings),
fallbackPool: generateFallbackPoolData(settings),
packageRegistryData: generatePackageRegistryData(settings)
};
}
var hook$1;
var hook_1 = () => {
if (typeof hook$1 === `undefined`)
hook$1 = require$$0__default.default.brotliDecompressSync(Buffer.from("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", "base64")).toString();
return hook$1;
};
function generateLoader(shebang, loader2) {
return [
shebang ? `${shebang}
` : ``,
`/* eslint-disable */
`,
`// @ts-nocheck
`,
`"use strict";
`,
`
`,
loader2,
`
`,
hook_1()
].join(``);
}
function generateJsonString(data) {
return JSON.stringify(data, null, 2);
}
function generateStringLiteral(value) {
return `'${value.replace(/\\/g, `\\\\`).replace(/'/g, `\\'`).replace(/\n/g, `\\
`)}'`;
}
function generateInlinedSetup(data) {
return [
`const RAW_RUNTIME_STATE =
`,
`${generateStringLiteral(generatePrettyJson(data))};
`,
`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,
` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname});
`,
`}
`
].join(``);
}
function generateSplitSetup() {
return [
`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,
` const fs = require('fs');
`,
` const path = require('path');
`,
` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Filename.pnpData)});
`,
` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname});
`,
`}
`
].join(``);
}
function generateInlinedScript2(settings) {
const data = generateSerializedState(settings);
const setup = generateInlinedSetup(data);
const loaderFile = generateLoader(settings.shebang, setup);
return loaderFile;
}
function generateSplitScript(settings) {
const data = generateSerializedState(settings);
const setup = generateSplitSetup();
const loaderFile = generateLoader(settings.shebang, setup);
return { dataFile: generateJsonString(data), loaderFile };
}
function hydrateRuntimeState(data, { basePath }) {
const portablePath = npath2.toPortablePath(basePath);
const absolutePortablePath = ppath.resolve(portablePath);
const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null;
const packageLocatorsByLocations = /* @__PURE__ */ new Map();
const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => {
return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => {
if (packageName === null !== (packageReference === null))
throw new Error(`Assertion failed: The name and reference should be null, or neither should`);
const discardFromLookup = packageInformationData.discardFromLookup ?? false;
const packageLocator = { name: packageName, reference: packageReference };
const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation);
if (!entry) {
packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup });
} else {
entry.discardFromLookup = entry.discardFromLookup && discardFromLookup;
if (!discardFromLookup) {
entry.locator = packageLocator;
}
}
let resolvedPackageLocation = null;
return [packageReference, {
packageDependencies: new Map(packageInformationData.packageDependencies),
packagePeers: new Set(packageInformationData.packagePeers),
linkType: packageInformationData.linkType,
discardFromLookup,
// we only need this for packages that are used by the currently running script
// this is a lazy getter because `ppath.join` has some overhead
get packageLocation() {
return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation));
}
}];
}))];
}));
const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => {
return [packageName, new Set(packageReferences)];
}));
const fallbackPool = new Map(data.fallbackPool);
const dependencyTreeRoots = data.dependencyTreeRoots;
const enableTopLevelFallback = data.enableTopLevelFallback;
return {
basePath: portablePath,
dependencyTreeRoots,
enableTopLevelFallback,
fallbackExclusionList,
pnpZipBackend: data.pnpZipBackend,
fallbackPool,
ignorePattern,
packageLocatorsByLocations,
packageRegistry
};
}
var ArrayIsArray = Array.isArray;
var JSONStringify = JSON.stringify;
var ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
var ObjectPrototypeHasOwnProperty = (obj, prop3) => Object.prototype.hasOwnProperty.call(obj, prop3);
var RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string);
var RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest);
var StringPrototypeEndsWith = (str2, ...rest) => String.prototype.endsWith.apply(str2, rest);
var StringPrototypeIncludes = (str2, ...rest) => String.prototype.includes.apply(str2, rest);
var StringPrototypeLastIndexOf = (str2, ...rest) => String.prototype.lastIndexOf.apply(str2, rest);
var StringPrototypeIndexOf = (str2, ...rest) => String.prototype.indexOf.apply(str2, rest);
var StringPrototypeReplace = (str2, ...rest) => String.prototype.replace.apply(str2, rest);
var StringPrototypeSlice = (str2, ...rest) => String.prototype.slice.apply(str2, rest);
var StringPrototypeStartsWith = (str2, ...rest) => String.prototype.startsWith.apply(str2, rest);
var SafeMap = Map;
var JSONParse = JSON.parse;
function createErrorType(code, messageCreator, errorType) {
return class extends errorType {
constructor(...args) {
super(messageCreator(...args));
this.code = code;
this.name = `${errorType.name} [${code}]`;
}
};
}
var ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType(
`ERR_PACKAGE_IMPORT_NOT_DEFINED`,
(specifier, packagePath, base) => {
return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`;
},
TypeError
);
var ERR_INVALID_MODULE_SPECIFIER = createErrorType(
`ERR_INVALID_MODULE_SPECIFIER`,
(request, reason, base = void 0) => {
return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`;
},
TypeError
);
var ERR_INVALID_PACKAGE_TARGET = createErrorType(
`ERR_INVALID_PACKAGE_TARGET`,
(pkgPath, key, target2, isImport = false, base = void 0) => {
const relError = typeof target2 === `string` && !isImport && target2.length && !StringPrototypeStartsWith(target2, `./`);
if (key === `.`) {
assert__default.default(isImport === false);
return `Invalid "exports" main target ${JSONStringify(target2)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
}
return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify(
target2
)} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
},
Error
);
var ERR_INVALID_PACKAGE_CONFIG = createErrorType(
`ERR_INVALID_PACKAGE_CONFIG`,
(path237, base, message) => {
return `Invalid package config ${path237}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`;
},
Error
);
var ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType(
"ERR_PACKAGE_PATH_NOT_EXPORTED",
(pkgPath, subpath, base = void 0) => {
if (subpath === ".")
return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
},
Error
);
function filterOwnProperties(source, keys4) {
const filtered = /* @__PURE__ */ Object.create(null);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
if (ObjectPrototypeHasOwnProperty(source, key)) {
filtered[key] = source[key];
}
}
return filtered;
}
var packageJSONCache = new SafeMap();
function getPackageConfig(path237, specifier, base, readFileSyncFn) {
const existing = packageJSONCache.get(path237);
if (existing !== void 0) {
return existing;
}
const source = readFileSyncFn(path237);
if (source === void 0) {
const packageConfig2 = {
pjsonPath: path237,
exists: false,
main: void 0,
name: void 0,
type: "none",
exports: void 0,
imports: void 0
};
packageJSONCache.set(path237, packageConfig2);
return packageConfig2;
}
let packageJSON;
try {
packageJSON = JSONParse(source);
} catch (error) {
throw new ERR_INVALID_PACKAGE_CONFIG(
path237,
(base ? `"${specifier}" from ` : "") + url7.fileURLToPath(base || specifier),
error.message
);
}
let { imports, main: main5, name, type: type4 } = filterOwnProperties(packageJSON, [
"imports",
"main",
"name",
"type"
]);
const exports3 = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0;
if (typeof imports !== "object" || imports === null) {
imports = void 0;
}
if (typeof main5 !== "string") {
main5 = void 0;
}
if (typeof name !== "string") {
name = void 0;
}
if (type4 !== "module" && type4 !== "commonjs") {
type4 = "none";
}
const packageConfig = {
pjsonPath: path237,
exists: true,
main: main5,
name,
type: type4,
exports: exports3,
imports
};
packageJSONCache.set(path237, packageConfig);
return packageConfig;
}
function getPackageScopeConfig(resolved, readFileSyncFn) {
let packageJSONUrl = new URL("./package.json", resolved);
while (true) {
const packageJSONPath2 = packageJSONUrl.pathname;
if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) {
break;
}
const packageConfig2 = getPackageConfig(
url7.fileURLToPath(packageJSONUrl),
resolved,
void 0,
readFileSyncFn
);
if (packageConfig2.exists) {
return packageConfig2;
}
const lastPackageJSONUrl = packageJSONUrl;
packageJSONUrl = new URL("../package.json", packageJSONUrl);
if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) {
break;
}
}
const packageJSONPath = url7.fileURLToPath(packageJSONUrl);
const packageConfig = {
pjsonPath: packageJSONPath,
exists: false,
main: void 0,
name: void 0,
type: "none",
exports: void 0,
imports: void 0
};
packageJSONCache.set(packageJSONPath, packageConfig);
return packageConfig;
}
function throwImportNotDefined(specifier, packageJSONUrl, base) {
throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
specifier,
packageJSONUrl && url7.fileURLToPath(new URL(".", packageJSONUrl)),
url7.fileURLToPath(base)
);
}
function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {
const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url7.fileURLToPath(packageJSONUrl)}`;
throw new ERR_INVALID_MODULE_SPECIFIER(
subpath,
reason,
base && url7.fileURLToPath(base)
);
}
function throwInvalidPackageTarget(subpath, target2, packageJSONUrl, internal, base) {
if (typeof target2 === "object" && target2 !== null) {
target2 = JSONStringify(target2, null, "");
} else {
target2 = `${target2}`;
}
throw new ERR_INVALID_PACKAGE_TARGET(
url7.fileURLToPath(new URL(".", packageJSONUrl)),
subpath,
target2,
internal,
base && url7.fileURLToPath(base)
);
}
var invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i;
var patternRegEx = /\*/g;
function resolvePackageTargetString(target2, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {
if (subpath !== "" && !pattern && target2[target2.length - 1] !== "/")
throwInvalidPackageTarget(match, target2, packageJSONUrl, internal, base);
if (!StringPrototypeStartsWith(target2, "./")) {
if (internal && !StringPrototypeStartsWith(target2, "../") && !StringPrototypeStartsWith(target2, "/")) {
let isURL = false;
try {
new URL(target2);
isURL = true;
} catch {
}
if (!isURL) {
const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target2, () => subpath) : target2 + subpath;
return exportTarget;
}
}
throwInvalidPackageTarget(match, target2, packageJSONUrl, internal, base);
}
if (RegExpPrototypeExec(
invalidSegmentRegEx,
StringPrototypeSlice(target2, 2)
) !== null)
throwInvalidPackageTarget(match, target2, packageJSONUrl, internal, base);
const resolved = new URL(target2, packageJSONUrl);
const resolvedPath = resolved.pathname;
const packagePath = new URL(".", packageJSONUrl).pathname;
if (!StringPrototypeStartsWith(resolvedPath, packagePath))
throwInvalidPackageTarget(match, target2, packageJSONUrl, internal, base);
if (subpath === "") return resolved;
if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) {
const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath;
throwInvalidSubpath(request, packageJSONUrl, internal, base);
}
if (pattern) {
return new URL(
RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath)
);
}
return new URL(subpath, resolved);
}
function isArrayIndex2(key) {
const keyNum = +key;
if (`${keyNum}` !== key) return false;
return keyNum >= 0 && keyNum < 4294967295;
}
function resolvePackageTarget(packageJSONUrl, target2, subpath, packageSubpath, base, pattern, internal, conditions) {
if (typeof target2 === "string") {
return resolvePackageTargetString(
target2,
subpath,
packageSubpath,
packageJSONUrl,
base,
pattern,
internal
);
} else if (ArrayIsArray(target2)) {
if (target2.length === 0) {
return null;
}
let lastException;
for (let i4 = 0; i4 < target2.length; i4++) {
const targetItem = target2[i4];
let resolveResult;
try {
resolveResult = resolvePackageTarget(
packageJSONUrl,
targetItem,
subpath,
packageSubpath,
base,
pattern,
internal,
conditions
);
} catch (e) {
lastException = e;
if (e.code === "ERR_INVALID_PACKAGE_TARGET") {
continue;
}
throw e;
}
if (resolveResult === void 0) {
continue;
}
if (resolveResult === null) {
lastException = null;
continue;
}
return resolveResult;
}
if (lastException === void 0 || lastException === null)
return lastException;
throw lastException;
} else if (typeof target2 === "object" && target2 !== null) {
const keys4 = ObjectGetOwnPropertyNames(target2);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
if (isArrayIndex2(key)) {
throw new ERR_INVALID_PACKAGE_CONFIG(
url7.fileURLToPath(packageJSONUrl),
base,
'"exports" cannot contain numeric property keys.'
);
}
}
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
if (key === "default" || conditions.has(key)) {
const conditionalTarget = target2[key];
const resolveResult = resolvePackageTarget(
packageJSONUrl,
conditionalTarget,
subpath,
packageSubpath,
base,
pattern,
internal,
conditions
);
if (resolveResult === void 0) continue;
return resolveResult;
}
}
return void 0;
} else if (target2 === null) {
return null;
}
throwInvalidPackageTarget(
packageSubpath,
target2,
packageJSONUrl,
internal,
base
);
}
function patternKeyCompare(a2, b) {
const aPatternIndex = StringPrototypeIndexOf(a2, "*");
const bPatternIndex = StringPrototypeIndexOf(b, "*");
const baseLenA = aPatternIndex === -1 ? a2.length : aPatternIndex + 1;
const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
if (baseLenA > baseLenB) return -1;
if (baseLenB > baseLenA) return 1;
if (aPatternIndex === -1) return 1;
if (bPatternIndex === -1) return -1;
if (a2.length > b.length) return -1;
if (b.length > a2.length) return 1;
return 0;
}
function isConditionalExportsMainSugar(exports3, packageJSONUrl, base) {
if (typeof exports3 === "string" || ArrayIsArray(exports3)) return true;
if (typeof exports3 !== "object" || exports3 === null) return false;
const keys4 = ObjectGetOwnPropertyNames(exports3);
let isConditionalSugar = false;
let i4 = 0;
for (let j2 = 0; j2 < keys4.length; j2++) {
const key = keys4[j2];
const curIsConditionalSugar = key === "" || key[0] !== ".";
if (i4++ === 0) {
isConditionalSugar = curIsConditionalSugar;
} else if (isConditionalSugar !== curIsConditionalSugar) {
throw new ERR_INVALID_PACKAGE_CONFIG(
url7.fileURLToPath(packageJSONUrl),
base,
`"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`
);
}
}
return isConditionalSugar;
}
function throwExportsNotFound(subpath, packageJSONUrl, base) {
throw new ERR_PACKAGE_PATH_NOT_EXPORTED(
url7.fileURLToPath(new URL(".", packageJSONUrl)),
subpath,
base && url7.fileURLToPath(base)
);
}
var emittedPackageWarnings = /* @__PURE__ */ new Set();
function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {
const pjsonPath = url7.fileURLToPath(pjsonUrl);
if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return;
emittedPackageWarnings.add(pjsonPath + "|" + match);
process.emitWarning(
`Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url7.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`,
"DeprecationWarning",
"DEP0155"
);
}
function packageExportsResolve({
packageJSONUrl,
packageSubpath,
exports: exports3,
base,
conditions
}) {
if (isConditionalExportsMainSugar(exports3, packageJSONUrl, base))
exports3 = { ".": exports3 };
if (ObjectPrototypeHasOwnProperty(exports3, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) {
const target2 = exports3[packageSubpath];
const resolveResult = resolvePackageTarget(
packageJSONUrl,
target2,
"",
packageSubpath,
base,
false,
false,
conditions
);
if (resolveResult == null) {
throwExportsNotFound(packageSubpath, packageJSONUrl, base);
}
return resolveResult;
}
let bestMatch = "";
let bestMatchSubpath;
const keys4 = ObjectGetOwnPropertyNames(exports3);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const patternIndex = StringPrototypeIndexOf(key, "*");
if (patternIndex !== -1 && StringPrototypeStartsWith(
packageSubpath,
StringPrototypeSlice(key, 0, patternIndex)
)) {
if (StringPrototypeEndsWith(packageSubpath, "/"))
emitTrailingSlashPatternDeprecation(
packageSubpath,
packageJSONUrl,
base
);
const patternTrailer = StringPrototypeSlice(key, patternIndex + 1);
if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) {
bestMatch = key;
bestMatchSubpath = StringPrototypeSlice(
packageSubpath,
patternIndex,
packageSubpath.length - patternTrailer.length
);
}
}
}
if (bestMatch) {
const target2 = exports3[bestMatch];
const resolveResult = resolvePackageTarget(
packageJSONUrl,
target2,
bestMatchSubpath,
bestMatch,
base,
true,
false,
conditions
);
if (resolveResult == null) {
throwExportsNotFound(packageSubpath, packageJSONUrl, base);
}
return resolveResult;
}
throwExportsNotFound(packageSubpath, packageJSONUrl, base);
}
function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) {
const reason = "is not a valid internal imports specifier name";
throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url7.fileURLToPath(base));
}
let packageJSONUrl;
const packageConfig = getPackageScopeConfig(base, readFileSyncFn);
if (packageConfig.exists) {
packageJSONUrl = url7.pathToFileURL(packageConfig.pjsonPath);
const imports = packageConfig.imports;
if (imports) {
if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) {
const resolveResult = resolvePackageTarget(
packageJSONUrl,
imports[name],
"",
name,
base,
false,
true,
conditions
);
if (resolveResult != null) {
return resolveResult;
}
} else {
let bestMatch = "";
let bestMatchSubpath;
const keys4 = ObjectGetOwnPropertyNames(imports);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const patternIndex = StringPrototypeIndexOf(key, "*");
if (patternIndex !== -1 && StringPrototypeStartsWith(
name,
StringPrototypeSlice(key, 0, patternIndex)
)) {
const patternTrailer = StringPrototypeSlice(key, patternIndex + 1);
if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) {
bestMatch = key;
bestMatchSubpath = StringPrototypeSlice(
name,
patternIndex,
name.length - patternTrailer.length
);
}
}
}
if (bestMatch) {
const target2 = imports[bestMatch];
const resolveResult = resolvePackageTarget(
packageJSONUrl,
target2,
bestMatchSubpath,
bestMatch,
base,
true,
true,
conditions
);
if (resolveResult != null) {
return resolveResult;
}
}
}
}
}
throwImportNotDefined(name, packageJSONUrl, base);
}
var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
ErrorCode2["API_ERROR"] = `API_ERROR`;
ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`;
ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`;
ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`;
ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`;
ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`;
ErrorCode2["INTERNAL"] = `INTERNAL`;
ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`;
ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`;
return ErrorCode2;
})(ErrorCode || {});
var MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([
"BUILTIN_NODE_RESOLUTION_FAILED",
"MISSING_DEPENDENCY",
"MISSING_PEER_DEPENDENCY",
"QUALIFIED_PATH_RESOLUTION_FAILED",
"UNDECLARED_DEPENDENCY"
/* UNDECLARED_DEPENDENCY */
]);
function makeError2(pnpCode, message, data = {}, code) {
code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode;
const propertySpec = {
configurable: true,
writable: true,
enumerable: false
};
return Object.defineProperties(new Error(message), {
code: {
...propertySpec,
value: code
},
pnpCode: {
...propertySpec,
value: pnpCode
},
data: {
...propertySpec,
value: data
}
});
}
function getPathForDisplay(p) {
return npath2.normalize(npath2.fromPortablePath(p));
}
var flagSymbol = /* @__PURE__ */ Symbol("arg flag");
var ArgError = class _ArgError extends Error {
constructor(msg, code) {
super(msg);
this.name = "ArgError";
this.code = code;
Object.setPrototypeOf(this, _ArgError.prototype);
}
};
function arg(opts3, {
argv: argv2 = process.argv.slice(2),
permissive = false,
stopAtPositional = false
} = {}) {
if (!opts3) {
throw new ArgError(
"argument specification object is required",
"ARG_CONFIG_NO_SPEC"
);
}
const result2 = { _: [] };
const aliases = {};
const handlers = {};
for (const key of Object.keys(opts3)) {
if (!key) {
throw new ArgError(
"argument key cannot be an empty string",
"ARG_CONFIG_EMPTY_KEY"
);
}
if (key[0] !== "-") {
throw new ArgError(
`argument key must start with '-' but found: '${key}'`,
"ARG_CONFIG_NONOPT_KEY"
);
}
if (key.length === 1) {
throw new ArgError(
`argument key must have a name; singular '-' keys are not allowed: ${key}`,
"ARG_CONFIG_NONAME_KEY"
);
}
if (typeof opts3[key] === "string") {
aliases[key] = opts3[key];
continue;
}
let type4 = opts3[key];
let isFlag = false;
if (Array.isArray(type4) && type4.length === 1 && typeof type4[0] === "function") {
const [fn] = type4;
type4 = (value, name, prev = []) => {
prev.push(fn(value, name, prev[prev.length - 1]));
return prev;
};
isFlag = fn === Boolean || fn[flagSymbol] === true;
} else if (typeof type4 === "function") {
isFlag = type4 === Boolean || type4[flagSymbol] === true;
} else {
throw new ArgError(
`type missing or not a function or valid array type: ${key}`,
"ARG_CONFIG_VAD_TYPE"
);
}
if (key[1] !== "-" && key.length > 2) {
throw new ArgError(
`short argument keys (with a single hyphen) must have only one character: ${key}`,
"ARG_CONFIG_SHORTOPT_TOOLONG"
);
}
handlers[key] = [type4, isFlag];
}
for (let i4 = 0, len = argv2.length; i4 < len; i4++) {
const wholeArg = argv2[i4];
if (stopAtPositional && result2._.length > 0) {
result2._ = result2._.concat(argv2.slice(i4));
break;
}
if (wholeArg === "--") {
result2._ = result2._.concat(argv2.slice(i4 + 1));
break;
}
if (wholeArg.length > 1 && wholeArg[0] === "-") {
const separatedArguments = wholeArg[1] === "-" || wholeArg.length === 2 ? [wholeArg] : wholeArg.slice(1).split("").map((a2) => `-${a2}`);
for (let j2 = 0; j2 < separatedArguments.length; j2++) {
const arg2 = separatedArguments[j2];
const [originalArgName, argStr] = arg2[1] === "-" ? arg2.split(/=(.*)/, 2) : [arg2, void 0];
let argName = originalArgName;
while (argName in aliases) {
argName = aliases[argName];
}
if (!(argName in handlers)) {
if (permissive) {
result2._.push(arg2);
continue;
} else {
throw new ArgError(
`unknown or unexpected option: ${originalArgName}`,
"ARG_UNKNOWN_OPTION"
);
}
}
const [type4, isFlag] = handlers[argName];
if (!isFlag && j2 + 1 < separatedArguments.length) {
throw new ArgError(
`option requires argument (but was followed by another short argument): ${originalArgName}`,
"ARG_MISSING_REQUIRED_SHORTARG"
);
}
if (isFlag) {
result2[argName] = type4(true, argName, result2[argName]);
} else if (argStr === void 0) {
if (argv2.length < i4 + 2 || argv2[i4 + 1].length > 1 && argv2[i4 + 1][0] === "-" && !(argv2[i4 + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && (type4 === Number || // eslint-disable-next-line no-undef
typeof BigInt !== "undefined" && type4 === BigInt))) {
const extended = originalArgName === argName ? "" : ` (alias for ${argName})`;
throw new ArgError(
`option requires argument: ${originalArgName}${extended}`,
"ARG_MISSING_REQUIRED_LONGARG"
);
}
result2[argName] = type4(argv2[i4 + 1], argName, result2[argName]);
++i4;
} else {
result2[argName] = type4(argStr, argName, result2[argName]);
}
}
} else {
result2._.push(wholeArg);
}
}
return result2;
}
arg.flag = (fn) => {
fn[flagSymbol] = true;
return fn;
};
arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1);
arg.ArgError = ArgError;
var arg_1 = arg;
function getOptionValue(opt) {
parseOptions();
return options[opt];
}
var options;
function parseOptions() {
if (!options) {
options = {
"--conditions": [],
...parseArgv(getNodeOptionsEnvArgv()),
...parseArgv(process.execArgv)
};
}
}
function parseArgv(argv2) {
return arg_1(
{
"--conditions": [String],
"-C": "--conditions"
},
{
argv: argv2,
permissive: true
}
);
}
function getNodeOptionsEnvArgv() {
const errors2 = [];
const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors2);
if (errors2.length !== 0) ;
return envArgv;
}
function ParseNodeOptionsEnvVar(node_options, errors2) {
const env_argv = [];
let is_in_string = false;
let will_start_new_arg = true;
for (let index2 = 0; index2 < node_options.length; ++index2) {
let c3 = node_options[index2];
if (c3 === "\\" && is_in_string) {
if (index2 + 1 === node_options.length) {
errors2.push("invalid value for NODE_OPTIONS (invalid escape)\n");
return env_argv;
} else {
c3 = node_options[++index2];
}
} else if (c3 === " " && !is_in_string) {
will_start_new_arg = true;
continue;
} else if (c3 === '"') {
is_in_string = !is_in_string;
continue;
}
if (will_start_new_arg) {
env_argv.push(c3);
will_start_new_arg = false;
} else {
env_argv[env_argv.length - 1] += c3;
}
}
if (is_in_string) {
errors2.push("invalid value for NODE_OPTIONS (unterminated string)\n");
}
return env_argv;
}
var [major, minor, patch] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
var WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13;
function reportRequiredFilesToWatchMode(paths3) {
if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
const files = paths3.map((filename) => npath2.fromPortablePath(VirtualFS.resolveVirtual(filename)));
if (WATCH_MODE_MESSAGE_USES_ARRAYS) {
process.send({ "watch:require": files });
} else {
for (const filename of files) {
process.send({ "watch:require": filename });
}
}
}
}
function makeApi(runtimeState, opts3) {
const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0;
const debugLevel = Number(process.env.PNP_DEBUG_LEVEL);
const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/;
const isDirRegExp = /\/$/;
const isRelativeRegexp = /^\.{0,2}\//;
const topLevelLocator = { name: null, reference: null };
const fallbackLocators = [];
const emittedWarnings = /* @__PURE__ */ new Set();
if (runtimeState.enableTopLevelFallback === true)
fallbackLocators.push(topLevelLocator);
if (opts3.compatibilityMode !== false) {
for (const name of [`react-scripts`, `gatsby`]) {
const packageStore = runtimeState.packageRegistry.get(name);
if (packageStore) {
for (const reference of packageStore.keys()) {
if (reference === null) {
throw new Error(`Assertion failed: This reference shouldn't be null`);
} else {
fallbackLocators.push({ name, reference });
}
}
}
}
}
const {
ignorePattern,
packageRegistry,
packageLocatorsByLocations
} = runtimeState;
function makeLogEntry(name, args) {
return {
fn: name,
args,
error: null,
result: null
};
}
function trace(entry) {
const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY;
const c3 = (n2, str2) => `\x1B[${n2}m${str2}\x1B[0m`;
const error = entry.error;
if (error)
console.error(c3(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`));
else
console.error(c3(`33;1`, `\u203C Resolution`));
if (entry.args.length > 0)
console.error();
for (const arg2 of entry.args)
console.error(` ${c3(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg2, { colors, compact: true })}`);
if (entry.result) {
console.error();
console.error(` ${c3(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`);
}
const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? [];
if (stack.length > 0) {
console.error();
for (const line of stack) {
console.error(` ${c3(`38;5;244`, line)}`);
}
}
console.error();
}
function maybeLog(name, fn) {
if (opts3.allowDebug === false)
return fn;
if (Number.isFinite(debugLevel)) {
if (debugLevel >= 2) {
return (...args) => {
const logEntry = makeLogEntry(name, args);
try {
return logEntry.result = fn(...args);
} catch (error) {
throw logEntry.error = error;
} finally {
trace(logEntry);
}
};
} else if (debugLevel >= 1) {
return (...args) => {
try {
return fn(...args);
} catch (error) {
const logEntry = makeLogEntry(name, args);
logEntry.error = error;
trace(logEntry);
throw error;
}
};
}
}
return fn;
}
function getPackageInformationSafe(packageLocator) {
const packageInformation = getPackageInformation(packageLocator);
if (!packageInformation) {
throw makeError2(
ErrorCode.INTERNAL,
`Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`
);
}
return packageInformation;
}
function isDependencyTreeRoot(packageLocator) {
if (packageLocator.name === null)
return true;
for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots)
if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference)
return true;
return false;
}
const defaultExportsConditions = /* @__PURE__ */ new Set([
`node`,
`require`,
...getOptionValue(`--conditions`)
]);
function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) {
const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), {
resolveIgnored: true,
includeDiscardFromLookup: true
});
if (locator === null) {
throw makeError2(
ErrorCode.INTERNAL,
`The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)`
);
}
const { packageLocation } = getPackageInformationSafe(locator);
const manifestPath = ppath.join(packageLocation, Filename.manifest);
if (!opts3.fakeFs.existsSync(manifestPath))
return null;
const pkgJson2 = JSON.parse(opts3.fakeFs.readFileSync(manifestPath, `utf8`));
if (pkgJson2.exports == null)
return null;
let subpath = ppath.contains(packageLocation, unqualifiedPath);
if (subpath === null) {
throw makeError2(
ErrorCode.INTERNAL,
`unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)`
);
}
if (subpath !== `.` && !isRelativeRegexp.test(subpath))
subpath = `./${subpath}`;
try {
const resolvedExport = packageExportsResolve({
packageJSONUrl: url7.pathToFileURL(npath2.fromPortablePath(manifestPath)),
packageSubpath: subpath,
exports: pkgJson2.exports,
base: issuer ? url7.pathToFileURL(npath2.fromPortablePath(issuer)) : null,
conditions
});
return npath2.toPortablePath(url7.fileURLToPath(resolvedExport));
} catch (error) {
throw makeError2(
ErrorCode.EXPORTS_RESOLUTION_FAILED,
error.message,
{ unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson: pkgJson2, subpath: getPathForDisplay(subpath), conditions },
error.code
);
}
}
function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions: extensions2 }) {
let stat2;
try {
candidates.push(unqualifiedPath);
stat2 = opts3.fakeFs.statSync(unqualifiedPath);
} catch {
}
if (stat2 && !stat2.isDirectory())
return opts3.fakeFs.realpathSync(unqualifiedPath);
if (stat2 && stat2.isDirectory()) {
let pkgJson2;
try {
pkgJson2 = JSON.parse(opts3.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`));
} catch {
}
let nextUnqualifiedPath;
if (pkgJson2 && pkgJson2.main)
nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson2.main);
if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) {
const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions: extensions2 });
if (resolution !== null) {
return resolution;
}
}
}
for (let i4 = 0, length = extensions2.length; i4 < length; i4++) {
const candidateFile = `${unqualifiedPath}${extensions2[i4]}`;
candidates.push(candidateFile);
if (opts3.fakeFs.existsSync(candidateFile)) {
return candidateFile;
}
}
if (stat2 && stat2.isDirectory()) {
for (let i4 = 0, length = extensions2.length; i4 < length; i4++) {
const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions2[i4] });
candidates.push(candidateFile);
if (opts3.fakeFs.existsSync(candidateFile)) {
return candidateFile;
}
}
}
return null;
}
function makeFakeModule(path237) {
const fakeModule = new module$1.Module(path237, null);
fakeModule.filename = path237;
fakeModule.paths = module$1.Module._nodeModulePaths(path237);
return fakeModule;
}
function callNativeResolution(request, issuer) {
if (issuer.endsWith(`/`))
issuer = ppath.join(issuer, `internal.js`);
return module$1.Module._resolveFilename(npath2.fromPortablePath(request), makeFakeModule(npath2.fromPortablePath(issuer)), false, { plugnplay: false });
}
function isPathIgnored(path237) {
if (ignorePattern === null)
return false;
const subPath = ppath.contains(runtimeState.basePath, path237);
if (subPath === null)
return false;
if (ignorePattern.test(subPath.replace(/\/$/, ``))) {
return true;
} else {
return false;
}
}
const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 };
const topLevel = topLevelLocator;
function getPackageInformation({ name, reference }) {
const packageInformationStore = packageRegistry.get(name);
if (!packageInformationStore)
return null;
const packageInformation = packageInformationStore.get(reference);
if (!packageInformation)
return null;
return packageInformation;
}
function findPackageDependents({ name, reference }) {
const dependents = [];
for (const [dependentName, packageInformationStore] of packageRegistry) {
if (dependentName === null)
continue;
for (const [dependentReference, packageInformation] of packageInformationStore) {
if (dependentReference === null)
continue;
const dependencyReference = packageInformation.packageDependencies.get(name);
if (dependencyReference !== reference)
continue;
if (dependentName === name && dependentReference === reference)
continue;
dependents.push({
name: dependentName,
reference: dependentReference
});
}
}
return dependents;
}
function findBrokenPeerDependencies(dependency, initialPackage) {
const brokenPackages = /* @__PURE__ */ new Map();
const alreadyVisited = /* @__PURE__ */ new Set();
const traversal = (currentPackage) => {
const identifier = JSON.stringify(currentPackage.name);
if (alreadyVisited.has(identifier))
return;
alreadyVisited.add(identifier);
const dependents = findPackageDependents(currentPackage);
for (const dependent of dependents) {
const dependentInformation = getPackageInformationSafe(dependent);
if (dependentInformation.packagePeers.has(dependency)) {
traversal(dependent);
} else {
let brokenSet = brokenPackages.get(dependent.name);
if (typeof brokenSet === `undefined`)
brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set());
brokenSet.add(dependent.reference);
}
}
};
traversal(initialPackage);
const brokenList = [];
for (const name of [...brokenPackages.keys()].sort())
for (const reference of [...brokenPackages.get(name)].sort())
brokenList.push({ name, reference });
return brokenList;
}
function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) {
if (isPathIgnored(location) && !resolveIgnored)
return null;
let relativeLocation = ppath.relative(runtimeState.basePath, location);
if (!relativeLocation.match(isStrictRegExp))
relativeLocation = `./${relativeLocation}`;
if (!relativeLocation.endsWith(`/`))
relativeLocation = `${relativeLocation}/`;
do {
const entry = packageLocatorsByLocations.get(relativeLocation);
if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) {
relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1);
continue;
}
return entry.locator;
} while (relativeLocation !== ``);
return null;
}
function tryReadFile(filePath) {
try {
return opts3.fakeFs.readFileSync(npath2.toPortablePath(filePath), `utf8`);
} catch (err2) {
if (err2.code === `ENOENT`)
return void 0;
throw err2;
}
}
function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) {
if (request.startsWith(`#`))
throw new Error(`resolveToUnqualified can not handle private import mappings`);
if (request === `pnpapi`)
return npath2.toPortablePath(opts3.pnpapiResolution);
if (considerBuiltins && module$1.isBuiltin(request))
return null;
const requestForDisplay = getPathForDisplay(request);
const issuerForDisplay = issuer && getPathForDisplay(issuer);
if (issuer && isPathIgnored(issuer)) {
if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) {
const result2 = callNativeResolution(request, issuer);
if (result2 === false) {
throw makeError2(
ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)
Require request: "${requestForDisplay}"
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay }
);
}
return npath2.toPortablePath(result2);
}
}
let unqualifiedPath;
const dependencyNameMatch = request.match(pathRegExp);
if (!dependencyNameMatch) {
if (ppath.isAbsolute(request)) {
unqualifiedPath = ppath.normalize(request);
} else {
if (!issuer) {
throw makeError2(
ErrorCode.API_ERROR,
`The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
{ request: requestForDisplay, issuer: issuerForDisplay }
);
}
const absoluteIssuer = ppath.resolve(issuer);
if (issuer.match(isDirRegExp)) {
unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request));
} else {
unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request));
}
}
} else {
if (!issuer) {
throw makeError2(
ErrorCode.API_ERROR,
`The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
{ request: requestForDisplay, issuer: issuerForDisplay }
);
}
const [, dependencyName, subPath] = dependencyNameMatch;
const issuerLocator = findPackageLocator(issuer);
if (!issuerLocator) {
const result2 = callNativeResolution(request, issuer);
if (result2 === false) {
throw makeError2(
ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
Require path: "${requestForDisplay}"
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay }
);
}
return npath2.toPortablePath(result2);
}
const issuerInformation = getPackageInformationSafe(issuerLocator);
let dependencyReference = issuerInformation.packageDependencies.get(dependencyName);
let fallbackReference = null;
if (dependencyReference == null) {
if (issuerLocator.name !== null) {
const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name);
const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference);
if (canUseFallbacks) {
for (let t2 = 0, T2 = fallbackLocators.length; t2 < T2; ++t2) {
const fallbackInformation = getPackageInformationSafe(fallbackLocators[t2]);
const reference = fallbackInformation.packageDependencies.get(dependencyName);
if (reference == null)
continue;
if (alwaysWarnOnFallback)
fallbackReference = reference;
else
dependencyReference = reference;
break;
}
if (runtimeState.enableTopLevelFallback) {
if (dependencyReference == null && fallbackReference === null) {
const reference = runtimeState.fallbackPool.get(dependencyName);
if (reference != null) {
fallbackReference = reference;
}
}
}
}
}
}
let error = null;
if (dependencyReference === null) {
if (isDependencyTreeRoot(issuerLocator)) {
error = makeError2(
ErrorCode.MISSING_PEER_DEPENDENCY,
`Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
);
} else {
const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator);
if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) {
error = makeError2(
ErrorCode.MISSING_PEER_DEPENDENCY,
`${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
`).join(``)}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
);
} else {
error = makeError2(
ErrorCode.MISSING_PEER_DEPENDENCY,
`${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
`).join(``)}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
);
}
}
} else if (dependencyReference === void 0) {
if (!considerBuiltins && module$1.isBuiltin(request)) {
if (isDependencyTreeRoot(issuerLocator)) {
error = makeError2(
ErrorCode.UNDECLARED_DEPENDENCY,
`Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
);
} else {
error = makeError2(
ErrorCode.UNDECLARED_DEPENDENCY,
`${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
);
}
} else {
if (isDependencyTreeRoot(issuerLocator)) {
error = makeError2(
ErrorCode.UNDECLARED_DEPENDENCY,
`Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
{ request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
);
} else {
error = makeError2(
ErrorCode.UNDECLARED_DEPENDENCY,
`${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
`,
{ request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
);
}
}
}
if (dependencyReference == null) {
if (fallbackReference === null || error === null)
throw error || new Error(`Assertion failed: Expected an error to have been set`);
dependencyReference = fallbackReference;
const message = error.message.replace(/\n.*/g, ``);
error.message = message;
if (!emittedWarnings.has(message) && debugLevel !== 0) {
emittedWarnings.add(message);
process.emitWarning(error);
}
}
const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference };
const dependencyInformation = getPackageInformationSafe(dependencyLocator);
if (!dependencyInformation.packageLocation) {
throw makeError2(
ErrorCode.MISSING_DEPENDENCY,
`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
`,
{ request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) }
);
}
const dependencyLocation = dependencyInformation.packageLocation;
if (subPath) {
unqualifiedPath = ppath.join(dependencyLocation, subPath);
} else {
unqualifiedPath = dependencyLocation;
}
}
return ppath.normalize(unqualifiedPath);
}
function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) {
if (isStrictRegExp.test(request))
return unqualifiedPath;
const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer);
if (unqualifiedExportPath) {
return ppath.normalize(unqualifiedExportPath);
} else {
return unqualifiedPath;
}
}
function resolveUnqualified(unqualifiedPath, { extensions: extensions2 = Object.keys(module$1.Module._extensions) } = {}) {
const candidates = [];
const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions: extensions2 });
if (qualifiedPath) {
reportRequiredFilesToWatchMode([qualifiedPath]);
return ppath.normalize(qualifiedPath);
} else {
reportRequiredFilesToWatchMode(candidates);
const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath);
const containingPackage = findPackageLocator(unqualifiedPath);
if (containingPackage) {
const { packageLocation } = getPackageInformationSafe(containingPackage);
let exists = true;
try {
opts3.fakeFs.accessSync(packageLocation);
} catch (err2) {
if (err2?.code === `ENOENT`) {
exists = false;
} else {
const readableError = (err2?.message ?? err2 ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase());
throw makeError2(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}).
Missing package: ${containingPackage.name}@${containingPackage.reference}
Expected package location: ${getPathForDisplay(packageLocation)}
`, { unqualifiedPath: unqualifiedPathForDisplay, extensions: extensions2 });
}
}
if (!exists) {
const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`;
throw makeError2(
ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
`${errorMessage}
Missing package: ${containingPackage.name}@${containingPackage.reference}
Expected package location: ${getPathForDisplay(packageLocation)}
`,
{ unqualifiedPath: unqualifiedPathForDisplay, extensions: extensions2 }
);
}
}
throw makeError2(
ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
`Qualified path resolution failed: we looked for the following paths, but none could be accessed.
Source path: ${unqualifiedPathForDisplay}
${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)}
`).join(``)}`,
{ unqualifiedPath: unqualifiedPathForDisplay, extensions: extensions2 }
);
}
}
function resolvePrivateRequest(request, issuer, opts22) {
if (!issuer)
throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`);
const resolved = packageImportsResolve({
name: request,
base: url7.pathToFileURL(npath2.fromPortablePath(issuer)),
conditions: opts22.conditions ?? defaultExportsConditions,
readFileSyncFn: tryReadFile
});
if (resolved instanceof URL) {
return resolveUnqualified(npath2.toPortablePath(url7.fileURLToPath(resolved)), { extensions: opts22.extensions });
} else {
if (resolved.startsWith(`#`))
throw new Error(`Mapping from one private import to another isn't allowed`);
return resolveRequest(resolved, issuer, opts22);
}
}
function resolveRequest(request, issuer, opts22 = {}) {
try {
if (request.startsWith(`#`))
return resolvePrivateRequest(request, issuer, opts22);
const { considerBuiltins, extensions: extensions2, conditions } = opts22;
const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins });
if (request === `pnpapi`)
return unqualifiedPath;
if (unqualifiedPath === null)
return null;
const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false;
const remappedPath = (!considerBuiltins || !module$1.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath;
return resolveUnqualified(remappedPath, { extensions: extensions2 });
} catch (error) {
if (Object.hasOwn(error, `pnpCode`))
Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) });
throw error;
}
}
function resolveVirtual(request) {
const normalized = ppath.normalize(request);
const resolved = VirtualFS.resolveVirtual(normalized);
return resolved !== normalized ? resolved : null;
}
return {
VERSIONS,
topLevel,
getLocator: (name, referencish) => {
if (Array.isArray(referencish)) {
return { name: referencish[0], reference: referencish[1] };
} else {
return { name, reference: referencish };
}
},
getDependencyTreeRoots: () => {
return [...runtimeState.dependencyTreeRoots];
},
getAllLocators() {
const locators = [];
for (const [name, entry] of packageRegistry)
for (const reference of entry.keys())
if (name !== null && reference !== null)
locators.push({ name, reference });
return locators;
},
getPackageInformation: (locator) => {
const info = getPackageInformation(locator);
if (info === null)
return null;
const packageLocation = npath2.fromPortablePath(info.packageLocation);
const nativeInfo = { ...info, packageLocation };
return nativeInfo;
},
findPackageLocator: (path237) => {
return findPackageLocator(npath2.toPortablePath(path237));
},
resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts22) => {
const portableIssuer = issuer !== null ? npath2.toPortablePath(issuer) : null;
const resolution = resolveToUnqualified(npath2.toPortablePath(request), portableIssuer, opts22);
if (resolution === null)
return null;
return npath2.fromPortablePath(resolution);
}),
resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts22) => {
return npath2.fromPortablePath(resolveUnqualified(npath2.toPortablePath(unqualifiedPath), opts22));
}),
resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts22) => {
const portableIssuer = issuer !== null ? npath2.toPortablePath(issuer) : null;
const resolution = resolveRequest(npath2.toPortablePath(request), portableIssuer, opts22);
if (resolution === null)
return null;
return npath2.fromPortablePath(resolution);
}),
resolveVirtual: maybeLog(`resolveVirtual`, (path237) => {
const result2 = resolveVirtual(npath2.toPortablePath(path237));
if (result2 !== null) {
return npath2.fromPortablePath(result2);
} else {
return null;
}
})
};
}
async function hydratePnpFile(location, { fakeFs, pnpapiResolution }) {
const source = await fakeFs.readFilePromise(location, `utf8`);
return hydratePnpSource(source, {
basePath: path236.dirname(location),
fakeFs,
pnpapiResolution
});
}
function hydratePnpSource(source, { basePath, fakeFs, pnpapiResolution }) {
const data = JSON.parse(source);
const runtimeState = hydrateRuntimeState(data, {
basePath
});
return makeApi(runtimeState, {
compatibilityMode: true,
fakeFs,
pnpapiResolution
});
}
var makeRuntimeApi = (settings, basePath, fakeFs) => {
const data = generateSerializedState(settings);
const state = hydrateRuntimeState(data, { basePath });
const pnpapiResolution = npath2.join(basePath, Filename.pnpCjs);
return makeApi(state, { fakeFs, pnpapiResolution });
};
var hook;
var builtLoader = () => {
if (typeof hook === `undefined`)
hook = require$$0__default.default.brotliDecompressSync(Buffer.from("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", "base64")).toString();
return hook;
};
exports2.LinkType = LinkType;
exports2.generateInlinedScript = generateInlinedScript2;
exports2.generateLoader = generateLoader;
exports2.generatePrettyJson = generatePrettyJson;
exports2.generateSplitScript = generateSplitScript;
exports2.getESMLoaderTemplate = builtLoader;
exports2.hydratePnpFile = hydratePnpFile;
exports2.hydratePnpSource = hydratePnpSource;
exports2.makeRuntimeApi = makeRuntimeApi;
}
});
// ../lockfile/to-pnp/lib/packageMap.js
import { promises as fs72 } from "node:fs";
import path117 from "node:path";
import { pathToFileURL as pathToFileURL2 } from "node:url";
async function writePackageMap(lockfile, opts3) {
await fs72.mkdir(opts3.rootModulesDir, { recursive: true });
await fs72.writeFile(path117.join(opts3.rootModulesDir, PACKAGE_MAP_FILENAME), `${JSON.stringify(lockfileToPackageMap(lockfile, opts3))}
`, "utf8");
}
async function writePackageMapFromDependenciesGraph(opts3) {
await fs72.mkdir(opts3.rootModulesDir, { recursive: true });
await fs72.writeFile(path117.join(opts3.rootModulesDir, PACKAGE_MAP_FILENAME), `${JSON.stringify(dependenciesGraphToPackageMap(opts3))}
`, "utf8");
}
function lockfileToPackageMap(lockfile, opts3) {
const isLoose = opts3.packageMapType === "loose";
const packages = /* @__PURE__ */ Object.create(null);
const packageLocationsByModulesDir = isLoose ? /* @__PURE__ */ new Map() : void 0;
const packageDirsById = isLoose ? /* @__PURE__ */ new Map() : void 0;
const addPackage = (id, packageDir, dependencies) => {
packageDirsById?.set(id, packageDir);
packages[id] = {
url: toRelativeUrl(opts3.rootModulesDir, packageDir),
dependencies: Object.fromEntries(Array.from(dependencies).sort(([a2], [b]) => compareStrings(a2, b)))
};
};
const addExternalLinkPackage = (target2) => {
packages[target2.id] ??= {
url: toRelativeUrl(opts3.rootModulesDir, target2.dir),
dependencies: {}
};
};
const addPackageLocation = (packageName, packageLocation, packageId) => {
if (packageLocationsByModulesDir == null)
return;
const modulesDir = getNodeModulesPath(packageLocation);
if (modulesDir == null)
return;
addPackageToModulesDir(packageLocationsByModulesDir, modulesDir, packageName, packageId);
};
const addDependencyLocation = (modulesDir, dependencyName, dependencyId) => {
if (packageLocationsByModulesDir == null)
return;
addPackageToModulesDir(packageLocationsByModulesDir, modulesDir, dependencyName, dependencyId);
};
for (const [importerId, importer] of Object.entries(lockfile.importers).sort(([a2], [b]) => compareStrings(a2, b))) {
const dependencies = /* @__PURE__ */ new Map();
const importerName = opts3.importerNames[importerId];
if (importerName) {
dependencies.set(importerName, importerId);
}
addDependencies(dependencies, importer.dependencies, { importerId });
addDependencies(dependencies, importer.optionalDependencies, { importerId });
addDependencies(dependencies, importer.devDependencies, { importerId });
addPackage(importerId, resolvePath3(opts3.lockfileDir, importerId), dependencies);
if (isLoose) {
const importerModulesDir = resolvePath3(opts3.lockfileDir, importerId, "node_modules");
addPhysicalDependencyLocations(importerModulesDir, importer.dependencies, { importerId });
addPhysicalDependencyLocations(importerModulesDir, importer.optionalDependencies, { importerId });
addPhysicalDependencyLocations(importerModulesDir, importer.devDependencies, { importerId });
}
}
for (const [depPath, pkgSnapshot] of Object.entries(lockfile.packages ?? {}).sort(([a2], [b]) => compareStrings(a2, b))) {
const { name } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const packageDir = opts3.locationByDepPath?.[depPath] ?? joinPath2(opts3.virtualStoreDir, depPathToFilename(depPath, opts3.virtualStoreDirMaxLength), "node_modules", name);
const dependencies = /* @__PURE__ */ new Map([[name, depPath]]);
addDependencies(dependencies, pkgSnapshot.dependencies);
addDependencies(dependencies, pkgSnapshot.optionalDependencies);
addPackage(depPath, packageDir, dependencies);
if (isLoose) {
addPackageLocation(name, packageDir, depPath);
const packageModulesDir = joinPath2(packageDir, "node_modules");
addPhysicalDependencyLocations(packageModulesDir, pkgSnapshot.dependencies);
addPhysicalDependencyLocations(packageModulesDir, pkgSnapshot.optionalDependencies);
}
}
if (isLoose) {
for (const [id, packageDir] of packageDirsById) {
packages[id].dependencies = serializeDependencies(new Map([
...Object.entries(packages[id].dependencies),
...physicalDependencies(packageDir, packageLocationsByModulesDir)
]));
}
}
return {
packages: Object.fromEntries(Object.entries(packages).sort(([a2], [b]) => compareStrings(a2, b)))
};
function addDependencies(dependencies, deps, opts4) {
for (const [alias, ref] of Object.entries(deps ?? {}).sort(([a2], [b]) => compareStrings(a2, b))) {
const dependencyId = resolveDependencyId(alias, ref, opts4);
if (dependencyId == null)
continue;
dependencies.set(alias, dependencyId);
}
}
function resolveDependencyId(alias, ref, depOpts) {
if (ref.startsWith("link:")) {
const target2 = resolveLinkTarget2(opts3.lockfileDir, depOpts?.importerId, ref);
addExternalLinkPackage(target2);
return target2.id;
}
const relDepPath = refToRelative(ref, alias);
if (relDepPath == null || lockfile.packages?.[relDepPath] == null)
return void 0;
return relDepPath;
}
function addPhysicalDependencyLocations(modulesDir, deps, physicalOpts) {
for (const [alias, ref] of Object.entries(deps ?? {})) {
if (ref.startsWith("link:")) {
const target2 = resolveLinkTarget2(opts3.lockfileDir, physicalOpts?.importerId, ref);
addExternalLinkPackage(target2);
addDependencyLocation(modulesDir, alias, target2.id);
continue;
}
const relDepPath = refToRelative(ref, alias);
if (relDepPath == null || lockfile.packages?.[relDepPath] == null)
continue;
addDependencyLocation(modulesDir, alias, relDepPath);
}
}
}
function dependenciesGraphToPackageMap(opts3) {
const isLoose = opts3.packageMapType === "loose";
const packages = /* @__PURE__ */ Object.create(null);
const packageIdsByGraphKey = /* @__PURE__ */ new Map();
const packageDirsById = isLoose ? /* @__PURE__ */ new Map() : void 0;
const packageLocationsByModulesDir = isLoose ? /* @__PURE__ */ new Map() : void 0;
const addPackage = (id, packageDir, dependencies) => {
packageDirsById?.set(id, packageDir);
packages[id] = {
url: toRelativeUrl(opts3.rootModulesDir, packageDir),
dependencies: Object.fromEntries(Array.from(dependencies).sort(([a2], [b]) => compareStrings(a2, b)))
};
};
const addExternalLinkPackage = (target2) => {
packages[target2.id] ??= {
url: toRelativeUrl(opts3.rootModulesDir, target2.dir),
dependencies: {}
};
};
const addDependencyLocation = (modulesDir, dependencyName, dependencyId) => {
if (packageLocationsByModulesDir == null)
return;
addPackageToModulesDir(packageLocationsByModulesDir, modulesDir, dependencyName, dependencyId);
};
for (const [graphKey, node] of Object.entries(opts3.graph).sort(([a2], [b]) => compareStrings(a2, b))) {
packageIdsByGraphKey.set(graphKey, graphNodePackageId(node, opts3));
const modulesDir = isLoose ? getNodeModulesPath(node.dir) : void 0;
if (modulesDir && packageLocationsByModulesDir != null) {
addPackageToModulesDir(packageLocationsByModulesDir, modulesDir, node.name, graphNodePackageId(node, opts3));
}
}
for (const [importerId, importer] of Object.entries(opts3.lockfile.importers).sort(([a2], [b]) => compareStrings(a2, b))) {
const importerDir = resolvePath3(opts3.lockfileDir, importerId);
const importerPackageId = graphPackageId(importerDir, opts3);
const dependencies = /* @__PURE__ */ new Map();
const importerName = opts3.importerNames[importerId];
if (importerName) {
dependencies.set(importerName, importerPackageId);
}
addDirectDependencies(dependencies, opts3.directDependenciesByImporterId[importerId]);
const importerModulesDir = isLoose ? joinPath2(importerDir, "node_modules") : void 0;
addLinkedDependencies(dependencies, importer.dependencies, { importerId, modulesDir: importerModulesDir });
addLinkedDependencies(dependencies, importer.optionalDependencies, { importerId, modulesDir: importerModulesDir });
addLinkedDependencies(dependencies, importer.devDependencies, { importerId, modulesDir: importerModulesDir });
addPackage(importerPackageId, importerDir, dependencies);
}
for (const [graphKey, node] of Object.entries(opts3.graph).sort(([a2], [b]) => compareStrings(a2, b))) {
const dependencies = /* @__PURE__ */ new Map([[node.name, packageIdsByGraphKey.get(graphKey)]]);
addGraphDependencies(dependencies, node.children);
const pkgSnapshot = opts3.lockfile.packages?.[node.depPath];
if (pkgSnapshot) {
const packageModulesDir = isLoose ? joinPath2(node.dir, "node_modules") : void 0;
addLinkedDependencies(dependencies, pkgSnapshot.dependencies, { modulesDir: packageModulesDir });
addLinkedDependencies(dependencies, pkgSnapshot.optionalDependencies, { modulesDir: packageModulesDir });
}
addPackage(packageIdsByGraphKey.get(graphKey), node.dir, dependencies);
}
if (isLoose) {
for (const [id, packageDir] of packageDirsById) {
packages[id].dependencies = serializeDependencies(new Map([
...Object.entries(packages[id].dependencies),
...physicalDependencies(packageDir, packageLocationsByModulesDir)
]));
}
}
return {
packages: Object.fromEntries(Object.entries(packages).sort(([a2], [b]) => compareStrings(a2, b)))
};
function addDirectDependencies(dependencies, deps) {
for (const [alias, graphKey] of Object.entries(deps ?? {}).sort(([a2], [b]) => compareStrings(a2, b))) {
const packageId = packageIdsByGraphKey.get(graphKey);
if (packageId)
dependencies.set(alias, packageId);
}
}
function addGraphDependencies(dependencies, deps) {
for (const [alias, graphKey] of Object.entries(deps ?? {}).sort(([a2], [b]) => compareStrings(a2, b))) {
const packageId = packageIdsByGraphKey.get(graphKey);
if (packageId)
dependencies.set(alias, packageId);
}
}
function addLinkedDependencies(dependencies, deps, linkedOpts = {}) {
for (const [alias, ref] of Object.entries(deps ?? {}).sort(([a2], [b]) => compareStrings(a2, b))) {
if (!ref.startsWith("link:"))
continue;
const target2 = resolveLinkTarget2(opts3.lockfileDir, linkedOpts.importerId, ref);
const targetId = opts3.packageIdStrategy === "path" ? graphPackageId(target2.dir, opts3) : target2.id;
addExternalLinkPackage({
...target2,
id: targetId
});
dependencies.set(alias, targetId);
if (linkedOpts.modulesDir) {
addDependencyLocation(linkedOpts.modulesDir, alias, targetId);
}
}
}
}
function resolveLinkTarget2(lockfileDir, importerId, ref) {
const linkPath = ref.slice(5);
const pathUtils = getPathUtils(lockfileDir, linkPath);
const importerDir = pathUtils.resolve(lockfileDir, importerId ?? ".");
const dir = pathUtils.isAbsolute(linkPath) ? linkPath : pathUtils.resolve(importerDir, linkPath);
const relativeId = relativePath(lockfileDir, dir);
return {
id: relativeId == null || relativeId.startsWith("..") ? `link:${(0, import_normalize_path8.default)(dir)}` : relativeId,
dir
};
}
function toRelativeUrl(from5, to) {
const toIsWindows = isWindowsAbsolutePath(to);
if (toIsWindows !== isWindowsAbsolutePath(from5)) {
return pathToFileURL2(to, { windows: toIsWindows }).href;
}
const pathUtils = getPathUtils(from5, to);
const relative2 = pathUtils.relative(from5, to);
if (pathUtils.isAbsolute(relative2)) {
return pathToFileURL2(to, { windows: pathUtils === path117.win32 }).href;
}
const normalizedRelativePath = (0, import_normalize_path8.default)(relative2) || ".";
if (normalizedRelativePath === "." || normalizedRelativePath === ".." || normalizedRelativePath.startsWith("./") || normalizedRelativePath.startsWith("../")) {
return normalizedRelativePath;
}
return `./${normalizedRelativePath}`;
}
function getNodeModulesPath(packageLocation) {
const segments = (0, import_normalize_path8.default)(packageLocation).split("/");
const nodeModulesIndex = segments.lastIndexOf("node_modules");
if (nodeModulesIndex === -1)
return void 0;
return segments.slice(0, nodeModulesIndex + 1).join("/");
}
function addPackageToModulesDir(packageLocationsByModulesDir, modulesDir, packageName, packageId) {
const normalizedModulesDir = (0, import_normalize_path8.default)(modulesDir);
let packageLocations = packageLocationsByModulesDir.get(normalizedModulesDir);
if (packageLocations == null) {
packageLocations = /* @__PURE__ */ new Map();
packageLocationsByModulesDir.set(normalizedModulesDir, packageLocations);
}
packageLocations.set(packageName, packageId);
}
function physicalDependencies(packageDir, packageLocationsByModulesDir) {
const dependencies = /* @__PURE__ */ new Map();
const pathUtils = getPathUtils(packageDir);
let currentPath = packageDir;
while (true) {
const modulesDir = (0, import_normalize_path8.default)(pathUtils.join(currentPath, "node_modules"));
const packageLocations = packageLocationsByModulesDir.get(modulesDir);
if (packageLocations) {
for (const [dependencyName, packageId] of Array.from(packageLocations).sort(([a2], [b]) => compareStrings(a2, b))) {
if (!dependencies.has(dependencyName)) {
dependencies.set(dependencyName, packageId);
}
}
}
const parentPath = pathUtils.dirname(currentPath);
if (parentPath === currentPath)
break;
currentPath = parentPath;
}
return dependencies;
}
function serializeDependencies(dependencies) {
return Object.fromEntries(Array.from(dependencies).sort(([a2], [b]) => compareStrings(a2, b)));
}
function graphNodePackageId(node, opts3) {
if (opts3.packageIdStrategy === "depPath")
return node.depPath;
return graphPackageId(node.dir, opts3);
}
function graphPackageId(packageDir, opts3) {
const relativeId = relativePath(opts3.rootModulesDir, packageDir);
if (relativeId == null)
return `link:${(0, import_normalize_path8.default)(packageDir)}`;
return relativeId === ".." ? "." : relativeId;
}
function resolvePath3(from5, ...segments) {
return getPathUtils(from5, ...segments).resolve(from5, ...segments);
}
function joinPath2(from5, ...segments) {
return getPathUtils(from5, ...segments).join(from5, ...segments);
}
function relativePath(from5, to) {
const pathUtils = getPathUtils(from5, to);
const relative2 = pathUtils.relative(from5, to);
if (pathUtils.isAbsolute(relative2))
return void 0;
return (0, import_normalize_path8.default)(relative2) || ".";
}
function getPathUtils(...paths3) {
return paths3.some(isWindowsAbsolutePath) ? path117.win32 : path117;
}
function isWindowsAbsolutePath(pathLike) {
return WINDOWS_ABSOLUTE_PATH_REGEXP.test(pathLike);
}
function compareStrings(a2, b) {
return a2 < b ? -1 : a2 > b ? 1 : 0;
}
var import_normalize_path8, PACKAGE_MAP_FILENAME, WINDOWS_ABSOLUTE_PATH_REGEXP;
var init_packageMap = __esm({
"../lockfile/to-pnp/lib/packageMap.js"() {
"use strict";
init_lib68();
init_lib73();
import_normalize_path8 = __toESM(require_normalize_path(), 1);
PACKAGE_MAP_FILENAME = ".package-map.json";
WINDOWS_ABSOLUTE_PATH_REGEXP = /^(?:[a-z]:[\\/]|[/\\]{2}[^/\\])/i;
}
});
// ../lockfile/to-pnp/lib/index.js
import { promises as fs73 } from "node:fs";
import path118 from "node:path";
async function writePnpFile(lockfile, opts3) {
const packageRegistry = lockfileToPackageRegistry(lockfile, opts3);
const loaderFile = (0, import_pnp.generateInlinedScript)({
dependencyTreeRoots: [],
ignorePattern: void 0,
packageRegistry,
pnpZipBackend: "libzip",
shebang: void 0
});
await fs73.writeFile(path118.join(opts3.lockfileDir, ".pnp.cjs"), loaderFile, "utf8");
}
function lockfileToPackageRegistry(lockfile, opts3) {
const packageRegistry = /* @__PURE__ */ new Map();
for (const [importerId, importer] of Object.entries(lockfile.importers)) {
if (importerId === ".") {
const packageStore = /* @__PURE__ */ new Map([
[
null,
{
packageDependencies: new Map([
...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies) : [],
...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies) : [],
...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies) : []
]),
packageLocation: "./"
}
]
]);
packageRegistry.set(null, packageStore);
} else {
const name = opts3.importerNames[importerId];
const packageStore = /* @__PURE__ */ new Map([
[
importerId,
{
packageDependencies: new Map([
[name, importerId],
...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies, importerId) : [],
...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies, importerId) : [],
...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies, importerId) : []
]),
packageLocation: `./${importerId}`
}
]
]);
packageRegistry.set(name, packageStore);
}
}
for (const [relDepPath, pkgSnapshot] of Object.entries(lockfile.packages ?? {})) {
const { name, version: version2, peerDepGraphHash } = nameVerFromPkgSnapshot(relDepPath, pkgSnapshot);
const pnpVersion = toPnPVersion(version2, peerDepGraphHash);
let packageStore = packageRegistry.get(name);
if (!packageStore) {
packageStore = /* @__PURE__ */ new Map();
packageRegistry.set(name, packageStore);
}
const pkgModulesDir = path118.join(opts3.virtualStoreDir, depPathToFilename(relDepPath, opts3.virtualStoreDirMaxLength), "node_modules");
let packageLocation = (0, import_normalize_path9.default)(path118.relative(opts3.lockfileDir, safeJoinModulesDir(pkgModulesDir, name)));
if (!packageLocation.startsWith("../")) {
packageLocation = `./${packageLocation}`;
}
if (!packageLocation.endsWith("/")) {
packageLocation += "/";
}
packageStore.set(pnpVersion, {
packageDependencies: new Map([
[name, pnpVersion],
...pkgSnapshot.dependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.dependencies) : [],
...pkgSnapshot.optionalDependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.optionalDependencies) : []
]),
packageLocation
});
}
return packageRegistry;
}
function toPackageDependenciesMap(lockfile, deps, importerId) {
return Object.entries(deps).map(([depAlias, ref]) => {
if (importerId && ref.startsWith("link:")) {
return [depAlias, path118.join(importerId, ref.slice(5))];
}
const relDepPath = refToRelative(ref, depAlias);
if (!relDepPath)
return [depAlias, ref];
const { name, version: version2, peerDepGraphHash } = nameVerFromPkgSnapshot(relDepPath, lockfile.packages[relDepPath]);
const pnpVersion = toPnPVersion(version2, peerDepGraphHash);
if (depAlias === name) {
return [depAlias, pnpVersion];
}
return [depAlias, [name, pnpVersion]];
});
}
function toPnPVersion(version2, peerDepGraphHash) {
return peerDepGraphHash ? `virtual:${version2}${peerDepGraphHash}#${version2}` : version2;
}
var import_pnp, import_normalize_path9;
var init_lib119 = __esm({
"../lockfile/to-pnp/lib/index.js"() {
"use strict";
init_lib68();
init_lib106();
init_lib73();
import_pnp = __toESM(require_lib25(), 1);
import_normalize_path9 = __toESM(require_normalize_path(), 1);
init_packageMap();
}
});
// ../installing/deps-restorer/lib/extendProjectsWithTargetDirs.js
function extendProjectsWithTargetDirs(projects, injectionTargetsByDepPath) {
const projectsById = Object.fromEntries(projects.map((project) => [project.id, { ...project, targetDirs: [] }]));
for (const [depPath, locations] of injectionTargetsByDepPath) {
const parsed = parse9(depPath);
if (!parsed.name || !parsed.nonSemverVersion?.startsWith("file:"))
continue;
const importerId = parsed.nonSemverVersion.replace(/^file:/, "");
if (projectsById[importerId] == null)
continue;
for (const location of locations) {
if (!projectsById[importerId].targetDirs.includes(location)) {
projectsById[importerId].targetDirs.push(location);
}
}
projectsById[importerId].stages = ["preinstall", "install", "postinstall", "prepare", "prepublishOnly"];
}
return Object.values(projectsById);
}
var init_extendProjectsWithTargetDirs = __esm({
"../installing/deps-restorer/lib/extendProjectsWithTargetDirs.js"() {
"use strict";
init_lib68();
}
});
// ../installing/deps-restorer/lib/linkHoistedModules.js
import path119 from "node:path";
async function linkHoistedModules(storeController, graph, prevGraph, hierarchy, opts3) {
const dirsToRemove = difference_default(Object.keys(prevGraph), Object.keys(graph));
statsLogger.debug({
prefix: opts3.lockfileDir,
removed: dirsToRemove.length
});
await Promise.all(dirsToRemove.map((dir) => tryRemoveDir(dir)));
const nodeVersion = findRuntimeNodeVersion(Object.values(graph).map((node) => node.depPath));
await Promise.all(Object.entries(hierarchy).map(([parentDir, depsHierarchy]) => {
function warn(message) {
logger.info({
message,
prefix: parentDir
});
}
return linkAllPkgsInOrder(storeController, graph, depsHierarchy, parentDir, {
...opts3,
nodeVersion,
warn
});
}));
}
async function tryRemoveDir(dir) {
removalLogger.debug(dir);
try {
await rimraf(dir);
} catch (err2) {
}
}
async function linkAllPkgsInOrder(storeController, graph, hierarchy, parentDir, opts3) {
await Promise.all(Object.entries(hierarchy).map(async ([dir, deps]) => {
const depNode = graph[dir];
if (depNode.fetching) {
let filesResponse;
try {
filesResponse = (await depNode.fetching()).files;
} catch (err2) {
if (depNode.optional)
return;
throw err2;
}
depNode.requiresBuild = filesResponse.requiresBuild;
let sideEffectsCacheKey;
if (opts3.sideEffectsCacheRead && filesResponse.sideEffectsMaps && !isEmpty_default(filesResponse.sideEffectsMaps)) {
if (opts3.allowBuild?.(depNode.depPath) === true) {
sideEffectsCacheKey = calcDepState(graph, opts3.depsStateCache, dir, {
includeDepGraphHash: !opts3.ignoreScripts && depNode.requiresBuild,
// true when is built
patchFileHash: depNode.patch?.hash,
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion: opts3.nodeVersion
});
}
}
await limitLinking2(async () => {
const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
filesResponse,
force: true,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
keepModulesDir: true,
requiresBuild: depNode.patch != null || depNode.requiresBuild,
sideEffectsCacheKey
});
if (importMethod) {
progressLogger.debug({
method: importMethod,
requester: opts3.lockfileDir,
status: "imported",
to: depNode.dir
});
}
depNode.isBuilt = isBuilt;
});
}
return linkAllPkgsInOrder(storeController, graph, deps, dir, opts3);
}));
const modulesDir = path119.join(parentDir, "node_modules");
const binsDir = path119.join(modulesDir, ".bin");
await linkBins(modulesDir, binsDir, {
allowExoticManifests: true,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn: opts3.warn
});
}
var limitLinking2;
var init_linkHoistedModules = __esm({
"../installing/deps-restorer/lib/linkHoistedModules.js"() {
"use strict";
init_lib16();
init_lib6();
init_lib74();
init_lib3();
init_rimraf();
init_p_limit();
init_es();
limitLinking2 = pLimit(16);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/nm/4.0.7/67fa1e5a3abd2e9717303d7b36e5d7781f0361381203436290da5947bf9ff292/node_modules/@yarnpkg/nm/lib/hoist.js
var require_hoist = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/nm/4.0.7/67fa1e5a3abd2e9717303d7b36e5d7781f0361381203436290da5947bf9ff292/node_modules/@yarnpkg/nm/lib/hoist.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.hoist = exports2.HoisterDependencyKind = void 0;
var HoisterDependencyKind2;
(function(HoisterDependencyKind3) {
HoisterDependencyKind3[HoisterDependencyKind3["REGULAR"] = 0] = "REGULAR";
HoisterDependencyKind3[HoisterDependencyKind3["WORKSPACE"] = 1] = "WORKSPACE";
HoisterDependencyKind3[HoisterDependencyKind3["EXTERNAL_SOFT_LINK"] = 2] = "EXTERNAL_SOFT_LINK";
})(HoisterDependencyKind2 || (exports2.HoisterDependencyKind = HoisterDependencyKind2 = {}));
var Hoistable;
(function(Hoistable2) {
Hoistable2[Hoistable2["YES"] = 0] = "YES";
Hoistable2[Hoistable2["NO"] = 1] = "NO";
Hoistable2[Hoistable2["DEPENDS"] = 2] = "DEPENDS";
})(Hoistable || (Hoistable = {}));
var makeLocator = (name, reference) => `${name}@${reference}`;
var makeIdent = (name, reference) => {
const hashIdx = reference.indexOf(`#`);
const realReference = hashIdx >= 0 ? reference.substring(hashIdx + 1) : reference;
return makeLocator(name, realReference);
};
var DebugLevel;
(function(DebugLevel2) {
DebugLevel2[DebugLevel2["NONE"] = -1] = "NONE";
DebugLevel2[DebugLevel2["PERF"] = 0] = "PERF";
DebugLevel2[DebugLevel2["CHECK"] = 1] = "CHECK";
DebugLevel2[DebugLevel2["REASONS"] = 2] = "REASONS";
DebugLevel2[DebugLevel2["INTENSIVE_CHECK"] = 9] = "INTENSIVE_CHECK";
})(DebugLevel || (DebugLevel = {}));
var hoist3 = (tree, opts3 = {}) => {
const debugLevel = opts3.debugLevel || Number(process.env.NM_DEBUG_LEVEL || DebugLevel.NONE);
const check2 = opts3.check || debugLevel >= DebugLevel.INTENSIVE_CHECK;
const hoistingLimits = opts3.hoistingLimits || /* @__PURE__ */ new Map();
const options = { check: check2, debugLevel, hoistingLimits, fastLookupPossible: true };
let startTime;
if (options.debugLevel >= DebugLevel.PERF)
startTime = Date.now();
const treeCopy = cloneTree(tree, options);
let anotherRoundNeeded = false;
let round = 0;
do {
const result2 = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options);
anotherRoundNeeded = result2.anotherRoundNeeded || result2.isGraphChanged;
options.fastLookupPossible = false;
round++;
} while (anotherRoundNeeded);
if (options.debugLevel >= DebugLevel.PERF)
console.log(`hoist time: ${Date.now() - startTime}ms, rounds: ${round}`);
if (options.debugLevel >= DebugLevel.CHECK) {
const prevTreeDump = dumpDepTree(treeCopy);
const isGraphChanged = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options).isGraphChanged;
if (isGraphChanged)
throw new Error(`The hoisting result is not terminal, prev tree:
${prevTreeDump}, next tree:
${dumpDepTree(treeCopy)}`);
const checkLog = selfCheck(treeCopy);
if (checkLog) {
throw new Error(`${checkLog}, after hoisting finished:
${dumpDepTree(treeCopy)}`);
}
}
if (options.debugLevel >= DebugLevel.REASONS)
console.log(dumpDepTree(treeCopy));
return shrinkTree(treeCopy);
};
exports2.hoist = hoist3;
var getZeroRoundUsedDependencies = (rootNodePath) => {
const rootNode = rootNodePath[rootNodePath.length - 1];
const usedDependencies = /* @__PURE__ */ new Map();
const seenNodes = /* @__PURE__ */ new Set();
const addUsedDependencies = (node) => {
if (seenNodes.has(node))
return;
seenNodes.add(node);
for (const dep of node.hoistedDependencies.values())
usedDependencies.set(dep.name, dep);
for (const dep of node.dependencies.values()) {
if (!node.peerNames.has(dep.name)) {
addUsedDependencies(dep);
}
}
};
addUsedDependencies(rootNode);
return usedDependencies;
};
var getUsedDependencies = (rootNodePath) => {
const rootNode = rootNodePath[rootNodePath.length - 1];
const usedDependencies = /* @__PURE__ */ new Map();
const seenNodes = /* @__PURE__ */ new Set();
const hiddenDependencies = /* @__PURE__ */ new Set();
const addUsedDependencies = (node, hiddenDependencies2) => {
if (seenNodes.has(node))
return;
seenNodes.add(node);
for (const dep of node.hoistedDependencies.values()) {
if (!hiddenDependencies2.has(dep.name)) {
let reachableDependency;
for (const node2 of rootNodePath) {
reachableDependency = node2.dependencies.get(dep.name);
if (reachableDependency) {
usedDependencies.set(reachableDependency.name, reachableDependency);
}
}
}
}
const childrenHiddenDependencies = /* @__PURE__ */ new Set();
for (const dep of node.dependencies.values())
childrenHiddenDependencies.add(dep.name);
for (const dep of node.dependencies.values()) {
if (!node.peerNames.has(dep.name)) {
addUsedDependencies(dep, childrenHiddenDependencies);
}
}
};
addUsedDependencies(rootNode, hiddenDependencies);
return usedDependencies;
};
var decoupleGraphNode = (parent, node) => {
if (node.decoupled)
return node;
const { name, references, ident, locator, dependencies, originalDependencies, hoistedDependencies, peerNames, reasons, isHoistBorder, hoistPriority, dependencyKind, hoistedFrom, hoistedTo } = node;
const clone4 = {
name,
references: new Set(references),
ident,
locator,
dependencies: new Map(dependencies),
originalDependencies: new Map(originalDependencies),
hoistedDependencies: new Map(hoistedDependencies),
peerNames: new Set(peerNames),
reasons: new Map(reasons),
decoupled: true,
isHoistBorder,
hoistPriority,
dependencyKind,
hoistedFrom: new Map(hoistedFrom),
hoistedTo: new Map(hoistedTo)
};
const selfDep = clone4.dependencies.get(name);
if (selfDep && selfDep.ident == clone4.ident)
clone4.dependencies.set(name, clone4);
parent.dependencies.set(clone4.name, clone4);
return clone4;
};
var getHoistIdentMap = (rootNode, preferenceMap) => {
const identMap = /* @__PURE__ */ new Map([[rootNode.name, [rootNode.ident]]]);
for (const dep of rootNode.dependencies.values()) {
if (!rootNode.peerNames.has(dep.name)) {
identMap.set(dep.name, [dep.ident]);
}
}
const keyList = Array.from(preferenceMap.keys());
keyList.sort((key1, key2) => {
const entry1 = preferenceMap.get(key1);
const entry2 = preferenceMap.get(key2);
if (entry2.hoistPriority !== entry1.hoistPriority) {
return entry2.hoistPriority - entry1.hoistPriority;
} else {
const entry1Usages = entry1.dependents.size + entry1.peerDependents.size;
const entry2Usages = entry2.dependents.size + entry2.peerDependents.size;
return entry2Usages - entry1Usages;
}
});
for (const key of keyList) {
const name = key.substring(0, key.indexOf(`@`, 1));
const ident = key.substring(name.length + 1);
if (!rootNode.peerNames.has(name)) {
let idents = identMap.get(name);
if (!idents) {
idents = [];
identMap.set(name, idents);
}
if (idents.indexOf(ident) < 0) {
idents.push(ident);
}
}
}
return identMap;
};
var getSortedRegularDependencies = (node) => {
const dependencies = /* @__PURE__ */ new Set();
const addDep = (dep, seenDeps = /* @__PURE__ */ new Set()) => {
if (seenDeps.has(dep))
return;
seenDeps.add(dep);
for (const peerName of dep.peerNames) {
if (!node.peerNames.has(peerName)) {
const peerDep = node.dependencies.get(peerName);
if (peerDep && !dependencies.has(peerDep)) {
addDep(peerDep, seenDeps);
}
}
}
dependencies.add(dep);
};
for (const dep of node.dependencies.values()) {
if (!node.peerNames.has(dep.name)) {
addDep(dep);
}
}
return dependencies;
};
var hoistTo = (tree, rootNodePath, rootNodePathLocators, parentShadowedNodes, options, seenNodes = /* @__PURE__ */ new Set()) => {
const rootNode = rootNodePath[rootNodePath.length - 1];
if (seenNodes.has(rootNode))
return { anotherRoundNeeded: false, isGraphChanged: false };
seenNodes.add(rootNode);
const preferenceMap = buildPreferenceMap(rootNode);
const hoistIdentMap = getHoistIdentMap(rootNode, preferenceMap);
const usedDependencies = tree == rootNode ? /* @__PURE__ */ new Map() : options.fastLookupPossible ? getZeroRoundUsedDependencies(rootNodePath) : getUsedDependencies(rootNodePath);
let wasStateChanged;
let anotherRoundNeeded = false;
let isGraphChanged = false;
const hoistIdents = new Map(Array.from(hoistIdentMap.entries()).map(([k2, v]) => [k2, v[0]]));
const shadowedNodes = /* @__PURE__ */ new Map();
do {
const result2 = hoistGraph2(tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options);
if (result2.isGraphChanged)
isGraphChanged = true;
if (result2.anotherRoundNeeded)
anotherRoundNeeded = true;
wasStateChanged = false;
for (const [name, idents] of hoistIdentMap) {
if (idents.length > 1 && !rootNode.dependencies.has(name)) {
hoistIdents.delete(name);
idents.shift();
hoistIdents.set(name, idents[0]);
wasStateChanged = true;
}
}
} while (wasStateChanged);
for (const dependency of rootNode.dependencies.values()) {
if (!rootNode.peerNames.has(dependency.name) && !rootNodePathLocators.has(dependency.locator)) {
rootNodePathLocators.add(dependency.locator);
const result2 = hoistTo(tree, [...rootNodePath, dependency], rootNodePathLocators, shadowedNodes, options);
if (result2.isGraphChanged)
isGraphChanged = true;
if (result2.anotherRoundNeeded)
anotherRoundNeeded = true;
rootNodePathLocators.delete(dependency.locator);
}
}
return { anotherRoundNeeded, isGraphChanged };
};
var hasUnhoistedDependencies = (node) => {
for (const [subName, subDependency] of node.dependencies) {
if (!node.peerNames.has(subName) && subDependency.ident !== node.ident) {
return true;
}
}
return false;
};
var getNodeHoistInfo = (rootNode, rootNodePathLocators, nodePath, node, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason, fastLookupPossible }) => {
let reasonRoot;
let reason = null;
let dependsOn = /* @__PURE__ */ new Set();
if (outputReason)
reasonRoot = `${Array.from(rootNodePathLocators).map((x3) => prettyPrintLocator(x3)).join(`\u2192`)}`;
const parentNode = nodePath[nodePath.length - 1];
const isSelfReference = node.ident === parentNode.ident;
let isHoistable = !isSelfReference;
if (outputReason && !isHoistable)
reason = `- self-reference`;
if (isHoistable) {
isHoistable = node.dependencyKind !== HoisterDependencyKind2.WORKSPACE;
if (outputReason && !isHoistable) {
reason = `- workspace`;
}
}
if (isHoistable && node.dependencyKind === HoisterDependencyKind2.EXTERNAL_SOFT_LINK) {
isHoistable = !hasUnhoistedDependencies(node);
if (outputReason && !isHoistable) {
reason = `- external soft link with unhoisted dependencies`;
}
}
if (isHoistable) {
isHoistable = !rootNode.peerNames.has(node.name);
if (outputReason && !isHoistable) {
reason = `- cannot shadow peer: ${prettyPrintLocator(rootNode.originalDependencies.get(node.name).locator)} at ${reasonRoot}`;
}
}
if (isHoistable) {
let isNameAvailable = false;
const usedDep = usedDependencies.get(node.name);
isNameAvailable = !usedDep || usedDep.ident === node.ident;
if (outputReason && !isNameAvailable)
reason = `- filled by: ${prettyPrintLocator(usedDep.locator)} at ${reasonRoot}`;
if (isNameAvailable) {
for (let idx = nodePath.length - 1; idx >= 1; idx--) {
const parent = nodePath[idx];
const parentDep = parent.dependencies.get(node.name);
if (parentDep && parentDep.ident !== node.ident) {
isNameAvailable = false;
let shadowedNames = shadowedNodes.get(parentNode);
if (!shadowedNames) {
shadowedNames = /* @__PURE__ */ new Set();
shadowedNodes.set(parentNode, shadowedNames);
}
shadowedNames.add(node.name);
if (outputReason)
reason = `- filled by ${prettyPrintLocator(parentDep.locator)} at ${nodePath.slice(0, idx).map((x3) => prettyPrintLocator(x3.locator)).join(`\u2192`)}`;
break;
}
}
}
isHoistable = isNameAvailable;
}
if (isHoistable) {
const hoistedIdent = hoistIdents.get(node.name);
isHoistable = hoistedIdent === node.ident;
if (outputReason && !isHoistable) {
reason = `- filled by: ${prettyPrintLocator(hoistIdentMap.get(node.name)[0])} at ${reasonRoot}`;
}
}
if (isHoistable) {
let arePeerDepsSatisfied = true;
const checkList2 = new Set(node.peerNames);
for (let idx = nodePath.length - 1; idx >= 1; idx--) {
const parent = nodePath[idx];
for (const name of checkList2) {
if (parent.peerNames.has(name) && parent.originalDependencies.has(name))
continue;
const parentDepNode = parent.dependencies.get(name);
if (parentDepNode && rootNode.dependencies.get(name) !== parentDepNode) {
if (idx === nodePath.length - 1) {
dependsOn.add(parentDepNode);
} else {
dependsOn = null;
arePeerDepsSatisfied = false;
if (outputReason) {
reason = `- peer dependency ${prettyPrintLocator(parentDepNode.locator)} from parent ${prettyPrintLocator(parent.locator)} was not hoisted to ${reasonRoot}`;
}
}
}
checkList2.delete(name);
}
if (!arePeerDepsSatisfied) {
break;
}
}
isHoistable = arePeerDepsSatisfied;
}
if (isHoistable && !fastLookupPossible) {
for (const origDep of node.hoistedDependencies.values()) {
const usedDep = usedDependencies.get(origDep.name) || rootNode.dependencies.get(origDep.name);
if (!usedDep || origDep.ident !== usedDep.ident) {
isHoistable = false;
if (outputReason)
reason = `- previously hoisted dependency mismatch, needed: ${prettyPrintLocator(origDep.locator)}, available: ${prettyPrintLocator(usedDep?.locator)}`;
break;
}
}
}
if (dependsOn !== null && dependsOn.size > 0) {
return { isHoistable: Hoistable.DEPENDS, dependsOn, reason };
} else {
return { isHoistable: isHoistable ? Hoistable.YES : Hoistable.NO, reason };
}
};
var getAliasedLocator = (node) => `${node.name}@${node.locator}`;
var hoistGraph2 = (tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options) => {
const rootNode = rootNodePath[rootNodePath.length - 1];
const seenNodes = /* @__PURE__ */ new Set();
let anotherRoundNeeded = false;
let isGraphChanged = false;
const hoistNodeDependencies = (nodePath, locatorPath, aliasedLocatorPath, parentNode, newNodes2) => {
if (seenNodes.has(parentNode))
return;
const nextLocatorPath = [...locatorPath, getAliasedLocator(parentNode)];
const nextAliasedLocatorPath = [...aliasedLocatorPath, getAliasedLocator(parentNode)];
const dependantTree = /* @__PURE__ */ new Map();
const hoistInfos = /* @__PURE__ */ new Map();
for (const subDependency of getSortedRegularDependencies(parentNode)) {
const hoistInfo = getNodeHoistInfo(rootNode, rootNodePathLocators, [rootNode, ...nodePath, parentNode], subDependency, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason: options.debugLevel >= DebugLevel.REASONS, fastLookupPossible: options.fastLookupPossible });
hoistInfos.set(subDependency, hoistInfo);
if (hoistInfo.isHoistable === Hoistable.DEPENDS) {
for (const node of hoistInfo.dependsOn) {
const nodeDependants = dependantTree.get(node.name) || /* @__PURE__ */ new Set();
nodeDependants.add(subDependency.name);
dependantTree.set(node.name, nodeDependants);
}
}
}
const unhoistableNodes = /* @__PURE__ */ new Set();
const addUnhoistableNode = (node, hoistInfo, reason) => {
if (!unhoistableNodes.has(node)) {
unhoistableNodes.add(node);
hoistInfos.set(node, { isHoistable: Hoistable.NO, reason });
for (const dependantName of dependantTree.get(node.name) || []) {
addUnhoistableNode(parentNode.dependencies.get(dependantName), hoistInfo, options.debugLevel >= DebugLevel.REASONS ? `- peer dependency ${prettyPrintLocator(node.locator)} from parent ${prettyPrintLocator(parentNode.locator)} was not hoisted` : ``);
}
}
};
for (const [node, hoistInfo] of hoistInfos)
if (hoistInfo.isHoistable === Hoistable.NO)
addUnhoistableNode(node, hoistInfo, hoistInfo.reason);
let wereNodesHoisted = false;
for (const node of hoistInfos.keys()) {
if (!unhoistableNodes.has(node)) {
isGraphChanged = true;
const shadowedNames = parentShadowedNodes.get(parentNode);
if (shadowedNames && shadowedNames.has(node.name))
anotherRoundNeeded = true;
wereNodesHoisted = true;
parentNode.dependencies.delete(node.name);
parentNode.hoistedDependencies.set(node.name, node);
parentNode.reasons.delete(node.name);
const hoistedNode = rootNode.dependencies.get(node.name);
if (options.debugLevel >= DebugLevel.REASONS) {
const hoistedFrom = Array.from(locatorPath).concat([parentNode.locator]).map((x3) => prettyPrintLocator(x3)).join(`\u2192`);
let hoistedFromArray = rootNode.hoistedFrom.get(node.name);
if (!hoistedFromArray) {
hoistedFromArray = [];
rootNode.hoistedFrom.set(node.name, hoistedFromArray);
}
hoistedFromArray.push(hoistedFrom);
parentNode.hoistedTo.set(node.name, Array.from(rootNodePath).map((x3) => prettyPrintLocator(x3.locator)).join(`\u2192`));
}
if (!hoistedNode) {
if (rootNode.ident !== node.ident) {
rootNode.dependencies.set(node.name, node);
newNodes2.add(node);
}
} else {
for (const reference of node.references) {
hoistedNode.references.add(reference);
}
}
}
}
if (parentNode.dependencyKind === HoisterDependencyKind2.EXTERNAL_SOFT_LINK && wereNodesHoisted)
anotherRoundNeeded = true;
if (options.check) {
const checkLog = selfCheck(tree);
if (checkLog) {
throw new Error(`${checkLog}, after hoisting dependencies of ${[rootNode, ...nodePath, parentNode].map((x3) => prettyPrintLocator(x3.locator)).join(`\u2192`)}:
${dumpDepTree(tree)}`);
}
}
const children = getSortedRegularDependencies(parentNode);
for (const node of children) {
if (unhoistableNodes.has(node)) {
const hoistInfo = hoistInfos.get(node);
const hoistableIdent = hoistIdents.get(node.name);
if ((hoistableIdent === node.ident || !parentNode.reasons.has(node.name)) && hoistInfo.isHoistable !== Hoistable.YES)
parentNode.reasons.set(node.name, hoistInfo.reason);
if (!node.isHoistBorder && nextAliasedLocatorPath.indexOf(getAliasedLocator(node)) < 0) {
seenNodes.add(parentNode);
const decoupledNode = decoupleGraphNode(parentNode, node);
hoistNodeDependencies([...nodePath, parentNode], nextLocatorPath, nextAliasedLocatorPath, decoupledNode, nextNewNodes);
seenNodes.delete(parentNode);
}
}
}
};
let newNodes;
let nextNewNodes = new Set(getSortedRegularDependencies(rootNode));
const aliasedRootNodePathLocators = Array.from(rootNodePath).map((x3) => getAliasedLocator(x3));
do {
newNodes = nextNewNodes;
nextNewNodes = /* @__PURE__ */ new Set();
for (const dep of newNodes) {
if (dep.locator === rootNode.locator || dep.isHoistBorder)
continue;
const decoupledDependency = decoupleGraphNode(rootNode, dep);
hoistNodeDependencies([], Array.from(rootNodePathLocators), aliasedRootNodePathLocators, decoupledDependency, nextNewNodes);
}
} while (nextNewNodes.size > 0);
return { anotherRoundNeeded, isGraphChanged };
};
var selfCheck = (tree) => {
const log3 = [];
const seenNodes = /* @__PURE__ */ new Set();
const parents = /* @__PURE__ */ new Set();
const checkNode = (node, parentDeps, parent) => {
if (seenNodes.has(node))
return;
seenNodes.add(node);
if (parents.has(node))
return;
const dependencies = new Map(parentDeps);
for (const dep of node.dependencies.values())
if (!node.peerNames.has(dep.name))
dependencies.set(dep.name, dep);
for (const origDep of node.originalDependencies.values()) {
const dep = dependencies.get(origDep.name);
const prettyPrintTreePath = () => `${Array.from(parents).concat([node]).map((x3) => prettyPrintLocator(x3.locator)).join(`\u2192`)}`;
if (node.peerNames.has(origDep.name)) {
const parentDep = parentDeps.get(origDep.name);
if (parentDep !== dep || !parentDep || parentDep.ident !== origDep.ident) {
log3.push(`${prettyPrintTreePath()} - broken peer promise: expected ${origDep.ident} but found ${parentDep ? parentDep.ident : parentDep}`);
}
} else {
const hoistedFrom = parent.hoistedFrom.get(node.name);
const originalHoistedTo = node.hoistedTo.get(origDep.name);
const prettyHoistedFrom = `${hoistedFrom ? ` hoisted from ${hoistedFrom.join(`, `)}` : ``}`;
const prettyOriginalHoistedTo = `${originalHoistedTo ? ` hoisted to ${originalHoistedTo}` : ``}`;
const prettyNodePath = `${prettyPrintTreePath()}${prettyHoistedFrom}`;
if (!dep) {
log3.push(`${prettyNodePath} - broken require promise: no required dependency ${origDep.name}${prettyOriginalHoistedTo} found`);
} else if (dep.ident !== origDep.ident) {
log3.push(`${prettyNodePath} - broken require promise for ${origDep.name}${prettyOriginalHoistedTo}: expected ${origDep.ident}, but found: ${dep.ident}`);
}
}
}
parents.add(node);
for (const dep of node.dependencies.values()) {
if (!node.peerNames.has(dep.name)) {
checkNode(dep, dependencies, node);
}
}
parents.delete(node);
};
checkNode(tree, tree.dependencies, tree);
return log3.join(`
`);
};
var cloneTree = (tree, options) => {
const { identName, name, reference, peerNames } = tree;
const treeCopy = {
name,
references: /* @__PURE__ */ new Set([reference]),
locator: makeLocator(identName, reference),
ident: makeIdent(identName, reference),
dependencies: /* @__PURE__ */ new Map(),
originalDependencies: /* @__PURE__ */ new Map(),
hoistedDependencies: /* @__PURE__ */ new Map(),
peerNames: new Set(peerNames),
reasons: /* @__PURE__ */ new Map(),
decoupled: true,
isHoistBorder: true,
hoistPriority: 0,
dependencyKind: HoisterDependencyKind2.WORKSPACE,
hoistedFrom: /* @__PURE__ */ new Map(),
hoistedTo: /* @__PURE__ */ new Map()
};
const seenNodes = /* @__PURE__ */ new Map([[tree, treeCopy]]);
const addNode = (node, parentNode) => {
let workNode = seenNodes.get(node);
const isSeen = !!workNode;
if (!workNode) {
const { name: name2, identName: identName2, reference: reference2, peerNames: peerNames2, hoistPriority, dependencyKind } = node;
const dependenciesNmHoistingLimits = options.hoistingLimits.get(parentNode.locator);
workNode = {
name: name2,
references: /* @__PURE__ */ new Set([reference2]),
locator: makeLocator(identName2, reference2),
ident: makeIdent(identName2, reference2),
dependencies: /* @__PURE__ */ new Map(),
originalDependencies: /* @__PURE__ */ new Map(),
hoistedDependencies: /* @__PURE__ */ new Map(),
peerNames: new Set(peerNames2),
reasons: /* @__PURE__ */ new Map(),
decoupled: true,
isHoistBorder: dependenciesNmHoistingLimits ? dependenciesNmHoistingLimits.has(name2) : false,
hoistPriority: hoistPriority || 0,
dependencyKind: dependencyKind || HoisterDependencyKind2.REGULAR,
hoistedFrom: /* @__PURE__ */ new Map(),
hoistedTo: /* @__PURE__ */ new Map()
};
seenNodes.set(node, workNode);
}
parentNode.dependencies.set(node.name, workNode);
parentNode.originalDependencies.set(node.name, workNode);
if (!isSeen) {
for (const dep of node.dependencies) {
addNode(dep, workNode);
}
} else {
const seenCoupledNodes = /* @__PURE__ */ new Set();
const markNodeCoupled = (node2) => {
if (seenCoupledNodes.has(node2))
return;
seenCoupledNodes.add(node2);
node2.decoupled = false;
for (const dep of node2.dependencies.values()) {
if (!node2.peerNames.has(dep.name)) {
markNodeCoupled(dep);
}
}
};
markNodeCoupled(workNode);
}
};
for (const dep of tree.dependencies)
addNode(dep, treeCopy);
return treeCopy;
};
var getIdentName = (locator) => locator.substring(0, locator.indexOf(`@`, 1));
var shrinkTree = (tree) => {
const treeCopy = {
name: tree.name,
identName: getIdentName(tree.locator),
references: new Set(tree.references),
dependencies: /* @__PURE__ */ new Set()
};
const seenNodes = /* @__PURE__ */ new Set([tree]);
const addNode = (node, parentWorkNode, parentNode) => {
const isSeen = seenNodes.has(node);
let resultNode;
if (parentWorkNode === node) {
resultNode = parentNode;
} else {
const { name, references, locator } = node;
resultNode = {
name,
identName: getIdentName(locator),
references,
dependencies: /* @__PURE__ */ new Set()
};
}
parentNode.dependencies.add(resultNode);
if (!isSeen) {
seenNodes.add(node);
for (const dep of node.dependencies.values()) {
if (!node.peerNames.has(dep.name)) {
addNode(dep, node, resultNode);
}
}
seenNodes.delete(node);
}
};
for (const dep of tree.dependencies.values())
addNode(dep, tree, treeCopy);
return treeCopy;
};
var buildPreferenceMap = (rootNode) => {
const preferenceMap = /* @__PURE__ */ new Map();
const seenNodes = /* @__PURE__ */ new Set([rootNode]);
const getPreferenceKey = (node) => `${node.name}@${node.ident}`;
const getOrCreatePreferenceEntry = (node) => {
const key = getPreferenceKey(node);
let entry = preferenceMap.get(key);
if (!entry) {
entry = { dependents: /* @__PURE__ */ new Set(), peerDependents: /* @__PURE__ */ new Set(), hoistPriority: 0 };
preferenceMap.set(key, entry);
}
return entry;
};
const addDependent = (dependent, node) => {
const isSeen = !!seenNodes.has(node);
const entry = getOrCreatePreferenceEntry(node);
entry.dependents.add(dependent.ident);
if (!isSeen) {
seenNodes.add(node);
for (const dep of node.dependencies.values()) {
const entry2 = getOrCreatePreferenceEntry(dep);
entry2.hoistPriority = Math.max(entry2.hoistPriority, dep.hoistPriority);
if (node.peerNames.has(dep.name)) {
entry2.peerDependents.add(node.ident);
} else {
addDependent(node, dep);
}
}
}
};
for (const dep of rootNode.dependencies.values())
if (!rootNode.peerNames.has(dep.name))
addDependent(rootNode, dep);
return preferenceMap;
};
var prettyPrintLocator = (locator) => {
if (!locator)
return `none`;
const idx = locator.indexOf(`@`, 1);
let name = locator.substring(0, idx);
if (name.endsWith(`$wsroot$`))
name = `wh:${name.replace(`$wsroot$`, ``)}`;
const reference = locator.substring(idx + 1);
if (reference === `workspace:.`) {
return `.`;
} else if (!reference) {
return `${name}`;
} else {
let version2 = (reference.indexOf(`#`) > 0 ? reference.split(`#`)[1] : reference).replace(`npm:`, ``);
if (reference.startsWith(`virtual`))
name = `v:${name}`;
if (version2.startsWith(`workspace`)) {
name = `w:${name}`;
version2 = ``;
}
return `${name}${version2 ? `@${version2}` : ``}`;
}
};
var MAX_NODES_TO_DUMP = 5e4;
var dumpDepTree = (tree) => {
let nodeCount = 0;
const dumpPackage = (pkg, parents, prefix = ``) => {
if (nodeCount > MAX_NODES_TO_DUMP || parents.has(pkg))
return ``;
nodeCount++;
const dependencies = Array.from(pkg.dependencies.values()).sort((n1, n2) => {
if (n1.name === n2.name) {
return 0;
} else {
return n1.name > n2.name ? 1 : -1;
}
});
let str2 = ``;
parents.add(pkg);
for (let idx = 0; idx < dependencies.length; idx++) {
const dep = dependencies[idx];
if (!pkg.peerNames.has(dep.name) && dep !== pkg) {
const reason = pkg.reasons.get(dep.name);
const identName = getIdentName(dep.locator);
str2 += `${prefix}${idx < dependencies.length - 1 ? `\u251C\u2500` : `\u2514\u2500`}${(parents.has(dep) ? `>` : ``) + (identName !== dep.name ? `a:${dep.name}:` : ``) + prettyPrintLocator(dep.locator) + (reason ? ` ${reason}` : ``)}
`;
str2 += dumpPackage(dep, parents, `${prefix}${idx < dependencies.length - 1 ? `\u2502 ` : ` `}`);
}
}
parents.delete(pkg);
return str2;
};
const treeDump = dumpPackage(tree, /* @__PURE__ */ new Set());
return treeDump + (nodeCount > MAX_NODES_TO_DUMP ? `
Tree is too large, part of the tree has been dunped
` : ``);
};
}
});
// ../installing/linking/real-hoist/lib/index.js
function getHoistingLimits(lockfile, mode) {
if (!mode || mode === "none")
return void 0;
const hoistingLimits = /* @__PURE__ */ new Map();
const rootHoistingLimit = /* @__PURE__ */ new Set();
for (const [importerId, importer] of Object.entries(lockfile.importers)) {
const isWorkspaceRoot = importerId === ".";
const encodedId = encodeURIComponent(importerId);
if (!isWorkspaceRoot) {
rootHoistingLimit.add(encodedId);
if (mode !== "dependencies") {
continue;
}
}
const reference = isWorkspaceRoot ? "" : `workspace:${importerId}`;
const hoistingLimit = isWorkspaceRoot ? rootHoistingLimit : /* @__PURE__ */ new Set();
hoistingLimits.set(`${encodedId}@${reference}`, hoistingLimit);
for (const deps of [importer.dependencies, importer.devDependencies, importer.optionalDependencies]) {
if (!deps)
continue;
for (const dep of Object.keys(deps)) {
hoistingLimit.add(dep);
}
}
}
return hoistingLimits;
}
function hoist2(lockfile, opts3) {
const nodes = /* @__PURE__ */ new Map();
const ctx = {
autoInstallPeers: opts3?.autoInstallPeers,
nodes,
lockfile,
depPathByPkgId: /* @__PURE__ */ new Map()
};
const _toTree = toTree.bind(null, ctx);
const node = {
name: ".",
identName: ".",
reference: "",
peerNames: /* @__PURE__ */ new Set([]),
dependencyKind: import_hoist.HoisterDependencyKind.WORKSPACE,
dependencies: _toTree({
...lockfile.importers["."]?.dependencies,
...lockfile.importers["."]?.devDependencies,
...lockfile.importers["."]?.optionalDependencies,
...Array.from(opts3?.externalDependencies ?? []).reduce((acc, dep) => {
acc[dep] = "link:";
return acc;
}, {})
})
};
for (const [importerId, importer] of Object.entries(lockfile.importers)) {
if (importerId === ".")
continue;
const importerNode = {
name: encodeURIComponent(importerId),
identName: encodeURIComponent(importerId),
reference: `workspace:${importerId}`,
peerNames: /* @__PURE__ */ new Set([]),
dependencyKind: import_hoist.HoisterDependencyKind.WORKSPACE,
dependencies: _toTree({
...importer.dependencies,
...importer.devDependencies,
...importer.optionalDependencies
})
};
node.dependencies.add(importerNode);
}
const hoistingLimits = getHoistingLimits(lockfile, opts3?.hoistingLimits);
const hoisterResult = (0, import_hoist.hoist)(node, { ...opts3, hoistingLimits });
if (opts3?.externalDependencies) {
for (const hoistedDep of hoisterResult.dependencies.values()) {
if (opts3.externalDependencies.has(hoistedDep.name)) {
hoisterResult.dependencies.delete(hoistedDep);
}
}
}
return hoisterResult;
}
function toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, deps) {
return new Set(Object.entries(deps).map(([alias, ref]) => {
const depPath = refToRelative(ref, alias);
if (!depPath) {
const key2 = `${alias}:${ref}`;
let node2 = nodes.get(key2);
if (!node2) {
node2 = {
name: alias,
identName: alias,
reference: ref,
dependencyKind: import_hoist.HoisterDependencyKind.REGULAR,
dependencies: /* @__PURE__ */ new Set(),
peerNames: /* @__PURE__ */ new Set()
};
nodes.set(key2, node2);
}
return node2;
}
const key = `${alias}:${depPath}`;
let node = nodes.get(key);
if (!node) {
const pkgSnapshot = lockfile.packages[depPath];
if (!pkgSnapshot) {
throw new LockfileMissingDependencyError(depPath);
}
const { name: pkgName, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const id = `${pkgName}@${version2}`;
if (!depPathByPkgId.has(id)) {
depPathByPkgId.set(id, depPath);
}
node = {
name: alias,
identName: pkgName,
reference: depPathByPkgId.get(id),
dependencyKind: import_hoist.HoisterDependencyKind.REGULAR,
dependencies: /* @__PURE__ */ new Set(),
peerNames: new Set(autoInstallPeers ? [] : [
...Object.keys(pkgSnapshot.peerDependencies ?? {}),
...pkgSnapshot.transitivePeerDependencies ?? []
])
};
nodes.set(key, node);
node.dependencies = toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, { ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies });
}
return node;
}));
}
var import_hoist;
var init_lib120 = __esm({
"../installing/linking/real-hoist/lib/index.js"() {
"use strict";
init_lib68();
init_lib2();
init_lib73();
import_hoist = __toESM(require_hoist(), 1);
}
});
// ../installing/deps-restorer/lib/lockfileToHoistedDepGraph.js
import path120 from "node:path";
async function lockfileToHoistedDepGraph(lockfile, currentLockfile, opts3) {
let prevGraph;
if (currentLockfile?.packages != null) {
prevGraph = (await _lockfileToHoistedDepGraph(currentLockfile, {
...opts3,
force: true,
skipped: /* @__PURE__ */ new Set()
})).graph;
} else {
prevGraph = {};
}
return {
...await _lockfileToHoistedDepGraph(lockfile, opts3),
prevGraph
};
}
async function _lockfileToHoistedDepGraph(lockfile, opts3) {
const tree = hoist2(lockfile, {
hoistingLimits: opts3.hoistingLimits,
externalDependencies: opts3.externalDependencies,
autoInstallPeers: opts3.autoInstallPeers
});
const graph = {};
const modulesDir = pathAbsolute(opts3.modulesDir ?? "node_modules", opts3.lockfileDir);
const fetchDepsOpts = {
...opts3,
lockfile,
graph,
pkgLocationsByDepPath: {},
injectionTargetsByDepPath: /* @__PURE__ */ new Map(),
hoistedLocations: {}
};
const hierarchy = {
[opts3.lockfileDir]: await fetchDeps(fetchDepsOpts, modulesDir, tree.dependencies)
};
const directDependenciesByImporterId = {
".": directDepsMap(Object.keys(hierarchy[opts3.lockfileDir]), graph)
};
const symlinkedDirectDependenciesByImporterId = { ".": {} };
await Promise.all(Array.from(tree.dependencies).map(async (rootDep) => {
const reference = Array.from(rootDep.references)[0];
if (reference.startsWith("workspace:")) {
const importerId = reference.replace("workspace:", "");
const projectDir = path120.join(opts3.lockfileDir, importerId);
const modulesDir2 = path120.join(projectDir, "node_modules");
const nextHierarchy = await fetchDeps(fetchDepsOpts, modulesDir2, rootDep.dependencies);
hierarchy[projectDir] = nextHierarchy;
const importer = lockfile.importers[importerId];
const importerDir = path120.join(opts3.lockfileDir, importerId);
symlinkedDirectDependenciesByImporterId[importerId] = pickLinkedDirectDeps(importer, importerDir, opts3.include);
directDependenciesByImporterId[importerId] = directDepsMap(Object.keys(nextHierarchy), graph);
}
}));
return {
directDependenciesByImporterId,
graph,
hierarchy,
symlinkedDirectDependenciesByImporterId,
hoistedLocations: fetchDepsOpts.hoistedLocations,
injectionTargetsByDepPath: fetchDepsOpts.injectionTargetsByDepPath
};
}
function directDepsMap(directDepDirs, graph) {
const acc = {};
for (const dir of directDepDirs) {
acc[graph[dir].alias] = dir;
}
return acc;
}
function pickLinkedDirectDeps(importer, importerDir, include) {
const rootDeps = {
...include.devDependencies ? importer.devDependencies : {},
...include.dependencies ? importer.dependencies : {},
...include.optionalDependencies ? importer.optionalDependencies : {}
};
const directDeps = {};
for (const alias in rootDeps) {
const ref = rootDeps[alias];
if (ref.startsWith("link:")) {
directDeps[alias] = path120.resolve(importerDir, ref.slice(5));
}
}
return directDeps;
}
async function fetchDeps(opts3, modules, deps) {
const depHierarchy = {};
await Promise.all(Array.from(deps).map(async (dep) => {
const depPath = Array.from(dep.references)[0];
if (opts3.skipped.has(depPath) || depPath.startsWith("workspace:"))
return;
const pkgSnapshot = opts3.lockfile.packages[depPath];
if (!pkgSnapshot) {
return;
}
const { name: pkgName, version: pkgVersion } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const packageId = packageIdFromSnapshot(depPath, pkgSnapshot);
const pkgIdWithPatchHash = getPkgIdWithPatchHash(depPath);
const pkg = {
name: pkgName,
version: pkgVersion,
engines: pkgSnapshot.engines,
cpu: pkgSnapshot.cpu,
os: pkgSnapshot.os,
libc: pkgSnapshot.libc
};
if (!opts3.force && packageIsInstallable(packageId, pkg, {
engineStrict: opts3.engineStrict,
lockfileDir: opts3.lockfileDir,
nodeVersion: opts3.nodeVersion,
optional: pkgSnapshot.optional === true,
supportedArchitectures: opts3.supportedArchitectures
}) === false) {
opts3.skipped.add(depPath);
return;
}
const isDirectoryDep = "directory" in pkgSnapshot.resolution && pkgSnapshot.resolution.directory != null;
if (isDirectoryDep && opts3.ignoreLocalPackages) {
logger.info({
message: `Skipping local dependency ${pkgName}@${pkgVersion} (file: protocol)`,
prefix: opts3.lockfileDir
});
return;
}
const dir = safeJoinModulesDir(modules, dep.name);
const depLocation = path120.relative(opts3.lockfileDir, dir);
const resolution = pkgSnapshotToResolution(depPath, pkgSnapshot, opts3.registries);
let fetchResponse;
const skipFetch = opts3.currentHoistedLocations?.[depPath]?.includes(depLocation) && await dirHasPackageJsonWithVersion(path120.join(opts3.lockfileDir, depLocation), pkgVersion);
const pkgResolution = {
id: packageId,
resolution,
name: pkgName,
version: pkgVersion
};
if (skipFetch) {
const { filesIndexFile } = opts3.storeController.getFilesIndexFilePath({
ignoreScripts: opts3.ignoreScripts,
pkg: pkgResolution
});
fetchResponse = { filesIndexFile };
} else {
try {
fetchResponse = opts3.storeController.fetchPackage({
allowBuild: opts3.allowBuild,
force: false,
lockfileDir: opts3.lockfileDir,
ignoreScripts: opts3.ignoreScripts,
pkg: pkgResolution,
supportedArchitectures: opts3.supportedArchitectures
});
if (fetchResponse instanceof Promise)
fetchResponse = await fetchResponse;
} catch (err2) {
if (pkgSnapshot.optional)
return;
throw err2;
}
}
opts3.graph[dir] = {
alias: dep.name,
children: {},
depPath,
pkgIdWithPatchHash,
dir,
fetching: fetchResponse.fetching,
filesIndexFile: fetchResponse.filesIndexFile,
hasBin: pkgSnapshot.hasBin === true,
hasBundledDependencies: pkgSnapshot.bundledDependencies != null,
modules,
name: pkgName,
version: pkgVersion,
optional: !!pkgSnapshot.optional,
optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})),
patch: getPatchInfo(opts3.patchedDependencies, pkgName, pkgVersion),
resolution: pkgSnapshot.resolution
};
if (!opts3.pkgLocationsByDepPath[depPath]) {
opts3.pkgLocationsByDepPath[depPath] = [];
}
opts3.pkgLocationsByDepPath[depPath].push(dir);
if ("directory" in pkgSnapshot.resolution && pkgSnapshot.resolution.directory != null) {
const locations = opts3.injectionTargetsByDepPath.get(depPath);
if (locations) {
locations.push(dir);
} else {
opts3.injectionTargetsByDepPath.set(depPath, [dir]);
}
}
depHierarchy[dir] = await fetchDeps(opts3, path120.join(dir, "node_modules"), dep.dependencies);
if (!opts3.hoistedLocations[depPath]) {
opts3.hoistedLocations[depPath] = [];
}
opts3.hoistedLocations[depPath].push(depLocation);
opts3.graph[dir].children = getChildren(pkgSnapshot, opts3.pkgLocationsByDepPath, opts3);
}));
return depHierarchy;
}
async function dirHasPackageJsonWithVersion(dir, expectedVersion) {
if (!expectedVersion)
return pathExists2(dir);
try {
const manifest = await safeReadPackageJsonFromDir(dir);
return manifest?.version === expectedVersion;
} catch (err2) {
if (err2?.code === "ENOENT") {
return pathExists2(dir);
}
throw err2;
}
}
function getChildren(pkgSnapshot, pkgLocationsByDepPath, opts3) {
const allDeps = {
...pkgSnapshot.dependencies,
...opts3.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
};
const children = {};
for (const [childName, childRef] of Object.entries(allDeps)) {
const childDepPath = refToRelative(childRef, childName);
if (childDepPath && pkgLocationsByDepPath[childDepPath]) {
children[childName] = pkgLocationsByDepPath[childDepPath][0];
}
}
return children;
}
var init_lockfileToHoistedDepGraph = __esm({
"../installing/deps-restorer/lib/lockfileToHoistedDepGraph.js"() {
"use strict";
init_lib40();
init_lib68();
init_lib106();
init_lib120();
init_lib73();
init_lib3();
init_lib108();
init_lib5();
init_path_absolute();
init_path_exists();
}
});
// ../installing/deps-restorer/lib/index.js
import { promises as fs74 } from "node:fs";
import path121 from "node:path";
async function headlessInstall(opts3) {
const reporter = opts3.reporter;
if (reporter != null && typeof reporter === "function") {
streamParser.on("data", reporter);
}
const lockfileDir = opts3.lockfileDir;
const wantedLockfile = opts3.wantedLockfile ?? await readWantedLockfile(lockfileDir, {
ignoreIncompatible: false,
useGitBranchLockfile: opts3.useGitBranchLockfile,
// mergeGitBranchLockfiles is intentionally not supported in headless
mergeGitBranchLockfiles: false
});
if (wantedLockfile == null) {
throw new Error(`Headless installation requires a ${WANTED_LOCKFILE} file`);
}
const depsStateCache = {};
const modulesDir = opts3.modulesDir ?? "node_modules";
const rootModulesDir = await realpathMissing(pathAbsolute(modulesDir, lockfileDir));
const internalPnpmDir = path121.join(rootModulesDir, ".pnpm");
const currentLockfile = opts3.currentLockfile ?? await readCurrentLockfile(internalPnpmDir, { ignoreIncompatible: false });
const virtualStoreDir = pathAbsolute(opts3.virtualStoreDir ?? path121.join(modulesDir, ".pnpm"), lockfileDir);
const hoistedModulesDir = path121.join(opts3.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules");
const publicHoistedModulesDir = rootModulesDir;
const selectedProjects = Object.values(pick_default(opts3.selectedProjectDirs, opts3.allProjects));
const scriptsOpts = {
optional: false,
extraBinPaths: opts3.extraBinPaths,
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
extraEnv: opts3.extraEnv,
configByUri: opts3.configByUri,
resolveSymlinksInInjectedDirs: opts3.resolveSymlinksInInjectedDirs,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
stdio: opts3.ownLifecycleHooksStdio ?? "inherit",
storeController: opts3.storeController,
unsafePerm: opts3.unsafePerm || false,
userAgent: opts3.userAgent
};
if (opts3.virtualStoreOnly && opts3.enableModulesDir === false && !opts3.enableGlobalVirtualStore) {
throw new PnpmError("CONFIG_CONFLICT_VIRTUAL_STORE_ONLY_WITH_NO_MODULES_DIR", "Cannot use virtualStoreOnly when enableModulesDir is false (the standard virtual store requires node_modules/.pnpm)");
}
const skipPostImportLinking = opts3.virtualStoreOnly === true;
const skipped = opts3.skipped || /* @__PURE__ */ new Set();
const filterOpts = {
include: opts3.include,
registries: opts3.registries,
skipped,
skipRuntimes: opts3.skipRuntimes,
currentEngine: opts3.currentEngine,
engineStrict: opts3.engineStrict,
failOnMissingDependencies: true,
includeIncompatiblePackages: opts3.force,
lockfileDir,
supportedArchitectures: opts3.supportedArchitectures
};
let removed = 0;
if (opts3.nodeLinker !== "hoisted") {
if (currentLockfile != null && !opts3.ignorePackageManifest) {
const removedDepPaths = await prune2(selectedProjects, {
currentLockfile,
dedupeDirectDeps: opts3.dedupeDirectDeps,
dryRun: false,
hoistedDependencies: opts3.hoistedDependencies,
hoistedModulesDir: opts3.hoistPattern == null ? void 0 : hoistedModulesDir,
include: opts3.include,
lockfileDir,
pruneStore: opts3.pruneStore,
pruneVirtualStore: opts3.pruneVirtualStore,
publicHoistedModulesDir: opts3.publicHoistPattern == null ? void 0 : publicHoistedModulesDir,
skipped,
storeController: opts3.storeController,
virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
wantedLockfile: filterLockfileByEngine(wantedLockfile, filterOpts).lockfile
});
removed = removedDepPaths.size;
} else {
statsLogger.debug({
prefix: lockfileDir,
removed: 0
});
}
}
stageLogger.debug({
prefix: lockfileDir,
stage: "importing_started"
});
const initialImporterIds = opts3.ignorePackageManifest === true || opts3.nodeLinker === "hoisted" ? Object.keys(wantedLockfile.importers) : selectedProjects.map(({ id }) => id);
const { lockfile: filteredLockfile, selectedImporterIds: importerIds } = filterLockfileByImportersAndEngine(wantedLockfile, initialImporterIds, filterOpts);
if (opts3.excludeLinksFromLockfile) {
for (const { id, manifest, rootDir } of selectedProjects) {
if (filteredLockfile.importers[id]) {
for (const depType of DEPENDENCIES_FIELDS) {
filteredLockfile.importers[id][depType] = {
...filteredLockfile.importers[id][depType],
...Object.entries(manifest[depType] ?? {}).filter(([_, spec]) => spec.startsWith("link:")).reduce((acc, [depName, spec]) => {
const linkPath = spec.substring(5);
acc[depName] = path121.isAbsolute(linkPath) ? `link:${path121.relative(rootDir, spec.substring(5))}` : spec;
return acc;
}, {})
};
}
}
}
}
const initialImporterIdSet = new Set(initialImporterIds);
const missingIds = importerIds.filter((importerId) => !initialImporterIdSet.has(importerId));
if (missingIds.length > 0) {
for (const project of Object.values(opts3.allProjects)) {
if (missingIds.includes(project.id)) {
selectedProjects.push(project);
}
}
}
if (opts3.enableGlobalVirtualStore) {
opts3.allowBuilds ??= {};
}
const allowBuild = createAllowBuildFunction(opts3);
const lockfileToDepGraphOpts = {
...opts3,
allowBuild,
importerIds,
lockfileDir,
skipped,
virtualStoreDir,
nodeVersion: opts3.currentEngine.nodeVersion,
pnpmVersion: opts3.currentEngine.pnpmVersion,
supportedArchitectures: opts3.supportedArchitectures,
includeUnchangedDeps: !equals_default(opts3.currentHoistPattern ?? [], opts3.hoistPattern ?? []) || !equals_default(opts3.currentPublicHoistPattern ?? [], opts3.publicHoistPattern ?? []) || opts3.enableGlobalVirtualStore === true && !equals_default(opts3.modulesFile?.allowBuilds ?? {}, opts3.allowBuilds ?? {})
};
const { directDependenciesByImporterId, graph, hierarchy, hoistedLocations, injectionTargetsByDepPath, prevGraph, symlinkedDirectDependenciesByImporterId } = await (opts3.nodeLinker === "hoisted" ? lockfileToHoistedDepGraph(filteredLockfile, currentLockfile, lockfileToDepGraphOpts) : lockfileToDepGraph2(filteredLockfile, opts3.force ? null : currentLockfile, lockfileToDepGraphOpts));
if (opts3.enablePnp) {
const importerNames = Object.fromEntries(selectedProjects.map(({ manifest, id }) => [id, manifest.name ?? id]));
await writePnpFile(filteredLockfile, {
importerNames,
lockfileDir,
virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
registries: opts3.registries
});
}
const depNodes = Object.values(graph);
const added = depNodes.filter(({ fetching }) => fetching).length;
const skipGvsInternalLinking = opts3.enableGlobalVirtualStore === true && added === 0;
statsLogger.debug({
added,
prefix: lockfileDir
});
function warn(message) {
logger.info({
message,
prefix: lockfileDir
});
}
let newHoistedDependencies;
let linkedToRoot = 0;
if (opts3.nodeLinker === "hoisted" && hierarchy && prevGraph) {
if (!skipPostImportLinking) {
await linkHoistedModules(opts3.storeController, graph, prevGraph, hierarchy, {
allowBuild,
depsStateCache,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
force: opts3.force,
ignoreScripts: opts3.ignoreScripts,
lockfileDir: opts3.lockfileDir,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
supportedArchitectures: opts3.supportedArchitectures
});
stageLogger.debug({
prefix: lockfileDir,
stage: "importing_done"
});
linkedToRoot = await symlinkDirectDependencies({
directDependenciesByImporterId: symlinkedDirectDependenciesByImporterId,
dedupe: Boolean(opts3.dedupeDirectDeps),
filteredLockfile,
lockfileDir,
projects: selectedProjects,
registries: opts3.registries,
symlink: opts3.symlink
});
}
} else if (opts3.enableModulesDir !== false || opts3.enableGlobalVirtualStore) {
if (!skipGvsInternalLinking) {
if (opts3.enableModulesDir !== false) {
await Promise.all(depNodes.map(async (depNode) => fs74.mkdir(depNode.modules, { recursive: true })));
}
await Promise.all([
opts3.symlink === false || opts3.enableModulesDir === false ? Promise.resolve() : linkAllModules(depNodes, {
optional: opts3.include.optionalDependencies
}),
linkAllPkgs(opts3.storeController, depNodes, {
allowBuild,
force: opts3.force,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
depGraph: graph,
depsStateCache,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
ignoreScripts: opts3.ignoreScripts,
lockfileDir: opts3.lockfileDir,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
storeDir: opts3.storeDir,
supportedArchitectures: opts3.supportedArchitectures
})
]);
}
stageLogger.debug({
prefix: lockfileDir,
stage: "importing_done"
});
if (opts3.ignorePackageManifest !== true && !skipPostImportLinking && (opts3.hoistPattern != null || opts3.publicHoistPattern != null)) {
newHoistedDependencies = {
...opts3.hoistedDependencies,
...await hoist({
extraNodePath: opts3.extraNodePaths,
graph,
directDepsByImporterId: Object.fromEntries(Object.entries(directDependenciesByImporterId).map(([projectId, deps]) => [
projectId,
new Map(Object.entries(deps))
])),
importerIds,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
privateHoistedModulesDir: hoistedModulesDir,
privateHoistPattern: opts3.hoistPattern ?? [],
publicHoistedModulesDir,
publicHoistPattern: opts3.publicHoistPattern ?? [],
virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
hoistedWorkspacePackages: opts3.hoistWorkspacePackages ? Object.values(opts3.allProjects).reduce((hoistedWorkspacePackages, project) => {
if (project.manifest.name && project.id !== ".") {
hoistedWorkspacePackages[project.id] = {
dir: project.rootDir,
name: project.manifest.name
};
}
return hoistedWorkspacePackages;
}, {}) : void 0,
skipped: opts3.skipped
})
};
} else {
newHoistedDependencies = {};
}
if (!skipPostImportLinking && !skipGvsInternalLinking) {
await linkAllBins2(graph, {
extraNodePaths: opts3.extraNodePaths,
optional: opts3.include.optionalDependencies,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn
});
}
if (currentLockfile != null && !equals_default(importerIds.sort(), Object.keys(filteredLockfile.importers).sort())) {
Object.assign(filteredLockfile.packages, currentLockfile.packages);
}
if (!opts3.ignorePackageManifest && !skipPostImportLinking) {
linkedToRoot = await symlinkDirectDependencies({
dedupe: Boolean(opts3.dedupeDirectDeps),
directDependenciesByImporterId,
filteredLockfile,
lockfileDir,
projects: selectedProjects,
registries: opts3.registries,
symlink: opts3.symlink
});
}
}
const shouldWritePackageMap = opts3.enableModulesDir !== false && opts3.nodeLinker !== "pnp" && !opts3.virtualStoreOnly;
if (shouldWritePackageMap) {
const importerNames = Object.fromEntries(selectedProjects.map(({ manifest, id }) => [id, manifest.name]));
if (opts3.nodeLinker === "hoisted") {
await writePackageMapFromDependenciesGraph({
directDependenciesByImporterId,
graph,
importerNames,
lockfile: filteredLockfile,
lockfileDir,
packageMapType: opts3.nodePackageMapType,
packageIdStrategy: "path",
rootModulesDir
});
} else {
await writePackageMap(filteredLockfile, {
importerNames,
lockfileDir,
locationByDepPath: Object.fromEntries(Object.values(graph).map((node) => [node.depPath, node.dir])),
packageMapType: opts3.nodePackageMapType,
rootModulesDir,
virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
});
}
}
if (opts3.ignoreScripts) {
for (const { id, manifest } of selectedProjects) {
if (opts3.ignoreScripts && manifest?.scripts != null && (manifest.scripts.preinstall ?? manifest.scripts.prepublish ?? manifest.scripts.install ?? manifest.scripts.postinstall ?? manifest.scripts.prepare)) {
opts3.pendingBuilds.push(id);
}
}
opts3.pendingBuilds = opts3.pendingBuilds.concat(depNodes.filter(({ requiresBuild }) => requiresBuild).map(({ depPath }) => depPath));
}
let ignoredBuilds;
if ((!opts3.ignoreScripts || Object.keys(opts3.patchedDependencies ?? {}).length > 0) && opts3.enableModulesDir !== false) {
const directNodes = /* @__PURE__ */ new Set();
for (const id of union_default(importerIds, ["."])) {
const directDependencies = directDependenciesByImporterId[id];
for (const alias in directDependencies) {
const loc = directDependencies[alias];
if (!graph[loc])
continue;
directNodes.add(loc);
}
}
const extraBinPaths = [...opts3.extraBinPaths ?? []];
if (opts3.hoistPattern != null) {
extraBinPaths.unshift(path121.join(hoistedModulesDir, ".bin"));
}
let extraEnv = opts3.extraEnv;
if (opts3.enablePnp) {
extraEnv = {
...extraEnv,
...makeNodeRequireOption(path121.join(opts3.lockfileDir, ".pnp.cjs"), extraEnv)
};
}
if (opts3.nodeExperimentalPackageMap && shouldWritePackageMap) {
extraEnv = {
...extraEnv,
...makeNodePackageMapOption(path121.join(rootModulesDir, PACKAGE_MAP_FILENAME), extraEnv)
};
}
await opts3.verifyLockfile?.();
ignoredBuilds = (await buildModules(graph, Array.from(directNodes), {
allowBuild,
childConcurrency: opts3.childConcurrency,
extraBinPaths,
extraEnv,
depsStateCache,
ignoreScripts: opts3.ignoreScripts,
hoistedLocations,
lockfileDir,
optional: opts3.include.optionalDependencies,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
rootModulesDir: virtualStoreDir,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
sideEffectsCacheWrite: opts3.sideEffectsCacheWrite,
storeController: opts3.storeController,
unsafePerm: opts3.unsafePerm,
userAgent: opts3.userAgent,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore
})).ignoredBuilds;
if (opts3.modulesFile?.ignoredBuilds?.size) {
ignoredBuilds ??= /* @__PURE__ */ new Set();
for (const ignoredBuild of opts3.modulesFile.ignoredBuilds.values()) {
if (filteredLockfile.packages?.[ignoredBuild] && !isBuildExplicitlyDisallowed(ignoredBuild, allowBuild)) {
ignoredBuilds.add(ignoredBuild);
}
}
}
}
const projectsToBeBuilt = extendProjectsWithTargetDirs(selectedProjects, injectionTargetsByDepPath);
if (opts3.enableModulesDir !== false) {
if (!skipPostImportLinking) {
const rootProjectDeps = !opts3.dedupeDirectDeps ? {} : directDependenciesByImporterId["."] ?? {};
if (!opts3.ignorePackageManifest) {
await Promise.all(selectedProjects.map(async (project) => {
if (opts3.nodeLinker === "hoisted" || opts3.publicHoistPattern?.length && path121.relative(opts3.lockfileDir, project.rootDir) === "") {
await linkBinsOfImporter(project, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
} else {
let directPkgDirs;
if (project.id === ".") {
directPkgDirs = Object.values(directDependenciesByImporterId[project.id]);
} else {
directPkgDirs = [];
for (const [alias, dir] of Object.entries(directDependenciesByImporterId[project.id])) {
if (rootProjectDeps[alias] !== dir) {
directPkgDirs.push(dir);
}
}
}
directPkgDirs = directPkgDirs.filter((dir) => graph[dir] == null || graph[dir].hasBin);
await linkBinsOfPackages((await Promise.all(directPkgDirs.map(async (dir) => ({
location: dir,
manifest: await safeReadProjectManifestOnly(dir)
})))).filter(({ manifest }) => manifest != null), project.binsDir, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
}
}));
}
}
const injectedDeps = {};
for (const project of projectsToBeBuilt) {
if (project.targetDirs.length > 0) {
injectedDeps[project.id] = project.targetDirs.map((targetDir) => path121.relative(opts3.lockfileDir, targetDir));
}
}
await writeModulesManifest(rootModulesDir, {
hoistedDependencies: newHoistedDependencies,
hoistPattern: opts3.hoistPattern,
included: opts3.include,
injectedDeps,
ignoredBuilds,
layoutVersion: LAYOUT_VERSION,
hoistedLocations,
nodeLinker: opts3.nodeLinker,
packageManager: `${opts3.packageManager.name}@${opts3.packageManager.version}`,
pendingBuilds: opts3.pendingBuilds,
publicHoistPattern: opts3.publicHoistPattern,
prunedAt: opts3.pruneVirtualStore === true || opts3.prunedAt == null ? (/* @__PURE__ */ new Date()).toUTCString() : opts3.prunedAt,
registries: opts3.registries,
skipped: Array.from(skipped),
storeDir: opts3.storeDir,
virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
allowBuilds: opts3.allowBuilds,
virtualStoreOnly: opts3.virtualStoreOnly
});
const currentLockfileDir = path121.join(rootModulesDir, ".pnpm");
if (opts3.useLockfile) {
await writeLockfiles({
wantedLockfileDir: opts3.lockfileDir,
currentLockfileDir,
wantedLockfile,
currentLockfile: filteredLockfile
});
} else {
await writeCurrentLockfile(currentLockfileDir, filteredLockfile);
}
}
await Promise.all(depNodes.map(async ({ fetching }) => {
try {
await fetching?.();
} catch {
}
}));
summaryLogger.debug({ prefix: lockfileDir });
if (!opts3.ignoreScripts && !opts3.ignorePackageManifest && !skipPostImportLinking) {
if (opts3.nodeExperimentalPackageMap && shouldWritePackageMap) {
scriptsOpts.extraEnv = {
...scriptsOpts.extraEnv,
...makeNodePackageMapOption(path121.join(rootModulesDir, PACKAGE_MAP_FILENAME), scriptsOpts.extraEnv)
};
}
await opts3.verifyLockfile?.();
await runLifecycleHooksConcurrently(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts3.childConcurrency ?? 5, scriptsOpts);
}
if (reporter != null && typeof reporter === "function") {
streamParser.removeListener("data", reporter);
}
return {
stats: {
added,
removed,
linkedToRoot
},
ignoredBuilds
};
}
async function symlinkDirectDependencies({ filteredLockfile, dedupe, directDependenciesByImporterId, lockfileDir, projects, registries, symlink }) {
for (const { rootDir, manifest } of projects) {
packageManifestLogger.debug({
prefix: rootDir,
updated: manifest
});
}
if (symlink === false)
return 0;
const importerManifestsByImporterId = {};
for (const { id, manifest } of projects) {
importerManifestsByImporterId[id] = manifest;
}
const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ rootDir, id, modulesDir }) => [id, {
dir: rootDir,
modulesDir,
dependencies: await getRootPackagesToLink(filteredLockfile, {
importerId: id,
importerModulesDir: modulesDir,
lockfileDir,
projectDir: rootDir,
importerManifestsByImporterId,
registries,
rootDependencies: directDependenciesByImporterId[id]
})
}])));
const rootProject = projectsToLink["."];
if (rootProject && dedupe) {
const rootDeps = Object.fromEntries(rootProject.dependencies.map((dep) => [dep.alias, dep.dir]));
for (const project of Object.values(omit_default(["."], projectsToLink))) {
project.dependencies = project.dependencies.filter((dep) => dep.dir !== rootDeps[dep.alias]);
}
}
return linkDirectDeps(projectsToLink, { dedupe: Boolean(dedupe) });
}
async function linkBinsOfImporter({ manifest, modulesDir, binsDir, rootDir }, { extraNodePaths, preferSymlinkedExecutables } = {}) {
const warn = (message) => {
logger.info({ message, prefix: rootDir });
};
return linkBins(modulesDir, binsDir, {
extraNodePaths,
allowExoticManifests: true,
preferSymlinkedExecutables,
projectManifest: manifest,
warn
});
}
async function getRootPackagesToLink(lockfile, opts3) {
const projectSnapshot = lockfile.importers[opts3.importerId];
const allDeps = {
...projectSnapshot.devDependencies,
...projectSnapshot.dependencies,
...projectSnapshot.optionalDependencies
};
return (await Promise.all(Object.entries(allDeps).map(async ([alias, ref]) => {
if (ref.startsWith("link:")) {
const isDev2 = Boolean(projectSnapshot.devDependencies?.[alias]);
const isOptional2 = Boolean(projectSnapshot.optionalDependencies?.[alias]);
ref = ref.slice(5);
const packageDir = path121.isAbsolute(ref) ? ref : path121.join(opts3.projectDir, ref);
const linkedPackage = await (async () => {
const importerId = getLockfileImporterId(opts3.lockfileDir, packageDir);
if (opts3.importerManifestsByImporterId[importerId]) {
return opts3.importerManifestsByImporterId[importerId];
}
try {
return await readProjectManifestOnly(packageDir);
} catch (err2) {
if (err2["code"] !== "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND")
throw err2;
return { name: alias, version: "0.0.0" };
}
})();
return {
alias,
name: linkedPackage.name,
version: linkedPackage.version,
dir: packageDir,
id: ref,
isExternalLink: true,
dependencyType: isDev2 && "dev" || isOptional2 && "optional" || "prod"
};
}
const dir = opts3.rootDependencies[alias];
if (!dir) {
return;
}
const isDev = Boolean(projectSnapshot.devDependencies?.[alias]);
const isOptional = Boolean(projectSnapshot.optionalDependencies?.[alias]);
const depPath = refToRelative(ref, alias);
if (depPath === null)
return;
const pkgSnapshot = lockfile.packages?.[depPath];
if (pkgSnapshot == null)
return;
const pkgId = pkgSnapshot.id ?? refToRelative(ref, alias) ?? void 0;
const pkgInfo = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
return {
alias,
isExternalLink: false,
name: pkgInfo.name,
version: pkgInfo.version,
dependencyType: isDev && "dev" || isOptional && "optional" || "prod",
dir,
id: pkgId
};
}))).filter(Boolean);
}
async function linkAllPkgs(storeController, depNodes, opts3) {
let needsBuildMarkerSrc;
if (opts3.enableGlobalVirtualStore) {
needsBuildMarkerSrc = path121.join(opts3.storeDir, ".pnpm-needs-build-marker");
await fs74.writeFile(needsBuildMarkerSrc, "");
}
const nodeVersion = findRuntimeNodeVersion(depNodes.map((node) => node.depPath));
await Promise.all(depNodes.map(async (depNode) => {
if (!depNode.fetching)
return;
let filesResponse;
try {
filesResponse = (await depNode.fetching()).files;
} catch (err2) {
if (depNode.optional)
return;
throw err2;
}
depNode.requiresBuild = filesResponse.requiresBuild;
let sideEffectsCacheKey;
if (opts3.sideEffectsCacheRead && filesResponse.sideEffectsMaps && !isEmpty_default(filesResponse.sideEffectsMaps)) {
if (opts3.allowBuild?.(depNode.depPath) === true) {
sideEffectsCacheKey = calcDepState(opts3.depGraph, opts3.depsStateCache, depNode.dir, {
includeDepGraphHash: !opts3.ignoreScripts && depNode.requiresBuild,
// true when is built
patchFileHash: depNode.patch?.hash,
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion
});
}
}
const hasCachedSideEffects = sideEffectsCacheKey != null && filesResponse.sideEffectsMaps?.has(sideEffectsCacheKey) === true;
const needsBuildMarker = needsBuildMarkerSrc != null && !hasCachedSideEffects && (depNode.requiresBuild || depNode.patch != null);
let effectiveFilesResponse = filesResponse;
if (needsBuildMarker) {
effectiveFilesResponse = {
...filesResponse,
filesMap: new Map([...filesResponse.filesMap, [".pnpm-needs-build", needsBuildMarkerSrc]])
};
}
const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
filesResponse: effectiveFilesResponse,
force: depNode.forceImportPackage ?? opts3.force,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
requiresBuild: depNode.patch != null || depNode.requiresBuild,
safeToSkip: opts3.enableGlobalVirtualStore,
sideEffectsCacheKey
});
if (importMethod) {
progressLogger.debug({
method: importMethod,
requester: opts3.lockfileDir,
status: "imported",
to: depNode.dir
});
}
depNode.isBuilt = isBuilt;
const selfDep = depNode.children[depNode.name];
if (selfDep) {
const pkg = opts3.depGraph[selfDep];
if (!pkg)
return;
const targetModulesDir = path121.join(depNode.modules, depNode.name, "node_modules");
await limitLinking3(async () => symlinkDependency(pkg.dir, targetModulesDir, depNode.name));
}
}));
}
async function linkAllBins2(depGraph, opts3) {
await Promise.all(Object.values(depGraph).map(async (depNode) => limitLinking3(async () => {
const childrenToLink = opts3.optional ? depNode.children : pickBy_default((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
const binPath = path121.join(depNode.dir, "node_modules/.bin");
const pkgSnapshots = props_default(Object.values(childrenToLink), depGraph);
if (pkgSnapshots.includes(void 0)) {
await linkBins(depNode.modules, binPath, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn: opts3.warn
});
} else {
const pkgs = await Promise.all(pkgSnapshots.filter(({ hasBin }) => hasBin).map(async ({ dir }) => ({
location: dir,
manifest: await readPackageJsonFromDir(dir)
})));
await linkBinsOfPackages(pkgs, binPath, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
}
if (depNode.hasBundledDependencies) {
const bundledModules = path121.join(depNode.dir, "node_modules");
await linkBins(bundledModules, binPath, {
extraNodePaths: opts3.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
warn: opts3.warn
});
}
})));
}
async function linkAllModules(depNodes, opts3) {
await symlinkAllModules({
deps: depNodes.map((depNode) => ({
children: opts3.optional ? depNode.children : pickBy_default((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children),
modules: depNode.modules,
name: depNode.name
}))
});
}
var limitLinking3;
var init_lib121 = __esm({
"../installing/deps-restorer/lib/index.js"() {
"use strict";
init_lib16();
init_lib113();
init_lib69();
init_lib();
init_lib6();
init_lib114();
init_lib74();
init_lib68();
init_lib2();
init_lib21();
init_lib106();
init_lib115();
init_lib116();
init_lib118();
init_lib77();
init_lib117();
init_lib80();
init_lib119();
init_lib73();
init_lib3();
init_lib5();
init_lib9();
init_lib4();
init_lib15();
init_p_limit();
init_path_absolute();
init_es();
init_realpath_missing();
init_extendProjectsWithTargetDirs();
init_linkHoistedModules();
init_lockfileToHoistedDepGraph();
init_extendProjectsWithTargetDirs();
limitLinking3 = pLimit(16);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map-values/0.1.0/bce137177f9704fea47aa1c02655df52c7b1c9b26cdecf9088acec0cc6e33609/node_modules/p-map-values/lib/index.js
async function pMapValues(mapper, obj) {
const result2 = {};
await Promise.all(Object.entries(obj).map(async ([key, value]) => {
result2[key] = await mapper(value, key, obj);
}));
return result2;
}
var init_lib122 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map-values/0.1.0/bce137177f9704fea47aa1c02655df52c7b1c9b26cdecf9088acec0cc6e33609/node_modules/p-map-values/lib/index.js"() {
}
});
// ../lockfile/settings-checker/lib/calcPatchHashes.js
async function calcPatchHashes(patches) {
return pMapValues(async (patchFilePath) => {
return createHexHashFromFile(patchFilePath);
}, patches);
}
var init_calcPatchHashes = __esm({
"../lockfile/settings-checker/lib/calcPatchHashes.js"() {
"use strict";
init_lib34();
init_lib122();
}
});
// ../lockfile/settings-checker/lib/createOverridesMapFromParsed.js
function createOverridesMapFromParsed(parsedOverrides) {
if (!parsedOverrides)
return {};
const overridesMap = {};
for (const { selector, newBareSpecifier } of parsedOverrides) {
overridesMap[selector] = newBareSpecifier;
}
return overridesMap;
}
var init_createOverridesMapFromParsed = __esm({
"../lockfile/settings-checker/lib/createOverridesMapFromParsed.js"() {
"use strict";
}
});
// ../lockfile/verification/lib/allCatalogsAreUpToDate.js
function allCatalogsAreUpToDate(catalogsConfig, snapshot) {
return Object.entries(snapshot ?? {}).every(([catalogName, catalog]) => Object.entries(catalog ?? {}).every(([alias, entry]) => entry.specifier === catalogsConfig[catalogName]?.[alias]));
}
var init_allCatalogsAreUpToDate = __esm({
"../lockfile/verification/lib/allCatalogsAreUpToDate.js"() {
"use strict";
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map/2.1.0/df0d3de43101f40830d68a00cafce7179879fb6ef89f7d99a742e02dad101a9f/node_modules/p-map/index.js
var require_p_map = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-map/2.1.0/df0d3de43101f40830d68a00cafce7179879fb6ef89f7d99a742e02dad101a9f/node_modules/p-map/index.js"(exports2, module2) {
"use strict";
var pMap2 = (iterable, mapper, options) => new Promise((resolve4, reject3) => {
options = Object.assign({
concurrency: Infinity
}, options);
if (typeof mapper !== "function") {
throw new TypeError("Mapper function is required");
}
const { concurrency } = options;
if (!(typeof concurrency === "number" && concurrency >= 1)) {
throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`);
}
const ret2 = [];
const iterator = iterable[Symbol.iterator]();
let isRejected = false;
let isIterableDone = false;
let resolvingCount = 0;
let currentIndex = 0;
const next2 = () => {
if (isRejected) {
return;
}
const nextItem = iterator.next();
const i4 = currentIndex;
currentIndex++;
if (nextItem.done) {
isIterableDone = true;
if (resolvingCount === 0) {
resolve4(ret2);
}
return;
}
resolvingCount++;
Promise.resolve(nextItem.value).then((element) => mapper(element, i4)).then(
(value) => {
ret2[i4] = value;
resolvingCount--;
next2();
},
(error) => {
isRejected = true;
reject3(error);
}
);
};
for (let i4 = 0; i4 < concurrency; i4++) {
next2();
if (isIterableDone) {
break;
}
}
});
module2.exports = pMap2;
module2.exports.default = pMap2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-every/2.0.0/b58d03574cecb8afa2498411794e16c0fe6afd4a2e66b53663f88d7f8e8ee0fb/node_modules/p-every/index.js
var require_p_every = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-every/2.0.0/b58d03574cecb8afa2498411794e16c0fe6afd4a2e66b53663f88d7f8e8ee0fb/node_modules/p-every/index.js"(exports2, module2) {
"use strict";
var pMap2 = require_p_map();
var EndError = class extends Error {
};
var test = (testFunction) => async (element, index2) => {
const result2 = await testFunction(element, index2);
if (!result2) {
throw new EndError();
}
return result2;
};
var pEvery4 = async (iterable, testFunction, opts3) => {
try {
await pMap2(iterable, test(testFunction), opts3);
return true;
} catch (error) {
if (error instanceof EndError) {
return false;
}
throw error;
}
};
module2.exports = pEvery4;
module2.exports.default = pEvery4;
}
});
// ../lockfile/verification/lib/getWorkspacePackagesByDirectory.js
function getWorkspacePackagesByDirectory(workspacePackages) {
const workspacePackagesByDirectory = {};
if (workspacePackages) {
for (const pkgVersions of workspacePackages.values()) {
for (const { rootDir, manifest } of pkgVersions.values()) {
workspacePackagesByDirectory[rootDir] = manifest;
}
}
}
return workspacePackagesByDirectory;
}
var init_getWorkspacePackagesByDirectory = __esm({
"../lockfile/verification/lib/getWorkspacePackagesByDirectory.js"() {
"use strict";
}
});
// ../lockfile/verification/lib/linkedPackagesAreUpToDate.js
import path122 from "node:path";
async function linkedPackagesAreUpToDate({ linkWorkspacePackages, manifestsByDir, workspacePackages, lockfilePackages, lockfileDir }, project) {
return import_p_every.default.default(DEPENDENCIES_FIELDS, (depField) => {
const lockfileDeps = project.snapshot[depField];
const manifestDeps = project.manifest[depField];
if (lockfileDeps == null || manifestDeps == null)
return true;
const depNames = Object.keys(lockfileDeps);
return import_p_every.default.default(depNames, async (depName) => {
const currentSpec = manifestDeps[depName];
if (!currentSpec)
return true;
const lockfileRef = lockfileDeps[depName];
if (refIsLocalDirectory(project.snapshot.specifiers[depName])) {
if (lockfileRef.startsWith("link:"))
return true;
const depPath = refToRelative(lockfileRef, depName);
return depPath != null && isLocalFileDepUpdated(lockfileDir, lockfilePackages?.[depPath]);
}
const isLinked = lockfileRef.startsWith("link:");
if (isLinked && (currentSpec.startsWith("link:") || currentSpec.startsWith("file:") || currentSpec.startsWith("workspace:."))) {
return true;
}
if (isLinked && (0, import_version_selector_type6.default)(currentSpec)?.type === "tag") {
return true;
}
const linkedDir = isLinked ? path122.join(project.dir, lockfileRef.slice(5)) : workspacePackages?.get(depName)?.get(lockfileRef)?.rootDir;
if (!linkedDir)
return true;
if (!linkWorkspacePackages && !currentSpec.startsWith("workspace:")) {
return true;
}
const linkedPkg = manifestsByDir[linkedDir] ?? await safeReadPackageJsonFromDir(linkedDir);
const availableRange = getVersionRange(currentSpec);
const localPackageSatisfiesRange = availableRange === "*" || availableRange === "^" || availableRange === "~" || linkedPkg && import_semver35.default.satisfies(linkedPkg.version, availableRange, { loose: true });
if (isLinked !== localPackageSatisfiesRange)
return false;
return true;
});
});
}
async function isLocalFileDepUpdated(lockfileDir, pkgSnapshot) {
if (!pkgSnapshot)
return false;
const localDepDir = path122.join(lockfileDir, pkgSnapshot.resolution.directory);
const manifest = await safeReadPackageJsonFromDir(localDepDir);
if (!manifest)
return false;
for (const depField of DEPENDENCIES_OR_PEER_FIELDS) {
if (depField === "devDependencies")
continue;
const manifestDeps = manifest[depField] ?? {};
const lockfileDeps = pkgSnapshot[depField] ?? {};
if (Object.keys(lockfileDeps).some((depName) => !manifestDeps[depName])) {
return false;
}
for (const depName of Object.keys(manifestDeps)) {
if (!lockfileDeps[depName]) {
return false;
}
const currentSpec = manifestDeps[depName];
if (currentSpec.startsWith("file:") || currentSpec.startsWith("link:") || currentSpec.startsWith("workspace:"))
continue;
if (import_semver35.default.satisfies(lockfileDeps[depName], getVersionRange(currentSpec), { loose: true })) {
continue;
} else {
return false;
}
}
}
return true;
}
function getVersionRange(spec) {
if (spec.startsWith("workspace:"))
return spec.slice(10);
if (spec.startsWith("npm:")) {
spec = spec.slice(4);
const index2 = spec.indexOf("@", 1);
if (index2 === -1)
return "*";
return spec.slice(index2 + 1) || "*";
}
return spec;
}
var import_p_every, import_semver35, import_version_selector_type6;
var init_linkedPackagesAreUpToDate = __esm({
"../lockfile/verification/lib/linkedPackagesAreUpToDate.js"() {
"use strict";
init_lib68();
init_lib73();
init_lib5();
init_lib9();
import_p_every = __toESM(require_p_every(), 1);
import_semver35 = __toESM(require_semver2(), 1);
import_version_selector_type6 = __toESM(require_version_selector_type(), 1);
}
});
// ../lockfile/verification/lib/localTarballDepsAreUpToDate.js
import path123 from "node:path";
async function localTarballDepsAreUpToDate({ fileIntegrityCache, lockfilePackages, lockfileDir }, project) {
return import_p_every2.default.default(DEPENDENCIES_FIELDS, (depField) => {
const lockfileDeps = project.snapshot[depField];
if (lockfileDeps == null) {
return true;
}
return import_p_every2.default.default(Object.entries(lockfileDeps), async ([depName, ref]) => {
if (!ref.startsWith("file:")) {
return true;
}
const depPath = refToRelative(ref, depName);
if (depPath == null) {
return true;
}
const parsed = parse9(depPath);
const tarballRefWithoutPeersSuffix = parsed.nonSemverVersion;
if (tarballRefWithoutPeersSuffix == null) {
return true;
}
if (!refIsLocalTarball(tarballRefWithoutPeersSuffix)) {
return true;
}
const packageSnapshot = depPath != null ? lockfilePackages?.[depPath] : null;
if (packageSnapshot == null) {
return false;
}
const fileRelativePath = tarballRefWithoutPeersSuffix.slice("file:".length);
const filePath = path123.join(lockfileDir, fileRelativePath);
const fileIntegrityPromise = fileIntegrityCache.get(filePath) ?? getTarballIntegrity(filePath);
if (!fileIntegrityCache.has(filePath)) {
fileIntegrityCache.set(filePath, fileIntegrityPromise);
}
let fileIntegrity;
try {
fileIntegrity = await fileIntegrityPromise;
} catch (_err) {
return false;
}
return packageSnapshot.resolution.integrity === fileIntegrity;
});
});
}
var import_p_every2;
var init_localTarballDepsAreUpToDate = __esm({
"../lockfile/verification/lib/localTarballDepsAreUpToDate.js"() {
"use strict";
init_lib34();
init_lib68();
init_lib73();
init_lib9();
import_p_every2 = __toESM(require_p_every(), 1);
}
});
// ../lockfile/verification/lib/diffFlatRecords.js
function diffFlatRecords(left, right) {
const result2 = {
added: [],
removed: [],
modified: []
};
for (const [key, value] of Object.entries(left)) {
if (!Object.hasOwn(right, key)) {
result2.removed.push({ key, value });
} else if (value !== right[key]) {
result2.modified.push({ key, left: value, right: right[key] });
}
}
for (const [key, value] of Object.entries(right)) {
if (!Object.hasOwn(left, key)) {
result2.added.push({ key, value });
}
}
return result2;
}
function isEqual({ added, removed, modified }) {
return added.length === 0 && removed.length === 0 && modified.length === 0;
}
var init_diffFlatRecords = __esm({
"../lockfile/verification/lib/diffFlatRecords.js"() {
"use strict";
}
});
// ../lockfile/verification/lib/satisfiesPackageManifest.js
function satisfiesPackageManifest(opts3, importer, pkg) {
if (!importer)
return { satisfies: false, detailedReason: "no importer" };
let existingDeps = { ...pkg.devDependencies, ...pkg.dependencies, ...pkg.optionalDependencies };
if (opts3?.autoInstallPeers) {
pkg = {
...pkg,
dependencies: {
...pkg.peerDependencies && omit_default(Object.keys(existingDeps), pkg.peerDependencies),
...pkg.dependencies
}
};
existingDeps = {
...pkg.peerDependencies,
...existingDeps
};
}
const pickNonLinkedDeps = pickBy_default((spec) => !spec.startsWith("link:"));
let specs = importer.specifiers;
if (opts3?.excludeLinksFromLockfile) {
existingDeps = pickNonLinkedDeps(existingDeps);
specs = pickNonLinkedDeps(specs);
}
const specsDiff = diffFlatRecords(specs, existingDeps);
if (!isEqual(specsDiff)) {
return {
satisfies: false,
detailedReason: `specifiers in the lockfile don't match specifiers in package.json:
${displaySpecDiff(specsDiff)}`
};
}
if (importer.publishDirectory !== pkg.publishConfig?.directory) {
return {
satisfies: false,
detailedReason: `"publishDirectory" in the lockfile (${importer.publishDirectory ?? "undefined"}) doesn't match "publishConfig.directory" in package.json (${pkg.publishConfig?.directory ?? "undefined"})`
};
}
if (!equals_default(pkg.dependenciesMeta ?? {}, importer.dependenciesMeta ?? {})) {
return {
satisfies: false,
detailedReason: `importer dependencies meta (${JSON.stringify(importer.dependenciesMeta)}) doesn't match package manifest dependencies meta (${JSON.stringify(pkg.dependenciesMeta)})`
};
}
for (const depField of DEPENDENCIES_FIELDS) {
const importerDeps = importer[depField] ?? {};
let pkgDeps = pkg[depField] ?? {};
if (opts3?.excludeLinksFromLockfile) {
pkgDeps = pickNonLinkedDeps(pkgDeps);
}
let pkgDepNames;
switch (depField) {
case "optionalDependencies":
pkgDepNames = Object.keys(pkgDeps);
break;
case "devDependencies":
pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName] && !pkg.dependencies?.[depName]);
break;
case "dependencies":
pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName]);
break;
default:
throw new Error(`Unknown dependency type "${depField}"`);
}
if (pkgDepNames.length !== Object.keys(importerDeps).length && pkgDepNames.length !== countOfNonLinkedDeps(importerDeps)) {
return {
satisfies: false,
detailedReason: `"${depField}" in the lockfile (${JSON.stringify(importerDeps)}) doesn't match the same field in package.json (${JSON.stringify(pkgDeps)})`
};
}
for (const depName of pkgDepNames) {
if (!importerDeps[depName] || importer.specifiers?.[depName] !== pkgDeps[depName]) {
return {
satisfies: false,
detailedReason: `importer ${depField}.${depName} specifier ${importer.specifiers[depName]} don't match package manifest specifier (${pkgDeps[depName]})`
};
}
if (importer?.specifiers[depName] == null || !import_semver36.default.validRange(importer?.specifiers[depName]))
continue;
const version2 = removeSuffix(importerDeps[depName]);
if (import_semver36.default.valid(version2) && !import_semver36.default.satisfies(version2, importer.specifiers[depName])) {
return {
satisfies: false,
detailedReason: `The importer resolution is broken at dependency "${depName}": version "${version2}" doesn't satisfy range "${importer.specifiers[depName]}"`
};
}
}
}
return { satisfies: true };
}
function countOfNonLinkedDeps(lockfileDeps) {
return Object.values(lockfileDeps).filter((ref) => !ref.includes("link:") && !ref.includes("file:")).length;
}
function displaySpecDiff({ added, removed, modified }) {
let result2 = "";
if (added.length !== 0) {
result2 += `* ${added.length} dependencies were added: `;
result2 += added.map(({ key, value }) => `${key}@${value}`).join(", ");
result2 += "\n";
}
if (removed.length !== 0) {
result2 += `* ${removed.length} dependencies were removed: `;
result2 += removed.map(({ key, value }) => `${key}@${value}`).join(", ");
result2 += "\n";
}
if (modified.length !== 0) {
result2 += `* ${modified.length} dependencies are mismatched:
`;
for (const { key, left, right } of modified) {
result2 += ` - ${key} (lockfile: ${left}, manifest: ${right})
`;
}
}
return result2;
}
var import_semver36;
var init_satisfiesPackageManifest = __esm({
"../lockfile/verification/lib/satisfiesPackageManifest.js"() {
"use strict";
init_lib68();
init_lib9();
init_es();
import_semver36 = __toESM(require_semver2(), 1);
init_diffFlatRecords();
}
});
// ../lockfile/verification/lib/allProjectsAreUpToDate.js
async function allProjectsAreUpToDate(projects, opts3) {
if (!allCatalogsAreUpToDate(opts3.catalogs, opts3.wantedLockfile.catalogs)) {
return false;
}
const manifestsByDir = opts3.workspacePackages ? getWorkspacePackagesByDirectory(opts3.workspacePackages) : {};
const _satisfiesPackageManifest = satisfiesPackageManifest.bind(null, {
autoInstallPeers: opts3.autoInstallPeers,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile
});
const _linkedPackagesAreUpToDate = linkedPackagesAreUpToDate.bind(null, {
linkWorkspacePackages: opts3.linkWorkspacePackages,
manifestsByDir,
workspacePackages: opts3.workspacePackages,
lockfilePackages: opts3.wantedLockfile.packages,
lockfileDir: opts3.lockfileDir
});
const _localTarballDepsAreUpToDate = localTarballDepsAreUpToDate.bind(null, {
fileIntegrityCache: /* @__PURE__ */ new Map(),
lockfilePackages: opts3.wantedLockfile.packages,
lockfileDir: opts3.lockfileDir
});
return import_p_every3.default.default(projects, async (project) => {
const importer = opts3.wantedLockfile.importers[project.id];
if (importer == null) {
return DEPENDENCIES_FIELDS.every((depType) => project.manifest[depType] == null || isEmpty_default(project.manifest[depType]));
}
const projectInfo = {
dir: project.rootDir,
manifest: project.manifest,
snapshot: importer
};
return importer != null && _satisfiesPackageManifest(importer, project.manifest).satisfies && await _localTarballDepsAreUpToDate(projectInfo) && _linkedPackagesAreUpToDate(projectInfo);
});
}
var import_p_every3;
var init_allProjectsAreUpToDate = __esm({
"../lockfile/verification/lib/allProjectsAreUpToDate.js"() {
"use strict";
init_lib9();
import_p_every3 = __toESM(require_p_every(), 1);
init_es();
init_allCatalogsAreUpToDate();
init_getWorkspacePackagesByDirectory();
init_linkedPackagesAreUpToDate();
init_localTarballDepsAreUpToDate();
init_satisfiesPackageManifest();
}
});
// ../lockfile/verification/lib/index.js
var init_lib123 = __esm({
"../lockfile/verification/lib/index.js"() {
"use strict";
init_allCatalogsAreUpToDate();
init_allProjectsAreUpToDate();
init_getWorkspacePackagesByDirectory();
init_linkedPackagesAreUpToDate();
init_localTarballDepsAreUpToDate();
init_satisfiesPackageManifest();
}
});
// ../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js
function getOutdatedLockfileSetting(lockfile, { catalogs, overrides, packageExtensionsChecksum, ignoredOptionalDependencies, patchedDependencies, autoInstallPeers, dedupePeers, excludeLinksFromLockfile, peersSuffixMaxLength, pnpmfileChecksum, injectWorkspacePackages }) {
if (!allCatalogsAreUpToDate(catalogs ?? {}, lockfile.catalogs)) {
return "catalogs";
}
if (!equals_default(lockfile.overrides ?? {}, overrides ?? {})) {
return "overrides";
}
if (lockfile.packageExtensionsChecksum !== packageExtensionsChecksum) {
return "packageExtensionsChecksum";
}
if (!equals_default(lockfile.ignoredOptionalDependencies?.sort() ?? [], ignoredOptionalDependencies?.sort() ?? [])) {
return "ignoredOptionalDependencies";
}
if (!equals_default(lockfile.patchedDependencies ?? {}, patchedDependencies ?? {})) {
return "patchedDependencies";
}
if (lockfile.settings?.autoInstallPeers != null && lockfile.settings.autoInstallPeers !== autoInstallPeers) {
return "settings.autoInstallPeers";
}
if (Boolean(lockfile.settings?.dedupePeers) !== Boolean(dedupePeers)) {
return "settings.dedupePeers";
}
if (lockfile.settings?.excludeLinksFromLockfile != null && lockfile.settings.excludeLinksFromLockfile !== excludeLinksFromLockfile) {
return "settings.excludeLinksFromLockfile";
}
if (lockfile.settings?.peersSuffixMaxLength != null && lockfile.settings.peersSuffixMaxLength !== peersSuffixMaxLength || lockfile.settings?.peersSuffixMaxLength == null && peersSuffixMaxLength !== 1e3) {
return "settings.peersSuffixMaxLength";
}
if (lockfile.pnpmfileChecksum !== pnpmfileChecksum) {
return "pnpmfileChecksum";
}
if (Boolean(lockfile.settings?.injectWorkspacePackages) !== Boolean(injectWorkspacePackages)) {
return "settings.injectWorkspacePackages";
}
return null;
}
var init_getOutdatedLockfileSetting = __esm({
"../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js"() {
"use strict";
init_lib123();
init_es();
}
});
// ../lockfile/settings-checker/lib/resolvePatchedDependencies.js
import path124 from "node:path";
function resolvePatchedDependencies(patchedDependencies, baseDir) {
if (!patchedDependencies)
return void 0;
return map_default((patchFile) => path124.resolve(baseDir, patchFile), patchedDependencies);
}
var init_resolvePatchedDependencies = __esm({
"../lockfile/settings-checker/lib/resolvePatchedDependencies.js"() {
"use strict";
init_es();
}
});
// ../lockfile/settings-checker/lib/index.js
var init_lib124 = __esm({
"../lockfile/settings-checker/lib/index.js"() {
"use strict";
init_calcPatchHashes();
init_createOverridesMapFromParsed();
init_getOutdatedLockfileSetting();
init_resolvePatchedDependencies();
}
});
// ../installing/deps-installer/lib/parseWantedDependencies.js
function parseWantedDependencies(rawWantedDependencies, opts3) {
return rawWantedDependencies.map((rawWantedDependency) => {
const parsed = parseWantedDependency(rawWantedDependency);
const alias = parsed["alias"];
let bareSpecifier = parsed["bareSpecifier"];
if (!opts3.allowNew && (!alias || !opts3.currentBareSpecifiers[alias])) {
return null;
}
if (alias && opts3.defaultCatalog?.[alias] && (!opts3.currentBareSpecifiers[alias] && bareSpecifier === void 0 || opts3.defaultCatalog[alias] === bareSpecifier || opts3.defaultCatalog[alias] === opts3.currentBareSpecifiers[alias])) {
bareSpecifier = "catalog:";
}
if (alias && opts3.currentBareSpecifiers[alias]) {
bareSpecifier ??= opts3.currentBareSpecifiers[alias];
}
const result2 = {
alias,
dev: Boolean(opts3.dev || alias && !!opts3.devDependencies[alias]),
optional: Boolean(opts3.optional || alias && !!opts3.optionalDependencies[alias]),
prevSpecifier: alias && opts3.currentBareSpecifiers[alias],
saveCatalogName: opts3.saveCatalogName
};
if (bareSpecifier) {
return {
...result2,
bareSpecifier
};
}
if (alias && opts3.preferredSpecs?.[alias]) {
return {
...result2,
bareSpecifier: opts3.preferredSpecs[alias]
};
}
if (alias && opts3.overrides?.[alias]) {
return {
...result2,
bareSpecifier: opts3.overrides[alias]
};
}
return {
...result2,
bareSpecifier: opts3.defaultTag
};
}).filter((wd) => wd !== null);
}
var init_parseWantedDependencies = __esm({
"../installing/deps-installer/lib/parseWantedDependencies.js"() {
"use strict";
init_lib98();
}
});
// ../installing/deps-installer/lib/uninstall/removeDeps.js
async function removeDeps(packageManifest, removedPackages, opts3) {
if (opts3.saveType) {
if (!Object.hasOwn(packageManifest, opts3.saveType))
return packageManifest;
const targetDeps = packageManifest[opts3.saveType];
if (targetDeps == null)
return packageManifest;
for (const dependency of removedPackages) {
removeOwnEntry(targetDeps, dependency);
}
} else {
for (const depField of DEPENDENCIES_FIELDS) {
const fieldDeps = packageManifest[depField];
if (!fieldDeps)
continue;
for (const dependency of removedPackages) {
removeOwnEntry(fieldDeps, dependency);
}
}
}
if (packageManifest.peerDependencies != null) {
const peerDeps = packageManifest.peerDependencies;
for (const removedDependency of removedPackages) {
removeOwnEntry(peerDeps, removedDependency);
}
}
if (packageManifest.dependenciesMeta != null) {
const depsMeta = packageManifest.dependenciesMeta;
for (const removedDependency of removedPackages) {
removeOwnEntry(depsMeta, removedDependency);
}
}
packageManifestLogger.debug({
prefix: opts3.prefix,
updated: packageManifest
});
return packageManifest;
}
function removeOwnEntry(target2, key) {
if (Object.hasOwn(target2, key)) {
delete target2[key];
}
}
var init_removeDeps = __esm({
"../installing/deps-installer/lib/uninstall/removeDeps.js"() {
"use strict";
init_lib6();
init_lib9();
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/CatalogVersionMismatchError.js
var CatalogVersionMismatchError;
var init_CatalogVersionMismatchError = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/CatalogVersionMismatchError.js"() {
"use strict";
init_lib2();
CatalogVersionMismatchError = class extends PnpmError {
catalogDep;
wantedDep;
constructor(opts3) {
super("CATALOG_VERSION_MISMATCH", "Wanted dependency outside the version range defined in catalog");
this.catalogDep = opts3.catalogDep;
this.wantedDep = opts3.wantedDep;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCustomResolverForceResolve.js
async function checkCustomResolverForceResolve(customResolvers, wantedLockfile) {
if (!wantedLockfile.packages)
return false;
const hooks = [];
for (const resolver of customResolvers) {
if (resolver.shouldRefreshResolution)
hooks.push(resolver.shouldRefreshResolution);
}
if (hooks.length === 0)
return false;
const asyncChecks = [];
for (const [depPath, pkgSnapshot] of Object.entries(wantedLockfile.packages)) {
for (const hook of hooks) {
const result2 = hook(depPath, pkgSnapshot);
if (result2 === true)
return true;
if (result2 !== false)
asyncChecks.push(result2);
}
}
if (asyncChecks.length === 0)
return false;
return anyTrue(asyncChecks);
}
async function anyTrue(promises) {
return new Promise((resolve4, reject3) => {
let remaining = promises.length;
if (remaining === 0)
return resolve4(false);
for (const p of promises) {
p.then((value) => {
if (value)
resolve4(true);
else if (--remaining === 0)
resolve4(false);
}, reject3);
}
});
}
var init_checkCustomResolverForceResolve = __esm({
"../installing/deps-installer/lib/install/checkCustomResolverForceResolve.js"() {
"use strict";
}
});
// ../installing/deps-installer/lib/pnpmPkgJson.js
import path125 from "node:path";
var pnpmPkgJson;
var init_pnpmPkgJson = __esm({
"../installing/deps-installer/lib/pnpmPkgJson.js"() {
"use strict";
init_load_json_file();
try {
pnpmPkgJson = loadJsonFileSync(path125.resolve(import.meta.dirname, "../package.json"));
} catch (err2) {
pnpmPkgJson = {
name: "pnpm",
version: "0.0.0"
};
}
}
});
// ../installing/deps-installer/lib/install/extendInstallOptions.js
import path126 from "node:path";
function extendOptions(opts3) {
if (opts3) {
for (const key in opts3) {
if (opts3[key] === void 0) {
delete opts3[key];
}
}
}
const defaultOpts = defaults2(opts3);
const extendedOpts = {
...defaultOpts,
...opts3,
storeDir: defaultOpts.storeDir,
parsedOverrides: parseOverrides(opts3.overrides ?? {}, opts3.catalogs ?? {})
};
if (extendedOpts.parsedOverrides.some(({ converge: converge3 }) => converge3)) {
extendedOpts.convergeDeclaredRanges = /* @__PURE__ */ new Map();
}
extendedOpts.readPackageHook = createReadPackageHook({
ignoreCompatibilityDb: extendedOpts.ignoreCompatibilityDb,
readPackageHook: extendedOpts.hooks?.readPackage,
overrides: extendedOpts.parsedOverrides,
convergeDeclaredRanges: extendedOpts.convergeDeclaredRanges,
lockfileDir: extendedOpts.lockfileDir,
packageExtensions: extendedOpts.packageExtensions,
ignoredOptionalDependencies: extendedOpts.ignoredOptionalDependencies
});
if (extendedOpts.virtualStoreOnly && !extendedOpts.enableModulesDir && !extendedOpts.enableGlobalVirtualStore) {
throw new PnpmError("CONFIG_CONFLICT_VIRTUAL_STORE_ONLY_WITH_NO_MODULES_DIR", "Cannot use virtualStoreOnly when enableModulesDir is false (the standard virtual store requires node_modules/.pnpm)");
}
if (extendedOpts.virtualStoreOnly) {
extendedOpts.hoistPattern = [];
extendedOpts.publicHoistPattern = [];
}
if (extendedOpts.lockfileOnly) {
extendedOpts.ignoreScripts = true;
if (!extendedOpts.useLockfile) {
throw new PnpmError("CONFIG_CONFLICT_LOCKFILE_ONLY_WITH_NO_LOCKFILE", `Cannot generate a ${WANTED_LOCKFILE} because lockfile is set to false`);
}
}
if (extendedOpts.frozenStore && extendedOpts.force) {
throw new PnpmError("CONFIG_CONFLICT_FROZEN_STORE_WITH_FORCE", "Cannot use force together with frozenStore: --force re-imports packages into the store, which is opened read-only when frozenStore is enabled");
}
if (extendedOpts.frozenStore) {
extendedOpts.sideEffectsCacheWrite = false;
}
if (extendedOpts.userAgent.startsWith("npm/")) {
extendedOpts.userAgent = `${extendedOpts.packageManager.name}/${extendedOpts.packageManager.version} ${extendedOpts.userAgent}`;
}
extendedOpts.registries = normalizeRegistries(extendedOpts.registries);
if (extendedOpts.enableGlobalVirtualStore) {
if (extendedOpts.virtualStoreDir == null) {
extendedOpts.virtualStoreDir = path126.join(extendedOpts.storeDir, "links");
}
extendedOpts.allowBuilds ??= {};
}
extendedOpts.globalVirtualStoreDir = extendedOpts.enableGlobalVirtualStore ? extendedOpts.virtualStoreDir : path126.join(extendedOpts.storeDir, "links");
return extendedOpts;
}
var defaults2;
var init_extendInstallOptions = __esm({
"../installing/deps-installer/lib/install/extendInstallOptions.js"() {
"use strict";
init_lib76();
init_lib99();
init_lib();
init_lib2();
init_lib105();
init_pnpmPkgJson();
defaults2 = (opts3) => {
const packageManager2 = opts3.packageManager ?? {
name: pnpmPkgJson.name,
version: pnpmPkgJson.version
};
return {
allowedDeprecatedVersions: {},
allowUnusedPatches: false,
autoConfirmAllPrompts: opts3.autoConfirmAllPrompts ?? false,
autoInstallPeers: true,
autoInstallPeersFromHighestMatch: false,
catalogs: {},
childConcurrency: 5,
confirmModulesPurge: !(opts3.autoConfirmAllPrompts || opts3.force),
depth: 0,
dedupeInjectedDeps: true,
enableGlobalVirtualStore: false,
enablePnp: false,
engineStrict: false,
force: false,
forceFullResolution: false,
frozenLockfile: false,
frozenStore: false,
hoistPattern: void 0,
publicHoistPattern: void 0,
hooks: {},
ignoreCurrentSpecifiers: false,
ignoreScripts: false,
include: {
dependencies: true,
devDependencies: true,
optionalDependencies: true
},
includeDirect: {
dependencies: true,
devDependencies: true,
optionalDependencies: true
},
lockfileDir: opts3.lockfileDir ?? opts3.dir ?? process.cwd(),
lockfileOnly: false,
updateChecksums: false,
nodeVersion: opts3.nodeVersion,
nodeLinker: "isolated",
nodeExperimentalPackageMap: false,
nodePackageMapType: "standard",
overrides: {},
ownLifecycleHooksStdio: "inherit",
ignoreCompatibilityDb: false,
ignorePackageManifest: false,
ignoreLocalPackages: false,
packageExtensions: {},
ignoredOptionalDependencies: [],
packageManager: packageManager2,
preferFrozenLockfile: true,
preferWorkspacePackages: false,
preserveWorkspaceProtocol: true,
pruneLockfileImporters: false,
pruneStore: false,
configByUri: {},
registries: DEFAULT_REGISTRIES,
resolutionMode: "highest",
saveWorkspaceProtocol: "rolling",
scriptsPrependNodePath: false,
shamefullyHoist: false,
shellEmulator: false,
sideEffectsCacheRead: false,
sideEffectsCacheWrite: false,
symlink: true,
storeController: opts3.storeController,
storeDir: opts3.storeDir,
strictPeerDependencies: false,
tag: "latest",
unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0,
catalogMode: "manual",
cleanupUnusedCatalogs: false,
useLockfile: true,
saveLockfile: true,
useGitBranchLockfile: false,
mergeGitBranchLockfiles: false,
userAgent: `${packageManager2.name}/${packageManager2.version} npm/? node/${process.version} ${process.platform} ${process.arch}`,
verifyStoreIntegrity: true,
enableModulesDir: true,
virtualStoreOnly: false,
modulesCacheMaxAge: 7 * 24 * 60,
resolveSymlinksInInjectedDirs: false,
dedupeDirectDeps: true,
dedupePeerDependents: true,
dedupePeers: false,
resolvePeersFromWorkspaceRoot: true,
extendNodePath: true,
ignoreWorkspaceCycles: false,
disallowWorkspaceCycles: false,
excludeLinksFromLockfile: false,
skipRuntimes: false,
virtualStoreDirMaxLength: 120,
peersSuffixMaxLength: 1e3,
blockExoticSubdeps: false,
omitSummaryLog: false,
resolutionVerifiers: []
};
};
}
});
// ../installing/deps-installer/lib/install/link.js
import { promises as fs75 } from "node:fs";
import path127 from "node:path";
async function linkPackages(projects, depGraph, opts3) {
let depNodes = Object.values(depGraph).filter(({ depPath, id }) => {
if (opts3.wantedLockfile.packages?.[depPath] != null && !opts3.wantedLockfile.packages[depPath].optional) {
opts3.skipped.delete(depPath);
return true;
}
if (opts3.wantedToBeSkippedPackageIds.has(id)) {
opts3.skipped.add(depPath);
return false;
}
opts3.skipped.delete(depPath);
return true;
});
if (!opts3.include.dependencies) {
depNodes = depNodes.filter(({ dev, optional }) => dev || optional);
}
if (!opts3.include.devDependencies) {
depNodes = depNodes.filter(({ optional, prod }) => prod || optional);
}
if (!opts3.include.optionalDependencies) {
depNodes = depNodes.filter(({ optional }) => !optional);
}
depGraph = Object.fromEntries(depNodes.map((depNode) => [depNode.depPath, depNode]));
const removedDepPaths = await prune2(projects, {
currentLockfile: opts3.currentLockfile,
dedupeDirectDeps: opts3.dedupeDirectDeps,
hoistedDependencies: opts3.hoistedDependencies,
hoistedModulesDir: opts3.hoistPattern != null ? opts3.hoistedModulesDir : void 0,
include: opts3.include,
lockfileDir: opts3.lockfileDir,
pruneStore: opts3.pruneStore,
pruneVirtualStore: opts3.pruneVirtualStore,
publicHoistedModulesDir: opts3.publicHoistPattern != null ? opts3.rootModulesDir : void 0,
skipped: opts3.skipped,
skipRuntimes: opts3.skipRuntimes,
storeController: opts3.storeController,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
wantedLockfile: opts3.wantedLockfile
});
stageLogger.debug({
prefix: opts3.lockfileDir,
stage: "importing_started"
});
const projectIds = projects.map(({ id }) => id);
const filterOpts = {
include: opts3.include,
registries: opts3.registries,
skipped: opts3.skipped,
skipRuntimes: opts3.skipRuntimes
};
const newCurrentLockfile = filterLockfileByImporters(opts3.wantedLockfile, projectIds, {
...filterOpts,
failOnMissingDependencies: true,
skipped: /* @__PURE__ */ new Set()
});
const { newDepPaths, added } = await linkNewPackages(filterLockfileByImporters(opts3.currentLockfile, projectIds, {
...filterOpts,
failOnMissingDependencies: false
}), newCurrentLockfile, depGraph, {
allowBuild: opts3.allowBuild,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
force: opts3.force,
depsStateCache: opts3.depsStateCache,
ignoreScripts: opts3.ignoreScripts,
lockfileDir: opts3.lockfileDir,
optional: opts3.include.optionalDependencies,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
symlink: opts3.symlink,
skipped: opts3.skipped,
storeController: opts3.storeController,
supportedArchitectures: opts3.supportedArchitectures,
virtualStoreDir: opts3.virtualStoreDir
});
stageLogger.debug({
prefix: opts3.lockfileDir,
stage: "importing_done"
});
let currentLockfile;
const allImportersIncluded = equals_default(projectIds.sort(), Object.keys(opts3.wantedLockfile.importers).sort());
if (opts3.makePartialCurrentLockfile || !allImportersIncluded) {
const packages = opts3.currentLockfile.packages ?? {};
if (opts3.wantedLockfile.packages != null) {
for (const depPath in opts3.wantedLockfile.packages) {
if (depGraph[depPath]) {
packages[depPath] = opts3.wantedLockfile.packages[depPath];
}
}
}
const projects2 = {
...opts3.currentLockfile.importers,
...pick_default(projectIds, opts3.wantedLockfile.importers)
};
currentLockfile = filterLockfileByImporters({
...opts3.wantedLockfile,
importers: projects2,
packages
}, Object.keys(projects2), {
...filterOpts,
failOnMissingDependencies: false,
skipped: /* @__PURE__ */ new Set()
});
} else if (opts3.include.dependencies && opts3.include.devDependencies && opts3.include.optionalDependencies && opts3.skipped.size === 0) {
currentLockfile = opts3.wantedLockfile;
} else {
currentLockfile = newCurrentLockfile;
}
let newHoistedDependencies;
if (opts3.virtualStoreOnly || opts3.hoistPattern == null && opts3.publicHoistPattern == null) {
newHoistedDependencies = {};
} else if (newDepPaths.length > 0 || removedDepPaths.size > 0) {
newHoistedDependencies = {
...opts3.hoistedDependencies,
...await hoist({
extraNodePath: opts3.extraNodePaths,
graph: depGraph,
directDepsByImporterId: {
...opts3.dependenciesByProjectId,
".": new Map(Array.from(opts3.dependenciesByProjectId["."]?.entries() ?? []).filter(([alias]) => {
return newCurrentLockfile.importers["."].specifiers[alias];
}))
},
importerIds: projectIds,
privateHoistedModulesDir: opts3.hoistedModulesDir,
privateHoistPattern: opts3.hoistPattern ?? [],
publicHoistedModulesDir: opts3.rootModulesDir,
publicHoistPattern: opts3.publicHoistPattern ?? [],
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
hoistedWorkspacePackages: opts3.hoistWorkspacePackages ? projects.reduce((hoistedWorkspacePackages, project) => {
if (project.manifest.name && project.id !== ".") {
hoistedWorkspacePackages[project.id] = {
dir: project.rootDir,
name: project.manifest.name
};
}
return hoistedWorkspacePackages;
}, {}) : void 0,
skipped: opts3.skipped
})
};
} else {
newHoistedDependencies = opts3.hoistedDependencies;
}
let linkedToRoot = 0;
if (opts3.symlink && !opts3.virtualStoreOnly) {
const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ id, manifest, modulesDir, rootDir }) => {
const deps = opts3.dependenciesByProjectId[id];
const importerFromLockfile = newCurrentLockfile.importers[id];
return [id, {
dir: rootDir,
modulesDir,
dependencies: await Promise.all([
...Array.from(deps.entries()).filter(([rootAlias]) => importerFromLockfile.specifiers[rootAlias]).map(([rootAlias, depPath]) => ({ rootAlias, depGraphNode: depGraph[depPath] })).filter(({ depGraphNode }) => depGraphNode).map(async ({ rootAlias, depGraphNode }) => {
const isDev = Boolean(manifest.devDependencies?.[depGraphNode.name]);
const isOptional = Boolean(manifest.optionalDependencies?.[depGraphNode.name]);
return {
alias: rootAlias,
name: depGraphNode.name,
version: depGraphNode.version,
dir: depGraphNode.dir,
id: depGraphNode.id,
dependencyType: isDev && "dev" || isOptional && "optional" || "prod",
latest: opts3.outdatedDependencies[depGraphNode.id],
isExternalLink: false
};
}),
...opts3.linkedDependenciesByProjectId[id].map(async (linkedDependency) => {
const dir = resolvePath4(rootDir, linkedDependency.resolution.directory);
return {
alias: linkedDependency.alias,
name: linkedDependency.name,
version: linkedDependency.version,
dir,
id: linkedDependency.resolution.directory,
dependencyType: linkedDependency.dev && "dev" || linkedDependency.optional && "optional" || "prod",
isExternalLink: true
};
})
])
}];
})));
linkedToRoot = await linkDirectDeps(projectsToLink, { dedupe: opts3.dedupeDirectDeps });
}
return {
currentLockfile,
newDepPaths,
newHoistedDependencies,
removedDepPaths,
stats: {
added,
removed: removedDepPaths.size,
linkedToRoot
}
};
}
function resolvePath4(where, spec) {
if (isAbsolutePath3.test(spec))
return spec;
return path127.resolve(where, spec);
}
async function linkNewPackages(currentLockfile, wantedLockfile, depGraph, opts3) {
const wantedRelDepPaths = difference_default(Object.keys(wantedLockfile.packages ?? {}), Array.from(opts3.skipped));
let newDepPathsSet;
if (opts3.force) {
newDepPathsSet = new Set(wantedRelDepPaths.filter((depPath) => depGraph[depPath]));
} else {
newDepPathsSet = await selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph);
}
const added = newDepPathsSet.size;
statsLogger.debug({
added,
prefix: opts3.lockfileDir
});
const existingWithUpdatedDeps = [];
if (!opts3.force && currentLockfile.packages != null && wantedLockfile.packages != null) {
const currentPackages = currentLockfile.packages;
const wantedPackages = wantedLockfile.packages;
await Promise.all(wantedRelDepPaths.map((depPath) => limitModulesDirReads(async () => {
if (currentPackages[depPath] && (!equals_default(currentPackages[depPath].dependencies, wantedPackages[depPath].dependencies) || !isEmpty_default(currentPackages[depPath].optionalDependencies ?? {}) || !isEmpty_default(wantedPackages[depPath].optionalDependencies ?? {}))) {
if (depGraph[depPath] && !newDepPathsSet.has(depPath)) {
const { actualChildrenChanged, removedAliases: actualRemovedAliases } = await getActualChildrenDiff(depGraph[depPath], depGraph, opts3.lockfileDir, opts3.optional);
if (actualChildrenChanged) {
existingWithUpdatedDeps.push({
children: depGraph[depPath].children,
modules: depGraph[depPath].modules,
name: depGraph[depPath].name,
optionalDependencies: depGraph[depPath].optionalDependencies,
removedAliases: actualRemovedAliases
});
return;
}
const { changedChildren, removedAliases } = getChangedChildren({
currentDependencies: currentPackages[depPath].dependencies,
currentOptionalDependencies: currentPackages[depPath].optionalDependencies,
wantedDependencies: wantedPackages[depPath].dependencies,
wantedOptionalDependencies: wantedPackages[depPath].optionalDependencies,
allChildren: depGraph[depPath].children
});
if (!isEmpty_default(changedChildren) || removedAliases.length > 0) {
existingWithUpdatedDeps.push({
children: changedChildren,
modules: depGraph[depPath].modules,
name: depGraph[depPath].name,
optionalDependencies: depGraph[depPath].optionalDependencies,
removedAliases
});
}
}
}
})));
}
if (!newDepPathsSet.size && existingWithUpdatedDeps.length === 0)
return { newDepPaths: [], added };
const newDepPaths = Array.from(newDepPathsSet);
const newPkgs = props_default(newDepPaths, depGraph);
await Promise.all(newPkgs.map(async (depNode) => fs75.mkdir(depNode.modules, { recursive: true })));
await Promise.all([
!opts3.symlink ? Promise.resolve() : linkAllModules2([...newPkgs, ...existingWithUpdatedDeps], depGraph, {
lockfileDir: opts3.lockfileDir,
optional: opts3.optional
}),
linkAllPkgs2(opts3.storeController, newPkgs, {
allowBuild: opts3.allowBuild,
depGraph,
depsStateCache: opts3.depsStateCache,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
force: opts3.force,
ignoreScripts: opts3.ignoreScripts,
lockfileDir: opts3.lockfileDir,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
supportedArchitectures: opts3.supportedArchitectures
})
]);
return { newDepPaths, added };
}
async function selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph) {
const newDeps = /* @__PURE__ */ new Set();
const prevDeps = currentLockfile.packages ?? {};
await Promise.all(wantedRelDepPaths.map(async (depPath) => {
const depNode = depGraph[depPath];
if (!depNode)
return;
const prevDep = prevDeps[depPath];
if (prevDep && // Local file should always be treated as a new dependency
// https://github.com/pnpm/pnpm/issues/5381
depNode.resolution.type !== "directory" && depNode.resolution.integrity === prevDep.resolution.integrity) {
if (await pathExists2(depNode.dir)) {
return;
}
brokenModulesLogger2.debug({
missing: depNode.dir
});
}
newDeps.add(depPath);
}));
return newDeps;
}
async function linkAllPkgs2(storeController, depNodes, opts3) {
const nodeVersion = findRuntimeNodeVersion(Object.keys(opts3.depGraph));
await Promise.all(depNodes.map(async (depNode) => {
const { files } = await depNode.fetching();
depNode.requiresBuild = files.requiresBuild;
let sideEffectsCacheKey;
if (opts3.sideEffectsCacheRead && files.sideEffectsMaps && !isEmpty_default(files.sideEffectsMaps)) {
if (opts3.allowBuild?.(depNode.depPath) === true) {
sideEffectsCacheKey = calcDepState(opts3.depGraph, opts3.depsStateCache, depNode.depPath, {
includeDepGraphHash: !opts3.ignoreScripts && depNode.requiresBuild,
// true when is built
patchFileHash: depNode.patch?.hash,
supportedArchitectures: opts3.supportedArchitectures,
nodeVersion
});
}
}
const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
filesResponse: files,
force: opts3.force,
safeToSkip: opts3.enableGlobalVirtualStore,
sideEffectsCacheKey,
requiresBuild: depNode.patch != null || depNode.requiresBuild
});
if (importMethod) {
progressLogger.debug({
method: importMethod,
requester: opts3.lockfileDir,
status: "imported",
to: depNode.dir
});
}
depNode.isBuilt = isBuilt;
const selfDep = depNode.children[depNode.name];
if (selfDep) {
const pkg = opts3.depGraph[selfDep];
if (!pkg || !pkg.installable && pkg.optional)
return;
const targetModulesDir = path127.join(depNode.modules, depNode.name, "node_modules");
await limitLinking4(async () => symlinkDependency(pkg.dir, targetModulesDir, depNode.name));
}
}));
}
async function linkAllModules2(depNodes, depGraph, opts3) {
await Promise.all(depNodes.flatMap((depNode) => (depNode.removedAliases ?? []).map(async (alias) => limitModulesDirReads(async () => removeObsoleteChild(depNode.modules, alias)))));
await symlinkAllModules({
deps: depNodes.map((depNode) => {
return {
children: getChildrenPaths2(depNode, depGraph, opts3.lockfileDir, opts3.optional),
modules: depNode.modules,
name: depNode.name
};
})
});
}
function getChangedChildren(opts3) {
const { currentOptionalDependencies, wantedOptionalDependencies, allChildren } = opts3;
const currentChildren = Object.assign(/* @__PURE__ */ Object.create(null), opts3.currentDependencies, currentOptionalDependencies);
const wantedChildren = Object.assign(/* @__PURE__ */ Object.create(null), opts3.wantedDependencies, wantedOptionalDependencies);
const changedChildren = {};
const removedAliases = [];
for (const [alias, wantedChildDepPath] of Object.entries(wantedChildren)) {
const optionalityChanged = hasOwn(wantedOptionalDependencies, alias) !== hasOwn(currentOptionalDependencies, alias);
if (currentChildren[alias] !== wantedChildDepPath || optionalityChanged) {
const resolvedChildDepPath = hasOwn(allChildren, alias) ? allChildren[alias] : void 0;
if (resolvedChildDepPath != null) {
changedChildren[alias] = resolvedChildDepPath;
}
}
}
for (const alias of Object.keys(currentChildren)) {
if (!hasOwn(wantedChildren, alias)) {
removedAliases.push(alias);
}
}
return { changedChildren, removedAliases };
}
function hasOwn(obj, key) {
return obj != null && Object.hasOwn(obj, key);
}
async function getActualChildrenDiff(depNode, depGraph, lockfileDir, optional) {
if (depNode.optionalDependencies.size === 0) {
return { actualChildrenChanged: false, removedAliases: [] };
}
const currentAliases = new Set((await readModulesDir(depNode.modules) ?? []).filter((alias) => alias !== depNode.name));
const nextAliases = new Set(Object.keys(getChildrenPaths2(depNode, depGraph, lockfileDir, optional)));
const removedAliases = Array.from(currentAliases).filter((alias) => !nextAliases.has(alias));
const actualChildrenChanged = removedAliases.length > 0 || Array.from(nextAliases).some((alias) => !currentAliases.has(alias));
return { actualChildrenChanged, removedAliases };
}
async function removeObsoleteChild(modulesDir, alias) {
if (!isValidDependencyAlias(alias))
return;
await rimraf(path127.join(modulesDir, alias));
if (alias[0] === "@") {
await fs75.rmdir(path127.join(modulesDir, alias.split("/")[0])).catch(() => {
});
}
}
function getChildrenPaths2(depNode, depGraph, lockfileDir, optional) {
const children = optional ? depNode.children : pickBy_default((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
const childrenPaths = {};
for (const [alias, childDepPath] of Object.entries(children ?? {})) {
if (alias === depNode.name)
continue;
if (childDepPath.startsWith("link:")) {
childrenPaths[alias] = path127.resolve(lockfileDir, childDepPath.slice(5));
continue;
}
const pkg = depGraph[childDepPath];
if (!pkg || !pkg.installable && pkg.optional)
continue;
childrenPaths[alias] = pkg.dir;
}
return childrenPaths;
}
var brokenModulesLogger2, isAbsolutePath3, limitLinking4, limitModulesDirReads;
var init_link = __esm({
"../installing/deps-installer/lib/install/link.js"() {
"use strict";
init_lib6();
init_lib74();
init_lib8();
init_lib106();
init_lib111();
init_lib115();
init_lib116();
init_lib118();
init_lib117();
init_lib3();
init_lib4();
init_rimraf();
init_p_limit();
init_path_exists();
init_es();
brokenModulesLogger2 = logger("_broken_node_modules");
isAbsolutePath3 = /^\/|^[A-Z]:/i;
limitLinking4 = pLimit(16);
limitModulesDirReads = pLimit(16);
}
});
// ../installing/deps-installer/lib/install/reportPeerDependencyIssues.js
function reportPeerDependencyIssues(peerDependencyIssuesByProjects, opts3) {
const newPeerDependencyIssuesByProjects = filterPeerDependencyIssues(peerDependencyIssuesByProjects, opts3.rules);
if (Object.values(newPeerDependencyIssuesByProjects).every((peerIssuesOfProject) => isEmpty_default(peerIssuesOfProject.bad) && (isEmpty_default(peerIssuesOfProject.missing) || peerIssuesOfProject.conflicts.length === 0 && Object.keys(peerIssuesOfProject.intersections).length === 0)))
return;
if (opts3.strictPeerDependencies) {
throw new PeerDependencyIssuesError(newPeerDependencyIssuesByProjects);
}
peerDependencyIssuesLogger.debug({
issuesByProjects: newPeerDependencyIssuesByProjects
});
}
function filterPeerDependencyIssues(peerDependencyIssuesByProjects, rules) {
if (!rules)
return peerDependencyIssuesByProjects;
const ignoreMissingPatterns = [...new Set(rules?.ignoreMissing ?? [])];
const ignoreMissingMatcher = createMatcher(ignoreMissingPatterns);
const allowAnyPatterns = [...new Set(rules?.allowAny ?? [])];
const allowAnyMatcher = createMatcher(allowAnyPatterns);
const { allowedVersionsMatchAll, allowedVersionsByParentPkgName } = parseAllowedVersions(rules?.allowedVersions ?? {});
const newPeerDependencyIssuesByProjects = {};
for (const [projectId, { bad, missing, conflicts, intersections }] of Object.entries(peerDependencyIssuesByProjects)) {
newPeerDependencyIssuesByProjects[projectId] = { bad: {}, missing: {}, conflicts, intersections };
for (const [peerName, issues] of Object.entries(missing)) {
if (ignoreMissingMatcher(peerName) || issues.every(({ optional }) => optional)) {
continue;
}
newPeerDependencyIssuesByProjects[projectId].missing[peerName] = issues;
}
for (const [peerName, issues] of Object.entries(bad)) {
if (allowAnyMatcher(peerName))
continue;
const filteredIssues = [];
for (const issue of issues) {
if (allowedVersionsMatchAll[peerName]?.some((range) => import_semver37.default.satisfies(issue.foundVersion, range)))
continue;
const currentParentPkg = issue.parents.at(-1);
if (currentParentPkg && allowedVersionsByParentPkgName[peerName]?.[currentParentPkg.name]) {
const allowedVersionsByParent = {};
for (const { targetPkg, parentPkg, ranges } of allowedVersionsByParentPkgName[peerName][currentParentPkg.name]) {
if (!parentPkg.bareSpecifier || currentParentPkg.version && (isSubRange(parentPkg.bareSpecifier, currentParentPkg.version) || import_semver37.default.satisfies(currentParentPkg.version, parentPkg.bareSpecifier))) {
allowedVersionsByParent[targetPkg.name] = ranges;
}
}
if (allowedVersionsByParent[peerName]?.some((range) => import_semver37.default.satisfies(issue.foundVersion, range)))
continue;
}
filteredIssues.push(issue);
}
if (filteredIssues.length) {
newPeerDependencyIssuesByProjects[projectId].bad[peerName] = filteredIssues;
}
}
}
return newPeerDependencyIssuesByProjects;
}
function isSubRange(superRange, subRange) {
return !superRange || subRange === superRange || import_semver37.default.validRange(subRange) != null && import_semver37.default.validRange(superRange) != null && import_semver37.default.subset(subRange, superRange);
}
function tryParseAllowedVersions(allowedVersions) {
try {
return parseOverrides(allowedVersions ?? {});
} catch (err2) {
throw new PnpmError("INVALID_ALLOWED_VERSION_SELECTOR", `${err2.message} in pnpm.peerDependencyRules.allowedVersions`);
}
}
function parseAllowedVersions(allowedVersions) {
const overrides = tryParseAllowedVersions(allowedVersions);
const allowedVersionsMatchAll = {};
const allowedVersionsByParentPkgName = {};
for (const { parentPkg, targetPkg, newBareSpecifier } of overrides) {
const ranges = parseVersions(newBareSpecifier);
if (!parentPkg) {
allowedVersionsMatchAll[targetPkg.name] = ranges;
continue;
}
if (!allowedVersionsByParentPkgName[targetPkg.name]) {
allowedVersionsByParentPkgName[targetPkg.name] = {};
}
if (!allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name]) {
allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name] = [];
}
allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name].push({
parentPkg,
targetPkg,
ranges
});
}
return {
allowedVersionsMatchAll,
allowedVersionsByParentPkgName
};
}
function parseVersions(versions) {
return versions.split("||").map((v) => v.trim());
}
var import_semver37, PeerDependencyIssuesError;
var init_reportPeerDependencyIssues = __esm({
"../installing/deps-installer/lib/install/reportPeerDependencyIssues.js"() {
"use strict";
init_lib27();
init_lib99();
init_lib6();
init_lib2();
init_es();
import_semver37 = __toESM(require_semver2(), 1);
PeerDependencyIssuesError = class extends PnpmError {
issuesByProjects;
constructor(issues) {
super("PEER_DEP_ISSUES", "Unmet peer dependencies");
this.issuesByProjects = issues;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/BreakingChangeError.js
var BreakingChangeError;
var init_BreakingChangeError = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/BreakingChangeError.js"() {
"use strict";
init_lib2();
BreakingChangeError = class extends PnpmError {
relatedIssue;
relatedPR;
additionalInformation;
constructor(opts3) {
super(opts3.code, opts3.message);
this.relatedIssue = opts3.relatedIssue;
this.relatedPR = opts3.relatedPR;
this.additionalInformation = opts3.additionalInformation;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/ModulesBreakingChangeError.js
var ModulesBreakingChangeError;
var init_ModulesBreakingChangeError = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/ModulesBreakingChangeError.js"() {
"use strict";
init_BreakingChangeError();
ModulesBreakingChangeError = class extends BreakingChangeError {
modulesPath;
constructor(opts3) {
super({
additionalInformation: opts3.additionalInformation,
code: "MODULES_BREAKING_CHANGE",
message: `The node_modules structure at "${opts3.modulesPath}" is not compatible with the current pnpm version. Run "pnpm install --force" to recreate node_modules.`,
relatedIssue: opts3.relatedIssue,
relatedPR: opts3.relatedPR
});
this.modulesPath = opts3.modulesPath;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/UnexpectedStoreError.js
var UnexpectedStoreError;
var init_UnexpectedStoreError = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/UnexpectedStoreError.js"() {
"use strict";
init_lib2();
UnexpectedStoreError = class extends PnpmError {
expectedStorePath;
actualStorePath;
modulesDir;
constructor(opts3) {
super("UNEXPECTED_STORE", "Unexpected store location");
this.expectedStorePath = opts3.expectedStorePath;
this.actualStorePath = opts3.actualStorePath;
this.modulesDir = opts3.modulesDir;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js
var UnexpectedVirtualStoreDirError;
var init_UnexpectedVirtualStoreDirError = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js"() {
"use strict";
init_lib2();
UnexpectedVirtualStoreDirError = class extends PnpmError {
expected;
actual;
modulesDir;
constructor(opts3) {
super("UNEXPECTED_VIRTUAL_STORE", "Unexpected virtual store location");
this.expected = opts3.expected;
this.actual = opts3.actual;
this.modulesDir = opts3.modulesDir;
}
};
}
});
// ../installing/deps-installer/lib/install/checkCompatibility/index.js
import path128 from "node:path";
function checkCompatibility(modules, opts3) {
if (!modules.layoutVersion || modules.layoutVersion !== LAYOUT_VERSION) {
throw new ModulesBreakingChangeError({
modulesPath: opts3.modulesDir
});
}
if (!modules.storeDir || path128.relative(modules.storeDir, opts3.storeDir) !== "" && path128.relative(modules.storeDir, path128.join(opts3.storeDir, "../v3")) !== "") {
throw new UnexpectedStoreError({
actualStorePath: opts3.storeDir,
expectedStorePath: modules.storeDir,
modulesDir: opts3.modulesDir
});
}
if (modules.virtualStoreDir && path128.relative(modules.virtualStoreDir, opts3.virtualStoreDir) !== "") {
throw new UnexpectedVirtualStoreDirError({
actual: opts3.virtualStoreDir,
expected: modules.virtualStoreDir,
modulesDir: opts3.modulesDir
});
}
}
var init_checkCompatibility = __esm({
"../installing/deps-installer/lib/install/checkCompatibility/index.js"() {
"use strict";
init_lib();
init_ModulesBreakingChangeError();
init_UnexpectedStoreError();
init_UnexpectedVirtualStoreDirError();
}
});
// ../installing/deps-installer/lib/install/validateModules.js
import { promises as fs76 } from "node:fs";
import path129 from "node:path";
async function validateModules(modules, projects, opts3) {
const rootProject = projects.find(({ id }) => id === ".");
if (opts3.virtualStoreDirMaxLength !== modules.virtualStoreDirMaxLength) {
if (opts3.forceNewModules && rootProject != null) {
await purgeModulesDirsOfImporter(opts3, rootProject);
return { purged: true };
}
throw new PnpmError("VIRTUAL_STORE_DIR_MAX_LENGTH_DIFF", 'This modules directory was created using a different virtual-store-dir-max-length value. Run "pnpm install" to recreate the modules directory.');
}
if (!modules.virtualStoreOnly && !equals_default(modules.publicHoistPattern ?? [], opts3.publicHoistPattern ?? [])) {
if (opts3.forceNewModules && rootProject != null) {
await purgeModulesDirsOfImporter(opts3, rootProject);
return { purged: true };
}
throw new PnpmError("PUBLIC_HOIST_PATTERN_DIFF", 'This modules directory was created using a different public-hoist-pattern value. Run "pnpm install" to recreate the modules directory.');
}
const importersToPurge = [];
if (!modules.virtualStoreOnly && rootProject != null) {
try {
if (!equals_default(opts3.currentHoistPattern ?? [], opts3.hoistPattern ?? [])) {
throw new PnpmError("HOIST_PATTERN_DIFF", 'This modules directory was created using a different hoist-pattern value. Run "pnpm install" to recreate the modules directory.');
}
} catch (err2) {
if (!opts3.forceNewModules)
throw err2;
importersToPurge.push(rootProject);
}
}
for (const project of projects) {
try {
checkCompatibility(modules, {
modulesDir: project.modulesDir,
storeDir: opts3.storeDir,
virtualStoreDir: opts3.virtualStoreDir
});
if (opts3.lockfileDir !== project.rootDir && opts3.include != null && modules.included) {
for (const depsField of DEPENDENCIES_FIELDS) {
if (opts3.include[depsField] !== modules.included[depsField]) {
throw new PnpmError("INCLUDED_DEPS_CONFLICT", `modules directory (at "${opts3.lockfileDir}") was installed with ${stringifyIncludedDeps(modules.included)}. Current install wants ${stringifyIncludedDeps(opts3.include)}.`);
}
}
}
} catch (err2) {
if (!opts3.forceNewModules)
throw err2;
importersToPurge.push(project);
}
}
if (importersToPurge.length > 0 && rootProject == null) {
importersToPurge.push({
modulesDir: pathAbsolute(opts3.modulesDir, opts3.lockfileDir),
rootDir: opts3.lockfileDir
});
}
const purged = importersToPurge.length > 0;
if (purged) {
await purgeModulesDirsOfImporters(opts3, importersToPurge);
}
return { purged };
}
async function purgeModulesDirsOfImporter(opts3, importer) {
return purgeModulesDirsOfImporters(opts3, [importer]);
}
async function purgeModulesDirsOfImporters(opts3, importers) {
if (opts3.confirmModulesPurge ?? true) {
if (!process.stdin.isTTY) {
throw new PnpmError("ABORTED_REMOVE_MODULES_DIR_NO_TTY", "Aborted removal of modules directory due to no TTY", {
hint: 'If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false".'
});
}
let confirmed;
try {
confirmed = await dist_default5({
message: importers.length === 1 ? `The modules directory at "${importers[0].modulesDir}" will be removed and reinstalled from scratch. Proceed?` : "The modules directories will be removed and reinstalled from scratch. Proceed?",
default: true
});
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
throw new PnpmError("ABORTED_REMOVE_MODULES_DIR", "Aborted removal of modules directory");
}
throw err2;
}
if (!confirmed) {
throw new PnpmError("ABORTED_REMOVE_MODULES_DIR", "Aborted removal of modules directory");
}
}
await Promise.all(importers.map(async (importer) => {
logger.info({
message: `Recreating ${importer.modulesDir}`,
prefix: importer.rootDir
});
try {
await removeContentsOfDir2(importer.modulesDir, opts3.virtualStoreDir);
} catch (err2) {
if (err2.code !== "ENOENT")
throw err2;
}
}));
}
async function removeContentsOfDir2(dir, virtualStoreDir) {
const items = await fs76.readdir(dir);
await Promise.all(items.map(async (item) => {
if (item[0] === "." && item !== ".bin" && item !== ".modules.yaml" && !dirsAreEqual2(path129.join(dir, item), virtualStoreDir)) {
return;
}
await rimraf(path129.join(dir, item));
}));
}
function dirsAreEqual2(dir1, dir2) {
return path129.relative(dir1, dir2) === "";
}
function stringifyIncludedDeps(included) {
return DEPENDENCIES_FIELDS.filter((depsField) => included[depsField]).join(", ");
}
var init_validateModules = __esm({
"../installing/deps-installer/lib/install/validateModules.js"() {
"use strict";
init_dist14();
init_lib2();
init_lib3();
init_lib9();
init_rimraf();
init_path_absolute();
init_es();
init_checkCompatibility();
}
});
// ../installing/deps-installer/lib/install/verifyLockfileResolutionsCache.js
import fs77 from "node:fs";
import path130 from "node:path";
import util38 from "node:util";
function readCache(cacheDir) {
const cacheFilePath = path130.join(cacheDir, CACHE_FILE_NAME);
let contents;
try {
contents = fs77.readFileSync(cacheFilePath, "utf8");
} catch (err2) {
if (isNodeError(err2) && err2.code === "ENOENT")
return { byHash: /* @__PURE__ */ new Map(), byPath: /* @__PURE__ */ new Map() };
throw err2;
}
const byHash = /* @__PURE__ */ new Map();
const byPath = /* @__PURE__ */ new Map();
for (const line of contents.split("\n")) {
if (!line)
continue;
try {
const parsed = JSON.parse(line);
const hash2 = parsed?.lockfile?.hash;
const lockfilePath = parsed?.lockfile?.path;
if (typeof hash2 !== "string" || typeof lockfilePath !== "string")
continue;
const record = normalizeRecord(parsed);
byHash.set(hash2, record);
byPath.set(lockfilePath, record);
} catch {
}
}
return { byHash, byPath };
}
function normalizeRecord(parsed) {
const lockfile = parsed.lockfile ?? {};
return {
lockfile: {
hash: lockfile.hash ?? "",
path: lockfile.path ?? "",
size: lockfile.size ?? -1,
mtimeNs: lockfile.mtimeNs ?? "",
inode: lockfile.inode ?? ""
},
verifiedAt: parsed.verifiedAt ?? "",
policy: parsed.policy && typeof parsed.policy === "object" ? parsed.policy : {}
};
}
function statLockfile(lockfilePath) {
try {
const stat2 = fs77.statSync(lockfilePath, { bigint: true });
return {
size: Number(stat2.size),
mtimeNs: stat2.mtimeNs.toString(),
inode: stat2.ino.toString()
};
} catch (err2) {
if (isNodeError(err2) && err2.code === "ENOENT")
return null;
throw err2;
}
}
function statMatches(stat2, lockfile) {
return stat2.size === lockfile.size && stat2.mtimeNs === lockfile.mtimeNs && stat2.inode === lockfile.inode;
}
function tryLockfileVerificationCache(cacheDir, key) {
let indexes;
try {
indexes = readCache(cacheDir);
} catch (err2) {
logger.debug({ msg: "lockfile-verified cache: read failed", err: err2 });
return { hit: false, precomputed: {} };
}
const stat2 = statLockfile(key.lockfilePath);
if (!stat2)
return { hit: false, precomputed: {} };
const byPathRecord = indexes.byPath.get(key.lockfilePath);
if (byPathRecord && statMatches(stat2, byPathRecord.lockfile)) {
const hit = everyVerifierTrustsCachedRun(byPathRecord, key.verifiers);
return {
hit,
verifiedAt: hit ? byPathRecord.verifiedAt || void 0 : void 0,
// The stat-match implies the file content is unchanged since the
// cached record was written, so its hash is still correct. Pass
// it through to skip hashing on the miss-then-record path.
precomputed: { stat: stat2, hash: byPathRecord.lockfile.hash }
};
}
let hash2;
try {
hash2 = key.hashLockfile();
} catch (err2) {
logger.debug({ msg: "lockfile-verified cache: lockfile hash failed", err: err2 });
return { hit: false, precomputed: { stat: stat2 } };
}
const byHashRecord = indexes.byHash.get(hash2);
if (!byHashRecord)
return { hit: false, precomputed: { stat: stat2, hash: hash2 } };
if (!everyVerifierTrustsCachedRun(byHashRecord, key.verifiers)) {
return { hit: false, precomputed: { stat: stat2, hash: hash2 } };
}
appendRecord(cacheDir, {
...byHashRecord,
lockfile: { ...byHashRecord.lockfile, path: key.lockfilePath, size: stat2.size, mtimeNs: stat2.mtimeNs, inode: stat2.inode }
});
return { hit: true, verifiedAt: byHashRecord.verifiedAt || void 0, precomputed: { stat: stat2, hash: hash2 } };
}
function everyVerifierTrustsCachedRun(record, verifiers) {
for (const verifier of verifiers) {
if (!verifier.canTrustPastCheck(record.policy))
return false;
}
return true;
}
function mergePolicies(verifiers) {
const merged = {};
for (const verifier of verifiers) {
Object.assign(merged, verifier.policy);
}
return merged;
}
function recordVerification(cacheDir, key, precomputed) {
let stat2;
let hash2;
try {
stat2 = precomputed?.stat ?? statLockfile(key.lockfilePath);
if (!stat2)
return;
hash2 = precomputed?.hash ?? key.hashLockfile();
} catch (err2) {
logger.debug({ msg: "lockfile-verified cache: could not record verification", err: err2 });
return;
}
const record = {
lockfile: {
hash: hash2,
path: key.lockfilePath,
size: stat2.size,
mtimeNs: stat2.mtimeNs,
inode: stat2.inode
},
verifiedAt: (/* @__PURE__ */ new Date()).toISOString(),
policy: mergePolicies(key.verifiers)
};
appendRecord(cacheDir, record);
}
function appendRecord(cacheDir, record) {
const cacheFilePath = path130.join(cacheDir, CACHE_FILE_NAME);
const line = `${JSON.stringify(record)}
`;
try {
fs77.mkdirSync(cacheDir, { recursive: true });
fs77.appendFileSync(cacheFilePath, line);
} catch (err2) {
logger.debug({ msg: "lockfile-verified cache: append failed", err: err2 });
return;
}
maybeCompactCache(cacheDir);
}
function maybeCompactCache(cacheDir) {
const cacheFilePath = path130.join(cacheDir, CACHE_FILE_NAME);
let size;
try {
size = fs77.statSync(cacheFilePath).size;
} catch (err2) {
if (isNodeError(err2) && err2.code === "ENOENT")
return;
logger.debug({ msg: "lockfile-verified cache: stat for compaction failed", err: err2 });
return;
}
if (size <= COMPACT_TRIGGER_BYTES)
return;
let contents;
try {
contents = fs77.readFileSync(cacheFilePath, "utf8");
} catch (err2) {
if (isNodeError(err2) && err2.code === "ENOENT")
return;
logger.debug({ msg: "lockfile-verified cache: read for compaction failed", err: err2 });
return;
}
const lines = contents.split("\n").filter(Boolean);
const seen = /* @__PURE__ */ new Set();
const reversed = [];
for (let i4 = lines.length - 1; i4 >= 0; i4--) {
const line = lines[i4];
try {
const parsed = JSON.parse(line);
const lockfilePath = parsed?.lockfile?.path;
const hash2 = parsed?.lockfile?.hash;
if (typeof lockfilePath !== "string" || typeof hash2 !== "string")
continue;
const tupleKey = `${lockfilePath}\0${hash2}`;
if (seen.has(tupleKey))
continue;
seen.add(tupleKey);
reversed.push(line);
} catch {
}
}
reversed.reverse();
const kept = reversed.slice(-MAX_CACHE_ENTRIES);
try {
const tmpPath = `${cacheFilePath}.${process.pid}.tmp`;
fs77.writeFileSync(tmpPath, kept.map((line) => `${line}
`).join(""));
fs77.renameSync(tmpPath, cacheFilePath);
} catch (err2) {
logger.debug({ msg: "lockfile-verified cache: compaction failed", err: err2 });
}
}
function isNodeError(err2) {
return util38.types.isNativeError(err2) && "code" in err2;
}
var CACHE_FILE_NAME, MAX_CACHE_ENTRIES, COMPACT_TRIGGER_BYTES;
var init_verifyLockfileResolutionsCache = __esm({
"../installing/deps-installer/lib/install/verifyLockfileResolutionsCache.js"() {
"use strict";
init_lib3();
CACHE_FILE_NAME = "lockfile-verified.jsonl";
MAX_CACHE_ENTRIES = 1e3;
COMPACT_TRIGGER_BYTES = MAX_CACHE_ENTRIES * 1024 * 3 / 2;
}
});
// ../installing/deps-installer/lib/install/verifyLockfileResolutions.js
function withOfflineCheckCacheIdentities(verifiers) {
return [...verifiers, RESOLUTION_SHAPE_CACHE_IDENTITY, DEPENDENCY_ALIAS_CACHE_IDENTITY];
}
async function verifyLockfileResolutions(lockfile, verifiers, options) {
if (!lockfile.packages)
return;
const cache = options?.cacheDir && options?.lockfilePath ? { cacheDir: options.cacheDir, lockfilePath: options.lockfilePath } : void 0;
const cacheVerifiers = withOfflineCheckCacheIdentities(verifiers);
let cachePrecomputed;
let cachedHash;
const hashLockfile = () => {
if (cachedHash == null)
cachedHash = hashObject(lockfile);
return cachedHash;
};
if (cache) {
const result2 = tryLockfileVerificationCache(cache.cacheDir, {
lockfilePath: cache.lockfilePath,
verifiers: cacheVerifiers,
hashLockfile
});
if (result2.hit) {
if (verifiers.length > 0) {
lockfileVerificationLogger.debug({
status: "cached",
verifiedAt: result2.verifiedAt,
lockfilePath: options?.lockfilePath
});
}
return;
}
cachePrecomputed = result2.precomputed;
}
const { candidates, shapeViolations, invalidAliases } = collectCandidates(lockfile);
if (invalidAliases.length > 0) {
throw buildInvalidAliasError(invalidAliases);
}
if (shapeViolations.length > 0) {
throw buildVerificationError(shapeViolations);
}
if (verifiers.length === 0)
return;
if (candidates.size === 0) {
if (cache) {
recordVerification(cache.cacheDir, {
lockfilePath: cache.lockfilePath,
verifiers: cacheVerifiers,
hashLockfile
}, cachePrecomputed);
}
return;
}
const startedAt = Date.now();
lockfileVerificationLogger.debug({
status: "started",
entries: candidates.size,
lockfilePath: options?.lockfilePath
});
let terminalStatus = "failed";
try {
const violations = await iterateLockfileViolations(candidates, verifiers, options?.concurrency);
if (violations.length === 0) {
terminalStatus = "done";
if (cache) {
recordVerification(cache.cacheDir, {
lockfilePath: cache.lockfilePath,
verifiers: cacheVerifiers,
hashLockfile
}, cachePrecomputed);
}
return;
}
throw buildVerificationError(violations);
} finally {
lockfileVerificationLogger.debug({
status: terminalStatus,
entries: candidates.size,
elapsedMs: Date.now() - startedAt,
lockfilePath: options?.lockfilePath
});
}
}
function buildInvalidAliasError(aliases) {
const sorted = [...aliases].sort();
const visible = sorted.slice(0, MAX_VIOLATIONS_TO_PRINT);
const omitted = sorted.length - visible.length;
const breakdown = visible.map((alias) => ` ${JSON.stringify(alias)}`).join("\n");
const details = omitted > 0 ? `${breakdown}
\u2026and ${omitted} more` : breakdown;
const plural2 = aliases.length === 1 ? "alias" : "aliases";
return new PnpmError(INVALID_DEPENDENCY_ALIAS_CODE, `The lockfile contains ${aliases.length} dependency ${plural2} that are not valid package names:
${details}`, {
hint: "A dependency alias becomes a directory under node_modules, so it must be a valid npm package name \u2014 a single `name` or `@scope/name` with no leading `.` or `_`, and not a reserved name such as `node_modules`. An alias containing path-traversal segments or a reserved name such as `.bin` or `.pnpm` could make an install write outside the intended directory or overwrite pnpm-owned layout. This usually means the lockfile was tampered with \u2014 inspect recent changes to pnpm-lock.yaml before trusting it."
});
}
function buildVerificationError(violations) {
violations.sort((a2, b) => `${a2.name}@${a2.version}`.localeCompare(`${b.name}@${b.version}`));
const distinctCodes = new Set(violations.map((v) => v.code));
const isMixed = distinctCodes.size > 1;
const errorCode = isMixed ? "LOCKFILE_RESOLUTION_VERIFICATION" : violations[0].code;
const visible = violations.slice(0, MAX_VIOLATIONS_TO_PRINT);
const omitted = violations.length - visible.length;
const formatEntry = isMixed ? (v) => ` ${v.name}@${v.version} [${v.code}] ${v.reason}` : (v) => ` ${v.name}@${v.version} ${v.reason}`;
const breakdown = visible.map(formatEntry).join("\n");
const details = omitted > 0 ? `${breakdown}
\u2026and ${omitted} more` : breakdown;
return new PnpmError(errorCode, `${violations.length} lockfile entries failed verification:
${details}`, {
hint: 'The lockfile contains entries that the active policies reject. This can mean the lockfile is stale, or that someone committed a lockfile that bypassed the policy locally \u2014 inspect recent changes to pnpm-lock.yaml before trusting it. If the changes look expected, run "pnpm clean --lockfile" and then "pnpm install" to rebuild from a fresh resolution. Alternatively, relax the policy that flagged them.'
});
}
function isRegistryShapedResolution(resolution) {
if (resolution == null)
return true;
if (typeof resolution !== "object")
return false;
const { type: type4, gitHosted, tarball, variants } = resolution;
if (type4 === "variations") {
return Array.isArray(variants) && variants.every((variant) => isRegistryShapedResolution(variant?.resolution));
}
if (typeof type4 === "string" && type4.startsWith("custom:"))
return true;
if (type4 != null)
return false;
if (gitHosted != null && (typeof gitHosted !== "boolean" || gitHosted))
return false;
if (typeof tarball === "string" && tarball !== "") {
if (!/^https?:\/\//i.test(tarball))
return false;
if (isGitHostedTarballUrl(tarball))
return false;
}
return true;
}
function collectCandidates(lockfile) {
const candidates = /* @__PURE__ */ new Map();
const shapeViolations = [];
const invalidAliases = /* @__PURE__ */ new Set();
for (const importer of Object.values(lockfile.importers ?? {})) {
pushInvalidAliases(importer.dependencies, invalidAliases);
pushInvalidAliases(importer.devDependencies, invalidAliases);
pushInvalidAliases(importer.optionalDependencies, invalidAliases);
}
for (const [depPath, snapshot] of Object.entries(lockfile.packages ?? {})) {
pushInvalidAliases(snapshot.dependencies, invalidAliases);
pushInvalidAliases(snapshot.optionalDependencies, invalidAliases);
const { name, version: version2, nonSemverVersion } = nameVerFromPkgSnapshot(depPath, snapshot);
if (!name || !version2)
continue;
if (nonSemverVersion == null && !isRegistryShapedResolution(snapshot.resolution)) {
shapeViolations.push({
name,
version: version2,
resolution: snapshot.resolution,
code: RESOLUTION_SHAPE_MISMATCH_VIOLATION_CODE,
reason: "a registry-style dependency path is backed by a non-registry resolution"
});
}
const key = `${name}@${version2}@${nonSemverVersion ?? ""}@${JSON.stringify(snapshot.resolution)}`;
candidates.set(key, {
name,
version: version2,
nonSemverVersion,
resolution: snapshot.resolution
});
}
return { candidates, shapeViolations, invalidAliases: Array.from(invalidAliases) };
}
function pushInvalidAliases(deps, invalid) {
if (deps == null)
return;
for (const alias of Object.keys(deps)) {
if (!isValidDependencyAlias(alias))
invalid.add(alias);
}
}
async function iterateLockfileViolations(candidates, verifiers, concurrency) {
const violations = [];
let fetchError;
const limit = pLimit(concurrency ?? DEFAULT_CONCURRENCY);
await Promise.all(Array.from(candidates.values(), ({ name, version: version2, nonSemverVersion, resolution }) => limit(async () => {
try {
for (const verifier of verifiers) {
const result2 = await verifier.verify(resolution, { name, version: version2, nonSemverVersion });
if (!result2.ok) {
violations.push({ name, version: version2, resolution, code: result2.code, reason: result2.reason });
break;
}
}
} catch (err2) {
fetchError ??= err2;
}
})));
if (fetchError != null)
throw fetchError;
return violations;
}
var MAX_VIOLATIONS_TO_PRINT, DEFAULT_CONCURRENCY, RESOLUTION_SHAPE_MISMATCH_VIOLATION_CODE, INVALID_DEPENDENCY_ALIAS_CODE, RESOLUTION_SHAPE_CACHE_IDENTITY, DEPENDENCY_ALIAS_CACHE_IDENTITY;
var init_verifyLockfileResolutions = __esm({
"../installing/deps-installer/lib/install/verifyLockfileResolutions.js"() {
"use strict";
init_lib6();
init_lib70();
init_lib2();
init_lib111();
init_lib73();
init_p_limit();
init_verifyLockfileResolutionsCache();
MAX_VIOLATIONS_TO_PRINT = 20;
DEFAULT_CONCURRENCY = 64;
RESOLUTION_SHAPE_MISMATCH_VIOLATION_CODE = "RESOLUTION_SHAPE_MISMATCH";
INVALID_DEPENDENCY_ALIAS_CODE = "INVALID_DEPENDENCY_NAME";
RESOLUTION_SHAPE_CACHE_IDENTITY = {
policy: { resolutionShapeCheck: true },
canTrustPastCheck: (cached) => cached.resolutionShapeCheck === true
};
DEPENDENCY_ALIAS_CACHE_IDENTITY = {
policy: { dependencyAliasCheck: true },
canTrustPastCheck: (cached) => cached.dependencyAliasCheck === true
};
}
});
// ../installing/deps-installer/lib/install/warnOnStaleConvergenceOverrides.js
async function warnOnStaleConvergenceOverrides(opts3) {
const convergeOverrides = opts3.parsedOverrides.filter(({ converge: converge3 }) => converge3);
if (convergeOverrides.length === 0)
return;
const { publishedBy, publishedByExclude } = getPublishedByPolicy(opts3);
await Promise.all(convergeOverrides.map(async (override) => {
const name = override.targetPkg.name;
const ranges = opts3.convergeDeclaredRanges.get(name);
if (ranges == null || ranges.size === 0)
return;
const candidates = await Promise.all([...ranges].map(async (range) => {
try {
const response = await opts3.requestPackage({ alias: name, bareSpecifier: range }, {
downloadPriority: 0,
lockfileDir: opts3.lockfileDir,
projectDir: opts3.lockfileDir,
preferredVersions: {},
skipFetch: true,
publishedBy,
publishedByExclude
});
if (response.body.policyViolation != null)
return void 0;
return response.body.manifest?.version;
} catch {
return void 0;
}
}));
const best = candidates.filter((version2) => version2 != null && import_semver38.default.gt(version2, override.newBareSpecifier)).sort(import_semver38.default.rcompare).find((version2) => [...ranges].every((range) => import_semver38.default.satisfies(version2, range, true)));
if (best == null)
return;
globalWarn(`The convergence override "${name}@": "${override.newBareSpecifier}" is stale: every declared range of ${name} also admits ${best}. Change the override's value to ${best} in pnpm-workspace.yaml, or remove the override and run "pnpm dedupe".`);
}));
}
var import_semver38;
var init_warnOnStaleConvergenceOverrides = __esm({
"../installing/deps-installer/lib/install/warnOnStaleConvergenceOverrides.js"() {
"use strict";
init_lib37();
init_lib3();
import_semver38 = __toESM(require_semver2(), 1);
}
});
// ../installing/deps-installer/lib/install/recordLockfileVerified.js
function recordLockfileVerified(opts3) {
if (!opts3.cacheDir)
return;
if (!opts3.resolutionVerifiers?.length)
return;
if (!opts3.lockfile.packages)
return;
recordVerification(opts3.cacheDir, {
lockfilePath: opts3.lockfilePath,
verifiers: withOfflineCheckCacheIdentities(opts3.resolutionVerifiers),
hashLockfile: () => hashObject(opts3.lockfile)
});
}
var init_recordLockfileVerified = __esm({
"../installing/deps-installer/lib/install/recordLockfileVerified.js"() {
"use strict";
init_lib70();
init_verifyLockfileResolutions();
init_verifyLockfileResolutionsCache();
}
});
// ../installing/deps-installer/lib/install/writeLockfilesAndRecordVerified.js
import path131 from "node:path";
async function writeLockfilesAndRecordVerified(opts3) {
const cacheActive = opts3.cacheDir != null && (opts3.resolutionVerifiers?.length ?? 0) > 0;
const wantedLockfileName = cacheActive ? await getWantedLockfileName({
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
}) : void 0;
const written = await writeLockfiles({
wantedLockfile: opts3.wantedLockfile,
wantedLockfileDir: opts3.wantedLockfileDir,
currentLockfile: opts3.currentLockfile,
currentLockfileDir: opts3.currentLockfileDir,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
wantedLockfileName
});
if (cacheActive) {
recordLockfileVerified({
cacheDir: opts3.cacheDir,
lockfilePath: path131.resolve(opts3.wantedLockfileDir, wantedLockfileName),
lockfile: written.wantedLockfile,
resolutionVerifiers: opts3.resolutionVerifiers
});
}
return written;
}
var init_writeLockfilesAndRecordVerified = __esm({
"../installing/deps-installer/lib/install/writeLockfilesAndRecordVerified.js"() {
"use strict";
init_lib80();
init_recordLockfileVerified();
}
});
// ../installing/deps-installer/lib/install/writeWantedLockfileAndRecordVerified.js
import path132 from "node:path";
async function writeWantedLockfileAndRecordVerified(opts3) {
const cacheActive = opts3.cacheDir != null && (opts3.resolutionVerifiers?.length ?? 0) > 0;
const lockfileName = cacheActive ? await getWantedLockfileName({
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
}) : void 0;
const written = await writeWantedLockfile(opts3.lockfileDir, opts3.lockfile, {
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
lockfileName
});
if (cacheActive) {
recordLockfileVerified({
cacheDir: opts3.cacheDir,
lockfilePath: path132.resolve(opts3.lockfileDir, lockfileName),
lockfile: written,
resolutionVerifiers: opts3.resolutionVerifiers
});
}
return written;
}
var init_writeWantedLockfileAndRecordVerified = __esm({
"../installing/deps-installer/lib/install/writeWantedLockfileAndRecordVerified.js"() {
"use strict";
init_lib80();
init_recordLockfileVerified();
}
});
// ../../pnpr/client/lib/protocol.js
var init_protocol = __esm({
"../../pnpr/client/lib/protocol.js"() {
"use strict";
}
});
// ../../pnpr/client/lib/resolveViaPnprServer.js
import http from "node:http";
import https from "node:https";
import { URL as URL6 } from "node:url";
import { gunzip } from "node:zlib";
async function resolveViaPnprServer(opts3) {
const projects = opts3.projects ?? [{
dir: ".",
dependencies: opts3.dependencies,
devDependencies: opts3.devDependencies,
optionalDependencies: opts3.optionalDependencies
}];
const requestBody = JSON.stringify({
projects,
registry: opts3.registry,
namedRegistries: opts3.namedRegistries,
overrides: opts3.overrides,
nodeVersion: opts3.nodeVersion ?? process.version.slice(1),
os: process.platform,
arch: process.arch,
minimumReleaseAge: opts3.minimumReleaseAge,
// Sent as-is: `opts.lockfile` is already the on-disk format the wire
// protocol carries (split `packages`/`snapshots`, `{ specifier, version }`
// importer deps).
lockfile: opts3.lockfile
});
const body = await postResolve(opts3.registryUrl, requestBody, opts3.authorization);
const terminal = parseTerminalFrame(body.toString("utf-8"));
if (terminal.type === "error") {
throw new Error(terminal.message);
}
if (terminal.type === "violations") {
const rendered = terminal.violations.map((violation) => ` ${violation.name}@${violation.version}: ${violation.reason}`).join("\n");
throw new Error(`pnpr server rejected the lockfile under the verification policy:
${rendered}`);
}
return {
// The server speaks the on-disk lockfile format; convert it to the
// in-memory `LockfileObject` the rest of pnpm consumes.
lockfile: convertToLockfileObject(terminal.lockfile),
stats: terminal.stats
};
}
function parseTerminalFrame(body) {
for (const line of body.split("\n")) {
if (line.trim() === "")
continue;
const frame = JSON.parse(line);
if (frame.type === "package")
continue;
if (frame.type === "done" || frame.type === "error" || frame.type === "violations") {
return frame;
}
throw new Error(`pnpr server /-/pnpr/v0/resolve stream emitted an unknown frame type: ${String(frame.type)}`);
}
throw new Error("pnpr server /-/pnpr/v0/resolve stream ended without a terminal frame");
}
async function postResolve(registryUrl, body, authorization) {
const base = registryUrl.endsWith("/") ? registryUrl : `${registryUrl}/`;
const url7 = new URL6("-/pnpr/v0/resolve", base);
const requestFn = url7.protocol === "https:" ? https.request : http.request;
const headers = {
"Content-Type": "application/json",
"Content-Length": Buffer.byteLength(body),
"Accept-Encoding": "gzip"
};
if (authorization != null) {
headers.Authorization = authorization;
}
return new Promise((resolve4, reject3) => {
const req2 = requestFn(url7, {
method: "POST",
timeout: REQUEST_TIMEOUT,
headers
}, (res) => {
const chunks = [];
res.on("data", (chunk) => chunks.push(chunk));
res.on("end", () => {
const raw = Buffer.concat(chunks);
const finish = (body2) => {
if (res.statusCode !== 200) {
reject3(new Error(`pnpr server responded with ${res.statusCode}: ${body2.toString("utf-8")}`));
} else {
resolve4(body2);
}
};
if (res.headers["content-encoding"] === "gzip" || raw[0] === 31 && raw[1] === 139) {
gunzip(raw, (err2, decompressed) => {
if (err2)
reject3(err2);
else
finish(decompressed);
});
} else {
finish(raw);
}
});
res.on("error", reject3);
});
req2.on("timeout", () => {
req2.destroy(new Error(`pnpr server request timed out after ${REQUEST_TIMEOUT / 1e3}s (${registryUrl})`));
});
req2.on("error", (err2) => {
if (err2.code === "ECONNREFUSED") {
reject3(new Error(`Could not connect to pnpr server at ${registryUrl}. Is the server running?`));
} else {
reject3(err2);
}
});
req2.write(body);
req2.end();
});
}
var REQUEST_TIMEOUT;
var init_resolveViaPnprServer = __esm({
"../../pnpr/client/lib/resolveViaPnprServer.js"() {
"use strict";
init_lib80();
REQUEST_TIMEOUT = 6e5;
}
});
// ../../pnpr/client/lib/index.js
var lib_exports7 = {};
__export(lib_exports7, {
resolveViaPnprServer: () => resolveViaPnprServer
});
var init_lib125 = __esm({
"../../pnpr/client/lib/index.js"() {
"use strict";
init_protocol();
init_resolveViaPnprServer();
}
});
// ../installing/deps-installer/lib/install/index.js
import path133 from "node:path";
async function install(manifest, opts3) {
const rootDir = opts3.dir ?? process.cwd();
if (opts3.pnprServer) {
return installViaPnprServer(manifest, rootDir, opts3);
}
const { updatedCatalogs, updatedProjects: projects, ignoredBuilds, resolutionPolicyViolations, dryRunResult } = await mutateModules([
{
mutation: "install",
pruneDirectDependencies: opts3.pruneDirectDependencies,
rootDir,
update: opts3.update,
updateMatching: opts3.updateMatching,
updateToLatest: opts3.updateToLatest,
updatePackageManifest: opts3.updatePackageManifest
}
], {
...opts3,
allProjects: [{
buildIndex: 0,
manifest,
rootDir,
binsDir: opts3.binsDir
}]
});
return { updatedCatalogs, updatedManifest: projects[0].manifest, ignoredBuilds, resolutionPolicyViolations, dryRunResult };
}
async function mutateModulesInSingleProject(project, maybeOpts) {
const result2 = await mutateModules([
{
...project,
update: maybeOpts.update,
updateToLatest: maybeOpts.updateToLatest,
updateMatching: maybeOpts.updateMatching,
updatePackageManifest: maybeOpts.updatePackageManifest
}
], {
...maybeOpts,
allProjects: [{
buildIndex: 0,
...project
}]
});
return {
updatedCatalogs: result2.updatedCatalogs,
updatedProject: result2.updatedProjects[0],
ignoredBuilds: result2.ignoredBuilds,
resolutionPolicyViolations: result2.resolutionPolicyViolations,
dryRunResult: result2.dryRunResult
};
}
async function mutateModules(projects, maybeOpts) {
const reporter = maybeOpts?.reporter;
const detachReporter = reporter != null && typeof reporter === "function" ? () => {
streamParser.removeListener("data", reporter);
} : () => {
};
if (reporter != null && typeof reporter === "function") {
streamParser.on("data", reporter);
}
const opts3 = extendOptions(maybeOpts);
if (opts3.pnprServer && canUsePnprForMutations(projects)) {
const pnprResult = await mutateModulesViaPnpr(projects, opts3);
if (pnprResult)
return pnprResult;
}
const allowBuild = createAllowBuildFunction(opts3);
if (!opts3.include.dependencies && opts3.include.optionalDependencies) {
throw new PnpmError("OPTIONAL_DEPS_REQUIRE_PROD_DEPS", "Optional dependencies cannot be installed without production dependencies");
}
const installsOnly = allMutationsAreInstalls(projects);
if (!installsOnly)
opts3.strictPeerDependencies = false;
const rootProjectManifest = opts3.allProjects.find(({ rootDir }) => rootDir === opts3.lockfileDir)?.manifest ?? // When running install/update on a subset of projects, the root project might not be included,
// so reading its manifest explicitly here.
await safeReadProjectManifestOnly(opts3.lockfileDir);
let ctx = await getContext(opts3);
if (!opts3.lockfileOnly && ctx.modulesFile != null) {
const { purged } = await validateModules(ctx.modulesFile, Object.values(ctx.projects), {
forceNewModules: installsOnly,
include: opts3.include,
lockfileDir: opts3.lockfileDir,
modulesDir: opts3.modulesDir ?? "node_modules",
registries: opts3.registries,
storeDir: opts3.storeDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
confirmModulesPurge: opts3.confirmModulesPurge && !opts3.ci,
hoistPattern: opts3.hoistPattern,
currentHoistPattern: ctx.currentHoistPattern,
publicHoistPattern: opts3.publicHoistPattern,
currentPublicHoistPattern: ctx.currentPublicHoistPattern,
global: opts3.global
});
if (purged) {
ctx = await getContext(opts3);
}
}
const willDelegateToPacquet = opts3.runPacquet != null && opts3.useLockfile && !opts3.useGitBranchLockfile && !opts3.mergeGitBranchLockfiles && !isCheckOnlyInstall(opts3) && opts3.enableModulesDir && installsOnly && !opts3.lockfileOnly && !opts3.fixLockfile && !opts3.dedupe && !ctx.lockfileHadConflicts && // Frozen materialization: pacquet reads the existing lockfile and
// re-applies the resolver-policy gate as it walks it.
(ctx.existsNonEmptyWantedLockfile && (opts3.frozenLockfile === true || opts3.frozenLockfileIfExists === true) || // Resolving install: pacquet (>= 0.11.7) re-resolves from the
// manifests itself — applying the policy during fresh resolution —
// so the existing lockfile entries verified here would just be
// discarded. If a policy handler is active, keep resolution in pnpm
// so violations can be returned to the command layer.
opts3.saveLockfile && opts3.runPacquet.supportsResolution && opts3.frozenLockfile !== true && opts3.nodeLinker !== "hoisted" && opts3.handleResolutionPolicyViolations == null);
let verifyLockfilePromise;
if (!willDelegateToPacquet && !opts3.trustLockfile) {
const cacheActive = opts3.cacheDir != null && opts3.resolutionVerifiers.length > 0;
const wantedLockfilePath = cacheActive ? path133.resolve(ctx.lockfileDir, await getWantedLockfileName({
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
})) : void 0;
verifyLockfilePromise = verifyLockfileResolutions(ctx.wantedLockfile, opts3.resolutionVerifiers, {
cacheDir: opts3.cacheDir,
lockfilePath: wantedLockfilePath
});
verifyLockfilePromise.catch(() => {
});
}
const verifyLockfile = verifyLockfilePromise && (() => verifyLockfilePromise);
if (opts3.hooks.preResolution) {
for (const preResolution of opts3.hooks.preResolution) {
await preResolution({
currentLockfile: ctx.currentLockfile,
wantedLockfile: ctx.wantedLockfile,
existsCurrentLockfile: ctx.existsCurrentLockfile,
existsNonEmptyWantedLockfile: ctx.existsNonEmptyWantedLockfile,
lockfileDir: ctx.lockfileDir,
storeDir: ctx.storeDir,
registries: ctx.registries
});
}
}
let forceResolutionFromHook = false;
const shouldCheckCustomResolverForceResolve = opts3.hooks.customResolvers && ctx.existsNonEmptyWantedLockfile && !opts3.frozenLockfile && opts3.saveLockfile;
if (shouldCheckCustomResolverForceResolve) {
forceResolutionFromHook = await checkCustomResolverForceResolve(opts3.hooks.customResolvers, ctx.wantedLockfile);
}
const pruneVirtualStore = !opts3.enableGlobalVirtualStore && (ctx.modulesFile?.prunedAt && opts3.modulesCacheMaxAge > 0 ? cacheExpired(ctx.modulesFile.prunedAt, opts3.modulesCacheMaxAge) : true);
if (!maybeOpts.ignorePackageManifest) {
for (const { manifest, rootDir } of Object.values(ctx.projects)) {
if (!manifest) {
throw new Error(`No package.json found in "${rootDir}"`);
}
}
}
const result2 = await settleInstall(_install(), verifyLockfilePromise);
if (global["verifiedFileIntegrity"] > 1e3) {
globalInfo(`The integrity of ${global["verifiedFileIntegrity"]} files was checked. This might have caused installation to take longer.`);
}
if (opts3.mergeGitBranchLockfiles) {
await cleanGitBranchLockfiles(ctx.lockfileDir);
}
let ignoredBuilds = result2.ignoredBuilds;
if (!opts3.ignoreScripts && ignoredBuilds?.size) {
ignoredBuilds = await runUnignoredDependencyBuilds(opts3, ignoredBuilds, ctx.wantedLockfile, allowBuild);
}
let revokedBuilds = false;
if (ctx.modulesFile?.allowBuilds && ctx.wantedLockfile.packages && Object.values(ctx.modulesFile.allowBuilds).some((v) => v === true)) {
const oldAllowBuild = createAllowBuildFunction({ allowBuilds: ctx.modulesFile.allowBuilds });
if (oldAllowBuild) {
for (const depPath of Object.keys(ctx.wantedLockfile.packages)) {
if (ignoredBuilds?.has(depPath))
continue;
if (oldAllowBuild(depPath, { trustPackageIdentity: true }) !== true)
continue;
if (allowBuild?.(depPath) === void 0) {
ignoredBuilds ??= /* @__PURE__ */ new Set();
ignoredBuilds.add(depPath);
revokedBuilds = true;
}
}
}
}
if (revokedBuilds && !opts3.lockfileOnly && opts3.enableModulesDir) {
const writtenManifest = await readModulesManifest(ctx.rootModulesDir);
if (writtenManifest) {
writtenManifest.ignoredBuilds = ignoredBuilds;
await writeModulesManifest(ctx.rootModulesDir, writtenManifest);
}
}
ignoredScriptsLogger.debug({
packageNames: ignoredBuilds ? dedupePackageNamesFromIgnoredBuilds(ignoredBuilds) : []
});
detachReporter();
return {
updatedCatalogs: result2.updatedCatalogs,
updatedProjects: result2.updatedProjects,
stats: result2.stats ?? { added: 0, removed: 0, linkedToRoot: 0 },
depsRequiringBuild: result2.depsRequiringBuild,
ignoredBuilds,
resolutionPolicyViolations: result2.resolutionPolicyViolations ?? [],
dryRunResult: result2.dryRunResult
};
async function settleInstall(install2, verification) {
if (verification == null)
return install2;
install2.catch(() => {
});
try {
await verification;
return await install2;
} catch (err2) {
detachReporter();
throw err2;
}
}
async function _install() {
const scriptsOpts = {
extraBinPaths: opts3.extraBinPaths,
extraNodePaths: ctx.extraNodePaths,
extraEnv: opts3.extraEnv,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
userAgent: opts3.userAgent,
resolveSymlinksInInjectedDirs: opts3.resolveSymlinksInInjectedDirs,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
stdio: opts3.ownLifecycleHooksStdio,
storeController: opts3.storeController,
unsafePerm: opts3.unsafePerm || false
};
if (!opts3.ignoreScripts && !opts3.ignorePackageManifest && rootProjectManifest?.scripts?.[DEV_PREINSTALL]) {
await runLifecycleHook(DEV_PREINSTALL, rootProjectManifest, {
...scriptsOpts,
depPath: opts3.lockfileDir,
pkgRoot: opts3.lockfileDir,
rootModulesDir: ctx.rootModulesDir
});
}
const packageExtensionsChecksum = hashObjectNullableWithPrefix(opts3.packageExtensions);
const pnpmfileChecksum = await opts3.hooks.calculatePnpmfileChecksum?.();
const resolvedPatchedDeps = resolvePatchedDependencies(opts3.patchedDependencies, opts3.lockfileDir);
const patchedDependencies = opts3.ignorePackageManifest ? ctx.wantedLockfile.patchedDependencies : resolvedPatchedDeps ? await calcPatchHashes(resolvedPatchedDeps) : {};
const patchGroupInput = resolvedPatchedDeps ? Object.fromEntries(Object.entries(patchedDependencies ?? {}).map(([key, hash2]) => {
let patchFilePath = resolvedPatchedDeps[key];
if (!patchFilePath) {
const lastAt = key.lastIndexOf("@");
const pkgName = lastAt > 0 ? key.slice(0, lastAt) : key;
patchFilePath = resolvedPatchedDeps[pkgName];
}
return [key, { hash: hash2, patchFilePath }];
})) : patchedDependencies;
const patchGroups = patchGroupInput ? groupPatchedDependencies(patchGroupInput) : void 0;
const frozenLockfile = opts3.frozenLockfile || opts3.frozenLockfileIfExists && ctx.existsNonEmptyWantedLockfile;
let outdatedLockfileSettings = false;
const overridesMap = createOverridesMapFromParsed(opts3.parsedOverrides);
if (!opts3.ignorePackageManifest) {
const outdatedLockfileSettingName = getOutdatedLockfileSetting(ctx.wantedLockfile, {
autoInstallPeers: opts3.autoInstallPeers,
catalogs: opts3.catalogs,
dedupePeers: opts3.dedupePeers || void 0,
injectWorkspacePackages: opts3.injectWorkspacePackages,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
overrides: overridesMap,
ignoredOptionalDependencies: opts3.ignoredOptionalDependencies?.sort(),
packageExtensionsChecksum,
patchedDependencies,
pnpmfileChecksum
});
outdatedLockfileSettings = outdatedLockfileSettingName != null;
if (frozenLockfile && outdatedLockfileSettings) {
throw new LockfileConfigMismatchError(outdatedLockfileSettingName);
}
}
const _isWantedDepBareSpecifierSame = isWantedDepBareSpecifierSame.bind(null, ctx.wantedLockfile.catalogs, opts3.catalogs);
const upToDateLockfileMajorVersion = ctx.wantedLockfile.lockfileVersion.toString().startsWith(`${LOCKFILE_MAJOR_VERSION}.`);
let needsFullResolution = outdatedLockfileSettings || opts3.fixLockfile || opts3.updateChecksums || !upToDateLockfileMajorVersion || opts3.forceFullResolution || forceResolutionFromHook;
if (needsFullResolution) {
ctx.wantedLockfile.settings = {
autoInstallPeers: opts3.autoInstallPeers,
dedupePeers: opts3.dedupePeers || void 0,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
injectWorkspacePackages: opts3.injectWorkspacePackages
};
ctx.wantedLockfile.overrides = overridesMap;
ctx.wantedLockfile.packageExtensionsChecksum = packageExtensionsChecksum;
ctx.wantedLockfile.ignoredOptionalDependencies = opts3.ignoredOptionalDependencies;
ctx.wantedLockfile.pnpmfileChecksum = pnpmfileChecksum;
ctx.wantedLockfile.patchedDependencies = patchedDependencies;
} else if (!frozenLockfile) {
ctx.wantedLockfile.settings = {
autoInstallPeers: opts3.autoInstallPeers,
dedupePeers: opts3.dedupePeers || void 0,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
injectWorkspacePackages: opts3.injectWorkspacePackages
};
}
const frozenInstallResult = await tryFrozenInstall({
frozenLockfile,
needsFullResolution,
patchGroups,
upToDateLockfileMajorVersion
});
if (frozenInstallResult !== null) {
if ("needsFullResolution" in frozenInstallResult) {
needsFullResolution = frozenInstallResult.needsFullResolution;
} else {
return frozenInstallResult;
}
}
const projectsToInstall = [];
let preferredSpecs = null;
for (const project of projects) {
const projectOpts = {
...project,
...ctx.projects[project.rootDir]
};
switch (project.mutation) {
case "uninstallSome":
projectsToInstall.push({
pruneDirectDependencies: false,
...projectOpts,
removePackages: project.dependencyNames,
updatePackageManifest: true,
wantedDependencies: []
});
break;
case "install": {
await installCase({
...projectOpts,
updatePackageManifest: projectOpts.updatePackageManifest ?? projectOpts.update
});
break;
}
case "installSome": {
await installSome({
...projectOpts,
updatePackageManifest: projectOpts.updatePackageManifest !== false
});
break;
}
}
}
async function installCase(project) {
const wantedDependencies = getWantedDependencies(project.manifest, {
autoInstallPeers: opts3.autoInstallPeers,
includeDirect: opts3.includeDirect
}).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true }));
if (opts3.packageVulnerabilityAudit) {
for (const dep of wantedDependencies) {
let specifier = dep.bareSpecifier;
const catalogName = specifier ? parseCatalogProtocol(specifier) : null;
if (catalogName != null) {
const catalogResult = resolveFromCatalog(opts3.catalogs, { alias: dep.alias, bareSpecifier: specifier });
specifier = matchCatalogResolveResult(catalogResult, pickCatalogSpecifier);
}
const validVersion = import_semver39.default.valid(specifier);
if (!validVersion)
continue;
if (opts3.packageVulnerabilityAudit.isVulnerable(dep.alias, validVersion)) {
if (catalogName != null && opts3.catalogs?.[catalogName]) {
opts3.catalogs = {
...opts3.catalogs,
[catalogName]: {
...opts3.catalogs[catalogName],
[dep.alias]: "^" + validVersion
}
};
dep.prevSpecifier = specifier;
} else {
dep.bareSpecifier = "^" + validVersion;
}
}
}
}
if (ctx.wantedLockfile?.importers) {
forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepBareSpecifierSame);
}
if (opts3.ignoreScripts && project.manifest?.scripts && (project.manifest.scripts.preinstall != null || project.manifest.scripts.install != null || project.manifest.scripts.postinstall != null || project.manifest.scripts.prepare)) {
ctx.pendingBuilds.push(project.id);
}
projectsToInstall.push({
pruneDirectDependencies: false,
...project,
wantedDependencies
});
}
async function installSome(project) {
const currentBareSpecifiers = opts3.ignoreCurrentSpecifiers ? {} : getAllDependenciesFromManifest2(project.manifest, { autoInstallPeers: opts3.autoInstallPeers });
const optionalDependencies = project.targetDependenciesField ? {} : project.manifest.optionalDependencies ?? {};
const devDependencies = project.targetDependenciesField ? {} : project.manifest.devDependencies ?? {};
if (preferredSpecs == null) {
const manifests = [];
for (const versions of ctx.workspacePackages.values()) {
for (const { manifest } of versions.values()) {
manifests.push(manifest);
}
}
preferredSpecs = getAllUniqueSpecs(manifests);
}
const wantedDeps = parseWantedDependencies(project.dependencySelectors, {
allowNew: project.allowNew !== false,
currentBareSpecifiers,
defaultTag: opts3.tag,
dev: project.targetDependenciesField === "devDependencies",
devDependencies,
optional: project.targetDependenciesField === "optionalDependencies",
optionalDependencies,
updateWorkspaceDependencies: project.update,
preferredSpecs,
saveCatalogName: opts3.saveCatalogName,
overrides: opts3.overrides,
defaultCatalog: opts3.catalogs?.default
});
if (opts3.catalogMode !== "manual") {
for (const wantedDep of wantedDeps) {
if (wantedDep.bareSpecifier?.startsWith("runtime:"))
continue;
const perDepCatalogName = getPerDepCatalogName(wantedDep, opts3.saveCatalogName);
const catalogBareSpecifier = `catalog:${perDepCatalogName === "default" ? "" : perDepCatalogName}`;
const catalog = resolveFromCatalog(opts3.catalogs, { ...wantedDep, bareSpecifier: catalogBareSpecifier });
const catalogDepSpecifier = matchCatalogResolveResult(catalog, pickCatalogSpecifier);
if (!catalogDepSpecifier || wantedDep.bareSpecifier === catalogBareSpecifier || import_semver39.default.valid(wantedDep.bareSpecifier) && import_semver39.default.valid(catalogDepSpecifier) && import_semver39.default.eq(wantedDep.bareSpecifier, catalogDepSpecifier)) {
wantedDep.saveCatalogName = perDepCatalogName;
continue;
}
switch (opts3.catalogMode) {
case "strict":
throw new CatalogVersionMismatchError({ catalogDep: `${wantedDep.alias}@${catalogDepSpecifier}`, wantedDep: `${wantedDep.alias}@${wantedDep.bareSpecifier}` });
case "prefer":
logger.warn({
message: `Catalog version mismatch for "${wantedDep.alias}": using direct version "${wantedDep.bareSpecifier}" instead of catalog version "${catalogDepSpecifier}".`,
prefix: opts3.lockfileDir
});
}
}
}
projectsToInstall.push({
pruneDirectDependencies: false,
...project,
wantedDependencies: wantedDeps.map((wantedDep) => ({ ...wantedDep, isNew: !currentBareSpecifiers[wantedDep.alias], updateSpec: true }))
});
}
const makePartialCurrentLockfile = !installsOnly && (ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile || !ctx.currentLockfileIsUpToDate);
const result3 = await installInContext(projectsToInstall, ctx, {
...opts3,
allowBuild,
currentLockfileIsUpToDate: !ctx.existsNonEmptyWantedLockfile || ctx.currentLockfileIsUpToDate,
makePartialCurrentLockfile,
needsFullResolution,
pruneVirtualStore,
scriptsOpts,
updateLockfileMinorVersion: true,
patchedDependencies: patchGroups,
verifyLockfile
});
return {
updatedCatalogs: result3.updatedCatalogs,
updatedProjects: result3.projects,
stats: result3.stats,
depsRequiringBuild: result3.depsRequiringBuild,
ignoredBuilds: result3.ignoredBuilds,
resolutionPolicyViolations: result3.resolutionPolicyViolations,
dryRunResult: result3.dryRunResult
};
}
async function tryFrozenInstall({ frozenLockfile, needsFullResolution, patchGroups, upToDateLockfileMajorVersion }) {
const isFrozenInstallPossible = (
// A frozen install is never possible when any of these are true:
!ctx.lockfileHadConflicts && !opts3.fixLockfile && !opts3.dedupe && // A check-only install (`lockfileCheck`, used by `--dry-run` and
// `dedupe --check`) must always run a full resolution so the wanted
// lockfile can be compared, and must never materialize anything. The
// frozen path would skip resolution and/or perform a real install.
!isCheckOnlyInstall(opts3) && installsOnly && // If the user explicitly requested a frozen lockfile install, attempt
// to perform one. An error will be thrown if updates are required.
(frozenLockfile || // Otherwise, check if a frozen-like install is possible for
// performance. This will be the case if all projects are up-to-date.
opts3.ignorePackageManifest || !needsFullResolution && opts3.preferFrozenLockfile && (!opts3.pruneLockfileImporters || Object.keys(ctx.wantedLockfile.importers).length === Object.keys(ctx.projects).length) && !isEmptyLockfile(ctx.wantedLockfile) && ctx.wantedLockfile.lockfileVersion === LOCKFILE_VERSION && await allProjectsAreUpToDate(Object.values(ctx.projects), {
catalogs: opts3.catalogs,
autoInstallPeers: opts3.autoInstallPeers,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
linkWorkspacePackages: opts3.linkWorkspacePackagesDepth >= 0,
wantedLockfile: ctx.wantedLockfile,
workspacePackages: ctx.workspacePackages,
lockfileDir: opts3.lockfileDir
}))
);
if (!isFrozenInstallPossible) {
return null;
}
if (needsFullResolution) {
throw new PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", "Cannot perform a frozen installation because the version of the lockfile is incompatible with this version of pnpm", {
hint: `Try either:
1. Aligning the version of pnpm that generated the lockfile with the version that installs from it, or
2. Migrating the lockfile so that it is compatible with the newer version of pnpm, or
3. Using "pnpm install --no-frozen-lockfile".
Note that in CI environments, this setting is enabled by default.`
});
}
if (!opts3.ignorePackageManifest) {
if (frozenLockfile && !ctx.existsWantedLockfile && Object.values(ctx.projects).some((project) => pkgHasDependencies(project.manifest))) {
throw new PnpmError("NO_LOCKFILE", `Cannot install with "frozen-lockfile" because ${WANTED_LOCKFILE} is absent`, {
hint: 'Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"'
});
}
const _satisfiesPackageManifest = satisfiesPackageManifest.bind(null, {
autoInstallPeers: opts3.autoInstallPeers,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile
});
for (const { id, manifest, rootDir } of Object.values(ctx.projects)) {
const { satisfies: satisfies4, detailedReason } = _satisfiesPackageManifest(ctx.wantedLockfile.importers[id], manifest);
if (!satisfies4) {
if (!ctx.existsWantedLockfile) {
throw new PnpmError("NO_LOCKFILE", `Cannot install with "frozen-lockfile" because ${WANTED_LOCKFILE} is absent`, {
hint: 'Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"'
});
}
throw new PnpmError("OUTDATED_LOCKFILE", `Cannot install with "frozen-lockfile" because ${WANTED_LOCKFILE} is not up to date with ` + path133.join("<ROOT>", path133.relative(opts3.lockfileDir, path133.join(rootDir, "package.json"))), {
hint: `Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"
Failure reason:
${detailedReason ?? ""}`
});
}
}
}
if (opts3.lockfileOnly) {
await writeWantedLockfile(ctx.lockfileDir, ctx.wantedLockfile);
return {
updatedProjects: projects.map((mutatedProject) => ctx.projects[mutatedProject.rootDir]),
ignoredBuilds: void 0
};
}
if (isEmptyLockfile(ctx.wantedLockfile)) {
if (Object.values(ctx.projects).some((project) => pkgHasDependencies(project.manifest))) {
throw new Error(`Headless installation requires a ${WANTED_LOCKFILE} file`);
}
return null;
}
if (maybeOpts.ignorePackageManifest) {
logger.info({ message: "Importing packages to virtual store", prefix: opts3.lockfileDir });
} else {
logger.info({ message: "Lockfile is up to date, resolution step is skipped", prefix: opts3.lockfileDir });
}
if (opts3.runPacquet != null && opts3.useLockfile && !opts3.useGitBranchLockfile && !opts3.mergeGitBranchLockfiles && !isCheckOnlyInstall(opts3) && opts3.enableModulesDir) {
try {
await opts3.runPacquet.run();
} catch (err2) {
detachReporter();
throw err2;
}
return {
updatedProjects: projects.map((mutatedProject) => {
const project = ctx.projects[mutatedProject.rootDir];
return {
...project,
manifest: project.originalManifest ?? project.manifest
};
}),
ignoredBuilds: void 0
};
}
try {
const { stats, ignoredBuilds: ignoredBuilds2 } = await headlessInstall({
...ctx,
...opts3,
currentEngine: {
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.packageManager.name === "pnpm" ? opts3.packageManager.version : ""
},
currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
patchedDependencies: patchGroups,
selectedProjectDirs: projects.map((project) => project.rootDir),
allProjects: ctx.projects,
prunedAt: ctx.modulesFile?.prunedAt,
pruneVirtualStore,
wantedLockfile: maybeOpts.ignorePackageManifest ? void 0 : ctx.wantedLockfile,
useLockfile: opts3.useLockfile && ctx.wantedLockfileIsModified,
verifyLockfile
});
if (opts3.useLockfile && opts3.saveLockfile && opts3.mergeGitBranchLockfiles || !upToDateLockfileMajorVersion && !opts3.frozenLockfile) {
const currentLockfileDir = path133.join(ctx.rootModulesDir, ".pnpm");
await writeLockfiles({
currentLockfile: ctx.currentLockfile,
currentLockfileDir,
wantedLockfile: ctx.wantedLockfile,
wantedLockfileDir: ctx.lockfileDir,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
}
return {
updatedProjects: projects.map((mutatedProject) => {
const project = ctx.projects[mutatedProject.rootDir];
return {
...project,
manifest: project.originalManifest ?? project.manifest
};
}),
stats,
ignoredBuilds: ignoredBuilds2
};
} catch (error) {
const isIntegrityError = BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code);
if (frozenLockfile || error.code !== "ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY" && !isIntegrityError || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile || isIntegrityError && !opts3.updateChecksums)
throw error;
logger.warn({
error,
message: error.message,
prefix: ctx.lockfileDir
});
logger.error(new PnpmError(error.code, "The lockfile is broken! Resolution step will be performed to fix it."));
return { needsFullResolution };
}
}
}
async function runUnignoredDependencyBuilds(opts3, previousIgnoredBuilds, currentLockfile, allowBuild) {
if (!allowBuild) {
return previousIgnoredBuilds;
}
const pkgsToBuild = [];
for (const ignoredPkg of previousIgnoredBuilds) {
if (currentLockfile.packages?.[ignoredPkg] == null)
continue;
if (allowBuild(ignoredPkg) === true) {
pkgsToBuild.push(getPkgIdWithPatchHash(ignoredPkg));
}
}
if (pkgsToBuild.length) {
return (await buildSelectedPkgs(opts3.allProjects, pkgsToBuild, {
...opts3,
reporter: void 0,
// We don't want to attach the reporter again, it was already attached.
rootProjectManifestDir: opts3.lockfileDir
})).ignoredBuilds ?? previousIgnoredBuilds;
}
return previousIgnoredBuilds;
}
function cacheExpired(prunedAt, maxAgeInMinutes) {
return (Date.now() - new Date(prunedAt).valueOf()) / (1e3 * 60) > maxAgeInMinutes;
}
function pkgHasDependencies(manifest) {
return Boolean(Object.keys(manifest.dependencies ?? {}).length > 0 || Object.keys(manifest.devDependencies ?? {}).length || Object.keys(manifest.optionalDependencies ?? {}).length);
}
function forgetResolutionsOfPrevWantedDeps(importer, wantedDeps, isWantedDepBareSpecifierSame2) {
if (!importer.specifiers)
return;
importer.dependencies = importer.dependencies ?? {};
importer.devDependencies = importer.devDependencies ?? {};
importer.optionalDependencies = importer.optionalDependencies ?? {};
for (const { alias, bareSpecifier } of wantedDeps) {
if (alias && !isWantedDepBareSpecifierSame2(alias, importer.specifiers[alias], bareSpecifier)) {
if (!importer.dependencies[alias]?.startsWith("link:")) {
delete importer.dependencies[alias];
}
delete importer.devDependencies[alias];
delete importer.optionalDependencies[alias];
}
}
}
function forgetResolutionsOfAllPrevWantedDeps(wantedLockfile) {
if (wantedLockfile.importers != null && !isEmpty_default(wantedLockfile.importers)) {
wantedLockfile.importers = map_default(({ dependencies: _dependencies, devDependencies: _devDependencies, optionalDependencies: _optionalDependencies, ...rest }) => rest, wantedLockfile.importers);
}
if (wantedLockfile.packages != null && !isEmpty_default(wantedLockfile.packages)) {
wantedLockfile.packages = map_default(({ dependencies: _dependencies, optionalDependencies: _optionalDependencies, ...rest }) => rest, wantedLockfile.packages);
}
if (wantedLockfile.catalogs != null && !isEmpty_default(wantedLockfile.catalogs)) {
wantedLockfile.catalogs = void 0;
}
}
function isWantedDepBareSpecifierSame(prevCatalogs, catalogsConfig, alias, prevBareSpecifier, nextBareSpecifier) {
if (prevBareSpecifier !== nextBareSpecifier) {
return false;
}
const catalogName = parseCatalogProtocol(prevBareSpecifier);
if (catalogName === null) {
return true;
}
const prevCatalogEntrySpec = prevCatalogs?.[catalogName]?.[alias]?.specifier;
const nextCatalogEntrySpec = catalogsConfig?.[catalogName]?.[alias];
return prevCatalogEntrySpec === nextCatalogEntrySpec;
}
function getPerDepCatalogName(wantedDep, globalSaveCatalogName) {
if (wantedDep.prevSpecifier) {
const catalogFromPrev = parseCatalogProtocol(wantedDep.prevSpecifier);
if (catalogFromPrev != null) {
return catalogFromPrev;
}
}
return globalSaveCatalogName ?? "default";
}
async function addDependenciesToPackage(manifest, dependencySelectors, opts3) {
const rootDir = opts3.dir ?? process.cwd();
const { updatedCatalogs, updatedProjects: projects, ignoredBuilds, resolutionPolicyViolations } = await mutateModules([
{
allowNew: opts3.allowNew,
dependencySelectors,
mutation: "installSome",
peer: opts3.peer,
pinnedVersion: opts3.pinnedVersion,
rootDir,
targetDependenciesField: opts3.targetDependenciesField,
update: opts3.update,
updateMatching: opts3.updateMatching,
updatePackageManifest: opts3.updatePackageManifest,
updateToLatest: opts3.updateToLatest
}
], {
...opts3,
lockfileDir: opts3.lockfileDir ?? opts3.dir,
allProjects: [
{
buildIndex: 0,
binsDir: opts3.bin,
manifest,
rootDir
}
]
});
return { updatedCatalogs, updatedManifest: projects[0].manifest, ignoredBuilds, resolutionPolicyViolations };
}
function isCheckOnlyInstall(opts3) {
return opts3.lockfileCheck != null || opts3.dryRun === true;
}
function allMutationsAreInstalls(projects) {
return projects.every((project) => project.mutation === "install" && !project.update && !project.updateMatching);
}
function pacquetResolveResult(projects, ctx) {
return {
newLockfile: ctx.wantedLockfile,
projects: projects.map((project) => ({
manifest: project.originalManifest ?? project.manifest,
rootDir: project.rootDir
})),
depsRequiringBuild: [],
resolutionPolicyViolations: []
};
}
async function materializeOrDelegate(opts3, runHeadlessInstall) {
if (opts3.runPacquet != null && opts3.useLockfile !== false && opts3.saveLockfile !== false && opts3.useGitBranchLockfile !== true && opts3.mergeGitBranchLockfiles !== true) {
await opts3.runPacquet.run({ filterResolvedProgress: true });
return {};
}
return runHeadlessInstall();
}
async function linkAllBins3(depNodes, depGraph, opts3) {
await Promise.all(depNodes.map(async (depNode) => limitLinking5(async () => linkBinsOfDependencies(depNode, depGraph, opts3))));
}
function dedupePackageNamesFromIgnoredBuilds(ignoredBuilds) {
return Array.from(new Set(Array.from(ignoredBuilds ?? []).map((depPath) => getPkgIdWithPatchHash(depPath)))).sort(import_util14.lexCompare);
}
function getProjectsWithTargetDirs(projects, lockfile, dependenciesGraph) {
const injectionTargetsByDepPath = /* @__PURE__ */ new Map();
if (lockfile.packages) {
for (const [depPath, { resolution }] of Object.entries(lockfile.packages)) {
if (resolution?.type === "directory") {
const graphNode = dependenciesGraph[depPath];
if (graphNode?.dir) {
injectionTargetsByDepPath.set(depPath, [graphNode.dir]);
}
}
}
}
return extendProjectsWithTargetDirs(projects, injectionTargetsByDepPath);
}
function canUsePnprForMutations(projects) {
if (projects.length === 0)
return false;
return projects.every((p) => {
if (p.mutation === "uninstallSome")
return true;
if (p.mutation !== "install" && p.mutation !== "installSome")
return false;
const m = p;
return !m.update && !m.updateToLatest && m.updateMatching == null;
});
}
async function preparePnprProjects(projects, opts3) {
const allProjects = opts3.allProjects ?? [];
const mutationByRootDir = /* @__PURE__ */ new Map();
for (const p of projects) {
mutationByRootDir.set(p.rootDir, p);
}
const targetSet = allProjects.length > 0 ? allProjects.map((ap) => ({
rootDir: ap.rootDir,
manifest: ap.manifest,
mutation: mutationByRootDir.get(ap.rootDir)
})) : projects.map((p) => {
const proj = allProjects.find((ap) => ap.rootDir === p.rootDir);
return {
rootDir: p.rootDir,
manifest: proj?.manifest ?? {},
mutation: p
};
});
for (const p of projects) {
if (!targetSet.some((t2) => t2.rootDir === p.rootDir))
return null;
}
return Promise.all(targetSet.map(async (t2) => {
let manifest = clone_default(t2.manifest);
const newDeps = [];
const mutation = t2.mutation;
let pinnedVersion;
if (mutation?.mutation === "uninstallSome") {
manifest = await removeDeps(manifest, mutation.dependencyNames, {
prefix: mutation.rootDir,
saveType: mutation.targetDependenciesField
});
} else if (mutation?.mutation === "installSome") {
manifest = mergeInstallSelectors(manifest, mutation);
pinnedVersion = mutation.pinnedVersion;
for (const sel of mutation.dependencySelectors) {
const parsed = parseWantedDependency(sel);
if (parsed.alias) {
newDeps.push({ alias: parsed.alias, userSpecified: parsed.bareSpecifier != null });
}
}
}
return {
rootDir: t2.rootDir,
manifest,
mutation: mutation?.mutation ?? "install",
newDeps,
pinnedVersion
};
}));
}
function mergeInstallSelectors(manifest, mutation) {
const target2 = mutation.targetDependenciesField;
const fieldsToClear = ["dependencies", "devDependencies", "optionalDependencies"];
for (const sel of mutation.dependencySelectors) {
const parsed = parseWantedDependency(sel);
if (!parsed.alias)
continue;
const alias = parsed.alias;
const field = target2 ?? guessDepField(alias, manifest) ?? "dependencies";
const spec = parsed.bareSpecifier ?? findExistingSpec(alias, manifest) ?? "latest";
manifest[field] = manifest[field] ?? {};
manifest[field][alias] = spec;
if (target2) {
for (const other of fieldsToClear) {
if (other !== target2)
delete manifest[other]?.[alias];
}
}
if (mutation.peer) {
manifest.peerDependencies = manifest.peerDependencies ?? {};
manifest.peerDependencies[alias] = manifest.peerDependencies[alias] ?? spec;
}
}
return manifest;
}
function guessDepField(alias, manifest) {
if (manifest.dependencies?.[alias] != null)
return "dependencies";
if (manifest.devDependencies?.[alias] != null)
return "devDependencies";
if (manifest.optionalDependencies?.[alias] != null)
return "optionalDependencies";
return void 0;
}
function findExistingSpec(alias, manifest) {
return manifest.dependencies?.[alias] ?? manifest.devDependencies?.[alias] ?? manifest.optionalDependencies?.[alias];
}
function applyResolvedSpecsFromLockfile(manifest, importerSnapshot, newDeps, pinnedVersion) {
if (!importerSnapshot || newDeps.length === 0)
return manifest;
for (const dep of newDeps) {
if (dep.userSpecified)
continue;
for (const field of ["dependencies", "devDependencies", "optionalDependencies"]) {
const resolvedVersion = importerSnapshot[field]?.[dep.alias];
if (!resolvedVersion || manifest[field]?.[dep.alias] == null)
continue;
const savePrefixSpec = createVersionSpecFromResolvedVersion(resolvedVersion, pinnedVersion);
manifest[field][dep.alias] = savePrefixSpec ?? resolvedVersion;
}
}
return manifest;
}
async function mutateModulesViaPnpr(projects, opts3) {
const pnprProjects = await preparePnprProjects(projects, opts3);
if (!pnprProjects)
return null;
const result2 = await installViaPnprServer(pnprProjects[0].manifest, pnprProjects[0].rootDir, opts3, pnprProjects.map((p) => ({ rootDir: p.rootDir, manifest: p.manifest })));
const lockfileDir = opts3.lockfileDir ?? projects[0].rootDir;
const mutatedRootDirs = new Set(projects.map((p) => p.rootDir));
const updatedProjects = pnprProjects.filter((p) => mutatedRootDirs.has(p.rootDir)).map((p) => {
if (p.mutation === "installSome" && p.newDeps.length > 0) {
const relative2 = path133.relative(lockfileDir, p.rootDir).split(path133.sep).join("/");
const importerId = relative2 || ".";
const snapshot = result2.lockfile?.importers?.[importerId];
p.manifest = applyResolvedSpecsFromLockfile(p.manifest, snapshot, p.newDeps, p.pinnedVersion);
}
return { rootDir: p.rootDir, manifest: p.manifest };
});
return {
updatedProjects,
stats: result2.stats,
ignoredBuilds: result2.ignoredBuilds
};
}
async function installViaPnprServer(manifest, rootDir, opts3, allInstallProjects) {
if (opts3.frozenStore) {
throw new PnpmError("FROZEN_STORE_INCOMPATIBLE_WITH_PNPR", "The pnpr server resolves dependencies and writes new entries into the store, which is opened read-only when frozenStore is enabled.", { hint: "Disable the pnpr server (unset `--pnpr-server` / `pnprServer` in pnpm-workspace.yaml) so the install reads from the existing store, or unset `frozenStore` to allow store writes." });
}
if (opts3.trustPolicy === "no-downgrade") {
throw new PnpmError("TRUST_POLICY_INCOMPATIBLE_WITH_PNPR", "The pnpr server does not yet enforce `trustPolicy: no-downgrade`, so running an install through it under this policy would produce a lockfile that the local verifier rejects.", { hint: "Unset `trustPolicy` for this install, or disable the pnpr server (unset `--pnpr-server` / `pnprServer` in pnpm-workspace.yaml) so resolution runs locally and the trust check applies." });
}
const { resolveViaPnprServer: resolveViaPnprServer2 } = await Promise.resolve().then(() => (init_lib125(), lib_exports7));
const { createGetAuthHeaderByURI: createGetAuthHeaderByURI2 } = await Promise.resolve().then(() => (init_lib52(), lib_exports5));
const configByUri = opts3.configByUri ?? {};
const pnprAuthorization = createGetAuthHeaderByURI2(configByUri)(opts3.pnprServer);
try {
const lockfileDir = opts3.lockfileDir ?? rootDir;
const existingLockfile = await readWantedLockfileFile(lockfileDir, {
ignoreIncompatible: true
}).catch(() => null);
logger.info({ message: "Resolving dependencies via the pnpr server", prefix: rootDir });
const projectsList = allInstallProjects && allInstallProjects.length > 1 ? allInstallProjects.map((p) => ({
dir: (path133.relative(lockfileDir, p.rootDir) || ".").split(path133.sep).join("/"),
dependencies: p.manifest.dependencies,
devDependencies: p.manifest.devDependencies,
optionalDependencies: p.manifest.optionalDependencies
})) : void 0;
const { lockfile, stats: pnprStats } = await resolveViaPnprServer2({
registryUrl: opts3.pnprServer,
dependencies: projectsList ? void 0 : manifest.dependencies,
devDependencies: projectsList ? void 0 : manifest.devDependencies,
optionalDependencies: projectsList ? void 0 : manifest.optionalDependencies,
projects: projectsList,
registry: opts3.registries?.default,
namedRegistries: opts3.namedRegistries,
authorization: pnprAuthorization,
overrides: opts3.overrides,
minimumReleaseAge: opts3.minimumReleaseAge,
lockfile: existingLockfile ?? void 0
});
await writeWantedLockfileAndRecordVerified({
lockfileDir,
lockfile,
cacheDir: opts3.cacheDir,
resolutionVerifiers: opts3.resolutionVerifiers,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
logger.info({
message: `Resolved ${pnprStats.totalPackages} packages`,
prefix: rootDir
});
if (opts3.lockfileOnly) {
return {
updatedCatalogs: void 0,
updatedManifest: manifest,
ignoredBuilds: void 0,
stats: { added: 0, removed: 0, linkedToRoot: 0 },
lockfile,
resolutionPolicyViolations: []
};
}
const headlessOpts = {
...opts3,
dir: rootDir,
lockfileDir,
engineStrict: opts3.engineStrict ?? false,
ignoreScripts: opts3.ignoreScripts ?? false,
sideEffectsCacheRead: opts3.sideEffectsCacheRead ?? false,
sideEffectsCacheWrite: opts3.sideEffectsCacheWrite ?? false,
symlink: opts3.symlink ?? true,
enableModulesDir: opts3.enableModulesDir ?? true,
include: opts3.include ?? { dependencies: true, devDependencies: true, optionalDependencies: true },
currentEngine: {
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.packageManager?.version ?? ""
},
selectedProjectDirs: (allInstallProjects ?? [{ rootDir }]).map((p) => p.rootDir),
allProjects: Object.fromEntries((allInstallProjects ?? [{ rootDir, manifest }]).map((p, i4) => [
p.rootDir,
{
binsDir: path133.join(p.rootDir, "node_modules", ".bin"),
buildIndex: i4,
id: path133.relative(lockfileDir, p.rootDir) || ".",
manifest: p.manifest,
modulesDir: path133.join(p.rootDir, "node_modules"),
rootDir: p.rootDir
}
])),
hoistedDependencies: {},
pendingBuilds: [],
skipped: /* @__PURE__ */ new Set(),
wantedLockfile: lockfile
};
const { ignoredBuilds, stats } = await materializeOrDelegate(
opts3,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
() => headlessInstall(headlessOpts)
);
return {
updatedCatalogs: void 0,
updatedManifest: manifest,
ignoredBuilds,
// Pacquet doesn't surface a structured stats return; default to
// zeros so the pnpr server's non-optional `stats` slot is filled.
// The reporter still renders accurate counts from pacquet's
// `pnpm:stats` log events.
stats: stats ?? { added: 0, removed: 0, linkedToRoot: 0 },
lockfile,
// Server-side resolution (pnpr server) enforces `minimumReleaseAge`
// itself — the pnpr server picks only mature versions and the lockfile
// can't contain immature entries to auto-collect. `trustPolicy` is
// guarded above (we refuse to enter this path when it's set), so
// there's nothing for the install command to react to here.
resolutionPolicyViolations: []
};
} finally {
await opts3.storeController.close();
}
}
var import_util14, import_semver39, LockfileConfigMismatchError, BROKEN_LOCKFILE_INTEGRITY_ERRORS, DEV_PREINSTALL, pickCatalogSpecifier, _installInContext, installInContext, limitLinking5, IgnoredBuildsError;
var init_install = __esm({
"../installing/deps-installer/lib/install/index.js"() {
"use strict";
init_lib16();
init_lib93();
init_lib113();
init_lib69();
init_lib60();
init_lib96();
init_lib97();
init_lib99();
init_lib();
init_lib6();
init_lib70();
init_lib68();
init_lib2();
init_lib21();
init_lib89();
init_lib111();
init_lib121();
init_lib77();
init_lib80();
init_lib109();
init_lib124();
init_lib119();
init_lib123();
init_lib3();
init_lib108();
init_lib11();
init_lib98();
import_util14 = __toESM(require_dist4(), 1);
init_lib15();
init_is_subdir();
init_p_limit();
init_es();
import_semver39 = __toESM(require_semver2(), 1);
init_parseWantedDependencies();
init_removeDeps();
init_CatalogVersionMismatchError();
init_checkCustomResolverForceResolve();
init_extendInstallOptions();
init_link();
init_reportPeerDependencyIssues();
init_validateModules();
init_verifyLockfileResolutions();
init_warnOnStaleConvergenceOverrides();
init_writeLockfilesAndRecordVerified();
init_writeWantedLockfileAndRecordVerified();
LockfileConfigMismatchError = class extends PnpmError {
constructor(outdatedLockfileSettingName) {
super("LOCKFILE_CONFIG_MISMATCH", `Cannot proceed with the frozen installation. The current "${outdatedLockfileSettingName}" configuration doesn't match the value found in the lockfile`, {
hint: 'Update your lockfile using "pnpm install --no-frozen-lockfile"'
});
}
};
BROKEN_LOCKFILE_INTEGRITY_ERRORS = /* @__PURE__ */ new Set([
"ERR_PNPM_UNEXPECTED_PKG_CONTENT_IN_STORE",
"ERR_PNPM_TARBALL_INTEGRITY"
]);
DEV_PREINSTALL = "pnpm:devPreinstall";
pickCatalogSpecifier = {
found: (found) => found.resolution.specifier,
misconfiguration: () => void 0,
unused: () => void 0
};
_installInContext = async (projects, ctx, opts3) => {
const isInstallationOnlyForLockfileCheck = isCheckOnlyInstall(opts3);
const originalLockfileForCheck = isInstallationOnlyForLockfileCheck ? clone_default(ctx.wantedLockfile) : null;
ctx.wantedLockfile.importers = ctx.wantedLockfile.importers || {};
for (const { id } of projects) {
if (!ctx.wantedLockfile.importers[id]) {
ctx.wantedLockfile.importers[id] = { specifiers: {} };
}
}
if (opts3.pruneLockfileImporters) {
const projectIds = new Set(projects.map(({ id }) => id));
for (const wantedImporter of Object.keys(ctx.wantedLockfile.importers)) {
if (!projectIds.has(wantedImporter)) {
delete ctx.wantedLockfile.importers[wantedImporter];
}
}
}
await Promise.all(projects.map(async (project) => {
if (project.mutation !== "uninstallSome")
return;
const _removeDeps = async (manifest) => removeDeps(manifest, project.dependencyNames, { prefix: project.rootDir, saveType: project.targetDependenciesField });
project.manifest = await _removeDeps(project.manifest);
if (project.originalManifest != null) {
project.originalManifest = await _removeDeps(project.originalManifest);
}
}));
stageLogger.debug({
prefix: ctx.lockfileDir,
stage: "resolution_started"
});
const preferredVersions = Object.assign(/* @__PURE__ */ Object.create(null), getPreferredVersionsFromLockfileAndManifests(ctx.wantedLockfile.packages, Object.values(ctx.projects).map(({ manifest }) => manifest)));
for (const [pkgName, selectors] of Object.entries(opts3.preferredVersions ?? {})) {
preferredVersions[pkgName] = { ...preferredVersions[pkgName], ...selectors };
}
const forceFullResolution = ctx.wantedLockfile.lockfileVersion !== LOCKFILE_VERSION || !opts3.currentLockfileIsUpToDate || opts3.force || opts3.needsFullResolution || ctx.lockfileHadConflicts || opts3.dedupePeerDependents;
if (opts3.fixLockfile && ctx.wantedLockfile.packages != null && !isEmpty_default(ctx.wantedLockfile.packages)) {
ctx.wantedLockfile.packages = map_default(({ dependencies, optionalDependencies, resolution }) => ({
// These fields are needed to avoid losing information of the locked dependencies if these fields are not broken
// If these fields are broken, they will also be regenerated
dependencies,
optionalDependencies,
resolution
}), ctx.wantedLockfile.packages);
}
if (opts3.dedupe) {
forgetResolutionsOfAllPrevWantedDeps(ctx.wantedLockfile);
}
let { dependenciesGraph, dependenciesByProjectId, linkedDependenciesByProjectId, updatedCatalogs, newLockfile, outdatedDependencies, peerDependencyIssuesByProjects, wantedToBeSkippedPackageIds, waitTillAllFetchingsFinish, resolutionPolicyViolations } = await resolveDependencies2(projects, {
allowBuild: opts3.allowBuild,
allowedDeprecatedVersions: opts3.allowedDeprecatedVersions,
allowUnusedPatches: opts3.allowUnusedPatches,
autoInstallPeers: opts3.autoInstallPeers,
autoInstallPeersFromHighestMatch: opts3.autoInstallPeersFromHighestMatch,
catalogs: opts3.catalogs,
currentLockfile: ctx.currentLockfile,
defaultUpdateDepth: opts3.depth,
dedupeDirectDeps: opts3.dedupeDirectDeps,
dedupeInjectedDeps: opts3.dedupeInjectedDeps,
dedupePeerDependents: opts3.dedupePeerDependents,
dedupePeers: opts3.dedupePeers,
dryRun: opts3.lockfileOnly,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
engineStrict: opts3.engineStrict,
excludeLinksFromLockfile: opts3.excludeLinksFromLockfile,
force: opts3.force,
forceFullResolution,
updateChecksums: opts3.updateChecksums,
ignoreScripts: opts3.ignoreScripts,
hooks: {
readPackage: opts3.readPackageHook
},
linkWorkspacePackagesDepth: opts3.linkWorkspacePackagesDepth ?? (opts3.saveWorkspaceProtocol ? 0 : -1),
lockfileDir: opts3.lockfileDir,
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.packageManager.name === "pnpm" ? opts3.packageManager.version : "",
preferWorkspacePackages: opts3.preferWorkspacePackages,
preferredVersions,
preserveWorkspaceProtocol: opts3.preserveWorkspaceProtocol,
registries: ctx.registries,
namedRegistries: opts3.namedRegistries,
resolutionMode: opts3.resolutionMode,
saveWorkspaceProtocol: opts3.saveWorkspaceProtocol,
storeController: opts3.storeController,
tag: opts3.tag,
globalVirtualStoreDir: opts3.globalVirtualStoreDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
wantedLockfile: ctx.wantedLockfile,
workspacePackages: ctx.workspacePackages,
patchedDependencies: opts3.patchedDependencies,
lockfileIncludeTarballUrl: opts3.lockfileIncludeTarballUrl,
resolvePeersFromWorkspaceRoot: opts3.resolvePeersFromWorkspaceRoot,
supportedArchitectures: opts3.supportedArchitectures,
peersSuffixMaxLength: opts3.peersSuffixMaxLength,
injectWorkspacePackages: opts3.injectWorkspacePackages,
minimumReleaseAge: opts3.minimumReleaseAge,
minimumReleaseAgeExclude: opts3.minimumReleaseAgeExclude,
trustPolicy: opts3.trustPolicy,
trustPolicyExclude: opts3.trustPolicyExclude,
trustPolicyIgnoreAfter: opts3.trustPolicyIgnoreAfter,
blockExoticSubdeps: opts3.blockExoticSubdeps,
allProjectIds: Object.values(ctx.projects).map((p) => p.id),
handleResolutionPolicyViolations: opts3.handleResolutionPolicyViolations
});
if (opts3.convergeDeclaredRanges != null && (forceFullResolution || opts3.dedupe)) {
await warnOnStaleConvergenceOverrides({
convergeDeclaredRanges: opts3.convergeDeclaredRanges,
parsedOverrides: opts3.parsedOverrides,
requestPackage: opts3.storeController.requestPackage,
lockfileDir: opts3.lockfileDir,
minimumReleaseAge: opts3.minimumReleaseAge,
minimumReleaseAgeExclude: opts3.minimumReleaseAgeExclude
});
}
if (!opts3.include.optionalDependencies || !opts3.include.devDependencies || !opts3.include.dependencies) {
linkedDependenciesByProjectId = map_default((linkedDeps) => linkedDeps.filter((linkedDep) => !(linkedDep.dev && !opts3.include.devDependencies || linkedDep.optional && !opts3.include.optionalDependencies || !linkedDep.dev && !linkedDep.optional && !opts3.include.dependencies)), linkedDependenciesByProjectId ?? {});
for (const { id, manifest } of projects) {
for (const [alias, depPath] of dependenciesByProjectId[id].entries()) {
let include;
const dep = dependenciesGraph[depPath];
if (!dep) {
include = false;
} else {
const isDev = Boolean(manifest.devDependencies?.[dep.name]);
const isOptional = Boolean(manifest.optionalDependencies?.[dep.name]);
include = !(isDev && !opts3.include.devDependencies || isOptional && !opts3.include.optionalDependencies || !isDev && !isOptional && !opts3.include.dependencies);
}
if (!include) {
dependenciesByProjectId[id].delete(alias);
}
}
}
}
if (opts3.skipRuntimes) {
for (const id of Object.keys(dependenciesByProjectId)) {
for (const [alias, depPath] of dependenciesByProjectId[id].entries()) {
if (depPath.includes("@runtime:")) {
ctx.skipped.add(depPath);
dependenciesByProjectId[id].delete(alias);
}
}
}
}
stageLogger.debug({
prefix: ctx.lockfileDir,
stage: "resolution_done"
});
if (updatedCatalogs != null && opts3.overrides != null && Object.keys(opts3.overrides).length > 0) {
newLockfile.overrides = createOverridesMapFromParsed(parseOverrides(opts3.overrides, mergeCatalogs(opts3.catalogs, updatedCatalogs)));
}
newLockfile = opts3.hooks?.afterAllResolved != null ? await pipeWith_default(async (f, res) => f(await res), opts3.hooks.afterAllResolved)(newLockfile) : newLockfile;
if (opts3.updateLockfileMinorVersion) {
newLockfile.lockfileVersion = LOCKFILE_VERSION;
}
const depsStateCache = {};
const lockfileOpts = {
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
};
let stats;
let ignoredBuilds;
const shouldWritePackageMap = opts3.enableModulesDir !== false && opts3.nodeLinker === "isolated" && !opts3.virtualStoreOnly;
if (!opts3.lockfileOnly && !isInstallationOnlyForLockfileCheck && opts3.enableModulesDir) {
const result2 = await linkPackages(projects, dependenciesGraph, {
allowBuild: opts3.allowBuild,
currentLockfile: ctx.currentLockfile,
dedupeDirectDeps: opts3.dedupeDirectDeps,
dependenciesByProjectId,
depsStateCache,
disableRelinkLocalDirDeps: opts3.disableRelinkLocalDirDeps,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
extraNodePaths: ctx.extraNodePaths,
force: opts3.force,
hoistedDependencies: ctx.hoistedDependencies,
hoistedModulesDir: ctx.hoistedModulesDir,
hoistPattern: ctx.hoistPattern,
ignoreScripts: opts3.ignoreScripts,
include: opts3.include,
linkedDependenciesByProjectId,
lockfileDir: opts3.lockfileDir,
makePartialCurrentLockfile: opts3.makePartialCurrentLockfile,
outdatedDependencies,
pruneStore: opts3.pruneStore,
pruneVirtualStore: opts3.pruneVirtualStore,
publicHoistPattern: ctx.publicHoistPattern,
registries: ctx.registries,
rootModulesDir: ctx.rootModulesDir,
sideEffectsCacheRead: opts3.sideEffectsCacheRead,
symlink: opts3.symlink,
skipped: ctx.skipped,
skipRuntimes: opts3.skipRuntimes,
storeController: opts3.storeController,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
wantedLockfile: newLockfile,
wantedToBeSkippedPackageIds,
hoistWorkspacePackages: opts3.hoistWorkspacePackages,
virtualStoreOnly: opts3.virtualStoreOnly,
supportedArchitectures: opts3.supportedArchitectures
});
stats = result2.stats;
if (shouldWritePackageMap) {
const importerNames = Object.fromEntries(projects.map(({ manifest, id }) => [id, manifest.name]));
await writePackageMap(result2.currentLockfile, {
importerNames,
lockfileDir: ctx.lockfileDir,
locationByDepPath: Object.fromEntries(Object.values(dependenciesGraph).map((node) => [node.depPath, node.dir])),
packageMapType: opts3.nodePackageMapType,
rootModulesDir: ctx.rootModulesDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength
});
}
if (opts3.enablePnp) {
const importerNames = Object.fromEntries(projects.map(({ manifest, id }) => [id, manifest.name ?? id]));
await writePnpFile(result2.currentLockfile, {
importerNames,
lockfileDir: ctx.lockfileDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
registries: ctx.registries
});
}
ctx.pendingBuilds = ctx.pendingBuilds.filter((relDepPath) => !result2.removedDepPaths.has(relDepPath));
if (result2.newDepPaths?.length) {
if (opts3.ignoreScripts) {
ctx.pendingBuilds = ctx.pendingBuilds.concat(result2.newDepPaths.filter((depPath) => dependenciesGraph[depPath].requiresBuild));
}
if (!opts3.ignoreScripts || Object.keys(opts3.patchedDependencies ?? {}).length > 0) {
const depPaths = Object.keys(dependenciesGraph);
const rootNodes = depPaths.filter((depPath) => dependenciesGraph[depPath].depth === 0);
let extraEnv = opts3.scriptsOpts.extraEnv;
if (opts3.enablePnp) {
extraEnv = {
...extraEnv,
...makeNodeRequireOption(path133.join(opts3.lockfileDir, ".pnp.cjs"), extraEnv)
};
}
if (opts3.nodeExperimentalPackageMap && shouldWritePackageMap) {
extraEnv = {
...extraEnv,
...makeNodePackageMapOption(path133.join(ctx.rootModulesDir, PACKAGE_MAP_FILENAME), extraEnv)
};
}
await opts3.verifyLockfile?.();
ignoredBuilds = (await buildModules(dependenciesGraph, rootNodes, {
allowBuild: opts3.allowBuild,
childConcurrency: opts3.childConcurrency,
depsStateCache,
depsToBuild: new Set(result2.newDepPaths),
extraBinPaths: ctx.extraBinPaths,
extraNodePaths: ctx.extraNodePaths,
extraEnv,
ignoreScripts: opts3.ignoreScripts,
lockfileDir: ctx.lockfileDir,
optional: opts3.include.optionalDependencies,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
rootModulesDir: ctx.virtualStoreDir,
scriptsPrependNodePath: opts3.scriptsPrependNodePath,
scriptShell: opts3.scriptShell,
shellEmulator: opts3.shellEmulator,
sideEffectsCacheWrite: opts3.sideEffectsCacheWrite,
storeController: opts3.storeController,
unsafePerm: opts3.unsafePerm,
userAgent: opts3.userAgent,
enableGlobalVirtualStore: opts3.enableGlobalVirtualStore,
frozenStore: opts3.frozenStore
})).ignoredBuilds;
if (ctx.modulesFile?.ignoredBuilds?.size) {
ignoredBuilds ??= /* @__PURE__ */ new Set();
for (const ignoredBuild of ctx.modulesFile.ignoredBuilds.values()) {
if (result2.currentLockfile.packages?.[ignoredBuild] && !isBuildExplicitlyDisallowed(ignoredBuild, opts3.allowBuild)) {
ignoredBuilds.add(ignoredBuild);
}
}
}
}
}
const binWarn = (prefix, message) => {
logger.info({ message, prefix });
};
if (result2.newDepPaths?.length && !opts3.virtualStoreOnly) {
const newPkgs = props_default(result2.newDepPaths, dependenciesGraph);
await linkAllBins3(newPkgs, dependenciesGraph, {
extraNodePaths: ctx.extraNodePaths,
optional: opts3.include.optionalDependencies,
warn: binWarn.bind(null, opts3.lockfileDir)
});
}
if (!opts3.virtualStoreOnly)
await Promise.all(projects.map(async (project, index2) => {
let linkedPackages;
if (ctx.publicHoistPattern?.length && path133.relative(project.rootDir, opts3.lockfileDir) === "") {
linkedPackages = await linkBins(project.modulesDir, project.binsDir, {
allowExoticManifests: true,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables,
projectManifest: project.manifest,
extraNodePaths: ctx.extraNodePaths,
warn: binWarn.bind(null, project.rootDir)
});
} else {
const directPkgs = [
...props_default(Array.from(dependenciesByProjectId[project.id].values()).filter((depPath) => !ctx.skipped.has(depPath)), dependenciesGraph),
...linkedDependenciesByProjectId[project.id].map(({ pkgId }) => ({
dir: path133.join(project.rootDir, pkgId.substring(5)),
fetching: void 0
}))
];
linkedPackages = await linkBinsOfPackages((await Promise.all(directPkgs.map(async (dep) => {
const manifest = (await dep.fetching?.())?.bundledManifest ?? await safeReadProjectManifestOnly(dep.dir);
return {
location: dep.dir,
manifest
};
}))).filter(({ manifest }) => manifest != null), project.binsDir, {
extraNodePaths: ctx.extraNodePaths,
preferSymlinkedExecutables: opts3.preferSymlinkedExecutables
});
}
const projectToInstall = projects[index2];
if (opts3.global && projectToInstall.mutation.includes("install")) {
for (const pkg of projectToInstall.wantedDependencies) {
if (pkg.alias && !linkedPackages?.includes(pkg.alias)) {
logger.warn({ message: `${pkg.alias} has no binaries`, prefix: opts3.lockfileDir });
}
}
}
}));
const projectsWithTargetDirs = getProjectsWithTargetDirs(projects, newLockfile, dependenciesGraph);
const currentLockfileDir = path133.join(ctx.rootModulesDir, ".pnpm");
await Promise.all([
opts3.useLockfile && opts3.saveLockfile ? writeLockfilesAndRecordVerified({
currentLockfile: result2.currentLockfile,
currentLockfileDir,
wantedLockfile: newLockfile,
wantedLockfileDir: ctx.lockfileDir,
cacheDir: opts3.cacheDir,
resolutionVerifiers: opts3.resolutionVerifiers,
...lockfileOpts
}) : writeCurrentLockfile(ctx.virtualStoreDir, result2.currentLockfile),
(async () => {
if (result2.currentLockfile.packages === void 0 && result2.removedDepPaths.size === 0) {
return Promise.resolve();
}
const injectedDeps = {};
for (const project of projectsWithTargetDirs) {
if (project.targetDirs.length > 0) {
injectedDeps[project.id] = project.targetDirs.map((targetDir) => path133.relative(opts3.lockfileDir, targetDir));
}
}
return writeModulesManifest(ctx.rootModulesDir, {
...ctx.modulesFile,
hoistedDependencies: result2.newHoistedDependencies,
hoistPattern: ctx.hoistPattern,
included: ctx.include,
injectedDeps,
ignoredBuilds,
layoutVersion: LAYOUT_VERSION,
nodeLinker: opts3.nodeLinker,
packageManager: `${opts3.packageManager.name}@${opts3.packageManager.version}`,
pendingBuilds: ctx.pendingBuilds,
publicHoistPattern: ctx.publicHoistPattern,
virtualStoreOnly: opts3.virtualStoreOnly,
prunedAt: opts3.pruneVirtualStore || ctx.modulesFile == null ? (/* @__PURE__ */ new Date()).toUTCString() : ctx.modulesFile.prunedAt,
registries: ctx.registries,
skipped: Array.from(ctx.skipped),
storeDir: ctx.storeDir,
virtualStoreDir: ctx.virtualStoreDir,
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
allowBuilds: opts3.allowBuilds
});
})()
]);
if (!opts3.ignoreScripts && !opts3.virtualStoreOnly) {
if (opts3.enablePnp) {
opts3.scriptsOpts.extraEnv = {
...opts3.scriptsOpts.extraEnv,
...makeNodeRequireOption(path133.join(opts3.lockfileDir, ".pnp.cjs"), opts3.scriptsOpts.extraEnv)
};
}
if (opts3.nodeExperimentalPackageMap && shouldWritePackageMap) {
opts3.scriptsOpts.extraEnv = {
...opts3.scriptsOpts.extraEnv,
...makeNodePackageMapOption(path133.join(ctx.rootModulesDir, PACKAGE_MAP_FILENAME), opts3.scriptsOpts.extraEnv)
};
}
const projectsToBeBuilt = projectsWithTargetDirs.filter(({ mutation }) => mutation === "install");
await opts3.verifyLockfile?.();
await runLifecycleHooksConcurrently(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts3.childConcurrency, opts3.scriptsOpts);
}
} else {
if (opts3.useLockfile && opts3.saveLockfile && !isInstallationOnlyForLockfileCheck) {
await writeWantedLockfileAndRecordVerified({
lockfileDir: ctx.lockfileDir,
lockfile: newLockfile,
cacheDir: opts3.cacheDir,
resolutionVerifiers: opts3.resolutionVerifiers,
...lockfileOpts
});
}
if (opts3.nodeLinker !== "hoisted" && opts3.runPacquet == null) {
stageLogger.debug({
prefix: opts3.lockfileDir,
stage: "importing_done"
});
}
}
await waitTillAllFetchingsFinish();
const depsRequiringBuild = [];
if (opts3.returnListOfDepsRequiringBuild) {
await Promise.all(Object.entries(dependenciesGraph).map(async ([depPath, node]) => {
if (node?.fetching == null)
return;
const { files } = await node.fetching();
if (files.requiresBuild) {
depsRequiringBuild.push(depPath);
}
}));
}
reportPeerDependencyIssues(peerDependencyIssuesByProjects, {
lockfileDir: opts3.lockfileDir,
strictPeerDependencies: opts3.strictPeerDependencies,
rules: opts3.peerDependencyRules
});
if (!opts3.omitSummaryLog && opts3.runPacquet == null) {
summaryLogger.debug({ prefix: opts3.lockfileDir });
}
if (originalLockfileForCheck != null) {
opts3.lockfileCheck?.(originalLockfileForCheck, newLockfile);
}
return {
updatedCatalogs,
newLockfile,
projects: projects.map(({ id, manifest, rootDir }) => ({
manifest,
peerDependencyIssues: peerDependencyIssuesByProjects[id],
rootDir
})),
stats,
depsRequiringBuild,
ignoredBuilds,
resolutionPolicyViolations,
dryRunResult: opts3.dryRun && originalLockfileForCheck != null ? { originalLockfile: originalLockfileForCheck, wantedLockfile: newLockfile } : void 0
};
};
installInContext = async (projects, ctx, opts3) => {
try {
const isPathInsideWorkspace = isSubdir.bind(null, opts3.lockfileDir);
if (!opts3.frozenLockfile && opts3.useLockfile) {
const allProjectsLocatedInsideWorkspace = Object.values(ctx.projects).filter((project) => isPathInsideWorkspace(project.rootDirRealPath ?? project.rootDir));
if (allProjectsLocatedInsideWorkspace.length > projects.length && !isCheckOnlyInstall(opts3) && opts3.enableModulesDir) {
const newProjects = [...projects];
const getWantedDepsOpts = {
autoInstallPeers: opts3.autoInstallPeers,
includeDirect: opts3.includeDirect,
updateWorkspaceDependencies: false,
injectWorkspacePackages: opts3.injectWorkspacePackages
};
const _isWantedDepBareSpecifierSame = isWantedDepBareSpecifierSame.bind(null, ctx.wantedLockfile.catalogs, opts3.catalogs);
for (const project of allProjectsLocatedInsideWorkspace) {
if (!newProjects.some(({ rootDir }) => rootDir === project.rootDir)) {
const wantedDependencies = getWantedDependencies(project.manifest, getWantedDepsOpts).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true, preserveNonSemverVersionSpec: true }));
forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepBareSpecifierSame);
newProjects.push({
mutation: "install",
...project,
wantedDependencies,
pruneDirectDependencies: false,
updatePackageManifest: false
});
}
}
const result2 = await installInContext(newProjects, ctx, {
...opts3,
lockfileOnly: true
});
const { stats, ignoredBuilds } = await materializeOrDelegate(opts3, () => headlessInstall({
...ctx,
...opts3,
currentEngine: {
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.packageManager.name === "pnpm" ? opts3.packageManager.version : ""
},
currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
selectedProjectDirs: projects.map((project) => project.rootDir),
allProjects: ctx.projects,
prunedAt: ctx.modulesFile?.prunedAt,
wantedLockfile: result2.newLockfile,
useLockfile: opts3.useLockfile && ctx.wantedLockfileIsModified,
hoistWorkspacePackages: opts3.hoistWorkspacePackages
}));
return {
...result2,
stats,
ignoredBuilds
};
}
}
if (opts3.nodeLinker === "hoisted" && !opts3.lockfileOnly && !isCheckOnlyInstall(opts3) && opts3.enableModulesDir) {
const result2 = await _installInContext(projects, ctx, {
...opts3,
lockfileOnly: true
});
const { stats, ignoredBuilds } = await materializeOrDelegate(opts3, () => headlessInstall({
...ctx,
...opts3,
currentEngine: {
nodeVersion: opts3.nodeVersion,
pnpmVersion: opts3.packageManager.name === "pnpm" ? opts3.packageManager.version : ""
},
currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
selectedProjectDirs: projects.map((project) => project.rootDir),
allProjects: ctx.projects,
prunedAt: ctx.modulesFile?.prunedAt,
wantedLockfile: result2.newLockfile,
useLockfile: opts3.useLockfile && ctx.wantedLockfileIsModified,
hoistWorkspacePackages: opts3.hoistWorkspacePackages
}));
return {
...result2,
stats,
ignoredBuilds
};
}
if (opts3.runPacquet != null && opts3.useLockfile && opts3.saveLockfile && !opts3.useGitBranchLockfile && !opts3.mergeGitBranchLockfiles && !opts3.lockfileOnly && !isCheckOnlyInstall(opts3) && opts3.enableModulesDir) {
if (opts3.runPacquet.supportsResolution && !opts3.frozenLockfile && opts3.handleResolutionPolicyViolations == null && allMutationsAreInstalls(projects)) {
const envLockfile = await readEnvLockfile(ctx.lockfileDir);
let pacquetError;
try {
await opts3.runPacquet.run({ resolve: true });
} catch (err2) {
pacquetError = err2;
throw err2;
} finally {
if (envLockfile != null) {
await writeEnvLockfile(ctx.lockfileDir, envLockfile).catch((restoreErr) => {
if (pacquetError == null) {
throw restoreErr;
}
logger.warn({
error: restoreErr,
message: `Failed to restore the configDependencies document in pnpm-lock.yaml: ${restoreErr.message}`,
prefix: ctx.lockfileDir
});
});
}
}
const wantedLockfile = await readWantedLockfile(ctx.lockfileDir, {
ignoreIncompatible: opts3.force || opts3.ci === true,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
useGitBranchLockfile: opts3.useGitBranchLockfile,
wantedVersions: [LOCKFILE_VERSION]
});
if (wantedLockfile == null) {
throw new PnpmError("PACQUET_LOCKFILE_READ_FAILED", `pacquet did not write a readable ${WANTED_LOCKFILE}`);
}
ctx.wantedLockfile = wantedLockfile;
return pacquetResolveResult(projects, ctx);
}
const result2 = await _installInContext(projects, ctx, { ...opts3, lockfileOnly: true });
await opts3.runPacquet.run({ filterResolvedProgress: true });
return result2;
}
return await _installInContext(projects, ctx, opts3);
} catch (error) {
if (!BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code) || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile || !opts3.updateChecksums)
throw error;
opts3.needsFullResolution = true;
logger.warn({
error,
message: error.message,
prefix: ctx.lockfileDir
});
logger.error(new PnpmError(error.code, "Refreshing the locked integrity from the registry as requested by --update-checksums. A full installation will be performed."));
return _installInContext(projects, ctx, opts3);
} finally {
await opts3.storeController.close();
}
};
limitLinking5 = pLimit(16);
IgnoredBuildsError = class extends PnpmError {
constructor(ignoredBuilds) {
const packageNames = dedupePackageNamesFromIgnoredBuilds(ignoredBuilds);
super("IGNORED_BUILDS", `Ignored build scripts: ${packageNames.join(", ")}`, {
hint: 'Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.'
});
}
};
}
});
// ../installing/deps-installer/lib/api.js
var init_api = __esm({
"../installing/deps-installer/lib/api.js"() {
"use strict";
init_getPeerDependencyIssues();
init_install();
init_reportPeerDependencyIssues();
}
});
// ../installing/deps-installer/lib/index.js
var init_lib126 = __esm({
"../installing/deps-installer/lib/index.js"() {
"use strict";
init_api();
init_UnexpectedStoreError();
init_UnexpectedVirtualStoreDirError();
init_lib89();
}
});
// ../global/commands/lib/installGlobalPackages.js
async function installGlobalPackages(opts3, params) {
const store = await createStoreController(opts3);
let { manifest, writeProjectManifest: writeProjectManifest2 } = await tryReadProjectManifest2(opts3.dir, opts3);
if (manifest == null) {
manifest = {};
}
const installOpts = {
...opts3,
allowBuilds: { ...opts3.allowBuilds },
storeController: store.ctrl,
storeDir: store.dir
};
const pinnedVersion = opts3.saveExact ? "patch" : opts3.savePrefix === "~" ? "minor" : "major";
const { updatedProject, ignoredBuilds, resolutionPolicyViolations } = await mutateModulesInSingleProject({
allowNew: true,
binsDir: opts3.bin,
dependencySelectors: params,
manifest,
mutation: "installSome",
peer: false,
pinnedVersion,
rootDir: opts3.dir,
targetDependenciesField: "dependencies"
}, installOpts);
await writeProjectManifest2(updatedProject.manifest);
return { ignoredBuilds, resolutionPolicyViolations };
}
var init_installGlobalPackages = __esm({
"../global/commands/lib/installGlobalPackages.js"() {
"use strict";
init_lib41();
init_lib126();
init_lib92();
}
});
// ../global/commands/lib/promptApproveGlobalBuilds.js
async function promptApproveGlobalBuilds(opts3, commands2) {
if (!opts3.ignoredBuilds?.size)
return;
const autoApproveForTests = process.env[AUTO_APPROVE_FOR_TESTS_ENV] === "1";
if (!autoApproveForTests && !process.stdin.isTTY)
return;
await commands2["approve-builds"]({
...opts3.inheritedOpts,
workspaceDir: void 0,
allProjects: void 0,
selectedProjectsGraph: void 0,
workspacePackagePatterns: void 0,
modulesDir: void 0,
dir: opts3.installDir,
lockfileDir: opts3.installDir,
rootProjectManifest: void 0,
rootProjectManifestDir: opts3.installDir,
settingsDir: opts3.globalPkgDir,
global: false,
pending: false,
allowBuilds: opts3.allowBuilds,
// When set, makes `approve-builds` skip both its multiselect and
// confirm prompts and approve every pending build.
all: autoApproveForTests ? true : void 0
}, [], commands2);
}
var AUTO_APPROVE_FOR_TESTS_ENV;
var init_promptApproveGlobalBuilds = __esm({
"../global/commands/lib/promptApproveGlobalBuilds.js"() {
"use strict";
AUTO_APPROVE_FOR_TESTS_ENV = "PNPM_AUTO_APPROVE_BUILDS_FOR_TESTS";
}
});
// ../global/commands/lib/readInstalledPackages.js
import path134 from "node:path";
async function readInstalledPackages(installDir) {
const pkgJson2 = readPackageJsonFromDirRawSync(installDir);
const depNames = Object.keys(pkgJson2.dependencies ?? {}).filter(isValidGlobalDependencyAlias);
const manifests = await Promise.all(depNames.map((depName) => readPackageJsonFromDir(path134.join(installDir, "node_modules", depName))));
return depNames.map((depName, i4) => ({
manifest: manifests[i4],
location: path134.join(installDir, "node_modules", depName)
}));
}
var init_readInstalledPackages = __esm({
"../global/commands/lib/readInstalledPackages.js"() {
"use strict";
init_lib103();
init_lib5();
}
});
// ../global/commands/lib/globalAdd.js
import fs78 from "node:fs";
import path135 from "node:path";
async function handleGlobalAdd(opts3, params, commands2) {
const globalDir = opts3.globalPkgDir;
const globalBinDir = opts3.bin;
cleanOrphanedInstallDirs(globalDir);
let allowBuilds = opts3.allowBuilds ?? {};
if (opts3.allowBuild?.length) {
allowBuilds = { ...allowBuilds };
for (const pkg of opts3.allowBuild) {
allowBuilds[pkg] = true;
}
}
const groups = params.map((param) => splitCommaSeparated(param, opts3.dir).map((token) => resolveLocalParam(token, opts3.dir))).filter((group) => group.length > 0);
for (const group of groups) {
await installGroup({ opts: opts3, globalDir, globalBinDir, allowBuilds, params: group }, commands2);
}
summaryLogger.debug({ prefix: globalDir });
}
async function installGroup(ctx, commands2) {
const { opts: opts3, globalDir, globalBinDir, allowBuilds, params } = ctx;
const installDir = createInstallDir(globalDir);
const include = {
dependencies: true,
devDependencies: false,
optionalDependencies: true
};
const installOpts = {
...opts3,
global: false,
bin: path135.join(installDir, "node_modules/.bin"),
dir: installDir,
lockfileDir: installDir,
rootProjectManifestDir: installDir,
rootProjectManifest: void 0,
saveProd: true,
saveDev: false,
saveOptional: false,
savePeer: false,
workspaceDir: void 0,
sharedWorkspaceLockfile: false,
lockfileOnly: false,
include,
includeDirect: include,
allowBuilds,
omitSummaryLog: true
};
const { ignoredBuilds, resolutionPolicyViolations } = await installGlobalPackages(installOpts, params);
await promptApproveGlobalBuilds({
globalPkgDir: globalDir,
installDir,
ignoredBuilds,
allowBuilds,
inheritedOpts: opts3
}, commands2);
const pkgJson2 = readPackageJsonFromDirRawSync(installDir);
const aliases = Object.keys(pkgJson2.dependencies ?? {});
const replacementAliases = getReplacementAliases(aliases);
const pkgs = await readInstalledPackages(installDir);
let binsToSkip;
try {
binsToSkip = await checkGlobalBinConflicts({
globalDir,
globalBinDir,
newPkgs: pkgs,
shouldSkip: (pkg) => shouldReplaceExistingGlobalInstall(pkg, aliases, replacementAliases)
});
} catch (err2) {
await fs78.promises.rm(installDir, { recursive: true, force: true });
throw err2;
}
await removeExistingGlobalInstalls({ globalDir, globalBinDir, aliases, replacementAliases });
const cacheHash = createGlobalCacheKey({
aliases,
registries: opts3.registries
});
const hashLink = getHashLink(globalDir, cacheHash);
await symlinkDir(installDir, hashLink, { overwrite: true });
await linkBinsOfPackages(pkgs, globalBinDir, { excludeBins: binsToSkip });
await opts3.updateResolutionPolicyManifest?.(resolutionPolicyViolations, globalDir);
}
function getReplacementAliases(aliases) {
if (!aliases.some((alias) => PNPM_CLI_PACKAGE_ALIASES.includes(alias)))
return aliases;
return [.../* @__PURE__ */ new Set([...aliases, ...PNPM_CLI_PACKAGE_ALIASES])];
}
function shouldReplaceExistingGlobalInstall(pkg, aliases, replacementAliases) {
if (aliases.some((alias) => alias in pkg.dependencies))
return true;
return isPnpmCliOnlyGroup(pkg) && replacementAliases.some((alias) => alias in pkg.dependencies);
}
function isPnpmCliOnlyGroup(pkg) {
const aliases = Object.keys(pkg.dependencies);
return aliases.length > 0 && aliases.every((alias) => PNPM_CLI_PACKAGE_ALIASES.includes(alias));
}
function splitCommaSeparated(param, baseDir) {
if (!param.includes(","))
return [param];
if (param.includes("://"))
return [param];
if (refersToExistingLocalPath(param, baseDir))
return [param];
return param.split(",").map((token) => token.trim()).filter(Boolean);
}
function refersToExistingLocalPath(param, baseDir) {
let pathPart;
if (param.startsWith("file:")) {
pathPart = param.slice("file:".length);
} else if (param.startsWith("link:")) {
pathPart = param.slice("link:".length);
} else if (param[0] === "." || param[0] === "/" || param[0] === "~") {
pathPart = param;
} else if (/^[a-z]:[/\\]/i.test(param)) {
pathPart = param;
} else {
return false;
}
const resolved = path135.isAbsolute(pathPart) ? pathPart : path135.resolve(baseDir, pathPart);
try {
fs78.statSync(resolved);
return true;
} catch {
return false;
}
}
function resolveLocalParam(param, baseDir) {
for (const prefix of ["file:", "link:"]) {
if (param.startsWith(prefix)) {
const rest = param.slice(prefix.length);
if (rest.startsWith(".")) {
return prefix + path135.resolve(baseDir, rest);
}
return param;
}
}
if (param.startsWith(".")) {
return path135.resolve(baseDir, param);
}
return param;
}
async function removeExistingGlobalInstalls(opts3) {
const { globalDir, globalBinDir, aliases, replacementAliases } = opts3;
const groupsToRemove = /* @__PURE__ */ new Map();
for (const alias of replacementAliases) {
const existing = findGlobalPackage(globalDir, alias);
if (existing && shouldReplaceExistingGlobalInstall(existing, aliases, replacementAliases) && !groupsToRemove.has(existing.hash)) {
groupsToRemove.set(existing.hash, getInstalledBinNames(existing));
}
}
const protectedBins = await getBinNamesOfOtherGroups(globalDir, new Set(groupsToRemove.keys()));
await Promise.all([...groupsToRemove.entries()].map(async ([hash2, binNamesPromise]) => {
const binNames = await binNamesPromise;
await Promise.all(binNames.filter((binName) => !protectedBins.has(binName)).map((binName) => removeBin(path135.join(globalBinDir, binName))));
const hashLink = getHashLink(globalDir, hash2);
let installDir = null;
try {
installDir = fs78.realpathSync(hashLink);
} catch {
}
await fs78.promises.rm(hashLink, { force: true });
if (installDir && isSubdir(globalDir, installDir)) {
await fs78.promises.rm(installDir, { recursive: true, force: true });
}
}));
}
var PNPM_CLI_PACKAGE_ALIASES;
var init_globalAdd = __esm({
"../global/commands/lib/globalAdd.js"() {
"use strict";
init_lib16();
init_lib104();
init_lib6();
init_lib103();
init_lib5();
init_is_subdir();
init_dist3();
init_binOwnership();
init_checkGlobalBinConflicts();
init_installGlobalPackages();
init_promptApproveGlobalBuilds();
init_readInstalledPackages();
PNPM_CLI_PACKAGE_ALIASES = ["pnpm", "@pnpm/exe"];
}
});
// ../global/commands/lib/globalRemove.js
import fs79 from "node:fs";
import path136 from "node:path";
async function handleGlobalRemove(opts3, params) {
const globalDir = opts3.globalPkgDir;
const globalBinDir = opts3.bin;
const groupsToRemove = /* @__PURE__ */ new Map();
for (const param of params) {
const pkg = findGlobalPackage(globalDir, param);
if (!pkg) {
throw new PnpmError("GLOBAL_PKG_NOT_FOUND", `Cannot remove '${param}': not found in global packages`);
}
groupsToRemove.set(pkg.hash, pkg);
}
const protectedBins = await getBinNamesOfOtherGroups(globalDir, new Set(groupsToRemove.keys()));
await Promise.all([...groupsToRemove.entries()].map(async ([hash2, pkg]) => {
const binNames = await getInstalledBinNames(pkg);
await Promise.all(binNames.filter((binName) => !protectedBins.has(binName)).map((binName) => removeBin(path136.join(globalBinDir, binName))));
await fs79.promises.rm(getHashLink(globalDir, hash2), { force: true });
if (isSubdir(globalDir, pkg.installDir)) {
await fs79.promises.rm(pkg.installDir, { recursive: true, force: true });
}
}));
}
var init_globalRemove = __esm({
"../global/commands/lib/globalRemove.js"() {
"use strict";
init_lib104();
init_lib2();
init_lib103();
init_is_subdir();
init_binOwnership();
}
});
// ../global/commands/lib/globalUpdate.js
import fs80 from "node:fs";
import path137 from "node:path";
async function handleGlobalUpdate(opts3, params, commands2) {
const globalDir = opts3.globalPkgDir;
const globalBinDir = opts3.bin;
cleanOrphanedInstallDirs(globalDir);
const allPackages = scanGlobalPackages(globalDir);
if (allPackages.length === 0) {
return "No global packages found";
}
let packagesToUpdate;
if (params.length > 0) {
packagesToUpdate = allPackages.filter((pkg) => params.some((p) => p in pkg.dependencies));
if (packagesToUpdate.length === 0) {
return "No matching global packages found";
}
} else {
packagesToUpdate = allPackages;
}
for (const pkg of packagesToUpdate) {
await updateGlobalPackageGroup(opts3, globalDir, globalBinDir, pkg, commands2);
}
summaryLogger.debug({ prefix: globalDir });
return void 0;
}
async function updateGlobalPackageGroup(opts3, globalDir, globalBinDir, pkg, commands2) {
const installDir = createInstallDir(globalDir);
const depSpecs = Object.entries(pkg.dependencies).map(([alias, spec]) => opts3.latest ? alias : `${alias}@${spec}`);
const include = {
dependencies: true,
devDependencies: false,
optionalDependencies: true
};
const allowBuilds = opts3.allowBuilds ?? {};
const { ignoredBuilds, resolutionPolicyViolations } = await installGlobalPackages({
...opts3,
global: false,
bin: path137.join(installDir, "node_modules/.bin"),
dir: installDir,
lockfileDir: installDir,
rootProjectManifestDir: installDir,
rootProjectManifest: void 0,
saveProd: true,
saveDev: false,
saveOptional: false,
savePeer: false,
workspaceDir: void 0,
sharedWorkspaceLockfile: false,
lockfileOnly: false,
include,
includeDirect: include,
allowBuilds,
omitSummaryLog: true
}, depSpecs);
await promptApproveGlobalBuilds({
globalPkgDir: globalDir,
installDir,
ignoredBuilds,
allowBuilds,
inheritedOpts: opts3
}, commands2);
const pkgs = await readInstalledPackages(installDir);
let binsToSkip;
try {
binsToSkip = await checkGlobalBinConflicts({
globalDir,
globalBinDir,
newPkgs: pkgs,
shouldSkip: (existingPkg) => existingPkg.hash === pkg.hash
});
} catch (err2) {
await fs80.promises.rm(installDir, { recursive: true, force: true });
throw err2;
}
const protectedBins = await getBinNamesOfOtherGroups(globalDir, /* @__PURE__ */ new Set([pkg.hash]));
const oldBinNames = await getInstalledBinNames(pkg);
await Promise.all(oldBinNames.filter((binName) => !protectedBins.has(binName)).map((binName) => removeBin(path137.join(globalBinDir, binName))));
const hashLink = getHashLink(globalDir, pkg.hash);
const oldInstallDir = pkg.installDir;
await symlinkDir(installDir, hashLink, { overwrite: true });
if (isSubdir(globalDir, oldInstallDir)) {
await fs80.promises.rm(oldInstallDir, { recursive: true, force: true });
}
await linkBinsOfPackages(pkgs, globalBinDir, { excludeBins: binsToSkip });
await opts3.updateResolutionPolicyManifest?.(resolutionPolicyViolations, globalDir);
}
var init_globalUpdate = __esm({
"../global/commands/lib/globalUpdate.js"() {
"use strict";
init_lib16();
init_lib104();
init_lib6();
init_lib103();
init_is_subdir();
init_dist3();
init_binOwnership();
init_checkGlobalBinConflicts();
init_installGlobalPackages();
init_promptApproveGlobalBuilds();
init_readInstalledPackages();
}
});
// ../lockfile/detect-dep-types/lib/index.js
function detectDepTypes(lockfile) {
const dev = {};
const devDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths2(deps.devDependencies ?? {})).flat();
const optionalDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths2(deps.optionalDependencies ?? {})).flat();
const prodDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths2(deps.dependencies ?? {})).flat();
const ctx = {
packages: lockfile.packages ?? {},
walked: /* @__PURE__ */ new Set(),
notProdOnly: /* @__PURE__ */ new Set(),
dev
};
detectDepTypesInSubGraph(ctx, devDepPaths, {
dev: true
});
detectDepTypesInSubGraph(ctx, optionalDepPaths, {
dev: false
});
detectDepTypesInSubGraph(ctx, prodDepPaths, {
dev: false
});
return dev;
}
function detectDepTypesInSubGraph(ctx, depPaths, opts3) {
for (const depPath of depPaths) {
const key = `${depPath}:${opts3.dev.toString()}`;
if (ctx.walked.has(key))
continue;
ctx.walked.add(key);
if (!ctx.packages[depPath]) {
continue;
}
if (opts3.dev) {
ctx.notProdOnly.add(depPath);
ctx.dev[depPath] = DepType.DevOnly;
} else if (ctx.dev[depPath] === DepType.DevOnly) {
ctx.dev[depPath] = DepType.DevAndProd;
} else if (ctx.dev[depPath] === void 0 && !ctx.notProdOnly.has(depPath)) {
ctx.dev[depPath] = DepType.ProdOnly;
}
const depLockfile = ctx.packages[depPath];
const newDependencies = resolvedDepsToDepPaths2(depLockfile.dependencies ?? {});
detectDepTypesInSubGraph(ctx, newDependencies, opts3);
const newOptionalDependencies = resolvedDepsToDepPaths2(depLockfile.optionalDependencies ?? {});
detectDepTypesInSubGraph(ctx, newOptionalDependencies, { dev: opts3.dev });
}
}
function resolvedDepsToDepPaths2(deps) {
return Object.entries(deps).map(([alias, ref]) => refToRelative(ref, alias)).filter((depPath) => depPath !== null);
}
var DepType;
var init_lib127 = __esm({
"../lockfile/detect-dep-types/lib/index.js"() {
"use strict";
init_lib68();
DepType = {
DevOnly: 0,
DevAndProd: 1,
ProdOnly: 2
};
}
});
// ../deps/inspection/tree-builder/lib/getTreeNodeChildId.js
import path138 from "node:path";
function getTreeNodeChildId(opts3) {
const depPath = refToRelative(opts3.dep.ref, opts3.dep.alias);
if (depPath !== null) {
return { type: "package", depPath };
}
switch (opts3.parentId.type) {
case "importer": {
const linkValue = opts3.dep.ref.slice("link:".length);
const absoluteLinkedPath = path138.join(opts3.lockfileDir, opts3.parentId.importerId, linkValue);
const childImporterId = getLockfileImporterId(opts3.lockfileDir, absoluteLinkedPath);
const isLinkOutsideWorkspace = opts3.importers[childImporterId] == null;
return isLinkOutsideWorkspace ? void 0 : { type: "importer", importerId: childImporterId };
}
case "package":
return void 0;
}
}
var init_getTreeNodeChildId = __esm({
"../deps/inspection/tree-builder/lib/getTreeNodeChildId.js"() {
"use strict";
init_lib68();
init_lib80();
}
});
// ../deps/inspection/tree-builder/lib/TreeNodeId.js
function serializeTreeNodeId(treeNodeId) {
switch (treeNodeId.type) {
case "importer": {
const { type: type4, importerId } = treeNodeId;
return JSON.stringify({ type: type4, importerId });
}
case "package": {
const { type: type4, depPath } = treeNodeId;
return JSON.stringify({ type: type4, depPath });
}
default:
throw new Error(`Unknown TreeNodeId type: ${treeNodeId.type}`);
}
}
var init_TreeNodeId = __esm({
"../deps/inspection/tree-builder/lib/TreeNodeId.js"() {
"use strict";
}
});
// ../deps/inspection/tree-builder/lib/buildDependencyGraph.js
function buildDependencyGraph(rootIds, opts3) {
const graph = { nodes: /* @__PURE__ */ new Map() };
const queue2 = [...rootIds];
let queueIdx = 0;
const visited = /* @__PURE__ */ new Set();
while (queueIdx < queue2.length) {
const nodeId = queue2[queueIdx++];
const serialized = serializeTreeNodeId(nodeId);
if (visited.has(serialized))
continue;
visited.add(serialized);
const snapshot = getSnapshot(nodeId, opts3);
if (!snapshot) {
graph.nodes.set(serialized, { nodeId, edges: [], peers: /* @__PURE__ */ new Set() });
continue;
}
const deps = nodeId.type === "importer" ? {
...opts3.include.dependencies !== false ? snapshot.dependencies : void 0,
...opts3.include.devDependencies !== false ? snapshot.devDependencies : void 0,
...opts3.include.optionalDependencies ? snapshot.optionalDependencies : void 0
} : !opts3.include.optionalDependencies ? snapshot.dependencies : {
...snapshot.dependencies,
...snapshot.optionalDependencies
};
const peers = new Set(Object.keys(nodeId.type === "package" ? opts3.currentPackages[nodeId.depPath]?.peerDependencies ?? {} : {}));
const edges = [];
if (deps != null) {
for (const alias in deps) {
const rawRef = deps[alias];
const ref = typeof rawRef === "string" ? rawRef : rawRef?.version;
if (ref == null)
continue;
const targetNodeId = getTreeNodeChildId({
parentId: nodeId,
dep: { alias, ref },
lockfileDir: opts3.lockfileDir,
importers: opts3.importers
});
if (opts3.onlyProjects && targetNodeId?.type !== "importer") {
continue;
}
const target2 = targetNodeId != null ? { id: serializeTreeNodeId(targetNodeId), nodeId: targetNodeId } : void 0;
edges.push({ alias, ref, target: target2 });
if (target2 && !visited.has(target2.id)) {
queue2.push(target2.nodeId);
}
}
}
graph.nodes.set(serialized, { nodeId, edges, peers });
}
return graph;
}
function getSnapshot(treeNodeId, opts3) {
switch (treeNodeId.type) {
case "importer":
return opts3.importers[treeNodeId.importerId];
case "package":
return opts3.currentPackages[treeNodeId.depPath];
}
}
var init_buildDependencyGraph = __esm({
"../deps/inspection/tree-builder/lib/buildDependencyGraph.js"() {
"use strict";
init_getTreeNodeChildId();
init_TreeNodeId();
}
});
// ../deps/inspection/tree-builder/lib/readManifestFromCafs.js
function readManifestFromCafs(storeDir, storeIndex, pkg) {
try {
const pkgId = `${pkg.name}@${pkg.version}`;
const indexPath = storeIndexKey(pkg.integrity, pkgId);
const pkgIndex = storeIndex.get(indexPath);
if (!pkgIndex)
return void 0;
const pkgJsonEntry = pkgIndex.files.get("package.json");
if (pkgJsonEntry) {
const filePath = getFilePathByModeInCafs(storeDir, pkgJsonEntry.digest, pkgJsonEntry.mode);
return loadJsonFileSync(filePath);
}
} catch {
}
return void 0;
}
var init_readManifestFromCafs = __esm({
"../deps/inspection/tree-builder/lib/readManifestFromCafs.js"() {
"use strict";
init_lib83();
init_lib30();
init_load_json_file();
}
});
// ../deps/inspection/tree-builder/lib/resolvePackagePath.js
import fs81 from "node:fs";
import path139 from "node:path";
function resolvePackagePath(opts3) {
let fullPackagePath = path139.join(opts3.virtualStoreDir, depPathToFilename(opts3.depPath, opts3.virtualStoreDirMaxLength), "node_modules", opts3.name);
const resolvedVirtualStoreDir = path139.resolve(opts3.virtualStoreDir);
const resolvedModulesDir = opts3.modulesDir ? path139.resolve(opts3.modulesDir) : void 0;
const isGlobalVirtualStore = resolvedModulesDir && !resolvedVirtualStoreDir.startsWith(resolvedModulesDir + path139.sep) && resolvedVirtualStoreDir !== resolvedModulesDir;
if (isGlobalVirtualStore) {
try {
let nodeModulesDir;
if (opts3.parentDir) {
nodeModulesDir = path139.dirname(opts3.parentDir);
if (path139.basename(nodeModulesDir).startsWith("@")) {
nodeModulesDir = path139.dirname(nodeModulesDir);
}
} else if (opts3.modulesDir) {
nodeModulesDir = opts3.modulesDir;
} else {
return fullPackagePath;
}
fullPackagePath = fs81.realpathSync(path139.join(nodeModulesDir, opts3.alias));
} catch {
}
}
return fullPackagePath;
}
var init_resolvePackagePath = __esm({
"../deps/inspection/tree-builder/lib/resolvePackagePath.js"() {
"use strict";
init_lib68();
}
});
// ../deps/inspection/tree-builder/lib/getPkgInfo.js
import path140 from "node:path";
function getPkgInfo(opts3) {
let name;
let version2;
let resolved;
let depType;
let optional;
let isSkipped = false;
let isMissing = false;
let integrity;
const depPath = refToRelative(opts3.ref, opts3.alias);
if (depPath) {
let pkgSnapshot;
if (opts3.currentPackages[depPath]) {
pkgSnapshot = opts3.currentPackages[depPath];
const parsed = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
name = parsed.name;
version2 = parsed.version;
} else {
pkgSnapshot = opts3.wantedPackages[depPath];
if (pkgSnapshot) {
const parsed = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
name = parsed.name;
version2 = parsed.version;
} else {
name = opts3.alias;
version2 = opts3.ref;
}
isMissing = true;
isSkipped = opts3.skipped.has(depPath);
}
if (pkgSnapshot) {
resolved = pkgSnapshotToResolution(depPath, pkgSnapshot, opts3.registries).tarball;
optional = pkgSnapshot.optional;
if ("integrity" in pkgSnapshot.resolution) {
integrity = pkgSnapshot.resolution.integrity;
}
}
depType = opts3.depTypes[depPath];
} else {
name = opts3.alias;
version2 = opts3.ref;
}
if (!version2) {
version2 = opts3.ref;
}
const fullPackagePath = depPath ? resolvePackagePath({
depPath,
name,
alias: opts3.alias,
virtualStoreDir: opts3.virtualStoreDir ?? ".pnpm",
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
modulesDir: opts3.modulesDir,
parentDir: opts3.parentDir
}) : path140.join(opts3.linkedPathBaseDir, opts3.ref.slice(5));
if (version2.startsWith("link:") && opts3.rewriteLinkVersionDir) {
version2 = `link:${(0, import_normalize_path10.default)(path140.relative(opts3.rewriteLinkVersionDir, fullPackagePath))}`;
}
const packageInfo = {
alias: opts3.alias,
isMissing,
isPeer: Boolean(opts3.peers?.has(opts3.alias)),
isSkipped,
name,
path: fullPackagePath,
version: version2
};
if (resolved) {
packageInfo.resolved = resolved;
}
if (optional === true) {
packageInfo.optional = true;
}
if (depType === DepType.DevOnly) {
packageInfo.dev = true;
} else if (depType === DepType.ProdOnly) {
packageInfo.dev = false;
}
return {
pkgInfo: packageInfo,
readManifest: () => {
if (integrity && opts3.storeDir && opts3.storeIndex) {
const manifest = readManifestFromCafs(opts3.storeDir, opts3.storeIndex, { integrity, name, version: version2 });
if (manifest)
return manifest;
}
return readPackageJsonFromDirSync(fullPackagePath);
}
};
}
var import_normalize_path10;
var init_getPkgInfo = __esm({
"../deps/inspection/tree-builder/lib/getPkgInfo.js"() {
"use strict";
init_lib68();
init_lib127();
init_lib73();
init_lib5();
import_normalize_path10 = __toESM(require_normalize_path(), 1);
init_readManifestFromCafs();
init_resolvePackagePath();
}
});
// ../deps/inspection/tree-builder/lib/peersSuffixHash.js
import crypto9 from "node:crypto";
function peersSuffixHashFromDepPath(depPath) {
const { peerDepGraphHash } = parseDepPath(depPath);
if (!peerDepGraphHash)
return void 0;
return crypto9.createHash("sha256").update(peerDepGraphHash).digest("hex").slice(0, 4);
}
var init_peersSuffixHash = __esm({
"../deps/inspection/tree-builder/lib/peersSuffixHash.js"() {
"use strict";
init_lib68();
}
});
// ../deps/inspection/tree-builder/lib/getTree.js
import path141 from "node:path";
function getTree(opts3, parentId) {
const ancestors = /* @__PURE__ */ new Set();
ancestors.add(serializeTreeNodeId(parentId));
const ctx = {
...opts3,
ancestors
};
const result2 = materializeChildren(ctx, parentId, opts3.maxDepth, opts3.parentDir);
const circularAncestors = /* @__PURE__ */ new Set();
if (opts3.parentDir) {
circularAncestors.add(opts3.parentDir);
}
return fixCircularRefs(result2.nodes, circularAncestors);
}
function materializeCacheKey(nodeId, depth) {
if (depth === Infinity)
return nodeId;
return `${nodeId}@d${depth}`;
}
function materializeChildren(ctx, parentId, maxDepth, parentDir) {
if (maxDepth <= 0)
return { nodes: [], count: 0, hasSearchMatch: false, searchMessages: [] };
const parentSerialized = serializeTreeNodeId(parentId);
const graphNode = ctx.graph.nodes.get(parentSerialized);
if (!graphNode) {
throw new Error(`Node ${parentSerialized} not found in the dependency graph`);
}
const childTreeMaxDepth = maxDepth - 1;
const linkedPathBaseDir = parentId.type === "importer" ? path141.join(ctx.lockfileDir, parentId.importerId) : ctx.lockfileDir;
const resultDependencies = [];
let resultCount = 0;
let resultHasSearchMatch = false;
const resultSearchMessages = ctx.showDedupedSearchMatches ? [] : void 0;
const sortedEdges = [...graphNode.edges].sort((a2, b) => (0, import_util15.lexCompare)(a2.alias, b.alias));
for (const edge of sortedEdges) {
if (ctx.onlyProjects && edge.target?.nodeId.type !== "importer") {
continue;
}
const { pkgInfo: packageInfo, readManifest } = getPkgInfo({
...ctx,
alias: edge.alias,
ref: edge.ref,
peers: graphNode.peers,
linkedPathBaseDir,
parentDir
});
const searchMatch = ctx.search?.({
alias: edge.alias,
name: packageInfo.name,
version: packageInfo.version,
readManifest
});
let newEntry = null;
let childCount = 0;
let dedupedHasSearchMatch = false;
let dedupedSearchMessages = [];
if (edge.target == null) {
if (ctx.search == null || searchMatch) {
newEntry = packageInfo;
} else {
continue;
}
} else {
let dependencies;
let childHasSearchMatch = false;
let childSearchMessages = [];
let dedupedCount;
const circular = ctx.ancestors.has(edge.target.id);
if (circular) {
dependencies = [];
} else {
const cacheKey = materializeCacheKey(edge.target.id, childTreeMaxDepth);
const cached = ctx.materializationCache.get(cacheKey);
if (cached !== void 0) {
dependencies = [];
if (cached.count > 0) {
dedupedCount = cached.count;
}
if (ctx.showDedupedSearchMatches) {
dedupedHasSearchMatch = cached.hasSearchMatch;
dedupedSearchMessages = cached.searchMessages;
}
} else {
ctx.ancestors.add(edge.target.id);
const childResult = materializeChildren(ctx, edge.target.nodeId, childTreeMaxDepth, packageInfo.path);
ctx.ancestors.delete(edge.target.id);
dependencies = childResult.nodes;
childCount = childResult.count;
childHasSearchMatch = childResult.hasSearchMatch;
childSearchMessages = childResult.searchMessages;
ctx.materializationCache.set(cacheKey, {
count: childCount,
hasSearchMatch: childHasSearchMatch,
searchMessages: childSearchMessages
});
}
if (childHasSearchMatch || dedupedHasSearchMatch) {
resultHasSearchMatch = true;
}
resultSearchMessages?.push(...childSearchMessages, ...dedupedSearchMessages);
}
if (dependencies.length > 0) {
newEntry = {
...packageInfo,
dependencies
};
} else if (ctx.search == null || searchMatch || dedupedHasSearchMatch) {
newEntry = packageInfo;
} else {
continue;
}
if (dedupedCount != null) {
newEntry.deduped = true;
newEntry.dedupedDependenciesCount = dedupedCount;
}
if (edge.target.nodeId.type === "package") {
const peerHash = peersSuffixHashFromDepPath(edge.target.nodeId.depPath);
if (peerHash != null) {
newEntry.peersSuffixHash = peerHash;
}
}
}
if (searchMatch) {
newEntry.searched = true;
resultHasSearchMatch = true;
if (typeof searchMatch === "string") {
newEntry.searchMessage = searchMatch;
resultSearchMessages?.push(searchMatch);
}
} else if (dedupedHasSearchMatch) {
newEntry.searched = true;
if (dedupedSearchMessages.length > 0) {
newEntry.searchMessage = dedupedSearchMessages.join("\n");
}
}
if (!newEntry.isPeer || !ctx.excludePeerDependencies || newEntry.dependencies?.length) {
resultDependencies.push(newEntry);
resultCount += 1 + (newEntry.dependencies?.length ? childCount : 0);
}
}
return {
count: resultCount,
hasSearchMatch: resultHasSearchMatch,
nodes: resultDependencies,
searchMessages: resultSearchMessages ?? []
};
}
function fixCircularRefs(nodes, ancestors) {
let changed = false;
const result2 = nodes.map((node) => {
if (node.path && ancestors.has(node.path)) {
changed = true;
const { dependencies: _, deduped: _d, dedupedDependenciesCount: _c, ...rest } = node;
return { ...rest, circular: true };
}
if (!node.dependencies?.length)
return node;
ancestors.add(node.path);
const fixedDeps = fixCircularRefs(node.dependencies, ancestors);
ancestors.delete(node.path);
if (fixedDeps !== node.dependencies) {
changed = true;
return { ...node, dependencies: fixedDeps };
}
return node;
});
return changed ? result2 : nodes;
}
var import_util15;
var init_getTree = __esm({
"../deps/inspection/tree-builder/lib/getTree.js"() {
"use strict";
import_util15 = __toESM(require_dist4(), 1);
init_getPkgInfo();
init_peersSuffixHash();
init_TreeNodeId();
}
});
// ../deps/inspection/tree-builder/lib/buildDependenciesTree.js
import path142 from "node:path";
async function buildDependenciesTree(projectPaths, maybeOpts) {
if (!maybeOpts?.lockfileDir) {
throw new TypeError("opts.lockfileDir is required");
}
const modulesDir = await realpathMissing(pathAbsolute(maybeOpts.modulesDir ?? "node_modules", maybeOpts.lockfileDir));
const modules = await readModulesManifest(modulesDir);
const registries = normalizeRegistries({
...maybeOpts?.registries,
...modules?.registries
});
const internalPnpmDir = path142.join(modulesDir, ".pnpm");
const currentLockfile = await readCurrentLockfile(internalPnpmDir, { ignoreIncompatible: false });
const wantedLockfile = await readWantedLockfile(maybeOpts.lockfileDir, { ignoreIncompatible: false });
if (projectPaths == null) {
projectPaths = Object.keys(wantedLockfile?.importers ?? {}).map((id) => path142.join(maybeOpts.lockfileDir, id));
}
const result2 = {};
const lockfileToUse = maybeOpts.checkWantedLockfileOnly ? wantedLockfile : currentLockfile ?? wantedLockfile;
if (!lockfileToUse) {
for (const projectPath of projectPaths) {
result2[projectPath] = {};
}
return result2;
}
const storeDir = modules?.storeDir;
const storeIndex = storeDir ? new StoreIndex(storeDir) : void 0;
const opts3 = {
depth: maybeOpts.depth || 0,
excludePeerDependencies: maybeOpts.excludePeerDependencies,
include: maybeOpts.include ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true
},
lockfileDir: maybeOpts.lockfileDir,
checkWantedLockfileOnly: maybeOpts.checkWantedLockfileOnly,
onlyProjects: maybeOpts.onlyProjects,
registries,
search: maybeOpts.search,
showDedupedSearchMatches: maybeOpts.showDedupedSearchMatches ?? maybeOpts.search != null,
skipped: new Set(modules?.skipped ?? []),
storeDir,
storeIndex,
modulesDir,
virtualStoreDir: modules?.virtualStoreDir,
virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength ?? maybeOpts.virtualStoreDirMaxLength
};
const allRootIds = [];
for (const projectPath of projectPaths) {
const importerId = getLockfileImporterId(opts3.lockfileDir, projectPath);
if (lockfileToUse.importers[importerId]) {
allRootIds.push({ type: "importer", importerId });
}
}
const sharedGraph = buildDependencyGraph(allRootIds, {
currentPackages: lockfileToUse.packages ?? {},
importers: lockfileToUse.importers,
include: opts3.include,
lockfileDir: opts3.lockfileDir,
onlyProjects: opts3.onlyProjects
});
const sharedMaterializationCache = /* @__PURE__ */ new Map();
const sharedDepTypes = detectDepTypes(lockfileToUse);
const ctx = {
currentLockfile: lockfileToUse,
wantedLockfile,
...opts3,
graph: sharedGraph,
materializationCache: sharedMaterializationCache,
depTypes: sharedDepTypes
};
const getHierarchy = dependenciesHierarchyForPackage.bind(null, ctx);
const pairs2 = await Promise.all(projectPaths.map(async (projectPath) => {
return [
projectPath,
await getHierarchy(projectPath)
];
}));
for (const [projectPath, dependenciesHierarchy] of pairs2) {
result2[projectPath] = dependenciesHierarchy;
}
storeIndex?.close();
return result2;
}
async function dependenciesHierarchyForPackage(opts3, projectPath) {
const { currentLockfile, wantedLockfile } = opts3;
const importerId = getLockfileImporterId(opts3.lockfileDir, projectPath);
if (!currentLockfile.importers[importerId])
return {};
const modulesDir = opts3.modulesDir && path142.isAbsolute(opts3.modulesDir) ? opts3.modulesDir : path142.join(projectPath, opts3.modulesDir ?? "node_modules");
const currentPackages = currentLockfile.packages ?? {};
const wantedPackages = wantedLockfile?.packages ?? {};
const result2 = {};
const fieldMap = /* @__PURE__ */ new Map();
for (const field of DEPENDENCIES_FIELDS.sort().filter((f) => opts3.include[f])) {
result2[field] = [];
const fieldDeps = currentLockfile.importers[importerId][field] ?? {};
for (const alias in fieldDeps) {
fieldMap.set(alias, field);
}
}
const parentId = { type: "importer", importerId };
const nodes = getTree({
...opts3,
currentPackages,
importers: currentLockfile.importers,
rewriteLinkVersionDir: projectPath,
maxDepth: opts3.depth + 1,
wantedPackages,
modulesDir
}, parentId);
for (const node of nodes) {
const field = fieldMap.get(node.alias);
if (field != null) {
result2[field].push(node);
}
}
if (!opts3.search) {
const savedDeps = getAllDirectDependencies(currentLockfile.importers[importerId]);
const unsavedDeps = (await readModulesDir(modulesDir) ?? []).filter((directDep) => !savedDeps[directDep]);
if (unsavedDeps.length > 0)
await Promise.all(unsavedDeps.map((unsavedDep) => limitUnsavedReads(async () => {
let pkgPath = path142.join(modulesDir, unsavedDep);
let version2;
try {
pkgPath = await resolveLinkTarget(pkgPath);
version2 = `link:${(0, import_normalize_path11.default)(path142.relative(projectPath, pkgPath))}`;
} catch {
const pkg2 = await safeReadPackageJsonFromDir(pkgPath);
version2 = pkg2?.version ?? "undefined";
}
const pkg = {
alias: unsavedDep,
isMissing: false,
isPeer: false,
isSkipped: false,
name: unsavedDep,
path: pkgPath,
version: version2
};
result2.unsavedDependencies = result2.unsavedDependencies ?? [];
result2.unsavedDependencies.push(pkg);
})));
}
return result2;
}
function getAllDirectDependencies(projectSnapshot) {
return {
...projectSnapshot.dependencies,
...projectSnapshot.devDependencies,
...projectSnapshot.optionalDependencies
};
}
var import_normalize_path11, limitUnsavedReads;
var init_buildDependenciesTree = __esm({
"../deps/inspection/tree-builder/lib/buildDependenciesTree.js"() {
"use strict";
init_lib76();
init_lib8();
init_lib77();
init_lib127();
init_lib80();
init_lib5();
init_lib30();
init_lib9();
import_normalize_path11 = __toESM(require_normalize_path(), 1);
init_p_limit();
init_path_absolute();
init_realpath_missing();
init_resolve_link_target();
init_buildDependencyGraph();
init_getTree();
limitUnsavedReads = pLimit(4);
}
});
// ../deps/inspection/tree-builder/lib/createPackagesSearcher.js
function createPackagesSearcher(queries, finders) {
const searchers = queries.map(parseSearchQuery).map((packageSelector) => search.bind(null, packageSelector));
return (pkg) => {
if (searchers.length > 0 && searchers.some((search2) => search2(pkg))) {
return true;
}
if (finders == null)
return false;
const messages = [];
let found = false;
for (const finder of finders) {
const result2 = finder(pkg);
if (result2) {
found = true;
if (typeof result2 === "string") {
messages.push(result2);
}
}
}
if (messages.length)
return messages.join("\n");
return found;
};
}
function search(packageSelector, { alias, name, version: version2 }) {
const nameMatches = packageSelector.matchName(name) || packageSelector.matchName(alias);
if (!nameMatches) {
return false;
}
if (packageSelector.matchVersion == null) {
return true;
}
return !version2.startsWith("link:") && packageSelector.matchVersion(version2);
}
function parseSearchQuery(query) {
const parsed = (0, import_npm_package_arg4.default)(query);
if (parsed.raw === parsed.name) {
return { matchName: createMatcher(parsed.name) };
}
if (parsed.type !== "version" && parsed.type !== "range") {
throw new Error(`Invalid query - ${query}. List can search only by version or range`);
}
return {
matchName: createMatcher(parsed.name),
matchVersion: (version2) => import_semver40.default.satisfies(version2, parsed.fetchSpec)
};
}
var import_npm_package_arg4, import_semver40;
var init_createPackagesSearcher = __esm({
"../deps/inspection/tree-builder/lib/createPackagesSearcher.js"() {
"use strict";
init_lib27();
import_npm_package_arg4 = __toESM(require_npa(), 1);
import_semver40 = __toESM(require_semver2(), 1);
}
});
// ../deps/inspection/tree-builder/lib/buildDependentsTree.js
import path143 from "node:path";
async function buildDependentsTree(packages, projectPaths, opts3) {
const modulesDir = await realpathMissing(path143.join(opts3.lockfileDir, opts3.modulesDir ?? "node_modules"));
const modules = await readModulesManifest(modulesDir);
const registries = normalizeRegistries({
...opts3.registries,
...modules?.registries
});
const storeDir = modules?.storeDir;
const storeIndex = storeDir ? new StoreIndex(storeDir) : void 0;
const virtualStoreDir = modules?.virtualStoreDir ?? path143.join(modulesDir, ".pnpm");
const virtualStoreDirMaxLength = modules?.virtualStoreDirMaxLength ?? 120;
const include = opts3.include ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true
};
const allRootIds = [];
for (const projectPath of projectPaths) {
const importerId = getLockfileImporterId(opts3.lockfileDir, projectPath);
if (opts3.lockfile.importers[importerId]) {
allRootIds.push({ type: "importer", importerId });
}
}
const graph = buildDependencyGraph(allRootIds, {
currentPackages: opts3.lockfile.packages ?? {},
importers: opts3.lockfile.importers,
include,
lockfileDir: opts3.lockfileDir
});
const reverseMap = invertGraph(graph);
const search2 = createPackagesSearcher(packages, opts3.finders);
const currentPackages = opts3.lockfile.packages ?? {};
const resolvedPackageNodes = resolvePackageNodes(graph, currentPackages, {
virtualStoreDir,
virtualStoreDirMaxLength,
modulesDir,
registries,
wantedPackages: currentPackages,
storeDir,
storeIndex
});
const trees = [];
const ctx = {
reverseMap,
graph,
importers: opts3.lockfile.importers,
currentPackages,
importerInfoMap: opts3.importerInfoMap,
resolvedPackageNodes,
nameFormatter: opts3.nameFormatter,
visited: /* @__PURE__ */ new Set(),
expanded: /* @__PURE__ */ new Set()
};
for (const [serialized, node] of graph.nodes) {
if (node.nodeId.type !== "package")
continue;
const depPath = node.nodeId.depPath;
const snapshot = currentPackages[depPath];
if (snapshot == null)
continue;
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, snapshot);
const pkgNode = resolvedPackageNodes.get(serialized);
if (!pkgNode)
continue;
const readManifest = pkgNode.readManifest;
let matched = search2({ alias: name, name, version: version2, readManifest });
if (!matched) {
const incomingEdges = reverseMap.get(serialized);
if (incomingEdges) {
for (const edge of incomingEdges) {
if (edge.alias !== name) {
matched = search2({ alias: edge.alias, name, version: version2, readManifest });
if (matched)
break;
}
}
}
}
if (!matched)
continue;
ctx.visited = /* @__PURE__ */ new Set([serialized]);
ctx.expanded = /* @__PURE__ */ new Set();
const dependents = walkReverse(serialized, ctx);
const peersSuffixHash = peersSuffixHashFromDepPath(depPath);
const displayName = opts3.nameFormatter ? opts3.nameFormatter({ name, version: version2, manifest: readManifest() }) : void 0;
const tree = {
name,
displayName,
version: version2,
path: pkgNode.path,
peersSuffixHash,
dependents
};
if (typeof matched === "string") {
tree.searchMessage = matched;
}
trees.push(tree);
}
trees.sort((a2, b) => {
const nameCmp = (0, import_util16.lexCompare)(a2.name, b.name);
if (nameCmp !== 0)
return nameCmp;
const versionCmp = import_semver41.default.valid(a2.version) && import_semver41.default.valid(b.version) ? import_semver41.default.compare(a2.version, b.version) : (0, import_util16.lexCompare)(a2.version, b.version);
if (versionCmp !== 0)
return versionCmp;
return (0, import_util16.lexCompare)(a2.peersSuffixHash ?? "", b.peersSuffixHash ?? "");
});
storeIndex?.close();
return trees;
}
function invertGraph(graph) {
const reverse3 = /* @__PURE__ */ new Map();
for (const [parentSerialized, node] of graph.nodes) {
for (const edge of node.edges) {
if (edge.target == null)
continue;
const childSerialized = edge.target.id;
let entries = reverse3.get(childSerialized);
if (entries == null) {
entries = [];
reverse3.set(childSerialized, entries);
}
entries.push({
parentSerialized,
parentNodeId: node.nodeId,
alias: edge.alias
});
}
}
return reverse3;
}
function resolvePackageNodes(graph, currentPackages, opts3) {
const resolved = /* @__PURE__ */ new Map();
function walk(serialized, parentDir) {
const node = graph.nodes.get(serialized);
if (!node)
return;
for (const edge of node.edges) {
if (edge.target == null)
continue;
const childSerialized = edge.target.id;
if (resolved.has(childSerialized))
continue;
if (edge.target.nodeId.type !== "package")
continue;
const { pkgInfo, readManifest } = getPkgInfo({
...opts3,
alias: edge.alias,
currentPackages,
depTypes: {},
linkedPathBaseDir: opts3.modulesDir,
// This might need adjustment for linked deps?
parentDir,
ref: edge.target.nodeId.depPath,
skipped: /* @__PURE__ */ new Set()
});
resolved.set(childSerialized, { path: pkgInfo.path, readManifest });
walk(childSerialized, pkgInfo.path);
}
}
for (const [serialized, node] of graph.nodes) {
if (node.nodeId.type === "importer") {
walk(serialized, void 0);
}
}
return resolved;
}
function walkReverse(nodeId, ctx) {
const reverseEdges = ctx.reverseMap.get(nodeId);
if (reverseEdges == null || reverseEdges.length === 0)
return [];
const sortedEdges = [...reverseEdges].sort((a2, b) => {
const cmp = (0, import_util16.lexCompare)(resolveParentName(a2, ctx), resolveParentName(b, ctx));
if (cmp !== 0)
return cmp;
return (0, import_util16.lexCompare)(a2.parentSerialized, b.parentSerialized);
});
const dependents = [];
for (const edge of sortedEdges) {
if (ctx.visited.has(edge.parentSerialized)) {
const parentNode = ctx.graph.nodes.get(edge.parentSerialized);
if (parentNode?.nodeId.type === "importer") {
const info = ctx.importerInfoMap.get(parentNode.nodeId.importerId);
if (info) {
dependents.push({
name: info.name,
version: info.version,
circular: true
});
}
} else if (parentNode?.nodeId.type === "package") {
const snapshot = ctx.currentPackages[parentNode.nodeId.depPath];
if (snapshot) {
const { name, version: version2 } = nameVerFromPkgSnapshot(parentNode.nodeId.depPath, snapshot);
const displayName = resolveDisplayName(edge.parentSerialized, name, version2, ctx);
dependents.push({ name, displayName, version: version2, circular: true });
}
}
continue;
}
const parentGraphNode = ctx.graph.nodes.get(edge.parentSerialized);
if (parentGraphNode == null)
continue;
if (parentGraphNode.nodeId.type === "importer") {
const importerId = parentGraphNode.nodeId.importerId;
const info = ctx.importerInfoMap.get(importerId) ?? { name: importerId, version: "" };
const depField = getDepFieldForAlias(edge.alias, ctx.importers[importerId]);
dependents.push({
name: info.name,
version: info.version,
depField
});
} else if (parentGraphNode.nodeId.type === "package") {
const snapshot = ctx.currentPackages[parentGraphNode.nodeId.depPath];
if (snapshot == null)
continue;
const { name, version: version2 } = nameVerFromPkgSnapshot(parentGraphNode.nodeId.depPath, snapshot);
const peersSuffixHash = peersSuffixHashFromDepPath(parentGraphNode.nodeId.depPath);
const displayName = resolveDisplayName(edge.parentSerialized, name, version2, ctx);
if (ctx.expanded.has(edge.parentSerialized)) {
dependents.push({ name, displayName, version: version2, peersSuffixHash, deduped: true });
continue;
}
ctx.visited.add(edge.parentSerialized);
ctx.expanded.add(edge.parentSerialized);
const childDependents = walkReverse(edge.parentSerialized, ctx);
ctx.visited.delete(edge.parentSerialized);
dependents.push({
name,
displayName,
version: version2,
peersSuffixHash,
dependents: childDependents.length > 0 ? childDependents : void 0
});
}
}
return dependents;
}
function resolveParentName(edge, ctx) {
const graphNode = ctx.graph.nodes.get(edge.parentSerialized);
if (graphNode == null)
return "";
if (graphNode.nodeId.type === "importer") {
const info = ctx.importerInfoMap.get(graphNode.nodeId.importerId);
return info?.name ?? graphNode.nodeId.importerId;
}
const snapshot = ctx.currentPackages[graphNode.nodeId.depPath];
if (snapshot == null)
return "";
return nameVerFromPkgSnapshot(graphNode.nodeId.depPath, snapshot).name;
}
function resolveDisplayName(serialized, name, version2, ctx) {
if (!ctx.nameFormatter)
return void 0;
const pkgNode = ctx.resolvedPackageNodes.get(serialized);
if (!pkgNode)
return void 0;
return ctx.nameFormatter({ name, version: version2, manifest: pkgNode.readManifest() });
}
function getDepFieldForAlias(alias, importerSnapshot) {
if (importerSnapshot.devDependencies?.[alias] != null)
return "devDependencies";
if (importerSnapshot.optionalDependencies?.[alias] != null)
return "optionalDependencies";
if (importerSnapshot.dependencies?.[alias] != null)
return "dependencies";
return void 0;
}
var import_util16, import_semver41;
var init_buildDependentsTree = __esm({
"../deps/inspection/tree-builder/lib/buildDependentsTree.js"() {
"use strict";
init_lib76();
init_lib77();
init_lib80();
init_lib73();
init_lib30();
import_util16 = __toESM(require_dist4(), 1);
init_realpath_missing();
import_semver41 = __toESM(require_semver2(), 1);
init_buildDependencyGraph();
init_createPackagesSearcher();
init_getPkgInfo();
init_peersSuffixHash();
}
});
// ../deps/inspection/tree-builder/lib/DependencyNode.js
var init_DependencyNode = __esm({
"../deps/inspection/tree-builder/lib/DependencyNode.js"() {
"use strict";
}
});
// ../deps/inspection/tree-builder/lib/index.js
var init_lib128 = __esm({
"../deps/inspection/tree-builder/lib/index.js"() {
"use strict";
init_buildDependenciesTree();
init_buildDependentsTree();
init_createPackagesSearcher();
init_DependencyNode();
}
});
// ../text/tree-renderer/lib/index.js
function renderTree(node, opts3) {
return render(opts3 ?? {}, { node, connector: "", prefix: "" });
}
function render(opts3, ctx) {
const { connector, prefix } = ctx;
let { node } = ctx;
if (typeof node === "string")
node = { label: node };
const fmt = opts3.treeChars ?? identity4;
const chr = opts3.unicode === false ? asciiChar : unicodeChar;
const nodes = node.nodes ?? [];
const lines = (node.label || "").split("\n");
let result2 = (connector ? fmt(connector) : "") + lines[0] + "\n";
const items = [];
for (const child of nodes) {
if (isGroup(child)) {
for (const gn of child.nodes) {
items.push({ node: typeof gn === "string" ? { label: gn } : gn, group: child.group });
}
} else {
items.push({ node: typeof child === "string" ? { label: child } : child });
}
}
const continuationChars = items.length ? chr("\u2502") + " " : " ";
for (let l = 1; l < lines.length; l++) {
result2 += fmt(prefix + continuationChars) + lines[l] + "\n";
}
let currentGroup;
for (let i4 = 0; i4 < items.length; i4++) {
const item = items[i4];
const last = i4 === items.length - 1;
if (item.group !== currentGroup) {
currentGroup = item.group;
if (currentGroup != null) {
result2 += fmt(prefix + chr("\u2502")) + "\n";
result2 += fmt(prefix + chr("\u2502") + " ") + currentGroup + "\n";
}
}
const more = hasRenderableChildren(item.node.nodes);
const childConnector = prefix + (last ? chr("\u2514") : chr("\u251C")) + chr("\u2500") + (more ? chr("\u252C") : chr("\u2500")) + " ";
const childPrefix = prefix + (last ? " " : chr("\u2502") + " ");
result2 += render(opts3, {
node: item.node,
connector: childConnector,
prefix: childPrefix
});
}
return result2;
}
function hasRenderableChildren(nodes) {
if (nodes == null)
return false;
for (const child of nodes) {
if (isGroup(child)) {
if (child.nodes.length > 0)
return true;
} else {
return true;
}
}
return false;
}
function isGroup(node) {
return typeof node !== "string" && "group" in node;
}
function identity4(s) {
return s;
}
function unicodeChar(s) {
return s;
}
function asciiChar(s) {
const chars = {
"\u2502": "|",
"\u2514": "`",
"\u251C": "+",
"\u2500": "-",
"\u252C": "-"
};
return chars[s] ?? s;
}
var init_lib129 = __esm({
"../text/tree-renderer/lib/index.js"() {
"use strict";
}
});
// ../deps/inspection/list/lib/readPkg.js
async function readPkg(pkgPath) {
return limitPkgReads(async () => readPackageJson(pkgPath));
}
var limitPkgReads;
var init_readPkg = __esm({
"../deps/inspection/list/lib/readPkg.js"() {
"use strict";
init_lib5();
init_p_limit();
limitPkgReads = pLimit(4);
}
});
// ../deps/inspection/list/lib/getPkgInfo.js
import path144 from "node:path";
async function getPkgInfo2(pkg) {
let manifest;
try {
manifest = await readPkg(path144.join(pkg.path, "package.json"));
} catch {
manifest = {
description: "[Could not find additional info about this dependency]"
};
}
return {
alias: pkg.alias,
from: pkg.name,
version: pkg.version,
resolved: pkg.resolved,
description: manifest.description,
license: manifest.license,
author: manifest.author,
homepage: manifest.homepage,
repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0,
path: pkg.path
};
}
var init_getPkgInfo2 = __esm({
"../deps/inspection/list/lib/getPkgInfo.js"() {
"use strict";
init_readPkg();
}
});
// ../deps/inspection/list/lib/peerVariants.js
function nameAtVersion(name, version2, colorName) {
if (!version2)
return colorName ? colorName(name) : name;
const styledName = colorName ? colorName(name) : name;
return `${styledName}${source_default.gray(`@${version2}`)}`;
}
function peerHashSuffix(pkg, multiPeerPkgs) {
if (!pkg.peersSuffixHash)
return "";
const key = `${pkg.name}@${pkg.version}`;
const variantCount = multiPeerPkgs.get(key);
if (variantCount == null)
return "";
return source_default.red(` peer#${pkg.peersSuffixHash} (${variantCount} variation${variantCount === 1 ? "" : "s"})`);
}
function collectHashes(hashesPerPkg, pkg) {
if (!pkg.peersSuffixHash)
return;
const key = `${pkg.name}@${pkg.version}`;
let hashes = hashesPerPkg.get(key);
if (hashes == null) {
hashes = /* @__PURE__ */ new Set();
hashesPerPkg.set(key, hashes);
}
hashes.add(pkg.peersSuffixHash);
}
function filterMultiPeerEntries(hashesPerPkg) {
const result2 = /* @__PURE__ */ new Map();
for (const [key, hashes] of hashesPerPkg) {
if (hashes.size > 1) {
result2.set(key, hashes.size);
}
}
return result2;
}
var DEDUPED_LABEL;
var init_peerVariants = __esm({
"../deps/inspection/list/lib/peerVariants.js"() {
"use strict";
init_source();
DEDUPED_LABEL = source_default.dim(" [deduped]");
}
});
// ../deps/inspection/list/lib/renderDependentsTree.js
async function renderDependentsTree(trees, opts3) {
if (trees.length === 0)
return "";
const multiPeerPkgs = findMultiPeerPackages(trees);
const output = (await Promise.all(trees.map(async (result2) => {
const rootLabelParts = [source_default.bold(nameAtVersion(result2.displayName ?? result2.name, result2.version)) + peerHashSuffix(result2, multiPeerPkgs)];
if (result2.searchMessage) {
rootLabelParts.push(result2.searchMessage);
}
if (opts3.long && result2.path) {
const pkg = await getPkgInfo2({ name: result2.name, version: result2.version, path: result2.path, alias: void 0 });
if (pkg.description) {
rootLabelParts.push(pkg.description);
}
if (pkg.repository) {
rootLabelParts.push(pkg.repository);
}
if (pkg.homepage) {
rootLabelParts.push(pkg.homepage);
}
rootLabelParts.push(pkg.path);
}
const rootLabel = rootLabelParts.join("\n");
if (result2.dependents.length === 0) {
return rootLabel;
}
const childNodes = dependentsToTreeNodes(result2.dependents, multiPeerPkgs, 0, opts3.depth);
const tree = { label: rootLabel, nodes: childNodes };
return trimTrailingNewlines(renderTree(tree, { treeChars: source_default.dim }));
}))).join("\n\n");
const summary = whySummary(trees);
return summary ? `${output}
${summary}` : output;
}
function whySummary(trees) {
if (trees.length === 0)
return "";
const byName = /* @__PURE__ */ new Map();
for (const tree of trees) {
const displayedName = tree.displayName ?? tree.name;
let entry = byName.get(displayedName);
if (entry == null) {
entry = { versions: /* @__PURE__ */ new Set(), count: 0 };
byName.set(displayedName, entry);
}
entry.versions.add(tree.version);
entry.count++;
}
const lines = [];
for (const [name, info] of byName) {
const parts = [`${info.versions.size} version${info.versions.size === 1 ? "" : "s"}`];
if (info.count > info.versions.size) {
parts.push(`${info.count} instances`);
}
lines.push(`Found ${parts.join(", ")} of ${name}`);
}
return source_default.dim(lines.join("\n"));
}
function findMultiPeerPackages(trees) {
const hashesPerPkg = /* @__PURE__ */ new Map();
function walkDependents(dependents) {
for (const dep of dependents) {
collectHashes(hashesPerPkg, dep);
if (dep.dependents) {
walkDependents(dep.dependents);
}
}
}
for (const tree of trees) {
collectHashes(hashesPerPkg, tree);
walkDependents(tree.dependents);
}
return filterMultiPeerEntries(hashesPerPkg);
}
function dependentsToTreeNodes(dependents, multiPeerPkgs, currentDepth, maxDepth) {
return dependents.map((dep) => {
let label;
const displayedName = dep.displayName ?? dep.name;
if (dep.depField != null) {
label = source_default.bold(nameAtVersion(displayedName, dep.version)) + ` ${source_default.dim(`(${dep.depField})`)}`;
} else {
label = nameAtVersion(displayedName, dep.version);
label += peerHashSuffix(dep, multiPeerPkgs);
}
if (dep.circular) {
label += source_default.dim(" [circular]");
}
if (dep.deduped) {
label += DEDUPED_LABEL;
}
const atDepthLimit = maxDepth != null && currentDepth + 1 >= maxDepth;
const nodes = dep.dependents && !atDepthLimit ? dependentsToTreeNodes(dep.dependents, multiPeerPkgs, currentDepth + 1, maxDepth) : [];
return { label, nodes };
});
}
async function renderDependentsJson(trees, opts3) {
let data = trees;
if (opts3.long) {
data = await Promise.all(trees.map(async (result2) => {
if (!result2.path)
return result2;
const pkg = await getPkgInfo2({ name: result2.name, version: result2.version, path: result2.path, alias: void 0 });
return {
...result2,
description: pkg.description,
repository: pkg.repository,
homepage: pkg.homepage
};
}));
}
if (opts3.depth != null) {
data = data.map((tree) => ({
...tree,
dependents: truncateDependents(tree.dependents, 0, opts3.depth)
}));
}
return JSON.stringify(data, null, 2);
}
function renderDependentsParseable(trees, opts3) {
const lines = [];
for (const result2 of trees) {
const displayedName = result2.displayName ?? result2.name;
const rootSegment = opts3.long && result2.path ? `${result2.path}:${plainNameAtVersion(displayedName, result2.version)}` : plainNameAtVersion(displayedName, result2.version);
collectPaths(result2.dependents, [rootSegment], lines, 0, opts3.depth);
}
return lines.join("\n");
}
function collectPaths(dependents, currentPath, lines, currentDepth, maxDepth) {
for (const dep of dependents) {
const newPath = [...currentPath, plainNameAtVersion(dep.displayName ?? dep.name, dep.version)];
const atDepthLimit = maxDepth != null && currentDepth + 1 >= maxDepth;
if (dep.dependents && dep.dependents.length > 0 && !atDepthLimit) {
collectPaths(dep.dependents, newPath, lines, currentDepth + 1, maxDepth);
} else {
lines.push([...newPath].reverse().join(" > "));
}
}
}
function truncateDependents(dependents, currentDepth, maxDepth) {
return dependents.map((dep) => {
if (dep.dependents && currentDepth + 1 < maxDepth) {
return { ...dep, dependents: truncateDependents(dep.dependents, currentDepth + 1, maxDepth) };
}
const { dependents: _, ...rest } = dep;
return rest;
});
}
function plainNameAtVersion(name, version2) {
return version2 ? `${name}@${version2}` : name;
}
function trimTrailingNewlines(s) {
let end = s.length;
while (end > 0 && s.charCodeAt(end - 1) === 10)
end--;
return end === s.length ? s : s.slice(0, end);
}
var init_renderDependentsTree = __esm({
"../deps/inspection/list/lib/renderDependentsTree.js"() {
"use strict";
init_lib129();
init_source();
init_getPkgInfo2();
init_peerVariants();
}
});
// ../deps/inspection/list/lib/renderJson.js
async function renderJson(pkgs, opts3) {
const jsonArr = await Promise.all(pkgs.map(async (pkg) => {
const jsonObj = {
name: pkg.name,
version: pkg.version,
path: pkg.path,
private: !!pkg.private
};
Object.assign(jsonObj, Object.fromEntries(await Promise.all([...DEPENDENCIES_FIELDS.sort(), "unsavedDependencies"].filter((dependenciesField) => pkg[dependenciesField]?.length).map(async (dependenciesField) => [
dependenciesField,
await toJsonResult(pkg[dependenciesField], { long: opts3.long })
]))));
return jsonObj;
}));
return JSON.stringify(jsonArr, null, 2);
}
async function toJsonResult(entryNodes, opts3) {
const dependencies = {};
await Promise.all(sortPackages(entryNodes).map(async (node) => {
const subDependencies = await toJsonResult(node.dependencies ?? [], opts3);
const dep = opts3.long ? await getPkgInfo2(node) : {
alias: node.alias,
from: node.name,
version: node.version,
resolved: node.resolved,
path: node.path
};
if (Object.keys(subDependencies).length > 0) {
dep.dependencies = subDependencies;
}
if (node.deduped) {
dep.deduped = true;
if (node.dedupedDependenciesCount) {
dep.dedupedDependenciesCount = node.dedupedDependenciesCount;
}
}
if (!dep.resolved) {
delete dep.resolved;
}
delete dep.alias;
dependencies[node.alias] = dep;
}));
return dependencies;
}
var sortPackages;
var init_renderJson = __esm({
"../deps/inspection/list/lib/renderJson.js"() {
"use strict";
init_lib9();
init_es();
init_getPkgInfo2();
sortPackages = sortBy_default(path_default(["pkg", "alias"]));
}
});
// ../deps/inspection/list/lib/renderParseable.js
async function renderParseable(pkgs, opts3) {
const depPaths = /* @__PURE__ */ new Set();
return pkgs.map(renderParseableForPackage.bind(null, depPaths, opts3)).filter((p) => p.length !== 0).join("\n");
}
function renderParseableForPackage(depPaths, opts3, pkg) {
const rootAlreadySeen = depPaths.has(pkg.path);
depPaths.add(pkg.path);
const allDeps = [
...pkg.optionalDependencies ?? [],
...pkg.dependencies ?? [],
...pkg.devDependencies ?? [],
...pkg.unsavedDependencies ?? []
];
const pkgs = sortPackages2(flatten(depPaths, allDeps));
if (rootAlreadySeen && pkgs.length === 0)
return "";
if (!opts3.alwaysPrintRootPackage && pkgs.length === 0 && allDeps.length === 0)
return "";
if (opts3.long) {
let firstLine = pkg.path;
if (pkg.name) {
firstLine += `:${pkg.name}`;
if (pkg.version) {
firstLine += `@${pkg.version}`;
}
if (pkg.private) {
firstLine += ":PRIVATE";
}
}
return [
...rootAlreadySeen ? [] : [firstLine],
...pkgs.map((pkgNode) => {
const node = pkgNode;
if (node.alias !== node.name) {
if (!node.version.includes("@")) {
return `${node.path}:${node.alias} npm:${node.name}@${node.version}`;
}
return `${node.path}:${node.alias} ${node.version}`;
}
if (node.version.includes("@")) {
return `${node.path}:${node.version}`;
}
return `${node.path}:${node.name}@${node.version}`;
})
].join("\n");
}
return [
...rootAlreadySeen ? [] : [pkg.path],
...pkgs.map((pkg2) => pkg2.path)
].join("\n");
}
function flatten(depPaths, nodes) {
let packages = [];
for (const node of nodes) {
if (!depPaths.has(node.path)) {
depPaths.add(node.path);
packages.push(node);
}
if (node.dependencies?.length) {
packages = packages.concat(flatten(depPaths, node.dependencies));
}
}
return packages;
}
var sortPackages2;
var init_renderParseable = __esm({
"../deps/inspection/list/lib/renderParseable.js"() {
"use strict";
init_es();
sortPackages2 = sortBy_default(prop_default("name"));
}
});
// ../deps/inspection/list/lib/renderTree.js
import path145 from "node:path";
async function renderTree2(packages, opts3) {
const multiPeerPkgs = findMultiPeerPackages2(packages);
const output = (await Promise.all(packages.map(async (pkg) => renderTreeForPackage(pkg, opts3, multiPeerPkgs)))).filter(Boolean).join("\n\n");
const legend = opts3.depth > -1 && output ? LEGEND : "";
const summary = opts3.showSummary && opts3.depth > -1 && output ? `
${listSummary(packages)}` : "";
return `${legend}${output}${summary}`;
}
async function renderTreeForPackage(pkg, opts3, multiPeerPkgs) {
if (!opts3.alwaysPrintRootPackage && !pkg.dependencies?.length && !pkg.devDependencies?.length && !pkg.optionalDependencies?.length && (!opts3.showExtraneous || !pkg.unsavedDependencies?.length))
return "";
let label = "";
if (pkg.name) {
label += nameAtVersion(pkg.name, pkg.version ?? "");
label += " ";
}
label += source_default.dim(pkg.path);
if (pkg.private) {
label += source_default.dim(" (PRIVATE)");
}
const dependenciesFields = [
...DEPENDENCIES_FIELDS.sort()
];
if (opts3.showExtraneous) {
dependenciesFields.push("unsavedDependencies");
}
const childNodes = (await Promise.all(dependenciesFields.map(async (dependenciesField) => {
if (!pkg[dependenciesField]?.length)
return null;
const depsLabel = source_default.cyanBright(dependenciesField !== "unsavedDependencies" ? `${dependenciesField}:` : "not saved (you should add these dependencies to package.json if you need them):");
const gPkgColor = dependenciesField === "unsavedDependencies" ? () => NOT_SAVED_DEP_CLR : getPkgColor;
const depNodes = await toArchyTree(gPkgColor, pkg[dependenciesField], {
long: opts3.long,
modules: path145.join(pkg.path, "node_modules"),
multiPeerPkgs
});
return { group: depsLabel, nodes: depNodes };
}))).filter((n2) => n2 != null);
const rootLabel = source_default.bold(label);
if (childNodes.length === 0) {
return rootLabel;
}
const tree = { label: rootLabel, nodes: childNodes };
return renderTree(tree, { treeChars: source_default.dim }).trimEnd();
}
async function toArchyTree(getPkgColor2, entryNodes, opts3) {
const sorted = [...entryNodes].sort((a2, b) => (0, import_util17.lexCompare)(a2.name, b.name));
return Promise.all(sorted.map(async (node) => {
const nodes = node.deduped ? [] : await toArchyTree(getPkgColor2, node.dependencies ?? [], opts3);
const labelLines = [
printLabel(getPkgColor2, opts3.multiPeerPkgs, node)
];
if (node.searchMessage) {
labelLines.push(node.searchMessage);
}
if (opts3.long) {
const pkg = await getPkgInfo2(node);
if (pkg.description) {
labelLines.push(pkg.description);
}
if (pkg.repository) {
labelLines.push(pkg.repository);
}
if (pkg.homepage) {
labelLines.push(pkg.homepage);
}
if (pkg.path) {
labelLines.push(pkg.path);
}
}
return {
label: labelLines.join("\n"),
nodes
};
}));
}
function printLabel(getPkgColor2, multiPeerPkgs, node) {
const color = getPkgColor2(node);
let txt;
if (node.alias !== node.name) {
if (!node.version.includes("@")) {
txt = `${color(node.alias)}${source_default.gray(`@npm:${node.name}@${node.version}`)}`;
} else {
txt = `${color(node.alias)}${source_default.gray(`@${node.version}`)}`;
}
} else {
txt = nameAtVersion(node.name, node.version, color);
}
if (node.isPeer) {
txt += " peer";
}
if (node.isSkipped) {
txt += " skipped";
}
if (multiPeerPkgs) {
txt += peerHashSuffix(node, multiPeerPkgs);
}
if (node.deduped) {
txt += DEDUPED_LABEL;
}
return node.searched ? source_default.bold(txt) : txt;
}
function getPkgColor(node) {
if (node.dev === true)
return DEV_DEP_ONLY_CLR;
if (node.optional)
return OPTIONAL_DEP_CLR;
return PROD_DEP_CLR;
}
function findMultiPeerPackages2(packages) {
const hashesPerPkg = /* @__PURE__ */ new Map();
function walk(nodes) {
for (const node of nodes) {
collectHashes(hashesPerPkg, node);
if (node.dependencies) {
walk(node.dependencies);
}
}
}
for (const pkg of packages) {
for (const field of DEPENDENCIES_FIELDS) {
if (pkg[field]) {
walk(pkg[field]);
}
}
}
return filterMultiPeerEntries(hashesPerPkg);
}
function listSummary(packages) {
let total = 0;
function walk(nodes) {
for (const node of nodes) {
total++;
if (node.dependencies) {
walk(node.dependencies);
}
}
}
for (const pkg of packages) {
for (const field of DEPENDENCIES_FIELDS) {
if (pkg[field]) {
walk(pkg[field]);
}
}
}
const parts = [`${total} package${total === 1 ? "" : "s"}`];
if (packages.length > 1) {
parts.push(`${packages.length} projects`);
}
return source_default.dim(parts.join(" in "));
}
var import_util17, DEV_DEP_ONLY_CLR, PROD_DEP_CLR, OPTIONAL_DEP_CLR, NOT_SAVED_DEP_CLR, LEGEND;
var init_renderTree = __esm({
"../deps/inspection/list/lib/renderTree.js"() {
"use strict";
init_lib129();
init_lib9();
import_util17 = __toESM(require_dist4(), 1);
init_source();
init_getPkgInfo2();
init_peerVariants();
DEV_DEP_ONLY_CLR = source_default.yellow;
PROD_DEP_CLR = (s) => s;
OPTIONAL_DEP_CLR = source_default.blue;
NOT_SAVED_DEP_CLR = source_default.red;
LEGEND = `Legend: ${PROD_DEP_CLR("production dependency")}, ${OPTIONAL_DEP_CLR("optional only")}, ${DEV_DEP_ONLY_CLR("dev only")}
`;
}
});
// ../deps/inspection/list/lib/index.js
import path146 from "node:path";
async function searchForPackages(packages, projectPaths, opts3) {
const search2 = createPackagesSearcher(packages, opts3.finders);
return Promise.all(Object.entries(await buildDependenciesTree(projectPaths, {
depth: opts3.depth,
excludePeerDependencies: opts3.excludePeerDependencies,
include: opts3.include,
lockfileDir: opts3.lockfileDir,
checkWantedLockfileOnly: opts3.checkWantedLockfileOnly,
onlyProjects: opts3.onlyProjects,
registries: opts3.registries,
search: search2,
showDedupedSearchMatches: true,
modulesDir: opts3.modulesDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
})).map(async ([projectPath, buildDependenciesTree2]) => {
const entryPkg = await safeReadProjectManifestOnly(projectPath) ?? {};
return {
name: entryPkg.name,
version: entryPkg.version,
private: entryPkg.private,
path: projectPath,
...buildDependenciesTree2
};
}));
}
async function listForPackages(packages, projectPaths, maybeOpts) {
const opts3 = { ...DEFAULTS, ...maybeOpts };
const pkgs = await searchForPackages(packages, projectPaths, opts3);
const print = getPrinter(opts3.reportAs);
return print(pkgs, {
alwaysPrintRootPackage: opts3.alwaysPrintRootPackage,
depth: opts3.depth,
long: opts3.long,
search: Boolean(packages.length),
showExtraneous: opts3.showExtraneous,
showSummary: opts3.showSummary
});
}
async function list(projectPaths, maybeOpts) {
const opts3 = { ...DEFAULTS, ...maybeOpts };
const pkgs = await Promise.all(Object.entries(opts3.depth === -1 ? projectPaths.reduce((acc, projectPath) => {
acc[projectPath] = {};
return acc;
}, {}) : await buildDependenciesTree(projectPaths, {
depth: opts3.depth,
excludePeerDependencies: maybeOpts?.excludePeerDependencies,
include: maybeOpts?.include,
lockfileDir: maybeOpts?.lockfileDir,
checkWantedLockfileOnly: maybeOpts?.checkWantedLockfileOnly,
onlyProjects: maybeOpts?.onlyProjects,
registries: opts3.registries,
modulesDir: opts3.modulesDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
})).map(async ([projectPath, dependenciesHierarchy]) => {
const entryPkg = await safeReadProjectManifestOnly(projectPath) ?? {};
return {
name: entryPkg.name,
version: entryPkg.version,
private: entryPkg.private,
path: projectPath,
...dependenciesHierarchy
};
}));
const print = getPrinter(opts3.reportAs);
return print(pkgs, {
alwaysPrintRootPackage: opts3.alwaysPrintRootPackage,
depth: opts3.depth,
long: opts3.long,
search: false,
showExtraneous: opts3.showExtraneous,
showSummary: opts3.showSummary
});
}
function getPrinter(reportAs) {
switch (reportAs) {
case "parseable":
return renderParseable;
case "json":
return renderJson;
case "tree":
return renderTree2;
}
}
async function whyForPackages(packages, projectPaths, opts3) {
const reportAs = opts3.reportAs ?? "tree";
const long = opts3.long ?? false;
const depth = opts3.depth;
const importerInfoMap = /* @__PURE__ */ new Map();
const modulesDir = opts3.modulesDir ?? "node_modules";
const lockfile = opts3.checkWantedLockfileOnly ? await readWantedLockfile(opts3.lockfileDir, { ignoreIncompatible: false }) : await readCurrentLockfile(path146.join(opts3.lockfileDir, modulesDir, ".pnpm"), { ignoreIncompatible: false }) ?? await readWantedLockfile(opts3.lockfileDir, { ignoreIncompatible: false });
if (!lockfile)
return "";
const importerIds = Object.keys(lockfile.importers);
const manifests = await Promise.all(importerIds.map((importerId) => safeReadProjectManifestOnly(path146.join(opts3.lockfileDir, importerId))));
for (let i4 = 0; i4 < importerIds.length; i4++) {
const importerId = importerIds[i4];
const manifest = manifests[i4];
importerInfoMap.set(importerId, {
name: manifest?.name ?? (importerId === "." ? "the root project" : importerId),
version: manifest?.version ?? ""
});
}
const trees = await buildDependentsTree(packages, projectPaths, {
lockfileDir: opts3.lockfileDir,
include: opts3.include,
modulesDir: opts3.modulesDir,
registries: opts3.registries,
finders: opts3.finders,
importerInfoMap,
lockfile
});
switch (reportAs) {
case "json":
return renderDependentsJson(trees, { long, depth });
case "parseable":
return renderDependentsParseable(trees, { long, depth });
case "tree":
return renderDependentsTree(trees, { long, depth });
}
}
var DEFAULTS;
var init_lib130 = __esm({
"../deps/inspection/list/lib/index.js"() {
"use strict";
init_lib128();
init_lib80();
init_lib15();
init_renderDependentsTree();
init_renderJson();
init_renderParseable();
init_renderTree();
DEFAULTS = {
alwaysPrintRootPackage: true,
depth: 0,
long: false,
registries: void 0,
reportAs: "tree",
showExtraneous: true
};
}
});
// ../global/commands/lib/listGlobalPackages.js
import path147 from "node:path";
function findGlobalInstallDirs(globalPkgDir, params) {
const packages = scanGlobalPackages(globalPkgDir);
const matches2 = params.length > 0 ? createMatcher(params) : () => true;
const installDirs = /* @__PURE__ */ new Set();
for (const pkg of packages) {
for (const alias of Object.keys(pkg.dependencies)) {
if (matches2(alias)) {
installDirs.add(pkg.installDir);
break;
}
}
}
return [...installDirs];
}
async function listGlobalPackages(globalPkgDir, params, opts3 = {}) {
const reportAs = opts3.reportAs ?? "tree";
const long = opts3.long ?? false;
const packages = scanGlobalPackages(globalPkgDir);
const allDetails = await Promise.all(packages.map((pkg) => getGlobalPackageDetails(pkg)));
const matches2 = params.length > 0 ? createMatcher(params) : () => true;
const dependencies = [];
for (let i4 = 0; i4 < packages.length; i4++) {
const installDir = packages[i4].installDir;
for (const installed of allDetails[i4]) {
if (!matches2(installed.alias))
continue;
dependencies.push({
alias: installed.alias,
name: installed.manifest.name,
version: installed.version,
path: path147.join(installDir, "node_modules", installed.alias),
isPeer: false,
isSkipped: false,
isMissing: false
});
}
}
dependencies.sort((a2, b) => (0, import_util18.lexCompare)(a2.alias, b.alias));
if (dependencies.length === 0) {
if (reportAs === "json") {
return JSON.stringify([{ path: globalPkgDir, private: true, dependencies: {} }], null, 2);
}
if (reportAs === "parseable") {
return globalPkgDir;
}
return params.length > 0 ? "No matching global packages found" : "No global packages found";
}
const hierarchy = [{
path: globalPkgDir,
private: true,
dependencies
}];
switch (reportAs) {
case "json":
return renderJson(hierarchy, { depth: 0, long, search: false });
case "parseable":
return renderParseable(hierarchy, { depth: 0, long, alwaysPrintRootPackage: true, search: false });
case "tree":
return renderTree2(hierarchy, {
alwaysPrintRootPackage: false,
depth: 0,
long,
search: false,
showExtraneous: false
});
}
}
var import_util18;
var init_listGlobalPackages = __esm({
"../global/commands/lib/listGlobalPackages.js"() {
"use strict";
init_lib27();
init_lib130();
init_lib103();
import_util18 = __toESM(require_dist4(), 1);
}
});
// ../global/commands/lib/index.js
var init_lib131 = __esm({
"../global/commands/lib/index.js"() {
"use strict";
init_checkGlobalBinConflicts();
init_globalAdd();
init_globalRemove();
init_globalUpdate();
init_installGlobalPackages();
init_listGlobalPackages();
}
});
// ../installing/env-installer/lib/parseIntegrity.js
function parseIntegrity(pkgName, pkgSpec) {
const sepIndex = pkgSpec.indexOf("+");
if (sepIndex === -1) {
throw new PnpmError("CONFIG_DEP_NO_INTEGRITY", `Your config dependency called "${pkgName}" doesn't have an integrity checksum`, {
hint: `Integrity checksum should be inlined in the version specifier. For example:
pnpm-workspace.yaml:
configDependencies:
my-config: "1.0.0+sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q=="
`
});
}
const version2 = pkgSpec.substring(0, sepIndex);
const integrity = pkgSpec.substring(sepIndex + 1);
return { version: version2, integrity };
}
var init_parseIntegrity = __esm({
"../installing/env-installer/lib/parseIntegrity.js"() {
"use strict";
init_lib2();
}
});
// ../installing/env-installer/lib/assertValidConfigDepVersion.js
function assertValidConfigDepVersion(name, version2) {
if (import_semver42.default.valid(version2) == null) {
throw new PnpmError("INVALID_CONFIG_DEP_VERSION", `The config dependency "${name}" has an invalid version "${version2}"`, { hint: "A config dependency version must be an exact semver version." });
}
}
var import_semver42;
var init_assertValidConfigDepVersion = __esm({
"../installing/env-installer/lib/assertValidConfigDepVersion.js"() {
"use strict";
init_lib2();
import_semver42 = __toESM(require_semver2(), 1);
}
});
// ../installing/env-installer/lib/verifyEnvLockfile.js
function verifyEnvLockfile(envLockfile) {
const configDeps = envLockfile.importers["."]?.configDependencies;
assertValidDependencyAliases(configDeps, "The configDependencies in pnpm-lock.yaml");
if (configDeps == null)
return;
for (const [name, { version: version2 }] of Object.entries(configDeps)) {
assertValidConfigDepVersion(name, version2);
const optionalDeps = envLockfile.snapshots[`${name}@${version2}`]?.optionalDependencies;
if (optionalDeps == null)
continue;
assertValidDependencyAliases(optionalDeps, `The optionalDependencies of config dependency "${name}" in pnpm-lock.yaml`);
for (const [subdepName, subdepVersion] of Object.entries(optionalDeps)) {
assertValidConfigDepVersion(subdepName, subdepVersion);
}
}
}
var init_verifyEnvLockfile = __esm({
"../installing/env-installer/lib/verifyEnvLockfile.js"() {
"use strict";
init_lib111();
init_assertValidConfigDepVersion();
}
});
// ../installing/env-installer/lib/writeVerifiedEnvLockfile.js
async function writeVerifiedEnvLockfile(rootDir, envLockfile) {
verifyEnvLockfile(envLockfile);
await writeEnvLockfile(rootDir, envLockfile);
}
var init_writeVerifiedEnvLockfile = __esm({
"../installing/env-installer/lib/writeVerifiedEnvLockfile.js"() {
"use strict";
init_lib80();
init_verifyEnvLockfile();
}
});
// ../installing/env-installer/lib/migrateConfigDeps.js
async function migrateConfigDepsToLockfile(configDeps, opts3) {
const envLockfile = createEnvLockfile();
envLockfile.importers["."].configDependencies = /* @__PURE__ */ Object.create(null);
const cleanSpecifiers = {};
const normalizedDeps = {};
for (const [pkgName, pkgSpec] of Object.entries(configDeps)) {
const registry = pickRegistryForPackage(opts3.registries, pkgName);
if (typeof pkgSpec === "object") {
const { version: version2, integrity } = parseIntegrity(pkgName, pkgSpec.integrity);
const tarball = pkgSpec.tarball ?? getNpmTarballUrl(pkgName, version2, { registry });
cleanSpecifiers[pkgName] = version2;
const pkgKey = `${pkgName}@${version2}`;
envLockfile.importers["."].configDependencies[pkgName] = {
specifier: version2,
version: version2
};
envLockfile.packages[pkgKey] = {
resolution: toLockfileResolution({ name: pkgName, version: version2 }, { integrity, tarball }, registry)
};
envLockfile.snapshots[pkgKey] = {};
normalizedDeps[pkgName] = {
version: version2,
resolution: { integrity, tarball }
};
continue;
}
if (typeof pkgSpec === "string") {
if (!pkgSpec.includes("+")) {
throw new PnpmError("CONFIG_DEP_MISSING_LOCKFILE", `Config dependency "${pkgName}" is already in clean-specifier form (${pkgSpec}) but no pnpm-lock.yaml was found to resolve it. Please generate and commit pnpm-lock.yaml (for example by running \`pnpm install\` in the workspace root) before attempting to migrate configDependencies.`);
}
const { version: version2, integrity } = parseIntegrity(pkgName, pkgSpec);
const tarball = getNpmTarballUrl(pkgName, version2, { registry });
cleanSpecifiers[pkgName] = version2;
const pkgKey = `${pkgName}@${version2}`;
envLockfile.importers["."].configDependencies[pkgName] = {
specifier: version2,
version: version2
};
envLockfile.packages[pkgKey] = {
resolution: { integrity }
};
envLockfile.snapshots[pkgKey] = {};
normalizedDeps[pkgName] = {
version: version2,
resolution: { integrity, tarball }
};
}
}
await writeVerifiedEnvLockfile(opts3.rootDir, envLockfile);
await writeSettings({
rootProjectManifestDir: opts3.rootDir,
workspaceDir: opts3.rootDir,
updatedSettings: {
configDependencies: cleanSpecifiers
}
});
return normalizedDeps;
}
var init_migrateConfigDeps = __esm({
"../installing/env-installer/lib/migrateConfigDeps.js"() {
"use strict";
init_lib28();
init_lib102();
init_lib2();
init_lib80();
init_lib73();
init_lib71();
init_parseIntegrity();
init_writeVerifiedEnvLockfile();
}
});
// ../installing/env-installer/lib/installConfigDeps.js
import fs82 from "node:fs";
import path148 from "node:path";
async function installConfigDeps(configDepsOrLockfile, opts3) {
const normalizedDeps = await normalizeForInstall(configDepsOrLockfile, opts3);
const globalVirtualStoreDir = path148.join(opts3.storeDir, "links");
const configModulesDir = path148.join(opts3.rootDir, "node_modules/.pnpm-config");
const existingConfigDeps = await readModulesDir(configModulesDir) ?? [];
let startedEmitted = false;
const reportStarted = () => {
if (startedEmitted)
return;
startedEmitted = true;
installingConfigDepsLogger.debug({ status: "started" });
};
await Promise.all(existingConfigDeps.map(async (existingConfigDep) => {
if (!normalizedDeps[existingConfigDep]) {
reportStarted();
await rimraf(path148.join(configModulesDir, existingConfigDep));
}
}));
const installedConfigDeps = [];
await Promise.all(Object.entries(normalizedDeps).map(async ([pkgName, pkg]) => {
const configDepPath = path148.join(configModulesDir, pkgName);
const fullPkgId = `${pkgName}@${pkg.version}:${pkg.resolution.integrity}`;
const optionalSubdepIds = {};
for (const subdep of pkg.optionalSubdeps ?? []) {
optionalSubdepIds[subdep.name] = `${subdep.name}@${subdep.version}:${subdep.resolution.integrity}`;
}
const relPath = calcGlobalVirtualStorePathWithSubdeps(fullPkgId, pkgName, pkg.version, optionalSubdepIds);
const pkgDirInGlobalVirtualStore = path148.join(globalVirtualStoreDir, relPath, "node_modules", pkgName);
const parentSymlinkAlreadyCorrect = existingConfigDeps.includes(pkgName) && await symlinkPointsTo(configDepPath, pkgDirInGlobalVirtualStore);
if (!fs82.existsSync(path148.join(pkgDirInGlobalVirtualStore, "package.json"))) {
reportStarted();
const { fetching } = await opts3.store.fetchPackage({
force: true,
lockfileDir: opts3.rootDir,
pkg: {
id: `${pkgName}@${pkg.version}`,
resolution: pkg.resolution
}
});
const { files: filesResponse } = await fetching();
await opts3.store.importPackage(pkgDirInGlobalVirtualStore, {
force: true,
requiresBuild: false,
filesResponse
});
}
if (pkg.optionalSubdeps?.length) {
await installOptionalSubdeps({
parentName: pkgName,
parentVersion: pkg.version,
subdeps: pkg.optionalSubdeps,
// path.dirname would land in the scope subdir for scoped parents; use
// the leaf's node_modules root so sibling symlinks resolve correctly.
parentNodeModulesDir: path148.join(globalVirtualStoreDir, relPath, "node_modules"),
globalVirtualStoreDir,
rootDir: opts3.rootDir,
store: opts3.store,
reportStarted
});
}
if (parentSymlinkAlreadyCorrect) {
return;
}
reportStarted();
if (existingConfigDeps.includes(pkgName)) {
await rimraf(configDepPath);
}
await fs82.promises.mkdir(path148.dirname(configDepPath), { recursive: true });
await symlinkDir(pkgDirInGlobalVirtualStore, configDepPath);
installedConfigDeps.push({
name: pkgName,
version: pkg.version
});
}));
if (installedConfigDeps.length) {
installingConfigDepsLogger.debug({ status: "done", deps: installedConfigDeps });
}
}
async function normalizeForInstall(configDepsOrLockfile, opts3) {
if (isEnvLockfile(configDepsOrLockfile)) {
verifyEnvLockfile(configDepsOrLockfile);
return normalizeFromLockfile(configDepsOrLockfile, opts3.registries);
}
const envLockfile = await readEnvLockfile(opts3.rootDir);
if (envLockfile) {
verifyEnvLockfile(envLockfile);
return normalizeFromLockfile(envLockfile, opts3.registries);
}
if (opts3.frozenLockfile) {
throw new PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", 'Cannot migrate configDependencies with "frozen-lockfile" because the lockfile is not up to date');
}
return migrateConfigDepsToLockfile(configDepsOrLockfile, opts3);
}
function isEnvLockfile(obj) {
return "lockfileVersion" in obj && "importers" in obj && obj.importers != null && typeof obj.importers === "object" && "packages" in obj && obj.packages != null && typeof obj.packages === "object" && "snapshots" in obj && obj.snapshots != null && typeof obj.snapshots === "object";
}
function normalizeFromLockfile(lockfile, registries) {
const deps = {};
const configDeps = lockfile.importers["."]?.configDependencies ?? {};
for (const [pkgName, { version: version2 }] of Object.entries(configDeps)) {
const pkgKey = `${pkgName}@${version2}`;
const pkgInfo = lockfile.packages[pkgKey];
if (!pkgInfo) {
throw new PnpmError("ENV_LOCKFILE_CORRUPTED", `pnpm-lock.yaml is corrupted or incomplete: missing packages entry for "${pkgKey}" referenced from importers['.'].configDependencies`);
}
const resolution = pkgInfo.resolution;
if (!resolution.integrity) {
throw new PnpmError("ENV_LOCKFILE_CORRUPTED", `pnpm-lock.yaml is corrupted or incomplete: missing integrity for "${pkgKey}"`);
}
const registry = pickRegistryForPackage(registries, pkgName);
const snapshot = lockfile.snapshots[pkgKey];
const optionalSubdeps = snapshot?.optionalDependencies ? readOptionalSubdepsFromLockfile(pkgName, snapshot.optionalDependencies, lockfile, registries) : void 0;
deps[pkgName] = {
version: version2,
resolution: {
integrity: resolution.integrity,
tarball: resolution.tarball ?? getNpmTarballUrl(pkgName, version2, { registry })
},
optionalSubdeps
};
}
return deps;
}
function readOptionalSubdepsFromLockfile(parentName, optionalDeps, lockfile, registries) {
const subdeps = [];
for (const [subdepName, subdepVersion] of Object.entries(optionalDeps)) {
const subdepKey = `${subdepName}@${subdepVersion}`;
const subdepInfo = lockfile.packages[subdepKey];
if (!subdepInfo) {
throw new PnpmError("ENV_LOCKFILE_CORRUPTED", `pnpm-lock.yaml is corrupted or incomplete: missing packages entry for "${subdepKey}" referenced from optionalDependencies of config dependency "${parentName}"`);
}
const subdepResolution = subdepInfo.resolution;
if (!subdepResolution.integrity) {
throw new PnpmError("ENV_LOCKFILE_CORRUPTED", `pnpm-lock.yaml is corrupted or incomplete: missing integrity for "${subdepKey}"`);
}
const registry = pickRegistryForPackage(registries, subdepName);
subdeps.push({
name: subdepName,
version: subdepVersion,
resolution: {
integrity: subdepResolution.integrity,
tarball: subdepResolution.tarball ?? getNpmTarballUrl(subdepName, subdepVersion, { registry })
},
os: subdepInfo.os,
cpu: subdepInfo.cpu,
libc: subdepInfo.libc
});
}
return subdeps;
}
async function installOptionalSubdeps(opts3) {
const parentLogInfo = { id: `${opts3.parentName}@${opts3.parentVersion}`, name: opts3.parentName, version: opts3.parentVersion };
const compatibleSubdeps = opts3.subdeps.filter((subdep) => {
if (!subdep.os && !subdep.cpu && !subdep.libc)
return true;
const error = checkPackage(`${subdep.name}@${subdep.version}`, { os: subdep.os, cpu: subdep.cpu, libc: subdep.libc }, {});
if (error == null)
return true;
skippedOptionalDependencyLogger.debug({
details: error.toString(),
package: { id: `${subdep.name}@${subdep.version}`, name: subdep.name, version: subdep.version },
parents: [parentLogInfo],
prefix: opts3.rootDir,
reason: error.code === "ERR_PNPM_UNSUPPORTED_ENGINE" ? "unsupported_engine" : "unsupported_platform"
});
return false;
});
const expectedSiblings = /* @__PURE__ */ new Set([opts3.parentName, ...compatibleSubdeps.map((s) => s.name)]);
const existingSiblings = await readModulesDir(opts3.parentNodeModulesDir) ?? [];
const orphanSiblings = existingSiblings.filter((name) => !expectedSiblings.has(name));
if (orphanSiblings.length > 0) {
opts3.reportStarted();
}
await Promise.all(orphanSiblings.map((name) => rimraf(path148.join(opts3.parentNodeModulesDir, name))));
await Promise.all(compatibleSubdeps.map(async (subdep) => {
const subdepFullPkgId = `${subdep.name}@${subdep.version}:${subdep.resolution.integrity}`;
const subdepRelPath = calcLeafGlobalVirtualStorePath(subdepFullPkgId, subdep.name, subdep.version);
const subdepDirInGlobalVirtualStore = safeJoinModulesDir(path148.join(opts3.globalVirtualStoreDir, subdepRelPath, "node_modules"), subdep.name);
if (!fs82.existsSync(path148.join(subdepDirInGlobalVirtualStore, "package.json"))) {
opts3.reportStarted();
const { fetching } = await opts3.store.fetchPackage({
force: true,
lockfileDir: opts3.rootDir,
pkg: {
id: `${subdep.name}@${subdep.version}`,
resolution: subdep.resolution
}
});
const { files: filesResponse } = await fetching();
await opts3.store.importPackage(subdepDirInGlobalVirtualStore, {
force: true,
requiresBuild: false,
filesResponse
});
}
const linkPath = safeJoinModulesDir(opts3.parentNodeModulesDir, subdep.name);
if (await symlinkPointsTo(linkPath, subdepDirInGlobalVirtualStore)) {
return;
}
opts3.reportStarted();
await fs82.promises.mkdir(path148.dirname(linkPath), { recursive: true });
await symlinkDir(subdepDirInGlobalVirtualStore, linkPath);
}));
}
async function symlinkPointsTo(linkPath, expectedTarget) {
try {
const [linkReal, targetReal] = await Promise.all([
fs82.promises.realpath(linkPath),
fs82.promises.realpath(expectedTarget)
]);
return linkReal === targetReal;
} catch {
return false;
}
}
var init_installConfigDeps = __esm({
"../installing/env-installer/lib/installConfigDeps.js"() {
"use strict";
init_lib40();
init_lib28();
init_lib6();
init_lib74();
init_lib2();
init_lib8();
init_lib106();
init_lib80();
init_lib71();
init_rimraf();
init_dist3();
init_migrateConfigDeps();
init_verifyEnvLockfile();
}
});
// ../installing/env-installer/lib/pruneEnvLockfile.js
function convertToLockfileEnvObject(envLockfile) {
return convertToLockfileObject({
lockfileVersion: envLockfile.lockfileVersion,
importers: {
".": {
dependencies: {
...envLockfile.importers["."].configDependencies,
...envLockfile.importers["."].packageManagerDependencies ?? {}
}
}
},
packages: envLockfile.packages,
snapshots: envLockfile.snapshots
});
}
function pruneEnvLockfile(envLockfile) {
const lockfileObject = convertToLockfileEnvObject(envLockfile);
const pruned = pruneSharedLockfile(lockfileObject);
const prunedFile = convertToLockfileFile(pruned);
envLockfile.packages = prunedFile.packages ?? {};
envLockfile.snapshots = prunedFile.snapshots ?? {};
}
var init_pruneEnvLockfile = __esm({
"../installing/env-installer/lib/pruneEnvLockfile.js"() {
"use strict";
init_lib80();
init_lib110();
}
});
// ../installing/env-installer/lib/resolveOptionalSubdeps.js
import util39 from "node:util";
async function resolveOptionalSubdeps(parentName, parentManifest, opts3) {
const optionalDeps = parentManifest.optionalDependencies;
if (!optionalDeps || Object.keys(optionalDeps).length === 0) {
return void 0;
}
const resolved = {};
await Promise.all(Object.entries(optionalDeps).map(async ([subdepName, subdepSpec]) => {
if (import_semver43.default.valid(subdepSpec) == null) {
throw new PnpmError("CONFIG_DEP_OPTIONAL_NOT_EXACT", `Cannot install "${subdepName}@${subdepSpec}" as an optionalDependency of config dependency "${parentName}": only exact versions are supported (got "${subdepSpec}")`);
}
let resolution;
try {
resolution = await opts3.resolveFromNpm({ alias: subdepName, bareSpecifier: subdepSpec, optional: true }, {
lockfileDir: opts3.lockfileDir,
preferredVersions: {},
projectDir: opts3.lockfileDir
});
} catch (err2) {
if (util39.types.isNativeError(err2) && "code" in err2 && err2.code === "ERR_PNPM_TRUST_DOWNGRADE") {
throw err2;
}
skippedOptionalDependencyLogger.debug({
details: util39.types.isNativeError(err2) ? err2.toString() : String(err2),
package: {
name: subdepName,
// No resolved version yet; surface the requested specifier so log
// consumers that format `${name}@${version}` don't render `@undefined`.
version: subdepSpec,
bareSpecifier: subdepSpec
},
parents: [{ id: `${parentName}@${parentManifest.version}`, name: parentName, version: parentManifest.version }],
prefix: opts3.lockfileDir,
reason: "resolution_failure"
});
return;
}
if (resolution?.resolution == null || !("integrity" in resolution.resolution) || typeof resolution.resolution.integrity !== "string" || !resolution.resolution.integrity || resolution.manifest == null) {
throw new PnpmError("BAD_CONFIG_DEP", `Cannot resolve optionalDependency "${subdepName}" of config dependency "${parentName}" because it has no integrity`);
}
const subdepVersion = resolution.manifest.version;
const registry = pickRegistryForPackage(opts3.registries, subdepName);
const subdepKey = `${subdepName}@${subdepVersion}`;
opts3.envLockfile.packages[subdepKey] = {
resolution: toLockfileResolution({ name: subdepName, version: subdepVersion }, resolution.resolution, registry),
...pickPlatformFields(resolution.manifest)
};
if (opts3.envLockfile.snapshots[subdepKey] == null) {
opts3.envLockfile.snapshots[subdepKey] = { optional: true };
}
resolved[subdepName] = subdepVersion;
}));
return Object.keys(resolved).length > 0 ? resolved : void 0;
}
function pickPlatformFields(manifest) {
const out = {};
if (manifest.os?.length)
out.os = manifest.os;
if (manifest.cpu?.length)
out.cpu = manifest.cpu;
if (manifest.libc?.length)
out.libc = manifest.libc;
return out;
}
var import_semver43;
var init_resolveOptionalSubdeps = __esm({
"../installing/env-installer/lib/resolveOptionalSubdeps.js"() {
"use strict";
init_lib28();
init_lib6();
init_lib2();
init_lib73();
import_semver43 = __toESM(require_semver2(), 1);
}
});
// ../installing/env-installer/lib/resolveAndInstallConfigDeps.js
async function resolveAndInstallConfigDeps(configDeps, opts3) {
const envLockfile = await readEnvLockfile(opts3.rootDir) ?? createEnvLockfile();
const lockfileConfigDeps = envLockfile.importers["."].configDependencies;
const depsToResolve = [];
let lockfileChanged = false;
for (const [name, value] of Object.entries(configDeps)) {
if (typeof value === "object") {
if (!lockfileConfigDeps[name]) {
const registry = pickRegistryForPackage(opts3.registries, name);
const { version: version2, integrity } = parseIntegrity(name, value.integrity);
const tarball = value.tarball ?? getNpmTarballUrl(name, version2, { registry });
const pkgKey = `${name}@${version2}`;
lockfileConfigDeps[name] = { specifier: version2, version: version2 };
envLockfile.packages[pkgKey] = {
resolution: toLockfileResolution({ name, version: version2 }, { integrity, tarball }, registry)
};
envLockfile.snapshots[pkgKey] = {};
lockfileChanged = true;
}
continue;
}
if (value.includes("+")) {
if (!lockfileConfigDeps[name]) {
const registry = pickRegistryForPackage(opts3.registries, name);
const { version: version2, integrity } = parseIntegrity(name, value);
const tarball = getNpmTarballUrl(name, version2, { registry });
const pkgKey = `${name}@${version2}`;
lockfileConfigDeps[name] = { specifier: version2, version: version2 };
envLockfile.packages[pkgKey] = {
resolution: toLockfileResolution({ name, version: version2 }, { integrity, tarball }, registry)
};
envLockfile.snapshots[pkgKey] = {};
lockfileChanged = true;
}
continue;
}
const specifier = value;
const existing = lockfileConfigDeps[name];
if (existing && existing.specifier === specifier) {
const pkgKey = `${name}@${existing.version}`;
if (envLockfile.packages[pkgKey])
continue;
}
depsToResolve.push({ name, specifier });
}
if (opts3.frozenLockfile && (lockfileChanged || depsToResolve.length > 0)) {
throw new PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", 'Cannot update configDependencies with "frozen-lockfile" because the lockfile is not up to date');
}
if (depsToResolve.length === 0) {
if (lockfileChanged) {
await writeVerifiedEnvLockfile(opts3.rootDir, envLockfile);
}
await installConfigDeps(envLockfile, opts3);
return;
}
const fetch2 = createFetchFromRegistry(opts3);
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri ?? {});
const { resolveFromNpm } = createNpmResolver(fetch2, getAuthHeader, opts3);
await Promise.all(depsToResolve.map(async ({ name, specifier }) => {
const resolution = await resolveFromNpm({ alias: name, bareSpecifier: specifier }, {
lockfileDir: opts3.rootDir,
preferredVersions: {},
projectDir: opts3.rootDir
});
if (resolution?.resolution == null || !("integrity" in resolution.resolution) || typeof resolution.resolution.integrity !== "string" || !resolution.resolution.integrity) {
throw new PnpmError("BAD_CONFIG_DEP", `Cannot resolve ${name}@${specifier} as a configuration dependency because it has no integrity`);
}
const version2 = resolution.manifest.version;
const registry = pickRegistryForPackage(opts3.registries, name);
const pkgKey = `${name}@${version2}`;
lockfileConfigDeps[name] = {
specifier,
version: version2
};
envLockfile.packages[pkgKey] = {
resolution: toLockfileResolution({ name, version: version2 }, resolution.resolution, registry)
};
const optionalSubdeps = await resolveOptionalSubdeps(name, resolution.manifest, {
envLockfile,
lockfileDir: opts3.rootDir,
registries: opts3.registries,
resolveFromNpm
});
envLockfile.snapshots[pkgKey] = optionalSubdeps ? { optionalDependencies: optionalSubdeps } : {};
}));
pruneEnvLockfile(envLockfile);
await writeVerifiedEnvLockfile(opts3.rootDir, envLockfile);
await installConfigDeps(envLockfile, opts3);
}
var init_resolveAndInstallConfigDeps = __esm({
"../installing/env-installer/lib/resolveAndInstallConfigDeps.js"() {
"use strict";
init_lib28();
init_lib2();
init_lib80();
init_lib73();
init_lib52();
init_lib23();
init_lib38();
init_lib71();
init_installConfigDeps();
init_parseIntegrity();
init_pruneEnvLockfile();
init_resolveOptionalSubdeps();
init_writeVerifiedEnvLockfile();
}
});
// ../installing/env-installer/lib/resolveConfigDeps.js
async function resolveConfigDeps(configDeps, opts3) {
if (opts3.frozenLockfile) {
throw new PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", 'Cannot resolve configDependencies with "frozen-lockfile" because the lockfile is not up to date');
}
const fetch2 = createFetchFromRegistry(opts3);
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri ?? {});
const { resolveFromNpm } = createNpmResolver(fetch2, getAuthHeader, opts3);
const configDependencySpecifiers = extractSpecifiers(opts3.configDependencies);
const envLockfile = await readEnvLockfile(opts3.rootDir) ?? createEnvLockfile();
await Promise.all(configDeps.map(async (configDep) => {
const wantedDep = parseWantedDependency(configDep);
if (!wantedDep.alias) {
throw new PnpmError("BAD_CONFIG_DEP", `Cannot install ${configDep} as configuration dependency`);
}
const resolution = await resolveFromNpm(wantedDep, {
lockfileDir: opts3.rootDir,
preferredVersions: {},
projectDir: opts3.rootDir
});
if (resolution?.resolution == null || !("integrity" in resolution.resolution) || typeof resolution.resolution.integrity !== "string" || !resolution.resolution.integrity) {
throw new PnpmError("BAD_CONFIG_DEP", `Cannot install ${configDep} as configuration dependency because it has no integrity`);
}
const pkgName = wantedDep.alias;
const version2 = resolution.manifest.version;
const registry = pickRegistryForPackage(opts3.registries, pkgName);
configDependencySpecifiers[pkgName] = wantedDep.bareSpecifier ?? version2;
const pkgKey = `${pkgName}@${version2}`;
envLockfile.importers["."].configDependencies[pkgName] = {
specifier: configDependencySpecifiers[pkgName],
version: version2
};
envLockfile.packages[pkgKey] = {
resolution: toLockfileResolution({ name: pkgName, version: version2 }, resolution.resolution, registry)
};
const optionalSubdeps = await resolveOptionalSubdeps(pkgName, resolution.manifest, {
envLockfile,
lockfileDir: opts3.rootDir,
registries: opts3.registries,
resolveFromNpm
});
envLockfile.snapshots[pkgKey] = optionalSubdeps ? { optionalDependencies: optionalSubdeps } : {};
}));
pruneEnvLockfile(envLockfile);
await writeVerifiedEnvLockfile(opts3.rootDir, envLockfile);
await writeSettings({
...opts3,
rootProjectManifestDir: opts3.rootDir,
workspaceDir: opts3.rootDir,
updatedSettings: {
configDependencies: configDependencySpecifiers
}
});
await installConfigDeps(envLockfile, opts3);
}
function extractSpecifiers(configDependencies) {
if (!configDependencies)
return {};
const specifiers = {};
for (const [name, value] of Object.entries(configDependencies)) {
if (typeof value === "object") {
const sepIndex = value.integrity.indexOf("+");
specifiers[name] = sepIndex !== -1 ? value.integrity.substring(0, sepIndex) : value.integrity;
} else {
const sepIndex = value.indexOf("+");
specifiers[name] = sepIndex !== -1 ? value.substring(0, sepIndex) : value;
}
}
return specifiers;
}
var init_resolveConfigDeps = __esm({
"../installing/env-installer/lib/resolveConfigDeps.js"() {
"use strict";
init_lib28();
init_lib102();
init_lib2();
init_lib80();
init_lib73();
init_lib52();
init_lib23();
init_lib38();
init_lib98();
init_installConfigDeps();
init_pruneEnvLockfile();
init_resolveOptionalSubdeps();
init_writeVerifiedEnvLockfile();
}
});
// ../installing/env-installer/lib/resolveManifestDependencies.js
import path149 from "node:path";
async function resolveManifestDependencies(manifest, opts3) {
const dir = opts3.dir;
const emptyLockfile = {
lockfileVersion: LOCKFILE_VERSION,
importers: {
["."]: { specifiers: {} }
}
};
const wantedDependencies = getWantedDependencies(manifest).map((dep) => ({ ...dep, updateSpec: true }));
const { newLockfile, waitTillAllFetchingsFinish } = await resolveDependencies2([
{
id: ".",
manifest,
modulesDir: path149.join(opts3.dir, "node_modules"),
rootDir: dir,
wantedDependencies,
binsDir: path149.join(opts3.dir, "node_modules", ".bin"),
updatePackageManifest: false
}
], {
allowedDeprecatedVersions: {},
allowUnusedPatches: true,
currentLockfile: emptyLockfile,
defaultUpdateDepth: 0,
dryRun: true,
engineStrict: false,
force: false,
forceFullResolution: true,
hooks: {},
lockfileDir: opts3.dir,
nodeVersion: process.version,
pnpmVersion: "",
preferWorkspacePackages: false,
preserveWorkspaceProtocol: false,
registries: opts3.registries,
saveWorkspaceProtocol: false,
storeController: opts3.storeController,
tag: "latest",
virtualStoreDir: path149.join(opts3.dir, "node_modules", ".pnpm"),
globalVirtualStoreDir: path149.join(opts3.storeDir, "links"),
virtualStoreDirMaxLength: 120,
wantedLockfile: emptyLockfile,
workspacePackages: /* @__PURE__ */ new Map(),
peersSuffixMaxLength: 1e3,
allProjectIds: ["."]
});
await waitTillAllFetchingsFinish();
return newLockfile;
}
var init_resolveManifestDependencies = __esm({
"../installing/env-installer/lib/resolveManifestDependencies.js"() {
"use strict";
init_lib();
init_lib111();
}
});
// ../installing/env-installer/lib/resolvePackageManagerIntegrities.js
function isPackageManagerResolved(envLockfile, pnpmVersion) {
if (!envLockfile)
return false;
const pmDeps = envLockfile.importers["."].packageManagerDependencies;
return pmDeps != null && pmDeps["pnpm"]?.version === pnpmVersion && pmDeps["@pnpm/exe"]?.version === pnpmVersion;
}
async function resolvePackageManagerIntegrities(pnpmVersion, opts3) {
const save = opts3.save ?? true;
const envLockfile = opts3.envLockfile ?? (save ? await readEnvLockfile(opts3.rootDir) : void 0) ?? createEnvLockfile();
if (isPackageManagerResolved(envLockfile, pnpmVersion)) {
return envLockfile;
}
const lockfile = await resolveManifestDependencies({
dependencies: {
"pnpm": pnpmVersion,
"@pnpm/exe": pnpmVersion
}
}, {
dir: opts3.rootDir,
registries: opts3.registries,
storeController: opts3.storeController,
storeDir: opts3.storeDir
});
if (lockfile.packages) {
const importer = lockfile.importers["."];
const packageManagerDependencies = {};
for (const [name, version2] of Object.entries(importer.dependencies ?? {})) {
packageManagerDependencies[name] = {
specifier: importer.specifiers[name],
version: version2
};
}
envLockfile.importers["."].packageManagerDependencies = packageManagerDependencies;
const merged = convertToLockfileEnvObject(envLockfile);
for (const [depPath, pkg] of Object.entries(lockfile.packages)) {
merged.packages[depPath] = pkg;
}
const pruned = pruneSharedLockfile(merged);
const prunedFile = convertToLockfileFile(pruned);
envLockfile.packages = prunedFile.packages ?? {};
envLockfile.snapshots = prunedFile.snapshots ?? {};
if (save) {
await writeVerifiedEnvLockfile(opts3.rootDir, envLockfile);
}
}
return envLockfile;
}
var init_resolvePackageManagerIntegrities = __esm({
"../installing/env-installer/lib/resolvePackageManagerIntegrities.js"() {
"use strict";
init_lib80();
init_lib110();
init_pruneEnvLockfile();
init_resolveManifestDependencies();
init_writeVerifiedEnvLockfile();
}
});
// ../installing/env-installer/lib/index.js
var init_lib132 = __esm({
"../installing/env-installer/lib/index.js"() {
"use strict";
init_installConfigDeps();
init_resolveAndInstallConfigDeps();
init_resolveConfigDeps();
init_resolvePackageManagerIntegrities();
init_verifyEnvLockfile();
}
});
// ../workspace/state/lib/filePath.js
import path150 from "node:path";
var getFilePath;
var init_filePath = __esm({
"../workspace/state/lib/filePath.js"() {
"use strict";
getFilePath = (workspaceDir) => path150.join(workspaceDir, "node_modules", ".pnpm-workspace-state-v1.json");
}
});
// ../workspace/state/lib/loadWorkspaceState.js
import fs83 from "node:fs";
import util40 from "node:util";
function loadWorkspaceState(workspaceDir) {
logger.debug({ msg: "loading workspace state" });
const cacheFile = getFilePath(workspaceDir);
let cacheFileContent;
try {
cacheFileContent = fs83.readFileSync(cacheFile, "utf-8");
} catch (error) {
if (util40.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
return void 0;
}
throw error;
}
try {
return JSON.parse(cacheFileContent);
} catch (error) {
if (util40.types.isNativeError(error) && error.name === "SyntaxError") {
return void 0;
}
throw error;
}
}
var init_loadWorkspaceState = __esm({
"../workspace/state/lib/loadWorkspaceState.js"() {
"use strict";
init_lib3();
init_filePath();
}
});
// ../workspace/state/lib/types.js
var WORKSPACE_STATE_SETTING_KEYS;
var init_types3 = __esm({
"../workspace/state/lib/types.js"() {
"use strict";
WORKSPACE_STATE_SETTING_KEYS = [
"enableGlobalVirtualStore",
"allowBuilds",
"autoInstallPeers",
"catalogs",
"dedupeDirectDeps",
"dedupeInjectedDeps",
"dedupePeerDependents",
"dedupePeers",
"dev",
"excludeLinksFromLockfile",
"hoistPattern",
"hoistWorkspacePackages",
"ignoredOptionalDependencies",
"injectWorkspacePackages",
"linkWorkspacePackages",
// The lockfile-resolution verifier short-circuits on a per-lockfile
// cache that's keyed by these policy settings; if any of them
// changes (turning a policy on, shrinking an exclude list, etc.) the
// workspace state needs to look stale so `optimisticRepeatInstall`
// doesn't skip the verifier fan-out.
"minimumReleaseAge",
"minimumReleaseAgeStrict",
"minimumReleaseAgeExclude",
"minimumReleaseAgeIgnoreMissingTime",
"nodeLinker",
"optional",
"overrides",
"packageExtensions",
"patchedDependencies",
"peersSuffixMaxLength",
"preferWorkspacePackages",
"production",
"publicHoistPattern",
"trustPolicy",
"trustPolicyExclude",
"trustPolicyIgnoreAfter",
"workspacePackagePatterns"
];
}
});
// ../workspace/state/lib/createWorkspaceState.js
var createWorkspaceState;
var init_createWorkspaceState = __esm({
"../workspace/state/lib/createWorkspaceState.js"() {
"use strict";
init_es();
init_types3();
createWorkspaceState = (opts3) => ({
lastValidatedTimestamp: Date.now(),
projects: Object.fromEntries(opts3.allProjects.map((project) => [
project.rootDir,
{
name: project.manifest.name,
version: project.manifest.version
}
])),
pnpmfiles: opts3.pnpmfiles,
settings: pick_default(WORKSPACE_STATE_SETTING_KEYS, opts3.settings),
filteredInstall: opts3.filteredInstall,
configDependencies: opts3.configDependencies
});
}
});
// ../workspace/state/lib/updateWorkspaceState.js
import fs84 from "node:fs";
import path151 from "node:path";
async function updateWorkspaceState(opts3) {
logger.debug({ msg: "updating workspace state" });
const workspaceState = createWorkspaceState(opts3);
const workspaceStateJSON = JSON.stringify(workspaceState, void 0, 2) + "\n";
const cacheFile = getFilePath(opts3.workspaceDir);
await fs84.promises.mkdir(path151.dirname(cacheFile), { recursive: true });
await (0, import_write_file_atomic8.default)(cacheFile, workspaceStateJSON);
}
var import_write_file_atomic8;
var init_updateWorkspaceState = __esm({
"../workspace/state/lib/updateWorkspaceState.js"() {
"use strict";
init_lib3();
import_write_file_atomic8 = __toESM(require_lib10(), 1);
init_createWorkspaceState();
init_filePath();
}
});
// ../workspace/state/lib/index.js
var init_lib133 = __esm({
"../workspace/state/lib/index.js"() {
"use strict";
init_loadWorkspaceState();
init_types3();
init_updateWorkspaceState();
}
});
// ../deps/status/lib/assertLockfilesEqual.js
function assertLockfilesEqual(currentLockfile, wantedLockfile, wantedLockfileDir) {
if (!currentLockfile) {
for (const [name, snapshot] of Object.entries(wantedLockfile.importers)) {
if (!equals_default(snapshot.specifiers, {})) {
throw new PnpmError("RUN_CHECK_DEPS_NO_DEPS", `Project ${name} requires dependencies but none was installed.`, {
hint: "Run `pnpm install` to install dependencies"
});
}
}
} else if (!equals_default(currentLockfile, wantedLockfile)) {
throw new PnpmError("RUN_CHECK_DEPS_OUTDATED_DEPS", `The installed dependencies in the modules directory is not up-to-date with the lockfile in ${wantedLockfileDir}.`, {
hint: "Run `pnpm install` to update dependencies."
});
}
}
var init_assertLockfilesEqual = __esm({
"../deps/status/lib/assertLockfilesEqual.js"() {
"use strict";
init_lib2();
init_es();
}
});
// ../deps/status/lib/safeStat.js
import fs85 from "node:fs";
import util41 from "node:util";
async function safeStat(filePath) {
try {
return await fs85.promises.stat(filePath);
} catch (error) {
if (util41.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
return void 0;
}
throw error;
}
}
function safeStatSync(filePath) {
try {
return fs85.statSync(filePath);
} catch (error) {
if (util41.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
return void 0;
}
throw error;
}
}
var init_safeStat = __esm({
"../deps/status/lib/safeStat.js"() {
"use strict";
}
});
// ../deps/status/lib/statManifestFile.js
import path152 from "node:path";
async function statManifestFile(projectRootDir) {
const attempts = await Promise.all(MANIFEST_BASE_NAMES.map((baseName) => {
const manifestPath = path152.join(projectRootDir, baseName);
return safeStat(manifestPath);
}));
return attempts.find((stats) => stats != null);
}
var init_statManifestFile = __esm({
"../deps/status/lib/statManifestFile.js"() {
"use strict";
init_lib();
init_safeStat();
}
});
// ../deps/status/lib/checkDepsStatus.js
import fs86 from "node:fs";
import path153 from "node:path";
import util42 from "node:util";
async function checkDepsStatus(opts3) {
const workspaceState = loadWorkspaceState(opts3.workspaceDir ?? opts3.rootProjectManifestDir);
if (!workspaceState) {
if (opts3.allProjects == null && opts3.workspaceDir == null && opts3.rootProjectManifest == null) {
return { upToDate: void 0, workspaceState };
}
return {
upToDate: false,
issue: "Cannot check whether dependencies are outdated",
workspaceState
};
}
try {
return await _checkDepsStatus(opts3, workspaceState);
} catch (error) {
if (util42.types.isNativeError(error) && "code" in error && String(error.code).startsWith("ERR_PNPM_RUN_CHECK_DEPS_")) {
return {
upToDate: false,
issue: error.message,
workspaceState
};
}
return {
upToDate: void 0,
issue: util42.types.isNativeError(error) ? error.message : void 0,
workspaceState
};
}
}
async function _checkDepsStatus(opts3, workspaceState) {
const { allProjects, autoInstallPeers, injectWorkspacePackages, catalogs, excludeLinksFromLockfile, linkWorkspacePackages, lockfileDir, nodeLinker, patchedDependencies, rootProjectManifest, rootProjectManifestDir, sharedWorkspaceLockfile, workspaceDir } = opts3;
if (opts3.treatLocalFileDepsAsOutdated) {
const manifests = allProjects?.map(({ manifest }) => manifest) ?? [];
if (rootProjectManifest != null && !allProjects?.some(({ rootDir }) => rootDir === rootProjectManifestDir)) {
manifests.push(rootProjectManifest);
}
const localFileDep = findLocalFileDep(manifests, opts3.include, catalogs);
if (localFileDep != null) {
return {
upToDate: false,
issue: `The dependency "${localFileDep}" is a local file dependency and its contents may have changed`,
workspaceState
};
}
const localFileOverride = findLocalFileOverride(opts3.overrides, catalogs);
if (localFileOverride != null) {
return {
upToDate: false,
issue: `The override "${localFileOverride}" maps to a local file dependency and its contents may have changed`,
workspaceState
};
}
const localFileExtension = findLocalFilePackageExtension(opts3.packageExtensions, opts3.include, catalogs);
if (localFileExtension != null) {
return {
upToDate: false,
issue: `The package extension "${localFileExtension}" injects a local file dependency and its contents may have changed`,
workspaceState
};
}
}
if (nodeLinker === "pnp") {
globalWarn2("verify-deps-before-run does not work with node-linker=pnp");
return { upToDate: true, workspaceState: void 0 };
}
if (opts3.ignoreFilteredInstallCache && workspaceState.filteredInstall) {
return { upToDate: void 0, workspaceState };
}
if (workspaceState.settings) {
const ignoredSettings = new Set(opts3.ignoredWorkspaceStateSettings);
ignoredSettings.add("catalogs");
for (const settingName of WORKSPACE_STATE_SETTING_KEYS) {
if (ignoredSettings.has(settingName))
continue;
const storedValue = settingName === "allowBuilds" ? workspaceState.settings[settingName] ?? {} : workspaceState.settings[settingName];
const currentValue = settingName === "allowBuilds" ? opts3.allowBuilds ?? {} : opts3[settingName];
if (!equals_default(storedValue, currentValue)) {
return {
upToDate: false,
issue: `The value of the ${settingName} setting has changed`,
workspaceState
};
}
}
}
if ((opts3.configDependencies != null || workspaceState.configDependencies != null) && !equals_default(opts3.configDependencies ?? {}, workspaceState.configDependencies ?? {})) {
return {
upToDate: false,
issue: "Configuration dependencies are not up to date",
workspaceState
};
}
const lockfileDirs = getWantedLockfileDirs({
allProjects,
lockfileDir,
rootProjectManifestDir,
sharedWorkspaceLockfile,
workspaceDir
});
const wantedLockfileName = await getWantedLockfileName({
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles,
cwd: workspaceDir ?? lockfileDir ?? rootProjectManifestDir
});
const { conflictedDir: conflictedLockfileDir, anyModified: lockfilesModified, anyMissing: lockfilesMissing } = scanWantedLockfiles(lockfileDirs, workspaceState.lastValidatedTimestamp, {
wantedLockfileName,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
if (conflictedLockfileDir != null) {
return {
upToDate: false,
issue: `The lockfile in ${conflictedLockfileDir} has merge conflicts`,
workspaceState
};
}
if (allProjects && workspaceDir) {
if (!equals_default(filter_default((value) => value != null, workspaceState.settings.catalogs ?? {}), filter_default((value) => value != null, catalogs ?? {}))) {
return {
upToDate: false,
issue: "Catalogs cache outdated",
workspaceState
};
}
if (allProjects.length !== Object.keys(workspaceState.projects).length || !allProjects.every((currentProject) => {
const prevProject = workspaceState.projects[currentProject.rootDir];
if (!prevProject)
return false;
return prevProject.name === currentProject.manifest.name && (prevProject.version ?? "0.0.0") === (currentProject.manifest.version ?? "0.0.0");
})) {
return {
upToDate: false,
issue: "The workspace structure has changed since last install",
workspaceState
};
}
let statModulesDir;
if (nodeLinker === "hoisted") {
const statsPromise = safeStat(path153.join(rootProjectManifestDir, "node_modules"));
statModulesDir = () => statsPromise;
} else {
const _nodeLinkerTypeGuard = nodeLinker;
statModulesDir = (project) => safeStat(path153.join(project.rootDir, "node_modules"));
}
const allManifestStats = await Promise.all(allProjects.map(async (project) => {
const modulesDirStatsPromise = statModulesDir(project);
const manifestStats = await statManifestFile(project.rootDir);
if (!manifestStats) {
throw new Error(`Cannot find one of ${MANIFEST_BASE_NAMES.join(", ")} in ${project.rootDir}`);
}
return {
project,
manifestStats,
modulesDirStats: await modulesDirStatsPromise
};
}));
if (!workspaceState.filteredInstall) {
for (const { modulesDirStats, project } of allManifestStats) {
if (modulesDirStats)
continue;
if (isEmpty_default({
...project.manifest.dependencies,
...project.manifest.devDependencies
}))
continue;
const id = project.manifest.name ?? project.rootDir;
return {
upToDate: false,
issue: `Workspace package ${id} has dependencies but does not have a modules directory`,
workspaceState
};
}
}
const issue = await patchesOrHooksAreModified({
patchedDependencies,
rootDir: rootProjectManifestDir,
lastValidatedTimestamp: workspaceState.lastValidatedTimestamp,
currentPnpmfiles: opts3.pnpmfile,
previousPnpmfiles: workspaceState.pnpmfiles
});
if (issue) {
return { upToDate: false, issue, workspaceState };
}
const modifiedProjects = allManifestStats.filter(({ manifestStats }) => modifiedAtOrAfter(manifestStats, workspaceState.lastValidatedTimestamp));
if (modifiedProjects.length === 0 && !lockfilesModified) {
const wantedLockfileToRestore2 = lockfilesMissing && sharedWorkspaceLockfile && !opts3.useGitBranchLockfile ? await missingWantedLockfileStandIn(workspaceDir, wantedLockfileName) : void 0;
if (!lockfilesMissing || wantedLockfileToRestore2 != null) {
logger2.debug({ msg: "No manifest files or lockfiles were modified since the last validation. Exiting check." });
return { upToDate: true, workspaceState, wantedLockfileToRestore: wantedLockfileToRestore2 };
}
}
logger2.debug({ msg: "Some manifest files or lockfiles were modified since the last validation. Continuing check." });
let wantedLockfileToRestore;
let readWantedLockfileAndDir;
if (sharedWorkspaceLockfile) {
let wantedLockfileStats;
try {
wantedLockfileStats = fs86.statSync(path153.join(workspaceDir, wantedLockfileName));
} catch (error) {
if (util42.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
wantedLockfileStats = void 0;
} else {
throw error;
}
}
if (wantedLockfileStats == null) {
if (opts3.useGitBranchLockfile)
return throwLockfileNotFound(workspaceDir);
const currentLockfile = await readCurrentLockfile(path153.join(workspaceDir, "node_modules/.pnpm"), { ignoreIncompatible: false });
if (currentLockfile == null)
return throwLockfileNotFound(workspaceDir);
wantedLockfileToRestore = { lockfile: currentLockfile, lockfileDir: workspaceDir };
readWantedLockfileAndDir = async () => ({
wantedLockfile: currentLockfile,
wantedLockfileDir: workspaceDir
});
} else {
const wantedLockfilePromise = readWantedLockfile(workspaceDir, {
ignoreIncompatible: false,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
if (modifiedAtOrAfter(wantedLockfileStats, workspaceState.lastValidatedTimestamp)) {
const currentLockfile = await readCurrentLockfile(path153.join(workspaceDir, "node_modules/.pnpm"), { ignoreIncompatible: false });
const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir);
assertLockfilesEqual(currentLockfile, wantedLockfile, workspaceDir);
}
readWantedLockfileAndDir = async () => ({
wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir),
wantedLockfileDir: workspaceDir
});
}
} else {
readWantedLockfileAndDir = async (wantedLockfileDir) => {
const wantedLockfilePromise = readWantedLockfile(wantedLockfileDir, {
ignoreIncompatible: false,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
const wantedLockfileStats = await safeStat(path153.join(wantedLockfileDir, wantedLockfileName));
if (!wantedLockfileStats)
return throwLockfileNotFound(wantedLockfileDir);
if (modifiedAtOrAfter(wantedLockfileStats, workspaceState.lastValidatedTimestamp)) {
const currentLockfile = await readCurrentLockfile(path153.join(wantedLockfileDir, "node_modules/.pnpm"), { ignoreIncompatible: false });
const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir);
assertLockfilesEqual(currentLockfile, wantedLockfile, wantedLockfileDir);
}
return {
wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir),
wantedLockfileDir
};
};
}
const getProjectId = sharedWorkspaceLockfile ? (project) => getLockfileImporterId(workspaceDir, project.rootDir) : () => ".";
const getWorkspacePackages = once_default(arrayOfWorkspacePackagesToMap.bind(null, allProjects));
const getManifestsByDir = once_default(() => getWorkspacePackagesByDirectory(getWorkspacePackages()));
const assertCtx = {
autoInstallPeers,
injectWorkspacePackages,
config: opts3,
excludeLinksFromLockfile,
linkWorkspacePackages,
getManifestsByDir,
getWorkspacePackages,
rootDir: workspaceDir
};
try {
const projectsToCheck = lockfilesModified ? allManifestStats : modifiedProjects;
await Promise.all(projectsToCheck.map(async ({ project }) => {
const { wantedLockfile, wantedLockfileDir } = await readWantedLockfileAndDir(project.rootDir);
await assertWantedLockfileUpToDate(assertCtx, {
projectDir: project.rootDir,
projectId: getProjectId(project),
projectManifest: project.manifest,
wantedLockfile,
wantedLockfileDir
});
}));
} catch (err2) {
return {
upToDate: false,
issue: util42.types.isNativeError(err2) && "message" in err2 ? err2.message : void 0,
workspaceState
};
}
await updateWorkspaceState({
allProjects,
workspaceDir,
pnpmfiles: workspaceState.pnpmfiles,
settings: opts3,
filteredInstall: workspaceState.filteredInstall
});
return { upToDate: true, workspaceState, wantedLockfileToRestore };
}
if (!allProjects) {
const workspaceRoot = workspaceDir ?? rootProjectManifestDir;
const workspaceManifest = await readWorkspaceManifest(workspaceRoot);
if (workspaceManifest ?? workspaceDir) {
const allProjects2 = await findWorkspaceProjectsNoCheck(rootProjectManifestDir, {
patterns: workspaceManifest?.packages
});
return checkDepsStatus({
...opts3,
allProjects: allProjects2
});
}
} else {
throw new Error("Impossible variant: allProjects is defined but workspaceDir is undefined");
}
if (rootProjectManifest && rootProjectManifestDir) {
const internalPnpmDir = path153.join(rootProjectManifestDir, "node_modules", ".pnpm");
const currentLockfilePromise = readCurrentLockfile(internalPnpmDir, { ignoreIncompatible: false });
const wantedLockfilePromise = readWantedLockfile(rootProjectManifestDir, {
ignoreIncompatible: false,
useGitBranchLockfile: opts3.useGitBranchLockfile,
mergeGitBranchLockfiles: opts3.mergeGitBranchLockfiles
});
const [currentLockfileStats, wantedLockfileStats, manifestStats] = await Promise.all([
safeStat(path153.join(internalPnpmDir, "lock.yaml")),
safeStat(path153.join(rootProjectManifestDir, wantedLockfileName)),
statManifestFile(rootProjectManifestDir)
]);
if (!wantedLockfileStats && (!currentLockfileStats || opts3.useGitBranchLockfile))
return throwLockfileNotFound(rootProjectManifestDir);
const wantedLockfileIsMissing = !wantedLockfileStats;
const effectiveWantedLockfileStats = wantedLockfileStats ?? currentLockfileStats;
const readEffectiveWantedLockfile = async () => {
const lockfile = wantedLockfileIsMissing ? await currentLockfilePromise : await wantedLockfilePromise;
return lockfile ?? throwLockfileNotFound(rootProjectManifestDir);
};
const issue = await patchesOrHooksAreModified({
patchedDependencies,
rootDir: rootProjectManifestDir,
lastValidatedTimestamp: effectiveWantedLockfileStats.mtime.valueOf(),
currentPnpmfiles: opts3.pnpmfile,
previousPnpmfiles: workspaceState.pnpmfiles
});
if (issue) {
return { upToDate: false, issue, workspaceState };
}
if (!wantedLockfileIsMissing && currentLockfileStats && modifiedAtOrAfter(wantedLockfileStats, currentLockfileStats.mtime.valueOf())) {
const currentLockfile = await currentLockfilePromise;
const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir);
assertLockfilesEqual(currentLockfile, wantedLockfile, rootProjectManifestDir);
}
if (!manifestStats) {
throw new Error(`Cannot find one of ${MANIFEST_BASE_NAMES.join(", ")} in ${rootProjectManifestDir}`);
}
if (modifiedAtOrAfter(manifestStats, effectiveWantedLockfileStats.mtime.valueOf())) {
logger2.debug({ msg: "The manifest is newer than the lockfile. Continuing check." });
try {
await assertWantedLockfileUpToDate({
autoInstallPeers,
injectWorkspacePackages,
config: opts3,
excludeLinksFromLockfile,
linkWorkspacePackages,
getManifestsByDir: () => ({}),
getWorkspacePackages: () => void 0,
rootDir: rootProjectManifestDir
}, {
projectDir: rootProjectManifestDir,
projectId: ".",
projectManifest: rootProjectManifest,
wantedLockfile: await readEffectiveWantedLockfile(),
wantedLockfileDir: rootProjectManifestDir
});
} catch (err2) {
return {
upToDate: false,
issue: util42.types.isNativeError(err2) && "message" in err2 ? err2.message : void 0,
workspaceState
};
}
} else if (currentLockfileStats) {
logger2.debug({ msg: "The manifest file is not newer than the lockfile. Exiting check." });
} else {
const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir);
if (!isEmpty_default(wantedLockfile.packages ?? {})) {
throw new PnpmError("RUN_CHECK_DEPS_NO_DEPS", "The lockfile requires dependencies but none were installed", {
hint: "Run `pnpm install` to install dependencies"
});
}
}
if (wantedLockfileIsMissing) {
const currentLockfile = await currentLockfilePromise;
if (currentLockfile != null) {
return {
upToDate: true,
workspaceState,
wantedLockfileToRestore: { lockfile: currentLockfile, lockfileDir: rootProjectManifestDir }
};
}
}
return { upToDate: true, workspaceState };
}
globalWarn2("Skipping check.");
return { upToDate: void 0, workspaceState };
}
async function assertWantedLockfileUpToDate(ctx, opts3) {
const { autoInstallPeers, config: config2, excludeLinksFromLockfile, linkWorkspacePackages, getManifestsByDir, getWorkspacePackages } = ctx;
const { projectDir, projectId, projectManifest, wantedLockfile, wantedLockfileDir } = opts3;
const resolvedPatchedDeps = resolvePatchedDependencies(config2.patchedDependencies, wantedLockfileDir);
const [patchedDependencies, pnpmfileChecksum] = await Promise.all([
calcPatchHashes(resolvedPatchedDeps ?? {}),
config2.hooks?.calculatePnpmfileChecksum?.()
]);
const outdatedLockfileSettingName = getOutdatedLockfileSetting(wantedLockfile, {
catalogs: config2.catalogs,
autoInstallPeers: config2.autoInstallPeers,
injectWorkspacePackages: config2.injectWorkspacePackages,
excludeLinksFromLockfile: config2.excludeLinksFromLockfile,
peersSuffixMaxLength: config2.peersSuffixMaxLength,
overrides: createOverridesMapFromParsed(parseOverrides(config2.overrides ?? {}, config2.catalogs)),
ignoredOptionalDependencies: config2.ignoredOptionalDependencies?.sort(),
packageExtensionsChecksum: hashObjectNullableWithPrefix(config2.packageExtensions),
patchedDependencies,
pnpmfileChecksum
});
if (outdatedLockfileSettingName) {
throw new PnpmError("RUN_CHECK_DEPS_OUTDATED_LOCKFILE", `Setting ${outdatedLockfileSettingName} of lockfile in ${wantedLockfileDir} is outdated`, {
hint: "Run `pnpm install` to update the lockfile"
});
}
if (!satisfiesPackageManifest({
autoInstallPeers,
excludeLinksFromLockfile
}, wantedLockfile.importers[projectId], projectManifest).satisfies) {
throw new PnpmError("RUN_CHECK_DEPS_UNSATISFIED_PKG_MANIFEST", `The lockfile in ${wantedLockfileDir} does not satisfy project of id ${projectId}`, {
hint: "Run `pnpm install` to update the lockfile"
});
}
if (!await linkedPackagesAreUpToDate({
linkWorkspacePackages: !!linkWorkspacePackages,
lockfileDir: wantedLockfileDir,
manifestsByDir: getManifestsByDir(),
workspacePackages: getWorkspacePackages(),
lockfilePackages: wantedLockfile.packages
}, {
dir: projectDir,
manifest: projectManifest,
snapshot: wantedLockfile.importers[projectId]
})) {
throw new PnpmError("RUN_CHECK_DEPS_LINKED_PKGS_OUTDATED", `The linked packages by ${projectDir} is outdated`, {
hint: "Run `pnpm install` to update the packages"
});
}
}
function findLocalFileDep(manifests, include, catalogs) {
for (const manifest of manifests) {
for (const depField of DEPENDENCIES_FIELDS) {
if (include?.[depField] === false)
continue;
const depName = findLocalFileDepInRecord(manifest[depField], catalogs);
if (depName != null)
return depName;
}
}
return void 0;
}
function findLocalFileDepInRecord(deps, catalogs) {
if (deps == null)
return void 0;
for (const [depName, spec] of Object.entries(deps)) {
if (typeof spec !== "string")
continue;
if (isLocalFileSpec(spec))
return depName;
if (!spec.startsWith("catalog:"))
continue;
const catalogResult = resolveFromCatalog(catalogs ?? {}, { alias: depName, bareSpecifier: spec });
if (catalogResult.type === "found" && isLocalFileSpec(catalogResult.resolution.specifier))
return depName;
}
return void 0;
}
function findLocalFilePackageExtension(packageExtensions, include, catalogs) {
if (packageExtensions == null)
return void 0;
for (const [selector, extension] of Object.entries(packageExtensions)) {
if (findLocalFileDepInRecord(extension.dependencies, catalogs) != null)
return selector;
if (include?.optionalDependencies === false)
continue;
if (findLocalFileDepInRecord(extension.optionalDependencies, catalogs) != null)
return selector;
}
return void 0;
}
function findLocalFileOverride(overrides, catalogs) {
if (overrides == null || isEmpty_default(overrides))
return void 0;
return parseOverrides(overrides, catalogs).find(({ newBareSpecifier }) => isLocalFileSpec(newBareSpecifier))?.selector;
}
function isLocalFileSpec(spec) {
if (spec.startsWith("file:"))
return true;
if (LOCAL_PATH_PREFIX.test(spec))
return true;
if (spec.includes(":"))
return false;
if (spec.includes("#"))
return false;
return LOCAL_TARBALL_EXTENSION.test(spec);
}
function throwLockfileNotFound(wantedLockfileDir) {
throw new PnpmError("RUN_CHECK_DEPS_LOCKFILE_NOT_FOUND", `Cannot find a lockfile in ${wantedLockfileDir}`, {
hint: "Run `pnpm install` to create the lockfile"
});
}
async function missingWantedLockfileStandIn(lockfileDir, wantedLockfileName) {
if (safeStatSync(path153.join(lockfileDir, wantedLockfileName)) != null)
return void 0;
const currentLockfile = await readCurrentLockfile(path153.join(lockfileDir, "node_modules/.pnpm"), { ignoreIncompatible: false });
if (currentLockfile == null)
return void 0;
return { lockfile: currentLockfile, lockfileDir };
}
function getWantedLockfileDirs(opts3) {
if (opts3.allProjects && opts3.workspaceDir && opts3.sharedWorkspaceLockfile === false) {
return [...new Set(opts3.allProjects.map(({ rootDir }) => rootDir))];
}
return [opts3.lockfileDir ?? opts3.workspaceDir ?? opts3.rootProjectManifestDir];
}
function scanWantedLockfiles(lockfileDirs, lastValidatedTimestamp, opts3) {
let conflictedDir;
let anyModified = false;
let anyMissing = false;
for (const lockfileDir of lockfileDirs) {
const lockfileNames = opts3.mergeGitBranchLockfiles ? gitBranchLockfileNames(lockfileDir, opts3.wantedLockfileName) : [opts3.wantedLockfileName];
let foundInDir = false;
for (const lockfileName of lockfileNames) {
let stats;
try {
stats = fs86.statSync(path153.join(lockfileDir, lockfileName));
} catch (err2) {
if (util42.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
continue;
throw err2;
}
foundInDir = true;
if (!modifiedAtOrAfter(stats, lastValidatedTimestamp))
continue;
anyModified = true;
if (wantedLockfileHasMergeConflictsSync(lockfileDir, lockfileName)) {
conflictedDir = lockfileDir;
return { conflictedDir, anyModified, anyMissing };
}
}
if (!foundInDir)
anyMissing = true;
}
return { conflictedDir, anyModified, anyMissing };
}
function gitBranchLockfileNames(lockfileDir, wantedLockfileName) {
let branchLockfileNames;
try {
branchLockfileNames = getGitBranchLockfileNamesSync(lockfileDir);
} catch (err2) {
if (util42.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT") {
branchLockfileNames = [];
} else {
throw err2;
}
}
return branchLockfileNames.includes(wantedLockfileName) ? branchLockfileNames : [wantedLockfileName, ...branchLockfileNames];
}
async function patchesOrHooksAreModified(opts3) {
if (opts3.patchedDependencies) {
const allPatchStats = await Promise.all(Object.values(opts3.patchedDependencies).map((patchFile) => {
return safeStat(patchFile);
}));
if (allPatchStats.some((patch) => patch && modifiedAtOrAfter(patch, opts3.lastValidatedTimestamp))) {
return "Patches were modified";
}
}
if (!equals_default(opts3.currentPnpmfiles, opts3.previousPnpmfiles)) {
return "The list of pnpmfiles changed.";
}
for (const pnpmfilePath of opts3.currentPnpmfiles) {
const pnpmfileStats = safeStatSync(pnpmfilePath);
if (pnpmfileStats == null) {
return `pnpmfile at "${pnpmfilePath}" was removed`;
}
if (modifiedAtOrAfter(pnpmfileStats, opts3.lastValidatedTimestamp)) {
return `pnpmfile at "${pnpmfilePath}" was modified`;
}
}
return void 0;
}
function modifiedAtOrAfter(stats, referenceMs) {
const wholeSecond = stats.mtimeMs % 1e3 === 0;
const mtimeMs = stats.mtime.valueOf();
return wholeSecond ? mtimeMs + 1e3 > referenceMs : mtimeMs > referenceMs;
}
var LOCAL_PATH_PREFIX, LOCAL_TARBALL_EXTENSION;
var init_checkDepsStatus = __esm({
"../deps/status/lib/checkDepsStatus.js"() {
"use strict";
init_lib97();
init_lib99();
init_lib();
init_lib70();
init_lib2();
init_lib89();
init_lib80();
init_lib124();
init_lib123();
init_lib63();
init_lib9();
init_lib42();
init_lib133();
init_lib43();
init_es();
init_assertLockfilesEqual();
init_safeStat();
init_statManifestFile();
LOCAL_PATH_PREFIX = /^(?:[./\\]|~[/\\]|[a-z]:)/i;
LOCAL_TARBALL_EXTENSION = /\.(?:tgz|tar\.gz|tar)$/i;
}
});
// ../deps/status/lib/index.js
var init_lib134 = __esm({
"../deps/status/lib/index.js"() {
"use strict";
init_checkDepsStatus();
init_lib133();
}
});
// ../installing/commands/lib/getPinnedVersion.js
function getPinnedVersion(opts3) {
if (opts3.saveExact === true || opts3.savePrefix === "")
return "patch";
return opts3.savePrefix === "~" ? "minor" : "major";
}
var init_getPinnedVersion = __esm({
"../installing/commands/lib/getPinnedVersion.js"() {
"use strict";
}
});
// ../installing/commands/lib/getSaveType.js
function getSaveType(opts3) {
if (opts3.saveDev === true || opts3.savePeer)
return "devDependencies";
if (opts3.saveOptional)
return "optionalDependencies";
if (opts3.saveProd)
return "dependencies";
return void 0;
}
var init_getSaveType = __esm({
"../installing/commands/lib/getSaveType.js"() {
"use strict";
}
});
// ../installing/commands/lib/handleIgnoredBuilds.js
async function handleIgnoredBuilds(opts3, ignoredBuilds) {
if (!ignoredBuilds?.size)
return;
if (!opts3.ignoreWorkspace) {
await writeIgnoredBuildsToAllowBuilds(opts3, ignoredBuilds);
}
if (opts3.strictDepBuilds) {
throw new IgnoredBuildsError(ignoredBuilds);
}
}
async function writeIgnoredBuildsToAllowBuilds(opts3, ignoredBuilds) {
const packageNames = packageNamesFromIgnoredBuilds(ignoredBuilds);
const newEntries = {};
for (const name of packageNames) {
if (opts3.allowBuilds?.[name] == null) {
newEntries[name] = "set this to true or false";
}
}
if (Object.keys(newEntries).length && opts3.rootProjectManifestDir) {
await writeSettings({
rootProjectManifestDir: opts3.rootProjectManifestDir,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir,
updatedSettings: {
allowBuilds: { ...opts3.allowBuilds, ...newEntries }
}
});
}
}
function packageNamesFromIgnoredBuilds(ignoredBuilds) {
return Array.from(new Set(Array.from(ignoredBuilds).map(allowBuildKeyFromIgnoredBuild))).sort(import_util19.lexCompare);
}
var import_util19;
var init_handleIgnoredBuilds = __esm({
"../installing/commands/lib/handleIgnoredBuilds.js"() {
"use strict";
init_lib69();
init_lib102();
init_lib126();
import_util19 = __toESM(require_dist4(), 1);
}
});
// ../installing/commands/lib/policyHandlers.js
function setupPolicyHandlers(opts3) {
const handlers = [];
const minimumReleaseAge = createMinimumReleaseAgeHandler(opts3);
if (minimumReleaseAge)
handlers.push(minimumReleaseAge);
if (handlers.length === 0)
return void 0;
return {
handleResolutionPolicyViolations: async (violations) => {
for (const handler82 of handlers) {
if (handler82.handleResolutionPolicyViolations) {
await handler82.handleResolutionPolicyViolations(violations);
}
}
},
pickManifestUpdates: (violations) => {
const merged = {};
let any2 = false;
for (const handler82 of handlers) {
if (!handler82.pickManifestUpdates)
continue;
const patch = handler82.pickManifestUpdates(violations);
if (patch == null)
continue;
for (const [key, value] of Object.entries(patch)) {
if (value == null)
continue;
merged[key] = value;
any2 = true;
}
}
return any2 ? merged : void 0;
}
};
}
function createMinimumReleaseAgeHandler(opts3) {
if (!opts3.minimumReleaseAge)
return void 0;
const strictMode = opts3.minimumReleaseAgeStrict === true;
const persistenceEnabled = opts3.save !== false;
const inCi = opts3.ci ?? import_ci_info2.isCI;
const canPrompt = !inCi && Boolean(process.stdin.isTTY);
return {
handleResolutionPolicyViolations: async (violations) => {
if (!strictMode)
return;
const immature = filterImmatureViolations(violations);
if (immature.length === 0)
return;
if (!persistenceEnabled) {
throw new PnpmError("STRICT_MIN_RELEASE_AGE_REQUIRES_SAVE", "minimumReleaseAgeStrict cannot be combined with --no-save: approval would require writing to minimumReleaseAgeExclude in pnpm-workspace.yaml, which --no-save prevents.", {
hint: "Drop --no-save so the exclude list can be persisted, or set minimumReleaseAgeStrict: false to let the install proceed without prompting (the lockfile would still trigger the auto-collect on the next normal install)."
});
}
if (canPrompt) {
await promptForApproval(immature);
} else {
throw failOnImmature(immature);
}
},
pickManifestUpdates: (violations) => {
const entries = pickImmatureEntries(violations, strictMode);
return entries ? { addedMinimumReleaseAgeExcludes: entries } : void 0;
}
};
}
function filterImmatureViolations(violations) {
return violations.filter((v) => v.code === MINIMUM_RELEASE_AGE_VIOLATION_CODE);
}
function pickImmatureEntries(violations, promptRequired) {
const immature = filterImmatureViolations(violations);
if (immature.length === 0)
return void 0;
const entries = mergePackageVersionSpecs(immature.map((v) => `${v.name}@${v.version}`).sort());
const reason = promptRequired ? "(approved at the prompt)" : "(set minimumReleaseAgeStrict to true to gate these updates with a prompt)";
globalInfo(`Added ${entries.length} ${entries.length === 1 ? "entry" : "entries"} to minimumReleaseAgeExclude in pnpm-workspace.yaml ${reason}:
${entries.join("\n ")}`);
return entries;
}
function failOnImmature(immature) {
const sorted = [...immature].sort((a2, b) => `${a2.name}@${a2.version}`.localeCompare(`${b.name}@${b.version}`));
const list2 = sorted.map((v) => ` ${v.name}@${v.version} ${v.reason}`).join("\n");
return new PnpmError("NO_MATURE_MATCHING_VERSION", `${sorted.length} ${sorted.length === 1 ? "version does" : "versions do"} not meet the minimumReleaseAge constraint:
${list2}`, {
hint: "Run the install interactively to approve these picks, or add them to minimumReleaseAgeExclude in pnpm-workspace.yaml, or wait for the packages to mature past the configured cutoff."
});
}
async function promptForApproval(immature) {
const sorted = [...immature].sort((a2, b) => `${a2.name}@${a2.version}`.localeCompare(`${b.name}@${b.version}`));
const message = `${sorted.length} ${sorted.length === 1 ? "version does" : "versions do"} not meet the minimumReleaseAge constraint:
` + sorted.map((v) => ` ${v.name}@${v.version}`).join("\n") + "\nAdd to minimumReleaseAgeExclude in pnpm-workspace.yaml and proceed with the install?";
let confirmed;
try {
confirmed = await dist_default5({ message, default: false });
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
confirmed = false;
} else {
throw err2;
}
}
if (!confirmed) {
throw new PnpmError("MINIMUM_RELEASE_AGE_DENIED", "Aborted: the immature versions were not approved.", {
hint: "Re-run the install without `minimumReleaseAgeStrict: true` to allow these versions, or wait for the packages to mature past the configured cutoff."
});
}
}
var import_ci_info2;
var init_policyHandlers = __esm({
"../installing/commands/lib/policyHandlers.js"() {
"use strict";
init_dist14();
init_lib37();
init_lib2();
init_lib3();
init_lib38();
import_ci_info2 = __toESM(require_ci_info(), 1);
}
});
// ../hooks/pnpmfile/lib/requirePnpmfile.js
import fs87 from "node:fs";
import { createRequire as createRequire7 } from "node:module";
import path154 from "node:path";
import { pathToFileURL as pathToFileURL3 } from "node:url";
import util43 from "node:util";
async function requirePnpmfile(pnpmFilePath, prefix) {
try {
let pnpmfile;
if (pnpmFilePath.endsWith(".mjs")) {
const url7 = pathToFileURL3(path154.resolve(pnpmFilePath)).href;
pnpmfile = await import(url7);
} else {
pnpmfile = require3(pnpmFilePath);
}
if (typeof pnpmfile === "undefined") {
logger.warn({
message: `Ignoring the pnpmfile at "${pnpmFilePath}". It exports "undefined".`,
prefix
});
return { pnpmfileModule: void 0 };
}
if (pnpmfile?.hooks?.readPackage && typeof pnpmfile.hooks.readPackage !== "function") {
throw new TypeError("hooks.readPackage should be a function");
}
if (pnpmfile?.hooks?.readPackage) {
const readPackage = pnpmfile.hooks.readPackage;
pnpmfile.hooks.readPackage = async function(pkg, ...args) {
pkg.dependencies = pkg.dependencies ?? {};
pkg.devDependencies = pkg.devDependencies ?? {};
pkg.optionalDependencies = pkg.optionalDependencies ?? {};
pkg.peerDependencies = pkg.peerDependencies ?? {};
const newPkg = await readPackage(pkg, ...args);
if (!newPkg) {
throw new BadReadPackageHookError(pnpmFilePath, "readPackage hook did not return a package manifest object.");
}
const dependencies = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"];
for (const dep of dependencies) {
if (newPkg[dep] != null && (typeof newPkg[dep] !== "object" || Array.isArray(newPkg[dep]))) {
throw new BadReadPackageHookError(pnpmFilePath, `readPackage hook returned package manifest object's property '${dep}' must be an object.`);
}
}
return newPkg;
};
if (pnpmfile?.hooks?.beforePacking && typeof pnpmfile.hooks.beforePacking !== "function") {
throw new TypeError("hooks.beforePacking should be a function");
}
}
return { pnpmfileModule: pnpmfile };
} catch (err2) {
if (err2 instanceof SyntaxError) {
console.error(source_default.red(`A syntax error in the "${pnpmFilePath}"
`));
console.error(err2);
process.exit(1);
}
if (!util43.types.isNativeError(err2)) {
throw new PnpmFileFailError(pnpmFilePath, toError(err2));
}
if (!("code" in err2 && (err2.code === "MODULE_NOT_FOUND" || err2.code === "ERR_MODULE_NOT_FOUND")) || pnpmFileExistsSync(pnpmFilePath)) {
throw new PnpmFileFailError(pnpmFilePath, err2);
}
return void 0;
}
}
function pnpmFileExistsSync(pnpmFilePath) {
const pnpmFileRealName = pnpmFilePath.endsWith(".cjs") || pnpmFilePath.endsWith(".mjs") ? pnpmFilePath : `${pnpmFilePath}.cjs`;
return fs87.existsSync(pnpmFileRealName);
}
function toError(err2) {
if (err2 instanceof Error)
return err2;
try {
return new Error(String(err2), { cause: err2 });
} catch {
return new Error("[non-Error value thrown]", { cause: err2 });
}
}
var require3, BadReadPackageHookError, PnpmFileFailError;
var init_requirePnpmfile = __esm({
"../hooks/pnpmfile/lib/requirePnpmfile.js"() {
"use strict";
init_lib2();
init_lib3();
init_source();
require3 = createRequire7(import.meta.url);
BadReadPackageHookError = class extends PnpmError {
pnpmfile;
constructor(pnpmfile, message) {
super("BAD_READ_PACKAGE_HOOK_RESULT", `${message} Hook imported via ${pnpmfile}`);
this.pnpmfile = pnpmfile;
}
};
PnpmFileFailError = class extends PnpmError {
pnpmfile;
originalError;
constructor(pnpmfile, originalError) {
super("PNPMFILE_FAIL", `Error during pnpmfile execution. pnpmfile: "${pnpmfile}". Error: "${originalError.message}".`);
this.pnpmfile = pnpmfile;
this.originalError = originalError;
}
};
}
});
// ../hooks/pnpmfile/lib/requireHooks.js
async function requireHooks(prefix, opts3) {
const pnpmfiles = [];
if (opts3.globalPnpmfile) {
pnpmfiles.push({
path: opts3.globalPnpmfile,
includeInChecksum: false
});
}
const entries = [];
const loadedFiles = [];
if (opts3.tryLoadDefaultPnpmfile) {
const mjsPath = pathAbsolute(".pnpmfile.mjs", prefix);
const mjsResult = await requirePnpmfile(mjsPath, prefix);
if (mjsResult != null) {
loadedFiles.push(mjsPath);
entries.push({
file: mjsPath,
includeInChecksum: true,
hooks: mjsResult.pnpmfileModule?.hooks,
finders: mjsResult.pnpmfileModule?.finders,
resolvers: mjsResult.pnpmfileModule?.resolvers,
fetchers: mjsResult.pnpmfileModule?.fetchers
});
} else {
pnpmfiles.push({
path: ".pnpmfile.cjs",
includeInChecksum: true,
optional: true
});
}
}
if (opts3.pnpmfiles) {
for (const pnpmfile of opts3.pnpmfiles) {
pnpmfiles.push({
path: pnpmfile,
includeInChecksum: true
});
}
}
await Promise.all(pnpmfiles.map(async ({ path: path236, includeInChecksum, optional }) => {
const file = pathAbsolute(path236, prefix);
if (!loadedFiles.includes(file)) {
loadedFiles.push(file);
const requirePnpmfileResult = await requirePnpmfile(file, prefix);
if (requirePnpmfileResult != null) {
entries.push({
file,
includeInChecksum,
hooks: requirePnpmfileResult.pnpmfileModule?.hooks,
finders: requirePnpmfileResult.pnpmfileModule?.finders,
resolvers: requirePnpmfileResult.pnpmfileModule?.resolvers,
fetchers: requirePnpmfileResult.pnpmfileModule?.fetchers
});
} else if (!optional) {
throw new PnpmError("PNPMFILE_NOT_FOUND", `pnpmfile at "${file}" is not found`);
}
}
}));
const mergedFinders = {};
const cookedHooks = {
readPackage: [],
beforePacking: [],
preResolution: [],
afterAllResolved: [],
filterLog: [],
updateConfig: []
};
if (entries.some((entry) => entry.hooks != null)) {
cookedHooks.calculatePnpmfileChecksum = async () => {
const filesToIncludeInHash = [];
for (const { includeInChecksum, file } of entries) {
if (includeInChecksum) {
filesToIncludeInHash.push(file);
}
}
filesToIncludeInHash.sort();
return createHashFromMultipleFiles(filesToIncludeInHash);
};
}
let importProvider;
const finderProviders = {};
for (const { hooks, file, finders } of entries) {
if (finders != null) {
for (const [finderName, finder] of Object.entries(finders)) {
if (mergedFinders[finderName] != null) {
const firstDefinedIn = finderProviders[finderName];
throw new PnpmError("DUPLICATE_FINDER", `Finder "${finderName}" defined in both ${firstDefinedIn} and ${file}`);
}
mergedFinders[finderName] = finder;
finderProviders[finderName] = file;
}
}
const fileHooks = hooks ?? {};
if (fileHooks.readPackage) {
const fn = fileHooks.readPackage;
const context = createReadPackageHookContext(file, prefix, "readPackage");
cookedHooks.readPackage.push((pkg, _dir) => fn(pkg, context));
}
if (fileHooks.beforePacking) {
const fn = fileHooks.beforePacking;
const context = createReadPackageHookContext(file, prefix, "beforePacking");
cookedHooks.beforePacking.push((pkg, dir) => fn(pkg, dir, context));
}
if (fileHooks.afterAllResolved) {
const fn = fileHooks.afterAllResolved;
const context = createReadPackageHookContext(file, prefix, "afterAllResolved");
cookedHooks.afterAllResolved.push((lockfile) => fn(lockfile, context));
}
if (fileHooks.filterLog) {
cookedHooks.filterLog.push(fileHooks.filterLog);
}
if (fileHooks.updateConfig) {
const updateConfig = fileHooks.updateConfig;
cookedHooks.updateConfig.push((config2) => {
const updated = updateConfig(config2);
if (updated == null) {
throw new PnpmError("CONFIG_IS_UNDEFINED", "The updateConfig hook returned undefined");
}
return updated;
});
}
if (fileHooks.preResolution) {
const preRes = fileHooks.preResolution;
cookedHooks.preResolution.push((ctx) => preRes(ctx, createPreResolutionHookLogger(prefix)));
}
if (fileHooks.importPackage) {
if (importProvider) {
throw new PnpmError("MULTIPLE_IMPORT_PACKAGE", `importPackage hook defined in both ${importProvider} and ${file}`);
}
importProvider = file;
cookedHooks.importPackage = fileHooks.importPackage;
}
}
for (const { resolvers, fetchers } of entries) {
if (resolvers) {
cookedHooks.customResolvers = cookedHooks.customResolvers ?? [];
cookedHooks.customResolvers.push(...resolvers);
}
if (fetchers) {
cookedHooks.customFetchers = cookedHooks.customFetchers ?? [];
cookedHooks.customFetchers.push(...fetchers);
}
}
return {
hooks: cookedHooks,
finders: mergedFinders,
resolvedPnpmfilePaths: entries.map(({ file }) => file)
};
}
function createReadPackageHookContext(calledFrom, prefix, hook) {
return {
log: (message) => {
hookLogger.debug({ from: calledFrom, hook, message, prefix });
}
};
}
function createPreResolutionHookLogger(prefix) {
const hook = "preResolution";
const from5 = "pnpmfile";
return {
info: (message) => {
hookLogger.info({ message, prefix, hook, from: from5 });
},
warn: (message) => {
hookLogger.warn({ message, prefix, hook, from: from5 });
}
};
}
var init_requireHooks = __esm({
"../hooks/pnpmfile/lib/requireHooks.js"() {
"use strict";
init_lib6();
init_lib34();
init_lib2();
init_path_absolute();
init_requirePnpmfile();
}
});
// ../hooks/pnpmfile/lib/index.js
var init_lib135 = __esm({
"../hooks/pnpmfile/lib/index.js"() {
"use strict";
init_requireHooks();
init_requirePnpmfile();
}
});
// ../installing/commands/lib/updateWorkspaceDependencies.js
function updateToWorkspacePackagesFromManifest(manifest, include, workspacePackages) {
const allDeps = {
...include.devDependencies ? manifest.devDependencies : {},
...include.dependencies ? manifest.dependencies : {},
...include.optionalDependencies ? manifest.optionalDependencies : {}
};
return Object.keys(allDeps).filter((depName) => workspacePackages.has(depName)).map((depName) => `${depName}@workspace:*`);
}
function createWorkspaceSpecs(specs, workspacePackages) {
return specs.map((spec) => {
const parsed = parseWantedDependency(spec);
if (!parsed.alias)
throw new PnpmError("NO_PKG_NAME_IN_SPEC", `Cannot update/install from workspace through "${spec}"`);
if (!workspacePackages.has(parsed.alias))
throw new PnpmError("WORKSPACE_PACKAGE_NOT_FOUND", `"${parsed.alias}" not found in the workspace`);
if (!parsed.bareSpecifier)
return `${parsed.alias}@workspace:*`;
if (parsed.bareSpecifier.startsWith("workspace:"))
return spec;
return `${parsed.alias}@workspace:${parsed.bareSpecifier}`;
});
}
var init_updateWorkspaceDependencies = __esm({
"../installing/commands/lib/updateWorkspaceDependencies.js"() {
"use strict";
init_lib2();
init_lib98();
}
});
// ../installing/commands/lib/recursive.js
import { promises as fs88 } from "node:fs";
import path155 from "node:path";
async function recursive(allProjects, params, opts3, cmdFullName) {
if (allProjects.length === 0) {
return { passed: false };
}
const pkgs = Object.values(opts3.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
if (pkgs.length === 0) {
return { passed: false };
}
const manifestsByPath = getManifestsByPath(allProjects);
const throwOnFail = throwOnCommandFail.bind(null, `pnpm recursive ${cmdFullName}`);
const store = opts3.storeControllerAndDir ?? await createStoreController(opts3);
const workspacePackages = arrayOfWorkspacePackagesToMap(allProjects);
const targetDependenciesField = getSaveType(opts3);
const policyHandlers = setupPolicyHandlers(opts3);
const installOpts = Object.assign(opts3, {
allProjects: getAllProjects(manifestsByPath, opts3.allProjectsGraph, opts3.sort),
linkWorkspacePackagesDepth: opts3.linkWorkspacePackages === "deep" ? Infinity : opts3.linkWorkspacePackages ? 0 : -1,
ownLifecycleHooksStdio: "pipe",
peer: opts3.savePeer,
pruneLockfileImporters: opts3.pruneLockfileImporters ?? ((opts3.ignoredPackages == null || opts3.ignoredPackages.size === 0) && pkgs.length === allProjects.length),
saveCatalogName: opts3.saveCatalogName,
skipRuntimes: opts3.runtime === false,
storeController: store.ctrl,
storeDir: store.dir,
targetDependenciesField,
resolutionVerifiers: store.resolutionVerifiers,
workspacePackages,
handleResolutionPolicyViolations: policyHandlers?.handleResolutionPolicyViolations
});
const result2 = {};
const projectConfigRecord = createProjectConfigRecord(opts3);
const getProjectConfig = projectConfigRecord ? (manifest) => manifest.name ? projectConfigRecord[manifest.name] : void 0 : () => void 0;
const updateToLatest = opts3.update && opts3.latest;
const includeDirect = opts3.includeDirect ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true
};
let updateMatch;
if (cmdFullName === "update") {
if (params.length === 0) {
const ignoreDeps = opts3.updateConfig?.ignoreDependencies;
if (ignoreDeps?.length) {
params = makeIgnorePatterns(ignoreDeps);
}
}
updateMatch = params.length ? createMatcher2(params) : null;
} else {
updateMatch = null;
}
if (opts3.lockfileDir && ["add", "install", "remove", "update", "import"].includes(cmdFullName)) {
let importers = getImporters(opts3);
const calculatedRepositoryRoot = await fs88.realpath(calculateRepositoryRoot(opts3.workspaceDir, importers.map((x3) => x3.rootDir)));
const isFromWorkspace = isSubdir.bind(null, calculatedRepositoryRoot);
importers = await pFilter(importers, async ({ rootDirRealPath }) => isFromWorkspace(rootDirRealPath));
if (importers.length === 0)
return { passed: true };
let mutation;
switch (cmdFullName) {
case "remove":
mutation = "uninstallSome";
break;
case "import":
mutation = "install";
break;
default:
mutation = params.length === 0 && !updateToLatest ? "install" : "installSome";
break;
}
const mutatedImporters = [];
await Promise.all(importers.map(async ({ rootDir }) => {
const { manifest } = manifestsByPath[rootDir];
const localConfig = getProjectConfig(manifest) ?? {};
const modulesDir = localConfig.modulesDir ?? opts3.modulesDir;
let currentInput = [...params];
if (updateMatch != null) {
currentInput = matchDependencies(updateMatch, manifest, includeDirect);
if (currentInput.length === 0 && (typeof opts3.depth === "undefined" || opts3.depth <= 0)) {
installOpts.pruneLockfileImporters = false;
return;
}
}
if (updateToLatest && (!params || params.length === 0)) {
currentInput = Object.keys(filterDependenciesByType(manifest, includeDirect));
}
if (opts3.workspace) {
if (!currentInput || currentInput.length === 0) {
currentInput = updateToWorkspacePackagesFromManifest(manifest, includeDirect, workspacePackages);
} else {
currentInput = createWorkspaceSpecs(currentInput, workspacePackages);
}
}
switch (mutation) {
case "uninstallSome":
mutatedImporters.push({
dependencyNames: currentInput,
modulesDir,
mutation,
rootDir,
targetDependenciesField
});
return;
case "installSome":
mutatedImporters.push({
allowNew: cmdFullName === "install" || cmdFullName === "add",
dependencySelectors: currentInput,
modulesDir,
mutation,
peer: opts3.savePeer,
pinnedVersion: getPinnedVersion({
saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts3.saveExact,
savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts3.savePrefix
}),
rootDir,
targetDependenciesField,
update: opts3.update,
updateMatching: opts3.updateMatching,
updatePackageManifest: opts3.updatePackageManifest,
updateToLatest: opts3.latest
});
return;
case "install":
mutatedImporters.push({
modulesDir,
mutation,
pruneDirectDependencies: opts3.pruneDirectDependencies,
rootDir,
update: opts3.update,
updateMatching: opts3.updateMatching,
updatePackageManifest: opts3.updatePackageManifest,
updateToLatest: opts3.latest
});
}
}));
if (!opts3.selectedProjectsGraph[opts3.workspaceDir] && manifestsByPath[opts3.workspaceDir] != null) {
mutatedImporters.push({
mutation: "install",
rootDir: opts3.workspaceDir
});
}
if (mutatedImporters.length === 0 && cmdFullName === "update" && opts3.depth === 0) {
throw new PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects.");
}
const { updatedCatalogs: updatedCatalogs2, updatedProjects: mutatedPkgs, ignoredBuilds, resolutionPolicyViolations, dryRunResult } = await mutateModules(mutatedImporters, {
...installOpts,
storeController: store.ctrl,
resolutionVerifiers: store.resolutionVerifiers
});
if (opts3.save !== false && !opts3.dryRun) {
const policyUpdates = policyHandlers?.pickManifestUpdates(resolutionPolicyViolations);
const promises = mutatedPkgs.map(async ({ originalManifest, manifest, rootDir }) => {
return manifestsByPath[rootDir].writeProjectManifest(originalManifest ?? manifest);
});
promises.push(updateWorkspaceManifest(opts3.workspaceDir, {
updatedCatalogs: updatedCatalogs2,
cleanupUnusedCatalogs: opts3.cleanupUnusedCatalogs,
allProjects,
...policyUpdates
}));
await Promise.all(promises);
}
await handleIgnoredBuilds(opts3, ignoredBuilds);
return { passed: true, updatedCatalogs: updatedCatalogs2, dryRunResult };
}
const pkgPaths = Object.keys(opts3.selectedProjectsGraph).sort();
let updatedCatalogs;
const allIgnoredBuilds = /* @__PURE__ */ new Set();
const allResolutionPolicyViolations = [];
const limitInstallation = pLimit(getWorkspaceConcurrency(opts3.workspaceConcurrency));
await Promise.all(pkgPaths.map(async (rootDir) => limitInstallation(async () => {
const hooks = opts3.ignorePnpmfile ? {} : await (async () => {
const { hooks: pnpmfileHooks } = await requireHooks(rootDir, opts3);
return {
...opts3.hooks,
...pnpmfileHooks,
afterAllResolved: [...pnpmfileHooks.afterAllResolved ?? [], ...opts3.hooks?.afterAllResolved ?? []],
readPackage: [...pnpmfileHooks.readPackage ?? [], ...opts3.hooks?.readPackage ?? []]
};
})();
try {
if (opts3.ignoredPackages?.has(rootDir)) {
return;
}
result2[rootDir] = { status: "running" };
const { manifest, writeProjectManifest: writeProjectManifest2 } = manifestsByPath[rootDir];
let currentInput = [...params];
if (updateMatch != null) {
currentInput = matchDependencies(updateMatch, manifest, includeDirect);
if (currentInput.length === 0)
return;
}
if (updateToLatest && (!params || params.length === 0)) {
currentInput = Object.keys(filterDependenciesByType(manifest, includeDirect));
}
if (opts3.workspace) {
if (!currentInput || currentInput.length === 0) {
currentInput = updateToWorkspacePackagesFromManifest(manifest, includeDirect, workspacePackages);
} else {
currentInput = createWorkspaceSpecs(currentInput, workspacePackages);
}
}
let action;
switch (cmdFullName) {
case "remove":
action = async (manifest2, opts4) => {
const mutationResult = await mutateModules([
{
dependencyNames: currentInput,
mutation: "uninstallSome",
rootDir
}
], opts4);
return {
updatedCatalogs: void 0,
// there's no reason to add new or update catalogs on `pnpm remove`
updatedManifest: mutationResult.updatedProjects[0].manifest,
ignoredBuilds: mutationResult.ignoredBuilds,
resolutionPolicyViolations: mutationResult.resolutionPolicyViolations
};
};
break;
default:
action = currentInput.length === 0 ? install : async (manifest2, opts4) => addDependenciesToPackage(manifest2, currentInput, opts4);
break;
}
const localConfig = getProjectConfig(manifest) ?? {};
const { updatedCatalogs: newCatalogsAddition, updatedManifest: newManifest, ignoredBuilds, resolutionPolicyViolations } = await action(manifest, {
...installOpts,
...localConfig,
...opts3.allProjectsGraph[rootDir]?.package,
bin: path155.join(rootDir, "node_modules", ".bin"),
dir: rootDir,
hooks,
ignoreScripts: true,
pinnedVersion: getPinnedVersion({
saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts3.saveExact,
savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts3.savePrefix
}),
configByUri: installOpts.configByUri,
storeController: store.ctrl,
resolutionVerifiers: store.resolutionVerifiers
});
if (opts3.save !== false) {
await writeProjectManifest2(newManifest);
if (newCatalogsAddition) {
updatedCatalogs = mergeCatalogs(updatedCatalogs, newCatalogsAddition);
}
}
if (ignoredBuilds?.size) {
for (const depPath of ignoredBuilds) {
allIgnoredBuilds.add(depPath);
}
}
if (resolutionPolicyViolations?.length) {
for (const violation of resolutionPolicyViolations) {
allResolutionPolicyViolations.push(violation);
}
}
result2[rootDir].status = "passed";
} catch (err2) {
logger.info(err2);
if (!opts3.bail) {
result2[rootDir] = {
status: "failure",
error: err2,
message: err2.message,
prefix: rootDir
};
return;
}
err2["prefix"] = rootDir;
throw err2;
}
})));
await handleIgnoredBuilds(opts3, allIgnoredBuilds.size ? allIgnoredBuilds : void 0);
if (opts3.save !== false) {
await updateWorkspaceManifest(opts3.workspaceDir, {
updatedCatalogs,
cleanupUnusedCatalogs: opts3.cleanupUnusedCatalogs,
allProjects,
...policyHandlers?.pickManifestUpdates(allResolutionPolicyViolations)
});
}
if (!opts3.lockfileOnly && !opts3.ignoreScripts && (cmdFullName === "add" || cmdFullName === "install" || cmdFullName === "update")) {
await opts3.rebuildHandler?.({
...opts3,
pending: opts3.pending === true,
skipIfHasSideEffectsCache: true
}, []);
}
throwOnFail(result2);
if (!Object.values(result2).filter(({ status }) => status === "passed").length && cmdFullName === "update" && opts3.depth === 0) {
throw new PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects.");
}
return { passed: true, updatedCatalogs };
}
function calculateRepositoryRoot(workspaceDir, projectDirs) {
let relativeRepoRoot = ".";
for (const rootDir of projectDirs) {
const relativePartRegExp = new RegExp(`^(\\.\\.\\${path155.sep})+`);
const relativePartMatch = relativePartRegExp.exec(path155.relative(workspaceDir, rootDir));
if (relativePartMatch != null) {
const relativePart = relativePartMatch[0];
if (relativePart.length > relativeRepoRoot.length) {
relativeRepoRoot = relativePart;
}
}
}
return path155.resolve(workspaceDir, relativeRepoRoot);
}
function matchDependencies(match, manifest, include) {
const deps = Object.keys(filterDependenciesByType(manifest, include));
const matchedDeps = [];
for (const dep of deps) {
const spec = match(dep);
if (spec === null)
continue;
matchedDeps.push(spec ? `${dep}@${spec}` : dep);
}
return matchedDeps;
}
function createMatcher2(params) {
const patterns = [];
const specs = [];
for (const param of params) {
const { pattern, versionSpec } = parseUpdateParam(param);
patterns.push(pattern);
specs.push(versionSpec ?? "");
}
const matcher = createMatcherWithIndex(patterns);
return (depName) => {
const index2 = matcher(depName);
if (index2 === -1)
return null;
return specs[index2];
};
}
function parseUpdateParam(param) {
const atIndex = param.indexOf("@", param[0] === "!" ? 2 : 1);
if (atIndex === -1) {
return {
pattern: param,
versionSpec: void 0
};
}
return {
pattern: param.slice(0, atIndex),
versionSpec: param.slice(atIndex + 1)
};
}
function makeIgnorePatterns(ignoredDependencies) {
return ignoredDependencies.map((depName) => `!${depName}`);
}
function getAllProjects(manifestsByPath, allProjectsGraph, sort) {
const chunks = sort !== false ? sortProjects(allProjectsGraph) : [Object.keys(allProjectsGraph).sort()];
return chunks.map((prefixes, buildIndex) => prefixes.map((rootDir) => {
const { rootDirRealPath, modulesDir } = allProjectsGraph[rootDir].package;
return {
buildIndex,
manifest: manifestsByPath[rootDir].manifest,
rootDir,
rootDirRealPath,
modulesDir
};
})).flat();
}
function getManifestsByPath(projects) {
const manifestsByPath = {};
for (const { rootDir, manifest, writeProjectManifest: writeProjectManifest2 } of projects) {
manifestsByPath[rootDir] = { manifest, writeProjectManifest: writeProjectManifest2 };
}
return manifestsByPath;
}
function getImporters(opts3) {
let rootDirs = Object.keys(opts3.selectedProjectsGraph);
if (opts3.ignoredPackages != null) {
rootDirs = rootDirs.filter((rootDir) => !opts3.ignoredPackages.has(rootDir));
}
return rootDirs.map((rootDir) => ({ rootDir, rootDirRealPath: opts3.selectedProjectsGraph[rootDir].package.rootDirRealPath }));
}
var init_recursive2 = __esm({
"../installing/commands/lib/recursive.js"() {
"use strict";
init_lib60();
init_lib41();
init_lib27();
init_lib64();
init_lib2();
init_lib135();
init_lib89();
init_lib126();
init_lib3();
init_lib11();
init_lib92();
init_lib95();
init_lib101();
init_is_subdir();
init_p_filter();
init_p_limit();
init_getPinnedVersion();
init_getSaveType();
init_handleIgnoredBuilds();
init_policyHandlers();
init_updateWorkspaceDependencies();
}
});
// ../installing/commands/lib/runPacquet.js
import { spawn as spawn5 } from "node:child_process";
import fs89 from "node:fs";
import { createRequire as createRequire8 } from "node:module";
import path156 from "node:path";
import readline4 from "node:readline";
function makeRunPacquet(opts3) {
return {
supportsResolution: pacquetSupportsResolution(resolvePacquetVersion(opts3.lockfileDir, opts3.packageName)),
run: makeRun(opts3)
};
}
function makeRun(opts3) {
return async (callOpts) => {
const pacquetBin = resolvePacquetBin(opts3.lockfileDir, opts3.packageName);
const forwardedFlags = opts3.isInstallCommand ? collectForwardedFlags(opts3.argv) : [];
const frozenArgs = callOpts?.resolve === true ? [] : ["--frozen-lockfile", "--ignore-manifest-check"];
const args = ["--reporter=ndjson", "install", ...frozenArgs, ...forwardedFlags];
const droppedFlags = opts3.isInstallCommand ? [] : collectDroppedFlags(opts3.argv);
if (droppedFlags.length > 0) {
logger.warn({
message: `The following CLI flags are not forwarded to pacquet and may not be honored: ${droppedFlags.join(" ")}. Move the equivalent settings into pnpm-workspace.yaml (or .npmrc for auth/registry) if pacquet needs them.`,
prefix: opts3.lockfileDir
});
}
const banner = [
source_default.magentaBright("\u25B6 Using pacquet for this install"),
source_default.gray(" pacquet is pnpm's Rust install engine (preview); declared in configDependencies.")
].join("\n");
logger.info({ message: banner, prefix: opts3.lockfileDir });
const child = spawn5(pacquetBin, args, {
cwd: opts3.lockfileDir,
env: makePacquetEnv(opts3),
stdio: ["ignore", "inherit", "pipe"]
});
const filterResolved = callOpts?.filterResolvedProgress === true;
const rl = readline4.createInterface({ input: child.stderr, crlfDelay: Infinity });
rl.on("line", (line) => {
if (!line)
return;
let parsed;
try {
parsed = JSON.parse(line);
} catch {
process.stderr.write(`${line}
`);
return;
}
if (filterResolved && typeof parsed === "object" && parsed !== null && parsed.name === "pnpm:progress" && parsed.status === "resolved") {
return;
}
streamParserWritable.write(`${line}
`);
});
await new Promise((resolve4, reject3) => {
child.once("error", reject3);
child.once("close", (code) => {
rl.close();
if (code === 0) {
resolve4();
return;
}
reject3(new PnpmError("PACQUET_INSTALL_FAILED", `pacquet exited with code ${code ?? "null"}`));
});
});
};
}
function makePacquetEnv(opts3) {
const env3 = { ...process.env };
for (const key of Object.keys(env3)) {
if (key.toLowerCase() === "pnpm_config_virtual_store_dir_max_length") {
delete env3[key];
}
}
env3.PNPM_CONFIG_VIRTUAL_STORE_DIR_MAX_LENGTH = String(opts3.virtualStoreDirMaxLength);
return env3;
}
function resolvePacquetBin(lockfileDir, packageName) {
const ext = process.platform === "win32" ? ".exe" : "";
const pacquetPkg = fs89.realpathSync(path156.join(lockfileDir, "node_modules/.pnpm-config", packageName, "package.json"));
return createRequire8(pacquetPkg).resolve(`${pacquetPlatformPkgName()}/pacquet${ext}`);
}
function pacquetPlatformPkgName() {
const libc = process.platform === "linux" && (0, import_detect_libc4.familySync)() === import_detect_libc4.MUSL ? "-musl" : "";
return `@pacquet/${process.platform}-${process.arch}${libc}`;
}
function resolvePacquetVersion(lockfileDir, packageName) {
try {
const pacquetPkg = fs89.realpathSync(path156.join(lockfileDir, "node_modules/.pnpm-config", packageName, "package.json"));
const { version: version2 } = JSON.parse(fs89.readFileSync(pacquetPkg, "utf8"));
return version2;
} catch {
return void 0;
}
}
function pacquetSupportsResolution(version2) {
if (version2 == null)
return false;
const [major, minor, patch] = version2.split(".", 3).map((part) => parseInt(part, 10));
if (Number.isNaN(major) || Number.isNaN(minor) || Number.isNaN(patch))
return false;
return major > 0 || major === 0 && (minor > 11 || minor === 11 && patch >= 7);
}
function collectForwardedFlags(argv2) {
const result2 = [];
let positionalIdx = 0;
for (let i4 = 0; i4 < argv2.original.length; i4++) {
const arg = argv2.original[i4];
if (positionalIdx < argv2.remain.length && arg === argv2.remain[positionalIdx]) {
positionalIdx++;
continue;
}
if (isAlwaysInjected(arg))
continue;
if (arg.startsWith("--reporter="))
continue;
if (arg === "--reporter") {
i4++;
continue;
}
result2.push(arg);
}
return result2;
}
function isAlwaysInjected(arg) {
for (const name of ALWAYS_INJECTED_FLAGS) {
if (arg === `--${name}` || arg === `--no-${name}`)
return true;
if (arg.startsWith(`--${name}=`) || arg.startsWith(`--no-${name}=`))
return true;
}
return false;
}
function collectDroppedFlags(argv2) {
const result2 = [];
for (let i4 = 0; i4 < argv2.original.length; i4++) {
const arg = argv2.original[i4];
if (!arg.startsWith("-"))
continue;
if (isAlwaysInjected(arg))
continue;
if (arg.startsWith("--config."))
continue;
if (arg.startsWith("--reporter="))
continue;
if (arg === "--reporter") {
i4++;
continue;
}
result2.push(arg);
}
return result2;
}
var import_detect_libc4, streamParserWritable, ALWAYS_INJECTED_FLAGS;
var init_runPacquet = __esm({
"../installing/commands/lib/runPacquet.js"() {
"use strict";
init_lib2();
init_lib3();
init_source();
import_detect_libc4 = __toESM(require_detect_libc(), 1);
streamParserWritable = streamParser;
ALWAYS_INJECTED_FLAGS = ["frozen-lockfile", "ignore-manifest-check"];
}
});
// ../deps/security/signatures/lib/npmSigningKeys.js
var NPM_SIGNING_KEYS;
var init_npmSigningKeys = __esm({
"../deps/security/signatures/lib/npmSigningKeys.js"() {
"use strict";
NPM_SIGNING_KEYS = [
{
"expires": null,
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U",
"keytype": "ecdsa-sha2-nistp256",
"scheme": "ecdsa-sha2-nistp256",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEY6Ya7W++7aUPzvMTrezH6Ycx3c+HOKYCcNGybJZSCJq/fd7Qa8uuAKtdIkUQtQiEKERhAmE5lMMJhP8OkDOa2g=="
},
{
"expires": "2025-01-29T00:00:00.000Z",
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"keytype": "ecdsa-sha2-nistp256",
"scheme": "ecdsa-sha2-nistp256",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1Olb3zMAFFxXKHiIkQO5cJ3Yhl5i6UPp+IhuteBJbuHcA5UogKo0EWtlWwW6KSaKoTNEYL7JlCQiVnkhBktUgg=="
}
];
}
});
// ../deps/security/signatures/lib/verifySignatures.js
import crypto10 from "node:crypto";
import url5 from "node:url";
import util44 from "node:util";
async function verifySignatures(packages, getAuthHeader, opts3) {
const registries = new Set(packages.map(({ registry }) => registry));
const keysByRegistry = await getKeysByRegistry(registries, getAuthHeader, opts3);
const result2 = {
audited: 0,
invalid: [],
missing: [],
verified: 0
};
const packumentCache = /* @__PURE__ */ new Map();
const limit = pLimit(opts3.networkConcurrency ?? 16);
await Promise.all(packages.map((pkg) => limit(async () => {
const keys4 = keysByRegistry.get(pkg.registry) ?? [];
if (keys4.length === 0)
return;
let version2;
let publishedAt;
try {
const packument = await getPackument(pkg, getAuthHeader, opts3, packumentCache);
if (!packument)
return;
result2.audited++;
version2 = packument.versions?.[pkg.version];
publishedAt = packument.time?.[pkg.version];
} catch (err2) {
result2.invalid.push({ ...pkg, reason: util44.types.isNativeError(err2) ? err2.message : String(err2) });
return;
}
const integrity = version2?.dist?.integrity;
const resolved = version2?.dist?.tarball;
const rawSignatures = version2?.dist?.signatures;
if (rawSignatures != null && !Array.isArray(rawSignatures)) {
result2.invalid.push({ ...pkg, integrity, resolved, reason: `Malformed registry signatures metadata for ${pkg.name}@${pkg.version}` });
return;
}
const signatures = rawSignatures ?? [];
if (!signatures.every(isPackageSignature)) {
result2.invalid.push({ ...pkg, integrity, resolved, reason: `Malformed registry signatures metadata for ${pkg.name}@${pkg.version}` });
return;
}
if (!version2) {
result2.invalid.push({ ...pkg, reason: `Missing registry metadata for ${pkg.name}@${pkg.version}` });
return;
}
if (!integrity) {
result2.missing.push({ ...pkg, resolved });
return;
}
if (signatures.length === 0) {
result2.missing.push({ ...pkg, integrity, resolved });
return;
}
const issue = verifyPackageSignatures({ ...pkg, integrity, publishedAt, resolved, signatures }, keys4);
if (issue) {
result2.invalid.push(issue);
return;
}
result2.verified++;
})));
result2.invalid.sort(sortIssue);
result2.missing.sort(sortIssue);
return result2;
}
async function getKeysByRegistry(registries, getAuthHeader, opts3) {
const keysByRegistry = /* @__PURE__ */ new Map();
await Promise.all(Array.from(registries, async (registry) => {
const keys4 = await fetchRegistryKeys(registry, getAuthHeader, opts3);
keysByRegistry.set(registry, keys4);
}));
return keysByRegistry;
}
async function fetchRegistryKeys(registry, getAuthHeader, opts3) {
const registryUrl = registry.endsWith("/") ? registry : `${registry}/`;
const keysUrl = new url5.URL("-/npm/v1/keys", registryUrl).toString();
const fetchFromRegistry = createFetchFromRegistry(opts3);
const response = await fetchFromRegistry(keysUrl, {
authHeaderValue: getAuthHeader(registryUrl),
method: "GET",
retry: opts3.retry,
timeout: opts3.timeout
});
if (response.status === 404 || response.status === 400) {
return [];
}
if (response.status !== 200) {
const code = "AUDIT_SIGNATURE_KEYS_FETCH_FAIL";
const message = `The registry keys endpoint (at ${response.url}) responded with ${response.status}: ${await response.text()}`;
throw new PnpmError(code, message);
}
const body = await parseJsonResponse(response, "AUDIT_SIGNATURE_KEYS_FETCH_FAIL", "The registry keys endpoint");
if (!isRegistryKeysResponse(body)) {
const code = "AUDIT_SIGNATURE_KEYS_FETCH_FAIL";
const message = `The registry keys endpoint (at ${response.url}) returned an unexpected body. Expected an object with a keys array; got: ${JSON.stringify(body)?.slice(0, 500) ?? String(body)}`;
throw new PnpmError(code, message);
}
return body.keys.filter(({ keytype, scheme }) => keytype === "ecdsa-sha2-nistp256" && scheme === "ecdsa-sha2-nistp256");
}
async function getPackument(pkg, getAuthHeader, opts3, packumentCache) {
const cacheKey = `${pkg.registry}:${pkg.name}`;
let packument = packumentCache.get(cacheKey);
if (!packument) {
packument = fetchPackument(pkg, getAuthHeader, opts3);
packumentCache.set(cacheKey, packument);
}
return packument;
}
async function fetchPackument(pkg, getAuthHeader, opts3) {
const registryUrl = pkg.registry.endsWith("/") ? pkg.registry : `${pkg.registry}/`;
const packumentUrl = toUri2(pkg.name, registryUrl);
const fetchFromRegistry = createFetchFromRegistry(opts3);
const response = await fetchFromRegistry(packumentUrl, {
authHeaderValue: getAuthHeader(registryUrl),
fullMetadata: true,
method: "GET",
retry: opts3.retry,
timeout: opts3.timeout
});
if (response.status === 404) {
return void 0;
}
if (response.status !== 200) {
const code = "AUDIT_SIGNATURE_PACKUMENT_FETCH_FAIL";
const message = `The packument endpoint (at ${response.url}) responded with ${response.status}: ${await response.text()}`;
throw new PnpmError(code, message);
}
const body = await parseJsonResponse(response, "AUDIT_SIGNATURE_PACKUMENT_FETCH_FAIL", "The packument endpoint");
if (!isPackument(body)) {
const code = "AUDIT_SIGNATURE_PACKUMENT_FETCH_FAIL";
const message = `The packument endpoint (at ${response.url}) returned an unexpected body. Expected an object with versions; got: ${JSON.stringify(body)?.slice(0, 500) ?? String(body)}`;
throw new PnpmError(code, message);
}
return body;
}
function verifyPackageSignatures(pkg, keys4) {
const message = `${pkg.name}@${pkg.version}:${pkg.integrity}`;
const publishedTime = pkg.publishedAt ? Date.parse(pkg.publishedAt) : void 0;
const failures = [];
for (const signature of pkg.signatures) {
const key = keys4.find(({ keyid }) => keyid === signature.keyid);
if (!key) {
failures.push(`${pkg.name}@${pkg.version} has a registry signature with keyid ${signature.keyid} but no corresponding public key can be found`);
continue;
}
if (key.expires && publishedTime != null && publishedTime >= Date.parse(key.expires)) {
failures.push(`${pkg.name}@${pkg.version} has a registry signature with keyid ${signature.keyid} but the corresponding public key has expired ${key.expires}`);
continue;
}
const pem = `-----BEGIN PUBLIC KEY-----
${key.key}
-----END PUBLIC KEY-----`;
let verified2;
try {
const verifier = crypto10.createVerify("SHA256");
verifier.write(message);
verifier.end();
verified2 = verifier.verify(pem, signature.sig, "base64");
} catch {
verified2 = false;
}
if (verified2)
return void 0;
failures.push(`${pkg.name}@${pkg.version} has an invalid registry signature with keyid ${signature.keyid}`);
}
return toSignatureIssue(pkg, pickMostTellingFailure(pkg, failures));
}
function pickMostTellingFailure(pkg, failures) {
if (failures.length === 0) {
return `${pkg.name}@${pkg.version} has no registry signature from a trusted key`;
}
return failures.find((reason) => reason.includes("invalid registry signature")) ?? failures[0];
}
function toSignatureIssue(pkg, reason) {
return {
integrity: pkg.integrity,
name: pkg.name,
reason,
registry: pkg.registry,
resolved: pkg.resolved,
version: pkg.version
};
}
async function parseJsonResponse(response, errorCode, endpointDescription) {
const rawBody = await response.text();
try {
return JSON.parse(rawBody);
} catch (err2) {
const reason = util44.types.isNativeError(err2) ? err2.message : String(err2);
throw new PnpmError(errorCode, `${endpointDescription} (at ${response.url}) returned invalid JSON: ${reason}. Response body: ${rawBody.slice(0, 500)}`);
}
}
function toUri2(pkgName, registry) {
let encodedName;
if (pkgName[0] === "@") {
encodedName = `@${encodeURIComponent(pkgName.slice(1))}`;
} else {
encodedName = encodeURIComponent(pkgName);
}
return new url5.URL(encodedName, registry.endsWith("/") ? registry : `${registry}/`).toString();
}
function isRegistryKeysResponse(body) {
return typeof body === "object" && body != null && Array.isArray(body.keys) && body.keys.every((key) => typeof key === "object" && key != null && typeof key.keyid === "string" && typeof key.keytype === "string" && typeof key.scheme === "string" && typeof key.key === "string" && (key.expires == null || typeof key.expires === "string"));
}
function isPackument(body) {
return typeof body === "object" && body != null && typeof body.versions === "object" && body.versions != null;
}
function isPackageSignature(signature) {
return typeof signature === "object" && signature != null && typeof signature.keyid === "string" && typeof signature.sig === "string";
}
function sortIssue(a2, b) {
return `${a2.name}@${a2.version}`.localeCompare(`${b.name}@${b.version}`);
}
function getNpmSigningKeys() {
return NPM_SIGNING_KEYS.map((k2) => ({ ...k2 }));
}
async function verifyInstalledPackageSignatures(packages, trustedKeys, getAuthHeader, opts3) {
const packumentCache = /* @__PURE__ */ new Map();
const limit = pLimit(opts3.networkConcurrency ?? 16);
const failures = [];
await Promise.all(packages.map((pkg) => limit(async () => {
const failure = await findSignatureFailure(pkg, trustedKeys, getAuthHeader, opts3, packumentCache);
if (failure != null) {
failures.push({ name: pkg.name, version: pkg.version, ...failure });
}
})));
failures.sort((a2, b) => `${a2.name}@${a2.version}`.localeCompare(`${b.name}@${b.version}`));
return { verified: failures.length === 0, failures };
}
async function findSignatureFailure(pkg, trustedKeys, getAuthHeader, opts3, packumentCache) {
let packument;
try {
packument = await getPackument(pkg, getAuthHeader, opts3, packumentCache);
} catch (err2) {
return { reason: util44.types.isNativeError(err2) ? err2.message : String(err2), category: "unreachable" };
}
if (!packument)
return { reason: `${pkg.name} is not published on ${pkg.registry}`, category: "absent" };
const version2 = packument.versions?.[pkg.version];
if (!version2)
return { reason: `${pkg.name}@${pkg.version} was not found on ${pkg.registry}`, category: "absent" };
const rawSignatures = version2.dist?.signatures;
if (rawSignatures != null && !Array.isArray(rawSignatures)) {
return { reason: `malformed registry signatures metadata for ${pkg.name}@${pkg.version}`, category: "absent" };
}
const signatures = rawSignatures ?? [];
if (!signatures.every(isPackageSignature)) {
return { reason: `malformed registry signatures metadata for ${pkg.name}@${pkg.version}`, category: "absent" };
}
if (signatures.length === 0) {
return { reason: `${pkg.name}@${pkg.version} has no registry signature`, category: "absent" };
}
const issue = verifyPackageSignatures({ ...pkg, integrity: pkg.integrity, publishedAt: packument.time?.[pkg.version], signatures }, trustedKeys);
return issue == null ? void 0 : { reason: issue.reason ?? "invalid registry signature", category: "invalid" };
}
var init_verifySignatures = __esm({
"../deps/security/signatures/lib/verifySignatures.js"() {
"use strict";
init_lib2();
init_lib23();
init_p_limit();
init_npmSigningKeys();
}
});
// ../deps/security/signatures/lib/index.js
var init_lib136 = __esm({
"../deps/security/signatures/lib/index.js"() {
"use strict";
init_verifySignatures();
}
});
// ../installing/commands/lib/verifyPacquetIdentity.js
async function verifyPacquetIdentity(packageName, opts3) {
const trustedKeys = getNpmSigningKeys();
const toVerify = await collectPacquetPackagesToVerify(packageName, opts3.rootDir, opts3.registries);
if (toVerify == null) {
return skip(opts3.lockfileDir);
}
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri ?? {});
let result2;
try {
result2 = await verifyInstalledPackageSignatures(toVerify, trustedKeys, getAuthHeader, opts3);
} catch (err2) {
throw new PnpmError("PACQUET_IDENTITY_UNVERIFIABLE", `Refusing to use pacquet as the install engine: its npm registry signature could not be verified (${String(err2)}).`, { hint: "The registry must be reachable to verify the pacquet release declared in configDependencies. Remove pacquet from configDependencies to use pnpm's own install engine." });
}
if (!result2.verified) {
const detail = result2.failures.map(({ name, version: version2, reason }) => `${name}@${version2}: ${reason}`).join("; ");
throw new PnpmError("PACQUET_IDENTITY_MISMATCH", `Refusing to use pacquet as the install engine: the bytes installed for "${packageName}" do not match a published, signed release (${detail}).`, { hint: "This can indicate a tampered lockfile or a malicious registry. Remove pacquet from configDependencies if this is unexpected." });
}
return true;
}
async function collectPacquetPackagesToVerify(packageName, rootDir, registries) {
const envLockfile = await readEnvLockfile(rootDir);
if (envLockfile == null)
return void 0;
const shim = envLockfile.importers["."]?.configDependencies?.[packageName];
if (shim == null)
return void 0;
const shimKey = `${packageName}@${shim.version}`;
const shimIntegrity = registryIntegrity(envLockfile.packages[shimKey]?.resolution);
if (shimIntegrity == null)
return void 0;
const platformPkgName = pacquetPlatformPkgName();
const platformVersion = envLockfile.snapshots[shimKey]?.optionalDependencies?.[platformPkgName];
if (platformVersion == null)
return void 0;
const platformKey = `${platformPkgName}@${platformVersion}`;
const platformIntegrity = registryIntegrity(envLockfile.packages[platformKey]?.resolution);
if (platformIntegrity == null)
return void 0;
return [
{ name: packageName, version: shim.version, registry: pickRegistryForPackage(registries, packageName), integrity: shimIntegrity },
{ name: platformPkgName, version: platformVersion, registry: pickRegistryForPackage(registries, platformPkgName), integrity: platformIntegrity }
];
}
function registryIntegrity(resolution) {
const integrity = resolution?.integrity;
return typeof integrity === "string" && integrity ? integrity : void 0;
}
function skip(prefix) {
logger.warn({
message: "Not using pacquet as the install engine: no pacquet binary is installed for this platform. Using pnpm's own install engine.",
prefix
});
return false;
}
var init_verifyPacquetIdentity = __esm({
"../installing/commands/lib/verifyPacquetIdentity.js"() {
"use strict";
init_lib28();
init_lib136();
init_lib2();
init_lib80();
init_lib3();
init_lib52();
init_runPacquet();
}
});
// ../installing/commands/lib/installDeps.js
import path157 from "node:path";
async function installDeps(opts3, params) {
if (!opts3.update && !opts3.dedupe && params.length === 0 && opts3.optimisticRepeatInstall) {
const { upToDate, wantedLockfileToRestore } = await checkDepsStatus({
...opts3,
ignoreFilteredInstallCache: true,
treatLocalFileDepsAsOutdated: true
});
if (upToDate && await restoreWantedLockfileIfMissing(wantedLockfileToRestore, opts3)) {
if (opts3.hooks?.customResolvers?.some((r) => r.shouldRefreshResolution)) {
logger.warn({
message: "shouldRefreshResolution hooks were skipped because optimisticRepeatInstall is enabled.",
prefix: opts3.dir
});
}
globalInfo("Already up to date");
return;
}
}
if (opts3.workspace) {
if (opts3.latest) {
throw new PnpmError("BAD_OPTIONS", "Cannot use --latest with --workspace simultaneously");
}
if (!opts3.workspaceDir) {
throw new PnpmError("WORKSPACE_OPTION_OUTSIDE_WORKSPACE", "--workspace can only be used inside a workspace");
}
if (!opts3.linkWorkspacePackages && !opts3.saveWorkspaceProtocol) {
opts3.saveWorkspaceProtocol = true;
}
opts3["preserveWorkspaceProtocol"] = !opts3.linkWorkspacePackages;
}
const store = await createStoreController(opts3);
const declaredPacquetConfigDepName = opts3.configDependencies?.["@pnpm/pacquet"] != null ? "@pnpm/pacquet" : opts3.configDependencies?.pacquet != null ? "pacquet" : void 0;
const pacquetConfigDepName = declaredPacquetConfigDepName != null && await verifyPacquetIdentity(declaredPacquetConfigDepName, {
...opts3,
lockfileDir: opts3.lockfileDir ?? opts3.dir,
rootDir: opts3.lockfileDir ?? opts3.dir
}) ? declaredPacquetConfigDepName : void 0;
const runPacquet = pacquetConfigDepName != null ? makeRunPacquet({
lockfileDir: opts3.lockfileDir ?? opts3.dir,
packageName: pacquetConfigDepName,
argv: { original: opts3.argv.original, remain: opts3.argv.remain ?? [] },
isInstallCommand: opts3.isInstallCommand === true,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
}) : void 0;
const includeDirect = opts3.includeDirect ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true
};
const allProjects = opts3.allProjects ?? (opts3.workspaceDir ? await findWorkspaceProjects(opts3.workspaceDir, { ...opts3, patterns: opts3.workspacePackagePatterns }) : []);
if (opts3.runtimeOnFail) {
for (const project of allProjects) {
applyRuntimeOnFailOverride(project.manifest, opts3.runtimeOnFail);
}
}
if (opts3.workspaceDir) {
const selectedProjectsGraph = opts3.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts3.dir);
if (selectedProjectsGraph != null) {
const sequencedGraph = sequenceGraph(selectedProjectsGraph);
if (!opts3.ignoreWorkspaceCycles && !sequencedGraph.safe) {
const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : "";
if (opts3.disallowWorkspaceCycles) {
throw new PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`);
}
logger.warn({
message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`,
prefix: opts3.workspaceDir
});
}
const allProjectsGraph = opts3.allProjectsGraph ?? createProjectsGraph(allProjects, {
linkWorkspacePackages: Boolean(opts3.linkWorkspacePackages)
}).graph;
return recursiveInstallThenUpdateWorkspaceState(allProjects, params, {
...opts3,
preferredVersions: opts3.packageVulnerabilityAudit ? preferNonvulnerablePackageVersions(opts3.packageVulnerabilityAudit) : void 0,
allProjectsGraph,
selectedProjectsGraph,
storeControllerAndDir: store,
workspaceDir: opts3.workspaceDir,
runPacquet
}, opts3.update ? "update" : params.length === 0 ? "install" : "add");
}
}
params = params.filter(Boolean);
const dir = opts3.dir || process.cwd();
let workspacePackages;
if (opts3.workspaceDir) {
workspacePackages = arrayOfWorkspacePackagesToMap(allProjects);
}
let { manifest, writeProjectManifest: writeProjectManifest2 } = await tryReadProjectManifest2(opts3.dir, opts3);
if (manifest === null) {
if (opts3.update === true || params.length === 0) {
throw new PnpmError("NO_PKG_MANIFEST", `No package.json found in ${opts3.dir}`);
}
manifest = {};
} else if (opts3.runtimeOnFail) {
applyRuntimeOnFailOverride(manifest, opts3.runtimeOnFail);
}
const policyHandlers = setupPolicyHandlers(opts3);
const installOpts = {
...opts3,
// In case installation is done in a multi-package repository
// The dependencies should be built first,
// so ignoring scripts for now
ignoreScripts: !!workspacePackages || opts3.ignoreScripts,
linkWorkspacePackagesDepth: opts3.linkWorkspacePackages === "deep" ? Infinity : opts3.linkWorkspacePackages ? 0 : -1,
sideEffectsCacheRead: opts3.sideEffectsCache ?? opts3.sideEffectsCacheReadonly,
sideEffectsCacheWrite: opts3.sideEffectsCache,
skipRuntimes: opts3.runtime === false,
storeController: store.ctrl,
storeDir: store.dir,
resolutionVerifiers: store.resolutionVerifiers,
workspacePackages,
preferredVersions: opts3.packageVulnerabilityAudit ? preferNonvulnerablePackageVersions(opts3.packageVulnerabilityAudit) : void 0,
handleResolutionPolicyViolations: policyHandlers?.handleResolutionPolicyViolations,
runPacquet
};
let updateMatch;
let updatePackageManifest = opts3.updatePackageManifest;
let updateMatching;
if (opts3.update) {
if (params.length === 0) {
const ignoreDeps = opts3.updateConfig?.ignoreDependencies;
if (ignoreDeps?.length) {
params = makeIgnorePatterns(ignoreDeps);
}
}
updateMatch = params.length ? createMatcher2(params) : null;
} else {
updateMatch = null;
}
if (opts3.packageVulnerabilityAudit != null) {
updateMatch = null;
updateMatching = createVulnerabilityUpdateMatching(opts3.packageVulnerabilityAudit);
}
if (updateMatch != null) {
const updateSpecs = params;
params = matchDependencies(updateMatch, manifest, includeDirect);
if (params.length === 0) {
if (opts3.latest)
return;
if (opts3.depth === 0) {
throw new PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies.");
}
updatePackageManifest = false;
updateMatching = (pkgName) => updateMatch(pkgName) != null;
warnAboutIgnoredVersionsOfIndirectUpdateSpecs(updateSpecs);
}
}
if (opts3.update && opts3.latest && (!params || params.length === 0)) {
params = Object.keys(filterDependenciesByType(manifest, includeDirect));
}
if (opts3.workspace) {
if (!params || params.length === 0) {
params = updateToWorkspacePackagesFromManifest(manifest, includeDirect, workspacePackages);
} else {
params = createWorkspaceSpecs(params, workspacePackages);
}
}
if (params?.length) {
const mutatedProject = {
allowNew: opts3.allowNew,
binsDir: opts3.bin,
dependencySelectors: params,
manifest,
mutation: "installSome",
peer: opts3.savePeer,
pinnedVersion: getPinnedVersion(opts3),
rootDir: opts3.dir,
targetDependenciesField: getSaveType(opts3)
};
const { updatedCatalogs: updatedCatalogs2, updatedProject, ignoredBuilds: ignoredBuilds2, resolutionPolicyViolations: resolutionPolicyViolations2, dryRunResult: dryRunResult2 } = await mutateModulesInSingleProject(mutatedProject, installOpts);
if (opts3.save !== false && !opts3.dryRun) {
const policyUpdates = policyHandlers?.pickManifestUpdates(resolutionPolicyViolations2);
await Promise.all([
writeProjectManifest2(updatedProject.manifest),
updateWorkspaceManifest(opts3.workspaceDir ?? opts3.dir, {
updatedCatalogs: updatedCatalogs2,
cleanupUnusedCatalogs: opts3.cleanupUnusedCatalogs,
allProjects: opts3.allProjects,
...policyUpdates
})
]);
}
if (!opts3.lockfileOnly) {
await updateWorkspaceState({
allProjects,
settings: withUpdatedCatalogs(opts3, updatedCatalogs2),
workspaceDir: opts3.workspaceDir ?? opts3.lockfileDir ?? opts3.dir,
pnpmfiles: opts3.pnpmfile,
filteredInstall: allProjects.length !== Object.keys(opts3.selectedProjectsGraph ?? {}).length,
configDependencies: opts3.configDependencies
});
}
await handleIgnoredBuilds(opts3, ignoredBuilds2);
return dryRunResult2;
}
const { updatedCatalogs, updatedManifest, ignoredBuilds, resolutionPolicyViolations, dryRunResult } = await install(manifest, {
...installOpts,
updatePackageManifest,
updateMatching
});
if (opts3.save !== false && !opts3.dryRun) {
const policyUpdates = policyHandlers?.pickManifestUpdates(resolutionPolicyViolations);
if (opts3.update === true) {
await Promise.all([
writeProjectManifest2(updatedManifest),
updateWorkspaceManifest(opts3.workspaceDir ?? opts3.dir, {
updatedCatalogs,
cleanupUnusedCatalogs: opts3.cleanupUnusedCatalogs,
allProjects,
...policyUpdates
})
]);
} else if (policyUpdates != null) {
await updateWorkspaceManifest(opts3.workspaceDir ?? opts3.dir, policyUpdates);
}
}
await handleIgnoredBuilds(opts3, ignoredBuilds);
if (opts3.linkWorkspacePackages && opts3.workspaceDir) {
const { selectedProjectsGraph } = await filterProjectsBySelectorObjects(allProjects, [
{
excludeSelf: true,
includeDependencies: true,
parentDir: dir
}
], {
workspaceDir: opts3.workspaceDir
});
await recursiveInstallThenUpdateWorkspaceState(allProjects, [], {
...opts3,
...OVERWRITE_UPDATE_OPTIONS,
allProjectsGraph: opts3.allProjectsGraph,
selectedProjectsGraph,
workspaceDir: opts3.workspaceDir,
// Otherwise TypeScript doesn't understand that is not undefined
runPacquet
}, "install", updatedCatalogs);
if (opts3.ignoreScripts)
return;
await buildProjects([
{
buildIndex: 0,
manifest: await readProjectManifestOnly2(opts3.dir, opts3),
rootDir: opts3.dir
}
], {
...opts3,
pending: true,
storeController: store.ctrl,
storeDir: store.dir,
skipIfHasSideEffectsCache: true
});
} else {
if (!opts3.lockfileOnly) {
await updateWorkspaceState({
allProjects,
settings: withUpdatedCatalogs(opts3, updatedCatalogs),
workspaceDir: opts3.workspaceDir ?? opts3.lockfileDir ?? opts3.dir,
pnpmfiles: opts3.pnpmfile,
filteredInstall: allProjects.length !== Object.keys(opts3.selectedProjectsGraph ?? {}).length,
configDependencies: opts3.configDependencies
});
}
}
return dryRunResult;
}
function selectProjectByDir(projects, searchedDir) {
const project = projects.find(({ rootDir }) => path157.relative(rootDir, searchedDir) === "");
if (project == null)
return void 0;
return { [project.rootDir]: { dependencies: [], package: project } };
}
async function recursiveInstallThenUpdateWorkspaceState(allProjects, params, opts3, cmdFullName, updatedCatalogs) {
const recursiveResult = await recursive(allProjects, params, opts3, cmdFullName);
if (!opts3.lockfileOnly) {
await updateWorkspaceState({
allProjects,
settings: withUpdatedCatalogs(opts3, updatedCatalogs, recursiveResult.updatedCatalogs),
workspaceDir: opts3.workspaceDir,
pnpmfiles: opts3.pnpmfile,
filteredInstall: allProjects.length !== Object.keys(opts3.selectedProjectsGraph ?? {}).length,
configDependencies: opts3.configDependencies
});
}
return recursiveResult.dryRunResult;
}
function withUpdatedCatalogs(settings, ...updatedCatalogs) {
if (updatedCatalogs.every((catalogs) => catalogs == null))
return settings;
return { ...settings, catalogs: mergeCatalogs(settings.catalogs, ...updatedCatalogs) };
}
function severityStringToNumber(severity) {
switch (severity) {
case "low":
return 0;
case "moderate":
return 1;
case "high":
return 2;
case "critical":
return 3;
default:
return -1;
}
}
function getVulnerabilityPenalty(severity) {
switch (severity) {
case "low":
return -1100;
// 100 more than DIRECT_DEP_SELECTOR_WEIGHT from @pnpm/resolving.resolver-base
case "moderate":
return -2e3;
case "high":
return -3e3;
case "critical":
return -4e3;
// Treat unrecognized severity as the lowest severity
default:
return -1100;
}
}
function warnAboutIgnoredVersionsOfIndirectUpdateSpecs(updateSpecs) {
for (const spec of updateSpecs) {
const { pattern, versionSpec } = parseUpdateParam(spec);
if (versionSpec == null)
continue;
globalWarn(`"${pattern}" is not a direct dependency, so the requested version "${versionSpec}" is ignored \u2014 "${pattern}" is updated to what a fresh install would resolve. To force a version of a transitive dependency, add an override scoped to the range its dependents declare to pnpm-workspace.yaml, e.g.: overrides: { "${pattern}@<declared range>": "${versionSpec}" }`);
}
}
function createVulnerabilityUpdateMatching(packageVulnerabilityAudit) {
const vulnerablePackageNames = new Set(packageVulnerabilityAudit.getVulnerabilities().keys());
return (pkgName, version2) => version2 != null ? packageVulnerabilityAudit.isVulnerable(pkgName, version2) : vulnerablePackageNames.has(pkgName);
}
function preferNonvulnerablePackageVersions(packageVulnerabilityAudit) {
const preferredVersions = {};
for (const [packageName, vulnerabilities] of packageVulnerabilityAudit.getVulnerabilities()) {
const vulnerableRanges = /* @__PURE__ */ new Map();
for (const vuln of vulnerabilities) {
const existingSeverity = vulnerableRanges.get(vuln.versionRange);
if (existingSeverity == null) {
vulnerableRanges.set(vuln.versionRange, vuln.severity);
continue;
}
if (severityStringToNumber(vuln.severity) > severityStringToNumber(existingSeverity)) {
vulnerableRanges.set(vuln.versionRange, vuln.severity);
}
}
const preferredVersionSelectors = {};
for (const [vulnRange, severity] of vulnerableRanges) {
if (vulnRange === "__proto__" || vulnRange === "constructor" || vulnRange === "prototype") {
continue;
}
preferredVersionSelectors[vulnRange] = {
selectorType: "range",
weight: getVulnerabilityPenalty(severity)
};
}
preferredVersions[packageName] = preferredVersionSelectors;
}
return preferredVersions;
}
async function restoreWantedLockfileIfMissing(wantedLockfileToRestore, opts3) {
if (wantedLockfileToRestore == null || opts3.useLockfile === false)
return true;
try {
await writeWantedLockfile(wantedLockfileToRestore.lockfileDir, wantedLockfileToRestore.lockfile);
return true;
} catch (error) {
logger.debug({ msg: "Failed to restore pnpm-lock.yaml from the current lockfile", error });
return false;
}
}
var OVERWRITE_UPDATE_OPTIONS;
var init_installDeps = __esm({
"../installing/commands/lib/installDeps.js"() {
"use strict";
init_lib93();
init_lib60();
init_lib41();
init_lib134();
init_lib2();
init_lib89();
init_lib126();
init_lib80();
init_lib3();
init_lib11();
init_lib92();
init_lib44();
init_lib39();
init_lib42();
init_lib95();
init_lib133();
init_lib101();
init_getPinnedVersion();
init_getSaveType();
init_handleIgnoredBuilds();
init_policyHandlers();
init_recursive2();
init_runPacquet();
init_updateWorkspaceDependencies();
init_verifyPacquetIdentity();
OVERWRITE_UPDATE_OPTIONS = {
allowNew: true,
update: false
};
}
});
// ../installing/commands/lib/resolutionPolicyManifest.js
function createGlobalPolicyCallbacks(opts3) {
const policyHandlers = setupPolicyHandlers(opts3);
if (policyHandlers == null)
return {};
return {
handleResolutionPolicyViolations: policyHandlers.handleResolutionPolicyViolations,
updateResolutionPolicyManifest: async (violations, dir) => {
const policyUpdates = policyHandlers.pickManifestUpdates(violations);
if (policyUpdates != null) {
await updateWorkspaceManifest(dir, policyUpdates);
}
}
};
}
var init_resolutionPolicyManifest = __esm({
"../installing/commands/lib/resolutionPolicyManifest.js"() {
"use strict";
init_lib101();
init_policyHandlers();
}
});
// ../installing/commands/lib/add.js
var add_exports = {};
__export(add_exports, {
cliOptionsTypes: () => cliOptionsTypes4,
commandNames: () => commandNames4,
handler: () => handler4,
help: () => help4,
rcOptionsTypes: () => rcOptionsTypes4,
shorthands: () => shorthands
});
function rcOptionsTypes4() {
return pick_default([
"cache-dir",
"cpu",
"child-concurrency",
"dangerously-allow-all-builds",
"engine-strict",
"fetch-retries",
"fetch-retry-factor",
"fetch-retry-maxtimeout",
"fetch-retry-mintimeout",
"fetch-timeout",
"force",
"global-bin-dir",
"global-dir",
"global-pnpmfile",
"global",
"hoist",
"hoist-pattern",
"hoisting-limits",
"https-proxy",
"ignore-pnpmfile",
"ignore-scripts",
"ignore-workspace-root-check",
"libc",
"link-workspace-packages",
"lockfile-dir",
"lockfile-only",
"lockfile",
"modules-dir",
"network-concurrency",
"node-experimental-package-map",
"node-package-map-type",
"node-linker",
"noproxy",
"npm-path",
"os",
"package-import-method",
"pnpmfile",
"prefer-offline",
"production",
"proxy",
"public-hoist-pattern",
"registry",
"reporter",
"save-catalog-name",
"save-dev",
"save-exact",
"save-optional",
"save-peer",
"save-prefix",
"save-prod",
"save-workspace-protocol",
"shamefully-hoist",
"shared-workspace-lockfile",
"side-effects-cache-readonly",
"side-effects-cache",
"store-dir",
"strict-peer-dependencies",
"trust-lockfile",
"trust-policy",
"trust-policy-exclude",
"trust-policy-ignore-after",
"unsafe-perm",
"offline",
"only",
"optional",
"verify-store-integrity",
"virtual-store-dir"
], types2);
}
function cliOptionsTypes4() {
return {
...rcOptionsTypes4(),
"allow-build": [String, Array],
recursive: Boolean,
save: Boolean,
workspace: Boolean,
config: Boolean
};
}
function help4() {
return renderHelp({
description: "Installs a package and any packages that it depends on.",
descriptionLists: [
{
title: "Options",
list: [
{
description: "Save package to your `dependencies`. The default behavior",
name: "--save-prod",
shortAlias: "-p"
},
{
description: "Save package to your `devDependencies`",
name: "--save-dev",
shortAlias: "-d"
},
{
description: "Save package to your `optionalDependencies`",
name: "--save-optional",
shortAlias: "-o"
},
{
description: "Save package to your `peerDependencies` and `devDependencies`",
name: "--save-peer"
},
{
description: "Save package to the default catalog",
name: "--save-catalog"
},
{
description: "Save package to the specified catalog",
name: "--save-catalog-name=<name>"
},
{
description: "Install exact version",
name: "--[no-]save-exact",
shortAlias: "-e"
},
{
description: 'Save packages from the workspace with a "workspace:" protocol. True by default',
name: "--[no-]save-workspace-protocol"
},
{
description: "Install as a global package",
name: "--global",
shortAlias: "-g"
},
{
description: 'Run installation recursively in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
{
description: "Only adds the new dependency if it is found in the workspace",
name: "--workspace"
},
{
description: "Save the dependency to configurational dependencies",
name: "--config"
},
OPTIONS.ignoreScripts,
OPTIONS.offline,
OPTIONS.preferOffline,
{
description: "The registry to use for the installation",
name: "--registry <url>"
},
OPTIONS.storeDir,
OPTIONS.virtualStoreDir,
OPTIONS.globalDir,
...UNIVERSAL_OPTIONS,
{
description: "A list of package names that are allowed to run postinstall scripts during installation",
name: "--allow-build"
}
]
},
FILTERING
],
url: docsUrl("add"),
usages: [
"pnpm add <name>",
"pnpm add <name>@<tag>",
"pnpm add <name>@<version>",
"pnpm add <name>@<version range>",
"pnpm add <git host>:<git user>/<repo name>",
"pnpm add <git repo url>",
"pnpm add <tarball file>",
"pnpm add <tarball url>",
"pnpm add <dir>"
]
});
}
async function handler4(opts3, params, commands2) {
if (opts3.cliOptions["save"] === false) {
throw new PnpmError("OPTION_NOT_SUPPORTED", 'The "add" command currently does not support the no-save option');
}
if (!params || params.length === 0) {
throw new PnpmError("MISSING_PACKAGE_NAME", "`pnpm add` requires the package name");
}
if (opts3.config) {
const store = await createStoreController(opts3);
await resolveConfigDeps(params, {
...opts3,
store: store.ctrl,
storeDir: store.dir,
rootDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir
});
return;
}
if (!opts3.recursive && opts3.workspaceDir === opts3.dir && !opts3.ignoreWorkspaceRootCheck && !opts3.workspaceRoot && opts3.workspacePackagePatterns && opts3.workspacePackagePatterns.length > 1) {
throw new PnpmError("ADDING_TO_ROOT", "Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don't want to see this warning anymore, you may set the ignore-workspace-root-check setting to true.");
}
if (opts3.global) {
if (!opts3.bin) {
throw new PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", {
hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.'
});
}
if (params.some((param) => {
const { alias } = parseWantedDependency(param);
return alias === "pnpm" || alias === "@pnpm/exe";
})) {
throw new PnpmError("GLOBAL_PNPM_INSTALL", 'Use the "pnpm self-update" command to install or update pnpm');
}
return handleGlobalAdd({
...opts3,
...createGlobalPolicyCallbacks(opts3)
}, params, commands2 ?? {});
}
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
if (opts3.allowBuild?.length) {
if (opts3.argv.original.includes("--allow-build")) {
throw new PnpmError("ALLOW_BUILD_MISSING_PACKAGE", "The --allow-build flag is missing a package name. Please specify the package name(s) that are allowed to run installation scripts.");
}
if (opts3.allowBuilds) {
const disallowedBuilds = Object.entries(opts3.allowBuilds).filter(([, value]) => value === false).map(([pkg]) => pkg);
const overlapDependencies = disallowedBuilds.filter((dep) => opts3.allowBuild?.includes(dep));
if (overlapDependencies.length) {
throw new PnpmError("OVERRIDING_IGNORED_BUILT_DEPENDENCIES", `The following dependencies are ignored by the root project, but are allowed to be built by the current command: ${overlapDependencies.join(", ")}`, {
hint: "If you are sure you want to allow those dependencies to run installation scripts, remove them from the allowBuilds list (or change their value to true)."
});
}
}
const allowBuilds = {};
for (const pkg of opts3.allowBuild) {
allowBuilds[pkg] = true;
}
if (opts3.rootProjectManifestDir) {
opts3.rootProjectManifest = opts3.rootProjectManifest ?? {};
await writeSettings({
...opts3,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir,
updatedSettings: {
allowBuilds
}
});
}
const mergedAllowBuilds = { ...opts3.allowBuilds };
for (const pkg of opts3.allowBuild) {
mergedAllowBuilds[pkg] = true;
}
await installDeps({
...opts3,
allowBuilds: mergedAllowBuilds,
rebuildHandler: commands2?.rebuild,
include,
includeDirect: include,
// `--dry-run` is an `install`-only preview; never let a config-level
// `dry-run` turn `add` into a no-op check.
dryRun: false
}, params);
return;
}
await installDeps({
...opts3,
rebuildHandler: commands2?.rebuild,
include,
includeDirect: include,
dryRun: false
}, params);
}
var shorthands, commandNames4;
var init_add3 = __esm({
"../installing/commands/lib/add.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_lib102();
init_lib2();
init_lib131();
init_lib132();
init_lib98();
init_lib92();
init_es();
init_lib66();
init_installDeps();
init_resolutionPolicyManifest();
shorthands = {
"save-catalog": "--save-catalog-name=default",
d: "--save-dev",
e: "--save-exact",
o: "--save-optional",
p: "--save-prod"
};
commandNames4 = ["add"];
}
});
// ../installing/dedupe/check/lib/DedupeCheckIssuesError.js
var DedupeCheckIssuesError;
var init_DedupeCheckIssuesError = __esm({
"../installing/dedupe/check/lib/DedupeCheckIssuesError.js"() {
"use strict";
init_lib2();
DedupeCheckIssuesError = class extends PnpmError {
dedupeCheckIssues;
constructor(dedupeCheckIssues) {
super("DEDUPE_CHECK_ISSUES", "Dedupe --check found changes to the lockfile");
this.dedupeCheckIssues = dedupeCheckIssues;
}
};
}
});
// ../installing/dedupe/check/lib/dedupeDiffCheck.js
function calcDedupeCheckIssues(prev, next2, opts3) {
const importerFields = opts3?.includeImporterSpecifiers ? IMPORTER_DRY_RUN_FIELDS : DEPENDENCIES_FIELDS;
return {
importerIssuesByImporterId: diffSnapshots(prev.importers, next2.importers, importerFields),
packageIssuesByDepPath: diffSnapshots(prev.packages ?? {}, next2.packages ?? {}, PACKAGE_SNAPSHOT_DEP_FIELDS)
};
}
function countDedupeCheckIssues(issues) {
return countChangedSnapshots(issues.importerIssuesByImporterId) + countChangedSnapshots(issues.packageIssuesByDepPath);
}
function dedupeDiffCheck(prev, next2) {
const issues = calcDedupeCheckIssues(prev, next2);
if (countDedupeCheckIssues(issues) > 0) {
throw new DedupeCheckIssuesError(issues);
}
}
function diffSnapshots(prev, next2, fields) {
const removed = [];
const updated = {};
for (const [id, prevSnapshot] of Object.entries(prev)) {
const nextSnapshot = next2[id];
if (nextSnapshot == null) {
removed.push(id);
continue;
}
const updates = {};
for (const dependencyField of fields) {
Object.assign(updates, getResolutionUpdates(prevSnapshot[dependencyField] ?? {}, nextSnapshot[dependencyField] ?? {}));
}
if (Object.keys(updates).length > 0) {
updated[id] = updates;
}
}
const added = Object.keys(next2).filter((id) => prev[id] == null);
return { added, removed, updated };
}
function getResolutionUpdates(prev, next2) {
const updates = {};
for (const [alias, prevResolution] of Object.entries(prev)) {
const nextResolution = next2[alias];
if (prevResolution === nextResolution) {
continue;
}
updates[alias] = nextResolution == null ? { type: "removed", prev: prevResolution } : { type: "updated", prev: prevResolution, next: nextResolution };
}
const newAliases = Object.entries(next2).filter(([alias]) => prev[alias] == null);
for (const [alias, nextResolution] of newAliases) {
updates[alias] = { type: "added", next: nextResolution };
}
return updates;
}
function countChangedSnapshots(snapshotChanges) {
return snapshotChanges.added.length + snapshotChanges.removed.length + Object.keys(snapshotChanges.updated).length;
}
var PACKAGE_SNAPSHOT_DEP_FIELDS, IMPORTER_DRY_RUN_FIELDS;
var init_dedupeDiffCheck = __esm({
"../installing/dedupe/check/lib/dedupeDiffCheck.js"() {
"use strict";
init_lib9();
init_DedupeCheckIssuesError();
PACKAGE_SNAPSHOT_DEP_FIELDS = ["dependencies", "optionalDependencies"];
IMPORTER_DRY_RUN_FIELDS = [...DEPENDENCIES_FIELDS, "specifiers"];
}
});
// ../installing/dedupe/check/lib/index.js
var init_lib137 = __esm({
"../installing/dedupe/check/lib/index.js"() {
"use strict";
init_DedupeCheckIssuesError();
init_dedupeDiffCheck();
}
});
// ../installing/dedupe/issues-renderer/lib/index.js
function renderDedupeCheckIssues(dedupeCheckIssues) {
const importersReport = report2(dedupeCheckIssues.importerIssuesByImporterId);
const packagesReport = report2(dedupeCheckIssues.packageIssuesByDepPath);
const lines = [];
if (importersReport !== "") {
lines.push(source_default.blueBright.underline("Importers"));
lines.push(importersReport);
lines.push("");
}
if (packagesReport !== "") {
lines.push(source_default.blueBright.underline("Packages"));
lines.push(packagesReport);
lines.push("");
}
return lines.join("\n");
}
function report2(snapshotChanges) {
return [
...Object.entries(snapshotChanges.updated).map(([alias, updates]) => renderTree(toArchy(alias, updates))),
...snapshotChanges.added.map((id) => `${source_default.green("+")} ${id}`),
...snapshotChanges.removed.map((id) => `${source_default.red("-")} ${id}`)
].join("\n");
}
function toArchy(name, issue) {
return {
label: name,
nodes: Object.entries(issue).map(([alias, change2]) => toArchyResolution(alias, change2))
};
}
function toArchyResolution(alias, change2) {
switch (change2.type) {
case "added":
return { label: `${source_default.green("+")} ${alias} ${source_default.gray(change2.next)}` };
case "removed":
return { label: `${source_default.red("-")} ${alias} ${source_default.gray(change2.prev)}` };
case "updated":
return { label: `${alias} ${source_default.red(change2.prev)} ${source_default.gray("\u2192")} ${source_default.green(change2.next)}` };
}
}
var init_lib138 = __esm({
"../installing/dedupe/issues-renderer/lib/index.js"() {
"use strict";
init_lib129();
init_source();
}
});
// ../installing/commands/lib/install.js
var install_exports = {};
__export(install_exports, {
cliOptionsTypes: () => cliOptionsTypes5,
commandNames: () => commandNames5,
handler: () => handler5,
help: () => help5,
rcOptionsTypes: () => rcOptionsTypes5,
recursiveByDefault: () => recursiveByDefault,
shorthands: () => shorthands2
});
function rcOptionsTypes5() {
return pick_default([
"cache-dir",
"child-concurrency",
"cpu",
"dangerously-allow-all-builds",
"dev",
"engine-strict",
"fetch-retries",
"fetch-retry-factor",
"fetch-retry-maxtimeout",
"fetch-retry-mintimeout",
"fetch-timeout",
"frozen-lockfile",
"global-dir",
"global-pnpmfile",
"global",
"hoist",
"hoist-pattern",
"hoisting-limits",
"https-proxy",
"ignore-pnpmfile",
"ignore-scripts",
"optimistic-repeat-install",
"os",
"libc",
"link-workspace-packages",
"lockfile-dir",
"lockfile-only",
"lockfile",
"merge-git-branch-lockfiles",
"merge-git-branch-lockfiles-branch-pattern",
"modules-dir",
"network-concurrency",
"node-experimental-package-map",
"node-package-map-type",
"node-linker",
"noproxy",
"package-import-method",
"pnpmfile",
"pnpr-server",
"prefer-frozen-lockfile",
"prefer-offline",
"production",
"proxy",
"public-hoist-pattern",
"registry",
"reporter",
"runtime",
"save-workspace-protocol",
"scripts-prepend-node-path",
"shamefully-hoist",
"shared-workspace-lockfile",
"side-effects-cache-readonly",
"side-effects-cache",
"store-dir",
"strict-peer-dependencies",
"trust-lockfile",
"trust-policy",
"trust-policy-exclude",
"trust-policy-ignore-after",
"offline",
"only",
"optional",
"unsafe-perm",
"verify-store-integrity",
"frozen-store",
"virtual-store-dir",
"virtual-store-only"
], types2);
}
function help5() {
return renderHelp({
aliases: ["i"],
description: "Installs all dependencies of the project in the current working directory. When executed inside a workspace, installs all dependencies of all projects.",
descriptionLists: [
{
title: "Options",
list: [
{
description: 'Run installation recursively in every package found in subdirectories. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
OPTIONS.ignoreScripts,
OPTIONS.offline,
OPTIONS.preferOffline,
OPTIONS.globalDir,
{
description: "Packages in `devDependencies` won't be installed",
name: "--prod",
shortAlias: "-P"
},
{
description: "Only `devDependencies` are installed",
name: "--dev",
shortAlias: "-D"
},
{
description: "Skip reinstall if the workspace state is up-to-date",
name: "--optimistic-repeat-install"
},
{
description: "Report what an install would change without writing anything to disk (no lockfile, no node_modules). Resolution still runs against the registry.",
name: "--dry-run"
},
{
description: "`optionalDependencies` are not installed",
name: "--no-optional"
},
{
description: "Skip installing runtime entries (e.g. Node.js downloaded via `devEngines.runtime`). The lockfile is left untouched, so frozen installs still validate; only the runtime fetch and bin-linking are skipped. Useful in CI matrices where the runtime is provisioned externally.",
name: "--no-runtime"
},
{
description: `Don't read or generate a \`${WANTED_LOCKFILE}\` file`,
name: "--no-lockfile"
},
{
description: `Dependencies are not downloaded. Only \`${WANTED_LOCKFILE}\` is updated`,
name: "--lockfile-only"
},
{
description: "Don't generate a lockfile and fail if an update is needed. This setting is on by default in CI environments, so use --no-frozen-lockfile if you need to disable it for some reason",
name: "--[no-]frozen-lockfile"
},
{
description: `If the available \`${WANTED_LOCKFILE}\` satisfies the \`package.json\` then perform a headless installation`,
name: "--prefer-frozen-lockfile"
},
{
description: `The directory in which the ${WANTED_LOCKFILE} of the package will be created. Several projects may share a single lockfile.`,
name: "--lockfile-dir <dir>"
},
{
description: "Fix broken lockfile entries automatically",
name: "--fix-lockfile"
},
{
description: "Refresh integrity checksums recorded in the lockfile from the registry",
name: "--update-checksums"
},
{
description: "Merge lockfiles were generated on git branch",
name: "--merge-git-branch-lockfiles"
},
{
description: "The directory in which dependencies will be installed (instead of node_modules)",
name: "--modules-dir <dir>"
},
{
description: "Dependencies inside the modules directory will have access only to their listed dependencies",
name: "--no-hoist"
},
{
description: "All the subdeps will be hoisted into the root node_modules. Your code will have access to them",
name: "--shamefully-hoist"
},
{
description: "Hoist all dependencies matching the pattern to `node_modules/.pnpm/node_modules`. The default pattern is * and matches everything. Hoisted packages can be required by any dependencies, so it is an emulation of a flat node_modules",
name: "--hoist-pattern <pattern>"
},
{
description: "Hoist all dependencies matching the pattern to the root of the modules directory",
name: "--public-hoist-pattern <pattern>"
},
OPTIONS.storeDir,
OPTIONS.virtualStoreDir,
{
description: "Maximum number of concurrent network requests",
name: "--network-concurrency <number>"
},
{
description: "Controls the number of child processes run parallelly to build node modules",
name: "--child-concurrency <number>"
},
{
description: "Disable pnpm hooks defined in .pnpmfile.cjs",
name: "--ignore-pnpmfile"
},
{
description: "Ignore pnpm-workspace.yaml if exists in the parent directory, and treat the installation as normal non-workspace installation.",
name: "--ignore-workspace"
},
{
description: "If false, skips store integrity checks. These checks detect accidental corruption, not tampering by untrusted users with write access to the store",
name: "--[no-]verify-store-integrity"
},
{
description: "Open the package store read-only (immutable) and skip all store writes. For installs against a store on a read-only filesystem (e.g. a Nix store); pair with --offline --frozen-lockfile. Incompatible with --force",
name: "--frozen-store"
},
{
description: "Fail on missing or invalid peer dependencies",
name: "--strict-peer-dependencies"
},
{
description: "Fail when a package's trust level is downgraded (e.g., from a trusted publisher to provenance only or no trust evidence)",
name: "--trust-policy no-downgrade"
},
{
description: "Exclude specific packages from trust policy checks",
name: "--trust-policy-exclude <package-spec>"
},
{
description: "Ignore trust downgrades for packages published more than specified minutes ago",
name: "--trust-policy-ignore-after <minutes>"
},
{
description: "Trust the lockfile and skip the supply-chain verification step that re-applies minimumReleaseAge / trustPolicy to each lockfile entry. Use only when the lockfile is part of the trusted base (closed-source projects, CI runs against an already-verified lockfile)",
name: "--trust-lockfile"
},
{
description: "Clones/hardlinks or copies packages. The selected method depends from the file system",
name: "--package-import-method auto"
},
{
description: "Hardlink packages from the store",
name: "--package-import-method hardlink"
},
{
description: "Copy packages from the store",
name: "--package-import-method copy"
},
{
description: "Clone (aka copy-on-write) packages from the store",
name: "--package-import-method clone"
},
{
description: "Force reinstall dependencies: refetch packages modified in store, recreate a lockfile and/or modules directory created by a non-compatible version of pnpm. Install all optionalDependencies even when they don't satisfy the current environment(cpu, os, arch)",
name: "--force"
},
{
description: "Use or cache the results of (pre/post)install hooks",
name: "--side-effects-cache"
},
{
description: "Only use the side effects cache if present, do not create it for new packages",
name: "--side-effects-cache-readonly"
},
{
description: "Re-runs resolution: useful for printing out peer dependency issues",
name: "--resolution-only"
},
{
description: "Override CPU architecture of native modules to install. Acceptable values are the same as the `cpu` field of `package.json` (from `process.arch`)",
name: "--cpu <arch>"
},
{
description: "Override OS of native modules to install. Acceptable values are the same as the `os` field of `package.json` (from `process.platform`)",
name: "--os <os>"
},
{
description: "Override libc of native modules to install. Acceptable values are the same as the `libc` field of `package.json`",
name: "--libc <libc>"
},
...UNIVERSAL_OPTIONS
]
},
OUTPUT_OPTIONS,
FILTERING
],
url: docsUrl("install"),
usages: ["pnpm install [options]"]
});
}
async function handler5(opts3, _params, commands2) {
if (opts3.global && !opts3._calledFromLink) {
throw new PnpmError("GLOBAL_INSTALL_NOT_SUPPORTED", '"pnpm install -g" is not supported. Use "pnpm add -g <pkg>" to install global packages.');
}
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
const installDepsOptions = {
...opts3,
rebuildHandler: commands2?.rebuild,
frozenLockfileIfExists: opts3.frozenLockfileIfExists ?? (opts3.ci && !opts3.lockfileOnly && typeof opts3.frozenLockfile === "undefined" && typeof opts3.preferFrozenLockfile === "undefined"),
include,
includeDirect: include,
isInstallCommand: true
};
if (opts3.resolutionOnly) {
installDepsOptions.lockfileOnly = true;
installDepsOptions.forceFullResolution = true;
}
if (opts3.dryRun) {
return dryRunInstall(installDepsOptions, opts3);
}
await installDeps(installDepsOptions, []);
}
async function dryRunInstall(installDepsOptions, opts3) {
if (opts3.pnprServer) {
throw new PnpmError("CONFIG_CONFLICT_DRY_RUN_WITH_PNPR_SERVER", "Cannot use --dry-run with a configured pnpr server because the pnpr install path resolves and links through the server");
}
installDepsOptions.optimisticRepeatInstall = false;
installDepsOptions.lockfileOnly = true;
installDepsOptions.dryRun = true;
const dryRunResult = await installDeps(installDepsOptions, []);
if (dryRunResult == null) {
return "Dry run complete. Could not compute the changes for this install configuration (no shared lockfile to compare).";
}
return renderDryRunReport(dryRunResult);
}
function renderDryRunReport(dryRunResult) {
const issues = calcDedupeCheckIssues(dryRunResult.originalLockfile, dryRunResult.wantedLockfile, { includeImporterSpecifiers: true });
if (countDedupeCheckIssues(issues) === 0) {
return `Dry run complete. ${WANTED_LOCKFILE} is up to date; a real install would make no changes.`;
}
return [
"Dry run complete. A real install would make the following changes (nothing was written to disk):",
"",
renderDedupeCheckIssues(issues)
].join("\n");
}
var cliOptionsTypes5, shorthands2, commandNames5, recursiveByDefault;
var init_install2 = __esm({
"../installing/commands/lib/install.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_lib();
init_lib2();
init_lib137();
init_lib138();
init_es();
init_lib66();
init_installDeps();
cliOptionsTypes5 = () => ({
...rcOptionsTypes5(),
...pick_default(["force"], types2),
"dry-run": Boolean,
"fix-lockfile": Boolean,
"update-checksums": Boolean,
"resolution-only": Boolean,
recursive: Boolean,
// `--no-save` lets `pnpm install` skip writing to package.json /
// pnpm-workspace.yaml. Without registering it here, nopt drops the
// flag, `opts.save` stays undefined, and the auto-add path treats
// it as "save enabled".
save: Boolean
});
shorthands2 = {
D: "--dev",
P: "--production"
};
commandNames5 = ["install", "i"];
recursiveByDefault = true;
}
});
// ../installing/commands/lib/dedupe.js
var dedupe_exports = {};
__export(dedupe_exports, {
cliOptionsTypes: () => cliOptionsTypes6,
commandNames: () => commandNames6,
handler: () => handler6,
help: () => help6,
rcOptionsTypes: () => rcOptionsTypes6,
recursiveByDefault: () => recursiveByDefault2
});
function rcOptionsTypes6() {
return omit_default(["frozen-lockfile"], rcOptionsTypes5());
}
function cliOptionsTypes6() {
return {
...rcOptionsTypes6(),
check: Boolean
};
}
function help6() {
return renderHelp({
description: "Perform an install removing older dependencies in the lockfile if a newer version can be used.",
descriptionLists: [
{
title: "Options",
list: [
...UNIVERSAL_OPTIONS,
{
description: "Check if running dedupe would result in changes without installing packages or editing the lockfile. Exits with a non-zero status code if changes are possible.",
name: "--check"
},
OPTIONS.ignoreScripts,
OPTIONS.offline,
OPTIONS.preferOffline,
OPTIONS.storeDir,
OPTIONS.virtualStoreDir,
OPTIONS.globalDir
]
}
],
url: docsUrl("dedupe"),
usages: ["pnpm dedupe"]
});
}
async function handler6(opts3, _params, commands2) {
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
await installDeps({
...opts3,
rebuildHandler: commands2?.rebuild,
dedupe: true,
include,
includeDirect: include,
lockfileCheck: opts3.check ? dedupeDiffCheck : void 0,
// `--dry-run` is an `install`-only preview; `dedupe` has its own `--check`.
dryRun: false
}, []);
}
var commandNames6, recursiveByDefault2;
var init_dedupe = __esm({
"../installing/commands/lib/dedupe.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib137();
init_es();
init_lib66();
init_install2();
init_installDeps();
commandNames6 = ["dedupe"];
recursiveByDefault2 = true;
}
});
// ../installing/commands/lib/fetch.js
var fetch_exports = {};
__export(fetch_exports, {
cliOptionsTypes: () => cliOptionsTypes5,
commandNames: () => commandNames7,
handler: () => handler7,
help: () => help7,
rcOptionsTypes: () => rcOptionsTypes7,
shorthands: () => shorthands3
});
function help7() {
return renderHelp({
description: "Fetch packages from a lockfile into virtual store, package manifest is ignored. WARNING! This is an experimental command. Breaking changes may be introduced in non-major versions of the CLI",
descriptionLists: [
{
title: "Options",
list: [
{
description: "Only development packages will be fetched",
name: "--dev",
shortAlias: "-D"
},
{
description: "Development packages will not be fetched",
name: "--prod",
shortAlias: "-P"
},
...UNIVERSAL_OPTIONS
]
}
],
url: docsUrl("fetch"),
usages: ["pnpm fetch [--dev | --prod]"]
});
}
async function handler7(opts3) {
const store = await createStoreController(opts3);
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
// when including optional deps, production is also required when perform headless install
optionalDependencies: opts3.production !== false
};
await mutateModulesInSingleProject({
manifest: {},
mutation: "install",
pruneDirectDependencies: true,
rootDir: process.cwd()
}, {
...opts3,
ignorePackageManifest: true,
ignoreLocalPackages: true,
include,
modulesCacheMaxAge: 0,
pruneStore: true,
storeController: store.ctrl,
storeDir: store.dir,
resolutionVerifiers: store.resolutionVerifiers,
// Hoisting is skipped anyway,
// so we store these empty patterns in node_modules/.modules.yaml
// to let the subsequent install know that hoisting should be performed.
hoistPattern: [],
publicHoistPattern: [],
// virtualStoreOnly skips post-import linking (symlinks, bins, hoisting)
// even if ignorePackageManifest handling changes in the future.
virtualStoreOnly: true,
// Ensure fetch can populate the virtual store even when the user has
// enable-modules-dir=false in their config — fetch always needs node_modules/.pnpm
// (unless GVS is active, in which case enableModulesDir doesn't matter).
enableModulesDir: true
});
}
var rcOptionsTypes7, shorthands3, commandNames7;
var init_fetch3 = __esm({
"../installing/commands/lib/fetch.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib126();
init_lib92();
init_lib66();
init_install2();
rcOptionsTypes7 = cliOptionsTypes5;
shorthands3 = {
D: "--dev",
P: "--production"
};
commandNames7 = ["fetch"];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinylogic/2.0.0/aed296968f4f4760d5039fdac7c793d1d722216ddb2bce5d314ad2f74f791cf9/node_modules/tinylogic/grammar.js
var require_grammar = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinylogic/2.0.0/aed296968f4f4760d5039fdac7c793d1d722216ddb2bce5d314ad2f74f791cf9/node_modules/tinylogic/grammar.js"(exports2, module2) {
"use strict";
function peg$subclass(child, parent) {
function ctor() {
this.constructor = child;
}
ctor.prototype = parent.prototype;
child.prototype = new ctor();
}
function peg$SyntaxError(message, expected, found, location) {
this.message = message;
this.expected = expected;
this.found = found;
this.location = location;
this.name = "SyntaxError";
if (typeof Error.captureStackTrace === "function") {
Error.captureStackTrace(this, peg$SyntaxError);
}
}
peg$subclass(peg$SyntaxError, Error);
peg$SyntaxError.buildMessage = function(expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: function(expectation) {
return '"' + literalEscape(expectation.text) + '"';
},
"class": function(expectation) {
var escapedParts = "", i4;
for (i4 = 0; i4 < expectation.parts.length; i4++) {
escapedParts += expectation.parts[i4] instanceof Array ? classEscape(expectation.parts[i4][0]) + "-" + classEscape(expectation.parts[i4][1]) : classEscape(expectation.parts[i4]);
}
return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
},
any: function(expectation) {
return "any character";
},
end: function(expectation) {
return "end of input";
},
other: function(expectation) {
return expectation.description;
}
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
function literalEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function classEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
return "\\x" + hex(ch);
});
}
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
function describeExpected(expected2) {
var descriptions = new Array(expected2.length), i4, j2;
for (i4 = 0; i4 < expected2.length; i4++) {
descriptions[i4] = describeExpectation(expected2[i4]);
}
descriptions.sort();
if (descriptions.length > 0) {
for (i4 = 1, j2 = 1; i4 < descriptions.length; i4++) {
if (descriptions[i4 - 1] !== descriptions[i4]) {
descriptions[j2] = descriptions[i4];
j2++;
}
}
descriptions.length = j2;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
function peg$parse(input, options) {
options = options !== void 0 ? options : {};
var peg$FAILED = {}, peg$startRuleFunctions = { Expression: peg$parseExpression }, peg$startRuleFunction = peg$parseExpression, peg$c0 = "|", peg$c1 = peg$literalExpectation("|", false), peg$c2 = "&", peg$c3 = peg$literalExpectation("&", false), peg$c4 = "^", peg$c5 = peg$literalExpectation("^", false), peg$c6 = function(head2, tail2) {
return !!tail2.reduce((result2, element) => {
switch (element[1]) {
case "|":
return result2 | element[3];
case "&":
return result2 & element[3];
case "^":
return result2 ^ element[3];
}
}, head2);
}, peg$c7 = "!", peg$c8 = peg$literalExpectation("!", false), peg$c9 = function(term) {
return !term;
}, peg$c10 = "(", peg$c11 = peg$literalExpectation("(", false), peg$c12 = ")", peg$c13 = peg$literalExpectation(")", false), peg$c14 = function(expr) {
return expr;
}, peg$c15 = /^[^ \t\n\r()!|&\^]/, peg$c16 = peg$classExpectation([" ", " ", "\n", "\r", "(", ")", "!", "|", "&", "^"], true, false), peg$c17 = function(token) {
return options.queryPattern.test(token);
}, peg$c18 = function(token) {
return options.checkFn(token);
}, peg$c19 = peg$otherExpectation("whitespace"), peg$c20 = /^[ \t\n\r]/, peg$c21 = peg$classExpectation([" ", " ", "\n", "\r"], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
if ("startRule" in options) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
function expected(description, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildStructuredError(
[peg$otherExpectation(description)],
input.substring(peg$savedPos, peg$currPos),
location2
);
}
function error(message, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildSimpleError(message, location2);
}
function peg$literalExpectation(text2, ignoreCase) {
return { type: "literal", text: text2, ignoreCase };
}
function peg$classExpectation(parts, inverted, ignoreCase) {
return { type: "class", parts, inverted, ignoreCase };
}
function peg$anyExpectation() {
return { type: "any" };
}
function peg$endExpectation() {
return { type: "end" };
}
function peg$otherExpectation(description) {
return { type: "other", description };
}
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos], p;
if (details) {
return details;
} else {
p = pos - 1;
while (!peg$posDetailsCache[p]) {
p--;
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column
};
while (p < pos) {
if (input.charCodeAt(p) === 10) {
details.line++;
details.column = 1;
} else {
details.column++;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
function peg$computeLocation(startPos, endPos) {
var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
return {
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
}
function peg$fail(expected2) {
if (peg$currPos < peg$maxFailPos) {
return;
}
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected2);
}
function peg$buildSimpleError(message, location2) {
return new peg$SyntaxError(message, null, null, location2);
}
function peg$buildStructuredError(expected2, found, location2) {
return new peg$SyntaxError(
peg$SyntaxError.buildMessage(expected2, found),
expected2,
found,
location2
);
}
function peg$parseExpression() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseTerm();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c0;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c1);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 38) {
s5 = peg$c2;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c3);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 94) {
s5 = peg$c4;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c5);
}
}
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseTerm();
if (s7 !== peg$FAILED) {
s4 = [s4, s5, s6, s7];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c0;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c1);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 38) {
s5 = peg$c2;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c3);
}
}
if (s5 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 94) {
s5 = peg$c4;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c5);
}
}
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseTerm();
if (s7 !== peg$FAILED) {
s4 = [s4, s5, s6, s7];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c6(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseTerm() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 33) {
s1 = peg$c7;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c8);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseTerm();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c9(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c10;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c11);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parseExpression();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c12;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c13);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c14(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseToken();
}
}
return s0;
}
function peg$parseToken() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parse_();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
if (peg$c15.test(input.charAt(peg$currPos))) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c16);
}
}
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
if (peg$c15.test(input.charAt(peg$currPos))) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c16);
}
}
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s2 = input.substring(s2, peg$currPos);
} else {
s2 = s3;
}
if (s2 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s3 = peg$c17(s2);
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c18(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parse_() {
var s0, s1;
peg$silentFails++;
s0 = [];
if (peg$c20.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c21);
}
}
while (s1 !== peg$FAILED) {
s0.push(s1);
if (peg$c20.test(input.charAt(peg$currPos))) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c21);
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$c19);
}
}
return s0;
}
peg$result = peg$startRuleFunction();
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
peg$fail(peg$endExpectation());
}
throw peg$buildStructuredError(
peg$maxFailExpected,
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
);
}
}
module2.exports = {
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinylogic/2.0.0/aed296968f4f4760d5039fdac7c793d1d722216ddb2bce5d314ad2f74f791cf9/node_modules/tinylogic/index.js
var require_tinylogic = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/tinylogic/2.0.0/aed296968f4f4760d5039fdac7c793d1d722216ddb2bce5d314ad2f74f791cf9/node_modules/tinylogic/index.js"(exports2) {
var { parse: parse12 } = require_grammar();
exports2.makeParser = (queryPattern = /[a-z]+/) => {
return (str2, checkFn) => parse12(str2, { queryPattern, checkFn });
};
exports2.parse = exports2.makeParser();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/MessageName.js
var require_MessageName = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/MessageName.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MessageName = void 0;
exports2.stringifyMessageName = stringifyMessageName;
exports2.parseMessageName = parseMessageName;
var MessageName;
(function(MessageName2) {
MessageName2[MessageName2["UNNAMED"] = 0] = "UNNAMED";
MessageName2[MessageName2["EXCEPTION"] = 1] = "EXCEPTION";
MessageName2[MessageName2["MISSING_PEER_DEPENDENCY"] = 2] = "MISSING_PEER_DEPENDENCY";
MessageName2[MessageName2["CYCLIC_DEPENDENCIES"] = 3] = "CYCLIC_DEPENDENCIES";
MessageName2[MessageName2["DISABLED_BUILD_SCRIPTS"] = 4] = "DISABLED_BUILD_SCRIPTS";
MessageName2[MessageName2["BUILD_DISABLED"] = 5] = "BUILD_DISABLED";
MessageName2[MessageName2["SOFT_LINK_BUILD"] = 6] = "SOFT_LINK_BUILD";
MessageName2[MessageName2["MUST_BUILD"] = 7] = "MUST_BUILD";
MessageName2[MessageName2["MUST_REBUILD"] = 8] = "MUST_REBUILD";
MessageName2[MessageName2["BUILD_FAILED"] = 9] = "BUILD_FAILED";
MessageName2[MessageName2["RESOLVER_NOT_FOUND"] = 10] = "RESOLVER_NOT_FOUND";
MessageName2[MessageName2["FETCHER_NOT_FOUND"] = 11] = "FETCHER_NOT_FOUND";
MessageName2[MessageName2["LINKER_NOT_FOUND"] = 12] = "LINKER_NOT_FOUND";
MessageName2[MessageName2["FETCH_NOT_CACHED"] = 13] = "FETCH_NOT_CACHED";
MessageName2[MessageName2["YARN_IMPORT_FAILED"] = 14] = "YARN_IMPORT_FAILED";
MessageName2[MessageName2["REMOTE_INVALID"] = 15] = "REMOTE_INVALID";
MessageName2[MessageName2["REMOTE_NOT_FOUND"] = 16] = "REMOTE_NOT_FOUND";
MessageName2[MessageName2["RESOLUTION_PACK"] = 17] = "RESOLUTION_PACK";
MessageName2[MessageName2["CACHE_CHECKSUM_MISMATCH"] = 18] = "CACHE_CHECKSUM_MISMATCH";
MessageName2[MessageName2["UNUSED_CACHE_ENTRY"] = 19] = "UNUSED_CACHE_ENTRY";
MessageName2[MessageName2["MISSING_LOCKFILE_ENTRY"] = 20] = "MISSING_LOCKFILE_ENTRY";
MessageName2[MessageName2["WORKSPACE_NOT_FOUND"] = 21] = "WORKSPACE_NOT_FOUND";
MessageName2[MessageName2["TOO_MANY_MATCHING_WORKSPACES"] = 22] = "TOO_MANY_MATCHING_WORKSPACES";
MessageName2[MessageName2["CONSTRAINTS_MISSING_DEPENDENCY"] = 23] = "CONSTRAINTS_MISSING_DEPENDENCY";
MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_DEPENDENCY"] = 24] = "CONSTRAINTS_INCOMPATIBLE_DEPENDENCY";
MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_DEPENDENCY"] = 25] = "CONSTRAINTS_EXTRANEOUS_DEPENDENCY";
MessageName2[MessageName2["CONSTRAINTS_INVALID_DEPENDENCY"] = 26] = "CONSTRAINTS_INVALID_DEPENDENCY";
MessageName2[MessageName2["CANT_SUGGEST_RESOLUTIONS"] = 27] = "CANT_SUGGEST_RESOLUTIONS";
MessageName2[MessageName2["FROZEN_LOCKFILE_EXCEPTION"] = 28] = "FROZEN_LOCKFILE_EXCEPTION";
MessageName2[MessageName2["CROSS_DRIVE_VIRTUAL_LOCAL"] = 29] = "CROSS_DRIVE_VIRTUAL_LOCAL";
MessageName2[MessageName2["FETCH_FAILED"] = 30] = "FETCH_FAILED";
MessageName2[MessageName2["DANGEROUS_NODE_MODULES"] = 31] = "DANGEROUS_NODE_MODULES";
MessageName2[MessageName2["NODE_GYP_INJECTED"] = 32] = "NODE_GYP_INJECTED";
MessageName2[MessageName2["AUTHENTICATION_NOT_FOUND"] = 33] = "AUTHENTICATION_NOT_FOUND";
MessageName2[MessageName2["INVALID_CONFIGURATION_KEY"] = 34] = "INVALID_CONFIGURATION_KEY";
MessageName2[MessageName2["NETWORK_ERROR"] = 35] = "NETWORK_ERROR";
MessageName2[MessageName2["LIFECYCLE_SCRIPT"] = 36] = "LIFECYCLE_SCRIPT";
MessageName2[MessageName2["CONSTRAINTS_MISSING_FIELD"] = 37] = "CONSTRAINTS_MISSING_FIELD";
MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_FIELD"] = 38] = "CONSTRAINTS_INCOMPATIBLE_FIELD";
MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_FIELD"] = 39] = "CONSTRAINTS_EXTRANEOUS_FIELD";
MessageName2[MessageName2["CONSTRAINTS_INVALID_FIELD"] = 40] = "CONSTRAINTS_INVALID_FIELD";
MessageName2[MessageName2["AUTHENTICATION_INVALID"] = 41] = "AUTHENTICATION_INVALID";
MessageName2[MessageName2["PROLOG_UNKNOWN_ERROR"] = 42] = "PROLOG_UNKNOWN_ERROR";
MessageName2[MessageName2["PROLOG_SYNTAX_ERROR"] = 43] = "PROLOG_SYNTAX_ERROR";
MessageName2[MessageName2["PROLOG_EXISTENCE_ERROR"] = 44] = "PROLOG_EXISTENCE_ERROR";
MessageName2[MessageName2["STACK_OVERFLOW_RESOLUTION"] = 45] = "STACK_OVERFLOW_RESOLUTION";
MessageName2[MessageName2["AUTOMERGE_FAILED_TO_PARSE"] = 46] = "AUTOMERGE_FAILED_TO_PARSE";
MessageName2[MessageName2["AUTOMERGE_IMMUTABLE"] = 47] = "AUTOMERGE_IMMUTABLE";
MessageName2[MessageName2["AUTOMERGE_SUCCESS"] = 48] = "AUTOMERGE_SUCCESS";
MessageName2[MessageName2["AUTOMERGE_REQUIRED"] = 49] = "AUTOMERGE_REQUIRED";
MessageName2[MessageName2["DEPRECATED_CLI_SETTINGS"] = 50] = "DEPRECATED_CLI_SETTINGS";
MessageName2[MessageName2["PLUGIN_NAME_NOT_FOUND"] = 51] = "PLUGIN_NAME_NOT_FOUND";
MessageName2[MessageName2["INVALID_PLUGIN_REFERENCE"] = 52] = "INVALID_PLUGIN_REFERENCE";
MessageName2[MessageName2["CONSTRAINTS_AMBIGUITY"] = 53] = "CONSTRAINTS_AMBIGUITY";
MessageName2[MessageName2["CACHE_OUTSIDE_PROJECT"] = 54] = "CACHE_OUTSIDE_PROJECT";
MessageName2[MessageName2["IMMUTABLE_INSTALL"] = 55] = "IMMUTABLE_INSTALL";
MessageName2[MessageName2["IMMUTABLE_CACHE"] = 56] = "IMMUTABLE_CACHE";
MessageName2[MessageName2["INVALID_MANIFEST"] = 57] = "INVALID_MANIFEST";
MessageName2[MessageName2["PACKAGE_PREPARATION_FAILED"] = 58] = "PACKAGE_PREPARATION_FAILED";
MessageName2[MessageName2["INVALID_RANGE_PEER_DEPENDENCY"] = 59] = "INVALID_RANGE_PEER_DEPENDENCY";
MessageName2[MessageName2["INCOMPATIBLE_PEER_DEPENDENCY"] = 60] = "INCOMPATIBLE_PEER_DEPENDENCY";
MessageName2[MessageName2["DEPRECATED_PACKAGE"] = 61] = "DEPRECATED_PACKAGE";
MessageName2[MessageName2["INCOMPATIBLE_OS"] = 62] = "INCOMPATIBLE_OS";
MessageName2[MessageName2["INCOMPATIBLE_CPU"] = 63] = "INCOMPATIBLE_CPU";
MessageName2[MessageName2["FROZEN_ARTIFACT_EXCEPTION"] = 64] = "FROZEN_ARTIFACT_EXCEPTION";
MessageName2[MessageName2["TELEMETRY_NOTICE"] = 65] = "TELEMETRY_NOTICE";
MessageName2[MessageName2["PATCH_HUNK_FAILED"] = 66] = "PATCH_HUNK_FAILED";
MessageName2[MessageName2["INVALID_CONFIGURATION_VALUE"] = 67] = "INVALID_CONFIGURATION_VALUE";
MessageName2[MessageName2["UNUSED_PACKAGE_EXTENSION"] = 68] = "UNUSED_PACKAGE_EXTENSION";
MessageName2[MessageName2["REDUNDANT_PACKAGE_EXTENSION"] = 69] = "REDUNDANT_PACKAGE_EXTENSION";
MessageName2[MessageName2["AUTO_NM_SUCCESS"] = 70] = "AUTO_NM_SUCCESS";
MessageName2[MessageName2["NM_CANT_INSTALL_EXTERNAL_SOFT_LINK"] = 71] = "NM_CANT_INSTALL_EXTERNAL_SOFT_LINK";
MessageName2[MessageName2["NM_PRESERVE_SYMLINKS_REQUIRED"] = 72] = "NM_PRESERVE_SYMLINKS_REQUIRED";
MessageName2[MessageName2["UPDATE_LOCKFILE_ONLY_SKIP_LINK"] = 73] = "UPDATE_LOCKFILE_ONLY_SKIP_LINK";
MessageName2[MessageName2["NM_HARDLINKS_MODE_DOWNGRADED"] = 74] = "NM_HARDLINKS_MODE_DOWNGRADED";
MessageName2[MessageName2["PROLOG_INSTANTIATION_ERROR"] = 75] = "PROLOG_INSTANTIATION_ERROR";
MessageName2[MessageName2["INCOMPATIBLE_ARCHITECTURE"] = 76] = "INCOMPATIBLE_ARCHITECTURE";
MessageName2[MessageName2["GHOST_ARCHITECTURE"] = 77] = "GHOST_ARCHITECTURE";
MessageName2[MessageName2["RESOLUTION_MISMATCH"] = 78] = "RESOLUTION_MISMATCH";
MessageName2[MessageName2["PROLOG_LIMIT_EXCEEDED"] = 79] = "PROLOG_LIMIT_EXCEEDED";
MessageName2[MessageName2["NETWORK_DISABLED"] = 80] = "NETWORK_DISABLED";
MessageName2[MessageName2["NETWORK_UNSAFE_HTTP"] = 81] = "NETWORK_UNSAFE_HTTP";
MessageName2[MessageName2["RESOLUTION_FAILED"] = 82] = "RESOLUTION_FAILED";
MessageName2[MessageName2["AUTOMERGE_GIT_ERROR"] = 83] = "AUTOMERGE_GIT_ERROR";
MessageName2[MessageName2["CONSTRAINTS_CHECK_FAILED"] = 84] = "CONSTRAINTS_CHECK_FAILED";
MessageName2[MessageName2["UPDATED_RESOLUTION_RECORD"] = 85] = "UPDATED_RESOLUTION_RECORD";
MessageName2[MessageName2["EXPLAIN_PEER_DEPENDENCIES_CTA"] = 86] = "EXPLAIN_PEER_DEPENDENCIES_CTA";
MessageName2[MessageName2["MIGRATION_SUCCESS"] = 87] = "MIGRATION_SUCCESS";
MessageName2[MessageName2["VERSION_NOTICE"] = 88] = "VERSION_NOTICE";
MessageName2[MessageName2["TIPS_NOTICE"] = 89] = "TIPS_NOTICE";
MessageName2[MessageName2["OFFLINE_MODE_ENABLED"] = 90] = "OFFLINE_MODE_ENABLED";
MessageName2[MessageName2["INVALID_PROVENANCE_ENVIRONMENT"] = 91] = "INVALID_PROVENANCE_ENVIRONMENT";
MessageName2[MessageName2["EXPERIMENTAL"] = 92] = "EXPERIMENTAL";
})(MessageName || (exports2.MessageName = MessageName = {}));
function stringifyMessageName(name) {
return `YN${name.toString(10).padStart(4, `0`)}`;
}
function parseMessageName(messageName) {
const parsed = Number(messageName.slice(2));
if (typeof MessageName[parsed] === `undefined`)
throw new Error(`Unknown message name: "${messageName}"`);
return parsed;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArray.js
var require_isArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArray.js"(exports2) {
function isArray(value) {
return Array.isArray(value);
}
exports2.isArray = isArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js
var require_isPlainObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js"(exports2) {
function isPlainObject5(object) {
if (typeof object !== "object") return false;
if (object == null) return false;
if (Object.getPrototypeOf(object) === null) return true;
if (Object.prototype.toString.call(object) !== "[object Object]") {
const tag = object[Symbol.toStringTag];
if (tag == null) return false;
if (!Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable) return false;
return object.toString() === `[object ${tag}]`;
}
let proto2 = object;
while (Object.getPrototypeOf(proto2) !== null) proto2 = Object.getPrototypeOf(proto2);
return Object.getPrototypeOf(object) === proto2;
}
exports2.isPlainObject = isPlainObject5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js
var require_isEqualsSameValueZero = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js"(exports2) {
function isEqualsSameValueZero(value, other) {
return value === other || Number.isNaN(value) && Number.isNaN(other);
}
exports2.isEqualsSameValueZero = isEqualsSameValueZero;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/noop.js
var require_noop = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/noop.js"(exports2) {
function noop5() {
}
exports2.noop = noop5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js
var require_getSymbols = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js"(exports2) {
function getSymbols(object) {
return Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));
}
exports2.getSymbols = getSymbols;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getTag.js
var require_getTag = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getTag.js"(exports2) {
function getTag(value) {
if (value == null) return value === void 0 ? "[object Undefined]" : "[object Null]";
return Object.prototype.toString.call(value);
}
exports2.getTag = getTag;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/tags.js
var require_tags2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/tags.js"(exports2) {
var regexpTag = "[object RegExp]";
var stringTag = "[object String]";
var numberTag = "[object Number]";
var booleanTag = "[object Boolean]";
var argumentsTag = "[object Arguments]";
var symbolTag = "[object Symbol]";
var dateTag = "[object Date]";
var mapTag = "[object Map]";
var setTag = "[object Set]";
var arrayTag = "[object Array]";
var functionTag = "[object Function]";
var arrayBufferTag = "[object ArrayBuffer]";
var objectTag = "[object Object]";
var errorTag = "[object Error]";
var dataViewTag = "[object DataView]";
var uint8ArrayTag = "[object Uint8Array]";
var uint8ClampedArrayTag = "[object Uint8ClampedArray]";
var uint16ArrayTag = "[object Uint16Array]";
var uint32ArrayTag = "[object Uint32Array]";
var bigUint64ArrayTag = "[object BigUint64Array]";
var int8ArrayTag = "[object Int8Array]";
var int16ArrayTag = "[object Int16Array]";
var int32ArrayTag = "[object Int32Array]";
var bigInt64ArrayTag = "[object BigInt64Array]";
var float32ArrayTag = "[object Float32Array]";
var float64ArrayTag = "[object Float64Array]";
exports2.argumentsTag = argumentsTag;
exports2.arrayBufferTag = arrayBufferTag;
exports2.arrayTag = arrayTag;
exports2.bigInt64ArrayTag = bigInt64ArrayTag;
exports2.bigUint64ArrayTag = bigUint64ArrayTag;
exports2.booleanTag = booleanTag;
exports2.dataViewTag = dataViewTag;
exports2.dateTag = dateTag;
exports2.errorTag = errorTag;
exports2.float32ArrayTag = float32ArrayTag;
exports2.float64ArrayTag = float64ArrayTag;
exports2.functionTag = functionTag;
exports2.int16ArrayTag = int16ArrayTag;
exports2.int32ArrayTag = int32ArrayTag;
exports2.int8ArrayTag = int8ArrayTag;
exports2.mapTag = mapTag;
exports2.numberTag = numberTag;
exports2.objectTag = objectTag;
exports2.regexpTag = regexpTag;
exports2.setTag = setTag;
exports2.stringTag = stringTag;
exports2.symbolTag = symbolTag;
exports2.uint16ArrayTag = uint16ArrayTag;
exports2.uint32ArrayTag = uint32ArrayTag;
exports2.uint8ArrayTag = uint8ArrayTag;
exports2.uint8ClampedArrayTag = uint8ClampedArrayTag;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/globalThis.js
var require_globalThis = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/globalThis.js"(exports2) {
var globalThis_ = typeof globalThis === "object" && globalThis || typeof window === "object" && window || typeof self === "object" && self || typeof global === "object" && global || /* @__PURE__ */ (function() {
return this;
})();
exports2.globalThis_ = globalThis_;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBuffer.js
var require_isBuffer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBuffer.js"(exports2) {
var require_globalThis2 = require_globalThis();
function isBuffer(x3) {
return typeof require_globalThis2.globalThis_.Buffer !== "undefined" && require_globalThis2.globalThis_.Buffer.isBuffer(x3);
}
exports2.isBuffer = isBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPlainObject.js
var require_isPlainObject2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPlainObject.js"(exports2) {
function isPlainObject5(value) {
if (!value || typeof value !== "object") return false;
const proto2 = Object.getPrototypeOf(value);
if (!(proto2 === null || proto2 === Object.prototype || Object.getPrototypeOf(proto2) === null)) return false;
return Object.prototype.toString.call(value) === "[object Object]";
}
exports2.isPlainObject = isPlainObject5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/eq.js
var require_eq2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/eq.js"() {
require_isEqualsSameValueZero();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEqualWith.js
var require_isEqualWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEqualWith.js"(exports2) {
var require_getSymbols2 = require_getSymbols();
var require_getTag2 = require_getTag();
var require_tags3 = require_tags2();
var require_isBuffer3 = require_isBuffer();
var require_isPlainObject3 = require_isPlainObject2();
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
function isEqualWith(a2, b, areValuesEqual) {
return isEqualWithImpl(a2, b, void 0, void 0, void 0, void 0, areValuesEqual);
}
function isEqualWithImpl(a2, b, property, aParent, bParent, stack, areValuesEqual) {
const result2 = areValuesEqual(a2, b, property, aParent, bParent, stack);
if (result2 !== void 0) return result2;
if (typeof a2 === typeof b) switch (typeof a2) {
case "bigint":
case "string":
case "boolean":
case "symbol":
case "undefined":
return a2 === b;
case "number":
return a2 === b || Object.is(a2, b);
case "function":
return a2 === b;
case "object":
return areObjectsEqual(a2, b, stack, areValuesEqual);
}
return areObjectsEqual(a2, b, stack, areValuesEqual);
}
function areObjectsEqual(a2, b, stack, areValuesEqual) {
if (Object.is(a2, b)) return true;
let aTag = require_getTag2.getTag(a2);
let bTag = require_getTag2.getTag(b);
if (aTag === "[object Arguments]") aTag = require_tags3.objectTag;
if (bTag === "[object Arguments]") bTag = require_tags3.objectTag;
if (aTag !== bTag) return false;
switch (aTag) {
case require_tags3.stringTag:
return a2.toString() === b.toString();
case require_tags3.numberTag: {
const x3 = a2.valueOf();
const y = b.valueOf();
return require_isEqualsSameValueZero2.isEqualsSameValueZero(x3, y);
}
case require_tags3.booleanTag:
case require_tags3.dateTag:
case require_tags3.symbolTag:
return Object.is(a2.valueOf(), b.valueOf());
case require_tags3.regexpTag:
return a2.source === b.source && a2.flags === b.flags;
case require_tags3.functionTag:
return a2 === b;
}
stack = stack ?? /* @__PURE__ */ new Map();
const aStack = stack.get(a2);
const bStack = stack.get(b);
if (aStack != null && bStack != null) return aStack === b;
stack.set(a2, b);
stack.set(b, a2);
try {
switch (aTag) {
case require_tags3.mapTag:
if (a2.size !== b.size) return false;
for (const [key, value] of a2.entries()) if (!b.has(key) || !isEqualWithImpl(value, b.get(key), key, a2, b, stack, areValuesEqual)) return false;
return true;
case require_tags3.setTag: {
if (a2.size !== b.size) return false;
const aValues = Array.from(a2.values());
const bValues = Array.from(b.values());
for (let i4 = 0; i4 < aValues.length; i4++) {
const aValue = aValues[i4];
const index2 = bValues.findIndex((bValue) => {
return isEqualWithImpl(aValue, bValue, void 0, a2, b, stack, areValuesEqual);
});
if (index2 === -1) return false;
bValues.splice(index2, 1);
}
return true;
}
case require_tags3.arrayTag:
case require_tags3.uint8ArrayTag:
case require_tags3.uint8ClampedArrayTag:
case require_tags3.uint16ArrayTag:
case require_tags3.uint32ArrayTag:
case require_tags3.bigUint64ArrayTag:
case require_tags3.int8ArrayTag:
case require_tags3.int16ArrayTag:
case require_tags3.int32ArrayTag:
case require_tags3.bigInt64ArrayTag:
case require_tags3.float32ArrayTag:
case require_tags3.float64ArrayTag:
if (require_isBuffer3.isBuffer(a2) !== require_isBuffer3.isBuffer(b)) return false;
if (a2.length !== b.length) return false;
for (let i4 = 0; i4 < a2.length; i4++) if (!isEqualWithImpl(a2[i4], b[i4], i4, a2, b, stack, areValuesEqual)) return false;
return true;
case require_tags3.arrayBufferTag:
if (a2.byteLength !== b.byteLength) return false;
return areObjectsEqual(new Uint8Array(a2), new Uint8Array(b), stack, areValuesEqual);
case require_tags3.dataViewTag:
if (a2.byteLength !== b.byteLength || a2.byteOffset !== b.byteOffset) return false;
return areObjectsEqual(new Uint8Array(a2), new Uint8Array(b), stack, areValuesEqual);
case require_tags3.errorTag:
return a2.name === b.name && a2.message === b.message;
case require_tags3.objectTag: {
if (!(areObjectsEqual(a2.constructor, b.constructor, stack, areValuesEqual) || require_isPlainObject3.isPlainObject(a2) && require_isPlainObject3.isPlainObject(b))) return false;
const aKeys = [...Object.keys(a2), ...require_getSymbols2.getSymbols(a2)];
const bKeys = [...Object.keys(b), ...require_getSymbols2.getSymbols(b)];
if (aKeys.length !== bKeys.length) return false;
for (let i4 = 0; i4 < aKeys.length; i4++) {
const propKey = aKeys[i4];
const aProp = a2[propKey];
if (!Object.hasOwn(b, propKey)) return false;
const bProp = b[propKey];
if (!isEqualWithImpl(aProp, bProp, propKey, a2, b, stack, areValuesEqual)) return false;
}
return true;
}
default:
return false;
}
} finally {
stack.delete(a2);
stack.delete(b);
}
}
exports2.isEqualWith = isEqualWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEqual.js
var require_isEqual = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEqual.js"(exports2) {
var require_noop4 = require_noop();
var require_isEqualWith3 = require_isEqualWith();
function isEqual2(a2, b) {
return require_isEqualWith3.isEqualWith(a2, b, require_noop4.noop);
}
exports2.isEqual = isEqual2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/castArray.js
var require_castArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/castArray.js"(exports2) {
function castArray(value) {
if (arguments.length === 0) return [];
return Array.isArray(value) ? value : [value];
}
exports2.castArray = castArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isLength.js
var require_isLength = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isLength.js"(exports2) {
function isLength(value) {
return Number.isSafeInteger(value) && value >= 0;
}
exports2.isLength = isLength;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js
var require_isArrayLike = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js"(exports2) {
var require_isLength3 = require_isLength();
function isArrayLike2(value) {
return value != null && typeof value !== "function" && require_isLength3.isLength(value.length);
}
exports2.isArrayLike = isArrayLike2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/chunk.js
var require_chunk = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/chunk.js"(exports2) {
function chunk(arr, size) {
if (!Number.isInteger(size) || size <= 0) throw new Error("Size must be an integer greater than zero.");
const chunkLength = Math.ceil(arr.length / size);
const result2 = Array(chunkLength);
for (let index2 = 0; index2 < chunkLength; index2++) {
const start = index2 * size;
const end = start + size;
result2[index2] = arr.slice(start, end);
}
return result2;
}
exports2.chunk = chunk;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/toArray.js
var require_toArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/toArray.js"(exports2) {
function toArray2(value) {
return Array.isArray(value) ? value : Array.from(value);
}
exports2.toArray = toArray2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/chunk.js
var require_chunk2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/chunk.js"(exports2) {
var require_chunk3 = require_chunk();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
function chunk(arr, size = 1) {
size = Math.max(Math.floor(size), 0);
if (size === 0 || !require_isArrayLike3.isArrayLike(arr) || Number.isNaN(size)) return [];
const array = require_toArray4.toArray(arr);
if (!isFinite(size)) return [array];
return require_chunk3.chunk(array, size);
}
exports2.chunk = chunk;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/compact.js
var require_compact = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/compact.js"(exports2) {
function compact(arr) {
const result2 = [];
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
if (item) result2.push(item);
}
return result2;
}
exports2.compact = compact;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/compact.js
var require_compact2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/compact.js"(exports2) {
var require_compact3 = require_compact();
var require_isArrayLike3 = require_isArrayLike();
function compact(arr) {
if (!require_isArrayLike3.isArrayLike(arr)) return [];
return require_compact3.compact(Array.from(arr));
}
exports2.compact = compact;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/flatten.js
var require_flatten = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/flatten.js"(exports2) {
function flatten2(arr, depth = 1) {
const result2 = [];
const flooredDepth = Math.floor(depth);
const recursive2 = (arr2, currentDepth) => {
for (let i4 = 0; i4 < arr2.length; i4++) {
const item = arr2[i4];
if (Array.isArray(item) && currentDepth < flooredDepth) recursive2(item, currentDepth + 1);
else result2.push(item);
}
};
recursive2(arr, 0);
return result2;
}
exports2.flatten = flatten2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/concat.js
var require_concat = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/concat.js"(exports2) {
var require_flatten3 = require_flatten();
function concat2(...values) {
return require_flatten3.flatten(values);
}
exports2.concat = concat2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toString.js
var require_toString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toString.js"(exports2) {
function toString4(value) {
if (value == null) return "";
if (typeof value === "string") return value;
if (Array.isArray(value)) return value.map(toString4).join(",");
const result2 = String(value);
if (result2 === "0" && Object.is(Number(value), -0)) return "-0";
return result2;
}
exports2.toString = toString4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/toKey.js
var require_toKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/toKey.js"(exports2) {
function toKey(value) {
if (typeof value === "string" || typeof value === "symbol") return value;
if (Object.is(value?.valueOf?.(), -0)) return "-0";
return String(value);
}
exports2.toKey = toKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toPath.js
var require_toPath = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toPath.js"(exports2) {
var require_toKey2 = require_toKey();
var require_toString2 = require_toString();
function toPath3(deepKey) {
if (Array.isArray(deepKey)) return deepKey.map(require_toKey2.toKey);
if (typeof deepKey === "symbol") return [deepKey];
deepKey = require_toString2.toString(deepKey);
const result2 = [];
const length = deepKey.length;
if (length === 0) return result2;
let index2 = 0;
let key = "";
let quoteChar = "";
let bracket = false;
if (deepKey.charCodeAt(0) === 46) result2.push("");
while (index2 < length) {
const char = deepKey[index2];
if (quoteChar) if (char === "\\" && index2 + 1 < length) {
index2++;
key += deepKey[index2];
} else if (char === quoteChar) quoteChar = "";
else key += char;
else if (bracket) if (char === '"' || char === "'") quoteChar = char;
else if (char === "]") {
bracket = false;
result2.push(key);
key = "";
} else key += char;
else if (char === "[") {
bracket = true;
if (key) {
result2.push(key);
key = "";
}
} else if (char === ".") {
if (key) {
result2.push(key);
key = "";
}
const next2 = deepKey[index2 + 1];
if (next2 === void 0 || next2 === ".") result2.push("");
} else key += char;
index2++;
}
if (key) result2.push(key);
return result2;
}
exports2.toPath = toPath3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js
var require_isUnsafeProperty = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js"(exports2) {
function isUnsafeProperty(key) {
return key === "__proto__";
}
exports2.isUnsafeProperty = isUnsafeProperty;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js
var require_isDeepKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js"(exports2) {
function isDeepKey(key) {
switch (typeof key) {
case "number":
case "symbol":
return false;
case "string":
return key.includes(".") || key.includes("[") || key.includes("]");
}
}
exports2.isDeepKey = isDeepKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/get.js
var require_get = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/get.js"(exports2) {
var require_isUnsafeProperty2 = require_isUnsafeProperty();
var require_isDeepKey2 = require_isDeepKey();
var require_toKey2 = require_toKey();
var require_toPath2 = require_toPath();
function get2(object, path236, defaultValue) {
if (object == null) return defaultValue;
switch (typeof path236) {
case "string": {
if (require_isUnsafeProperty2.isUnsafeProperty(path236)) return defaultValue;
const result2 = object[path236];
if (result2 === void 0) if (require_isDeepKey2.isDeepKey(path236) && !Object.hasOwn(object, path236)) return get2(object, require_toPath2.toPath(path236), defaultValue);
else return defaultValue;
return result2;
}
case "number":
case "symbol": {
if (typeof path236 === "number") path236 = require_toKey2.toKey(path236);
const result2 = object[path236];
if (result2 === void 0) return defaultValue;
return result2;
}
default: {
if (Array.isArray(path236)) return getWithPath(object, path236, defaultValue);
if (Object.is(path236?.valueOf(), -0)) path236 = "-0";
else path236 = String(path236);
if (require_isUnsafeProperty2.isUnsafeProperty(path236)) return defaultValue;
const result2 = object[path236];
if (result2 === void 0) return defaultValue;
return result2;
}
}
}
function getWithPath(object, path236, defaultValue) {
if (path236.length === 0) return defaultValue;
let current = object;
for (let index2 = 0; index2 < path236.length; index2++) {
if (current == null) return defaultValue;
if (require_isUnsafeProperty2.isUnsafeProperty(path236[index2])) return defaultValue;
current = current[path236[index2]];
}
if (current === void 0) return defaultValue;
return current;
}
exports2.get = get2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/property.js
var require_property = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/property.js"(exports2) {
var require_get4 = require_get();
function property(path236) {
return function(object) {
return require_get4.get(object, path236);
};
}
exports2.property = property;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isObject.js
var require_isObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isObject.js"(exports2) {
function isObject4(value) {
return value !== null && (typeof value === "object" || typeof value === "function");
}
exports2.isObject = isObject4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPrimitive.js
var require_isPrimitive = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPrimitive.js"(exports2) {
function isPrimitive2(value) {
return value == null || typeof value !== "object" && typeof value !== "function";
}
exports2.isPrimitive = isPrimitive2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js
var require_isMatchWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js"(exports2) {
var require_isPrimitive4 = require_isPrimitive();
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_isObject3 = require_isObject();
function isMatchWith(target2, source, compare3) {
if (typeof compare3 !== "function") return isMatchWith(target2, source, () => void 0);
return isMatchWithInternal(target2, source, function doesMatch(objValue, srcValue, key, object, source2, stack) {
const isEqual2 = compare3(objValue, srcValue, key, object, source2, stack);
if (isEqual2 !== void 0) return Boolean(isEqual2);
return isMatchWithInternal(objValue, srcValue, doesMatch, stack, false);
}, /* @__PURE__ */ new Map(), true);
}
function isMatchWithInternal(target2, source, compare3, stack, isRoot2 = false) {
if (source === target2) return true;
switch (typeof source) {
case "object":
return isObjectMatch(target2, source, compare3, stack);
case "function":
if (Object.keys(source).length > 0) return isMatchWithInternal(target2, { ...source }, compare3, stack, isRoot2);
return require_isEqualsSameValueZero2.isEqualsSameValueZero(target2, source);
default:
if (!require_isObject3.isObject(target2)) return require_isEqualsSameValueZero2.isEqualsSameValueZero(target2, source);
if (isRoot2) {
if (typeof source === "string") return source === "";
return true;
}
return require_isEqualsSameValueZero2.isEqualsSameValueZero(target2, source);
}
}
function isObjectMatch(target2, source, compare3, stack) {
if (source == null) return true;
if (Array.isArray(source)) return isArrayMatch(target2, source, compare3, stack);
if (source instanceof Map) return isMapMatch(target2, source, compare3, stack);
if (source instanceof Set) return isSetMatch(target2, source, compare3, stack);
const keys4 = Object.keys(source);
if (target2 == null || require_isPrimitive4.isPrimitive(target2)) return keys4.length === 0;
if (keys4.length === 0) return true;
if (stack?.has(source)) return stack.get(source) === target2;
stack?.set(source, target2);
try {
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
if (!require_isPrimitive4.isPrimitive(target2) && !(key in target2)) return false;
if (source[key] === void 0 && target2[key] !== void 0) return false;
if (source[key] === null && target2[key] !== null) return false;
if (!compare3(target2[key], source[key], key, target2, source, stack)) return false;
}
return true;
} finally {
stack?.delete(source);
}
}
function isMapMatch(target2, source, compare3, stack) {
if (source.size === 0) return true;
if (!(target2 instanceof Map)) return false;
for (const [key, sourceValue] of source.entries()) if (compare3(target2.get(key), sourceValue, key, target2, source, stack) === false) return false;
return true;
}
function isArrayMatch(target2, source, compare3, stack) {
if (source.length === 0) return true;
if (!Array.isArray(target2)) return false;
const countedIndex = /* @__PURE__ */ new Set();
for (let i4 = 0; i4 < source.length; i4++) {
const sourceItem = source[i4];
let found = false;
for (let j2 = 0; j2 < target2.length; j2++) {
if (countedIndex.has(j2)) continue;
const targetItem = target2[j2];
let matches2 = false;
if (compare3(targetItem, sourceItem, i4, target2, source, stack)) matches2 = true;
if (matches2) {
countedIndex.add(j2);
found = true;
break;
}
}
if (!found) return false;
}
return true;
}
function isSetMatch(target2, source, compare3, stack) {
if (source.size === 0) return true;
if (!(target2 instanceof Set)) return false;
return isArrayMatch([...target2], [...source], compare3, stack);
}
exports2.isMatchWith = isMatchWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMatch.js
var require_isMatch = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMatch.js"(exports2) {
var require_isMatchWith2 = require_isMatchWith();
function isMatch(target2, source) {
return require_isMatchWith2.isMatchWith(target2, source, () => void 0);
}
exports2.isMatch = isMatch;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isTypedArray.js
var require_isTypedArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isTypedArray.js"(exports2) {
function isTypedArray(x3) {
return ArrayBuffer.isView(x3) && !(x3 instanceof DataView);
}
exports2.isTypedArray = isTypedArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/cloneDeepWith.js
var require_cloneDeepWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/cloneDeepWith.js"(exports2) {
var require_isPrimitive4 = require_isPrimitive();
var require_isTypedArray3 = require_isTypedArray();
var require_getSymbols2 = require_getSymbols();
var require_getTag2 = require_getTag();
var require_tags3 = require_tags2();
var require_isBuffer3 = require_isBuffer();
function cloneDeepWith(obj, cloneValue) {
return cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), cloneValue);
}
function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {
const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);
if (cloned !== void 0) return cloned;
if (require_isPrimitive4.isPrimitive(valueToClone)) return valueToClone;
if (stack.has(valueToClone)) return stack.get(valueToClone);
if (Array.isArray(valueToClone)) {
const result2 = new Array(valueToClone.length);
stack.set(valueToClone, result2);
for (let i4 = 0; i4 < valueToClone.length; i4++) result2[i4] = cloneDeepWithImpl(valueToClone[i4], i4, objectToClone, stack, cloneValue);
if (Object.hasOwn(valueToClone, "index")) result2.index = valueToClone.index;
if (Object.hasOwn(valueToClone, "input")) result2.input = valueToClone.input;
return result2;
}
if (valueToClone instanceof Date) return new Date(valueToClone.getTime());
if (valueToClone instanceof RegExp) {
const result2 = new RegExp(valueToClone.source, valueToClone.flags);
result2.lastIndex = valueToClone.lastIndex;
return result2;
}
if (valueToClone instanceof Map) {
const result2 = /* @__PURE__ */ new Map();
stack.set(valueToClone, result2);
for (const [key, value] of valueToClone) result2.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));
return result2;
}
if (valueToClone instanceof Set) {
const result2 = /* @__PURE__ */ new Set();
stack.set(valueToClone, result2);
for (const value of valueToClone) result2.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));
return result2;
}
if (require_isBuffer3.isBuffer(valueToClone)) return valueToClone.subarray();
if (require_isTypedArray3.isTypedArray(valueToClone)) {
const result2 = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);
stack.set(valueToClone, result2);
for (let i4 = 0; i4 < valueToClone.length; i4++) result2[i4] = cloneDeepWithImpl(valueToClone[i4], i4, objectToClone, stack, cloneValue);
return result2;
}
if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== "undefined" && valueToClone instanceof SharedArrayBuffer) return valueToClone.slice(0);
if (valueToClone instanceof DataView) {
const result2 = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (typeof File !== "undefined" && valueToClone instanceof File) {
const result2 = new File([valueToClone], valueToClone.name, { type: valueToClone.type });
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (typeof Blob !== "undefined" && valueToClone instanceof Blob) {
const result2 = new Blob([valueToClone], { type: valueToClone.type });
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (valueToClone instanceof Error) {
const result2 = structuredClone(valueToClone);
stack.set(valueToClone, result2);
result2.message = valueToClone.message;
result2.name = valueToClone.name;
result2.stack = valueToClone.stack;
result2.cause = valueToClone.cause;
result2.constructor = valueToClone.constructor;
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (valueToClone instanceof Boolean) {
const result2 = new Boolean(valueToClone.valueOf());
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (valueToClone instanceof Number) {
const result2 = new Number(valueToClone.valueOf());
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (valueToClone instanceof String) {
const result2 = new String(valueToClone.valueOf());
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
if (typeof valueToClone === "object" && isCloneableObject(valueToClone)) {
const result2 = Object.create(Object.getPrototypeOf(valueToClone));
stack.set(valueToClone, result2);
copyProperties(result2, valueToClone, objectToClone, stack, cloneValue);
return result2;
}
return valueToClone;
}
function copyProperties(target2, source, objectToClone = target2, stack, cloneValue) {
const keys4 = [...Object.keys(source), ...require_getSymbols2.getSymbols(source)];
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const descriptor = Object.getOwnPropertyDescriptor(target2, key);
if (descriptor == null || descriptor.writable) target2[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);
}
}
function isCloneableObject(object) {
switch (require_getTag2.getTag(object)) {
case require_tags3.argumentsTag:
case require_tags3.arrayTag:
case require_tags3.arrayBufferTag:
case require_tags3.dataViewTag:
case require_tags3.booleanTag:
case require_tags3.dateTag:
case require_tags3.float32ArrayTag:
case require_tags3.float64ArrayTag:
case require_tags3.int8ArrayTag:
case require_tags3.int16ArrayTag:
case require_tags3.int32ArrayTag:
case require_tags3.mapTag:
case require_tags3.numberTag:
case require_tags3.objectTag:
case require_tags3.regexpTag:
case require_tags3.setTag:
case require_tags3.stringTag:
case require_tags3.symbolTag:
case require_tags3.uint8ArrayTag:
case require_tags3.uint8ClampedArrayTag:
case require_tags3.uint16ArrayTag:
case require_tags3.uint32ArrayTag:
return true;
default:
return false;
}
}
exports2.cloneDeepWith = cloneDeepWith;
exports2.cloneDeepWithImpl = cloneDeepWithImpl;
exports2.copyProperties = copyProperties;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/cloneDeep.js
var require_cloneDeep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/cloneDeep.js"(exports2) {
var require_cloneDeepWith3 = require_cloneDeepWith();
function cloneDeep(obj) {
return require_cloneDeepWith3.cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);
}
exports2.cloneDeep = cloneDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/matches.js
var require_matches = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/matches.js"(exports2) {
var require_cloneDeep3 = require_cloneDeep();
var require_isMatch2 = require_isMatch();
function matches2(source) {
source = require_cloneDeep3.cloneDeep(source);
return (target2) => {
return require_isMatch2.isMatch(target2, source);
};
}
exports2.matches = matches2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js
var require_cloneDeepWith2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js"(exports2) {
var require_getTag2 = require_getTag();
var require_tags3 = require_tags2();
var require_cloneDeepWith3 = require_cloneDeepWith();
function cloneDeepWith(obj, customizer) {
return require_cloneDeepWith3.cloneDeepWith(obj, (value, key, object, stack) => {
const cloned = customizer?.(value, key, object, stack);
if (cloned !== void 0) return cloned;
if (typeof obj !== "object") return;
if (require_getTag2.getTag(obj) === "[object Object]" && typeof obj.constructor !== "function") {
const result2 = {};
stack.set(obj, result2);
require_cloneDeepWith3.copyProperties(result2, obj, object, stack);
return result2;
}
switch (Object.prototype.toString.call(obj)) {
case require_tags3.numberTag:
case require_tags3.stringTag:
case require_tags3.booleanTag: {
const result2 = new obj.constructor(obj?.valueOf());
require_cloneDeepWith3.copyProperties(result2, obj);
return result2;
}
case require_tags3.argumentsTag: {
const result2 = {};
require_cloneDeepWith3.copyProperties(result2, obj);
result2.length = obj.length;
result2[Symbol.iterator] = obj[Symbol.iterator];
return result2;
}
default:
return;
}
});
}
exports2.cloneDeepWith = cloneDeepWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneDeep.js
var require_cloneDeep2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneDeep.js"(exports2) {
var require_cloneDeepWith3 = require_cloneDeepWith2();
function cloneDeep(obj) {
return require_cloneDeepWith3.cloneDeepWith(obj);
}
exports2.cloneDeep = cloneDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArguments.js
var require_isArguments = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArguments.js"(exports2) {
var require_getTag2 = require_getTag();
function isArguments(value) {
return value !== null && typeof value === "object" && require_getTag2.getTag(value) === "[object Arguments]";
}
exports2.isArguments = isArguments;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isIndex.js
var require_isIndex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isIndex.js"(exports2) {
var IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\d*)$/;
function isIndex(value, length = Number.MAX_SAFE_INTEGER) {
switch (typeof value) {
case "number":
return Number.isInteger(value) && value >= 0 && value < length;
case "symbol":
return false;
case "string":
return IS_UNSIGNED_INTEGER.test(value);
}
}
exports2.isIndex = isIndex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/has.js
var require_has = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/has.js"(exports2) {
var require_isDeepKey2 = require_isDeepKey();
var require_toPath2 = require_toPath();
var require_isIndex2 = require_isIndex();
var require_isArguments3 = require_isArguments();
function has(object, path236) {
let resolvedPath;
if (Array.isArray(path236)) resolvedPath = path236;
else if (typeof path236 === "string" && require_isDeepKey2.isDeepKey(path236) && object?.[path236] == null) resolvedPath = require_toPath2.toPath(path236);
else resolvedPath = [path236];
if (resolvedPath.length === 0) return false;
let current = object;
for (let i4 = 0; i4 < resolvedPath.length; i4++) {
const key = resolvedPath[i4];
if (current == null || !Object.hasOwn(current, key)) {
if (!((Array.isArray(current) || require_isArguments3.isArguments(current)) && require_isIndex2.isIndex(key) && key < current.length)) return false;
}
current = current[key];
}
return true;
}
exports2.has = has;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js
var require_matchesProperty = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js"(exports2) {
var require_toKey2 = require_toKey();
var require_get4 = require_get();
var require_isMatch2 = require_isMatch();
var require_cloneDeep3 = require_cloneDeep2();
var require_has2 = require_has();
function matchesProperty(property, source) {
switch (typeof property) {
case "object":
if (Object.is(property?.valueOf(), -0)) property = "-0";
break;
case "number":
property = require_toKey2.toKey(property);
break;
}
source = require_cloneDeep3.cloneDeep(source);
return function(target2) {
const result2 = require_get4.get(target2, property);
if (result2 === void 0) return require_has2.has(target2, property);
if (source === void 0) return result2 === void 0;
return require_isMatch2.isMatch(result2, source);
};
}
exports2.matchesProperty = matchesProperty;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/identity.js
var require_identity2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/identity.js"(exports2) {
function identity5(x3) {
return x3;
}
exports2.identity = identity5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/iteratee.js
var require_iteratee = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/iteratee.js"(exports2) {
var require_identity6 = require_identity2();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
function iteratee(value) {
if (value == null) return require_identity6.identity;
switch (typeof value) {
case "function":
return value;
case "object":
if (Array.isArray(value) && value.length === 2) return require_matchesProperty2.matchesProperty(value[0], value[1]);
return require_matches2.matches(value);
case "string":
case "symbol":
case "number":
return require_property2.property(value);
}
}
exports2.iteratee = iteratee;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/countBy.js
var require_countBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/countBy.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
function countBy(collection, iteratee$1) {
if (collection == null) return {};
const array = require_isArrayLike3.isArrayLike(collection) ? Array.from(collection) : Object.values(collection);
const mapper = require_iteratee2.iteratee(iteratee$1 ?? void 0);
const result2 = /* @__PURE__ */ Object.create(null);
for (let i4 = 0; i4 < array.length; i4++) {
const item = array[i4];
const key = mapper(item);
result2[key] = (result2[key] ?? 0) + 1;
}
return result2;
}
exports2.countBy = countBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js
var require_isObjectLike = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js"(exports2) {
function isObjectLike(value) {
return typeof value === "object" && value !== null;
}
exports2.isObjectLike = isObjectLike;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js
var require_isArrayLikeObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_isObjectLike2 = require_isObjectLike();
function isArrayLikeObject(value) {
return require_isObjectLike2.isObjectLike(value) && require_isArrayLike3.isArrayLike(value);
}
exports2.isArrayLikeObject = isArrayLikeObject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/difference.js
var require_difference = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/difference.js"(exports2) {
function difference3(firstArr, secondArr) {
const secondSet = new Set(secondArr);
return firstArr.filter((item) => !secondSet.has(item));
}
exports2.difference = difference3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/difference.js
var require_difference2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/difference.js"(exports2) {
var require_difference3 = require_difference();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function difference3(arr, ...values) {
if (!require_isArrayLikeObject2.isArrayLikeObject(arr)) return [];
const arr1 = Array.from(arr);
const arr2 = [];
for (let i4 = 0; i4 < values.length; i4++) {
const value = values[i4];
if (require_isArrayLikeObject2.isArrayLikeObject(value)) arr2.push(...Array.from(value));
}
return require_difference3.difference(arr1, arr2);
}
exports2.difference = difference3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/last.js
var require_last = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/last.js"(exports2) {
function last(arr) {
return arr[arr.length - 1];
}
exports2.last = last;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/last.js
var require_last2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/last.js"(exports2) {
var require_last4 = require_last();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
function last(array) {
if (!require_isArrayLike3.isArrayLike(array)) return;
return require_last4.last(require_toArray4.toArray(array));
}
exports2.last = last;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/differenceBy.js
var require_differenceBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/differenceBy.js"(exports2) {
function differenceBy(firstArr, secondArr, mapper) {
const mappedSecondSet = new Set(secondArr.map((item) => mapper(item)));
return firstArr.filter((item) => {
return !mappedSecondSet.has(mapper(item));
});
}
exports2.differenceBy = differenceBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/flattenArrayLike.js
var require_flattenArrayLike = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/flattenArrayLike.js"(exports2) {
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function flattenArrayLike(values) {
const result2 = [];
for (let i4 = 0; i4 < values.length; i4++) {
const arrayLike = values[i4];
if (!require_isArrayLikeObject2.isArrayLikeObject(arrayLike)) continue;
for (let j2 = 0; j2 < arrayLike.length; j2++) result2.push(arrayLike[j2]);
}
return result2;
}
exports2.flattenArrayLike = flattenArrayLike;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/differenceBy.js
var require_differenceBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/differenceBy.js"(exports2) {
var require_difference3 = require_difference();
var require_differenceBy3 = require_differenceBy();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_last4 = require_last2();
var require_flattenArrayLike2 = require_flattenArrayLike();
function differenceBy(array, ..._values) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
const iteratee$1 = require_last4.last(_values);
const values = require_flattenArrayLike2.flattenArrayLike(_values);
if (require_isArrayLikeObject2.isArrayLikeObject(iteratee$1)) return require_difference3.difference(Array.from(array), values);
return require_differenceBy3.differenceBy(Array.from(array), values, require_iteratee2.iteratee(iteratee$1));
}
exports2.differenceBy = differenceBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/differenceWith.js
var require_differenceWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/differenceWith.js"(exports2) {
function differenceWith(firstArr, secondArr, areItemsEqual) {
return firstArr.filter((firstItem) => {
return secondArr.every((secondItem) => {
return !areItemsEqual(firstItem, secondItem);
});
});
}
exports2.differenceWith = differenceWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/differenceWith.js
var require_differenceWith2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/differenceWith.js"(exports2) {
var require_difference3 = require_difference();
var require_differenceWith3 = require_differenceWith();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_last4 = require_last2();
var require_flattenArrayLike2 = require_flattenArrayLike();
function differenceWith(array, ...values) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
const comparator = require_last4.last(values);
const flattenedValues = require_flattenArrayLike2.flattenArrayLike(values);
if (typeof comparator === "function") return require_differenceWith3.differenceWith(Array.from(array), flattenedValues, comparator);
return require_difference3.difference(Array.from(array), flattenedValues);
}
exports2.differenceWith = differenceWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js
var require_isSymbol = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js"(exports2) {
function isSymbol(value) {
return typeof value === "symbol" || value instanceof Symbol;
}
exports2.isSymbol = isSymbol;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toNumber.js
var require_toNumber = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toNumber.js"(exports2) {
var require_isSymbol3 = require_isSymbol();
function toNumber(value) {
if (require_isSymbol3.isSymbol(value)) return NaN;
return Number(value);
}
exports2.toNumber = toNumber;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toFinite.js
var require_toFinite = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toFinite.js"(exports2) {
var require_toNumber2 = require_toNumber();
function toFinite(value) {
if (!value) return value === 0 ? value : 0;
value = require_toNumber2.toNumber(value);
if (value === Infinity || value === -Infinity) return (value < 0 ? -1 : 1) * Number.MAX_VALUE;
return value === value ? value : 0;
}
exports2.toFinite = toFinite;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toInteger.js
var require_toInteger = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toInteger.js"(exports2) {
var require_toFinite2 = require_toFinite();
function toInteger(value) {
const finite = require_toFinite2.toFinite(value);
const remainder = finite % 1;
return remainder ? finite - remainder : finite;
}
exports2.toInteger = toInteger;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/drop.js
var require_drop = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/drop.js"(exports2) {
function drop(arr, itemsCount) {
itemsCount = Math.max(itemsCount, 0);
return arr.slice(itemsCount);
}
exports2.drop = drop;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/drop.js
var require_drop2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/drop.js"(exports2) {
var require_drop3 = require_drop();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_toInteger2 = require_toInteger();
function drop(array, itemsCount = 1, guard) {
if (!require_isArrayLike3.isArrayLike(array)) return [];
itemsCount = guard ? 1 : require_toInteger2.toInteger(itemsCount);
return require_drop3.drop(require_toArray4.toArray(array), itemsCount);
}
exports2.drop = drop;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropRight.js
var require_dropRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropRight.js"(exports2) {
function dropRight(arr, itemsCount) {
itemsCount = Math.min(-itemsCount, 0);
if (itemsCount === 0) return arr.slice();
return arr.slice(0, itemsCount);
}
exports2.dropRight = dropRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropRight.js
var require_dropRight2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropRight.js"(exports2) {
var require_dropRight3 = require_dropRight();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_toInteger2 = require_toInteger();
function dropRight(collection, itemsCount = 1, guard) {
if (!require_isArrayLike3.isArrayLike(collection)) return [];
itemsCount = guard ? 1 : require_toInteger2.toInteger(itemsCount);
return require_dropRight3.dropRight(require_toArray4.toArray(collection), itemsCount);
}
exports2.dropRight = dropRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropRightWhile.js
var require_dropRightWhile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropRightWhile.js"(exports2) {
function dropRightWhile(arr, canContinueDropping) {
for (let i4 = arr.length - 1; i4 >= 0; i4--) if (!canContinueDropping(arr[i4], i4, arr)) return arr.slice(0, i4 + 1);
return [];
}
exports2.dropRightWhile = dropRightWhile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropRightWhile.js
var require_dropRightWhile2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropRightWhile.js"(exports2) {
var require_dropRightWhile3 = require_dropRightWhile();
var require_identity6 = require_identity2();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
function dropRightWhile(array, predicate = require_identity6.identity) {
if (!require_isArrayLike3.isArrayLike(array)) return [];
return dropRightWhileImpl(require_toArray4.toArray(array), predicate);
}
function dropRightWhileImpl(arr, predicate) {
switch (typeof predicate) {
case "function":
return require_dropRightWhile3.dropRightWhile(arr, (item, index2, arr2) => Boolean(predicate(item, index2, arr2)));
case "object":
if (Array.isArray(predicate) && predicate.length === 2) {
const key = predicate[0];
const value = predicate[1];
return require_dropRightWhile3.dropRightWhile(arr, require_matchesProperty2.matchesProperty(key, value));
} else return require_dropRightWhile3.dropRightWhile(arr, require_matches2.matches(predicate));
case "symbol":
case "number":
case "string":
return require_dropRightWhile3.dropRightWhile(arr, require_property2.property(predicate));
}
}
exports2.dropRightWhile = dropRightWhile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropWhile.js
var require_dropWhile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/dropWhile.js"(exports2) {
function dropWhile(arr, canContinueDropping) {
const dropEndIndex = arr.findIndex((item, index2, arr2) => !canContinueDropping(item, index2, arr2));
if (dropEndIndex === -1) return [];
return arr.slice(dropEndIndex);
}
exports2.dropWhile = dropWhile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropWhile.js
var require_dropWhile2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/dropWhile.js"(exports2) {
var require_dropWhile3 = require_dropWhile();
var require_identity6 = require_identity2();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
function dropWhile(array, predicate = require_identity6.identity) {
if (!require_isArrayLike3.isArrayLike(array)) return [];
return dropWhileImpl(require_toArray4.toArray(array), predicate);
}
function dropWhileImpl(arr, predicate) {
switch (typeof predicate) {
case "function":
return require_dropWhile3.dropWhile(arr, (item, index2, arr2) => Boolean(predicate(item, index2, arr2)));
case "object":
if (Array.isArray(predicate) && predicate.length === 2) {
const key = predicate[0];
const value = predicate[1];
return require_dropWhile3.dropWhile(arr, require_matchesProperty2.matchesProperty(key, value));
} else return require_dropWhile3.dropWhile(arr, require_matches2.matches(predicate));
case "number":
case "symbol":
case "string":
return require_dropWhile3.dropWhile(arr, require_property2.property(predicate));
}
}
exports2.dropWhile = dropWhile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/range.js
var require_range2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/range.js"(exports2) {
function range(start, end, step2 = 1) {
if (end == null) {
end = start;
start = 0;
}
if (!Number.isInteger(step2) || step2 === 0) throw new Error(`The step value must be a non-zero integer.`);
const length = Math.max(Math.ceil((end - start) / step2), 0);
const result2 = new Array(length);
for (let i4 = 0; i4 < length; i4++) result2[i4] = start + i4 * step2;
return result2;
}
exports2.range = range;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/forEach.js
var require_forEach = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/forEach.js"(exports2) {
var require_identity6 = require_identity2();
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
function forEach(collection, callback2 = require_identity6.identity) {
if (!collection) return collection;
const keys4 = require_isArrayLike3.isArrayLike(collection) || Array.isArray(collection) ? require_range6.range(0, collection.length) : Object.keys(collection);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = collection[key];
if (callback2(value, key, collection) === false) break;
}
return collection;
}
exports2.forEach = forEach;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/forEachRight.js
var require_forEachRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/forEachRight.js"(exports2) {
var require_identity6 = require_identity2();
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
function forEachRight(collection, callback2 = require_identity6.identity) {
if (!collection) return collection;
const keys4 = require_isArrayLike3.isArrayLike(collection) ? require_range6.range(0, collection.length) : Object.keys(collection);
for (let i4 = keys4.length - 1; i4 >= 0; i4--) {
const key = keys4[i4];
const value = collection[key];
if (callback2(value, key, collection) === false) break;
}
return collection;
}
exports2.forEachRight = forEachRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js
var require_isIterateeCall = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_isArrayLike3 = require_isArrayLike();
var require_isObject3 = require_isObject();
var require_isIndex2 = require_isIndex();
function isIterateeCall(value, index2, object) {
if (!require_isObject3.isObject(object)) return false;
if (typeof index2 === "number" && require_isArrayLike3.isArrayLike(object) && require_isIndex2.isIndex(index2) && index2 < object.length || typeof index2 === "string" && index2 in object) return require_isEqualsSameValueZero2.isEqualsSameValueZero(object[index2], value);
return false;
}
exports2.isIterateeCall = isIterateeCall;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/every.js
var require_every = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/every.js"(exports2) {
var require_identity6 = require_identity2();
var require_isArrayLike3 = require_isArrayLike();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
var require_isIterateeCall2 = require_isIterateeCall();
function every(source, doesMatch, guard) {
if (!source) return true;
if (guard && require_isIterateeCall2.isIterateeCall(source, doesMatch, guard)) doesMatch = void 0;
if (!doesMatch) doesMatch = require_identity6.identity;
let predicate;
switch (typeof doesMatch) {
case "function":
predicate = doesMatch;
break;
case "object":
if (Array.isArray(doesMatch) && doesMatch.length === 2) {
const key = doesMatch[0];
const value = doesMatch[1];
predicate = require_matchesProperty2.matchesProperty(key, value);
} else predicate = require_matches2.matches(doesMatch);
break;
case "symbol":
case "number":
case "string":
predicate = require_property2.property(doesMatch);
}
if (!require_isArrayLike3.isArrayLike(source)) {
const keys4 = Object.keys(source);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = source[key];
if (!predicate(value, key, source)) return false;
}
return true;
}
for (let i4 = 0; i4 < source.length; i4++) if (!predicate(source[i4], i4, source)) return false;
return true;
}
exports2.every = every;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isString.js
var require_isString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isString.js"(exports2) {
function isString(value) {
return typeof value === "string" || value instanceof String;
}
exports2.isString = isString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/fill.js
var require_fill = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/fill.js"(exports2) {
function fill(array, value, start = 0, end = array.length) {
const length = array.length;
const finalStart = Math.max(start >= 0 ? start : length + start, 0);
const finalEnd = Math.min(end >= 0 ? end : length + end, length);
for (let i4 = finalStart; i4 < finalEnd; i4++) array[i4] = value;
return array;
}
exports2.fill = fill;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/fill.js
var require_fill2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/fill.js"(exports2) {
var require_fill3 = require_fill();
var require_isArrayLike3 = require_isArrayLike();
var require_isString3 = require_isString();
function fill(array, value, start = 0, end = array ? array.length : 0) {
if (!require_isArrayLike3.isArrayLike(array)) return [];
if (require_isString3.isString(array)) return array;
start = Math.floor(start);
end = Math.floor(end);
if (!start) start = 0;
if (!end) end = 0;
return require_fill3.fill(array, value, start, end);
}
exports2.fill = fill;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/filter.js
var require_filter = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/filter.js"(exports2) {
var require_identity6 = require_identity2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
function filter14(source, predicate = require_identity6.identity) {
if (!source) return [];
predicate = require_iteratee2.iteratee(predicate);
if (!Array.isArray(source)) {
const result3 = [];
const keys4 = Object.keys(source);
const length2 = require_isArrayLike3.isArrayLike(source) ? source.length : keys4.length;
for (let i4 = 0; i4 < length2; i4++) {
const key = keys4[i4];
const value = source[key];
if (predicate(value, key, source)) result3.push(value);
}
return result3;
}
const result2 = [];
const length = source.length;
for (let i4 = 0; i4 < length; i4++) {
const value = source[i4];
if (predicate(value, i4, source)) result2.push(value);
}
return result2;
}
exports2.filter = filter14;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/find.js
var require_find = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/find.js"(exports2) {
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
function find(source, _doesMatch = require_identity6.identity, fromIndex = 0) {
if (!source) return;
if (fromIndex < 0) fromIndex = Math.max(source.length + fromIndex, 0);
const doesMatch = require_iteratee2.iteratee(_doesMatch);
if (!Array.isArray(source)) {
const keys4 = Object.keys(source);
for (let i4 = fromIndex; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = source[key];
if (doesMatch(value, key, source)) return value;
}
return;
}
return source.slice(fromIndex).find(doesMatch);
}
exports2.find = find;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/identity.js
var require_identity3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/identity.js"(exports2) {
function identity5(x3) {
return x3;
}
exports2.identity = identity5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findIndex.js
var require_findIndex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findIndex.js"(exports2) {
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
var require_identity6 = require_identity3();
function findIndex(arr, doesMatch = require_identity6.identity, fromIndex = 0) {
if (!arr) return -1;
if (fromIndex < 0) fromIndex = Math.max(arr.length + fromIndex, 0);
const subArray = Array.from(arr).slice(fromIndex);
let index2 = -1;
switch (typeof doesMatch) {
case "function":
index2 = subArray.findIndex(doesMatch);
break;
case "object":
if (Array.isArray(doesMatch) && doesMatch.length === 2) {
const key = doesMatch[0];
const value = doesMatch[1];
index2 = subArray.findIndex(require_matchesProperty2.matchesProperty(key, value));
} else index2 = subArray.findIndex(require_matches2.matches(doesMatch));
break;
case "number":
case "symbol":
case "string":
index2 = subArray.findIndex(require_property2.property(doesMatch));
}
return index2 === -1 ? -1 : index2 + fromIndex;
}
exports2.findIndex = findIndex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findLast.js
var require_findLast = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findLast.js"(exports2) {
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
var require_toInteger2 = require_toInteger();
function findLast(source, _doesMatch = require_identity6.identity, fromIndex) {
if (!source) return;
const length = Array.isArray(source) ? source.length : Object.keys(source).length;
fromIndex = require_toInteger2.toInteger(fromIndex ?? length - 1);
if (fromIndex < 0) fromIndex = Math.max(length + fromIndex, 0);
else fromIndex = Math.min(fromIndex, length - 1);
const doesMatch = require_iteratee2.iteratee(_doesMatch);
if (!Array.isArray(source)) {
const keys4 = Object.keys(source);
for (let i4 = fromIndex; i4 >= 0; i4--) {
const key = keys4[i4];
const value = source[key];
if (doesMatch(value, key, source)) return value;
}
return;
}
return source.slice(0, fromIndex + 1).findLast(doesMatch);
}
exports2.findLast = findLast;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findLastIndex.js
var require_findLastIndex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/findLastIndex.js"(exports2) {
var require_identity6 = require_identity2();
var require_toArray4 = require_toArray();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
function findLastIndex(arr, doesMatch = require_identity6.identity, fromIndex = arr ? arr.length - 1 : 0) {
if (!arr) return -1;
if (fromIndex < 0) fromIndex = Math.max(arr.length + fromIndex, 0);
else fromIndex = Math.min(fromIndex, arr.length - 1);
const subArray = require_toArray4.toArray(arr).slice(0, fromIndex + 1);
switch (typeof doesMatch) {
case "function":
return subArray.findLastIndex(doesMatch);
case "object":
if (Array.isArray(doesMatch) && doesMatch.length === 2) {
const key = doesMatch[0];
const value = doesMatch[1];
return subArray.findLastIndex(require_matchesProperty2.matchesProperty(key, value));
} else return subArray.findLastIndex(require_matches2.matches(doesMatch));
case "number":
case "symbol":
case "string":
return subArray.findLastIndex(require_property2.property(doesMatch));
}
}
exports2.findLastIndex = findLastIndex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/head.js
var require_head = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/head.js"(exports2) {
function head2(arr) {
return arr[0];
}
exports2.head = head2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/head.js
var require_head2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/head.js"(exports2) {
var require_head3 = require_head();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
function head2(arr) {
if (!require_isArrayLike3.isArrayLike(arr)) return;
return require_head3.head(require_toArray4.toArray(arr));
}
exports2.head = head2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatten.js
var require_flatten2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatten.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
function flatten2(value, depth = 1) {
const result2 = [];
const flooredDepth = Math.floor(depth);
if (!require_isArrayLike3.isArrayLike(value)) return result2;
const recursive2 = (arr, currentDepth) => {
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
if (currentDepth < flooredDepth && (Array.isArray(item) || Boolean(item?.[Symbol.isConcatSpreadable]) || item !== null && typeof item === "object" && Object.prototype.toString.call(item) === "[object Arguments]")) if (Array.isArray(item)) recursive2(item, currentDepth + 1);
else recursive2(Array.from(item), currentDepth + 1);
else result2.push(item);
}
};
recursive2(Array.from(value), 0);
return result2;
}
exports2.flatten = flatten2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flattenDepth.js
var require_flattenDepth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flattenDepth.js"(exports2) {
var require_flatten3 = require_flatten2();
function flattenDepth(array, depth = 1) {
return require_flatten3.flatten(array, depth);
}
exports2.flattenDepth = flattenDepth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/map.js
var require_map3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/map.js"(exports2) {
var require_identity6 = require_identity2();
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
function map26(collection, _iteratee) {
if (!collection) return [];
const keys4 = require_isArrayLike3.isArrayLike(collection) || Array.isArray(collection) ? require_range6.range(0, collection.length) : Object.keys(collection);
const iteratee$1 = require_iteratee2.iteratee(_iteratee ?? require_identity6.identity);
const result2 = new Array(keys4.length);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = collection[key];
result2[i4] = iteratee$1(value, key, collection);
}
return result2;
}
exports2.map = map26;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNil.js
var require_isNil = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNil.js"(exports2) {
function isNil(x3) {
return x3 == null;
}
exports2.isNil = isNil;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMap.js
var require_flatMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMap.js"(exports2) {
var require_isNil3 = require_isNil();
var require_flattenDepth2 = require_flattenDepth();
var require_map5 = require_map3();
function flatMap(collection, iteratee) {
if (require_isNil3.isNil(collection)) return [];
const mapped = require_isNil3.isNil(iteratee) ? require_map5.map(collection) : require_map5.map(collection, iteratee);
return require_flattenDepth2.flattenDepth(mapped, 1);
}
exports2.flatMap = flatMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMapDepth.js
var require_flatMapDepth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMapDepth.js"(exports2) {
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
var require_flatten3 = require_flatten2();
var require_map5 = require_map3();
function flatMapDepth(collection, iteratee$1 = require_identity6.identity, depth = 1) {
if (collection == null) return [];
const iterateeFn = require_iteratee2.iteratee(iteratee$1);
const mapped = require_map5.map(collection, iterateeFn);
return require_flatten3.flatten(mapped, depth);
}
exports2.flatMapDepth = flatMapDepth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMapDeep.js
var require_flatMapDeep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flatMapDeep.js"(exports2) {
var require_flatMapDepth2 = require_flatMapDepth();
function flatMapDeep(collection, iteratee) {
return require_flatMapDepth2.flatMapDepth(collection, iteratee, Infinity);
}
exports2.flatMapDeep = flatMapDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flattenDeep.js
var require_flattenDeep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/flattenDeep.js"(exports2) {
var require_flattenDepth2 = require_flattenDepth();
function flattenDeep(value) {
return require_flattenDepth2.flattenDepth(value, Infinity);
}
exports2.flattenDeep = flattenDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/groupBy.js
var require_groupBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/groupBy.js"(exports2) {
function groupBy4(arr, getKeyFromItem) {
const result2 = {};
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
const key = getKeyFromItem(item, i4, arr);
if (!Object.hasOwn(result2, key)) result2[key] = [];
result2[key].push(item);
}
return result2;
}
exports2.groupBy = groupBy4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/groupBy.js
var require_groupBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/groupBy.js"(exports2) {
var require_groupBy4 = require_groupBy();
var require_identity6 = require_identity2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
function groupBy4(source, _getKeyFromItem) {
if (source == null) return {};
const items = require_isArrayLike3.isArrayLike(source) ? Array.from(source) : Object.values(source);
const getKeyFromItem = require_iteratee2.iteratee(_getKeyFromItem ?? require_identity6.identity);
return require_groupBy4.groupBy(items, getKeyFromItem);
}
exports2.groupBy = groupBy4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/includes.js
var require_includes = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/includes.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_toInteger2 = require_toInteger();
var require_isString3 = require_isString();
function includes(source, target2, fromIndex, guard) {
if (source == null) return false;
if (guard || !fromIndex) fromIndex = 0;
else fromIndex = require_toInteger2.toInteger(fromIndex);
if (require_isString3.isString(source)) {
if (fromIndex > source.length || target2 instanceof RegExp) return false;
if (fromIndex < 0) fromIndex = Math.max(0, source.length + fromIndex);
return source.includes(target2, fromIndex);
}
if (Array.isArray(source)) return source.includes(target2, fromIndex);
const keys4 = Object.keys(source);
if (fromIndex < 0) fromIndex = Math.max(0, keys4.length + fromIndex);
for (let i4 = fromIndex; i4 < keys4.length; i4++) {
const value = Reflect.get(source, keys4[i4]);
if (require_isEqualsSameValueZero2.isEqualsSameValueZero(value, target2)) return true;
}
return false;
}
exports2.includes = includes;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/indexOf.js
var require_indexOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/indexOf.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
function indexOf2(array, searchElement, fromIndex) {
if (!require_isArrayLike3.isArrayLike(array)) return -1;
if (Number.isNaN(searchElement)) {
fromIndex = fromIndex ?? 0;
if (fromIndex < 0) fromIndex = Math.max(0, array.length + fromIndex);
for (let i4 = fromIndex; i4 < array.length; i4++) if (Number.isNaN(array[i4])) return i4;
return -1;
}
return Array.from(array).indexOf(searchElement, fromIndex);
}
exports2.indexOf = indexOf2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/initial.js
var require_initial = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/initial.js"(exports2) {
function initial(arr) {
return arr.slice(0, -1);
}
exports2.initial = initial;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/initial.js
var require_initial2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/initial.js"(exports2) {
var require_initial3 = require_initial();
var require_isArrayLike3 = require_isArrayLike();
function initial(arr) {
if (!require_isArrayLike3.isArrayLike(arr)) return [];
return require_initial3.initial(Array.from(arr));
}
exports2.initial = initial;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersection.js
var require_intersection = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersection.js"(exports2) {
function intersection(firstArr, secondArr) {
const secondSet = new Set(secondArr);
return firstArr.filter((item) => secondSet.has(item));
}
exports2.intersection = intersection;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniq.js
var require_uniq = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniq.js"(exports2) {
function uniq3(arr) {
return [...new Set(arr)];
}
exports2.uniq = uniq3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersection.js
var require_intersection2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersection.js"(exports2) {
var require_intersection3 = require_intersection();
var require_uniq3 = require_uniq();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function intersection(...arrays) {
if (arrays.length === 0) return [];
if (!require_isArrayLikeObject2.isArrayLikeObject(arrays[0])) return [];
let result2 = require_uniq3.uniq(Array.from(arrays[0]));
for (let i4 = 1; i4 < arrays.length; i4++) {
const array = arrays[i4];
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
result2 = require_intersection3.intersection(result2, Array.from(array));
}
return result2;
}
exports2.intersection = intersection;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersectionBy.js
var require_intersectionBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersectionBy.js"(exports2) {
function intersectionBy(firstArr, secondArr, mapper) {
const result2 = [];
const mappedSecondSet = new Set(secondArr.map(mapper));
for (let i4 = 0; i4 < firstArr.length; i4++) {
const item = firstArr[i4];
const mappedItem = mapper(item);
if (mappedSecondSet.has(mappedItem)) {
result2.push(item);
mappedSecondSet.delete(mappedItem);
}
}
return result2;
}
exports2.intersectionBy = intersectionBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersectionBy.js
var require_intersectionBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersectionBy.js"(exports2) {
var require_intersectionBy3 = require_intersectionBy();
var require_last4 = require_last();
var require_uniq3 = require_uniq();
var require_identity6 = require_identity2();
var require_property2 = require_property();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function intersectionBy(array, ...values) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
const lastValue = require_last4.last(values);
if (lastValue === void 0) return Array.from(array);
let result2 = require_uniq3.uniq(Array.from(array));
const count2 = require_isArrayLikeObject2.isArrayLikeObject(lastValue) ? values.length : values.length - 1;
for (let i4 = 0; i4 < count2; ++i4) {
const value = values[i4];
if (!require_isArrayLikeObject2.isArrayLikeObject(value)) return [];
if (require_isArrayLikeObject2.isArrayLikeObject(lastValue)) result2 = require_intersectionBy3.intersectionBy(result2, Array.from(value), require_identity6.identity);
else if (typeof lastValue === "function") result2 = require_intersectionBy3.intersectionBy(result2, Array.from(value), (value2) => lastValue(value2));
else if (typeof lastValue === "string") result2 = require_intersectionBy3.intersectionBy(result2, Array.from(value), require_property2.property(lastValue));
}
return result2;
}
exports2.intersectionBy = intersectionBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniq.js
var require_uniq2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniq.js"(exports2) {
var require_uniq3 = require_uniq();
var require_isArrayLike3 = require_isArrayLike();
function uniq3(arr) {
if (!require_isArrayLike3.isArrayLike(arr)) return [];
return require_uniq3.uniq(Array.from(arr));
}
exports2.uniq = uniq3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersectionWith.js
var require_intersectionWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/intersectionWith.js"(exports2) {
function intersectionWith(firstArr, secondArr, areItemsEqual) {
return firstArr.filter((firstItem) => {
return secondArr.some((secondItem) => {
return areItemsEqual(firstItem, secondItem);
});
});
}
exports2.intersectionWith = intersectionWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersectionWith.js
var require_intersectionWith2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/intersectionWith.js"(exports2) {
var require_intersectionWith3 = require_intersectionWith();
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_last4 = require_last2();
var require_uniq3 = require_uniq2();
function intersectionWith(firstArr, ...otherArrs) {
if (firstArr == null) return [];
const _comparator = require_last4.last(otherArrs);
let comparator = require_isEqualsSameValueZero2.isEqualsSameValueZero;
let uniq$1 = require_uniq3.uniq;
if (typeof _comparator === "function") {
comparator = _comparator;
uniq$1 = uniqPreserve0;
otherArrs.pop();
}
let result2 = uniq$1(Array.from(firstArr));
for (let i4 = 0; i4 < otherArrs.length; ++i4) {
const otherArr = otherArrs[i4];
if (otherArr == null) return [];
result2 = require_intersectionWith3.intersectionWith(result2, Array.from(otherArr), comparator);
}
return result2;
}
function uniqPreserve0(arr) {
const result2 = [];
const added = /* @__PURE__ */ new Set();
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
if (added.has(item)) continue;
result2.push(item);
added.add(item);
}
return result2;
}
exports2.intersectionWith = intersectionWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isFunction.js
var require_isFunction = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isFunction.js"(exports2) {
function isFunction(value) {
return typeof value === "function";
}
exports2.isFunction = isFunction;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isArrayBuffer.js
var require_isArrayBuffer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isArrayBuffer.js"(exports2) {
function isArrayBuffer2(value) {
return value instanceof ArrayBuffer;
}
exports2.isArrayBuffer = isArrayBuffer2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBlob.js
var require_isBlob = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBlob.js"(exports2) {
function isBlob(x3) {
if (typeof Blob === "undefined") return false;
return x3 instanceof Blob;
}
exports2.isBlob = isBlob;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBoolean.js
var require_isBoolean = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBoolean.js"(exports2) {
function isBoolean2(x3) {
return typeof x3 === "boolean";
}
exports2.isBoolean = isBoolean2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBrowser.js
var require_isBrowser = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isBrowser.js"(exports2) {
function isBrowser2() {
return typeof window !== "undefined" && window?.document != null;
}
exports2.isBrowser = isBrowser2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isDate.js
var require_isDate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isDate.js"(exports2) {
function isDate(value) {
return value instanceof Date;
}
exports2.isDate = isDate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEmptyObject.js
var require_isEmptyObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isEmptyObject.js"(exports2) {
var require_isPlainObject3 = require_isPlainObject2();
function isEmptyObject(value) {
return require_isPlainObject3.isPlainObject(value) && Object.keys(value).length === 0;
}
exports2.isEmptyObject = isEmptyObject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isError.js
var require_isError = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isError.js"(exports2) {
function isError(value) {
return value instanceof Error;
}
exports2.isError = isError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isFile.js
var require_isFile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isFile.js"(exports2) {
var require_isBlob2 = require_isBlob();
function isFile(x3) {
if (typeof File === "undefined") return false;
return require_isBlob2.isBlob(x3) && x3 instanceof File;
}
exports2.isFile = isFile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isIterable.js
var require_isIterable = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isIterable.js"(exports2) {
function isIterable(value) {
return value != null && typeof value[Symbol.iterator] === "function";
}
exports2.isIterable = isIterable;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isJSON.js
var require_isJSON = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isJSON.js"(exports2) {
function isJSON(value) {
if (typeof value !== "string") return false;
try {
JSON.parse(value);
return true;
} catch {
return false;
}
}
exports2.isJSON = isJSON;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isJSONValue.js
var require_isJSONValue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isJSONValue.js"(exports2) {
var require_isPlainObject3 = require_isPlainObject2();
function isJSONValue(value) {
switch (typeof value) {
case "object":
return value === null || isJSONArray(value) || isJSONObject(value);
case "string":
case "number":
case "boolean":
return true;
default:
return false;
}
}
function isJSONArray(value) {
if (!Array.isArray(value)) return false;
return value.every((item) => isJSONValue(item));
}
function isJSONObject(obj) {
if (!require_isPlainObject3.isPlainObject(obj)) return false;
const keys4 = Reflect.ownKeys(obj);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = obj[key];
if (typeof key !== "string") return false;
if (!isJSONValue(value)) return false;
}
return true;
}
exports2.isJSONArray = isJSONArray;
exports2.isJSONObject = isJSONObject;
exports2.isJSONValue = isJSONValue;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isMap.js
var require_isMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isMap.js"(exports2) {
function isMap(value) {
return value instanceof Map;
}
exports2.isMap = isMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNode.js
var require_isNode = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNode.js"(exports2) {
function isNode2() {
return typeof process !== "undefined" && process?.versions?.node != null;
}
exports2.isNode = isNode2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNotNil.js
var require_isNotNil = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNotNil.js"(exports2) {
function isNotNil(x3) {
return x3 != null;
}
exports2.isNotNil = isNotNil;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNull.js
var require_isNull = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNull.js"(exports2) {
function isNull2(x3) {
return x3 === null;
}
exports2.isNull = isNull2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNumber.js
var require_isNumber = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isNumber.js"(exports2) {
function isNumber(x3) {
return typeof x3 === "number";
}
exports2.isNumber = isNumber;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPromise.js
var require_isPromise = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isPromise.js"(exports2) {
function isPromise(value) {
return value instanceof Promise;
}
exports2.isPromise = isPromise;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isRegExp.js
var require_isRegExp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isRegExp.js"(exports2) {
function isRegExp(value) {
return value instanceof RegExp;
}
exports2.isRegExp = isRegExp;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isSet.js
var require_isSet = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isSet.js"(exports2) {
function isSet(value) {
return value instanceof Set;
}
exports2.isSet = isSet;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isString.js
var require_isString2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isString.js"(exports2) {
function isString(value) {
return typeof value === "string";
}
exports2.isString = isString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isSymbol.js
var require_isSymbol2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isSymbol.js"(exports2) {
function isSymbol(value) {
return typeof value === "symbol";
}
exports2.isSymbol = isSymbol;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isUndefined.js
var require_isUndefined = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isUndefined.js"(exports2) {
function isUndefined(x3) {
return x3 === void 0;
}
exports2.isUndefined = isUndefined;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isWeakMap.js
var require_isWeakMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isWeakMap.js"(exports2) {
function isWeakMap(value) {
return value instanceof WeakMap;
}
exports2.isWeakMap = isWeakMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isWeakSet.js
var require_isWeakSet = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/isWeakSet.js"(exports2) {
function isWeakSet(value) {
return value instanceof WeakSet;
}
exports2.isWeakSet = isWeakSet;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/index.js
var require_predicate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/predicate/index.js"(exports2) {
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
var require_isPrimitive4 = require_isPrimitive();
var require_isTypedArray3 = require_isTypedArray();
var require_isBuffer3 = require_isBuffer();
var require_isPlainObject3 = require_isPlainObject2();
var require_isArrayBuffer3 = require_isArrayBuffer();
var require_isBlob2 = require_isBlob();
var require_isBoolean3 = require_isBoolean();
var require_isBrowser2 = require_isBrowser();
var require_isDate4 = require_isDate();
var require_isEmptyObject2 = require_isEmptyObject();
var require_isEqualWith3 = require_isEqualWith();
var require_isEqual2 = require_isEqual();
var require_isError3 = require_isError();
var require_isFile2 = require_isFile();
var require_isFunction4 = require_isFunction();
var require_isIterable3 = require_isIterable();
var require_isJSON2 = require_isJSON();
var require_isJSONValue2 = require_isJSONValue();
var require_isLength3 = require_isLength();
var require_isMap3 = require_isMap();
var require_isNil3 = require_isNil();
var require_isNode2 = require_isNode();
var require_isNotNil2 = require_isNotNil();
var require_isNull3 = require_isNull();
var require_isNumber3 = require_isNumber();
var require_isPromise3 = require_isPromise();
var require_isRegExp3 = require_isRegExp();
var require_isSet3 = require_isSet();
var require_isString3 = require_isString2();
var require_isSymbol3 = require_isSymbol2();
var require_isUndefined3 = require_isUndefined();
var require_isWeakMap3 = require_isWeakMap();
var require_isWeakSet3 = require_isWeakSet();
exports2.isArrayBuffer = require_isArrayBuffer3.isArrayBuffer;
exports2.isBlob = require_isBlob2.isBlob;
exports2.isBoolean = require_isBoolean3.isBoolean;
exports2.isBrowser = require_isBrowser2.isBrowser;
exports2.isBuffer = require_isBuffer3.isBuffer;
exports2.isDate = require_isDate4.isDate;
exports2.isEmptyObject = require_isEmptyObject2.isEmptyObject;
exports2.isEqual = require_isEqual2.isEqual;
exports2.isEqualWith = require_isEqualWith3.isEqualWith;
exports2.isError = require_isError3.isError;
exports2.isFile = require_isFile2.isFile;
exports2.isFunction = require_isFunction4.isFunction;
exports2.isIterable = require_isIterable3.isIterable;
exports2.isJSON = require_isJSON2.isJSON;
exports2.isJSONArray = require_isJSONValue2.isJSONArray;
exports2.isJSONObject = require_isJSONValue2.isJSONObject;
exports2.isJSONValue = require_isJSONValue2.isJSONValue;
exports2.isLength = require_isLength3.isLength;
exports2.isMap = require_isMap3.isMap;
exports2.isNil = require_isNil3.isNil;
exports2.isNode = require_isNode2.isNode;
exports2.isNotNil = require_isNotNil2.isNotNil;
exports2.isNull = require_isNull3.isNull;
exports2.isNumber = require_isNumber3.isNumber;
exports2.isPlainObject = require_isPlainObject3.isPlainObject;
exports2.isPrimitive = require_isPrimitive4.isPrimitive;
exports2.isPromise = require_isPromise3.isPromise;
exports2.isRegExp = require_isRegExp3.isRegExp;
exports2.isSet = require_isSet3.isSet;
exports2.isString = require_isString3.isString;
exports2.isSymbol = require_isSymbol3.isSymbol;
exports2.isTypedArray = require_isTypedArray3.isTypedArray;
exports2.isUndefined = require_isUndefined3.isUndefined;
exports2.isWeakMap = require_isWeakMap3.isWeakMap;
exports2.isWeakSet = require_isWeakSet3.isWeakSet;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/invokeMap.js
var require_invokeMap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/invokeMap.js"(exports2) {
var require_isFunction4 = require_isFunction();
var require_isNil3 = require_isNil();
require_predicate();
var require_isArrayLike3 = require_isArrayLike();
var require_get4 = require_get();
function invokeMap(collection, path236, ...args) {
if (require_isNil3.isNil(collection)) return [];
const values = require_isArrayLike3.isArrayLike(collection) ? Array.from(collection) : Object.values(collection);
const result2 = [];
for (let i4 = 0; i4 < values.length; i4++) {
const value = values[i4];
if (require_isFunction4.isFunction(path236)) {
result2.push(path236.apply(value, args));
continue;
}
const method2 = require_get4.get(value, path236);
let thisContext = value;
if (Array.isArray(path236)) {
const pathExceptLast = path236.slice(0, -1);
if (pathExceptLast.length > 0) thisContext = require_get4.get(value, pathExceptLast);
} else if (typeof path236 === "string" && path236.includes(".")) {
const pathExceptLast = path236.split(".").slice(0, -1).join(".");
thisContext = require_get4.get(value, pathExceptLast);
}
result2.push(method2 == null ? void 0 : method2.apply(thisContext, args));
}
return result2;
}
exports2.invokeMap = invokeMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/join.js
var require_join = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/join.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
function join5(array, separator) {
if (!require_isArrayLike3.isArrayLike(array)) return "";
return Array.from(array).join(separator);
}
exports2.join = join5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reduce.js
var require_reduce = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reduce.js"(exports2) {
var require_identity6 = require_identity2();
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
function reduce5(collection, iteratee = require_identity6.identity, accumulator) {
const hasAccumulator = arguments.length >= 3;
if (!collection) return accumulator;
let keys4;
let startIndex = 0;
if (require_isArrayLike3.isArrayLike(collection)) {
keys4 = require_range6.range(0, collection.length);
if (!hasAccumulator && collection.length > 0) {
accumulator = collection[0];
startIndex += 1;
}
} else {
keys4 = Object.keys(collection);
if (!hasAccumulator && keys4.length > 0) {
accumulator = collection[keys4[0]];
startIndex += 1;
}
}
for (let i4 = startIndex; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = collection[key];
accumulator = iteratee(accumulator, value, key, collection);
}
return accumulator;
}
exports2.reduce = reduce5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/keyBy.js
var require_keyBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/keyBy.js"(exports2) {
var require_identity6 = require_identity2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
var require_isObjectLike2 = require_isObjectLike();
var require_reduce3 = require_reduce();
function keyBy(collection, iteratee$1) {
if (!require_isArrayLike3.isArrayLike(collection) && !require_isObjectLike2.isObjectLike(collection)) return {};
const keyFn = require_iteratee2.iteratee(iteratee$1 ?? require_identity6.identity);
return require_reduce3.reduce(collection, (result2, value) => {
const key = keyFn(value);
result2[key] = value;
return result2;
}, {});
}
exports2.keyBy = keyBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/lastIndexOf.js
var require_lastIndexOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/lastIndexOf.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
function lastIndexOf(array, searchElement, fromIndex) {
if (!require_isArrayLike3.isArrayLike(array) || array.length === 0) return -1;
const length = array.length;
let index2 = fromIndex ?? length - 1;
if (fromIndex != null) index2 = index2 < 0 ? Math.max(length + index2, 0) : Math.min(index2, length - 1);
if (Number.isNaN(searchElement)) {
for (let i4 = index2; i4 >= 0; i4--) if (Number.isNaN(array[i4])) return i4;
}
return Array.from(array).lastIndexOf(searchElement, index2);
}
exports2.lastIndexOf = lastIndexOf;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/nth.js
var require_nth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/nth.js"(exports2) {
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_toInteger2 = require_toInteger();
function nth3(array, n2 = 0) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array) || array.length === 0) return;
n2 = require_toInteger2.toInteger(n2);
if (n2 < 0) n2 += array.length;
return array[n2];
}
exports2.nth = nth3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/compareValues.js
var require_compareValues = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/compareValues.js"(exports2) {
function getPriority(a2) {
if (typeof a2 === "symbol") return 1;
if (a2 === null) return 2;
if (a2 === void 0) return 3;
if (a2 !== a2) return 4;
return 0;
}
var compareValues = (a2, b, order) => {
if (a2 !== b) {
const aPriority = getPriority(a2);
const bPriority = getPriority(b);
if (aPriority === bPriority && aPriority === 0) {
if (a2 < b) return order === "desc" ? 1 : -1;
if (a2 > b) return order === "desc" ? -1 : 1;
}
return order === "desc" ? bPriority - aPriority : aPriority - bPriority;
}
return 0;
};
exports2.compareValues = compareValues;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isKey.js
var require_isKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isKey.js"(exports2) {
var require_isSymbol3 = require_isSymbol();
var regexIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
var regexIsPlainProp = /^\w*$/;
function isKey(value, object) {
if (Array.isArray(value)) return false;
if (typeof value === "number" || typeof value === "boolean" || value == null || require_isSymbol3.isSymbol(value)) return true;
return typeof value === "string" && (regexIsPlainProp.test(value) || !regexIsDeepProp.test(value)) || object != null && Object.hasOwn(object, value);
}
exports2.isKey = isKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/orderBy.js
var require_orderBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/orderBy.js"(exports2) {
var require_toPath2 = require_toPath();
var require_compareValues2 = require_compareValues();
var require_isKey2 = require_isKey();
function orderBy(collection, criteria, orders, guard) {
if (collection == null) return [];
orders = guard ? void 0 : orders;
if (!Array.isArray(collection)) collection = Object.values(collection);
if (!Array.isArray(criteria)) criteria = criteria == null ? [null] : [criteria];
if (criteria.length === 0) criteria = [null];
if (!Array.isArray(orders)) orders = orders == null ? [] : [orders];
orders = orders.map((order) => String(order));
const getValueByNestedPath = (object, path236) => {
let target2 = object;
for (let i4 = 0; i4 < path236.length && target2 != null; ++i4) target2 = target2[path236[i4]];
return target2;
};
const getValueByCriterion = (criterion, object) => {
if (object == null || criterion == null) return object;
if (typeof criterion === "object" && "key" in criterion) {
if (Object.hasOwn(object, criterion.key)) return object[criterion.key];
return getValueByNestedPath(object, criterion.path);
}
if (typeof criterion === "function") return criterion(object);
if (Array.isArray(criterion)) return getValueByNestedPath(object, criterion);
if (typeof object === "object") return object[criterion];
return object;
};
const preparedCriteria = criteria.map((criterion) => {
if (Array.isArray(criterion) && criterion.length === 1) criterion = criterion[0];
if (criterion == null || typeof criterion === "function" || Array.isArray(criterion) || require_isKey2.isKey(criterion)) return criterion;
return {
key: criterion,
path: require_toPath2.toPath(criterion)
};
});
return collection.map((item) => ({
original: item,
criteria: preparedCriteria.map((criterion) => getValueByCriterion(criterion, item))
})).slice().sort((a2, b) => {
for (let i4 = 0; i4 < preparedCriteria.length; i4++) {
const comparedResult = require_compareValues2.compareValues(a2.criteria[i4], b.criteria[i4], orders[i4]);
if (comparedResult !== 0) return comparedResult;
}
return 0;
}).map((item) => item.original);
}
exports2.orderBy = orderBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/partition.js
var require_partition = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/partition.js"(exports2) {
var require_identity6 = require_identity2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
function partition3(source, predicate = require_identity6.identity) {
if (!source) return [[], []];
const collection = require_isArrayLike3.isArrayLike(source) ? source : Object.values(source);
predicate = require_iteratee2.iteratee(predicate);
const matched = [];
const unmatched = [];
for (let i4 = 0; i4 < collection.length; i4++) {
const value = collection[i4];
if (predicate(value)) matched.push(value);
else unmatched.push(value);
}
return [matched, unmatched];
}
exports2.partition = partition3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/pull.js
var require_pull = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/pull.js"(exports2) {
function pull(arr, valuesToRemove) {
const valuesSet = new Set(valuesToRemove);
let resultIndex = 0;
for (let i4 = 0; i4 < arr.length; i4++) {
if (valuesSet.has(arr[i4])) continue;
if (!Object.hasOwn(arr, i4)) {
delete arr[resultIndex++];
continue;
}
arr[resultIndex++] = arr[i4];
}
arr.length = resultIndex;
return arr;
}
exports2.pull = pull;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pull.js
var require_pull2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pull.js"(exports2) {
var require_pull3 = require_pull();
function pull(arr, ...valuesToRemove) {
return require_pull3.pull(arr, valuesToRemove);
}
exports2.pull = pull;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAll.js
var require_pullAll = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAll.js"(exports2) {
var require_pull3 = require_pull();
function pullAll(arr, valuesToRemove = []) {
return require_pull3.pull(arr, Array.from(valuesToRemove));
}
exports2.pullAll = pullAll;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAllBy.js
var require_pullAllBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAllBy.js"(exports2) {
var require_iteratee2 = require_iteratee();
function pullAllBy(arr, valuesToRemove, _getValue) {
const getValue = require_iteratee2.iteratee(_getValue);
const valuesSet = new Set(Array.from(valuesToRemove).map((x3) => getValue(x3)));
let resultIndex = 0;
for (let i4 = 0; i4 < arr.length; i4++) {
const value = getValue(arr[i4]);
if (valuesSet.has(value)) continue;
if (!Object.hasOwn(arr, i4)) {
delete arr[resultIndex++];
continue;
}
arr[resultIndex++] = arr[i4];
}
arr.length = resultIndex;
return arr;
}
exports2.pullAllBy = pullAllBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/copyArray.js
var require_copyArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/copyArray.js"(exports2) {
function copyArray(source, array) {
const length = source.length;
if (array == null) array = Array(length);
for (let i4 = 0; i4 < length; i4++) array[i4] = source[i4];
return array;
}
exports2.default = copyArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAllWith.js
var require_pullAllWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAllWith.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_copyArray2 = require_copyArray();
function pullAllWith(array, values, comparator) {
if (array?.length == null || values?.length == null) return array;
if (array === values) values = require_copyArray2.default(values);
let resultLength = 0;
if (comparator == null) comparator = (a2, b) => require_isEqualsSameValueZero2.isEqualsSameValueZero(a2, b);
const valuesArray = Array.isArray(values) ? values : Array.from(values);
const hasUndefined = valuesArray.includes(void 0);
for (let i4 = 0; i4 < array.length; i4++) {
if (i4 in array) {
if (!valuesArray.some((value) => comparator(array[i4], value))) array[resultLength++] = array[i4];
continue;
}
if (!hasUndefined) delete array[resultLength++];
}
array.length = resultLength;
return array;
}
exports2.pullAllWith = pullAllWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/at.js
var require_at = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/at.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_get4 = require_get();
var require_isString3 = require_isString();
function at(object, ...paths3) {
if (paths3.length === 0) return [];
const allPaths = [];
for (let i4 = 0; i4 < paths3.length; i4++) {
const path236 = paths3[i4];
if (!require_isArrayLike3.isArrayLike(path236) || require_isString3.isString(path236)) {
allPaths.push(path236);
continue;
}
for (let j2 = 0; j2 < path236.length; j2++) allPaths.push(path236[j2]);
}
const result2 = [];
for (let i4 = 0; i4 < allPaths.length; i4++) result2.push(require_get4.get(object, allPaths[i4]));
return result2;
}
exports2.at = at;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/unset.js
var require_unset = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/unset.js"(exports2) {
var require_isUnsafeProperty2 = require_isUnsafeProperty();
var require_isDeepKey2 = require_isDeepKey();
var require_toKey2 = require_toKey();
var require_toPath2 = require_toPath();
var require_get4 = require_get();
function unset(obj, path236) {
if (obj == null) return true;
switch (typeof path236) {
case "symbol":
case "number":
case "object":
if (Array.isArray(path236)) return unsetWithPath(obj, path236);
if (typeof path236 === "number") path236 = require_toKey2.toKey(path236);
else if (typeof path236 === "object") if (Object.is(path236?.valueOf(), -0)) path236 = "-0";
else path236 = String(path236);
if (require_isUnsafeProperty2.isUnsafeProperty(path236)) return false;
if (obj?.[path236] === void 0) return true;
try {
delete obj[path236];
return true;
} catch {
return false;
}
case "string":
if (obj?.[path236] === void 0 && require_isDeepKey2.isDeepKey(path236)) return unsetWithPath(obj, require_toPath2.toPath(path236));
if (require_isUnsafeProperty2.isUnsafeProperty(path236)) return false;
try {
delete obj[path236];
return true;
} catch {
return false;
}
}
}
function unsetWithPath(obj, path236) {
const parent = path236.length === 1 ? obj : require_get4.get(obj, path236.slice(0, -1));
const lastKey = path236[path236.length - 1];
if (parent?.[lastKey] === void 0) return true;
if (require_isUnsafeProperty2.isUnsafeProperty(lastKey)) return false;
try {
delete parent[lastKey];
return true;
} catch {
return false;
}
}
exports2.unset = unset;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAt.js
var require_pullAt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/pullAt.js"(exports2) {
var require_isArray2 = require_isArray();
var require_toKey2 = require_toKey();
var require_toPath2 = require_toPath();
var require_isIndex2 = require_isIndex();
var require_flattenDepth2 = require_flattenDepth();
var require_isKey2 = require_isKey();
var require_at2 = require_at();
var require_unset2 = require_unset();
function pullAt(array, ..._indices) {
const indices = require_flattenDepth2.flattenDepth(_indices, 1);
if (!array) return Array(indices.length);
const result2 = require_at2.at(array, indices);
const indicesToPull = indices.map((index2) => require_isIndex2.isIndex(index2, array.length) ? Number(index2) : index2).sort((a2, b) => b - a2);
for (const index2 of new Set(indicesToPull)) {
if (require_isIndex2.isIndex(index2, array.length)) {
Array.prototype.splice.call(array, index2, 1);
continue;
}
if (require_isKey2.isKey(index2, array)) {
delete array[require_toKey2.toKey(index2)];
continue;
}
const path236 = require_isArray2.isArray(index2) ? index2 : require_toPath2.toPath(index2);
require_unset2.unset(array, path236);
}
return result2;
}
exports2.pullAt = pullAt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reduceRight.js
var require_reduceRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reduceRight.js"(exports2) {
var require_identity6 = require_identity2();
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
function reduceRight(collection, iteratee = require_identity6.identity, accumulator) {
const hasAccumulator = arguments.length >= 3;
if (!collection) return accumulator;
let keys4;
let startIndex;
if (require_isArrayLike3.isArrayLike(collection)) {
keys4 = require_range6.range(0, collection.length).reverse();
if (!hasAccumulator && collection.length > 0) {
accumulator = collection[collection.length - 1];
startIndex = 1;
} else startIndex = 0;
} else {
keys4 = Object.keys(collection).reverse();
if (!hasAccumulator && keys4.length > 0) {
accumulator = collection[keys4[0]];
startIndex = 1;
} else startIndex = 0;
}
for (let i4 = startIndex; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = collection[key];
accumulator = iteratee(accumulator, value, key, collection);
}
return accumulator;
}
exports2.reduceRight = reduceRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/negate.js
var require_negate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/negate.js"(exports2) {
function negate(func) {
if (typeof func !== "function") throw new TypeError("Expected a function");
return function(...args) {
return !func.apply(this, args);
};
}
exports2.negate = negate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reject.js
var require_reject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reject.js"(exports2) {
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
var require_filter4 = require_filter();
var require_negate3 = require_negate();
function reject3(source, predicate = require_identity6.identity) {
return require_filter4.filter(source, require_negate3.negate(require_iteratee2.iteratee(predicate)));
}
exports2.reject = reject3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/remove.js
var require_remove3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/remove.js"(exports2) {
function remove(arr, shouldRemoveElement) {
const originalArr = arr.slice();
const removed = [];
let resultIndex = 0;
for (let i4 = 0; i4 < arr.length; i4++) {
if (shouldRemoveElement(arr[i4], i4, originalArr)) {
removed.push(arr[i4]);
continue;
}
if (!Object.hasOwn(arr, i4)) {
delete arr[resultIndex++];
continue;
}
arr[resultIndex++] = arr[i4];
}
arr.length = resultIndex;
return removed;
}
exports2.remove = remove;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/remove.js
var require_remove4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/remove.js"(exports2) {
var require_remove5 = require_remove3();
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
function remove(arr, shouldRemoveElement = require_identity6.identity) {
return require_remove5.remove(arr, require_iteratee2.iteratee(shouldRemoveElement));
}
exports2.remove = remove;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reverse.js
var require_reverse2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/reverse.js"(exports2) {
function reverse3(array) {
if (array == null) return array;
return array.reverse();
}
exports2.reverse = reverse3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/sample.js
var require_sample = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/sample.js"(exports2) {
function sample(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
exports2.sample = sample;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sample.js
var require_sample2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sample.js"(exports2) {
var require_sample4 = require_sample();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
function sample(collection) {
if (collection == null) return;
if (require_isArrayLike3.isArrayLike(collection)) return require_sample4.sample(require_toArray4.toArray(collection));
return require_sample4.sample(Object.values(collection));
}
exports2.sample = sample;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/clamp.js
var require_clamp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/clamp.js"(exports2) {
var require_toNumber2 = require_toNumber();
function clamp2(value, bound1, bound2) {
if (bound2 === void 0) {
bound2 = bound1;
bound1 = void 0;
}
if (bound2 !== void 0) {
bound2 = require_toNumber2.toNumber(bound2);
value = Math.min(value, Number.isNaN(bound2) ? 0 : bound2);
}
if (bound1 !== void 0) {
bound1 = require_toNumber2.toNumber(bound1);
value = Math.max(value, Number.isNaN(bound1) ? 0 : bound1);
}
return value;
}
exports2.clamp = clamp2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMap.js
var require_isMap2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isMap.js"(exports2) {
var require_isMap3 = require_isMap();
function isMap(value) {
return require_isMap3.isMap(value);
}
exports2.isMap = isMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toArray.js
var require_toArray2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toArray.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_isMap3 = require_isMap2();
function toArray2(value) {
if (value == null) return [];
if (require_isArrayLike3.isArrayLike(value) || require_isMap3.isMap(value)) return Array.from(value);
if (typeof value === "object") return Object.values(value);
return [];
}
exports2.toArray = toArray2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/random.js
var require_random = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/random.js"(exports2) {
function random2(minimum, maximum) {
if (maximum == null) {
maximum = minimum;
minimum = 0;
}
if (minimum >= maximum) throw new Error("Invalid input: The maximum value must be greater than the minimum value.");
return Math.random() * (maximum - minimum) + minimum;
}
exports2.random = random2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/randomInt.js
var require_randomInt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/randomInt.js"(exports2) {
var require_random3 = require_random();
function randomInt(minimum, maximum) {
return Math.floor(require_random3.random(minimum, maximum));
}
exports2.randomInt = randomInt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/sampleSize.js
var require_sampleSize = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/sampleSize.js"(exports2) {
var require_randomInt2 = require_randomInt();
function sampleSize(array, size) {
if (size > array.length) throw new Error("Size must be less than or equal to the length of array.");
const result2 = new Array(size);
const selected = /* @__PURE__ */ new Set();
for (let step2 = array.length - size, resultIndex = 0; step2 < array.length; step2++, resultIndex++) {
let index2 = require_randomInt2.randomInt(0, step2 + 1);
if (selected.has(index2)) index2 = step2;
selected.add(index2);
result2[resultIndex] = array[index2];
}
return result2;
}
exports2.sampleSize = sampleSize;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sampleSize.js
var require_sampleSize2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sampleSize.js"(exports2) {
var require_sampleSize3 = require_sampleSize();
var require_toInteger2 = require_toInteger();
var require_isIterateeCall2 = require_isIterateeCall();
var require_clamp2 = require_clamp();
var require_toArray4 = require_toArray2();
function sampleSize(collection, size, guard) {
const arrayCollection = require_toArray4.toArray(collection);
if (guard ? require_isIterateeCall2.isIterateeCall(collection, size, guard) : size === void 0) size = 1;
else size = require_clamp2.clamp(require_toInteger2.toInteger(size), 0, arrayCollection.length);
return require_sampleSize3.sampleSize(arrayCollection, size);
}
exports2.sampleSize = sampleSize;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/values.js
var require_values = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/values.js"(exports2) {
function values(object) {
if (object == null) return [];
return Object.values(object);
}
exports2.values = values;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNil.js
var require_isNil2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNil.js"(exports2) {
function isNil(x3) {
return x3 == null;
}
exports2.isNil = isNil;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/shuffle.js
var require_shuffle = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/shuffle.js"(exports2) {
function shuffle(arr) {
const result2 = arr.slice();
for (let i4 = result2.length - 1; i4 >= 1; i4--) {
const j2 = Math.floor(Math.random() * (i4 + 1));
[result2[i4], result2[j2]] = [result2[j2], result2[i4]];
}
return result2;
}
exports2.shuffle = shuffle;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/shuffle.js
var require_shuffle2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/shuffle.js"(exports2) {
var require_shuffle3 = require_shuffle();
var require_isArray2 = require_isArray();
var require_isArrayLike3 = require_isArrayLike();
var require_isObjectLike2 = require_isObjectLike();
var require_values2 = require_values();
var require_isNil3 = require_isNil2();
function shuffle(collection) {
if (require_isNil3.isNil(collection)) return [];
if (require_isArray2.isArray(collection)) return require_shuffle3.shuffle(collection);
if (require_isArrayLike3.isArrayLike(collection)) return require_shuffle3.shuffle(Array.from(collection));
if (require_isObjectLike2.isObjectLike(collection)) return require_shuffle3.shuffle(require_values2.values(collection));
return [];
}
exports2.shuffle = shuffle;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/size.js
var require_size = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/size.js"(exports2) {
var require_isNil3 = require_isNil();
var require_isArrayLike3 = require_isArrayLike();
function size(target2) {
if (require_isNil3.isNil(target2)) return 0;
if (require_isArrayLike3.isArrayLike(target2)) return target2.length;
if (target2 instanceof Map || target2 instanceof Set) return target2.size;
return Object.keys(target2).length;
}
exports2.size = size;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/slice.js
var require_slice = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/slice.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_toInteger2 = require_toInteger();
var require_isIterateeCall2 = require_isIterateeCall();
function slice4(array, start, end) {
if (!require_isArrayLike3.isArrayLike(array)) return [];
const length = array.length;
if (end === void 0) end = length;
else if (typeof end !== "number" && require_isIterateeCall2.isIterateeCall(array, start, end)) {
start = 0;
end = length;
}
start = require_toInteger2.toInteger(start);
end = require_toInteger2.toInteger(end);
if (start < 0) start = Math.max(length + start, 0);
else start = Math.min(start, length);
if (end < 0) end = Math.max(length + end, 0);
else end = Math.min(end, length);
const resultLength = Math.max(end - start, 0);
const result2 = new Array(resultLength);
for (let i4 = 0; i4 < resultLength; ++i4) result2[i4] = array[start + i4];
return result2;
}
exports2.slice = slice4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/some.js
var require_some = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/some.js"(exports2) {
var require_identity6 = require_identity2();
var require_property2 = require_property();
var require_matches2 = require_matches();
var require_matchesProperty2 = require_matchesProperty();
function some(source, predicate, guard) {
if (!source) return false;
if (guard != null) predicate = void 0;
if (predicate == null) predicate = require_identity6.identity;
const values = Array.isArray(source) ? source : Object.values(source);
switch (typeof predicate) {
case "function":
if (!Array.isArray(source)) {
const keys4 = Object.keys(source);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = source[key];
if (predicate(value, key, source)) return true;
}
return false;
}
for (let i4 = 0; i4 < source.length; i4++) if (predicate(source[i4], i4, source)) return true;
return false;
case "object":
if (Array.isArray(predicate) && predicate.length === 2) {
const key = predicate[0];
const value = predicate[1];
const matchFunc = require_matchesProperty2.matchesProperty(key, value);
if (Array.isArray(source)) {
for (let i4 = 0; i4 < source.length; i4++) if (matchFunc(source[i4])) return true;
return false;
}
return values.some(matchFunc);
} else {
const matchFunc = require_matches2.matches(predicate);
if (Array.isArray(source)) {
for (let i4 = 0; i4 < source.length; i4++) if (matchFunc(source[i4])) return true;
return false;
}
return values.some(matchFunc);
}
case "number":
case "symbol":
case "string": {
const propFunc = require_property2.property(predicate);
if (Array.isArray(source)) {
for (let i4 = 0; i4 < source.length; i4++) if (propFunc(source[i4])) return true;
return false;
}
return values.some(propFunc);
}
}
}
exports2.some = some;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortBy.js
var require_sortBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortBy.js"(exports2) {
var require_flatten3 = require_flatten();
var require_isIterateeCall2 = require_isIterateeCall();
var require_orderBy2 = require_orderBy();
function sortBy3(collection, ...criteria) {
const length = criteria.length;
if (length > 1 && require_isIterateeCall2.isIterateeCall(collection, criteria[0], criteria[1])) criteria = [];
else if (length > 2 && require_isIterateeCall2.isIterateeCall(criteria[0], criteria[1], criteria[2])) criteria = [criteria[0]];
return require_orderBy2.orderBy(collection, require_flatten3.flatten(criteria), ["asc"]);
}
exports2.sortBy = sortBy3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNumber.js
var require_isNumber2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNumber.js"(exports2) {
var require_getTag2 = require_getTag();
require_tags2();
var require_isObjectLike2 = require_isObjectLike();
function isNumber(value) {
return typeof value === "number" || require_isObjectLike2.isObjectLike(value) && require_getTag2.getTag(value) === "[object Number]";
}
exports2.isNumber = isNumber;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNaN.js
var require_isNaN = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNaN.js"(exports2) {
var require_isNumber3 = require_isNumber2();
function isNaN2(value) {
return require_isNumber3.isNumber(value) && Number.isNaN(Number(value));
}
exports2.isNaN = isNaN2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.js
var require_sortedIndexBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.js"(exports2) {
var require_isNull3 = require_isNull();
var require_isUndefined3 = require_isUndefined();
var require_iteratee2 = require_iteratee();
var require_isSymbol3 = require_isSymbol();
var require_identity6 = require_identity3();
var require_isNil3 = require_isNil2();
var require_isNaN3 = require_isNaN();
var MAX_ARRAY_INDEX = 4294967294;
function sortedIndexBy(array, value, iteratee$1 = require_identity6.identity, retHighest) {
if (require_isNil3.isNil(array) || array.length === 0) return 0;
let low = 0;
let high = array.length;
const iterateeFunction = require_iteratee2.iteratee(iteratee$1);
const transformedValue = iterateeFunction(value);
const valIsNaN = require_isNaN3.isNaN(transformedValue);
const valIsNull = require_isNull3.isNull(transformedValue);
const valIsSymbol = require_isSymbol3.isSymbol(transformedValue);
const valIsUndefined = require_isUndefined3.isUndefined(transformedValue);
while (low < high) {
let setLow;
const mid = Math.floor((low + high) / 2);
const computed = iterateeFunction(array[mid]);
const othIsDefined = !require_isUndefined3.isUndefined(computed);
const othIsNull = require_isNull3.isNull(computed);
const othIsReflexive = !require_isNaN3.isNaN(computed);
const othIsSymbol = require_isSymbol3.isSymbol(computed);
if (valIsNaN) setLow = retHighest || othIsReflexive;
else if (valIsUndefined) setLow = othIsReflexive && (retHighest || othIsDefined);
else if (valIsNull) setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
else if (valIsSymbol) setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
else if (othIsNull || othIsSymbol) setLow = false;
else setLow = retHighest ? computed <= transformedValue : computed < transformedValue;
if (setLow) low = mid + 1;
else high = mid;
}
return Math.min(high, MAX_ARRAY_INDEX);
}
exports2.sortedIndexBy = sortedIndexBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndex.js
var require_sortedIndex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndex.js"(exports2) {
var require_isNil3 = require_isNil();
var require_isNull3 = require_isNull();
var require_isSymbol3 = require_isSymbol2();
var require_isNumber3 = require_isNumber2();
var require_sortedIndexBy2 = require_sortedIndexBy();
var HALF_MAX_ARRAY_LENGTH = 2147483647;
function sortedIndex(array, value) {
if (require_isNil3.isNil(array)) return 0;
let low = 0;
let high = array.length;
if (require_isNumber3.isNumber(value) && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
while (low < high) {
const mid = low + high >>> 1;
const compute = array[mid];
if (!require_isNull3.isNull(compute) && !require_isSymbol3.isSymbol(compute) && compute < value) low = mid + 1;
else high = mid;
}
return high;
}
return require_sortedIndexBy2.sortedIndexBy(array, value, (value2) => value2);
}
exports2.sortedIndex = sortedIndex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndexOf.js
var require_sortedIndexOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedIndexOf.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_sortedIndex2 = require_sortedIndex();
function sortedIndexOf(array, value) {
if (!array?.length) return -1;
const index2 = require_sortedIndex2.sortedIndex(array, value);
if (index2 < array.length && require_isEqualsSameValueZero2.isEqualsSameValueZero(array[index2], value)) return index2;
return -1;
}
exports2.sortedIndexOf = sortedIndexOf;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndexBy.js
var require_sortedLastIndexBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndexBy.js"(exports2) {
var require_sortedIndexBy2 = require_sortedIndexBy();
function sortedLastIndexBy(array, value, iteratee) {
return require_sortedIndexBy2.sortedIndexBy(array, value, iteratee, true);
}
exports2.sortedLastIndexBy = sortedLastIndexBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndex.js
var require_sortedLastIndex = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndex.js"(exports2) {
var require_isNil3 = require_isNil();
var require_isNull3 = require_isNull();
var require_isSymbol3 = require_isSymbol2();
var require_isNumber3 = require_isNumber2();
var require_sortedLastIndexBy2 = require_sortedLastIndexBy();
var HALF_MAX_ARRAY_LENGTH = 2147483647;
function sortedLastIndex(array, value) {
if (require_isNil3.isNil(array)) return 0;
let high = array.length;
if (!require_isNumber3.isNumber(value) || Number.isNaN(value) || high > HALF_MAX_ARRAY_LENGTH) return require_sortedLastIndexBy2.sortedLastIndexBy(array, value, (value2) => value2);
let low = 0;
while (low < high) {
const mid = low + high >>> 1;
const compute = array[mid];
if (!require_isNull3.isNull(compute) && !require_isSymbol3.isSymbol(compute) && compute <= value) low = mid + 1;
else high = mid;
}
return high;
}
exports2.sortedLastIndex = sortedLastIndex;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndexOf.js
var require_sortedLastIndexOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/sortedLastIndexOf.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_sortedLastIndex2 = require_sortedLastIndex();
function sortedLastIndexOf(array, value) {
if (!array?.length) return -1;
const index2 = require_sortedLastIndex2.sortedLastIndex(array, value) - 1;
if (index2 >= 0 && require_isEqualsSameValueZero2.isEqualsSameValueZero(array[index2], value)) return index2;
return -1;
}
exports2.sortedLastIndexOf = sortedLastIndexOf;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/tail.js
var require_tail = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/tail.js"(exports2) {
function tail2(arr) {
return arr.slice(1);
}
exports2.tail = tail2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/tail.js
var require_tail2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/tail.js"(exports2) {
var require_tail3 = require_tail();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
function tail2(arr) {
if (!require_isArrayLike3.isArrayLike(arr)) return [];
return require_tail3.tail(require_toArray4.toArray(arr));
}
exports2.tail = tail2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/take.js
var require_take = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/take.js"(exports2) {
function take10(arr, count2) {
return arr.slice(0, count2);
}
exports2.take = take10;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/take.js
var require_take2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/take.js"(exports2) {
var require_take4 = require_take();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_toInteger2 = require_toInteger();
function take10(arr, count2 = 1, guard) {
count2 = guard || count2 === void 0 ? 1 : require_toInteger2.toInteger(count2);
if (count2 < 1 || !require_isArrayLike3.isArrayLike(arr)) return [];
return require_take4.take(require_toArray4.toArray(arr), count2);
}
exports2.take = take10;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/takeRight.js
var require_takeRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/takeRight.js"(exports2) {
function takeRight(arr, count2) {
if (count2 <= 0 || arr.length === 0) return [];
return arr.slice(-count2);
}
exports2.takeRight = takeRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeRight.js
var require_takeRight2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeRight.js"(exports2) {
var require_takeRight3 = require_takeRight();
var require_toArray4 = require_toArray();
var require_isArrayLike3 = require_isArrayLike();
var require_toInteger2 = require_toInteger();
function takeRight(arr, count2 = 1, guard) {
count2 = guard ? 1 : require_toInteger2.toInteger(count2);
if (count2 <= 0 || !require_isArrayLike3.isArrayLike(arr)) return [];
return require_takeRight3.takeRight(require_toArray4.toArray(arr), count2);
}
exports2.takeRight = takeRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/negate.js
var require_negate2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/negate.js"(exports2) {
function negate(func) {
return ((...args) => !func(...args));
}
exports2.negate = negate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeRightWhile.js
var require_takeRightWhile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeRightWhile.js"(exports2) {
var require_identity6 = require_identity2();
var require_negate3 = require_negate2();
var require_toArray4 = require_toArray();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function takeRightWhile(_array, predicate) {
if (!require_isArrayLikeObject2.isArrayLikeObject(_array)) return [];
const array = require_toArray4.toArray(_array);
const index2 = array.findLastIndex(require_negate3.negate(require_iteratee2.iteratee(predicate ?? require_identity6.identity)));
return array.slice(index2 + 1);
}
exports2.takeRightWhile = takeRightWhile;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeWhile.js
var require_takeWhile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/takeWhile.js"(exports2) {
var require_toArray4 = require_toArray();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_identity6 = require_identity3();
var require_negate3 = require_negate();
function takeWhile2(array, predicate) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
const _array = require_toArray4.toArray(array);
const index2 = _array.findIndex(require_negate3.negate(require_iteratee2.iteratee(predicate ?? require_identity6.identity)));
return index2 === -1 ? _array : _array.slice(0, index2);
}
exports2.takeWhile = takeWhile2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/union.js
var require_union = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/union.js"(exports2) {
var require_uniq3 = require_uniq();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_flatMapDepth2 = require_flatMapDepth();
function union2(...arrays) {
const validArrays = arrays.filter(require_isArrayLikeObject2.isArrayLikeObject);
const flattened = require_flatMapDepth2.flatMapDepth(validArrays, (v) => Array.from(v), 1);
return require_uniq3.uniq(flattened);
}
exports2.union = union2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniqBy.js
var require_uniqBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniqBy.js"(exports2) {
function uniqBy2(arr, mapper) {
const map26 = /* @__PURE__ */ new Map();
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
const key = mapper(item, i4, arr);
if (!map26.has(key)) map26.set(key, item);
}
return Array.from(map26.values());
}
exports2.uniqBy = uniqBy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/ary.js
var require_ary = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/ary.js"(exports2) {
function ary(func, n2) {
return function(...args) {
return func.apply(this, args.slice(0, n2));
};
}
exports2.ary = ary;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unionBy.js
var require_unionBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unionBy.js"(exports2) {
var require_last4 = require_last();
var require_uniq3 = require_uniq();
var require_uniqBy3 = require_uniqBy();
var require_ary3 = require_ary();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_flattenArrayLike2 = require_flattenArrayLike();
function unionBy(...values) {
const lastValue = require_last4.last(values);
const flattened = require_flattenArrayLike2.flattenArrayLike(values);
if (require_isArrayLikeObject2.isArrayLikeObject(lastValue) || lastValue == null) return require_uniq3.uniq(flattened);
return require_uniqBy3.uniqBy(flattened, require_ary3.ary(require_iteratee2.iteratee(lastValue), 1));
}
exports2.unionBy = unionBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniqWith.js
var require_uniqWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/uniqWith.js"(exports2) {
function uniqWith(arr, areItemsEqual) {
const result2 = [];
for (let i4 = 0; i4 < arr.length; i4++) {
const item = arr[i4];
if (result2.every((v) => !areItemsEqual(v, item))) result2.push(item);
}
return result2;
}
exports2.uniqWith = uniqWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unionWith.js
var require_unionWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unionWith.js"(exports2) {
var require_last4 = require_last();
var require_uniq3 = require_uniq();
var require_uniqWith3 = require_uniqWith();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_flattenArrayLike2 = require_flattenArrayLike();
function unionWith(...values) {
const lastValue = require_last4.last(values);
const flattened = require_flattenArrayLike2.flattenArrayLike(values);
if (require_isArrayLikeObject2.isArrayLikeObject(lastValue) || lastValue == null) return require_uniq3.uniq(flattened);
return require_uniqWith3.uniqWith(flattened, lastValue);
}
exports2.unionWith = unionWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniqBy.js
var require_uniqBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniqBy.js"(exports2) {
var require_uniqBy3 = require_uniqBy();
var require_ary3 = require_ary();
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function uniqBy2(array, iteratee$1 = require_identity6.identity) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
return require_uniqBy3.uniqBy(Array.from(array), require_ary3.ary(require_iteratee2.iteratee(iteratee$1), 1));
}
exports2.uniqBy = uniqBy2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniqWith.js
var require_uniqWith2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/uniqWith.js"(exports2) {
var require_uniqWith3 = require_uniqWith();
var require_isArrayLike3 = require_isArrayLike();
var require_uniq3 = require_uniq2();
function uniqWith(arr, comparator) {
if (!require_isArrayLike3.isArrayLike(arr)) return [];
if (typeof comparator !== "function") return require_uniq3.uniq(Array.from(arr));
return require_uniqWith3.uniqWith(Array.from(arr), (kept, candidate) => comparator(candidate, kept));
}
exports2.uniqWith = uniqWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/unzip.js
var require_unzip = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/unzip.js"(exports2) {
function unzip(zipped) {
let maxLen = 0;
for (let i4 = 0; i4 < zipped.length; i4++) if (zipped[i4].length > maxLen) maxLen = zipped[i4].length;
const result2 = new Array(maxLen);
for (let i4 = 0; i4 < maxLen; i4++) {
result2[i4] = new Array(zipped.length);
for (let j2 = 0; j2 < zipped.length; j2++) result2[i4][j2] = zipped[j2][i4];
}
return result2;
}
exports2.unzip = unzip;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unzip.js
var require_unzip2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unzip.js"(exports2) {
var require_unzip3 = require_unzip();
var require_isArray2 = require_isArray();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function unzip(array) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array) || !array.length) return [];
array = require_isArray2.isArray(array) ? array : Array.from(array);
array = array.filter((item) => require_isArrayLikeObject2.isArrayLikeObject(item));
return require_unzip3.unzip(array);
}
exports2.unzip = unzip;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unzipWith.js
var require_unzipWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/unzipWith.js"(exports2) {
var require_unzip3 = require_unzip();
var require_isArray2 = require_isArray();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function unzipWith(array, iteratee) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array) || !array.length) return [];
const unzipped = require_isArray2.isArray(array) ? require_unzip3.unzip(array) : require_unzip3.unzip(Array.from(array, (value) => Array.from(value)));
if (!iteratee) return unzipped;
const result2 = new Array(unzipped.length);
for (let i4 = 0; i4 < unzipped.length; i4++) {
const value = unzipped[i4];
result2[i4] = iteratee(...value);
}
return result2;
}
exports2.unzipWith = unzipWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/without.js
var require_without = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/without.js"(exports2) {
var require_difference3 = require_difference();
function without2(array, ...values) {
return require_difference3.difference(array, values);
}
exports2.without = without2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/without.js
var require_without2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/without.js"(exports2) {
var require_without3 = require_without();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function without2(array, ...values) {
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) return [];
return require_without3.without(Array.from(array), ...values);
}
exports2.without = without2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xor.js
var require_xor = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xor.js"(exports2) {
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_toArray4 = require_toArray2();
function xor2(...arrays) {
const itemCounts = /* @__PURE__ */ new Map();
for (let i4 = 0; i4 < arrays.length; i4++) {
const array = arrays[i4];
if (!require_isArrayLikeObject2.isArrayLikeObject(array)) continue;
const itemSet = new Set(require_toArray4.toArray(array));
for (const item of itemSet) if (!itemCounts.has(item)) itemCounts.set(item, 1);
else itemCounts.set(item, itemCounts.get(item) + 1);
}
const result2 = [];
for (const [item, count2] of itemCounts) if (count2 === 1) result2.push(item);
return result2;
}
exports2.xor = xor2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/windowed.js
var require_windowed = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/windowed.js"(exports2) {
function windowed(arr, size, step2 = 1, { partialWindows = false } = {}) {
if (size <= 0 || !Number.isInteger(size)) throw new Error("Size must be a positive integer.");
if (step2 <= 0 || !Number.isInteger(step2)) throw new Error("Step must be a positive integer.");
const result2 = [];
const end = partialWindows ? arr.length : arr.length - size + 1;
for (let i4 = 0; i4 < end; i4 += step2) result2.push(arr.slice(i4, i4 + size));
return result2;
}
exports2.windowed = windowed;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xorBy.js
var require_xorBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xorBy.js"(exports2) {
var require_windowed2 = require_windowed();
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_last4 = require_last2();
var require_differenceBy3 = require_differenceBy2();
var require_intersectionBy3 = require_intersectionBy2();
var require_unionBy2 = require_unionBy();
function xorBy(...values) {
const lastValue = require_last4.last(values);
let mapper = require_identity6.identity;
if (!require_isArrayLikeObject2.isArrayLikeObject(lastValue) && lastValue != null) {
mapper = require_iteratee2.iteratee(lastValue);
values = values.slice(0, -1);
}
const arrays = values.filter(require_isArrayLikeObject2.isArrayLikeObject);
const union2 = require_unionBy2.unionBy(...arrays, mapper);
const intersections = require_windowed2.windowed(arrays, 2).map(([arr1, arr2]) => require_intersectionBy3.intersectionBy(arr1, arr2, mapper));
return require_differenceBy3.differenceBy(union2, require_unionBy2.unionBy(...intersections, mapper), mapper);
}
exports2.xorBy = xorBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xorWith.js
var require_xorWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/xorWith.js"(exports2) {
var require_windowed2 = require_windowed();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_last4 = require_last2();
var require_differenceWith3 = require_differenceWith2();
var require_intersectionWith3 = require_intersectionWith2();
var require_unionWith2 = require_unionWith();
function xorWith(...values) {
const lastValue = require_last4.last(values);
let comparator = (a2, b) => a2 === b;
if (typeof lastValue === "function") {
comparator = lastValue;
values = values.slice(0, -1);
}
const arrays = values.filter(require_isArrayLikeObject2.isArrayLikeObject);
const union2 = require_unionWith2.unionWith(...arrays, comparator);
const intersections = require_windowed2.windowed(arrays, 2).map(([arr1, arr2]) => require_intersectionWith3.intersectionWith(arr1, arr2, comparator));
return require_differenceWith3.differenceWith(union2, require_unionWith2.unionWith(...intersections, comparator), comparator);
}
exports2.xorWith = xorWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/zip.js
var require_zip = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/zip.js"(exports2) {
function zip(...arrs) {
let rowCount = 0;
for (let i4 = 0; i4 < arrs.length; i4++) if (arrs[i4].length > rowCount) rowCount = arrs[i4].length;
const columnCount = arrs.length;
const result2 = Array(rowCount);
for (let i4 = 0; i4 < rowCount; ++i4) {
const row = Array(columnCount);
for (let j2 = 0; j2 < columnCount; ++j2) row[j2] = arrs[j2][i4];
result2[i4] = row;
}
return result2;
}
exports2.zip = zip;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zip.js
var require_zip2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zip.js"(exports2) {
var require_zip5 = require_zip();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
function zip(...arrays) {
if (!arrays.length) return [];
return require_zip5.zip(...arrays.filter((group) => require_isArrayLikeObject2.isArrayLikeObject(group)));
}
exports2.zip = zip;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/assignValue.js
var require_assignValue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/assignValue.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var assignValue = (object, key, value) => {
const objValue = object[key];
if (!(Object.hasOwn(object, key) && require_isEqualsSameValueZero2.isEqualsSameValueZero(objValue, value)) || value === void 0 && !(key in object)) object[key] = value;
};
exports2.assignValue = assignValue;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipObject.js
var require_zipObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipObject.js"(exports2) {
var require_assignValue2 = require_assignValue();
function zipObject(keys4 = [], values = []) {
const result2 = {};
for (let i4 = 0; i4 < keys4.length; i4++) require_assignValue2.assignValue(result2, keys4[i4], values[i4]);
return result2;
}
exports2.zipObject = zipObject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/updateWith.js
var require_updateWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/updateWith.js"(exports2) {
var require_isUnsafeProperty2 = require_isUnsafeProperty();
var require_toKey2 = require_toKey();
var require_toPath2 = require_toPath();
var require_get4 = require_get();
var require_isObject3 = require_isObject();
var require_isIndex2 = require_isIndex();
var require_isKey2 = require_isKey();
var require_assignValue2 = require_assignValue();
function updateWith(obj, path236, updater, customizer) {
if (obj == null && !require_isObject3.isObject(obj)) return obj;
let resolvedPath;
if (require_isKey2.isKey(path236, obj)) resolvedPath = [path236];
else if (Array.isArray(path236)) resolvedPath = path236;
else resolvedPath = require_toPath2.toPath(path236);
const updateValue = updater(require_get4.get(obj, resolvedPath));
let current = obj;
for (let i4 = 0; i4 < resolvedPath.length && current != null; i4++) {
const key = require_toKey2.toKey(resolvedPath[i4]);
if (require_isUnsafeProperty2.isUnsafeProperty(key)) continue;
let newValue;
if (i4 === resolvedPath.length - 1) newValue = updateValue;
else {
const objValue = current[key];
const customizerResult = customizer?.(objValue, key, obj);
newValue = customizerResult !== void 0 ? customizerResult : require_isObject3.isObject(objValue) ? objValue : require_isIndex2.isIndex(resolvedPath[i4 + 1]) ? [] : {};
}
require_assignValue2.assignValue(current, key, newValue);
current = current[key];
}
return obj;
}
exports2.updateWith = updateWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/set.js
var require_set3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/set.js"(exports2) {
var require_updateWith2 = require_updateWith();
function set2(obj, path236, value) {
return require_updateWith2.updateWith(obj, path236, () => value, () => void 0);
}
exports2.set = set2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipObjectDeep.js
var require_zipObjectDeep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipObjectDeep.js"(exports2) {
var require_zip5 = require_zip();
var require_isArrayLike3 = require_isArrayLike();
var require_set5 = require_set3();
function zipObjectDeep(keys4, values) {
const result2 = {};
if (!require_isArrayLike3.isArrayLike(keys4)) return result2;
if (!require_isArrayLike3.isArrayLike(values)) values = [];
const zipped = require_zip5.zip(Array.from(keys4), Array.from(values));
for (let i4 = 0; i4 < zipped.length; i4++) {
const [key, value] = zipped[i4];
if (key != null) require_set5.set(result2, key, value);
}
return result2;
}
exports2.zipObjectDeep = zipObjectDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipWith.js
var require_zipWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/zipWith.js"(exports2) {
var require_isFunction4 = require_isFunction();
var require_unzip3 = require_unzip2();
function zipWith3(...combine) {
let iteratee = combine.pop();
if (!require_isFunction4.isFunction(iteratee)) {
combine.push(iteratee);
iteratee = void 0;
}
if (!combine?.length) return [];
const result2 = require_unzip3.unzip(combine);
if (iteratee == null) return result2;
return result2.map((group) => iteratee(...group));
}
exports2.zipWith = zipWith3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/after.js
var require_after = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/after.js"(exports2) {
var require_toInteger2 = require_toInteger();
function after(n2, func) {
if (typeof func !== "function") throw new TypeError("Expected a function");
n2 = require_toInteger2.toInteger(n2);
return function(...args) {
if (--n2 < 1) return func.apply(this, args);
};
}
exports2.after = after;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/ary.js
var require_ary2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/ary.js"(exports2) {
var require_ary3 = require_ary();
function ary(func, n2 = func.length, guard) {
if (guard) n2 = func.length;
if (Number.isNaN(n2) || n2 < 0) n2 = 0;
return require_ary3.ary(func, n2);
}
exports2.ary = ary;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/attempt.js
var require_attempt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/attempt.js"(exports2) {
function attempt(func, ...args) {
try {
return func(...args);
} catch (e) {
return e instanceof Error ? e : new Error(e);
}
}
exports2.attempt = attempt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/before.js
var require_before = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/before.js"(exports2) {
var require_toInteger2 = require_toInteger();
function before(n2, func) {
if (typeof func !== "function") throw new TypeError("Expected a function");
let result2;
n2 = require_toInteger2.toInteger(n2);
return function(...args) {
if (--n2 > 0) result2 = func.apply(this, args);
if (n2 <= 1 && func) func = void 0;
return result2;
};
}
exports2.before = before;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/bind.js
var require_bind = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/bind.js"(exports2) {
function bind3(func, thisObj, ...partialArgs) {
const bound = function(...providedArgs) {
const args = [];
let startIndex = 0;
for (let i4 = 0; i4 < partialArgs.length; i4++) {
const arg = partialArgs[i4];
if (arg === bind3.placeholder) args.push(providedArgs[startIndex++]);
else args.push(arg);
}
for (let i4 = startIndex; i4 < providedArgs.length; i4++) args.push(providedArgs[i4]);
if (this instanceof bound) return new func(...args);
return func.apply(thisObj, args);
};
return bound;
}
bind3.placeholder = /* @__PURE__ */ Symbol("bind.placeholder");
exports2.bind = bind3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/bindKey.js
var require_bindKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/bindKey.js"(exports2) {
function bindKey(object, key, ...partialArgs) {
const bound = function(...providedArgs) {
const args = [];
let startIndex = 0;
for (let i4 = 0; i4 < partialArgs.length; i4++) {
const arg = partialArgs[i4];
if (arg === bindKey.placeholder) args.push(providedArgs[startIndex++]);
else args.push(arg);
}
for (let i4 = startIndex; i4 < providedArgs.length; i4++) args.push(providedArgs[i4]);
if (this instanceof bound) return new object[key](...args);
return object[key].apply(object, args);
};
return bound;
}
bindKey.placeholder = /* @__PURE__ */ Symbol("bindKey.placeholder");
exports2.bindKey = bindKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/curry.js
var require_curry = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/curry.js"(exports2) {
function curry(func, arity = func.length, guard) {
arity = guard ? func.length : arity;
arity = Number.parseInt(arity, 10);
if (Number.isNaN(arity) || arity < 1) arity = 0;
const wrapper = function(...partialArgs) {
const holders = partialArgs.filter((item) => item === curry.placeholder);
const length = partialArgs.length - holders.length;
if (length < arity) return makeCurry(func, arity - length, partialArgs);
if (this instanceof wrapper) return new func(...partialArgs);
return func.apply(this, partialArgs);
};
wrapper.placeholder = curryPlaceholder;
return wrapper;
}
function makeCurry(func, arity, partialArgs) {
function wrapper(...providedArgs) {
const holders = providedArgs.filter((item) => item === curry.placeholder);
const length = providedArgs.length - holders.length;
providedArgs = composeArgs(providedArgs, partialArgs);
if (length < arity) return makeCurry(func, arity - length, providedArgs);
if (this instanceof wrapper) return new func(...providedArgs);
return func.apply(this, providedArgs);
}
wrapper.placeholder = curryPlaceholder;
return wrapper;
}
function composeArgs(providedArgs, partialArgs) {
const args = [];
let startIndex = 0;
for (let i4 = 0; i4 < partialArgs.length; i4++) {
const arg = partialArgs[i4];
if (arg === curry.placeholder && startIndex < providedArgs.length) args.push(providedArgs[startIndex++]);
else args.push(arg);
}
for (let i4 = startIndex; i4 < providedArgs.length; i4++) args.push(providedArgs[i4]);
return args;
}
var curryPlaceholder = /* @__PURE__ */ Symbol("curry.placeholder");
curry.placeholder = curryPlaceholder;
exports2.curry = curry;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/curryRight.js
var require_curryRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/curryRight.js"(exports2) {
function curryRight(func, arity = func.length, guard) {
arity = guard ? func.length : arity;
arity = Number.parseInt(arity, 10);
if (Number.isNaN(arity) || arity < 1) arity = 0;
const wrapper = function(...partialArgs) {
const holders = partialArgs.filter((item) => item === curryRight.placeholder);
const length = partialArgs.length - holders.length;
if (length < arity) return makeCurryRight(func, arity - length, partialArgs);
if (this instanceof wrapper) return new func(...partialArgs);
return func.apply(this, partialArgs);
};
wrapper.placeholder = curryRightPlaceholder;
return wrapper;
}
function makeCurryRight(func, arity, partialArgs) {
function wrapper(...providedArgs) {
const holders = providedArgs.filter((item) => item === curryRight.placeholder);
const length = providedArgs.length - holders.length;
providedArgs = composeArgs(providedArgs, partialArgs);
if (length < arity) return makeCurryRight(func, arity - length, providedArgs);
if (this instanceof wrapper) return new func(...providedArgs);
return func.apply(this, providedArgs);
}
wrapper.placeholder = curryRightPlaceholder;
return wrapper;
}
function composeArgs(providedArgs, partialArgs) {
const placeholderLength = partialArgs.filter((arg) => arg === curryRight.placeholder).length;
const rangeLength = Math.max(providedArgs.length - placeholderLength, 0);
const args = [];
let providedIndex = 0;
for (let i4 = 0; i4 < rangeLength; i4++) args.push(providedArgs[providedIndex++]);
for (let i4 = 0; i4 < partialArgs.length; i4++) {
const arg = partialArgs[i4];
if (arg === curryRight.placeholder) if (providedIndex < providedArgs.length) args.push(providedArgs[providedIndex++]);
else args.push(arg);
else args.push(arg);
}
return args;
}
var curryRightPlaceholder = /* @__PURE__ */ Symbol("curryRight.placeholder");
curryRight.placeholder = curryRightPlaceholder;
exports2.curryRight = curryRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/debounce.js
var require_debounce = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/debounce.js"(exports2) {
function debounce(func, debounceMs, { signal, edges } = {}) {
let pendingThis = void 0;
let pendingArgs = null;
const leading = edges != null && edges.includes("leading");
const trailing = edges == null || edges.includes("trailing");
const invoke = () => {
if (pendingArgs !== null) {
func.apply(pendingThis, pendingArgs);
pendingThis = void 0;
pendingArgs = null;
}
};
const onTimerEnd = () => {
if (trailing) invoke();
cancel2();
};
let timeoutId = null;
const schedule = () => {
if (timeoutId != null) clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
timeoutId = null;
onTimerEnd();
}, debounceMs);
};
const cancelTimer = () => {
if (timeoutId !== null) {
clearTimeout(timeoutId);
timeoutId = null;
}
};
const cancel2 = () => {
cancelTimer();
pendingThis = void 0;
pendingArgs = null;
};
const flush = () => {
invoke();
};
const debounced = function(...args) {
if (signal?.aborted) return;
pendingThis = this;
pendingArgs = args;
const isFirstCall = timeoutId == null;
schedule();
if (leading && isFirstCall) invoke();
};
debounced.schedule = schedule;
debounced.cancel = cancel2;
debounced.flush = flush;
signal?.addEventListener("abort", cancel2, { once: true });
return debounced;
}
exports2.debounce = debounce;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/debounce.js
var require_debounce2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/debounce.js"(exports2) {
var require_debounce4 = require_debounce();
function debounce(func, debounceMs = 0, options = {}) {
if (typeof options !== "object") options = {};
const { leading = false, trailing = true, maxWait } = options;
const edges = Array(2);
if (leading) edges[0] = "leading";
if (trailing) edges[1] = "trailing";
let result2 = void 0;
let pendingAt = null;
const _debounced = require_debounce4.debounce(function(...args) {
result2 = func.apply(this, args);
pendingAt = null;
}, debounceMs, { edges });
const debounced = function(...args) {
if (maxWait != null) {
if (pendingAt === null) pendingAt = Date.now();
if (Date.now() - pendingAt >= maxWait) {
result2 = func.apply(this, args);
pendingAt = Date.now();
_debounced.cancel();
_debounced.schedule();
return result2;
}
}
_debounced.apply(this, args);
return result2;
};
const flush = () => {
_debounced.flush();
return result2;
};
debounced.cancel = _debounced.cancel;
debounced.flush = flush;
return debounced;
}
exports2.debounce = debounce;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/defer.js
var require_defer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/defer.js"(exports2) {
function defer(func, ...args) {
if (typeof func !== "function") throw new TypeError("Expected a function");
return setTimeout(func, 1, ...args);
}
exports2.defer = defer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/delay.js
var require_delay = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/delay.js"(exports2) {
var require_toNumber2 = require_toNumber();
function delay(func, wait, ...args) {
if (typeof func !== "function") throw new TypeError("Expected a function");
return setTimeout(func, require_toNumber2.toNumber(wait) || 0, ...args);
}
exports2.delay = delay;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flip.js
var require_flip = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flip.js"(exports2) {
function flip3(func) {
return function(...args) {
return func.apply(this, args.reverse());
};
}
exports2.flip = flip3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/flow.js
var require_flow = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/flow.js"(exports2) {
function flow(...funcs) {
return function(...args) {
let result2 = funcs.length ? funcs[0].apply(this, args) : args[0];
for (let i4 = 1; i4 < funcs.length; i4++) result2 = funcs[i4].call(this, result2);
return result2;
};
}
exports2.flow = flow;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flow.js
var require_flow2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flow.js"(exports2) {
var require_flatten3 = require_flatten();
var require_flow3 = require_flow();
function flow(...funcs) {
const flattenFuncs = require_flatten3.flatten(funcs, 1);
if (flattenFuncs.some((func) => typeof func !== "function")) throw new TypeError("Expected a function");
return require_flow3.flow(...flattenFuncs);
}
exports2.flow = flow;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/flowRight.js
var require_flowRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/flowRight.js"(exports2) {
var require_flow3 = require_flow();
function flowRight(...funcs) {
return require_flow3.flow(...funcs.reverse());
}
exports2.flowRight = flowRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flowRight.js
var require_flowRight2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/flowRight.js"(exports2) {
var require_flatten3 = require_flatten();
var require_flowRight3 = require_flowRight();
function flowRight(...funcs) {
const flattenFuncs = require_flatten3.flatten(funcs, 1);
if (flattenFuncs.some((func) => typeof func !== "function")) throw new TypeError("Expected a function");
return require_flowRight3.flowRight(...flattenFuncs);
}
exports2.flowRight = flowRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/memoize.js
var require_memoize = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/memoize.js"(exports2) {
function memoize2(func, resolver) {
if (typeof func !== "function" || resolver != null && typeof resolver !== "function") throw new TypeError("Expected a function");
const memoized2 = function(...args) {
const key = resolver ? resolver.apply(this, args) : args[0];
const cache = memoized2.cache;
if (cache.has(key)) return cache.get(key);
const result2 = func.apply(this, args);
memoized2.cache = cache.set(key, result2) || cache;
return result2;
};
memoized2.cache = new (memoize2.Cache || Map)();
return memoized2;
}
memoize2.Cache = Map;
exports2.memoize = memoize2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/nthArg.js
var require_nthArg = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/nthArg.js"(exports2) {
var require_toInteger2 = require_toInteger();
function nthArg(n2 = 0) {
return function(...args) {
return args.at(require_toInteger2.toInteger(n2));
};
}
exports2.nthArg = nthArg;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/once.js
var require_once = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/once.js"(exports2) {
function once11(func) {
let called = false;
let cache;
return function(...args) {
if (!called) {
called = true;
cache = func(...args);
}
return cache;
};
}
exports2.once = once11;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/once.js
var require_once2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/once.js"(exports2) {
var require_once3 = require_once();
function once11(func) {
return require_once3.once(func);
}
exports2.once = once11;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/overArgs.js
var require_overArgs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/overArgs.js"(exports2) {
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
function overArgs(func, ..._transforms) {
if (typeof func !== "function") throw new TypeError("Expected a function");
const transforms = _transforms.flat();
return function(...args) {
const length = Math.min(args.length, transforms.length);
const transformedArgs = [...args];
for (let i4 = 0; i4 < length; i4++) transformedArgs[i4] = require_iteratee2.iteratee(transforms[i4] ?? require_identity6.identity).call(this, args[i4]);
return func.apply(this, transformedArgs);
};
}
exports2.overArgs = overArgs;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/partial.js
var require_partial2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/partial.js"(exports2) {
function partial(func, ...partialArgs) {
return partialImpl(func, placeholderSymbol, ...partialArgs);
}
function partialImpl(func, placeholder, ...partialArgs) {
const partialed = function(...providedArgs) {
let providedArgsIndex = 0;
const substitutedArgs = partialArgs.slice().map((arg) => arg === placeholder ? providedArgs[providedArgsIndex++] : arg);
const remainingArgs = providedArgs.slice(providedArgsIndex);
return func.apply(this, substitutedArgs.concat(remainingArgs));
};
if (func.prototype) partialed.prototype = Object.create(func.prototype);
return partialed;
}
var placeholderSymbol = /* @__PURE__ */ Symbol("partial.placeholder");
partial.placeholder = placeholderSymbol;
exports2.partial = partial;
exports2.partialImpl = partialImpl;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/partial.js
var require_partial3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/partial.js"(exports2) {
var require_partial4 = require_partial2();
function partial(func, ...partialArgs) {
return require_partial4.partialImpl(func, partial.placeholder, ...partialArgs);
}
partial.placeholder = /* @__PURE__ */ Symbol("compat.partial.placeholder");
exports2.partial = partial;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/partialRight.js
var require_partialRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/partialRight.js"(exports2) {
function partialRight(func, ...partialArgs) {
return partialRightImpl(func, placeholderSymbol, ...partialArgs);
}
function partialRightImpl(func, placeholder, ...partialArgs) {
const partialedRight = function(...providedArgs) {
const placeholderLength = partialArgs.filter((arg) => arg === placeholder).length;
const rangeLength = Math.max(providedArgs.length - placeholderLength, 0);
const remainingArgs = providedArgs.slice(0, rangeLength);
let providedArgsIndex = rangeLength;
const substitutedArgs = partialArgs.slice().map((arg) => arg === placeholder ? providedArgs[providedArgsIndex++] : arg);
return func.apply(this, remainingArgs.concat(substitutedArgs));
};
if (func.prototype) partialedRight.prototype = Object.create(func.prototype);
return partialedRight;
}
var placeholderSymbol = /* @__PURE__ */ Symbol("partialRight.placeholder");
partialRight.placeholder = placeholderSymbol;
exports2.partialRight = partialRight;
exports2.partialRightImpl = partialRightImpl;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/partialRight.js
var require_partialRight2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/partialRight.js"(exports2) {
var require_partialRight3 = require_partialRight();
function partialRight(func, ...partialArgs) {
return require_partialRight3.partialRightImpl(func, partialRight.placeholder, ...partialArgs);
}
partialRight.placeholder = /* @__PURE__ */ Symbol("compat.partialRight.placeholder");
exports2.partialRight = partialRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/rearg.js
var require_rearg = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/rearg.js"(exports2) {
var require_flatten3 = require_flatten2();
function rearg(func, ...indices) {
const flattenIndices = require_flatten3.flatten(indices);
return function(...args) {
const reorderedArgs = flattenIndices.map((i4) => args[i4]).slice(0, args.length);
for (let i4 = reorderedArgs.length; i4 < args.length; i4++) reorderedArgs.push(args[i4]);
return func.apply(this, reorderedArgs);
};
}
exports2.rearg = rearg;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/rest.js
var require_rest = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/rest.js"(exports2) {
function rest(func, startIndex = func.length - 1) {
return function(...args) {
const rest2 = args.slice(startIndex);
const params = args.slice(0, startIndex);
while (params.length < startIndex) params.push(void 0);
return func.apply(this, [...params, rest2]);
};
}
exports2.rest = rest;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/rest.js
var require_rest2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/rest.js"(exports2) {
var require_rest3 = require_rest();
function rest(func, start = func.length - 1) {
start = Number.parseInt(start, 10);
if (Number.isNaN(start) || start < 0) start = func.length - 1;
return require_rest3.rest(func, start);
}
exports2.rest = rest;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/spread.js
var require_spread = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/spread.js"(exports2) {
function spread(func, argsIndex = 0) {
argsIndex = Number.parseInt(argsIndex, 10);
if (Number.isNaN(argsIndex) || argsIndex < 0) argsIndex = 0;
return function(...args) {
const array = args[argsIndex];
const params = args.slice(0, argsIndex);
if (array) params.push(...array);
return func.apply(this, params);
};
}
exports2.spread = spread;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/throttle.js
var require_throttle = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/throttle.js"(exports2) {
var require_debounce4 = require_debounce2();
function throttle2(func, throttleMs = 0, options = {}) {
const { leading = true, trailing = true } = options;
return require_debounce4.debounce(func, throttleMs, {
leading,
maxWait: throttleMs,
trailing
});
}
exports2.throttle = throttle2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/unary.js
var require_unary = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/unary.js"(exports2) {
var require_ary3 = require_ary2();
function unary(func) {
return require_ary3.ary(func, 1);
}
exports2.unary = unary;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/wrap.js
var require_wrap = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/wrap.js"(exports2) {
var require_identity6 = require_identity2();
var require_isFunction4 = require_isFunction();
function wrap2(value, wrapper) {
return function(...args) {
return (require_isFunction4.isFunction(wrapper) ? wrapper : require_identity6.identity).apply(this, [value, ...args]);
};
}
exports2.wrap = wrap2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/add.js
var require_add = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/add.js"(exports2) {
var require_toString2 = require_toString();
var require_toNumber2 = require_toNumber();
function add2(value, other) {
if (value === void 0 && other === void 0) return 0;
if (value === void 0 || other === void 0) return value ?? other;
if (typeof value === "string" || typeof other === "string") {
value = require_toString2.toString(value);
other = require_toString2.toString(other);
} else {
value = require_toNumber2.toNumber(value);
other = require_toNumber2.toNumber(other);
}
return value + other;
}
exports2.add = add2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/decimalAdjust.js
var require_decimalAdjust = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/decimalAdjust.js"(exports2) {
function decimalAdjust(type4, number, precision = 0) {
number = Number(number);
if (Object.is(number, -0)) number = "-0";
precision = Math.min(Number.parseInt(precision, 10), 292);
if (precision && Number.isFinite(Number(number))) {
const [magnitude, exponent = 0] = number.toString().split("e");
let adjustedValue = Math[type4](Number(`${magnitude}e${Number(exponent) + precision}`));
if (Object.is(adjustedValue, -0)) adjustedValue = "-0";
const [newMagnitude, newExponent = 0] = adjustedValue.toString().split("e");
return Number(`${newMagnitude}e${Number(newExponent) - precision}`);
}
return Math[type4](Number(number));
}
exports2.decimalAdjust = decimalAdjust;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/ceil.js
var require_ceil = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/ceil.js"(exports2) {
var require_decimalAdjust2 = require_decimalAdjust();
function ceil(number, precision = 0) {
return require_decimalAdjust2.decimalAdjust("ceil", number, precision);
}
exports2.ceil = ceil;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/divide.js
var require_divide = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/divide.js"(exports2) {
var require_toString2 = require_toString();
var require_toNumber2 = require_toNumber();
function divide2(value, other) {
if (value === void 0 && other === void 0) return 1;
if (value === void 0 || other === void 0) return value ?? other;
if (typeof value === "string" || typeof other === "string") {
value = require_toString2.toString(value);
other = require_toString2.toString(other);
} else {
value = require_toNumber2.toNumber(value);
other = require_toNumber2.toNumber(other);
}
return value / other;
}
exports2.divide = divide2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/floor.js
var require_floor = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/floor.js"(exports2) {
var require_decimalAdjust2 = require_decimalAdjust();
function floor(number, precision = 0) {
return require_decimalAdjust2.decimalAdjust("floor", number, precision);
}
exports2.floor = floor;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/inRange.js
var require_inRange = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/inRange.js"(exports2) {
function inRange2(value, minimum, maximum) {
if (maximum == null) {
maximum = minimum;
minimum = 0;
}
if (minimum >= maximum) throw new Error("The maximum value must be greater than the minimum value.");
return minimum <= value && value < maximum;
}
exports2.inRange = inRange2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/inRange.js
var require_inRange2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/inRange.js"(exports2) {
var require_inRange3 = require_inRange();
function inRange2(value, minimum, maximum) {
if (!minimum) minimum = 0;
if (maximum != null && !maximum) maximum = 0;
if (minimum != null && typeof minimum !== "number") minimum = Number(minimum);
if (maximum == null && minimum === 0) return false;
if (maximum != null && typeof maximum !== "number") maximum = Number(maximum);
if (maximum != null && minimum > maximum) [minimum, maximum] = [maximum, minimum];
if (minimum === maximum) return false;
return require_inRange3.inRange(value, minimum, maximum);
}
exports2.inRange = inRange2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/max.js
var require_max = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/max.js"(exports2) {
function max4(items) {
if (!items || items.length === 0) return;
let maxResult = void 0;
for (let i4 = 0; i4 < items.length; i4++) {
const current = items[i4];
if (current == null || Number.isNaN(current) || typeof current === "symbol") continue;
if (maxResult === void 0 || current > maxResult) maxResult = current;
}
return maxResult;
}
exports2.max = max4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/maxBy.js
var require_maxBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/maxBy.js"(exports2) {
function maxBy(items, getValue) {
if (items.length === 0) return;
let maxElement = items[0];
let max4 = -Infinity;
for (let i4 = 0; i4 < items.length; i4++) {
const element = items[i4];
const value = getValue(element, i4, items);
if (Number.isNaN(value)) return element;
if (value > max4) {
max4 = value;
maxElement = element;
}
}
return maxElement;
}
exports2.maxBy = maxBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/maxBy.js
var require_maxBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/maxBy.js"(exports2) {
var require_maxBy3 = require_maxBy();
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
function maxBy(items, iteratee$1) {
if (items == null) return;
return require_maxBy3.maxBy(Array.from(items), require_iteratee2.iteratee(iteratee$1 ?? require_identity6.identity));
}
exports2.maxBy = maxBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/sumBy.js
var require_sumBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/sumBy.js"(exports2) {
var require_iteratee2 = require_iteratee();
function sumBy(array, iteratee$1) {
if (!array || !array.length) return 0;
if (iteratee$1 != null) iteratee$1 = require_iteratee2.iteratee(iteratee$1);
let result2 = void 0;
for (let i4 = 0; i4 < array.length; i4++) {
const current = iteratee$1 ? iteratee$1(array[i4]) : array[i4];
if (current !== void 0) if (result2 === void 0) result2 = current;
else result2 += current;
}
return result2;
}
exports2.sumBy = sumBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/sum.js
var require_sum = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/sum.js"(exports2) {
var require_sumBy3 = require_sumBy();
function sum(array) {
return require_sumBy3.sumBy(array);
}
exports2.sum = sum;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/mean.js
var require_mean = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/mean.js"(exports2) {
var require_sum2 = require_sum();
function mean(nums) {
const length = nums ? nums.length : 0;
return length === 0 ? NaN : require_sum2.sum(nums) / length;
}
exports2.mean = mean;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/sumBy.js
var require_sumBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/sumBy.js"(exports2) {
function sumBy(items, getValue) {
let result2 = 0;
for (let i4 = 0; i4 < items.length; i4++) result2 += getValue(items[i4], i4);
return result2;
}
exports2.sumBy = sumBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/meanBy.js
var require_meanBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/math/meanBy.js"(exports2) {
var require_sumBy3 = require_sumBy2();
function meanBy(items, getValue) {
return require_sumBy3.sumBy(items, (item) => getValue(item)) / items.length;
}
exports2.meanBy = meanBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/meanBy.js
var require_meanBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/meanBy.js"(exports2) {
var require_identity6 = require_identity2();
var require_meanBy3 = require_meanBy();
var require_iteratee2 = require_iteratee();
function meanBy(items, iteratee$1) {
if (items == null) return NaN;
return require_meanBy3.meanBy(Array.from(items), require_iteratee2.iteratee(iteratee$1 ?? require_identity6.identity));
}
exports2.meanBy = meanBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/min.js
var require_min = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/min.js"(exports2) {
function min(items) {
if (!items || items.length === 0) return;
let minResult = void 0;
for (let i4 = 0; i4 < items.length; i4++) {
const current = items[i4];
if (current == null || Number.isNaN(current) || typeof current === "symbol") continue;
if (minResult === void 0 || current < minResult) minResult = current;
}
return minResult;
}
exports2.min = min;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/minBy.js
var require_minBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/array/minBy.js"(exports2) {
function minBy(items, getValue) {
if (items.length === 0) return;
let minElement = items[0];
let min = Infinity;
for (let i4 = 0; i4 < items.length; i4++) {
const element = items[i4];
const value = getValue(element, i4, items);
if (Number.isNaN(value)) return element;
if (value < min) {
min = value;
minElement = element;
}
}
return minElement;
}
exports2.minBy = minBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/minBy.js
var require_minBy2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/minBy.js"(exports2) {
var require_minBy3 = require_minBy();
var require_identity6 = require_identity2();
var require_iteratee2 = require_iteratee();
function minBy(items, iteratee$1) {
if (items == null) return;
return require_minBy3.minBy(Array.from(items), require_iteratee2.iteratee(iteratee$1 ?? require_identity6.identity));
}
exports2.minBy = minBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/multiply.js
var require_multiply = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/multiply.js"(exports2) {
var require_toString2 = require_toString();
var require_toNumber2 = require_toNumber();
function multiply(value, other) {
if (value === void 0 && other === void 0) return 1;
if (value === void 0 || other === void 0) return value ?? other;
if (typeof value === "string" || typeof other === "string") {
value = require_toString2.toString(value);
other = require_toString2.toString(other);
} else {
value = require_toNumber2.toNumber(value);
other = require_toNumber2.toNumber(other);
}
return value * other;
}
exports2.multiply = multiply;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/parseInt.js
var require_parseInt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/parseInt.js"(exports2) {
var require_toString2 = require_toString();
function parseInt2(string, radix = 0, guard) {
if (guard) radix = 0;
return Number.parseInt(require_toString2.toString(string), radix);
}
exports2.parseInt = parseInt2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/random.js
var require_random2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/random.js"(exports2) {
var require_random3 = require_random();
var require_randomInt2 = require_randomInt();
var require_clamp2 = require_clamp();
function random2(...args) {
let minimum = 0;
let maximum = 1;
let floating = false;
switch (args.length) {
case 1:
if (typeof args[0] === "boolean") floating = args[0];
else maximum = args[0];
break;
case 2:
if (typeof args[1] === "boolean") {
maximum = args[0];
floating = args[1];
break;
} else {
minimum = args[0];
maximum = args[1];
}
case 3:
if (typeof args[2] === "object" && args[2] != null && args[2][args[1]] === args[0]) {
minimum = 0;
maximum = args[0];
floating = false;
} else {
minimum = args[0];
maximum = args[1];
floating = args[2];
}
}
if (typeof minimum !== "number") minimum = Number(minimum);
if (typeof maximum !== "number") maximum = Number(maximum);
if (!minimum) minimum = 0;
if (!maximum) maximum = 0;
if (minimum > maximum) [minimum, maximum] = [maximum, minimum];
if (!floating && (!Number.isInteger(minimum) || !Number.isInteger(maximum))) floating = true;
minimum = require_clamp2.clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
maximum = require_clamp2.clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
if (minimum === maximum) return minimum;
if (floating) return require_random3.random(minimum, maximum);
else return require_randomInt2.randomInt(minimum, maximum + 1);
}
exports2.random = random2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/range.js
var require_range3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/range.js"(exports2) {
var require_toFinite2 = require_toFinite();
var require_isIterateeCall2 = require_isIterateeCall();
function range(start, end, step2) {
if (step2 && typeof step2 !== "number" && require_isIterateeCall2.isIterateeCall(start, end, step2)) end = step2 = void 0;
start = require_toFinite2.toFinite(start);
if (end === void 0) {
end = start;
start = 0;
} else end = require_toFinite2.toFinite(end);
step2 = step2 === void 0 ? start < end ? 1 : -1 : require_toFinite2.toFinite(step2);
const length = Math.max(Math.ceil((end - start) / (step2 || 1)), 0);
const result2 = new Array(length);
for (let index2 = 0; index2 < length; index2++) {
result2[index2] = start;
start += step2;
}
return result2;
}
exports2.range = range;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/rangeRight.js
var require_rangeRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/rangeRight.js"(exports2) {
var require_toFinite2 = require_toFinite();
var require_isIterateeCall2 = require_isIterateeCall();
function rangeRight(start, end, step2) {
if (step2 && typeof step2 !== "number" && require_isIterateeCall2.isIterateeCall(start, end, step2)) end = step2 = void 0;
start = require_toFinite2.toFinite(start);
if (end === void 0) {
end = start;
start = 0;
} else end = require_toFinite2.toFinite(end);
step2 = step2 === void 0 ? start < end ? 1 : -1 : require_toFinite2.toFinite(step2);
const length = Math.max(Math.ceil((end - start) / (step2 || 1)), 0);
const result2 = new Array(length);
for (let index2 = length - 1; index2 >= 0; index2--) {
result2[index2] = start;
start += step2;
}
return result2;
}
exports2.rangeRight = rangeRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/round.js
var require_round = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/round.js"(exports2) {
var require_decimalAdjust2 = require_decimalAdjust();
function round(number, precision = 0) {
return require_decimalAdjust2.decimalAdjust("round", number, precision);
}
exports2.round = round;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/subtract.js
var require_subtract = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/math/subtract.js"(exports2) {
var require_toString2 = require_toString();
var require_toNumber2 = require_toNumber();
function subtract(value, other) {
if (value === void 0 && other === void 0) return 0;
if (value === void 0 || other === void 0) return value ?? other;
if (typeof value === "string" || typeof other === "string") {
value = require_toString2.toString(value);
other = require_toString2.toString(other);
} else {
value = require_toNumber2.toNumber(value);
other = require_toNumber2.toNumber(other);
}
return value - other;
}
exports2.subtract = subtract;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/noop.js
var require_noop2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/function/noop.js"(exports2) {
function noop5(..._) {
}
exports2.noop = noop5;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js
var require_isTypedArray2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js"(exports2) {
var require_isTypedArray3 = require_isTypedArray();
function isTypedArray(x3) {
return require_isTypedArray3.isTypedArray(x3);
}
exports2.isTypedArray = isTypedArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/times.js
var require_times = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/times.js"(exports2) {
var require_toInteger2 = require_toInteger();
function times3(n2, getValue) {
n2 = require_toInteger2.toInteger(n2);
if (n2 < 1 || !Number.isSafeInteger(n2)) return [];
const result2 = new Array(n2);
for (let i4 = 0; i4 < n2; i4++) result2[i4] = typeof getValue === "function" ? getValue(i4) : i4;
return result2;
}
exports2.times = times3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js
var require_isPrototype = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js"(exports2) {
function isPrototype(value) {
const constructor = value?.constructor;
return value === (typeof constructor === "function" ? constructor.prototype : Object.prototype);
}
exports2.isPrototype = isPrototype;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/keys.js
var require_keys = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/keys.js"(exports2) {
var require_isBuffer3 = require_isBuffer();
var require_isArrayLike3 = require_isArrayLike();
var require_isPrototype2 = require_isPrototype();
var require_isTypedArray3 = require_isTypedArray2();
var require_times2 = require_times();
function keys4(object) {
if (require_isArrayLike3.isArrayLike(object)) return arrayLikeKeys(object);
const result2 = Object.keys(Object(object));
if (!require_isPrototype2.isPrototype(object)) return result2;
return result2.filter((key) => key !== "constructor");
}
function arrayLikeKeys(object) {
const indices = require_times2.times(object.length, (index2) => `${index2}`);
const filteredKeys = new Set(indices);
if (require_isBuffer3.isBuffer(object)) {
filteredKeys.add("offset");
filteredKeys.add("parent");
}
if (require_isTypedArray3.isTypedArray(object)) {
filteredKeys.add("buffer");
filteredKeys.add("byteLength");
filteredKeys.add("byteOffset");
}
const inheritedKeys = Object.keys(object).filter((key) => !filteredKeys.has(key));
if (Array.isArray(object)) return [...indices, ...inheritedKeys];
return [...indices.filter((index2) => Object.hasOwn(object, index2)), ...inheritedKeys];
}
exports2.keys = keys4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assign.js
var require_assign = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assign.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_keys2 = require_keys();
function assign(object, ...sources) {
for (let i4 = 0; i4 < sources.length; i4++) assignImpl(object, sources[i4]);
return object;
}
function assignImpl(object, source) {
const keys$1 = require_keys2.keys(source);
for (let i4 = 0; i4 < keys$1.length; i4++) {
const key = keys$1[i4];
if (!(key in object) || !require_isEqualsSameValueZero2.isEqualsSameValueZero(object[key], source[key])) object[key] = source[key];
}
}
exports2.assign = assign;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/keysIn.js
var require_keysIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/keysIn.js"(exports2) {
var require_isBuffer3 = require_isBuffer();
var require_isArrayLike3 = require_isArrayLike();
var require_isPrototype2 = require_isPrototype();
var require_isTypedArray3 = require_isTypedArray2();
var require_times2 = require_times();
function keysIn(object) {
if (object == null) return [];
switch (typeof object) {
case "object":
case "function":
if (require_isArrayLike3.isArrayLike(object)) return arrayLikeKeysIn(object);
if (require_isPrototype2.isPrototype(object)) return prototypeKeysIn(object);
return keysInImpl(object);
default:
return keysInImpl(Object(object));
}
}
function keysInImpl(object) {
const result2 = [];
for (const key in object) result2.push(key);
return result2;
}
function prototypeKeysIn(object) {
return keysInImpl(object).filter((key) => key !== "constructor");
}
function arrayLikeKeysIn(object) {
const indices = require_times2.times(object.length, (index2) => `${index2}`);
const filteredKeys = new Set(indices);
if (require_isBuffer3.isBuffer(object)) {
filteredKeys.add("offset");
filteredKeys.add("parent");
}
if (require_isTypedArray3.isTypedArray(object)) {
filteredKeys.add("buffer");
filteredKeys.add("byteLength");
filteredKeys.add("byteOffset");
}
const inheritedKeys = keysInImpl(object).filter((key) => !filteredKeys.has(key));
if (Array.isArray(object)) return [...indices, ...inheritedKeys];
return [...indices.filter((index2) => Object.hasOwn(object, index2)), ...inheritedKeys];
}
exports2.keysIn = keysIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignIn.js
var require_assignIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignIn.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_keysIn2 = require_keysIn();
function assignIn(object, ...sources) {
for (let i4 = 0; i4 < sources.length; i4++) assignInImpl(object, sources[i4]);
return object;
}
function assignInImpl(object, source) {
const keys4 = require_keysIn2.keysIn(source);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
if (!(key in object) || !require_isEqualsSameValueZero2.isEqualsSameValueZero(object[key], source[key])) object[key] = source[key];
}
}
exports2.assignIn = assignIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignInWith.js
var require_assignInWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignInWith.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_keysIn2 = require_keysIn();
function assignInWith(object, ...sources) {
let getValueToAssign = sources[sources.length - 1];
if (typeof getValueToAssign === "function") sources.pop();
else getValueToAssign = void 0;
for (let i4 = 0; i4 < sources.length; i4++) assignInWithImpl(object, sources[i4], getValueToAssign);
return object;
}
function assignInWithImpl(object, source, getValueToAssign) {
const keys4 = require_keysIn2.keysIn(source);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const objValue = object[key];
const srcValue = source[key];
const newValue = getValueToAssign?.(objValue, srcValue, key, object, source) ?? srcValue;
if (!(key in object) || !require_isEqualsSameValueZero2.isEqualsSameValueZero(objValue, newValue)) object[key] = newValue;
}
}
exports2.assignInWith = assignInWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignWith.js
var require_assignWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/assignWith.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_keys2 = require_keys();
function assignWith(object, ...sources) {
let getValueToAssign = sources[sources.length - 1];
if (typeof getValueToAssign === "function") sources.pop();
else getValueToAssign = void 0;
for (let i4 = 0; i4 < sources.length; i4++) assignWithImpl(object, sources[i4], getValueToAssign);
return object;
}
function assignWithImpl(object, source, getValueToAssign) {
const keys$1 = require_keys2.keys(source);
for (let i4 = 0; i4 < keys$1.length; i4++) {
const key = keys$1[i4];
const objValue = object[key];
const srcValue = source[key];
const newValue = getValueToAssign?.(objValue, srcValue, key, object, source) ?? srcValue;
if (!(key in object) || !require_isEqualsSameValueZero2.isEqualsSameValueZero(objValue, newValue)) object[key] = newValue;
}
}
exports2.assignWith = assignWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/clone.js
var require_clone2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/clone.js"(exports2) {
var require_isPrimitive4 = require_isPrimitive();
var require_getTag2 = require_getTag();
var require_tags3 = require_tags2();
var require_isArray2 = require_isArray();
var require_isTypedArray3 = require_isTypedArray2();
function clone4(obj) {
if (require_isPrimitive4.isPrimitive(obj)) return obj;
const tag = require_getTag2.getTag(obj);
if (!isCloneableObject(obj)) return {};
if (require_isArray2.isArray(obj)) {
const result3 = Array.from(obj);
if (obj.length > 0 && typeof obj[0] === "string" && Object.hasOwn(obj, "index")) {
result3.index = obj.index;
result3.input = obj.input;
}
return result3;
}
if (require_isTypedArray3.isTypedArray(obj)) {
const typedArray = obj;
const Ctor = typedArray.constructor;
return new Ctor(typedArray.buffer, typedArray.byteOffset, typedArray.length);
}
if (tag === "[object ArrayBuffer]") return new ArrayBuffer(obj.byteLength);
if (tag === "[object DataView]") {
const dataView2 = obj;
const buffer3 = dataView2.buffer;
const byteOffset = dataView2.byteOffset;
const byteLength2 = dataView2.byteLength;
const clonedBuffer = new ArrayBuffer(byteLength2);
const srcView = new Uint8Array(buffer3, byteOffset, byteLength2);
new Uint8Array(clonedBuffer).set(srcView);
return new DataView(clonedBuffer);
}
if (tag === "[object Boolean]" || tag === "[object Number]" || tag === "[object String]") {
const Ctor = obj.constructor;
const clone5 = new Ctor(obj.valueOf());
if (tag === "[object String]") cloneStringObjectProperties(clone5, obj);
else copyOwnProperties(clone5, obj);
return clone5;
}
if (tag === "[object Date]") return new Date(Number(obj));
if (tag === "[object RegExp]") {
const regExp = obj;
const clone5 = new RegExp(regExp.source, regExp.flags);
clone5.lastIndex = regExp.lastIndex;
return clone5;
}
if (tag === "[object Symbol]") return Object(Symbol.prototype.valueOf.call(obj));
if (tag === "[object Map]") {
const map26 = obj;
const result3 = /* @__PURE__ */ new Map();
map26.forEach((obj2, key) => {
result3.set(key, obj2);
});
return result3;
}
if (tag === "[object Set]") {
const set2 = obj;
const result3 = /* @__PURE__ */ new Set();
set2.forEach((obj2) => {
result3.add(obj2);
});
return result3;
}
if (tag === "[object Arguments]") {
const args = obj;
const result3 = {};
copyOwnProperties(result3, args);
result3.length = args.length;
result3[Symbol.iterator] = args[Symbol.iterator];
return result3;
}
const result2 = {};
copyPrototype(result2, obj);
copyOwnProperties(result2, obj);
copySymbolProperties(result2, obj);
return result2;
}
function isCloneableObject(object) {
switch (require_getTag2.getTag(object)) {
case require_tags3.argumentsTag:
case require_tags3.arrayTag:
case require_tags3.arrayBufferTag:
case require_tags3.dataViewTag:
case require_tags3.booleanTag:
case require_tags3.dateTag:
case require_tags3.float32ArrayTag:
case require_tags3.float64ArrayTag:
case require_tags3.int8ArrayTag:
case require_tags3.int16ArrayTag:
case require_tags3.int32ArrayTag:
case require_tags3.mapTag:
case require_tags3.numberTag:
case require_tags3.objectTag:
case require_tags3.regexpTag:
case require_tags3.setTag:
case require_tags3.stringTag:
case require_tags3.symbolTag:
case require_tags3.uint8ArrayTag:
case require_tags3.uint8ClampedArrayTag:
case require_tags3.uint16ArrayTag:
case require_tags3.uint32ArrayTag:
return true;
default:
return false;
}
}
function copyOwnProperties(target2, source) {
for (const key in source) if (Object.hasOwn(source, key)) target2[key] = source[key];
}
function copySymbolProperties(target2, source) {
const symbols = Object.getOwnPropertySymbols(source);
for (let i4 = 0; i4 < symbols.length; i4++) {
const symbol = symbols[i4];
if (Object.prototype.propertyIsEnumerable.call(source, symbol)) target2[symbol] = source[symbol];
}
}
function cloneStringObjectProperties(target2, source) {
const stringLength2 = source.valueOf().length;
for (const key in source) if (Object.hasOwn(source, key) && (Number.isNaN(Number(key)) || Number(key) >= stringLength2)) target2[key] = source[key];
}
function copyPrototype(target2, source) {
const proto2 = Object.getPrototypeOf(source);
if (proto2 !== null) {
if (typeof source.constructor === "function") Object.setPrototypeOf(target2, proto2);
}
}
exports2.clone = clone4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneWith.js
var require_cloneWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/cloneWith.js"(exports2) {
var require_clone6 = require_clone2();
function cloneWith(value, customizer) {
if (!customizer) return require_clone6.clone(value);
const result2 = customizer(value);
if (result2 !== void 0) return result2;
return require_clone6.clone(value);
}
exports2.cloneWith = cloneWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/create.js
var require_create = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/create.js"(exports2) {
var require_isObject3 = require_isObject();
var require_assignValue2 = require_assignValue();
var require_keys2 = require_keys();
function create(prototype, properties) {
const proto2 = require_isObject3.isObject(prototype) ? Object.create(prototype) : {};
if (properties != null) {
const propsKeys = require_keys2.keys(properties);
for (let i4 = 0; i4 < propsKeys.length; i4++) {
const key = propsKeys[i4];
const propsValue = properties[key];
require_assignValue2.assignValue(proto2, key, propsValue);
}
}
return proto2;
}
exports2.create = create;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/defaults.js
var require_defaults = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/defaults.js"(exports2) {
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_isNil3 = require_isNil();
var require_isIterateeCall2 = require_isIterateeCall();
function defaults4(object, ...sources) {
object = Object(object);
const objectProto = Object.prototype;
let length = sources.length;
const guard = length > 2 ? sources[2] : void 0;
if (guard && require_isIterateeCall2.isIterateeCall(sources[0], sources[1], guard)) length = 1;
for (let i4 = 0; i4 < length; i4++) {
if (require_isNil3.isNil(sources[i4])) continue;
const source = sources[i4];
const keys4 = Object.keys(source);
for (let j2 = 0; j2 < keys4.length; j2++) {
const key = keys4[j2];
const value = object[key];
if (value === void 0 || !Object.hasOwn(object, key) && require_isEqualsSameValueZero2.isEqualsSameValueZero(value, objectProto[key])) object[key] = source[key];
}
}
return object;
}
exports2.defaults = defaults4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/defaultsDeep.js
var require_defaultsDeep = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/defaultsDeep.js"(exports2) {
var require_isPlainObject3 = require_isPlainObject();
function defaultsDeep(target2, ...sources) {
target2 = Object(target2);
for (let i4 = 0; i4 < sources.length; i4++) {
const source = sources[i4];
if (source != null) defaultsDeepRecursive(target2, source, /* @__PURE__ */ new WeakMap());
}
return target2;
}
function defaultsDeepRecursive(target2, source, stack) {
for (const key in source) {
const sourceValue = source[key];
const targetValue = target2[key];
if (targetValue === void 0 || !Object.hasOwn(target2, key)) {
target2[key] = handleMissingProperty(sourceValue, stack);
continue;
}
if (stack.get(sourceValue) === targetValue) continue;
handleExistingProperty(targetValue, sourceValue, stack);
}
}
function handleMissingProperty(sourceValue, stack) {
if (stack.has(sourceValue)) return stack.get(sourceValue);
if (require_isPlainObject3.isPlainObject(sourceValue)) {
const newObj = {};
stack.set(sourceValue, newObj);
defaultsDeepRecursive(newObj, sourceValue, stack);
return newObj;
}
return sourceValue;
}
function handleExistingProperty(targetValue, sourceValue, stack) {
if (require_isPlainObject3.isPlainObject(targetValue) && require_isPlainObject3.isPlainObject(sourceValue)) {
stack.set(sourceValue, targetValue);
defaultsDeepRecursive(targetValue, sourceValue, stack);
return;
}
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
stack.set(sourceValue, targetValue);
mergeArrays(targetValue, sourceValue, stack);
}
}
function mergeArrays(targetArray, sourceArray, stack) {
const minLength = Math.min(sourceArray.length, targetArray.length);
for (let i4 = 0; i4 < minLength; i4++) if (require_isPlainObject3.isPlainObject(targetArray[i4]) && require_isPlainObject3.isPlainObject(sourceArray[i4])) defaultsDeepRecursive(targetArray[i4], sourceArray[i4], stack);
for (let i4 = minLength; i4 < sourceArray.length; i4++) targetArray.push(sourceArray[i4]);
}
exports2.defaultsDeep = defaultsDeep;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/findKey.js
var require_findKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/findKey.js"(exports2) {
function findKey(obj, predicate) {
return Object.keys(obj).find((key) => predicate(obj[key], key, obj));
}
exports2.findKey = findKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/findKey.js
var require_findKey2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/findKey.js"(exports2) {
var require_findKey3 = require_findKey();
var require_isObject3 = require_isObject();
var require_iteratee2 = require_iteratee();
var require_identity6 = require_identity3();
function findKey(obj, predicate) {
if (!require_isObject3.isObject(obj)) return;
const iteratee$1 = require_iteratee2.iteratee(predicate ?? require_identity6.identity);
return require_findKey3.findKey(obj, iteratee$1);
}
exports2.findKey = findKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/findLastKey.js
var require_findLastKey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/findLastKey.js"(exports2) {
var require_isObject3 = require_isObject();
var require_iteratee2 = require_iteratee();
var require_identity6 = require_identity3();
function findLastKey(obj, predicate) {
if (!require_isObject3.isObject(obj)) return;
const iteratee$1 = require_iteratee2.iteratee(predicate ?? require_identity6.identity);
return Object.keys(obj).findLast((key) => iteratee$1(obj[key], key, obj));
}
exports2.findLastKey = findLastKey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forIn.js
var require_forIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forIn.js"(exports2) {
var require_identity6 = require_identity2();
function forIn(object, iteratee = require_identity6.identity) {
if (object == null) return object;
for (const key in object) if (iteratee(object[key], key, object) === false) break;
return object;
}
exports2.forIn = forIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forInRight.js
var require_forInRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forInRight.js"(exports2) {
var require_identity6 = require_identity2();
function forInRight(object, iteratee = require_identity6.identity) {
if (object == null) return object;
const keys4 = [];
for (const key in object) keys4.push(key);
for (let i4 = keys4.length - 1; i4 >= 0; i4--) {
const key = keys4[i4];
if (iteratee(object[key], key, object) === false) break;
}
return object;
}
exports2.forInRight = forInRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forOwn.js
var require_forOwn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forOwn.js"(exports2) {
var require_identity6 = require_identity2();
var require_keys2 = require_keys();
function forOwn(object, iteratee = require_identity6.identity) {
if (object == null) return object;
const iterable = Object(object);
const keys$1 = require_keys2.keys(object);
for (let i4 = 0; i4 < keys$1.length; ++i4) {
const key = keys$1[i4];
if (iteratee(iterable[key], key, iterable) === false) break;
}
return object;
}
exports2.forOwn = forOwn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forOwnRight.js
var require_forOwnRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/forOwnRight.js"(exports2) {
var require_identity6 = require_identity2();
var require_keys2 = require_keys();
function forOwnRight(object, iteratee = require_identity6.identity) {
if (object == null) return object;
const iterable = Object(object);
const keys$1 = require_keys2.keys(object);
for (let i4 = keys$1.length - 1; i4 >= 0; --i4) {
const key = keys$1[i4];
if (iteratee(iterable[key], key, iterable) === false) break;
}
return object;
}
exports2.forOwnRight = forOwnRight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/fromPairs.js
var require_fromPairs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/fromPairs.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
function fromPairs(pairs2) {
if (!require_isArrayLike3.isArrayLike(pairs2)) return {};
const result2 = {};
for (let i4 = 0; i4 < pairs2.length; i4++) {
const [key, value] = pairs2[i4];
result2[key] = value;
}
return result2;
}
exports2.fromPairs = fromPairs;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/functions.js
var require_functions = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/functions.js"(exports2) {
var require_keys2 = require_keys();
function functions(object) {
if (object == null) return [];
return require_keys2.keys(object).filter((key) => typeof object[key] === "function");
}
exports2.functions = functions;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/functionsIn.js
var require_functionsIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/functionsIn.js"(exports2) {
var require_isFunction4 = require_isFunction();
function functionsIn(object) {
if (object == null) return [];
const result2 = [];
for (const key in object) if (require_isFunction4.isFunction(object[key])) result2.push(key);
return result2;
}
exports2.functionsIn = functionsIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/hasIn.js
var require_hasIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/hasIn.js"(exports2) {
var require_isDeepKey2 = require_isDeepKey();
var require_toPath2 = require_toPath();
var require_isIndex2 = require_isIndex();
var require_isArguments3 = require_isArguments();
function hasIn(object, path236) {
if (object == null) return false;
let resolvedPath;
if (Array.isArray(path236)) resolvedPath = path236;
else if (typeof path236 === "string" && require_isDeepKey2.isDeepKey(path236) && object[path236] == null) resolvedPath = require_toPath2.toPath(path236);
else resolvedPath = [path236];
if (resolvedPath.length === 0) return false;
let current = object;
for (let i4 = 0; i4 < resolvedPath.length; i4++) {
const key = resolvedPath[i4];
if (current == null || !(key in Object(current))) {
if (!((Array.isArray(current) || require_isArguments3.isArguments(current)) && require_isIndex2.isIndex(key) && key < current.length)) return false;
}
current = current[key];
}
return true;
}
exports2.hasIn = hasIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/invert.js
var require_invert = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/invert.js"(exports2) {
function invert2(obj) {
const result2 = {};
const keys4 = Object.keys(obj);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = obj[key];
result2[value] = key;
}
return result2;
}
exports2.invert = invert2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/invert.js
var require_invert2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/invert.js"(exports2) {
var require_invert3 = require_invert();
function invert2(obj) {
return require_invert3.invert(obj);
}
exports2.invert = invert2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/invertBy.js
var require_invertBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/invertBy.js"(exports2) {
var require_identity6 = require_identity2();
var require_isNil3 = require_isNil();
var require_iteratee2 = require_iteratee();
function invertBy(object, iteratee$1) {
const result2 = {};
if (require_isNil3.isNil(object)) return result2;
if (iteratee$1 == null) iteratee$1 = require_identity6.identity;
const keys4 = Object.keys(object);
const getString = require_iteratee2.iteratee(iteratee$1);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = object[key];
const valueStr = getString(value);
if (Array.isArray(result2[valueStr])) result2[valueStr].push(key);
else result2[valueStr] = [key];
}
return result2;
}
exports2.invertBy = invertBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/mapKeys.js
var require_mapKeys = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/mapKeys.js"(exports2) {
function mapKeys(object, getNewKey) {
const result2 = {};
const keys4 = Object.keys(object);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = object[key];
result2[getNewKey(value, key, object)] = value;
}
return result2;
}
exports2.mapKeys = mapKeys;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mapKeys.js
var require_mapKeys2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mapKeys.js"(exports2) {
var require_identity6 = require_identity2();
var require_mapKeys3 = require_mapKeys();
var require_iteratee2 = require_iteratee();
function mapKeys(object, getNewKey = require_identity6.identity) {
if (object == null) return {};
return require_mapKeys3.mapKeys(object, require_iteratee2.iteratee(getNewKey));
}
exports2.mapKeys = mapKeys;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/mapValues.js
var require_mapValues = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/mapValues.js"(exports2) {
function mapValues2(object, getNewValue) {
const result2 = {};
const keys4 = Object.keys(object);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const value = object[key];
result2[key] = getNewValue(value, key, object);
}
return result2;
}
exports2.mapValues = mapValues2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mapValues.js
var require_mapValues2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mapValues.js"(exports2) {
var require_identity6 = require_identity2();
var require_mapValues3 = require_mapValues();
var require_iteratee2 = require_iteratee();
function mapValues2(object, getNewValue = require_identity6.identity) {
if (object == null) return {};
return require_mapValues3.mapValues(object, require_iteratee2.iteratee(getNewValue));
}
exports2.mapValues = mapValues2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/clone.js
var require_clone3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/object/clone.js"(exports2) {
var require_isPrimitive4 = require_isPrimitive();
var require_isTypedArray3 = require_isTypedArray();
function clone4(obj) {
if (require_isPrimitive4.isPrimitive(obj)) return obj;
if (Array.isArray(obj) || require_isTypedArray3.isTypedArray(obj) || obj instanceof ArrayBuffer || typeof SharedArrayBuffer !== "undefined" && obj instanceof SharedArrayBuffer) return obj.slice(0);
const prototype = Object.getPrototypeOf(obj);
if (prototype == null) return Object.assign(Object.create(prototype), obj);
const Constructor = prototype.constructor;
if (obj instanceof Date || obj instanceof Map || obj instanceof Set) return new Constructor(obj);
if (obj instanceof RegExp) {
const newRegExp = new Constructor(obj);
newRegExp.lastIndex = obj.lastIndex;
return newRegExp;
}
if (obj instanceof DataView) return new Constructor(obj.buffer.slice(0));
if (obj instanceof Error) {
let newError;
if (obj instanceof AggregateError) newError = new Constructor(obj.errors, obj.message, { cause: obj.cause });
else newError = new Constructor(obj.message, { cause: obj.cause });
newError.stack = obj.stack;
Object.assign(newError, obj);
return newError;
}
if (typeof File !== "undefined" && obj instanceof File) return new Constructor([obj], obj.name, {
type: obj.type,
lastModified: obj.lastModified
});
if (typeof obj === "object") return Object.assign(Object.create(prototype), obj);
return obj;
}
exports2.clone = clone4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mergeWith.js
var require_mergeWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/mergeWith.js"(exports2) {
var require_isPrimitive4 = require_isPrimitive();
var require_clone6 = require_clone3();
var require_getSymbols2 = require_getSymbols();
var require_isBuffer3 = require_isBuffer();
var require_isUnsafeProperty2 = require_isUnsafeProperty();
var require_isPlainObject3 = require_isPlainObject();
var require_cloneDeep3 = require_cloneDeep2();
var require_isArguments3 = require_isArguments();
var require_isObjectLike2 = require_isObjectLike();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_isTypedArray3 = require_isTypedArray2();
function mergeWith(object, ...otherArgs) {
const sources = otherArgs.slice(0, -1);
const merge7 = otherArgs[otherArgs.length - 1];
let result2 = object;
for (let i4 = 0; i4 < sources.length; i4++) {
const source = sources[i4];
result2 = mergeWithDeep(result2, source, merge7, /* @__PURE__ */ new Map());
}
return result2;
}
function mergeWithDeep(target2, source, merge7, stack) {
if (require_isPrimitive4.isPrimitive(target2)) target2 = Object(target2);
if (source == null || typeof source !== "object") return target2;
if (stack.has(source)) return require_clone6.clone(stack.get(source));
stack.set(source, target2);
if (Array.isArray(source)) {
source = source.slice();
for (let i4 = 0; i4 < source.length; i4++) source[i4] = source[i4] ?? void 0;
}
const sourceKeys = [...Object.keys(source), ...require_getSymbols2.getSymbols(source)];
for (let i4 = 0; i4 < sourceKeys.length; i4++) {
const key = sourceKeys[i4];
if (require_isUnsafeProperty2.isUnsafeProperty(key)) continue;
let sourceValue = source[key];
let targetValue = target2[key];
if (require_isArguments3.isArguments(sourceValue)) sourceValue = { ...sourceValue };
if (require_isArguments3.isArguments(targetValue)) targetValue = { ...targetValue };
if (require_isBuffer3.isBuffer(sourceValue)) sourceValue = require_cloneDeep3.cloneDeep(sourceValue);
if (Array.isArray(sourceValue)) if (Array.isArray(targetValue)) {
const cloned = [];
const targetKeys = Reflect.ownKeys(targetValue);
for (let i5 = 0; i5 < targetKeys.length; i5++) {
const targetKey = targetKeys[i5];
cloned[targetKey] = targetValue[targetKey];
}
targetValue = cloned;
} else if (require_isArrayLikeObject2.isArrayLikeObject(targetValue)) {
const cloned = [];
for (let i5 = 0; i5 < targetValue.length; i5++) cloned[i5] = targetValue[i5];
targetValue = cloned;
} else targetValue = [];
const merged = merge7(targetValue, sourceValue, key, target2, source, stack);
if (merged !== void 0) target2[key] = merged;
else if (Array.isArray(sourceValue)) target2[key] = mergeWithDeep(targetValue, sourceValue, merge7, stack);
else if (require_isObjectLike2.isObjectLike(targetValue) && require_isObjectLike2.isObjectLike(sourceValue) && (require_isPlainObject3.isPlainObject(targetValue) || require_isPlainObject3.isPlainObject(sourceValue) || require_isTypedArray3.isTypedArray(targetValue) || require_isTypedArray3.isTypedArray(sourceValue))) target2[key] = mergeWithDeep(targetValue, sourceValue, merge7, stack);
else if (targetValue == null && require_isPlainObject3.isPlainObject(sourceValue)) target2[key] = mergeWithDeep({}, sourceValue, merge7, stack);
else if (targetValue == null && require_isTypedArray3.isTypedArray(sourceValue)) target2[key] = require_cloneDeep3.cloneDeep(sourceValue);
else if (targetValue === void 0 || sourceValue !== void 0) target2[key] = sourceValue;
}
return target2;
}
exports2.mergeWith = mergeWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/merge.js
var require_merge4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/merge.js"(exports2) {
var require_noop4 = require_noop();
var require_mergeWith3 = require_mergeWith();
function merge7(object, ...sources) {
return require_mergeWith3.mergeWith(object, ...sources, require_noop4.noop);
}
exports2.merge = merge7;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js
var require_getSymbolsIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js"(exports2) {
var require_getSymbols2 = require_getSymbols();
function getSymbolsIn(object) {
const result2 = [];
while (object) {
result2.push(...require_getSymbols2.getSymbols(object));
object = Object.getPrototypeOf(object);
}
return result2;
}
exports2.getSymbolsIn = getSymbolsIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/omit.js
var require_omit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/omit.js"(exports2) {
var require_isPlainObject3 = require_isPlainObject();
var require_isDeepKey2 = require_isDeepKey();
var require_cloneDeepWith3 = require_cloneDeepWith2();
var require_flatten3 = require_flatten2();
var require_unset2 = require_unset();
var require_keysIn2 = require_keysIn();
var require_getSymbolsIn2 = require_getSymbolsIn();
function omit3(obj, ...keysArr) {
if (obj == null) return {};
keysArr = require_flatten3.flatten(keysArr);
const result2 = cloneInOmit(obj, keysArr);
for (let i4 = 0; i4 < keysArr.length; i4++) {
let keys4 = keysArr[i4];
switch (typeof keys4) {
case "object":
if (!Array.isArray(keys4)) keys4 = Array.from(keys4);
for (let j2 = 0; j2 < keys4.length; j2++) {
const key = keys4[j2];
require_unset2.unset(result2, key);
}
break;
case "string":
case "symbol":
case "number":
require_unset2.unset(result2, keys4);
break;
}
}
return result2;
}
function cloneInOmit(obj, keys4) {
if (keys4.some((key) => Array.isArray(key) || require_isDeepKey2.isDeepKey(key))) return deepCloneInOmit(obj);
return shallowCloneInOmit(obj);
}
function shallowCloneInOmit(obj) {
const result2 = {};
const keysToCopy = [...require_keysIn2.keysIn(obj), ...require_getSymbolsIn2.getSymbolsIn(obj)];
for (let i4 = 0; i4 < keysToCopy.length; i4++) {
const key = keysToCopy[i4];
result2[key] = obj[key];
}
return result2;
}
function deepCloneInOmit(obj) {
const result2 = {};
const keysToCopy = [...require_keysIn2.keysIn(obj), ...require_getSymbolsIn2.getSymbolsIn(obj)];
for (let i4 = 0; i4 < keysToCopy.length; i4++) {
const key = keysToCopy[i4];
result2[key] = require_cloneDeepWith3.cloneDeepWith(obj[key], (valueToClone) => {
if (require_isPlainObject3.isPlainObject(valueToClone)) return;
return valueToClone;
});
}
return result2;
}
exports2.omit = omit3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/omitBy.js
var require_omitBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/omitBy.js"(exports2) {
var require_iteratee2 = require_iteratee();
var require_isSymbol3 = require_isSymbol();
var require_identity6 = require_identity3();
var require_keysIn2 = require_keysIn();
var require_getSymbolsIn2 = require_getSymbolsIn();
function omitBy(object, shouldOmit) {
if (object == null) return {};
const result2 = {};
const predicate = require_iteratee2.iteratee(shouldOmit ?? require_identity6.identity);
const keys4 = [...require_keysIn2.keysIn(object), ...require_getSymbolsIn2.getSymbolsIn(object)];
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = require_isSymbol3.isSymbol(keys4[i4]) ? keys4[i4] : keys4[i4].toString();
const value = object[key];
if (!predicate(value, key, object)) result2[key] = value;
}
return result2;
}
exports2.omitBy = omitBy;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/pick.js
var require_pick = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/pick.js"(exports2) {
var require_isArrayLike3 = require_isArrayLike();
var require_get4 = require_get();
var require_has2 = require_has();
var require_isNil3 = require_isNil2();
var require_set5 = require_set3();
function pick3(object, ...keysArr) {
if (require_isNil3.isNil(object)) return {};
const result2 = {};
for (let i4 = 0; i4 < keysArr.length; i4++) {
let keys4 = keysArr[i4];
switch (typeof keys4) {
case "object":
if (!Array.isArray(keys4)) if (require_isArrayLike3.isArrayLike(keys4)) keys4 = Array.from(keys4);
else keys4 = [keys4];
break;
case "string":
case "symbol":
case "number":
keys4 = [keys4];
break;
}
for (const key of keys4) {
const value = require_get4.get(object, key);
if (value === void 0 && !require_has2.has(object, key)) continue;
if (typeof key === "string" && Object.hasOwn(object, key)) result2[key] = object[key];
else require_set5.set(result2, key, value);
}
}
return result2;
}
exports2.pick = pick3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/pickBy.js
var require_pickBy = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/pickBy.js"(exports2) {
var require_range6 = require_range2();
var require_isArrayLike3 = require_isArrayLike();
var require_iteratee2 = require_iteratee();
var require_isSymbol3 = require_isSymbol();
var require_identity6 = require_identity3();
var require_keysIn2 = require_keysIn();
var require_getSymbolsIn2 = require_getSymbolsIn();
function pickBy3(obj, shouldPick) {
if (obj == null) return {};
const predicate = require_iteratee2.iteratee(shouldPick ?? require_identity6.identity);
const result2 = {};
const keys4 = require_isArrayLike3.isArrayLike(obj) ? require_range6.range(0, obj.length) : [...require_keysIn2.keysIn(obj), ...require_getSymbolsIn2.getSymbolsIn(obj)];
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = require_isSymbol3.isSymbol(keys4[i4]) ? keys4[i4] : keys4[i4].toString();
const value = obj[key];
if (predicate(value, key, obj)) result2[key] = value;
}
return result2;
}
exports2.pickBy = pickBy3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/propertyOf.js
var require_propertyOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/propertyOf.js"(exports2) {
var require_get4 = require_get();
function propertyOf(object) {
return function(path236) {
return require_get4.get(object, path236);
};
}
exports2.propertyOf = propertyOf;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/result.js
var require_result = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/result.js"(exports2) {
var require_toKey2 = require_toKey();
var require_toString2 = require_toString();
var require_toPath2 = require_toPath();
var require_isKey2 = require_isKey();
function result2(object, path236, defaultValue) {
if (require_isKey2.isKey(path236, object)) path236 = [path236];
else if (!Array.isArray(path236)) path236 = require_toPath2.toPath(require_toString2.toString(path236));
const pathLength = Math.max(path236.length, 1);
for (let index2 = 0; index2 < pathLength; index2++) {
const value = object == null ? void 0 : object[require_toKey2.toKey(path236[index2])];
if (value === void 0) return typeof defaultValue === "function" ? defaultValue.call(object) : defaultValue;
object = typeof value === "function" ? value.call(object) : value;
}
return object;
}
exports2.result = result2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/setWith.js
var require_setWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/setWith.js"(exports2) {
var require_updateWith2 = require_updateWith();
function setWith(obj, path236, value, customizer) {
let customizerFn;
if (typeof customizer === "function") customizerFn = customizer;
else customizerFn = () => void 0;
return require_updateWith2.updateWith(obj, path236, () => value, customizerFn);
}
exports2.setWith = setWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toDefaulted.js
var require_toDefaulted = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toDefaulted.js"(exports2) {
var require_cloneDeep3 = require_cloneDeep2();
var require_defaults3 = require_defaults();
function toDefaulted(object, ...sources) {
const cloned = require_cloneDeep3.cloneDeep(object);
return require_defaults3.defaults(cloned, ...sources);
}
exports2.toDefaulted = toDefaulted;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/mapToEntries.js
var require_mapToEntries = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/mapToEntries.js"(exports2) {
function mapToEntries(map26) {
const arr = new Array(map26.size);
const keys4 = map26.keys();
const values = map26.values();
for (let i4 = 0; i4 < arr.length; i4++) arr[i4] = [keys4.next().value, values.next().value];
return arr;
}
exports2.mapToEntries = mapToEntries;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/setToEntries.js
var require_setToEntries = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/setToEntries.js"(exports2) {
function setToEntries(set2) {
const arr = new Array(set2.size);
const values = set2.values();
for (let i4 = 0; i4 < arr.length; i4++) {
const value = values.next().value;
arr[i4] = [value, value];
}
return arr;
}
exports2.setToEntries = setToEntries;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toPairs.js
var require_toPairs = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toPairs.js"(exports2) {
var require_keys2 = require_keys();
var require_mapToEntries2 = require_mapToEntries();
var require_setToEntries2 = require_setToEntries();
function toPairs(object) {
if (object == null) return [];
if (object instanceof Set) return require_setToEntries2.setToEntries(object);
if (object instanceof Map) return require_mapToEntries2.mapToEntries(object);
const keys$1 = require_keys2.keys(object);
const result2 = new Array(keys$1.length);
for (let i4 = 0; i4 < keys$1.length; i4++) {
const key = keys$1[i4];
result2[i4] = [key, object[key]];
}
return result2;
}
exports2.toPairs = toPairs;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toPairsIn.js
var require_toPairsIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/toPairsIn.js"(exports2) {
var require_keysIn2 = require_keysIn();
var require_mapToEntries2 = require_mapToEntries();
var require_setToEntries2 = require_setToEntries();
function toPairsIn(object) {
if (object == null) return [];
if (object instanceof Set) return require_setToEntries2.setToEntries(object);
if (object instanceof Map) return require_mapToEntries2.mapToEntries(object);
const keys4 = require_keysIn2.keysIn(object);
const result2 = new Array(keys4.length);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
result2[i4] = [key, object[key]];
}
return result2;
}
exports2.toPairsIn = toPairsIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isBuffer.js
var require_isBuffer2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isBuffer.js"(exports2) {
var require_isBuffer3 = require_isBuffer();
function isBuffer(x3) {
return require_isBuffer3.isBuffer(x3);
}
exports2.isBuffer = isBuffer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/transform.js
var require_transform = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/transform.js"(exports2) {
var require_identity6 = require_identity2();
var require_isFunction4 = require_isFunction();
var require_isObject3 = require_isObject();
var require_iteratee2 = require_iteratee();
var require_forEach3 = require_forEach();
var require_isTypedArray3 = require_isTypedArray2();
var require_isBuffer3 = require_isBuffer2();
function transform3(object, iteratee$1 = require_identity6.identity, accumulator) {
const isArrayOrBufferOrTypedArray = Array.isArray(object) || require_isBuffer3.isBuffer(object) || require_isTypedArray3.isTypedArray(object);
iteratee$1 = require_iteratee2.iteratee(iteratee$1);
if (accumulator == null) if (isArrayOrBufferOrTypedArray) accumulator = [];
else if (require_isObject3.isObject(object) && require_isFunction4.isFunction(object.constructor)) accumulator = Object.create(Object.getPrototypeOf(object));
else accumulator = {};
if (object == null) return accumulator;
require_forEach3.forEach(object, (value, key, object2) => iteratee$1(accumulator, value, key, object2));
return accumulator;
}
exports2.transform = transform3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/update.js
var require_update = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/update.js"(exports2) {
var require_updateWith2 = require_updateWith();
function update2(obj, path236, updater) {
return require_updateWith2.updateWith(obj, path236, updater, () => void 0);
}
exports2.update = update2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/valuesIn.js
var require_valuesIn = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/valuesIn.js"(exports2) {
var require_keysIn2 = require_keysIn();
function valuesIn(object) {
const keys4 = require_keysIn2.keysIn(object);
const result2 = new Array(keys4.length);
for (let i4 = 0; i4 < keys4.length; i4++) result2[i4] = object[keys4[i4]];
return result2;
}
exports2.valuesIn = valuesIn;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isFunction.js
var require_isFunction2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isFunction.js"(exports2) {
function isFunction(value) {
return typeof value === "function";
}
exports2.isFunction = isFunction;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isLength.js
var require_isLength2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isLength.js"(exports2) {
function isLength(value) {
return Number.isSafeInteger(value) && value >= 0;
}
exports2.isLength = isLength;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNative.js
var require_isNative = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNative.js"(exports2) {
var functionToString = Function.prototype.toString;
var IS_NATIVE_FUNCTION_REGEXP = RegExp(`^${functionToString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?")}$`);
function isNative(value) {
if (typeof value !== "function") return false;
if (globalThis?.["__core-js_shared__"] != null) throw new Error("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
return IS_NATIVE_FUNCTION_REGEXP.test(functionToString.call(value));
}
exports2.isNative = isNative;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNull.js
var require_isNull2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isNull.js"(exports2) {
function isNull2(value) {
return value === null;
}
exports2.isNull = isNull2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isUndefined.js
var require_isUndefined2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isUndefined.js"(exports2) {
var require_isUndefined3 = require_isUndefined();
function isUndefined(x3) {
return require_isUndefined3.isUndefined(x3);
}
exports2.isUndefined = isUndefined;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/conformsTo.js
var require_conformsTo = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/conformsTo.js"(exports2) {
function conformsTo(target2, source) {
if (source == null) return true;
if (target2 == null) return Object.keys(source).length === 0;
const keys4 = Object.keys(source);
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const predicate = source[key];
const value = target2[key];
if (value === void 0 && !(key in target2)) return false;
if (typeof predicate === "function" && !predicate(value)) return false;
}
return true;
}
exports2.conformsTo = conformsTo;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/conforms.js
var require_conforms = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/conforms.js"(exports2) {
var require_cloneDeep3 = require_cloneDeep();
var require_conformsTo2 = require_conformsTo();
function conforms(source) {
source = require_cloneDeep3.cloneDeep(source);
return function(object) {
return require_conformsTo2.conformsTo(object, source);
};
}
exports2.conforms = conforms;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayBuffer.js
var require_isArrayBuffer2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isArrayBuffer.js"(exports2) {
var require_isArrayBuffer3 = require_isArrayBuffer();
function isArrayBuffer2(value) {
return require_isArrayBuffer3.isArrayBuffer(value);
}
exports2.isArrayBuffer = isArrayBuffer2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isBoolean.js
var require_isBoolean2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isBoolean.js"(exports2) {
function isBoolean2(value) {
return typeof value === "boolean" || value instanceof Boolean;
}
exports2.isBoolean = isBoolean2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isDate.js
var require_isDate2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isDate.js"(exports2) {
var require_isDate4 = require_isDate();
function isDate(value) {
return require_isDate4.isDate(value);
}
exports2.isDate = isDate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isElement.js
var require_isElement = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isElement.js"(exports2) {
var require_isPlainObject3 = require_isPlainObject();
var require_isObjectLike2 = require_isObjectLike();
function isElement(value) {
return require_isObjectLike2.isObjectLike(value) && value.nodeType === 1 && !require_isPlainObject3.isPlainObject(value);
}
exports2.isElement = isElement;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js
var require_isEmpty = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js"(exports2) {
var require_isBuffer3 = require_isBuffer();
var require_isArrayLike3 = require_isArrayLike();
var require_isArguments3 = require_isArguments();
var require_isPrototype2 = require_isPrototype();
var require_isTypedArray3 = require_isTypedArray2();
function isEmpty4(value) {
if (value == null) return true;
if (require_isArrayLike3.isArrayLike(value)) {
if (typeof value.splice !== "function" && typeof value !== "string" && !require_isBuffer3.isBuffer(value) && !require_isTypedArray3.isTypedArray(value) && !require_isArguments3.isArguments(value)) return false;
return value.length === 0;
}
if (typeof value === "object" || typeof value === "function") {
if (value instanceof Map || value instanceof Set) return value.size === 0;
const keys4 = Object.keys(value);
if (require_isPrototype2.isPrototype(value)) return keys4.filter((x3) => x3 !== "constructor").length === 0;
return keys4.length === 0;
}
return true;
}
exports2.isEmpty = isEmpty4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/after.js
var require_after2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/function/after.js"(exports2) {
function after(n2, func) {
if (!Number.isInteger(n2) || n2 < 0) throw new Error(`n must be a non-negative integer.`);
let counter = 0;
return (...args) => {
if (++counter >= n2) return func(...args);
};
}
exports2.after = after;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js
var require_isEqualWith2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js"(exports2) {
var require_after3 = require_after2();
var require_isEqualWith3 = require_isEqualWith();
function isEqualWith(a2, b, areValuesEqual) {
if (typeof areValuesEqual !== "function") areValuesEqual = () => void 0;
return require_isEqualWith3.isEqualWith(a2, b, (...args) => {
const result2 = areValuesEqual(...args);
if (result2 !== void 0) return Boolean(result2);
if (a2 instanceof Map && b instanceof Map) return isEqualWith(Array.from(a2), Array.from(b), require_after3.after(2, areValuesEqual));
if (a2 instanceof Set && b instanceof Set) return isEqualWith(Array.from(a2), Array.from(b), require_after3.after(2, areValuesEqual));
});
}
exports2.isEqualWith = isEqualWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isError.js
var require_isError2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isError.js"(exports2) {
var require_getTag2 = require_getTag();
function isError(value) {
return require_getTag2.getTag(value) === "[object Error]";
}
exports2.isError = isError;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isFinite.js
var require_isFinite = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isFinite.js"(exports2) {
function isFinite2(value) {
return Number.isFinite(value);
}
exports2.isFinite = isFinite2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isInteger.js
var require_isInteger = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isInteger.js"(exports2) {
function isInteger2(value) {
return Number.isInteger(value);
}
exports2.isInteger = isInteger2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isRegExp.js
var require_isRegExp2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isRegExp.js"(exports2) {
var require_isRegExp3 = require_isRegExp();
function isRegExp(value) {
return require_isRegExp3.isRegExp(value);
}
exports2.isRegExp = isRegExp;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSafeInteger.js
var require_isSafeInteger = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSafeInteger.js"(exports2) {
function isSafeInteger(value) {
return Number.isSafeInteger(value);
}
exports2.isSafeInteger = isSafeInteger;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSet.js
var require_isSet2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isSet.js"(exports2) {
var require_isSet3 = require_isSet();
function isSet(value) {
return require_isSet3.isSet(value);
}
exports2.isSet = isSet;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isWeakMap.js
var require_isWeakMap2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isWeakMap.js"(exports2) {
var require_isWeakMap3 = require_isWeakMap();
function isWeakMap(value) {
return require_isWeakMap3.isWeakMap(value);
}
exports2.isWeakMap = isWeakMap;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isWeakSet.js
var require_isWeakSet2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/predicate/isWeakSet.js"(exports2) {
var require_isWeakSet3 = require_isWeakSet();
function isWeakSet(value) {
return require_isWeakSet3.isWeakSet(value);
}
exports2.isWeakSet = isWeakSet;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/capitalize.js
var require_capitalize = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/capitalize.js"(exports2) {
function capitalize(str2) {
return str2.charAt(0).toUpperCase() + str2.slice(1).toLowerCase();
}
exports2.capitalize = capitalize;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/capitalize.js
var require_capitalize2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/capitalize.js"(exports2) {
var require_capitalize3 = require_capitalize();
var require_toString2 = require_toString();
function capitalize(str2) {
return require_capitalize3.capitalize(require_toString2.toString(str2));
}
exports2.capitalize = capitalize;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/bindAll.js
var require_bindAll = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/bindAll.js"(exports2) {
var require_isArray2 = require_isArray();
var require_isFunction4 = require_isFunction();
var require_toString2 = require_toString();
var require_isObject3 = require_isObject();
function bindAll(object, ...methodNames) {
if (object == null) return object;
if (!require_isObject3.isObject(object)) return object;
if (require_isArray2.isArray(object) && methodNames.length === 0) return object;
const methods = [];
for (let i4 = 0; i4 < methodNames.length; i4++) {
const name = methodNames[i4];
if (require_isArray2.isArray(name)) methods.push(...name);
else if (name && typeof name === "object" && "length" in name) methods.push(...Array.from(name));
else methods.push(name);
}
if (methods.length === 0) return object;
for (let i4 = 0; i4 < methods.length; i4++) {
const key = methods[i4];
const stringKey = require_toString2.toString(key);
const func = object[stringKey];
if (require_isFunction4.isFunction(func)) object[stringKey] = func.bind(object);
}
return object;
}
exports2.bindAll = bindAll;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/deburr.js
var require_deburr = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/deburr.js"(exports2) {
var deburrMap = /* @__PURE__ */ new Map([
["\xC6", "Ae"],
["\xD0", "D"],
["\xD8", "O"],
["\xDE", "Th"],
["\xDF", "ss"],
["\xE6", "ae"],
["\xF0", "d"],
["\xF8", "o"],
["\xFE", "th"],
["\u0110", "D"],
["\u0111", "d"],
["\u0126", "H"],
["\u0127", "h"],
["\u0131", "i"],
["\u0132", "IJ"],
["\u0133", "ij"],
["\u0138", "k"],
["\u013F", "L"],
["\u0140", "l"],
["\u0141", "L"],
["\u0142", "l"],
["\u0149", "'n"],
["\u014A", "N"],
["\u014B", "n"],
["\u0152", "Oe"],
["\u0153", "oe"],
["\u0166", "T"],
["\u0167", "t"],
["\u017F", "s"]
]);
function deburr2(str2) {
str2 = str2.normalize("NFD");
let result2 = "";
for (let i4 = 0; i4 < str2.length; i4++) {
const char = str2[i4];
if (char >= "\u0300" && char <= "\u036F" || char >= "\uFE20" && char <= "\uFE23") continue;
result2 += deburrMap.get(char) ?? char;
}
return result2;
}
exports2.deburr = deburr2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/deburr.js
var require_deburr2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/deburr.js"(exports2) {
var require_deburr3 = require_deburr();
var require_toString2 = require_toString();
function deburr2(str2) {
return require_deburr3.deburr(require_toString2.toString(str2));
}
exports2.deburr = deburr2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/words.js
var require_words = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/words.js"(exports2) {
var CASE_SPLIT_PATTERN = /\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;
function words(str2) {
return Array.from(str2.match(CASE_SPLIT_PATTERN) ?? []);
}
exports2.words = words;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/camelCase.js
var require_camelCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/camelCase.js"(exports2) {
var require_capitalize3 = require_capitalize();
var require_words3 = require_words();
function camelCase2(str2) {
const words$1 = require_words3.words(str2);
if (words$1.length === 0) return "";
const [first, ...rest] = words$1;
return `${first.toLowerCase()}${rest.map((word) => require_capitalize3.capitalize(word)).join("")}`;
}
exports2.camelCase = camelCase2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/normalizeForCase.js
var require_normalizeForCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/normalizeForCase.js"(exports2) {
var require_toString2 = require_toString();
function normalizeForCase(str2) {
if (typeof str2 !== "string") str2 = require_toString2.toString(str2);
return str2.replace(/['\u2019]/g, "");
}
exports2.normalizeForCase = normalizeForCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/camelCase.js
var require_camelCase2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/camelCase.js"(exports2) {
var require_camelCase3 = require_camelCase();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function camelCase2(str2) {
return require_camelCase3.camelCase(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)));
}
exports2.camelCase = camelCase2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/endsWith.js
var require_endsWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/endsWith.js"(exports2) {
function endsWith(str2, target2, position3) {
if (str2 == null || target2 == null) return false;
if (position3 == null) position3 = str2.length;
return str2.endsWith(target2, position3);
}
exports2.endsWith = endsWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/escape.js
var require_escape3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/escape.js"(exports2) {
var htmlEscapes = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
};
function escape(str2) {
return str2.replace(/[&<>"']/g, (match) => htmlEscapes[match]);
}
exports2.escape = escape;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/escape.js
var require_escape4 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/escape.js"(exports2) {
var require_escape6 = require_escape3();
var require_toString2 = require_toString();
function escape(string) {
return require_escape6.escape(require_toString2.toString(string));
}
exports2.escape = escape;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/escapeRegExp.js
var require_escapeRegExp = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/escapeRegExp.js"(exports2) {
function escapeRegExp3(str2) {
return str2.replace(/[\\^$.*+?()[\]{}|]/g, "\\$&");
}
exports2.escapeRegExp = escapeRegExp3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/escapeRegExp.js
var require_escapeRegExp2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/escapeRegExp.js"(exports2) {
var require_escapeRegExp3 = require_escapeRegExp();
var require_toString2 = require_toString();
function escapeRegExp3(str2) {
return require_escapeRegExp3.escapeRegExp(require_toString2.toString(str2));
}
exports2.escapeRegExp = escapeRegExp3;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/kebabCase.js
var require_kebabCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/kebabCase.js"(exports2) {
var require_words3 = require_words();
function kebabCase6(str2) {
return require_words3.words(str2).map((word) => word.toLowerCase()).join("-");
}
exports2.kebabCase = kebabCase6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/kebabCase.js
var require_kebabCase2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/kebabCase.js"(exports2) {
var require_kebabCase3 = require_kebabCase();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function kebabCase6(str2) {
return require_kebabCase3.kebabCase(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)));
}
exports2.kebabCase = kebabCase6;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/lowerCase.js
var require_lowerCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/lowerCase.js"(exports2) {
var require_words3 = require_words();
function lowerCase(str2) {
return require_words3.words(str2).map((word) => word.toLowerCase()).join(" ");
}
exports2.lowerCase = lowerCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/lowerCase.js
var require_lowerCase2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/lowerCase.js"(exports2) {
var require_lowerCase3 = require_lowerCase();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function lowerCase(str2) {
return require_lowerCase3.lowerCase(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)));
}
exports2.lowerCase = lowerCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/lowerFirst.js
var require_lowerFirst = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/lowerFirst.js"(exports2) {
function lowerFirst(str2) {
return str2.substring(0, 1).toLowerCase() + str2.substring(1);
}
exports2.lowerFirst = lowerFirst;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/lowerFirst.js
var require_lowerFirst2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/lowerFirst.js"(exports2) {
var require_lowerFirst3 = require_lowerFirst();
var require_toString2 = require_toString();
function lowerFirst(str2) {
return require_lowerFirst3.lowerFirst(require_toString2.toString(str2));
}
exports2.lowerFirst = lowerFirst;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/pad.js
var require_pad = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/pad.js"(exports2) {
function pad4(str2, length, chars = " ") {
return str2.padStart(Math.floor((length - str2.length) / 2) + str2.length, chars).padEnd(length, chars);
}
exports2.pad = pad4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/pad.js
var require_pad2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/pad.js"(exports2) {
var require_pad3 = require_pad();
var require_toString2 = require_toString();
function pad4(str2, length, chars) {
return require_pad3.pad(require_toString2.toString(str2), length, chars);
}
exports2.pad = pad4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/padEnd.js
var require_padEnd = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/padEnd.js"(exports2) {
var require_toString2 = require_toString();
function padEnd(str2, length = 0, chars = " ") {
return require_toString2.toString(str2).padEnd(length, chars);
}
exports2.padEnd = padEnd;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/padStart.js
var require_padStart = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/padStart.js"(exports2) {
var require_toString2 = require_toString();
function padStart2(str2, length = 0, chars = " ") {
return require_toString2.toString(str2).padStart(length, chars);
}
exports2.padStart = padStart2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/MAX_SAFE_INTEGER.js
var require_MAX_SAFE_INTEGER = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/MAX_SAFE_INTEGER.js"(exports2) {
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
exports2.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/repeat.js
var require_repeat = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/repeat.js"(exports2) {
var require_toString2 = require_toString();
var require_toInteger2 = require_toInteger();
var require_isIterateeCall2 = require_isIterateeCall();
var require_MAX_SAFE_INTEGER2 = require_MAX_SAFE_INTEGER();
function repeat4(str2, n2, guard) {
if (guard ? require_isIterateeCall2.isIterateeCall(str2, n2, guard) : n2 === void 0) n2 = 1;
else n2 = require_toInteger2.toInteger(n2);
if (n2 < 1 || n2 > require_MAX_SAFE_INTEGER2.MAX_SAFE_INTEGER) return "";
return require_toString2.toString(str2).repeat(n2);
}
exports2.repeat = repeat4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/replace.js
var require_replace = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/replace.js"(exports2) {
var require_toString2 = require_toString();
function replace(target2, pattern, replacement) {
if (arguments.length < 3) return require_toString2.toString(target2);
return require_toString2.toString(target2).replace(pattern, replacement);
}
exports2.replace = replace;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/snakeCase.js
var require_snakeCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/snakeCase.js"(exports2) {
var require_words3 = require_words();
function snakeCase(str2) {
return require_words3.words(str2).map((word) => word.toLowerCase()).join("_");
}
exports2.snakeCase = snakeCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/snakeCase.js
var require_snakeCase2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/snakeCase.js"(exports2) {
var require_snakeCase3 = require_snakeCase();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function snakeCase(str2) {
return require_snakeCase3.snakeCase(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)));
}
exports2.snakeCase = snakeCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/split.js
var require_split = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/split.js"(exports2) {
var require_toString2 = require_toString();
function split4(string, separator, limit) {
return require_toString2.toString(string).split(separator, limit);
}
exports2.split = split4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/startCase.js
var require_startCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/startCase.js"(exports2) {
var require_words3 = require_words();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function startCase(str2) {
const words$1 = require_words3.words(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)).trim());
let result2 = "";
for (let i4 = 0; i4 < words$1.length; i4++) {
const word = words$1[i4];
if (result2) result2 += " ";
if (word === word.toUpperCase()) result2 += word;
else result2 += word[0].toUpperCase() + word.slice(1).toLowerCase();
}
return result2;
}
exports2.startCase = startCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/startsWith.js
var require_startsWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/startsWith.js"(exports2) {
function startsWith(str2, target2, position3) {
if (str2 == null || target2 == null) return false;
if (position3 == null) position3 = 0;
return str2.startsWith(target2, position3);
}
exports2.startsWith = startsWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/template.js
var require_template = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/template.js"(exports2) {
var require_toString2 = require_toString();
var require_attempt2 = require_attempt();
var require_defaults3 = require_defaults();
var require_escape6 = require_escape4();
var esTemplateRegExp = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
var unEscapedRegExp = /['\n\r\u2028\u2029\\]/g;
var noMatchExp = /($^)/;
var escapeMap = /* @__PURE__ */ new Map([
["\\", "\\"],
["'", "'"],
["\n", "n"],
["\r", "r"],
["\u2028", "u2028"],
["\u2029", "u2029"]
]);
function escapeString2(match) {
return `\\${escapeMap.get(match)}`;
}
var defaultInterpolateRegExp = /<%=([\s\S]+?)%>/g;
var templateSettings = {
escape: /<%-([\s\S]+?)%>/g,
evaluate: /<%([\s\S]+?)%>/g,
interpolate: defaultInterpolateRegExp,
variable: "",
imports: { _: {
escape: require_escape6.escape,
template
} }
};
function template(string, options, guard) {
string = require_toString2.toString(string);
if (guard) options = templateSettings;
options = require_defaults3.defaults({ ...options }, templateSettings);
const delimitersRegExp = new RegExp([
options.escape?.source ?? noMatchExp.source,
options.interpolate?.source ?? noMatchExp.source,
options.interpolate === defaultInterpolateRegExp ? esTemplateRegExp.source : noMatchExp.source,
options.evaluate?.source ?? noMatchExp.source,
"$"
].join("|"), "g");
let lastIndex = 0;
let isEvaluated = false;
let source = `__p += ''`;
for (const match of string.matchAll(delimitersRegExp)) {
const [fullMatch, escapeValue, interpolateValue, esTemplateValue, evaluateValue] = match;
const { index: index2 } = match;
source += ` + '${string.slice(lastIndex, index2).replace(unEscapedRegExp, escapeString2)}'`;
if (escapeValue) source += ` + _.escape(${escapeValue})`;
if (interpolateValue) source += ` + ((${interpolateValue}) == null ? '' : ${interpolateValue})`;
else if (esTemplateValue) source += ` + ((${esTemplateValue}) == null ? '' : ${esTemplateValue})`;
if (evaluateValue) {
source += `;
${evaluateValue};
__p += ''`;
isEvaluated = true;
}
lastIndex = index2 + fullMatch.length;
}
const imports = require_defaults3.defaults({ ...options.imports }, templateSettings.imports);
const importsKeys = Object.keys(imports);
const importValues = Object.values(imports);
const sourceURL = `//# sourceURL=${options.sourceURL ? String(options.sourceURL).replace(/[\r\n]/g, " ") : `es-toolkit.templateSource[${Date.now()}]`}
`;
const compiledFunction = `function(${options.variable || "obj"}) {
let __p = '';
${options.variable ? "" : "if (obj == null) { obj = {}; }"}
${isEvaluated ? `function print() { __p += Array.prototype.join.call(arguments, ''); }` : ""}
${options.variable ? source : `with(obj) {
${source}
}`}
return __p;
}`;
const result2 = require_attempt2.attempt(() => new Function(...importsKeys, `${sourceURL}return ${compiledFunction}`)(...importValues));
result2.source = compiledFunction;
if (result2 instanceof Error) throw result2;
return result2;
}
exports2.template = template;
exports2.templateSettings = templateSettings;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/toLower.js
var require_toLower = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/toLower.js"(exports2) {
var require_toString2 = require_toString();
function toLower(value) {
return require_toString2.toString(value).toLowerCase();
}
exports2.toLower = toLower;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/toUpper.js
var require_toUpper = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/toUpper.js"(exports2) {
var require_toString2 = require_toString();
function toUpper(value) {
return require_toString2.toString(value).toUpperCase();
}
exports2.toUpper = toUpper;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trimEnd.js
var require_trimEnd = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trimEnd.js"(exports2) {
function trimEnd(str2, chars) {
if (chars === void 0) return str2.trimEnd();
let endIndex = str2.length;
switch (typeof chars) {
case "string":
if (chars.length !== 1) throw new Error(`The 'chars' parameter should be a single character string.`);
while (endIndex > 0 && str2[endIndex - 1] === chars) endIndex--;
break;
case "object":
while (endIndex > 0 && chars.includes(str2[endIndex - 1])) endIndex--;
}
return str2.substring(0, endIndex);
}
exports2.trimEnd = trimEnd;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trimStart.js
var require_trimStart = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trimStart.js"(exports2) {
function trimStart(str2, chars) {
if (chars === void 0) return str2.trimStart();
let startIndex = 0;
switch (typeof chars) {
case "string":
if (chars.length !== 1) throw new Error(`The 'chars' parameter should be a single character string.`);
while (startIndex < str2.length && str2[startIndex] === chars) startIndex++;
break;
case "object":
while (startIndex < str2.length && chars.includes(str2[startIndex])) startIndex++;
}
return str2.substring(startIndex);
}
exports2.trimStart = trimStart;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trim.js
var require_trim = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/trim.js"(exports2) {
var require_trimEnd3 = require_trimEnd();
var require_trimStart3 = require_trimStart();
function trim(str2, chars) {
if (chars === void 0) return str2.trim();
return require_trimStart3.trimStart(require_trimEnd3.trimEnd(str2, chars), chars);
}
exports2.trim = trim;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trim.js
var require_trim2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trim.js"(exports2) {
var require_trim3 = require_trim();
function trim(str2, chars, guard) {
if (str2 == null) return "";
if (guard != null || chars == null) return str2.toString().trim();
switch (typeof chars) {
case "object":
if (Array.isArray(chars)) return require_trim3.trim(str2, chars.flatMap((x3) => x3.toString().split("")));
else return require_trim3.trim(str2, chars.toString().split(""));
default:
return require_trim3.trim(str2, chars.toString().split(""));
}
}
exports2.trim = trim;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trimEnd.js
var require_trimEnd2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trimEnd.js"(exports2) {
var require_trimEnd3 = require_trimEnd();
function trimEnd(str2, chars, guard) {
if (str2 == null) return "";
if (guard != null || chars == null) return str2.toString().trimEnd();
return require_trimEnd3.trimEnd(str2, chars.toString().split(""));
}
exports2.trimEnd = trimEnd;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trimStart.js
var require_trimStart2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/trimStart.js"(exports2) {
var require_trimStart3 = require_trimStart();
function trimStart(str2, chars, guard) {
if (str2 == null) return "";
if (guard != null || chars == null) return str2.toString().trimStart();
return require_trimStart3.trimStart(str2, chars.toString().split(""));
}
exports2.trimStart = trimStart;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/truncate.js
var require_truncate3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/truncate.js"(exports2) {
var require_isObject3 = require_isObject();
var regexMultiByte = /[\u200d\ud800-\udfff\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff\ufe0e\ufe0f]/;
function truncate(string, options) {
string = string != null ? `${string}` : "";
let length = 30;
let omission = "...";
if (require_isObject3.isObject(options)) {
length = parseLength(options.length);
omission = "omission" in options ? `${options.omission}` : "...";
}
let i4 = string.length;
const lengthOmission = Array.from(omission).length;
const lengthBase = Math.max(length - lengthOmission, 0);
let strArray = void 0;
if (regexMultiByte.test(string)) {
strArray = Array.from(string);
i4 = strArray.length;
}
if (length >= i4) return string;
if (i4 <= lengthOmission) return omission;
let base = strArray === void 0 ? string.slice(0, lengthBase) : strArray?.slice(0, lengthBase).join("");
const separator = options?.separator;
if (!separator) {
base += omission;
return base;
}
const search2 = separator instanceof RegExp ? separator.source : separator;
const flags = "u" + (separator instanceof RegExp ? separator.flags.replace("u", "") : "");
const withoutSeparator = new RegExp(`(?<result>.*(?:(?!${search2}).))(?:${search2})`, flags).exec(base);
return (!withoutSeparator?.groups ? base : withoutSeparator.groups.result) + omission;
}
function parseLength(length) {
if (length == null) return 30;
if (length <= 0) return 0;
return length;
}
exports2.truncate = truncate;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/unescape.js
var require_unescape2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/unescape.js"(exports2) {
var htmlUnescapes = {
"&": "&",
"<": "<",
">": ">",
""": '"',
"'": "'"
};
function unescape2(str2) {
return str2.replace(/&(?:amp|lt|gt|quot|#(0+)?39);/g, (match) => htmlUnescapes[match] || "'");
}
exports2.unescape = unescape2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/unescape.js
var require_unescape3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/unescape.js"(exports2) {
var require_unescape4 = require_unescape2();
var require_toString2 = require_toString();
function unescape2(str2) {
return require_unescape4.unescape(require_toString2.toString(str2));
}
exports2.unescape = unescape2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/upperCase.js
var require_upperCase = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/upperCase.js"(exports2) {
var require_words3 = require_words();
function upperCase(str2) {
const words$1 = require_words3.words(str2);
let result2 = "";
for (let i4 = 0; i4 < words$1.length; i4++) {
result2 += words$1[i4].toUpperCase();
if (i4 < words$1.length - 1) result2 += " ";
}
return result2;
}
exports2.upperCase = upperCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/upperCase.js
var require_upperCase2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/upperCase.js"(exports2) {
var require_upperCase3 = require_upperCase();
var require_deburr3 = require_deburr2();
var require_normalizeForCase2 = require_normalizeForCase();
function upperCase(str2) {
return require_upperCase3.upperCase(require_normalizeForCase2.normalizeForCase(require_deburr3.deburr(str2)));
}
exports2.upperCase = upperCase;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/upperFirst.js
var require_upperFirst = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/string/upperFirst.js"(exports2) {
function upperFirst(str2) {
return str2.substring(0, 1).toUpperCase() + str2.substring(1);
}
exports2.upperFirst = upperFirst;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/upperFirst.js
var require_upperFirst2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/upperFirst.js"(exports2) {
var require_upperFirst3 = require_upperFirst();
var require_toString2 = require_toString();
function upperFirst(str2) {
return require_upperFirst3.upperFirst(require_toString2.toString(str2));
}
exports2.upperFirst = upperFirst;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/words.js
var require_words2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/words.js"(exports2) {
var require_toString2 = require_toString();
var rNonCharLatin = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\xd7\\xf7";
var rUnicodeUpper = "\\p{Lu}";
var rUnicodeLower = "\\p{Ll}";
var rMisc = "(?:[\\p{Lm}\\p{Lo}]\\p{M}*)";
var rNumber = "\\d";
var rUnicodeOptContrLower = "(?:['\u2019](?:d|ll|m|re|s|t|ve))?";
var rUnicodeOptContrUpper = "(?:['\u2019](?:D|LL|M|RE|S|T|VE))?";
var rUnicodeBreak = `[\\p{Z}\\p{P}${rNonCharLatin}]`;
var rUnicodeMiscUpper = `(?:${rUnicodeUpper}|${rMisc})`;
var rUnicodeMiscLower = `(?:${rUnicodeLower}|${rMisc})`;
var rUnicodeWord = RegExp([
`${rUnicodeUpper}?${rUnicodeLower}+${rUnicodeOptContrLower}(?=${rUnicodeBreak}|${rUnicodeUpper}|$)`,
`${rUnicodeMiscUpper}+${rUnicodeOptContrUpper}(?=${rUnicodeBreak}|${rUnicodeUpper}${rUnicodeMiscLower}|$)`,
`${rUnicodeUpper}?${rUnicodeMiscLower}+${rUnicodeOptContrLower}`,
`${rUnicodeUpper}+${rUnicodeOptContrUpper}`,
`${rNumber}*(?:1ST|2ND|3RD|(?![123])${rNumber}TH)(?=\\b|[a-z_])`,
`${rNumber}*(?:1st|2nd|3rd|(?![123])${rNumber}th)(?=\\b|[A-Z_])`,
`${rNumber}+`,
"\\p{Emoji_Presentation}",
"\\p{Extended_Pictographic}"
].join("|"), "gu");
function words(str2, pattern = rUnicodeWord, guard) {
const input = require_toString2.toString(str2);
if (guard) pattern = rUnicodeWord;
if (typeof pattern === "number") pattern = pattern.toString();
return Array.from(input.match(pattern) ?? []).filter((x3) => x3 !== "");
}
exports2.words = words;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/cond.js
var require_cond = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/cond.js"(exports2) {
var require_isFunction4 = require_isFunction();
var require_iteratee2 = require_iteratee();
function cond(pairs2) {
const length = pairs2.length;
const processedPairs = pairs2.map((pair) => {
const predicate = pair[0];
const func = pair[1];
if (!require_isFunction4.isFunction(func)) throw new TypeError("Expected a function");
return [require_iteratee2.iteratee(predicate), func];
});
return function(...args) {
for (let i4 = 0; i4 < length; i4++) {
const pair = processedPairs[i4];
const predicate = pair[0];
const func = pair[1];
if (predicate.apply(this, args)) return func.apply(this, args);
}
};
}
exports2.cond = cond;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/constant.js
var require_constant = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/constant.js"(exports2) {
function constant(value) {
return () => value;
}
exports2.constant = constant;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/defaultTo.js
var require_defaultTo = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/defaultTo.js"(exports2) {
function defaultTo(value, defaultValue) {
if (value == null || Number.isNaN(value)) return defaultValue;
return value;
}
exports2.defaultTo = defaultTo;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/gt.js
var require_gt2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/gt.js"(exports2) {
var require_toNumber2 = require_toNumber();
function gt(value, other) {
if (typeof value === "string" && typeof other === "string") return value > other;
return require_toNumber2.toNumber(value) > require_toNumber2.toNumber(other);
}
exports2.gt = gt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/gte.js
var require_gte2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/gte.js"(exports2) {
var require_toNumber2 = require_toNumber();
function gte(value, other) {
if (typeof value === "string" && typeof other === "string") return value >= other;
return require_toNumber2.toNumber(value) >= require_toNumber2.toNumber(other);
}
exports2.gte = gte;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/invoke.js
var require_invoke = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/invoke.js"(exports2) {
var require_toKey2 = require_toKey();
var require_toPath2 = require_toPath();
var require_get4 = require_get();
var require_last4 = require_last2();
function invoke(object, path236, ...args) {
args = args.flat(1);
if (object == null) return;
switch (typeof path236) {
case "string":
if (typeof object === "object" && Object.hasOwn(object, path236)) return invokeImpl(object, [path236], args);
return invokeImpl(object, require_toPath2.toPath(path236), args);
case "number":
case "symbol":
return invokeImpl(object, [path236], args);
default:
if (Array.isArray(path236)) return invokeImpl(object, path236, args);
else return invokeImpl(object, [path236], args);
}
}
function invokeImpl(object, path236, args) {
const parent = require_get4.get(object, path236.slice(0, -1), object);
if (parent == null) return;
let lastKey = require_last4.last(path236);
const lastValue = lastKey?.valueOf();
if (typeof lastValue === "number") lastKey = require_toKey2.toKey(lastValue);
else lastKey = String(lastKey);
return require_get4.get(parent, lastKey)?.apply(parent, args);
}
exports2.invoke = invoke;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/lt.js
var require_lt2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/lt.js"(exports2) {
var require_toNumber2 = require_toNumber();
function lt2(value, other) {
if (typeof value === "string" && typeof other === "string") return value < other;
return require_toNumber2.toNumber(value) < require_toNumber2.toNumber(other);
}
exports2.lt = lt2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/lte.js
var require_lte2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/lte.js"(exports2) {
var require_toNumber2 = require_toNumber();
function lte(value, other) {
if (typeof value === "string" && typeof other === "string") return value <= other;
return require_toNumber2.toNumber(value) <= require_toNumber2.toNumber(other);
}
exports2.lte = lte;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/method.js
var require_method = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/method.js"(exports2) {
var require_invoke2 = require_invoke();
function method2(path236, ...args) {
return function(object) {
return require_invoke2.invoke(object, path236, args);
};
}
exports2.method = method2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/methodOf.js
var require_methodOf = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/methodOf.js"(exports2) {
var require_invoke2 = require_invoke();
function methodOf(object, ...args) {
return function(path236) {
return require_invoke2.invoke(object, path236, args);
};
}
exports2.methodOf = methodOf;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/now.js
var require_now = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/now.js"(exports2) {
function now() {
return Date.now();
}
exports2.now = now;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/over.js
var require_over = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/over.js"(exports2) {
var require_iteratee2 = require_iteratee();
function over(...iteratees) {
if (iteratees.length === 1 && Array.isArray(iteratees[0])) iteratees = iteratees[0];
const funcs = iteratees.map((item) => require_iteratee2.iteratee(item));
return function(...args) {
return funcs.map((func) => func.apply(this, args));
};
}
exports2.over = over;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/overEvery.js
var require_overEvery = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/overEvery.js"(exports2) {
var require_iteratee2 = require_iteratee();
function overEvery(...predicates) {
return function(...values) {
for (let i4 = 0; i4 < predicates.length; ++i4) {
const predicate = predicates[i4];
if (!Array.isArray(predicate)) {
if (!require_iteratee2.iteratee(predicate).apply(this, values)) return false;
continue;
}
for (let j2 = 0; j2 < predicate.length; ++j2) if (!require_iteratee2.iteratee(predicate[j2]).apply(this, values)) return false;
}
return true;
};
}
exports2.overEvery = overEvery;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/overSome.js
var require_overSome = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/overSome.js"(exports2) {
var require_iteratee2 = require_iteratee();
function overSome(...predicates) {
return function(...values) {
for (let i4 = 0; i4 < predicates.length; ++i4) {
const predicate = predicates[i4];
if (!Array.isArray(predicate)) {
if (require_iteratee2.iteratee(predicate).apply(this, values)) return true;
continue;
}
for (let j2 = 0; j2 < predicate.length; ++j2) if (require_iteratee2.iteratee(predicate[j2]).apply(this, values)) return true;
}
return false;
};
}
exports2.overSome = overSome;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubArray.js
var require_stubArray = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubArray.js"(exports2) {
function stubArray() {
return [];
}
exports2.stubArray = stubArray;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubFalse.js
var require_stubFalse = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubFalse.js"(exports2) {
function stubFalse() {
return false;
}
exports2.stubFalse = stubFalse;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubObject.js
var require_stubObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubObject.js"(exports2) {
function stubObject() {
return {};
}
exports2.stubObject = stubObject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubString.js
var require_stubString = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubString.js"(exports2) {
function stubString() {
return "";
}
exports2.stubString = stubString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubTrue.js
var require_stubTrue = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/stubTrue.js"(exports2) {
function stubTrue() {
return true;
}
exports2.stubTrue = stubTrue;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/MAX_ARRAY_LENGTH.js
var require_MAX_ARRAY_LENGTH = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/_internal/MAX_ARRAY_LENGTH.js"(exports2) {
var MAX_ARRAY_LENGTH = 4294967295;
exports2.MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toLength.js
var require_toLength = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toLength.js"(exports2) {
var require_toInteger2 = require_toInteger();
var require_clamp2 = require_clamp();
var require_MAX_ARRAY_LENGTH2 = require_MAX_ARRAY_LENGTH();
function toLength(value) {
if (value == null) return 0;
return require_clamp2.clamp(require_toInteger2.toInteger(value), 0, require_MAX_ARRAY_LENGTH2.MAX_ARRAY_LENGTH);
}
exports2.toLength = toLength;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toPlainObject.js
var require_toPlainObject = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toPlainObject.js"(exports2) {
var require_keysIn2 = require_keysIn();
function toPlainObject(value) {
const plainObject = {};
const valueKeys = require_keysIn2.keysIn(value);
for (let i4 = 0; i4 < valueKeys.length; i4++) {
const key = valueKeys[i4];
const objValue = value[key];
if (key === "__proto__") Object.defineProperty(plainObject, key, {
configurable: true,
enumerable: true,
value: objValue,
writable: true
});
else plainObject[key] = objValue;
}
return plainObject;
}
exports2.toPlainObject = toPlainObject;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toSafeInteger.js
var require_toSafeInteger = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/toSafeInteger.js"(exports2) {
var require_toInteger2 = require_toInteger();
var require_clamp2 = require_clamp();
var require_MAX_SAFE_INTEGER2 = require_MAX_SAFE_INTEGER();
function toSafeInteger(value) {
if (value == null) return 0;
return require_clamp2.clamp(require_toInteger2.toInteger(value), -require_MAX_SAFE_INTEGER2.MAX_SAFE_INTEGER, require_MAX_SAFE_INTEGER2.MAX_SAFE_INTEGER);
}
exports2.toSafeInteger = toSafeInteger;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/uniqueId.js
var require_uniqueId = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/util/uniqueId.js"(exports2) {
var idCounter = 0;
function uniqueId(prefix = "") {
return `${prefix}${++idCounter}`;
}
exports2.uniqueId = uniqueId;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_virtual/_rolldown/runtime.js
var require_runtime = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/_virtual/_rolldown/runtime.js"(exports2) {
var __defProp2 = Object.defineProperty;
var __exportAll = (all, no_symbols) => {
let target2 = {};
for (var name in all) __defProp2(target2, name, {
get: all[name],
enumerable: true
});
if (!no_symbols) __defProp2(target2, Symbol.toStringTag, { value: "Module" });
return target2;
};
exports2.__exportAll = __exportAll;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/each.js
var require_each = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/each.js"() {
require_forEach();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/eachRight.js
var require_eachRight = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/eachRight.js"() {
require_forEachRight();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/first.js
var require_first = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/array/first.js"() {
require_head2();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/extend.js
var require_extend = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/extend.js"() {
require_assignIn();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/extendWith.js
var require_extendWith = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/object/extendWith.js"() {
require_assignInWith();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/templateSettings.js
var require_templateSettings = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/string/templateSettings.js"() {
require_template();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/compat.js
var require_compat = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/compat.js"(exports2) {
var require_runtime2 = require_runtime();
var require_isArray2 = require_isArray();
var require_isPlainObject3 = require_isPlainObject();
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
require_eq2();
var require_isEqual2 = require_isEqual();
var require_castArray2 = require_castArray();
var require_isArrayLike3 = require_isArrayLike();
var require_chunk3 = require_chunk2();
var require_compact3 = require_compact2();
var require_concat4 = require_concat();
var require_toString2 = require_toString();
var require_toPath2 = require_toPath();
var require_get4 = require_get();
var require_property2 = require_property();
var require_isObject3 = require_isObject();
var require_isMatchWith2 = require_isMatchWith();
var require_isMatch2 = require_isMatch();
var require_matches2 = require_matches();
var require_cloneDeepWith3 = require_cloneDeepWith2();
var require_cloneDeep3 = require_cloneDeep2();
var require_isArguments3 = require_isArguments();
var require_has2 = require_has();
var require_matchesProperty2 = require_matchesProperty();
var require_iteratee2 = require_iteratee();
var require_countBy2 = require_countBy();
var require_isObjectLike2 = require_isObjectLike();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_difference3 = require_difference2();
var require_last4 = require_last2();
var require_differenceBy3 = require_differenceBy2();
var require_differenceWith3 = require_differenceWith2();
var require_isSymbol3 = require_isSymbol();
var require_toNumber2 = require_toNumber();
var require_toFinite2 = require_toFinite();
var require_toInteger2 = require_toInteger();
var require_drop3 = require_drop2();
var require_dropRight3 = require_dropRight2();
var require_dropRightWhile3 = require_dropRightWhile2();
var require_dropWhile3 = require_dropWhile2();
var require_forEach3 = require_forEach();
require_each();
var require_forEachRight2 = require_forEachRight();
require_eachRight();
var require_every3 = require_every();
var require_isString3 = require_isString();
var require_fill3 = require_fill2();
var require_filter4 = require_filter();
var require_find4 = require_find();
var require_identity6 = require_identity3();
var require_findIndex3 = require_findIndex();
var require_findLast2 = require_findLast();
var require_findLastIndex2 = require_findLastIndex();
var require_head3 = require_head2();
require_first();
var require_flatten3 = require_flatten2();
var require_flattenDepth2 = require_flattenDepth();
var require_map5 = require_map3();
var require_flatMap3 = require_flatMap();
var require_flatMapDepth2 = require_flatMapDepth();
var require_flatMapDeep2 = require_flatMapDeep();
var require_flattenDeep2 = require_flattenDeep();
var require_groupBy4 = require_groupBy2();
var require_includes2 = require_includes();
var require_indexOf2 = require_indexOf();
var require_initial3 = require_initial2();
var require_intersection3 = require_intersection2();
var require_intersectionBy3 = require_intersectionBy2();
var require_uniq3 = require_uniq2();
var require_intersectionWith3 = require_intersectionWith2();
var require_invokeMap2 = require_invokeMap();
var require_join2 = require_join();
var require_reduce3 = require_reduce();
var require_keyBy2 = require_keyBy();
var require_lastIndexOf2 = require_lastIndexOf();
var require_nth2 = require_nth();
var require_orderBy2 = require_orderBy();
var require_partition5 = require_partition();
var require_pull3 = require_pull2();
var require_pullAll2 = require_pullAll();
var require_pullAllBy2 = require_pullAllBy();
var require_pullAllWith2 = require_pullAllWith();
var require_at2 = require_at();
var require_unset2 = require_unset();
var require_pullAt2 = require_pullAt();
var require_reduceRight2 = require_reduceRight();
var require_negate3 = require_negate();
var require_reject2 = require_reject();
var require_remove5 = require_remove4();
var require_reverse3 = require_reverse2();
var require_sample4 = require_sample2();
var require_clamp2 = require_clamp();
var require_isMap3 = require_isMap2();
var require_toArray4 = require_toArray2();
var require_sampleSize3 = require_sampleSize2();
var require_values2 = require_values();
var require_isNil3 = require_isNil2();
var require_shuffle3 = require_shuffle2();
var require_size2 = require_size();
var require_slice2 = require_slice();
var require_some2 = require_some();
var require_sortBy2 = require_sortBy();
var require_isNumber3 = require_isNumber2();
var require_isNaN3 = require_isNaN();
var require_sortedIndexBy2 = require_sortedIndexBy();
var require_sortedIndex2 = require_sortedIndex();
var require_sortedIndexOf2 = require_sortedIndexOf();
var require_sortedLastIndexBy2 = require_sortedLastIndexBy();
var require_sortedLastIndex2 = require_sortedLastIndex();
var require_sortedLastIndexOf2 = require_sortedLastIndexOf();
var require_tail3 = require_tail2();
var require_take4 = require_take2();
var require_takeRight3 = require_takeRight2();
var require_takeRightWhile2 = require_takeRightWhile();
var require_takeWhile3 = require_takeWhile();
var require_union2 = require_union();
var require_unionBy2 = require_unionBy();
var require_unionWith2 = require_unionWith();
var require_uniqBy3 = require_uniqBy2();
var require_uniqWith3 = require_uniqWith2();
var require_unzip3 = require_unzip2();
var require_unzipWith2 = require_unzipWith();
var require_without3 = require_without2();
var require_xor2 = require_xor();
var require_xorBy2 = require_xorBy();
var require_xorWith2 = require_xorWith();
var require_zip5 = require_zip2();
var require_zipObject2 = require_zipObject();
var require_updateWith2 = require_updateWith();
var require_set5 = require_set3();
var require_zipObjectDeep2 = require_zipObjectDeep();
var require_zipWith3 = require_zipWith();
var require_after3 = require_after();
var require_ary3 = require_ary2();
var require_attempt2 = require_attempt();
var require_before2 = require_before();
var require_bind2 = require_bind();
var require_bindKey2 = require_bindKey();
var require_curry2 = require_curry();
var require_curryRight2 = require_curryRight();
var require_debounce4 = require_debounce2();
var require_defer3 = require_defer();
var require_delay3 = require_delay();
var require_flip2 = require_flip();
var require_flow3 = require_flow2();
var require_flowRight3 = require_flowRight2();
var require_memoize2 = require_memoize();
var require_nthArg2 = require_nthArg();
var require_once3 = require_once2();
var require_overArgs2 = require_overArgs();
var require_partial4 = require_partial3();
var require_partialRight3 = require_partialRight2();
var require_rearg2 = require_rearg();
var require_rest3 = require_rest2();
var require_spread2 = require_spread();
var require_throttle3 = require_throttle();
var require_unary2 = require_unary();
var require_wrap2 = require_wrap();
var require_add2 = require_add();
var require_ceil2 = require_ceil();
var require_divide2 = require_divide();
var require_floor4 = require_floor();
var require_inRange3 = require_inRange2();
var require_max4 = require_max();
var require_maxBy3 = require_maxBy2();
var require_sumBy3 = require_sumBy();
var require_sum2 = require_sum();
var require_mean2 = require_mean();
var require_meanBy3 = require_meanBy2();
var require_min4 = require_min();
var require_minBy3 = require_minBy2();
var require_multiply2 = require_multiply();
var require_parseInt2 = require_parseInt();
var require_random3 = require_random2();
var require_range6 = require_range3();
var require_rangeRight2 = require_rangeRight();
var require_round3 = require_round();
var require_subtract2 = require_subtract();
var require_noop4 = require_noop2();
var require_isTypedArray3 = require_isTypedArray2();
var require_times2 = require_times();
var require_keys2 = require_keys();
var require_assign2 = require_assign();
var require_keysIn2 = require_keysIn();
var require_assignIn2 = require_assignIn();
var require_assignInWith2 = require_assignInWith();
var require_assignWith2 = require_assignWith();
var require_clone6 = require_clone2();
var require_cloneWith2 = require_cloneWith();
var require_create2 = require_create();
var require_defaults3 = require_defaults();
var require_defaultsDeep2 = require_defaultsDeep();
require_extend();
require_extendWith();
var require_findKey3 = require_findKey2();
var require_findLastKey2 = require_findLastKey();
var require_forIn2 = require_forIn();
var require_forInRight2 = require_forInRight();
var require_forOwn2 = require_forOwn();
var require_forOwnRight2 = require_forOwnRight();
var require_fromPairs2 = require_fromPairs();
var require_functions2 = require_functions();
var require_functionsIn2 = require_functionsIn();
var require_hasIn2 = require_hasIn();
var require_invert3 = require_invert2();
var require_invertBy2 = require_invertBy();
var require_mapKeys3 = require_mapKeys2();
var require_mapValues3 = require_mapValues2();
var require_mergeWith3 = require_mergeWith();
var require_merge7 = require_merge4();
var require_omit2 = require_omit();
var require_omitBy2 = require_omitBy();
var require_pick2 = require_pick();
var require_pickBy2 = require_pickBy();
var require_propertyOf2 = require_propertyOf();
var require_result2 = require_result();
var require_setWith2 = require_setWith();
var require_toDefaulted2 = require_toDefaulted();
var require_toPairs2 = require_toPairs();
var require_toPairsIn2 = require_toPairsIn();
var require_isBuffer3 = require_isBuffer2();
var require_transform2 = require_transform();
var require_update2 = require_update();
var require_valuesIn2 = require_valuesIn();
var require_isFunction4 = require_isFunction2();
var require_isLength3 = require_isLength2();
var require_isNative2 = require_isNative();
var require_isNull3 = require_isNull2();
var require_isUndefined3 = require_isUndefined2();
var require_conformsTo2 = require_conformsTo();
var require_conforms2 = require_conforms();
var require_isArrayBuffer3 = require_isArrayBuffer2();
var require_isBoolean3 = require_isBoolean2();
var require_isDate4 = require_isDate2();
var require_isElement2 = require_isElement();
var require_isEmpty3 = require_isEmpty();
var require_isEqualWith3 = require_isEqualWith2();
var require_isError3 = require_isError2();
var require_isFinite3 = require_isFinite();
var require_isInteger3 = require_isInteger();
var require_isRegExp3 = require_isRegExp2();
var require_isSafeInteger2 = require_isSafeInteger();
var require_isSet3 = require_isSet2();
var require_isWeakMap3 = require_isWeakMap2();
var require_isWeakSet3 = require_isWeakSet2();
var require_capitalize3 = require_capitalize2();
var require_bindAll2 = require_bindAll();
var require_deburr3 = require_deburr2();
var require_camelCase3 = require_camelCase2();
var require_endsWith2 = require_endsWith();
var require_escape6 = require_escape4();
var require_escapeRegExp3 = require_escapeRegExp2();
var require_kebabCase3 = require_kebabCase2();
var require_lowerCase3 = require_lowerCase2();
var require_lowerFirst3 = require_lowerFirst2();
var require_pad3 = require_pad2();
var require_padEnd2 = require_padEnd();
var require_padStart2 = require_padStart();
var require_repeat3 = require_repeat();
var require_replace2 = require_replace();
var require_snakeCase3 = require_snakeCase2();
var require_split3 = require_split();
var require_startCase2 = require_startCase();
var require_startsWith2 = require_startsWith();
var require_template2 = require_template();
require_templateSettings();
var require_toLower2 = require_toLower();
var require_toUpper2 = require_toUpper();
var require_trim3 = require_trim2();
var require_trimEnd3 = require_trimEnd2();
var require_trimStart3 = require_trimStart2();
var require_truncate5 = require_truncate3();
var require_unescape4 = require_unescape3();
var require_upperCase3 = require_upperCase2();
var require_upperFirst3 = require_upperFirst2();
var require_words3 = require_words2();
var require_cond2 = require_cond();
var require_constant2 = require_constant();
var require_defaultTo2 = require_defaultTo();
var require_gt3 = require_gt2();
var require_gte3 = require_gte2();
var require_invoke2 = require_invoke();
var require_lt3 = require_lt2();
var require_lte3 = require_lte2();
var require_method2 = require_method();
var require_methodOf2 = require_methodOf();
var require_now2 = require_now();
var require_over2 = require_over();
var require_overEvery2 = require_overEvery();
var require_overSome2 = require_overSome();
var require_stubArray2 = require_stubArray();
var require_stubFalse2 = require_stubFalse();
var require_stubObject2 = require_stubObject();
var require_stubString2 = require_stubString();
var require_stubTrue2 = require_stubTrue();
var require_toLength2 = require_toLength();
var require_toPlainObject2 = require_toPlainObject();
var require_toSafeInteger2 = require_toSafeInteger();
var require_uniqueId2 = require_uniqueId();
var compat_exports = /* @__PURE__ */ require_runtime2.__exportAll({
add: () => require_add2.add,
after: () => require_after3.after,
ary: () => require_ary3.ary,
assign: () => require_assign2.assign,
assignIn: () => require_assignIn2.assignIn,
assignInWith: () => require_assignInWith2.assignInWith,
assignWith: () => require_assignWith2.assignWith,
at: () => require_at2.at,
attempt: () => require_attempt2.attempt,
before: () => require_before2.before,
bind: () => require_bind2.bind,
bindAll: () => require_bindAll2.bindAll,
bindKey: () => require_bindKey2.bindKey,
camelCase: () => require_camelCase3.camelCase,
capitalize: () => require_capitalize3.capitalize,
castArray: () => require_castArray2.castArray,
ceil: () => require_ceil2.ceil,
chunk: () => require_chunk3.chunk,
clamp: () => require_clamp2.clamp,
clone: () => require_clone6.clone,
cloneDeep: () => require_cloneDeep3.cloneDeep,
cloneDeepWith: () => require_cloneDeepWith3.cloneDeepWith,
cloneWith: () => require_cloneWith2.cloneWith,
compact: () => require_compact3.compact,
concat: () => require_concat4.concat,
cond: () => require_cond2.cond,
conforms: () => require_conforms2.conforms,
conformsTo: () => require_conformsTo2.conformsTo,
constant: () => require_constant2.constant,
countBy: () => require_countBy2.countBy,
create: () => require_create2.create,
curry: () => require_curry2.curry,
curryRight: () => require_curryRight2.curryRight,
debounce: () => require_debounce4.debounce,
deburr: () => require_deburr3.deburr,
defaultTo: () => require_defaultTo2.defaultTo,
defaults: () => require_defaults3.defaults,
defaultsDeep: () => require_defaultsDeep2.defaultsDeep,
defer: () => require_defer3.defer,
delay: () => require_delay3.delay,
difference: () => require_difference3.difference,
differenceBy: () => require_differenceBy3.differenceBy,
differenceWith: () => require_differenceWith3.differenceWith,
divide: () => require_divide2.divide,
drop: () => require_drop3.drop,
dropRight: () => require_dropRight3.dropRight,
dropRightWhile: () => require_dropRightWhile3.dropRightWhile,
dropWhile: () => require_dropWhile3.dropWhile,
each: () => require_forEach3.forEach,
eachRight: () => require_forEachRight2.forEachRight,
endsWith: () => require_endsWith2.endsWith,
eq: () => require_isEqualsSameValueZero2.isEqualsSameValueZero,
escape: () => require_escape6.escape,
escapeRegExp: () => require_escapeRegExp3.escapeRegExp,
every: () => require_every3.every,
extend: () => require_assignIn2.assignIn,
extendWith: () => require_assignInWith2.assignInWith,
fill: () => require_fill3.fill,
filter: () => require_filter4.filter,
find: () => require_find4.find,
findIndex: () => require_findIndex3.findIndex,
findKey: () => require_findKey3.findKey,
findLast: () => require_findLast2.findLast,
findLastIndex: () => require_findLastIndex2.findLastIndex,
findLastKey: () => require_findLastKey2.findLastKey,
first: () => require_head3.head,
flatMap: () => require_flatMap3.flatMap,
flatMapDeep: () => require_flatMapDeep2.flatMapDeep,
flatMapDepth: () => require_flatMapDepth2.flatMapDepth,
flatten: () => require_flatten3.flatten,
flattenDeep: () => require_flattenDeep2.flattenDeep,
flattenDepth: () => require_flattenDepth2.flattenDepth,
flip: () => require_flip2.flip,
floor: () => require_floor4.floor,
flow: () => require_flow3.flow,
flowRight: () => require_flowRight3.flowRight,
forEach: () => require_forEach3.forEach,
forEachRight: () => require_forEachRight2.forEachRight,
forIn: () => require_forIn2.forIn,
forInRight: () => require_forInRight2.forInRight,
forOwn: () => require_forOwn2.forOwn,
forOwnRight: () => require_forOwnRight2.forOwnRight,
fromPairs: () => require_fromPairs2.fromPairs,
functions: () => require_functions2.functions,
functionsIn: () => require_functionsIn2.functionsIn,
get: () => require_get4.get,
groupBy: () => require_groupBy4.groupBy,
gt: () => require_gt3.gt,
gte: () => require_gte3.gte,
has: () => require_has2.has,
hasIn: () => require_hasIn2.hasIn,
head: () => require_head3.head,
identity: () => require_identity6.identity,
inRange: () => require_inRange3.inRange,
includes: () => require_includes2.includes,
indexOf: () => require_indexOf2.indexOf,
initial: () => require_initial3.initial,
intersection: () => require_intersection3.intersection,
intersectionBy: () => require_intersectionBy3.intersectionBy,
intersectionWith: () => require_intersectionWith3.intersectionWith,
invert: () => require_invert3.invert,
invertBy: () => require_invertBy2.invertBy,
invoke: () => require_invoke2.invoke,
invokeMap: () => require_invokeMap2.invokeMap,
isArguments: () => require_isArguments3.isArguments,
isArray: () => require_isArray2.isArray,
isArrayBuffer: () => require_isArrayBuffer3.isArrayBuffer,
isArrayLike: () => require_isArrayLike3.isArrayLike,
isArrayLikeObject: () => require_isArrayLikeObject2.isArrayLikeObject,
isBoolean: () => require_isBoolean3.isBoolean,
isBuffer: () => require_isBuffer3.isBuffer,
isDate: () => require_isDate4.isDate,
isElement: () => require_isElement2.isElement,
isEmpty: () => require_isEmpty3.isEmpty,
isEqual: () => require_isEqual2.isEqual,
isEqualWith: () => require_isEqualWith3.isEqualWith,
isError: () => require_isError3.isError,
isFinite: () => require_isFinite3.isFinite,
isFunction: () => require_isFunction4.isFunction,
isInteger: () => require_isInteger3.isInteger,
isLength: () => require_isLength3.isLength,
isMap: () => require_isMap3.isMap,
isMatch: () => require_isMatch2.isMatch,
isMatchWith: () => require_isMatchWith2.isMatchWith,
isNaN: () => require_isNaN3.isNaN,
isNative: () => require_isNative2.isNative,
isNil: () => require_isNil3.isNil,
isNull: () => require_isNull3.isNull,
isNumber: () => require_isNumber3.isNumber,
isObject: () => require_isObject3.isObject,
isObjectLike: () => require_isObjectLike2.isObjectLike,
isPlainObject: () => require_isPlainObject3.isPlainObject,
isRegExp: () => require_isRegExp3.isRegExp,
isSafeInteger: () => require_isSafeInteger2.isSafeInteger,
isSet: () => require_isSet3.isSet,
isString: () => require_isString3.isString,
isSymbol: () => require_isSymbol3.isSymbol,
isTypedArray: () => require_isTypedArray3.isTypedArray,
isUndefined: () => require_isUndefined3.isUndefined,
isWeakMap: () => require_isWeakMap3.isWeakMap,
isWeakSet: () => require_isWeakSet3.isWeakSet,
iteratee: () => require_iteratee2.iteratee,
join: () => require_join2.join,
kebabCase: () => require_kebabCase3.kebabCase,
keyBy: () => require_keyBy2.keyBy,
keys: () => require_keys2.keys,
keysIn: () => require_keysIn2.keysIn,
last: () => require_last4.last,
lastIndexOf: () => require_lastIndexOf2.lastIndexOf,
lowerCase: () => require_lowerCase3.lowerCase,
lowerFirst: () => require_lowerFirst3.lowerFirst,
lt: () => require_lt3.lt,
lte: () => require_lte3.lte,
map: () => require_map5.map,
mapKeys: () => require_mapKeys3.mapKeys,
mapValues: () => require_mapValues3.mapValues,
matches: () => require_matches2.matches,
matchesProperty: () => require_matchesProperty2.matchesProperty,
max: () => require_max4.max,
maxBy: () => require_maxBy3.maxBy,
mean: () => require_mean2.mean,
meanBy: () => require_meanBy3.meanBy,
memoize: () => require_memoize2.memoize,
merge: () => require_merge7.merge,
mergeWith: () => require_mergeWith3.mergeWith,
method: () => require_method2.method,
methodOf: () => require_methodOf2.methodOf,
min: () => require_min4.min,
minBy: () => require_minBy3.minBy,
multiply: () => require_multiply2.multiply,
negate: () => require_negate3.negate,
noop: () => require_noop4.noop,
now: () => require_now2.now,
nth: () => require_nth2.nth,
nthArg: () => require_nthArg2.nthArg,
omit: () => require_omit2.omit,
omitBy: () => require_omitBy2.omitBy,
once: () => require_once3.once,
orderBy: () => require_orderBy2.orderBy,
over: () => require_over2.over,
overArgs: () => require_overArgs2.overArgs,
overEvery: () => require_overEvery2.overEvery,
overSome: () => require_overSome2.overSome,
pad: () => require_pad3.pad,
padEnd: () => require_padEnd2.padEnd,
padStart: () => require_padStart2.padStart,
parseInt: () => require_parseInt2.parseInt,
partial: () => require_partial4.partial,
partialRight: () => require_partialRight3.partialRight,
partition: () => require_partition5.partition,
pick: () => require_pick2.pick,
pickBy: () => require_pickBy2.pickBy,
property: () => require_property2.property,
propertyOf: () => require_propertyOf2.propertyOf,
pull: () => require_pull3.pull,
pullAll: () => require_pullAll2.pullAll,
pullAllBy: () => require_pullAllBy2.pullAllBy,
pullAllWith: () => require_pullAllWith2.pullAllWith,
pullAt: () => require_pullAt2.pullAt,
random: () => require_random3.random,
range: () => require_range6.range,
rangeRight: () => require_rangeRight2.rangeRight,
rearg: () => require_rearg2.rearg,
reduce: () => require_reduce3.reduce,
reduceRight: () => require_reduceRight2.reduceRight,
reject: () => require_reject2.reject,
remove: () => require_remove5.remove,
repeat: () => require_repeat3.repeat,
replace: () => require_replace2.replace,
rest: () => require_rest3.rest,
result: () => require_result2.result,
reverse: () => require_reverse3.reverse,
round: () => require_round3.round,
sample: () => require_sample4.sample,
sampleSize: () => require_sampleSize3.sampleSize,
set: () => require_set5.set,
setWith: () => require_setWith2.setWith,
shuffle: () => require_shuffle3.shuffle,
size: () => require_size2.size,
slice: () => require_slice2.slice,
snakeCase: () => require_snakeCase3.snakeCase,
some: () => require_some2.some,
sortBy: () => require_sortBy2.sortBy,
sortedIndex: () => require_sortedIndex2.sortedIndex,
sortedIndexBy: () => require_sortedIndexBy2.sortedIndexBy,
sortedIndexOf: () => require_sortedIndexOf2.sortedIndexOf,
sortedLastIndex: () => require_sortedLastIndex2.sortedLastIndex,
sortedLastIndexBy: () => require_sortedLastIndexBy2.sortedLastIndexBy,
sortedLastIndexOf: () => require_sortedLastIndexOf2.sortedLastIndexOf,
split: () => require_split3.split,
spread: () => require_spread2.spread,
startCase: () => require_startCase2.startCase,
startsWith: () => require_startsWith2.startsWith,
stubArray: () => require_stubArray2.stubArray,
stubFalse: () => require_stubFalse2.stubFalse,
stubObject: () => require_stubObject2.stubObject,
stubString: () => require_stubString2.stubString,
stubTrue: () => require_stubTrue2.stubTrue,
subtract: () => require_subtract2.subtract,
sum: () => require_sum2.sum,
sumBy: () => require_sumBy3.sumBy,
tail: () => require_tail3.tail,
take: () => require_take4.take,
takeRight: () => require_takeRight3.takeRight,
takeRightWhile: () => require_takeRightWhile2.takeRightWhile,
takeWhile: () => require_takeWhile3.takeWhile,
template: () => require_template2.template,
templateSettings: () => require_template2.templateSettings,
throttle: () => require_throttle3.throttle,
times: () => require_times2.times,
toArray: () => require_toArray4.toArray,
toDefaulted: () => require_toDefaulted2.toDefaulted,
toFinite: () => require_toFinite2.toFinite,
toInteger: () => require_toInteger2.toInteger,
toLength: () => require_toLength2.toLength,
toLower: () => require_toLower2.toLower,
toNumber: () => require_toNumber2.toNumber,
toPairs: () => require_toPairs2.toPairs,
toPairsIn: () => require_toPairsIn2.toPairsIn,
toPath: () => require_toPath2.toPath,
toPlainObject: () => require_toPlainObject2.toPlainObject,
toSafeInteger: () => require_toSafeInteger2.toSafeInteger,
toString: () => require_toString2.toString,
toUpper: () => require_toUpper2.toUpper,
transform: () => require_transform2.transform,
trim: () => require_trim3.trim,
trimEnd: () => require_trimEnd3.trimEnd,
trimStart: () => require_trimStart3.trimStart,
truncate: () => require_truncate5.truncate,
unary: () => require_unary2.unary,
unescape: () => require_unescape4.unescape,
union: () => require_union2.union,
unionBy: () => require_unionBy2.unionBy,
unionWith: () => require_unionWith2.unionWith,
uniq: () => require_uniq3.uniq,
uniqBy: () => require_uniqBy3.uniqBy,
uniqWith: () => require_uniqWith3.uniqWith,
uniqueId: () => require_uniqueId2.uniqueId,
unset: () => require_unset2.unset,
unzip: () => require_unzip3.unzip,
unzipWith: () => require_unzipWith2.unzipWith,
update: () => require_update2.update,
updateWith: () => require_updateWith2.updateWith,
upperCase: () => require_upperCase3.upperCase,
upperFirst: () => require_upperFirst3.upperFirst,
values: () => require_values2.values,
valuesIn: () => require_valuesIn2.valuesIn,
without: () => require_without3.without,
words: () => require_words3.words,
wrap: () => require_wrap2.wrap,
xor: () => require_xor2.xor,
xorBy: () => require_xorBy2.xorBy,
xorWith: () => require_xorWith2.xorWith,
zip: () => require_zip5.zip,
zipObject: () => require_zipObject2.zipObject,
zipObjectDeep: () => require_zipObjectDeep2.zipObjectDeep,
zipWith: () => require_zipWith3.zipWith
});
Object.defineProperty(exports2, "compat_exports", {
enumerable: true,
get: function() {
return compat_exports;
}
});
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/toolkit.js
var require_toolkit = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/toolkit.js"(exports2) {
var require_compat3 = require_compat();
var toolkit = ((value) => {
return value;
});
Object.assign(toolkit, require_compat3.compat_exports);
toolkit.partial.placeholder = toolkit;
toolkit.partialRight.placeholder = toolkit;
exports2.toolkit = toolkit;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/index.js
var require_compat2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/es-toolkit/1.49.0/f686e56b1a38285ef871d95f1a78e4dc2c538995b67fb6b065343bbd0459ed6b/node_modules/es-toolkit/dist/compat/index.js"(exports2) {
Object.defineProperties(exports2, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
var require_isArray2 = require_isArray();
var require_isPlainObject3 = require_isPlainObject();
var require_isEqualsSameValueZero2 = require_isEqualsSameValueZero();
var require_isEqual2 = require_isEqual();
var require_castArray2 = require_castArray();
var require_isArrayLike3 = require_isArrayLike();
var require_chunk3 = require_chunk2();
var require_compact3 = require_compact2();
var require_concat4 = require_concat();
var require_toString2 = require_toString();
var require_toPath2 = require_toPath();
var require_get4 = require_get();
var require_property2 = require_property();
var require_isObject3 = require_isObject();
var require_isMatchWith2 = require_isMatchWith();
var require_isMatch2 = require_isMatch();
var require_matches2 = require_matches();
var require_cloneDeepWith3 = require_cloneDeepWith2();
var require_cloneDeep3 = require_cloneDeep2();
var require_isArguments3 = require_isArguments();
var require_has2 = require_has();
var require_matchesProperty2 = require_matchesProperty();
var require_iteratee2 = require_iteratee();
var require_countBy2 = require_countBy();
var require_isObjectLike2 = require_isObjectLike();
var require_isArrayLikeObject2 = require_isArrayLikeObject();
var require_difference3 = require_difference2();
var require_last4 = require_last2();
var require_differenceBy3 = require_differenceBy2();
var require_differenceWith3 = require_differenceWith2();
var require_isSymbol3 = require_isSymbol();
var require_toNumber2 = require_toNumber();
var require_toFinite2 = require_toFinite();
var require_toInteger2 = require_toInteger();
var require_drop3 = require_drop2();
var require_dropRight3 = require_dropRight2();
var require_dropRightWhile3 = require_dropRightWhile2();
var require_dropWhile3 = require_dropWhile2();
var require_forEach3 = require_forEach();
var require_forEachRight2 = require_forEachRight();
var require_every3 = require_every();
var require_isString3 = require_isString();
var require_fill3 = require_fill2();
var require_filter4 = require_filter();
var require_find4 = require_find();
var require_identity6 = require_identity3();
var require_findIndex3 = require_findIndex();
var require_findLast2 = require_findLast();
var require_findLastIndex2 = require_findLastIndex();
var require_head3 = require_head2();
var require_flatten3 = require_flatten2();
var require_flattenDepth2 = require_flattenDepth();
var require_map5 = require_map3();
var require_flatMap3 = require_flatMap();
var require_flatMapDepth2 = require_flatMapDepth();
var require_flatMapDeep2 = require_flatMapDeep();
var require_flattenDeep2 = require_flattenDeep();
var require_groupBy4 = require_groupBy2();
var require_includes2 = require_includes();
var require_indexOf2 = require_indexOf();
var require_initial3 = require_initial2();
var require_intersection3 = require_intersection2();
var require_intersectionBy3 = require_intersectionBy2();
var require_uniq3 = require_uniq2();
var require_intersectionWith3 = require_intersectionWith2();
var require_invokeMap2 = require_invokeMap();
var require_join2 = require_join();
var require_reduce3 = require_reduce();
var require_keyBy2 = require_keyBy();
var require_lastIndexOf2 = require_lastIndexOf();
var require_nth2 = require_nth();
var require_orderBy2 = require_orderBy();
var require_partition5 = require_partition();
var require_pull3 = require_pull2();
var require_pullAll2 = require_pullAll();
var require_pullAllBy2 = require_pullAllBy();
var require_pullAllWith2 = require_pullAllWith();
var require_at2 = require_at();
var require_unset2 = require_unset();
var require_pullAt2 = require_pullAt();
var require_reduceRight2 = require_reduceRight();
var require_negate3 = require_negate();
var require_reject2 = require_reject();
var require_remove5 = require_remove4();
var require_reverse3 = require_reverse2();
var require_sample4 = require_sample2();
var require_clamp2 = require_clamp();
var require_isMap3 = require_isMap2();
var require_toArray4 = require_toArray2();
var require_sampleSize3 = require_sampleSize2();
var require_values2 = require_values();
var require_isNil3 = require_isNil2();
var require_shuffle3 = require_shuffle2();
var require_size2 = require_size();
var require_slice2 = require_slice();
var require_some2 = require_some();
var require_sortBy2 = require_sortBy();
var require_isNumber3 = require_isNumber2();
var require_isNaN3 = require_isNaN();
var require_sortedIndexBy2 = require_sortedIndexBy();
var require_sortedIndex2 = require_sortedIndex();
var require_sortedIndexOf2 = require_sortedIndexOf();
var require_sortedLastIndexBy2 = require_sortedLastIndexBy();
var require_sortedLastIndex2 = require_sortedLastIndex();
var require_sortedLastIndexOf2 = require_sortedLastIndexOf();
var require_tail3 = require_tail2();
var require_take4 = require_take2();
var require_takeRight3 = require_takeRight2();
var require_takeRightWhile2 = require_takeRightWhile();
var require_takeWhile3 = require_takeWhile();
var require_union2 = require_union();
var require_unionBy2 = require_unionBy();
var require_unionWith2 = require_unionWith();
var require_uniqBy3 = require_uniqBy2();
var require_uniqWith3 = require_uniqWith2();
var require_unzip3 = require_unzip2();
var require_unzipWith2 = require_unzipWith();
var require_without3 = require_without2();
var require_xor2 = require_xor();
var require_xorBy2 = require_xorBy();
var require_xorWith2 = require_xorWith();
var require_zip5 = require_zip2();
var require_zipObject2 = require_zipObject();
var require_updateWith2 = require_updateWith();
var require_set5 = require_set3();
var require_zipObjectDeep2 = require_zipObjectDeep();
var require_zipWith3 = require_zipWith();
var require_after3 = require_after();
var require_ary3 = require_ary2();
var require_attempt2 = require_attempt();
var require_before2 = require_before();
var require_bind2 = require_bind();
var require_bindKey2 = require_bindKey();
var require_curry2 = require_curry();
var require_curryRight2 = require_curryRight();
var require_debounce4 = require_debounce2();
var require_defer3 = require_defer();
var require_delay3 = require_delay();
var require_flip2 = require_flip();
var require_flow3 = require_flow2();
var require_flowRight3 = require_flowRight2();
var require_memoize2 = require_memoize();
var require_nthArg2 = require_nthArg();
var require_once3 = require_once2();
var require_overArgs2 = require_overArgs();
var require_partial4 = require_partial3();
var require_partialRight3 = require_partialRight2();
var require_rearg2 = require_rearg();
var require_rest3 = require_rest2();
var require_spread2 = require_spread();
var require_throttle3 = require_throttle();
var require_unary2 = require_unary();
var require_wrap2 = require_wrap();
var require_add2 = require_add();
var require_ceil2 = require_ceil();
var require_divide2 = require_divide();
var require_floor4 = require_floor();
var require_inRange3 = require_inRange2();
var require_max4 = require_max();
var require_maxBy3 = require_maxBy2();
var require_sumBy3 = require_sumBy();
var require_sum2 = require_sum();
var require_mean2 = require_mean();
var require_meanBy3 = require_meanBy2();
var require_min4 = require_min();
var require_minBy3 = require_minBy2();
var require_multiply2 = require_multiply();
var require_parseInt2 = require_parseInt();
var require_random3 = require_random2();
var require_range6 = require_range3();
var require_rangeRight2 = require_rangeRight();
var require_round3 = require_round();
var require_subtract2 = require_subtract();
var require_noop4 = require_noop2();
var require_isTypedArray3 = require_isTypedArray2();
var require_times2 = require_times();
var require_keys2 = require_keys();
var require_assign2 = require_assign();
var require_keysIn2 = require_keysIn();
var require_assignIn2 = require_assignIn();
var require_assignInWith2 = require_assignInWith();
var require_assignWith2 = require_assignWith();
var require_clone6 = require_clone2();
var require_cloneWith2 = require_cloneWith();
var require_create2 = require_create();
var require_defaults3 = require_defaults();
var require_defaultsDeep2 = require_defaultsDeep();
var require_findKey3 = require_findKey2();
var require_findLastKey2 = require_findLastKey();
var require_forIn2 = require_forIn();
var require_forInRight2 = require_forInRight();
var require_forOwn2 = require_forOwn();
var require_forOwnRight2 = require_forOwnRight();
var require_fromPairs2 = require_fromPairs();
var require_functions2 = require_functions();
var require_functionsIn2 = require_functionsIn();
var require_hasIn2 = require_hasIn();
var require_invert3 = require_invert2();
var require_invertBy2 = require_invertBy();
var require_mapKeys3 = require_mapKeys2();
var require_mapValues3 = require_mapValues2();
var require_mergeWith3 = require_mergeWith();
var require_merge7 = require_merge4();
var require_omit2 = require_omit();
var require_omitBy2 = require_omitBy();
var require_pick2 = require_pick();
var require_pickBy2 = require_pickBy();
var require_propertyOf2 = require_propertyOf();
var require_result2 = require_result();
var require_setWith2 = require_setWith();
var require_toDefaulted2 = require_toDefaulted();
var require_toPairs2 = require_toPairs();
var require_toPairsIn2 = require_toPairsIn();
var require_isBuffer3 = require_isBuffer2();
var require_transform2 = require_transform();
var require_update2 = require_update();
var require_valuesIn2 = require_valuesIn();
var require_isFunction4 = require_isFunction2();
var require_isLength3 = require_isLength2();
var require_isNative2 = require_isNative();
var require_isNull3 = require_isNull2();
var require_isUndefined3 = require_isUndefined2();
var require_conformsTo2 = require_conformsTo();
var require_conforms2 = require_conforms();
var require_isArrayBuffer3 = require_isArrayBuffer2();
var require_isBoolean3 = require_isBoolean2();
var require_isDate4 = require_isDate2();
var require_isElement2 = require_isElement();
var require_isEmpty3 = require_isEmpty();
var require_isEqualWith3 = require_isEqualWith2();
var require_isError3 = require_isError2();
var require_isFinite3 = require_isFinite();
var require_isInteger3 = require_isInteger();
var require_isRegExp3 = require_isRegExp2();
var require_isSafeInteger2 = require_isSafeInteger();
var require_isSet3 = require_isSet2();
var require_isWeakMap3 = require_isWeakMap2();
var require_isWeakSet3 = require_isWeakSet2();
var require_capitalize3 = require_capitalize2();
var require_bindAll2 = require_bindAll();
var require_deburr3 = require_deburr2();
var require_camelCase3 = require_camelCase2();
var require_endsWith2 = require_endsWith();
var require_escape6 = require_escape4();
var require_escapeRegExp3 = require_escapeRegExp2();
var require_kebabCase3 = require_kebabCase2();
var require_lowerCase3 = require_lowerCase2();
var require_lowerFirst3 = require_lowerFirst2();
var require_pad3 = require_pad2();
var require_padEnd2 = require_padEnd();
var require_padStart2 = require_padStart();
var require_repeat3 = require_repeat();
var require_replace2 = require_replace();
var require_snakeCase3 = require_snakeCase2();
var require_split3 = require_split();
var require_startCase2 = require_startCase();
var require_startsWith2 = require_startsWith();
var require_template2 = require_template();
var require_toLower2 = require_toLower();
var require_toUpper2 = require_toUpper();
var require_trim3 = require_trim2();
var require_trimEnd3 = require_trimEnd2();
var require_trimStart3 = require_trimStart2();
var require_truncate5 = require_truncate3();
var require_unescape4 = require_unescape3();
var require_upperCase3 = require_upperCase2();
var require_upperFirst3 = require_upperFirst2();
var require_words3 = require_words2();
var require_cond2 = require_cond();
var require_constant2 = require_constant();
var require_defaultTo2 = require_defaultTo();
var require_gt3 = require_gt2();
var require_gte3 = require_gte2();
var require_invoke2 = require_invoke();
var require_lt3 = require_lt2();
var require_lte3 = require_lte2();
var require_method2 = require_method();
var require_methodOf2 = require_methodOf();
var require_now2 = require_now();
var require_over2 = require_over();
var require_overEvery2 = require_overEvery();
var require_overSome2 = require_overSome();
var require_stubArray2 = require_stubArray();
var require_stubFalse2 = require_stubFalse();
var require_stubObject2 = require_stubObject();
var require_stubString2 = require_stubString();
var require_stubTrue2 = require_stubTrue();
var require_toLength2 = require_toLength();
var require_toPlainObject2 = require_toPlainObject();
var require_toSafeInteger2 = require_toSafeInteger();
var require_uniqueId2 = require_uniqueId();
require_compat();
var require_toolkit2 = require_toolkit();
exports2.add = require_add2.add;
exports2.after = require_after3.after;
exports2.ary = require_ary3.ary;
exports2.assign = require_assign2.assign;
exports2.assignIn = require_assignIn2.assignIn;
exports2.assignInWith = require_assignInWith2.assignInWith;
exports2.assignWith = require_assignWith2.assignWith;
exports2.at = require_at2.at;
exports2.attempt = require_attempt2.attempt;
exports2.before = require_before2.before;
exports2.bind = require_bind2.bind;
exports2.bindAll = require_bindAll2.bindAll;
exports2.bindKey = require_bindKey2.bindKey;
exports2.camelCase = require_camelCase3.camelCase;
exports2.capitalize = require_capitalize3.capitalize;
exports2.castArray = require_castArray2.castArray;
exports2.ceil = require_ceil2.ceil;
exports2.chunk = require_chunk3.chunk;
exports2.clamp = require_clamp2.clamp;
exports2.clone = require_clone6.clone;
exports2.cloneDeep = require_cloneDeep3.cloneDeep;
exports2.cloneDeepWith = require_cloneDeepWith3.cloneDeepWith;
exports2.cloneWith = require_cloneWith2.cloneWith;
exports2.compact = require_compact3.compact;
exports2.concat = require_concat4.concat;
exports2.cond = require_cond2.cond;
exports2.conforms = require_conforms2.conforms;
exports2.conformsTo = require_conformsTo2.conformsTo;
exports2.constant = require_constant2.constant;
exports2.countBy = require_countBy2.countBy;
exports2.create = require_create2.create;
exports2.curry = require_curry2.curry;
exports2.curryRight = require_curryRight2.curryRight;
exports2.debounce = require_debounce4.debounce;
exports2.deburr = require_deburr3.deburr;
exports2.default = require_toolkit2.toolkit;
exports2.defaultTo = require_defaultTo2.defaultTo;
exports2.defaults = require_defaults3.defaults;
exports2.defaultsDeep = require_defaultsDeep2.defaultsDeep;
exports2.defer = require_defer3.defer;
exports2.delay = require_delay3.delay;
exports2.difference = require_difference3.difference;
exports2.differenceBy = require_differenceBy3.differenceBy;
exports2.differenceWith = require_differenceWith3.differenceWith;
exports2.divide = require_divide2.divide;
exports2.drop = require_drop3.drop;
exports2.dropRight = require_dropRight3.dropRight;
exports2.dropRightWhile = require_dropRightWhile3.dropRightWhile;
exports2.dropWhile = require_dropWhile3.dropWhile;
exports2.each = require_forEach3.forEach;
exports2.eachRight = require_forEachRight2.forEachRight;
exports2.endsWith = require_endsWith2.endsWith;
exports2.eq = require_isEqualsSameValueZero2.isEqualsSameValueZero;
exports2.escape = require_escape6.escape;
exports2.escapeRegExp = require_escapeRegExp3.escapeRegExp;
exports2.every = require_every3.every;
exports2.extend = require_assignIn2.assignIn;
exports2.extendWith = require_assignInWith2.assignInWith;
exports2.fill = require_fill3.fill;
exports2.filter = require_filter4.filter;
exports2.find = require_find4.find;
exports2.findIndex = require_findIndex3.findIndex;
exports2.findKey = require_findKey3.findKey;
exports2.findLast = require_findLast2.findLast;
exports2.findLastIndex = require_findLastIndex2.findLastIndex;
exports2.findLastKey = require_findLastKey2.findLastKey;
exports2.first = require_head3.head;
exports2.flatMap = require_flatMap3.flatMap;
exports2.flatMapDeep = require_flatMapDeep2.flatMapDeep;
exports2.flatMapDepth = require_flatMapDepth2.flatMapDepth;
exports2.flatten = require_flatten3.flatten;
exports2.flattenDeep = require_flattenDeep2.flattenDeep;
exports2.flattenDepth = require_flattenDepth2.flattenDepth;
exports2.flip = require_flip2.flip;
exports2.floor = require_floor4.floor;
exports2.flow = require_flow3.flow;
exports2.flowRight = require_flowRight3.flowRight;
exports2.forEach = require_forEach3.forEach;
exports2.forEachRight = require_forEachRight2.forEachRight;
exports2.forIn = require_forIn2.forIn;
exports2.forInRight = require_forInRight2.forInRight;
exports2.forOwn = require_forOwn2.forOwn;
exports2.forOwnRight = require_forOwnRight2.forOwnRight;
exports2.fromPairs = require_fromPairs2.fromPairs;
exports2.functions = require_functions2.functions;
exports2.functionsIn = require_functionsIn2.functionsIn;
exports2.get = require_get4.get;
exports2.groupBy = require_groupBy4.groupBy;
exports2.gt = require_gt3.gt;
exports2.gte = require_gte3.gte;
exports2.has = require_has2.has;
exports2.hasIn = require_hasIn2.hasIn;
exports2.head = require_head3.head;
exports2.identity = require_identity6.identity;
exports2.inRange = require_inRange3.inRange;
exports2.includes = require_includes2.includes;
exports2.indexOf = require_indexOf2.indexOf;
exports2.initial = require_initial3.initial;
exports2.intersection = require_intersection3.intersection;
exports2.intersectionBy = require_intersectionBy3.intersectionBy;
exports2.intersectionWith = require_intersectionWith3.intersectionWith;
exports2.invert = require_invert3.invert;
exports2.invertBy = require_invertBy2.invertBy;
exports2.invoke = require_invoke2.invoke;
exports2.invokeMap = require_invokeMap2.invokeMap;
exports2.isArguments = require_isArguments3.isArguments;
exports2.isArray = require_isArray2.isArray;
exports2.isArrayBuffer = require_isArrayBuffer3.isArrayBuffer;
exports2.isArrayLike = require_isArrayLike3.isArrayLike;
exports2.isArrayLikeObject = require_isArrayLikeObject2.isArrayLikeObject;
exports2.isBoolean = require_isBoolean3.isBoolean;
exports2.isBuffer = require_isBuffer3.isBuffer;
exports2.isDate = require_isDate4.isDate;
exports2.isElement = require_isElement2.isElement;
exports2.isEmpty = require_isEmpty3.isEmpty;
exports2.isEqual = require_isEqual2.isEqual;
exports2.isEqualWith = require_isEqualWith3.isEqualWith;
exports2.isError = require_isError3.isError;
exports2.isFinite = require_isFinite3.isFinite;
exports2.isFunction = require_isFunction4.isFunction;
exports2.isInteger = require_isInteger3.isInteger;
exports2.isLength = require_isLength3.isLength;
exports2.isMap = require_isMap3.isMap;
exports2.isMatch = require_isMatch2.isMatch;
exports2.isMatchWith = require_isMatchWith2.isMatchWith;
exports2.isNaN = require_isNaN3.isNaN;
exports2.isNative = require_isNative2.isNative;
exports2.isNil = require_isNil3.isNil;
exports2.isNull = require_isNull3.isNull;
exports2.isNumber = require_isNumber3.isNumber;
exports2.isObject = require_isObject3.isObject;
exports2.isObjectLike = require_isObjectLike2.isObjectLike;
exports2.isPlainObject = require_isPlainObject3.isPlainObject;
exports2.isRegExp = require_isRegExp3.isRegExp;
exports2.isSafeInteger = require_isSafeInteger2.isSafeInteger;
exports2.isSet = require_isSet3.isSet;
exports2.isString = require_isString3.isString;
exports2.isSymbol = require_isSymbol3.isSymbol;
exports2.isTypedArray = require_isTypedArray3.isTypedArray;
exports2.isUndefined = require_isUndefined3.isUndefined;
exports2.isWeakMap = require_isWeakMap3.isWeakMap;
exports2.isWeakSet = require_isWeakSet3.isWeakSet;
exports2.iteratee = require_iteratee2.iteratee;
exports2.join = require_join2.join;
exports2.kebabCase = require_kebabCase3.kebabCase;
exports2.keyBy = require_keyBy2.keyBy;
exports2.keys = require_keys2.keys;
exports2.keysIn = require_keysIn2.keysIn;
exports2.last = require_last4.last;
exports2.lastIndexOf = require_lastIndexOf2.lastIndexOf;
exports2.lowerCase = require_lowerCase3.lowerCase;
exports2.lowerFirst = require_lowerFirst3.lowerFirst;
exports2.lt = require_lt3.lt;
exports2.lte = require_lte3.lte;
exports2.map = require_map5.map;
exports2.mapKeys = require_mapKeys3.mapKeys;
exports2.mapValues = require_mapValues3.mapValues;
exports2.matches = require_matches2.matches;
exports2.matchesProperty = require_matchesProperty2.matchesProperty;
exports2.max = require_max4.max;
exports2.maxBy = require_maxBy3.maxBy;
exports2.mean = require_mean2.mean;
exports2.meanBy = require_meanBy3.meanBy;
exports2.memoize = require_memoize2.memoize;
exports2.merge = require_merge7.merge;
exports2.mergeWith = require_mergeWith3.mergeWith;
exports2.method = require_method2.method;
exports2.methodOf = require_methodOf2.methodOf;
exports2.min = require_min4.min;
exports2.minBy = require_minBy3.minBy;
exports2.multiply = require_multiply2.multiply;
exports2.negate = require_negate3.negate;
exports2.noop = require_noop4.noop;
exports2.now = require_now2.now;
exports2.nth = require_nth2.nth;
exports2.nthArg = require_nthArg2.nthArg;
exports2.omit = require_omit2.omit;
exports2.omitBy = require_omitBy2.omitBy;
exports2.once = require_once3.once;
exports2.orderBy = require_orderBy2.orderBy;
exports2.over = require_over2.over;
exports2.overArgs = require_overArgs2.overArgs;
exports2.overEvery = require_overEvery2.overEvery;
exports2.overSome = require_overSome2.overSome;
exports2.pad = require_pad3.pad;
exports2.padEnd = require_padEnd2.padEnd;
exports2.padStart = require_padStart2.padStart;
exports2.parseInt = require_parseInt2.parseInt;
exports2.partial = require_partial4.partial;
exports2.partialRight = require_partialRight3.partialRight;
exports2.partition = require_partition5.partition;
exports2.pick = require_pick2.pick;
exports2.pickBy = require_pickBy2.pickBy;
exports2.property = require_property2.property;
exports2.propertyOf = require_propertyOf2.propertyOf;
exports2.pull = require_pull3.pull;
exports2.pullAll = require_pullAll2.pullAll;
exports2.pullAllBy = require_pullAllBy2.pullAllBy;
exports2.pullAllWith = require_pullAllWith2.pullAllWith;
exports2.pullAt = require_pullAt2.pullAt;
exports2.random = require_random3.random;
exports2.range = require_range6.range;
exports2.rangeRight = require_rangeRight2.rangeRight;
exports2.rearg = require_rearg2.rearg;
exports2.reduce = require_reduce3.reduce;
exports2.reduceRight = require_reduceRight2.reduceRight;
exports2.reject = require_reject2.reject;
exports2.remove = require_remove5.remove;
exports2.repeat = require_repeat3.repeat;
exports2.replace = require_replace2.replace;
exports2.rest = require_rest3.rest;
exports2.result = require_result2.result;
exports2.reverse = require_reverse3.reverse;
exports2.round = require_round3.round;
exports2.sample = require_sample4.sample;
exports2.sampleSize = require_sampleSize3.sampleSize;
exports2.set = require_set5.set;
exports2.setWith = require_setWith2.setWith;
exports2.shuffle = require_shuffle3.shuffle;
exports2.size = require_size2.size;
exports2.slice = require_slice2.slice;
exports2.snakeCase = require_snakeCase3.snakeCase;
exports2.some = require_some2.some;
exports2.sortBy = require_sortBy2.sortBy;
exports2.sortedIndex = require_sortedIndex2.sortedIndex;
exports2.sortedIndexBy = require_sortedIndexBy2.sortedIndexBy;
exports2.sortedIndexOf = require_sortedIndexOf2.sortedIndexOf;
exports2.sortedLastIndex = require_sortedLastIndex2.sortedLastIndex;
exports2.sortedLastIndexBy = require_sortedLastIndexBy2.sortedLastIndexBy;
exports2.sortedLastIndexOf = require_sortedLastIndexOf2.sortedLastIndexOf;
exports2.split = require_split3.split;
exports2.spread = require_spread2.spread;
exports2.startCase = require_startCase2.startCase;
exports2.startsWith = require_startsWith2.startsWith;
exports2.stubArray = require_stubArray2.stubArray;
exports2.stubFalse = require_stubFalse2.stubFalse;
exports2.stubObject = require_stubObject2.stubObject;
exports2.stubString = require_stubString2.stubString;
exports2.stubTrue = require_stubTrue2.stubTrue;
exports2.subtract = require_subtract2.subtract;
exports2.sum = require_sum2.sum;
exports2.sumBy = require_sumBy3.sumBy;
exports2.tail = require_tail3.tail;
exports2.take = require_take4.take;
exports2.takeRight = require_takeRight3.takeRight;
exports2.takeRightWhile = require_takeRightWhile2.takeRightWhile;
exports2.takeWhile = require_takeWhile3.takeWhile;
exports2.template = require_template2.template;
exports2.templateSettings = require_template2.templateSettings;
exports2.throttle = require_throttle3.throttle;
exports2.times = require_times2.times;
exports2.toArray = require_toArray4.toArray;
exports2.toDefaulted = require_toDefaulted2.toDefaulted;
exports2.toFinite = require_toFinite2.toFinite;
exports2.toInteger = require_toInteger2.toInteger;
exports2.toLength = require_toLength2.toLength;
exports2.toLower = require_toLower2.toLower;
exports2.toNumber = require_toNumber2.toNumber;
exports2.toPairs = require_toPairs2.toPairs;
exports2.toPairsIn = require_toPairsIn2.toPairsIn;
exports2.toPath = require_toPath2.toPath;
exports2.toPlainObject = require_toPlainObject2.toPlainObject;
exports2.toSafeInteger = require_toSafeInteger2.toSafeInteger;
exports2.toString = require_toString2.toString;
exports2.toUpper = require_toUpper2.toUpper;
exports2.transform = require_transform2.transform;
exports2.trim = require_trim3.trim;
exports2.trimEnd = require_trimEnd3.trimEnd;
exports2.trimStart = require_trimStart3.trimStart;
exports2.truncate = require_truncate5.truncate;
exports2.unary = require_unary2.unary;
exports2.unescape = require_unescape4.unescape;
exports2.union = require_union2.union;
exports2.unionBy = require_unionBy2.unionBy;
exports2.unionWith = require_unionWith2.unionWith;
exports2.uniq = require_uniq3.uniq;
exports2.uniqBy = require_uniqBy3.uniqBy;
exports2.uniqWith = require_uniqWith3.uniqWith;
exports2.uniqueId = require_uniqueId2.uniqueId;
exports2.unset = require_unset2.unset;
exports2.unzip = require_unzip3.unzip;
exports2.unzipWith = require_unzipWith2.unzipWith;
exports2.update = require_update2.update;
exports2.updateWith = require_updateWith2.updateWith;
exports2.upperCase = require_upperCase3.upperCase;
exports2.upperFirst = require_upperFirst3.upperFirst;
exports2.values = require_values2.values;
exports2.valuesIn = require_valuesIn2.valuesIn;
exports2.without = require_without3.without;
exports2.words = require_words3.words;
exports2.wrap = require_wrap2.wrap;
exports2.xor = require_xor2.xor;
exports2.xorBy = require_xorBy2.xorBy;
exports2.xorWith = require_xorWith2.xorWith;
exports2.zip = require_zip5.zip;
exports2.zipObject = require_zipObject2.zipObject;
exports2.zipObjectDeep = require_zipObjectDeep2.zipObjectDeep;
exports2.zipWith = require_zipWith3.zipWith;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-try/2.2.0/2a3bb7d4662d1588ddca99166b04df704262848dc4df90020be8ece38fdef888/node_modules/p-try/index.js
var require_p_try = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-try/2.2.0/2a3bb7d4662d1588ddca99166b04df704262848dc4df90020be8ece38fdef888/node_modules/p-try/index.js"(exports2, module2) {
"use strict";
var pTry = (fn, ...arguments_) => new Promise((resolve4) => {
resolve4(fn(...arguments_));
});
module2.exports = pTry;
module2.exports.default = pTry;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/2.3.0/cf2c24bf5ef53ffc442b94247bda1b5aa1ab0ac9b3dbe0892cad298d4be0eb79/node_modules/p-limit/index.js
var require_p_limit2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/p-limit/2.3.0/cf2c24bf5ef53ffc442b94247bda1b5aa1ab0ac9b3dbe0892cad298d4be0eb79/node_modules/p-limit/index.js"(exports2, module2) {
"use strict";
var pTry = require_p_try();
var pLimit2 = (concurrency) => {
if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));
}
const queue2 = [];
let activeCount = 0;
const next2 = () => {
activeCount--;
if (queue2.length > 0) {
queue2.shift()();
}
};
const run2 = (fn, resolve4, ...args) => {
activeCount++;
const result2 = pTry(fn, ...args);
resolve4(result2);
result2.then(next2, next2);
};
const enqueue = (fn, resolve4, ...args) => {
if (activeCount < concurrency) {
run2(fn, resolve4, ...args);
} else {
queue2.push(run2.bind(null, fn, resolve4, ...args));
}
};
const generator = (fn, ...args) => new Promise((resolve4) => enqueue(fn, resolve4, ...args));
Object.defineProperties(generator, {
activeCount: {
get: () => activeCount
},
pendingCount: {
get: () => queue2.length
},
clearQueue: {
value: () => {
queue2.length = 0;
}
}
});
return generator;
};
module2.exports = pLimit2;
module2.exports.default = pLimit2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/miscUtils.js
var require_miscUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/miscUtils.js"(exports, module) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CachingStrategy = exports.DefaultStream = exports.AsyncActions = exports.BufferStream = void 0;
exports.isTaggedYarnVersion = isTaggedYarnVersion;
exports.plural = plural;
exports.escapeRegExp = escapeRegExp;
exports.overrideType = overrideType;
exports.assertNever = assertNever;
exports.validateEnum = validateEnum;
exports.mapAndFilter = mapAndFilter;
exports.mapAndFind = mapAndFind;
exports.isIndexableObject = isIndexableObject;
exports.allSettledSafe = allSettledSafe;
exports.convertMapsToIndexableObjects = convertMapsToIndexableObjects;
exports.getFactoryWithDefault = getFactoryWithDefault;
exports.getArrayWithDefault = getArrayWithDefault;
exports.getSetWithDefault = getSetWithDefault;
exports.getMapWithDefault = getMapWithDefault;
exports.releaseAfterUseAsync = releaseAfterUseAsync;
exports.prettifyAsyncErrors = prettifyAsyncErrors;
exports.prettifySyncErrors = prettifySyncErrors;
exports.bufferStream = bufferStream;
exports.makeDeferred = makeDeferred;
exports.dynamicRequire = dynamicRequire;
exports.sortMap = sortMap;
exports.buildIgnorePattern = buildIgnorePattern;
exports.replaceEnvVariables = replaceEnvVariables;
exports.parseBoolean = parseBoolean;
exports.parseOptionalBoolean = parseOptionalBoolean;
exports.tryParseOptionalBoolean = tryParseOptionalBoolean;
exports.isPathLike = isPathLike;
exports.mergeIntoTarget = mergeIntoTarget;
exports.toMerged = toMerged;
exports.groupBy = groupBy;
exports.parseInt = parseInt;
exports.parseDuration = parseDuration;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fslib_1 = require_lib2();
var clipanion_1 = require_advanced();
var compat_1 = require_compat2();
var micromatch_1 = tslib_1.__importDefault(require_micromatch());
var p_limit_1 = tslib_1.__importDefault(require_p_limit2());
var semver_1 = tslib_1.__importDefault(require_semver2());
var stream_1 = __require("stream");
function isTaggedYarnVersion(version2) {
return !!(semver_1.default.valid(version2) && version2.match(/^[^-]+(-rc\.[0-9]+)?$/));
}
function plural(n2, { one: one2, more, zero: zero2 = more }) {
return n2 === 0 ? zero2 : n2 === 1 ? one2 : more;
}
function escapeRegExp(str2) {
return str2.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`);
}
function overrideType(val) {
}
function assertNever(arg) {
throw new Error(`Assertion failed: Unexpected object '${arg}'`);
}
function validateEnum(def, value) {
const values = Object.values(def);
if (!values.includes(value))
throw new clipanion_1.UsageError(`Invalid value for enumeration: ${JSON.stringify(value)} (expected one of ${values.map((value2) => JSON.stringify(value2)).join(`, `)})`);
return value;
}
function mapAndFilter(iterable, cb) {
const output = [];
for (const value of iterable) {
const out = cb(value);
if (out !== mapAndFilterSkip) {
output.push(out);
}
}
return output;
}
var mapAndFilterSkip = /* @__PURE__ */ Symbol();
mapAndFilter.skip = mapAndFilterSkip;
function mapAndFind(iterable, cb) {
for (const value of iterable) {
const out = cb(value);
if (out !== mapAndFindSkip) {
return out;
}
}
return void 0;
}
var mapAndFindSkip = /* @__PURE__ */ Symbol();
mapAndFind.skip = mapAndFindSkip;
function isIndexableObject(value) {
return typeof value === `object` && value !== null;
}
async function allSettledSafe(promises) {
const results = await Promise.allSettled(promises);
const values = [];
for (const result2 of results) {
if (result2.status === `rejected`) {
throw result2.reason;
} else {
values.push(result2.value);
}
}
return values;
}
function convertMapsToIndexableObjects(arg) {
if (arg instanceof Map)
arg = Object.fromEntries(arg);
if (isIndexableObject(arg)) {
for (const key of Object.keys(arg)) {
const value = arg[key];
if (isIndexableObject(value)) {
arg[key] = convertMapsToIndexableObjects(value);
}
}
}
return arg;
}
function getFactoryWithDefault(map26, key, factory) {
let value = map26.get(key);
if (typeof value === `undefined`)
map26.set(key, value = factory());
return value;
}
function getArrayWithDefault(map26, key) {
let value = map26.get(key);
if (typeof value === `undefined`)
map26.set(key, value = []);
return value;
}
function getSetWithDefault(map26, key) {
let value = map26.get(key);
if (typeof value === `undefined`)
map26.set(key, value = /* @__PURE__ */ new Set());
return value;
}
function getMapWithDefault(map26, key) {
let value = map26.get(key);
if (typeof value === `undefined`)
map26.set(key, value = /* @__PURE__ */ new Map());
return value;
}
async function releaseAfterUseAsync(fn, cleanup2) {
if (cleanup2 == null)
return await fn();
try {
return await fn();
} finally {
await cleanup2();
}
}
async function prettifyAsyncErrors(fn, update2) {
try {
return await fn();
} catch (error) {
error.message = update2(error.message);
throw error;
}
}
function prettifySyncErrors(fn, update2) {
try {
return fn();
} catch (error) {
error.message = update2(error.message);
throw error;
}
}
async function bufferStream(stream2) {
return await new Promise((resolve4, reject3) => {
const chunks = [];
stream2.on(`error`, (error) => {
reject3(error);
});
stream2.on(`data`, (chunk) => {
chunks.push(chunk);
});
stream2.on(`end`, () => {
resolve4(Buffer.concat(chunks));
});
});
}
var BufferStream = class extends stream_1.Transform {
constructor() {
super(...arguments);
this.chunks = [];
}
_transform(chunk, encoding, cb) {
if (encoding !== `buffer` || !Buffer.isBuffer(chunk))
throw new Error(`Assertion failed: BufferStream only accept buffers`);
this.chunks.push(chunk);
cb(null, null);
}
_flush(cb) {
cb(null, Buffer.concat(this.chunks));
}
};
exports.BufferStream = BufferStream;
function makeDeferred() {
let resolve4;
let reject3;
const promise2 = new Promise((resolveFn, rejectFn) => {
resolve4 = resolveFn;
reject3 = rejectFn;
});
return { promise: promise2, resolve: resolve4, reject: reject3 };
}
var AsyncActions = class {
constructor(limit) {
this.deferred = /* @__PURE__ */ new Map();
this.promises = /* @__PURE__ */ new Map();
this.limit = (0, p_limit_1.default)(limit);
}
set(key, factory) {
let deferred = this.deferred.get(key);
if (typeof deferred === `undefined`)
this.deferred.set(key, deferred = makeDeferred());
const promise2 = this.limit(() => factory());
this.promises.set(key, promise2);
promise2.then(() => {
if (this.promises.get(key) === promise2) {
deferred.resolve();
}
}, (err2) => {
if (this.promises.get(key) === promise2) {
deferred.reject(err2);
}
});
return deferred.promise;
}
reduce(key, factory) {
const promise2 = this.promises.get(key) ?? Promise.resolve();
this.set(key, () => factory(promise2));
}
async wait() {
await Promise.all(this.promises.values());
}
};
exports.AsyncActions = AsyncActions;
var DefaultStream = class extends stream_1.Transform {
constructor(ifEmpty = Buffer.alloc(0)) {
super();
this.active = true;
this.ifEmpty = ifEmpty;
}
_transform(chunk, encoding, cb) {
if (encoding !== `buffer` || !Buffer.isBuffer(chunk))
throw new Error(`Assertion failed: DefaultStream only accept buffers`);
this.active = false;
cb(null, chunk);
}
_flush(cb) {
if (this.active && this.ifEmpty.length > 0) {
cb(null, this.ifEmpty);
} else {
cb(null);
}
}
};
exports.DefaultStream = DefaultStream;
var realRequire = eval(`require`);
function dynamicRequireNode(path236) {
return realRequire(fslib_1.npath.fromPortablePath(path236));
}
function dynamicRequireNoCache(path) {
const physicalPath = fslib_1.npath.fromPortablePath(path);
const currentCacheEntry = realRequire.cache[physicalPath];
delete realRequire.cache[physicalPath];
let result;
try {
result = dynamicRequireNode(physicalPath);
const freshCacheEntry = realRequire.cache[physicalPath];
const dynamicModule = eval(`module`);
const freshCacheIndex = dynamicModule.children.indexOf(freshCacheEntry);
if (freshCacheIndex !== -1) {
dynamicModule.children.splice(freshCacheIndex, 1);
}
} finally {
realRequire.cache[physicalPath] = currentCacheEntry;
}
return result;
}
var dynamicRequireFsTimeCache = /* @__PURE__ */ new Map();
function dynamicRequireFsTime(path236) {
const cachedInstance = dynamicRequireFsTimeCache.get(path236);
const stat2 = fslib_1.xfs.statSync(path236);
if (cachedInstance?.mtime === stat2.mtimeMs)
return cachedInstance.instance;
const instance = dynamicRequireNoCache(path236);
dynamicRequireFsTimeCache.set(path236, { mtime: stat2.mtimeMs, instance });
return instance;
}
var CachingStrategy;
(function(CachingStrategy2) {
CachingStrategy2[CachingStrategy2["NoCache"] = 0] = "NoCache";
CachingStrategy2[CachingStrategy2["FsTime"] = 1] = "FsTime";
CachingStrategy2[CachingStrategy2["Node"] = 2] = "Node";
})(CachingStrategy || (exports.CachingStrategy = CachingStrategy = {}));
function dynamicRequire(path236, { cachingStrategy = CachingStrategy.Node } = {}) {
switch (cachingStrategy) {
case CachingStrategy.NoCache:
return dynamicRequireNoCache(path236);
case CachingStrategy.FsTime:
return dynamicRequireFsTime(path236);
case CachingStrategy.Node:
return dynamicRequireNode(path236);
default: {
throw new Error(`Unsupported caching strategy`);
}
}
}
function sortMap(values, mappers) {
const asArray = Array.from(values);
if (!Array.isArray(mappers))
mappers = [mappers];
const stringified = [];
for (const mapper of mappers)
stringified.push(asArray.map((value) => mapper(value)));
const indices = asArray.map((_, index2) => index2);
indices.sort((a2, b) => {
for (const layer of stringified) {
const comparison = layer[a2] < layer[b] ? -1 : layer[a2] > layer[b] ? 1 : 0;
if (comparison !== 0) {
return comparison;
}
}
return 0;
});
return indices.map((index2) => {
return asArray[index2];
});
}
function buildIgnorePattern(ignorePatterns) {
if (ignorePatterns.length === 0)
return null;
return ignorePatterns.map((pattern) => {
return `(${micromatch_1.default.makeRe(pattern, {
windows: false,
dot: true
}).source})`;
}).join(`|`);
}
function replaceEnvVariables(input, { env: env3 }) {
let output = ``;
let current = 0;
let depth = 0;
const iterator = input.matchAll(/\\(?<escaped>[\\$}])|\$\{(?<variable>[a-zA-Z]\w*)(?<operator>:-|-|(?=\}))|(?<unknown>\$\{)|\}/g);
const skip2 = () => {
const limit = depth;
for (const { 0: match, index: index2, groups: { variable } = {} } of iterator) {
if (variable) {
depth++;
} else if (match === `}`) {
if (--depth < limit) {
return index2 + match.length;
}
}
}
return input.length;
};
for (const { 0: match, index: index2, groups: { escaped, variable, operator, unknown } = {} } of iterator) {
output += input.slice(current, index2);
current = index2 + match.length;
if (escaped) {
output += escaped;
} else if (variable) {
const value = env3[variable];
depth++;
if (
// ${VAR}
operator === `` && value !== void 0 || // ${VAR:-
operator === `:-` && value !== void 0 && value !== `` || // ${VAR-
operator === `-` && value !== void 0
) {
output += value;
current = skip2();
} else if (operator === ``) {
throw new clipanion_1.UsageError(`Environment variable not found (${variable})`);
}
} else if (match === `}`) {
if (depth === 0) {
output += match;
} else {
depth--;
}
} else if (unknown) {
throw new clipanion_1.UsageError(`Invalid environment variable substitution syntax: ${input}`);
}
}
if (depth > 0)
throw new clipanion_1.UsageError(`Incomplete variable substitution in input: ${input}`);
return output + input.slice(current);
}
function parseBoolean(value) {
switch (value) {
case `true`:
case `1`:
case 1:
case true: {
return true;
}
case `false`:
case `0`:
case 0:
case false: {
return false;
}
default: {
throw new Error(`Couldn't parse "${value}" as a boolean`);
}
}
}
function parseOptionalBoolean(value) {
if (typeof value === `undefined`)
return value;
return parseBoolean(value);
}
function tryParseOptionalBoolean(value) {
try {
return parseOptionalBoolean(value);
} catch {
return null;
}
}
function isPathLike(value) {
if (fslib_1.npath.isAbsolute(value) || value.match(/^(\.{1,2}|~)\//))
return true;
return false;
}
function mergeIntoTarget(target2, ...sources) {
const wrap2 = (value2) => ({ value: value2 });
const wrappedTarget = wrap2(target2);
const wrappedSources = sources.map((source) => wrap2(source));
const { value } = (0, compat_1.mergeWith)(wrappedTarget, ...wrappedSources, (targetValue, sourceValue) => {
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
for (const sourceItem of sourceValue) {
if (!targetValue.find((targetItem) => (0, compat_1.isEqual)(targetItem, sourceItem))) {
targetValue.push(sourceItem);
}
}
return targetValue;
}
return void 0;
});
return value;
}
function toMerged(...sources) {
return mergeIntoTarget({}, ...sources);
}
function groupBy(items, key) {
const groups = /* @__PURE__ */ Object.create(null);
for (const item of items) {
const groupKey = item[key];
groups[groupKey] ??= [];
groups[groupKey].push(item);
}
return groups;
}
function parseInt(val) {
return typeof val === `string` ? Number.parseInt(val, 10) : val;
}
var DURATION_UNITS = {
ms: 1,
s: 1e3,
m: 60 * 1e3,
h: 60 * 60 * 1e3,
d: 24 * 60 * 60 * 1e3,
w: 7 * 24 * 60 * 60 * 1e3
};
var DURATION_REGEXP = new RegExp(`^(?<num>\\d*\\.?\\d+)(?<unit>${Object.keys(DURATION_UNITS).join(`|`)})?$`);
function parseDuration(value, unit) {
const match = DURATION_REGEXP.exec(value)?.groups;
if (!match)
throw new Error(`Couldn't parse "${value}" as a duration`);
if (match.unit === void 0)
return parseFloat(match.num);
const multiplier = DURATION_UNITS[match.unit];
if (!multiplier)
throw new Error(`Invalid duration unit "${match.unit}"`);
return parseFloat(match.num) * multiplier / DURATION_UNITS[unit];
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/types.js
var require_types = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PackageExtensionStatus = exports2.PackageExtensionType = exports2.LinkType = void 0;
var LinkType;
(function(LinkType2) {
LinkType2["HARD"] = "HARD";
LinkType2["SOFT"] = "SOFT";
})(LinkType || (exports2.LinkType = LinkType = {}));
var PackageExtensionType;
(function(PackageExtensionType2) {
PackageExtensionType2["Dependency"] = "Dependency";
PackageExtensionType2["PeerDependency"] = "PeerDependency";
PackageExtensionType2["PeerDependencyMeta"] = "PeerDependencyMeta";
})(PackageExtensionType || (exports2.PackageExtensionType = PackageExtensionType = {}));
var PackageExtensionStatus;
(function(PackageExtensionStatus2) {
PackageExtensionStatus2["Inactive"] = "inactive";
PackageExtensionStatus2["Redundant"] = "redundant";
PackageExtensionStatus2["Active"] = "active";
})(PackageExtensionStatus || (exports2.PackageExtensionStatus = PackageExtensionStatus = {}));
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/formatUtils.js
var require_formatUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/formatUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LogLevel = exports2.supportsHyperlinks = exports2.supportsColor = exports2.Style = exports2.Type = exports2.stripAnsi = void 0;
exports2.tuple = tuple;
exports2.applyStyle = applyStyle2;
exports2.applyColor = applyColor;
exports2.applyHyperlink = applyHyperlink;
exports2.pretty = pretty;
exports2.prettyList = prettyList;
exports2.json = json2;
exports2.jsonOrPretty = jsonOrPretty;
exports2.mark = mark;
exports2.prettyField = prettyField;
exports2.prettyTruncatedLocatorList = prettyTruncatedLocatorList;
exports2.addLogFilterSupport = addLogFilterSupport;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fslib_12 = require_lib2();
var chalk_1 = tslib_12.__importDefault(require_source2());
var ci_info_1 = tslib_12.__importDefault(require_ci_info());
var clipanion_12 = require_advanced();
var micromatch_12 = tslib_12.__importDefault(require_micromatch());
var strip_ansi_1 = tslib_12.__importDefault(require_strip_ansi());
exports2.stripAnsi = strip_ansi_1.default;
var MessageName_1 = require_MessageName();
var miscUtils = tslib_12.__importStar(require_miscUtils());
var structUtils2 = tslib_12.__importStar(require_structUtils());
var types_1 = require_types();
exports2.Type = {
NO_HINT: `NO_HINT`,
ID: `ID`,
NULL: `NULL`,
SCOPE: `SCOPE`,
NAME: `NAME`,
RANGE: `RANGE`,
REFERENCE: `REFERENCE`,
NUMBER: `NUMBER`,
STRING: `STRING`,
BOOLEAN: `BOOLEAN`,
PATH: `PATH`,
URL: `URL`,
ADDED: `ADDED`,
REMOVED: `REMOVED`,
CODE: `CODE`,
INSPECT: `INSPECT`,
DURATION: `DURATION`,
SIZE: `SIZE`,
SIZE_DIFF: `SIZE_DIFF`,
IDENT: `IDENT`,
DESCRIPTOR: `DESCRIPTOR`,
LOCATOR: `LOCATOR`,
RESOLUTION: `RESOLUTION`,
DEPENDENT: `DEPENDENT`,
PACKAGE_EXTENSION: `PACKAGE_EXTENSION`,
SETTING: `SETTING`,
MARKDOWN: `MARKDOWN`,
MARKDOWN_INLINE: `MARKDOWN_INLINE`
};
var Style;
(function(Style2) {
Style2[Style2["BOLD"] = 2] = "BOLD";
})(Style || (exports2.Style = Style = {}));
var chalkOptions = ci_info_1.default.GITHUB_ACTIONS ? { level: 2 } : chalk_1.default.supportsColor ? { level: chalk_1.default.supportsColor.level } : { level: 0 };
exports2.supportsColor = chalkOptions.level !== 0;
exports2.supportsHyperlinks = exports2.supportsColor && !ci_info_1.default.GITHUB_ACTIONS && !ci_info_1.default.CIRCLE && !ci_info_1.default.GITLAB;
var chalkInstance = new chalk_1.default.Instance(chalkOptions);
var colors = /* @__PURE__ */ new Map([
[exports2.Type.NO_HINT, null],
[exports2.Type.NULL, [`#a853b5`, 129]],
[exports2.Type.SCOPE, [`#d75f00`, 166]],
[exports2.Type.NAME, [`#d7875f`, 173]],
[exports2.Type.RANGE, [`#00afaf`, 37]],
[exports2.Type.REFERENCE, [`#87afff`, 111]],
[exports2.Type.NUMBER, [`#ffd700`, 220]],
[exports2.Type.STRING, [`#b4bd68`, 32]],
[exports2.Type.BOOLEAN, [`#faa023`, 209]],
[exports2.Type.PATH, [`#d75fd7`, 170]],
[exports2.Type.URL, [`#d75fd7`, 170]],
[exports2.Type.ADDED, [`#5faf00`, 70]],
[exports2.Type.REMOVED, [`#ff3131`, 160]],
[exports2.Type.CODE, [`#87afff`, 111]],
[exports2.Type.SIZE, [`#ffd700`, 220]]
]);
var validateTransform = (spec) => spec;
function sizeToText(size) {
const thresholds = [`KiB`, `MiB`, `GiB`, `TiB`];
let power = thresholds.length;
while (power > 1 && size < 1024 ** power)
power -= 1;
const factor = 1024 ** power;
const value = Math.floor(size * 100 / factor) / 100;
return `${value} ${thresholds[power - 1]}`;
}
function prettyObject(configuration, value) {
if (Array.isArray(value)) {
if (value.length === 0) {
return applyColor(configuration, `[]`, exports2.Type.CODE);
} else {
return applyColor(configuration, `[ `, exports2.Type.CODE) + value.map((item) => prettyObject(configuration, item)).join(`, `) + applyColor(configuration, ` ]`, exports2.Type.CODE);
}
}
if (typeof value === `string`)
return applyColor(configuration, JSON.stringify(value), exports2.Type.STRING);
if (typeof value === `number`)
return applyColor(configuration, JSON.stringify(value), exports2.Type.NUMBER);
if (typeof value === `boolean`)
return applyColor(configuration, JSON.stringify(value), exports2.Type.BOOLEAN);
if (value === null)
return applyColor(configuration, `null`, exports2.Type.NULL);
if (typeof value === `object` && Object.getPrototypeOf(value) === Object.prototype) {
const entries = Object.entries(value);
if (entries.length === 0) {
return applyColor(configuration, `{}`, exports2.Type.CODE);
} else {
return applyColor(configuration, `{ `, exports2.Type.CODE) + entries.map(([key, value2]) => `${prettyObject(configuration, key)}: ${prettyObject(configuration, value2)}`).join(`, `) + applyColor(configuration, ` }`, exports2.Type.CODE);
}
}
if (typeof value === `undefined`)
return applyColor(configuration, `undefined`, exports2.Type.NULL);
throw new Error(`Assertion failed: The value doesn't seem to be a valid JSON object`);
}
var transforms = {
[exports2.Type.ID]: validateTransform({
pretty: (configuration, value) => {
if (typeof value === `number`) {
return applyColor(configuration, `${value}`, exports2.Type.NUMBER);
} else {
return applyColor(configuration, value, exports2.Type.CODE);
}
},
json: (id) => {
return id;
}
}),
[exports2.Type.INSPECT]: validateTransform({
pretty: (configuration, value) => {
return prettyObject(configuration, value);
},
json: (value) => {
return value;
}
}),
[exports2.Type.NUMBER]: validateTransform({
pretty: (configuration, value) => {
return applyColor(configuration, `${value}`, exports2.Type.NUMBER);
},
json: (value) => {
return value;
}
}),
[exports2.Type.IDENT]: validateTransform({
pretty: (configuration, ident) => {
return structUtils2.prettyIdent(configuration, ident);
},
json: (ident) => {
return structUtils2.stringifyIdent(ident);
}
}),
[exports2.Type.LOCATOR]: validateTransform({
pretty: (configuration, locator) => {
return structUtils2.prettyLocator(configuration, locator);
},
json: (locator) => {
return structUtils2.stringifyLocator(locator);
}
}),
[exports2.Type.DESCRIPTOR]: validateTransform({
pretty: (configuration, descriptor) => {
return structUtils2.prettyDescriptor(configuration, descriptor);
},
json: (descriptor) => {
return structUtils2.stringifyDescriptor(descriptor);
}
}),
[exports2.Type.RESOLUTION]: validateTransform({
pretty: (configuration, { descriptor, locator }) => {
return structUtils2.prettyResolution(configuration, descriptor, locator);
},
json: ({ descriptor, locator }) => {
return {
descriptor: structUtils2.stringifyDescriptor(descriptor),
locator: locator !== null ? structUtils2.stringifyLocator(locator) : null
};
}
}),
[exports2.Type.DEPENDENT]: validateTransform({
pretty: (configuration, { locator, descriptor }) => {
return structUtils2.prettyDependent(configuration, locator, descriptor);
},
json: ({ locator, descriptor }) => {
return {
locator: structUtils2.stringifyLocator(locator),
descriptor: structUtils2.stringifyDescriptor(descriptor)
};
}
}),
[exports2.Type.PACKAGE_EXTENSION]: validateTransform({
pretty: (configuration, packageExtension) => {
switch (packageExtension.type) {
case types_1.PackageExtensionType.Dependency:
return `${structUtils2.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `dependencies`, exports2.Type.CODE)} \u27A4 ${structUtils2.prettyIdent(configuration, packageExtension.descriptor)}`;
case types_1.PackageExtensionType.PeerDependency:
return `${structUtils2.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependencies`, exports2.Type.CODE)} \u27A4 ${structUtils2.prettyIdent(configuration, packageExtension.descriptor)}`;
case types_1.PackageExtensionType.PeerDependencyMeta:
return `${structUtils2.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependenciesMeta`, exports2.Type.CODE)} \u27A4 ${structUtils2.prettyIdent(configuration, structUtils2.parseIdent(packageExtension.selector))} \u27A4 ${applyColor(configuration, packageExtension.key, exports2.Type.CODE)}`;
default:
throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`);
}
},
json: (packageExtension) => {
switch (packageExtension.type) {
case types_1.PackageExtensionType.Dependency:
return `${structUtils2.stringifyIdent(packageExtension.parentDescriptor)} > ${structUtils2.stringifyIdent(packageExtension.descriptor)}`;
case types_1.PackageExtensionType.PeerDependency:
return `${structUtils2.stringifyIdent(packageExtension.parentDescriptor)} >> ${structUtils2.stringifyIdent(packageExtension.descriptor)}`;
case types_1.PackageExtensionType.PeerDependencyMeta:
return `${structUtils2.stringifyIdent(packageExtension.parentDescriptor)} >> ${packageExtension.selector} / ${packageExtension.key}`;
default:
throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`);
}
}
}),
[exports2.Type.SETTING]: validateTransform({
pretty: (configuration, settingName) => {
configuration.get(settingName);
return applyHyperlink(configuration, applyColor(configuration, settingName, exports2.Type.CODE), `https://yarnpkg.com/configuration/yarnrc#${settingName}`);
},
json: (settingName) => {
return settingName;
}
}),
[exports2.Type.DURATION]: validateTransform({
pretty: (configuration, duration) => {
if (duration > 1e3 * 60) {
const minutes = Math.floor(duration / 1e3 / 60);
const seconds = Math.ceil((duration - minutes * 60 * 1e3) / 1e3);
return seconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;
} else {
const seconds = Math.floor(duration / 1e3);
const milliseconds = duration - seconds * 1e3;
return milliseconds === 0 ? `${seconds}s` : `${seconds}s ${milliseconds}ms`;
}
},
json: (duration) => {
return duration;
}
}),
[exports2.Type.SIZE]: validateTransform({
pretty: (configuration, size) => {
return applyColor(configuration, sizeToText(size), exports2.Type.NUMBER);
},
json: (size) => {
return size;
}
}),
[exports2.Type.SIZE_DIFF]: validateTransform({
pretty: (configuration, size) => {
const sign = size >= 0 ? `+` : `-`;
const type4 = sign === `+` ? exports2.Type.REMOVED : exports2.Type.ADDED;
return applyColor(configuration, `${sign} ${sizeToText(Math.max(Math.abs(size), 1))}`, type4);
},
json: (size) => {
return size;
}
}),
[exports2.Type.PATH]: validateTransform({
pretty: (configuration, filePath) => {
return applyColor(configuration, fslib_12.npath.fromPortablePath(filePath), exports2.Type.PATH);
},
json: (filePath) => {
return fslib_12.npath.fromPortablePath(filePath);
}
}),
[exports2.Type.MARKDOWN]: validateTransform({
pretty: (configuration, { text, format: format2, paragraphs }) => {
return (0, clipanion_12.formatMarkdownish)(text, { format: format2, paragraphs });
},
json: ({ text }) => {
return text;
}
}),
[exports2.Type.MARKDOWN_INLINE]: validateTransform({
pretty: (configuration, text) => {
text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return pretty(configuration, $1 + $2 + $1, exports2.Type.CODE);
});
text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return applyStyle2(configuration, $2, Style.BOLD);
});
return text;
},
json: (text) => {
return text;
}
})
};
function tuple(formatType, value) {
return [value, formatType];
}
function applyStyle2(configuration, text, flags) {
if (!configuration.get(`enableColors`))
return text;
if (flags & Style.BOLD)
text = chalk_1.default.bold(text);
return text;
}
function applyColor(configuration, value, formatType) {
if (!configuration.get(`enableColors`))
return value;
const colorSpec = colors.get(formatType);
if (colorSpec === null)
return value;
const color = typeof colorSpec === `undefined` ? formatType : chalkOptions.level >= 3 ? colorSpec[0] : colorSpec[1];
const fn = typeof color === `number` ? chalkInstance.ansi256(color) : color.startsWith(`#`) ? chalkInstance.hex(color) : chalkInstance[color];
if (typeof fn !== `function`)
throw new Error(`Invalid format type ${color}`);
return fn(value);
}
var isKonsole = !!process.env.KONSOLE_VERSION;
function applyHyperlink(configuration, text, href) {
if (!configuration.get(`enableHyperlinks`))
return text;
if (isKonsole)
return `\x1B]8;;${href}\x1B\\${text}\x1B]8;;\x1B\\`;
return `\x1B]8;;${href}\x07${text}\x1B]8;;\x07`;
}
function pretty(configuration, value, formatType) {
if (value === null)
return applyColor(configuration, `null`, exports2.Type.NULL);
if (Object.hasOwn(transforms, formatType)) {
const transform3 = transforms[formatType];
const typedTransform = transform3;
return typedTransform.pretty(configuration, value);
}
if (typeof value !== `string`)
throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`);
return applyColor(configuration, value, formatType);
}
function prettyList(configuration, values, formatType, { separator = `, ` } = {}) {
return [...values].map((value) => pretty(configuration, value, formatType)).join(separator);
}
function json2(value, formatType) {
if (value === null)
return null;
if (Object.hasOwn(transforms, formatType)) {
miscUtils.overrideType(formatType);
return transforms[formatType].json(value);
}
if (typeof value !== `string`)
throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`);
return value;
}
function jsonOrPretty(outputJson, configuration, [value, formatType]) {
return outputJson ? json2(value, formatType) : pretty(configuration, value, formatType);
}
function mark(configuration) {
return {
Check: applyColor(configuration, `\u2713`, `green`),
Cross: applyColor(configuration, `\u2718`, `red`),
Question: applyColor(configuration, `?`, `cyan`)
};
}
function prettyField(configuration, { label, value: [value, formatType] }) {
return `${pretty(configuration, label, exports2.Type.CODE)}: ${pretty(configuration, value, formatType)}`;
}
function prettyTruncatedLocatorList(configuration, locators, recommendedLength) {
const named = [];
const locatorsCopy = [...locators];
let remainingLength = recommendedLength;
while (locatorsCopy.length > 0) {
const locator = locatorsCopy[0];
const asString = `${structUtils2.prettyLocator(configuration, locator)}, `;
const asLength = structUtils2.prettyLocatorNoColors(locator).length + 2;
if (named.length > 0 && remainingLength < asLength)
break;
named.push([asString, asLength]);
remainingLength -= asLength;
locatorsCopy.shift();
}
if (locatorsCopy.length === 0)
return named.map(([str2]) => str2).join(``).slice(0, -2);
const mark2 = `X`.repeat(locatorsCopy.length.toString().length);
const suffix = `and ${mark2} more.`;
let otherCount = locatorsCopy.length;
while (named.length > 1 && remainingLength < suffix.length) {
remainingLength += named[named.length - 1][1];
otherCount += 1;
named.pop();
}
return [
named.map(([str2]) => str2).join(``),
suffix.replace(mark2, pretty(configuration, otherCount, exports2.Type.NUMBER))
].join(``);
}
var LogLevel;
(function(LogLevel2) {
LogLevel2["Error"] = "error";
LogLevel2["Warning"] = "warning";
LogLevel2["Info"] = "info";
LogLevel2["Discard"] = "discard";
})(LogLevel || (exports2.LogLevel = LogLevel = {}));
function addLogFilterSupport(report3, { configuration }) {
const logFilters = configuration.get(`logFilters`);
const logFiltersByCode = /* @__PURE__ */ new Map();
const logFiltersByText = /* @__PURE__ */ new Map();
const logFiltersByPatternMatcher = [];
for (const filter14 of logFilters) {
const level = filter14.get(`level`);
if (typeof level === `undefined`)
continue;
const code = filter14.get(`code`);
if (typeof code !== `undefined`)
logFiltersByCode.set(code, level);
const text = filter14.get(`text`);
if (typeof text !== `undefined`)
logFiltersByText.set(text, level);
const pattern = filter14.get(`pattern`);
if (typeof pattern !== `undefined`) {
logFiltersByPatternMatcher.push([micromatch_12.default.matcher(pattern, { contains: true }), level]);
}
}
logFiltersByPatternMatcher.reverse();
const findLogLevel = (name, text, defaultLevel) => {
if (name === null || name === MessageName_1.MessageName.UNNAMED)
return defaultLevel;
const strippedText = logFiltersByText.size > 0 || logFiltersByPatternMatcher.length > 0 ? (0, strip_ansi_1.default)(text) : text;
if (logFiltersByText.size > 0) {
const level = logFiltersByText.get(strippedText);
if (typeof level !== `undefined`) {
return level ?? defaultLevel;
}
}
if (logFiltersByPatternMatcher.length > 0) {
for (const [filterMatcher, filterLevel] of logFiltersByPatternMatcher) {
if (filterMatcher(strippedText)) {
return filterLevel ?? defaultLevel;
}
}
}
if (logFiltersByCode.size > 0) {
const level = logFiltersByCode.get((0, MessageName_1.stringifyMessageName)(name));
if (typeof level !== `undefined`) {
return level ?? defaultLevel;
}
}
return defaultLevel;
};
const reportInfo = report3.reportInfo;
const reportWarning = report3.reportWarning;
const reportError2 = report3.reportError;
const routeMessage = function(report4, name, text, level) {
switch (findLogLevel(name, text, level)) {
case LogLevel.Info:
{
reportInfo.call(report4, name, text);
}
break;
case LogLevel.Warning:
{
reportWarning.call(report4, name ?? MessageName_1.MessageName.UNNAMED, text);
}
break;
case LogLevel.Error:
{
reportError2.call(report4, name ?? MessageName_1.MessageName.UNNAMED, text);
}
break;
}
};
report3.reportInfo = function(...args) {
return routeMessage(this, ...args, LogLevel.Info);
};
report3.reportWarning = function(...args) {
return routeMessage(this, ...args, LogLevel.Warning);
};
report3.reportError = function(...args) {
return routeMessage(this, ...args, LogLevel.Error);
};
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/hashUtils.js
var require_hashUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/hashUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeHash = makeHash;
exports2.checksumFile = checksumFile;
exports2.checksumPattern = checksumPattern;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fslib_12 = require_lib2();
var crypto_1 = __require("crypto");
var fast_glob_1 = tslib_12.__importDefault(require_out4());
function makeHash(...args) {
const hash2 = (0, crypto_1.createHash)(`sha512`);
let acc = ``;
for (const arg of args) {
if (typeof arg === `string`) {
acc += arg;
} else if (arg) {
if (acc) {
hash2.update(acc);
acc = ``;
}
hash2.update(arg);
}
}
if (acc)
hash2.update(acc);
return hash2.digest(`hex`);
}
async function checksumFile(path236, { baseFs, algorithm } = { baseFs: fslib_12.xfs, algorithm: `sha512` }) {
const fd2 = await baseFs.openPromise(path236, `r`);
try {
const CHUNK_SIZE = 65536;
const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
const hash2 = (0, crypto_1.createHash)(algorithm);
let bytesRead = 0;
while ((bytesRead = await baseFs.readPromise(fd2, chunk, 0, CHUNK_SIZE)) !== 0)
hash2.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
return hash2.digest(`hex`);
} finally {
await baseFs.closePromise(fd2);
}
}
async function checksumPattern(pattern, { cwd }) {
const dirListing = await (0, fast_glob_1.default)(pattern, {
cwd: fslib_12.npath.fromPortablePath(cwd),
onlyDirectories: true
});
const dirPatterns = dirListing.map((entry) => {
return `${entry}/**/*`;
});
const listing = await (0, fast_glob_1.default)([pattern, ...dirPatterns], {
cwd: fslib_12.npath.fromPortablePath(cwd),
onlyFiles: false
});
listing.sort();
const hashes = await Promise.all(listing.map(async (entry) => {
const parts = [Buffer.from(entry)];
const p = fslib_12.ppath.join(cwd, fslib_12.npath.toPortablePath(entry));
const stat2 = await fslib_12.xfs.lstatPromise(p);
if (stat2.isSymbolicLink())
parts.push(Buffer.from(await fslib_12.xfs.readlinkPromise(p)));
else if (stat2.isFile())
parts.push(await fslib_12.xfs.readFilePromise(p));
return parts.join(`\0`);
}));
const hash2 = (0, crypto_1.createHash)(`sha512`);
for (const sub of hashes)
hash2.update(sub);
return hash2.digest(`hex`);
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/structUtils.js
var require_structUtils = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/core/4.8.0/fa987c2b560e4b864cfefac9f8d6c598b5f241c3b4e04f18b247e489cd92aa97/node_modules/@yarnpkg/core/lib/structUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeIdent = makeIdent;
exports2.makeDescriptor = makeDescriptor;
exports2.makeLocator = makeLocator;
exports2.convertToIdent = convertToIdent;
exports2.convertDescriptorToLocator = convertDescriptorToLocator;
exports2.convertLocatorToDescriptor = convertLocatorToDescriptor;
exports2.convertPackageToLocator = convertPackageToLocator;
exports2.renamePackage = renamePackage;
exports2.copyPackage = copyPackage;
exports2.virtualizeDescriptor = virtualizeDescriptor;
exports2.virtualizePackage = virtualizePackage;
exports2.isVirtualDescriptor = isVirtualDescriptor;
exports2.isVirtualLocator = isVirtualLocator;
exports2.devirtualizeDescriptor = devirtualizeDescriptor;
exports2.devirtualizeLocator = devirtualizeLocator;
exports2.ensureDevirtualizedDescriptor = ensureDevirtualizedDescriptor;
exports2.ensureDevirtualizedLocator = ensureDevirtualizedLocator;
exports2.bindDescriptor = bindDescriptor;
exports2.bindLocator = bindLocator;
exports2.areIdentsEqual = areIdentsEqual;
exports2.areDescriptorsEqual = areDescriptorsEqual;
exports2.areLocatorsEqual = areLocatorsEqual;
exports2.areVirtualPackagesEquivalent = areVirtualPackagesEquivalent;
exports2.parseIdent = parseIdent;
exports2.tryParseIdent = tryParseIdent;
exports2.parseDescriptor = parseDescriptor;
exports2.tryParseDescriptor = tryParseDescriptor;
exports2.parseLocator = parseLocator;
exports2.tryParseLocator = tryParseLocator;
exports2.parseRange = parseRange2;
exports2.tryParseRange = tryParseRange;
exports2.parseFileStyleRange = parseFileStyleRange;
exports2.makeRange = makeRange;
exports2.convertToManifestRange = convertToManifestRange;
exports2.stringifyIdent = stringifyIdent;
exports2.wrapIdentIntoScope = wrapIdentIntoScope;
exports2.unwrapIdentFromScope = unwrapIdentFromScope;
exports2.stringifyDescriptor = stringifyDescriptor;
exports2.stringifyLocator = stringifyLocator;
exports2.slugifyIdent = slugifyIdent;
exports2.slugifyLocator = slugifyLocator;
exports2.prettyIdent = prettyIdent;
exports2.prettyRange = prettyRange;
exports2.prettyDescriptor = prettyDescriptor;
exports2.prettyReference = prettyReference;
exports2.prettyLocator = prettyLocator;
exports2.prettyLocatorNoColors = prettyLocatorNoColors;
exports2.sortDescriptors = sortDescriptors;
exports2.prettyWorkspace = prettyWorkspace;
exports2.prettyResolution = prettyResolution;
exports2.prettyDependent = prettyDependent;
exports2.getIdentVendorPath = getIdentVendorPath;
exports2.isPackageInRange = isPackageInRange;
exports2.isPackageCompatible = isPackageCompatible;
exports2.allPeerRequests = allPeerRequests;
var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var querystring_1 = tslib_12.__importDefault(__require("querystring"));
var semver_12 = tslib_12.__importDefault(require_semver2());
var tinylogic_1 = require_tinylogic();
var formatUtils = tslib_12.__importStar(require_formatUtils());
var hashUtils = tslib_12.__importStar(require_hashUtils());
var miscUtils = tslib_12.__importStar(require_miscUtils());
var structUtils2 = tslib_12.__importStar(require_structUtils());
var VIRTUAL_PROTOCOL = `virtual:`;
var VIRTUAL_ABBREVIATE = 5;
var CONDITION_REGEX = /(os|cpu|libc)=([a-z0-9_-]+)/;
var conditionParser = (0, tinylogic_1.makeParser)(CONDITION_REGEX);
function makeIdent(scope, name) {
if (scope?.startsWith(`@`))
throw new Error(`Invalid scope: don't prefix it with '@'`);
return { identHash: hashUtils.makeHash(scope, name), scope, name };
}
function makeDescriptor(ident, range) {
return { identHash: ident.identHash, scope: ident.scope, name: ident.name, descriptorHash: hashUtils.makeHash(ident.identHash, range), range };
}
function makeLocator(ident, reference) {
return { identHash: ident.identHash, scope: ident.scope, name: ident.name, locatorHash: hashUtils.makeHash(ident.identHash, reference), reference };
}
function convertToIdent(source) {
return { identHash: source.identHash, scope: source.scope, name: source.name };
}
function convertDescriptorToLocator(descriptor) {
return { identHash: descriptor.identHash, scope: descriptor.scope, name: descriptor.name, locatorHash: descriptor.descriptorHash, reference: descriptor.range };
}
function convertLocatorToDescriptor(locator) {
return { identHash: locator.identHash, scope: locator.scope, name: locator.name, descriptorHash: locator.locatorHash, range: locator.reference };
}
function convertPackageToLocator(pkg) {
return { identHash: pkg.identHash, scope: pkg.scope, name: pkg.name, locatorHash: pkg.locatorHash, reference: pkg.reference };
}
function renamePackage(pkg, locator) {
return {
identHash: locator.identHash,
scope: locator.scope,
name: locator.name,
locatorHash: locator.locatorHash,
reference: locator.reference,
version: pkg.version,
languageName: pkg.languageName,
linkType: pkg.linkType,
conditions: pkg.conditions,
dependencies: new Map(pkg.dependencies),
peerDependencies: new Map(pkg.peerDependencies),
dependenciesMeta: new Map(pkg.dependenciesMeta),
peerDependenciesMeta: new Map(pkg.peerDependenciesMeta),
bin: new Map(pkg.bin)
};
}
function copyPackage(pkg) {
return renamePackage(pkg, pkg);
}
function virtualizeDescriptor(descriptor, entropy) {
if (entropy.includes(`#`))
throw new Error(`Invalid entropy`);
return makeDescriptor(descriptor, `virtual:${entropy}#${descriptor.range}`);
}
function virtualizePackage(pkg, entropy) {
if (entropy.includes(`#`))
throw new Error(`Invalid entropy`);
return renamePackage(pkg, makeLocator(pkg, `virtual:${entropy}#${pkg.reference}`));
}
function isVirtualDescriptor(descriptor) {
return descriptor.range.startsWith(VIRTUAL_PROTOCOL);
}
function isVirtualLocator(locator) {
return locator.reference.startsWith(VIRTUAL_PROTOCOL);
}
var VIRTUAL_PREFIX_REGEXP = /^[^#]*#/;
function devirtualizeDescriptor(descriptor) {
if (!isVirtualDescriptor(descriptor))
throw new Error(`Not a virtual descriptor`);
return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``));
}
function devirtualizeLocator(locator) {
if (!isVirtualLocator(locator))
throw new Error(`Not a virtual descriptor`);
return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``));
}
function ensureDevirtualizedDescriptor(descriptor) {
if (!isVirtualDescriptor(descriptor))
return descriptor;
return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``));
}
function ensureDevirtualizedLocator(locator) {
if (!isVirtualLocator(locator))
return locator;
return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``));
}
function bindDescriptor(descriptor, params) {
if (descriptor.range.includes(`::`))
return descriptor;
return makeDescriptor(descriptor, `${descriptor.range}::${querystring_1.default.stringify(params)}`);
}
function bindLocator(locator, params) {
if (locator.reference.includes(`::`))
return locator;
return makeLocator(locator, `${locator.reference}::${querystring_1.default.stringify(params)}`);
}
function areIdentsEqual(a2, b) {
return a2.identHash === b.identHash;
}
function areDescriptorsEqual(a2, b) {
return a2.descriptorHash === b.descriptorHash;
}
function areLocatorsEqual(a2, b) {
return a2.locatorHash === b.locatorHash;
}
function areVirtualPackagesEquivalent(a2, b) {
if (!isVirtualLocator(a2))
throw new Error(`Invalid package type`);
if (!isVirtualLocator(b))
throw new Error(`Invalid package type`);
if (!areIdentsEqual(a2, b))
return false;
if (a2.dependencies.size !== b.dependencies.size)
return false;
for (const dependencyDescriptorA of a2.dependencies.values()) {
const dependencyDescriptorB = b.dependencies.get(dependencyDescriptorA.identHash);
if (!dependencyDescriptorB)
return false;
if (!areDescriptorsEqual(dependencyDescriptorA, dependencyDescriptorB)) {
return false;
}
}
return true;
}
function parseIdent(string) {
const ident = tryParseIdent(string);
if (!ident)
throw new Error(`Invalid ident (${string})`);
return ident;
}
var IDENT_REGEXP = /^(?:@([^/]+?)\/)?([^@/]+)$/;
function tryParseIdent(string) {
const match = string.match(IDENT_REGEXP);
if (!match)
return null;
const [, scope, name] = match;
const realScope = typeof scope !== `undefined` ? scope : null;
return makeIdent(realScope, name);
}
function parseDescriptor(string, strict = false) {
const descriptor = tryParseDescriptor(string, strict);
if (!descriptor)
throw new Error(`Invalid descriptor (${string})`);
return descriptor;
}
var DESCRIPTOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/;
var DESCRIPTOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;
var DESCRIPTOR_RANGE_UNSPECIFIED = `unknown`;
function tryParseDescriptor(string, strict = false) {
const match = strict ? string.match(DESCRIPTOR_REGEX_STRICT) : string.match(DESCRIPTOR_REGEX_LOOSE);
if (!match)
return null;
const [, scope, name, range] = match;
if (range === DESCRIPTOR_RANGE_UNSPECIFIED)
throw new Error(`Invalid range (${string})`);
const realScope = typeof scope !== `undefined` ? scope : null;
const realRange = typeof range !== `undefined` ? range : DESCRIPTOR_RANGE_UNSPECIFIED;
return makeDescriptor(makeIdent(realScope, name), realRange);
}
function parseLocator(string, strict = false) {
const locator = tryParseLocator(string, strict);
if (!locator)
throw new Error(`Invalid locator (${string})`);
return locator;
}
var LOCATOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/;
var LOCATOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;
function tryParseLocator(string, strict = false) {
const match = strict ? string.match(LOCATOR_REGEX_STRICT) : string.match(LOCATOR_REGEX_LOOSE);
if (!match)
return null;
const [, scope, name, reference] = match;
if (reference === `unknown`)
throw new Error(`Invalid reference (${string})`);
const realScope = typeof scope !== `undefined` ? scope : null;
const realReference = typeof reference !== `undefined` ? reference : `unknown`;
return makeLocator(makeIdent(realScope, name), realReference);
}
var RANGE_REGEX = /^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;
function parseRange2(range, opts3) {
const match = range.match(RANGE_REGEX);
if (match === null)
throw new Error(`Invalid range (${range})`);
const protocol = typeof match[1] !== `undefined` ? match[1] : null;
if (typeof opts3?.requireProtocol === `string` && protocol !== opts3.requireProtocol)
throw new Error(`Invalid protocol (${protocol})`);
else if (opts3?.requireProtocol && protocol === null)
throw new Error(`Missing protocol (${protocol})`);
const source = typeof match[3] !== `undefined` ? decodeURIComponent(match[2]) : null;
if (opts3?.requireSource && source === null)
throw new Error(`Missing source (${range})`);
const rawSelector = typeof match[3] !== `undefined` ? decodeURIComponent(match[3]) : decodeURIComponent(match[2]);
const selector = opts3?.parseSelector ? querystring_1.default.parse(rawSelector) : rawSelector;
const params = typeof match[4] !== `undefined` ? querystring_1.default.parse(match[4]) : null;
return {
// @ts-expect-error - reason TBS
protocol,
// @ts-expect-error - reason TBS
source,
// @ts-expect-error - reason TBS
selector,
// @ts-expect-error - reason TBS
params
};
}
function tryParseRange(range, opts3) {
try {
return parseRange2(range, opts3);
} catch {
return null;
}
}
function parseFileStyleRange(range, { protocol }) {
const { selector, params } = parseRange2(range, {
requireProtocol: protocol,
requireBindings: true
});
if (typeof params.locator !== `string`)
throw new Error(`Assertion failed: Invalid bindings for ${range}`);
const parentLocator = parseLocator(params.locator, true);
const path236 = selector;
return { parentLocator, path: path236 };
}
function encodeUnsafeCharacters(str2) {
str2 = str2.replaceAll(`%`, `%25`);
str2 = str2.replaceAll(`:`, `%3A`);
str2 = str2.replaceAll(`#`, `%23`);
return str2;
}
function hasParams(params) {
if (params === null)
return false;
return Object.entries(params).length > 0;
}
function makeRange({ protocol, source, selector, params }) {
let range = ``;
if (protocol !== null)
range += `${protocol}`;
if (source !== null)
range += `${encodeUnsafeCharacters(source)}#`;
range += encodeUnsafeCharacters(selector);
if (hasParams(params))
range += `::${querystring_1.default.stringify(params)}`;
return range;
}
function convertToManifestRange(range) {
const { params, protocol, source, selector } = parseRange2(range);
for (const name in params)
if (name.startsWith(`__`))
delete params[name];
return makeRange({ protocol, source, params, selector });
}
function stringifyIdent(ident) {
if (ident.scope) {
return `@${ident.scope}/${ident.name}`;
} else {
return `${ident.name}`;
}
}
function wrapIdentIntoScope(ident, scope) {
if (ident.scope) {
return structUtils2.makeIdent(scope, `${ident.scope}__${ident.name}`);
} else {
return structUtils2.makeIdent(scope, ident.name);
}
}
function unwrapIdentFromScope(ident, scope) {
if (ident.scope !== scope)
return ident;
const underscoreUnderscore = ident.name.indexOf(`__`);
if (underscoreUnderscore === -1)
return makeIdent(null, ident.name);
const innerScope = ident.name.slice(0, underscoreUnderscore);
const innerName = ident.name.slice(underscoreUnderscore + 2);
return makeIdent(innerScope, innerName);
}
function stringifyDescriptor(descriptor) {
if (descriptor.scope) {
return `@${descriptor.scope}/${descriptor.name}@${descriptor.range}`;
} else {
return `${descriptor.name}@${descriptor.range}`;
}
}
function stringifyLocator(locator) {
if (locator.scope) {
return `@${locator.scope}/${locator.name}@${locator.reference}`;
} else {
return `${locator.name}@${locator.reference}`;
}
}
function slugifyIdent(ident) {
if (ident.scope !== null) {
return `@${ident.scope}-${ident.name}`;
} else {
return ident.name;
}
}
var TRAILING_COLON_REGEX = /:$/;
function slugifyLocator(locator) {
const { protocol, selector } = parseRange2(locator.reference);
const humanProtocol = protocol !== null ? protocol.replace(TRAILING_COLON_REGEX, ``) : `exotic`;
const humanVersion = semver_12.default.valid(selector);
const humanReference = humanVersion !== null ? `${humanProtocol}-${humanVersion}` : `${humanProtocol}`;
const hashTruncate = 10;
const slug = locator.scope ? `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}` : `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}`;
return slug;
}
function prettyIdent(configuration, ident) {
if (ident.scope) {
return `${formatUtils.pretty(configuration, `@${ident.scope}/`, formatUtils.Type.SCOPE)}${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`;
} else {
return `${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`;
}
}
var POST_QS_REGEX = /\?.*/;
function prettyRangeNoColors(range) {
if (range.startsWith(VIRTUAL_PROTOCOL)) {
const nested = prettyRangeNoColors(range.substring(range.indexOf(`#`) + 1));
const abbrev = range.substring(VIRTUAL_PROTOCOL.length, VIRTUAL_PROTOCOL.length + VIRTUAL_ABBREVIATE);
return false ? `${nested} (virtual:${abbrev})` : `${nested} [${abbrev}]`;
} else {
return range.replace(POST_QS_REGEX, `?[...]`);
}
}
function prettyRange(configuration, range) {
return `${formatUtils.pretty(configuration, prettyRangeNoColors(range), formatUtils.Type.RANGE)}`;
}
function prettyDescriptor(configuration, descriptor) {
return `${prettyIdent(configuration, descriptor)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.RANGE)}${prettyRange(configuration, descriptor.range)}`;
}
function prettyReference(configuration, reference) {
return `${formatUtils.pretty(configuration, prettyRangeNoColors(reference), formatUtils.Type.REFERENCE)}`;
}
function prettyLocator(configuration, locator) {
return `${prettyIdent(configuration, locator)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.REFERENCE)}${prettyReference(configuration, locator.reference)}`;
}
function prettyLocatorNoColors(locator) {
return `${stringifyIdent(locator)}@${prettyRangeNoColors(locator.reference)}`;
}
function sortDescriptors(descriptors2) {
return miscUtils.sortMap(descriptors2, [
(descriptor) => stringifyIdent(descriptor),
(descriptor) => descriptor.range
]);
}
function prettyWorkspace(configuration, workspace) {
return prettyIdent(configuration, workspace.anchoredLocator);
}
function prettyResolution(configuration, descriptor, locator) {
const devirtualizedDescriptor = isVirtualDescriptor(descriptor) ? devirtualizeDescriptor(descriptor) : descriptor;
if (locator === null) {
return `${structUtils2.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${formatUtils.mark(configuration).Cross}`;
} else if (devirtualizedDescriptor.identHash === locator.identHash) {
return `${structUtils2.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyReference(configuration, locator.reference)}`;
} else {
return `${structUtils2.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyLocator(configuration, locator)}`;
}
}
function prettyDependent(configuration, locator, descriptor) {
if (descriptor === null) {
return `${prettyLocator(configuration, locator)}`;
} else {
return `${prettyLocator(configuration, locator)} (via ${structUtils2.prettyRange(configuration, descriptor.range)})`;
}
}
function getIdentVendorPath(ident) {
return `node_modules/${stringifyIdent(ident)}`;
}
function isPackageInRange(pkg, range) {
if (range === DESCRIPTOR_RANGE_UNSPECIFIED || !pkg.version)
return true;
return semver_12.default.satisfies(pkg.version ?? ``, range);
}
function isPackageCompatible(pkg, architectures) {
if (!pkg.conditions)
return true;
return conditionParser(pkg.conditions, (specifier) => {
const [, name, value] = specifier.match(CONDITION_REGEX);
const supported = architectures[name];
return supported ? supported.includes(value) : true;
});
}
function allPeerRequests(root) {
const requests = /* @__PURE__ */ new Set();
if (`children` in root) {
requests.add(root);
} else {
for (const request of root.requests.values()) {
requests.add(request);
}
}
for (const request of requests) {
for (const child of request.children.values()) {
requests.add(child);
}
}
return requests;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/lockfile/1.1.0/a6760263c10e399a7648eb84b389ff99b8a9ccb6c649c37d8ca7eeedb5968553/node_modules/@yarnpkg/lockfile/index.js
var require_lockfile = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@yarnpkg/lockfile/1.1.0/a6760263c10e399a7648eb84b389ff99b8a9ccb6c649c37d8ca7eeedb5968553/node_modules/@yarnpkg/lockfile/index.js"(exports2, module2) {
module2.exports = /******/
(function(modules) {
var installedModules = {};
function __webpack_require__2(moduleId) {
if (installedModules[moduleId]) {
return installedModules[moduleId].exports;
}
var module3 = installedModules[moduleId] = {
/******/
i: moduleId,
/******/
l: false,
/******/
exports: {}
/******/
};
modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__2);
module3.l = true;
return module3.exports;
}
__webpack_require__2.m = modules;
__webpack_require__2.c = installedModules;
__webpack_require__2.i = function(value) {
return value;
};
__webpack_require__2.d = function(exports3, name, getter) {
if (!__webpack_require__2.o(exports3, name)) {
Object.defineProperty(exports3, name, {
/******/
configurable: false,
/******/
enumerable: true,
/******/
get: getter
/******/
});
}
};
__webpack_require__2.n = function(module3) {
var getter = module3 && module3.__esModule ? (
/******/
function getDefault() {
return module3["default"];
}
) : (
/******/
function getModuleExports() {
return module3;
}
);
__webpack_require__2.d(getter, "a", getter);
return getter;
};
__webpack_require__2.o = function(object, property) {
return Object.prototype.hasOwnProperty.call(object, property);
};
__webpack_require__2.p = "";
return __webpack_require__2(__webpack_require__2.s = 14);
})([
/* 0 */
/***/
(function(module3, exports3) {
module3.exports = __require("path");
}),
/* 1 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
exports3.__esModule = true;
var _promise = __webpack_require__2(173);
var _promise2 = _interopRequireDefault(_promise);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
exports3.default = function(fn) {
return function() {
var gen2 = fn.apply(this, arguments);
return new _promise2.default(function(resolve4, reject3) {
function step2(key, arg) {
try {
var info = gen2[key](arg);
var value = info.value;
} catch (error) {
reject3(error);
return;
}
if (info.done) {
resolve4(value);
} else {
return _promise2.default.resolve(value).then(function(value2) {
step2("next", value2);
}, function(err2) {
step2("throw", err2);
});
}
}
return step2("next");
});
};
};
}),
/* 2 */
/***/
(function(module3, exports3) {
module3.exports = __require("util");
}),
/* 3 */
/***/
(function(module3, exports3) {
module3.exports = __require("fs");
}),
/* 4 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
class MessageError extends Error {
constructor(msg, code) {
super(msg);
this.code = code;
}
}
exports3.MessageError = MessageError;
class ProcessSpawnError extends MessageError {
constructor(msg, code, process24) {
super(msg, code);
this.process = process24;
}
}
exports3.ProcessSpawnError = ProcessSpawnError;
class SecurityError extends MessageError {
}
exports3.SecurityError = SecurityError;
class ProcessTermError extends MessageError {
}
exports3.ProcessTermError = ProcessTermError;
class ResponseError2 extends Error {
constructor(msg, responseCode) {
super(msg);
this.responseCode = responseCode;
}
}
exports3.ResponseError = ResponseError2;
}),
/* 5 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.getFirstSuitableFolder = exports3.readFirstAvailableStream = exports3.makeTempDir = exports3.hardlinksWork = exports3.writeFilePreservingEol = exports3.getFileSizeOnDisk = exports3.walk = exports3.symlink = exports3.find = exports3.readJsonAndFile = exports3.readJson = exports3.readFileAny = exports3.hardlinkBulk = exports3.copyBulk = exports3.unlink = exports3.glob = exports3.link = exports3.chmod = exports3.lstat = exports3.exists = exports3.mkdirp = exports3.stat = exports3.access = exports3.rename = exports3.readdir = exports3.realpath = exports3.readlink = exports3.writeFile = exports3.open = exports3.readFileBuffer = exports3.lockQueue = exports3.constants = void 0;
var _asyncToGenerator2;
function _load_asyncToGenerator() {
return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__2(1));
}
let buildActionsForCopy = (() => {
var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue2, events, possibleExtraneous, reporter) {
let build2 = (() => {
var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
const src2 = data.src, dest = data.dest, type4 = data.type;
const onFresh = data.onFresh || noop5;
const onDone = data.onDone || noop5;
if (files.has(dest.toLowerCase())) {
reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`);
} else {
files.add(dest.toLowerCase());
}
if (type4 === "symlink") {
yield mkdirp((_path || _load_path()).default.dirname(dest));
onFresh();
actions.symlink.push({
dest,
linkname: src2
});
onDone();
return;
}
if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src2)) >= 0) {
return;
}
const srcStat = yield lstat2(src2);
let srcFiles;
if (srcStat.isDirectory()) {
srcFiles = yield readdir3(src2);
}
let destStat;
try {
destStat = yield lstat2(dest);
} catch (e) {
if (e.code !== "ENOENT") {
throw e;
}
}
if (destStat) {
const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink();
const bothFolders = srcStat.isDirectory() && destStat.isDirectory();
const bothFiles = srcStat.isFile() && destStat.isFile();
if (bothFiles && artifactFiles.has(dest)) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkipArtifact", src2));
return;
}
if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkip", src2, dest, srcStat.size, +srcStat.mtime));
return;
}
if (bothSymlinks) {
const srcReallink = yield readlink(src2);
if (srcReallink === (yield readlink(dest))) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkipSymlink", src2, dest, srcReallink));
return;
}
}
if (bothFolders) {
const destFiles = yield readdir3(dest);
invariant(srcFiles, "src files not initialised");
for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator](); ; ) {
var _ref6;
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref6 = _iterator4[_i4++];
} else {
_i4 = _iterator4.next();
if (_i4.done) break;
_ref6 = _i4.value;
}
const file = _ref6;
if (srcFiles.indexOf(file) < 0) {
const loc = (_path || _load_path()).default.join(dest, file);
possibleExtraneous.add(loc);
if ((yield lstat2(loc)).isDirectory()) {
for (var _iterator5 = yield readdir3(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator](); ; ) {
var _ref7;
if (_isArray5) {
if (_i5 >= _iterator5.length) break;
_ref7 = _iterator5[_i5++];
} else {
_i5 = _iterator5.next();
if (_i5.done) break;
_ref7 = _i5.value;
}
const file2 = _ref7;
possibleExtraneous.add((_path || _load_path()).default.join(loc, file2));
}
}
}
}
}
}
if (destStat && destStat.isSymbolicLink()) {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest);
destStat = null;
}
if (srcStat.isSymbolicLink()) {
onFresh();
const linkname = yield readlink(src2);
actions.symlink.push({
dest,
linkname
});
onDone();
} else if (srcStat.isDirectory()) {
if (!destStat) {
reporter.verbose(reporter.lang("verboseFileFolder", dest));
yield mkdirp(dest);
}
const destParts = dest.split((_path || _load_path()).default.sep);
while (destParts.length) {
files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase());
destParts.pop();
}
invariant(srcFiles, "src files not initialised");
let remaining = srcFiles.length;
if (!remaining) {
onDone();
}
for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator](); ; ) {
var _ref8;
if (_isArray6) {
if (_i6 >= _iterator6.length) break;
_ref8 = _iterator6[_i6++];
} else {
_i6 = _iterator6.next();
if (_i6.done) break;
_ref8 = _i6.value;
}
const file = _ref8;
queue2.push({
dest: (_path || _load_path()).default.join(dest, file),
onFresh,
onDone: (function(_onDone) {
function onDone2() {
return _onDone.apply(this, arguments);
}
onDone2.toString = function() {
return _onDone.toString();
};
return onDone2;
})(function() {
if (--remaining === 0) {
onDone();
}
}),
src: (_path || _load_path()).default.join(src2, file)
});
}
} else if (srcStat.isFile()) {
onFresh();
actions.file.push({
src: src2,
dest,
atime: srcStat.atime,
mtime: srcStat.mtime,
mode: srcStat.mode
});
onDone();
} else {
throw new Error(`unsure how to copy this: ${src2}`);
}
});
return function build3(_x5) {
return _ref5.apply(this, arguments);
};
})();
const artifactFiles = new Set(events.artifactFiles || []);
const files = /* @__PURE__ */ new Set();
for (var _iterator = queue2, _isArray2 = Array.isArray(_iterator), _i = 0, _iterator = _isArray2 ? _iterator : _iterator[Symbol.iterator](); ; ) {
var _ref2;
if (_isArray2) {
if (_i >= _iterator.length) break;
_ref2 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref2 = _i.value;
}
const item = _ref2;
const onDone = item.onDone;
item.onDone = function() {
events.onProgress(item.dest);
if (onDone) {
onDone();
}
};
}
events.onStart(queue2.length);
const actions = {
file: [],
symlink: [],
link: []
};
while (queue2.length) {
const items = queue2.splice(0, CONCURRENT_QUEUE_ITEMS);
yield Promise.all(items.map(build2));
}
for (var _iterator2 = artifactFiles, _isArray22 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray22 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) {
var _ref3;
if (_isArray22) {
if (_i2 >= _iterator2.length) break;
_ref3 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref3 = _i2.value;
}
const file = _ref3;
if (possibleExtraneous.has(file)) {
reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file));
possibleExtraneous.delete(file);
}
}
for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator](); ; ) {
var _ref4;
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref4 = _iterator3[_i3++];
} else {
_i3 = _iterator3.next();
if (_i3.done) break;
_ref4 = _i3.value;
}
const loc = _ref4;
if (files.has(loc.toLowerCase())) {
possibleExtraneous.delete(loc);
}
}
return actions;
});
return function buildActionsForCopy2(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
})();
let buildActionsForHardlink = (() => {
var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue2, events, possibleExtraneous, reporter) {
let build2 = (() => {
var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
const src2 = data.src, dest = data.dest;
const onFresh = data.onFresh || noop5;
const onDone = data.onDone || noop5;
if (files.has(dest.toLowerCase())) {
onDone();
return;
}
files.add(dest.toLowerCase());
if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src2)) >= 0) {
return;
}
const srcStat = yield lstat2(src2);
let srcFiles;
if (srcStat.isDirectory()) {
srcFiles = yield readdir3(src2);
}
const destExists = yield exists(dest);
if (destExists) {
const destStat = yield lstat2(dest);
const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink();
const bothFolders = srcStat.isDirectory() && destStat.isDirectory();
const bothFiles = srcStat.isFile() && destStat.isFile();
if (srcStat.mode !== destStat.mode) {
try {
yield access2(dest, srcStat.mode);
} catch (err2) {
reporter.verbose(err2);
}
}
if (bothFiles && artifactFiles.has(dest)) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkipArtifact", src2));
return;
}
if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkip", src2, dest, srcStat.ino));
return;
}
if (bothSymlinks) {
const srcReallink = yield readlink(src2);
if (srcReallink === (yield readlink(dest))) {
onDone();
reporter.verbose(reporter.lang("verboseFileSkipSymlink", src2, dest, srcReallink));
return;
}
}
if (bothFolders) {
const destFiles = yield readdir3(dest);
invariant(srcFiles, "src files not initialised");
for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator](); ; ) {
var _ref14;
if (_isArray10) {
if (_i10 >= _iterator10.length) break;
_ref14 = _iterator10[_i10++];
} else {
_i10 = _iterator10.next();
if (_i10.done) break;
_ref14 = _i10.value;
}
const file = _ref14;
if (srcFiles.indexOf(file) < 0) {
const loc = (_path || _load_path()).default.join(dest, file);
possibleExtraneous.add(loc);
if ((yield lstat2(loc)).isDirectory()) {
for (var _iterator11 = yield readdir3(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator](); ; ) {
var _ref15;
if (_isArray11) {
if (_i11 >= _iterator11.length) break;
_ref15 = _iterator11[_i11++];
} else {
_i11 = _iterator11.next();
if (_i11.done) break;
_ref15 = _i11.value;
}
const file2 = _ref15;
possibleExtraneous.add((_path || _load_path()).default.join(loc, file2));
}
}
}
}
}
}
if (srcStat.isSymbolicLink()) {
onFresh();
const linkname = yield readlink(src2);
actions.symlink.push({
dest,
linkname
});
onDone();
} else if (srcStat.isDirectory()) {
reporter.verbose(reporter.lang("verboseFileFolder", dest));
yield mkdirp(dest);
const destParts = dest.split((_path || _load_path()).default.sep);
while (destParts.length) {
files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase());
destParts.pop();
}
invariant(srcFiles, "src files not initialised");
let remaining = srcFiles.length;
if (!remaining) {
onDone();
}
for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator](); ; ) {
var _ref16;
if (_isArray12) {
if (_i12 >= _iterator12.length) break;
_ref16 = _iterator12[_i12++];
} else {
_i12 = _iterator12.next();
if (_i12.done) break;
_ref16 = _i12.value;
}
const file = _ref16;
queue2.push({
onFresh,
src: (_path || _load_path()).default.join(src2, file),
dest: (_path || _load_path()).default.join(dest, file),
onDone: (function(_onDone2) {
function onDone2() {
return _onDone2.apply(this, arguments);
}
onDone2.toString = function() {
return _onDone2.toString();
};
return onDone2;
})(function() {
if (--remaining === 0) {
onDone();
}
})
});
}
} else if (srcStat.isFile()) {
onFresh();
actions.link.push({
src: src2,
dest,
removeDest: destExists
});
onDone();
} else {
throw new Error(`unsure how to copy this: ${src2}`);
}
});
return function build3(_x10) {
return _ref13.apply(this, arguments);
};
})();
const artifactFiles = new Set(events.artifactFiles || []);
const files = /* @__PURE__ */ new Set();
for (var _iterator7 = queue2, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator](); ; ) {
var _ref10;
if (_isArray7) {
if (_i7 >= _iterator7.length) break;
_ref10 = _iterator7[_i7++];
} else {
_i7 = _iterator7.next();
if (_i7.done) break;
_ref10 = _i7.value;
}
const item = _ref10;
const onDone = item.onDone || noop5;
item.onDone = function() {
events.onProgress(item.dest);
onDone();
};
}
events.onStart(queue2.length);
const actions = {
file: [],
symlink: [],
link: []
};
while (queue2.length) {
const items = queue2.splice(0, CONCURRENT_QUEUE_ITEMS);
yield Promise.all(items.map(build2));
}
for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator](); ; ) {
var _ref11;
if (_isArray8) {
if (_i8 >= _iterator8.length) break;
_ref11 = _iterator8[_i8++];
} else {
_i8 = _iterator8.next();
if (_i8.done) break;
_ref11 = _i8.value;
}
const file = _ref11;
if (possibleExtraneous.has(file)) {
reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file));
possibleExtraneous.delete(file);
}
}
for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator](); ; ) {
var _ref12;
if (_isArray9) {
if (_i9 >= _iterator9.length) break;
_ref12 = _iterator9[_i9++];
} else {
_i9 = _iterator9.next();
if (_i9.done) break;
_ref12 = _i9.value;
}
const loc = _ref12;
if (files.has(loc.toLowerCase())) {
possibleExtraneous.delete(loc);
}
}
return actions;
});
return function buildActionsForHardlink2(_x6, _x7, _x8, _x9) {
return _ref9.apply(this, arguments);
};
})();
let copyBulk = exports3.copyBulk = (() => {
var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue2, reporter, _events) {
const events = {
onStart: _events && _events.onStart || noop5,
onProgress: _events && _events.onProgress || noop5,
possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(),
ignoreBasenames: _events && _events.ignoreBasenames || [],
artifactFiles: _events && _events.artifactFiles || []
};
const actions = yield buildActionsForCopy(queue2, events, events.possibleExtraneous, reporter);
events.onStart(actions.file.length + actions.symlink.length + actions.link.length);
const fileActions = actions.file;
const currentlyWriting = /* @__PURE__ */ new Map();
yield (_promise || _load_promise()).queue(fileActions, (() => {
var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
let writePromise;
while (writePromise = currentlyWriting.get(data.dest)) {
yield writePromise;
}
reporter.verbose(reporter.lang("verboseFileCopy", data.src, data.dest));
const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function() {
return currentlyWriting.delete(data.dest);
});
currentlyWriting.set(data.dest, copier);
events.onProgress(data.dest);
return copier;
});
return function(_x14) {
return _ref18.apply(this, arguments);
};
})(), CONCURRENT_QUEUE_ITEMS);
const symlinkActions = actions.symlink;
yield (_promise || _load_promise()).queue(symlinkActions, function(data) {
const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname);
reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname));
return symlink(linkname, data.dest);
});
});
return function copyBulk2(_x11, _x12, _x13) {
return _ref17.apply(this, arguments);
};
})();
let hardlinkBulk = exports3.hardlinkBulk = (() => {
var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue2, reporter, _events) {
const events = {
onStart: _events && _events.onStart || noop5,
onProgress: _events && _events.onProgress || noop5,
possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(),
artifactFiles: _events && _events.artifactFiles || [],
ignoreBasenames: []
};
const actions = yield buildActionsForHardlink(queue2, events, events.possibleExtraneous, reporter);
events.onStart(actions.file.length + actions.symlink.length + actions.link.length);
const fileActions = actions.link;
yield (_promise || _load_promise()).queue(fileActions, (() => {
var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
reporter.verbose(reporter.lang("verboseFileLink", data.src, data.dest));
if (data.removeDest) {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest);
}
yield link2(data.src, data.dest);
});
return function(_x18) {
return _ref20.apply(this, arguments);
};
})(), CONCURRENT_QUEUE_ITEMS);
const symlinkActions = actions.symlink;
yield (_promise || _load_promise()).queue(symlinkActions, function(data) {
const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname);
reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname));
return symlink(linkname, data.dest);
});
});
return function hardlinkBulk2(_x15, _x16, _x17) {
return _ref19.apply(this, arguments);
};
})();
let readFileAny = exports3.readFileAny = (() => {
var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) {
for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator](); ; ) {
var _ref22;
if (_isArray13) {
if (_i13 >= _iterator13.length) break;
_ref22 = _iterator13[_i13++];
} else {
_i13 = _iterator13.next();
if (_i13.done) break;
_ref22 = _i13.value;
}
const file = _ref22;
if (yield exists(file)) {
return readFile4(file);
}
}
return null;
});
return function readFileAny2(_x19) {
return _ref21.apply(this, arguments);
};
})();
let readJson = exports3.readJson = (() => {
var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
return (yield readJsonAndFile(loc)).object;
});
return function readJson2(_x20) {
return _ref23.apply(this, arguments);
};
})();
let readJsonAndFile = exports3.readJsonAndFile = (() => {
var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
const file = yield readFile4(loc);
try {
return {
object: (0, (_map2 || _load_map()).default)(JSON.parse(stripBOM(file))),
content: file
};
} catch (err2) {
err2.message = `${loc}: ${err2.message}`;
throw err2;
}
});
return function readJsonAndFile2(_x21) {
return _ref24.apply(this, arguments);
};
})();
let find = exports3.find = (() => {
var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) {
const parts = dir.split((_path || _load_path()).default.sep);
while (parts.length) {
const loc = parts.concat(filename).join((_path || _load_path()).default.sep);
if (yield exists(loc)) {
return loc;
} else {
parts.pop();
}
}
return false;
});
return function find2(_x22, _x23) {
return _ref25.apply(this, arguments);
};
})();
let symlink = exports3.symlink = (() => {
var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src2, dest) {
try {
const stats = yield lstat2(dest);
if (stats.isSymbolicLink()) {
const resolved = yield realpath4(dest);
if (resolved === src2) {
return;
}
}
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
}
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest);
if (process.platform === "win32") {
yield fsSymlink(src2, dest, "junction");
} else {
let relative2;
try {
relative2 = (_path || _load_path()).default.relative((_fs || _load_fs()).default.realpathSync((_path || _load_path()).default.dirname(dest)), (_fs || _load_fs()).default.realpathSync(src2));
} catch (err2) {
if (err2.code !== "ENOENT") {
throw err2;
}
relative2 = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src2);
}
yield fsSymlink(relative2 || ".", dest);
}
});
return function symlink2(_x24, _x25) {
return _ref26.apply(this, arguments);
};
})();
let walk = exports3.walk = (() => {
var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = /* @__PURE__ */ new Set()) {
let files = [];
let filenames = yield readdir3(dir);
if (ignoreBasenames.size) {
filenames = filenames.filter(function(name) {
return !ignoreBasenames.has(name);
});
}
for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator](); ; ) {
var _ref28;
if (_isArray14) {
if (_i14 >= _iterator14.length) break;
_ref28 = _iterator14[_i14++];
} else {
_i14 = _iterator14.next();
if (_i14.done) break;
_ref28 = _i14.value;
}
const name = _ref28;
const relative2 = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name;
const loc = (_path || _load_path()).default.join(dir, name);
const stat3 = yield lstat2(loc);
files.push({
relative: relative2,
basename: name,
absolute: loc,
mtime: +stat3.mtime
});
if (stat3.isDirectory()) {
files = files.concat(yield walk(loc, relative2, ignoreBasenames));
}
}
return files;
});
return function walk2(_x26, _x27) {
return _ref27.apply(this, arguments);
};
})();
let getFileSizeOnDisk = exports3.getFileSizeOnDisk = (() => {
var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
const stat3 = yield lstat2(loc);
const size = stat3.size, blockSize = stat3.blksize;
return Math.ceil(size / blockSize) * blockSize;
});
return function getFileSizeOnDisk2(_x28) {
return _ref29.apply(this, arguments);
};
})();
let getEolFromFile = (() => {
var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path236) {
if (!(yield exists(path236))) {
return void 0;
}
const buffer3 = yield readFileBuffer(path236);
for (let i4 = 0; i4 < buffer3.length; ++i4) {
if (buffer3[i4] === cr) {
return "\r\n";
}
if (buffer3[i4] === lf) {
return "\n";
}
}
return void 0;
});
return function getEolFromFile2(_x29) {
return _ref30.apply(this, arguments);
};
})();
let writeFilePreservingEol = exports3.writeFilePreservingEol = (() => {
var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path236, data) {
const eol = (yield getEolFromFile(path236)) || (_os || _load_os()).default.EOL;
if (eol !== "\n") {
data = data.replace(/\n/g, eol);
}
yield writeFile3(path236, data);
});
return function writeFilePreservingEol2(_x30, _x31) {
return _ref31.apply(this, arguments);
};
})();
let hardlinksWork = exports3.hardlinksWork = (() => {
var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) {
const filename = "test-file" + Math.random();
const file = (_path || _load_path()).default.join(dir, filename);
const fileLink = (_path || _load_path()).default.join(dir, filename + "-link");
try {
yield writeFile3(file, "test");
yield link2(file, fileLink);
} catch (err2) {
return false;
} finally {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file);
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink);
}
return true;
});
return function hardlinksWork2(_x32) {
return _ref32.apply(this, arguments);
};
})();
let makeTempDir = exports3.makeTempDir = (() => {
var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) {
const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ""}-${Date.now()}-${Math.random()}`);
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir);
yield mkdirp(dir);
return dir;
});
return function makeTempDir2(_x33) {
return _ref33.apply(this, arguments);
};
})();
let readFirstAvailableStream = exports3.readFirstAvailableStream = (() => {
var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths3) {
for (var _iterator15 = paths3, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator](); ; ) {
var _ref35;
if (_isArray15) {
if (_i15 >= _iterator15.length) break;
_ref35 = _iterator15[_i15++];
} else {
_i15 = _iterator15.next();
if (_i15.done) break;
_ref35 = _i15.value;
}
const path236 = _ref35;
try {
const fd2 = yield open3(path236, "r");
return (_fs || _load_fs()).default.createReadStream(path236, { fd: fd2 });
} catch (err2) {
}
}
return null;
});
return function readFirstAvailableStream2(_x34) {
return _ref34.apply(this, arguments);
};
})();
let getFirstSuitableFolder = exports3.getFirstSuitableFolder = (() => {
var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths3, mode = constants6.W_OK | constants6.X_OK) {
const result2 = {
skipped: [],
folder: null
};
for (var _iterator16 = paths3, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator](); ; ) {
var _ref37;
if (_isArray16) {
if (_i16 >= _iterator16.length) break;
_ref37 = _iterator16[_i16++];
} else {
_i16 = _iterator16.next();
if (_i16.done) break;
_ref37 = _i16.value;
}
const folder = _ref37;
try {
yield mkdirp(folder);
yield access2(folder, mode);
result2.folder = folder;
return result2;
} catch (error) {
result2.skipped.push({
error,
folder
});
}
}
return result2;
});
return function getFirstSuitableFolder2(_x35) {
return _ref36.apply(this, arguments);
};
})();
exports3.copy = copy2;
exports3.readFile = readFile4;
exports3.readFileRaw = readFileRaw;
exports3.normalizeOS = normalizeOS;
var _fs;
function _load_fs() {
return _fs = _interopRequireDefault(__webpack_require__2(3));
}
var _glob;
function _load_glob() {
return _glob = _interopRequireDefault(__webpack_require__2(75));
}
var _os;
function _load_os() {
return _os = _interopRequireDefault(__webpack_require__2(36));
}
var _path;
function _load_path() {
return _path = _interopRequireDefault(__webpack_require__2(0));
}
var _blockingQueue;
function _load_blockingQueue() {
return _blockingQueue = _interopRequireDefault(__webpack_require__2(84));
}
var _promise;
function _load_promise() {
return _promise = _interopRequireWildcard(__webpack_require__2(40));
}
var _promise2;
function _load_promise2() {
return _promise2 = __webpack_require__2(40);
}
var _map2;
function _load_map() {
return _map2 = _interopRequireDefault(__webpack_require__2(20));
}
var _fsNormalized;
function _load_fsNormalized() {
return _fsNormalized = __webpack_require__2(164);
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
}
}
newObj.default = obj;
return newObj;
}
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const constants6 = exports3.constants = typeof (_fs || _load_fs()).default.constants !== "undefined" ? (_fs || _load_fs()).default.constants : {
R_OK: (_fs || _load_fs()).default.R_OK,
W_OK: (_fs || _load_fs()).default.W_OK,
X_OK: (_fs || _load_fs()).default.X_OK
};
const lockQueue = exports3.lockQueue = new (_blockingQueue || _load_blockingQueue()).default("fs lock");
const readFileBuffer = exports3.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile);
const open3 = exports3.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open);
const writeFile3 = exports3.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile);
const readlink = exports3.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink);
const realpath4 = exports3.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath);
const readdir3 = exports3.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir);
const rename = exports3.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename);
const access2 = exports3.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access);
const stat2 = exports3.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat);
const mkdirp = exports3.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__2(116));
const exists = exports3.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true);
const lstat2 = exports3.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat);
const chmod = exports3.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod);
const link2 = exports3.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link);
const glob2 = exports3.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default);
exports3.unlink = (_fsNormalized || _load_fsNormalized()).unlink;
const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4;
const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink);
const invariant = __webpack_require__2(7);
const stripBOM = __webpack_require__2(122);
const noop5 = () => {
};
function copy2(src2, dest, reporter) {
return copyBulk([{ src: src2, dest }], reporter);
}
function _readFile(loc, encoding) {
return new Promise((resolve4, reject3) => {
(_fs || _load_fs()).default.readFile(loc, encoding, function(err2, content) {
if (err2) {
reject3(err2);
} else {
resolve4(content);
}
});
});
}
function readFile4(loc) {
return _readFile(loc, "utf8").then(normalizeOS);
}
function readFileRaw(loc) {
return _readFile(loc, "binary");
}
function normalizeOS(body) {
return body.replace(/\r\n/g, "\n");
}
const cr = "\r".charCodeAt(0);
const lf = "\n".charCodeAt(0);
}),
/* 6 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.getPathKey = getPathKey;
const os17 = __webpack_require__2(36);
const path236 = __webpack_require__2(0);
const userHome = __webpack_require__2(45).default;
var _require = __webpack_require__2(171);
const getCacheDir2 = _require.getCacheDir, getConfigDir2 = _require.getConfigDir, getDataDir2 = _require.getDataDir;
const isWebpackBundle = __webpack_require__2(227);
const DEPENDENCY_TYPES = exports3.DEPENDENCY_TYPES = ["devDependencies", "dependencies", "optionalDependencies", "peerDependencies"];
const RESOLUTIONS = exports3.RESOLUTIONS = "resolutions";
const MANIFEST_FIELDS = exports3.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES];
const SUPPORTED_NODE_VERSIONS = exports3.SUPPORTED_NODE_VERSIONS = "^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0";
const YARN_REGISTRY = exports3.YARN_REGISTRY = "https://registry.yarnpkg.com";
const YARN_DOCS = exports3.YARN_DOCS = "https://yarnpkg.com/en/docs/cli/";
const YARN_INSTALLER_SH = exports3.YARN_INSTALLER_SH = "https://yarnpkg.com/install.sh";
const YARN_INSTALLER_MSI = exports3.YARN_INSTALLER_MSI = "https://yarnpkg.com/latest.msi";
const SELF_UPDATE_VERSION_URL = exports3.SELF_UPDATE_VERSION_URL = "https://yarnpkg.com/latest-version";
const CACHE_VERSION = exports3.CACHE_VERSION = 2;
const LOCKFILE_VERSION2 = exports3.LOCKFILE_VERSION = 1;
const NETWORK_CONCURRENCY = exports3.NETWORK_CONCURRENCY = 8;
const NETWORK_TIMEOUT = exports3.NETWORK_TIMEOUT = 30 * 1e3;
const CHILD_CONCURRENCY = exports3.CHILD_CONCURRENCY = 5;
const REQUIRED_PACKAGE_KEYS = exports3.REQUIRED_PACKAGE_KEYS = ["name", "version", "_uid"];
function getPreferredCacheDirectories() {
const preferredCacheDirectories = [getCacheDir2()];
if (process.getuid) {
preferredCacheDirectories.push(path236.join(os17.tmpdir(), `.yarn-cache-${process.getuid()}`));
}
preferredCacheDirectories.push(path236.join(os17.tmpdir(), `.yarn-cache`));
return preferredCacheDirectories;
}
const PREFERRED_MODULE_CACHE_DIRECTORIES = exports3.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories();
const CONFIG_DIRECTORY = exports3.CONFIG_DIRECTORY = getConfigDir2();
const DATA_DIRECTORY = exports3.DATA_DIRECTORY = getDataDir2();
const LINK_REGISTRY_DIRECTORY = exports3.LINK_REGISTRY_DIRECTORY = path236.join(DATA_DIRECTORY, "link");
const GLOBAL_MODULE_DIRECTORY = exports3.GLOBAL_MODULE_DIRECTORY = path236.join(DATA_DIRECTORY, "global");
const NODE_BIN_PATH = exports3.NODE_BIN_PATH = process.execPath;
const YARN_BIN_PATH = exports3.YARN_BIN_PATH = getYarnBinPath();
function getYarnBinPath() {
if (isWebpackBundle) {
return __filename;
} else {
return path236.join(__dirname, "..", "bin", "yarn.js");
}
}
const NODE_MODULES_FOLDER = exports3.NODE_MODULES_FOLDER = "node_modules";
const NODE_PACKAGE_JSON = exports3.NODE_PACKAGE_JSON = "package.json";
const POSIX_GLOBAL_PREFIX = exports3.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ""}/usr/local`;
const FALLBACK_GLOBAL_PREFIX = exports3.FALLBACK_GLOBAL_PREFIX = path236.join(userHome, ".yarn");
const META_FOLDER = exports3.META_FOLDER = ".yarn-meta";
const INTEGRITY_FILENAME = exports3.INTEGRITY_FILENAME = ".yarn-integrity";
const LOCKFILE_FILENAME = exports3.LOCKFILE_FILENAME = "yarn.lock";
const METADATA_FILENAME = exports3.METADATA_FILENAME = ".yarn-metadata.json";
const TARBALL_FILENAME = exports3.TARBALL_FILENAME = ".yarn-tarball.tgz";
const CLEAN_FILENAME = exports3.CLEAN_FILENAME = ".yarnclean";
const NPM_LOCK_FILENAME = exports3.NPM_LOCK_FILENAME = "package-lock.json";
const NPM_SHRINKWRAP_FILENAME = exports3.NPM_SHRINKWRAP_FILENAME = "npm-shrinkwrap.json";
const DEFAULT_INDENT = exports3.DEFAULT_INDENT = " ";
const SINGLE_INSTANCE_PORT = exports3.SINGLE_INSTANCE_PORT = 31997;
const SINGLE_INSTANCE_FILENAME = exports3.SINGLE_INSTANCE_FILENAME = ".yarn-single-instance";
const ENV_PATH_KEY = exports3.ENV_PATH_KEY = getPathKey(process.platform, process.env);
function getPathKey(platform5, env3) {
let pathKey2 = "PATH";
if (platform5 === "win32") {
pathKey2 = "Path";
for (const key in env3) {
if (key.toLowerCase() === "path") {
pathKey2 = key;
}
}
}
return pathKey2;
}
const VERSION_COLOR_SCHEME = exports3.VERSION_COLOR_SCHEME = {
major: "red",
premajor: "red",
minor: "yellow",
preminor: "yellow",
patch: "green",
prepatch: "green",
prerelease: "red",
unchanged: "white",
unknown: "red"
};
}),
/* 7 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var NODE_ENV = process.env.NODE_ENV;
var invariant = function(condition, format2, a2, b, c3, d3, e, f) {
if (NODE_ENV !== "production") {
if (format2 === void 0) {
throw new Error("invariant requires an error message argument");
}
}
if (!condition) {
var error;
if (format2 === void 0) {
error = new Error(
"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."
);
} else {
var args = [a2, b, c3, d3, e, f];
var argIndex = 0;
error = new Error(
format2.replace(/%s/g, function() {
return args[argIndex++];
})
);
error.name = "Invariant Violation";
}
error.framesToPop = 1;
throw error;
}
};
module3.exports = invariant;
}),
,
/* 9 */
/***/
(function(module3, exports3) {
module3.exports = __require("crypto");
}),
,
/* 11 */
/***/
(function(module3, exports3) {
var global3 = module3.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
if (typeof __g == "number") __g = global3;
}),
/* 12 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.sortAlpha = sortAlpha;
exports3.entries = entries;
exports3.removePrefix = removePrefix;
exports3.removeSuffix = removeSuffix3;
exports3.addSuffix = addSuffix;
exports3.hyphenate = hyphenate;
exports3.camelCase = camelCase2;
exports3.compareSortedArrays = compareSortedArrays;
exports3.sleep = sleep;
const _camelCase = __webpack_require__2(176);
function sortAlpha(a2, b) {
const shortLen = Math.min(a2.length, b.length);
for (let i4 = 0; i4 < shortLen; i4++) {
const aChar = a2.charCodeAt(i4);
const bChar = b.charCodeAt(i4);
if (aChar !== bChar) {
return aChar - bChar;
}
}
return a2.length - b.length;
}
function entries(obj) {
const entries2 = [];
if (obj) {
for (const key in obj) {
entries2.push([key, obj[key]]);
}
}
return entries2;
}
function removePrefix(pattern, prefix) {
if (pattern.startsWith(prefix)) {
pattern = pattern.slice(prefix.length);
}
return pattern;
}
function removeSuffix3(pattern, suffix) {
if (pattern.endsWith(suffix)) {
return pattern.slice(0, -suffix.length);
}
return pattern;
}
function addSuffix(pattern, suffix) {
if (!pattern.endsWith(suffix)) {
return pattern + suffix;
}
return pattern;
}
function hyphenate(str2) {
return str2.replace(/[A-Z]/g, (match) => {
return "-" + match.charAt(0).toLowerCase();
});
}
function camelCase2(str2) {
if (/[A-Z]/.test(str2)) {
return null;
} else {
return _camelCase(str2);
}
}
function compareSortedArrays(array1, array2) {
if (array1.length !== array2.length) {
return false;
}
for (let i4 = 0, len = array1.length; i4 < len; i4++) {
if (array1[i4] !== array2[i4]) {
return false;
}
}
return true;
}
function sleep(ms) {
return new Promise((resolve4) => {
setTimeout(resolve4, ms);
});
}
}),
/* 13 */
/***/
(function(module3, exports3, __webpack_require__2) {
var store = __webpack_require__2(107)("wks");
var uid = __webpack_require__2(111);
var Symbol2 = __webpack_require__2(11).Symbol;
var USE_SYMBOL = typeof Symbol2 == "function";
var $exports = module3.exports = function(name) {
return store[name] || (store[name] = USE_SYMBOL && Symbol2[name] || (USE_SYMBOL ? Symbol2 : uid)("Symbol." + name));
};
$exports.store = store;
}),
/* 14 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.stringify = exports3.parse = void 0;
var _asyncToGenerator2;
function _load_asyncToGenerator() {
return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__2(1));
}
var _parse;
function _load_parse() {
return _parse = __webpack_require__2(81);
}
Object.defineProperty(exports3, "parse", {
enumerable: true,
get: function get2() {
return _interopRequireDefault(_parse || _load_parse()).default;
}
});
var _stringify;
function _load_stringify() {
return _stringify = __webpack_require__2(150);
}
Object.defineProperty(exports3, "stringify", {
enumerable: true,
get: function get2() {
return _interopRequireDefault(_stringify || _load_stringify()).default;
}
});
exports3.implodeEntry = implodeEntry;
exports3.explodeEntry = explodeEntry;
var _misc;
function _load_misc() {
return _misc = __webpack_require__2(12);
}
var _normalizePattern;
function _load_normalizePattern() {
return _normalizePattern = __webpack_require__2(29);
}
var _parse2;
function _load_parse2() {
return _parse2 = _interopRequireDefault(__webpack_require__2(81));
}
var _constants;
function _load_constants() {
return _constants = __webpack_require__2(6);
}
var _fs;
function _load_fs() {
return _fs = _interopRequireWildcard(__webpack_require__2(5));
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
}
}
newObj.default = obj;
return newObj;
}
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const invariant = __webpack_require__2(7);
const path236 = __webpack_require__2(0);
const ssri6 = __webpack_require__2(55);
function getName(pattern) {
return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name;
}
function blankObjectUndefined(obj) {
return obj && Object.keys(obj).length ? obj : void 0;
}
function keyForRemote(remote) {
return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null);
}
function serializeIntegrity(integrity) {
return integrity.toString().split(" ").sort().join(" ");
}
function implodeEntry(pattern, obj) {
const inferredName = getName(pattern);
const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : "";
const imploded = {
name: inferredName === obj.name ? void 0 : obj.name,
version: obj.version,
uid: obj.uid === obj.version ? void 0 : obj.uid,
resolved: obj.resolved,
registry: obj.registry === "npm" ? void 0 : obj.registry,
dependencies: blankObjectUndefined(obj.dependencies),
optionalDependencies: blankObjectUndefined(obj.optionalDependencies),
permissions: blankObjectUndefined(obj.permissions),
prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants)
};
if (integrity) {
imploded.integrity = integrity;
}
return imploded;
}
function explodeEntry(pattern, obj) {
obj.optionalDependencies = obj.optionalDependencies || {};
obj.dependencies = obj.dependencies || {};
obj.uid = obj.uid || obj.version;
obj.permissions = obj.permissions || {};
obj.registry = obj.registry || "npm";
obj.name = obj.name || getName(pattern);
const integrity = obj.integrity;
if (integrity && integrity.isIntegrity) {
obj.integrity = ssri6.parse(integrity);
}
return obj;
}
class Lockfile {
constructor({ cache, source, parseResultType } = {}) {
this.source = source || "";
this.cache = cache;
this.parseResultType = parseResultType;
}
// source string if the `cache` was parsed
// if true, we're parsing an old yarn file and need to update integrity fields
hasEntriesExistWithoutIntegrity() {
if (!this.cache) {
return false;
}
for (const key in this.cache) {
if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) {
return true;
}
}
return false;
}
static fromDirectory(dir, reporter) {
return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () {
const lockfileLoc = path236.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME);
let lockfile;
let rawLockfile = "";
let parseResult;
if (yield (_fs || _load_fs()).exists(lockfileLoc)) {
rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc);
parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc);
if (reporter) {
if (parseResult.type === "merge") {
reporter.info(reporter.lang("lockfileMerged"));
} else if (parseResult.type === "conflict") {
reporter.warn(reporter.lang("lockfileConflict"));
}
}
lockfile = parseResult.object;
} else if (reporter) {
reporter.info(reporter.lang("noLockfileFound"));
}
return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type });
})();
}
getLocked(pattern) {
const cache = this.cache;
if (!cache) {
return void 0;
}
const shrunk = pattern in cache && cache[pattern];
if (typeof shrunk === "string") {
return this.getLocked(shrunk);
} else if (shrunk) {
explodeEntry(pattern, shrunk);
return shrunk;
}
return void 0;
}
removePattern(pattern) {
const cache = this.cache;
if (!cache) {
return;
}
delete cache[pattern];
}
getLockfile(patterns) {
const lockfile = {};
const seen = /* @__PURE__ */ new Map();
const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha);
for (var _iterator = sortedPatternsKeys, _isArray2 = Array.isArray(_iterator), _i = 0, _iterator = _isArray2 ? _iterator : _iterator[Symbol.iterator](); ; ) {
var _ref;
if (_isArray2) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
const pattern = _ref;
const pkg = patterns[pattern];
const remote = pkg._remote, ref = pkg._reference;
invariant(ref, "Package is missing a reference");
invariant(remote, "Package is missing a remote");
const remoteKey = keyForRemote(remote);
const seenPattern = remoteKey && seen.get(remoteKey);
if (seenPattern) {
lockfile[pattern] = seenPattern;
if (!seenPattern.name && getName(pattern) !== pkg.name) {
seenPattern.name = pkg.name;
}
continue;
}
const obj = implodeEntry(pattern, {
name: pkg.name,
version: pkg.version,
uid: pkg._uid,
resolved: remote.resolved,
integrity: remote.integrity,
registry: remote.registry,
dependencies: pkg.dependencies,
peerDependencies: pkg.peerDependencies,
optionalDependencies: pkg.optionalDependencies,
permissions: ref.permissions,
prebuiltVariants: pkg.prebuiltVariants
});
lockfile[pattern] = obj;
if (remoteKey) {
seen.set(remoteKey, obj);
}
}
return lockfile;
}
}
exports3.default = Lockfile;
}),
,
,
/* 17 */
/***/
(function(module3, exports3) {
module3.exports = __require("stream");
}),
,
,
/* 20 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.default = nullify;
function nullify(obj = {}) {
if (Array.isArray(obj)) {
for (var _iterator = obj, _isArray2 = Array.isArray(_iterator), _i = 0, _iterator = _isArray2 ? _iterator : _iterator[Symbol.iterator](); ; ) {
var _ref;
if (_isArray2) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
const item = _ref;
nullify(item);
}
} else if (obj !== null && typeof obj === "object" || typeof obj === "function") {
Object.setPrototypeOf(obj, null);
if (typeof obj === "object") {
for (const key in obj) {
nullify(obj[key]);
}
}
}
return obj;
}
}),
,
/* 22 */
/***/
(function(module3, exports3) {
module3.exports = __require("assert");
}),
/* 23 */
/***/
(function(module3, exports3) {
var core2 = module3.exports = { version: "2.5.7" };
if (typeof __e == "number") __e = core2;
}),
,
,
,
/* 27 */
/***/
(function(module3, exports3, __webpack_require__2) {
var isObject4 = __webpack_require__2(34);
module3.exports = function(it) {
if (!isObject4(it)) throw TypeError(it + " is not an object!");
return it;
};
}),
,
/* 29 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.normalizePattern = normalizePattern2;
function normalizePattern2(pattern) {
let hasVersion = false;
let range = "latest";
let name = pattern;
let isScoped = false;
if (name[0] === "@") {
isScoped = true;
name = name.slice(1);
}
const parts = name.split("@");
if (parts.length > 1) {
name = parts.shift();
range = parts.join("@");
if (range) {
hasVersion = true;
} else {
range = "*";
}
}
if (isScoped) {
name = `@${name}`;
}
return { name, range, hasVersion };
}
}),
,
/* 31 */
/***/
(function(module3, exports3, __webpack_require__2) {
var dP = __webpack_require__2(50);
var createDesc = __webpack_require__2(106);
module3.exports = __webpack_require__2(33) ? function(object, key, value) {
return dP.f(object, key, createDesc(1, value));
} : function(object, key, value) {
object[key] = value;
return object;
};
}),
/* 32 */
/***/
(function(module3, exports3, __webpack_require__2) {
var buffer3 = __webpack_require__2(63);
var Buffer6 = buffer3.Buffer;
function copyProps(src2, dst) {
for (var key in src2) {
dst[key] = src2[key];
}
}
if (Buffer6.from && Buffer6.alloc && Buffer6.allocUnsafe && Buffer6.allocUnsafeSlow) {
module3.exports = buffer3;
} else {
copyProps(buffer3, exports3);
exports3.Buffer = SafeBuffer;
}
function SafeBuffer(arg, encodingOrOffset, length) {
return Buffer6(arg, encodingOrOffset, length);
}
copyProps(Buffer6, SafeBuffer);
SafeBuffer.from = function(arg, encodingOrOffset, length) {
if (typeof arg === "number") {
throw new TypeError("Argument must not be a number");
}
return Buffer6(arg, encodingOrOffset, length);
};
SafeBuffer.alloc = function(size, fill, encoding) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
var buf = Buffer6(size);
if (fill !== void 0) {
if (typeof encoding === "string") {
buf.fill(fill, encoding);
} else {
buf.fill(fill);
}
} else {
buf.fill(0);
}
return buf;
};
SafeBuffer.allocUnsafe = function(size) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
return Buffer6(size);
};
SafeBuffer.allocUnsafeSlow = function(size) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
return buffer3.SlowBuffer(size);
};
}),
/* 33 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = !__webpack_require__2(85)(function() {
return Object.defineProperty({}, "a", { get: function() {
return 7;
} }).a != 7;
});
}),
/* 34 */
/***/
(function(module3, exports3) {
module3.exports = function(it) {
return typeof it === "object" ? it !== null : typeof it === "function";
};
}),
/* 35 */
/***/
(function(module3, exports3) {
module3.exports = {};
}),
/* 36 */
/***/
(function(module3, exports3) {
module3.exports = __require("os");
}),
,
,
,
/* 40 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.wait = wait;
exports3.promisify = promisify15;
exports3.queue = queue2;
function wait(delay) {
return new Promise((resolve4) => {
setTimeout(resolve4, delay);
});
}
function promisify15(fn, firstData) {
return function(...args) {
return new Promise(function(resolve4, reject3) {
args.push(function(err2, ...result2) {
let res = result2;
if (result2.length <= 1) {
res = result2[0];
}
if (firstData) {
res = err2;
err2 = null;
}
if (err2) {
reject3(err2);
} else {
resolve4(res);
}
});
fn.apply(null, args);
});
};
}
function queue2(arr, promiseProducer, concurrency = Infinity) {
concurrency = Math.min(concurrency, arr.length);
arr = arr.slice();
const results = [];
let total = arr.length;
if (!total) {
return Promise.resolve(results);
}
return new Promise((resolve4, reject3) => {
for (let i4 = 0; i4 < concurrency; i4++) {
next2();
}
function next2() {
const item = arr.shift();
const promise2 = promiseProducer(item);
promise2.then(function(result2) {
results.push(result2);
total--;
if (total === 0) {
resolve4(results);
} else {
if (arr.length) {
next2();
}
}
}, reject3);
}
});
}
}),
/* 41 */
/***/
(function(module3, exports3, __webpack_require__2) {
var global3 = __webpack_require__2(11);
var core2 = __webpack_require__2(23);
var ctx = __webpack_require__2(48);
var hide = __webpack_require__2(31);
var has = __webpack_require__2(49);
var PROTOTYPE = "prototype";
var $export = function(type4, name, source) {
var IS_FORCED = type4 & $export.F;
var IS_GLOBAL = type4 & $export.G;
var IS_STATIC = type4 & $export.S;
var IS_PROTO = type4 & $export.P;
var IS_BIND = type4 & $export.B;
var IS_WRAP = type4 & $export.W;
var exports4 = IS_GLOBAL ? core2 : core2[name] || (core2[name] = {});
var expProto = exports4[PROTOTYPE];
var target2 = IS_GLOBAL ? global3 : IS_STATIC ? global3[name] : (global3[name] || {})[PROTOTYPE];
var key, own, out;
if (IS_GLOBAL) source = name;
for (key in source) {
own = !IS_FORCED && target2 && target2[key] !== void 0;
if (own && has(exports4, key)) continue;
out = own ? target2[key] : source[key];
exports4[key] = IS_GLOBAL && typeof target2[key] != "function" ? source[key] : IS_BIND && own ? ctx(out, global3) : IS_WRAP && target2[key] == out ? (function(C) {
var F = function(a2, b, c3) {
if (this instanceof C) {
switch (arguments.length) {
case 0:
return new C();
case 1:
return new C(a2);
case 2:
return new C(a2, b);
}
return new C(a2, b, c3);
}
return C.apply(this, arguments);
};
F[PROTOTYPE] = C[PROTOTYPE];
return F;
})(out) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out;
if (IS_PROTO) {
(exports4.virtual || (exports4.virtual = {}))[key] = out;
if (type4 & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
}
}
};
$export.F = 1;
$export.G = 2;
$export.S = 4;
$export.P = 8;
$export.B = 16;
$export.W = 32;
$export.U = 64;
$export.R = 128;
module3.exports = $export;
}),
/* 42 */
/***/
(function(module3, exports3, __webpack_require__2) {
try {
var util64 = __webpack_require__2(2);
if (typeof util64.inherits !== "function") throw "";
module3.exports = util64.inherits;
} catch (e) {
module3.exports = __webpack_require__2(224);
}
}),
,
,
/* 45 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.home = void 0;
var _rootUser;
function _load_rootUser() {
return _rootUser = _interopRequireDefault(__webpack_require__2(169));
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const path236 = __webpack_require__2(0);
const home = exports3.home = __webpack_require__2(36).homedir();
const userHomeDir = (_rootUser || _load_rootUser()).default ? path236.resolve("/usr/local/share") : home;
exports3.default = userHomeDir;
}),
/* 46 */
/***/
(function(module3, exports3) {
module3.exports = function(it) {
if (typeof it != "function") throw TypeError(it + " is not a function!");
return it;
};
}),
/* 47 */
/***/
(function(module3, exports3) {
var toString4 = {}.toString;
module3.exports = function(it) {
return toString4.call(it).slice(8, -1);
};
}),
/* 48 */
/***/
(function(module3, exports3, __webpack_require__2) {
var aFunction = __webpack_require__2(46);
module3.exports = function(fn, that, length) {
aFunction(fn);
if (that === void 0) return fn;
switch (length) {
case 1:
return function(a2) {
return fn.call(that, a2);
};
case 2:
return function(a2, b) {
return fn.call(that, a2, b);
};
case 3:
return function(a2, b, c3) {
return fn.call(that, a2, b, c3);
};
}
return function() {
return fn.apply(that, arguments);
};
};
}),
/* 49 */
/***/
(function(module3, exports3) {
var hasOwnProperty2 = {}.hasOwnProperty;
module3.exports = function(it, key) {
return hasOwnProperty2.call(it, key);
};
}),
/* 50 */
/***/
(function(module3, exports3, __webpack_require__2) {
var anObject = __webpack_require__2(27);
var IE8_DOM_DEFINE = __webpack_require__2(184);
var toPrimitive = __webpack_require__2(201);
var dP = Object.defineProperty;
exports3.f = __webpack_require__2(33) ? Object.defineProperty : function defineProperty(O2, P2, Attributes) {
anObject(O2);
P2 = toPrimitive(P2, true);
anObject(Attributes);
if (IE8_DOM_DEFINE) try {
return dP(O2, P2, Attributes);
} catch (e) {
}
if ("get" in Attributes || "set" in Attributes) throw TypeError("Accessors not supported!");
if ("value" in Attributes) O2[P2] = Attributes.value;
return O2;
};
}),
,
,
,
/* 54 */
/***/
(function(module3, exports3) {
module3.exports = __require("events");
}),
/* 55 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
const Buffer6 = __webpack_require__2(32).Buffer;
const crypto13 = __webpack_require__2(9);
const Transform2 = __webpack_require__2(17).Transform;
const SPEC_ALGORITHMS = ["sha256", "sha384", "sha512"];
const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i;
const SRI_REGEX = /^([^-]+)-([^?]+)([?\S*]*)$/;
const STRICT_SRI_REGEX = /^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/;
const VCHAR_REGEX = /^[\x21-\x7E]+$/;
class Hash2 {
get isHash() {
return true;
}
constructor(hash2, opts3) {
const strict = !!(opts3 && opts3.strict);
this.source = hash2.trim();
const match = this.source.match(
strict ? STRICT_SRI_REGEX : SRI_REGEX
);
if (!match) {
return;
}
if (strict && !SPEC_ALGORITHMS.some((a2) => a2 === match[1])) {
return;
}
this.algorithm = match[1];
this.digest = match[2];
const rawOpts = match[3];
this.options = rawOpts ? rawOpts.slice(1).split("?") : [];
}
hexDigest() {
return this.digest && Buffer6.from(this.digest, "base64").toString("hex");
}
toJSON() {
return this.toString();
}
toString(opts3) {
if (opts3 && opts3.strict) {
if (!// The spec has very restricted productions for algorithms.
// https://www.w3.org/TR/CSP2/#source-list-syntax
(SPEC_ALGORITHMS.some((x3) => x3 === this.algorithm) && // Usually, if someone insists on using a "different" base64, we
// leave it as-is, since there's multiple standards, and the
// specified is not a URL-safe variant.
// https://www.w3.org/TR/CSP2/#base64_value
this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars.
// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression
// https://tools.ietf.org/html/rfc5234#appendix-B.1
(this.options || []).every((opt) => opt.match(VCHAR_REGEX)))) {
return "";
}
}
const options = this.options && this.options.length ? `?${this.options.join("?")}` : "";
return `${this.algorithm}-${this.digest}${options}`;
}
}
class Integrity {
get isIntegrity() {
return true;
}
toJSON() {
return this.toString();
}
toString(opts3) {
opts3 = opts3 || {};
let sep2 = opts3.sep || " ";
if (opts3.strict) {
sep2 = sep2.replace(/\S+/g, " ");
}
return Object.keys(this).map((k2) => {
return this[k2].map((hash2) => {
return Hash2.prototype.toString.call(hash2, opts3);
}).filter((x3) => x3.length).join(sep2);
}).filter((x3) => x3.length).join(sep2);
}
concat(integrity, opts3) {
const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts3);
return parse12(`${this.toString(opts3)} ${other}`, opts3);
}
hexDigest() {
return parse12(this, { single: true }).hexDigest();
}
match(integrity, opts3) {
const other = parse12(integrity, opts3);
const algo = other.pickAlgorithm(opts3);
return this[algo] && other[algo] && this[algo].find(
(hash2) => other[algo].find(
(otherhash) => hash2.digest === otherhash.digest
)
) || false;
}
pickAlgorithm(opts3) {
const pickAlgorithm = opts3 && opts3.pickAlgorithm || getPrioritizedHash;
const keys4 = Object.keys(this);
if (!keys4.length) {
throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);
}
return keys4.reduce((acc, algo) => {
return pickAlgorithm(acc, algo) || acc;
});
}
}
module3.exports.parse = parse12;
function parse12(sri, opts3) {
opts3 = opts3 || {};
if (typeof sri === "string") {
return _parse(sri, opts3);
} else if (sri.algorithm && sri.digest) {
const fullSri = new Integrity();
fullSri[sri.algorithm] = [sri];
return _parse(stringify2(fullSri, opts3), opts3);
} else {
return _parse(stringify2(sri, opts3), opts3);
}
}
function _parse(integrity, opts3) {
if (opts3.single) {
return new Hash2(integrity, opts3);
}
return integrity.trim().split(/\s+/).reduce((acc, string) => {
const hash2 = new Hash2(string, opts3);
if (hash2.algorithm && hash2.digest) {
const algo = hash2.algorithm;
if (!acc[algo]) {
acc[algo] = [];
}
acc[algo].push(hash2);
}
return acc;
}, new Integrity());
}
module3.exports.stringify = stringify2;
function stringify2(obj, opts3) {
if (obj.algorithm && obj.digest) {
return Hash2.prototype.toString.call(obj, opts3);
} else if (typeof obj === "string") {
return stringify2(parse12(obj, opts3), opts3);
} else {
return Integrity.prototype.toString.call(obj, opts3);
}
}
module3.exports.fromHex = fromHex;
function fromHex(hexDigest, algorithm, opts3) {
const optString = opts3 && opts3.options && opts3.options.length ? `?${opts3.options.join("?")}` : "";
return parse12(
`${algorithm}-${Buffer6.from(hexDigest, "hex").toString("base64")}${optString}`,
opts3
);
}
module3.exports.fromData = fromData;
function fromData(data, opts3) {
opts3 = opts3 || {};
const algorithms = opts3.algorithms || ["sha512"];
const optString = opts3.options && opts3.options.length ? `?${opts3.options.join("?")}` : "";
return algorithms.reduce((acc, algo) => {
const digest = crypto13.createHash(algo).update(data).digest("base64");
const hash2 = new Hash2(
`${algo}-${digest}${optString}`,
opts3
);
if (hash2.algorithm && hash2.digest) {
const algo2 = hash2.algorithm;
if (!acc[algo2]) {
acc[algo2] = [];
}
acc[algo2].push(hash2);
}
return acc;
}, new Integrity());
}
module3.exports.fromStream = fromStream;
function fromStream(stream2, opts3) {
opts3 = opts3 || {};
const P2 = opts3.Promise || Promise;
const istream = integrityStream(opts3);
return new P2((resolve4, reject3) => {
stream2.pipe(istream);
stream2.on("error", reject3);
istream.on("error", reject3);
let sri;
istream.on("integrity", (s) => {
sri = s;
});
istream.on("end", () => resolve4(sri));
istream.on("data", () => {
});
});
}
module3.exports.checkData = checkData;
function checkData(data, sri, opts3) {
opts3 = opts3 || {};
sri = parse12(sri, opts3);
if (!Object.keys(sri).length) {
if (opts3.error) {
throw Object.assign(
new Error("No valid integrity hashes to check against"),
{
code: "EINTEGRITY"
}
);
} else {
return false;
}
}
const algorithm = sri.pickAlgorithm(opts3);
const digest = crypto13.createHash(algorithm).update(data).digest("base64");
const newSri = parse12({ algorithm, digest });
const match = newSri.match(sri, opts3);
if (match || !opts3.error) {
return match;
} else if (typeof opts3.size === "number" && data.length !== opts3.size) {
const err2 = new Error(`data size mismatch when checking ${sri}.
Wanted: ${opts3.size}
Found: ${data.length}`);
err2.code = "EBADSIZE";
err2.found = data.length;
err2.expected = opts3.size;
err2.sri = sri;
throw err2;
} else {
const err2 = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`);
err2.code = "EINTEGRITY";
err2.found = newSri;
err2.expected = sri;
err2.algorithm = algorithm;
err2.sri = sri;
throw err2;
}
}
module3.exports.checkStream = checkStream;
function checkStream(stream2, sri, opts3) {
opts3 = opts3 || {};
const P2 = opts3.Promise || Promise;
const checker = integrityStream(Object.assign({}, opts3, {
integrity: sri
}));
return new P2((resolve4, reject3) => {
stream2.pipe(checker);
stream2.on("error", reject3);
checker.on("error", reject3);
let sri2;
checker.on("verified", (s) => {
sri2 = s;
});
checker.on("end", () => resolve4(sri2));
checker.on("data", () => {
});
});
}
module3.exports.integrityStream = integrityStream;
function integrityStream(opts3) {
opts3 = opts3 || {};
const sri = opts3.integrity && parse12(opts3.integrity, opts3);
const goodSri = sri && Object.keys(sri).length;
const algorithm = goodSri && sri.pickAlgorithm(opts3);
const digests = goodSri && sri[algorithm];
const algorithms = Array.from(
new Set(
(opts3.algorithms || ["sha512"]).concat(algorithm ? [algorithm] : [])
)
);
const hashes = algorithms.map(crypto13.createHash);
let streamSize = 0;
const stream2 = new Transform2({
transform(chunk, enc, cb) {
streamSize += chunk.length;
hashes.forEach((h2) => h2.update(chunk, enc));
cb(null, chunk, enc);
}
}).on("end", () => {
const optString = opts3.options && opts3.options.length ? `?${opts3.options.join("?")}` : "";
const newSri = parse12(hashes.map((h2, i4) => {
return `${algorithms[i4]}-${h2.digest("base64")}${optString}`;
}).join(" "), opts3);
const match = goodSri && newSri.match(sri, opts3);
if (typeof opts3.size === "number" && streamSize !== opts3.size) {
const err2 = new Error(`stream size mismatch when checking ${sri}.
Wanted: ${opts3.size}
Found: ${streamSize}`);
err2.code = "EBADSIZE";
err2.found = streamSize;
err2.expected = opts3.size;
err2.sri = sri;
stream2.emit("error", err2);
} else if (opts3.integrity && !match) {
const err2 = new Error(`${sri} integrity checksum failed when using ${algorithm}: wanted ${digests} but got ${newSri}. (${streamSize} bytes)`);
err2.code = "EINTEGRITY";
err2.found = newSri;
err2.expected = digests;
err2.algorithm = algorithm;
err2.sri = sri;
stream2.emit("error", err2);
} else {
stream2.emit("size", streamSize);
stream2.emit("integrity", newSri);
match && stream2.emit("verified", match);
}
});
return stream2;
}
module3.exports.create = createIntegrity;
function createIntegrity(opts3) {
opts3 = opts3 || {};
const algorithms = opts3.algorithms || ["sha512"];
const optString = opts3.options && opts3.options.length ? `?${opts3.options.join("?")}` : "";
const hashes = algorithms.map(crypto13.createHash);
return {
update: function(chunk, enc) {
hashes.forEach((h2) => h2.update(chunk, enc));
return this;
},
digest: function(enc) {
const integrity = algorithms.reduce((acc, algo) => {
const digest = hashes.shift().digest("base64");
const hash2 = new Hash2(
`${algo}-${digest}${optString}`,
opts3
);
if (hash2.algorithm && hash2.digest) {
const algo2 = hash2.algorithm;
if (!acc[algo2]) {
acc[algo2] = [];
}
acc[algo2].push(hash2);
}
return acc;
}, new Integrity());
return integrity;
}
};
}
const NODE_HASHES = new Set(crypto13.getHashes());
const DEFAULT_PRIORITY = [
"md5",
"whirlpool",
"sha1",
"sha224",
"sha256",
"sha384",
"sha512",
// TODO - it's unclear _which_ of these Node will actually use as its name
// for the algorithm, so we guesswork it based on the OpenSSL names.
"sha3",
"sha3-256",
"sha3-384",
"sha3-512",
"sha3_256",
"sha3_384",
"sha3_512"
].filter((algo) => NODE_HASHES.has(algo));
function getPrioritizedHash(algo1, algo2) {
return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2;
}
}),
,
,
,
,
/* 60 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = minimatch;
minimatch.Minimatch = Minimatch;
var path236 = { sep: "/" };
try {
path236 = __webpack_require__2(0);
} catch (er) {
}
var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
var expand = __webpack_require__2(175);
var plTypes = {
"!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
"?": { open: "(?:", close: ")?" },
"+": { open: "(?:", close: ")+" },
"*": { open: "(?:", close: ")*" },
"@": { open: "(?:", close: ")" }
};
var qmark = "[^/]";
var star = qmark + "*?";
var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
var reSpecials = charSet("().*{}+?[]^$\\!");
function charSet(s) {
return s.split("").reduce(function(set2, c3) {
set2[c3] = true;
return set2;
}, {});
}
var slashSplit = /\/+/;
minimatch.filter = filter14;
function filter14(pattern, options) {
options = options || {};
return function(p, i4, list2) {
return minimatch(p, pattern, options);
};
}
function ext(a2, b) {
a2 = a2 || {};
b = b || {};
var t2 = {};
Object.keys(b).forEach(function(k2) {
t2[k2] = b[k2];
});
Object.keys(a2).forEach(function(k2) {
t2[k2] = a2[k2];
});
return t2;
}
minimatch.defaults = function(def) {
if (!def || !Object.keys(def).length) return minimatch;
var orig = minimatch;
var m = function minimatch2(p, pattern, options) {
return orig.minimatch(p, pattern, ext(def, options));
};
m.Minimatch = function Minimatch2(pattern, options) {
return new orig.Minimatch(pattern, ext(def, options));
};
return m;
};
Minimatch.defaults = function(def) {
if (!def || !Object.keys(def).length) return Minimatch;
return minimatch.defaults(def).Minimatch;
};
function minimatch(p, pattern, options) {
if (typeof pattern !== "string") {
throw new TypeError("glob pattern string required");
}
if (!options) options = {};
if (!options.nocomment && pattern.charAt(0) === "#") {
return false;
}
if (pattern.trim() === "") return p === "";
return new Minimatch(pattern, options).match(p);
}
function Minimatch(pattern, options) {
if (!(this instanceof Minimatch)) {
return new Minimatch(pattern, options);
}
if (typeof pattern !== "string") {
throw new TypeError("glob pattern string required");
}
if (!options) options = {};
pattern = pattern.trim();
if (path236.sep !== "/") {
pattern = pattern.split(path236.sep).join("/");
}
this.options = options;
this.set = [];
this.pattern = pattern;
this.regexp = null;
this.negate = false;
this.comment = false;
this.empty = false;
this.make();
}
Minimatch.prototype.debug = function() {
};
Minimatch.prototype.make = make;
function make() {
if (this._made) return;
var pattern = this.pattern;
var options = this.options;
if (!options.nocomment && pattern.charAt(0) === "#") {
this.comment = true;
return;
}
if (!pattern) {
this.empty = true;
return;
}
this.parseNegate();
var set2 = this.globSet = this.braceExpand();
if (options.debug) this.debug = console.error;
this.debug(this.pattern, set2);
set2 = this.globParts = set2.map(function(s) {
return s.split(slashSplit);
});
this.debug(this.pattern, set2);
set2 = set2.map(function(s, si, set3) {
return s.map(this.parse, this);
}, this);
this.debug(this.pattern, set2);
set2 = set2.filter(function(s) {
return s.indexOf(false) === -1;
});
this.debug(this.pattern, set2);
this.set = set2;
}
Minimatch.prototype.parseNegate = parseNegate;
function parseNegate() {
var pattern = this.pattern;
var negate = false;
var options = this.options;
var negateOffset = 0;
if (options.nonegate) return;
for (var i4 = 0, l = pattern.length; i4 < l && pattern.charAt(i4) === "!"; i4++) {
negate = !negate;
negateOffset++;
}
if (negateOffset) this.pattern = pattern.substr(negateOffset);
this.negate = negate;
}
minimatch.braceExpand = function(pattern, options) {
return braceExpand(pattern, options);
};
Minimatch.prototype.braceExpand = braceExpand;
function braceExpand(pattern, options) {
if (!options) {
if (this instanceof Minimatch) {
options = this.options;
} else {
options = {};
}
}
pattern = typeof pattern === "undefined" ? this.pattern : pattern;
if (typeof pattern === "undefined") {
throw new TypeError("undefined pattern");
}
if (options.nobrace || !pattern.match(/\{.*\}/)) {
return [pattern];
}
return expand(pattern);
}
Minimatch.prototype.parse = parse12;
var SUBPARSE = {};
function parse12(pattern, isSub) {
if (pattern.length > 1024 * 64) {
throw new TypeError("pattern is too long");
}
var options = this.options;
if (!options.noglobstar && pattern === "**") return GLOBSTAR;
if (pattern === "") return "";
var re = "";
var hasMagic = !!options.nocase;
var escaping = false;
var patternListStack = [];
var negativeLists = [];
var stateChar;
var inClass = false;
var reClassStart = -1;
var classStart = -1;
var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
var self2 = this;
function clearStateChar() {
if (stateChar) {
switch (stateChar) {
case "*":
re += star;
hasMagic = true;
break;
case "?":
re += qmark;
hasMagic = true;
break;
default:
re += "\\" + stateChar;
break;
}
self2.debug("clearStateChar %j %j", stateChar, re);
stateChar = false;
}
}
for (var i4 = 0, len = pattern.length, c3; i4 < len && (c3 = pattern.charAt(i4)); i4++) {
this.debug("%s %s %s %j", pattern, i4, re, c3);
if (escaping && reSpecials[c3]) {
re += "\\" + c3;
escaping = false;
continue;
}
switch (c3) {
case "/":
return false;
case "\\":
clearStateChar();
escaping = true;
continue;
// the various stateChar values
// for the "extglob" stuff.
case "?":
case "*":
case "+":
case "@":
case "!":
this.debug("%s %s %s %j <-- stateChar", pattern, i4, re, c3);
if (inClass) {
this.debug(" in class");
if (c3 === "!" && i4 === classStart + 1) c3 = "^";
re += c3;
continue;
}
self2.debug("call clearStateChar %j", stateChar);
clearStateChar();
stateChar = c3;
if (options.noext) clearStateChar();
continue;
case "(":
if (inClass) {
re += "(";
continue;
}
if (!stateChar) {
re += "\\(";
continue;
}
patternListStack.push({
type: stateChar,
start: i4 - 1,
reStart: re.length,
open: plTypes[stateChar].open,
close: plTypes[stateChar].close
});
re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
this.debug("plType %j %j", stateChar, re);
stateChar = false;
continue;
case ")":
if (inClass || !patternListStack.length) {
re += "\\)";
continue;
}
clearStateChar();
hasMagic = true;
var pl = patternListStack.pop();
re += pl.close;
if (pl.type === "!") {
negativeLists.push(pl);
}
pl.reEnd = re.length;
continue;
case "|":
if (inClass || !patternListStack.length || escaping) {
re += "\\|";
escaping = false;
continue;
}
clearStateChar();
re += "|";
continue;
// these are mostly the same in regexp and glob
case "[":
clearStateChar();
if (inClass) {
re += "\\" + c3;
continue;
}
inClass = true;
classStart = i4;
reClassStart = re.length;
re += c3;
continue;
case "]":
if (i4 === classStart + 1 || !inClass) {
re += "\\" + c3;
escaping = false;
continue;
}
if (inClass) {
var cs = pattern.substring(classStart + 1, i4);
try {
RegExp("[" + cs + "]");
} catch (er) {
var sp = this.parse(cs, SUBPARSE);
re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
hasMagic = hasMagic || sp[1];
inClass = false;
continue;
}
}
hasMagic = true;
inClass = false;
re += c3;
continue;
default:
clearStateChar();
if (escaping) {
escaping = false;
} else if (reSpecials[c3] && !(c3 === "^" && inClass)) {
re += "\\";
}
re += c3;
}
}
if (inClass) {
cs = pattern.substr(classStart + 1);
sp = this.parse(cs, SUBPARSE);
re = re.substr(0, reClassStart) + "\\[" + sp[0];
hasMagic = hasMagic || sp[1];
}
for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
var tail2 = re.slice(pl.reStart + pl.open.length);
this.debug("setting tail", re, pl);
tail2 = tail2.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
if (!$2) {
$2 = "\\";
}
return $1 + $1 + $2 + "|";
});
this.debug("tail=%j\n %s", tail2, tail2, pl, re);
var t2 = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
hasMagic = true;
re = re.slice(0, pl.reStart) + t2 + "\\(" + tail2;
}
clearStateChar();
if (escaping) {
re += "\\\\";
}
var addPatternStart = false;
switch (re.charAt(0)) {
case ".":
case "[":
case "(":
addPatternStart = true;
}
for (var n2 = negativeLists.length - 1; n2 > -1; n2--) {
var nl = negativeLists[n2];
var nlBefore = re.slice(0, nl.reStart);
var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
var nlAfter = re.slice(nl.reEnd);
nlLast += nlAfter;
var openParensBefore = nlBefore.split("(").length - 1;
var cleanAfter = nlAfter;
for (i4 = 0; i4 < openParensBefore; i4++) {
cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
}
nlAfter = cleanAfter;
var dollar = "";
if (nlAfter === "" && isSub !== SUBPARSE) {
dollar = "$";
}
var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
re = newRe;
}
if (re !== "" && hasMagic) {
re = "(?=.)" + re;
}
if (addPatternStart) {
re = patternStart + re;
}
if (isSub === SUBPARSE) {
return [re, hasMagic];
}
if (!hasMagic) {
return globUnescape(pattern);
}
var flags = options.nocase ? "i" : "";
try {
var regExp = new RegExp("^" + re + "$", flags);
} catch (er) {
return new RegExp("$.");
}
regExp._glob = pattern;
regExp._src = re;
return regExp;
}
minimatch.makeRe = function(pattern, options) {
return new Minimatch(pattern, options || {}).makeRe();
};
Minimatch.prototype.makeRe = makeRe;
function makeRe() {
if (this.regexp || this.regexp === false) return this.regexp;
var set2 = this.set;
if (!set2.length) {
this.regexp = false;
return this.regexp;
}
var options = this.options;
var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
var flags = options.nocase ? "i" : "";
var re = set2.map(function(pattern) {
return pattern.map(function(p) {
return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
}).join("\\/");
}).join("|");
re = "^(?:" + re + ")$";
if (this.negate) re = "^(?!" + re + ").*$";
try {
this.regexp = new RegExp(re, flags);
} catch (ex) {
this.regexp = false;
}
return this.regexp;
}
minimatch.match = function(list2, pattern, options) {
options = options || {};
var mm = new Minimatch(pattern, options);
list2 = list2.filter(function(f) {
return mm.match(f);
});
if (mm.options.nonull && !list2.length) {
list2.push(pattern);
}
return list2;
};
Minimatch.prototype.match = match;
function match(f, partial) {
this.debug("match", f, this.pattern);
if (this.comment) return false;
if (this.empty) return f === "";
if (f === "/" && partial) return true;
var options = this.options;
if (path236.sep !== "/") {
f = f.split(path236.sep).join("/");
}
f = f.split(slashSplit);
this.debug(this.pattern, "split", f);
var set2 = this.set;
this.debug(this.pattern, "set", set2);
var filename;
var i4;
for (i4 = f.length - 1; i4 >= 0; i4--) {
filename = f[i4];
if (filename) break;
}
for (i4 = 0; i4 < set2.length; i4++) {
var pattern = set2[i4];
var file = f;
if (options.matchBase && pattern.length === 1) {
file = [filename];
}
var hit = this.matchOne(file, pattern, partial);
if (hit) {
if (options.flipNegate) return true;
return !this.negate;
}
}
if (options.flipNegate) return false;
return this.negate;
}
Minimatch.prototype.matchOne = function(file, pattern, partial) {
var options = this.options;
this.debug(
"matchOne",
{ "this": this, file, pattern }
);
this.debug("matchOne", file.length, pattern.length);
for (var fi = 0, pi = 0, fl2 = file.length, pl = pattern.length; fi < fl2 && pi < pl; fi++, pi++) {
this.debug("matchOne loop");
var p = pattern[pi];
var f = file[fi];
this.debug(pattern, p, f);
if (p === false) return false;
if (p === GLOBSTAR) {
this.debug("GLOBSTAR", [pattern, p, f]);
var fr = fi;
var pr = pi + 1;
if (pr === pl) {
this.debug("** at the end");
for (; fi < fl2; fi++) {
if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
}
return true;
}
while (fr < fl2) {
var swallowee = file[fr];
this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
this.debug("globstar found match!", fr, fl2, swallowee);
return true;
} else {
if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
this.debug("dot detected!", file, fr, pattern, pr);
break;
}
this.debug("globstar swallow a segment, and continue");
fr++;
}
}
if (partial) {
this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
if (fr === fl2) return true;
}
return false;
}
var hit;
if (typeof p === "string") {
if (options.nocase) {
hit = f.toLowerCase() === p.toLowerCase();
} else {
hit = f === p;
}
this.debug("string match", p, f, hit);
} else {
hit = f.match(p);
this.debug("pattern match", p, f, hit);
}
if (!hit) return false;
}
if (fi === fl2 && pi === pl) {
return true;
} else if (fi === fl2) {
return partial;
} else if (pi === pl) {
var emptyFileEnd = fi === fl2 - 1 && file[fi] === "";
return emptyFileEnd;
}
throw new Error("wtf?");
};
function globUnescape(s) {
return s.replace(/\\(.)/g, "$1");
}
function regExpEscape(s) {
return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
}),
/* 61 */
/***/
(function(module3, exports3, __webpack_require__2) {
var wrappy = __webpack_require__2(123);
module3.exports = wrappy(once11);
module3.exports.strict = wrappy(onceStrict);
once11.proto = once11(function() {
Object.defineProperty(Function.prototype, "once", {
value: function() {
return once11(this);
},
configurable: true
});
Object.defineProperty(Function.prototype, "onceStrict", {
value: function() {
return onceStrict(this);
},
configurable: true
});
});
function once11(fn) {
var f = function() {
if (f.called) return f.value;
f.called = true;
return f.value = fn.apply(this, arguments);
};
f.called = false;
return f;
}
function onceStrict(fn) {
var f = function() {
if (f.called)
throw new Error(f.onceError);
f.called = true;
return f.value = fn.apply(this, arguments);
};
var name = fn.name || "Function wrapped with `once`";
f.onceError = name + " shouldn't be called more than once";
f.called = false;
return f;
}
}),
,
/* 63 */
/***/
(function(module3, exports3) {
module3.exports = __require("buffer");
}),
,
,
,
/* 67 */
/***/
(function(module3, exports3) {
module3.exports = function(it) {
if (it == void 0) throw TypeError("Can't call method on " + it);
return it;
};
}),
/* 68 */
/***/
(function(module3, exports3, __webpack_require__2) {
var isObject4 = __webpack_require__2(34);
var document2 = __webpack_require__2(11).document;
var is = isObject4(document2) && isObject4(document2.createElement);
module3.exports = function(it) {
return is ? document2.createElement(it) : {};
};
}),
/* 69 */
/***/
(function(module3, exports3) {
module3.exports = true;
}),
/* 70 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var aFunction = __webpack_require__2(46);
function PromiseCapability(C) {
var resolve4, reject3;
this.promise = new C(function($$resolve, $$reject) {
if (resolve4 !== void 0 || reject3 !== void 0) throw TypeError("Bad Promise constructor");
resolve4 = $$resolve;
reject3 = $$reject;
});
this.resolve = aFunction(resolve4);
this.reject = aFunction(reject3);
}
module3.exports.f = function(C) {
return new PromiseCapability(C);
};
}),
/* 71 */
/***/
(function(module3, exports3, __webpack_require__2) {
var def = __webpack_require__2(50).f;
var has = __webpack_require__2(49);
var TAG = __webpack_require__2(13)("toStringTag");
module3.exports = function(it, tag, stat2) {
if (it && !has(it = stat2 ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
};
}),
/* 72 */
/***/
(function(module3, exports3, __webpack_require__2) {
var shared = __webpack_require__2(107)("keys");
var uid = __webpack_require__2(111);
module3.exports = function(key) {
return shared[key] || (shared[key] = uid(key));
};
}),
/* 73 */
/***/
(function(module3, exports3) {
var ceil = Math.ceil;
var floor = Math.floor;
module3.exports = function(it) {
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
}),
/* 74 */
/***/
(function(module3, exports3, __webpack_require__2) {
var IObject = __webpack_require__2(131);
var defined = __webpack_require__2(67);
module3.exports = function(it) {
return IObject(defined(it));
};
}),
/* 75 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = glob2;
var fs126 = __webpack_require__2(3);
var rp = __webpack_require__2(114);
var minimatch = __webpack_require__2(60);
var Minimatch = minimatch.Minimatch;
var inherits = __webpack_require__2(42);
var EE = __webpack_require__2(54).EventEmitter;
var path236 = __webpack_require__2(0);
var assert13 = __webpack_require__2(22);
var isAbsolute4 = __webpack_require__2(76);
var globSync = __webpack_require__2(218);
var common4 = __webpack_require__2(115);
var alphasort = common4.alphasort;
var alphasorti = common4.alphasorti;
var setopts = common4.setopts;
var ownProp = common4.ownProp;
var inflight = __webpack_require__2(223);
var util64 = __webpack_require__2(2);
var childrenIgnored = common4.childrenIgnored;
var isIgnored = common4.isIgnored;
var once11 = __webpack_require__2(61);
function glob2(pattern, options, cb) {
if (typeof options === "function") cb = options, options = {};
if (!options) options = {};
if (options.sync) {
if (cb)
throw new TypeError("callback provided to sync glob");
return globSync(pattern, options);
}
return new Glob(pattern, options, cb);
}
glob2.sync = globSync;
var GlobSync = glob2.GlobSync = globSync.GlobSync;
glob2.glob = glob2;
function extend3(origin, add2) {
if (add2 === null || typeof add2 !== "object") {
return origin;
}
var keys4 = Object.keys(add2);
var i4 = keys4.length;
while (i4--) {
origin[keys4[i4]] = add2[keys4[i4]];
}
return origin;
}
glob2.hasMagic = function(pattern, options_) {
var options = extend3({}, options_);
options.noprocess = true;
var g = new Glob(pattern, options);
var set2 = g.minimatch.set;
if (!pattern)
return false;
if (set2.length > 1)
return true;
for (var j2 = 0; j2 < set2[0].length; j2++) {
if (typeof set2[0][j2] !== "string")
return true;
}
return false;
};
glob2.Glob = Glob;
inherits(Glob, EE);
function Glob(pattern, options, cb) {
if (typeof options === "function") {
cb = options;
options = null;
}
if (options && options.sync) {
if (cb)
throw new TypeError("callback provided to sync glob");
return new GlobSync(pattern, options);
}
if (!(this instanceof Glob))
return new Glob(pattern, options, cb);
setopts(this, pattern, options);
this._didRealPath = false;
var n2 = this.minimatch.set.length;
this.matches = new Array(n2);
if (typeof cb === "function") {
cb = once11(cb);
this.on("error", cb);
this.on("end", function(matches2) {
cb(null, matches2);
});
}
var self2 = this;
this._processing = 0;
this._emitQueue = [];
this._processQueue = [];
this.paused = false;
if (this.noprocess)
return this;
if (n2 === 0)
return done();
var sync3 = true;
for (var i4 = 0; i4 < n2; i4++) {
this._process(this.minimatch.set[i4], i4, false, done);
}
sync3 = false;
function done() {
--self2._processing;
if (self2._processing <= 0) {
if (sync3) {
process.nextTick(function() {
self2._finish();
});
} else {
self2._finish();
}
}
}
}
Glob.prototype._finish = function() {
assert13(this instanceof Glob);
if (this.aborted)
return;
if (this.realpath && !this._didRealpath)
return this._realpath();
common4.finish(this);
this.emit("end", this.found);
};
Glob.prototype._realpath = function() {
if (this._didRealpath)
return;
this._didRealpath = true;
var n2 = this.matches.length;
if (n2 === 0)
return this._finish();
var self2 = this;
for (var i4 = 0; i4 < this.matches.length; i4++)
this._realpathSet(i4, next2);
function next2() {
if (--n2 === 0)
self2._finish();
}
};
Glob.prototype._realpathSet = function(index2, cb) {
var matchset = this.matches[index2];
if (!matchset)
return cb();
var found = Object.keys(matchset);
var self2 = this;
var n2 = found.length;
if (n2 === 0)
return cb();
var set2 = this.matches[index2] = /* @__PURE__ */ Object.create(null);
found.forEach(function(p, i4) {
p = self2._makeAbs(p);
rp.realpath(p, self2.realpathCache, function(er, real) {
if (!er)
set2[real] = true;
else if (er.syscall === "stat")
set2[p] = true;
else
self2.emit("error", er);
if (--n2 === 0) {
self2.matches[index2] = set2;
cb();
}
});
});
};
Glob.prototype._mark = function(p) {
return common4.mark(this, p);
};
Glob.prototype._makeAbs = function(f) {
return common4.makeAbs(this, f);
};
Glob.prototype.abort = function() {
this.aborted = true;
this.emit("abort");
};
Glob.prototype.pause = function() {
if (!this.paused) {
this.paused = true;
this.emit("pause");
}
};
Glob.prototype.resume = function() {
if (this.paused) {
this.emit("resume");
this.paused = false;
if (this._emitQueue.length) {
var eq = this._emitQueue.slice(0);
this._emitQueue.length = 0;
for (var i4 = 0; i4 < eq.length; i4++) {
var e = eq[i4];
this._emitMatch(e[0], e[1]);
}
}
if (this._processQueue.length) {
var pq = this._processQueue.slice(0);
this._processQueue.length = 0;
for (var i4 = 0; i4 < pq.length; i4++) {
var p = pq[i4];
this._processing--;
this._process(p[0], p[1], p[2], p[3]);
}
}
}
};
Glob.prototype._process = function(pattern, index2, inGlobStar, cb) {
assert13(this instanceof Glob);
assert13(typeof cb === "function");
if (this.aborted)
return;
this._processing++;
if (this.paused) {
this._processQueue.push([pattern, index2, inGlobStar, cb]);
return;
}
var n2 = 0;
while (typeof pattern[n2] === "string") {
n2++;
}
var prefix;
switch (n2) {
// if not, then this is rather simple
case pattern.length:
this._processSimple(pattern.join("/"), index2, cb);
return;
case 0:
prefix = null;
break;
default:
prefix = pattern.slice(0, n2).join("/");
break;
}
var remain = pattern.slice(n2);
var read2;
if (prefix === null)
read2 = ".";
else if (isAbsolute4(prefix) || isAbsolute4(pattern.join("/"))) {
if (!prefix || !isAbsolute4(prefix))
prefix = "/" + prefix;
read2 = prefix;
} else
read2 = prefix;
var abs2 = this._makeAbs(read2);
if (childrenIgnored(this, read2))
return cb();
var isGlobStar = remain[0] === minimatch.GLOBSTAR;
if (isGlobStar)
this._processGlobStar(prefix, read2, abs2, remain, index2, inGlobStar, cb);
else
this._processReaddir(prefix, read2, abs2, remain, index2, inGlobStar, cb);
};
Glob.prototype._processReaddir = function(prefix, read2, abs2, remain, index2, inGlobStar, cb) {
var self2 = this;
this._readdir(abs2, inGlobStar, function(er, entries) {
return self2._processReaddir2(prefix, read2, abs2, remain, index2, inGlobStar, entries, cb);
});
};
Glob.prototype._processReaddir2 = function(prefix, read2, abs2, remain, index2, inGlobStar, entries, cb) {
if (!entries)
return cb();
var pn = remain[0];
var negate = !!this.minimatch.negate;
var rawGlob = pn._glob;
var dotOk = this.dot || rawGlob.charAt(0) === ".";
var matchedEntries = [];
for (var i4 = 0; i4 < entries.length; i4++) {
var e = entries[i4];
if (e.charAt(0) !== "." || dotOk) {
var m;
if (negate && !prefix) {
m = !e.match(pn);
} else {
m = e.match(pn);
}
if (m)
matchedEntries.push(e);
}
}
var len = matchedEntries.length;
if (len === 0)
return cb();
if (remain.length === 1 && !this.mark && !this.stat) {
if (!this.matches[index2])
this.matches[index2] = /* @__PURE__ */ Object.create(null);
for (var i4 = 0; i4 < len; i4++) {
var e = matchedEntries[i4];
if (prefix) {
if (prefix !== "/")
e = prefix + "/" + e;
else
e = prefix + e;
}
if (e.charAt(0) === "/" && !this.nomount) {
e = path236.join(this.root, e);
}
this._emitMatch(index2, e);
}
return cb();
}
remain.shift();
for (var i4 = 0; i4 < len; i4++) {
var e = matchedEntries[i4];
var newPattern;
if (prefix) {
if (prefix !== "/")
e = prefix + "/" + e;
else
e = prefix + e;
}
this._process([e].concat(remain), index2, inGlobStar, cb);
}
cb();
};
Glob.prototype._emitMatch = function(index2, e) {
if (this.aborted)
return;
if (isIgnored(this, e))
return;
if (this.paused) {
this._emitQueue.push([index2, e]);
return;
}
var abs2 = isAbsolute4(e) ? e : this._makeAbs(e);
if (this.mark)
e = this._mark(e);
if (this.absolute)
e = abs2;
if (this.matches[index2][e])
return;
if (this.nodir) {
var c3 = this.cache[abs2];
if (c3 === "DIR" || Array.isArray(c3))
return;
}
this.matches[index2][e] = true;
var st = this.statCache[abs2];
if (st)
this.emit("stat", e, st);
this.emit("match", e);
};
Glob.prototype._readdirInGlobStar = function(abs2, cb) {
if (this.aborted)
return;
if (this.follow)
return this._readdir(abs2, false, cb);
var lstatkey = "lstat\0" + abs2;
var self2 = this;
var lstatcb = inflight(lstatkey, lstatcb_);
if (lstatcb)
fs126.lstat(abs2, lstatcb);
function lstatcb_(er, lstat2) {
if (er && er.code === "ENOENT")
return cb();
var isSym = lstat2 && lstat2.isSymbolicLink();
self2.symlinks[abs2] = isSym;
if (!isSym && lstat2 && !lstat2.isDirectory()) {
self2.cache[abs2] = "FILE";
cb();
} else
self2._readdir(abs2, false, cb);
}
};
Glob.prototype._readdir = function(abs2, inGlobStar, cb) {
if (this.aborted)
return;
cb = inflight("readdir\0" + abs2 + "\0" + inGlobStar, cb);
if (!cb)
return;
if (inGlobStar && !ownProp(this.symlinks, abs2))
return this._readdirInGlobStar(abs2, cb);
if (ownProp(this.cache, abs2)) {
var c3 = this.cache[abs2];
if (!c3 || c3 === "FILE")
return cb();
if (Array.isArray(c3))
return cb(null, c3);
}
var self2 = this;
fs126.readdir(abs2, readdirCb(this, abs2, cb));
};
function readdirCb(self2, abs2, cb) {
return function(er, entries) {
if (er)
self2._readdirError(abs2, er, cb);
else
self2._readdirEntries(abs2, entries, cb);
};
}
Glob.prototype._readdirEntries = function(abs2, entries, cb) {
if (this.aborted)
return;
if (!this.mark && !this.stat) {
for (var i4 = 0; i4 < entries.length; i4++) {
var e = entries[i4];
if (abs2 === "/")
e = abs2 + e;
else
e = abs2 + "/" + e;
this.cache[e] = true;
}
}
this.cache[abs2] = entries;
return cb(null, entries);
};
Glob.prototype._readdirError = function(f, er, cb) {
if (this.aborted)
return;
switch (er.code) {
case "ENOTSUP":
// https://github.com/isaacs/node-glob/issues/205
case "ENOTDIR":
var abs2 = this._makeAbs(f);
this.cache[abs2] = "FILE";
if (abs2 === this.cwdAbs) {
var error = new Error(er.code + " invalid cwd " + this.cwd);
error.path = this.cwd;
error.code = er.code;
this.emit("error", error);
this.abort();
}
break;
case "ENOENT":
// not terribly unusual
case "ELOOP":
case "ENAMETOOLONG":
case "UNKNOWN":
this.cache[this._makeAbs(f)] = false;
break;
default:
this.cache[this._makeAbs(f)] = false;
if (this.strict) {
this.emit("error", er);
this.abort();
}
if (!this.silent)
console.error("glob error", er);
break;
}
return cb();
};
Glob.prototype._processGlobStar = function(prefix, read2, abs2, remain, index2, inGlobStar, cb) {
var self2 = this;
this._readdir(abs2, inGlobStar, function(er, entries) {
self2._processGlobStar2(prefix, read2, abs2, remain, index2, inGlobStar, entries, cb);
});
};
Glob.prototype._processGlobStar2 = function(prefix, read2, abs2, remain, index2, inGlobStar, entries, cb) {
if (!entries)
return cb();
var remainWithoutGlobStar = remain.slice(1);
var gspref = prefix ? [prefix] : [];
var noGlobStar = gspref.concat(remainWithoutGlobStar);
this._process(noGlobStar, index2, false, cb);
var isSym = this.symlinks[abs2];
var len = entries.length;
if (isSym && inGlobStar)
return cb();
for (var i4 = 0; i4 < len; i4++) {
var e = entries[i4];
if (e.charAt(0) === "." && !this.dot)
continue;
var instead = gspref.concat(entries[i4], remainWithoutGlobStar);
this._process(instead, index2, true, cb);
var below = gspref.concat(entries[i4], remain);
this._process(below, index2, true, cb);
}
cb();
};
Glob.prototype._processSimple = function(prefix, index2, cb) {
var self2 = this;
this._stat(prefix, function(er, exists) {
self2._processSimple2(prefix, index2, er, exists, cb);
});
};
Glob.prototype._processSimple2 = function(prefix, index2, er, exists, cb) {
if (!this.matches[index2])
this.matches[index2] = /* @__PURE__ */ Object.create(null);
if (!exists)
return cb();
if (prefix && isAbsolute4(prefix) && !this.nomount) {
var trail = /[\/\\]$/.test(prefix);
if (prefix.charAt(0) === "/") {
prefix = path236.join(this.root, prefix);
} else {
prefix = path236.resolve(this.root, prefix);
if (trail)
prefix += "/";
}
}
if (process.platform === "win32")
prefix = prefix.replace(/\\/g, "/");
this._emitMatch(index2, prefix);
cb();
};
Glob.prototype._stat = function(f, cb) {
var abs2 = this._makeAbs(f);
var needDir = f.slice(-1) === "/";
if (f.length > this.maxLength)
return cb();
if (!this.stat && ownProp(this.cache, abs2)) {
var c3 = this.cache[abs2];
if (Array.isArray(c3))
c3 = "DIR";
if (!needDir || c3 === "DIR")
return cb(null, c3);
if (needDir && c3 === "FILE")
return cb();
}
var exists;
var stat2 = this.statCache[abs2];
if (stat2 !== void 0) {
if (stat2 === false)
return cb(null, stat2);
else {
var type4 = stat2.isDirectory() ? "DIR" : "FILE";
if (needDir && type4 === "FILE")
return cb();
else
return cb(null, type4, stat2);
}
}
var self2 = this;
var statcb = inflight("stat\0" + abs2, lstatcb_);
if (statcb)
fs126.lstat(abs2, statcb);
function lstatcb_(er, lstat2) {
if (lstat2 && lstat2.isSymbolicLink()) {
return fs126.stat(abs2, function(er2, stat3) {
if (er2)
self2._stat2(f, abs2, null, lstat2, cb);
else
self2._stat2(f, abs2, er2, stat3, cb);
});
} else {
self2._stat2(f, abs2, er, lstat2, cb);
}
}
};
Glob.prototype._stat2 = function(f, abs2, er, stat2, cb) {
if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
this.statCache[abs2] = false;
return cb();
}
var needDir = f.slice(-1) === "/";
this.statCache[abs2] = stat2;
if (abs2.slice(-1) === "/" && stat2 && !stat2.isDirectory())
return cb(null, false, stat2);
var c3 = true;
if (stat2)
c3 = stat2.isDirectory() ? "DIR" : "FILE";
this.cache[abs2] = this.cache[abs2] || c3;
if (needDir && c3 === "FILE")
return cb();
return cb(null, c3, stat2);
};
}),
/* 76 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
function posix2(path236) {
return path236.charAt(0) === "/";
}
function win32(path236) {
var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
var result2 = splitDeviceRe.exec(path236);
var device = result2[1] || "";
var isUnc = Boolean(device && device.charAt(1) !== ":");
return Boolean(result2[2] || isUnc);
}
module3.exports = process.platform === "win32" ? win32 : posix2;
module3.exports.posix = posix2;
module3.exports.win32 = win32;
}),
,
,
/* 79 */
/***/
(function(module3, exports3) {
module3.exports = __require("tty");
}),
,
/* 81 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.default = function(str2, fileLoc = "lockfile") {
str2 = (0, (_stripBom || _load_stripBom()).default)(str2);
return hasMergeConflicts(str2) ? parseWithConflict(str2, fileLoc) : { type: "success", object: parse12(str2, fileLoc) };
};
var _util;
function _load_util() {
return _util = _interopRequireDefault(__webpack_require__2(2));
}
var _invariant;
function _load_invariant() {
return _invariant = _interopRequireDefault(__webpack_require__2(7));
}
var _stripBom;
function _load_stripBom() {
return _stripBom = _interopRequireDefault(__webpack_require__2(122));
}
var _constants;
function _load_constants() {
return _constants = __webpack_require__2(6);
}
var _errors;
function _load_errors() {
return _errors = __webpack_require__2(4);
}
var _map2;
function _load_map() {
return _map2 = _interopRequireDefault(__webpack_require__2(20));
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const VERSION_REGEX = /^yarn lockfile v(\d+)$/;
const TOKEN_TYPES = {
boolean: "BOOLEAN",
string: "STRING",
identifier: "IDENTIFIER",
eof: "EOF",
colon: "COLON",
newline: "NEWLINE",
comment: "COMMENT",
indent: "INDENT",
invalid: "INVALID",
number: "NUMBER",
comma: "COMMA"
};
const VALID_PROP_VALUE_TOKENS = [TOKEN_TYPES.boolean, TOKEN_TYPES.string, TOKEN_TYPES.number];
function isValidPropValueToken(token) {
return VALID_PROP_VALUE_TOKENS.indexOf(token.type) >= 0;
}
function* tokenise(input) {
let lastNewline = false;
let line = 1;
let col = 0;
function buildToken(type4, value) {
return { line, col, type: type4, value };
}
while (input.length) {
let chop = 0;
if (input[0] === "\n" || input[0] === "\r") {
chop++;
if (input[1] === "\n") {
chop++;
}
line++;
col = 0;
yield buildToken(TOKEN_TYPES.newline);
} else if (input[0] === "#") {
chop++;
let val = "";
while (input[chop] !== "\n") {
val += input[chop];
chop++;
}
yield buildToken(TOKEN_TYPES.comment, val);
} else if (input[0] === " ") {
if (lastNewline) {
let indent = "";
for (let i4 = 0; input[i4] === " "; i4++) {
indent += input[i4];
}
if (indent.length % 2) {
throw new TypeError("Invalid number of spaces");
} else {
chop = indent.length;
yield buildToken(TOKEN_TYPES.indent, indent.length / 2);
}
} else {
chop++;
}
} else if (input[0] === '"') {
let val = "";
for (let i4 = 0; ; i4++) {
const currentChar = input[i4];
val += currentChar;
if (i4 > 0 && currentChar === '"') {
const isEscaped = input[i4 - 1] === "\\" && input[i4 - 2] !== "\\";
if (!isEscaped) {
break;
}
}
}
chop = val.length;
try {
yield buildToken(TOKEN_TYPES.string, JSON.parse(val));
} catch (err2) {
if (err2 instanceof SyntaxError) {
yield buildToken(TOKEN_TYPES.invalid);
} else {
throw err2;
}
}
} else if (/^[0-9]/.test(input)) {
let val = "";
for (let i4 = 0; /^[0-9]$/.test(input[i4]); i4++) {
val += input[i4];
}
chop = val.length;
yield buildToken(TOKEN_TYPES.number, +val);
} else if (/^true/.test(input)) {
yield buildToken(TOKEN_TYPES.boolean, true);
chop = 4;
} else if (/^false/.test(input)) {
yield buildToken(TOKEN_TYPES.boolean, false);
chop = 5;
} else if (input[0] === ":") {
yield buildToken(TOKEN_TYPES.colon);
chop++;
} else if (input[0] === ",") {
yield buildToken(TOKEN_TYPES.comma);
chop++;
} else if (/^[a-zA-Z\/-]/g.test(input)) {
let name = "";
for (let i4 = 0; i4 < input.length; i4++) {
const char = input[i4];
if (char === ":" || char === " " || char === "\n" || char === "\r" || char === ",") {
break;
} else {
name += char;
}
}
chop = name.length;
yield buildToken(TOKEN_TYPES.string, name);
} else {
yield buildToken(TOKEN_TYPES.invalid);
}
if (!chop) {
yield buildToken(TOKEN_TYPES.invalid);
}
col += chop;
lastNewline = input[0] === "\n" || input[0] === "\r" && input[1] === "\n";
input = input.slice(chop);
}
yield buildToken(TOKEN_TYPES.eof);
}
class Parser {
constructor(input, fileLoc = "lockfile") {
this.comments = [];
this.tokens = tokenise(input);
this.fileLoc = fileLoc;
}
onComment(token) {
const value = token.value;
(0, (_invariant || _load_invariant()).default)(typeof value === "string", "expected token value to be a string");
const comment = value.trim();
const versionMatch = comment.match(VERSION_REGEX);
if (versionMatch) {
const version2 = +versionMatch[1];
if (version2 > (_constants || _load_constants()).LOCKFILE_VERSION) {
throw new (_errors || _load_errors()).MessageError(`Can't install from a lockfile of version ${version2} as you're on an old yarn version that only supports versions up to ${(_constants || _load_constants()).LOCKFILE_VERSION}. Run \`$ yarn self-update\` to upgrade to the latest version.`);
}
}
this.comments.push(comment);
}
next() {
const item = this.tokens.next();
(0, (_invariant || _load_invariant()).default)(item, "expected a token");
const done = item.done, value = item.value;
if (done || !value) {
throw new Error("No more tokens");
} else if (value.type === TOKEN_TYPES.comment) {
this.onComment(value);
return this.next();
} else {
return this.token = value;
}
}
unexpected(msg = "Unexpected token") {
throw new SyntaxError(`${msg} ${this.token.line}:${this.token.col} in ${this.fileLoc}`);
}
expect(tokType) {
if (this.token.type === tokType) {
this.next();
} else {
this.unexpected();
}
}
eat(tokType) {
if (this.token.type === tokType) {
this.next();
return true;
} else {
return false;
}
}
parse(indent = 0) {
const obj = (0, (_map2 || _load_map()).default)();
while (true) {
const propToken = this.token;
if (propToken.type === TOKEN_TYPES.newline) {
const nextToken = this.next();
if (!indent) {
continue;
}
if (nextToken.type !== TOKEN_TYPES.indent) {
break;
}
if (nextToken.value === indent) {
this.next();
} else {
break;
}
} else if (propToken.type === TOKEN_TYPES.indent) {
if (propToken.value === indent) {
this.next();
} else {
break;
}
} else if (propToken.type === TOKEN_TYPES.eof) {
break;
} else if (propToken.type === TOKEN_TYPES.string) {
const key = propToken.value;
(0, (_invariant || _load_invariant()).default)(key, "Expected a key");
const keys4 = [key];
this.next();
while (this.token.type === TOKEN_TYPES.comma) {
this.next();
const keyToken = this.token;
if (keyToken.type !== TOKEN_TYPES.string) {
this.unexpected("Expected string");
}
const key2 = keyToken.value;
(0, (_invariant || _load_invariant()).default)(key2, "Expected a key");
keys4.push(key2);
this.next();
}
const valToken = this.token;
if (valToken.type === TOKEN_TYPES.colon) {
this.next();
const val = this.parse(indent + 1);
for (var _iterator = keys4, _isArray2 = Array.isArray(_iterator), _i = 0, _iterator = _isArray2 ? _iterator : _iterator[Symbol.iterator](); ; ) {
var _ref;
if (_isArray2) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
const key2 = _ref;
obj[key2] = val;
}
if (indent && this.token.type !== TOKEN_TYPES.indent) {
break;
}
} else if (isValidPropValueToken(valToken)) {
for (var _iterator2 = keys4, _isArray22 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray22 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) {
var _ref2;
if (_isArray22) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
const key2 = _ref2;
obj[key2] = valToken.value;
}
this.next();
} else {
this.unexpected("Invalid value type");
}
} else {
this.unexpected(`Unknown token: ${(_util || _load_util()).default.inspect(propToken)}`);
}
}
return obj;
}
}
const MERGE_CONFLICT_ANCESTOR = "|||||||";
const MERGE_CONFLICT_END2 = ">>>>>>>";
const MERGE_CONFLICT_SEP = "=======";
const MERGE_CONFLICT_START = "<<<<<<<";
function extractConflictVariants(str2) {
const variants = [[], []];
const lines = str2.split(/\r?\n/g);
let skip2 = false;
while (lines.length) {
const line = lines.shift();
if (line.startsWith(MERGE_CONFLICT_START)) {
while (lines.length) {
const conflictLine = lines.shift();
if (conflictLine === MERGE_CONFLICT_SEP) {
skip2 = false;
break;
} else if (skip2 || conflictLine.startsWith(MERGE_CONFLICT_ANCESTOR)) {
skip2 = true;
continue;
} else {
variants[0].push(conflictLine);
}
}
while (lines.length) {
const conflictLine = lines.shift();
if (conflictLine.startsWith(MERGE_CONFLICT_END2)) {
break;
} else {
variants[1].push(conflictLine);
}
}
} else {
variants[0].push(line);
variants[1].push(line);
}
}
return [variants[0].join("\n"), variants[1].join("\n")];
}
function hasMergeConflicts(str2) {
return str2.includes(MERGE_CONFLICT_START) && str2.includes(MERGE_CONFLICT_SEP) && str2.includes(MERGE_CONFLICT_END2);
}
function parse12(str2, fileLoc) {
const parser = new Parser(str2, fileLoc);
parser.next();
return parser.parse();
}
function parseWithConflict(str2, fileLoc) {
const variants = extractConflictVariants(str2);
try {
return { type: "merge", object: Object.assign({}, parse12(variants[0], fileLoc), parse12(variants[1], fileLoc)) };
} catch (err2) {
if (err2 instanceof SyntaxError) {
return { type: "conflict", object: {} };
} else {
throw err2;
}
}
}
}),
,
,
/* 84 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
var _map2;
function _load_map() {
return _map2 = _interopRequireDefault(__webpack_require__2(20));
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const debug = __webpack_require__2(212)("yarn");
class BlockingQueue {
constructor(alias, maxConcurrency = Infinity) {
this.concurrencyQueue = [];
this.maxConcurrency = maxConcurrency;
this.runningCount = 0;
this.warnedStuck = false;
this.alias = alias;
this.first = true;
this.running = (0, (_map2 || _load_map()).default)();
this.queue = (0, (_map2 || _load_map()).default)();
this.stuckTick = this.stuckTick.bind(this);
}
stillActive() {
if (this.stuckTimer) {
clearTimeout(this.stuckTimer);
}
this.stuckTimer = setTimeout(this.stuckTick, 5e3);
this.stuckTimer.unref && this.stuckTimer.unref();
}
stuckTick() {
if (this.runningCount === 1) {
this.warnedStuck = true;
debug(`The ${JSON.stringify(this.alias)} blocking queue may be stuck. 5 seconds without any activity with 1 worker: ${Object.keys(this.running)[0]}`);
}
}
push(key, factory) {
if (this.first) {
this.first = false;
} else {
this.stillActive();
}
return new Promise((resolve4, reject3) => {
const queue2 = this.queue[key] = this.queue[key] || [];
queue2.push({ factory, resolve: resolve4, reject: reject3 });
if (!this.running[key]) {
this.shift(key);
}
});
}
shift(key) {
if (this.running[key]) {
delete this.running[key];
this.runningCount--;
if (this.stuckTimer) {
clearTimeout(this.stuckTimer);
this.stuckTimer = null;
}
if (this.warnedStuck) {
this.warnedStuck = false;
debug(`${JSON.stringify(this.alias)} blocking queue finally resolved. Nothing to worry about.`);
}
}
const queue2 = this.queue[key];
if (!queue2) {
return;
}
var _queue$shift = queue2.shift();
const resolve4 = _queue$shift.resolve, reject3 = _queue$shift.reject, factory = _queue$shift.factory;
if (!queue2.length) {
delete this.queue[key];
}
const next2 = () => {
this.shift(key);
this.shiftConcurrencyQueue();
};
const run2 = () => {
this.running[key] = true;
this.runningCount++;
factory().then(function(val) {
resolve4(val);
next2();
return null;
}).catch(function(err2) {
reject3(err2);
next2();
});
};
this.maybePushConcurrencyQueue(run2);
}
maybePushConcurrencyQueue(run2) {
if (this.runningCount < this.maxConcurrency) {
run2();
} else {
this.concurrencyQueue.push(run2);
}
}
shiftConcurrencyQueue() {
if (this.runningCount < this.maxConcurrency) {
const fn = this.concurrencyQueue.shift();
if (fn) {
fn();
}
}
}
}
exports3.default = BlockingQueue;
}),
/* 85 */
/***/
(function(module3, exports3) {
module3.exports = function(exec2) {
try {
return !!exec2();
} catch (e) {
return true;
}
};
}),
,
,
,
,
,
,
,
,
,
,
,
,
,
,
/* 100 */
/***/
(function(module3, exports3, __webpack_require__2) {
var cof = __webpack_require__2(47);
var TAG = __webpack_require__2(13)("toStringTag");
var ARG = cof(/* @__PURE__ */ (function() {
return arguments;
})()) == "Arguments";
var tryGet = function(it, key) {
try {
return it[key];
} catch (e) {
}
};
module3.exports = function(it) {
var O2, T2, B;
return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (T2 = tryGet(O2 = Object(it), TAG)) == "string" ? T2 : ARG ? cof(O2) : (B = cof(O2)) == "Object" && typeof O2.callee == "function" ? "Arguments" : B;
};
}),
/* 101 */
/***/
(function(module3, exports3) {
module3.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
}),
/* 102 */
/***/
(function(module3, exports3, __webpack_require__2) {
var document2 = __webpack_require__2(11).document;
module3.exports = document2 && document2.documentElement;
}),
/* 103 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var LIBRARY = __webpack_require__2(69);
var $export = __webpack_require__2(41);
var redefine = __webpack_require__2(197);
var hide = __webpack_require__2(31);
var Iterators = __webpack_require__2(35);
var $iterCreate = __webpack_require__2(188);
var setToStringTag = __webpack_require__2(71);
var getPrototypeOf = __webpack_require__2(194);
var ITERATOR = __webpack_require__2(13)("iterator");
var BUGGY = !([].keys && "next" in [].keys());
var FF_ITERATOR = "@@iterator";
var KEYS = "keys";
var VALUES = "values";
var returnThis = function() {
return this;
};
module3.exports = function(Base, NAME, Constructor, next2, DEFAULT, IS_SET, FORCED) {
$iterCreate(Constructor, NAME, next2);
var getMethod = function(kind) {
if (!BUGGY && kind in proto2) return proto2[kind];
switch (kind) {
case KEYS:
return function keys4() {
return new Constructor(this, kind);
};
case VALUES:
return function values() {
return new Constructor(this, kind);
};
}
return function entries() {
return new Constructor(this, kind);
};
};
var TAG = NAME + " Iterator";
var DEF_VALUES = DEFAULT == VALUES;
var VALUES_BUG = false;
var proto2 = Base.prototype;
var $native = proto2[ITERATOR] || proto2[FF_ITERATOR] || DEFAULT && proto2[DEFAULT];
var $default = $native || getMethod(DEFAULT);
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod("entries") : void 0;
var $anyNative = NAME == "Array" ? proto2.entries || $native : $native;
var methods, key, IteratorPrototype;
if ($anyNative) {
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
setToStringTag(IteratorPrototype, TAG, true);
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != "function") hide(IteratorPrototype, ITERATOR, returnThis);
}
}
if (DEF_VALUES && $native && $native.name !== VALUES) {
VALUES_BUG = true;
$default = function values() {
return $native.call(this);
};
}
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto2[ITERATOR])) {
hide(proto2, ITERATOR, $default);
}
Iterators[NAME] = $default;
Iterators[TAG] = returnThis;
if (DEFAULT) {
methods = {
values: DEF_VALUES ? $default : getMethod(VALUES),
keys: IS_SET ? $default : getMethod(KEYS),
entries: $entries
};
if (FORCED) for (key in methods) {
if (!(key in proto2)) redefine(proto2, key, methods[key]);
}
else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
}
return methods;
};
}),
/* 104 */
/***/
(function(module3, exports3) {
module3.exports = function(exec2) {
try {
return { e: false, v: exec2() };
} catch (e) {
return { e: true, v: e };
}
};
}),
/* 105 */
/***/
(function(module3, exports3, __webpack_require__2) {
var anObject = __webpack_require__2(27);
var isObject4 = __webpack_require__2(34);
var newPromiseCapability = __webpack_require__2(70);
module3.exports = function(C, x3) {
anObject(C);
if (isObject4(x3) && x3.constructor === C) return x3;
var promiseCapability = newPromiseCapability.f(C);
var resolve4 = promiseCapability.resolve;
resolve4(x3);
return promiseCapability.promise;
};
}),
/* 106 */
/***/
(function(module3, exports3) {
module3.exports = function(bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value
};
};
}),
/* 107 */
/***/
(function(module3, exports3, __webpack_require__2) {
var core2 = __webpack_require__2(23);
var global3 = __webpack_require__2(11);
var SHARED = "__core-js_shared__";
var store = global3[SHARED] || (global3[SHARED] = {});
(module3.exports = function(key, value) {
return store[key] || (store[key] = value !== void 0 ? value : {});
})("versions", []).push({
version: core2.version,
mode: __webpack_require__2(69) ? "pure" : "global",
copyright: "\xA9 2018 Denis Pushkarev (zloirock.ru)"
});
}),
/* 108 */
/***/
(function(module3, exports3, __webpack_require__2) {
var anObject = __webpack_require__2(27);
var aFunction = __webpack_require__2(46);
var SPECIES = __webpack_require__2(13)("species");
module3.exports = function(O2, D3) {
var C = anObject(O2).constructor;
var S3;
return C === void 0 || (S3 = anObject(C)[SPECIES]) == void 0 ? D3 : aFunction(S3);
};
}),
/* 109 */
/***/
(function(module3, exports3, __webpack_require__2) {
var ctx = __webpack_require__2(48);
var invoke = __webpack_require__2(185);
var html = __webpack_require__2(102);
var cel = __webpack_require__2(68);
var global3 = __webpack_require__2(11);
var process24 = global3.process;
var setTask = global3.setImmediate;
var clearTask = global3.clearImmediate;
var MessageChannel = global3.MessageChannel;
var Dispatch = global3.Dispatch;
var counter = 0;
var queue2 = {};
var ONREADYSTATECHANGE = "onreadystatechange";
var defer, channel, port;
var run2 = function() {
var id = +this;
if (queue2.hasOwnProperty(id)) {
var fn = queue2[id];
delete queue2[id];
fn();
}
};
var listener = function(event) {
run2.call(event.data);
};
if (!setTask || !clearTask) {
setTask = function setImmediate3(fn) {
var args = [];
var i4 = 1;
while (arguments.length > i4) args.push(arguments[i4++]);
queue2[++counter] = function() {
invoke(typeof fn == "function" ? fn : Function(fn), args);
};
defer(counter);
return counter;
};
clearTask = function clearImmediate2(id) {
delete queue2[id];
};
if (__webpack_require__2(47)(process24) == "process") {
defer = function(id) {
process24.nextTick(ctx(run2, id, 1));
};
} else if (Dispatch && Dispatch.now) {
defer = function(id) {
Dispatch.now(ctx(run2, id, 1));
};
} else if (MessageChannel) {
channel = new MessageChannel();
port = channel.port2;
channel.port1.onmessage = listener;
defer = ctx(port.postMessage, port, 1);
} else if (global3.addEventListener && typeof postMessage == "function" && !global3.importScripts) {
defer = function(id) {
global3.postMessage(id + "", "*");
};
global3.addEventListener("message", listener, false);
} else if (ONREADYSTATECHANGE in cel("script")) {
defer = function(id) {
html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function() {
html.removeChild(this);
run2.call(id);
};
};
} else {
defer = function(id) {
setTimeout(ctx(run2, id, 1), 0);
};
}
}
module3.exports = {
set: setTask,
clear: clearTask
};
}),
/* 110 */
/***/
(function(module3, exports3, __webpack_require__2) {
var toInteger = __webpack_require__2(73);
var min = Math.min;
module3.exports = function(it) {
return it > 0 ? min(toInteger(it), 9007199254740991) : 0;
};
}),
/* 111 */
/***/
(function(module3, exports3) {
var id = 0;
var px = Math.random();
module3.exports = function(key) {
return "Symbol(".concat(key === void 0 ? "" : key, ")_", (++id + px).toString(36));
};
}),
/* 112 */
/***/
(function(module3, exports3, __webpack_require__2) {
exports3 = module3.exports = createDebug.debug = createDebug["default"] = createDebug;
exports3.coerce = coerce;
exports3.disable = disable;
exports3.enable = enable;
exports3.enabled = enabled;
exports3.humanize = __webpack_require__2(229);
exports3.instances = [];
exports3.names = [];
exports3.skips = [];
exports3.formatters = {};
function selectColor(namespace) {
var hash2 = 0, i4;
for (i4 in namespace) {
hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i4);
hash2 |= 0;
}
return exports3.colors[Math.abs(hash2) % exports3.colors.length];
}
function createDebug(namespace) {
var prevTime;
function debug() {
if (!debug.enabled) return;
var self2 = debug;
var curr = +/* @__PURE__ */ new Date();
var ms = curr - (prevTime || curr);
self2.diff = ms;
self2.prev = prevTime;
self2.curr = curr;
prevTime = curr;
var args = new Array(arguments.length);
for (var i4 = 0; i4 < args.length; i4++) {
args[i4] = arguments[i4];
}
args[0] = exports3.coerce(args[0]);
if ("string" !== typeof args[0]) {
args.unshift("%O");
}
var index2 = 0;
args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format2) {
if (match === "%%") return match;
index2++;
var formatter = exports3.formatters[format2];
if ("function" === typeof formatter) {
var val = args[index2];
match = formatter.call(self2, val);
args.splice(index2, 1);
index2--;
}
return match;
});
exports3.formatArgs.call(self2, args);
var logFn = debug.log || exports3.log || console.log.bind(console);
logFn.apply(self2, args);
}
debug.namespace = namespace;
debug.enabled = exports3.enabled(namespace);
debug.useColors = exports3.useColors();
debug.color = selectColor(namespace);
debug.destroy = destroy;
if ("function" === typeof exports3.init) {
exports3.init(debug);
}
exports3.instances.push(debug);
return debug;
}
function destroy() {
var index2 = exports3.instances.indexOf(this);
if (index2 !== -1) {
exports3.instances.splice(index2, 1);
return true;
} else {
return false;
}
}
function enable(namespaces) {
exports3.save(namespaces);
exports3.names = [];
exports3.skips = [];
var i4;
var split4 = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
var len = split4.length;
for (i4 = 0; i4 < len; i4++) {
if (!split4[i4]) continue;
namespaces = split4[i4].replace(/\*/g, ".*?");
if (namespaces[0] === "-") {
exports3.skips.push(new RegExp("^" + namespaces.substr(1) + "$"));
} else {
exports3.names.push(new RegExp("^" + namespaces + "$"));
}
}
for (i4 = 0; i4 < exports3.instances.length; i4++) {
var instance = exports3.instances[i4];
instance.enabled = exports3.enabled(instance.namespace);
}
}
function disable() {
exports3.enable("");
}
function enabled(name) {
if (name[name.length - 1] === "*") {
return true;
}
var i4, len;
for (i4 = 0, len = exports3.skips.length; i4 < len; i4++) {
if (exports3.skips[i4].test(name)) {
return false;
}
}
for (i4 = 0, len = exports3.names.length; i4 < len; i4++) {
if (exports3.names[i4].test(name)) {
return true;
}
}
return false;
}
function coerce(val) {
if (val instanceof Error) return val.stack || val.message;
return val;
}
}),
,
/* 114 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = realpath4;
realpath4.realpath = realpath4;
realpath4.sync = realpathSync2;
realpath4.realpathSync = realpathSync2;
realpath4.monkeypatch = monkeypatch;
realpath4.unmonkeypatch = unmonkeypatch;
var fs126 = __webpack_require__2(3);
var origRealpath = fs126.realpath;
var origRealpathSync = fs126.realpathSync;
var version2 = process.version;
var ok = /^v[0-5]\./.test(version2);
var old = __webpack_require__2(217);
function newError(er) {
return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG");
}
function realpath4(p, cache, cb) {
if (ok) {
return origRealpath(p, cache, cb);
}
if (typeof cache === "function") {
cb = cache;
cache = null;
}
origRealpath(p, cache, function(er, result2) {
if (newError(er)) {
old.realpath(p, cache, cb);
} else {
cb(er, result2);
}
});
}
function realpathSync2(p, cache) {
if (ok) {
return origRealpathSync(p, cache);
}
try {
return origRealpathSync(p, cache);
} catch (er) {
if (newError(er)) {
return old.realpathSync(p, cache);
} else {
throw er;
}
}
}
function monkeypatch() {
fs126.realpath = realpath4;
fs126.realpathSync = realpathSync2;
}
function unmonkeypatch() {
fs126.realpath = origRealpath;
fs126.realpathSync = origRealpathSync;
}
}),
/* 115 */
/***/
(function(module3, exports3, __webpack_require__2) {
exports3.alphasort = alphasort;
exports3.alphasorti = alphasorti;
exports3.setopts = setopts;
exports3.ownProp = ownProp;
exports3.makeAbs = makeAbs;
exports3.finish = finish;
exports3.mark = mark;
exports3.isIgnored = isIgnored;
exports3.childrenIgnored = childrenIgnored;
function ownProp(obj, field) {
return Object.prototype.hasOwnProperty.call(obj, field);
}
var path236 = __webpack_require__2(0);
var minimatch = __webpack_require__2(60);
var isAbsolute4 = __webpack_require__2(76);
var Minimatch = minimatch.Minimatch;
function alphasorti(a2, b) {
return a2.toLowerCase().localeCompare(b.toLowerCase());
}
function alphasort(a2, b) {
return a2.localeCompare(b);
}
function setupIgnores(self2, options) {
self2.ignore = options.ignore || [];
if (!Array.isArray(self2.ignore))
self2.ignore = [self2.ignore];
if (self2.ignore.length) {
self2.ignore = self2.ignore.map(ignoreMap);
}
}
function ignoreMap(pattern) {
var gmatcher = null;
if (pattern.slice(-3) === "/**") {
var gpattern = pattern.replace(/(\/\*\*)+$/, "");
gmatcher = new Minimatch(gpattern, { dot: true });
}
return {
matcher: new Minimatch(pattern, { dot: true }),
gmatcher
};
}
function setopts(self2, pattern, options) {
if (!options)
options = {};
if (options.matchBase && -1 === pattern.indexOf("/")) {
if (options.noglobstar) {
throw new Error("base matching requires globstar");
}
pattern = "**/" + pattern;
}
self2.silent = !!options.silent;
self2.pattern = pattern;
self2.strict = options.strict !== false;
self2.realpath = !!options.realpath;
self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null);
self2.follow = !!options.follow;
self2.dot = !!options.dot;
self2.mark = !!options.mark;
self2.nodir = !!options.nodir;
if (self2.nodir)
self2.mark = true;
self2.sync = !!options.sync;
self2.nounique = !!options.nounique;
self2.nonull = !!options.nonull;
self2.nosort = !!options.nosort;
self2.nocase = !!options.nocase;
self2.stat = !!options.stat;
self2.noprocess = !!options.noprocess;
self2.absolute = !!options.absolute;
self2.maxLength = options.maxLength || Infinity;
self2.cache = options.cache || /* @__PURE__ */ Object.create(null);
self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null);
self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null);
setupIgnores(self2, options);
self2.changedCwd = false;
var cwd = process.cwd();
if (!ownProp(options, "cwd"))
self2.cwd = cwd;
else {
self2.cwd = path236.resolve(options.cwd);
self2.changedCwd = self2.cwd !== cwd;
}
self2.root = options.root || path236.resolve(self2.cwd, "/");
self2.root = path236.resolve(self2.root);
if (process.platform === "win32")
self2.root = self2.root.replace(/\\/g, "/");
self2.cwdAbs = isAbsolute4(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
if (process.platform === "win32")
self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/");
self2.nomount = !!options.nomount;
options.nonegate = true;
options.nocomment = true;
self2.minimatch = new Minimatch(pattern, options);
self2.options = self2.minimatch.options;
}
function finish(self2) {
var nou = self2.nounique;
var all = nou ? [] : /* @__PURE__ */ Object.create(null);
for (var i4 = 0, l = self2.matches.length; i4 < l; i4++) {
var matches2 = self2.matches[i4];
if (!matches2 || Object.keys(matches2).length === 0) {
if (self2.nonull) {
var literal = self2.minimatch.globSet[i4];
if (nou)
all.push(literal);
else
all[literal] = true;
}
} else {
var m = Object.keys(matches2);
if (nou)
all.push.apply(all, m);
else
m.forEach(function(m2) {
all[m2] = true;
});
}
}
if (!nou)
all = Object.keys(all);
if (!self2.nosort)
all = all.sort(self2.nocase ? alphasorti : alphasort);
if (self2.mark) {
for (var i4 = 0; i4 < all.length; i4++) {
all[i4] = self2._mark(all[i4]);
}
if (self2.nodir) {
all = all.filter(function(e) {
var notDir = !/\/$/.test(e);
var c3 = self2.cache[e] || self2.cache[makeAbs(self2, e)];
if (notDir && c3)
notDir = c3 !== "DIR" && !Array.isArray(c3);
return notDir;
});
}
}
if (self2.ignore.length)
all = all.filter(function(m2) {
return !isIgnored(self2, m2);
});
self2.found = all;
}
function mark(self2, p) {
var abs2 = makeAbs(self2, p);
var c3 = self2.cache[abs2];
var m = p;
if (c3) {
var isDir = c3 === "DIR" || Array.isArray(c3);
var slash = p.slice(-1) === "/";
if (isDir && !slash)
m += "/";
else if (!isDir && slash)
m = m.slice(0, -1);
if (m !== p) {
var mabs = makeAbs(self2, m);
self2.statCache[mabs] = self2.statCache[abs2];
self2.cache[mabs] = self2.cache[abs2];
}
}
return m;
}
function makeAbs(self2, f) {
var abs2 = f;
if (f.charAt(0) === "/") {
abs2 = path236.join(self2.root, f);
} else if (isAbsolute4(f) || f === "") {
abs2 = f;
} else if (self2.changedCwd) {
abs2 = path236.resolve(self2.cwd, f);
} else {
abs2 = path236.resolve(f);
}
if (process.platform === "win32")
abs2 = abs2.replace(/\\/g, "/");
return abs2;
}
function isIgnored(self2, path237) {
if (!self2.ignore.length)
return false;
return self2.ignore.some(function(item) {
return item.matcher.match(path237) || !!(item.gmatcher && item.gmatcher.match(path237));
});
}
function childrenIgnored(self2, path237) {
if (!self2.ignore.length)
return false;
return self2.ignore.some(function(item) {
return !!(item.gmatcher && item.gmatcher.match(path237));
});
}
}),
/* 116 */
/***/
(function(module3, exports3, __webpack_require__2) {
var path236 = __webpack_require__2(0);
var fs126 = __webpack_require__2(3);
var _0777 = parseInt("0777", 8);
module3.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
function mkdirP(p, opts3, f, made) {
if (typeof opts3 === "function") {
f = opts3;
opts3 = {};
} else if (!opts3 || typeof opts3 !== "object") {
opts3 = { mode: opts3 };
}
var mode = opts3.mode;
var xfs = opts3.fs || fs126;
if (mode === void 0) {
mode = _0777 & ~process.umask();
}
if (!made) made = null;
var cb = f || function() {
};
p = path236.resolve(p);
xfs.mkdir(p, mode, function(er) {
if (!er) {
made = made || p;
return cb(null, made);
}
switch (er.code) {
case "ENOENT":
mkdirP(path236.dirname(p), opts3, function(er2, made2) {
if (er2) cb(er2, made2);
else mkdirP(p, opts3, cb, made2);
});
break;
// In the case of any other error, just see if there's a dir
// there already. If so, then hooray! If not, then something
// is borked.
default:
xfs.stat(p, function(er2, stat2) {
if (er2 || !stat2.isDirectory()) cb(er, made);
else cb(null, made);
});
break;
}
});
}
mkdirP.sync = function sync3(p, opts3, made) {
if (!opts3 || typeof opts3 !== "object") {
opts3 = { mode: opts3 };
}
var mode = opts3.mode;
var xfs = opts3.fs || fs126;
if (mode === void 0) {
mode = _0777 & ~process.umask();
}
if (!made) made = null;
p = path236.resolve(p);
try {
xfs.mkdirSync(p, mode);
made = made || p;
} catch (err0) {
switch (err0.code) {
case "ENOENT":
made = sync3(path236.dirname(p), opts3, made);
sync3(p, opts3, made);
break;
// In the case of any other error, just see if there's a dir
// there already. If so, then hooray! If not, then something
// is borked.
default:
var stat2;
try {
stat2 = xfs.statSync(p);
} catch (err1) {
throw err0;
}
if (!stat2.isDirectory()) throw err0;
break;
}
}
return made;
};
}),
,
,
,
,
,
/* 122 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
module3.exports = (x3) => {
if (typeof x3 !== "string") {
throw new TypeError("Expected a string, got " + typeof x3);
}
if (x3.charCodeAt(0) === 65279) {
return x3.slice(1);
}
return x3;
};
}),
/* 123 */
/***/
(function(module3, exports3) {
module3.exports = wrappy;
function wrappy(fn, cb) {
if (fn && cb) return wrappy(fn)(cb);
if (typeof fn !== "function")
throw new TypeError("need wrapper function");
Object.keys(fn).forEach(function(k2) {
wrapper[k2] = fn[k2];
});
return wrapper;
function wrapper() {
var args = new Array(arguments.length);
for (var i4 = 0; i4 < args.length; i4++) {
args[i4] = arguments[i4];
}
var ret2 = fn.apply(this, args);
var cb2 = args[args.length - 1];
if (typeof ret2 === "function" && ret2 !== cb2) {
Object.keys(cb2).forEach(function(k2) {
ret2[k2] = cb2[k2];
});
}
return ret2;
}
}
}),
,
,
,
,
,
,
,
/* 131 */
/***/
(function(module3, exports3, __webpack_require__2) {
var cof = __webpack_require__2(47);
module3.exports = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
return cof(it) == "String" ? it.split("") : Object(it);
};
}),
/* 132 */
/***/
(function(module3, exports3, __webpack_require__2) {
var $keys = __webpack_require__2(195);
var enumBugKeys = __webpack_require__2(101);
module3.exports = Object.keys || function keys4(O2) {
return $keys(O2, enumBugKeys);
};
}),
/* 133 */
/***/
(function(module3, exports3, __webpack_require__2) {
var defined = __webpack_require__2(67);
module3.exports = function(it) {
return Object(defined(it));
};
}),
,
,
,
,
,
,
,
,
,
,
,
/* 145 */
/***/
(function(module3, exports3) {
module3.exports = { "name": "yarn", "installationMethod": "unknown", "version": "1.10.0-0", "license": "BSD-2-Clause", "preferGlobal": true, "description": "\u{1F4E6}\u{1F408} Fast, reliable, and secure dependency management.", "dependencies": { "@zkochan/cmd-shim": "^2.2.4", "babel-runtime": "^6.26.0", "bytes": "^3.0.0", "camelcase": "^4.0.0", "chalk": "^2.1.0", "commander": "^2.9.0", "death": "^1.0.0", "debug": "^3.0.0", "deep-equal": "^1.0.1", "detect-indent": "^5.0.0", "dnscache": "^1.0.1", "glob": "^7.1.1", "gunzip-maybe": "^1.4.0", "hash-for-dep": "^1.2.3", "imports-loader": "^0.8.0", "ini": "^1.3.4", "inquirer": "^3.0.1", "invariant": "^2.2.0", "is-builtin-module": "^2.0.0", "is-ci": "^1.0.10", "is-webpack-bundle": "^1.0.0", "leven": "^2.0.0", "loud-rejection": "^1.2.0", "micromatch": "^2.3.11", "mkdirp": "^0.5.1", "node-emoji": "^1.6.1", "normalize-url": "^2.0.0", "npm-logical-tree": "^1.2.1", "object-path": "^0.11.2", "proper-lockfile": "^2.0.0", "puka": "^1.0.0", "read": "^1.0.7", "request": "^2.87.0", "request-capture-har": "^1.2.2", "rimraf": "^2.5.0", "semver": "^5.1.0", "ssri": "^5.3.0", "strip-ansi": "^4.0.0", "strip-bom": "^3.0.0", "tar-fs": "^1.16.0", "tar-stream": "^1.6.1", "uuid": "^3.0.1", "v8-compile-cache": "^2.0.0", "validate-npm-package-license": "^3.0.3", "yn": "^2.0.0" }, "devDependencies": { "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-loader": "^6.2.5", "babel-plugin-array-includes": "^2.0.3", "babel-plugin-transform-builtin-extend": "^1.1.2", "babel-plugin-transform-inline-imports-commonjs": "^1.0.0", "babel-plugin-transform-runtime": "^6.4.3", "babel-preset-env": "^1.6.0", "babel-preset-flow": "^6.23.0", "babel-preset-stage-0": "^6.0.0", "babylon": "^6.5.0", "commitizen": "^2.9.6", "cz-conventional-changelog": "^2.0.0", "eslint": "^4.3.0", "eslint-config-fb-strict": "^22.0.0", "eslint-plugin-babel": "^5.0.0", "eslint-plugin-flowtype": "^2.35.0", "eslint-plugin-jasmine": "^2.6.2", "eslint-plugin-jest": "^21.0.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", "eslint-plugin-prettier": "^2.1.2", "eslint-plugin-react": "^7.1.0", "eslint-plugin-relay": "^0.0.24", "eslint-plugin-yarn-internal": "file:scripts/eslint-rules", "execa": "^0.10.0", "flow-bin": "^0.66.0", "git-release-notes": "^3.0.0", "gulp": "^3.9.0", "gulp-babel": "^7.0.0", "gulp-if": "^2.0.1", "gulp-newer": "^1.0.0", "gulp-plumber": "^1.0.1", "gulp-sourcemaps": "^2.2.0", "gulp-util": "^3.0.7", "gulp-watch": "^5.0.0", "jest": "^22.4.4", "jsinspect": "^0.12.6", "minimatch": "^3.0.4", "mock-stdin": "^0.3.0", "prettier": "^1.5.2", "temp": "^0.8.3", "webpack": "^2.1.0-beta.25", "yargs": "^6.3.0" }, "resolutions": { "sshpk": "^1.14.2" }, "engines": { "node": ">=4.0.0" }, "repository": "yarnpkg/yarn", "bin": { "yarn": "./bin/yarn.js", "yarnpkg": "./bin/yarn.js" }, "scripts": { "build": "gulp build", "build-bundle": "node ./scripts/build-webpack.js", "build-chocolatey": "powershell ./scripts/build-chocolatey.ps1", "build-deb": "./scripts/build-deb.sh", "build-dist": "bash ./scripts/build-dist.sh", "build-win-installer": "scripts\\build-windows-installer.bat", "changelog": "git-release-notes $(git describe --tags --abbrev=0 $(git describe --tags --abbrev=0)^)..$(git describe --tags --abbrev=0) scripts/changelog.md", "dupe-check": "yarn jsinspect ./src", "lint": "eslint . && flow check", "pkg-tests": "yarn --cwd packages/pkg-tests jest yarn.test.js", "prettier": "eslint src __tests__ --fix", "release-branch": "./scripts/release-branch.sh", "test": "yarn lint && yarn test-only", "test-only": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose", "test-only-debug": "node --inspect-brk --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --verbose", "test-coverage": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose", "watch": "gulp watch", "commit": "git-cz" }, "jest": { "collectCoverageFrom": ["src/**/*.js"], "testEnvironment": "node", "modulePathIgnorePatterns": ["__tests__/fixtures/", "packages/pkg-tests/pkg-tests-fixtures", "dist/"], "testPathIgnorePatterns": ["__tests__/(fixtures|__mocks__)/", "updates/", "_(temp|mock|install|init|helpers).js$", "packages/pkg-tests"] }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } };
}),
,
,
,
,
/* 150 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.default = stringify2;
var _misc;
function _load_misc() {
return _misc = __webpack_require__2(12);
}
var _constants;
function _load_constants() {
return _constants = __webpack_require__2(6);
}
var _package;
function _load_package() {
return _package = __webpack_require__2(145);
}
const NODE_VERSION = process.version;
function shouldWrapKey(str2) {
return str2.indexOf("true") === 0 || str2.indexOf("false") === 0 || /[:\s\n\\",\[\]]/g.test(str2) || /^[0-9]/g.test(str2) || !/^[a-zA-Z]/g.test(str2);
}
function maybeWrap(str2) {
if (typeof str2 === "boolean" || typeof str2 === "number" || shouldWrapKey(str2)) {
return JSON.stringify(str2);
} else {
return str2;
}
}
const priorities = {
name: 1,
version: 2,
uid: 3,
resolved: 4,
integrity: 5,
registry: 6,
dependencies: 7
};
function priorityThenAlphaSort(a2, b) {
if (priorities[a2] || priorities[b]) {
return (priorities[a2] || 100) > (priorities[b] || 100) ? 1 : -1;
} else {
return (0, (_misc || _load_misc()).sortAlpha)(a2, b);
}
}
function _stringify(obj, options) {
if (typeof obj !== "object") {
throw new TypeError();
}
const indent = options.indent;
const lines = [];
const keys4 = Object.keys(obj).sort(priorityThenAlphaSort);
let addedKeys = [];
for (let i4 = 0; i4 < keys4.length; i4++) {
const key = keys4[i4];
const val = obj[key];
if (val == null || addedKeys.indexOf(key) >= 0) {
continue;
}
const valKeys = [key];
if (typeof val === "object") {
for (let j2 = i4 + 1; j2 < keys4.length; j2++) {
const key2 = keys4[j2];
if (val === obj[key2]) {
valKeys.push(key2);
}
}
}
const keyLine = valKeys.sort((_misc || _load_misc()).sortAlpha).map(maybeWrap).join(", ");
if (typeof val === "string" || typeof val === "boolean" || typeof val === "number") {
lines.push(`${keyLine} ${maybeWrap(val)}`);
} else if (typeof val === "object") {
lines.push(`${keyLine}:
${_stringify(val, { indent: indent + " " })}` + (options.topLevel ? "\n" : ""));
} else {
throw new TypeError();
}
addedKeys = addedKeys.concat(valKeys);
}
return indent + lines.join(`
${indent}`);
}
function stringify2(obj, noHeader, enableVersions) {
const val = _stringify(obj, {
indent: "",
topLevel: true
});
if (noHeader) {
return val;
}
const lines = [];
lines.push("# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.");
lines.push(`# yarn lockfile v${(_constants || _load_constants()).LOCKFILE_VERSION}`);
if (enableVersions) {
lines.push(`# yarn v${(_package || _load_package()).version}`);
lines.push(`# node ${NODE_VERSION}`);
}
lines.push("\n");
lines.push(val);
return lines.join("\n");
}
}),
,
,
,
,
,
,
,
,
,
,
,
,
,
/* 164 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.fileDatesEqual = exports3.copyFile = exports3.unlink = void 0;
var _asyncToGenerator2;
function _load_asyncToGenerator() {
return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__2(1));
}
let fixTimes = (() => {
var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (fd2, dest, data) {
const doOpen = fd2 === void 0;
let openfd = fd2 ? fd2 : -1;
if (disableTimestampCorrection === void 0) {
const destStat = yield lstat2(dest);
disableTimestampCorrection = fileDatesEqual(destStat.mtime, data.mtime);
}
if (disableTimestampCorrection) {
return;
}
if (doOpen) {
try {
openfd = yield open3(dest, "a", data.mode);
} catch (er) {
try {
openfd = yield open3(dest, "r", data.mode);
} catch (err2) {
return;
}
}
}
try {
if (openfd) {
yield futimes(openfd, data.atime, data.mtime);
}
} catch (er) {
} finally {
if (doOpen && openfd) {
yield close(openfd);
}
}
});
return function fixTimes2(_x7, _x8, _x9) {
return _ref3.apply(this, arguments);
};
})();
var _fs;
function _load_fs() {
return _fs = _interopRequireDefault(__webpack_require__2(3));
}
var _promise;
function _load_promise() {
return _promise = __webpack_require__2(40);
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
let disableTimestampCorrection = void 0;
const readFileBuffer = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.readFile);
const close = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.close);
const lstat2 = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.lstat);
const open3 = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.open);
const futimes = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.futimes);
const write = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.write);
const unlink = exports3.unlink = (0, (_promise || _load_promise()).promisify)(__webpack_require__2(233));
const copyFile = exports3.copyFile = (() => {
var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data, cleanup2) {
try {
yield unlink(data.dest);
yield copyFilePoly(data.src, data.dest, 0, data);
} finally {
if (cleanup2) {
cleanup2();
}
}
});
return function copyFile2(_x, _x2) {
return _ref.apply(this, arguments);
};
})();
const copyFilePoly = (src2, dest, flags, data) => {
if ((_fs || _load_fs()).default.copyFile) {
return new Promise((resolve4, reject3) => (_fs || _load_fs()).default.copyFile(src2, dest, flags, (err2) => {
if (err2) {
reject3(err2);
} else {
fixTimes(void 0, dest, data).then(() => resolve4()).catch((ex) => reject3(ex));
}
}));
} else {
return copyWithBuffer(src2, dest, flags, data);
}
};
const copyWithBuffer = (() => {
var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src2, dest, flags, data) {
const fd2 = yield open3(dest, "w", data.mode);
try {
const buffer3 = yield readFileBuffer(src2);
yield write(fd2, buffer3, 0, buffer3.length);
yield fixTimes(fd2, dest, data);
} finally {
yield close(fd2);
}
});
return function copyWithBuffer2(_x3, _x4, _x5, _x6) {
return _ref2.apply(this, arguments);
};
})();
const fileDatesEqual = exports3.fileDatesEqual = (a2, b) => {
const aTime = a2.getTime();
const bTime = b.getTime();
if (process.platform !== "win32") {
return aTime === bTime;
}
if (Math.abs(aTime - bTime) <= 1) {
return true;
}
const aTimeSec = Math.floor(aTime / 1e3);
const bTimeSec = Math.floor(bTime / 1e3);
if (aTime - aTimeSec * 1e3 === 0 || bTime - bTimeSec * 1e3 === 0) {
return aTimeSec === bTimeSec;
}
return aTime === bTime;
};
}),
,
,
,
,
/* 169 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.isFakeRoot = isFakeRoot;
exports3.isRootUser = isRootUser;
function getUid() {
if (process.platform !== "win32" && process.getuid) {
return process.getuid();
}
return null;
}
exports3.default = isRootUser(getUid()) && !isFakeRoot();
function isFakeRoot() {
return Boolean(process.env.FAKEROOTKEY);
}
function isRootUser(uid) {
return uid === 0;
}
}),
,
/* 171 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
Object.defineProperty(exports3, "__esModule", {
value: true
});
exports3.getDataDir = getDataDir2;
exports3.getCacheDir = getCacheDir2;
exports3.getConfigDir = getConfigDir2;
const path236 = __webpack_require__2(0);
const userHome = __webpack_require__2(45).default;
const FALLBACK_CONFIG_DIR = path236.join(userHome, ".config", "yarn");
const FALLBACK_CACHE_DIR = path236.join(userHome, ".cache", "yarn");
function getDataDir2() {
if (process.platform === "win32") {
const WIN32_APPDATA_DIR = getLocalAppDataDir();
return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path236.join(WIN32_APPDATA_DIR, "Data");
} else if (process.env.XDG_DATA_HOME) {
return path236.join(process.env.XDG_DATA_HOME, "yarn");
} else {
return FALLBACK_CONFIG_DIR;
}
}
function getCacheDir2() {
if (process.platform === "win32") {
return path236.join(getLocalAppDataDir() || path236.join(userHome, "AppData", "Local", "Yarn"), "Cache");
} else if (process.env.XDG_CACHE_HOME) {
return path236.join(process.env.XDG_CACHE_HOME, "yarn");
} else if (process.platform === "darwin") {
return path236.join(userHome, "Library", "Caches", "Yarn");
} else {
return FALLBACK_CACHE_DIR;
}
}
function getConfigDir2() {
if (process.platform === "win32") {
const WIN32_APPDATA_DIR = getLocalAppDataDir();
return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path236.join(WIN32_APPDATA_DIR, "Config");
} else if (process.env.XDG_CONFIG_HOME) {
return path236.join(process.env.XDG_CONFIG_HOME, "yarn");
} else {
return FALLBACK_CONFIG_DIR;
}
}
function getLocalAppDataDir() {
return process.env.LOCALAPPDATA ? path236.join(process.env.LOCALAPPDATA, "Yarn") : null;
}
}),
,
/* 173 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = { "default": __webpack_require__2(179), __esModule: true };
}),
/* 174 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
module3.exports = balanced;
function balanced(a2, b, str2) {
if (a2 instanceof RegExp) a2 = maybeMatch(a2, str2);
if (b instanceof RegExp) b = maybeMatch(b, str2);
var r = range(a2, b, str2);
return r && {
start: r[0],
end: r[1],
pre: str2.slice(0, r[0]),
body: str2.slice(r[0] + a2.length, r[1]),
post: str2.slice(r[1] + b.length)
};
}
function maybeMatch(reg, str2) {
var m = str2.match(reg);
return m ? m[0] : null;
}
balanced.range = range;
function range(a2, b, str2) {
var begs, beg, left, right, result2;
var ai = str2.indexOf(a2);
var bi = str2.indexOf(b, ai + 1);
var i4 = ai;
if (ai >= 0 && bi > 0) {
begs = [];
left = str2.length;
while (i4 >= 0 && !result2) {
if (i4 == ai) {
begs.push(i4);
ai = str2.indexOf(a2, i4 + 1);
} else if (begs.length == 1) {
result2 = [begs.pop(), bi];
} else {
beg = begs.pop();
if (beg < left) {
left = beg;
right = bi;
}
bi = str2.indexOf(b, i4 + 1);
}
i4 = ai < bi && ai >= 0 ? ai : bi;
}
if (begs.length) {
result2 = [left, right];
}
}
return result2;
}
}),
/* 175 */
/***/
(function(module3, exports3, __webpack_require__2) {
var concatMap = __webpack_require__2(178);
var balanced = __webpack_require__2(174);
module3.exports = expandTop;
var escSlash = "\0SLASH" + Math.random() + "\0";
var escOpen = "\0OPEN" + Math.random() + "\0";
var escClose = "\0CLOSE" + Math.random() + "\0";
var escComma = "\0COMMA" + Math.random() + "\0";
var escPeriod = "\0PERIOD" + Math.random() + "\0";
function numeric(str2) {
return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
}
function escapeBraces(str2) {
return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
}
function unescapeBraces(str2) {
return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
}
function parseCommaParts(str2) {
if (!str2)
return [""];
var parts = [];
var m = balanced("{", "}", str2);
if (!m)
return str2.split(",");
var pre = m.pre;
var body = m.body;
var post = m.post;
var p = pre.split(",");
p[p.length - 1] += "{" + body + "}";
var postParts = parseCommaParts(post);
if (post.length) {
p[p.length - 1] += postParts.shift();
p.push.apply(p, postParts);
}
parts.push.apply(parts, p);
return parts;
}
function expandTop(str2) {
if (!str2)
return [];
if (str2.substr(0, 2) === "{}") {
str2 = "\\{\\}" + str2.substr(2);
}
return expand(escapeBraces(str2), true).map(unescapeBraces);
}
function identity5(e) {
return e;
}
function embrace(str2) {
return "{" + str2 + "}";
}
function isPadded(el) {
return /^-?0\d/.test(el);
}
function lte(i4, y) {
return i4 <= y;
}
function gte(i4, y) {
return i4 >= y;
}
function expand(str2, isTop) {
var expansions = [];
var m = balanced("{", "}", str2);
if (!m || /\$$/.test(m.pre)) return [str2];
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
var isSequence = isNumericSequence || isAlphaSequence;
var isOptions = m.body.indexOf(",") >= 0;
if (!isSequence && !isOptions) {
if (m.post.match(/,.*\}/)) {
str2 = m.pre + "{" + m.body + escClose + m.post;
return expand(str2);
}
return [str2];
}
var n2;
if (isSequence) {
n2 = m.body.split(/\.\./);
} else {
n2 = parseCommaParts(m.body);
if (n2.length === 1) {
n2 = expand(n2[0], false).map(embrace);
if (n2.length === 1) {
var post = m.post.length ? expand(m.post, false) : [""];
return post.map(function(p) {
return m.pre + n2[0] + p;
});
}
}
}
var pre = m.pre;
var post = m.post.length ? expand(m.post, false) : [""];
var N;
if (isSequence) {
var x3 = numeric(n2[0]);
var y = numeric(n2[1]);
var width = Math.max(n2[0].length, n2[1].length);
var incr = n2.length == 3 ? Math.abs(numeric(n2[2])) : 1;
var test = lte;
var reverse3 = y < x3;
if (reverse3) {
incr *= -1;
test = gte;
}
var pad4 = n2.some(isPadded);
N = [];
for (var i4 = x3; test(i4, y); i4 += incr) {
var c3;
if (isAlphaSequence) {
c3 = String.fromCharCode(i4);
if (c3 === "\\")
c3 = "";
} else {
c3 = String(i4);
if (pad4) {
var need = width - c3.length;
if (need > 0) {
var z = new Array(need + 1).join("0");
if (i4 < 0)
c3 = "-" + z + c3.slice(1);
else
c3 = z + c3;
}
}
}
N.push(c3);
}
} else {
N = concatMap(n2, function(el) {
return expand(el, false);
});
}
for (var j2 = 0; j2 < N.length; j2++) {
for (var k2 = 0; k2 < post.length; k2++) {
var expansion = pre + N[j2] + post[k2];
if (!isTop || isSequence || expansion)
expansions.push(expansion);
}
}
return expansions;
}
}),
/* 176 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
function preserveCamelCase2(str2) {
let isLastCharLower = false;
let isLastCharUpper = false;
let isLastLastCharUpper = false;
for (let i4 = 0; i4 < str2.length; i4++) {
const c3 = str2[i4];
if (isLastCharLower && /[a-zA-Z]/.test(c3) && c3.toUpperCase() === c3) {
str2 = str2.substr(0, i4) + "-" + str2.substr(i4);
isLastCharLower = false;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = true;
i4++;
} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c3) && c3.toLowerCase() === c3) {
str2 = str2.substr(0, i4 - 1) + "-" + str2.substr(i4 - 1);
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = false;
isLastCharLower = true;
} else {
isLastCharLower = c3.toLowerCase() === c3;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = c3.toUpperCase() === c3;
}
}
return str2;
}
module3.exports = function(str2) {
if (arguments.length > 1) {
str2 = Array.from(arguments).map((x3) => x3.trim()).filter((x3) => x3.length).join("-");
} else {
str2 = str2.trim();
}
if (str2.length === 0) {
return "";
}
if (str2.length === 1) {
return str2.toLowerCase();
}
if (/^[a-z0-9]+$/.test(str2)) {
return str2;
}
const hasUpperCase = str2 !== str2.toLowerCase();
if (hasUpperCase) {
str2 = preserveCamelCase2(str2);
}
return str2.replace(/^[_.\- ]+/, "").toLowerCase().replace(/[_.\- ]+(\w|$)/g, (m, p1) => p1.toUpperCase());
};
}),
,
/* 178 */
/***/
(function(module3, exports3) {
module3.exports = function(xs, fn) {
var res = [];
for (var i4 = 0; i4 < xs.length; i4++) {
var x3 = fn(xs[i4], i4);
if (isArray(x3)) res.push.apply(res, x3);
else res.push(x3);
}
return res;
};
var isArray = Array.isArray || function(xs) {
return Object.prototype.toString.call(xs) === "[object Array]";
};
}),
/* 179 */
/***/
(function(module3, exports3, __webpack_require__2) {
__webpack_require__2(205);
__webpack_require__2(207);
__webpack_require__2(210);
__webpack_require__2(206);
__webpack_require__2(208);
__webpack_require__2(209);
module3.exports = __webpack_require__2(23).Promise;
}),
/* 180 */
/***/
(function(module3, exports3) {
module3.exports = function() {
};
}),
/* 181 */
/***/
(function(module3, exports3) {
module3.exports = function(it, Constructor, name, forbiddenField) {
if (!(it instanceof Constructor) || forbiddenField !== void 0 && forbiddenField in it) {
throw TypeError(name + ": incorrect invocation!");
}
return it;
};
}),
/* 182 */
/***/
(function(module3, exports3, __webpack_require__2) {
var toIObject = __webpack_require__2(74);
var toLength = __webpack_require__2(110);
var toAbsoluteIndex = __webpack_require__2(200);
module3.exports = function(IS_INCLUDES) {
return function($this, el, fromIndex) {
var O2 = toIObject($this);
var length = toLength(O2.length);
var index2 = toAbsoluteIndex(fromIndex, length);
var value;
if (IS_INCLUDES && el != el) while (length > index2) {
value = O2[index2++];
if (value != value) return true;
}
else for (; length > index2; index2++) if (IS_INCLUDES || index2 in O2) {
if (O2[index2] === el) return IS_INCLUDES || index2 || 0;
}
return !IS_INCLUDES && -1;
};
};
}),
/* 183 */
/***/
(function(module3, exports3, __webpack_require__2) {
var ctx = __webpack_require__2(48);
var call = __webpack_require__2(187);
var isArrayIter = __webpack_require__2(186);
var anObject = __webpack_require__2(27);
var toLength = __webpack_require__2(110);
var getIterFn = __webpack_require__2(203);
var BREAK = {};
var RETURN = {};
var exports3 = module3.exports = function(iterable, entries, fn, that, ITERATOR) {
var iterFn = ITERATOR ? function() {
return iterable;
} : getIterFn(iterable);
var f = ctx(fn, that, entries ? 2 : 1);
var index2 = 0;
var length, step2, iterator, result2;
if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!");
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index2; index2++) {
result2 = entries ? f(anObject(step2 = iterable[index2])[0], step2[1]) : f(iterable[index2]);
if (result2 === BREAK || result2 === RETURN) return result2;
}
else for (iterator = iterFn.call(iterable); !(step2 = iterator.next()).done; ) {
result2 = call(iterator, f, step2.value, entries);
if (result2 === BREAK || result2 === RETURN) return result2;
}
};
exports3.BREAK = BREAK;
exports3.RETURN = RETURN;
}),
/* 184 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = !__webpack_require__2(33) && !__webpack_require__2(85)(function() {
return Object.defineProperty(__webpack_require__2(68)("div"), "a", { get: function() {
return 7;
} }).a != 7;
});
}),
/* 185 */
/***/
(function(module3, exports3) {
module3.exports = function(fn, args, that) {
var un = that === void 0;
switch (args.length) {
case 0:
return un ? fn() : fn.call(that);
case 1:
return un ? fn(args[0]) : fn.call(that, args[0]);
case 2:
return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
case 3:
return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
case 4:
return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);
}
return fn.apply(that, args);
};
}),
/* 186 */
/***/
(function(module3, exports3, __webpack_require__2) {
var Iterators = __webpack_require__2(35);
var ITERATOR = __webpack_require__2(13)("iterator");
var ArrayProto = Array.prototype;
module3.exports = function(it) {
return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
};
}),
/* 187 */
/***/
(function(module3, exports3, __webpack_require__2) {
var anObject = __webpack_require__2(27);
module3.exports = function(iterator, fn, value, entries) {
try {
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
} catch (e) {
var ret2 = iterator["return"];
if (ret2 !== void 0) anObject(ret2.call(iterator));
throw e;
}
};
}),
/* 188 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var create = __webpack_require__2(192);
var descriptor = __webpack_require__2(106);
var setToStringTag = __webpack_require__2(71);
var IteratorPrototype = {};
__webpack_require__2(31)(IteratorPrototype, __webpack_require__2(13)("iterator"), function() {
return this;
});
module3.exports = function(Constructor, NAME, next2) {
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next2) });
setToStringTag(Constructor, NAME + " Iterator");
};
}),
/* 189 */
/***/
(function(module3, exports3, __webpack_require__2) {
var ITERATOR = __webpack_require__2(13)("iterator");
var SAFE_CLOSING = false;
try {
var riter = [7][ITERATOR]();
riter["return"] = function() {
SAFE_CLOSING = true;
};
Array.from(riter, function() {
throw 2;
});
} catch (e) {
}
module3.exports = function(exec2, skipClosing) {
if (!skipClosing && !SAFE_CLOSING) return false;
var safe = false;
try {
var arr = [7];
var iter = arr[ITERATOR]();
iter.next = function() {
return { done: safe = true };
};
arr[ITERATOR] = function() {
return iter;
};
exec2(arr);
} catch (e) {
}
return safe;
};
}),
/* 190 */
/***/
(function(module3, exports3) {
module3.exports = function(done, value) {
return { value, done: !!done };
};
}),
/* 191 */
/***/
(function(module3, exports3, __webpack_require__2) {
var global3 = __webpack_require__2(11);
var macrotask = __webpack_require__2(109).set;
var Observer = global3.MutationObserver || global3.WebKitMutationObserver;
var process24 = global3.process;
var Promise2 = global3.Promise;
var isNode2 = __webpack_require__2(47)(process24) == "process";
module3.exports = function() {
var head2, last, notify;
var flush = function() {
var parent, fn;
if (isNode2 && (parent = process24.domain)) parent.exit();
while (head2) {
fn = head2.fn;
head2 = head2.next;
try {
fn();
} catch (e) {
if (head2) notify();
else last = void 0;
throw e;
}
}
last = void 0;
if (parent) parent.enter();
};
if (isNode2) {
notify = function() {
process24.nextTick(flush);
};
} else if (Observer && !(global3.navigator && global3.navigator.standalone)) {
var toggle2 = true;
var node = document.createTextNode("");
new Observer(flush).observe(node, { characterData: true });
notify = function() {
node.data = toggle2 = !toggle2;
};
} else if (Promise2 && Promise2.resolve) {
var promise2 = Promise2.resolve(void 0);
notify = function() {
promise2.then(flush);
};
} else {
notify = function() {
macrotask.call(global3, flush);
};
}
return function(fn) {
var task = { fn, next: void 0 };
if (last) last.next = task;
if (!head2) {
head2 = task;
notify();
}
last = task;
};
};
}),
/* 192 */
/***/
(function(module3, exports3, __webpack_require__2) {
var anObject = __webpack_require__2(27);
var dPs = __webpack_require__2(193);
var enumBugKeys = __webpack_require__2(101);
var IE_PROTO = __webpack_require__2(72)("IE_PROTO");
var Empty = function() {
};
var PROTOTYPE = "prototype";
var createDict = function() {
var iframe = __webpack_require__2(68)("iframe");
var i4 = enumBugKeys.length;
var lt2 = "<";
var gt = ">";
var iframeDocument;
iframe.style.display = "none";
__webpack_require__2(102).appendChild(iframe);
iframe.src = "javascript:";
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(lt2 + "script" + gt + "document.F=Object" + lt2 + "/script" + gt);
iframeDocument.close();
createDict = iframeDocument.F;
while (i4--) delete createDict[PROTOTYPE][enumBugKeys[i4]];
return createDict();
};
module3.exports = Object.create || function create(O2, Properties) {
var result2;
if (O2 !== null) {
Empty[PROTOTYPE] = anObject(O2);
result2 = new Empty();
Empty[PROTOTYPE] = null;
result2[IE_PROTO] = O2;
} else result2 = createDict();
return Properties === void 0 ? result2 : dPs(result2, Properties);
};
}),
/* 193 */
/***/
(function(module3, exports3, __webpack_require__2) {
var dP = __webpack_require__2(50);
var anObject = __webpack_require__2(27);
var getKeys = __webpack_require__2(132);
module3.exports = __webpack_require__2(33) ? Object.defineProperties : function defineProperties(O2, Properties) {
anObject(O2);
var keys4 = getKeys(Properties);
var length = keys4.length;
var i4 = 0;
var P2;
while (length > i4) dP.f(O2, P2 = keys4[i4++], Properties[P2]);
return O2;
};
}),
/* 194 */
/***/
(function(module3, exports3, __webpack_require__2) {
var has = __webpack_require__2(49);
var toObject = __webpack_require__2(133);
var IE_PROTO = __webpack_require__2(72)("IE_PROTO");
var ObjectProto = Object.prototype;
module3.exports = Object.getPrototypeOf || function(O2) {
O2 = toObject(O2);
if (has(O2, IE_PROTO)) return O2[IE_PROTO];
if (typeof O2.constructor == "function" && O2 instanceof O2.constructor) {
return O2.constructor.prototype;
}
return O2 instanceof Object ? ObjectProto : null;
};
}),
/* 195 */
/***/
(function(module3, exports3, __webpack_require__2) {
var has = __webpack_require__2(49);
var toIObject = __webpack_require__2(74);
var arrayIndexOf = __webpack_require__2(182)(false);
var IE_PROTO = __webpack_require__2(72)("IE_PROTO");
module3.exports = function(object, names) {
var O2 = toIObject(object);
var i4 = 0;
var result2 = [];
var key;
for (key in O2) if (key != IE_PROTO) has(O2, key) && result2.push(key);
while (names.length > i4) if (has(O2, key = names[i4++])) {
~arrayIndexOf(result2, key) || result2.push(key);
}
return result2;
};
}),
/* 196 */
/***/
(function(module3, exports3, __webpack_require__2) {
var hide = __webpack_require__2(31);
module3.exports = function(target2, src2, safe) {
for (var key in src2) {
if (safe && target2[key]) target2[key] = src2[key];
else hide(target2, key, src2[key]);
}
return target2;
};
}),
/* 197 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = __webpack_require__2(31);
}),
/* 198 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var global3 = __webpack_require__2(11);
var core2 = __webpack_require__2(23);
var dP = __webpack_require__2(50);
var DESCRIPTORS = __webpack_require__2(33);
var SPECIES = __webpack_require__2(13)("species");
module3.exports = function(KEY) {
var C = typeof core2[KEY] == "function" ? core2[KEY] : global3[KEY];
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
configurable: true,
get: function() {
return this;
}
});
};
}),
/* 199 */
/***/
(function(module3, exports3, __webpack_require__2) {
var toInteger = __webpack_require__2(73);
var defined = __webpack_require__2(67);
module3.exports = function(TO_STRING) {
return function(that, pos) {
var s = String(defined(that));
var i4 = toInteger(pos);
var l = s.length;
var a2, b;
if (i4 < 0 || i4 >= l) return TO_STRING ? "" : void 0;
a2 = s.charCodeAt(i4);
return a2 < 55296 || a2 > 56319 || i4 + 1 === l || (b = s.charCodeAt(i4 + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i4) : a2 : TO_STRING ? s.slice(i4, i4 + 2) : (a2 - 55296 << 10) + (b - 56320) + 65536;
};
};
}),
/* 200 */
/***/
(function(module3, exports3, __webpack_require__2) {
var toInteger = __webpack_require__2(73);
var max4 = Math.max;
var min = Math.min;
module3.exports = function(index2, length) {
index2 = toInteger(index2);
return index2 < 0 ? max4(index2 + length, 0) : min(index2, length);
};
}),
/* 201 */
/***/
(function(module3, exports3, __webpack_require__2) {
var isObject4 = __webpack_require__2(34);
module3.exports = function(it, S3) {
if (!isObject4(it)) return it;
var fn, val;
if (S3 && typeof (fn = it.toString) == "function" && !isObject4(val = fn.call(it))) return val;
if (typeof (fn = it.valueOf) == "function" && !isObject4(val = fn.call(it))) return val;
if (!S3 && typeof (fn = it.toString) == "function" && !isObject4(val = fn.call(it))) return val;
throw TypeError("Can't convert object to primitive value");
};
}),
/* 202 */
/***/
(function(module3, exports3, __webpack_require__2) {
var global3 = __webpack_require__2(11);
var navigator2 = global3.navigator;
module3.exports = navigator2 && navigator2.userAgent || "";
}),
/* 203 */
/***/
(function(module3, exports3, __webpack_require__2) {
var classof = __webpack_require__2(100);
var ITERATOR = __webpack_require__2(13)("iterator");
var Iterators = __webpack_require__2(35);
module3.exports = __webpack_require__2(23).getIteratorMethod = function(it) {
if (it != void 0) return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)];
};
}),
/* 204 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var addToUnscopables = __webpack_require__2(180);
var step2 = __webpack_require__2(190);
var Iterators = __webpack_require__2(35);
var toIObject = __webpack_require__2(74);
module3.exports = __webpack_require__2(103)(Array, "Array", function(iterated, kind) {
this._t = toIObject(iterated);
this._i = 0;
this._k = kind;
}, function() {
var O2 = this._t;
var kind = this._k;
var index2 = this._i++;
if (!O2 || index2 >= O2.length) {
this._t = void 0;
return step2(1);
}
if (kind == "keys") return step2(0, index2);
if (kind == "values") return step2(0, O2[index2]);
return step2(0, [index2, O2[index2]]);
}, "values");
Iterators.Arguments = Iterators.Array;
addToUnscopables("keys");
addToUnscopables("values");
addToUnscopables("entries");
}),
/* 205 */
/***/
(function(module3, exports3) {
}),
/* 206 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var LIBRARY = __webpack_require__2(69);
var global3 = __webpack_require__2(11);
var ctx = __webpack_require__2(48);
var classof = __webpack_require__2(100);
var $export = __webpack_require__2(41);
var isObject4 = __webpack_require__2(34);
var aFunction = __webpack_require__2(46);
var anInstance = __webpack_require__2(181);
var forOf = __webpack_require__2(183);
var speciesConstructor = __webpack_require__2(108);
var task = __webpack_require__2(109).set;
var microtask = __webpack_require__2(191)();
var newPromiseCapabilityModule = __webpack_require__2(70);
var perform = __webpack_require__2(104);
var userAgent = __webpack_require__2(202);
var promiseResolve = __webpack_require__2(105);
var PROMISE = "Promise";
var TypeError2 = global3.TypeError;
var process24 = global3.process;
var versions = process24 && process24.versions;
var v8 = versions && versions.v8 || "";
var $Promise = global3[PROMISE];
var isNode2 = classof(process24) == "process";
var empty4 = function() {
};
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
var USE_NATIVE = !!(function() {
try {
var promise2 = $Promise.resolve(1);
var FakePromise = (promise2.constructor = {})[__webpack_require__2(13)("species")] = function(exec2) {
exec2(empty4, empty4);
};
return (isNode2 || typeof PromiseRejectionEvent == "function") && promise2.then(empty4) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
} catch (e) {
}
})();
var isThenable = function(it) {
var then;
return isObject4(it) && typeof (then = it.then) == "function" ? then : false;
};
var notify = function(promise2, isReject) {
if (promise2._n) return;
promise2._n = true;
var chain3 = promise2._c;
microtask(function() {
var value = promise2._v;
var ok = promise2._s == 1;
var i4 = 0;
var run2 = function(reaction) {
var handler82 = ok ? reaction.ok : reaction.fail;
var resolve4 = reaction.resolve;
var reject3 = reaction.reject;
var domain = reaction.domain;
var result2, then, exited;
try {
if (handler82) {
if (!ok) {
if (promise2._h == 2) onHandleUnhandled(promise2);
promise2._h = 1;
}
if (handler82 === true) result2 = value;
else {
if (domain) domain.enter();
result2 = handler82(value);
if (domain) {
domain.exit();
exited = true;
}
}
if (result2 === reaction.promise) {
reject3(TypeError2("Promise-chain cycle"));
} else if (then = isThenable(result2)) {
then.call(result2, resolve4, reject3);
} else resolve4(result2);
} else reject3(value);
} catch (e) {
if (domain && !exited) domain.exit();
reject3(e);
}
};
while (chain3.length > i4) run2(chain3[i4++]);
promise2._c = [];
promise2._n = false;
if (isReject && !promise2._h) onUnhandled(promise2);
});
};
var onUnhandled = function(promise2) {
task.call(global3, function() {
var value = promise2._v;
var unhandled = isUnhandled(promise2);
var result2, handler82, console2;
if (unhandled) {
result2 = perform(function() {
if (isNode2) {
process24.emit("unhandledRejection", value, promise2);
} else if (handler82 = global3.onunhandledrejection) {
handler82({ promise: promise2, reason: value });
} else if ((console2 = global3.console) && console2.error) {
console2.error("Unhandled promise rejection", value);
}
});
promise2._h = isNode2 || isUnhandled(promise2) ? 2 : 1;
}
promise2._a = void 0;
if (unhandled && result2.e) throw result2.v;
});
};
var isUnhandled = function(promise2) {
return promise2._h !== 1 && (promise2._a || promise2._c).length === 0;
};
var onHandleUnhandled = function(promise2) {
task.call(global3, function() {
var handler82;
if (isNode2) {
process24.emit("rejectionHandled", promise2);
} else if (handler82 = global3.onrejectionhandled) {
handler82({ promise: promise2, reason: promise2._v });
}
});
};
var $reject = function(value) {
var promise2 = this;
if (promise2._d) return;
promise2._d = true;
promise2 = promise2._w || promise2;
promise2._v = value;
promise2._s = 2;
if (!promise2._a) promise2._a = promise2._c.slice();
notify(promise2, true);
};
var $resolve = function(value) {
var promise2 = this;
var then;
if (promise2._d) return;
promise2._d = true;
promise2 = promise2._w || promise2;
try {
if (promise2 === value) throw TypeError2("Promise can't be resolved itself");
if (then = isThenable(value)) {
microtask(function() {
var wrapper = { _w: promise2, _d: false };
try {
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
} catch (e) {
$reject.call(wrapper, e);
}
});
} else {
promise2._v = value;
promise2._s = 1;
notify(promise2, false);
}
} catch (e) {
$reject.call({ _w: promise2, _d: false }, e);
}
};
if (!USE_NATIVE) {
$Promise = function Promise2(executor) {
anInstance(this, $Promise, PROMISE, "_h");
aFunction(executor);
Internal.call(this);
try {
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
} catch (err2) {
$reject.call(this, err2);
}
};
Internal = function Promise2(executor) {
this._c = [];
this._a = void 0;
this._s = 0;
this._d = false;
this._v = void 0;
this._h = 0;
this._n = false;
};
Internal.prototype = __webpack_require__2(196)($Promise.prototype, {
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then: function then(onFulfilled, onRejected) {
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
reaction.ok = typeof onFulfilled == "function" ? onFulfilled : true;
reaction.fail = typeof onRejected == "function" && onRejected;
reaction.domain = isNode2 ? process24.domain : void 0;
this._c.push(reaction);
if (this._a) this._a.push(reaction);
if (this._s) notify(this, false);
return reaction.promise;
},
// 25.4.5.1 Promise.prototype.catch(onRejected)
"catch": function(onRejected) {
return this.then(void 0, onRejected);
}
});
OwnPromiseCapability = function() {
var promise2 = new Internal();
this.promise = promise2;
this.resolve = ctx($resolve, promise2, 1);
this.reject = ctx($reject, promise2, 1);
};
newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
};
}
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
__webpack_require__2(71)($Promise, PROMISE);
__webpack_require__2(198)(PROMISE);
Wrapper = __webpack_require__2(23)[PROMISE];
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
// 25.4.4.5 Promise.reject(r)
reject: function reject3(r) {
var capability = newPromiseCapability(this);
var $$reject = capability.reject;
$$reject(r);
return capability.promise;
}
});
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
// 25.4.4.6 Promise.resolve(x)
resolve: function resolve4(x3) {
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x3);
}
});
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__2(189)(function(iter) {
$Promise.all(iter)["catch"](empty4);
})), PROMISE, {
// 25.4.4.1 Promise.all(iterable)
all: function all(iterable) {
var C = this;
var capability = newPromiseCapability(C);
var resolve4 = capability.resolve;
var reject3 = capability.reject;
var result2 = perform(function() {
var values = [];
var index2 = 0;
var remaining = 1;
forOf(iterable, false, function(promise2) {
var $index = index2++;
var alreadyCalled = false;
values.push(void 0);
remaining++;
C.resolve(promise2).then(function(value) {
if (alreadyCalled) return;
alreadyCalled = true;
values[$index] = value;
--remaining || resolve4(values);
}, reject3);
});
--remaining || resolve4(values);
});
if (result2.e) reject3(result2.v);
return capability.promise;
},
// 25.4.4.4 Promise.race(iterable)
race: function race(iterable) {
var C = this;
var capability = newPromiseCapability(C);
var reject3 = capability.reject;
var result2 = perform(function() {
forOf(iterable, false, function(promise2) {
C.resolve(promise2).then(capability.resolve, reject3);
});
});
if (result2.e) reject3(result2.v);
return capability.promise;
}
});
}),
/* 207 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var $at = __webpack_require__2(199)(true);
__webpack_require__2(103)(String, "String", function(iterated) {
this._t = String(iterated);
this._i = 0;
}, function() {
var O2 = this._t;
var index2 = this._i;
var point;
if (index2 >= O2.length) return { value: void 0, done: true };
point = $at(O2, index2);
this._i += point.length;
return { value: point, done: false };
});
}),
/* 208 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var $export = __webpack_require__2(41);
var core2 = __webpack_require__2(23);
var global3 = __webpack_require__2(11);
var speciesConstructor = __webpack_require__2(108);
var promiseResolve = __webpack_require__2(105);
$export($export.P + $export.R, "Promise", { "finally": function(onFinally) {
var C = speciesConstructor(this, core2.Promise || global3.Promise);
var isFunction = typeof onFinally == "function";
return this.then(
isFunction ? function(x3) {
return promiseResolve(C, onFinally()).then(function() {
return x3;
});
} : onFinally,
isFunction ? function(e) {
return promiseResolve(C, onFinally()).then(function() {
throw e;
});
} : onFinally
);
} });
}),
/* 209 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var $export = __webpack_require__2(41);
var newPromiseCapability = __webpack_require__2(70);
var perform = __webpack_require__2(104);
$export($export.S, "Promise", { "try": function(callbackfn) {
var promiseCapability = newPromiseCapability.f(this);
var result2 = perform(callbackfn);
(result2.e ? promiseCapability.reject : promiseCapability.resolve)(result2.v);
return promiseCapability.promise;
} });
}),
/* 210 */
/***/
(function(module3, exports3, __webpack_require__2) {
__webpack_require__2(204);
var global3 = __webpack_require__2(11);
var hide = __webpack_require__2(31);
var Iterators = __webpack_require__2(35);
var TO_STRING_TAG = __webpack_require__2(13)("toStringTag");
var DOMIterables = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(",");
for (var i4 = 0; i4 < DOMIterables.length; i4++) {
var NAME = DOMIterables[i4];
var Collection = global3[NAME];
var proto2 = Collection && Collection.prototype;
if (proto2 && !proto2[TO_STRING_TAG]) hide(proto2, TO_STRING_TAG, NAME);
Iterators[NAME] = Iterators.Array;
}
}),
/* 211 */
/***/
(function(module3, exports3, __webpack_require__2) {
exports3 = module3.exports = __webpack_require__2(112);
exports3.log = log3;
exports3.formatArgs = formatArgs;
exports3.save = save;
exports3.load = load3;
exports3.useColors = useColors;
exports3.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local : localstorage();
exports3.colors = [
"#0000CC",
"#0000FF",
"#0033CC",
"#0033FF",
"#0066CC",
"#0066FF",
"#0099CC",
"#0099FF",
"#00CC00",
"#00CC33",
"#00CC66",
"#00CC99",
"#00CCCC",
"#00CCFF",
"#3300CC",
"#3300FF",
"#3333CC",
"#3333FF",
"#3366CC",
"#3366FF",
"#3399CC",
"#3399FF",
"#33CC00",
"#33CC33",
"#33CC66",
"#33CC99",
"#33CCCC",
"#33CCFF",
"#6600CC",
"#6600FF",
"#6633CC",
"#6633FF",
"#66CC00",
"#66CC33",
"#9900CC",
"#9900FF",
"#9933CC",
"#9933FF",
"#99CC00",
"#99CC33",
"#CC0000",
"#CC0033",
"#CC0066",
"#CC0099",
"#CC00CC",
"#CC00FF",
"#CC3300",
"#CC3333",
"#CC3366",
"#CC3399",
"#CC33CC",
"#CC33FF",
"#CC6600",
"#CC6633",
"#CC9900",
"#CC9933",
"#CCCC00",
"#CCCC33",
"#FF0000",
"#FF0033",
"#FF0066",
"#FF0099",
"#FF00CC",
"#FF00FF",
"#FF3300",
"#FF3333",
"#FF3366",
"#FF3399",
"#FF33CC",
"#FF33FF",
"#FF6600",
"#FF6633",
"#FF9900",
"#FF9933",
"#FFCC00",
"#FFCC33"
];
function useColors() {
if (typeof window !== "undefined" && window.process && window.process.type === "renderer") {
return true;
}
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
return false;
}
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773
typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // double check webkit in userAgent just in case we are in a worker
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
}
exports3.formatters.j = function(v) {
try {
return JSON.stringify(v);
} catch (err2) {
return "[UnexpectedJSONParseError]: " + err2.message;
}
};
function formatArgs(args) {
var useColors2 = this.useColors;
args[0] = (useColors2 ? "%c" : "") + this.namespace + (useColors2 ? " %c" : " ") + args[0] + (useColors2 ? "%c " : " ") + "+" + exports3.humanize(this.diff);
if (!useColors2) return;
var c3 = "color: " + this.color;
args.splice(1, 0, c3, "color: inherit");
var index2 = 0;
var lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, function(match) {
if ("%%" === match) return;
index2++;
if ("%c" === match) {
lastC = index2;
}
});
args.splice(lastC, 0, c3);
}
function log3() {
return "object" === typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments);
}
function save(namespaces) {
try {
if (null == namespaces) {
exports3.storage.removeItem("debug");
} else {
exports3.storage.debug = namespaces;
}
} catch (e) {
}
}
function load3() {
var r;
try {
r = exports3.storage.debug;
} catch (e) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
exports3.enable(load3());
function localstorage() {
try {
return window.localStorage;
} catch (e) {
}
}
}),
/* 212 */
/***/
(function(module3, exports3, __webpack_require__2) {
if (typeof process === "undefined" || process.type === "renderer") {
module3.exports = __webpack_require__2(211);
} else {
module3.exports = __webpack_require__2(213);
}
}),
/* 213 */
/***/
(function(module3, exports3, __webpack_require__2) {
var tty5 = __webpack_require__2(79);
var util64 = __webpack_require__2(2);
exports3 = module3.exports = __webpack_require__2(112);
exports3.init = init2;
exports3.log = log3;
exports3.formatArgs = formatArgs;
exports3.save = save;
exports3.load = load3;
exports3.useColors = useColors;
exports3.colors = [6, 2, 3, 4, 5, 1];
try {
var supportsColor3 = __webpack_require__2(239);
if (supportsColor3 && supportsColor3.level >= 2) {
exports3.colors = [
20,
21,
26,
27,
32,
33,
38,
39,
40,
41,
42,
43,
44,
45,
56,
57,
62,
63,
68,
69,
74,
75,
76,
77,
78,
79,
80,
81,
92,
93,
98,
99,
112,
113,
128,
129,
134,
135,
148,
149,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
178,
179,
184,
185,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
214,
215,
220,
221
];
}
} catch (err2) {
}
exports3.inspectOpts = Object.keys(process.env).filter(function(key) {
return /^debug_/i.test(key);
}).reduce(function(obj, key) {
var prop3 = key.substring(6).toLowerCase().replace(/_([a-z])/g, function(_, k2) {
return k2.toUpperCase();
});
var val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
else if (val === "null") val = null;
else val = Number(val);
obj[prop3] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports3.inspectOpts ? Boolean(exports3.inspectOpts.colors) : tty5.isatty(process.stderr.fd);
}
exports3.formatters.o = function(v) {
this.inspectOpts.colors = this.useColors;
return util64.inspect(v, this.inspectOpts).split("\n").map(function(str2) {
return str2.trim();
}).join(" ");
};
exports3.formatters.O = function(v) {
this.inspectOpts.colors = this.useColors;
return util64.inspect(v, this.inspectOpts);
};
function formatArgs(args) {
var name = this.namespace;
var useColors2 = this.useColors;
if (useColors2) {
var c3 = this.color;
var colorCode = "\x1B[3" + (c3 < 8 ? c3 : "8;5;" + c3);
var prefix = " " + colorCode + ";1m" + name + " \x1B[0m";
args[0] = prefix + args[0].split("\n").join("\n" + prefix);
args.push(colorCode + "m+" + exports3.humanize(this.diff) + "\x1B[0m");
} else {
args[0] = getDate() + name + " " + args[0];
}
}
function getDate() {
if (exports3.inspectOpts.hideDate) {
return "";
} else {
return (/* @__PURE__ */ new Date()).toISOString() + " ";
}
}
function log3() {
return process.stderr.write(util64.format.apply(util64, arguments) + "\n");
}
function save(namespaces) {
if (null == namespaces) {
delete process.env.DEBUG;
} else {
process.env.DEBUG = namespaces;
}
}
function load3() {
return process.env.DEBUG;
}
function init2(debug) {
debug.inspectOpts = {};
var keys4 = Object.keys(exports3.inspectOpts);
for (var i4 = 0; i4 < keys4.length; i4++) {
debug.inspectOpts[keys4[i4]] = exports3.inspectOpts[keys4[i4]];
}
}
exports3.enable(load3());
}),
,
,
,
/* 217 */
/***/
(function(module3, exports3, __webpack_require__2) {
var pathModule = __webpack_require__2(0);
var isWindows15 = process.platform === "win32";
var fs126 = __webpack_require__2(3);
var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
function rethrow() {
var callback2;
if (DEBUG) {
var backtrace = new Error();
callback2 = debugCallback;
} else
callback2 = missingCallback;
return callback2;
function debugCallback(err2) {
if (err2) {
backtrace.message = err2.message;
err2 = backtrace;
missingCallback(err2);
}
}
function missingCallback(err2) {
if (err2) {
if (process.throwDeprecation)
throw err2;
else if (!process.noDeprecation) {
var msg = "fs: missing callback " + (err2.stack || err2.message);
if (process.traceDeprecation)
console.trace(msg);
else
console.error(msg);
}
}
}
}
function maybeCallback(cb) {
return typeof cb === "function" ? cb : rethrow();
}
var normalize11 = pathModule.normalize;
if (isWindows15) {
var nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
} else {
var nextPartRe = /(.*?)(?:[\/]+|$)/g;
}
if (isWindows15) {
var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
} else {
var splitRootRe = /^[\/]*/;
}
exports3.realpathSync = function realpathSync2(p, cache) {
p = pathModule.resolve(p);
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
return cache[p];
}
var original = p, seenLinks = {}, knownHard = {};
var pos;
var current;
var base;
var previous;
start();
function start() {
var m = splitRootRe.exec(p);
pos = m[0].length;
current = m[0];
base = m[0];
previous = "";
if (isWindows15 && !knownHard[base]) {
fs126.lstatSync(base);
knownHard[base] = true;
}
}
while (pos < p.length) {
nextPartRe.lastIndex = pos;
var result2 = nextPartRe.exec(p);
previous = current;
current += result2[0];
base = previous + result2[1];
pos = nextPartRe.lastIndex;
if (knownHard[base] || cache && cache[base] === base) {
continue;
}
var resolvedLink;
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
resolvedLink = cache[base];
} else {
var stat2 = fs126.lstatSync(base);
if (!stat2.isSymbolicLink()) {
knownHard[base] = true;
if (cache) cache[base] = base;
continue;
}
var linkTarget = null;
if (!isWindows15) {
var id = stat2.dev.toString(32) + ":" + stat2.ino.toString(32);
if (seenLinks.hasOwnProperty(id)) {
linkTarget = seenLinks[id];
}
}
if (linkTarget === null) {
fs126.statSync(base);
linkTarget = fs126.readlinkSync(base);
}
resolvedLink = pathModule.resolve(previous, linkTarget);
if (cache) cache[base] = resolvedLink;
if (!isWindows15) seenLinks[id] = linkTarget;
}
p = pathModule.resolve(resolvedLink, p.slice(pos));
start();
}
if (cache) cache[original] = p;
return p;
};
exports3.realpath = function realpath4(p, cache, cb) {
if (typeof cb !== "function") {
cb = maybeCallback(cache);
cache = null;
}
p = pathModule.resolve(p);
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
return process.nextTick(cb.bind(null, null, cache[p]));
}
var original = p, seenLinks = {}, knownHard = {};
var pos;
var current;
var base;
var previous;
start();
function start() {
var m = splitRootRe.exec(p);
pos = m[0].length;
current = m[0];
base = m[0];
previous = "";
if (isWindows15 && !knownHard[base]) {
fs126.lstat(base, function(err2) {
if (err2) return cb(err2);
knownHard[base] = true;
LOOP();
});
} else {
process.nextTick(LOOP);
}
}
function LOOP() {
if (pos >= p.length) {
if (cache) cache[original] = p;
return cb(null, p);
}
nextPartRe.lastIndex = pos;
var result2 = nextPartRe.exec(p);
previous = current;
current += result2[0];
base = previous + result2[1];
pos = nextPartRe.lastIndex;
if (knownHard[base] || cache && cache[base] === base) {
return process.nextTick(LOOP);
}
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
return gotResolvedLink(cache[base]);
}
return fs126.lstat(base, gotStat);
}
function gotStat(err2, stat2) {
if (err2) return cb(err2);
if (!stat2.isSymbolicLink()) {
knownHard[base] = true;
if (cache) cache[base] = base;
return process.nextTick(LOOP);
}
if (!isWindows15) {
var id = stat2.dev.toString(32) + ":" + stat2.ino.toString(32);
if (seenLinks.hasOwnProperty(id)) {
return gotTarget(null, seenLinks[id], base);
}
}
fs126.stat(base, function(err3) {
if (err3) return cb(err3);
fs126.readlink(base, function(err4, target2) {
if (!isWindows15) seenLinks[id] = target2;
gotTarget(err4, target2);
});
});
}
function gotTarget(err2, target2, base2) {
if (err2) return cb(err2);
var resolvedLink = pathModule.resolve(previous, target2);
if (cache) cache[base2] = resolvedLink;
gotResolvedLink(resolvedLink);
}
function gotResolvedLink(resolvedLink) {
p = pathModule.resolve(resolvedLink, p.slice(pos));
start();
}
};
}),
/* 218 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = globSync;
globSync.GlobSync = GlobSync;
var fs126 = __webpack_require__2(3);
var rp = __webpack_require__2(114);
var minimatch = __webpack_require__2(60);
var Minimatch = minimatch.Minimatch;
var Glob = __webpack_require__2(75).Glob;
var util64 = __webpack_require__2(2);
var path236 = __webpack_require__2(0);
var assert13 = __webpack_require__2(22);
var isAbsolute4 = __webpack_require__2(76);
var common4 = __webpack_require__2(115);
var alphasort = common4.alphasort;
var alphasorti = common4.alphasorti;
var setopts = common4.setopts;
var ownProp = common4.ownProp;
var childrenIgnored = common4.childrenIgnored;
var isIgnored = common4.isIgnored;
function globSync(pattern, options) {
if (typeof options === "function" || arguments.length === 3)
throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
return new GlobSync(pattern, options).found;
}
function GlobSync(pattern, options) {
if (!pattern)
throw new Error("must provide pattern");
if (typeof options === "function" || arguments.length === 3)
throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
if (!(this instanceof GlobSync))
return new GlobSync(pattern, options);
setopts(this, pattern, options);
if (this.noprocess)
return this;
var n2 = this.minimatch.set.length;
this.matches = new Array(n2);
for (var i4 = 0; i4 < n2; i4++) {
this._process(this.minimatch.set[i4], i4, false);
}
this._finish();
}
GlobSync.prototype._finish = function() {
assert13(this instanceof GlobSync);
if (this.realpath) {
var self2 = this;
this.matches.forEach(function(matchset, index2) {
var set2 = self2.matches[index2] = /* @__PURE__ */ Object.create(null);
for (var p in matchset) {
try {
p = self2._makeAbs(p);
var real = rp.realpathSync(p, self2.realpathCache);
set2[real] = true;
} catch (er) {
if (er.syscall === "stat")
set2[self2._makeAbs(p)] = true;
else
throw er;
}
}
});
}
common4.finish(this);
};
GlobSync.prototype._process = function(pattern, index2, inGlobStar) {
assert13(this instanceof GlobSync);
var n2 = 0;
while (typeof pattern[n2] === "string") {
n2++;
}
var prefix;
switch (n2) {
// if not, then this is rather simple
case pattern.length:
this._processSimple(pattern.join("/"), index2);
return;
case 0:
prefix = null;
break;
default:
prefix = pattern.slice(0, n2).join("/");
break;
}
var remain = pattern.slice(n2);
var read2;
if (prefix === null)
read2 = ".";
else if (isAbsolute4(prefix) || isAbsolute4(pattern.join("/"))) {
if (!prefix || !isAbsolute4(prefix))
prefix = "/" + prefix;
read2 = prefix;
} else
read2 = prefix;
var abs2 = this._makeAbs(read2);
if (childrenIgnored(this, read2))
return;
var isGlobStar = remain[0] === minimatch.GLOBSTAR;
if (isGlobStar)
this._processGlobStar(prefix, read2, abs2, remain, index2, inGlobStar);
else
this._processReaddir(prefix, read2, abs2, remain, index2, inGlobStar);
};
GlobSync.prototype._processReaddir = function(prefix, read2, abs2, remain, index2, inGlobStar) {
var entries = this._readdir(abs2, inGlobStar);
if (!entries)
return;
var pn = remain[0];
var negate = !!this.minimatch.negate;
var rawGlob = pn._glob;
var dotOk = this.dot || rawGlob.charAt(0) === ".";
var matchedEntries = [];
for (var i4 = 0; i4 < entries.length; i4++) {
var e = entries[i4];
if (e.charAt(0) !== "." || dotOk) {
var m;
if (negate && !prefix) {
m = !e.match(pn);
} else {
m = e.match(pn);
}
if (m)
matchedEntries.push(e);
}
}
var len = matchedEntries.length;
if (len === 0)
return;
if (remain.length === 1 && !this.mark && !this.stat) {
if (!this.matches[index2])
this.matches[index2] = /* @__PURE__ */ Object.create(null);
for (var i4 = 0; i4 < len; i4++) {
var e = matchedEntries[i4];
if (prefix) {
if (prefix.slice(-1) !== "/")
e = prefix + "/" + e;
else
e = prefix + e;
}
if (e.charAt(0) === "/" && !this.nomount) {
e = path236.join(this.root, e);
}
this._emitMatch(index2, e);
}
return;
}
remain.shift();
for (var i4 = 0; i4 < len; i4++) {
var e = matchedEntries[i4];
var newPattern;
if (prefix)
newPattern = [prefix, e];
else
newPattern = [e];
this._process(newPattern.concat(remain), index2, inGlobStar);
}
};
GlobSync.prototype._emitMatch = function(index2, e) {
if (isIgnored(this, e))
return;
var abs2 = this._makeAbs(e);
if (this.mark)
e = this._mark(e);
if (this.absolute) {
e = abs2;
}
if (this.matches[index2][e])
return;
if (this.nodir) {
var c3 = this.cache[abs2];
if (c3 === "DIR" || Array.isArray(c3))
return;
}
this.matches[index2][e] = true;
if (this.stat)
this._stat(e);
};
GlobSync.prototype._readdirInGlobStar = function(abs2) {
if (this.follow)
return this._readdir(abs2, false);
var entries;
var lstat2;
var stat2;
try {
lstat2 = fs126.lstatSync(abs2);
} catch (er) {
if (er.code === "ENOENT") {
return null;
}
}
var isSym = lstat2 && lstat2.isSymbolicLink();
this.symlinks[abs2] = isSym;
if (!isSym && lstat2 && !lstat2.isDirectory())
this.cache[abs2] = "FILE";
else
entries = this._readdir(abs2, false);
return entries;
};
GlobSync.prototype._readdir = function(abs2, inGlobStar) {
var entries;
if (inGlobStar && !ownProp(this.symlinks, abs2))
return this._readdirInGlobStar(abs2);
if (ownProp(this.cache, abs2)) {
var c3 = this.cache[abs2];
if (!c3 || c3 === "FILE")
return null;
if (Array.isArray(c3))
return c3;
}
try {
return this._readdirEntries(abs2, fs126.readdirSync(abs2));
} catch (er) {
this._readdirError(abs2, er);
return null;
}
};
GlobSync.prototype._readdirEntries = function(abs2, entries) {
if (!this.mark && !this.stat) {
for (var i4 = 0; i4 < entries.length; i4++) {
var e = entries[i4];
if (abs2 === "/")
e = abs2 + e;
else
e = abs2 + "/" + e;
this.cache[e] = true;
}
}
this.cache[abs2] = entries;
return entries;
};
GlobSync.prototype._readdirError = function(f, er) {
switch (er.code) {
case "ENOTSUP":
// https://github.com/isaacs/node-glob/issues/205
case "ENOTDIR":
var abs2 = this._makeAbs(f);
this.cache[abs2] = "FILE";
if (abs2 === this.cwdAbs) {
var error = new Error(er.code + " invalid cwd " + this.cwd);
error.path = this.cwd;
error.code = er.code;
throw error;
}
break;
case "ENOENT":
// not terribly unusual
case "ELOOP":
case "ENAMETOOLONG":
case "UNKNOWN":
this.cache[this._makeAbs(f)] = false;
break;
default:
this.cache[this._makeAbs(f)] = false;
if (this.strict)
throw er;
if (!this.silent)
console.error("glob error", er);
break;
}
};
GlobSync.prototype._processGlobStar = function(prefix, read2, abs2, remain, index2, inGlobStar) {
var entries = this._readdir(abs2, inGlobStar);
if (!entries)
return;
var remainWithoutGlobStar = remain.slice(1);
var gspref = prefix ? [prefix] : [];
var noGlobStar = gspref.concat(remainWithoutGlobStar);
this._process(noGlobStar, index2, false);
var len = entries.length;
var isSym = this.symlinks[abs2];
if (isSym && inGlobStar)
return;
for (var i4 = 0; i4 < len; i4++) {
var e = entries[i4];
if (e.charAt(0) === "." && !this.dot)
continue;
var instead = gspref.concat(entries[i4], remainWithoutGlobStar);
this._process(instead, index2, true);
var below = gspref.concat(entries[i4], remain);
this._process(below, index2, true);
}
};
GlobSync.prototype._processSimple = function(prefix, index2) {
var exists = this._stat(prefix);
if (!this.matches[index2])
this.matches[index2] = /* @__PURE__ */ Object.create(null);
if (!exists)
return;
if (prefix && isAbsolute4(prefix) && !this.nomount) {
var trail = /[\/\\]$/.test(prefix);
if (prefix.charAt(0) === "/") {
prefix = path236.join(this.root, prefix);
} else {
prefix = path236.resolve(this.root, prefix);
if (trail)
prefix += "/";
}
}
if (process.platform === "win32")
prefix = prefix.replace(/\\/g, "/");
this._emitMatch(index2, prefix);
};
GlobSync.prototype._stat = function(f) {
var abs2 = this._makeAbs(f);
var needDir = f.slice(-1) === "/";
if (f.length > this.maxLength)
return false;
if (!this.stat && ownProp(this.cache, abs2)) {
var c3 = this.cache[abs2];
if (Array.isArray(c3))
c3 = "DIR";
if (!needDir || c3 === "DIR")
return c3;
if (needDir && c3 === "FILE")
return false;
}
var exists;
var stat2 = this.statCache[abs2];
if (!stat2) {
var lstat2;
try {
lstat2 = fs126.lstatSync(abs2);
} catch (er) {
if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
this.statCache[abs2] = false;
return false;
}
}
if (lstat2 && lstat2.isSymbolicLink()) {
try {
stat2 = fs126.statSync(abs2);
} catch (er) {
stat2 = lstat2;
}
} else {
stat2 = lstat2;
}
}
this.statCache[abs2] = stat2;
var c3 = true;
if (stat2)
c3 = stat2.isDirectory() ? "DIR" : "FILE";
this.cache[abs2] = this.cache[abs2] || c3;
if (needDir && c3 === "FILE")
return false;
return c3;
};
GlobSync.prototype._mark = function(p) {
return common4.mark(this, p);
};
GlobSync.prototype._makeAbs = function(f) {
return common4.makeAbs(this, f);
};
}),
,
,
/* 221 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
module3.exports = function(flag, argv2) {
argv2 = argv2 || process.argv;
var terminatorPos = argv2.indexOf("--");
var prefix = /^--/.test(flag) ? "" : "--";
var pos = argv2.indexOf(prefix + flag);
return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true);
};
}),
,
/* 223 */
/***/
(function(module3, exports3, __webpack_require__2) {
var wrappy = __webpack_require__2(123);
var reqs = /* @__PURE__ */ Object.create(null);
var once11 = __webpack_require__2(61);
module3.exports = wrappy(inflight);
function inflight(key, cb) {
if (reqs[key]) {
reqs[key].push(cb);
return null;
} else {
reqs[key] = [cb];
return makeres(key);
}
}
function makeres(key) {
return once11(function RES() {
var cbs = reqs[key];
var len = cbs.length;
var args = slice4(arguments);
try {
for (var i4 = 0; i4 < len; i4++) {
cbs[i4].apply(null, args);
}
} finally {
if (cbs.length > len) {
cbs.splice(0, len);
process.nextTick(function() {
RES.apply(null, args);
});
} else {
delete reqs[key];
}
}
});
}
function slice4(args) {
var length = args.length;
var array = [];
for (var i4 = 0; i4 < length; i4++) array[i4] = args[i4];
return array;
}
}),
/* 224 */
/***/
(function(module3, exports3) {
if (typeof Object.create === "function") {
module3.exports = function inherits(ctor, superCtor) {
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true
}
});
};
} else {
module3.exports = function inherits(ctor, superCtor) {
ctor.super_ = superCtor;
var TempCtor = function() {
};
TempCtor.prototype = superCtor.prototype;
ctor.prototype = new TempCtor();
ctor.prototype.constructor = ctor;
};
}
}),
,
,
/* 227 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = typeof __webpack_require__2 !== "undefined";
}),
,
/* 229 */
/***/
(function(module3, exports3) {
var s = 1e3;
var m = s * 60;
var h2 = m * 60;
var d3 = h2 * 24;
var y = d3 * 365.25;
module3.exports = function(val, options) {
options = options || {};
var type4 = typeof val;
if (type4 === "string" && val.length > 0) {
return parse12(val);
} else if (type4 === "number" && isNaN(val) === false) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error(
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
);
};
function parse12(str2) {
str2 = String(str2);
if (str2.length > 100) {
return;
}
var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
str2
);
if (!match) {
return;
}
var n2 = parseFloat(match[1]);
var type4 = (match[2] || "ms").toLowerCase();
switch (type4) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n2 * y;
case "days":
case "day":
case "d":
return n2 * d3;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n2 * h2;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n2 * m;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n2 * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n2;
default:
return void 0;
}
}
function fmtShort(ms) {
if (ms >= d3) {
return Math.round(ms / d3) + "d";
}
if (ms >= h2) {
return Math.round(ms / h2) + "h";
}
if (ms >= m) {
return Math.round(ms / m) + "m";
}
if (ms >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms) {
return plural2(ms, d3, "day") || plural2(ms, h2, "hour") || plural2(ms, m, "minute") || plural2(ms, s, "second") || ms + " ms";
}
function plural2(ms, n2, name) {
if (ms < n2) {
return;
}
if (ms < n2 * 1.5) {
return Math.floor(ms / n2) + " " + name;
}
return Math.ceil(ms / n2) + " " + name + "s";
}
}),
,
,
,
/* 233 */
/***/
(function(module3, exports3, __webpack_require__2) {
module3.exports = rimraf2;
rimraf2.sync = rimrafSync2;
var assert13 = __webpack_require__2(22);
var path236 = __webpack_require__2(0);
var fs126 = __webpack_require__2(3);
var glob2 = __webpack_require__2(75);
var _0666 = parseInt("666", 8);
var defaultGlobOpts = {
nosort: true,
silent: true
};
var timeout = 0;
var isWindows15 = process.platform === "win32";
function defaults4(options) {
var methods = [
"unlink",
"chmod",
"stat",
"lstat",
"rmdir",
"readdir"
];
methods.forEach(function(m) {
options[m] = options[m] || fs126[m];
m = m + "Sync";
options[m] = options[m] || fs126[m];
});
options.maxBusyTries = options.maxBusyTries || 3;
options.emfileWait = options.emfileWait || 1e3;
if (options.glob === false) {
options.disableGlob = true;
}
options.disableGlob = options.disableGlob || false;
options.glob = options.glob || defaultGlobOpts;
}
function rimraf2(p, options, cb) {
if (typeof options === "function") {
cb = options;
options = {};
}
assert13(p, "rimraf: missing path");
assert13.equal(typeof p, "string", "rimraf: path should be a string");
assert13.equal(typeof cb, "function", "rimraf: callback function required");
assert13(options, "rimraf: invalid options argument provided");
assert13.equal(typeof options, "object", "rimraf: options should be object");
defaults4(options);
var busyTries = 0;
var errState = null;
var n2 = 0;
if (options.disableGlob || !glob2.hasMagic(p))
return afterGlob(null, [p]);
options.lstat(p, function(er, stat2) {
if (!er)
return afterGlob(null, [p]);
glob2(p, options.glob, afterGlob);
});
function next2(er) {
errState = errState || er;
if (--n2 === 0)
cb(errState);
}
function afterGlob(er, results) {
if (er)
return cb(er);
n2 = results.length;
if (n2 === 0)
return cb();
results.forEach(function(p2) {
rimraf_(p2, options, function CB(er2) {
if (er2) {
if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) {
busyTries++;
var time = busyTries * 100;
return setTimeout(function() {
rimraf_(p2, options, CB);
}, time);
}
if (er2.code === "EMFILE" && timeout < options.emfileWait) {
return setTimeout(function() {
rimraf_(p2, options, CB);
}, timeout++);
}
if (er2.code === "ENOENT") er2 = null;
}
timeout = 0;
next2(er2);
});
});
}
}
function rimraf_(p, options, cb) {
assert13(p);
assert13(options);
assert13(typeof cb === "function");
options.lstat(p, function(er, st) {
if (er && er.code === "ENOENT")
return cb(null);
if (er && er.code === "EPERM" && isWindows15)
fixWinEPERM(p, options, er, cb);
if (st && st.isDirectory())
return rmdir(p, options, er, cb);
options.unlink(p, function(er2) {
if (er2) {
if (er2.code === "ENOENT")
return cb(null);
if (er2.code === "EPERM")
return isWindows15 ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
if (er2.code === "EISDIR")
return rmdir(p, options, er2, cb);
}
return cb(er2);
});
});
}
function fixWinEPERM(p, options, er, cb) {
assert13(p);
assert13(options);
assert13(typeof cb === "function");
if (er)
assert13(er instanceof Error);
options.chmod(p, _0666, function(er2) {
if (er2)
cb(er2.code === "ENOENT" ? null : er);
else
options.stat(p, function(er3, stats) {
if (er3)
cb(er3.code === "ENOENT" ? null : er);
else if (stats.isDirectory())
rmdir(p, options, er, cb);
else
options.unlink(p, cb);
});
});
}
function fixWinEPERMSync(p, options, er) {
assert13(p);
assert13(options);
if (er)
assert13(er instanceof Error);
try {
options.chmodSync(p, _0666);
} catch (er2) {
if (er2.code === "ENOENT")
return;
else
throw er;
}
try {
var stats = options.statSync(p);
} catch (er3) {
if (er3.code === "ENOENT")
return;
else
throw er;
}
if (stats.isDirectory())
rmdirSync(p, options, er);
else
options.unlinkSync(p);
}
function rmdir(p, options, originalEr, cb) {
assert13(p);
assert13(options);
if (originalEr)
assert13(originalEr instanceof Error);
assert13(typeof cb === "function");
options.rmdir(p, function(er) {
if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM"))
rmkids(p, options, cb);
else if (er && er.code === "ENOTDIR")
cb(originalEr);
else
cb(er);
});
}
function rmkids(p, options, cb) {
assert13(p);
assert13(options);
assert13(typeof cb === "function");
options.readdir(p, function(er, files) {
if (er)
return cb(er);
var n2 = files.length;
if (n2 === 0)
return options.rmdir(p, cb);
var errState;
files.forEach(function(f) {
rimraf2(path236.join(p, f), options, function(er2) {
if (errState)
return;
if (er2)
return cb(errState = er2);
if (--n2 === 0)
options.rmdir(p, cb);
});
});
});
}
function rimrafSync2(p, options) {
options = options || {};
defaults4(options);
assert13(p, "rimraf: missing path");
assert13.equal(typeof p, "string", "rimraf: path should be a string");
assert13(options, "rimraf: missing options");
assert13.equal(typeof options, "object", "rimraf: options should be object");
var results;
if (options.disableGlob || !glob2.hasMagic(p)) {
results = [p];
} else {
try {
options.lstatSync(p);
results = [p];
} catch (er) {
results = glob2.sync(p, options.glob);
}
}
if (!results.length)
return;
for (var i4 = 0; i4 < results.length; i4++) {
var p = results[i4];
try {
var st = options.lstatSync(p);
} catch (er) {
if (er.code === "ENOENT")
return;
if (er.code === "EPERM" && isWindows15)
fixWinEPERMSync(p, options, er);
}
try {
if (st && st.isDirectory())
rmdirSync(p, options, null);
else
options.unlinkSync(p);
} catch (er) {
if (er.code === "ENOENT")
return;
if (er.code === "EPERM")
return isWindows15 ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er);
if (er.code !== "EISDIR")
throw er;
rmdirSync(p, options, er);
}
}
}
function rmdirSync(p, options, originalEr) {
assert13(p);
assert13(options);
if (originalEr)
assert13(originalEr instanceof Error);
try {
options.rmdirSync(p);
} catch (er) {
if (er.code === "ENOENT")
return;
if (er.code === "ENOTDIR")
throw originalEr;
if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")
rmkidsSync(p, options);
}
}
function rmkidsSync(p, options) {
assert13(p);
assert13(options);
options.readdirSync(p).forEach(function(f) {
rimrafSync2(path236.join(p, f), options);
});
var retries = isWindows15 ? 100 : 1;
var i4 = 0;
do {
var threw = true;
try {
var ret2 = options.rmdirSync(p, options);
threw = false;
return ret2;
} finally {
if (++i4 < retries && threw)
continue;
}
} while (true);
}
}),
,
,
,
,
,
/* 239 */
/***/
(function(module3, exports3, __webpack_require__2) {
"use strict";
var hasFlag4 = __webpack_require__2(221);
var support = function(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
};
var supportLevel = (function() {
if (hasFlag4("no-color") || hasFlag4("no-colors") || hasFlag4("color=false")) {
return 0;
}
if (hasFlag4("color=16m") || hasFlag4("color=full") || hasFlag4("color=truecolor")) {
return 3;
}
if (hasFlag4("color=256")) {
return 2;
}
if (hasFlag4("color") || hasFlag4("colors") || hasFlag4("color=true") || hasFlag4("color=always")) {
return 1;
}
if (process.stdout && !process.stdout.isTTY) {
return 0;
}
if (process.platform === "win32") {
return 1;
}
if ("CI" in process.env) {
if ("TRAVIS" in process.env || process.env.CI === "Travis") {
return 1;
}
return 0;
}
if ("TEAMCITY_VERSION" in process.env) {
return process.env.TEAMCITY_VERSION.match(/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/) === null ? 0 : 1;
}
if (/^(screen|xterm)-256(?:color)?/.test(process.env.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
return 1;
}
if ("COLORTERM" in process.env) {
return 1;
}
if (process.env.TERM === "dumb") {
return 0;
}
return 0;
})();
if (supportLevel === 0 && "FORCE_COLOR" in process.env) {
supportLevel = 1;
}
module3.exports = process && support(supportLevel);
})
/******/
]);
}
});
// ../installing/commands/lib/import/yarnUtil.js
var BUILTIN_PLACEHOLDER, MULTIPLE_KEYS_REGEXP, keyNormalizer, yarnLockFileKeyNormalizer;
var init_yarnUtil = __esm({
"../installing/commands/lib/import/yarnUtil.js"() {
"use strict";
BUILTIN_PLACEHOLDER = "builtin";
MULTIPLE_KEYS_REGEXP = / *, */;
keyNormalizer = (parseDescriptor, parseRange2) => (rawDescriptor) => {
const descriptors2 = [rawDescriptor];
const descriptor = parseDescriptor(rawDescriptor);
const name = `${descriptor.scope ? "@" + descriptor.scope + "/" : ""}${descriptor.name}`;
const range = parseRange2(descriptor.range);
const protocol = range.protocol;
switch (protocol) {
case "npm:":
case "file:":
descriptors2.push(`${name}@${range.selector}`);
descriptors2.push(`${name}@${protocol}${range.selector}`);
break;
case "git:":
case "git+ssh:":
case "git+http:":
case "git+https:":
case "github:":
if (range.source) {
descriptors2.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`);
} else {
descriptors2.push(`${name}@${protocol}${range.selector}`);
}
break;
case "patch:":
if (range.source && range.selector.startsWith(BUILTIN_PLACEHOLDER)) {
descriptors2.push(range.source);
} else {
descriptors2.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`);
}
break;
case null:
case void 0:
if (range.source) {
descriptors2.push(`${name}@${range.source}#${range.selector}`);
} else {
descriptors2.push(`${name}@${range.selector}`);
}
break;
case "http:":
case "https:":
case "link:":
case "portal:":
case "exec:":
case "workspace:":
case "virtual:":
default:
descriptors2.push(`${name}@${protocol}${range.selector}`);
break;
}
return descriptors2;
};
yarnLockFileKeyNormalizer = (parseDescriptor, parseRange2) => (fullDescriptor) => {
const allKeys = fullDescriptor.split(MULTIPLE_KEYS_REGEXP).map(keyNormalizer(parseDescriptor, parseRange2));
return new Set(allKeys.flat(5));
};
}
});
// ../installing/commands/lib/import/index.js
var import_exports2 = {};
__export(import_exports2, {
cliOptionsTypes: () => cliOptionsTypes7,
commandNames: () => commandNames8,
handler: () => handler8,
help: () => help8,
rcOptionsTypes: () => rcOptionsTypes8,
recursiveByDefault: () => recursiveByDefault3
});
import fs90 from "node:fs";
import path158 from "node:path";
function cliOptionsTypes7() {
return {};
}
function help8() {
return renderHelp({
description: `Generates ${WANTED_LOCKFILE} from an npm package-lock.json (or npm-shrinkwrap.json, yarn.lock) file.`,
url: docsUrl("import"),
usages: [
"pnpm import"
]
});
}
async function handler8(opts3, params) {
await rimraf(path158.join(opts3.dir, WANTED_LOCKFILE));
const versionsByPackageNames = {};
let preferredVersions = {};
if (fs90.existsSync(path158.join(opts3.dir, "yarn.lock"))) {
const yarnPackageLockFile = await readYarnLockFile(opts3.dir);
getAllVersionsFromYarnLockFile(yarnPackageLockFile, versionsByPackageNames);
} else if (fs90.existsSync(path158.join(opts3.dir, "package-lock.json")) || fs90.existsSync(path158.join(opts3.dir, "npm-shrinkwrap.json"))) {
const npmPackageLock = await readNpmLockfile(opts3.dir);
if (npmPackageLock.lockfileVersion < 3) {
getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames);
} else {
getAllVersionsByPackageNames(npmPackageLock, versionsByPackageNames);
}
} else {
throw new PnpmError("LOCKFILE_NOT_FOUND", "No lockfile found");
}
preferredVersions = getPreferredVersions(versionsByPackageNames);
if (opts3.workspaceDir) {
const allProjects = opts3.allProjects ?? await findWorkspaceProjects(opts3.workspaceDir, {
...opts3,
patterns: opts3.workspacePackagePatterns
});
const selectedProjectsGraph = opts3.selectedProjectsGraph ?? selectProjectByDir2(allProjects, opts3.dir);
if (selectedProjectsGraph != null) {
const sequencedGraph = sequenceGraph(selectedProjectsGraph);
if (!opts3.ignoreWorkspaceCycles && !sequencedGraph.safe) {
const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : "";
if (opts3.disallowWorkspaceCycles) {
throw new PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`);
}
logger.warn({
message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`,
prefix: opts3.workspaceDir
});
}
await recursive(
allProjects,
params,
// @ts-expect-error
{
...opts3,
lockfileOnly: true,
selectedProjectsGraph,
preferredVersions,
workspaceDir: opts3.workspaceDir
},
"import"
);
}
return;
}
const store = await createStoreController(opts3);
const manifest = await readProjectManifestOnly(opts3.dir);
const installOpts = {
...opts3,
lockfileOnly: true,
preferredVersions,
storeController: store.ctrl,
storeDir: store.dir,
resolutionVerifiers: store.resolutionVerifiers
};
await install(manifest, installOpts);
}
async function readYarnLockFile(dir) {
try {
const yarnLockFile = await lib_default.readFile(path158.join(dir, "yarn.lock"), "utf8");
const yarnLockFileType = getYarnLockfileType(yarnLockFile);
if (yarnLockFileType === YarnLockType.yarn) {
const lockJsonFile = (0, import_lockfile68.parse)(yarnLockFile);
if (lockJsonFile.type === "success") {
return lockJsonFile.object;
} else {
throw new PnpmError("YARN_LOCKFILE_PARSE_FAILED", `Yarn.lock file was ${lockJsonFile.type}`);
}
} else if (yarnLockFileType === YarnLockType.yarn2) {
const lockJsonFile = parseYarn2Lock(yarnLockFile);
if (lockJsonFile.type === YarnLockType.yarn2) {
return lockJsonFile.object;
}
}
} catch (err2) {
if (err2["code"] !== "ENOENT")
throw err2;
}
throw new PnpmError("YARN_LOCKFILE_NOT_FOUND", "No yarn.lock found");
}
function parseYarn2Lock(lockFileContents) {
const parseYarnLock = parseYarn2Yaml(lockFileContents);
delete parseYarnLock.__metadata;
const dependencies = {};
const { parseDescriptor, parseRange: parseRange2 } = structUtils;
const keyNormalizer2 = yarnLockFileKeyNormalizer(parseDescriptor, parseRange2);
for (const fullDescriptor in parseYarnLock) {
const versionData = parseYarnLock[fullDescriptor];
for (const descriptor of keyNormalizer2(fullDescriptor)) {
dependencies[descriptor] = versionData;
}
}
return {
object: dependencies,
type: YarnLockType.yarn2
};
}
function parseYarn2Yaml(lockFileContents) {
const parseYarnLock = jsYaml.load(lockFileContents, {
schema: jsYaml.FAILSAFE_SCHEMA,
json: true
});
if (parseYarnLock == null)
return {};
if (typeof parseYarnLock !== "object" || Array.isArray(parseYarnLock)) {
throw new PnpmError("YARN_LOCKFILE_PARSE_FAILED", `Expected an indexed object, got ${Array.isArray(parseYarnLock) ? "an array" : `a ${typeof parseYarnLock}`} instead. Does your file follow YAML's rules?`);
}
return parseYarnLock;
}
async function readNpmLockfile(dir) {
try {
return await loadJsonFile(path158.join(dir, "package-lock.json"));
} catch (err2) {
if (err2["code"] !== "ENOENT")
throw err2;
}
try {
return await loadJsonFile(path158.join(dir, "npm-shrinkwrap.json"));
} catch (err2) {
if (err2["code"] !== "ENOENT")
throw err2;
}
throw new PnpmError("NPM_LOCKFILE_NOT_FOUND", "No package-lock.json or npm-shrinkwrap.json found");
}
function getPreferredVersions(versionsByPackageNames) {
const preferredVersions = map_default((versions) => Object.fromEntries(Array.from(versions).map((version2) => [version2, "version"])), versionsByPackageNames);
return preferredVersions;
}
function getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames) {
if (npmPackageLock.dependencies == null)
return;
for (const [packageName, { version: version2 }] of Object.entries(npmPackageLock.dependencies)) {
if (!versionsByPackageNames[packageName]) {
versionsByPackageNames[packageName] = /* @__PURE__ */ new Set();
}
versionsByPackageNames[packageName].add(version2);
}
for (const dep of Object.values(npmPackageLock.dependencies)) {
getAllVersionsByPackageNamesPreV3(dep, versionsByPackageNames);
}
}
function getAllVersionsByPackageNames(pkg, versionsByPackageNames) {
if (pkg.dependencies) {
extractDependencies(versionsByPackageNames, pkg.dependencies);
}
if ("packages" in pkg && pkg.packages) {
extractDependencies(versionsByPackageNames, pkg.packages);
}
}
function extractDependencies(versionsByPackageNames, dependencies) {
for (let [pkgName, pkgDetails] of Object.entries(dependencies)) {
if (pkgName.includes("node_modules")) {
pkgName = pkgName.substring(pkgName.lastIndexOf("node_modules/") + 13);
}
if (!versionsByPackageNames[pkgName]) {
versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set();
}
if (pkgDetails.version) {
versionsByPackageNames[pkgName].add(pkgDetails.version);
}
if (pkgDetails.packages) {
extractDependencies(versionsByPackageNames, pkgDetails.packages);
}
if (pkgDetails.dependencies) {
for (const [pkgName1, version2] of Object.entries(pkgDetails.dependencies)) {
if (!versionsByPackageNames[pkgName1]) {
versionsByPackageNames[pkgName1] = /* @__PURE__ */ new Set();
}
versionsByPackageNames[pkgName1].add(version2);
}
}
}
}
function getAllVersionsFromYarnLockFile(yarnPackageLock, versionsByPackageNames) {
for (const [packageName, { version: version2 }] of Object.entries(yarnPackageLock)) {
const pkgName = packageName.substring(0, packageName.lastIndexOf("@"));
if (!versionsByPackageNames[pkgName]) {
versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set();
}
versionsByPackageNames[pkgName].add(version2);
}
}
function selectProjectByDir2(projects, searchedDir) {
const project = projects.find(({ rootDir }) => path158.relative(rootDir, searchedDir) === "");
if (project == null)
return void 0;
return { [project.rootDir]: { dependencies: [], package: project } };
}
function getYarnLockfileType(lockFileContents) {
return lockFileContents.includes("__metadata") ? YarnLockType.yarn2 : YarnLockType.yarn;
}
var structUtils, import_lockfile68, YarnLockType, rcOptionsTypes8, commandNames8, recursiveByDefault3;
var init_import = __esm({
"../installing/commands/lib/import/index.js"() {
"use strict";
init_lib41();
init_lib();
init_lib2();
init_lib14();
init_lib126();
init_lib3();
init_lib92();
init_lib15();
init_lib42();
init_lib95();
structUtils = __toESM(require_structUtils(), 1);
import_lockfile68 = __toESM(require_lockfile(), 1);
init_rimraf();
init_js_yaml();
init_load_json_file();
init_es();
init_lib66();
init_recursive2();
init_yarnUtil();
YarnLockType = {
yarn: "yarn",
yarn2: "yarn2"
};
rcOptionsTypes8 = cliOptionsTypes7;
commandNames8 = ["import"];
recursiveByDefault3 = true;
}
});
// ../installing/commands/lib/createProjectManifestWriter.js
import path159 from "node:path";
import util45 from "node:util";
async function createProjectManifestWriter(projectDir) {
try {
const { writeProjectManifest: writeProjectManifest2 } = await readProjectManifest(projectDir);
return writeProjectManifest2;
} catch (err2) {
if (util45.types.isNativeError(err2) && "code" in err2 && err2.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") {
return writeProjectManifest.bind(null, path159.join(projectDir, "package.json"));
}
throw err2;
}
}
var init_createProjectManifestWriter = __esm({
"../installing/commands/lib/createProjectManifestWriter.js"() {
"use strict";
init_lib15();
init_lib13();
}
});
// ../installing/commands/lib/link.js
var link_exports = {};
__export(link_exports, {
cliOptionsTypes: () => cliOptionsTypes8,
commandNames: () => commandNames9,
handler: () => handler9,
help: () => help9,
rcOptionsTypes: () => rcOptionsTypes9
});
import path160 from "node:path";
function cliOptionsTypes8() {
return pick_default([
"global-dir",
"global",
"only",
"package-import-method",
"production",
"registry",
"reporter",
"save-dev",
"save-exact",
"save-optional",
"save-prefix",
"trust-lockfile",
"unsafe-perm"
], types2);
}
function help9() {
return renderHelp({
aliases: ["ln"],
descriptionLists: [
{
title: "Options",
list: UNIVERSAL_OPTIONS
}
],
url: docsUrl("link"),
usages: [
"pnpm link <dir>"
]
});
}
async function checkPeerDeps(linkCwdDir, opts3) {
const { manifest } = await tryReadProjectManifest2(linkCwdDir, opts3);
if (manifest?.peerDependencies && Object.keys(manifest.peerDependencies).length > 0) {
const packageName = manifest.name ?? path160.basename(linkCwdDir);
const peerDeps = Object.entries(manifest.peerDependencies).map(([key, value]) => ` - ${key}@${String(value)}`).join(", ");
logger.warn({
message: `The package ${packageName}, which you have just pnpm linked, has the following peerDependencies specified in its package.json:
${peerDeps}
The linked in dependency will not resolve the peer dependencies from the target node_modules.
This might cause issues in your project. To resolve this, you may use the "file:" protocol to reference the local dependency.`,
prefix: opts3.dir
});
}
}
async function handler9(opts3, params) {
if (params == null || params.length === 0) {
throw new PnpmError("LINK_BAD_PARAMS", "You must provide a parameter. Usage: pnpm link <dir>");
}
let workspacePackagesArr;
let workspacePackages;
if (opts3.workspaceDir) {
workspacePackagesArr = await findWorkspaceProjects(opts3.workspaceDir, {
...opts3,
patterns: opts3.workspacePackagePatterns
});
workspacePackages = arrayOfWorkspacePackagesToMap(workspacePackagesArr);
} else {
workspacePackages = /* @__PURE__ */ new Map();
}
const linkOpts = Object.assign(opts3, {
targetDependenciesField: getSaveType(opts3),
workspacePackages,
binsDir: opts3.bin
});
const writeProjectManifest2 = await createProjectManifestWriter(opts3.rootProjectManifestDir);
const [pkgPaths, pkgNames] = partition_default((inp) => isFilespec2.test(inp), params);
if (pkgNames.length > 0) {
throw new PnpmError("LINK_BAD_PARAMS", `Cannot link by package name. Use a relative or absolute path instead, e.g. "pnpm link ./${pkgNames[0]}"`);
}
const newManifest = opts3.rootProjectManifest ?? {};
await Promise.all(pkgPaths.map(async (dir) => {
await addLinkToManifest(opts3, newManifest, dir, opts3.rootProjectManifestDir);
await checkPeerDeps(dir, opts3);
}));
await writeProjectManifest2(newManifest);
await handler5({
...linkOpts,
_calledFromLink: true,
frozenLockfileIfExists: false,
rootProjectManifest: newManifest
});
}
async function addLinkToManifest(opts3, manifest, linkedDepDir, manifestDir) {
const { manifest: linkedManifest } = await tryReadProjectManifest2(linkedDepDir, opts3);
const linkedPkgName = linkedManifest?.name ?? path160.basename(linkedDepDir);
const linkedPkgSpec = `link:${(0, import_normalize_path12.default)(path160.relative(manifestDir, linkedDepDir))}`;
opts3.overrides = {
...opts3.overrides,
[linkedPkgName]: linkedPkgSpec
};
await writeSettings({
...opts3,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir,
updatedSettings: {
overrides: opts3.overrides
}
});
if (DEPENDENCIES_FIELDS.every((depField) => manifest[depField]?.[linkedPkgName] == null)) {
manifest.dependencies = manifest.dependencies ?? {};
manifest.dependencies[linkedPkgName] = linkedPkgSpec;
}
}
var import_normalize_path12, isWindows11, isFilespec2, rcOptionsTypes9, commandNames9;
var init_link2 = __esm({
"../installing/commands/lib/link.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_lib102();
init_lib2();
init_lib89();
init_lib3();
init_lib9();
init_lib42();
import_normalize_path12 = __toESM(require_normalize_path(), 1);
init_es();
init_lib66();
init_createProjectManifestWriter();
init_getSaveType();
init_install2();
isWindows11 = process.platform === "win32" || global["FAKE_WINDOWS"];
isFilespec2 = isWindows11 ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i;
rcOptionsTypes9 = cliOptionsTypes8;
commandNames9 = ["link", "ln"];
}
});
// ../installing/commands/lib/prune.js
var prune_exports = {};
__export(prune_exports, {
cliOptionsTypes: () => cliOptionsTypes9,
commandNames: () => commandNames10,
handler: () => handler10,
help: () => help10,
rcOptionsTypes: () => rcOptionsTypes10
});
function cliOptionsTypes9() {
return pick_default([
"dev",
"optional",
"production",
"ignore-scripts"
], types2);
}
function help10() {
return renderHelp({
description: "Removes extraneous packages",
descriptionLists: [
{
title: "Options",
list: [
{
description: "Remove the packages specified in `devDependencies`",
name: "--prod"
},
{
description: "Remove the packages specified in `optionalDependencies`",
name: "--no-optional"
},
OPTIONS.ignoreScripts,
...UNIVERSAL_OPTIONS
]
}
],
url: docsUrl("prune"),
usages: ["pnpm prune [--prod]"]
});
}
async function handler10(opts3) {
await handler5({
...opts3,
modulesCacheMaxAge: 0,
pruneDirectDependencies: true,
pruneStore: true
});
}
var rcOptionsTypes10, commandNames10;
var init_prune3 = __esm({
"../installing/commands/lib/prune.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_es();
init_lib66();
init_install2();
rcOptionsTypes10 = cliOptionsTypes9;
commandNames10 = ["prune"];
}
});
// ../installing/commands/lib/remove.js
var remove_exports = {};
__export(remove_exports, {
cliOptionsTypes: () => cliOptionsTypes10,
commandNames: () => commandNames11,
completion: () => completion,
handler: () => handler11,
help: () => help11,
rcOptionsTypes: () => rcOptionsTypes11
});
function rcOptionsTypes11() {
return pick_default([
"cache-dir",
"global-dir",
"global-pnpmfile",
"global",
"lockfile-dir",
"lockfile-only",
"lockfile",
"node-experimental-package-map",
"node-package-map-type",
"node-linker",
"package-import-method",
"pnpmfile",
"reporter",
"save-dev",
"save-optional",
"save-prod",
"shared-workspace-lockfile",
"store-dir",
"strict-peer-dependencies",
"virtual-store-dir"
], types2);
}
function help11() {
return renderHelp({
aliases: ["rm", "uninstall", "un"],
description: "Removes packages from `node_modules` and from the project's `package.json`.",
descriptionLists: [
{
title: "Options",
list: [
{
description: 'Remove from every package found in subdirectories or from every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
{
description: 'Remove the dependency only from "devDependencies"',
name: "--save-dev",
shortAlias: "-D"
},
{
description: 'Remove the dependency only from "optionalDependencies"',
name: "--save-optional",
shortAlias: "-O"
},
{
description: 'Remove the dependency only from "dependencies"',
name: "--save-prod",
shortAlias: "-P"
},
OPTIONS.globalDir,
...UNIVERSAL_OPTIONS
]
},
FILTERING
],
url: docsUrl("remove"),
usages: ["pnpm remove <pkg>[@<version>]..."]
});
}
async function handler11(opts3, params) {
if (params.length === 0)
throw new PnpmError("MUST_REMOVE_SOMETHING", "At least one dependency name should be specified for removal");
if (opts3.global) {
if (!opts3.bin) {
throw new PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", {
hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.'
});
}
return handleGlobalRemove(opts3, params);
}
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
const store = await createStoreController(opts3);
if (opts3.recursive && opts3.allProjects != null && opts3.selectedProjectsGraph != null && opts3.workspaceDir) {
await recursive(opts3.allProjects, params, {
...opts3,
allProjectsGraph: opts3.allProjectsGraph,
include,
selectedProjectsGraph: opts3.selectedProjectsGraph,
storeControllerAndDir: store,
workspaceDir: opts3.workspaceDir
}, "remove");
return;
}
const removeOpts = Object.assign(opts3, {
linkWorkspacePackagesDepth: opts3.linkWorkspacePackages === "deep" ? Infinity : opts3.linkWorkspacePackages ? 0 : -1,
storeController: store.ctrl,
storeDir: store.dir,
resolutionVerifiers: store.resolutionVerifiers,
include,
// `--dry-run` is an `install`-only preview; never let a config-level
// `dry-run` turn `remove` into a no-op check.
dryRun: false
});
const allProjects = opts3.allProjects ?? (opts3.workspaceDir ? await findWorkspaceProjects(opts3.workspaceDir, { ...opts3, patterns: opts3.workspacePackagePatterns }) : void 0);
removeOpts["workspacePackages"] = allProjects ? arrayOfWorkspacePackagesToMap(allProjects) : void 0;
const targetDependenciesField = getSaveType(opts3);
const { manifest: currentManifest, writeProjectManifest: writeProjectManifest2 } = await readProjectManifest2(opts3.dir, opts3);
const availableDependencies = Object.keys(targetDependenciesField === void 0 ? getAllDependenciesFromManifest2(currentManifest) : currentManifest[targetDependenciesField] ?? {});
const nonMatchedDependencies = without_default(availableDependencies, params);
if (nonMatchedDependencies.length !== 0) {
throw new RemoveMissingDepsError({
availableDependencies,
nonMatchedDependencies,
targetDependenciesField
});
}
const mutationResult = await mutateModulesInSingleProject({
binsDir: opts3.bin,
dependencyNames: params,
manifest: currentManifest,
mutation: "uninstallSome",
rootDir: opts3.dir,
targetDependenciesField
}, removeOpts);
await writeProjectManifest2(mutationResult.updatedProject.manifest);
const updatedProjects = [];
if (allProjects != null) {
for (const project of allProjects) {
if (project.rootDir === mutationResult.updatedProject.rootDir) {
updatedProjects.push({
...project,
manifest: mutationResult.updatedProject.manifest
});
} else {
updatedProjects.push(project);
}
}
}
await updateWorkspaceManifest(opts3.workspaceDir ?? opts3.dir, {
cleanupUnusedCatalogs: opts3.cleanupUnusedCatalogs,
allProjects: updatedProjects
});
}
var RemoveMissingDepsError, cliOptionsTypes10, commandNames11, completion;
var init_remove2 = __esm({
"../installing/commands/lib/remove.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_lib2();
init_lib131();
init_lib89();
init_lib126();
init_lib11();
init_lib92();
init_lib42();
init_lib101();
init_es();
init_lib66();
init_getSaveType();
init_recursive2();
RemoveMissingDepsError = class extends PnpmError {
constructor(opts3) {
let message = "Cannot remove ";
message += `${opts3.nonMatchedDependencies.map((dep) => `'${dep}'`).join(", ")}: `;
if (opts3.availableDependencies.length > 0) {
message += `no such ${opts3.nonMatchedDependencies.length > 1 ? "dependencies" : "dependency"} `;
message += `found${opts3.targetDependenciesField ? ` in '${opts3.targetDependenciesField}'` : ""}`;
const hint = `Available dependencies: ${opts3.availableDependencies.join(", ")}`;
super("CANNOT_REMOVE_MISSING_DEPS", message, { hint });
return;
}
message += opts3.targetDependenciesField ? `project has no '${opts3.targetDependenciesField}'` : "project has no dependencies of any kind";
super("CANNOT_REMOVE_MISSING_DEPS", message);
}
};
cliOptionsTypes10 = () => ({
...rcOptionsTypes11(),
...pick_default(["force"], types2),
recursive: Boolean
});
commandNames11 = ["remove", "uninstall", "rm", "un", "uni"];
completion = async (cliOpts) => {
return readDepNameCompletions(cliOpts.dir);
};
}
});
// ../installing/commands/lib/unlink.js
var unlink_exports = {};
__export(unlink_exports, {
cliOptionsTypes: () => cliOptionsTypes11,
commandNames: () => commandNames12,
handler: () => handler12,
help: () => help12,
rcOptionsTypes: () => rcOptionsTypes12
});
function help12() {
return renderHelp({
aliases: ["dislink"],
description: "Removes the link created by `pnpm link` and reinstalls package if it is saved in `package.json`",
descriptionLists: [
{
title: "Options",
list: [
{
description: 'Unlink in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
...UNIVERSAL_OPTIONS
]
}
],
url: docsUrl("unlink"),
usages: [
"pnpm unlink (in package dir)",
"pnpm unlink <pkg>..."
]
});
}
async function handler12(opts3, params) {
if (!opts3.overrides)
return "Nothing to unlink";
if (!params || params.length === 0) {
for (const selector in opts3.overrides) {
if (opts3.overrides[selector].startsWith("link:")) {
delete opts3.overrides[selector];
}
}
} else {
for (const selector in opts3.overrides) {
if (opts3.overrides[selector].startsWith("link:") && params.includes(selector)) {
delete opts3.overrides[selector];
}
}
}
await writeSettings({
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir,
rootProjectManifestDir: opts3.rootProjectManifestDir,
updatedSettings: {
overrides: opts3.overrides
}
});
await handler5(opts3);
return void 0;
}
var cliOptionsTypes11, rcOptionsTypes12, commandNames12;
var init_unlink = __esm({
"../installing/commands/lib/unlink.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib102();
init_lib66();
init_install2();
cliOptionsTypes11 = cliOptionsTypes5;
rcOptionsTypes12 = rcOptionsTypes5;
commandNames12 = ["unlink", "dislink"];
}
});
// ../deps/inspection/outdated/lib/createManifestGetter.js
var init_createManifestGetter = __esm({
"../deps/inspection/outdated/lib/createManifestGetter.js"() {
"use strict";
init_lib37();
init_lib59();
}
});
// ../deps/inspection/outdated/lib/outdated.js
async function outdated(opts3) {
if (packageHasNoDeps(opts3.manifest))
return [];
if (opts3.wantedLockfile == null) {
throw new PnpmError("OUTDATED_NO_LOCKFILE", `No lockfile in directory "${opts3.lockfileDir}". Run \`pnpm install\` to generate one.`);
}
async function getOverriddenManifest() {
const overrides = opts3.currentLockfile?.overrides ?? opts3.wantedLockfile?.overrides;
if (overrides) {
const readPackageHook = createReadPackageHook({
lockfileDir: opts3.lockfileDir,
overrides: parseOverrides(overrides, opts3.catalogs ?? {})
});
const manifest = await readPackageHook?.(opts3.manifest, opts3.lockfileDir);
if (manifest)
return manifest;
}
return opts3.manifest;
}
const allDeps = getAllDependenciesFromManifest2(await getOverriddenManifest());
const importerId = getLockfileImporterId(opts3.lockfileDir, opts3.prefix);
const currentLockfile = opts3.currentLockfile ?? { lockfileVersion: LOCKFILE_VERSION, importers: { [importerId]: { specifiers: {} } } };
const outdated2 = [];
const ignoreDependenciesMatcher = opts3.ignoreDependencies?.length ? createMatcher(opts3.ignoreDependencies) : void 0;
const resolveOpts = {
lockfileDir: opts3.lockfileDir,
preferredVersions: {},
projectDir: opts3.prefix,
publishedBy: opts3.publishedBy,
publishedByExclude: opts3.publishedByExclude
};
await Promise.all(DEPENDENCIES_FIELDS.map(async (depType) => {
if (opts3.include?.[depType] === false || opts3.wantedLockfile.importers[importerId][depType] == null)
return;
let pkgs = Object.keys(opts3.wantedLockfile.importers[importerId][depType]);
if (opts3.match != null) {
pkgs = pkgs.filter((pkgName) => opts3.match(pkgName));
}
const _replaceCatalogProtocolIfNecessary = replaceCatalogProtocolIfNecessary.bind(null, opts3.catalogs ?? {});
await Promise.all(pkgs.map(async (alias) => {
if (!allDeps[alias])
return;
const wantedRef = opts3.wantedLockfile.importers[importerId][depType][alias];
if (isLocalRef(wantedRef))
return;
if (ignoreDependenciesMatcher?.(alias))
return;
const currentRef = currentLockfile.importers[importerId]?.[depType]?.[alias];
const wantedRelative = refToRelative(wantedRef, alias);
const currentRelative = currentRef ? refToRelative(currentRef, alias) : null;
const wantedSnapshot = wantedRelative != null ? opts3.wantedLockfile.packages?.[wantedRelative] : void 0;
const currentSnapshot = currentRelative != null ? currentLockfile.packages?.[currentRelative] : void 0;
const packageName = (wantedRelative != null ? parse9(wantedRelative).name : void 0) ?? alias;
const bareSpecifier = _replaceCatalogProtocolIfNecessary({ alias, bareSpecifier: allDeps[alias] });
const info = await opts3.resolveLatest({ wantedDependency: { alias, bareSpecifier }, compatible: opts3.compatible }, resolveOpts);
if (info == null)
return;
const wanted = displayVersion(wantedRef, wantedRelative, wantedSnapshot?.version);
const current = currentRef ? displayVersion(currentRef, currentRelative, currentSnapshot?.version) : void 0;
const { latestManifest } = info;
if (latestManifest == null) {
if (wanted !== current) {
outdated2.push({
alias,
belongsTo: depType,
current,
latestManifest: void 0,
packageName,
wanted,
workspace: opts3.manifest.name
});
}
return;
}
if (!current) {
outdated2.push({
alias,
belongsTo: depType,
latestManifest,
packageName,
wanted,
workspace: opts3.manifest.name
});
return;
}
if (wanted !== current || isLowerVersion(wanted, latestManifest.version) || latestManifest.deprecated) {
outdated2.push({
alias,
belongsTo: depType,
current,
latestManifest,
packageName,
wanted,
workspace: opts3.manifest.name
});
}
}));
}));
return outdated2.sort((pkg1, pkg2) => pkg1.packageName.localeCompare(pkg2.packageName));
}
function packageHasNoDeps(manifest) {
return (manifest.dependencies == null || isEmpty3(manifest.dependencies)) && (manifest.devDependencies == null || isEmpty3(manifest.devDependencies)) && (manifest.optionalDependencies == null || isEmpty3(manifest.optionalDependencies));
}
function isEmpty3(obj) {
return Object.keys(obj).length === 0;
}
function isLocalRef(ref) {
return ref.startsWith("link:") || ref.startsWith("file:") || ref.startsWith("workspace:");
}
function displayVersion(ref, relativeDepPath, snapshotVersion) {
if (relativeDepPath != null) {
const parsed = parse9(relativeDepPath);
if (parsed.version != null)
return parsed.version;
if (parsed.nonSemverVersion?.includes("/"))
return ref;
}
return snapshotVersion ?? ref;
}
function isLowerVersion(current, latest) {
if (!import_semver44.default.valid(current) || !import_semver44.default.valid(latest))
return false;
return import_semver44.default.lt(current, latest);
}
function replaceCatalogProtocolIfNecessary(catalogs, wantedDependency) {
return matchCatalogResolveResult(resolveFromCatalog(catalogs, wantedDependency), {
unused: () => wantedDependency.bareSpecifier,
found: (found) => found.resolution.specifier,
misconfiguration: (misconfiguration) => {
throw misconfiguration.error;
}
});
}
var import_semver44;
var init_outdated = __esm({
"../deps/inspection/outdated/lib/outdated.js"() {
"use strict";
init_lib97();
init_lib27();
init_lib99();
init_lib();
init_lib68();
init_lib2();
init_lib105();
init_lib80();
init_lib11();
init_lib9();
import_semver44 = __toESM(require_semver2(), 1);
init_createManifestGetter();
}
});
// ../deps/inspection/outdated/lib/outdatedDepsOfProjects.js
import path161 from "node:path";
async function outdatedDepsOfProjects(pkgs, args, opts3) {
if (!opts3.lockfileDir) {
return unnest_default(await Promise.all(pkgs.map(async (pkg) => outdatedDepsOfProjects([pkg], args, { ...opts3, lockfileDir: pkg.rootDir }))));
}
const lockfileDir = opts3.lockfileDir ?? opts3.dir;
const internalPnpmDir = path161.join(path161.join(lockfileDir, "node_modules/.pnpm"));
const currentLockfile = await readCurrentLockfile(internalPnpmDir, { ignoreIncompatible: false });
const wantedLockfile = await readWantedLockfile(lockfileDir, { ignoreIncompatible: false }) ?? currentLockfile;
const { publishedBy, publishedByExclude } = getPublishedByPolicy(opts3);
const { resolveLatest } = createResolver2({
...opts3,
configByUri: opts3.configByUri,
filterMetadata: false,
fullMetadata: opts3.fullMetadata === true || Boolean(opts3.minimumReleaseAge),
ignoreMissingTimeField: opts3.minimumReleaseAgeIgnoreMissingTime
});
return Promise.all(pkgs.map(async ({ rootDir, manifest }) => {
const match = args.length > 0 && createMatcher(args) || void 0;
return outdated({
catalogs: opts3.catalogs,
compatible: opts3.compatible,
currentLockfile,
resolveLatest,
ignoreDependencies: opts3.ignoreDependencies,
include: opts3.include,
lockfileDir,
manifest,
match,
minimumReleaseAge: opts3.minimumReleaseAge,
minimumReleaseAgeExclude: opts3.minimumReleaseAgeExclude,
prefix: rootDir,
publishedBy,
publishedByExclude,
wantedLockfile
});
}));
}
var init_outdatedDepsOfProjects = __esm({
"../deps/inspection/outdated/lib/outdatedDepsOfProjects.js"() {
"use strict";
init_lib27();
init_lib37();
init_lib59();
init_lib80();
init_es();
init_outdated();
}
});
// ../deps/inspection/outdated/lib/index.js
var init_lib139 = __esm({
"../deps/inspection/outdated/lib/index.js"() {
"use strict";
init_outdatedDepsOfProjects();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/colorize-semver-diff/2.0.0/f68166d46b526acb1b73c4e1c33bacdb1d0352eb5841882d6946716d5d9f09c4/node_modules/@pnpm/colorize-semver-diff/lib/index.js
function colorizeSemverDiff(semverDiff2) {
if (!semverDiff2) {
throw new TypeError("semverDiff must be defined");
}
if (typeof semverDiff2.change !== "string") {
throw new TypeError("semverDiff.change must be defined");
}
const highlight2 = DIFF_COLORS[semverDiff2.change] ?? source_default.redBright.bold;
const same = joinVersionTuples(semverDiff2.diff[0], 0);
const other = highlight2(joinVersionTuples(semverDiff2.diff[1], semverDiff2.diff[0].length));
if (!same)
return other;
if (!other)
return same;
return semverDiff2.diff[0].length === 3 ? `${same}-${other}` : `${same}.${other}`;
}
function joinVersionTuples(versionTuples, startIndex) {
const neededForSemver = 3 - startIndex;
if (versionTuples.length <= neededForSemver || neededForSemver <= 0) {
return versionTuples.join(".");
}
return `${versionTuples.slice(0, neededForSemver).join(".")}-${versionTuples.slice(neededForSemver).join(".")}`;
}
var DIFF_COLORS;
var init_lib140 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/colorize-semver-diff/2.0.0/f68166d46b526acb1b73c4e1c33bacdb1d0352eb5841882d6946716d5d9f09c4/node_modules/@pnpm/colorize-semver-diff/lib/index.js"() {
init_source();
DIFF_COLORS = {
feature: source_default.yellowBright.bold,
fix: source_default.greenBright.bold
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/semver-diff/2.0.0/075eb938870e3d83aaa464075b007aee43a20c770e559aba20e1154b6e584296/node_modules/@pnpm/semver-diff/lib/index.js
function semverDiff(version1, version2) {
if (version1 === version2) {
return {
change: null,
diff: [parseVersion(version1), []]
};
}
const [version1Prefix, version1Semver] = parsePrefix(version1);
const [version2Prefix, version2Semver] = parsePrefix(version2);
if (version1Prefix !== version2Prefix) {
const { change: change3 } = semverDiff(version1Semver, version2Semver);
return {
change: change3,
diff: [[], parseVersion(version2)]
};
}
const version1Tuples = parseVersion(version1);
const version2Tuples = parseVersion(version2);
const same = [];
let change2 = "unknown";
const maxTuples = Math.max(version1Tuples.length, version2Tuples.length);
const unstable = version1Tuples[0] === "0" || version2Tuples[0] === "0" || maxTuples > 3;
for (let i4 = 0; i4 < maxTuples; i4++) {
if (version1Tuples[i4] === version2Tuples[i4]) {
same.push(version1Tuples[i4]);
continue;
}
if (!unstable) {
change2 = SEMVER_CHANGE_BY_TUPLE_NUMBER[i4] ?? "unknown";
}
return {
change: change2,
diff: [same, version2Tuples.slice(i4)]
};
}
return {
change: change2,
diff: [same, []]
};
}
function parsePrefix(version2) {
if (version2.startsWith("~") || version2.startsWith("^")) {
return [version2[0], version2.slice(1)];
}
return ["", version2];
}
function parseVersion(version2) {
const dashIndex = version2.indexOf("-");
let normalVersion;
let prereleaseVersion;
if (dashIndex === -1) {
normalVersion = version2;
} else {
normalVersion = version2.slice(0, dashIndex);
prereleaseVersion = version2.slice(dashIndex + 1);
}
return [
...normalVersion.split("."),
...prereleaseVersion !== void 0 ? prereleaseVersion.split(".") : []
];
}
var SEMVER_CHANGE_BY_TUPLE_NUMBER;
var init_lib141 = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/semver-diff/2.0.0/075eb938870e3d83aaa464075b007aee43a20c770e559aba20e1154b6e584296/node_modules/@pnpm/semver-diff/lib/index.js"() {
SEMVER_CHANGE_BY_TUPLE_NUMBER = ["breaking", "feature", "fix"];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/grapheme-splitter/1.0.4/2e7a99905bbc9ab70d78be72b6034f403b1054cdd82e275b3982ea3412506b93/node_modules/grapheme-splitter/index.js
var require_grapheme_splitter = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/grapheme-splitter/1.0.4/2e7a99905bbc9ab70d78be72b6034f403b1054cdd82e275b3982ea3412506b93/node_modules/grapheme-splitter/index.js"(exports2, module2) {
function GraphemeSplitter() {
var CR2 = 0, LF2 = 1, Control = 2, Extend = 3, Regional_Indicator = 4, SpacingMark = 5, L3 = 6, V = 7, T2 = 8, LV = 9, LVT = 10, Other = 11, Prepend = 12, E_Base = 13, E_Modifier = 14, ZWJ = 15, Glue_After_Zwj = 16, E_Base_GAZ = 17;
var NotBreak = 0, BreakStart = 1, Break = 2, BreakLastRegional = 3, BreakPenultimateRegional = 4;
function isSurrogate(str2, pos) {
return 55296 <= str2.charCodeAt(pos) && str2.charCodeAt(pos) <= 56319 && 56320 <= str2.charCodeAt(pos + 1) && str2.charCodeAt(pos + 1) <= 57343;
}
function codePointAt2(str2, idx) {
if (idx === void 0) {
idx = 0;
}
var code = str2.charCodeAt(idx);
if (55296 <= code && code <= 56319 && idx < str2.length - 1) {
var hi = code;
var low = str2.charCodeAt(idx + 1);
if (56320 <= low && low <= 57343) {
return (hi - 55296) * 1024 + (low - 56320) + 65536;
}
return hi;
}
if (56320 <= code && code <= 57343 && idx >= 1) {
var hi = str2.charCodeAt(idx - 1);
var low = code;
if (55296 <= hi && hi <= 56319) {
return (hi - 55296) * 1024 + (low - 56320) + 65536;
}
return low;
}
return code;
}
function shouldBreak(start, mid, end) {
var all = [start].concat(mid).concat([end]);
var previous = all[all.length - 2];
var next2 = end;
var eModifierIndex = all.lastIndexOf(E_Modifier);
if (eModifierIndex > 1 && all.slice(1, eModifierIndex).every(function(c3) {
return c3 == Extend;
}) && [Extend, E_Base, E_Base_GAZ].indexOf(start) == -1) {
return Break;
}
var rIIndex = all.lastIndexOf(Regional_Indicator);
if (rIIndex > 0 && all.slice(1, rIIndex).every(function(c3) {
return c3 == Regional_Indicator;
}) && [Prepend, Regional_Indicator].indexOf(previous) == -1) {
if (all.filter(function(c3) {
return c3 == Regional_Indicator;
}).length % 2 == 1) {
return BreakLastRegional;
} else {
return BreakPenultimateRegional;
}
}
if (previous == CR2 && next2 == LF2) {
return NotBreak;
} else if (previous == Control || previous == CR2 || previous == LF2) {
if (next2 == E_Modifier && mid.every(function(c3) {
return c3 == Extend;
})) {
return Break;
} else {
return BreakStart;
}
} else if (next2 == Control || next2 == CR2 || next2 == LF2) {
return BreakStart;
} else if (previous == L3 && (next2 == L3 || next2 == V || next2 == LV || next2 == LVT)) {
return NotBreak;
} else if ((previous == LV || previous == V) && (next2 == V || next2 == T2)) {
return NotBreak;
} else if ((previous == LVT || previous == T2) && next2 == T2) {
return NotBreak;
} else if (next2 == Extend || next2 == ZWJ) {
return NotBreak;
} else if (next2 == SpacingMark) {
return NotBreak;
} else if (previous == Prepend) {
return NotBreak;
}
var previousNonExtendIndex = all.indexOf(Extend) != -1 ? all.lastIndexOf(Extend) - 1 : all.length - 2;
if ([E_Base, E_Base_GAZ].indexOf(all[previousNonExtendIndex]) != -1 && all.slice(previousNonExtendIndex + 1, -1).every(function(c3) {
return c3 == Extend;
}) && next2 == E_Modifier) {
return NotBreak;
}
if (previous == ZWJ && [Glue_After_Zwj, E_Base_GAZ].indexOf(next2) != -1) {
return NotBreak;
}
if (mid.indexOf(Regional_Indicator) != -1) {
return Break;
}
if (previous == Regional_Indicator && next2 == Regional_Indicator) {
return NotBreak;
}
return BreakStart;
}
this.nextBreak = function(string, index2) {
if (index2 === void 0) {
index2 = 0;
}
if (index2 < 0) {
return 0;
}
if (index2 >= string.length - 1) {
return string.length;
}
var prev = getGraphemeBreakProperty(codePointAt2(string, index2));
var mid = [];
for (var i4 = index2 + 1; i4 < string.length; i4++) {
if (isSurrogate(string, i4 - 1)) {
continue;
}
var next2 = getGraphemeBreakProperty(codePointAt2(string, i4));
if (shouldBreak(prev, mid, next2)) {
return i4;
}
mid.push(next2);
}
return string.length;
};
this.splitGraphemes = function(str2) {
var res = [];
var index2 = 0;
var brk;
while ((brk = this.nextBreak(str2, index2)) < str2.length) {
res.push(str2.slice(index2, brk));
index2 = brk;
}
if (index2 < str2.length) {
res.push(str2.slice(index2));
}
return res;
};
this.iterateGraphemes = function(str2) {
var index2 = 0;
var res = {
next: (function() {
var value;
var brk;
if ((brk = this.nextBreak(str2, index2)) < str2.length) {
value = str2.slice(index2, brk);
index2 = brk;
return { value, done: false };
}
if (index2 < str2.length) {
value = str2.slice(index2);
index2 = str2.length;
return { value, done: false };
}
return { value: void 0, done: true };
}).bind(this)
};
if (typeof Symbol !== "undefined" && Symbol.iterator) {
res[Symbol.iterator] = function() {
return res;
};
}
return res;
};
this.countGraphemes = function(str2) {
var count2 = 0;
var index2 = 0;
var brk;
while ((brk = this.nextBreak(str2, index2)) < str2.length) {
index2 = brk;
count2++;
}
if (index2 < str2.length) {
count2++;
}
return count2;
};
function getGraphemeBreakProperty(code) {
if (1536 <= code && code <= 1541 || // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
1757 == code || // Cf ARABIC END OF AYAH
1807 == code || // Cf SYRIAC ABBREVIATION MARK
2274 == code || // Cf ARABIC DISPUTED END OF AYAH
3406 == code || // Lo MALAYALAM LETTER DOT REPH
69821 == code || // Cf KAITHI NUMBER SIGN
70082 <= code && code <= 70083 || // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
72250 == code || // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
72326 <= code && code <= 72329 || // Lo [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
73030 == code) {
return Prepend;
}
if (13 == code) {
return CR2;
}
if (10 == code) {
return LF2;
}
if (0 <= code && code <= 9 || // Cc [10] <control-0000>..<control-0009>
11 <= code && code <= 12 || // Cc [2] <control-000B>..<control-000C>
14 <= code && code <= 31 || // Cc [18] <control-000E>..<control-001F>
127 <= code && code <= 159 || // Cc [33] <control-007F>..<control-009F>
173 == code || // Cf SOFT HYPHEN
1564 == code || // Cf ARABIC LETTER MARK
6158 == code || // Cf MONGOLIAN VOWEL SEPARATOR
8203 == code || // Cf ZERO WIDTH SPACE
8206 <= code && code <= 8207 || // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
8232 == code || // Zl LINE SEPARATOR
8233 == code || // Zp PARAGRAPH SEPARATOR
8234 <= code && code <= 8238 || // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
8288 <= code && code <= 8292 || // Cf [5] WORD JOINER..INVISIBLE PLUS
8293 == code || // Cn <reserved-2065>
8294 <= code && code <= 8303 || // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
55296 <= code && code <= 57343 || // Cs [2048] <surrogate-D800>..<surrogate-DFFF>
65279 == code || // Cf ZERO WIDTH NO-BREAK SPACE
65520 <= code && code <= 65528 || // Cn [9] <reserved-FFF0>..<reserved-FFF8>
65529 <= code && code <= 65531 || // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
113824 <= code && code <= 113827 || // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
119155 <= code && code <= 119162 || // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
917504 == code || // Cn <reserved-E0000>
917505 == code || // Cf LANGUAGE TAG
917506 <= code && code <= 917535 || // Cn [30] <reserved-E0002>..<reserved-E001F>
917632 <= code && code <= 917759 || // Cn [128] <reserved-E0080>..<reserved-E00FF>
918e3 <= code && code <= 921599) {
return Control;
}
if (768 <= code && code <= 879 || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
1155 <= code && code <= 1159 || // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
1160 <= code && code <= 1161 || // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
1425 <= code && code <= 1469 || // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
1471 == code || // Mn HEBREW POINT RAFE
1473 <= code && code <= 1474 || // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
1476 <= code && code <= 1477 || // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
1479 == code || // Mn HEBREW POINT QAMATS QATAN
1552 <= code && code <= 1562 || // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
1611 <= code && code <= 1631 || // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
1648 == code || // Mn ARABIC LETTER SUPERSCRIPT ALEF
1750 <= code && code <= 1756 || // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
1759 <= code && code <= 1764 || // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
1767 <= code && code <= 1768 || // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
1770 <= code && code <= 1773 || // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
1809 == code || // Mn SYRIAC LETTER SUPERSCRIPT ALAPH
1840 <= code && code <= 1866 || // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
1958 <= code && code <= 1968 || // Mn [11] THAANA ABAFILI..THAANA SUKUN
2027 <= code && code <= 2035 || // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
2070 <= code && code <= 2073 || // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
2075 <= code && code <= 2083 || // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
2085 <= code && code <= 2087 || // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
2089 <= code && code <= 2093 || // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
2137 <= code && code <= 2139 || // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
2260 <= code && code <= 2273 || // Mn [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
2275 <= code && code <= 2306 || // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
2362 == code || // Mn DEVANAGARI VOWEL SIGN OE
2364 == code || // Mn DEVANAGARI SIGN NUKTA
2369 <= code && code <= 2376 || // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
2381 == code || // Mn DEVANAGARI SIGN VIRAMA
2385 <= code && code <= 2391 || // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
2402 <= code && code <= 2403 || // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
2433 == code || // Mn BENGALI SIGN CANDRABINDU
2492 == code || // Mn BENGALI SIGN NUKTA
2494 == code || // Mc BENGALI VOWEL SIGN AA
2497 <= code && code <= 2500 || // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
2509 == code || // Mn BENGALI SIGN VIRAMA
2519 == code || // Mc BENGALI AU LENGTH MARK
2530 <= code && code <= 2531 || // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
2561 <= code && code <= 2562 || // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
2620 == code || // Mn GURMUKHI SIGN NUKTA
2625 <= code && code <= 2626 || // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
2631 <= code && code <= 2632 || // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
2635 <= code && code <= 2637 || // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
2641 == code || // Mn GURMUKHI SIGN UDAAT
2672 <= code && code <= 2673 || // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
2677 == code || // Mn GURMUKHI SIGN YAKASH
2689 <= code && code <= 2690 || // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
2748 == code || // Mn GUJARATI SIGN NUKTA
2753 <= code && code <= 2757 || // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
2759 <= code && code <= 2760 || // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
2765 == code || // Mn GUJARATI SIGN VIRAMA
2786 <= code && code <= 2787 || // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
2810 <= code && code <= 2815 || // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
2817 == code || // Mn ORIYA SIGN CANDRABINDU
2876 == code || // Mn ORIYA SIGN NUKTA
2878 == code || // Mc ORIYA VOWEL SIGN AA
2879 == code || // Mn ORIYA VOWEL SIGN I
2881 <= code && code <= 2884 || // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
2893 == code || // Mn ORIYA SIGN VIRAMA
2902 == code || // Mn ORIYA AI LENGTH MARK
2903 == code || // Mc ORIYA AU LENGTH MARK
2914 <= code && code <= 2915 || // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
2946 == code || // Mn TAMIL SIGN ANUSVARA
3006 == code || // Mc TAMIL VOWEL SIGN AA
3008 == code || // Mn TAMIL VOWEL SIGN II
3021 == code || // Mn TAMIL SIGN VIRAMA
3031 == code || // Mc TAMIL AU LENGTH MARK
3072 == code || // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE
3134 <= code && code <= 3136 || // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
3142 <= code && code <= 3144 || // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
3146 <= code && code <= 3149 || // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
3157 <= code && code <= 3158 || // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
3170 <= code && code <= 3171 || // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
3201 == code || // Mn KANNADA SIGN CANDRABINDU
3260 == code || // Mn KANNADA SIGN NUKTA
3263 == code || // Mn KANNADA VOWEL SIGN I
3266 == code || // Mc KANNADA VOWEL SIGN UU
3270 == code || // Mn KANNADA VOWEL SIGN E
3276 <= code && code <= 3277 || // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
3285 <= code && code <= 3286 || // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
3298 <= code && code <= 3299 || // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
3328 <= code && code <= 3329 || // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
3387 <= code && code <= 3388 || // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
3390 == code || // Mc MALAYALAM VOWEL SIGN AA
3393 <= code && code <= 3396 || // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
3405 == code || // Mn MALAYALAM SIGN VIRAMA
3415 == code || // Mc MALAYALAM AU LENGTH MARK
3426 <= code && code <= 3427 || // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
3530 == code || // Mn SINHALA SIGN AL-LAKUNA
3535 == code || // Mc SINHALA VOWEL SIGN AELA-PILLA
3538 <= code && code <= 3540 || // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
3542 == code || // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
3551 == code || // Mc SINHALA VOWEL SIGN GAYANUKITTA
3633 == code || // Mn THAI CHARACTER MAI HAN-AKAT
3636 <= code && code <= 3642 || // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
3655 <= code && code <= 3662 || // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
3761 == code || // Mn LAO VOWEL SIGN MAI KAN
3764 <= code && code <= 3769 || // Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
3771 <= code && code <= 3772 || // Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
3784 <= code && code <= 3789 || // Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
3864 <= code && code <= 3865 || // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
3893 == code || // Mn TIBETAN MARK NGAS BZUNG NYI ZLA
3895 == code || // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
3897 == code || // Mn TIBETAN MARK TSA -PHRU
3953 <= code && code <= 3966 || // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
3968 <= code && code <= 3972 || // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
3974 <= code && code <= 3975 || // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
3981 <= code && code <= 3991 || // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
3993 <= code && code <= 4028 || // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
4038 == code || // Mn TIBETAN SYMBOL PADMA GDAN
4141 <= code && code <= 4144 || // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
4146 <= code && code <= 4151 || // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
4153 <= code && code <= 4154 || // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
4157 <= code && code <= 4158 || // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
4184 <= code && code <= 4185 || // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
4190 <= code && code <= 4192 || // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
4209 <= code && code <= 4212 || // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
4226 == code || // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
4229 <= code && code <= 4230 || // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
4237 == code || // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
4253 == code || // Mn MYANMAR VOWEL SIGN AITON AI
4957 <= code && code <= 4959 || // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
5906 <= code && code <= 5908 || // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
5938 <= code && code <= 5940 || // Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
5970 <= code && code <= 5971 || // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
6002 <= code && code <= 6003 || // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
6068 <= code && code <= 6069 || // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
6071 <= code && code <= 6077 || // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
6086 == code || // Mn KHMER SIGN NIKAHIT
6089 <= code && code <= 6099 || // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
6109 == code || // Mn KHMER SIGN ATTHACAN
6155 <= code && code <= 6157 || // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
6277 <= code && code <= 6278 || // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
6313 == code || // Mn MONGOLIAN LETTER ALI GALI DAGALGA
6432 <= code && code <= 6434 || // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
6439 <= code && code <= 6440 || // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
6450 == code || // Mn LIMBU SMALL LETTER ANUSVARA
6457 <= code && code <= 6459 || // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
6679 <= code && code <= 6680 || // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
6683 == code || // Mn BUGINESE VOWEL SIGN AE
6742 == code || // Mn TAI THAM CONSONANT SIGN MEDIAL LA
6744 <= code && code <= 6750 || // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
6752 == code || // Mn TAI THAM SIGN SAKOT
6754 == code || // Mn TAI THAM VOWEL SIGN MAI SAT
6757 <= code && code <= 6764 || // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
6771 <= code && code <= 6780 || // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
6783 == code || // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
6832 <= code && code <= 6845 || // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
6846 == code || // Me COMBINING PARENTHESES OVERLAY
6912 <= code && code <= 6915 || // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
6964 == code || // Mn BALINESE SIGN REREKAN
6966 <= code && code <= 6970 || // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
6972 == code || // Mn BALINESE VOWEL SIGN LA LENGA
6978 == code || // Mn BALINESE VOWEL SIGN PEPET
7019 <= code && code <= 7027 || // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
7040 <= code && code <= 7041 || // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
7074 <= code && code <= 7077 || // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
7080 <= code && code <= 7081 || // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
7083 <= code && code <= 7085 || // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
7142 == code || // Mn BATAK SIGN TOMPI
7144 <= code && code <= 7145 || // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
7149 == code || // Mn BATAK VOWEL SIGN KARO O
7151 <= code && code <= 7153 || // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
7212 <= code && code <= 7219 || // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
7222 <= code && code <= 7223 || // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
7376 <= code && code <= 7378 || // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
7380 <= code && code <= 7392 || // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
7394 <= code && code <= 7400 || // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
7405 == code || // Mn VEDIC SIGN TIRYAK
7412 == code || // Mn VEDIC TONE CANDRA ABOVE
7416 <= code && code <= 7417 || // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
7616 <= code && code <= 7673 || // Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
7675 <= code && code <= 7679 || // Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
8204 == code || // Cf ZERO WIDTH NON-JOINER
8400 <= code && code <= 8412 || // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
8413 <= code && code <= 8416 || // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
8417 == code || // Mn COMBINING LEFT RIGHT ARROW ABOVE
8418 <= code && code <= 8420 || // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
8421 <= code && code <= 8432 || // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
11503 <= code && code <= 11505 || // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
11647 == code || // Mn TIFINAGH CONSONANT JOINER
11744 <= code && code <= 11775 || // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
12330 <= code && code <= 12333 || // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
12334 <= code && code <= 12335 || // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
12441 <= code && code <= 12442 || // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
42607 == code || // Mn COMBINING CYRILLIC VZMET
42608 <= code && code <= 42610 || // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
42612 <= code && code <= 42621 || // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
42654 <= code && code <= 42655 || // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
42736 <= code && code <= 42737 || // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
43010 == code || // Mn SYLOTI NAGRI SIGN DVISVARA
43014 == code || // Mn SYLOTI NAGRI SIGN HASANTA
43019 == code || // Mn SYLOTI NAGRI SIGN ANUSVARA
43045 <= code && code <= 43046 || // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
43204 <= code && code <= 43205 || // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
43232 <= code && code <= 43249 || // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
43302 <= code && code <= 43309 || // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
43335 <= code && code <= 43345 || // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
43392 <= code && code <= 43394 || // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
43443 == code || // Mn JAVANESE SIGN CECAK TELU
43446 <= code && code <= 43449 || // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
43452 == code || // Mn JAVANESE VOWEL SIGN PEPET
43493 == code || // Mn MYANMAR SIGN SHAN SAW
43561 <= code && code <= 43566 || // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
43569 <= code && code <= 43570 || // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
43573 <= code && code <= 43574 || // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
43587 == code || // Mn CHAM CONSONANT SIGN FINAL NG
43596 == code || // Mn CHAM CONSONANT SIGN FINAL M
43644 == code || // Mn MYANMAR SIGN TAI LAING TONE-2
43696 == code || // Mn TAI VIET MAI KANG
43698 <= code && code <= 43700 || // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
43703 <= code && code <= 43704 || // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
43710 <= code && code <= 43711 || // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
43713 == code || // Mn TAI VIET TONE MAI THO
43756 <= code && code <= 43757 || // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
43766 == code || // Mn MEETEI MAYEK VIRAMA
44005 == code || // Mn MEETEI MAYEK VOWEL SIGN ANAP
44008 == code || // Mn MEETEI MAYEK VOWEL SIGN UNAP
44013 == code || // Mn MEETEI MAYEK APUN IYEK
64286 == code || // Mn HEBREW POINT JUDEO-SPANISH VARIKA
65024 <= code && code <= 65039 || // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
65056 <= code && code <= 65071 || // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
65438 <= code && code <= 65439 || // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
66045 == code || // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
66272 == code || // Mn COPTIC EPACT THOUSANDS MARK
66422 <= code && code <= 66426 || // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
68097 <= code && code <= 68099 || // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
68101 <= code && code <= 68102 || // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
68108 <= code && code <= 68111 || // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
68152 <= code && code <= 68154 || // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
68159 == code || // Mn KHAROSHTHI VIRAMA
68325 <= code && code <= 68326 || // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
69633 == code || // Mn BRAHMI SIGN ANUSVARA
69688 <= code && code <= 69702 || // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
69759 <= code && code <= 69761 || // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
69811 <= code && code <= 69814 || // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
69817 <= code && code <= 69818 || // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
69888 <= code && code <= 69890 || // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
69927 <= code && code <= 69931 || // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
69933 <= code && code <= 69940 || // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
70003 == code || // Mn MAHAJANI SIGN NUKTA
70016 <= code && code <= 70017 || // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
70070 <= code && code <= 70078 || // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
70090 <= code && code <= 70092 || // Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
70191 <= code && code <= 70193 || // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
70196 == code || // Mn KHOJKI SIGN ANUSVARA
70198 <= code && code <= 70199 || // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
70206 == code || // Mn KHOJKI SIGN SUKUN
70367 == code || // Mn KHUDAWADI SIGN ANUSVARA
70371 <= code && code <= 70378 || // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
70400 <= code && code <= 70401 || // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
70460 == code || // Mn GRANTHA SIGN NUKTA
70462 == code || // Mc GRANTHA VOWEL SIGN AA
70464 == code || // Mn GRANTHA VOWEL SIGN II
70487 == code || // Mc GRANTHA AU LENGTH MARK
70502 <= code && code <= 70508 || // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
70512 <= code && code <= 70516 || // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
70712 <= code && code <= 70719 || // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
70722 <= code && code <= 70724 || // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
70726 == code || // Mn NEWA SIGN NUKTA
70832 == code || // Mc TIRHUTA VOWEL SIGN AA
70835 <= code && code <= 70840 || // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
70842 == code || // Mn TIRHUTA VOWEL SIGN SHORT E
70845 == code || // Mc TIRHUTA VOWEL SIGN SHORT O
70847 <= code && code <= 70848 || // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
70850 <= code && code <= 70851 || // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
71087 == code || // Mc SIDDHAM VOWEL SIGN AA
71090 <= code && code <= 71093 || // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
71100 <= code && code <= 71101 || // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
71103 <= code && code <= 71104 || // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
71132 <= code && code <= 71133 || // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
71219 <= code && code <= 71226 || // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
71229 == code || // Mn MODI SIGN ANUSVARA
71231 <= code && code <= 71232 || // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
71339 == code || // Mn TAKRI SIGN ANUSVARA
71341 == code || // Mn TAKRI VOWEL SIGN AA
71344 <= code && code <= 71349 || // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
71351 == code || // Mn TAKRI SIGN NUKTA
71453 <= code && code <= 71455 || // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
71458 <= code && code <= 71461 || // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
71463 <= code && code <= 71467 || // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
72193 <= code && code <= 72198 || // Mn [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
72201 <= code && code <= 72202 || // Mn [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
72243 <= code && code <= 72248 || // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
72251 <= code && code <= 72254 || // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
72263 == code || // Mn ZANABAZAR SQUARE SUBJOINER
72273 <= code && code <= 72278 || // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
72281 <= code && code <= 72283 || // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
72330 <= code && code <= 72342 || // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
72344 <= code && code <= 72345 || // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
72752 <= code && code <= 72758 || // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
72760 <= code && code <= 72765 || // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
72767 == code || // Mn BHAIKSUKI SIGN VIRAMA
72850 <= code && code <= 72871 || // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
72874 <= code && code <= 72880 || // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
72882 <= code && code <= 72883 || // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
72885 <= code && code <= 72886 || // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
73009 <= code && code <= 73014 || // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
73018 == code || // Mn MASARAM GONDI VOWEL SIGN E
73020 <= code && code <= 73021 || // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
73023 <= code && code <= 73029 || // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
73031 == code || // Mn MASARAM GONDI RA-KARA
92912 <= code && code <= 92916 || // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
92976 <= code && code <= 92982 || // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
94095 <= code && code <= 94098 || // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW
113821 <= code && code <= 113822 || // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
119141 == code || // Mc MUSICAL SYMBOL COMBINING STEM
119143 <= code && code <= 119145 || // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
119150 <= code && code <= 119154 || // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
119163 <= code && code <= 119170 || // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
119173 <= code && code <= 119179 || // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
119210 <= code && code <= 119213 || // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
119362 <= code && code <= 119364 || // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
121344 <= code && code <= 121398 || // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
121403 <= code && code <= 121452 || // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
121461 == code || // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
121476 == code || // Mn SIGNWRITING LOCATION HEAD NECK
121499 <= code && code <= 121503 || // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
121505 <= code && code <= 121519 || // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
122880 <= code && code <= 122886 || // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
122888 <= code && code <= 122904 || // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
122907 <= code && code <= 122913 || // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
122915 <= code && code <= 122916 || // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
122918 <= code && code <= 122922 || // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
125136 <= code && code <= 125142 || // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
125252 <= code && code <= 125258 || // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
917536 <= code && code <= 917631 || // Cf [96] TAG SPACE..CANCEL TAG
917760 <= code && code <= 917999) {
return Extend;
}
if (127462 <= code && code <= 127487) {
return Regional_Indicator;
}
if (2307 == code || // Mc DEVANAGARI SIGN VISARGA
2363 == code || // Mc DEVANAGARI VOWEL SIGN OOE
2366 <= code && code <= 2368 || // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
2377 <= code && code <= 2380 || // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
2382 <= code && code <= 2383 || // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
2434 <= code && code <= 2435 || // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
2495 <= code && code <= 2496 || // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
2503 <= code && code <= 2504 || // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
2507 <= code && code <= 2508 || // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
2563 == code || // Mc GURMUKHI SIGN VISARGA
2622 <= code && code <= 2624 || // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
2691 == code || // Mc GUJARATI SIGN VISARGA
2750 <= code && code <= 2752 || // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
2761 == code || // Mc GUJARATI VOWEL SIGN CANDRA O
2763 <= code && code <= 2764 || // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
2818 <= code && code <= 2819 || // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
2880 == code || // Mc ORIYA VOWEL SIGN II
2887 <= code && code <= 2888 || // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
2891 <= code && code <= 2892 || // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
3007 == code || // Mc TAMIL VOWEL SIGN I
3009 <= code && code <= 3010 || // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
3014 <= code && code <= 3016 || // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
3018 <= code && code <= 3020 || // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
3073 <= code && code <= 3075 || // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
3137 <= code && code <= 3140 || // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
3202 <= code && code <= 3203 || // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
3262 == code || // Mc KANNADA VOWEL SIGN AA
3264 <= code && code <= 3265 || // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
3267 <= code && code <= 3268 || // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
3271 <= code && code <= 3272 || // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
3274 <= code && code <= 3275 || // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
3330 <= code && code <= 3331 || // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
3391 <= code && code <= 3392 || // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
3398 <= code && code <= 3400 || // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
3402 <= code && code <= 3404 || // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
3458 <= code && code <= 3459 || // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
3536 <= code && code <= 3537 || // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
3544 <= code && code <= 3550 || // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
3570 <= code && code <= 3571 || // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
3635 == code || // Lo THAI CHARACTER SARA AM
3763 == code || // Lo LAO VOWEL SIGN AM
3902 <= code && code <= 3903 || // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
3967 == code || // Mc TIBETAN SIGN RNAM BCAD
4145 == code || // Mc MYANMAR VOWEL SIGN E
4155 <= code && code <= 4156 || // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
4182 <= code && code <= 4183 || // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
4228 == code || // Mc MYANMAR VOWEL SIGN SHAN E
6070 == code || // Mc KHMER VOWEL SIGN AA
6078 <= code && code <= 6085 || // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
6087 <= code && code <= 6088 || // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
6435 <= code && code <= 6438 || // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
6441 <= code && code <= 6443 || // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
6448 <= code && code <= 6449 || // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
6451 <= code && code <= 6456 || // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
6681 <= code && code <= 6682 || // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
6741 == code || // Mc TAI THAM CONSONANT SIGN MEDIAL RA
6743 == code || // Mc TAI THAM CONSONANT SIGN LA TANG LAI
6765 <= code && code <= 6770 || // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
6916 == code || // Mc BALINESE SIGN BISAH
6965 == code || // Mc BALINESE VOWEL SIGN TEDUNG
6971 == code || // Mc BALINESE VOWEL SIGN RA REPA TEDUNG
6973 <= code && code <= 6977 || // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
6979 <= code && code <= 6980 || // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
7042 == code || // Mc SUNDANESE SIGN PANGWISAD
7073 == code || // Mc SUNDANESE CONSONANT SIGN PAMINGKAL
7078 <= code && code <= 7079 || // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
7082 == code || // Mc SUNDANESE SIGN PAMAAEH
7143 == code || // Mc BATAK VOWEL SIGN E
7146 <= code && code <= 7148 || // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
7150 == code || // Mc BATAK VOWEL SIGN U
7154 <= code && code <= 7155 || // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN
7204 <= code && code <= 7211 || // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
7220 <= code && code <= 7221 || // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
7393 == code || // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
7410 <= code && code <= 7411 || // Mc [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
7415 == code || // Mc VEDIC SIGN ATIKRAMA
43043 <= code && code <= 43044 || // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
43047 == code || // Mc SYLOTI NAGRI VOWEL SIGN OO
43136 <= code && code <= 43137 || // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
43188 <= code && code <= 43203 || // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
43346 <= code && code <= 43347 || // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
43395 == code || // Mc JAVANESE SIGN WIGNYAN
43444 <= code && code <= 43445 || // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
43450 <= code && code <= 43451 || // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
43453 <= code && code <= 43456 || // Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
43567 <= code && code <= 43568 || // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
43571 <= code && code <= 43572 || // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
43597 == code || // Mc CHAM CONSONANT SIGN FINAL H
43755 == code || // Mc MEETEI MAYEK VOWEL SIGN II
43758 <= code && code <= 43759 || // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
43765 == code || // Mc MEETEI MAYEK VOWEL SIGN VISARGA
44003 <= code && code <= 44004 || // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
44006 <= code && code <= 44007 || // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
44009 <= code && code <= 44010 || // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
44012 == code || // Mc MEETEI MAYEK LUM IYEK
69632 == code || // Mc BRAHMI SIGN CANDRABINDU
69634 == code || // Mc BRAHMI SIGN VISARGA
69762 == code || // Mc KAITHI SIGN VISARGA
69808 <= code && code <= 69810 || // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
69815 <= code && code <= 69816 || // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
69932 == code || // Mc CHAKMA VOWEL SIGN E
70018 == code || // Mc SHARADA SIGN VISARGA
70067 <= code && code <= 70069 || // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
70079 <= code && code <= 70080 || // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
70188 <= code && code <= 70190 || // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
70194 <= code && code <= 70195 || // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
70197 == code || // Mc KHOJKI SIGN VIRAMA
70368 <= code && code <= 70370 || // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
70402 <= code && code <= 70403 || // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
70463 == code || // Mc GRANTHA VOWEL SIGN I
70465 <= code && code <= 70468 || // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
70471 <= code && code <= 70472 || // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
70475 <= code && code <= 70477 || // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
70498 <= code && code <= 70499 || // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
70709 <= code && code <= 70711 || // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
70720 <= code && code <= 70721 || // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
70725 == code || // Mc NEWA SIGN VISARGA
70833 <= code && code <= 70834 || // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
70841 == code || // Mc TIRHUTA VOWEL SIGN E
70843 <= code && code <= 70844 || // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
70846 == code || // Mc TIRHUTA VOWEL SIGN AU
70849 == code || // Mc TIRHUTA SIGN VISARGA
71088 <= code && code <= 71089 || // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
71096 <= code && code <= 71099 || // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
71102 == code || // Mc SIDDHAM SIGN VISARGA
71216 <= code && code <= 71218 || // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
71227 <= code && code <= 71228 || // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
71230 == code || // Mc MODI SIGN VISARGA
71340 == code || // Mc TAKRI SIGN VISARGA
71342 <= code && code <= 71343 || // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
71350 == code || // Mc TAKRI SIGN VIRAMA
71456 <= code && code <= 71457 || // Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
71462 == code || // Mc AHOM VOWEL SIGN E
72199 <= code && code <= 72200 || // Mc [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
72249 == code || // Mc ZANABAZAR SQUARE SIGN VISARGA
72279 <= code && code <= 72280 || // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
72343 == code || // Mc SOYOMBO SIGN VISARGA
72751 == code || // Mc BHAIKSUKI VOWEL SIGN AA
72766 == code || // Mc BHAIKSUKI SIGN VISARGA
72873 == code || // Mc MARCHEN SUBJOINED LETTER YA
72881 == code || // Mc MARCHEN VOWEL SIGN I
72884 == code || // Mc MARCHEN VOWEL SIGN O
94033 <= code && code <= 94078 || // Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
119142 == code || // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
119149 == code) {
return SpacingMark;
}
if (4352 <= code && code <= 4447 || // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
43360 <= code && code <= 43388) {
return L3;
}
if (4448 <= code && code <= 4519 || // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
55216 <= code && code <= 55238) {
return V;
}
if (4520 <= code && code <= 4607 || // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
55243 <= code && code <= 55291) {
return T2;
}
if (44032 == code || // Lo HANGUL SYLLABLE GA
44060 == code || // Lo HANGUL SYLLABLE GAE
44088 == code || // Lo HANGUL SYLLABLE GYA
44116 == code || // Lo HANGUL SYLLABLE GYAE
44144 == code || // Lo HANGUL SYLLABLE GEO
44172 == code || // Lo HANGUL SYLLABLE GE
44200 == code || // Lo HANGUL SYLLABLE GYEO
44228 == code || // Lo HANGUL SYLLABLE GYE
44256 == code || // Lo HANGUL SYLLABLE GO
44284 == code || // Lo HANGUL SYLLABLE GWA
44312 == code || // Lo HANGUL SYLLABLE GWAE
44340 == code || // Lo HANGUL SYLLABLE GOE
44368 == code || // Lo HANGUL SYLLABLE GYO
44396 == code || // Lo HANGUL SYLLABLE GU
44424 == code || // Lo HANGUL SYLLABLE GWEO
44452 == code || // Lo HANGUL SYLLABLE GWE
44480 == code || // Lo HANGUL SYLLABLE GWI
44508 == code || // Lo HANGUL SYLLABLE GYU
44536 == code || // Lo HANGUL SYLLABLE GEU
44564 == code || // Lo HANGUL SYLLABLE GYI
44592 == code || // Lo HANGUL SYLLABLE GI
44620 == code || // Lo HANGUL SYLLABLE GGA
44648 == code || // Lo HANGUL SYLLABLE GGAE
44676 == code || // Lo HANGUL SYLLABLE GGYA
44704 == code || // Lo HANGUL SYLLABLE GGYAE
44732 == code || // Lo HANGUL SYLLABLE GGEO
44760 == code || // Lo HANGUL SYLLABLE GGE
44788 == code || // Lo HANGUL SYLLABLE GGYEO
44816 == code || // Lo HANGUL SYLLABLE GGYE
44844 == code || // Lo HANGUL SYLLABLE GGO
44872 == code || // Lo HANGUL SYLLABLE GGWA
44900 == code || // Lo HANGUL SYLLABLE GGWAE
44928 == code || // Lo HANGUL SYLLABLE GGOE
44956 == code || // Lo HANGUL SYLLABLE GGYO
44984 == code || // Lo HANGUL SYLLABLE GGU
45012 == code || // Lo HANGUL SYLLABLE GGWEO
45040 == code || // Lo HANGUL SYLLABLE GGWE
45068 == code || // Lo HANGUL SYLLABLE GGWI
45096 == code || // Lo HANGUL SYLLABLE GGYU
45124 == code || // Lo HANGUL SYLLABLE GGEU
45152 == code || // Lo HANGUL SYLLABLE GGYI
45180 == code || // Lo HANGUL SYLLABLE GGI
45208 == code || // Lo HANGUL SYLLABLE NA
45236 == code || // Lo HANGUL SYLLABLE NAE
45264 == code || // Lo HANGUL SYLLABLE NYA
45292 == code || // Lo HANGUL SYLLABLE NYAE
45320 == code || // Lo HANGUL SYLLABLE NEO
45348 == code || // Lo HANGUL SYLLABLE NE
45376 == code || // Lo HANGUL SYLLABLE NYEO
45404 == code || // Lo HANGUL SYLLABLE NYE
45432 == code || // Lo HANGUL SYLLABLE NO
45460 == code || // Lo HANGUL SYLLABLE NWA
45488 == code || // Lo HANGUL SYLLABLE NWAE
45516 == code || // Lo HANGUL SYLLABLE NOE
45544 == code || // Lo HANGUL SYLLABLE NYO
45572 == code || // Lo HANGUL SYLLABLE NU
45600 == code || // Lo HANGUL SYLLABLE NWEO
45628 == code || // Lo HANGUL SYLLABLE NWE
45656 == code || // Lo HANGUL SYLLABLE NWI
45684 == code || // Lo HANGUL SYLLABLE NYU
45712 == code || // Lo HANGUL SYLLABLE NEU
45740 == code || // Lo HANGUL SYLLABLE NYI
45768 == code || // Lo HANGUL SYLLABLE NI
45796 == code || // Lo HANGUL SYLLABLE DA
45824 == code || // Lo HANGUL SYLLABLE DAE
45852 == code || // Lo HANGUL SYLLABLE DYA
45880 == code || // Lo HANGUL SYLLABLE DYAE
45908 == code || // Lo HANGUL SYLLABLE DEO
45936 == code || // Lo HANGUL SYLLABLE DE
45964 == code || // Lo HANGUL SYLLABLE DYEO
45992 == code || // Lo HANGUL SYLLABLE DYE
46020 == code || // Lo HANGUL SYLLABLE DO
46048 == code || // Lo HANGUL SYLLABLE DWA
46076 == code || // Lo HANGUL SYLLABLE DWAE
46104 == code || // Lo HANGUL SYLLABLE DOE
46132 == code || // Lo HANGUL SYLLABLE DYO
46160 == code || // Lo HANGUL SYLLABLE DU
46188 == code || // Lo HANGUL SYLLABLE DWEO
46216 == code || // Lo HANGUL SYLLABLE DWE
46244 == code || // Lo HANGUL SYLLABLE DWI
46272 == code || // Lo HANGUL SYLLABLE DYU
46300 == code || // Lo HANGUL SYLLABLE DEU
46328 == code || // Lo HANGUL SYLLABLE DYI
46356 == code || // Lo HANGUL SYLLABLE DI
46384 == code || // Lo HANGUL SYLLABLE DDA
46412 == code || // Lo HANGUL SYLLABLE DDAE
46440 == code || // Lo HANGUL SYLLABLE DDYA
46468 == code || // Lo HANGUL SYLLABLE DDYAE
46496 == code || // Lo HANGUL SYLLABLE DDEO
46524 == code || // Lo HANGUL SYLLABLE DDE
46552 == code || // Lo HANGUL SYLLABLE DDYEO
46580 == code || // Lo HANGUL SYLLABLE DDYE
46608 == code || // Lo HANGUL SYLLABLE DDO
46636 == code || // Lo HANGUL SYLLABLE DDWA
46664 == code || // Lo HANGUL SYLLABLE DDWAE
46692 == code || // Lo HANGUL SYLLABLE DDOE
46720 == code || // Lo HANGUL SYLLABLE DDYO
46748 == code || // Lo HANGUL SYLLABLE DDU
46776 == code || // Lo HANGUL SYLLABLE DDWEO
46804 == code || // Lo HANGUL SYLLABLE DDWE
46832 == code || // Lo HANGUL SYLLABLE DDWI
46860 == code || // Lo HANGUL SYLLABLE DDYU
46888 == code || // Lo HANGUL SYLLABLE DDEU
46916 == code || // Lo HANGUL SYLLABLE DDYI
46944 == code || // Lo HANGUL SYLLABLE DDI
46972 == code || // Lo HANGUL SYLLABLE RA
47e3 == code || // Lo HANGUL SYLLABLE RAE
47028 == code || // Lo HANGUL SYLLABLE RYA
47056 == code || // Lo HANGUL SYLLABLE RYAE
47084 == code || // Lo HANGUL SYLLABLE REO
47112 == code || // Lo HANGUL SYLLABLE RE
47140 == code || // Lo HANGUL SYLLABLE RYEO
47168 == code || // Lo HANGUL SYLLABLE RYE
47196 == code || // Lo HANGUL SYLLABLE RO
47224 == code || // Lo HANGUL SYLLABLE RWA
47252 == code || // Lo HANGUL SYLLABLE RWAE
47280 == code || // Lo HANGUL SYLLABLE ROE
47308 == code || // Lo HANGUL SYLLABLE RYO
47336 == code || // Lo HANGUL SYLLABLE RU
47364 == code || // Lo HANGUL SYLLABLE RWEO
47392 == code || // Lo HANGUL SYLLABLE RWE
47420 == code || // Lo HANGUL SYLLABLE RWI
47448 == code || // Lo HANGUL SYLLABLE RYU
47476 == code || // Lo HANGUL SYLLABLE REU
47504 == code || // Lo HANGUL SYLLABLE RYI
47532 == code || // Lo HANGUL SYLLABLE RI
47560 == code || // Lo HANGUL SYLLABLE MA
47588 == code || // Lo HANGUL SYLLABLE MAE
47616 == code || // Lo HANGUL SYLLABLE MYA
47644 == code || // Lo HANGUL SYLLABLE MYAE
47672 == code || // Lo HANGUL SYLLABLE MEO
47700 == code || // Lo HANGUL SYLLABLE ME
47728 == code || // Lo HANGUL SYLLABLE MYEO
47756 == code || // Lo HANGUL SYLLABLE MYE
47784 == code || // Lo HANGUL SYLLABLE MO
47812 == code || // Lo HANGUL SYLLABLE MWA
47840 == code || // Lo HANGUL SYLLABLE MWAE
47868 == code || // Lo HANGUL SYLLABLE MOE
47896 == code || // Lo HANGUL SYLLABLE MYO
47924 == code || // Lo HANGUL SYLLABLE MU
47952 == code || // Lo HANGUL SYLLABLE MWEO
47980 == code || // Lo HANGUL SYLLABLE MWE
48008 == code || // Lo HANGUL SYLLABLE MWI
48036 == code || // Lo HANGUL SYLLABLE MYU
48064 == code || // Lo HANGUL SYLLABLE MEU
48092 == code || // Lo HANGUL SYLLABLE MYI
48120 == code || // Lo HANGUL SYLLABLE MI
48148 == code || // Lo HANGUL SYLLABLE BA
48176 == code || // Lo HANGUL SYLLABLE BAE
48204 == code || // Lo HANGUL SYLLABLE BYA
48232 == code || // Lo HANGUL SYLLABLE BYAE
48260 == code || // Lo HANGUL SYLLABLE BEO
48288 == code || // Lo HANGUL SYLLABLE BE
48316 == code || // Lo HANGUL SYLLABLE BYEO
48344 == code || // Lo HANGUL SYLLABLE BYE
48372 == code || // Lo HANGUL SYLLABLE BO
48400 == code || // Lo HANGUL SYLLABLE BWA
48428 == code || // Lo HANGUL SYLLABLE BWAE
48456 == code || // Lo HANGUL SYLLABLE BOE
48484 == code || // Lo HANGUL SYLLABLE BYO
48512 == code || // Lo HANGUL SYLLABLE BU
48540 == code || // Lo HANGUL SYLLABLE BWEO
48568 == code || // Lo HANGUL SYLLABLE BWE
48596 == code || // Lo HANGUL SYLLABLE BWI
48624 == code || // Lo HANGUL SYLLABLE BYU
48652 == code || // Lo HANGUL SYLLABLE BEU
48680 == code || // Lo HANGUL SYLLABLE BYI
48708 == code || // Lo HANGUL SYLLABLE BI
48736 == code || // Lo HANGUL SYLLABLE BBA
48764 == code || // Lo HANGUL SYLLABLE BBAE
48792 == code || // Lo HANGUL SYLLABLE BBYA
48820 == code || // Lo HANGUL SYLLABLE BBYAE
48848 == code || // Lo HANGUL SYLLABLE BBEO
48876 == code || // Lo HANGUL SYLLABLE BBE
48904 == code || // Lo HANGUL SYLLABLE BBYEO
48932 == code || // Lo HANGUL SYLLABLE BBYE
48960 == code || // Lo HANGUL SYLLABLE BBO
48988 == code || // Lo HANGUL SYLLABLE BBWA
49016 == code || // Lo HANGUL SYLLABLE BBWAE
49044 == code || // Lo HANGUL SYLLABLE BBOE
49072 == code || // Lo HANGUL SYLLABLE BBYO
49100 == code || // Lo HANGUL SYLLABLE BBU
49128 == code || // Lo HANGUL SYLLABLE BBWEO
49156 == code || // Lo HANGUL SYLLABLE BBWE
49184 == code || // Lo HANGUL SYLLABLE BBWI
49212 == code || // Lo HANGUL SYLLABLE BBYU
49240 == code || // Lo HANGUL SYLLABLE BBEU
49268 == code || // Lo HANGUL SYLLABLE BBYI
49296 == code || // Lo HANGUL SYLLABLE BBI
49324 == code || // Lo HANGUL SYLLABLE SA
49352 == code || // Lo HANGUL SYLLABLE SAE
49380 == code || // Lo HANGUL SYLLABLE SYA
49408 == code || // Lo HANGUL SYLLABLE SYAE
49436 == code || // Lo HANGUL SYLLABLE SEO
49464 == code || // Lo HANGUL SYLLABLE SE
49492 == code || // Lo HANGUL SYLLABLE SYEO
49520 == code || // Lo HANGUL SYLLABLE SYE
49548 == code || // Lo HANGUL SYLLABLE SO
49576 == code || // Lo HANGUL SYLLABLE SWA
49604 == code || // Lo HANGUL SYLLABLE SWAE
49632 == code || // Lo HANGUL SYLLABLE SOE
49660 == code || // Lo HANGUL SYLLABLE SYO
49688 == code || // Lo HANGUL SYLLABLE SU
49716 == code || // Lo HANGUL SYLLABLE SWEO
49744 == code || // Lo HANGUL SYLLABLE SWE
49772 == code || // Lo HANGUL SYLLABLE SWI
49800 == code || // Lo HANGUL SYLLABLE SYU
49828 == code || // Lo HANGUL SYLLABLE SEU
49856 == code || // Lo HANGUL SYLLABLE SYI
49884 == code || // Lo HANGUL SYLLABLE SI
49912 == code || // Lo HANGUL SYLLABLE SSA
49940 == code || // Lo HANGUL SYLLABLE SSAE
49968 == code || // Lo HANGUL SYLLABLE SSYA
49996 == code || // Lo HANGUL SYLLABLE SSYAE
50024 == code || // Lo HANGUL SYLLABLE SSEO
50052 == code || // Lo HANGUL SYLLABLE SSE
50080 == code || // Lo HANGUL SYLLABLE SSYEO
50108 == code || // Lo HANGUL SYLLABLE SSYE
50136 == code || // Lo HANGUL SYLLABLE SSO
50164 == code || // Lo HANGUL SYLLABLE SSWA
50192 == code || // Lo HANGUL SYLLABLE SSWAE
50220 == code || // Lo HANGUL SYLLABLE SSOE
50248 == code || // Lo HANGUL SYLLABLE SSYO
50276 == code || // Lo HANGUL SYLLABLE SSU
50304 == code || // Lo HANGUL SYLLABLE SSWEO
50332 == code || // Lo HANGUL SYLLABLE SSWE
50360 == code || // Lo HANGUL SYLLABLE SSWI
50388 == code || // Lo HANGUL SYLLABLE SSYU
50416 == code || // Lo HANGUL SYLLABLE SSEU
50444 == code || // Lo HANGUL SYLLABLE SSYI
50472 == code || // Lo HANGUL SYLLABLE SSI
50500 == code || // Lo HANGUL SYLLABLE A
50528 == code || // Lo HANGUL SYLLABLE AE
50556 == code || // Lo HANGUL SYLLABLE YA
50584 == code || // Lo HANGUL SYLLABLE YAE
50612 == code || // Lo HANGUL SYLLABLE EO
50640 == code || // Lo HANGUL SYLLABLE E
50668 == code || // Lo HANGUL SYLLABLE YEO
50696 == code || // Lo HANGUL SYLLABLE YE
50724 == code || // Lo HANGUL SYLLABLE O
50752 == code || // Lo HANGUL SYLLABLE WA
50780 == code || // Lo HANGUL SYLLABLE WAE
50808 == code || // Lo HANGUL SYLLABLE OE
50836 == code || // Lo HANGUL SYLLABLE YO
50864 == code || // Lo HANGUL SYLLABLE U
50892 == code || // Lo HANGUL SYLLABLE WEO
50920 == code || // Lo HANGUL SYLLABLE WE
50948 == code || // Lo HANGUL SYLLABLE WI
50976 == code || // Lo HANGUL SYLLABLE YU
51004 == code || // Lo HANGUL SYLLABLE EU
51032 == code || // Lo HANGUL SYLLABLE YI
51060 == code || // Lo HANGUL SYLLABLE I
51088 == code || // Lo HANGUL SYLLABLE JA
51116 == code || // Lo HANGUL SYLLABLE JAE
51144 == code || // Lo HANGUL SYLLABLE JYA
51172 == code || // Lo HANGUL SYLLABLE JYAE
51200 == code || // Lo HANGUL SYLLABLE JEO
51228 == code || // Lo HANGUL SYLLABLE JE
51256 == code || // Lo HANGUL SYLLABLE JYEO
51284 == code || // Lo HANGUL SYLLABLE JYE
51312 == code || // Lo HANGUL SYLLABLE JO
51340 == code || // Lo HANGUL SYLLABLE JWA
51368 == code || // Lo HANGUL SYLLABLE JWAE
51396 == code || // Lo HANGUL SYLLABLE JOE
51424 == code || // Lo HANGUL SYLLABLE JYO
51452 == code || // Lo HANGUL SYLLABLE JU
51480 == code || // Lo HANGUL SYLLABLE JWEO
51508 == code || // Lo HANGUL SYLLABLE JWE
51536 == code || // Lo HANGUL SYLLABLE JWI
51564 == code || // Lo HANGUL SYLLABLE JYU
51592 == code || // Lo HANGUL SYLLABLE JEU
51620 == code || // Lo HANGUL SYLLABLE JYI
51648 == code || // Lo HANGUL SYLLABLE JI
51676 == code || // Lo HANGUL SYLLABLE JJA
51704 == code || // Lo HANGUL SYLLABLE JJAE
51732 == code || // Lo HANGUL SYLLABLE JJYA
51760 == code || // Lo HANGUL SYLLABLE JJYAE
51788 == code || // Lo HANGUL SYLLABLE JJEO
51816 == code || // Lo HANGUL SYLLABLE JJE
51844 == code || // Lo HANGUL SYLLABLE JJYEO
51872 == code || // Lo HANGUL SYLLABLE JJYE
51900 == code || // Lo HANGUL SYLLABLE JJO
51928 == code || // Lo HANGUL SYLLABLE JJWA
51956 == code || // Lo HANGUL SYLLABLE JJWAE
51984 == code || // Lo HANGUL SYLLABLE JJOE
52012 == code || // Lo HANGUL SYLLABLE JJYO
52040 == code || // Lo HANGUL SYLLABLE JJU
52068 == code || // Lo HANGUL SYLLABLE JJWEO
52096 == code || // Lo HANGUL SYLLABLE JJWE
52124 == code || // Lo HANGUL SYLLABLE JJWI
52152 == code || // Lo HANGUL SYLLABLE JJYU
52180 == code || // Lo HANGUL SYLLABLE JJEU
52208 == code || // Lo HANGUL SYLLABLE JJYI
52236 == code || // Lo HANGUL SYLLABLE JJI
52264 == code || // Lo HANGUL SYLLABLE CA
52292 == code || // Lo HANGUL SYLLABLE CAE
52320 == code || // Lo HANGUL SYLLABLE CYA
52348 == code || // Lo HANGUL SYLLABLE CYAE
52376 == code || // Lo HANGUL SYLLABLE CEO
52404 == code || // Lo HANGUL SYLLABLE CE
52432 == code || // Lo HANGUL SYLLABLE CYEO
52460 == code || // Lo HANGUL SYLLABLE CYE
52488 == code || // Lo HANGUL SYLLABLE CO
52516 == code || // Lo HANGUL SYLLABLE CWA
52544 == code || // Lo HANGUL SYLLABLE CWAE
52572 == code || // Lo HANGUL SYLLABLE COE
52600 == code || // Lo HANGUL SYLLABLE CYO
52628 == code || // Lo HANGUL SYLLABLE CU
52656 == code || // Lo HANGUL SYLLABLE CWEO
52684 == code || // Lo HANGUL SYLLABLE CWE
52712 == code || // Lo HANGUL SYLLABLE CWI
52740 == code || // Lo HANGUL SYLLABLE CYU
52768 == code || // Lo HANGUL SYLLABLE CEU
52796 == code || // Lo HANGUL SYLLABLE CYI
52824 == code || // Lo HANGUL SYLLABLE CI
52852 == code || // Lo HANGUL SYLLABLE KA
52880 == code || // Lo HANGUL SYLLABLE KAE
52908 == code || // Lo HANGUL SYLLABLE KYA
52936 == code || // Lo HANGUL SYLLABLE KYAE
52964 == code || // Lo HANGUL SYLLABLE KEO
52992 == code || // Lo HANGUL SYLLABLE KE
53020 == code || // Lo HANGUL SYLLABLE KYEO
53048 == code || // Lo HANGUL SYLLABLE KYE
53076 == code || // Lo HANGUL SYLLABLE KO
53104 == code || // Lo HANGUL SYLLABLE KWA
53132 == code || // Lo HANGUL SYLLABLE KWAE
53160 == code || // Lo HANGUL SYLLABLE KOE
53188 == code || // Lo HANGUL SYLLABLE KYO
53216 == code || // Lo HANGUL SYLLABLE KU
53244 == code || // Lo HANGUL SYLLABLE KWEO
53272 == code || // Lo HANGUL SYLLABLE KWE
53300 == code || // Lo HANGUL SYLLABLE KWI
53328 == code || // Lo HANGUL SYLLABLE KYU
53356 == code || // Lo HANGUL SYLLABLE KEU
53384 == code || // Lo HANGUL SYLLABLE KYI
53412 == code || // Lo HANGUL SYLLABLE KI
53440 == code || // Lo HANGUL SYLLABLE TA
53468 == code || // Lo HANGUL SYLLABLE TAE
53496 == code || // Lo HANGUL SYLLABLE TYA
53524 == code || // Lo HANGUL SYLLABLE TYAE
53552 == code || // Lo HANGUL SYLLABLE TEO
53580 == code || // Lo HANGUL SYLLABLE TE
53608 == code || // Lo HANGUL SYLLABLE TYEO
53636 == code || // Lo HANGUL SYLLABLE TYE
53664 == code || // Lo HANGUL SYLLABLE TO
53692 == code || // Lo HANGUL SYLLABLE TWA
53720 == code || // Lo HANGUL SYLLABLE TWAE
53748 == code || // Lo HANGUL SYLLABLE TOE
53776 == code || // Lo HANGUL SYLLABLE TYO
53804 == code || // Lo HANGUL SYLLABLE TU
53832 == code || // Lo HANGUL SYLLABLE TWEO
53860 == code || // Lo HANGUL SYLLABLE TWE
53888 == code || // Lo HANGUL SYLLABLE TWI
53916 == code || // Lo HANGUL SYLLABLE TYU
53944 == code || // Lo HANGUL SYLLABLE TEU
53972 == code || // Lo HANGUL SYLLABLE TYI
54e3 == code || // Lo HANGUL SYLLABLE TI
54028 == code || // Lo HANGUL SYLLABLE PA
54056 == code || // Lo HANGUL SYLLABLE PAE
54084 == code || // Lo HANGUL SYLLABLE PYA
54112 == code || // Lo HANGUL SYLLABLE PYAE
54140 == code || // Lo HANGUL SYLLABLE PEO
54168 == code || // Lo HANGUL SYLLABLE PE
54196 == code || // Lo HANGUL SYLLABLE PYEO
54224 == code || // Lo HANGUL SYLLABLE PYE
54252 == code || // Lo HANGUL SYLLABLE PO
54280 == code || // Lo HANGUL SYLLABLE PWA
54308 == code || // Lo HANGUL SYLLABLE PWAE
54336 == code || // Lo HANGUL SYLLABLE POE
54364 == code || // Lo HANGUL SYLLABLE PYO
54392 == code || // Lo HANGUL SYLLABLE PU
54420 == code || // Lo HANGUL SYLLABLE PWEO
54448 == code || // Lo HANGUL SYLLABLE PWE
54476 == code || // Lo HANGUL SYLLABLE PWI
54504 == code || // Lo HANGUL SYLLABLE PYU
54532 == code || // Lo HANGUL SYLLABLE PEU
54560 == code || // Lo HANGUL SYLLABLE PYI
54588 == code || // Lo HANGUL SYLLABLE PI
54616 == code || // Lo HANGUL SYLLABLE HA
54644 == code || // Lo HANGUL SYLLABLE HAE
54672 == code || // Lo HANGUL SYLLABLE HYA
54700 == code || // Lo HANGUL SYLLABLE HYAE
54728 == code || // Lo HANGUL SYLLABLE HEO
54756 == code || // Lo HANGUL SYLLABLE HE
54784 == code || // Lo HANGUL SYLLABLE HYEO
54812 == code || // Lo HANGUL SYLLABLE HYE
54840 == code || // Lo HANGUL SYLLABLE HO
54868 == code || // Lo HANGUL SYLLABLE HWA
54896 == code || // Lo HANGUL SYLLABLE HWAE
54924 == code || // Lo HANGUL SYLLABLE HOE
54952 == code || // Lo HANGUL SYLLABLE HYO
54980 == code || // Lo HANGUL SYLLABLE HU
55008 == code || // Lo HANGUL SYLLABLE HWEO
55036 == code || // Lo HANGUL SYLLABLE HWE
55064 == code || // Lo HANGUL SYLLABLE HWI
55092 == code || // Lo HANGUL SYLLABLE HYU
55120 == code || // Lo HANGUL SYLLABLE HEU
55148 == code || // Lo HANGUL SYLLABLE HYI
55176 == code) {
return LV;
}
if (44033 <= code && code <= 44059 || // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
44061 <= code && code <= 44087 || // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
44089 <= code && code <= 44115 || // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
44117 <= code && code <= 44143 || // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
44145 <= code && code <= 44171 || // Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
44173 <= code && code <= 44199 || // Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
44201 <= code && code <= 44227 || // Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
44229 <= code && code <= 44255 || // Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
44257 <= code && code <= 44283 || // Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
44285 <= code && code <= 44311 || // Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
44313 <= code && code <= 44339 || // Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
44341 <= code && code <= 44367 || // Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
44369 <= code && code <= 44395 || // Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
44397 <= code && code <= 44423 || // Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
44425 <= code && code <= 44451 || // Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
44453 <= code && code <= 44479 || // Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
44481 <= code && code <= 44507 || // Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
44509 <= code && code <= 44535 || // Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
44537 <= code && code <= 44563 || // Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
44565 <= code && code <= 44591 || // Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
44593 <= code && code <= 44619 || // Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
44621 <= code && code <= 44647 || // Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
44649 <= code && code <= 44675 || // Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
44677 <= code && code <= 44703 || // Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
44705 <= code && code <= 44731 || // Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
44733 <= code && code <= 44759 || // Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
44761 <= code && code <= 44787 || // Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
44789 <= code && code <= 44815 || // Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
44817 <= code && code <= 44843 || // Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
44845 <= code && code <= 44871 || // Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
44873 <= code && code <= 44899 || // Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
44901 <= code && code <= 44927 || // Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
44929 <= code && code <= 44955 || // Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
44957 <= code && code <= 44983 || // Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
44985 <= code && code <= 45011 || // Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
45013 <= code && code <= 45039 || // Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
45041 <= code && code <= 45067 || // Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
45069 <= code && code <= 45095 || // Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
45097 <= code && code <= 45123 || // Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
45125 <= code && code <= 45151 || // Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
45153 <= code && code <= 45179 || // Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
45181 <= code && code <= 45207 || // Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
45209 <= code && code <= 45235 || // Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
45237 <= code && code <= 45263 || // Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
45265 <= code && code <= 45291 || // Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
45293 <= code && code <= 45319 || // Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
45321 <= code && code <= 45347 || // Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
45349 <= code && code <= 45375 || // Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
45377 <= code && code <= 45403 || // Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
45405 <= code && code <= 45431 || // Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
45433 <= code && code <= 45459 || // Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
45461 <= code && code <= 45487 || // Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
45489 <= code && code <= 45515 || // Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
45517 <= code && code <= 45543 || // Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
45545 <= code && code <= 45571 || // Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
45573 <= code && code <= 45599 || // Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
45601 <= code && code <= 45627 || // Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
45629 <= code && code <= 45655 || // Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
45657 <= code && code <= 45683 || // Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
45685 <= code && code <= 45711 || // Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
45713 <= code && code <= 45739 || // Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
45741 <= code && code <= 45767 || // Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
45769 <= code && code <= 45795 || // Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
45797 <= code && code <= 45823 || // Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
45825 <= code && code <= 45851 || // Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
45853 <= code && code <= 45879 || // Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
45881 <= code && code <= 45907 || // Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
45909 <= code && code <= 45935 || // Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
45937 <= code && code <= 45963 || // Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
45965 <= code && code <= 45991 || // Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
45993 <= code && code <= 46019 || // Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
46021 <= code && code <= 46047 || // Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
46049 <= code && code <= 46075 || // Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
46077 <= code && code <= 46103 || // Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
46105 <= code && code <= 46131 || // Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
46133 <= code && code <= 46159 || // Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
46161 <= code && code <= 46187 || // Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
46189 <= code && code <= 46215 || // Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
46217 <= code && code <= 46243 || // Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
46245 <= code && code <= 46271 || // Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
46273 <= code && code <= 46299 || // Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
46301 <= code && code <= 46327 || // Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
46329 <= code && code <= 46355 || // Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
46357 <= code && code <= 46383 || // Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
46385 <= code && code <= 46411 || // Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
46413 <= code && code <= 46439 || // Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
46441 <= code && code <= 46467 || // Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
46469 <= code && code <= 46495 || // Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
46497 <= code && code <= 46523 || // Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
46525 <= code && code <= 46551 || // Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
46553 <= code && code <= 46579 || // Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
46581 <= code && code <= 46607 || // Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
46609 <= code && code <= 46635 || // Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
46637 <= code && code <= 46663 || // Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
46665 <= code && code <= 46691 || // Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
46693 <= code && code <= 46719 || // Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
46721 <= code && code <= 46747 || // Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
46749 <= code && code <= 46775 || // Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
46777 <= code && code <= 46803 || // Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
46805 <= code && code <= 46831 || // Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
46833 <= code && code <= 46859 || // Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
46861 <= code && code <= 46887 || // Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
46889 <= code && code <= 46915 || // Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
46917 <= code && code <= 46943 || // Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
46945 <= code && code <= 46971 || // Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
46973 <= code && code <= 46999 || // Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
47001 <= code && code <= 47027 || // Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
47029 <= code && code <= 47055 || // Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
47057 <= code && code <= 47083 || // Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
47085 <= code && code <= 47111 || // Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
47113 <= code && code <= 47139 || // Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
47141 <= code && code <= 47167 || // Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
47169 <= code && code <= 47195 || // Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
47197 <= code && code <= 47223 || // Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
47225 <= code && code <= 47251 || // Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
47253 <= code && code <= 47279 || // Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
47281 <= code && code <= 47307 || // Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
47309 <= code && code <= 47335 || // Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
47337 <= code && code <= 47363 || // Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
47365 <= code && code <= 47391 || // Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
47393 <= code && code <= 47419 || // Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
47421 <= code && code <= 47447 || // Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
47449 <= code && code <= 47475 || // Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
47477 <= code && code <= 47503 || // Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
47505 <= code && code <= 47531 || // Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
47533 <= code && code <= 47559 || // Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
47561 <= code && code <= 47587 || // Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
47589 <= code && code <= 47615 || // Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
47617 <= code && code <= 47643 || // Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
47645 <= code && code <= 47671 || // Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
47673 <= code && code <= 47699 || // Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
47701 <= code && code <= 47727 || // Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
47729 <= code && code <= 47755 || // Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
47757 <= code && code <= 47783 || // Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
47785 <= code && code <= 47811 || // Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
47813 <= code && code <= 47839 || // Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
47841 <= code && code <= 47867 || // Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
47869 <= code && code <= 47895 || // Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
47897 <= code && code <= 47923 || // Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
47925 <= code && code <= 47951 || // Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
47953 <= code && code <= 47979 || // Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
47981 <= code && code <= 48007 || // Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
48009 <= code && code <= 48035 || // Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
48037 <= code && code <= 48063 || // Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
48065 <= code && code <= 48091 || // Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
48093 <= code && code <= 48119 || // Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
48121 <= code && code <= 48147 || // Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
48149 <= code && code <= 48175 || // Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
48177 <= code && code <= 48203 || // Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
48205 <= code && code <= 48231 || // Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
48233 <= code && code <= 48259 || // Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
48261 <= code && code <= 48287 || // Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
48289 <= code && code <= 48315 || // Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
48317 <= code && code <= 48343 || // Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
48345 <= code && code <= 48371 || // Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
48373 <= code && code <= 48399 || // Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
48401 <= code && code <= 48427 || // Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
48429 <= code && code <= 48455 || // Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
48457 <= code && code <= 48483 || // Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
48485 <= code && code <= 48511 || // Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
48513 <= code && code <= 48539 || // Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
48541 <= code && code <= 48567 || // Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
48569 <= code && code <= 48595 || // Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
48597 <= code && code <= 48623 || // Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
48625 <= code && code <= 48651 || // Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
48653 <= code && code <= 48679 || // Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
48681 <= code && code <= 48707 || // Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
48709 <= code && code <= 48735 || // Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
48737 <= code && code <= 48763 || // Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
48765 <= code && code <= 48791 || // Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
48793 <= code && code <= 48819 || // Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
48821 <= code && code <= 48847 || // Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
48849 <= code && code <= 48875 || // Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
48877 <= code && code <= 48903 || // Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
48905 <= code && code <= 48931 || // Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
48933 <= code && code <= 48959 || // Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
48961 <= code && code <= 48987 || // Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
48989 <= code && code <= 49015 || // Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
49017 <= code && code <= 49043 || // Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
49045 <= code && code <= 49071 || // Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
49073 <= code && code <= 49099 || // Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
49101 <= code && code <= 49127 || // Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
49129 <= code && code <= 49155 || // Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
49157 <= code && code <= 49183 || // Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
49185 <= code && code <= 49211 || // Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
49213 <= code && code <= 49239 || // Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
49241 <= code && code <= 49267 || // Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
49269 <= code && code <= 49295 || // Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
49297 <= code && code <= 49323 || // Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
49325 <= code && code <= 49351 || // Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
49353 <= code && code <= 49379 || // Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
49381 <= code && code <= 49407 || // Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
49409 <= code && code <= 49435 || // Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
49437 <= code && code <= 49463 || // Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
49465 <= code && code <= 49491 || // Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
49493 <= code && code <= 49519 || // Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
49521 <= code && code <= 49547 || // Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
49549 <= code && code <= 49575 || // Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
49577 <= code && code <= 49603 || // Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
49605 <= code && code <= 49631 || // Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
49633 <= code && code <= 49659 || // Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
49661 <= code && code <= 49687 || // Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
49689 <= code && code <= 49715 || // Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
49717 <= code && code <= 49743 || // Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
49745 <= code && code <= 49771 || // Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
49773 <= code && code <= 49799 || // Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
49801 <= code && code <= 49827 || // Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
49829 <= code && code <= 49855 || // Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
49857 <= code && code <= 49883 || // Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
49885 <= code && code <= 49911 || // Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
49913 <= code && code <= 49939 || // Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
49941 <= code && code <= 49967 || // Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
49969 <= code && code <= 49995 || // Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
49997 <= code && code <= 50023 || // Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
50025 <= code && code <= 50051 || // Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
50053 <= code && code <= 50079 || // Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
50081 <= code && code <= 50107 || // Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
50109 <= code && code <= 50135 || // Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
50137 <= code && code <= 50163 || // Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
50165 <= code && code <= 50191 || // Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
50193 <= code && code <= 50219 || // Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
50221 <= code && code <= 50247 || // Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
50249 <= code && code <= 50275 || // Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
50277 <= code && code <= 50303 || // Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
50305 <= code && code <= 50331 || // Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
50333 <= code && code <= 50359 || // Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
50361 <= code && code <= 50387 || // Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
50389 <= code && code <= 50415 || // Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
50417 <= code && code <= 50443 || // Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
50445 <= code && code <= 50471 || // Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
50473 <= code && code <= 50499 || // Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
50501 <= code && code <= 50527 || // Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
50529 <= code && code <= 50555 || // Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
50557 <= code && code <= 50583 || // Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
50585 <= code && code <= 50611 || // Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
50613 <= code && code <= 50639 || // Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
50641 <= code && code <= 50667 || // Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
50669 <= code && code <= 50695 || // Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
50697 <= code && code <= 50723 || // Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
50725 <= code && code <= 50751 || // Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
50753 <= code && code <= 50779 || // Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
50781 <= code && code <= 50807 || // Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
50809 <= code && code <= 50835 || // Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
50837 <= code && code <= 50863 || // Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
50865 <= code && code <= 50891 || // Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
50893 <= code && code <= 50919 || // Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
50921 <= code && code <= 50947 || // Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
50949 <= code && code <= 50975 || // Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
50977 <= code && code <= 51003 || // Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
51005 <= code && code <= 51031 || // Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
51033 <= code && code <= 51059 || // Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
51061 <= code && code <= 51087 || // Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
51089 <= code && code <= 51115 || // Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
51117 <= code && code <= 51143 || // Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
51145 <= code && code <= 51171 || // Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
51173 <= code && code <= 51199 || // Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
51201 <= code && code <= 51227 || // Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
51229 <= code && code <= 51255 || // Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
51257 <= code && code <= 51283 || // Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
51285 <= code && code <= 51311 || // Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
51313 <= code && code <= 51339 || // Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
51341 <= code && code <= 51367 || // Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
51369 <= code && code <= 51395 || // Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
51397 <= code && code <= 51423 || // Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
51425 <= code && code <= 51451 || // Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
51453 <= code && code <= 51479 || // Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
51481 <= code && code <= 51507 || // Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
51509 <= code && code <= 51535 || // Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
51537 <= code && code <= 51563 || // Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
51565 <= code && code <= 51591 || // Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
51593 <= code && code <= 51619 || // Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
51621 <= code && code <= 51647 || // Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
51649 <= code && code <= 51675 || // Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
51677 <= code && code <= 51703 || // Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
51705 <= code && code <= 51731 || // Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
51733 <= code && code <= 51759 || // Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
51761 <= code && code <= 51787 || // Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
51789 <= code && code <= 51815 || // Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
51817 <= code && code <= 51843 || // Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
51845 <= code && code <= 51871 || // Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
51873 <= code && code <= 51899 || // Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
51901 <= code && code <= 51927 || // Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
51929 <= code && code <= 51955 || // Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
51957 <= code && code <= 51983 || // Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
51985 <= code && code <= 52011 || // Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
52013 <= code && code <= 52039 || // Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
52041 <= code && code <= 52067 || // Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
52069 <= code && code <= 52095 || // Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
52097 <= code && code <= 52123 || // Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
52125 <= code && code <= 52151 || // Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
52153 <= code && code <= 52179 || // Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
52181 <= code && code <= 52207 || // Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
52209 <= code && code <= 52235 || // Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
52237 <= code && code <= 52263 || // Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
52265 <= code && code <= 52291 || // Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
52293 <= code && code <= 52319 || // Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
52321 <= code && code <= 52347 || // Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
52349 <= code && code <= 52375 || // Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
52377 <= code && code <= 52403 || // Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
52405 <= code && code <= 52431 || // Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
52433 <= code && code <= 52459 || // Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
52461 <= code && code <= 52487 || // Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
52489 <= code && code <= 52515 || // Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
52517 <= code && code <= 52543 || // Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
52545 <= code && code <= 52571 || // Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
52573 <= code && code <= 52599 || // Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
52601 <= code && code <= 52627 || // Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
52629 <= code && code <= 52655 || // Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
52657 <= code && code <= 52683 || // Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
52685 <= code && code <= 52711 || // Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
52713 <= code && code <= 52739 || // Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
52741 <= code && code <= 52767 || // Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
52769 <= code && code <= 52795 || // Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
52797 <= code && code <= 52823 || // Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
52825 <= code && code <= 52851 || // Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
52853 <= code && code <= 52879 || // Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
52881 <= code && code <= 52907 || // Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
52909 <= code && code <= 52935 || // Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
52937 <= code && code <= 52963 || // Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
52965 <= code && code <= 52991 || // Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
52993 <= code && code <= 53019 || // Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
53021 <= code && code <= 53047 || // Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
53049 <= code && code <= 53075 || // Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
53077 <= code && code <= 53103 || // Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
53105 <= code && code <= 53131 || // Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
53133 <= code && code <= 53159 || // Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
53161 <= code && code <= 53187 || // Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
53189 <= code && code <= 53215 || // Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
53217 <= code && code <= 53243 || // Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
53245 <= code && code <= 53271 || // Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
53273 <= code && code <= 53299 || // Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
53301 <= code && code <= 53327 || // Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
53329 <= code && code <= 53355 || // Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
53357 <= code && code <= 53383 || // Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
53385 <= code && code <= 53411 || // Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
53413 <= code && code <= 53439 || // Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
53441 <= code && code <= 53467 || // Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
53469 <= code && code <= 53495 || // Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
53497 <= code && code <= 53523 || // Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
53525 <= code && code <= 53551 || // Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
53553 <= code && code <= 53579 || // Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
53581 <= code && code <= 53607 || // Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
53609 <= code && code <= 53635 || // Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
53637 <= code && code <= 53663 || // Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
53665 <= code && code <= 53691 || // Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
53693 <= code && code <= 53719 || // Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
53721 <= code && code <= 53747 || // Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
53749 <= code && code <= 53775 || // Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
53777 <= code && code <= 53803 || // Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
53805 <= code && code <= 53831 || // Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
53833 <= code && code <= 53859 || // Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
53861 <= code && code <= 53887 || // Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
53889 <= code && code <= 53915 || // Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
53917 <= code && code <= 53943 || // Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
53945 <= code && code <= 53971 || // Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
53973 <= code && code <= 53999 || // Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
54001 <= code && code <= 54027 || // Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
54029 <= code && code <= 54055 || // Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
54057 <= code && code <= 54083 || // Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
54085 <= code && code <= 54111 || // Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
54113 <= code && code <= 54139 || // Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
54141 <= code && code <= 54167 || // Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
54169 <= code && code <= 54195 || // Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
54197 <= code && code <= 54223 || // Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
54225 <= code && code <= 54251 || // Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
54253 <= code && code <= 54279 || // Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
54281 <= code && code <= 54307 || // Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
54309 <= code && code <= 54335 || // Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
54337 <= code && code <= 54363 || // Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
54365 <= code && code <= 54391 || // Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
54393 <= code && code <= 54419 || // Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
54421 <= code && code <= 54447 || // Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
54449 <= code && code <= 54475 || // Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
54477 <= code && code <= 54503 || // Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
54505 <= code && code <= 54531 || // Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
54533 <= code && code <= 54559 || // Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
54561 <= code && code <= 54587 || // Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
54589 <= code && code <= 54615 || // Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
54617 <= code && code <= 54643 || // Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
54645 <= code && code <= 54671 || // Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
54673 <= code && code <= 54699 || // Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
54701 <= code && code <= 54727 || // Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
54729 <= code && code <= 54755 || // Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
54757 <= code && code <= 54783 || // Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
54785 <= code && code <= 54811 || // Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
54813 <= code && code <= 54839 || // Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
54841 <= code && code <= 54867 || // Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
54869 <= code && code <= 54895 || // Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
54897 <= code && code <= 54923 || // Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
54925 <= code && code <= 54951 || // Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
54953 <= code && code <= 54979 || // Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
54981 <= code && code <= 55007 || // Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
55009 <= code && code <= 55035 || // Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
55037 <= code && code <= 55063 || // Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
55065 <= code && code <= 55091 || // Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
55093 <= code && code <= 55119 || // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
55121 <= code && code <= 55147 || // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
55149 <= code && code <= 55175 || // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
55177 <= code && code <= 55203) {
return LVT;
}
if (9757 == code || // So WHITE UP POINTING INDEX
9977 == code || // So PERSON WITH BALL
9994 <= code && code <= 9997 || // So [4] RAISED FIST..WRITING HAND
127877 == code || // So FATHER CHRISTMAS
127938 <= code && code <= 127940 || // So [3] SNOWBOARDER..SURFER
127943 == code || // So HORSE RACING
127946 <= code && code <= 127948 || // So [3] SWIMMER..GOLFER
128066 <= code && code <= 128067 || // So [2] EAR..NOSE
128070 <= code && code <= 128080 || // So [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
128110 == code || // So POLICE OFFICER
128112 <= code && code <= 128120 || // So [9] BRIDE WITH VEIL..PRINCESS
128124 == code || // So BABY ANGEL
128129 <= code && code <= 128131 || // So [3] INFORMATION DESK PERSON..DANCER
128133 <= code && code <= 128135 || // So [3] NAIL POLISH..HAIRCUT
128170 == code || // So FLEXED BICEPS
128372 <= code && code <= 128373 || // So [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
128378 == code || // So MAN DANCING
128400 == code || // So RAISED HAND WITH FINGERS SPLAYED
128405 <= code && code <= 128406 || // So [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
128581 <= code && code <= 128583 || // So [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY
128587 <= code && code <= 128591 || // So [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS
128675 == code || // So ROWBOAT
128692 <= code && code <= 128694 || // So [3] BICYCLIST..PEDESTRIAN
128704 == code || // So BATH
128716 == code || // So SLEEPING ACCOMMODATION
129304 <= code && code <= 129308 || // So [5] SIGN OF THE HORNS..RIGHT-FACING FIST
129310 <= code && code <= 129311 || // So [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
129318 == code || // So FACE PALM
129328 <= code && code <= 129337 || // So [10] PREGNANT WOMAN..JUGGLING
129341 <= code && code <= 129342 || // So [2] WATER POLO..HANDBALL
129489 <= code && code <= 129501) {
return E_Base;
}
if (127995 <= code && code <= 127999) {
return E_Modifier;
}
if (8205 == code) {
return ZWJ;
}
if (9792 == code || // So FEMALE SIGN
9794 == code || // So MALE SIGN
9877 <= code && code <= 9878 || // So [2] STAFF OF AESCULAPIUS..SCALES
9992 == code || // So AIRPLANE
10084 == code || // So HEAVY BLACK HEART
127752 == code || // So RAINBOW
127806 == code || // So EAR OF RICE
127859 == code || // So COOKING
127891 == code || // So GRADUATION CAP
127908 == code || // So MICROPHONE
127912 == code || // So ARTIST PALETTE
127979 == code || // So SCHOOL
127981 == code || // So FACTORY
128139 == code || // So KISS MARK
128187 <= code && code <= 128188 || // So [2] PERSONAL COMPUTER..BRIEFCASE
128295 == code || // So WRENCH
128300 == code || // So MICROSCOPE
128488 == code || // So LEFT SPEECH BUBBLE
128640 == code || // So ROCKET
128658 == code) {
return Glue_After_Zwj;
}
if (128102 <= code && code <= 128105) {
return E_Base_GAZ;
}
return Other;
}
return this;
}
if (typeof module2 != "undefined" && module2.exports) {
module2.exports = GraphemeSplitter;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/slice-ansi/1.1.3/e0f39b6e7a9f1e4f0c30b0d7f92981584fb472d1135663735ccbf37591c88a62/node_modules/@pnpm/slice-ansi/index.js
var require_slice_ansi2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/slice-ansi/1.1.3/e0f39b6e7a9f1e4f0c30b0d7f92981584fb472d1135663735ccbf37591c88a62/node_modules/@pnpm/slice-ansi/index.js"(exports2, module2) {
var ANSI_SEQUENCE = /^([\s\S]*?)(\x1b\[[^m]+m|\x1b\]8;;[\s\S]*?(\x1b\\|\u0007))/;
var splitGraphemes;
function getSplitter() {
if (splitGraphemes)
return splitGraphemes;
const GraphemeSplitter = require_grapheme_splitter();
const splitter = new GraphemeSplitter();
return splitGraphemes = (text) => splitter.splitGraphemes(text);
}
module2.exports = (orig, at = 0, until = orig.length) => {
if (at < 0 || until < 0)
throw new RangeError(`Negative indices aren't supported by this implementation`);
const length = until - at;
let output = ``;
let skipped = 0;
let visible = 0;
while (orig.length > 0) {
const lookup = orig.match(ANSI_SEQUENCE) || [orig, orig, void 0];
let graphemes = getSplitter()(lookup[1]);
const skipping = Math.min(at - skipped, graphemes.length);
graphemes = graphemes.slice(skipping);
const displaying = Math.min(length - visible, graphemes.length);
output += graphemes.slice(0, displaying).join(``);
skipped += skipping;
visible += displaying;
if (typeof lookup[2] !== `undefined`)
output += lookup[2];
orig = orig.slice(lookup[0].length);
}
return output;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/getBorderCharacters.js
var require_getBorderCharacters2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/getBorderCharacters.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getBorderCharacters = void 0;
var getBorderCharacters4 = (name) => {
if (name === "honeywell") {
return {
topBody: "\u2550",
topJoin: "\u2564",
topLeft: "\u2554",
topRight: "\u2557",
bottomBody: "\u2550",
bottomJoin: "\u2567",
bottomLeft: "\u255A",
bottomRight: "\u255D",
bodyLeft: "\u2551",
bodyRight: "\u2551",
bodyJoin: "\u2502",
headerJoin: "\u252C",
joinBody: "\u2500",
joinLeft: "\u255F",
joinRight: "\u2562",
joinJoin: "\u253C",
joinMiddleDown: "\u252C",
joinMiddleUp: "\u2534",
joinMiddleLeft: "\u2524",
joinMiddleRight: "\u251C"
};
}
if (name === "norc") {
return {
topBody: "\u2500",
topJoin: "\u252C",
topLeft: "\u250C",
topRight: "\u2510",
bottomBody: "\u2500",
bottomJoin: "\u2534",
bottomLeft: "\u2514",
bottomRight: "\u2518",
bodyLeft: "\u2502",
bodyRight: "\u2502",
bodyJoin: "\u2502",
headerJoin: "\u252C",
joinBody: "\u2500",
joinLeft: "\u251C",
joinRight: "\u2524",
joinJoin: "\u253C",
joinMiddleDown: "\u252C",
joinMiddleUp: "\u2534",
joinMiddleLeft: "\u2524",
joinMiddleRight: "\u251C"
};
}
if (name === "ramac") {
return {
topBody: "-",
topJoin: "+",
topLeft: "+",
topRight: "+",
bottomBody: "-",
bottomJoin: "+",
bottomLeft: "+",
bottomRight: "+",
bodyLeft: "|",
bodyRight: "|",
bodyJoin: "|",
headerJoin: "+",
joinBody: "-",
joinLeft: "|",
joinRight: "|",
joinJoin: "|",
joinMiddleDown: "+",
joinMiddleUp: "+",
joinMiddleLeft: "+",
joinMiddleRight: "+"
};
}
if (name === "void") {
return {
topBody: "",
topJoin: "",
topLeft: "",
topRight: "",
bottomBody: "",
bottomJoin: "",
bottomLeft: "",
bottomRight: "",
bodyLeft: "",
bodyRight: "",
bodyJoin: "",
headerJoin: "",
joinBody: "",
joinLeft: "",
joinRight: "",
joinJoin: "",
joinMiddleDown: "",
joinMiddleUp: "",
joinMiddleLeft: "",
joinMiddleRight: ""
};
}
throw new Error('Unknown border template "' + name + '".');
};
exports2.getBorderCharacters = getBorderCharacters4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/utils.js
var require_utils15 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/utils.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.findOriginalRowIndex = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi2());
var string_width_1 = __importDefault2(require_string_width());
var strip_ansi_1 = __importDefault2(require_strip_ansi());
var getBorderCharacters_1 = require_getBorderCharacters2();
var normalizeString2 = (input) => {
return input.replace(/\r\n/g, "\n");
};
exports2.normalizeString = normalizeString2;
var splitAnsi = (input) => {
const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default);
const result2 = [];
let startIndex = 0;
lengths.forEach((length) => {
result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length));
startIndex += length + 1;
});
return result2;
};
exports2.splitAnsi = splitAnsi;
var makeBorderConfig = (border) => {
return {
...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"),
...border
};
};
exports2.makeBorderConfig = makeBorderConfig;
var groupBySizes = (array, sizes) => {
let startIndex = 0;
return sizes.map((size) => {
const group = array.slice(startIndex, startIndex + size);
startIndex += size;
return group;
});
};
exports2.groupBySizes = groupBySizes;
var countSpaceSequence = (input) => {
return input.match(/\s+/g)?.length ?? 0;
};
exports2.countSpaceSequence = countSpaceSequence;
var distributeUnevenly = (sum, length) => {
const result2 = Array.from({ length }).fill(Math.floor(sum / length));
return result2.map((element, index2) => {
return element + (index2 < sum % length ? 1 : 0);
});
};
exports2.distributeUnevenly = distributeUnevenly;
var sequence = (start, end) => {
return Array.from({ length: end - start + 1 }, (_, index2) => {
return index2 + start;
});
};
exports2.sequence = sequence;
var sumArray = (array) => {
return array.reduce((accumulator, element) => {
return accumulator + element;
}, 0);
};
exports2.sumArray = sumArray;
var extractTruncates = (config2) => {
return config2.columns.map(({ truncate }) => {
return truncate;
});
};
exports2.extractTruncates = extractTruncates;
var flatten2 = (array) => {
return [].concat(...array);
};
exports2.flatten = flatten2;
var findOriginalRowIndex = (mappedRowHeights, mappedRowIndex) => {
const rowIndexMapping = (0, exports2.flatten)(mappedRowHeights.map((height2, index2) => {
return Array.from({ length: height2 }, () => {
return index2;
});
}));
return rowIndexMapping[mappedRowIndex];
};
exports2.findOriginalRowIndex = findOriginalRowIndex;
var calculateRangeCoordinate = (spanningCellConfig) => {
const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig;
return {
bottomRight: {
col: col + colSpan - 1,
row: row + rowSpan - 1
},
topLeft: {
col,
row
}
};
};
exports2.calculateRangeCoordinate = calculateRangeCoordinate;
var areCellEqual = (cell1, cell2) => {
return cell1.row === cell2.row && cell1.col === cell2.col;
};
exports2.areCellEqual = areCellEqual;
var isCellInRange = (cell, { topLeft, bottomRight }) => {
return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col;
};
exports2.isCellInRange = isCellInRange;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignString.js
var require_alignString2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignString.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignString = void 0;
var string_width_1 = __importDefault2(require_string_width());
var utils_1 = require_utils15();
var alignLeft = (subject, width) => {
return subject + " ".repeat(width);
};
var alignRight = (subject, width) => {
return " ".repeat(width) + subject;
};
var alignCenter = (subject, width) => {
return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2));
};
var alignJustify = (subject, width) => {
const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject);
if (spaceSequenceCount === 0) {
return alignLeft(subject, width);
}
const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount);
if (Math.max(...addingSpaces) > 3) {
return alignLeft(subject, width);
}
let spaceSequenceIndex = 0;
return subject.replace(/\s+/g, (groupSpace) => {
return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]);
});
};
var alignString = (subject, containerWidth, alignment) => {
const subjectWidth = (0, string_width_1.default)(subject);
if (subjectWidth === containerWidth) {
return subject;
}
if (subjectWidth > containerWidth) {
throw new Error("Subject parameter value width cannot be greater than the container width.");
}
if (subjectWidth === 0) {
return " ".repeat(containerWidth);
}
const availableWidth = containerWidth - subjectWidth;
if (alignment === "left") {
return alignLeft(subject, availableWidth);
}
if (alignment === "right") {
return alignRight(subject, availableWidth);
}
if (alignment === "justify") {
return alignJustify(subject, availableWidth);
}
return alignCenter(subject, availableWidth);
};
exports2.alignString = alignString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignTableData.js
var require_alignTableData2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignTableData = void 0;
var alignString_1 = require_alignString2();
var alignTableData = (rows, config2) => {
return rows.map((row, rowIndex) => {
return row.map((cell, cellIndex) => {
const { width, alignment } = config2.columns[cellIndex];
const containingRange = config2.spanningCellManager?.getContainingRange({
col: cellIndex,
row: rowIndex
}, { mapped: true });
if (containingRange) {
return cell;
}
return (0, alignString_1.alignString)(cell, width, alignment);
});
});
};
exports2.alignTableData = alignTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapString.js
var require_wrapString2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapString.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapString = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi2());
var string_width_1 = __importDefault2(require_string_width());
var wrapString = (subject, size) => {
let subjectSlice = subject;
const chunks = [];
do {
chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size));
subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim();
} while ((0, string_width_1.default)(subjectSlice));
return chunks;
};
exports2.wrapString = wrapString;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapWord.js
var require_wrapWord2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapWord.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapWord = void 0;
var slice_ansi_1 = __importDefault2(require_slice_ansi2());
var strip_ansi_1 = __importDefault2(require_strip_ansi());
var calculateStringLengths = (input, size) => {
let subject = (0, strip_ansi_1.default)(input);
const chunks = [];
const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))");
do {
let chunk;
const match = re.exec(subject);
if (match) {
chunk = match[0];
subject = subject.slice(chunk.length);
const trimmedLength = chunk.trim().length;
const offset = chunk.length - trimmedLength;
chunks.push([trimmedLength, offset]);
} else {
chunk = subject.slice(0, size);
subject = subject.slice(size);
chunks.push([chunk.length, 0]);
}
} while (subject.length);
return chunks;
};
var wrapWord2 = (input, size) => {
const result2 = [];
let startIndex = 0;
calculateStringLengths(input, size).forEach(([length, offset]) => {
result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length));
startIndex += length + offset;
});
return result2;
};
exports2.wrapWord = wrapWord2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapCell.js
var require_wrapCell2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/wrapCell.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapCell = void 0;
var utils_1 = require_utils15();
var wrapString_1 = require_wrapString2();
var wrapWord_1 = require_wrapWord2();
var wrapCell = (cellValue, cellWidth, useWrapWord) => {
const cellLines = (0, utils_1.splitAnsi)(cellValue);
for (let lineNr = 0; lineNr < cellLines.length; ) {
let lineChunks;
if (useWrapWord) {
lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth);
} else {
lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth);
}
cellLines.splice(lineNr, 1, ...lineChunks);
lineNr += lineChunks.length;
}
return cellLines;
};
exports2.wrapCell = wrapCell;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateCellHeight.js
var require_calculateCellHeight2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateCellHeight.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateCellHeight = void 0;
var wrapCell_1 = require_wrapCell2();
var calculateCellHeight = (value, columnWidth, useWrapWord = false) => {
return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length;
};
exports2.calculateCellHeight = calculateCellHeight;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateRowHeights.js
var require_calculateRowHeights2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateRowHeights.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateRowHeights = void 0;
var calculateCellHeight_1 = require_calculateCellHeight2();
var utils_1 = require_utils15();
var calculateRowHeights = (rows, config2) => {
const rowHeights = [];
for (const [rowIndex, row] of rows.entries()) {
let rowHeight = 1;
row.forEach((cell, cellIndex) => {
const containingRange = config2.spanningCellManager?.getContainingRange({
col: cellIndex,
row: rowIndex
});
if (!containingRange) {
const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config2.columns[cellIndex].width, config2.columns[cellIndex].wrapWord);
rowHeight = Math.max(rowHeight, cellHeight);
return;
}
const { topLeft, bottomRight, height: height2 } = containingRange;
if (rowIndex === bottomRight.row) {
const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row));
const totalHorizontalBorderHeight = bottomRight.row - topLeft.row;
const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
return !config2.drawHorizontalLine?.(horizontalBorderIndex, rows.length);
}).length;
const cellHeight = height2 - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight;
rowHeight = Math.max(rowHeight, cellHeight);
}
});
rowHeights.push(rowHeight);
}
return rowHeights;
};
exports2.calculateRowHeights = calculateRowHeights;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawContent.js
var require_drawContent2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawContent.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawContent = void 0;
var drawContent = (parameters) => {
const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters;
const contentSize = contents.length;
const result2 = [];
if (drawSeparator(0, contentSize)) {
result2.push(separatorGetter(0, contentSize));
}
contents.forEach((content, contentIndex) => {
if (!elementType || elementType === "border" || elementType === "row") {
result2.push(content);
}
if (elementType === "cell" && rowIndex === void 0) {
result2.push(content);
}
if (elementType === "cell" && rowIndex !== void 0) {
const containingRange = spanningCellManager?.getContainingRange({
col: contentIndex,
row: rowIndex
});
if (!containingRange || contentIndex === containingRange.topLeft.col) {
result2.push(content);
}
}
if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) {
const separator = separatorGetter(contentIndex + 1, contentSize);
if (elementType === "cell" && rowIndex !== void 0) {
const currentCell = {
col: contentIndex + 1,
row: rowIndex
};
const containingRange = spanningCellManager?.getContainingRange(currentCell);
if (!containingRange || containingRange.topLeft.col === currentCell.col) {
result2.push(separator);
}
} else {
result2.push(separator);
}
}
});
if (drawSeparator(contentSize, contentSize)) {
result2.push(separatorGetter(contentSize, contentSize));
}
return result2.join("");
};
exports2.drawContent = drawContent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawBorder.js
var require_drawBorder2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawBorder.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0;
var drawContent_1 = require_drawContent2();
var drawBorderSegments = (columnWidths, parameters) => {
const { separator, horizontalBorderIndex, spanningCellManager } = parameters;
return columnWidths.map((columnWidth, columnIndex) => {
const normalSegment = separator.body.repeat(columnWidth);
if (horizontalBorderIndex === void 0) {
return normalSegment;
}
const range = spanningCellManager?.getContainingRange({
col: columnIndex,
row: horizontalBorderIndex
});
if (!range) {
return normalSegment;
}
const { topLeft } = range;
if (horizontalBorderIndex === topLeft.row) {
return normalSegment;
}
if (columnIndex !== topLeft.col) {
return "";
}
return range.extractBorderContent(horizontalBorderIndex);
});
};
exports2.drawBorderSegments = drawBorderSegments;
var createSeparatorGetter = (dependencies) => {
const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies;
return (verticalBorderIndex, columnCount) => {
const inSameRange = spanningCellManager?.inSameRange;
if (horizontalBorderIndex !== void 0 && inSameRange) {
const topCell = {
col: verticalBorderIndex,
row: horizontalBorderIndex - 1
};
const leftCell = {
col: verticalBorderIndex - 1,
row: horizontalBorderIndex
};
const oppositeCell = {
col: verticalBorderIndex - 1,
row: horizontalBorderIndex - 1
};
const currentCell = {
col: verticalBorderIndex,
row: horizontalBorderIndex
};
const pairs2 = [
[oppositeCell, topCell],
[topCell, currentCell],
[currentCell, leftCell],
[leftCell, oppositeCell]
];
if (verticalBorderIndex === 0) {
if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) {
return separator.bodyJoinOuter;
}
return separator.left;
}
if (verticalBorderIndex === columnCount) {
if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) {
return separator.bodyJoinOuter;
}
return separator.right;
}
if (horizontalBorderIndex === 0) {
if (inSameRange(currentCell, leftCell)) {
return separator.body;
}
return separator.join;
}
if (horizontalBorderIndex === rowCount) {
if (inSameRange(topCell, oppositeCell)) {
return separator.body;
}
return separator.join;
}
const sameRangeCount = pairs2.map((pair) => {
return inSameRange(...pair);
}).filter(Boolean).length;
if (sameRangeCount === 0) {
return separator.join;
}
if (sameRangeCount === 4) {
return "";
}
if (sameRangeCount === 2) {
if (inSameRange(...pairs2[1]) && inSameRange(...pairs2[3]) && separator.bodyJoinInner) {
return separator.bodyJoinInner;
}
return separator.body;
}
if (sameRangeCount === 1) {
if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) {
throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`);
}
if (inSameRange(...pairs2[0])) {
return separator.joinDown;
}
if (inSameRange(...pairs2[1])) {
return separator.joinLeft;
}
if (inSameRange(...pairs2[2])) {
return separator.joinUp;
}
return separator.joinRight;
}
throw new Error("Invalid case");
}
if (verticalBorderIndex === 0) {
return separator.left;
}
if (verticalBorderIndex === columnCount) {
return separator.right;
}
return separator.join;
};
};
exports2.createSeparatorGetter = createSeparatorGetter;
var drawBorder = (columnWidths, parameters) => {
const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters);
const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters;
return (0, drawContent_1.drawContent)({
contents: borderSegments,
drawSeparator: drawVerticalLine,
elementType: "border",
rowIndex: horizontalBorderIndex,
separatorGetter: (0, exports2.createSeparatorGetter)(parameters),
spanningCellManager
}) + "\n";
};
exports2.drawBorder = drawBorder;
var drawBorderTop = (columnWidths, parameters) => {
const { border } = parameters;
const result2 = (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.topBody,
join: border.topJoin,
left: border.topLeft,
right: border.topRight
}
});
if (result2 === "\n") {
return "";
}
return result2;
};
exports2.drawBorderTop = drawBorderTop;
var drawBorderJoin = (columnWidths, parameters) => {
const { border } = parameters;
return (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.joinBody,
bodyJoinInner: border.bodyJoin,
bodyJoinOuter: border.bodyLeft,
join: border.joinJoin,
joinDown: border.joinMiddleDown,
joinLeft: border.joinMiddleLeft,
joinRight: border.joinMiddleRight,
joinUp: border.joinMiddleUp,
left: border.joinLeft,
right: border.joinRight
}
});
};
exports2.drawBorderJoin = drawBorderJoin;
var drawBorderBottom = (columnWidths, parameters) => {
const { border } = parameters;
return (0, exports2.drawBorder)(columnWidths, {
...parameters,
separator: {
body: border.bottomBody,
join: border.bottomJoin,
left: border.bottomLeft,
right: border.bottomRight
}
});
};
exports2.drawBorderBottom = drawBorderBottom;
var createTableBorderGetter = (columnWidths, parameters) => {
return (index2, size) => {
const drawBorderParameters = {
...parameters,
horizontalBorderIndex: index2
};
if (index2 === 0) {
return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters);
} else if (index2 === size) {
return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters);
}
return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters);
};
};
exports2.createTableBorderGetter = createTableBorderGetter;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawRow.js
var require_drawRow2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawRow.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawRow = void 0;
var drawContent_1 = require_drawContent2();
var drawRow = (row, config2) => {
const { border, drawVerticalLine, rowIndex, spanningCellManager } = config2;
return (0, drawContent_1.drawContent)({
contents: row,
drawSeparator: drawVerticalLine,
elementType: "cell",
rowIndex,
separatorGetter: (index2, columnCount) => {
if (index2 === 0) {
return border.bodyLeft;
}
if (index2 === columnCount) {
return border.bodyRight;
}
return border.bodyJoin;
},
spanningCellManager
}) + "\n";
};
exports2.drawRow = drawRow;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/generated/validators.js
var require_validators2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/generated/validators.js"(exports2) {
"use strict";
exports2["config.json"] = validate43;
var schema13 = {
"$id": "config.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"border": {
"$ref": "shared.json#/definitions/borders"
},
"header": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"alignment": {
"$ref": "shared.json#/definitions/alignment"
},
"wrapWord": {
"type": "boolean"
},
"truncate": {
"type": "integer"
},
"paddingLeft": {
"type": "integer"
},
"paddingRight": {
"type": "integer"
}
},
"required": ["content"],
"additionalProperties": false
},
"columns": {
"$ref": "shared.json#/definitions/columns"
},
"columnDefault": {
"$ref": "shared.json#/definitions/column"
},
"drawVerticalLine": {
"typeof": "function"
},
"drawHorizontalLine": {
"typeof": "function"
},
"singleLine": {
"typeof": "boolean"
},
"spanningCells": {
"type": "array",
"items": {
"type": "object",
"properties": {
"col": {
"type": "integer",
"minimum": 0
},
"row": {
"type": "integer",
"minimum": 0
},
"colSpan": {
"type": "integer",
"minimum": 1
},
"rowSpan": {
"type": "integer",
"minimum": 1
},
"alignment": {
"$ref": "shared.json#/definitions/alignment"
},
"verticalAlignment": {
"$ref": "shared.json#/definitions/verticalAlignment"
},
"wrapWord": {
"type": "boolean"
},
"truncate": {
"type": "integer"
},
"paddingLeft": {
"type": "integer"
},
"paddingRight": {
"type": "integer"
}
},
"required": ["row", "col"],
"additionalProperties": false
}
}
},
"additionalProperties": false
};
var schema15 = {
"type": "object",
"properties": {
"topBody": {
"$ref": "#/definitions/border"
},
"topJoin": {
"$ref": "#/definitions/border"
},
"topLeft": {
"$ref": "#/definitions/border"
},
"topRight": {
"$ref": "#/definitions/border"
},
"bottomBody": {
"$ref": "#/definitions/border"
},
"bottomJoin": {
"$ref": "#/definitions/border"
},
"bottomLeft": {
"$ref": "#/definitions/border"
},
"bottomRight": {
"$ref": "#/definitions/border"
},
"bodyLeft": {
"$ref": "#/definitions/border"
},
"bodyRight": {
"$ref": "#/definitions/border"
},
"bodyJoin": {
"$ref": "#/definitions/border"
},
"headerJoin": {
"$ref": "#/definitions/border"
},
"joinBody": {
"$ref": "#/definitions/border"
},
"joinLeft": {
"$ref": "#/definitions/border"
},
"joinRight": {
"$ref": "#/definitions/border"
},
"joinJoin": {
"$ref": "#/definitions/border"
},
"joinMiddleUp": {
"$ref": "#/definitions/border"
},
"joinMiddleDown": {
"$ref": "#/definitions/border"
},
"joinMiddleLeft": {
"$ref": "#/definitions/border"
},
"joinMiddleRight": {
"$ref": "#/definitions/border"
}
},
"additionalProperties": false
};
var func4 = Object.prototype.hasOwnProperty;
function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
validate46.errors = vErrors;
return errors2 === 0;
}
function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!func4.call(schema15.properties, key0)) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.topBody !== void 0) {
if (!validate46(data.topBody, {
instancePath: instancePath + "/topBody",
parentData: data,
parentDataProperty: "topBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topJoin !== void 0) {
if (!validate46(data.topJoin, {
instancePath: instancePath + "/topJoin",
parentData: data,
parentDataProperty: "topJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topLeft !== void 0) {
if (!validate46(data.topLeft, {
instancePath: instancePath + "/topLeft",
parentData: data,
parentDataProperty: "topLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topRight !== void 0) {
if (!validate46(data.topRight, {
instancePath: instancePath + "/topRight",
parentData: data,
parentDataProperty: "topRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomBody !== void 0) {
if (!validate46(data.bottomBody, {
instancePath: instancePath + "/bottomBody",
parentData: data,
parentDataProperty: "bottomBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomJoin !== void 0) {
if (!validate46(data.bottomJoin, {
instancePath: instancePath + "/bottomJoin",
parentData: data,
parentDataProperty: "bottomJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomLeft !== void 0) {
if (!validate46(data.bottomLeft, {
instancePath: instancePath + "/bottomLeft",
parentData: data,
parentDataProperty: "bottomLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomRight !== void 0) {
if (!validate46(data.bottomRight, {
instancePath: instancePath + "/bottomRight",
parentData: data,
parentDataProperty: "bottomRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyLeft !== void 0) {
if (!validate46(data.bodyLeft, {
instancePath: instancePath + "/bodyLeft",
parentData: data,
parentDataProperty: "bodyLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyRight !== void 0) {
if (!validate46(data.bodyRight, {
instancePath: instancePath + "/bodyRight",
parentData: data,
parentDataProperty: "bodyRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyJoin !== void 0) {
if (!validate46(data.bodyJoin, {
instancePath: instancePath + "/bodyJoin",
parentData: data,
parentDataProperty: "bodyJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.headerJoin !== void 0) {
if (!validate46(data.headerJoin, {
instancePath: instancePath + "/headerJoin",
parentData: data,
parentDataProperty: "headerJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinBody !== void 0) {
if (!validate46(data.joinBody, {
instancePath: instancePath + "/joinBody",
parentData: data,
parentDataProperty: "joinBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinLeft !== void 0) {
if (!validate46(data.joinLeft, {
instancePath: instancePath + "/joinLeft",
parentData: data,
parentDataProperty: "joinLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinRight !== void 0) {
if (!validate46(data.joinRight, {
instancePath: instancePath + "/joinRight",
parentData: data,
parentDataProperty: "joinRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinJoin !== void 0) {
if (!validate46(data.joinJoin, {
instancePath: instancePath + "/joinJoin",
parentData: data,
parentDataProperty: "joinJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleUp !== void 0) {
if (!validate46(data.joinMiddleUp, {
instancePath: instancePath + "/joinMiddleUp",
parentData: data,
parentDataProperty: "joinMiddleUp",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleDown !== void 0) {
if (!validate46(data.joinMiddleDown, {
instancePath: instancePath + "/joinMiddleDown",
parentData: data,
parentDataProperty: "joinMiddleDown",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleLeft !== void 0) {
if (!validate46(data.joinMiddleLeft, {
instancePath: instancePath + "/joinMiddleLeft",
parentData: data,
parentDataProperty: "joinMiddleLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleRight !== void 0) {
if (!validate46(data.joinMiddleRight, {
instancePath: instancePath + "/joinMiddleRight",
parentData: data,
parentDataProperty: "joinMiddleRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate45.errors = vErrors;
return errors2 === 0;
}
var schema17 = {
"type": "string",
"enum": ["left", "right", "center", "justify"]
};
function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema17.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate68.errors = vErrors;
return errors2 === 0;
}
var pattern0 = new RegExp("^[0-9]+$", "u");
function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema17.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate72.errors = vErrors;
return errors2 === 0;
}
var schema21 = {
"type": "string",
"enum": ["top", "middle", "bottom"]
};
function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "top" || data === "middle" || data === "bottom")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema21.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate74.errors = vErrors;
return errors2 === 0;
}
function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate71.errors = vErrors;
return errors2 === 0;
}
function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
const _errs0 = errors2;
let valid0 = false;
let passing0 = null;
const _errs1 = errors2;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!pattern0.test(key0)) {
const err0 = {
instancePath,
schemaPath: "#/oneOf/0/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
for (const key1 in data) {
if (pattern0.test(key1)) {
if (!validate71(data[key1], {
instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
parentData: data,
parentDataProperty: key1,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/oneOf/0/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
var _valid0 = _errs1 === errors2;
if (_valid0) {
valid0 = true;
passing0 = 0;
}
const _errs5 = errors2;
if (Array.isArray(data)) {
const len0 = data.length;
for (let i0 = 0; i0 < len0; i0++) {
if (!validate71(data[i0], {
instancePath: instancePath + "/" + i0,
parentData: data,
parentDataProperty: i0,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
} else {
const err2 = {
instancePath,
schemaPath: "#/oneOf/1/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
var _valid0 = _errs5 === errors2;
if (_valid0 && valid0) {
valid0 = false;
passing0 = [passing0, 1];
} else {
if (_valid0) {
valid0 = true;
passing0 = 1;
}
}
if (!valid0) {
const err3 = {
instancePath,
schemaPath: "#/oneOf",
keyword: "oneOf",
params: {
passingSchemas: passing0
},
message: "must match exactly one schema in oneOf"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
} else {
errors2 = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
} else {
vErrors = null;
}
}
}
validate70.errors = vErrors;
return errors2 === 0;
}
function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate79.errors = vErrors;
return errors2 === 0;
}
function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (typeof data !== "string") {
const err0 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (!(data === "top" || data === "middle" || data === "bottom")) {
const err1 = {
instancePath,
schemaPath: "#/enum",
keyword: "enum",
params: {
allowedValues: schema21.enum
},
message: "must be equal to one of the allowed values"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate84.errors = vErrors;
return errors2 === 0;
}
function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
;
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.border !== void 0) {
if (!validate45(data.border, {
instancePath: instancePath + "/border",
parentData: data,
parentDataProperty: "border",
rootData
})) {
vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);
errors2 = vErrors.length;
}
}
if (data.header !== void 0) {
let data1 = data.header;
if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
if (data1.content === void 0) {
const err1 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/required",
keyword: "required",
params: {
missingProperty: "content"
},
message: "must have required property 'content'"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
for (const key1 in data1) {
if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) {
const err2 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key1
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
if (data1.content !== void 0) {
if (typeof data1.content !== "string") {
const err3 = {
instancePath: instancePath + "/header/content",
schemaPath: "#/properties/header/properties/content/type",
keyword: "type",
params: {
type: "string"
},
message: "must be string"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data1.alignment !== void 0) {
if (!validate68(data1.alignment, {
instancePath: instancePath + "/header/alignment",
parentData: data1,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
errors2 = vErrors.length;
}
}
if (data1.wrapWord !== void 0) {
if (typeof data1.wrapWord !== "boolean") {
const err4 = {
instancePath: instancePath + "/header/wrapWord",
schemaPath: "#/properties/header/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data1.truncate !== void 0) {
let data5 = data1.truncate;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/header/truncate",
schemaPath: "#/properties/header/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data1.paddingLeft !== void 0) {
let data6 = data1.paddingLeft;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/header/paddingLeft",
schemaPath: "#/properties/header/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
if (data1.paddingRight !== void 0) {
let data7 = data1.paddingRight;
if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) {
const err7 = {
instancePath: instancePath + "/header/paddingRight",
schemaPath: "#/properties/header/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
}
} else {
const err8 = {
instancePath: instancePath + "/header",
schemaPath: "#/properties/header/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err8];
} else {
vErrors.push(err8);
}
errors2++;
}
}
if (data.columns !== void 0) {
if (!validate70(data.columns, {
instancePath: instancePath + "/columns",
parentData: data,
parentDataProperty: "columns",
rootData
})) {
vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors);
errors2 = vErrors.length;
}
}
if (data.columnDefault !== void 0) {
if (!validate79(data.columnDefault, {
instancePath: instancePath + "/columnDefault",
parentData: data,
parentDataProperty: "columnDefault",
rootData
})) {
vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);
errors2 = vErrors.length;
}
}
if (data.drawVerticalLine !== void 0) {
if (typeof data.drawVerticalLine != "function") {
const err9 = {
instancePath: instancePath + "/drawVerticalLine",
schemaPath: "#/properties/drawVerticalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err9];
} else {
vErrors.push(err9);
}
errors2++;
}
}
if (data.drawHorizontalLine !== void 0) {
if (typeof data.drawHorizontalLine != "function") {
const err10 = {
instancePath: instancePath + "/drawHorizontalLine",
schemaPath: "#/properties/drawHorizontalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err10];
} else {
vErrors.push(err10);
}
errors2++;
}
}
if (data.singleLine !== void 0) {
if (typeof data.singleLine != "boolean") {
const err11 = {
instancePath: instancePath + "/singleLine",
schemaPath: "#/properties/singleLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err11];
} else {
vErrors.push(err11);
}
errors2++;
}
}
if (data.spanningCells !== void 0) {
let data13 = data.spanningCells;
if (Array.isArray(data13)) {
const len0 = data13.length;
for (let i0 = 0; i0 < len0; i0++) {
let data14 = data13[i0];
if (data14 && typeof data14 == "object" && !Array.isArray(data14)) {
if (data14.row === void 0) {
const err12 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/required",
keyword: "required",
params: {
missingProperty: "row"
},
message: "must have required property 'row'"
};
if (vErrors === null) {
vErrors = [err12];
} else {
vErrors.push(err12);
}
errors2++;
}
if (data14.col === void 0) {
const err13 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/required",
keyword: "required",
params: {
missingProperty: "col"
},
message: "must have required property 'col'"
};
if (vErrors === null) {
vErrors = [err13];
} else {
vErrors.push(err13);
}
errors2++;
}
for (const key2 in data14) {
if (!func4.call(schema13.properties.spanningCells.items.properties, key2)) {
const err14 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key2
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err14];
} else {
vErrors.push(err14);
}
errors2++;
}
}
if (data14.col !== void 0) {
let data15 = data14.col;
if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) {
const err15 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/col",
schemaPath: "#/properties/spanningCells/items/properties/col/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err15];
} else {
vErrors.push(err15);
}
errors2++;
}
if (typeof data15 == "number" && isFinite(data15)) {
if (data15 < 0 || isNaN(data15)) {
const err16 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/col",
schemaPath: "#/properties/spanningCells/items/properties/col/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 0
},
message: "must be >= 0"
};
if (vErrors === null) {
vErrors = [err16];
} else {
vErrors.push(err16);
}
errors2++;
}
}
}
if (data14.row !== void 0) {
let data16 = data14.row;
if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) {
const err17 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/row",
schemaPath: "#/properties/spanningCells/items/properties/row/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err17];
} else {
vErrors.push(err17);
}
errors2++;
}
if (typeof data16 == "number" && isFinite(data16)) {
if (data16 < 0 || isNaN(data16)) {
const err18 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/row",
schemaPath: "#/properties/spanningCells/items/properties/row/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 0
},
message: "must be >= 0"
};
if (vErrors === null) {
vErrors = [err18];
} else {
vErrors.push(err18);
}
errors2++;
}
}
}
if (data14.colSpan !== void 0) {
let data17 = data14.colSpan;
if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) {
const err19 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
schemaPath: "#/properties/spanningCells/items/properties/colSpan/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err19];
} else {
vErrors.push(err19);
}
errors2++;
}
if (typeof data17 == "number" && isFinite(data17)) {
if (data17 < 1 || isNaN(data17)) {
const err20 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err20];
} else {
vErrors.push(err20);
}
errors2++;
}
}
}
if (data14.rowSpan !== void 0) {
let data18 = data14.rowSpan;
if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) {
const err21 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err21];
} else {
vErrors.push(err21);
}
errors2++;
}
if (typeof data18 == "number" && isFinite(data18)) {
if (data18 < 1 || isNaN(data18)) {
const err22 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err22];
} else {
vErrors.push(err22);
}
errors2++;
}
}
}
if (data14.alignment !== void 0) {
if (!validate68(data14.alignment, {
instancePath: instancePath + "/spanningCells/" + i0 + "/alignment",
parentData: data14,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
errors2 = vErrors.length;
}
}
if (data14.verticalAlignment !== void 0) {
if (!validate84(data14.verticalAlignment, {
instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment",
parentData: data14,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors);
errors2 = vErrors.length;
}
}
if (data14.wrapWord !== void 0) {
if (typeof data14.wrapWord !== "boolean") {
const err23 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord",
schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err23];
} else {
vErrors.push(err23);
}
errors2++;
}
}
if (data14.truncate !== void 0) {
let data22 = data14.truncate;
if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) {
const err24 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/truncate",
schemaPath: "#/properties/spanningCells/items/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err24];
} else {
vErrors.push(err24);
}
errors2++;
}
}
if (data14.paddingLeft !== void 0) {
let data23 = data14.paddingLeft;
if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) {
const err25 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft",
schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err25];
} else {
vErrors.push(err25);
}
errors2++;
}
}
if (data14.paddingRight !== void 0) {
let data24 = data14.paddingRight;
if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) {
const err26 = {
instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight",
schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err26];
} else {
vErrors.push(err26);
}
errors2++;
}
}
} else {
const err27 = {
instancePath: instancePath + "/spanningCells/" + i0,
schemaPath: "#/properties/spanningCells/items/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err27];
} else {
vErrors.push(err27);
}
errors2++;
}
}
} else {
const err28 = {
instancePath: instancePath + "/spanningCells",
schemaPath: "#/properties/spanningCells/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err28];
} else {
vErrors.push(err28);
}
errors2++;
}
}
} else {
const err29 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err29];
} else {
vErrors.push(err29);
}
errors2++;
}
validate43.errors = vErrors;
return errors2 === 0;
}
exports2["streamConfig.json"] = validate86;
function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!func4.call(schema15.properties, key0)) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.topBody !== void 0) {
if (!validate46(data.topBody, {
instancePath: instancePath + "/topBody",
parentData: data,
parentDataProperty: "topBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topJoin !== void 0) {
if (!validate46(data.topJoin, {
instancePath: instancePath + "/topJoin",
parentData: data,
parentDataProperty: "topJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topLeft !== void 0) {
if (!validate46(data.topLeft, {
instancePath: instancePath + "/topLeft",
parentData: data,
parentDataProperty: "topLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.topRight !== void 0) {
if (!validate46(data.topRight, {
instancePath: instancePath + "/topRight",
parentData: data,
parentDataProperty: "topRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomBody !== void 0) {
if (!validate46(data.bottomBody, {
instancePath: instancePath + "/bottomBody",
parentData: data,
parentDataProperty: "bottomBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomJoin !== void 0) {
if (!validate46(data.bottomJoin, {
instancePath: instancePath + "/bottomJoin",
parentData: data,
parentDataProperty: "bottomJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomLeft !== void 0) {
if (!validate46(data.bottomLeft, {
instancePath: instancePath + "/bottomLeft",
parentData: data,
parentDataProperty: "bottomLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bottomRight !== void 0) {
if (!validate46(data.bottomRight, {
instancePath: instancePath + "/bottomRight",
parentData: data,
parentDataProperty: "bottomRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyLeft !== void 0) {
if (!validate46(data.bodyLeft, {
instancePath: instancePath + "/bodyLeft",
parentData: data,
parentDataProperty: "bodyLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyRight !== void 0) {
if (!validate46(data.bodyRight, {
instancePath: instancePath + "/bodyRight",
parentData: data,
parentDataProperty: "bodyRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.bodyJoin !== void 0) {
if (!validate46(data.bodyJoin, {
instancePath: instancePath + "/bodyJoin",
parentData: data,
parentDataProperty: "bodyJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.headerJoin !== void 0) {
if (!validate46(data.headerJoin, {
instancePath: instancePath + "/headerJoin",
parentData: data,
parentDataProperty: "headerJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinBody !== void 0) {
if (!validate46(data.joinBody, {
instancePath: instancePath + "/joinBody",
parentData: data,
parentDataProperty: "joinBody",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinLeft !== void 0) {
if (!validate46(data.joinLeft, {
instancePath: instancePath + "/joinLeft",
parentData: data,
parentDataProperty: "joinLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinRight !== void 0) {
if (!validate46(data.joinRight, {
instancePath: instancePath + "/joinRight",
parentData: data,
parentDataProperty: "joinRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinJoin !== void 0) {
if (!validate46(data.joinJoin, {
instancePath: instancePath + "/joinJoin",
parentData: data,
parentDataProperty: "joinJoin",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleUp !== void 0) {
if (!validate46(data.joinMiddleUp, {
instancePath: instancePath + "/joinMiddleUp",
parentData: data,
parentDataProperty: "joinMiddleUp",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleDown !== void 0) {
if (!validate46(data.joinMiddleDown, {
instancePath: instancePath + "/joinMiddleDown",
parentData: data,
parentDataProperty: "joinMiddleDown",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleLeft !== void 0) {
if (!validate46(data.joinMiddleLeft, {
instancePath: instancePath + "/joinMiddleLeft",
parentData: data,
parentDataProperty: "joinMiddleLeft",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
if (data.joinMiddleRight !== void 0) {
if (!validate46(data.joinMiddleRight, {
instancePath: instancePath + "/joinMiddleRight",
parentData: data,
parentDataProperty: "joinMiddleRight",
rootData
})) {
vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
errors2 = vErrors.length;
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
validate87.errors = vErrors;
return errors2 === 0;
}
function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
const _errs0 = errors2;
let valid0 = false;
let passing0 = null;
const _errs1 = errors2;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!pattern0.test(key0)) {
const err0 = {
instancePath,
schemaPath: "#/oneOf/0/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
for (const key1 in data) {
if (pattern0.test(key1)) {
if (!validate71(data[key1], {
instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
parentData: data,
parentDataProperty: key1,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
}
} else {
const err1 = {
instancePath,
schemaPath: "#/oneOf/0/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
var _valid0 = _errs1 === errors2;
if (_valid0) {
valid0 = true;
passing0 = 0;
}
const _errs5 = errors2;
if (Array.isArray(data)) {
const len0 = data.length;
for (let i0 = 0; i0 < len0; i0++) {
if (!validate71(data[i0], {
instancePath: instancePath + "/" + i0,
parentData: data,
parentDataProperty: i0,
rootData
})) {
vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
errors2 = vErrors.length;
}
}
} else {
const err2 = {
instancePath,
schemaPath: "#/oneOf/1/type",
keyword: "type",
params: {
type: "array"
},
message: "must be array"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
var _valid0 = _errs5 === errors2;
if (_valid0 && valid0) {
valid0 = false;
passing0 = [passing0, 1];
} else {
if (_valid0) {
valid0 = true;
passing0 = 1;
}
}
if (!valid0) {
const err3 = {
instancePath,
schemaPath: "#/oneOf",
keyword: "oneOf",
params: {
passingSchemas: passing0
},
message: "must match exactly one schema in oneOf"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
} else {
errors2 = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
} else {
vErrors = null;
}
}
}
validate109.errors = vErrors;
return errors2 === 0;
}
function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
for (const key0 in data) {
if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
const err0 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
}
if (data.alignment !== void 0) {
if (!validate72(data.alignment, {
instancePath: instancePath + "/alignment",
parentData: data,
parentDataProperty: "alignment",
rootData
})) {
vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
errors2 = vErrors.length;
}
}
if (data.verticalAlignment !== void 0) {
if (!validate74(data.verticalAlignment, {
instancePath: instancePath + "/verticalAlignment",
parentData: data,
parentDataProperty: "verticalAlignment",
rootData
})) {
vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
errors2 = vErrors.length;
}
}
if (data.width !== void 0) {
let data2 = data.width;
if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
const err1 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
if (typeof data2 == "number" && isFinite(data2)) {
if (data2 < 1 || isNaN(data2)) {
const err2 = {
instancePath: instancePath + "/width",
schemaPath: "#/properties/width/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
}
if (data.wrapWord !== void 0) {
if (typeof data.wrapWord !== "boolean") {
const err3 = {
instancePath: instancePath + "/wrapWord",
schemaPath: "#/properties/wrapWord/type",
keyword: "type",
params: {
type: "boolean"
},
message: "must be boolean"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
}
if (data.truncate !== void 0) {
let data4 = data.truncate;
if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
const err4 = {
instancePath: instancePath + "/truncate",
schemaPath: "#/properties/truncate/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
if (data.paddingLeft !== void 0) {
let data5 = data.paddingLeft;
if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
const err5 = {
instancePath: instancePath + "/paddingLeft",
schemaPath: "#/properties/paddingLeft/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
if (data.paddingRight !== void 0) {
let data6 = data.paddingRight;
if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
const err6 = {
instancePath: instancePath + "/paddingRight",
schemaPath: "#/properties/paddingRight/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
}
} else {
const err7 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err7];
} else {
vErrors.push(err7);
}
errors2++;
}
validate113.errors = vErrors;
return errors2 === 0;
}
function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
;
let vErrors = null;
let errors2 = 0;
if (data && typeof data == "object" && !Array.isArray(data)) {
if (data.columnDefault === void 0) {
const err0 = {
instancePath,
schemaPath: "#/required",
keyword: "required",
params: {
missingProperty: "columnDefault"
},
message: "must have required property 'columnDefault'"
};
if (vErrors === null) {
vErrors = [err0];
} else {
vErrors.push(err0);
}
errors2++;
}
if (data.columnCount === void 0) {
const err1 = {
instancePath,
schemaPath: "#/required",
keyword: "required",
params: {
missingProperty: "columnCount"
},
message: "must have required property 'columnCount'"
};
if (vErrors === null) {
vErrors = [err1];
} else {
vErrors.push(err1);
}
errors2++;
}
for (const key0 in data) {
if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) {
const err2 = {
instancePath,
schemaPath: "#/additionalProperties",
keyword: "additionalProperties",
params: {
additionalProperty: key0
},
message: "must NOT have additional properties"
};
if (vErrors === null) {
vErrors = [err2];
} else {
vErrors.push(err2);
}
errors2++;
}
}
if (data.border !== void 0) {
if (!validate87(data.border, {
instancePath: instancePath + "/border",
parentData: data,
parentDataProperty: "border",
rootData
})) {
vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors);
errors2 = vErrors.length;
}
}
if (data.columns !== void 0) {
if (!validate109(data.columns, {
instancePath: instancePath + "/columns",
parentData: data,
parentDataProperty: "columns",
rootData
})) {
vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors);
errors2 = vErrors.length;
}
}
if (data.columnDefault !== void 0) {
if (!validate113(data.columnDefault, {
instancePath: instancePath + "/columnDefault",
parentData: data,
parentDataProperty: "columnDefault",
rootData
})) {
vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors);
errors2 = vErrors.length;
}
}
if (data.columnCount !== void 0) {
let data3 = data.columnCount;
if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) {
const err3 = {
instancePath: instancePath + "/columnCount",
schemaPath: "#/properties/columnCount/type",
keyword: "type",
params: {
type: "integer"
},
message: "must be integer"
};
if (vErrors === null) {
vErrors = [err3];
} else {
vErrors.push(err3);
}
errors2++;
}
if (typeof data3 == "number" && isFinite(data3)) {
if (data3 < 1 || isNaN(data3)) {
const err4 = {
instancePath: instancePath + "/columnCount",
schemaPath: "#/properties/columnCount/minimum",
keyword: "minimum",
params: {
comparison: ">=",
limit: 1
},
message: "must be >= 1"
};
if (vErrors === null) {
vErrors = [err4];
} else {
vErrors.push(err4);
}
errors2++;
}
}
}
if (data.drawVerticalLine !== void 0) {
if (typeof data.drawVerticalLine != "function") {
const err5 = {
instancePath: instancePath + "/drawVerticalLine",
schemaPath: "#/properties/drawVerticalLine/typeof",
keyword: "typeof",
params: {},
message: 'must pass "typeof" keyword validation'
};
if (vErrors === null) {
vErrors = [err5];
} else {
vErrors.push(err5);
}
errors2++;
}
}
} else {
const err6 = {
instancePath,
schemaPath: "#/type",
keyword: "type",
params: {
type: "object"
},
message: "must be object"
};
if (vErrors === null) {
vErrors = [err6];
} else {
vErrors.push(err6);
}
errors2++;
}
validate86.errors = vErrors;
return errors2 === 0;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateConfig.js
var require_validateConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateConfig.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateConfig = void 0;
var validators_1 = __importDefault2(require_validators2());
var validateConfig = (schemaId, config2) => {
const validate2 = validators_1.default[schemaId];
if (!validate2(config2) && validate2.errors) {
const errors2 = validate2.errors.map((error) => {
return {
message: error.message,
params: error.params,
schemaPath: error.schemaPath
};
});
console.log("config", config2);
console.log("errors", errors2);
throw new Error("Invalid config.");
}
};
exports2.validateConfig = validateConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeStreamConfig.js
var require_makeStreamConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeStreamConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeStreamConfig = void 0;
var utils_1 = require_utils15();
var validateConfig_1 = require_validateConfig2();
var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => {
return Array.from({ length: columnCount }).map((_, index2) => {
return {
alignment: "left",
paddingLeft: 1,
paddingRight: 1,
truncate: Number.POSITIVE_INFINITY,
verticalAlignment: "top",
wrapWord: false,
...columnDefault,
...columns[index2]
};
});
};
var makeStreamConfig = (config2) => {
(0, validateConfig_1.validateConfig)("streamConfig.json", config2);
if (config2.columnDefault.width === void 0) {
throw new Error("Must provide config.columnDefault.width when creating a stream.");
}
return {
drawVerticalLine: () => {
return true;
},
...config2,
border: (0, utils_1.makeBorderConfig)(config2.border),
columns: makeColumnsConfig(config2.columnCount, config2.columns, config2.columnDefault)
};
};
exports2.makeStreamConfig = makeStreamConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js
var require_mapDataUsingRowHeights2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0;
var utils_1 = require_utils15();
var wrapCell_1 = require_wrapCell2();
var createEmptyStrings = (length) => {
return new Array(length).fill("");
};
var padCellVertically = (lines, rowHeight, verticalAlignment) => {
const availableLines = rowHeight - lines.length;
if (verticalAlignment === "top") {
return [...lines, ...createEmptyStrings(availableLines)];
}
if (verticalAlignment === "bottom") {
return [...createEmptyStrings(availableLines), ...lines];
}
return [
...createEmptyStrings(Math.floor(availableLines / 2)),
...lines,
...createEmptyStrings(Math.ceil(availableLines / 2))
];
};
exports2.padCellVertically = padCellVertically;
var mapDataUsingRowHeights = (unmappedRows, rowHeights, config2) => {
const nColumns = unmappedRows[0].length;
const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => {
const outputRowHeight = rowHeights[unmappedRowIndex];
const outputRow = Array.from({ length: outputRowHeight }, () => {
return new Array(nColumns).fill("");
});
unmappedRow.forEach((cell, cellIndex) => {
const containingRange = config2.spanningCellManager?.getContainingRange({
col: cellIndex,
row: unmappedRowIndex
});
if (containingRange) {
containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => {
outputRow[cellLineIndex][cellIndex] = cellLine;
});
return;
}
const cellLines = (0, wrapCell_1.wrapCell)(cell, config2.columns[cellIndex].width, config2.columns[cellIndex].wrapWord);
const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config2.columns[cellIndex].verticalAlignment);
paddedCellLines.forEach((cellLine, cellLineIndex) => {
outputRow[cellLineIndex][cellIndex] = cellLine;
});
});
return outputRow;
});
return (0, utils_1.flatten)(mappedRows);
};
exports2.mapDataUsingRowHeights = mapDataUsingRowHeights;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/padTableData.js
var require_padTableData2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/padTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.padTableData = exports2.padString = void 0;
var padString = (input, paddingLeft, paddingRight) => {
return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight);
};
exports2.padString = padString;
var padTableData = (rows, config2) => {
return rows.map((cells, rowIndex) => {
return cells.map((cell, cellIndex) => {
const containingRange = config2.spanningCellManager?.getContainingRange({
col: cellIndex,
row: rowIndex
}, { mapped: true });
if (containingRange) {
return cell;
}
const { paddingLeft, paddingRight } = config2.columns[cellIndex];
return (0, exports2.padString)(cell, paddingLeft, paddingRight);
});
});
};
exports2.padTableData = padTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/stringifyTableData.js
var require_stringifyTableData2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/stringifyTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.stringifyTableData = void 0;
var utils_1 = require_utils15();
var stringifyTableData = (rows) => {
return rows.map((cells) => {
return cells.map((cell) => {
return (0, utils_1.normalizeString)(String(cell));
});
});
};
exports2.stringifyTableData = stringifyTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/truncateTableData.js
var require_truncateTableData2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/truncateTableData.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.truncateTableData = exports2.truncateString = void 0;
var lodash_truncate_1 = __importDefault2(require_lodash3());
var truncateString = (input, length) => {
return (0, lodash_truncate_1.default)(input, {
length,
omission: "\u2026"
});
};
exports2.truncateString = truncateString;
var truncateTableData = (rows, truncates) => {
return rows.map((cells) => {
return cells.map((cell, cellIndex) => {
return (0, exports2.truncateString)(cell, truncates[cellIndex]);
});
});
};
exports2.truncateTableData = truncateTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/createStream.js
var require_createStream2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/createStream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createStream = void 0;
var alignTableData_1 = require_alignTableData2();
var calculateRowHeights_1 = require_calculateRowHeights2();
var drawBorder_1 = require_drawBorder2();
var drawRow_1 = require_drawRow2();
var makeStreamConfig_1 = require_makeStreamConfig2();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
var padTableData_1 = require_padTableData2();
var stringifyTableData_1 = require_stringifyTableData2();
var truncateTableData_1 = require_truncateTableData2();
var utils_1 = require_utils15();
var prepareData = (data, config2) => {
let rows = (0, stringifyTableData_1.stringifyTableData)(data);
rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config2));
const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config2);
rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config2);
rows = (0, alignTableData_1.alignTableData)(rows, config2);
rows = (0, padTableData_1.padTableData)(rows, config2);
return rows;
};
var create = (row, columnWidths, config2) => {
const rows = prepareData([row], config2);
const body = rows.map((literalRow) => {
return (0, drawRow_1.drawRow)(literalRow, config2);
}).join("");
let output;
output = "";
output += (0, drawBorder_1.drawBorderTop)(columnWidths, config2);
output += body;
output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config2);
output = output.trimEnd();
process.stdout.write(output);
};
var append = (row, columnWidths, config2) => {
const rows = prepareData([row], config2);
const body = rows.map((literalRow) => {
return (0, drawRow_1.drawRow)(literalRow, config2);
}).join("");
let output = "";
const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config2);
if (bottom !== "\n") {
output = "\r\x1B[K";
}
output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config2);
output += body;
output += bottom;
output = output.trimEnd();
process.stdout.write(output);
};
var createStream = (userConfig) => {
const config2 = (0, makeStreamConfig_1.makeStreamConfig)(userConfig);
const columnWidths = Object.values(config2.columns).map((column) => {
return column.width + column.paddingLeft + column.paddingRight;
});
let empty4 = true;
return {
write: (row) => {
if (row.length !== config2.columnCount) {
throw new Error("Row cell count does not match the config.columnCount.");
}
if (empty4) {
empty4 = false;
create(row, columnWidths, config2);
} else {
append(row, columnWidths, config2);
}
}
};
};
exports2.createStream = createStream;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js
var require_calculateOutputColumnWidths2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateOutputColumnWidths = void 0;
var calculateOutputColumnWidths = (config2) => {
return config2.columns.map((col) => {
return col.paddingLeft + col.width + col.paddingRight;
});
};
exports2.calculateOutputColumnWidths = calculateOutputColumnWidths;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawTable.js
var require_drawTable2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/drawTable.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.drawTable = void 0;
var drawBorder_1 = require_drawBorder2();
var drawContent_1 = require_drawContent2();
var drawRow_1 = require_drawRow2();
var utils_1 = require_utils15();
var drawTable = (rows, outputColumnWidths, rowHeights, config2) => {
const { drawHorizontalLine, singleLine } = config2;
const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => {
return group.map((row) => {
return (0, drawRow_1.drawRow)(row, {
...config2,
rowIndex: groupIndex
});
}).join("");
});
return (0, drawContent_1.drawContent)({
contents,
drawSeparator: (index2, size) => {
if (index2 === 0 || index2 === size) {
return drawHorizontalLine(index2, size);
}
return !singleLine && drawHorizontalLine(index2, size);
},
elementType: "row",
rowIndex: -1,
separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, {
...config2,
rowCount: contents.length
}),
spanningCellManager: config2.spanningCellManager
});
};
exports2.drawTable = drawTable;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js
var require_injectHeaderConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.injectHeaderConfig = void 0;
var injectHeaderConfig = (rows, config2) => {
let spanningCellConfig = config2.spanningCells ?? [];
const headerConfig = config2.header;
const adjustedRows = [...rows];
if (headerConfig) {
spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => {
return {
...rest,
row: row + 1
};
});
const { content, ...headerStyles } = headerConfig;
spanningCellConfig.unshift({
alignment: "center",
col: 0,
colSpan: rows[0].length,
paddingLeft: 1,
paddingRight: 1,
row: 0,
wrapWord: false,
...headerStyles
});
adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]);
}
return [
adjustedRows,
spanningCellConfig
];
};
exports2.injectHeaderConfig = injectHeaderConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js
var require_calculateMaximumColumnWidths2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0;
var string_width_1 = __importDefault2(require_string_width());
var utils_1 = require_utils15();
var calculateMaximumCellWidth = (cell) => {
return Math.max(...cell.split("\n").map(string_width_1.default));
};
exports2.calculateMaximumCellWidth = calculateMaximumCellWidth;
var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => {
const columnWidths = new Array(rows[0].length).fill(0);
const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate);
const isSpanningCell = (rowIndex, columnIndex) => {
return rangeCoordinates.some((rangeCoordinate) => {
return (0, utils_1.isCellInRange)({
col: columnIndex,
row: rowIndex
}, rangeCoordinate);
});
};
rows.forEach((row, rowIndex) => {
row.forEach((cell, cellIndex) => {
if (isSpanningCell(rowIndex, cellIndex)) {
return;
}
columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell));
});
});
return columnWidths;
};
exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignSpanningCell.js
var require_alignSpanningCell2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/alignSpanningCell.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0;
var string_width_1 = __importDefault2(require_string_width());
var alignString_1 = require_alignString2();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
var padTableData_1 = require_padTableData2();
var truncateTableData_1 = require_truncateTableData2();
var utils_1 = require_utils15();
var wrapCell_1 = require_wrapCell2();
var wrapRangeContent = (rangeConfig, rangeWidth, context) => {
const { topLeft, paddingRight, paddingLeft, truncate, wrapWord: wrapWord2, alignment } = rangeConfig;
const originalContent = context.rows[topLeft.row][topLeft.col];
const contentWidth = rangeWidth - paddingLeft - paddingRight;
return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord2).map((line) => {
const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment);
return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight);
});
};
exports2.wrapRangeContent = wrapRangeContent;
var alignVerticalRangeContent = (range, content, context) => {
const { rows, drawHorizontalLine, rowHeights } = context;
const { topLeft, bottomRight, verticalAlignment } = range;
if (rowHeights.length === 0) {
return [];
}
const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1));
const totalBorderHeight = bottomRight.row - topLeft.row;
const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
return !drawHorizontalLine(horizontalBorderIndex, rows.length);
}).length;
const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount;
return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => {
if (line.length === 0) {
return " ".repeat((0, string_width_1.default)(content[0]));
}
return line;
});
};
exports2.alignVerticalRangeContent = alignVerticalRangeContent;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js
var require_calculateSpanningCellWidth2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.calculateSpanningCellWidth = void 0;
var utils_1 = require_utils15();
var calculateSpanningCellWidth = (rangeConfig, dependencies) => {
const { columnsConfig, drawVerticalLine } = dependencies;
const { topLeft, bottomRight } = rangeConfig;
const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => {
return width;
}));
const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => {
return paddingLeft + paddingRight;
}));
const totalBorderWidths = bottomRight.col - topLeft.col;
const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => {
return !drawVerticalLine(verticalBorderIndex, columnsConfig.length);
}).length;
return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders;
};
exports2.calculateSpanningCellWidth = calculateSpanningCellWidth;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeRangeConfig.js
var require_makeRangeConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeRangeConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeRangeConfig = void 0;
var utils_1 = require_utils15();
var makeRangeConfig = (spanningCellConfig, columnsConfig) => {
const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig);
const cellConfig = {
...columnsConfig[topLeft.col],
...spanningCellConfig,
paddingRight: spanningCellConfig.paddingRight ?? columnsConfig[bottomRight.col].paddingRight
};
return {
...cellConfig,
bottomRight,
topLeft
};
};
exports2.makeRangeConfig = makeRangeConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/spanningCellManager.js
var require_spanningCellManager2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/spanningCellManager.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createSpanningCellManager = void 0;
var alignSpanningCell_1 = require_alignSpanningCell2();
var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth2();
var makeRangeConfig_1 = require_makeRangeConfig2();
var utils_1 = require_utils15();
var findRangeConfig = (cell, rangeConfigs) => {
return rangeConfigs.find((rangeCoordinate) => {
return (0, utils_1.isCellInRange)(cell, rangeCoordinate);
});
};
var getContainingRange = (rangeConfig, context) => {
const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context);
const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context);
const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context);
const getCellContent = (rowIndex) => {
const { topLeft } = rangeConfig;
const { drawHorizontalLine, rowHeights } = context;
const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row;
const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index2) => {
return !drawHorizontalLine?.(index2, rowHeights.length);
}).length;
const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight;
return alignedContent.slice(offset, offset + rowHeights[rowIndex]);
};
const getBorderContent = (borderIndex) => {
const { topLeft } = rangeConfig;
const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1);
return alignedContent[offset];
};
return {
...rangeConfig,
extractBorderContent: getBorderContent,
extractCellContent: getCellContent,
height: wrappedContent.length,
width
};
};
var inSameRange = (cell1, cell2, ranges) => {
const range1 = findRangeConfig(cell1, ranges);
const range2 = findRangeConfig(cell2, ranges);
if (range1 && range2) {
return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft);
}
return false;
};
var hashRange = (range) => {
const { row, col } = range.topLeft;
return `${row}/${col}`;
};
var createSpanningCellManager = (parameters) => {
const { spanningCellConfigs, columnsConfig } = parameters;
const ranges = spanningCellConfigs.map((config2) => {
return (0, makeRangeConfig_1.makeRangeConfig)(config2, columnsConfig);
});
const rangeCache = {};
let rowHeights = [];
return {
getContainingRange: (cell, options) => {
const originalRow = options?.mapped ? (0, utils_1.findOriginalRowIndex)(rowHeights, cell.row) : cell.row;
const range = findRangeConfig({
...cell,
row: originalRow
}, ranges);
if (!range) {
return void 0;
}
if (rowHeights.length === 0) {
return getContainingRange(range, {
...parameters,
rowHeights
});
}
const hash2 = hashRange(range);
rangeCache[hash2] ?? (rangeCache[hash2] = getContainingRange(range, {
...parameters,
rowHeights
}));
return rangeCache[hash2];
},
inSameRange: (cell1, cell2) => {
return inSameRange(cell1, cell2, ranges);
},
rowHeights,
setRowHeights: (_rowHeights) => {
rowHeights = _rowHeights;
}
};
};
exports2.createSpanningCellManager = createSpanningCellManager;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js
var require_validateSpanningCellConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateSpanningCellConfig = void 0;
var utils_1 = require_utils15();
var inRange2 = (start, end, value) => {
return start <= value && value <= end;
};
var validateSpanningCellConfig = (rows, configs) => {
const [nRow, nCol] = [rows.length, rows[0].length];
configs.forEach((config2, configIndex) => {
const { colSpan, rowSpan } = config2;
if (colSpan === void 0 && rowSpan === void 0) {
throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`);
}
if (colSpan !== void 0 && colSpan < 1) {
throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`);
}
if (rowSpan !== void 0 && rowSpan < 1) {
throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`);
}
});
const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate);
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
if (!inRange2(0, nCol - 1, topLeft.col) || !inRange2(0, nRow - 1, topLeft.row) || !inRange2(0, nCol - 1, bottomRight.col) || !inRange2(0, nRow - 1, bottomRight.row)) {
throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`);
}
});
const configOccupy = Array.from({ length: nRow }, () => {
return Array.from({ length: nCol });
});
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
(0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => {
(0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => {
if (configOccupy[row][col] !== void 0) {
throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`);
}
configOccupy[row][col] = rangeIndex;
});
});
});
};
exports2.validateSpanningCellConfig = validateSpanningCellConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeTableConfig.js
var require_makeTableConfig2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/makeTableConfig.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeTableConfig = void 0;
var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths2();
var spanningCellManager_1 = require_spanningCellManager2();
var utils_1 = require_utils15();
var validateConfig_1 = require_validateConfig2();
var validateSpanningCellConfig_1 = require_validateSpanningCellConfig2();
var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => {
const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs);
return rows[0].map((_, columnIndex) => {
return {
alignment: "left",
paddingLeft: 1,
paddingRight: 1,
truncate: Number.POSITIVE_INFINITY,
verticalAlignment: "top",
width: columnWidths[columnIndex],
wrapWord: false,
...columnDefault,
...columns?.[columnIndex]
};
});
};
var makeTableConfig = (rows, config2 = {}, injectedSpanningCellConfig) => {
(0, validateConfig_1.validateConfig)("config.json", config2);
(0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, config2.spanningCells ?? []);
const spanningCellConfigs = injectedSpanningCellConfig ?? config2.spanningCells ?? [];
const columnsConfig = makeColumnsConfig(rows, config2.columns, config2.columnDefault, spanningCellConfigs);
const drawVerticalLine = config2.drawVerticalLine ?? (() => {
return true;
});
const drawHorizontalLine = config2.drawHorizontalLine ?? (() => {
return true;
});
return {
...config2,
border: (0, utils_1.makeBorderConfig)(config2.border),
columns: columnsConfig,
drawHorizontalLine,
drawVerticalLine,
singleLine: config2.singleLine ?? false,
spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({
columnsConfig,
drawHorizontalLine,
drawVerticalLine,
rows,
spanningCellConfigs
})
};
};
exports2.makeTableConfig = makeTableConfig;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateTableData.js
var require_validateTableData2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/validateTableData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateTableData = void 0;
var utils_1 = require_utils15();
var validateTableData = (rows) => {
if (!Array.isArray(rows)) {
throw new TypeError("Table data must be an array.");
}
if (rows.length === 0) {
throw new Error("Table must define at least one row.");
}
if (rows[0].length === 0) {
throw new Error("Table must define at least one column.");
}
const columnNumber = rows[0].length;
for (const row of rows) {
if (!Array.isArray(row)) {
throw new TypeError("Table row data must be an array.");
}
if (row.length !== columnNumber) {
throw new Error("Table must have a consistent number of cells.");
}
for (const cell of row) {
if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) {
throw new Error("Table data must not contain control characters.");
}
}
}
};
exports2.validateTableData = validateTableData;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/table.js
var require_table2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/table.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.table = void 0;
var alignTableData_1 = require_alignTableData2();
var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths2();
var calculateRowHeights_1 = require_calculateRowHeights2();
var drawTable_1 = require_drawTable2();
var injectHeaderConfig_1 = require_injectHeaderConfig2();
var makeTableConfig_1 = require_makeTableConfig2();
var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
var padTableData_1 = require_padTableData2();
var stringifyTableData_1 = require_stringifyTableData2();
var truncateTableData_1 = require_truncateTableData2();
var utils_1 = require_utils15();
var validateTableData_1 = require_validateTableData2();
var table9 = (data, userConfig = {}) => {
(0, validateTableData_1.validateTableData)(data);
let rows = (0, stringifyTableData_1.stringifyTableData)(data);
const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig);
const config2 = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig);
rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config2));
const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config2);
config2.spanningCellManager.setRowHeights(rowHeights);
rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config2);
rows = (0, alignTableData_1.alignTableData)(rows, config2);
rows = (0, padTableData_1.padTableData)(rows, config2);
const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config2);
return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config2);
};
exports2.table = table9;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/types/api.js
var require_api3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/types/api.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/index.js
var require_src2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@zkochan/table/2.0.1/0957a26d956022c25d4f67452c6b58af9bb6cffc46c5a3529f7b76b8a56d5269/node_modules/@zkochan/table/dist/src/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
Object.defineProperty(o2, k22, { enumerable: true, get: function() {
return m[k2];
} });
}) : (function(o2, m, k2, k22) {
if (k22 === void 0) k22 = k2;
o2[k22] = m[k2];
}));
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0;
var createStream_1 = require_createStream2();
Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() {
return createStream_1.createStream;
} });
var getBorderCharacters_1 = require_getBorderCharacters2();
Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() {
return getBorderCharacters_1.getBorderCharacters;
} });
var table_1 = require_table2();
Object.defineProperty(exports2, "table", { enumerable: true, get: function() {
return table_1.table;
} });
__exportStar2(require_api3(), exports2);
}
});
// ../installing/commands/lib/update/getUpdateChoices.js
import { stripVTControlCharacters as stripVTControlCharacters4 } from "node:util";
function getUpdateChoices(outdatedPkgsOfProjects, workspacesEnabled) {
if (isEmpty_default(outdatedPkgsOfProjects)) {
return [];
}
const pkgUniqueKey = (outdatedPkg) => {
return JSON.stringify([outdatedPkg.packageName, outdatedPkg.latestManifest?.version, outdatedPkg.current]);
};
const dedupeAndGroupPkgs = pipe(uniqBy_default((outdatedPkg) => pkgUniqueKey(outdatedPkg)), groupBy_default((outdatedPkg) => outdatedPkg.belongsTo));
const groupPkgsByType = dedupeAndGroupPkgs(outdatedPkgsOfProjects);
const headerRow = {
Package: true,
Current: true,
" ": true,
Target: true,
Workspace: workspacesEnabled,
URL: true
};
const header = Object.keys(pickBy_default(and_default, headerRow));
const finalChoices = [];
for (const [depGroup, choiceRows] of Object.entries(groupPkgsByType)) {
if (choiceRows.length === 0)
continue;
const rawChoices = [];
for (const choice of choiceRows) {
if (choice.latestManifest != null && choice.latestManifest.version !== choice.current) {
rawChoices.push(buildPkgChoice(choice, workspacesEnabled));
}
}
if (rawChoices.length === 0)
continue;
rawChoices.unshift({
raw: header,
name: "",
disabled: true
});
const renderedTable = alignColumns(pluck_default("raw", rawChoices)).filter(Boolean);
const choices = rawChoices.map((outdatedPkg, i4) => {
if (i4 === 0) {
return {
name: renderedTable[i4],
message: renderedTable[i4],
value: "",
disabled: true,
hint: ""
};
}
return {
name: outdatedPkg.name,
message: renderedTable[i4],
value: outdatedPkg.name
};
});
finalChoices.push({ name: `[${depGroup}]`, choices, message: depGroup });
}
return finalChoices;
}
function buildPkgChoice(outdatedPkg, workspacesEnabled) {
const sdiff = semverDiff(outdatedPkg.wanted, outdatedPkg.latestManifest.version);
const nextVersion = sdiff.change === null ? outdatedPkg.latestManifest.version : colorizeSemverDiff(sdiff);
const label = outdatedPkg.packageName;
const raw = [
label,
outdatedPkg.current ?? "",
"\u276F",
nextVersion
];
if (workspacesEnabled) {
raw.push(outdatedPkg.workspace ?? "");
}
raw.push(getPkgUrl(outdatedPkg));
return {
raw,
name: outdatedPkg.packageName
};
}
function getPkgUrl(pkg) {
if (pkg.latestManifest?.homepage) {
return pkg.latestManifest?.homepage;
}
if (typeof pkg.latestManifest?.repository !== "string") {
if (pkg.latestManifest?.repository?.url) {
return pkg.latestManifest?.repository?.url;
}
}
return "";
}
function alignColumns(rows) {
return (0, import_table2.table)(rows, {
border: (0, import_table2.getBorderCharacters)("void"),
columnDefault: {
paddingLeft: 0,
paddingRight: 1,
wrapWord: true
},
columns: {
0: { width: 50, truncate: 100 },
1: { width: getColumnWidth(rows, 1, 15), alignment: "right" },
3: { width: getColumnWidth(rows, 3, 15) },
4: { paddingLeft: 2 },
5: { paddingLeft: 2 }
},
drawHorizontalLine: () => false
}).split("\n");
}
function getColumnWidth(rows, columnIndex, minWidth) {
return rows.reduce((max4, row) => {
if (row[columnIndex] == null)
return max4;
return Math.max(max4, stripVTControlCharacters4(row[columnIndex]).length);
}, minWidth);
}
var import_table2;
var init_getUpdateChoices = __esm({
"../installing/commands/lib/update/getUpdateChoices.js"() {
"use strict";
init_lib140();
init_lib141();
import_table2 = __toESM(require_src2(), 1);
init_es();
}
});
// ../installing/commands/lib/update/index.js
var update_exports = {};
__export(update_exports, {
cliOptionsTypes: () => cliOptionsTypes12,
commandNames: () => commandNames13,
completion: () => completion2,
handler: () => handler13,
help: () => help13,
rcOptionsTypes: () => rcOptionsTypes13,
shorthands: () => shorthands4
});
function rcOptionsTypes13() {
return pick_default([
"cache-dir",
"dangerously-allow-all-builds",
"depth",
"dev",
"engine-strict",
"fetch-retries",
"fetch-retry-factor",
"fetch-retry-maxtimeout",
"fetch-retry-mintimeout",
"fetch-timeout",
"force",
"global-dir",
"global-pnpmfile",
"global",
"https-proxy",
"ignore-pnpmfile",
"ignore-scripts",
"lockfile-dir",
"lockfile-only",
"lockfile",
"lockfile-include-tarball-url",
"network-concurrency",
"node-experimental-package-map",
"node-package-map-type",
"noproxy",
"npm-path",
"offline",
"only",
"optional",
"package-import-method",
"pnpmfile",
"prefer-offline",
"production",
"proxy",
"registry",
"reporter",
"save",
"save-exact",
"save-prefix",
"save-workspace-protocol",
"scripts-prepend-node-path",
"shamefully-hoist",
"shared-workspace-lockfile",
"side-effects-cache-readonly",
"side-effects-cache",
"store-dir",
"unsafe-perm"
], types2);
}
function cliOptionsTypes12() {
return {
...rcOptionsTypes13(),
interactive: Boolean,
latest: Boolean,
recursive: Boolean,
workspace: Boolean
};
}
function help13() {
return renderHelp({
aliases: ["up", "upgrade"],
description: 'Updates packages to their latest version based on the specified range. You can use "*" in package name to update all packages with the same pattern.',
descriptionLists: [
{
title: "Options",
list: [
{
description: 'Update in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
name: "--recursive",
shortAlias: "-r"
},
{
description: "Update globally installed packages",
name: "--global",
shortAlias: "-g"
},
{
description: "How deep should levels of dependencies be inspected. Infinity is default. 0 would mean top-level dependencies only",
name: "--depth <number>"
},
{
description: "Ignore version ranges in package.json",
name: "--latest",
shortAlias: "-L"
},
{
description: 'Update packages only in "dependencies" and "optionalDependencies"',
name: "--prod",
shortAlias: "-P"
},
{
description: 'Update packages only in "devDependencies"',
name: "--dev",
shortAlias: "-D"
},
{
description: `Don't update packages in "optionalDependencies"`,
name: "--no-optional"
},
{
description: "Tries to link all packages from the workspace. Versions are updated to match the versions of packages inside the workspace. If specific packages are updated, the command will fail if any of the updated dependencies is not found inside the workspace",
name: "--workspace"
},
{
description: "Show outdated dependencies and select which ones to update",
name: "--interactive",
shortAlias: "-i"
},
{
description: "Don't update the ranges in package.json.",
name: "--no-save"
},
OPTIONS.globalDir,
...UNIVERSAL_OPTIONS
]
},
FILTERING
],
url: docsUrl("update"),
usages: ["pnpm update [-g] [<pkg>...]"]
});
}
async function handler13(opts3, params = [], commands2) {
if (opts3.global) {
if (!opts3.bin) {
throw new PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", {
hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.'
});
}
return handleGlobalUpdate({
...opts3,
...createGlobalPolicyCallbacks(opts3)
}, params, commands2 ?? {});
}
const rebuildHandler = commands2?.rebuild;
if (opts3.interactive) {
return interactiveUpdate(params, opts3, rebuildHandler);
}
return update(params, opts3, rebuildHandler);
}
async function interactiveUpdate(input, opts3, rebuildHandler) {
const include = makeIncludeDependenciesFromCLI(opts3.cliOptions);
const projects = opts3.selectedProjectsGraph != null ? Object.values(opts3.selectedProjectsGraph).map((wsPkg) => wsPkg.package) : [
{
rootDir: opts3.dir,
manifest: await readProjectManifestOnly2(opts3.dir, opts3)
}
];
const outdatedPkgsOfProjects = await outdatedDepsOfProjects(projects, input, {
...opts3,
compatible: opts3.latest !== true,
ignoreDependencies: opts3.updateConfig?.ignoreDependencies,
include,
retry: {
factor: opts3.fetchRetryFactor,
maxTimeout: opts3.fetchRetryMaxtimeout,
minTimeout: opts3.fetchRetryMintimeout,
retries: opts3.fetchRetries
},
timeout: opts3.fetchTimeout
});
const workspacesEnabled = !!opts3.workspaceDir;
const choiceGroups = getUpdateChoices(unnest_default(outdatedPkgsOfProjects), workspacesEnabled);
if (choiceGroups.length === 0) {
if (opts3.latest) {
return "All of your dependencies are already up to date";
}
return "All of your dependencies are already up to date inside the specified ranges. Use the --latest option to update the ranges in package.json";
}
const flatChoices = [];
for (const group of choiceGroups) {
flatChoices.push(new Separator(source_default.bold(`\u2500\u2500 ${group.message} \u2500\u2500`)));
for (const choice of group.choices) {
if (choice.disabled) {
flatChoices.push(new Separator(` ${choice.message ?? choice.name}`));
} else {
flatChoices.push({
name: choice.message,
value: choice.value,
// `name` is the rendered table row (label + versions + workspace + url)
// that lays out a single choice during selection. After submission
// @inquirer/prompts comma-joins each choice's `short`, which without
// this defaults to `name` and dumps the whole table back to stdout.
short: choice.value
});
}
}
}
const message = `Choose which packages to update (Press ${source_default.cyan("<space>")} to select, ${source_default.cyan("<a>")} to toggle all, ${source_default.cyan("<i>")} to invert selection)
Enter to start updating. Ctrl-c to cancel.`;
let updatePkgNames;
try {
updatePkgNames = await dist_default4({
choices: flatChoices,
pageSize: interactivePromptPageSize(),
message,
required: true,
validate: (values) => {
if (values.length === 0) {
return "You must choose at least one package.";
}
return true;
},
theme: {
icon: { checked: "\u25CF", unchecked: "\u25CB", cursor: "\u276F" },
style: {
highlight: (text) => text
},
keybindings: ["vim"]
}
});
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
globalInfo("Update canceled");
process.exit(0);
}
throw err2;
}
return update(updatePkgNames, opts3, rebuildHandler);
}
async function update(dependencies, opts3, rebuildHandler) {
if (opts3.latest) {
const dependenciesWithTags = dependencies.filter((name) => parseUpdateParam(name).versionSpec != null);
if (dependenciesWithTags.length) {
throw new PnpmError("LATEST_WITH_SPEC", `Specs are not allowed to be used with --latest (${dependenciesWithTags.join(", ")})`);
}
}
const includeDirect = makeIncludeDependenciesFromCLI(opts3.cliOptions);
const include = {
dependencies: true,
devDependencies: true,
optionalDependencies: true
};
const depth = opts3.depth ?? Infinity;
let updateMatching;
if (opts3.packageVulnerabilityAudit != null) {
updateMatching = createVulnerabilityUpdateMatching(opts3.packageVulnerabilityAudit);
} else if (dependencies.length > 0 && dependencies.every((dep) => !dep.substring(1).includes("@")) && depth > 0 && !opts3.latest) {
updateMatching = createMatcher(dependencies);
}
await installDeps({
...opts3,
rebuildHandler,
allowNew: false,
depth,
ignoreCurrentSpecifiers: false,
include,
includeDirect,
update: true,
updateToLatest: opts3.latest,
updateMatching,
updatePackageManifest: opts3.save !== false,
resolutionMode: opts3.save === false ? "highest" : opts3.resolutionMode,
// `--dry-run` is an `install`-only preview; never let a config-level
// `dry-run` turn `update` into a no-op check.
dryRun: false
}, dependencies);
}
function makeIncludeDependenciesFromCLI(opts3) {
return {
dependencies: opts3.production === true || opts3.dev !== true && opts3.optional !== true,
devDependencies: opts3.dev === true || opts3.production !== true && opts3.optional !== true,
optionalDependencies: opts3.optional === true || opts3.production !== true && opts3.dev !== true
};
}
var shorthands4, commandNames13, completion2;
var init_update2 = __esm({
"../installing/commands/lib/update/index.js"() {
"use strict";
init_dist14();
init_lib94();
init_lib41();
init_lib27();
init_lib64();
init_lib139();
init_lib2();
init_lib131();
init_lib3();
init_source();
init_es();
init_lib66();
init_installDeps();
init_recursive2();
init_resolutionPolicyManifest();
init_getUpdateChoices();
shorthands4 = {
D: "--dev",
P: "--production"
};
commandNames13 = ["update", "up", "upgrade"];
completion2 = async (cliOpts) => {
return readDepNameCompletions(cliOpts.dir);
};
}
});
// ../installing/commands/lib/index.js
var init_lib142 = __esm({
"../installing/commands/lib/index.js"() {
"use strict";
init_add3();
init_dedupe();
init_fetch3();
init_import();
init_install2();
init_link2();
init_prune3();
init_remove2();
init_unlink();
init_update2();
}
});
// ../building/commands/lib/policy/getAutomaticallyIgnoredBuilds.js
import path162 from "node:path";
async function getAutomaticallyIgnoredBuilds(opts3) {
const modulesDir = getModulesDir(opts3);
const modulesManifest = await readModulesManifest(modulesDir);
let automaticallyIgnoredBuilds;
if (modulesManifest?.ignoredBuilds) {
const ignoredPkgNames = /* @__PURE__ */ new Set();
for (const depPath of modulesManifest.ignoredBuilds) {
ignoredPkgNames.add(allowBuildKeyFromIgnoredBuild(depPath));
}
automaticallyIgnoredBuilds = Array.from(ignoredPkgNames);
} else {
automaticallyIgnoredBuilds = null;
}
return {
automaticallyIgnoredBuilds,
modulesDir,
modulesManifest
};
}
function getModulesDir(opts3) {
return opts3.modulesDir ?? path162.join(opts3.lockfileDir ?? opts3.dir, "node_modules");
}
var init_getAutomaticallyIgnoredBuilds = __esm({
"../building/commands/lib/policy/getAutomaticallyIgnoredBuilds.js"() {
"use strict";
init_lib69();
init_lib77();
}
});
// ../building/commands/lib/policy/approveBuilds.js
var approveBuilds_exports = {};
__export(approveBuilds_exports, {
cliOptionsTypes: () => cliOptionsTypes13,
commandNames: () => commandNames14,
handler: () => handler14,
help: () => help14,
rcOptionsTypes: () => rcOptionsTypes14,
recursiveByDefault: () => recursiveByDefault4
});
function help14() {
return renderHelp({
description: "Approve dependencies for running scripts during installation",
usages: [
"pnpm approve-builds",
"pnpm approve-builds [<pkg> ...] [!<pkg> ...]"
],
descriptionLists: [
{
title: "Options",
list: [
{
description: "Approve all pending dependencies without interactive prompts",
name: "--all"
}
]
}
]
});
}
function cliOptionsTypes13() {
return {
all: Boolean,
global: Boolean
};
}
function rcOptionsTypes14() {
return {};
}
async function handler14(opts3, params = [], commands2) {
if (opts3.global) {
throw new PnpmError("APPROVE_BUILDS_NOT_SUPPORTED_WITH_GLOBAL", '"approve-builds" is not supported with global packages', {
hint: 'Use --allow-build when installing globally, e.g. "pnpm add -g --allow-build=<pkg> <pkg>". pnpm will also prompt to allow builds interactively during global install.'
});
}
if (opts3.all && params.length) {
throw new PnpmError("APPROVE_BUILDS_ALL_WITH_ARGS", "Cannot use --all with positional arguments");
}
const { automaticallyIgnoredBuilds, modulesDir, modulesManifest } = await getAutomaticallyIgnoredBuilds(opts3);
if (!automaticallyIgnoredBuilds?.length) {
globalInfo("There are no packages awaiting approval");
return;
}
const denied = [];
const approved = [];
const unknown = [];
for (const p of params) {
const name = p.startsWith("!") ? p.slice(1) : p;
if (!automaticallyIgnoredBuilds.includes(name)) {
unknown.push(name);
} else if (p.startsWith("!")) {
denied.push(name);
} else {
approved.push(name);
}
}
if (unknown.length) {
throw new PnpmError("APPROVE_BUILDS_UNKNOWN_PACKAGES", `The following packages are not awaiting approval: ${unknown.join(", ")}`);
}
const contradictions = approved.filter((p) => denied.includes(p));
if (contradictions.length) {
throw new PnpmError("APPROVE_BUILDS_CONTRADICTING_ARGS", `The following packages are both approved and denied: ${contradictions.join(", ")}`);
}
let buildPackages = [];
if (params.length) {
buildPackages = sortUniqueStrings([...approved]);
} else if (opts3.all) {
buildPackages = sortUniqueStrings([...automaticallyIgnoredBuilds]);
} else {
try {
const buildPackagesValues = await dist_default4({
choices: sortUniqueStrings([...automaticallyIgnoredBuilds]).map((name) => ({
name,
value: name
})),
message: `Choose which packages to build (Press ${source_default.cyan("<space>")} to select, ${source_default.cyan("<a>")} to toggle all, ${source_default.cyan("<i>")} to invert selection)`,
required: false,
theme: {
icon: { checked: "\u25CF", unchecked: "\u25CB", cursor: "\u276F" },
style: {
highlight: source_default.bgBlack.whiteBright
},
keybindings: ["vim"]
}
});
buildPackages = buildPackagesValues;
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
process.exit(0);
}
throw err2;
}
}
const allowBuilds = { ...opts3.allowBuilds };
if (params.length) {
for (const pkg of approved) {
allowBuilds[pkg] = true;
}
for (const pkg of denied) {
allowBuilds[pkg] = false;
}
} else {
const ignoredPackages = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !buildPackages.includes(automaticallyIgnoredBuild));
for (const pkg of ignoredPackages) {
allowBuilds[pkg] = false;
}
for (const pkg of buildPackages) {
allowBuilds[pkg] = true;
}
}
if (!opts3.all && !params.length) {
if (buildPackages.length) {
let isConfirmed;
try {
isConfirmed = await dist_default5({
message: `The next packages will now be built: ${buildPackages.join(", ")}.
Do you approve?`,
default: false
});
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
process.exit(0);
}
throw err2;
}
if (!isConfirmed) {
return;
}
} else {
globalInfo("All packages were added to allowBuilds with value false.");
}
}
await writeSettings({
...opts3,
workspaceDir: opts3.settingsDir ?? opts3.workspaceDir ?? opts3.rootProjectManifestDir,
updatedSettings: { allowBuilds }
});
if (modulesManifest?.ignoredBuilds) {
if (params.length) {
const decided = /* @__PURE__ */ new Set([...approved, ...denied]);
for (const depPath of Array.from(modulesManifest.ignoredBuilds)) {
const name = allowBuildKeyFromIgnoredBuild(depPath);
if (decided.has(name)) {
modulesManifest.ignoredBuilds.delete(depPath);
}
}
if (!modulesManifest.ignoredBuilds.size) {
delete modulesManifest.ignoredBuilds;
}
} else {
delete modulesManifest.ignoredBuilds;
}
await writeModulesManifest(modulesDir, modulesManifest);
}
if (buildPackages.length) {
if (opts3.enableGlobalVirtualStore) {
await install_exports.handler({
...opts3,
allowBuilds,
frozenLockfile: true,
optimisticRepeatInstall: false
}, [], commands2);
return;
}
return rebuild_exports.handler({
...opts3,
allowBuilds
}, buildPackages);
}
}
function sortUniqueStrings(array) {
return Array.from(new Set(array)).sort(import_util20.lexCompare);
}
var import_util20, commandNames14, recursiveByDefault4;
var init_approveBuilds = __esm({
"../building/commands/lib/policy/approveBuilds.js"() {
"use strict";
init_dist14();
init_lib69();
init_lib102();
init_lib2();
init_lib142();
init_lib77();
init_lib3();
import_util20 = __toESM(require_dist4(), 1);
init_source();
init_lib66();
init_build();
init_getAutomaticallyIgnoredBuilds();
commandNames14 = ["approve-builds"];
recursiveByDefault4 = true;
}
});
// ../building/commands/lib/policy/ignoredBuilds.js
var ignoredBuilds_exports = {};
__export(ignoredBuilds_exports, {
cliOptionsTypes: () => cliOptionsTypes14,
commandNames: () => commandNames15,
handler: () => handler15,
help: () => help15,
rcOptionsTypes: () => rcOptionsTypes15
});
function help15() {
return renderHelp({
description: "Print the list of packages with blocked build scripts",
usages: []
});
}
function cliOptionsTypes14() {
return {};
}
function rcOptionsTypes15() {
return {};
}
async function handler15(opts3) {
const disallowedBuilds = opts3.allowBuilds ? Object.entries(opts3.allowBuilds).filter(([, value]) => value === false).map(([pkg]) => pkg) : [];
let { automaticallyIgnoredBuilds } = await getAutomaticallyIgnoredBuilds(opts3);
if (automaticallyIgnoredBuilds) {
automaticallyIgnoredBuilds = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !disallowedBuilds.includes(automaticallyIgnoredBuild));
}
let output = "Automatically ignored builds during installation:\n";
if (automaticallyIgnoredBuilds == null) {
output += " Cannot identify as no node_modules found";
} else if (automaticallyIgnoredBuilds.length === 0) {
output += " None";
} else {
output += ` ${automaticallyIgnoredBuilds.join("\n ")}
hint: To allow the execution of build scripts for a package, add its name to "allowBuilds" and set to "true", then run "pnpm rebuild".
hint: For example:
hint: allowBuilds:
hint: esbuild: true
hint: If you don't want to build a package, set it to "false" instead.`;
}
output += "\n";
if (disallowedBuilds.length) {
output += `
Explicitly ignored package builds (via allowBuilds):
${disallowedBuilds.join("\n ")}
`;
}
return output;
}
var commandNames15;
var init_ignoredBuilds = __esm({
"../building/commands/lib/policy/ignoredBuilds.js"() {
"use strict";
init_lib66();
init_getAutomaticallyIgnoredBuilds();
commandNames15 = ["ignored-builds"];
}
});
// ../building/commands/lib/policy/index.js
var init_policy = __esm({
"../building/commands/lib/policy/index.js"() {
"use strict";
init_approveBuilds();
init_ignoredBuilds();
init_getAutomaticallyIgnoredBuilds();
}
});
// ../building/commands/lib/index.js
var init_lib143 = __esm({
"../building/commands/lib/index.js"() {
"use strict";
init_build();
init_policy();
}
});
// ../cache/api/lib/cacheList.js
import fs91 from "node:fs";
async function cacheListRegistries(opts3) {
return fs91.readdirSync(opts3.cacheDir).sort().join("\n");
}
async function cacheList(opts3, filter14) {
const metaFiles = await findMetadataFiles(opts3, filter14);
return metaFiles.sort().join("\n");
}
async function findMetadataFiles(opts3, filter14) {
const prefix = opts3.registry ? `${(0, import_encode_registry2.default)(opts3.registry)}` : "*";
const patterns = filter14.length ? filter14.map((filter15) => `${prefix}/${filter15}.jsonl`) : [`${prefix}/**`];
const metaFiles = await glob(patterns, {
cwd: opts3.cacheDir,
expandDirectories: false
});
return metaFiles;
}
var import_encode_registry2;
var init_cacheList = __esm({
"../cache/api/lib/cacheList.js"() {
"use strict";
import_encode_registry2 = __toESM(require_encode_registry(), 1);
init_dist2();
}
});
// ../cache/api/lib/cacheDelete.js
import fs92 from "node:fs";
import path163 from "node:path";
async function cacheDelete(opts3, filter14) {
const metaFiles = await findMetadataFiles(opts3, filter14);
for (const metaFile of metaFiles) {
fs92.unlinkSync(path163.join(opts3.cacheDir, metaFile));
}
return metaFiles.sort().join("\n");
}
var init_cacheDelete = __esm({
"../cache/api/lib/cacheDelete.js"() {
"use strict";
init_cacheList();
}
});
// ../cache/api/lib/cacheView.js
import fs93 from "node:fs";
import path164 from "node:path";
async function cacheView(opts3, packageName) {
const prefix = opts3.registry ? `${(0, import_encode_registry3.default)(opts3.registry)}` : "*";
const metaFilePaths = (await glob(`${prefix}/${packageName}.jsonl`, {
cwd: opts3.cacheDir,
expandDirectories: false
})).sort();
const metaFilesByPath = {};
const storeIndex = new StoreIndex(opts3.storeDir);
try {
for (const filePath of metaFilePaths) {
let metaObject;
const fullPath = path164.join(opts3.cacheDir, filePath);
let mtime;
try {
const raw = fs93.readFileSync(fullPath, "utf8");
mtime = fs93.statSync(fullPath).mtime;
const newlineIdx = raw.indexOf("\n");
if (newlineIdx !== -1) {
metaObject = JSON.parse(raw.slice(newlineIdx + 1));
} else {
metaObject = JSON.parse(raw);
}
} catch {
continue;
}
if (!metaObject)
continue;
const cachedVersions = [];
const nonCachedVersions = [];
for (const [version2, manifest] of Object.entries(metaObject.versions)) {
if (!manifest.dist.integrity)
continue;
const key = storeIndexKey(manifest.dist.integrity, `${manifest.name}@${manifest.version}`);
if (storeIndex.has(key)) {
cachedVersions.push(version2);
} else {
nonCachedVersions.push(version2);
}
}
let registryName = filePath;
while (path164.dirname(registryName) !== ".") {
registryName = path164.dirname(registryName);
}
metaFilesByPath[registryName.replaceAll("+", ":")] = {
cachedVersions,
nonCachedVersions,
cachedAt: mtime?.toString(),
distTags: metaObject["dist-tags"]
};
}
} finally {
storeIndex.close();
}
return JSON.stringify(metaFilesByPath, null, 2);
}
var import_encode_registry3;
var init_cacheView = __esm({
"../cache/api/lib/cacheView.js"() {
"use strict";
init_lib30();
import_encode_registry3 = __toESM(require_encode_registry(), 1);
init_dist2();
}
});
// ../cache/api/lib/index.js
var init_lib144 = __esm({
"../cache/api/lib/index.js"() {
"use strict";
init_cacheDelete();
init_cacheList();
init_cacheView();
}
});
// ../cache/commands/lib/cache.cmd.js
var cache_cmd_exports = {};
__export(cache_cmd_exports, {
cliOptionsTypes: () => cliOptionsTypes15,
commandNames: () => commandNames16,
handler: () => handler16,
help: () => help16,
rcOptionsTypes: () => rcOptionsTypes16
});
import path165 from "node:path";
function cliOptionsTypes15() {
return {
...pick_default([
"registry",
"store-dir"
], types2)
};
}
function help16() {
return renderHelp({
description: "Inspect and manage the metadata cache",
descriptionLists: [
{
title: "Commands",
list: [
{
description: "Lists the available packages metadata cache. Supports filtering by glob",
name: "list"
},
{
description: "Lists all registries that have their metadata cache locally",
name: "list-registries"
},
{
description: "Views information from the specified package's cache",
name: "view"
},
{
description: "Deletes metadata cache for the specified package(s). Supports patterns",
name: "delete"
}
]
}
],
url: docsUrl("cache"),
usages: ["pnpm cache <command>"]
});
}
async function handler16(opts3, params) {
const cacheType = opts3.resolutionMode === "time-based" && !opts3.registrySupportsTimeField ? FULL_FILTERED_META_DIR : ABBREVIATED_META_DIR;
const cacheDir = path165.join(opts3.cacheDir, cacheType);
switch (params[0]) {
case "list-registries":
return cacheListRegistries({
...opts3,
cacheDir
});
case "list":
return cacheList({
...opts3,
cacheDir,
registry: opts3.cliOptions["registry"]
}, params.slice(1));
case "delete": {
const deleted = await Promise.all([ABBREVIATED_META_DIR, FULL_META_DIR, FULL_FILTERED_META_DIR].map((metaDir) => cacheDelete({
...opts3,
cacheDir: path165.join(opts3.cacheDir, metaDir),
registry: opts3.cliOptions["registry"]
}, params.slice(1))));
return [...new Set(deleted.flatMap((result2) => result2.split("\n")).filter(Boolean))].sort().join("\n");
}
case "view": {
if (!params[1]) {
throw new PnpmError("MISSING_PACKAGE_NAME", "`pnpm cache view` requires the package name");
}
if (params.length > 2) {
throw new PnpmError("TOO_MANY_PARAMS", "`pnpm cache view` only accepts one package name");
}
const storeDir = await getStorePath({
pkgRoot: process.cwd(),
storePath: opts3.storeDir,
pnpmHomeDir: opts3.pnpmHomeDir
});
return cacheView({
...opts3,
cacheDir,
storeDir,
registry: opts3.cliOptions["registry"]
}, params[1]);
}
default:
return help16();
}
}
var rcOptionsTypes16, commandNames16;
var init_cache_cmd = __esm({
"../cache/commands/lib/cache.cmd.js"() {
"use strict";
init_lib144();
init_lib41();
init_lib64();
init_lib();
init_lib2();
init_lib91();
init_es();
init_lib66();
rcOptionsTypes16 = cliOptionsTypes15;
commandNames16 = ["cache"];
}
});
// ../cache/commands/lib/index.js
var init_lib145 = __esm({
"../cache/commands/lib/index.js"() {
"use strict";
init_cache_cmd();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/constants.js
var require_constants17 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/constants.js"(exports2, module2) {
var COMPLETION_DIR = "~/.config/tabtab";
var SUPPORTED_SHELLS3 = (
/** @type {const} */
["bash", "fish", "pwsh", "zsh"]
);
var SHELL_LOCATIONS = (
/** @type {const} */
{
bash: "~/.bashrc",
zsh: "~/.zshrc",
fish: "~/.config/fish/config.fish",
pwsh: "~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1"
}
);
var COMPLETION_FILE_EXT = (
/** @type {const} */
{
bash: "bash",
fish: "fish",
pwsh: "ps1",
zsh: "zsh"
}
);
module2.exports = {
COMPLETION_DIR,
SUPPORTED_SHELLS: SUPPORTED_SHELLS3,
SHELL_LOCATIONS,
COMPLETION_FILE_EXT
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-colors/4.1.3/fb2584472e25c00392a86e3665e7509442ce8e50ff4b6b0e4fdbf75a70f4f5b7/node_modules/ansi-colors/symbols.js
var require_symbols2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-colors/4.1.3/fb2584472e25c00392a86e3665e7509442ce8e50ff4b6b0e4fdbf75a70f4f5b7/node_modules/ansi-colors/symbols.js"(exports2, module2) {
"use strict";
var isHyper = typeof process !== "undefined" && process.env.TERM_PROGRAM === "Hyper";
var isWindows15 = typeof process !== "undefined" && process.platform === "win32";
var isLinux2 = typeof process !== "undefined" && process.platform === "linux";
var common4 = {
ballotDisabled: "\u2612",
ballotOff: "\u2610",
ballotOn: "\u2611",
bullet: "\u2022",
bulletWhite: "\u25E6",
fullBlock: "\u2588",
heart: "\u2764",
identicalTo: "\u2261",
line: "\u2500",
mark: "\u203B",
middot: "\xB7",
minus: "\uFF0D",
multiplication: "\xD7",
obelus: "\xF7",
pencilDownRight: "\u270E",
pencilRight: "\u270F",
pencilUpRight: "\u2710",
percent: "%",
pilcrow2: "\u2761",
pilcrow: "\xB6",
plusMinus: "\xB1",
question: "?",
section: "\xA7",
starsOff: "\u2606",
starsOn: "\u2605",
upDownArrow: "\u2195"
};
var windows = Object.assign({}, common4, {
check: "\u221A",
cross: "\xD7",
ellipsisLarge: "...",
ellipsis: "...",
info: "i",
questionSmall: "?",
pointer: ">",
pointerSmall: "\xBB",
radioOff: "( )",
radioOn: "(*)",
warning: "\u203C"
});
var other = Object.assign({}, common4, {
ballotCross: "\u2718",
check: "\u2714",
cross: "\u2716",
ellipsisLarge: "\u22EF",
ellipsis: "\u2026",
info: "\u2139",
questionFull: "\uFF1F",
questionSmall: "\uFE56",
pointer: isLinux2 ? "\u25B8" : "\u276F",
pointerSmall: isLinux2 ? "\u2023" : "\u203A",
radioOff: "\u25EF",
radioOn: "\u25C9",
warning: "\u26A0"
});
module2.exports = isWindows15 && !isHyper ? windows : other;
Reflect.defineProperty(module2.exports, "common", { enumerable: false, value: common4 });
Reflect.defineProperty(module2.exports, "windows", { enumerable: false, value: windows });
Reflect.defineProperty(module2.exports, "other", { enumerable: false, value: other });
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-colors/4.1.3/fb2584472e25c00392a86e3665e7509442ce8e50ff4b6b0e4fdbf75a70f4f5b7/node_modules/ansi-colors/index.js
var require_ansi_colors = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ansi-colors/4.1.3/fb2584472e25c00392a86e3665e7509442ce8e50ff4b6b0e4fdbf75a70f4f5b7/node_modules/ansi-colors/index.js"(exports2, module2) {
"use strict";
var isObject4 = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
var ANSI_REGEX = /[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g;
var hasColor = () => {
if (typeof process !== "undefined") {
return process.env.FORCE_COLOR !== "0";
}
return false;
};
var create = () => {
const colors = {
enabled: hasColor(),
visible: true,
styles: {},
keys: {}
};
const ansi = (style2) => {
let open3 = style2.open = `\x1B[${style2.codes[0]}m`;
let close = style2.close = `\x1B[${style2.codes[1]}m`;
let regex2 = style2.regex = new RegExp(`\\u001b\\[${style2.codes[1]}m`, "g");
style2.wrap = (input, newline) => {
if (input.includes(close)) input = input.replace(regex2, close + open3);
let output = open3 + input + close;
return newline ? output.replace(/\r*\n/g, `${close}$&${open3}`) : output;
};
return style2;
};
const wrap2 = (style2, input, newline) => {
return typeof style2 === "function" ? style2(input) : style2.wrap(input, newline);
};
const style = (input, stack) => {
if (input === "" || input == null) return "";
if (colors.enabled === false) return input;
if (colors.visible === false) return "";
let str2 = "" + input;
let nl = str2.includes("\n");
let n2 = stack.length;
if (n2 > 0 && stack.includes("unstyle")) {
stack = [.../* @__PURE__ */ new Set(["unstyle", ...stack])].reverse();
}
while (n2-- > 0) str2 = wrap2(colors.styles[stack[n2]], str2, nl);
return str2;
};
const define2 = (name, codes, type4) => {
colors.styles[name] = ansi({ name, codes });
let keys4 = colors.keys[type4] || (colors.keys[type4] = []);
keys4.push(name);
Reflect.defineProperty(colors, name, {
configurable: true,
enumerable: true,
set(value) {
colors.alias(name, value);
},
get() {
let color = (input) => style(input, color.stack);
Reflect.setPrototypeOf(color, colors);
color.stack = this.stack ? this.stack.concat(name) : [name];
return color;
}
});
};
define2("reset", [0, 0], "modifier");
define2("bold", [1, 22], "modifier");
define2("dim", [2, 22], "modifier");
define2("italic", [3, 23], "modifier");
define2("underline", [4, 24], "modifier");
define2("inverse", [7, 27], "modifier");
define2("hidden", [8, 28], "modifier");
define2("strikethrough", [9, 29], "modifier");
define2("black", [30, 39], "color");
define2("red", [31, 39], "color");
define2("green", [32, 39], "color");
define2("yellow", [33, 39], "color");
define2("blue", [34, 39], "color");
define2("magenta", [35, 39], "color");
define2("cyan", [36, 39], "color");
define2("white", [37, 39], "color");
define2("gray", [90, 39], "color");
define2("grey", [90, 39], "color");
define2("bgBlack", [40, 49], "bg");
define2("bgRed", [41, 49], "bg");
define2("bgGreen", [42, 49], "bg");
define2("bgYellow", [43, 49], "bg");
define2("bgBlue", [44, 49], "bg");
define2("bgMagenta", [45, 49], "bg");
define2("bgCyan", [46, 49], "bg");
define2("bgWhite", [47, 49], "bg");
define2("blackBright", [90, 39], "bright");
define2("redBright", [91, 39], "bright");
define2("greenBright", [92, 39], "bright");
define2("yellowBright", [93, 39], "bright");
define2("blueBright", [94, 39], "bright");
define2("magentaBright", [95, 39], "bright");
define2("cyanBright", [96, 39], "bright");
define2("whiteBright", [97, 39], "bright");
define2("bgBlackBright", [100, 49], "bgBright");
define2("bgRedBright", [101, 49], "bgBright");
define2("bgGreenBright", [102, 49], "bgBright");
define2("bgYellowBright", [103, 49], "bgBright");
define2("bgBlueBright", [104, 49], "bgBright");
define2("bgMagentaBright", [105, 49], "bgBright");
define2("bgCyanBright", [106, 49], "bgBright");
define2("bgWhiteBright", [107, 49], "bgBright");
colors.ansiRegex = ANSI_REGEX;
colors.hasColor = colors.hasAnsi = (str2) => {
colors.ansiRegex.lastIndex = 0;
return typeof str2 === "string" && str2 !== "" && colors.ansiRegex.test(str2);
};
colors.alias = (name, color) => {
let fn = typeof color === "string" ? colors[color] : color;
if (typeof fn !== "function") {
throw new TypeError("Expected alias to be the name of an existing color (string) or a function");
}
if (!fn.stack) {
Reflect.defineProperty(fn, "name", { value: name });
colors.styles[name] = fn;
fn.stack = [name];
}
Reflect.defineProperty(colors, name, {
configurable: true,
enumerable: true,
set(value) {
colors.alias(name, value);
},
get() {
let color2 = (input) => style(input, color2.stack);
Reflect.setPrototypeOf(color2, colors);
color2.stack = this.stack ? this.stack.concat(fn.stack) : fn.stack;
return color2;
}
});
};
colors.theme = (custom) => {
if (!isObject4(custom)) throw new TypeError("Expected theme to be an object");
for (let name of Object.keys(custom)) {
colors.alias(name, custom[name]);
}
return colors;
};
colors.alias("unstyle", (str2) => {
if (typeof str2 === "string" && str2 !== "") {
colors.ansiRegex.lastIndex = 0;
return str2.replace(colors.ansiRegex, "");
}
return "";
});
colors.alias("noop", (str2) => str2);
colors.none = colors.clear = colors.noop;
colors.stripColor = colors.unstyle;
colors.symbols = require_symbols2();
colors.define = define2;
return colors;
};
module2.exports = create();
module2.exports.create = create;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/utils.js
var require_utils16 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/utils.js"(exports2) {
"use strict";
var toString4 = Object.prototype.toString;
var colors = require_ansi_colors();
var onExitCalled = false;
var onExitCallbacks = /* @__PURE__ */ new Set();
var complements = {
"yellow": "blue",
"cyan": "red",
"green": "magenta",
"black": "white",
"blue": "yellow",
"red": "cyan",
"magenta": "green",
"white": "black"
};
exports2.longest = (arr, prop3) => {
return arr.reduce((a2, v) => Math.max(a2, prop3 ? v[prop3].length : v.length), 0);
};
exports2.hasColor = (str2) => !!str2 && colors.hasColor(str2);
var isObject4 = exports2.isObject = (val) => {
return val !== null && typeof val === "object" && !Array.isArray(val);
};
exports2.nativeType = (val) => {
return toString4.call(val).slice(8, -1).toLowerCase().replace(/\s/g, "");
};
exports2.isAsyncFn = (val) => {
return exports2.nativeType(val) === "asyncfunction";
};
exports2.isPrimitive = (val) => {
return val != null && typeof val !== "object" && typeof val !== "function";
};
exports2.resolve = (context, value, ...rest) => {
if (typeof value === "function") {
return value.call(context, ...rest);
}
return value;
};
exports2.scrollDown = (choices = []) => [...choices.slice(1), choices[0]];
exports2.scrollUp = (choices = []) => [choices.pop(), ...choices];
exports2.reorder = (arr = []) => {
let res = arr.slice();
res.sort((a2, b) => {
if (a2.index > b.index) return 1;
if (a2.index < b.index) return -1;
return 0;
});
return res;
};
exports2.swap = (arr, index2, pos) => {
let len = arr.length;
let idx = pos === len ? 0 : pos < 0 ? len - 1 : pos;
let choice = arr[index2];
arr[index2] = arr[idx];
arr[idx] = choice;
};
exports2.width = (stream2, fallback = 80) => {
let columns = stream2 && stream2.columns ? stream2.columns : fallback;
if (stream2 && typeof stream2.getWindowSize === "function") {
columns = stream2.getWindowSize()[0];
}
if (process.platform === "win32") {
return columns - 1;
}
return columns;
};
exports2.height = (stream2, fallback = 20) => {
let rows = stream2 && stream2.rows ? stream2.rows : fallback;
if (stream2 && typeof stream2.getWindowSize === "function") {
rows = stream2.getWindowSize()[1];
}
return rows;
};
exports2.wordWrap = (str2, options = {}) => {
if (!str2) return str2;
if (typeof options === "number") {
options = { width: options };
}
let { indent = "", newline = "\n" + indent, width = 80 } = options;
let spaces = (newline + indent).match(/[^\S\n]/g) || [];
width -= spaces.length;
let source = `.{1,${width}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`;
let output = str2.trim();
let regex2 = new RegExp(source, "g");
let lines = output.match(regex2) || [];
lines = lines.map((line) => line.replace(/\n$/, ""));
if (options.padEnd) lines = lines.map((line) => line.padEnd(width, " "));
if (options.padStart) lines = lines.map((line) => line.padStart(width, " "));
return indent + lines.join(newline);
};
exports2.unmute = (color) => {
let name = color.stack.find((n2) => colors.keys.color.includes(n2));
if (name) {
return colors[name];
}
let bg = color.stack.find((n2) => n2.slice(2) === "bg");
if (bg) {
return colors[name.slice(2)];
}
return (str2) => str2;
};
exports2.pascal = (str2) => str2 ? str2[0].toUpperCase() + str2.slice(1) : "";
exports2.inverse = (color) => {
if (!color || !color.stack) return color;
let name = color.stack.find((n2) => colors.keys.color.includes(n2));
if (name) {
let col = colors["bg" + exports2.pascal(name)];
return col ? col.black : color;
}
let bg = color.stack.find((n2) => n2.slice(0, 2) === "bg");
if (bg) {
return colors[bg.slice(2).toLowerCase()] || color;
}
return colors.none;
};
exports2.complement = (color) => {
if (!color || !color.stack) return color;
let name = color.stack.find((n2) => colors.keys.color.includes(n2));
let bg = color.stack.find((n2) => n2.slice(0, 2) === "bg");
if (name && !bg) {
return colors[complements[name] || name];
}
if (bg) {
let lower = bg.slice(2).toLowerCase();
let comp = complements[lower];
if (!comp) return color;
return colors["bg" + exports2.pascal(comp)] || color;
}
return colors.none;
};
exports2.meridiem = (date) => {
let hours = date.getHours();
let minutes = date.getMinutes();
let ampm = hours >= 12 ? "pm" : "am";
hours = hours % 12;
let hrs = hours === 0 ? 12 : hours;
let min = minutes < 10 ? "0" + minutes : minutes;
return hrs + ":" + min + " " + ampm;
};
exports2.set = (obj = {}, prop3 = "", val) => {
return prop3.split(".").reduce((acc, k2, i4, arr) => {
let value = arr.length - 1 > i4 ? acc[k2] || {} : val;
if (!exports2.isObject(value) && i4 < arr.length - 1) value = {};
return acc[k2] = value;
}, obj);
};
exports2.get = (obj = {}, prop3 = "", fallback) => {
let value = obj[prop3] == null ? prop3.split(".").reduce((acc, k2) => acc && acc[k2], obj) : obj[prop3];
return value == null ? fallback : value;
};
exports2.mixin = (target2, b) => {
if (!isObject4(target2)) return b;
if (!isObject4(b)) return target2;
for (let key of Object.keys(b)) {
let desc = Object.getOwnPropertyDescriptor(b, key);
if (hasOwnProperty.call(desc, "value")) {
if (hasOwnProperty.call(target2, key) && isObject4(desc.value)) {
let existing = Object.getOwnPropertyDescriptor(target2, key);
if (isObject4(existing.value) && existing.value !== desc.value) {
target2[key] = exports2.merge({}, target2[key], b[key]);
} else {
Reflect.defineProperty(target2, key, desc);
}
} else {
Reflect.defineProperty(target2, key, desc);
}
} else {
Reflect.defineProperty(target2, key, desc);
}
}
return target2;
};
exports2.merge = (...args) => {
let target2 = {};
for (let ele of args) exports2.mixin(target2, ele);
return target2;
};
exports2.mixinEmitter = (obj, emitter) => {
let proto2 = emitter.constructor.prototype;
for (let key of Object.keys(proto2)) {
let val = proto2[key];
if (typeof val === "function") {
exports2.define(obj, key, val.bind(emitter));
} else {
exports2.define(obj, key, val);
}
}
};
var onExit2 = (quit, code) => {
if (onExitCalled) return;
onExitCalled = true;
onExitCallbacks.forEach((fn) => fn());
if (quit === true) {
process.exit(128 + code);
}
};
var onSigTerm = onExit2.bind(null, true, 15);
var onSigInt = onExit2.bind(null, true, 2);
exports2.onExit = (callback2) => {
if (onExitCallbacks.size === 0) {
process.once("SIGTERM", onSigTerm);
process.once("SIGINT", onSigInt);
process.once("exit", onExit2);
}
onExitCallbacks.add(callback2);
return () => {
onExitCallbacks.delete(callback2);
if (onExitCallbacks.size === 0) {
process.off("SIGTERM", onSigTerm);
process.off("SIGINT", onSigInt);
process.off("exit", onExit2);
}
};
};
exports2.define = (obj, key, value) => {
Reflect.defineProperty(obj, key, { value });
};
exports2.defineExport = (obj, key, fn) => {
let custom;
Reflect.defineProperty(obj, key, {
enumerable: true,
configurable: true,
set(val) {
custom = val;
},
get() {
return custom ? custom() : fn();
}
});
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/combos.js
var require_combos = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/combos.js"(exports2) {
"use strict";
exports2.ctrl = {
a: "first",
b: "backward",
c: "cancel",
d: "deleteForward",
e: "last",
f: "forward",
g: "reset",
i: "tab",
k: "cutForward",
l: "reset",
n: "newItem",
m: "cancel",
j: "submit",
p: "search",
r: "remove",
s: "save",
u: "undo",
w: "cutLeft",
x: "toggleCursor",
v: "paste"
};
exports2.shift = {
up: "shiftUp",
down: "shiftDown",
left: "shiftLeft",
right: "shiftRight",
tab: "prev"
};
exports2.fn = {
up: "pageUp",
down: "pageDown",
left: "pageLeft",
right: "pageRight",
delete: "deleteForward"
};
exports2.option = {
b: "backward",
f: "forward",
d: "cutRight",
left: "cutLeft",
up: "altUp",
down: "altDown"
};
exports2.keys = {
pageup: "pageUp",
// <fn>+<up> (mac), <Page Up> (windows)
pagedown: "pageDown",
// <fn>+<down> (mac), <Page Down> (windows)
home: "home",
// <fn>+<left> (mac), <home> (windows)
end: "end",
// <fn>+<right> (mac), <end> (windows)
cancel: "cancel",
delete: "deleteForward",
backspace: "delete",
down: "down",
enter: "submit",
escape: "cancel",
left: "left",
space: "space",
number: "number",
return: "submit",
right: "right",
tab: "next",
up: "up"
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/queue.js
var require_queue2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/queue.js"(exports2, module2) {
"use strict";
module2.exports = class Queue {
_queue = [];
_executing = false;
_jobRunner = null;
constructor(jobRunner) {
this._jobRunner = jobRunner;
}
enqueue = (...args) => {
this._queue.push(args);
this._dequeue();
};
destroy() {
this._queue.length = 0;
this._jobRunner = null;
}
_dequeue() {
if (this._executing || !this._queue.length) return;
this._executing = true;
this._jobRunner(...this._queue.shift());
setTimeout(() => {
this._executing = false;
this._dequeue();
});
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/keypress.js
var require_keypress = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/keypress.js"(exports2, module2) {
"use strict";
var readline7 = __require("readline");
var combos = require_combos();
var Queue3 = require_queue2();
var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
var keyName = {
/* xterm/gnome ESC O letter */
"OP": "f1",
"OQ": "f2",
"OR": "f3",
"OS": "f4",
/* xterm/rxvt ESC [ number ~ */
"[11~": "f1",
"[12~": "f2",
"[13~": "f3",
"[14~": "f4",
/* from Cygwin and used in libuv */
"[[A": "f1",
"[[B": "f2",
"[[C": "f3",
"[[D": "f4",
"[[E": "f5",
/* common */
"[15~": "f5",
"[17~": "f6",
"[18~": "f7",
"[19~": "f8",
"[20~": "f9",
"[21~": "f10",
"[23~": "f11",
"[24~": "f12",
/* xterm ESC [ letter */
"[A": "up",
"[B": "down",
"[C": "right",
"[D": "left",
"[E": "clear",
"[F": "end",
"[H": "home",
/* xterm/gnome ESC O letter */
"OA": "up",
"OB": "down",
"OC": "right",
"OD": "left",
"OE": "clear",
"OF": "end",
"OH": "home",
/* xterm/rxvt ESC [ number ~ */
"[1~": "home",
"[2~": "insert",
"[3~": "delete",
"[4~": "end",
"[5~": "pageup",
"[6~": "pagedown",
/* putty */
"[[5~": "pageup",
"[[6~": "pagedown",
/* rxvt */
"[7~": "home",
"[8~": "end",
/* rxvt keys with modifiers */
"[a": "up",
"[b": "down",
"[c": "right",
"[d": "left",
"[e": "clear",
"[2$": "insert",
"[3$": "delete",
"[5$": "pageup",
"[6$": "pagedown",
"[7$": "home",
"[8$": "end",
"Oa": "up",
"Ob": "down",
"Oc": "right",
"Od": "left",
"Oe": "clear",
"[2^": "insert",
"[3^": "delete",
"[5^": "pageup",
"[6^": "pagedown",
"[7^": "home",
"[8^": "end",
/* misc. */
"[Z": "tab"
};
function isShiftKey2(code) {
return ["[a", "[b", "[c", "[d", "[e", "[2$", "[3$", "[5$", "[6$", "[7$", "[8$", "[Z"].includes(code);
}
function isCtrlKey(code) {
return ["Oa", "Ob", "Oc", "Od", "Oe", "[2^", "[3^", "[5^", "[6^", "[7^", "[8^"].includes(code);
}
var keypress = (s = "", event = {}) => {
let parts;
let key = {
name: event.name,
ctrl: false,
meta: false,
shift: false,
option: false,
sequence: s,
raw: s,
...event
};
if (Buffer.isBuffer(s)) {
if (s[0] > 127 && s[1] === void 0) {
s[0] -= 128;
s = "\x1B" + String(s);
} else {
s = String(s);
}
} else if (s !== void 0 && typeof s !== "string") {
s = String(s);
} else if (!s) {
s = key.sequence || "";
}
key.sequence = key.sequence || s || key.name;
if (s === "\r") {
key.raw = void 0;
key.name = "return";
} else if (s === "\n") {
key.name = "enter";
} else if (s === " ") {
key.name = "tab";
} else if (s === "\b" || s === "\x7F" || s === "\x1B\x7F" || s === "\x1B\b") {
key.name = "backspace";
key.meta = s.charAt(0) === "\x1B";
} else if (s === "\x1B" || s === "\x1B\x1B") {
key.name = "escape";
key.meta = s.length === 2;
} else if (s === " " || s === "\x1B ") {
key.name = "space";
key.meta = s.length === 2;
} else if (s <= "") {
key.name = String.fromCharCode(s.charCodeAt(0) + "a".charCodeAt(0) - 1);
key.ctrl = true;
} else if (s.length === 1 && s >= "0" && s <= "9") {
key.name = "number";
} else if (s.length === 1 && s >= "a" && s <= "z") {
key.name = s;
} else if (s.length === 1 && s >= "A" && s <= "Z") {
key.name = s.toLowerCase();
key.shift = true;
} else if (parts = metaKeyCodeRe.exec(s)) {
key.meta = true;
key.shift = /^[A-Z]$/.test(parts[1]);
} else if (parts = fnKeyRe.exec(s)) {
let segs = [...s];
if (segs[0] === "\x1B" && segs[1] === "\x1B") {
key.option = true;
}
let code = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
let modifier = (parts[3] || parts[5] || 1) - 1;
key.ctrl = !!(modifier & 4);
key.meta = !!(modifier & 10);
key.shift = !!(modifier & 1);
key.code = code;
key.name = keyName[code];
key.shift = isShiftKey2(code) || key.shift;
key.ctrl = isCtrlKey(code) || key.ctrl;
}
return key;
};
keypress.listen = (options = {}, onKeypress) => {
let { stdin } = options;
if (!stdin || stdin !== process.stdin && !stdin.isTTY) {
throw new Error("Invalid stream passed");
}
let rl = readline7.createInterface({ terminal: true, input: stdin });
readline7.emitKeypressEvents(stdin, rl);
const queue2 = new Queue3((buf, key) => onKeypress(buf, keypress(buf, key), rl));
let isRaw = stdin.isRaw;
if (stdin.isTTY) stdin.setRawMode(true);
stdin.on("keypress", queue2.enqueue);
rl.resume();
let off = () => {
if (stdin.isTTY) stdin.setRawMode(isRaw);
stdin.removeListener("keypress", queue2.enqueue);
queue2.destroy();
rl.pause();
rl.close();
};
return off;
};
keypress.action = (buf, key, customActions) => {
let obj = { ...combos, ...customActions };
if (key.ctrl) {
key.action = obj.ctrl[key.name];
return key;
}
if (key.option && obj.option) {
key.action = obj.option[key.name];
return key;
}
if (key.shift) {
key.action = obj.shift[key.name];
return key;
}
key.action = obj.keys[key.name];
return key;
};
module2.exports = keypress;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/timer.js
var require_timer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/timer.js"(exports2, module2) {
"use strict";
module2.exports = (prompt) => {
prompt.timers = prompt.timers || {};
let timers = prompt.options.timers;
if (!timers) return;
for (let key of Object.keys(timers)) {
let opts3 = timers[key];
if (typeof opts3 === "number") {
opts3 = { interval: opts3 };
}
create(prompt, key, opts3);
}
};
function create(prompt, name, options = {}) {
let timer = prompt.timers[name] = { name, start: Date.now(), ms: 0, tick: 0 };
let ms = options.interval || 120;
timer.frames = options.frames || [];
timer.loading = true;
let interval = setInterval(() => {
timer.ms = Date.now() - timer.start;
timer.tick++;
prompt.render();
}, ms);
timer.stop = () => {
timer.loading = false;
clearInterval(interval);
};
Reflect.defineProperty(timer, "interval", { value: interval });
prompt.once("close", () => timer.stop());
return timer.stop;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/state.js
var require_state = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/state.js"(exports2, module2) {
"use strict";
var { define: define2, width } = require_utils16();
var State2 = class {
constructor(prompt) {
let options = prompt.options;
define2(this, "_prompt", prompt);
this.type = prompt.type;
this.name = prompt.name;
this.message = "";
this.header = "";
this.footer = "";
this.error = "";
this.hint = "";
this.input = "";
this.cursor = 0;
this.index = 0;
this.lines = 0;
this.tick = 0;
this.prompt = "";
this.buffer = "";
this.width = width(options.stdout || process.stdout);
Object.assign(this, options);
this.name = this.name || this.message;
this.message = this.message || this.name;
this.symbols = prompt.symbols;
this.styles = prompt.styles;
this.required = /* @__PURE__ */ new Set();
this.cancelled = false;
this.submitted = false;
}
clone() {
let state = { ...this };
state.status = this.status;
state.buffer = Buffer.from(state.buffer);
delete state.clone;
return state;
}
set color(val) {
this._color = val;
}
get color() {
let styles4 = this.prompt.styles;
if (this.cancelled) return styles4.cancelled;
if (this.submitted) return styles4.submitted;
let color = this._color || styles4[this.status];
return typeof color === "function" ? color : styles4.pending;
}
set loading(value) {
this._loading = value;
}
get loading() {
if (typeof this._loading === "boolean") return this._loading;
if (this.loadingChoices) return "choices";
return false;
}
get status() {
if (this.cancelled) return "cancelled";
if (this.submitted) return "submitted";
return "pending";
}
};
module2.exports = State2;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/styles.js
var require_styles = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/styles.js"(exports2, module2) {
"use strict";
var utils = require_utils16();
var colors = require_ansi_colors();
var styles4 = {
default: colors.noop,
noop: colors.noop,
/**
* Modifiers
*/
set inverse(custom) {
this._inverse = custom;
},
get inverse() {
return this._inverse || utils.inverse(this.primary);
},
set complement(custom) {
this._complement = custom;
},
get complement() {
return this._complement || utils.complement(this.primary);
},
/**
* Main color
*/
primary: colors.cyan,
/**
* Main palette
*/
success: colors.green,
danger: colors.magenta,
strong: colors.bold,
warning: colors.yellow,
muted: colors.dim,
disabled: colors.gray,
dark: colors.dim.gray,
underline: colors.underline,
set info(custom) {
this._info = custom;
},
get info() {
return this._info || this.primary;
},
set em(custom) {
this._em = custom;
},
get em() {
return this._em || this.primary.underline;
},
set heading(custom) {
this._heading = custom;
},
get heading() {
return this._heading || this.muted.underline;
},
/**
* Statuses
*/
set pending(custom) {
this._pending = custom;
},
get pending() {
return this._pending || this.primary;
},
set submitted(custom) {
this._submitted = custom;
},
get submitted() {
return this._submitted || this.success;
},
set cancelled(custom) {
this._cancelled = custom;
},
get cancelled() {
return this._cancelled || this.danger;
},
/**
* Special styling
*/
set typing(custom) {
this._typing = custom;
},
get typing() {
return this._typing || this.dim;
},
set placeholder(custom) {
this._placeholder = custom;
},
get placeholder() {
return this._placeholder || this.primary.dim;
},
set highlight(custom) {
this._highlight = custom;
},
get highlight() {
return this._highlight || this.inverse;
}
};
styles4.merge = (options = {}) => {
if (options.styles && typeof options.styles.enabled === "boolean") {
colors.enabled = options.styles.enabled;
}
if (options.styles && typeof options.styles.visible === "boolean") {
colors.visible = options.styles.visible;
}
let result2 = utils.merge({}, styles4, options.styles);
delete result2.merge;
for (let key of Object.keys(colors)) {
if (!hasOwnProperty.call(result2, key)) {
Reflect.defineProperty(result2, key, { get: () => colors[key] });
}
}
for (let key of Object.keys(colors.styles)) {
if (!hasOwnProperty.call(result2, key)) {
Reflect.defineProperty(result2, key, { get: () => colors[key] });
}
}
return result2;
};
module2.exports = styles4;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/symbols.js
var require_symbols3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/symbols.js"(exports2, module2) {
"use strict";
var isWindows15 = process.platform === "win32";
var colors = require_ansi_colors();
var utils = require_utils16();
var symbols = {
...colors.symbols,
upDownDoubleArrow: "\u21D5",
upDownDoubleArrow2: "\u2B0D",
upDownArrow: "\u2195",
asterisk: "*",
asterism: "\u2042",
bulletWhite: "\u25E6",
electricArrow: "\u2301",
ellipsisLarge: "\u22EF",
ellipsisSmall: "\u2026",
fullBlock: "\u2588",
identicalTo: "\u2261",
indicator: colors.symbols.check,
leftAngle: "\u2039",
mark: "\u203B",
minus: "\u2212",
multiplication: "\xD7",
obelus: "\xF7",
percent: "%",
pilcrow: "\xB6",
pilcrow2: "\u2761",
pencilUpRight: "\u2710",
pencilDownRight: "\u270E",
pencilRight: "\u270F",
plus: "+",
plusMinus: "\xB1",
pointRight: "\u261E",
rightAngle: "\u203A",
section: "\xA7",
hexagon: { off: "\u2B21", on: "\u2B22", disabled: "\u2B22" },
ballot: { on: "\u2611", off: "\u2610", disabled: "\u2612" },
stars: { on: "\u2605", off: "\u2606", disabled: "\u2606" },
folder: { on: "\u25BC", off: "\u25B6", disabled: "\u25B6" },
prefix: {
pending: colors.symbols.question,
submitted: colors.symbols.check,
cancelled: colors.symbols.cross
},
separator: {
pending: colors.symbols.pointerSmall,
submitted: colors.symbols.middot,
cancelled: colors.symbols.middot
},
radio: {
off: isWindows15 ? "( )" : "\u25EF",
on: isWindows15 ? "(*)" : "\u25C9",
disabled: isWindows15 ? "(|)" : "\u24BE"
},
numbers: ["\u24EA", "\u2460", "\u2461", "\u2462", "\u2463", "\u2464", "\u2465", "\u2466", "\u2467", "\u2468", "\u2469", "\u246A", "\u246B", "\u246C", "\u246D", "\u246E", "\u246F", "\u2470", "\u2471", "\u2472", "\u2473", "\u3251", "\u3252", "\u3253", "\u3254", "\u3255", "\u3256", "\u3257", "\u3258", "\u3259", "\u325A", "\u325B", "\u325C", "\u325D", "\u325E", "\u325F", "\u32B1", "\u32B2", "\u32B3", "\u32B4", "\u32B5", "\u32B6", "\u32B7", "\u32B8", "\u32B9", "\u32BA", "\u32BB", "\u32BC", "\u32BD", "\u32BE", "\u32BF"]
};
symbols.merge = (options) => {
let result2 = utils.merge({}, colors.symbols, symbols, options.symbols);
delete result2.merge;
return result2;
};
module2.exports = symbols;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/theme.js
var require_theme = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/theme.js"(exports2, module2) {
"use strict";
var styles4 = require_styles();
var symbols = require_symbols3();
var utils = require_utils16();
module2.exports = (prompt) => {
prompt.options = utils.merge({}, prompt.options.theme, prompt.options);
prompt.symbols = symbols.merge(prompt.options);
prompt.styles = styles4.merge(prompt.options);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/ansi.js
var require_ansi = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/ansi.js"(exports2, module2) {
"use strict";
var isTerm = process.env.TERM_PROGRAM === "Apple_Terminal";
var stripAnsi4 = require_strip_ansi();
var utils = require_utils16();
var ansi = module2.exports = exports2;
var ESC4 = "\x1B[";
var BEL2 = "\x07";
var hidden2 = false;
var code = ansi.code = {
bell: BEL2,
beep: BEL2,
beginning: `${ESC4}G`,
down: `${ESC4}J`,
esc: ESC4,
getPosition: `${ESC4}6n`,
hide: `${ESC4}?25l`,
line: `${ESC4}2K`,
lineEnd: `${ESC4}K`,
lineStart: `${ESC4}1K`,
restorePosition: ESC4 + (isTerm ? "8" : "u"),
savePosition: ESC4 + (isTerm ? "7" : "s"),
screen: `${ESC4}2J`,
show: `${ESC4}?25h`,
up: `${ESC4}1J`
};
var cursor = ansi.cursor = {
get hidden() {
return hidden2;
},
hide() {
hidden2 = true;
return code.hide;
},
show() {
hidden2 = false;
return code.show;
},
forward: (count2 = 1) => `${ESC4}${count2}C`,
backward: (count2 = 1) => `${ESC4}${count2}D`,
nextLine: (count2 = 1) => `${ESC4}E`.repeat(count2),
prevLine: (count2 = 1) => `${ESC4}F`.repeat(count2),
up: (count2 = 1) => count2 ? `${ESC4}${count2}A` : "",
down: (count2 = 1) => count2 ? `${ESC4}${count2}B` : "",
right: (count2 = 1) => count2 ? `${ESC4}${count2}C` : "",
left: (count2 = 1) => count2 ? `${ESC4}${count2}D` : "",
to(x3, y) {
return y ? `${ESC4}${y + 1};${x3 + 1}H` : `${ESC4}${x3 + 1}G`;
},
move(x3 = 0, y = 0) {
let res = "";
res += x3 < 0 ? cursor.left(-x3) : x3 > 0 ? cursor.right(x3) : "";
res += y < 0 ? cursor.up(-y) : y > 0 ? cursor.down(y) : "";
return res;
},
strLen(str2) {
var realLength = 0, len = str2.length, charCode = -1;
for (var i4 = 0; i4 < len; i4++) {
charCode = str2.charCodeAt(i4);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
},
restore(state = {}) {
let { after, cursor: cursor2, initial, input, prompt, size, value } = state;
initial = utils.isPrimitive(initial) ? String(initial) : "";
input = utils.isPrimitive(input) ? String(input) : "";
value = utils.isPrimitive(value) ? String(value) : "";
if (size) {
let codes = ansi.cursor.up(size) + ansi.cursor.to(this.strLen(prompt));
let diff2 = input.length - cursor2;
if (diff2 > 0) {
codes += ansi.cursor.left(diff2);
}
return codes;
}
if (value || after) {
let pos = !input && !!initial ? -this.strLen(initial) : -this.strLen(input) + cursor2;
if (after) pos -= this.strLen(after);
if (input === "" && initial && !prompt.includes(initial)) {
pos += this.strLen(initial);
}
return ansi.cursor.move(pos);
}
}
};
var erase = ansi.erase = {
screen: code.screen,
up: code.up,
down: code.down,
line: code.line,
lineEnd: code.lineEnd,
lineStart: code.lineStart,
lines(n2) {
let str2 = "";
for (let i4 = 0; i4 < n2; i4++) {
str2 += ansi.erase.line + (i4 < n2 - 1 ? ansi.cursor.up(1) : "");
}
if (n2) str2 += ansi.code.beginning;
return str2;
}
};
ansi.clear = (input = "", columns = process.stdout.columns) => {
if (!columns) return erase.line + cursor.to(0);
let width = (str2) => [...stripAnsi4(str2)].length;
let lines = input.split(/\r?\n/);
let rows = 0;
for (let line of lines) {
rows += 1 + Math.floor(Math.max(width(line) - 1, 0) / columns);
}
return (erase.line + cursor.prevLine()).repeat(rows - 1) + erase.line + cursor.to(0);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompt.js
var require_prompt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompt.js"(exports2, module2) {
"use strict";
var Events = __require("events");
var stripAnsi4 = require_strip_ansi();
var keypress = require_keypress();
var timer = require_timer();
var State2 = require_state();
var theme = require_theme();
var utils = require_utils16();
var ansi = require_ansi();
var Prompt = class _Prompt extends Events {
constructor(options = {}) {
super();
this.name = options.name;
this.type = options.type;
this.options = options;
theme(this);
timer(this);
this.state = new State2(this);
this.initial = [options.initial, options.default].find((v) => v != null);
this.stdout = options.stdout || process.stdout;
this.stdin = options.stdin || process.stdin;
this.scale = options.scale || 1;
this.term = this.options.term || process.env.TERM_PROGRAM;
this.margin = margin(this.options.margin);
this.setMaxListeners(0);
setOptions(this);
}
async keypress(input, event = {}) {
this.keypressed = true;
let key = keypress.action(input, keypress(input, event), this.options.actions);
this.state.keypress = key;
this.emit("keypress", input, key);
this.emit("state", this.state.clone());
const fn = this.options[key.action] || this[key.action] || this.dispatch;
if (typeof fn === "function") {
return await fn.call(this, input, key);
}
this.alert();
}
alert() {
delete this.state.alert;
if (this.options.show === false) {
this.emit("alert");
} else {
this.stdout.write(ansi.code.beep);
}
}
cursorHide() {
this.stdout.write(ansi.cursor.hide());
const releaseOnExit = utils.onExit(() => this.cursorShow());
this.on("close", () => {
this.cursorShow();
releaseOnExit();
});
}
cursorShow() {
this.stdout.write(ansi.cursor.show());
}
write(str2) {
if (!str2) return;
if (this.stdout && this.state.show !== false) {
this.stdout.write(str2);
}
this.state.buffer += str2;
}
clear(lines = 0) {
let buffer3 = this.state.buffer;
this.state.buffer = "";
if (!buffer3 && !lines || this.options.show === false) return;
this.stdout.write(ansi.cursor.down(lines) + ansi.clear(buffer3, this.width));
}
restore() {
if (this.state.closed || this.options.show === false) return;
let { prompt, after, rest } = this.sections();
let { cursor, initial = "", input = "", value = "" } = this;
let size = this.state.size = rest.length;
let state = { after, cursor, initial, input, prompt, size, value };
let codes = ansi.cursor.restore(state);
if (codes) {
this.stdout.write(codes);
}
}
sections() {
let { buffer: buffer3, input, prompt } = this.state;
prompt = stripAnsi4(prompt);
let buf = stripAnsi4(buffer3);
let idx = buf.indexOf(prompt);
let header = buf.slice(0, idx);
let rest = buf.slice(idx);
let lines = rest.split("\n");
let first = lines[0];
let last = lines[lines.length - 1];
let promptLine = prompt + (input ? " " + input : "");
let len = promptLine.length;
let after = len < first.length ? first.slice(len + 1) : "";
return { header, prompt: first, after, rest: lines.slice(1), last };
}
async submit() {
this.state.submitted = true;
this.state.validating = true;
if (this.options.onSubmit) {
await this.options.onSubmit.call(this, this.name, this.value, this);
}
let result2 = this.state.error || await this.validate(this.value, this.state);
if (result2 !== true) {
let error = "\n" + this.symbols.pointer + " ";
if (typeof result2 === "string") {
error += result2.trim();
} else {
error += "Invalid input";
}
this.state.error = "\n" + this.styles.danger(error);
this.state.submitted = false;
await this.render();
await this.alert();
this.state.validating = false;
this.state.error = void 0;
return;
}
this.state.validating = false;
await this.render();
await this.close();
this.value = await this.result(this.value);
this.emit("submit", this.value);
}
async cancel(err2) {
this.state.cancelled = this.state.submitted = true;
await this.render();
await this.close();
if (typeof this.options.onCancel === "function") {
await this.options.onCancel.call(this, this.name, this.value, this);
}
this.emit("cancel", await this.error(err2));
}
async close() {
this.state.closed = true;
try {
let sections = this.sections();
let lines = Math.ceil(sections.prompt.length / this.width);
if (sections.rest) {
this.write(ansi.cursor.down(sections.rest.length));
}
this.write("\n".repeat(lines));
} catch (err2) {
}
this.emit("close");
}
start() {
if (!this.stop && this.options.show !== false) {
this.stop = keypress.listen(this, this.keypress.bind(this));
this.once("close", this.stop);
this.emit("start", this);
}
}
async skip() {
this.skipped = this.options.skip === true;
if (typeof this.options.skip === "function") {
this.skipped = await this.options.skip.call(this, this.name, this.value);
}
return this.skipped;
}
async initialize() {
let { format: format2, options, result: result2 } = this;
this.format = () => format2.call(this, this.value);
this.result = () => result2.call(this, this.value);
if (typeof options.initial === "function") {
this.initial = await options.initial.call(this, this);
}
if (typeof options.onRun === "function") {
await options.onRun.call(this, this);
}
if (typeof options.onSubmit === "function") {
let onSubmit = options.onSubmit.bind(this);
let submit = this.submit.bind(this);
delete this.options.onSubmit;
this.submit = async () => {
await onSubmit(this.name, this.value, this);
return submit();
};
}
await this.start();
await this.render();
}
render() {
throw new Error("expected prompt to have a custom render method");
}
run() {
return new Promise(async (resolve4, reject3) => {
this.once("submit", resolve4);
this.once("cancel", reject3);
if (await this.skip()) {
this.render = () => {
};
return this.submit();
}
await this.initialize();
this.emit("run");
});
}
async element(name, choice, i4) {
let { options, state, symbols, timers } = this;
let timer2 = timers && timers[name];
state.timer = timer2;
let value = options[name] || state[name] || symbols[name];
let val = choice && choice[name] != null ? choice[name] : await value;
if (val === "") return val;
let res = await this.resolve(val, state, choice, i4);
if (!res && choice && choice[name]) {
return this.resolve(value, state, choice, i4);
}
return res;
}
async prefix() {
let element = await this.element("prefix") || this.symbols;
let timer2 = this.timers && this.timers.prefix;
let state = this.state;
state.timer = timer2;
if (utils.isObject(element)) element = element[state.status] || element.pending;
if (!utils.hasColor(element)) {
let style = this.styles[state.status] || this.styles.pending;
return style(element);
}
return element;
}
async message() {
let message = await this.element("message");
if (!utils.hasColor(message)) {
return this.styles.strong(message);
}
return message;
}
async separator() {
let element = await this.element("separator") || this.symbols;
let timer2 = this.timers && this.timers.separator;
let state = this.state;
state.timer = timer2;
let value = element[state.status] || element.pending || state.separator;
let ele = await this.resolve(value, state);
if (utils.isObject(ele)) ele = ele[state.status] || ele.pending;
if (!utils.hasColor(ele)) {
return this.styles.muted(ele);
}
return ele;
}
async pointer(choice, i4) {
let val = await this.element("pointer", choice, i4);
if (typeof val === "string" && utils.hasColor(val)) {
return val;
}
if (val) {
let styles4 = this.styles;
let focused = this.index === i4;
let style = focused ? styles4.primary : (val2) => val2;
let ele = await this.resolve(val[focused ? "on" : "off"] || val, this.state);
let styled = !utils.hasColor(ele) ? style(ele) : ele;
return focused ? styled : " ".repeat(ele.length);
}
}
async indicator(choice, i4) {
let val = await this.element("indicator", choice, i4);
if (typeof val === "string" && utils.hasColor(val)) {
return val;
}
if (val) {
let styles4 = this.styles;
let enabled = choice.enabled === true;
let style = enabled ? styles4.success : styles4.dark;
let ele = val[enabled ? "on" : "off"] || val;
return !utils.hasColor(ele) ? style(ele) : ele;
}
return "";
}
body() {
return null;
}
footer() {
if (this.state.status === "pending") {
return this.element("footer");
}
}
header() {
if (this.state.status === "pending") {
return this.element("header");
}
}
async hint() {
if (this.state.status === "pending" && !this.isValue(this.state.input)) {
let hint = await this.element("hint");
if (!utils.hasColor(hint)) {
return this.styles.muted(hint);
}
return hint;
}
}
error(err2) {
return !this.state.submitted ? err2 || this.state.error : "";
}
format(value) {
return value;
}
result(value) {
return value;
}
validate(value) {
if (this.options.required === true) {
return this.isValue(value);
}
return true;
}
isValue(value) {
return value != null && value !== "";
}
resolve(value, ...args) {
return utils.resolve(this, value, ...args);
}
get base() {
return _Prompt.prototype;
}
get style() {
return this.styles[this.state.status];
}
get height() {
return this.options.rows || utils.height(this.stdout, 25);
}
get width() {
return this.options.columns || utils.width(this.stdout, 80);
}
get size() {
return { width: this.width, height: this.height };
}
set cursor(value) {
this.state.cursor = value;
}
get cursor() {
return this.state.cursor;
}
set input(value) {
this.state.input = value;
}
get input() {
return this.state.input;
}
set value(value) {
this.state.value = value;
}
get value() {
let { input, value } = this.state;
let result2 = [value, input].find(this.isValue.bind(this));
return this.isValue(result2) ? result2 : this.initial;
}
static get prompt() {
return (options) => new this(options).run();
}
};
function setOptions(prompt) {
let isValidKey = (key) => {
return prompt[key] === void 0 || typeof prompt[key] === "function";
};
let ignore2 = [
"actions",
"choices",
"initial",
"margin",
"roles",
"styles",
"symbols",
"theme",
"timers",
"value"
];
let ignoreFn = [
"body",
"footer",
"error",
"header",
"hint",
"indicator",
"message",
"prefix",
"separator",
"skip"
];
for (let key of Object.keys(prompt.options)) {
if (ignore2.includes(key)) continue;
if (/^on[A-Z]/.test(key)) continue;
let option = prompt.options[key];
if (typeof option === "function" && isValidKey(key)) {
if (!ignoreFn.includes(key)) {
prompt[key] = option.bind(prompt);
}
} else if (typeof prompt[key] !== "function") {
prompt[key] = option;
}
}
}
function margin(value) {
if (typeof value === "number") {
value = [value, value, value, value];
}
let arr = [].concat(value || []);
let pad4 = (i4) => i4 % 2 === 0 ? "\n" : " ";
let res = [];
for (let i4 = 0; i4 < 4; i4++) {
let char = pad4(i4);
if (arr[i4]) {
res.push(char.repeat(arr[i4]));
} else {
res.push("");
}
}
return res;
}
module2.exports = Prompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/roles.js
var require_roles = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/roles.js"(exports2, module2) {
"use strict";
var utils = require_utils16();
var roles = {
default(prompt, choice) {
return choice;
},
checkbox(prompt, choice) {
throw new Error("checkbox role is not implemented yet");
},
editable(prompt, choice) {
throw new Error("editable role is not implemented yet");
},
expandable(prompt, choice) {
throw new Error("expandable role is not implemented yet");
},
heading(prompt, choice) {
choice.disabled = "";
choice.indicator = [choice.indicator, " "].find((v) => v != null);
choice.message = choice.message || "";
return choice;
},
input(prompt, choice) {
throw new Error("input role is not implemented yet");
},
option(prompt, choice) {
return roles.default(prompt, choice);
},
radio(prompt, choice) {
throw new Error("radio role is not implemented yet");
},
separator(prompt, choice) {
choice.disabled = "";
choice.indicator = [choice.indicator, " "].find((v) => v != null);
choice.message = choice.message || prompt.symbols.line.repeat(5);
return choice;
},
spacer(prompt, choice) {
return choice;
}
};
module2.exports = (name, options = {}) => {
let role = utils.merge({}, roles, options.roles);
return role[name] || role.default;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/array.js
var require_array2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/array.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var Prompt = require_prompt();
var roles = require_roles();
var utils = require_utils16();
var { reorder, scrollUp: scrollUp2, scrollDown: scrollDown2, isObject: isObject4, swap } = utils;
var ArrayPrompt = class extends Prompt {
constructor(options) {
super(options);
this.cursorHide();
this.maxSelected = options.maxSelected || Infinity;
this.multiple = options.multiple || false;
this.initial = options.initial || 0;
this.delay = options.delay || 0;
this.longest = 0;
this.num = "";
}
async initialize() {
if (typeof this.options.initial === "function") {
this.initial = await this.options.initial.call(this);
}
await this.reset(true);
await super.initialize();
}
async reset() {
let { choices, initial, autofocus, suggest } = this.options;
this.state._choices = [];
this.state.choices = [];
this.choices = await Promise.all(await this.toChoices(choices));
this.choices.forEach((ch) => ch.enabled = false);
if (typeof suggest !== "function" && this.selectable.length === 0) {
throw new Error("At least one choice must be selectable");
}
if (isObject4(initial)) initial = Object.keys(initial);
if (Array.isArray(initial)) {
if (autofocus != null) this.index = this.findIndex(autofocus);
initial.forEach((v) => this.enable(this.find(v)));
await this.render();
} else {
if (autofocus != null) initial = autofocus;
if (typeof initial === "string") initial = this.findIndex(initial);
if (typeof initial === "number" && initial > -1) {
this.index = Math.max(0, Math.min(initial, this.choices.length));
this.enable(this.find(this.index));
}
}
if (this.isDisabled(this.focused)) {
await this.down();
}
}
async toChoices(value, parent) {
this.state.loadingChoices = true;
let choices = [];
let index2 = 0;
let toChoices = async (items, parent2) => {
if (typeof items === "function") items = await items.call(this);
if (items instanceof Promise) items = await items;
for (let i4 = 0; i4 < items.length; i4++) {
let choice = items[i4] = await this.toChoice(items[i4], index2++, parent2);
choices.push(choice);
if (choice.choices) {
await toChoices(choice.choices, choice);
}
}
return choices;
};
return toChoices(value, parent).then((choices2) => {
this.state.loadingChoices = false;
return choices2;
});
}
async toChoice(ele, i4, parent) {
if (typeof ele === "function") ele = await ele.call(this, this);
if (ele instanceof Promise) ele = await ele;
if (typeof ele === "string") ele = { name: ele };
if (ele.normalized) return ele;
ele.normalized = true;
let origVal = ele.value;
let role = roles(ele.role, this.options);
ele = role(this, ele);
if (typeof ele.disabled === "string" && !ele.hint) {
ele.hint = ele.disabled;
ele.disabled = true;
}
if (ele.disabled === true && ele.hint == null) {
ele.hint = "(disabled)";
}
if (ele.index != null) return ele;
ele.name = ele.name || ele.key || ele.title || ele.value || ele.message;
ele.message = ele.message || ele.name || "";
ele.value = [ele.value, ele.name].find(this.isValue.bind(this));
ele.input = "";
ele.index = i4;
ele.cursor = 0;
utils.define(ele, "parent", parent);
ele.level = parent ? parent.level + 1 : 1;
if (ele.indent == null) {
ele.indent = parent ? parent.indent + " " : ele.indent || "";
}
ele.path = parent ? parent.path + "." + ele.name : ele.name;
ele.enabled = !!(this.multiple && !this.isDisabled(ele) && (ele.enabled || this.isSelected(ele)));
if (!this.isDisabled(ele)) {
this.longest = Math.max(this.longest, stripAnsi4(ele.message).length);
}
let choice = { ...ele };
ele.reset = (input = choice.input, value = choice.value) => {
for (let key of Object.keys(choice)) ele[key] = choice[key];
ele.input = input;
ele.value = value;
};
if (origVal == null && typeof ele.initial === "function") {
ele.input = await ele.initial.call(this, this.state, ele, i4);
}
return ele;
}
async onChoice(choice, i4) {
this.emit("choice", choice, i4, this);
if (typeof choice.onChoice === "function") {
await choice.onChoice.call(this, this.state, choice, i4);
}
}
async addChoice(ele, i4, parent) {
let choice = await this.toChoice(ele, i4, parent);
this.choices.push(choice);
this.index = this.choices.length - 1;
this.limit = this.choices.length;
return choice;
}
async newItem(item, i4, parent) {
let ele = { name: "New choice name?", editable: true, newChoice: true, ...item };
let choice = await this.addChoice(ele, i4, parent);
choice.updateChoice = () => {
delete choice.newChoice;
choice.name = choice.message = choice.input;
choice.input = "";
choice.cursor = 0;
};
return this.render();
}
indent(choice) {
if (choice.indent == null) {
return choice.level > 1 ? " ".repeat(choice.level - 1) : "";
}
return choice.indent;
}
dispatch(s, key) {
if (this.multiple && this[key.name]) return this[key.name]();
this.alert();
}
focus(choice, enabled) {
if (typeof enabled !== "boolean") enabled = choice.enabled;
if (enabled && !choice.enabled && this.selected.length >= this.maxSelected) {
return this.alert();
}
this.index = choice.index;
choice.enabled = enabled && !this.isDisabled(choice);
return choice;
}
space() {
if (!this.multiple) return this.alert();
if (!this.focused) return;
this.toggle(this.focused);
return this.render();
}
a() {
if (this.maxSelected < this.choices.length) return this.alert();
let enabled = this.selectable.every((ch) => ch.enabled);
this.choices.forEach((ch) => ch.enabled = !enabled);
return this.render();
}
i() {
if (this.choices.length - this.selected.length > this.maxSelected) {
return this.alert();
}
this.choices.forEach((ch) => ch.enabled = !ch.enabled);
return this.render();
}
g() {
if (!this.choices.some((ch) => !!ch.parent)) return this.a();
const focused = this.focused;
this.toggle(focused.parent && !focused.choices ? focused.parent : focused);
return this.render();
}
toggle(choice, enabled) {
if (!choice.enabled && this.selected.length >= this.maxSelected) {
return this.alert();
}
if (typeof enabled !== "boolean") enabled = !choice.enabled;
choice.enabled = enabled;
if (choice.choices) {
choice.choices.forEach((ch) => this.toggle(ch, enabled));
}
let parent = choice.parent;
while (parent) {
let choices = parent.choices.filter((ch) => this.isDisabled(ch));
parent.enabled = choices.every((ch) => ch.enabled === true);
parent = parent.parent;
}
reset2(this, this.choices);
this.emit("toggle", choice, this);
return choice;
}
enable(choice) {
if (this.selected.length >= this.maxSelected) return this.alert();
choice.enabled = !this.isDisabled(choice);
choice.choices && choice.choices.forEach(this.enable.bind(this));
return choice;
}
disable(choice) {
choice.enabled = false;
choice.choices && choice.choices.forEach(this.disable.bind(this));
return choice;
}
number(n2) {
this.num += n2;
let number = (num) => {
let i4 = Number(num);
if (i4 > this.choices.length - 1) return this.alert();
let focused = this.focused;
let choice = this.choices.find((ch) => i4 === ch.index);
if (!choice.enabled && this.selected.length >= this.maxSelected) {
return this.alert();
}
if (this.visible.indexOf(choice) === -1) {
let choices = reorder(this.choices);
let actualIdx = choices.indexOf(choice);
if (focused.index > actualIdx) {
let start = choices.slice(actualIdx, actualIdx + this.limit);
let end = choices.filter((ch) => !start.includes(ch));
this.choices = start.concat(end);
} else {
let pos = actualIdx - this.limit + 1;
this.choices = choices.slice(pos).concat(choices.slice(0, pos));
}
}
this.index = this.choices.indexOf(choice);
this.toggle(this.focused);
return this.render();
};
clearTimeout(this.numberTimeout);
return new Promise((resolve4) => {
let len = this.choices.length;
let num = this.num;
let handle = (val = false, res) => {
clearTimeout(this.numberTimeout);
if (val) res = number(num);
this.num = "";
resolve4(res);
};
if (num === "0" || num.length === 1 && Number(num + "0") > len) {
return handle(true);
}
if (Number(num) > len) {
return handle(false, this.alert());
}
this.numberTimeout = setTimeout(() => handle(true), this.delay);
});
}
home() {
this.choices = reorder(this.choices);
this.index = 0;
return this.render();
}
end() {
let pos = this.choices.length - this.limit;
let choices = reorder(this.choices);
this.choices = choices.slice(pos).concat(choices.slice(0, pos));
this.index = this.limit - 1;
return this.render();
}
first() {
this.index = 0;
return this.render();
}
last() {
this.index = this.visible.length - 1;
return this.render();
}
prev() {
if (this.visible.length <= 1) return this.alert();
return this.up();
}
next() {
if (this.visible.length <= 1) return this.alert();
return this.down();
}
right() {
if (this.cursor >= this.input.length) return this.alert();
this.cursor++;
return this.render();
}
left() {
if (this.cursor <= 0) return this.alert();
this.cursor--;
return this.render();
}
up() {
let len = this.choices.length;
let vis = this.visible.length;
let idx = this.index;
if (this.options.scroll === false && idx === 0) {
return this.alert();
}
if (len > vis && idx === 0) {
return this.scrollUp();
}
this.index = (idx - 1 % len + len) % len;
if (this.isDisabled() && !this.allChoicesAreDisabled()) {
return this.up();
}
return this.render();
}
down() {
let len = this.choices.length;
let vis = this.visible.length;
let idx = this.index;
if (this.options.scroll === false && idx === vis - 1) {
return this.alert();
}
if (len > vis && idx === vis - 1) {
return this.scrollDown();
}
this.index = (idx + 1) % len;
if (this.isDisabled() && !this.allChoicesAreDisabled()) {
return this.down();
}
return this.render();
}
scrollUp(i4 = 0) {
this.choices = scrollUp2(this.choices);
this.index = i4;
if (this.isDisabled()) {
return this.up();
}
return this.render();
}
scrollDown(i4 = this.visible.length - 1) {
this.choices = scrollDown2(this.choices);
this.index = i4;
if (this.isDisabled()) {
return this.down();
}
return this.render();
}
async shiftUp() {
if (this.options.sort === true) {
this.sorting = true;
this.swap(this.index - 1);
await this.up();
this.sorting = false;
return;
}
return this.scrollUp(this.index);
}
async shiftDown() {
if (this.options.sort === true) {
this.sorting = true;
this.swap(this.index + 1);
await this.down();
this.sorting = false;
return;
}
return this.scrollDown(this.index);
}
pageUp() {
if (this.visible.length <= 1) return this.alert();
this.limit = Math.max(this.limit - 1, 0);
this.index = Math.min(this.limit - 1, this.index);
this._limit = this.limit;
if (this.isDisabled()) {
return this.up();
}
return this.render();
}
pageDown() {
if (this.visible.length >= this.choices.length) return this.alert();
this.index = Math.max(0, this.index);
this.limit = Math.min(this.limit + 1, this.choices.length);
this._limit = this.limit;
if (this.isDisabled()) {
return this.down();
}
return this.render();
}
swap(pos) {
swap(this.choices, this.index, pos);
}
allChoicesAreDisabled(choices = this.choices) {
return choices.every((choice) => this.isDisabled(choice));
}
isDisabled(choice = this.focused) {
let keys4 = ["disabled", "collapsed", "hidden", "completing", "readonly"];
if (choice && keys4.some((key) => choice[key] === true)) {
return true;
}
return choice && choice.role === "heading";
}
isEnabled(choice = this.focused) {
if (Array.isArray(choice)) return choice.every((ch) => this.isEnabled(ch));
if (choice.choices) {
let choices = choice.choices.filter((ch) => !this.isDisabled(ch));
return choice.enabled && choices.every((ch) => this.isEnabled(ch));
}
return choice.enabled && !this.isDisabled(choice);
}
isChoice(choice, value) {
return choice.name === value || choice.index === Number(value);
}
isSelected(choice) {
if (Array.isArray(this.initial)) {
return this.initial.some((value) => this.isChoice(choice, value));
}
return this.isChoice(choice, this.initial);
}
map(names = [], prop3 = "value") {
return [].concat(names || []).reduce((acc, name) => {
acc[name] = this.find(name, prop3);
return acc;
}, {});
}
filter(value, prop3) {
let isChoice = (ele, i4) => [ele.name, i4].includes(value);
let fn = typeof value === "function" ? value : isChoice;
let choices = this.options.multiple ? this.state._choices : this.choices;
let result2 = choices.filter(fn);
if (prop3) {
return result2.map((ch) => ch[prop3]);
}
return result2;
}
find(value, prop3) {
if (isObject4(value)) return prop3 ? value[prop3] : value;
let isChoice = (ele, i4) => [ele.name, i4].includes(value);
let fn = typeof value === "function" ? value : isChoice;
let choice = this.choices.find(fn);
if (choice) {
return prop3 ? choice[prop3] : choice;
}
}
findIndex(value) {
return this.choices.indexOf(this.find(value));
}
async submit() {
let choice = this.focused;
if (!choice) return this.alert();
if (choice.newChoice) {
if (!choice.input) return this.alert();
choice.updateChoice();
return this.render();
}
if (this.choices.some((ch) => ch.newChoice)) {
return this.alert();
}
let { reorder: reorder2, sort } = this.options;
let multi = this.multiple === true;
let value = this.selected;
if (value === void 0) {
return this.alert();
}
if (Array.isArray(value) && reorder2 !== false && sort !== true) {
value = utils.reorder(value);
}
this.value = multi ? value.map((ch) => ch.name) : value.name;
return super.submit();
}
set choices(choices = []) {
this.state._choices = this.state._choices || [];
this.state.choices = choices;
for (let choice of choices) {
if (!this.state._choices.some((ch) => ch.name === choice.name)) {
this.state._choices.push(choice);
}
}
if (!this._initial && this.options.initial) {
this._initial = true;
let init2 = this.initial;
if (typeof init2 === "string" || typeof init2 === "number") {
let choice = this.find(init2);
if (choice) {
this.initial = choice.index;
this.focus(choice, true);
}
}
}
}
get choices() {
return reset2(this, this.state.choices || []);
}
set visible(visible) {
this.state.visible = visible;
}
get visible() {
return (this.state.visible || this.choices).slice(0, this.limit);
}
set limit(num) {
this.state.limit = num;
}
get limit() {
let { state, options, choices } = this;
let limit = state.limit || this._limit || options.limit || choices.length;
return Math.min(limit, this.height);
}
set value(value) {
super.value = value;
}
get value() {
if (typeof super.value !== "string" && super.value === this.initial) {
return this.input;
}
return super.value;
}
set index(i4) {
this.state.index = i4;
}
get index() {
return Math.max(0, this.state ? this.state.index : 0);
}
get enabled() {
return this.filter(this.isEnabled.bind(this));
}
get focused() {
let choice = this.choices[this.index];
if (choice && this.state.submitted && this.multiple !== true) {
choice.enabled = true;
}
return choice;
}
get selectable() {
return this.choices.filter((choice) => !this.isDisabled(choice));
}
get selected() {
return this.multiple ? this.enabled : this.focused;
}
};
function reset2(prompt, choices) {
if (choices instanceof Promise) return choices;
if (typeof choices === "function") {
if (utils.isAsyncFn(choices)) return choices;
choices = choices.call(prompt, prompt);
}
for (let choice of choices) {
if (Array.isArray(choice.choices)) {
let items = choice.choices.filter((ch) => !prompt.isDisabled(ch));
choice.enabled = items.every((ch) => ch.enabled === true);
}
if (prompt.isDisabled(choice) === true) {
delete choice.enabled;
}
}
return choices;
}
module2.exports = ArrayPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/select.js
var require_select = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/select.js"(exports2, module2) {
"use strict";
var ArrayPrompt = require_array2();
var utils = require_utils16();
var SelectPrompt = class extends ArrayPrompt {
constructor(options) {
super(options);
this.emptyError = this.options.emptyError || "No items were selected";
}
async dispatch(s, key) {
if (this.multiple) {
return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key);
}
this.alert();
}
separator() {
if (this.options.separator) return super.separator();
let sep2 = this.styles.muted(this.symbols.ellipsis);
return this.state.submitted ? super.separator() : sep2;
}
pointer(choice, i4) {
return !this.multiple || this.options.pointer ? super.pointer(choice, i4) : "";
}
indicator(choice, i4) {
return this.multiple ? super.indicator(choice, i4) : "";
}
choiceMessage(choice, i4) {
let message = this.resolve(choice.message, this.state, choice, i4);
if (choice.role === "heading" && !utils.hasColor(message)) {
message = this.styles.strong(message);
}
return this.resolve(message, this.state, choice, i4);
}
choiceSeparator() {
return ":";
}
async renderChoice(choice, i4) {
await this.onChoice(choice, i4);
let focused = this.index === i4;
let pointer = await this.pointer(choice, i4);
let check2 = await this.indicator(choice, i4) + (choice.pad || "");
let hint = await this.resolve(choice.hint, this.state, choice, i4);
if (hint && !utils.hasColor(hint)) {
hint = this.styles.muted(hint);
}
let ind = this.indent(choice);
let msg = await this.choiceMessage(choice, i4);
let line = () => [this.margin[3], ind + pointer + check2, msg, this.margin[1], hint].filter(Boolean).join(" ");
if (choice.role === "heading") {
return line();
}
if (choice.disabled) {
if (!utils.hasColor(msg)) {
msg = this.styles.disabled(msg);
}
return line();
}
if (focused) {
msg = this.styles.em(msg);
}
return line();
}
async renderChoices() {
if (this.state.loading === "choices") {
return this.styles.warning("Loading choices");
}
if (this.state.submitted) return "";
let choices = this.visible.map(async (ch, i4) => await this.renderChoice(ch, i4));
let visible = await Promise.all(choices);
if (!visible.length) visible.push(this.styles.danger("No matching choices"));
let result2 = this.margin[0] + visible.join("\n");
let header;
if (this.options.choicesHeader) {
header = await this.resolve(this.options.choicesHeader, this.state);
}
return [header, result2].filter(Boolean).join("\n");
}
format() {
if (!this.state.submitted || this.state.cancelled) return "";
if (Array.isArray(this.selected)) {
return this.selected.map((choice) => this.styles.primary(choice.name)).join(", ");
}
return this.styles.primary(this.selected.name);
}
async render() {
let { submitted, size } = this.state;
let prompt = "";
let header = await this.header();
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
if (this.options.promptLine !== false) {
prompt = [prefix, message, separator, ""].join(" ");
this.state.prompt = prompt;
}
let output = await this.format();
let help81 = await this.error() || await this.hint();
let body = await this.renderChoices();
let footer = await this.footer();
if (output) prompt += output;
if (help81 && !prompt.includes(help81)) prompt += " " + help81;
if (submitted && !output && !body.trim() && this.multiple && this.emptyError != null) {
prompt += this.styles.danger(this.emptyError);
}
this.clear(size);
this.write([header, prompt, body, footer].filter(Boolean).join("\n"));
this.write(this.margin[2]);
this.restore();
}
};
module2.exports = SelectPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/autocomplete.js
var require_autocomplete = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/autocomplete.js"(exports2, module2) {
"use strict";
var Select = require_select();
var highlight2 = (input, color) => {
const regex2 = input ? new RegExp(input, "ig") : /$^/;
return (str2) => {
return input ? str2.replace(regex2, (match) => color(match)) : str2;
};
};
var AutoComplete = class extends Select {
constructor(options) {
super(options);
this.cursorShow();
}
moveCursor(n2) {
this.state.cursor += n2;
}
dispatch(ch) {
return this.append(ch);
}
space(ch) {
return this.options.multiple ? super.space(ch) : this.append(ch);
}
append(ch) {
let { cursor, input } = this.state;
this.input = input.slice(0, cursor) + ch + input.slice(cursor);
this.moveCursor(1);
return this.complete();
}
delete() {
let { cursor, input } = this.state;
if (!input) return this.alert();
this.input = input.slice(0, cursor - 1) + input.slice(cursor);
this.moveCursor(-1);
return this.complete();
}
deleteForward() {
let { cursor, input } = this.state;
if (input[cursor] === void 0) return this.alert();
this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
return this.complete();
}
number(ch) {
return this.append(ch);
}
async complete() {
this.completing = true;
this.choices = await this.suggest(this.input, this.state._choices);
this.state.limit = void 0;
this.index = Math.min(Math.max(this.visible.length - 1, 0), this.index);
await this.render();
this.completing = false;
}
suggest(input = this.input, choices = this.state._choices) {
if (typeof this.options.suggest === "function") {
return this.options.suggest.call(this, input, choices);
}
let str2 = input.toLowerCase();
return choices.filter((ch) => ch.message.toLowerCase().includes(str2));
}
pointer() {
return "";
}
format() {
if (!this.focused) return this.input;
if (this.options.multiple && this.state.submitted) {
return this.selected.map((ch) => this.styles.primary(ch.message)).join(", ");
}
if (this.state.submitted) {
let value = this.value = this.input = this.focused.value;
return this.styles.primary(value);
}
return this.input;
}
async render() {
if (this.state.status !== "pending") return super.render();
const hl = this.options.highlight || this.styles.complement;
const style = (input, color2) => {
if (!input) return input;
if (hl.stack) return hl(input);
return hl.call(this, input);
};
const color = highlight2(this.input, style);
const choices = this.choices;
this.choices = choices.map((ch) => ({ ...ch, message: color(ch.message) }));
await super.render();
this.choices = choices;
}
submit() {
if (this.options.multiple) {
this.value = this.selected.map((ch) => ch.name);
}
return super.submit();
}
};
module2.exports = AutoComplete;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/placeholder.js
var require_placeholder = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/placeholder.js"(exports2, module2) {
"use strict";
var utils = require_utils16();
module2.exports = (prompt, options = {}) => {
prompt.cursorHide();
let { input = "", initial = "", pos, showCursor = true, color } = options;
let style = color || prompt.styles.placeholder;
let inverse2 = utils.inverse(prompt.styles.primary);
let blinker = (str2) => inverse2(prompt.styles.black(str2));
let output = input;
let char = " ";
let reverse3 = blinker(char);
if (prompt.blink && prompt.blink.off === true) {
blinker = (str2) => str2;
reverse3 = "";
}
if (showCursor && pos === 0 && initial === "" && input === "") {
return blinker(char);
}
if (showCursor && pos === 0 && (input === initial || input === "")) {
return blinker(initial[0]) + style(initial.slice(1));
}
initial = utils.isPrimitive(initial) ? `${initial}` : "";
input = utils.isPrimitive(input) ? `${input}` : "";
let placeholder = initial && initial.startsWith(input) && initial !== input;
let cursor = placeholder ? blinker(initial[input.length]) : reverse3;
if (pos !== input.length && showCursor === true) {
output = input.slice(0, pos) + blinker(input[pos]) + input.slice(pos + 1);
cursor = "";
}
if (showCursor === false) {
cursor = "";
}
if (placeholder) {
let raw = prompt.styles.unstyle(output + cursor);
return output + cursor + style(initial.slice(raw.length));
}
return output + cursor;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/form.js
var require_form = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/form.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var SelectPrompt = require_select();
var placeholder = require_placeholder();
var FormPrompt = class extends SelectPrompt {
constructor(options) {
super({ ...options, multiple: true });
this.type = "form";
this.initial = this.options.initial;
this.align = [this.options.align, "right"].find((v) => v != null);
this.emptyError = "";
this.values = {};
}
async reset(first) {
await super.reset();
if (first === true) this._index = this.index;
this.index = this._index;
this.values = {};
this.choices.forEach((choice) => choice.reset && choice.reset());
return this.render();
}
dispatch(char) {
return !!char && this.append(char);
}
append(char) {
let choice = this.focused;
if (!choice) return this.alert();
let { cursor, input } = choice;
choice.value = choice.input = input.slice(0, cursor) + char + input.slice(cursor);
choice.cursor++;
return this.render();
}
delete() {
let choice = this.focused;
if (!choice || choice.cursor <= 0) return this.alert();
let { cursor, input } = choice;
choice.value = choice.input = input.slice(0, cursor - 1) + input.slice(cursor);
choice.cursor--;
return this.render();
}
deleteForward() {
let choice = this.focused;
if (!choice) return this.alert();
let { cursor, input } = choice;
if (input[cursor] === void 0) return this.alert();
let str2 = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
choice.value = choice.input = str2;
return this.render();
}
right() {
let choice = this.focused;
if (!choice) return this.alert();
if (choice.cursor >= choice.input.length) return this.alert();
choice.cursor++;
return this.render();
}
left() {
let choice = this.focused;
if (!choice) return this.alert();
if (choice.cursor <= 0) return this.alert();
choice.cursor--;
return this.render();
}
space(ch, key) {
return this.dispatch(ch, key);
}
number(ch, key) {
return this.dispatch(ch, key);
}
next() {
let ch = this.focused;
if (!ch) return this.alert();
let { initial, input } = ch;
if (initial && initial.startsWith(input) && input !== initial) {
ch.value = ch.input = initial;
ch.cursor = ch.value.length;
return this.render();
}
return super.next();
}
prev() {
let ch = this.focused;
if (!ch) return this.alert();
if (ch.cursor === 0) return super.prev();
ch.value = ch.input = "";
ch.cursor = 0;
return this.render();
}
separator() {
return "";
}
format(value) {
return !this.state.submitted ? super.format(value) : "";
}
pointer() {
return "";
}
indicator(choice) {
return choice.input ? "\u29BF" : "\u2299";
}
async choiceSeparator(choice, i4) {
let sep2 = await this.resolve(choice.separator, this.state, choice, i4) || ":";
return sep2 ? " " + this.styles.disabled(sep2) : "";
}
async renderChoice(choice, i4) {
await this.onChoice(choice, i4);
let { state, styles: styles4 } = this;
let { cursor, initial = "", name, input = "" } = choice;
let { muted, submitted, primary, danger } = styles4;
let focused = this.index === i4;
let validate2 = choice.validate || (() => true);
let sep2 = await this.choiceSeparator(choice, i4);
let msg = choice.message;
if (this.align === "right") msg = msg.padStart(this.longest + 1, " ");
if (this.align === "left") msg = msg.padEnd(this.longest + 1, " ");
let value = this.values[name] = input || initial;
let color = input ? "success" : "dark";
if (await validate2.call(choice, value, this.state) !== true) {
color = "danger";
}
let style = styles4[color];
let indicator = style(await this.indicator(choice, i4)) + (choice.pad || "");
let indent = this.indent(choice);
let line = () => [indent, indicator, msg + sep2, input].filter(Boolean).join(" ");
if (state.submitted) {
msg = stripAnsi4(msg);
input = submitted(input);
return line();
}
if (choice.format) {
input = await choice.format.call(this, input, choice, i4);
} else {
let color2 = this.styles.muted;
let options = { input, initial, pos: cursor, showCursor: focused, color: color2 };
input = placeholder(this, options);
}
if (!this.isValue(input)) {
input = this.styles.muted(this.symbols.ellipsis);
}
if (choice.result) {
this.values[name] = await choice.result.call(this, value, choice, i4);
}
if (focused) {
msg = primary(msg);
}
if (choice.error) {
input += (input ? " " : "") + danger(choice.error.trim());
} else if (choice.hint) {
input += (input ? " " : "") + muted(choice.hint.trim());
}
return line();
}
async submit() {
this.value = this.values;
return super.base.submit.call(this);
}
};
module2.exports = FormPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/auth.js
var require_auth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/auth.js"(exports2, module2) {
"use strict";
var FormPrompt = require_form();
var defaultAuthenticate = () => {
throw new Error("expected prompt to have a custom authenticate method");
};
var factory = (authenticate = defaultAuthenticate) => {
class AuthPrompt extends FormPrompt {
constructor(options) {
super(options);
}
async submit() {
this.value = await authenticate.call(this, this.values, this.state);
super.base.submit.call(this);
}
static create(authenticate2) {
return factory(authenticate2);
}
}
return AuthPrompt;
};
module2.exports = factory();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/basicauth.js
var require_basicauth = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/basicauth.js"(exports2, module2) {
"use strict";
var AuthPrompt = require_auth();
function defaultAuthenticate(value, state) {
if (value.username === this.options.username && value.password === this.options.password) {
return true;
}
return false;
}
var factory = (authenticate = defaultAuthenticate) => {
const choices = [
{ name: "username", message: "username" },
{
name: "password",
message: "password",
format(input) {
if (this.options.showPassword) {
return input;
}
let color = this.state.submitted ? this.styles.primary : this.styles.muted;
return color(this.symbols.asterisk.repeat(input.length));
}
}
];
class BasicAuthPrompt extends AuthPrompt.create(authenticate) {
constructor(options) {
super({ ...options, choices });
}
static create(authenticate2) {
return factory(authenticate2);
}
}
return BasicAuthPrompt;
};
module2.exports = factory();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/boolean.js
var require_boolean = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/boolean.js"(exports2, module2) {
"use strict";
var Prompt = require_prompt();
var { isPrimitive: isPrimitive2, hasColor } = require_utils16();
var BooleanPrompt = class extends Prompt {
constructor(options) {
super(options);
this.cursorHide();
}
async initialize() {
let initial = await this.resolve(this.initial, this.state);
this.input = await this.cast(initial);
await super.initialize();
}
dispatch(ch) {
if (!this.isValue(ch)) return this.alert();
this.input = ch;
return this.submit();
}
format(value) {
let { styles: styles4, state } = this;
return !state.submitted ? styles4.primary(value) : styles4.success(value);
}
cast(input) {
return this.isTrue(input);
}
isTrue(input) {
return /^[ty1]/i.test(input);
}
isFalse(input) {
return /^[fn0]/i.test(input);
}
isValue(value) {
return isPrimitive2(value) && (this.isTrue(value) || this.isFalse(value));
}
async hint() {
if (this.state.status === "pending") {
let hint = await this.element("hint");
if (!hasColor(hint)) {
return this.styles.muted(hint);
}
return hint;
}
}
async render() {
let { input, size } = this.state;
let prefix = await this.prefix();
let sep2 = await this.separator();
let msg = await this.message();
let hint = this.styles.muted(this.default);
let promptLine = [prefix, msg, hint, sep2].filter(Boolean).join(" ");
this.state.prompt = promptLine;
let header = await this.header();
let value = this.value = this.cast(input);
let output = await this.format(value);
let help81 = await this.error() || await this.hint();
let footer = await this.footer();
if (help81 && !promptLine.includes(help81)) output += " " + help81;
promptLine += " " + output;
this.clear(size);
this.write([header, promptLine, footer].filter(Boolean).join("\n"));
this.restore();
}
set value(value) {
super.value = value;
}
get value() {
return this.cast(super.value);
}
};
module2.exports = BooleanPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/confirm.js
var require_confirm = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/confirm.js"(exports2, module2) {
"use strict";
var BooleanPrompt = require_boolean();
var ConfirmPrompt = class extends BooleanPrompt {
constructor(options) {
super(options);
this.default = this.options.default || (this.initial ? "(Y/n)" : "(y/N)");
}
};
module2.exports = ConfirmPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/editable.js
var require_editable = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/editable.js"(exports2, module2) {
"use strict";
var Select = require_select();
var Form = require_form();
var form = Form.prototype;
var Editable = class extends Select {
constructor(options) {
super({ ...options, multiple: true });
this.align = [this.options.align, "left"].find((v) => v != null);
this.emptyError = "";
this.values = {};
}
dispatch(char, key) {
let choice = this.focused;
let parent = choice.parent || {};
if (!choice.editable && !parent.editable) {
if (char === "a" || char === "i") return super[char]();
}
return form.dispatch.call(this, char, key);
}
append(char, key) {
return form.append.call(this, char, key);
}
delete(char, key) {
return form.delete.call(this, char, key);
}
space(char) {
return this.focused.editable ? this.append(char) : super.space();
}
number(char) {
return this.focused.editable ? this.append(char) : super.number(char);
}
next() {
return this.focused.editable ? form.next.call(this) : super.next();
}
prev() {
return this.focused.editable ? form.prev.call(this) : super.prev();
}
async indicator(choice, i4) {
let symbol = choice.indicator || "";
let value = choice.editable ? symbol : super.indicator(choice, i4);
return await this.resolve(value, this.state, choice, i4) || "";
}
indent(choice) {
return choice.role === "heading" ? "" : choice.editable ? " " : " ";
}
async renderChoice(choice, i4) {
choice.indent = "";
if (choice.editable) return form.renderChoice.call(this, choice, i4);
return super.renderChoice(choice, i4);
}
error() {
return "";
}
footer() {
return this.state.error;
}
async validate() {
let result2 = true;
for (let choice of this.choices) {
if (typeof choice.validate !== "function") {
continue;
}
if (choice.role === "heading") {
continue;
}
let val = choice.parent ? this.value[choice.parent.name] : this.value;
if (choice.editable) {
val = choice.value === choice.name ? choice.initial || "" : choice.value;
} else if (!this.isDisabled(choice)) {
val = choice.enabled === true;
}
result2 = await choice.validate(val, this.state);
if (result2 !== true) {
break;
}
}
if (result2 !== true) {
this.state.error = typeof result2 === "string" ? result2 : "Invalid Input";
}
return result2;
}
submit() {
if (this.focused.newChoice === true) return super.submit();
if (this.choices.some((ch) => ch.newChoice)) {
return this.alert();
}
this.value = {};
for (let choice of this.choices) {
let val = choice.parent ? this.value[choice.parent.name] : this.value;
if (choice.role === "heading") {
this.value[choice.name] = {};
continue;
}
if (choice.editable) {
val[choice.name] = choice.value === choice.name ? choice.initial || "" : choice.value;
} else if (!this.isDisabled(choice)) {
val[choice.name] = choice.enabled === true;
}
}
return this.base.submit.call(this);
}
};
module2.exports = Editable;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/string.js
var require_string3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/string.js"(exports2, module2) {
"use strict";
var Prompt = require_prompt();
var keypress = require_keypress();
var placeholder = require_placeholder();
var { isPrimitive: isPrimitive2 } = require_utils16();
var StringPrompt = class extends Prompt {
constructor(options) {
super(options);
this.initial = isPrimitive2(this.initial) ? String(this.initial) : "";
if (this.initial) this.cursorHide();
this.state.prevCursor = 0;
this.state.clipboard = [];
this.keypressTimeout = this.options.keypressTimeout !== void 0 ? this.options.keypressTimeout : null;
}
async keypress(input, key = input ? keypress(input, {}) : {}) {
const now = Date.now();
const elapsed = now - this.lastKeypress;
this.lastKeypress = now;
const isEnterKey2 = key.name === "return" || key.name === "enter";
let prev = this.state.prevKeypress;
let append;
this.state.prevKeypress = key;
if (this.keypressTimeout != null && isEnterKey2) {
if (elapsed < this.keypressTimeout) {
return this.submit();
}
this.state.multilineBuffer = this.state.multilineBuffer || "";
this.state.multilineBuffer += input;
append = true;
prev = null;
}
if (append || this.options.multiline && isEnterKey2) {
if (!prev || prev.name !== "return") {
return this.append("\n", key);
}
}
return super.keypress(input, key);
}
moveCursor(n2) {
this.cursor += n2;
}
reset() {
this.input = this.value = "";
this.cursor = 0;
return this.render();
}
dispatch(ch, key) {
if (!ch || key.ctrl || key.code) return this.alert();
this.append(ch);
}
append(ch) {
let { cursor, input } = this.state;
this.input = `${input}`.slice(0, cursor) + ch + `${input}`.slice(cursor);
this.moveCursor(String(ch).length);
this.render();
}
insert(str2) {
this.append(str2);
}
delete() {
let { cursor, input } = this.state;
if (cursor <= 0) return this.alert();
this.input = `${input}`.slice(0, cursor - 1) + `${input}`.slice(cursor);
this.moveCursor(-1);
this.render();
}
deleteForward() {
let { cursor, input } = this.state;
if (input[cursor] === void 0) return this.alert();
this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
this.render();
}
cutForward() {
let pos = this.cursor;
if (this.input.length <= pos) return this.alert();
this.state.clipboard.push(this.input.slice(pos));
this.input = this.input.slice(0, pos);
this.render();
}
cutLeft() {
let pos = this.cursor;
if (pos === 0) return this.alert();
let before = this.input.slice(0, pos);
let after = this.input.slice(pos);
let words = before.split(" ");
this.state.clipboard.push(words.pop());
this.input = words.join(" ");
this.cursor = this.input.length;
this.input += after;
this.render();
}
paste() {
if (!this.state.clipboard.length) return this.alert();
this.insert(this.state.clipboard.pop());
this.render();
}
toggleCursor() {
if (this.state.prevCursor) {
this.cursor = this.state.prevCursor;
this.state.prevCursor = 0;
} else {
this.state.prevCursor = this.cursor;
this.cursor = 0;
}
this.render();
}
first() {
this.cursor = 0;
this.render();
}
last() {
this.cursor = this.input.length - 1;
this.render();
}
next() {
let init2 = this.initial != null ? String(this.initial) : "";
if (!init2 || !init2.startsWith(this.input)) return this.alert();
this.input = this.initial;
this.cursor = this.initial.length;
this.render();
}
prev() {
if (!this.input) return this.alert();
this.reset();
}
backward() {
return this.left();
}
forward() {
return this.right();
}
right() {
if (this.cursor >= this.input.length) return this.alert();
this.moveCursor(1);
return this.render();
}
left() {
if (this.cursor <= 0) return this.alert();
this.moveCursor(-1);
return this.render();
}
isValue(value) {
return !!value;
}
async format(input = this.value) {
let initial = await this.resolve(this.initial, this.state);
if (!this.state.submitted) {
return placeholder(this, { input, initial, pos: this.cursor });
}
return this.styles.submitted(input || initial);
}
async render() {
let size = this.state.size;
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
let prompt = [prefix, message, separator].filter(Boolean).join(" ");
this.state.prompt = prompt;
let header = await this.header();
let output = await this.format();
let help81 = await this.error() || await this.hint();
let footer = await this.footer();
if (help81 && !output.includes(help81)) output += " " + help81;
prompt += " " + output;
this.clear(size);
this.write([header, prompt, footer].filter(Boolean).join("\n"));
this.restore();
}
};
module2.exports = StringPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/completer.js
var require_completer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/completer.js"(exports2, module2) {
"use strict";
var unique = (arr) => arr.filter((v, i4) => arr.lastIndexOf(v) === i4);
var compact = (arr) => unique(arr).filter(Boolean);
module2.exports = (action, data = {}, value = "") => {
let { past = [], present = "" } = data;
let rest, prev;
switch (action) {
case "prev":
case "undo":
rest = past.slice(0, past.length - 1);
prev = past[past.length - 1] || "";
return {
past: compact([value, ...rest]),
present: prev
};
case "next":
case "redo":
rest = past.slice(1);
prev = past[0] || "";
return {
past: compact([...rest, value]),
present: prev
};
case "save":
return {
past: compact([...past, value]),
present: ""
};
case "remove":
prev = compact(past.filter((v) => v !== value));
present = "";
if (prev.length) {
present = prev.pop();
}
return {
past: prev,
present
};
default: {
throw new Error(`Invalid action: "${action}"`);
}
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/input.js
var require_input = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/input.js"(exports2, module2) {
"use strict";
var Prompt = require_string3();
var completer = require_completer();
var Input = class extends Prompt {
constructor(options) {
super(options);
let history = this.options.history;
if (history && history.store) {
let initial = history.values || this.initial;
this.autosave = !!history.autosave;
this.store = history.store;
this.data = this.store.get("values") || { past: [], present: initial };
this.initial = this.data.present || this.data.past[this.data.past.length - 1];
}
}
completion(action) {
if (!this.store) return this.alert();
this.data = completer(action, this.data, this.input);
if (!this.data.present) return this.alert();
this.input = this.data.present;
this.cursor = this.input.length;
return this.render();
}
altUp() {
return this.completion("prev");
}
altDown() {
return this.completion("next");
}
prev() {
this.save();
return super.prev();
}
save() {
if (!this.store) return;
this.data = completer("save", this.data, this.input);
this.store.set("values", this.data);
}
submit() {
if (this.store && this.autosave === true) {
this.save();
}
return super.submit();
}
};
module2.exports = Input;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/invisible.js
var require_invisible = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/invisible.js"(exports2, module2) {
"use strict";
var StringPrompt = require_string3();
var InvisiblePrompt = class extends StringPrompt {
format() {
return "";
}
};
module2.exports = InvisiblePrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/list.js
var require_list = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/list.js"(exports2, module2) {
"use strict";
var StringPrompt = require_string3();
var ListPrompt = class extends StringPrompt {
constructor(options = {}) {
super(options);
this.sep = this.options.separator || /, */;
this.initial = options.initial || "";
}
split(input = this.value) {
return input ? String(input).split(this.sep) : [];
}
format() {
let style = this.state.submitted ? this.styles.primary : (val) => val;
return this.list.map(style).join(", ");
}
async submit(value) {
let result2 = this.state.error || await this.validate(this.list, this.state);
if (result2 !== true) {
this.state.error = result2;
return super.submit();
}
this.value = this.list;
return super.submit();
}
get list() {
return this.split();
}
};
module2.exports = ListPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/multiselect.js
var require_multiselect = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/multiselect.js"(exports2, module2) {
"use strict";
var Select = require_select();
var MultiSelect = class extends Select {
constructor(options) {
super({ ...options, multiple: true });
}
};
module2.exports = MultiSelect;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/number.js
var require_number = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/number.js"(exports2, module2) {
"use strict";
var StringPrompt = require_string3();
var NumberPrompt = class extends StringPrompt {
constructor(options = {}) {
super({ style: "number", ...options });
this.min = this.isValue(options.min) ? this.toNumber(options.min) : -Infinity;
this.max = this.isValue(options.max) ? this.toNumber(options.max) : Infinity;
this.delay = options.delay != null ? options.delay : 1e3;
this.float = options.float !== false;
this.round = options.round === true || options.float === false;
this.major = options.major || 10;
this.minor = options.minor || 1;
this.initial = options.initial != null ? options.initial : "";
this.input = String(this.initial);
this.cursor = this.input.length;
this.cursorShow();
}
append(ch) {
if (!/[-+.]/.test(ch) || ch === "." && this.input.includes(".")) {
return this.alert("invalid number");
}
return super.append(ch);
}
number(ch) {
return super.append(ch);
}
next() {
if (this.input && this.input !== this.initial) return this.alert();
if (!this.isValue(this.initial)) return this.alert();
this.input = this.initial;
this.cursor = String(this.initial).length;
return this.render();
}
up(number) {
let step2 = number || this.minor;
let num = this.toNumber(this.input);
if (num > this.max + step2) return this.alert();
this.input = `${num + step2}`;
return this.render();
}
down(number) {
let step2 = number || this.minor;
let num = this.toNumber(this.input);
if (num < this.min - step2) return this.alert();
this.input = `${num - step2}`;
return this.render();
}
shiftDown() {
return this.down(this.major);
}
shiftUp() {
return this.up(this.major);
}
format(input = this.input) {
if (typeof this.options.format === "function") {
return this.options.format.call(this, input);
}
return this.styles.info(input);
}
toNumber(value = "") {
return this.float ? +value : Math.round(+value);
}
isValue(value) {
return /^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(value);
}
submit() {
let value = [this.input, this.initial].find((v) => this.isValue(v));
this.value = this.toNumber(value || 0);
return super.submit();
}
};
module2.exports = NumberPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/numeral.js
var require_numeral = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/numeral.js"(exports2, module2) {
module2.exports = require_number();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/password.js
var require_password = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/password.js"(exports2, module2) {
"use strict";
var StringPrompt = require_string3();
var PasswordPrompt = class extends StringPrompt {
constructor(options) {
super(options);
this.cursorShow();
}
format(input = this.input) {
if (!this.keypressed) return "";
let color = this.state.submitted ? this.styles.primary : this.styles.muted;
return color(this.symbols.asterisk.repeat(input.length));
}
};
module2.exports = PasswordPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/scale.js
var require_scale = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/scale.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var ArrayPrompt = require_array2();
var utils = require_utils16();
var LikertScale = class extends ArrayPrompt {
constructor(options = {}) {
super(options);
this.widths = [].concat(options.messageWidth || 50);
this.align = [].concat(options.align || "left");
this.linebreak = options.linebreak || false;
this.edgeLength = options.edgeLength || 3;
this.newline = options.newline || "\n ";
let start = options.startNumber || 1;
if (typeof this.scale === "number") {
this.scaleKey = false;
this.scale = Array(this.scale).fill(0).map((v, i4) => ({ name: i4 + start }));
}
}
async reset() {
this.tableized = false;
await super.reset();
return this.render();
}
tableize() {
if (this.tableized === true) return;
this.tableized = true;
let longest = 0;
for (let ch of this.choices) {
longest = Math.max(longest, ch.message.length);
ch.scaleIndex = ch.initial || 2;
ch.scale = [];
for (let i4 = 0; i4 < this.scale.length; i4++) {
ch.scale.push({ index: i4 });
}
}
this.widths[0] = Math.min(this.widths[0], longest + 3);
}
async dispatch(s, key) {
if (this.multiple) {
return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key);
}
this.alert();
}
heading(msg, item, i4) {
return this.styles.strong(msg);
}
separator() {
return this.styles.muted(this.symbols.ellipsis);
}
right() {
let choice = this.focused;
if (choice.scaleIndex >= this.scale.length - 1) return this.alert();
choice.scaleIndex++;
return this.render();
}
left() {
let choice = this.focused;
if (choice.scaleIndex <= 0) return this.alert();
choice.scaleIndex--;
return this.render();
}
indent() {
return "";
}
format() {
if (this.state.submitted) {
let values = this.choices.map((ch) => this.styles.info(ch.index));
return values.join(", ");
}
return "";
}
pointer() {
return "";
}
/**
* Render the scale "Key". Something like:
* @return {String}
*/
renderScaleKey() {
if (this.scaleKey === false) return "";
if (this.state.submitted) return "";
let scale = this.scale.map((item) => ` ${item.name} - ${item.message}`);
let key = ["", ...scale].map((item) => this.styles.muted(item));
return key.join("\n");
}
/**
* Render the heading row for the scale.
* @return {String}
*/
renderScaleHeading(max4) {
let keys4 = this.scale.map((ele) => ele.name);
if (typeof this.options.renderScaleHeading === "function") {
keys4 = this.options.renderScaleHeading.call(this, max4);
}
let diff2 = this.scaleLength - keys4.join("").length;
let spacing = Math.round(diff2 / (keys4.length - 1));
let names = keys4.map((key) => this.styles.strong(key));
let headings = names.join(" ".repeat(spacing));
let padding = " ".repeat(this.widths[0]);
return this.margin[3] + padding + this.margin[1] + headings;
}
/**
* Render a scale indicator => ◯ or ◉ by default
*/
scaleIndicator(choice, item, i4) {
if (typeof this.options.scaleIndicator === "function") {
return this.options.scaleIndicator.call(this, choice, item, i4);
}
let enabled = choice.scaleIndex === item.index;
if (item.disabled) return this.styles.hint(this.symbols.radio.disabled);
if (enabled) return this.styles.success(this.symbols.radio.on);
return this.symbols.radio.off;
}
/**
* Render the actual scale => ◯────◯────◉────◯────◯
*/
renderScale(choice, i4) {
let scale = choice.scale.map((item) => this.scaleIndicator(choice, item, i4));
let padding = this.term === "Hyper" ? "" : " ";
return scale.join(padding + this.symbols.line.repeat(this.edgeLength));
}
/**
* Render a choice, including scale =>
* "The website is easy to navigate. ◯───◯───◉───◯───◯"
*/
async renderChoice(choice, i4) {
await this.onChoice(choice, i4);
let focused = this.index === i4;
let pointer = await this.pointer(choice, i4);
let hint = await choice.hint;
if (hint && !utils.hasColor(hint)) {
hint = this.styles.muted(hint);
}
let pad4 = (str2) => this.margin[3] + str2.replace(/\s+$/, "").padEnd(this.widths[0], " ");
let newline = this.newline;
let ind = this.indent(choice);
let message = await this.resolve(choice.message, this.state, choice, i4);
let scale = await this.renderScale(choice, i4);
let margin = this.margin[1] + this.margin[3];
this.scaleLength = stripAnsi4(scale).length;
this.widths[0] = Math.min(this.widths[0], this.width - this.scaleLength - margin.length);
let msg = utils.wordWrap(message, { width: this.widths[0], newline });
let lines = msg.split("\n").map((line) => pad4(line) + this.margin[1]);
if (focused) {
scale = this.styles.info(scale);
lines = lines.map((line) => this.styles.info(line));
}
lines[0] += scale;
if (this.linebreak) lines.push("");
return [ind + pointer, lines.join("\n")].filter(Boolean);
}
async renderChoices() {
if (this.state.submitted) return "";
this.tableize();
let choices = this.visible.map(async (ch, i4) => await this.renderChoice(ch, i4));
let visible = await Promise.all(choices);
let heading = await this.renderScaleHeading();
return this.margin[0] + [heading, ...visible.map((v) => v.join(" "))].join("\n");
}
async render() {
let { submitted, size } = this.state;
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
let prompt = "";
if (this.options.promptLine !== false) {
prompt = [prefix, message, separator, ""].join(" ");
this.state.prompt = prompt;
}
let header = await this.header();
let output = await this.format();
let key = await this.renderScaleKey();
let help81 = await this.error() || await this.hint();
let body = await this.renderChoices();
let footer = await this.footer();
let err2 = this.emptyError;
if (output) prompt += output;
if (help81 && !prompt.includes(help81)) prompt += " " + help81;
if (submitted && !output && !body.trim() && this.multiple && err2 != null) {
prompt += this.styles.danger(err2);
}
this.clear(size);
this.write([header, prompt, key, body, footer].filter(Boolean).join("\n"));
if (!this.state.submitted) {
this.write(this.margin[2]);
}
this.restore();
}
submit() {
this.value = {};
for (let choice of this.choices) {
this.value[choice.name] = choice.scaleIndex;
}
return this.base.submit.call(this);
}
};
module2.exports = LikertScale;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/interpolate.js
var require_interpolate = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/interpolate.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var clean2 = (str2 = "") => {
return typeof str2 === "string" ? str2.replace(/^['"]|['"]$/g, "") : "";
};
var Item = class {
constructor(token) {
this.name = token.key;
this.field = token.field || {};
this.value = clean2(token.initial || this.field.initial || "");
this.message = token.message || this.name;
this.cursor = 0;
this.input = "";
this.lines = [];
}
};
var tokenize2 = async (options = {}, defaults4 = {}, fn = (token) => token) => {
let unique = /* @__PURE__ */ new Set();
let fields = options.fields || [];
let input = options.template;
let tabstops = [];
let items = [];
let keys4 = [];
let line = 1;
if (typeof input === "function") {
input = await input();
}
let i4 = -1;
let next2 = () => input[++i4];
let peek = () => input[i4 + 1];
let push = (token) => {
token.line = line;
tabstops.push(token);
};
push({ type: "bos", value: "" });
while (i4 < input.length - 1) {
let value = next2();
if (/^[^\S\n ]$/.test(value)) {
push({ type: "text", value });
continue;
}
if (value === "\n") {
push({ type: "newline", value });
line++;
continue;
}
if (value === "\\") {
value += next2();
push({ type: "text", value });
continue;
}
if ((value === "$" || value === "#" || value === "{") && peek() === "{") {
let n2 = next2();
value += n2;
let token = { type: "template", open: value, inner: "", close: "", value };
let ch;
while (ch = next2()) {
if (ch === "}") {
if (peek() === "}") ch += next2();
token.value += ch;
token.close = ch;
break;
}
if (ch === ":") {
token.initial = "";
token.key = token.inner;
} else if (token.initial !== void 0) {
token.initial += ch;
}
token.value += ch;
token.inner += ch;
}
token.template = token.open + (token.initial || token.inner) + token.close;
token.key = token.key || token.inner;
if (hasOwnProperty.call(defaults4, token.key)) {
token.initial = defaults4[token.key];
}
token = fn(token);
push(token);
keys4.push(token.key);
unique.add(token.key);
let item = items.find((item2) => item2.name === token.key);
token.field = fields.find((ch2) => ch2.name === token.key);
if (!item) {
item = new Item(token);
items.push(item);
}
item.lines.push(token.line - 1);
continue;
}
let last = tabstops[tabstops.length - 1];
if (last.type === "text" && last.line === line) {
last.value += value;
} else {
push({ type: "text", value });
}
}
push({ type: "eos", value: "" });
return { input, tabstops, unique, keys: keys4, items };
};
module2.exports = async (prompt) => {
let options = prompt.options;
let required = new Set(options.required === true ? [] : options.required || []);
let defaults4 = { ...options.values, ...options.initial };
let { tabstops, items, keys: keys4 } = await tokenize2(options, defaults4);
let result2 = createFn("result", prompt, options);
let format2 = createFn("format", prompt, options);
let isValid = createFn("validate", prompt, options, true);
let isVal = prompt.isValue.bind(prompt);
return async (state = {}, submitted = false) => {
let index2 = 0;
state.required = required;
state.items = items;
state.keys = keys4;
state.output = "";
let validate2 = async (value, state2, item, index3) => {
let error = await isValid(value, state2, item, index3);
if (error === false) {
return "Invalid field " + item.name;
}
return error;
};
for (let token of tabstops) {
let value = token.value;
let key = token.key;
if (token.type !== "template") {
if (value) state.output += value;
continue;
}
if (token.type === "template") {
let item = items.find((ch) => ch.name === key);
if (options.required === true) {
state.required.add(item.name);
}
let val = [item.input, state.values[item.value], item.value, value].find(isVal);
let field = item.field || {};
let message = field.message || token.inner;
if (submitted) {
let error = await validate2(state.values[key], state, item, index2);
if (error && typeof error === "string" || error === false) {
state.invalid.set(key, error);
continue;
}
state.invalid.delete(key);
let res = await result2(state.values[key], state, item, index2);
state.output += stripAnsi4(res);
continue;
}
item.placeholder = false;
let before = value;
value = await format2(value, state, item, index2);
if (val !== value) {
state.values[key] = val;
value = prompt.styles.typing(val);
state.missing.delete(message);
} else {
state.values[key] = void 0;
val = `<${message}>`;
value = prompt.styles.primary(val);
item.placeholder = true;
if (state.required.has(key)) {
state.missing.add(message);
}
}
if (state.missing.has(message) && state.validating) {
value = prompt.styles.warning(val);
}
if (state.invalid.has(key) && state.validating) {
value = prompt.styles.danger(val);
}
if (index2 === state.index) {
if (before !== value) {
value = prompt.styles.underline(value);
} else {
value = prompt.styles.heading(stripAnsi4(value));
}
}
index2++;
}
if (value) {
state.output += value;
}
}
let lines = state.output.split("\n").map((l) => " " + l);
let len = items.length;
let done = 0;
for (let item of items) {
if (state.invalid.has(item.name)) {
item.lines.forEach((i4) => {
if (lines[i4][0] !== " ") return;
lines[i4] = state.styles.danger(state.symbols.bullet) + lines[i4].slice(1);
});
}
if (prompt.isValue(state.values[item.name])) {
done++;
}
}
state.completed = (done / len * 100).toFixed(0);
state.output = lines.join("\n");
return state.output;
};
};
function createFn(prop3, prompt, options, fallback) {
return (value, state, item, index2) => {
if (typeof item.field[prop3] === "function") {
return item.field[prop3].call(prompt, value, state, item, index2);
}
return [fallback, value].find((v) => prompt.isValue(v));
};
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/snippet.js
var require_snippet = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/snippet.js"(exports2, module2) {
"use strict";
var stripAnsi4 = require_strip_ansi();
var interpolate = require_interpolate();
var Prompt = require_prompt();
var SnippetPrompt = class extends Prompt {
constructor(options) {
super(options);
this.cursorHide();
this.reset(true);
}
async initialize() {
this.interpolate = await interpolate(this);
await super.initialize();
}
async reset(first) {
this.state.keys = [];
this.state.invalid = /* @__PURE__ */ new Map();
this.state.missing = /* @__PURE__ */ new Set();
this.state.completed = 0;
this.state.values = {};
if (first !== true) {
await this.initialize();
await this.render();
}
}
moveCursor(n2) {
let item = this.getItem();
this.cursor += n2;
item.cursor += n2;
}
dispatch(ch, key) {
if (!key.code && !key.ctrl && ch != null && this.getItem()) {
this.append(ch, key);
return;
}
this.alert();
}
append(ch, key) {
let item = this.getItem();
let prefix = item.input.slice(0, this.cursor);
let suffix = item.input.slice(this.cursor);
this.input = item.input = `${prefix}${ch}${suffix}`;
this.moveCursor(1);
this.render();
}
delete() {
let item = this.getItem();
if (this.cursor <= 0 || !item.input) return this.alert();
let suffix = item.input.slice(this.cursor);
let prefix = item.input.slice(0, this.cursor - 1);
this.input = item.input = `${prefix}${suffix}`;
this.moveCursor(-1);
this.render();
}
increment(i4) {
return i4 >= this.state.keys.length - 1 ? 0 : i4 + 1;
}
decrement(i4) {
return i4 <= 0 ? this.state.keys.length - 1 : i4 - 1;
}
first() {
this.state.index = 0;
this.render();
}
last() {
this.state.index = this.state.keys.length - 1;
this.render();
}
right() {
if (this.cursor >= this.input.length) return this.alert();
this.moveCursor(1);
this.render();
}
left() {
if (this.cursor <= 0) return this.alert();
this.moveCursor(-1);
this.render();
}
prev() {
this.state.index = this.decrement(this.state.index);
this.getItem();
this.render();
}
next() {
this.state.index = this.increment(this.state.index);
this.getItem();
this.render();
}
up() {
this.prev();
}
down() {
this.next();
}
format(value) {
let color = this.state.completed < 100 ? this.styles.warning : this.styles.success;
if (this.state.submitted === true && this.state.completed !== 100) {
color = this.styles.danger;
}
return color(`${this.state.completed}% completed`);
}
async render() {
let { index: index2, keys: keys4 = [], submitted, size } = this.state;
let newline = [this.options.newline, "\n"].find((v) => v != null);
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
let prompt = [prefix, message, separator].filter(Boolean).join(" ");
this.state.prompt = prompt;
let header = await this.header();
let error = await this.error() || "";
let hint = await this.hint() || "";
let body = submitted ? "" : await this.interpolate(this.state);
let key = this.state.key = keys4[index2] || "";
let input = await this.format(key);
let footer = await this.footer();
if (input) prompt += " " + input;
if (hint && !input && this.state.completed === 0) prompt += " " + hint;
this.clear(size);
let lines = [header, prompt, body, footer, error.trim()];
this.write(lines.filter(Boolean).join(newline));
this.restore();
}
getItem(name) {
let { items, keys: keys4, index: index2 } = this.state;
let item = items.find((ch) => ch.name === keys4[index2]);
if (item && item.input != null) {
this.input = item.input;
this.cursor = item.cursor;
}
return item;
}
async submit() {
if (typeof this.interpolate !== "function") await this.initialize();
await this.interpolate(this.state, true);
let { invalid, missing, output, values } = this.state;
if (invalid.size) {
let err2 = "";
for (let [key, value] of invalid) err2 += `Invalid ${key}: ${value}
`;
this.state.error = err2;
return super.submit();
}
if (missing.size) {
this.state.error = "Required: " + [...missing.keys()].join(", ");
return super.submit();
}
let lines = stripAnsi4(output).split("\n");
let result2 = lines.map((v) => v.slice(1)).join("\n");
this.value = { values, result: result2 };
return super.submit();
}
};
module2.exports = SnippetPrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/sort.js
var require_sort2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/sort.js"(exports2, module2) {
"use strict";
var hint = "(Use <shift>+<up/down> to sort)";
var Prompt = require_select();
var Sort = class extends Prompt {
constructor(options) {
super({ ...options, reorder: false, sort: true, multiple: true });
this.state.hint = [this.options.hint, hint].find(this.isValue.bind(this));
}
indicator() {
return "";
}
async renderChoice(choice, i4) {
let str2 = await super.renderChoice(choice, i4);
let sym = this.symbols.identicalTo + " ";
let pre = this.index === i4 && this.sorting ? this.styles.muted(sym) : " ";
if (this.options.drag === false) pre = "";
if (this.options.numbered === true) {
return pre + `${i4 + 1} - ` + str2;
}
return pre + str2;
}
get selected() {
return this.choices;
}
submit() {
this.value = this.choices.map((choice) => choice.value);
return super.submit();
}
};
module2.exports = Sort;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/survey.js
var require_survey = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/survey.js"(exports2, module2) {
"use strict";
var ArrayPrompt = require_array2();
var Survey = class extends ArrayPrompt {
constructor(options = {}) {
super(options);
this.emptyError = options.emptyError || "No items were selected";
this.term = process.env.TERM_PROGRAM;
if (!this.options.header) {
let header = ["", "4 - Strongly Agree", "3 - Agree", "2 - Neutral", "1 - Disagree", "0 - Strongly Disagree", ""];
header = header.map((ele) => this.styles.muted(ele));
this.state.header = header.join("\n ");
}
}
async toChoices(...args) {
if (this.createdScales) return false;
this.createdScales = true;
let choices = await super.toChoices(...args);
for (let choice of choices) {
choice.scale = createScale(5, this.options);
choice.scaleIdx = 2;
}
return choices;
}
dispatch() {
this.alert();
}
space() {
let choice = this.focused;
let ele = choice.scale[choice.scaleIdx];
let selected = ele.selected;
choice.scale.forEach((e) => e.selected = false);
ele.selected = !selected;
return this.render();
}
indicator() {
return "";
}
pointer() {
return "";
}
separator() {
return this.styles.muted(this.symbols.ellipsis);
}
right() {
let choice = this.focused;
if (choice.scaleIdx >= choice.scale.length - 1) return this.alert();
choice.scaleIdx++;
return this.render();
}
left() {
let choice = this.focused;
if (choice.scaleIdx <= 0) return this.alert();
choice.scaleIdx--;
return this.render();
}
indent() {
return " ";
}
async renderChoice(item, i4) {
await this.onChoice(item, i4);
let focused = this.index === i4;
let isHyper = this.term === "Hyper";
let n2 = !isHyper ? 8 : 9;
let s = !isHyper ? " " : "";
let ln2 = this.symbols.line.repeat(n2);
let sp = " ".repeat(n2 + (isHyper ? 0 : 1));
let dot = (enabled) => (enabled ? this.styles.success("\u25C9") : "\u25EF") + s;
let num = i4 + 1 + ".";
let color = focused ? this.styles.heading : this.styles.noop;
let msg = await this.resolve(item.message, this.state, item, i4);
let indent = this.indent(item);
let scale = indent + item.scale.map((e, i5) => dot(i5 === item.scaleIdx)).join(ln2);
let val = (i5) => i5 === item.scaleIdx ? color(i5) : i5;
let next2 = indent + item.scale.map((e, i5) => val(i5)).join(sp);
let line = () => [num, msg].filter(Boolean).join(" ");
let lines = () => [line(), scale, next2, " "].filter(Boolean).join("\n");
if (focused) {
scale = this.styles.cyan(scale);
next2 = this.styles.cyan(next2);
}
return lines();
}
async renderChoices() {
if (this.state.submitted) return "";
let choices = this.visible.map(async (ch, i4) => await this.renderChoice(ch, i4));
let visible = await Promise.all(choices);
if (!visible.length) visible.push(this.styles.danger("No matching choices"));
return visible.join("\n");
}
format() {
if (this.state.submitted) {
let values = this.choices.map((ch) => this.styles.info(ch.scaleIdx));
return values.join(", ");
}
return "";
}
async render() {
let { submitted, size } = this.state;
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
let prompt = [prefix, message, separator].filter(Boolean).join(" ");
this.state.prompt = prompt;
let header = await this.header();
let output = await this.format();
let help81 = await this.error() || await this.hint();
let body = await this.renderChoices();
let footer = await this.footer();
if (output || !help81) prompt += " " + output;
if (help81 && !prompt.includes(help81)) prompt += " " + help81;
if (submitted && !output && !body && this.multiple && this.type !== "form") {
prompt += this.styles.danger(this.emptyError);
}
this.clear(size);
this.write([prompt, header, body, footer].filter(Boolean).join("\n"));
this.restore();
}
submit() {
this.value = {};
for (let choice of this.choices) {
this.value[choice.name] = choice.scaleIdx;
}
return this.base.submit.call(this);
}
};
function createScale(n2, options = {}) {
if (Array.isArray(options.scale)) {
return options.scale.map((ele) => ({ ...ele }));
}
let scale = [];
for (let i4 = 1; i4 < n2 + 1; i4++) scale.push({ i: i4, selected: false });
return scale;
}
module2.exports = Survey;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/text.js
var require_text = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/text.js"(exports2, module2) {
module2.exports = require_input();
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/toggle.js
var require_toggle = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/toggle.js"(exports2, module2) {
"use strict";
var BooleanPrompt = require_boolean();
var TogglePrompt = class extends BooleanPrompt {
async initialize() {
await super.initialize();
this.value = this.initial = this.resolve(this.options.initial);
this.disabled = this.options.disabled || "no";
this.enabled = this.options.enabled || "yes";
await this.render();
}
reset() {
this.value = this.initial;
this.render();
}
delete() {
this.alert();
}
toggle() {
this.value = !this.value;
this.render();
}
enable() {
if (this.value === true) return this.alert();
this.value = true;
this.render();
}
disable() {
if (this.value === false) return this.alert();
this.value = false;
this.render();
}
up() {
this.toggle();
}
down() {
this.toggle();
}
right() {
this.toggle();
}
left() {
this.toggle();
}
next() {
this.toggle();
}
prev() {
this.toggle();
}
dispatch(ch = "", key) {
switch (ch.toLowerCase()) {
case " ":
return this.toggle();
case "1":
case "y":
case "t":
return this.enable();
case "0":
case "n":
case "f":
return this.disable();
default: {
return this.alert();
}
}
}
format() {
let active = (str2) => this.styles.primary.underline(str2);
let value = [
this.value ? this.disabled : active(this.disabled),
this.value ? active(this.enabled) : this.enabled
];
return value.join(this.styles.muted(" / "));
}
async render() {
let { size } = this.state;
let header = await this.header();
let prefix = await this.prefix();
let separator = await this.separator();
let message = await this.message();
let output = await this.format();
let help81 = await this.error() || await this.hint();
let footer = await this.footer();
let prompt = [prefix, message, separator, output].join(" ");
this.state.prompt = prompt;
if (help81 && !prompt.includes(help81)) prompt += " " + help81;
this.clear(size);
this.write([header, prompt, footer].filter(Boolean).join("\n"));
this.write(this.margin[2]);
this.restore();
}
};
module2.exports = TogglePrompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/quiz.js
var require_quiz = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/quiz.js"(exports2, module2) {
"use strict";
var SelectPrompt = require_select();
var Quiz = class extends SelectPrompt {
constructor(options) {
super(options);
if (typeof this.options.correctChoice !== "number" || this.options.correctChoice < 0) {
throw new Error("Please specify the index of the correct answer from the list of choices");
}
}
async toChoices(value, parent) {
let choices = await super.toChoices(value, parent);
if (choices.length < 2) {
throw new Error("Please give at least two choices to the user");
}
if (this.options.correctChoice > choices.length) {
throw new Error("Please specify the index of the correct answer from the list of choices");
}
return choices;
}
check(state) {
return state.index === this.options.correctChoice;
}
async result(selected) {
return {
selectedAnswer: selected,
correctAnswer: this.options.choices[this.options.correctChoice].value,
correct: await this.check(this.state)
};
}
};
module2.exports = Quiz;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/index.js
var require_prompts = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/prompts/index.js"(exports2) {
"use strict";
var utils = require_utils16();
var define2 = (key, fn) => {
utils.defineExport(exports2, key, fn);
utils.defineExport(exports2, key.toLowerCase(), fn);
};
define2("AutoComplete", () => require_autocomplete());
define2("BasicAuth", () => require_basicauth());
define2("Confirm", () => require_confirm());
define2("Editable", () => require_editable());
define2("Form", () => require_form());
define2("Input", () => require_input());
define2("Invisible", () => require_invisible());
define2("List", () => require_list());
define2("MultiSelect", () => require_multiselect());
define2("Numeral", () => require_numeral());
define2("Password", () => require_password());
define2("Scale", () => require_scale());
define2("Select", () => require_select());
define2("Snippet", () => require_snippet());
define2("Sort", () => require_sort2());
define2("Survey", () => require_survey());
define2("Text", () => require_text());
define2("Toggle", () => require_toggle());
define2("Quiz", () => require_quiz());
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/index.js
var require_types2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/lib/types/index.js"(exports2, module2) {
module2.exports = {
ArrayPrompt: require_array2(),
AuthPrompt: require_auth(),
BooleanPrompt: require_boolean(),
NumberPrompt: require_number(),
StringPrompt: require_string3()
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/index.js
var require_enquirer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/enquirer/2.4.1/3850a38b4b3225ddd4e2cbd27798d0090d216576365369fd53d6b204c9016204/node_modules/enquirer/index.js"(exports2, module2) {
"use strict";
var assert13 = __require("assert");
var Events = __require("events");
var utils = require_utils16();
var Enquirer = class extends Events {
constructor(options, answers) {
super();
this.options = utils.merge({}, options);
this.answers = { ...answers };
}
/**
* Register a custom prompt type.
*
* ```js
* const Enquirer = require('enquirer');
* const enquirer = new Enquirer();
* enquirer.register('customType', require('./custom-prompt'));
* ```
* @name register()
* @param {String} `type`
* @param {Function|Prompt} `fn` `Prompt` class, or a function that returns a `Prompt` class.
* @return {Object} Returns the Enquirer instance
* @api public
*/
register(type4, fn) {
if (utils.isObject(type4)) {
for (let key of Object.keys(type4)) this.register(key, type4[key]);
return this;
}
assert13.equal(typeof fn, "function", "expected a function");
const name = type4.toLowerCase();
if (fn.prototype instanceof this.Prompt) {
this.prompts[name] = fn;
} else {
this.prompts[name] = fn(this.Prompt, this);
}
return this;
}
/**
* Prompt function that takes a "question" object or array of question objects,
* and returns an object with responses from the user.
*
* ```js
* const Enquirer = require('enquirer');
* const enquirer = new Enquirer();
*
* const response = await enquirer.prompt({
* type: 'input',
* name: 'username',
* message: 'What is your username?'
* });
* console.log(response);
* ```
* @name prompt()
* @param {Array|Object} `questions` Options objects for one or more prompts to run.
* @return {Promise} Promise that returns an "answers" object with the user's responses.
* @api public
*/
async prompt(questions = []) {
for (let question of [].concat(questions)) {
try {
if (typeof question === "function") question = await question.call(this);
await this.ask(utils.merge({}, this.options, question));
} catch (err2) {
return Promise.reject(err2);
}
}
return this.answers;
}
async ask(question) {
if (typeof question === "function") {
question = await question.call(this);
}
let opts3 = utils.merge({}, this.options, question);
let { type: type4, name } = question;
let { set: set2, get: get2 } = utils;
if (typeof type4 === "function") {
type4 = await type4.call(this, question, this.answers);
}
if (!type4) return this.answers[name];
if (type4 === "number") type4 = "numeral";
assert13(this.prompts[type4], `Prompt "${type4}" is not registered`);
let prompt = new this.prompts[type4](opts3);
let value = get2(this.answers, name);
prompt.state.answers = this.answers;
prompt.enquirer = this;
if (name) {
prompt.on("submit", (value2) => {
this.emit("answer", name, value2, prompt);
set2(this.answers, name, value2);
});
}
let emit = prompt.emit.bind(prompt);
prompt.emit = (...args) => {
this.emit.call(this, ...args);
return emit(...args);
};
this.emit("prompt", prompt, this);
if (opts3.autofill && value != null) {
prompt.value = prompt.input = value;
if (opts3.autofill === "show") {
await prompt.submit();
}
} else {
value = prompt.value = await prompt.run();
}
return value;
}
/**
* Use an enquirer plugin.
*
* ```js
* const Enquirer = require('enquirer');
* const enquirer = new Enquirer();
* const plugin = enquirer => {
* // do stuff to enquire instance
* };
* enquirer.use(plugin);
* ```
* @name use()
* @param {Function} `plugin` Plugin function that takes an instance of Enquirer.
* @return {Object} Returns the Enquirer instance.
* @api public
*/
use(plugin) {
plugin.call(this, this);
return this;
}
set Prompt(value) {
this._Prompt = value;
}
get Prompt() {
return this._Prompt || this.constructor.Prompt;
}
get prompts() {
return this.constructor.prompts;
}
static set Prompt(value) {
this._Prompt = value;
}
static get Prompt() {
return this._Prompt || require_prompt();
}
static get prompts() {
return require_prompts();
}
static get types() {
return require_types2();
}
/**
* Prompt function that takes a "question" object or array of question objects,
* and returns an object with responses from the user.
*
* ```js
* const { prompt } = require('enquirer');
* const response = await prompt({
* type: 'input',
* name: 'username',
* message: 'What is your username?'
* });
* console.log(response);
* ```
* @name Enquirer#prompt
* @param {Array|Object} `questions` Options objects for one or more prompts to run.
* @return {Promise} Promise that returns an "answers" object with the user's responses.
* @api public
*/
static get prompt() {
const fn = (questions, ...rest) => {
let enquirer = new this(...rest);
let emit = enquirer.emit.bind(enquirer);
enquirer.emit = (...args) => {
fn.emit(...args);
return emit(...args);
};
return enquirer.prompt(questions);
};
utils.mixinEmitter(fn, new Events());
return fn;
}
};
utils.mixinEmitter(Enquirer, new Events());
var prompts = Enquirer.prompts;
for (let name of Object.keys(prompts)) {
let key = name.toLowerCase();
let run2 = (options) => new prompts[name](options).run();
Enquirer.prompt[key] = run2;
Enquirer[key] = run2;
if (!Enquirer[name]) {
Reflect.defineProperty(Enquirer, name, { get: () => prompts[name] });
}
}
var define2 = (name) => {
utils.defineExport(Enquirer, name, () => Enquirer.types[name]);
};
define2("ArrayPrompt");
define2("AuthPrompt");
define2("BooleanPrompt");
define2("NumberPrompt");
define2("StringPrompt");
module2.exports = Enquirer;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ms/2.1.3/e0f4c72e735898d92cc164c858cbd0c7b6ed2ec2b4d6da5e8a20fedffeed95cd/node_modules/ms/index.js
var require_ms = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ms/2.1.3/e0f4c72e735898d92cc164c858cbd0c7b6ed2ec2b4d6da5e8a20fedffeed95cd/node_modules/ms/index.js"(exports2, module2) {
var s = 1e3;
var m = s * 60;
var h2 = m * 60;
var d3 = h2 * 24;
var w = d3 * 7;
var y = d3 * 365.25;
module2.exports = function(val, options) {
options = options || {};
var type4 = typeof val;
if (type4 === "string" && val.length > 0) {
return parse12(val);
} else if (type4 === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error(
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
);
};
function parse12(str2) {
str2 = String(str2);
if (str2.length > 100) {
return;
}
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
str2
);
if (!match) {
return;
}
var n2 = parseFloat(match[1]);
var type4 = (match[2] || "ms").toLowerCase();
switch (type4) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n2 * y;
case "weeks":
case "week":
case "w":
return n2 * w;
case "days":
case "day":
case "d":
return n2 * d3;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n2 * h2;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n2 * m;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n2 * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n2;
default:
return void 0;
}
}
function fmtShort(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d3) {
return Math.round(ms / d3) + "d";
}
if (msAbs >= h2) {
return Math.round(ms / h2) + "h";
}
if (msAbs >= m) {
return Math.round(ms / m) + "m";
}
if (msAbs >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d3) {
return plural2(ms, msAbs, d3, "day");
}
if (msAbs >= h2) {
return plural2(ms, msAbs, h2, "hour");
}
if (msAbs >= m) {
return plural2(ms, msAbs, m, "minute");
}
if (msAbs >= s) {
return plural2(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural2(ms, msAbs, n2, name) {
var isPlural = msAbs >= n2 * 1.5;
return Math.round(ms / n2) + " " + name + (isPlural ? "s" : "");
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/common.js
var require_common5 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/common.js"(exports2, module2) {
function setup(env3) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
createDebug.coerce = coerce;
createDebug.disable = disable;
createDebug.enable = enable;
createDebug.enabled = enabled;
createDebug.humanize = require_ms();
createDebug.destroy = destroy;
Object.keys(env3).forEach((key) => {
createDebug[key] = env3[key];
});
createDebug.names = [];
createDebug.skips = [];
createDebug.formatters = {};
function selectColor(namespace) {
let hash2 = 0;
for (let i4 = 0; i4 < namespace.length; i4++) {
hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i4);
hash2 |= 0;
}
return createDebug.colors[Math.abs(hash2) % createDebug.colors.length];
}
createDebug.selectColor = selectColor;
function createDebug(namespace) {
let prevTime;
let enableOverride = null;
let namespacesCache;
let enabledCache;
function debug(...args) {
if (!debug.enabled) {
return;
}
const self2 = debug;
const curr = Number(/* @__PURE__ */ new Date());
const ms = curr - (prevTime || curr);
self2.diff = ms;
self2.prev = prevTime;
self2.curr = curr;
prevTime = curr;
args[0] = createDebug.coerce(args[0]);
if (typeof args[0] !== "string") {
args.unshift("%O");
}
let index2 = 0;
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format2) => {
if (match === "%%") {
return "%";
}
index2++;
const formatter = createDebug.formatters[format2];
if (typeof formatter === "function") {
const val = args[index2];
match = formatter.call(self2, val);
args.splice(index2, 1);
index2--;
}
return match;
});
createDebug.formatArgs.call(self2, args);
const logFn = self2.log || createDebug.log;
logFn.apply(self2, args);
}
debug.namespace = namespace;
debug.useColors = createDebug.useColors();
debug.color = createDebug.selectColor(namespace);
debug.extend = extend3;
debug.destroy = createDebug.destroy;
Object.defineProperty(debug, "enabled", {
enumerable: true,
configurable: false,
get: () => {
if (enableOverride !== null) {
return enableOverride;
}
if (namespacesCache !== createDebug.namespaces) {
namespacesCache = createDebug.namespaces;
enabledCache = createDebug.enabled(namespace);
}
return enabledCache;
},
set: (v) => {
enableOverride = v;
}
});
if (typeof createDebug.init === "function") {
createDebug.init(debug);
}
return debug;
}
function extend3(namespace, delimiter) {
const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
newDebug.log = this.log;
return newDebug;
}
function enable(namespaces) {
createDebug.save(namespaces);
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
const split4 = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
for (const ns of split4) {
if (ns[0] === "-") {
createDebug.skips.push(ns.slice(1));
} else {
createDebug.names.push(ns);
}
}
}
function matchesTemplate(search2, template) {
let searchIndex = 0;
let templateIndex = 0;
let starIndex = -1;
let matchIndex = 0;
while (searchIndex < search2.length) {
if (templateIndex < template.length && (template[templateIndex] === search2[searchIndex] || template[templateIndex] === "*")) {
if (template[templateIndex] === "*") {
starIndex = templateIndex;
matchIndex = searchIndex;
templateIndex++;
} else {
searchIndex++;
templateIndex++;
}
} else if (starIndex !== -1) {
templateIndex = starIndex + 1;
matchIndex++;
searchIndex = matchIndex;
} else {
return false;
}
}
while (templateIndex < template.length && template[templateIndex] === "*") {
templateIndex++;
}
return templateIndex === template.length;
}
function disable() {
const namespaces = [
...createDebug.names,
...createDebug.skips.map((namespace) => "-" + namespace)
].join(",");
createDebug.enable("");
return namespaces;
}
function enabled(name) {
for (const skip2 of createDebug.skips) {
if (matchesTemplate(name, skip2)) {
return false;
}
}
for (const ns of createDebug.names) {
if (matchesTemplate(name, ns)) {
return true;
}
}
return false;
}
function coerce(val) {
if (val instanceof Error) {
return val.stack || val.message;
}
return val;
}
function destroy() {
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
createDebug.enable(createDebug.load());
return createDebug;
}
module2.exports = setup;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/browser.js
var require_browser = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/browser.js"(exports2, module2) {
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load3;
exports2.useColors = useColors;
exports2.storage = localstorage();
exports2.destroy = /* @__PURE__ */ (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
};
})();
exports2.colors = [
"#0000CC",
"#0000FF",
"#0033CC",
"#0033FF",
"#0066CC",
"#0066FF",
"#0099CC",
"#0099FF",
"#00CC00",
"#00CC33",
"#00CC66",
"#00CC99",
"#00CCCC",
"#00CCFF",
"#3300CC",
"#3300FF",
"#3333CC",
"#3333FF",
"#3366CC",
"#3366FF",
"#3399CC",
"#3399FF",
"#33CC00",
"#33CC33",
"#33CC66",
"#33CC99",
"#33CCCC",
"#33CCFF",
"#6600CC",
"#6600FF",
"#6633CC",
"#6633FF",
"#66CC00",
"#66CC33",
"#9900CC",
"#9900FF",
"#9933CC",
"#9933FF",
"#99CC00",
"#99CC33",
"#CC0000",
"#CC0033",
"#CC0066",
"#CC0099",
"#CC00CC",
"#CC00FF",
"#CC3300",
"#CC3333",
"#CC3366",
"#CC3399",
"#CC33CC",
"#CC33FF",
"#CC6600",
"#CC6633",
"#CC9900",
"#CC9933",
"#CCCC00",
"#CCCC33",
"#FF0000",
"#FF0033",
"#FF0066",
"#FF0099",
"#FF00CC",
"#FF00FF",
"#FF3300",
"#FF3333",
"#FF3366",
"#FF3399",
"#FF33CC",
"#FF33FF",
"#FF6600",
"#FF6633",
"#FF9900",
"#FF9933",
"#FFCC00",
"#FFCC33"
];
function useColors() {
if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
return true;
}
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
return false;
}
let m;
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
}
function formatArgs(args) {
args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
if (!this.useColors) {
return;
}
const c3 = "color: " + this.color;
args.splice(1, 0, c3, "color: inherit");
let index2 = 0;
let lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, (match) => {
if (match === "%%") {
return;
}
index2++;
if (match === "%c") {
lastC = index2;
}
});
args.splice(lastC, 0, c3);
}
exports2.log = console.debug || console.log || (() => {
});
function save(namespaces) {
try {
if (namespaces) {
exports2.storage.setItem("debug", namespaces);
} else {
exports2.storage.removeItem("debug");
}
} catch (error) {
}
}
function load3() {
let r;
try {
r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
} catch (error) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
function localstorage() {
try {
return localStorage;
} catch (error) {
}
}
module2.exports = require_common5()(exports2);
var { formatters } = module2.exports;
formatters.j = function(v) {
try {
return JSON.stringify(v);
} catch (error) {
return "[UnexpectedJSONParseError]: " + error.message;
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/node.js
var require_node = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/node.js"(exports2, module2) {
var tty5 = __require("tty");
var util64 = __require("util");
exports2.init = init2;
exports2.log = log3;
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load3;
exports2.useColors = useColors;
exports2.destroy = util64.deprecate(
() => {
},
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
);
exports2.colors = [6, 2, 3, 4, 5, 1];
try {
const supportsColor3 = __require("supports-color");
if (supportsColor3 && (supportsColor3.stderr || supportsColor3).level >= 2) {
exports2.colors = [
20,
21,
26,
27,
32,
33,
38,
39,
40,
41,
42,
43,
44,
45,
56,
57,
62,
63,
68,
69,
74,
75,
76,
77,
78,
79,
80,
81,
92,
93,
98,
99,
112,
113,
128,
129,
134,
135,
148,
149,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
178,
179,
184,
185,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
214,
215,
220,
221
];
}
} catch (error) {
}
exports2.inspectOpts = Object.keys(process.env).filter((key) => {
return /^debug_/i.test(key);
}).reduce((obj, key) => {
const prop3 = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k2) => {
return k2.toUpperCase();
});
let val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) {
val = true;
} else if (/^(no|off|false|disabled)$/i.test(val)) {
val = false;
} else if (val === "null") {
val = null;
} else {
val = Number(val);
}
obj[prop3] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty5.isatty(process.stderr.fd);
}
function formatArgs(args) {
const { namespace: name, useColors: useColors2 } = this;
if (useColors2) {
const c3 = this.color;
const colorCode = "\x1B[3" + (c3 < 8 ? c3 : "8;5;" + c3);
const prefix = ` ${colorCode};1m${name} \x1B[0m`;
args[0] = prefix + args[0].split("\n").join("\n" + prefix);
args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
} else {
args[0] = getDate() + name + " " + args[0];
}
}
function getDate() {
if (exports2.inspectOpts.hideDate) {
return "";
}
return (/* @__PURE__ */ new Date()).toISOString() + " ";
}
function log3(...args) {
return process.stderr.write(util64.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
}
function save(namespaces) {
if (namespaces) {
process.env.DEBUG = namespaces;
} else {
delete process.env.DEBUG;
}
}
function load3() {
return process.env.DEBUG;
}
function init2(debug) {
debug.inspectOpts = {};
const keys4 = Object.keys(exports2.inspectOpts);
for (let i4 = 0; i4 < keys4.length; i4++) {
debug.inspectOpts[keys4[i4]] = exports2.inspectOpts[keys4[i4]];
}
}
module2.exports = require_common5()(exports2);
var { formatters } = module2.exports;
formatters.o = function(v) {
this.inspectOpts.colors = this.useColors;
return util64.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
};
formatters.O = function(v) {
this.inspectOpts.colors = this.useColors;
return util64.inspect(v, this.inspectOpts);
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/index.js
var require_src3 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/4.4.3/41cb78134838751fb9b527872630ff31e379649df2077af49e49be74255b86ef/node_modules/debug/src/index.js"(exports2, module2) {
if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
module2.exports = require_browser();
} else {
module2.exports = require_node();
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js
var require_tabtabDebug = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js"(exports2, module2) {
var fs126 = __require("fs");
var util64 = __require("util");
var tabtabDebug = (name) => {
let debug = require_src3()(name);
if (process.env.TABTAB_DEBUG) {
const file = process.env.TABTAB_DEBUG;
const stream2 = fs126.createWriteStream(file, {
flags: "a+"
});
const log3 = (...args) => {
args = args.map((arg) => {
if (typeof arg === "string") return arg;
return JSON.stringify(arg);
});
const str2 = `${util64.format(...args)}
`;
stream2.write(str2);
};
if (process.env.COMP_LINE) {
debug = log3;
} else {
debug.log = log3;
}
}
return debug;
};
module2.exports = tabtabDebug;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/prompt.js
var require_prompt2 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/prompt.js"(exports2, module2) {
var enquirer = require_enquirer();
var path236 = __require("path");
var { SUPPORTED_SHELLS: SUPPORTED_SHELLS3, SHELL_LOCATIONS } = require_constants17();
var debug = require_tabtabDebug()("tabtab:prompt");
var prompt = async () => {
const questions = [
{
type: "select",
name: "shell",
message: "Which Shell do you use ?",
choices: SUPPORTED_SHELLS3,
default: "bash"
}
];
const { shell } = (
/** @type {{ shell: SupportedShell }} */
await enquirer.prompt(questions)
);
debug("answers", shell);
if (!(shell in SHELL_LOCATIONS)) {
throw new Error(`Unsupported shell: ${shell}`);
}
const location = SHELL_LOCATIONS[
/** @type {SupportedShell} */
shell
];
debug(`Will install completion to ${location}`);
const initialAnswer = { location, shell };
const { locationOK } = (
/** @type {{ locationOK: Boolean }} */
await enquirer.prompt({
type: "confirm",
name: "locationOK",
message: `We will install completion to ${location}, is it ok ?`
})
);
if (locationOK) {
debug("location is ok, return", initialAnswer);
return initialAnswer;
}
const { userLocation } = (
/** @type {{ userLocation: String }} */
await enquirer.prompt({
name: "userLocation",
message: "Which path then ? Must be absolute.",
type: "input",
validate: (input) => {
debug("Validating input", input);
return path236.isAbsolute(input);
}
})
);
console.log(`Very well, we will install using ${userLocation}`);
return { shell, location: userLocation };
};
module2.exports = prompt;
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/untildify/4.0.0/e6d5d8325be308b02ddca4fe90e858e75c1834baef5bf832c644a23c40d2956b/node_modules/untildify/index.js
var require_untildify = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/untildify/4.0.0/e6d5d8325be308b02ddca4fe90e858e75c1834baef5bf832c644a23c40d2956b/node_modules/untildify/index.js"(exports2, module2) {
"use strict";
var os17 = __require("os");
var homeDirectory = os17.homedir();
module2.exports = (pathWithTilde) => {
if (typeof pathWithTilde !== "string") {
throw new TypeError(`Expected a string, got ${typeof pathWithTilde}`);
}
return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/exists.js
var require_exists = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/exists.js"(exports2, module2) {
var fs126 = __require("fs");
var untildify = require_untildify();
var { promisify: promisify15 } = __require("util");
var readFile4 = promisify15(fs126.readFile);
module2.exports = async (file) => {
let fileExists;
try {
await readFile4(untildify(file));
fileExists = true;
} catch (err2) {
fileExists = false;
}
return fileExists;
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/index.js
var require_utils17 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/utils/index.js"(exports2, module2) {
var tabtabDebug = require_tabtabDebug();
var exists = require_exists();
module2.exports = {
tabtabDebug,
exists
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/filename.js
var require_filename = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/filename.js"(exports2, module2) {
var { COMPLETION_FILE_EXT } = require_constants17();
var templateFileName = (shell) => {
const ext = COMPLETION_FILE_EXT[shell];
if (!ext) {
throw new Error(`Unsupported shell: ${shell}`);
}
return `completion.${ext}`;
};
var completionFileName = (name, shell) => {
const ext = COMPLETION_FILE_EXT[shell];
if (!ext) {
throw new Error(`Unsupported shell: ${shell}`);
}
return `${name}.${ext}`;
};
var tabtabFileName = (shell) => {
const ext = COMPLETION_FILE_EXT[shell];
if (!ext) {
throw new Error(`Unsupported shell: ${shell}`);
}
return `__tabtab.${ext}`;
};
module2.exports = {
templateFileName,
completionFileName,
tabtabFileName
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/installer.js
var require_installer = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/installer.js"(exports2, module2) {
var fs126 = __require("fs");
var path236 = __require("path");
var untildify = require_untildify();
var { promisify: promisify15 } = __require("util");
var { tabtabDebug, exists } = require_utils17();
var { SUPPORTED_SHELLS: SUPPORTED_SHELLS3 } = require_constants17();
var debug = tabtabDebug("tabtab:installer");
var readFile4 = promisify15(fs126.readFile);
var writeFile3 = promisify15(fs126.writeFile);
var unlink = promisify15(fs126.unlink);
var mkdir2 = promisify15(fs126.mkdir);
var {
SHELL_LOCATIONS,
COMPLETION_DIR
} = require_constants17();
var {
templateFileName,
completionFileName,
tabtabFileName
} = require_filename();
var scriptFromShell = (shell) => path236.join(__dirname, "templates", templateFileName(shell));
var locationFromShell = (shell) => {
const location = SHELL_LOCATIONS[shell];
if (!location) {
throw new Error(`Unsupported shell: ${shell}`);
}
return untildify(location);
};
var sourceLineForShell = (scriptname, shell) => {
scriptname = scriptname.replaceAll("\\", "/");
if (shell === "fish") {
return `[ -f ${scriptname} ]; and . ${scriptname}; or true`;
}
if (shell === "zsh") {
return `[[ -f ${scriptname} ]] && . ${scriptname} || true`;
}
if (shell === "pwsh") {
return `if (Test-Path ${scriptname}) { . ${scriptname} }`;
}
if (shell === "bash") {
return `[ -f ${scriptname} ] && . ${scriptname} || true`;
}
throw new Error(`Unsupported shell: ${shell}`);
};
var isInShellConfig = (filename) => [
SHELL_LOCATIONS.bash,
SHELL_LOCATIONS.zsh,
SHELL_LOCATIONS.fish,
SHELL_LOCATIONS.pwsh,
untildify(SHELL_LOCATIONS.bash),
untildify(SHELL_LOCATIONS.zsh),
untildify(SHELL_LOCATIONS.fish),
untildify(SHELL_LOCATIONS.pwsh)
].includes(filename);
var checkFilenameForLine = async (filename, line) => {
debug('Check filename (%s) for "%s"', filename, line);
let filecontent = "";
try {
filecontent = await readFile4(untildify(filename), "utf8");
} catch (err2) {
if (err2.code !== "ENOENT") {
console.error(
"Got an error while trying to read from %s file",
filename,
err2
);
return false;
}
}
return !!filecontent.match(`${line}`);
};
var writeLineToFilename = ({ filename, scriptname, name, shell }) => new Promise((resolve4, reject3) => {
const filepath = untildify(filename);
debug("Creating directory for %s file", filepath);
mkdir2(path236.dirname(filepath), { recursive: true }).then(() => {
const stream2 = fs126.createWriteStream(filepath, { flags: "a" });
stream2.on("error", reject3);
stream2.on("finish", () => resolve4());
debug("Writing to shell configuration file (%s)", filename);
debug("scriptname:", scriptname);
const inShellConfig = isInShellConfig(filename);
if (inShellConfig) {
stream2.write(`
# tabtab source for packages`);
} else {
stream2.write(`
# tabtab source for ${name} package`);
}
stream2.write("\n# uninstall by removing these lines");
stream2.write(`
${sourceLineForShell(scriptname, shell)}`);
stream2.end("\n");
console.log('=> Added tabtab source line in "%s" file', filename);
}).catch((err2) => {
console.error("mkdirp ERROR", err2);
reject3(err2);
});
});
var writeToShellConfig = async ({ location, name, shell }) => {
const scriptname = path236.join(
COMPLETION_DIR,
shell,
tabtabFileName(shell)
);
const filename = location;
const existing = await checkFilenameForLine(filename, scriptname);
if (existing) {
return console.log("=> Tabtab line already exists in %s file", filename);
}
return writeLineToFilename({
filename,
scriptname,
name,
shell
});
};
var writeToTabtabScript = async ({ name, shell }) => {
const filename = path236.join(
COMPLETION_DIR,
shell,
tabtabFileName(shell)
);
const scriptname = path236.join(
COMPLETION_DIR,
shell,
completionFileName(name, shell)
);
const existing = await checkFilenameForLine(filename, scriptname);
if (existing) {
return console.log("=> Tabtab line already exists in %s file", filename);
}
return writeLineToFilename({ filename, scriptname, name, shell });
};
var getCompletionScript2 = async ({ name, completer, shell }) => {
const templatePath = scriptFromShell(shell);
const templateContent = await readFile4(templatePath, "utf8");
const scriptContent = templateContent.replaceAll("{pkgname}", name).replaceAll("{completer}", completer).replaceAll(/\r?\n/g, "\n");
return scriptContent;
};
var writeToCompletionScript = async ({ name, completer, shell }) => {
const filename = untildify(
path236.join(COMPLETION_DIR, shell, completionFileName(name, shell))
);
try {
const filecontent = await getCompletionScript2({ name, completer, shell });
debug("Writing completion script to", filename);
await mkdir2(path236.dirname(filename), { recursive: true });
await writeFile3(filename, filecontent);
console.log("=> Wrote completion script to %s file", filename);
} catch (err2) {
console.error("ERROR:", err2);
}
};
var install2 = async (options) => {
debug("Install with options", options);
if (!options) {
throw new Error("options is required");
}
if (!options.name) {
throw new Error("options.name is required");
}
if (!options.completer) {
throw new Error("options.completer is required");
}
if (!options.location) {
throw new Error("options.location is required");
}
await Promise.all([
writeToShellConfig(options),
writeToTabtabScript(options),
writeToCompletionScript(options)
]);
const { location, name } = options;
console.log(`
=> Tabtab source line added to ${location} for ${name} package.
Make sure to reload your SHELL.
`);
};
var removeLinesFromFilename = async (filename, name) => {
debug("Removing lines from %s file, looking for %s package", filename, name);
if (!await exists(filename)) {
return debug("File %s does not exist", filename);
}
const filecontent = await readFile4(filename, "utf8");
const lines = filecontent.split(/\r?\n/);
const sourceLine1 = `# tabtab source for packages`;
const sourceLine2 = `# tabtab source for ${name} package`;
const hasLine1 = filecontent.includes(sourceLine1);
if (!hasLine1) {
debug("File %s does not include the line: %s", filename, sourceLine1);
}
const hasLine2 = filecontent.includes(sourceLine2);
if (!hasLine2) {
debug("File %s does not include the line: %s", filename, sourceLine2);
}
const hasLine = hasLine1 || hasLine2;
if (!hasLine) {
return debug("File %s does not include either line", filename);
}
let lineIndex = -1;
const buffer3 = lines.map((line, index2) => {
const match = line.match(sourceLine1) ?? line.match(sourceLine2);
if (match) {
lineIndex = index2;
} else if (lineIndex + 3 <= index2) {
lineIndex = -1;
}
return lineIndex === -1 ? line : "";
}).map((line, index2, array) => {
const next2 = array[index2 + 1];
if (line === "" && next2 === "") {
return;
}
return line;
}).filter((line) => line !== void 0).join("\n").trim();
await writeFile3(filename, buffer3);
console.log("=> Removed tabtab source lines from %s file", filename);
};
var uninstall = async (options) => {
debug("Uninstall with options", options);
if (!options) {
throw new Error("options is required");
}
const { name, shell } = options;
if (!name) {
throw new Error("Unable to uninstall if options.name is missing");
}
if (!shell) {
await Promise.all(SUPPORTED_SHELLS3.map((shell2) => uninstall({ name, shell: shell2 })));
return;
}
const completionScript = untildify(
path236.join(COMPLETION_DIR, shell, completionFileName(name, shell))
);
if (await exists(completionScript)) {
await unlink(completionScript);
console.log("=> Removed completion script (%s)", completionScript);
}
const tabtabScript = untildify(
path236.join(
COMPLETION_DIR,
shell,
tabtabFileName(shell)
)
);
await removeLinesFromFilename(tabtabScript, name);
const isEmpty4 = (await readFile4(tabtabScript, "utf8")).trim() === "";
if (isEmpty4) {
const shellScript = locationFromShell(shell);
debug(
"File %s is empty. Removing source line from %s file",
tabtabScript,
shellScript
);
await removeLinesFromFilename(shellScript, name);
}
console.log("=> Uninstalled completion for %s package", name);
};
module2.exports = {
install: install2,
uninstall,
checkFilenameForLine,
getCompletionScript: getCompletionScript2,
writeToShellConfig,
writeToTabtabScript,
writeToCompletionScript,
writeLineToFilename
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/index.js
var require_lib26 = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/tabtab/0.5.4/ebaaa9d9aba06cd15b978169271ba6083e460efcd0e95ca81a738997105629e7/node_modules/@pnpm/tabtab/lib/index.js"(exports2, module2) {
var path236 = __require("path");
var { SUPPORTED_SHELLS: SUPPORTED_SHELLS3, SHELL_LOCATIONS } = require_constants17();
var prompt = require_prompt2();
var installer = require_installer();
var { tabtabDebug } = require_utils17();
var debug = tabtabDebug("tabtab");
var isShellSupported2 = (shell) => (
/** @type {ReadonlyArray.<String>} */
SUPPORTED_SHELLS3.includes(shell)
);
var getShellFromEnv2 = (env3) => {
if (!env3.SHELL) {
throw new TypeError("SHELL cannot be empty");
}
const shell = path236.basename(env3.SHELL);
if (!isShellSupported2(shell)) {
const supportedValues = SUPPORTED_SHELLS3.map((x3) => `'${x3}'`).join(", ");
throw new TypeError(`SHELL was set to an invalid value (${env3.SHELL}). Supported values are: ${supportedValues}`);
}
return shell;
};
var getCompletionScript2 = async ({ name, completer, shell }) => {
if (!name) throw new TypeError("options.name is required");
if (!completer) throw new TypeError("options.completer is required");
if (!shell) throw new TypeError("options.shell is required");
const completionScriptContent = await installer.getCompletionScript({ name, completer, shell });
return completionScriptContent;
};
var install2 = async (options) => {
const { name, completer } = options;
if (!name) throw new TypeError("options.name is required");
if (!completer) throw new TypeError("options.completer is required");
if (options.shell) {
const location2 = SHELL_LOCATIONS[options.shell];
if (!location2) {
throw new Error(`Couldn't find shell location for ${options.shell}`);
}
await installer.install({
name,
completer,
location: location2,
shell: options.shell
});
return;
}
const { location, shell } = await prompt();
await installer.install({
name,
completer,
location,
shell
});
};
var uninstall = async (options) => {
const { name, shell } = options;
if (!name) throw new TypeError("options.name is required");
try {
await installer.uninstall({ name, shell });
} catch (err2) {
console.error("ERROR while uninstalling", err2);
}
};
var parseEnv = (env3) => {
if (!env3) {
throw new Error("parseEnv: You must pass in an environment object.");
}
debug(
"Parsing env. CWORD: %s, COMP_POINT: %s, COMP_LINE: %s",
env3.COMP_CWORD,
env3.COMP_POINT,
env3.COMP_LINE
);
let cword = Number(env3.COMP_CWORD);
let point = Number(env3.COMP_POINT);
const line = env3.COMP_LINE || "";
if (Number.isNaN(cword)) cword = 0;
if (Number.isNaN(point)) point = 0;
const partial = line.slice(0, point);
const parts = line.split(" ");
const prev = parts.slice(0, -1).slice(-1)[0];
const last = parts.slice(-1).join("");
const lastPartial = partial.split(" ").slice(-1).join("");
let complete2 = true;
if (!env3.COMP_CWORD || !env3.COMP_POINT || !env3.COMP_LINE) {
complete2 = false;
}
return {
complete: complete2,
words: cword,
point,
line,
partial,
last,
lastPartial,
prev
};
};
var completionItem = (item, shell) => {
debug("completion item", item);
if (typeof item === "object") return item;
let name = item;
let description = "";
const matching = /^(.*?)(\\)?:(.*)$/.exec(item);
if (matching) {
[, name, , description] = matching;
}
if (shell === "zsh" && /\\/.test(item)) {
name += "\\";
}
return {
name,
description
};
};
var log3 = (args, shell, logToConsole = console.log) => {
if (!Array.isArray(args)) {
throw new Error("log: Invalid arguments, must be an array");
}
let lines = args.map((item) => completionItem(item, shell)).map((item) => {
const { name: rawName, description: rawDescription } = item;
const name = shell === "zsh" ? rawName?.replaceAll(":", "\\:") : rawName;
const description = shell === "zsh" ? rawDescription?.replaceAll(":", "\\:") : rawDescription;
let str2 = name;
if (shell === "zsh" && description) {
str2 = `${name}:${description}`;
} else if ((shell === "fish" || shell === "pwsh") && description) {
str2 = `${name} ${description}`;
}
return str2;
});
if (shell === "bash") {
const env3 = parseEnv(process.env);
lines = lines.filter((arg) => arg.indexOf(env3.last) === 0);
}
for (const line of lines) {
logToConsole(`${line}`);
}
};
var logFiles = () => {
console.log("__tabtab_complete_files__");
};
module2.exports = {
SUPPORTED_SHELLS: SUPPORTED_SHELLS3,
getShellFromEnv: getShellFromEnv2,
isShellSupported: isShellSupported2,
getCompletionScript: getCompletionScript2,
install: install2,
uninstall,
parseEnv,
log: log3,
logFiles
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/split-cmd/1.1.0/3f9d27442300e1f1f730905e83374cdbde9ad409b74d058e50e548721f0a27b2/node_modules/split-cmd/index.modern.mjs
function t(t2) {
if ("string" != typeof t2) throw new Error("Command must be a string");
const n2 = t2.match(/[^"\s]+|"(?:\\"|[^"])*"/g);
return n2 ? n2.map(function(t3) {
return '"' === t3.charAt(0) && '"' === t3.charAt(t3.length - 1) ? t3.slice(1, -1) : t3;
}) : [];
}
var init_index_modern = __esm({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/split-cmd/1.1.0/3f9d27442300e1f1f730905e83374cdbde9ad409b74d058e50e548721f0a27b2/node_modules/split-cmd/index.modern.mjs"() {
}
});
// ../workspace/root-finder/lib/index.js
import fs94 from "node:fs";
import path166 from "node:path";
async function findWorkspaceDir(cwd) {
const workspaceManifestDirEnvVar = process.env[WORKSPACE_DIR_ENV_VAR] ?? process.env[WORKSPACE_DIR_ENV_VAR.toLowerCase()];
const workspaceManifestLocation = workspaceManifestDirEnvVar ? path166.join(workspaceManifestDirEnvVar, WORKSPACE_MANIFEST_FILENAME2) : any([WORKSPACE_MANIFEST_FILENAME2, ...INVALID_WORKSPACE_MANIFEST_FILENAME], { cwd: await getRealPath(cwd) });
if (workspaceManifestLocation && path166.basename(workspaceManifestLocation) !== WORKSPACE_MANIFEST_FILENAME2) {
throw new PnpmError("BAD_WORKSPACE_MANIFEST_NAME", `The workspace manifest file should be named "pnpm-workspace.yaml". File found: ${workspaceManifestLocation}`);
}
return workspaceManifestLocation && path166.dirname(workspaceManifestLocation);
}
async function getRealPath(path236) {
return new Promise((resolve4) => {
fs94.realpath.native(path236, function(err2, resolvedPath) {
resolve4(err2 !== null ? path236 : resolvedPath);
});
});
}
var WORKSPACE_DIR_ENV_VAR, WORKSPACE_MANIFEST_FILENAME2, INVALID_WORKSPACE_MANIFEST_FILENAME;
var init_lib146 = __esm({
"../workspace/root-finder/lib/index.js"() {
"use strict";
init_lib2();
init_find2();
WORKSPACE_DIR_ENV_VAR = "NPM_CONFIG_WORKSPACE_DIR";
WORKSPACE_MANIFEST_FILENAME2 = "pnpm-workspace.yaml";
INVALID_WORKSPACE_MANIFEST_FILENAME = [
"pnpm-workspaces.yaml",
"pnpm-workspaces.yml",
"pnpm-workspace.yml",
".pnpm-workspace.yaml",
".pnpm-workspace.yml",
".pnpm-workspaces.yaml",
".pnpm-workspaces.yml"
];
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/abbrev/1.1.1/cf72007512c1bd439c4ca860661dd1303b3842cecfcc579eb6350b948982855c/node_modules/abbrev/abbrev.js
var require_abbrev = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/abbrev/1.1.1/cf72007512c1bd439c4ca860661dd1303b3842cecfcc579eb6350b948982855c/node_modules/abbrev/abbrev.js"(exports2, module2) {
module2.exports = exports2 = abbrev.abbrev = abbrev;
abbrev.monkeyPatch = monkeyPatch;
function monkeyPatch() {
Object.defineProperty(Array.prototype, "abbrev", {
value: function() {
return abbrev(this);
},
enumerable: false,
configurable: true,
writable: true
});
Object.defineProperty(Object.prototype, "abbrev", {
value: function() {
return abbrev(Object.keys(this));
},
enumerable: false,
configurable: true,
writable: true
});
}
function abbrev(list2) {
if (arguments.length !== 1 || !Array.isArray(list2)) {
list2 = Array.prototype.slice.call(arguments, 0);
}
for (var i4 = 0, l = list2.length, args = []; i4 < l; i4++) {
args[i4] = typeof list2[i4] === "string" ? list2[i4] : String(list2[i4]);
}
args = args.sort(lexSort);
var abbrevs = {}, prev = "";
for (var i4 = 0, l = args.length; i4 < l; i4++) {
var current = args[i4], next2 = args[i4 + 1] || "", nextMatches = true, prevMatches = true;
if (current === next2) continue;
for (var j2 = 0, cl = current.length; j2 < cl; j2++) {
var curChar = current.charAt(j2);
nextMatches = nextMatches && curChar === next2.charAt(j2);
prevMatches = prevMatches && curChar === prev.charAt(j2);
if (!nextMatches && !prevMatches) {
j2++;
break;
}
}
prev = current;
if (j2 === cl) {
abbrevs[current] = current;
continue;
}
for (var a2 = current.substr(0, j2); j2 <= cl; j2++) {
abbrevs[a2] = current;
a2 += current.charAt(j2);
}
}
return abbrevs;
}
function lexSort(a2, b) {
return a2 === b ? 0 : a2 > b ? 1 : -1;
}
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/nopt/0.3.1/21583819d7d55a8477778d38daf7443140d483b22ad6063ba4ff9f481d01b43a/node_modules/@pnpm/nopt/lib/nopt.js
var require_nopt = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@pnpm/nopt/0.3.1/21583819d7d55a8477778d38daf7443140d483b22ad6063ba4ff9f481d01b43a/node_modules/@pnpm/nopt/lib/nopt.js"(exports2, module2) {
var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG ? function() {
console.error.apply(console, arguments);
} : function() {
};
var url7 = __require("url");
var path236 = __require("path");
var Stream = __require("stream").Stream;
var abbrev = require_abbrev();
var os17 = __require("os");
URL.parse ??= (input, base) => {
try {
const url8 = new URL(input, base);
return url8;
} catch {
return null;
}
};
module2.exports = exports2 = nopt3;
exports2.clean = clean2;
exports2.typeDefs = {
String: { type: String, validate: validateString },
Boolean: { type: Boolean, validate: validateBoolean },
url: { type: url7, validate: validateUrl },
Number: { type: Number, validate: validateNumber },
path: { type: path236, validate: validatePath },
Stream: { type: Stream, validate: validateStream2 },
Date: { type: Date, validate: validateDate }
};
function nopt3(types3, shorthands21, args, slice4, opts3) {
args = args || process.argv;
types3 = types3 || {};
shorthands21 = shorthands21 || {};
if (typeof slice4 !== "number") slice4 = 2;
debug(types3, shorthands21, args, slice4);
args = args.slice(slice4);
var data = {}, key, argv2 = {
remain: [],
cooked: args,
original: args.slice(0)
};
parse12(args, data, argv2.remain, types3, shorthands21, opts3);
clean2(data, types3, exports2.typeDefs);
data.argv = argv2;
Object.defineProperty(data.argv, "toString", { value: function() {
return this.original.map(JSON.stringify).join(" ");
}, enumerable: false });
return data;
}
function clean2(data, types3, typeDefs) {
typeDefs = typeDefs || exports2.typeDefs;
var remove = {}, typeDefault = [false, true, null, String, Array];
Object.keys(data).forEach(function(k2) {
if (k2 === "argv") return;
var val = data[k2], isArray = Array.isArray(val), type4 = types3[k2];
if (!isArray) val = [val];
if (!type4) type4 = typeDefault;
if (type4 === Array) type4 = typeDefault.concat(Array);
if (!Array.isArray(type4)) type4 = [type4];
debug("val=%j", val);
debug("types=", type4);
val = val.map(function(val2) {
if (typeof val2 === "string") {
debug("string %j", val2);
val2 = val2.trim();
if (val2 === "null" && ~type4.indexOf(null) || val2 === "true" && (~type4.indexOf(true) || ~type4.indexOf(Boolean)) || val2 === "false" && (~type4.indexOf(false) || ~type4.indexOf(Boolean))) {
val2 = JSON.parse(val2);
debug("jsonable %j", val2);
} else if (~type4.indexOf(Number) && !isNaN(val2)) {
debug("convert to number", val2);
val2 = +val2;
} else if (~type4.indexOf(Date) && !isNaN(Date.parse(val2))) {
debug("convert to date", val2);
val2 = new Date(val2);
}
}
if (!types3.hasOwnProperty(k2)) {
return val2;
}
if (val2 === false && ~type4.indexOf(null) && !(~type4.indexOf(false) || ~type4.indexOf(Boolean))) {
val2 = null;
}
var d3 = {};
d3[k2] = val2;
debug("prevalidated val", d3, val2, types3[k2]);
if (!validate2(d3, k2, val2, types3[k2], typeDefs)) {
if (exports2.invalidHandler) {
exports2.invalidHandler(k2, val2, types3[k2], data);
} else if (exports2.invalidHandler !== false) {
debug("invalid: " + k2 + "=" + val2, types3[k2]);
}
return remove;
}
debug("validated val", d3, val2, types3[k2]);
return d3[k2];
}).filter(function(val2) {
return val2 !== remove;
});
if (!val.length && type4.indexOf(Array) === -1) {
debug("VAL HAS NO LENGTH, DELETE IT", val, k2, type4.indexOf(Array));
delete data[k2];
} else if (isArray) {
debug(isArray, data[k2], val);
data[k2] = val;
} else data[k2] = val[0];
debug("k=%s val=%j", k2, val, data[k2]);
});
}
function validateString(data, k2, val) {
data[k2] = String(val);
}
function validatePath(data, k2, val) {
if (val === true) return false;
if (val === null) return true;
val = String(val);
var isWin2 = process.platform === "win32", homePattern = isWin2 ? /^~(\/|\\)/ : /^~\//, home = os17.homedir();
if (home && val.match(homePattern)) {
data[k2] = path236.resolve(home, val.substr(2));
} else {
data[k2] = path236.resolve(val);
}
return true;
}
function validateNumber(data, k2, val) {
debug("validate Number %j %j %j", k2, val, isNaN(val));
if (isNaN(val)) return false;
data[k2] = +val;
}
function validateDate(data, k2, val) {
var s = Date.parse(val);
debug("validate Date %j %j %j", k2, val, s);
if (isNaN(s)) return false;
data[k2] = new Date(val);
}
function validateBoolean(data, k2, val) {
if (val instanceof Boolean) val = val.valueOf();
else if (typeof val === "string") {
if (!isNaN(val)) val = !!+val;
else if (val === "null" || val === "false") val = false;
else val = true;
} else val = !!val;
data[k2] = val;
}
function validateUrl(data, k2, val) {
val = URL.parse(String(val));
if (!val) return false;
data[k2] = val.href;
}
function validateStream2(data, k2, val) {
if (!(val instanceof Stream)) return false;
data[k2] = val;
}
function validate2(data, k2, val, type4, typeDefs) {
if (Array.isArray(type4)) {
for (var i4 = 0, l = type4.length; i4 < l; i4++) {
if (type4[i4] === Array) continue;
if (validate2(data, k2, val, type4[i4], typeDefs)) return true;
}
delete data[k2];
return false;
}
if (type4 === Array) return true;
if (type4 !== type4) {
debug("Poison NaN", k2, val, type4);
delete data[k2];
return false;
}
if (val === type4) {
debug("Explicitly allowed %j", val);
data[k2] = val;
return true;
}
var ok = false, types3 = Object.keys(typeDefs);
for (var i4 = 0, l = types3.length; i4 < l; i4++) {
debug("test type %j %j %j", k2, val, types3[i4]);
var t2 = typeDefs[types3[i4]];
if (t2 && (type4 && type4.name && t2.type && t2.type.name ? type4.name === t2.type.name : type4 === t2.type)) {
var d3 = {};
ok = false !== t2.validate(d3, k2, val);
val = d3[k2];
if (ok) {
data[k2] = val;
break;
}
}
}
debug("OK? %j (%j %j %j)", ok, k2, val, types3[i4]);
if (!ok) delete data[k2];
return ok;
}
function parse12(args, data, remain, types3, shorthands21, opts3) {
debug("parse", args, data, remain);
var escapeArgs = new Set(opts3 && opts3.escapeArgs ? opts3.escapeArgs : []);
var key = null, abbrevs = abbrev(Object.keys(types3)), shortAbbr = abbrev(Object.keys(shorthands21));
for (var i4 = 0; i4 < args.length; i4++) {
var arg = args[i4];
debug("arg", arg);
if (arg.match(/^-{2,}$/)) {
remain.push.apply(remain, args.slice(i4 + 1));
args[i4] = "--";
break;
}
if (escapeArgs.has(arg)) {
remain.push.apply(remain, args.slice(i4));
break;
}
var hadEq = false;
if (arg.charAt(0) === "-" && arg.length > 1) {
var at = arg.indexOf("=");
if (at > -1) {
hadEq = true;
var v = arg.substr(at + 1);
arg = arg.substr(0, at);
args.splice(i4, 1, arg, v);
}
var shRes = resolveShort(arg, shorthands21, shortAbbr, abbrevs);
debug("arg=%j shRes=%j", arg, shRes);
if (shRes) {
debug(arg, shRes);
args.splice.apply(args, [i4, 1].concat(shRes));
if (arg !== shRes[0]) {
i4--;
continue;
}
}
arg = arg.replace(/^-+/, "");
var no = null;
while (arg.toLowerCase().indexOf("no-") === 0) {
no = !no;
arg = arg.substr(3);
}
if (abbrevs[arg]) arg = abbrevs[arg];
var argType = types3[arg];
var isTypeArray = Array.isArray(argType);
if (isTypeArray && argType.length === 1) {
isTypeArray = false;
argType = argType[0];
}
var isArray = argType === Array || isTypeArray && argType.indexOf(Array) !== -1;
if (!types3.hasOwnProperty(arg) && data.hasOwnProperty(arg)) {
if (!Array.isArray(data[arg]))
data[arg] = [data[arg]];
isArray = true;
}
var val, la = args[i4 + 1];
var isBool = typeof no === "boolean" || argType === Boolean || isTypeArray && argType.indexOf(Boolean) !== -1 || typeof argType === "undefined" && !hadEq || la === "false" && (argType === null || isTypeArray && ~argType.indexOf(null));
if (isBool) {
val = !no;
if (la === "true" || la === "false") {
val = JSON.parse(la);
la = null;
if (no) val = !val;
i4++;
}
if (isTypeArray && la) {
if (~argType.indexOf(la)) {
val = la;
i4++;
} else if (la === "null" && ~argType.indexOf(null)) {
val = null;
i4++;
} else if (!la.match(/^-{2,}[^-]/) && !isNaN(la) && ~argType.indexOf(Number)) {
val = +la;
i4++;
} else if (!la.match(/^-[^-]/) && ~argType.indexOf(String)) {
val = la;
i4++;
}
}
if (isArray) (data[arg] = data[arg] || []).push(val);
else data[arg] = val;
continue;
}
if (argType === String) {
if (la === void 0) {
la = "";
} else if (la.match(/^-{1,2}[^-]+/)) {
la = "";
i4--;
}
}
if (la && la.match(/^-{2,}$/)) {
la = void 0;
i4--;
}
val = la === void 0 ? true : la;
if (isArray) (data[arg] = data[arg] || []).push(val);
else data[arg] = val;
i4++;
continue;
}
remain.push(arg);
}
}
function resolveShort(arg, shorthands21, shortAbbr, abbrevs) {
arg = arg.replace(/^-+/, "");
if (abbrevs[arg] === arg)
return null;
if (shorthands21[arg]) {
if (shorthands21[arg] && !Array.isArray(shorthands21[arg]))
shorthands21[arg] = shorthands21[arg].split(/\s+/);
return shorthands21[arg];
}
var singles = shorthands21.___singles;
if (!singles) {
singles = Object.keys(shorthands21).filter(function(s) {
return s.length === 1;
}).reduce(function(l, r) {
l[r] = true;
return l;
}, {});
shorthands21.___singles = singles;
debug("shorthand singles", singles);
}
var chrs = arg.split("").filter(function(c3) {
return singles[c3];
});
if (chrs.join("") === arg) return chrs.map(function(c3) {
return shorthands21[c3];
}).reduce(function(l, r) {
return l.concat(r);
}, []);
if (abbrevs[arg] && !shorthands21[arg])
return null;
if (shortAbbr[arg])
arg = shortAbbr[arg];
if (shorthands21[arg] && !Array.isArray(shorthands21[arg]))
shorthands21[arg] = shorthands21[arg].split(/\s+/);
return shorthands21[arg];
}
}
});
// ../cli/commands/lib/completion/getOptionType.js
function getOptionCompletions(optionTypes, shorthands21, option) {
const optionType = getOptionType(optionTypes, shorthands21, option);
return optionTypeToCompletion(optionType);
}
function optionTypeToCompletion(optionType) {
switch (optionType) {
// In this case the option is complete
case void 0:
case Boolean:
return void 0;
// In this case, anything may be the option value
case String:
case Number:
return [];
}
if (!Array.isArray(optionType))
return [];
if (optionType.length === 1) {
return optionTypeToCompletion(optionType);
}
return optionType.filter((ot) => typeof ot === "string");
}
function getOptionType(optionTypes, shorthands21, option) {
const allBools = Object.fromEntries(Object.keys(optionTypes).map((optionName) => [optionName, Boolean]));
const result2 = omit_default(["argv"], (0, import_nopt.default)(allBools, shorthands21, [option], 0));
return optionTypes[Object.entries(result2)[0]?.[0]];
}
function getLastOption(completionCtx) {
if (isOption(completionCtx.prev))
return completionCtx.prev;
if (completionCtx.lastPartial === "" || completionCtx.words <= 1)
return null;
const words = completionCtx.line.slice(0, completionCtx.point).trim().split(/\s+/);
const lastWord = words[words.length - 2];
return isOption(lastWord) ? lastWord : null;
}
function isOption(word) {
return word.startsWith("--") && word.length >= 3 || word[0] === "-" && word.length >= 2;
}
function currentTypedWordType(completionCtx) {
if (completionCtx.partial.endsWith(" "))
return null;
return completionCtx.lastPartial[0] === "-" ? "option" : "value";
}
var import_nopt;
var init_getOptionType = __esm({
"../cli/commands/lib/completion/getOptionType.js"() {
"use strict";
import_nopt = __toESM(require_nopt(), 1);
init_es();
}
});
// ../cli/commands/lib/completion/optionTypesToCompletions.js
function optionTypesToCompletions(optionTypes) {
const completions = [];
for (const [name, typeObj] of Object.entries(optionTypes)) {
if (typeObj === Boolean) {
completions.push({ name: `--${name}` });
completions.push({ name: `--no-${name}` });
} else {
completions.push({ name: `--${name}` });
}
}
return completions;
}
var init_optionTypesToCompletions = __esm({
"../cli/commands/lib/completion/optionTypesToCompletions.js"() {
"use strict";
}
});
// ../cli/commands/lib/completion/complete.js
async function complete(ctx, input) {
if (input.options.version)
return [];
const optionTypes = {
...ctx.universalOptionsTypes,
...(input.cmd && ctx.cliOptionsTypesByCommandName[input.cmd]?.()) ?? {}
};
if (input.currentTypedWordType !== "option") {
if (input.lastOption === "--filter" || input.lastOption === "-F") {
const workspaceDir = await findWorkspaceDir(process.cwd()) ?? process.cwd();
const workspaceManifest = await readWorkspaceManifest(workspaceDir);
const allProjects = await findWorkspaceProjects(workspaceDir, {
patterns: workspaceManifest?.packages,
supportedArchitectures: {
os: ["current"],
cpu: ["current"],
libc: ["current"]
}
});
return allProjects.map(({ manifest }) => ({ name: manifest.name })).filter((item) => !!item.name);
} else if (input.lastOption) {
const optionCompletions = getOptionCompletions(
optionTypes,
// eslint-disable-line
{
...ctx.universalShorthands,
...input.cmd ? ctx.shorthandsByCommandName[input.cmd] : {}
},
input.lastOption
);
if (optionCompletions !== void 0) {
return optionCompletions.map((name) => ({ name }));
}
}
}
let completions = [];
if (input.currentTypedWordType !== "option") {
if (!input.cmd || input.currentTypedWordType === "value" && !ctx.completionByCommandName[input.cmd]) {
completions = ctx.initialCompletion();
} else if (ctx.completionByCommandName[input.cmd]) {
try {
completions = await ctx.completionByCommandName[input.cmd](input.options, input.params);
} catch {
}
}
}
if (input.currentTypedWordType === "value") {
return completions;
}
if (!input.cmd) {
return [
...completions,
...optionTypesToCompletions(optionTypes),
{ name: "--version" }
];
}
return [
...completions,
...optionTypesToCompletions(optionTypes)
// eslint-disable-line
];
}
var init_complete2 = __esm({
"../cli/commands/lib/completion/complete.js"() {
"use strict";
init_lib42();
init_lib146();
init_lib43();
init_getOptionType();
init_optionTypesToCompletions();
}
});
// ../cli/commands/lib/completion/completionServer.js
function createCompletionServer(opts3) {
return async () => {
const shell = (0, import_tabtab2.getShellFromEnv)(process.env);
const env3 = import_tabtab.default.parseEnv(process.env);
if (!env3.complete)
return;
const inputArgv = t(stripPartialWord(env3)).slice(1);
if (inputArgv.includes("--"))
return;
const { params, options, cmd } = await opts3.parseCliArgs(inputArgv);
import_tabtab.default.log(await complete(opts3, {
cmd,
currentTypedWordType: currentTypedWordType(env3),
lastOption: getLastOption(env3),
options,
params
}), shell);
};
}
function stripPartialWord(env3) {
if (env3.lastPartial.length > 0) {
return env3.partial.slice(0, -env3.lastPartial.length);
}
return env3.partial;
}
var import_tabtab, import_tabtab2;
var init_completionServer = __esm({
"../cli/commands/lib/completion/completionServer.js"() {
"use strict";
import_tabtab = __toESM(require_lib26(), 1);
import_tabtab2 = __toESM(require_lib26(), 1);
init_index_modern();
init_complete2();
init_getOptionType();
}
});
// ../cli/commands/lib/completion/getShell.js
function getShellFromString(shell) {
shell = shell?.trim();
if (!shell) {
throw new PnpmError("MISSING_SHELL_NAME", "`pnpm completion` requires a shell name");
}
if (!(0, import_tabtab3.isShellSupported)(shell)) {
throw new PnpmError("UNSUPPORTED_SHELL", `'${shell}' is not supported`, {
hint: `Supported shells are: ${import_tabtab3.SUPPORTED_SHELLS.join(", ")}`
});
}
return shell;
}
function getShellFromParams(params) {
const [shell, ...rest] = params;
if (rest.length) {
throw new PnpmError("REDUNDANT_PARAMETERS", `The ${rest.length} parameters after shell is not necessary`);
}
return getShellFromString(shell);
}
var import_tabtab3;
var init_getShell = __esm({
"../cli/commands/lib/completion/getShell.js"() {
"use strict";
init_lib2();
import_tabtab3 = __toESM(require_lib26(), 1);
}
});
// ../cli/commands/lib/completion/generateCompletion.js
var generateCompletion_exports = {};
__export(generateCompletion_exports, {
cliOptionsTypes: () => cliOptionsTypes16,
commandNames: () => commandNames17,
createCompletionGenerator: () => createCompletionGenerator,
handler: () => handler17,
help: () => help17,
rcOptionsTypes: () => rcOptionsTypes17,
skipPackageManagerCheck: () => skipPackageManagerCheck
});
function help17() {
return renderHelp({
description: "Print shell completion code to stdout",
url: "https://pnpm.io/completion",
usages: import_tabtab4.SUPPORTED_SHELLS.map((shell) => `pnpm completion ${shell}`)
});
}
function createCompletionGenerator(ctx) {
return async function handler82(_opts, params) {
const shell = getShellFromParams(params);
const output = await (0, import_tabtab4.getCompletionScript)({ name: PNPM_COMMAND, completer: PNPM_COMMAND, shell });
ctx.log(registerShortAlias(output, shell));
};
}
function registerShortAlias(output, shell) {
switch (shell) {
case "bash":
return output.replace(`complete -o default -F _${PNPM_COMMAND}_completion ${PNPM_COMMAND}`, `complete -o default -F _${PNPM_COMMAND}_completion ${PNPM_COMMAND} ${PNPM_SHORT_ALIAS}`);
case "fish":
return output.replace(`complete -f -d '${PNPM_COMMAND}' -c ${PNPM_COMMAND} -a "(_${PNPM_COMMAND}_completion)"`, `complete -f -d '${PNPM_COMMAND}' -c ${PNPM_COMMAND} -a "(_${PNPM_COMMAND}_completion)"
complete -f -d '${PNPM_COMMAND}' -c ${PNPM_SHORT_ALIAS} -a "(_${PNPM_COMMAND}_completion)"`);
case "pwsh":
return output.replace(`Register-ArgumentCompleter -CommandName '${PNPM_COMMAND}' -ScriptBlock`, `Register-ArgumentCompleter -CommandName '${PNPM_COMMAND}','${PNPM_SHORT_ALIAS}' -ScriptBlock`);
case "zsh":
return output.replace(`#compdef ${PNPM_COMMAND}`, `#compdef ${PNPM_COMMAND} ${PNPM_SHORT_ALIAS}`).replace(`compdef _${PNPM_COMMAND}_completion ${PNPM_COMMAND}`, `compdef _${PNPM_COMMAND}_completion ${PNPM_COMMAND} ${PNPM_SHORT_ALIAS}`);
}
}
var import_tabtab4, commandNames17, skipPackageManagerCheck, rcOptionsTypes17, cliOptionsTypes16, PNPM_COMMAND, PNPM_SHORT_ALIAS, handler17;
var init_generateCompletion = __esm({
"../cli/commands/lib/completion/generateCompletion.js"() {
"use strict";
import_tabtab4 = __toESM(require_lib26(), 1);
init_lib66();
init_getShell();
commandNames17 = ["completion"];
skipPackageManagerCheck = true;
rcOptionsTypes17 = () => ({});
cliOptionsTypes16 = () => ({});
PNPM_COMMAND = "pnpm";
PNPM_SHORT_ALIAS = "pn";
handler17 = createCompletionGenerator({
log: console.log
});
}
});
// ../cli/commands/lib/index.js
var init_lib147 = __esm({
"../cli/commands/lib/index.js"() {
"use strict";
init_completionServer();
init_generateCompletion();
}
});
// ../object/property-path/lib/token/combine.js
var combineParsers;
var init_combine = __esm({
"../object/property-path/lib/token/combine.js"() {
"use strict";
combineParsers = (parsers) => (source) => {
for (const parse12 of parsers) {
const parseResult = parse12(source);
if (parseResult)
return parseResult;
}
return void 0;
};
}
});
// ../object/property-path/lib/token/ExactToken.js
var createExactTokenParser, parseDotOperator, parseOpenBracket, parseCloseBracket;
var init_ExactToken = __esm({
"../object/property-path/lib/token/ExactToken.js"() {
"use strict";
createExactTokenParser = (content) => (source) => source.startsWith(content) ? [{ type: "exact", content }, source.slice(content.length)] : void 0;
parseDotOperator = createExactTokenParser(".");
parseOpenBracket = createExactTokenParser("[");
parseCloseBracket = createExactTokenParser("]");
}
});
// ../object/property-path/lib/token/Identifier.js
var parseIdentifier;
var init_Identifier = __esm({
"../object/property-path/lib/token/Identifier.js"() {
"use strict";
parseIdentifier = (source) => {
if (source === "")
return void 0;
const firstChar = source[0];
if (!/[a-z_]/i.test(firstChar))
return void 0;
let content = firstChar;
source = source.slice(1);
while (source !== "") {
const char = source[0];
if (!/\w/.test(char))
break;
source = source.slice(1);
content += char;
}
return [{ type: "identifier", content }, source];
};
}
});
// ../object/property-path/lib/token/ParseErrorBase.js
var ParseErrorBase;
var init_ParseErrorBase = __esm({
"../object/property-path/lib/token/ParseErrorBase.js"() {
"use strict";
init_lib2();
ParseErrorBase = class extends PnpmError {
};
}
});
// ../object/property-path/lib/token/NumericLiteral.js
var UnsupportedNumericSuffix, parseNumericLiteral;
var init_NumericLiteral = __esm({
"../object/property-path/lib/token/NumericLiteral.js"() {
"use strict";
init_ParseErrorBase();
UnsupportedNumericSuffix = class extends ParseErrorBase {
suffix;
constructor(suffix) {
super("UNSUPPORTED_NUMERIC_LITERAL_SUFFIX", `Numeric suffix ${JSON.stringify(suffix)} is not supported`);
this.suffix = suffix;
}
};
parseNumericLiteral = (source) => {
if (source === "")
return void 0;
const firstChar = source[0];
if (firstChar < "0" || firstChar > "9")
return void 0;
let numberString = firstChar;
source = source.slice(1);
while (source !== "") {
const char = source[0];
if (/[0-9.]/.test(char)) {
numberString += char;
source = source.slice(1);
continue;
}
if (/[a-z]/i.test(char)) {
throw new UnsupportedNumericSuffix(char);
}
break;
}
return [{ type: "numeric-literal", content: Number(numberString) }, source];
};
}
});
// ../object/property-path/lib/token/StringLiteral.js
var STRING_LITERAL_ESCAPES, UnsupportedEscapeSequenceError, IncompleteStringLiteralError, parseStringLiteral2;
var init_StringLiteral = __esm({
"../object/property-path/lib/token/StringLiteral.js"() {
"use strict";
init_ParseErrorBase();
STRING_LITERAL_ESCAPES = {
"\\": "\\",
"'": "'",
'"': '"',
b: "\b",
n: "\n",
r: "\r",
t: " "
};
UnsupportedEscapeSequenceError = class extends ParseErrorBase {
sequence;
constructor(sequence) {
super("UNSUPPORTED_STRING_LITERAL_ESCAPE_SEQUENCE", `pnpm's string literal doesn't support ${JSON.stringify("\\" + sequence)}`);
this.sequence = sequence;
}
};
IncompleteStringLiteralError = class extends ParseErrorBase {
expectedQuote;
constructor(expectedQuote) {
super("INCOMPLETE_STRING_LITERAL", `Input ends without closing quote (${expectedQuote})`);
this.expectedQuote = expectedQuote;
}
};
parseStringLiteral2 = (source) => {
let quote2;
if (source[0] === '"') {
quote2 = '"';
} else if (source[0] === "'") {
quote2 = "'";
} else {
return void 0;
}
source = source.slice(1);
let content = "";
let escaped = false;
while (source !== "") {
const char = source[0];
source = source.slice(1);
if (escaped) {
escaped = false;
const realChar = STRING_LITERAL_ESCAPES[char];
if (!realChar) {
throw new UnsupportedEscapeSequenceError(char);
}
content += realChar;
continue;
}
if (char === quote2) {
return [{ type: "string-literal", quote: quote2, content }, source];
}
if (char === "\\") {
escaped = true;
continue;
}
content += char;
}
throw new IncompleteStringLiteralError(quote2);
};
}
});
// ../object/property-path/lib/token/Whitespace.js
var WHITESPACE, parseWhitespace;
var init_Whitespace = __esm({
"../object/property-path/lib/token/Whitespace.js"() {
"use strict";
WHITESPACE = { type: "whitespace" };
parseWhitespace = (source) => {
const remaining = source.trimStart();
return remaining === source ? void 0 : [WHITESPACE, remaining];
};
}
});
// ../object/property-path/lib/token/tokenize.js
function* tokenize(source) {
while (source !== "") {
const parseResult = parseToken(source);
if (!parseResult)
break;
const [token, remaining] = parseResult;
yield token;
if (source.length <= remaining.length) {
throw new Error(`Something went wrong! the remaining string (${remaining}) is supposed to be less than the source string (${source})`);
}
source = remaining;
}
}
var parseExpectedToken, parseUnexpectedToken, parseToken;
var init_tokenize = __esm({
"../object/property-path/lib/token/tokenize.js"() {
"use strict";
init_combine();
init_ExactToken();
init_Identifier();
init_NumericLiteral();
init_StringLiteral();
init_Whitespace();
parseExpectedToken = combineParsers([
parseDotOperator,
parseOpenBracket,
parseCloseBracket,
parseIdentifier,
parseNumericLiteral,
parseStringLiteral2,
parseWhitespace
]);
parseUnexpectedToken = (source) => [{ type: "unexpected", content: source.slice(0, 1) }, source.slice(1)];
parseToken = combineParsers([parseExpectedToken, parseUnexpectedToken]);
}
});
// ../object/property-path/lib/token/types.js
var init_types4 = __esm({
"../object/property-path/lib/token/types.js"() {
"use strict";
}
});
// ../object/property-path/lib/token/index.js
var init_token = __esm({
"../object/property-path/lib/token/index.js"() {
"use strict";
init_combine();
init_ExactToken();
init_Identifier();
init_NumericLiteral();
init_ParseErrorBase();
init_StringLiteral();
init_tokenize();
init_types4();
init_Whitespace();
}
});
// ../object/property-path/lib/parse.js
import assert10 from "node:assert/strict";
function* parsePropertyPath(propertyPath) {
let stack;
for (const token of tokenize(propertyPath)) {
if (token.type === "exact" && token.content === ".") {
if (!stack) {
stack = token;
continue;
}
throw new UnexpectedTokenError(token);
}
if (token.type === "exact" && token.content === "[") {
if (!stack) {
stack = token;
continue;
}
throw new UnexpectedTokenError(token);
}
if (token.type === "exact" && token.content === "]") {
if (!Array.isArray(stack))
throw new UnexpectedTokenError(token);
const [openBracket, literal] = stack;
assert10.equal(openBracket.type, "exact");
assert10.equal(openBracket.content, "[");
assert10(literal.type === "numeric-literal" || literal.type === "string-literal");
yield literal.content;
stack = void 0;
continue;
}
if (token.type === "identifier") {
if (!stack || "type" in stack && stack.type === "exact" && stack.content === ".") {
stack = void 0;
yield token.content;
continue;
}
throw new UnexpectedIdentifierError(token);
}
if (token.type === "numeric-literal" || token.type === "string-literal") {
if (stack && "type" in stack && stack.type === "exact" && stack.content === "[") {
stack = [stack, token];
continue;
}
throw new UnexpectedLiteralError(token);
}
if (token.type === "whitespace")
continue;
if (token.type === "unexpected")
throw new UnexpectedTokenError(token);
const _typeGuard = token;
}
if (stack)
throw new UnexpectedEndOfInputError();
}
var UnexpectedTokenError, UnexpectedIdentifierError, UnexpectedLiteralError, UnexpectedEndOfInputError;
var init_parse2 = __esm({
"../object/property-path/lib/parse.js"() {
"use strict";
init_lib2();
init_token();
UnexpectedTokenError = class extends PnpmError {
token;
constructor(token) {
super("UNEXPECTED_TOKEN_IN_PROPERTY_PATH", `Unexpected token ${JSON.stringify(token.content)} in property path`);
this.token = token;
}
};
UnexpectedIdentifierError = class extends PnpmError {
token;
constructor(token) {
super("UNEXPECTED_IDENTIFIER_IN_PROPERTY_PATH", `Unexpected identifier ${token.content} in property path`);
this.token = token;
}
};
UnexpectedLiteralError = class extends PnpmError {
token;
constructor(token) {
super("UNEXPECTED_LITERAL_IN_PROPERTY_PATH", `Unexpected literal ${JSON.stringify(token.content)} in property path`);
this.token = token;
}
};
UnexpectedEndOfInputError = class extends PnpmError {
constructor() {
super("UNEXPECTED_END_OF_PROPERTY_PATH", "The property path does not end properly");
}
};
}
});
// ../object/property-path/lib/unsafeKeys.js
function rejectUnsafeKeys(propertyPath) {
for (const segment of propertyPath) {
if (typeof segment === "string" && UNSAFE_KEYS.has(segment)) {
throw new UnsafePropertyPathKeyError(segment);
}
}
}
var UNSAFE_KEYS, UnsafePropertyPathKeyError;
var init_unsafeKeys = __esm({
"../object/property-path/lib/unsafeKeys.js"() {
"use strict";
init_lib2();
UNSAFE_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
UnsafePropertyPathKeyError = class extends PnpmError {
key;
constructor(key) {
super("UNSAFE_PROPERTY_PATH_KEY", `Key "${key}" is not allowed in a property path`);
this.key = key;
}
};
}
});
// ../object/property-path/lib/delete.js
function deleteObjectValueByPropertyPath(object, propertyPath) {
const path236 = Array.from(propertyPath);
if (path236.length === 0)
return;
rejectUnsafeKeys(path236);
let obj = object;
for (let i4 = 0; i4 < path236.length - 1; i4++) {
const key = path236[i4];
if (typeof obj !== "object" || obj === null || !Object.hasOwn(obj, key) || Array.isArray(obj) && typeof key !== "number") {
return;
}
obj = obj[key];
}
if (typeof obj !== "object" || obj === null)
return;
const lastKey = path236[path236.length - 1];
if (Array.isArray(obj) && isArrayIndex(lastKey)) {
obj.splice(Number(lastKey), 1);
return;
}
delete obj[lastKey];
}
function isArrayIndex(key) {
if (typeof key === "number")
return Number.isInteger(key) && key >= 0;
if (!/^(?:0|[1-9]\d*)$/.test(key))
return false;
return Number.isSafeInteger(Number(key));
}
var deleteObjectValueByPropertyPathString;
var init_delete = __esm({
"../object/property-path/lib/delete.js"() {
"use strict";
init_parse2();
init_unsafeKeys();
deleteObjectValueByPropertyPathString = (object, propertyPath) => deleteObjectValueByPropertyPath(object, parsePropertyPath(propertyPath));
}
});
// ../object/property-path/lib/get.js
function getObjectValueByPropertyPath(object, propertyPath) {
for (const name of propertyPath) {
if (typeof object !== "object" || object == null || !Object.hasOwn(object, name) || Array.isArray(object) && typeof name !== "number")
return void 0;
object = object[name];
}
return object;
}
var getObjectValueByPropertyPathString;
var init_get2 = __esm({
"../object/property-path/lib/get.js"() {
"use strict";
init_parse2();
getObjectValueByPropertyPathString = (object, propertyPath) => getObjectValueByPropertyPath(object, parsePropertyPath(propertyPath));
}
});
// ../object/property-path/lib/set.js
function setObjectValueByPropertyPath(object, propertyPath, value) {
const path236 = Array.from(propertyPath);
if (path236.length === 0)
throw new EmptyPropertyPathError();
rejectUnsafeKeys(path236);
let obj = object;
for (let i4 = 0; i4 < path236.length - 1; i4++) {
const key = path236[i4];
const current = obj[key];
const needsArray = typeof path236[i4 + 1] === "number";
const isContainer = typeof current === "object" && current !== null;
if (!isContainer || Array.isArray(current) !== needsArray) {
const replacement = needsArray ? [] : {};
defineOwnProperty(obj, key, replacement);
obj = replacement;
} else {
obj = current;
}
}
defineOwnProperty(obj, path236[path236.length - 1], value);
}
function defineOwnProperty(obj, key, value) {
Object.defineProperty(obj, key, {
value,
writable: true,
enumerable: true,
configurable: true
});
}
var EmptyPropertyPathError, setObjectValueByPropertyPathString;
var init_set2 = __esm({
"../object/property-path/lib/set.js"() {
"use strict";
init_lib2();
init_parse2();
init_unsafeKeys();
EmptyPropertyPathError = class extends PnpmError {
constructor() {
super("EMPTY_PROPERTY_PATH", "Cannot set a value with an empty property path");
}
};
setObjectValueByPropertyPathString = (object, propertyPath, value) => setObjectValueByPropertyPath(object, parsePropertyPath(propertyPath), value);
}
});
// ../object/property-path/lib/index.js
var init_lib148 = __esm({
"../object/property-path/lib/index.js"() {
"use strict";
init_delete();
init_get2();
init_parse2();
init_set2();
init_token();
init_unsafeKeys();
}
});
// ../config/commands/lib/protectedSettings.js
function censorProtectedSettings(config2) {
config2 = { ...config2 };
for (const key in config2) {
if (isSettingProtected(key)) {
config2[key] = "(protected)";
}
}
return config2;
}
var PROTECTED_SUFFICES, isSettingProtected;
var init_protectedSettings = __esm({
"../config/commands/lib/protectedSettings.js"() {
"use strict";
PROTECTED_SUFFICES = [
"_auth",
"_authToken",
"username",
"_password"
];
isSettingProtected = (key) => key.startsWith("//") ? PROTECTED_SUFFICES.some((suffix) => key.endsWith(`:${suffix}`)) : PROTECTED_SUFFICES.includes(key);
}
});
// ../config/commands/lib/configToRecord.js
function configToRecord(config2, explicitlySetKeys) {
const result2 = {};
for (const kebabKey of Object.keys(types2)) {
const camelKey = camelCase(kebabKey, { locale: "en-US" });
if (!explicitlySetKeys.has(camelKey))
continue;
const value = config2[camelKey];
if (value !== void 0) {
result2[camelKey] = value;
}
}
for (const [key, value] of Object.entries(config2)) {
if (value === void 0 || NON_SETTING_CONFIG_KEYS.has(key))
continue;
if (!(key in result2) && explicitlySetKeys.has(key)) {
result2[key] = value;
}
}
for (const [key, value] of Object.entries(config2.authConfig)) {
if (!(key in result2)) {
result2[key] = value;
}
}
if (config2.userAgent) {
result2.userAgent = config2.userAgent;
}
return censorProtectedSettings(sortDirectKeys(result2));
}
var NON_SETTING_CONFIG_KEYS;
var init_configToRecord = __esm({
"../config/commands/lib/configToRecord.js"() {
"use strict";
init_lib64();
init_lib78();
init_camelcase();
init_protectedSettings();
NON_SETTING_CONFIG_KEYS = /* @__PURE__ */ new Set([
"authConfig",
"configByUri"
]);
}
});
// ../config/commands/lib/parseConfigPropertyPath.js
function* parseConfigPropertyPath(propertyPath) {
const iter = parsePropertyPath(propertyPath);
const first = iter.next();
if (first.done)
return;
yield typeof first.value === "number" ? first.value : camelCase(first.value, { locale: "en-US" });
yield* iter;
}
var init_parseConfigPropertyPath = __esm({
"../config/commands/lib/parseConfigPropertyPath.js"() {
"use strict";
init_lib148();
init_camelcase();
}
});
// ../config/commands/lib/configGet.js
function configGet(opts3, key) {
const isScopedKey = key.startsWith("@");
const configResult = lookupConfig(opts3, key, isScopedKey) ?? (isPropertyPath(key) ? lookupByPropertyPath(opts3, key) : { value: void 0 });
const output = displayConfig(configResult?.value, opts3);
return { output, exitCode: 0 };
}
function lookupConfig(opts3, key, isScopedKey) {
if (isScopedKey) {
if (key.endsWith(":registry")) {
const scope = key.slice(0, key.length - ":registry".length);
const merged = opts3._config.registries?.[scope];
if (merged !== void 0) {
return { value: merged };
}
}
return { value: opts3.authConfig[key] };
}
if (key === "globalconfig") {
return { value: getGlobalConfigPath(opts3.configDir) };
}
const kebabKey = isCamelCase(key) ? (0, import_lodash4.default)(key) : key;
if (Object.hasOwn(types2, kebabKey)) {
const camelKey2 = camelCase(kebabKey, { locale: "en-US" });
const explicit = opts3._context.explicitlySetKeys;
if (!explicit || explicit.has(camelKey2)) {
return { value: opts3._config[camelKey2] };
}
if (kebabKey in opts3.authConfig) {
return { value: opts3.authConfig[kebabKey] };
}
return { value: void 0 };
}
if (isIniConfigKey(key)) {
return { value: opts3.authConfig[key] };
}
const camelKey = camelCase(key, { locale: "en-US" });
const record = configToRecord(opts3._config, opts3._context.explicitlySetKeys);
if (Object.hasOwn(record, camelKey)) {
return { value: record[camelKey] };
}
return void 0;
}
function lookupByPropertyPath(opts3, propertyPath) {
const parsedPropertyPath = Array.from(parseConfigPropertyPath(propertyPath));
if (parsedPropertyPath.length === 0) {
return { value: configToRecord(opts3._config, opts3._context.explicitlySetKeys) };
}
const record = configToRecord(opts3._config, opts3._context.explicitlySetKeys);
return {
value: getObjectValueByPropertyPath(record, parsedPropertyPath)
};
}
function isPropertyPath(key) {
return key === "" || key.includes(".") || key.includes("[");
}
function displayConfig(config2, opts3) {
if (Boolean(opts3.json) || Array.isArray(config2)) {
return JSON.stringify(config2, void 0, 2);
}
if (typeof config2 === "object" && config2 != null) {
return JSON.stringify(config2, void 0, 2);
}
return String(config2);
}
var import_lodash4;
var init_configGet = __esm({
"../config/commands/lib/configGet.js"() {
"use strict";
init_lib64();
init_lib148();
init_lib62();
init_camelcase();
import_lodash4 = __toESM(require_lodash2(), 1);
init_configToRecord();
init_parseConfigPropertyPath();
}
});
// ../config/commands/lib/configList.js
async function configList(opts3) {
return JSON.stringify(configToRecord(opts3._config, opts3._context.explicitlySetKeys), void 0, 2);
}
var init_configList = __esm({
"../config/commands/lib/configList.js"() {
"use strict";
init_configToRecord();
}
});
// ../config/commands/lib/getConfigFileInfo.js
function getConfigFileInfo(key, opts3) {
key = (0, import_lodash5.default)(key);
const configDir = opts3.global ? opts3.configDir : opts3.dir;
if (isIniConfigKey(key)) {
const configFileName = opts3.global ? "auth.ini" : ".npmrc";
return { configDir, configFileName };
} else {
const configFileName = opts3.global ? GLOBAL_CONFIG_YAML_FILENAME : WORKSPACE_MANIFEST_FILENAME;
return { configDir, configFileName };
}
}
var import_lodash5;
var init_getConfigFileInfo = __esm({
"../config/commands/lib/getConfigFileInfo.js"() {
"use strict";
init_lib64();
init_lib();
import_lodash5 = __toESM(require_lodash2(), 1);
}
});
// ../config/commands/lib/configSet.js
import path167 from "node:path";
import util46 from "node:util";
async function configSet(opts3, key, valueParam) {
let isAuthSetting = isIniConfigKey(key);
if (!isAuthSetting) {
key = validateSimpleKey(key);
isAuthSetting = isIniConfigKey(key);
}
let value = valueParam;
if (valueParam != null && opts3.json) {
value = JSON.parse(valueParam);
}
if (isAuthSetting) {
const configPath2 = opts3.global ? path167.join(opts3.configDir, "auth.ini") : path167.join(opts3.dir, ".npmrc");
if (value != null && typeof value !== "string" && isStringOnlyIniKey(key)) {
throw new PnpmError("CONFIG_SET_AUTH_NON_STRING", `Cannot set ${key} to a non-string value (${JSON.stringify(value)})`);
}
const settings = await safeReadIniFile2(configPath2);
if (value == null) {
if (settings[key] == null)
return;
delete settings[key];
} else {
settings[key] = value;
}
await writeIniFile(configPath2, settings);
return;
}
const { configDir, configFileName } = getConfigFileInfo(key, opts3);
const configPath = path167.join(configDir, configFileName);
switch (configFileName) {
case GLOBAL_CONFIG_YAML_FILENAME:
case WORKSPACE_MANIFEST_FILENAME: {
if (configFileName === GLOBAL_CONFIG_YAML_FILENAME) {
key = validateYamlConfigKey(key);
}
key = validateWorkspaceKey(key);
await updateWorkspaceManifest(configDir, {
fileName: configFileName,
updatedFields: {
[key]: castField(value, (0, import_lodash6.default)(key))
}
});
break;
}
case "auth.ini":
case ".npmrc": {
const settings = await safeReadIniFile2(configPath);
key = validateIniConfigKey(key);
if (value == null) {
if (settings[key] == null)
return;
delete settings[key];
} else {
settings[key] = value;
}
await writeIniFile(configPath, settings);
break;
}
default: {
const _typeGuard = configFileName;
throw new Error(`Unhandled case: ${JSON.stringify(_typeGuard)}`);
}
}
}
function castField(value, key) {
if (typeof value !== "string") {
return value;
}
const type4 = types2[key];
const typeList = Array.isArray(type4) ? type4 : [type4];
const isNumber = typeList.includes(Number);
value = value.trim();
switch (value) {
case "true": {
return true;
}
case "false": {
return false;
}
case "null": {
return null;
}
case "undefined": {
return void 0;
}
}
if (isNumber && !isNaN(value)) {
value = Number(value);
}
return value;
}
function validateSimpleKey(key) {
if (isStrictlyKebabCase(key))
return key;
const iter = parsePropertyPath(key);
const first = iter.next();
if (first.done)
throw new ConfigSetKeyEmptyKeyError();
const second = iter.next();
if (!second.done)
throw new ConfigSetDeepKeyError();
return first.value.toString();
}
function validateIniConfigKey(key) {
const kebabKey = (0, import_lodash6.default)(key);
if (Object.hasOwn(types2, kebabKey)) {
return kebabKey;
}
throw new ConfigSetUnsupportedIniConfigKeyError(key);
}
function validateWorkspaceKey(key) {
if (Object.hasOwn(types2, key) || isConfigFileKey(key))
return camelCase(key);
if (!isCamelCase(key))
throw new ConfigSetUnsupportedWorkspaceKeyError(key);
return key;
}
function isStringOnlyIniKey(key) {
if (STRING_ONLY_INI_KEYS.includes(key))
return true;
if (key.startsWith("@"))
return true;
if (key.startsWith("//"))
return true;
return false;
}
async function safeReadIniFile2(configPath) {
try {
return await readIniFile(configPath);
} catch (err2) {
if (util46.types.isNativeError(err2) && "code" in err2 && err2.code === "ENOENT")
return {};
throw err2;
}
}
function validateYamlConfigKey(key) {
const kebabKey = (0, import_lodash6.default)(key);
if (!isConfigFileKey(kebabKey)) {
throw new ConfigSetUnsupportedYamlConfigKeyError(key);
}
return kebabKey;
}
var import_lodash6, ConfigSetKeyEmptyKeyError, ConfigSetDeepKeyError, ConfigSetUnsupportedIniConfigKeyError, ConfigSetUnsupportedWorkspaceKeyError, STRING_ONLY_INI_KEYS, ConfigSetUnsupportedYamlConfigKeyError;
var init_configSet = __esm({
"../config/commands/lib/configSet.js"() {
"use strict";
init_lib64();
init_lib();
init_lib2();
init_lib148();
init_lib62();
init_lib101();
init_camelcase();
import_lodash6 = __toESM(require_lodash2(), 1);
init_read_ini_file();
init_write_ini_file();
init_getConfigFileInfo();
ConfigSetKeyEmptyKeyError = class extends PnpmError {
constructor() {
super("CONFIG_SET_EMPTY_KEY", "Cannot set config with an empty key");
}
};
ConfigSetDeepKeyError = class extends PnpmError {
constructor() {
super("CONFIG_SET_DEEP_KEY", "Setting deep property path is not supported");
}
};
ConfigSetUnsupportedIniConfigKeyError = class extends PnpmError {
key;
constructor(key) {
super("CONFIG_SET_UNSUPPORTED_INI_CONFIG_KEY", `Key ${JSON.stringify(key)} isn't supported by INI config files`, {
hint: `Add ${JSON.stringify(camelCase(key))} to the project workspace manifest instead`
});
this.key = key;
}
};
ConfigSetUnsupportedWorkspaceKeyError = class extends PnpmError {
key;
constructor(key) {
super("CONFIG_SET_UNSUPPORTED_WORKSPACE_KEY", `The key ${JSON.stringify(key)} isn't supported by the workspace manifest`, {
hint: `Try ${JSON.stringify(camelCase(key))}`
});
this.key = key;
}
};
STRING_ONLY_INI_KEYS = ["_auth", "_authToken", "_password", "username", "registry"];
ConfigSetUnsupportedYamlConfigKeyError = class extends PnpmError {
key;
constructor(key) {
super("CONFIG_SET_UNSUPPORTED_YAML_CONFIG_KEY", `The key ${JSON.stringify(key)} isn't supported by the global config.yaml file`, {
hint: "Try setting them instead to the local pnpm-workspace.yaml file"
});
this.key = key;
}
};
}
});
// ../config/commands/lib/config.js
var config_exports = {};
__export(config_exports, {
cliOptionsTypes: () => cliOptionsTypes17,
commandNames: () => commandNames18,
handler: () => handler18,
help: () => help18,
rcOptionsTypes: () => rcOptionsTypes18
});
function rcOptionsTypes18() {
return {};
}
function cliOptionsTypes17() {
return {
global: Boolean,
location: ["global", "project"],
json: Boolean
};
}
function help18() {
return renderHelp({
description: "Manage the pnpm configuration files.",
descriptionLists: [
{
title: "Commands",
list: [
{
description: "Set the config key to the value provided",
name: "set"
},
{
description: "Print the config value for the provided key",
name: "get"
},
{
description: "Remove the config key from the config file",
name: "delete"
},
{
description: "Show all the config settings",
name: "list"
}
]
},
{
title: "Options",
list: [
{
description: "Sets the configuration in the global config file",
name: "--global",
shortAlias: "-g"
},
{
description: 'When set to "project", the pnpm-workspace.yaml file will be used if it exists. If only .npmrc exists, it will be used. If neither exists, a pnpm-workspace.yaml file will be created.',
name: "--location <project|global>"
},
{
description: "Show all types of values in JSON format (not just objects and arrays)",
name: "--json"
}
]
}
],
url: docsUrl("config"),
usages: [
"pnpm config set <key> <value>",
"pnpm config get <key>",
"pnpm config get --json <key>",
"pnpm config delete <key>",
"pnpm config list"
]
});
}
async function handler18(opts3, params) {
if (params.length === 0) {
throw new PnpmError("CONFIG_NO_SUBCOMMAND", "Please specify the subcommand", {
hint: help18()
});
}
if (opts3.location) {
opts3.global = opts3.location === "global";
} else if (opts3.cliOptions["global"] == null) {
opts3.global = true;
}
switch (params[0]) {
case "set":
case "delete": {
if (!params[1]) {
throw new PnpmError("CONFIG_NO_PARAMS", `\`pnpm config ${params[0]}\` requires the config key`);
}
if (params[0] === "set") {
let [key, value] = params.slice(1);
if (value == null) {
const parts = key.split("=");
key = parts.shift();
value = parts.join("=");
}
return configSet(opts3, key, value ?? "");
} else {
return configSet(opts3, params[1], null);
}
}
case "get": {
if (params[1]) {
return configGet(opts3, params[1]);
} else {
return configList(opts3);
}
}
case "list": {
return configList(opts3);
}
default: {
throw new PnpmError("CONFIG_UNKNOWN_SUBCOMMAND", "This subcommand is not known");
}
}
}
var commandNames18;
var init_config2 = __esm({
"../config/commands/lib/config.js"() {
"use strict";
init_lib41();
init_lib2();
init_lib66();
init_configGet();
init_configList();
init_configSet();
commandNames18 = ["config", "c"];
}
});
// ../config/commands/lib/get.js
var get_exports = {};
__export(get_exports, {
cliOptionsTypes: () => cliOptionsTypes18,
commandNames: () => commandNames19,
handler: () => handler19,
help: () => help19,
rcOptionsTypes: () => rcOptionsTypes19
});
async function handler19(opts3, params) {
return handler18(opts3, ["get", ...params]);
}
var rcOptionsTypes19, cliOptionsTypes18, help19, commandNames19;
var init_get3 = __esm({
"../config/commands/lib/get.js"() {
"use strict";
init_config2();
rcOptionsTypes19 = rcOptionsTypes18;
cliOptionsTypes18 = cliOptionsTypes17;
help19 = help18;
commandNames19 = ["get"];
}
});
// ../config/commands/lib/set.js
var set_exports = {};
__export(set_exports, {
cliOptionsTypes: () => cliOptionsTypes19,
commandNames: () => commandNames20,
handler: () => handler20,
help: () => help20,
rcOptionsTypes: () => rcOptionsTypes20
});
async function handler20(opts3, params) {
return handler18(opts3, ["set", ...params]);
}
var rcOptionsTypes20, cliOptionsTypes19, help20, commandNames20;
var init_set3 = __esm({
"../config/commands/lib/set.js"() {
"use strict";
init_config2();
rcOptionsTypes20 = rcOptionsTypes18;
cliOptionsTypes19 = cliOptionsTypes17;
help20 = help18;
commandNames20 = ["set"];
}
});
// ../config/commands/lib/index.js
var init_lib149 = __esm({
"../config/commands/lib/index.js"() {
"use strict";
init_config2();
init_get3();
init_set3();
}
});
// ../deps/compliance/audit/lib/lockfileToAuditIndex.js
function lockfileToAuditRequest(lockfile, opts3) {
const importerIds = Object.keys(lockfile.importers);
const importerWalkers = lockfileWalkerGroupImporterSteps(lockfile, importerIds, { include: opts3.include });
const depTypes = opts3.depTypes ?? detectDepTypes(lockfile);
const optionalOnly = opts3.optionalOnly ?? collectOptionalOnlyDepPaths(lockfile, opts3.include);
const request = /* @__PURE__ */ Object.create(null);
const versionStatesByName = /* @__PURE__ */ Object.create(null);
let totalDependencies = 0;
let dependencies = 0;
let devDependencies = 0;
let optionalDependencies = 0;
const registerOccurrence = (o2) => {
let versionStates = versionStatesByName[o2.name];
if (!versionStates) {
versionStates = /* @__PURE__ */ new Map();
versionStatesByName[o2.name] = versionStates;
request[o2.name] = [];
}
const state = versionStates.get(o2.version);
if (!state) {
versionStates.set(o2.version, { devOnly: o2.devOnly, optionalOnly: o2.optionalOnly });
request[o2.name].push(o2.version);
totalDependencies++;
if (o2.devOnly)
devDependencies++;
if (o2.optionalOnly)
optionalDependencies++;
if (!o2.devOnly && !o2.optionalOnly)
dependencies++;
return;
}
const wasProduction = !state.devOnly && !state.optionalOnly;
if (state.devOnly && !o2.devOnly) {
state.devOnly = false;
devDependencies--;
}
if (state.optionalOnly && !o2.optionalOnly) {
state.optionalOnly = false;
optionalDependencies--;
}
if (!wasProduction && !state.devOnly && !state.optionalOnly) {
dependencies++;
}
};
const makeVisitor = (graphDepTypes, graphOptionalOnly) => {
return (rootStep) => {
const stack = [{ dependencies: rootStep.dependencies, next: 0 }];
while (stack.length > 0) {
const frame = stack[stack.length - 1];
if (frame.next >= frame.dependencies.length) {
stack.pop();
continue;
}
const { depPath, pkgSnapshot, next: next2 } = frame.dependencies[frame.next++];
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
if (version2) {
registerOccurrence({
name,
version: version2,
devOnly: graphDepTypes[depPath] === DepType.DevOnly,
optionalOnly: graphOptionalOnly.has(depPath)
});
}
stack.push({ dependencies: next2().dependencies, next: 0 });
}
};
};
const visitMain = makeVisitor(depTypes, optionalOnly);
for (const importerWalker of importerWalkers) {
visitMain(importerWalker.step);
}
if (opts3.envLockfile) {
const envLockfileObject = envLockfileToLockfileObject(opts3.envLockfile);
const envDepTypes = detectDepTypes(envLockfileObject);
const envOptionalOnly = collectOptionalOnlyDepPaths(envLockfileObject, opts3.include);
const visitEnv = makeVisitor(envDepTypes, envOptionalOnly);
for (const { step: step2 } of lockfileWalkerGroupImporterSteps(envLockfileObject, Object.keys(envLockfileObject.importers), { include: opts3.include })) {
visitEnv(step2);
}
}
return { request, totalDependencies, dependencies, devDependencies, optionalDependencies };
}
function buildAuditPathIndex(lockfile, vulnerableNames, opts3) {
const paths3 = /* @__PURE__ */ Object.create(null);
const depTypes = opts3.depTypes ?? detectDepTypes(lockfile);
const optionalOnly = opts3.optionalOnly ?? collectOptionalOnlyDepPaths(lockfile, opts3.include);
walkForPaths({
lockfile,
vulnerableNames,
paths: paths3,
depTypes,
optionalOnly,
include: opts3.include,
importerSegmentOf: (importerId) => importerId.replace(/\//g, "__")
});
if (opts3.envLockfile) {
const envLockfileObject = envLockfileToLockfileObject(opts3.envLockfile);
walkForPaths({
lockfile: envLockfileObject,
vulnerableNames,
paths: paths3,
depTypes: detectDepTypes(envLockfileObject),
optionalOnly: collectOptionalOnlyDepPaths(envLockfileObject, opts3.include),
include: opts3.include,
importerSegmentOf: (importerId) => importerId
});
}
return paths3;
}
function walkForPaths(ctx) {
const { lockfile, vulnerableNames, paths: paths3, depTypes, optionalOnly, include, importerSegmentOf } = ctx;
const includeDeps = include?.dependencies !== false;
const includeDevDeps = include?.devDependencies !== false;
const includeOptDeps = include?.optionalDependencies !== false;
const packages = lockfile.packages ?? {};
const reachableVulnerabilities = createReachableVulnerabilitiesGetter(lockfile, vulnerableNames, includeOptDeps);
const inTrail = /* @__PURE__ */ new Set();
const stack = [];
const open3 = (edge, parentTrail) => {
const reachable = reachableVulnerabilities(edge);
if (reachable.size === 0 || allReachableVulnerabilitiesSaturated(paths3, reachable, depTypes, optionalOnly))
return;
if (inTrail.has(edge.depPath))
return;
const pkgSnapshot = packages[edge.depPath];
if (pkgSnapshot == null)
return;
const { name, version: version2 } = nameVerFromPkgSnapshot(edge.depPath, pkgSnapshot);
const resolvedName = name ?? edge.name;
const trail = { name: resolvedName, parent: parentTrail };
if (version2 && vulnerableNames.has(resolvedName)) {
recordPath(paths3, resolvedName, version2, joinTrail(trail), depTypes[edge.depPath] === DepType.DevOnly, optionalOnly.has(edge.depPath));
}
if (allReachableVulnerabilitiesSaturated(paths3, reachable, depTypes, optionalOnly))
return;
const children = [];
appendNamedDepPaths(children, pkgSnapshot.dependencies ?? {});
if (includeOptDeps) {
appendNamedDepPaths(children, pkgSnapshot.optionalDependencies ?? {});
}
inTrail.add(edge.depPath);
stack.push({ depPath: edge.depPath, trail, children, next: 0 });
};
for (const [importerId, importer] of Object.entries(lockfile.importers)) {
const trail = { name: importerSegmentOf(importerId), parent: null };
const roots = [];
if (includeDeps)
appendNamedDepPaths(roots, importer.dependencies ?? {});
if (includeDevDeps)
appendNamedDepPaths(roots, importer.devDependencies ?? {});
if (includeOptDeps)
appendNamedDepPaths(roots, importer.optionalDependencies ?? {});
for (const root of roots) {
open3(root, trail);
while (stack.length > 0) {
const frame = stack[stack.length - 1];
if (frame.next < frame.children.length) {
open3(frame.children[frame.next++], frame.trail);
} else {
inTrail.delete(frame.depPath);
stack.pop();
}
}
}
}
}
function joinTrail(node) {
const parts = [];
let current = node;
while (current != null) {
parts.push(current.name);
current = current.parent;
}
parts.reverse();
return parts.join(">");
}
function createReachableVulnerabilitiesGetter(lockfile, vulnerableNames, includeOptDeps) {
const packages = lockfile.packages ?? {};
const memo = /* @__PURE__ */ new Map();
const partial = /* @__PURE__ */ new Map();
const index2 = /* @__PURE__ */ new Map();
const lowlink = /* @__PURE__ */ new Map();
const onStack = /* @__PURE__ */ new Set();
const sccStack = [];
let counter = 0;
const buildScc = (rootEdge) => {
const work = [];
const pushFrame = (edge) => {
index2.set(edge.depPath, counter);
lowlink.set(edge.depPath, counter);
counter++;
sccStack.push(edge.depPath);
onStack.add(edge.depPath);
const pkgSnapshot = packages[edge.depPath];
const own = /* @__PURE__ */ new Set();
const children = [];
if (pkgSnapshot != null) {
const { name, version: version2 } = nameVerFromPkgSnapshot(edge.depPath, pkgSnapshot);
const resolvedName = name ?? edge.name;
if (version2 && vulnerableNames.has(resolvedName)) {
own.add(vulnerabilityKey(resolvedName, version2, edge.depPath));
}
appendNamedDepPaths(children, pkgSnapshot.dependencies ?? {});
if (includeOptDeps) {
appendNamedDepPaths(children, pkgSnapshot.optionalDependencies ?? {});
}
}
partial.set(edge.depPath, own);
work.push({ edge, own, children, next: 0 });
};
pushFrame(rootEdge);
while (work.length > 0) {
const frame = work[work.length - 1];
if (frame.next < frame.children.length) {
const child = frame.children[frame.next++];
if (!index2.has(child.depPath)) {
pushFrame(child);
continue;
}
if (onStack.has(child.depPath)) {
lowlink.set(frame.edge.depPath, Math.min(lowlink.get(frame.edge.depPath), index2.get(child.depPath)));
}
const childReachable = memo.get(child.depPath);
if (childReachable)
addAll(frame.own, childReachable);
continue;
}
const edge = frame.edge;
if (lowlink.get(edge.depPath) === index2.get(edge.depPath)) {
const members = [];
let shared;
let member;
do {
member = sccStack.pop();
onStack.delete(member);
members.push(member);
const own = partial.get(member);
partial.delete(member);
if (shared === void 0) {
shared = own;
} else {
addAll(shared, own);
}
} while (member !== edge.depPath);
for (const m of members) {
memo.set(m, shared);
}
}
work.pop();
const parent = work[work.length - 1];
if (parent != null) {
lowlink.set(parent.edge.depPath, Math.min(lowlink.get(parent.edge.depPath), lowlink.get(edge.depPath)));
const childReachable = memo.get(edge.depPath);
if (childReachable)
addAll(parent.own, childReachable);
}
}
};
return (edge) => {
if (!index2.has(edge.depPath))
buildScc(edge);
const reachable = memo.get(edge.depPath);
if (reachable == null) {
throw new Error(`Reachable vulnerabilities were not computed for ${edge.depPath}`);
}
return reachable;
};
}
function allReachableVulnerabilitiesSaturated(paths3, reachable, depTypes, optionalOnly) {
for (const key of reachable) {
const { name, version: version2, depPath } = parseVulnerabilityKey(key);
const info = paths3[name]?.get(version2);
if (!info || info.paths.length < MAX_PATHS_PER_FINDING)
return false;
if (depTypes[depPath] !== DepType.DevOnly && info.dev)
return false;
if (!optionalOnly.has(depPath) && info.optional)
return false;
}
return true;
}
function vulnerabilityKey(name, version2, depPath) {
return `${name}\0${version2}\0${depPath}`;
}
function parseVulnerabilityKey(key) {
const [name, version2, depPath] = key.split("\0");
return { name, version: version2, depPath };
}
function addAll(target2, source) {
for (const value of source) {
target2.add(value);
}
}
function recordPath(paths3, name, version2, joined, isDev, isOptional) {
let byVersion = paths3[name];
if (!byVersion) {
byVersion = /* @__PURE__ */ new Map();
paths3[name] = byVersion;
}
const info = byVersion.get(version2);
if (!info) {
byVersion.set(version2, { paths: [joined], dev: isDev, optional: isOptional });
return;
}
if (!isDev)
info.dev = false;
if (!isOptional)
info.optional = false;
if (info.paths.length >= MAX_PATHS_PER_FINDING)
return;
if (info.paths.includes(joined))
return;
info.paths.push(joined);
}
function appendNamedDepPaths(target2, deps) {
for (const [alias, ref] of Object.entries(deps)) {
const depPath = refToRelative(ref, alias);
if (depPath != null)
target2.push({ name: alias, depPath });
}
}
function collectOptionalOnlyDepPaths(lockfile, include) {
const includeDeps = include?.dependencies !== false;
const includeDevDeps = include?.devDependencies !== false;
const includeOptDeps = include?.optionalDependencies !== false;
const withoutOptional = /* @__PURE__ */ new Set();
const withOptional = /* @__PURE__ */ new Set();
for (const importer of Object.values(lockfile.importers)) {
const nonOptionalRoots = [
...includeDeps ? resolvedDepsToDepPaths3(importer.dependencies ?? {}) : [],
...includeDevDeps ? resolvedDepsToDepPaths3(importer.devDependencies ?? {}) : []
];
const allRoots = [
...nonOptionalRoots,
...includeOptDeps ? resolvedDepsToDepPaths3(importer.optionalDependencies ?? {}) : []
];
walkReachable(lockfile, nonOptionalRoots, withoutOptional, false);
walkReachable(lockfile, allRoots, withOptional, includeOptDeps);
}
const result2 = /* @__PURE__ */ new Set();
for (const depPath of withOptional) {
if (!withoutOptional.has(depPath))
result2.add(depPath);
}
return result2;
}
function walkReachable(lockfile, depPaths, seen, includeOptionalEdges) {
const packages = lockfile.packages ?? {};
const stack = [];
for (const depPath of depPaths)
stack.push(depPath);
while (stack.length > 0) {
const depPath = stack.pop();
if (seen.has(depPath))
continue;
seen.add(depPath);
const snapshot = packages[depPath];
if (!snapshot)
continue;
for (const child of resolvedDepsToDepPaths3(snapshot.dependencies ?? {}))
stack.push(child);
if (includeOptionalEdges) {
for (const child of resolvedDepsToDepPaths3(snapshot.optionalDependencies ?? {}))
stack.push(child);
}
}
}
function resolvedDepsToDepPaths3(deps) {
return Object.entries(deps).map(([alias, ref]) => refToRelative(ref, alias)).filter((depPath) => depPath !== null);
}
function envLockfileToLockfileObject(envLockfile) {
const envImporter = envLockfile.importers["."];
const importers = {};
if (Object.keys(envImporter.configDependencies).length > 0) {
importers["configDependencies"] = { dependencies: envImporter.configDependencies };
}
if (envImporter.packageManagerDependencies) {
importers["packageManagerDependencies"] = { dependencies: envImporter.packageManagerDependencies };
}
return convertToLockfileObject({
lockfileVersion: envLockfile.lockfileVersion,
importers,
packages: envLockfile.packages,
snapshots: envLockfile.snapshots
});
}
var MAX_PATHS_PER_FINDING;
var init_lockfileToAuditIndex = __esm({
"../deps/compliance/audit/lib/lockfileToAuditIndex.js"() {
"use strict";
init_lib68();
init_lib127();
init_lib80();
init_lib73();
init_lib90();
MAX_PATHS_PER_FINDING = 100;
}
});
// ../deps/compliance/audit/lib/types.js
var init_types5 = __esm({
"../deps/compliance/audit/lib/types.js"() {
"use strict";
}
});
// ../deps/compliance/audit/lib/index.js
async function audit(lockfile, getAuthHeader, opts3) {
const depTypes = detectDepTypes(lockfile);
const optionalOnly = collectOptionalOnlyDepPaths(lockfile, opts3.include);
const auditRequest = lockfileToAuditRequest(lockfile, { envLockfile: opts3.envLockfile, include: opts3.include, depTypes, optionalOnly });
const registry = opts3.registry.endsWith("/") ? opts3.registry : `${opts3.registry}/`;
const auditUrl = `${registry}-/npm/v1/security/advisories/bulk`;
const authHeaderValue = getAuthHeader(registry);
const requestHeaders = {
"Content-Type": "application/json",
...getAuthHeaders(authHeaderValue)
};
const res = await fetchWithDispatcher(auditUrl, {
dispatcherOptions: opts3.dispatcherOptions ?? {},
body: JSON.stringify(auditRequest.request),
headers: requestHeaders,
method: "POST",
retry: opts3.retry,
timeout: opts3.timeout
});
if (res.status === 200) {
const rawBody = await res.text();
let body;
try {
body = JSON.parse(rawBody);
} catch (err2) {
const reason = err2 instanceof Error ? err2.message : String(err2);
throw new PnpmError("AUDIT_BAD_RESPONSE", `The audit endpoint (at ${auditUrl}) returned invalid JSON: ${reason}. Response body: ${rawBody.slice(0, 500)}`);
}
if (!isBulkResponseShape(body)) {
throw new PnpmError("AUDIT_BAD_RESPONSE", `The audit endpoint (at ${auditUrl}) returned an unexpected body. Expected an object keyed by package name; got: ${JSON.stringify(body)?.slice(0, 500) ?? String(body)}`);
}
const vulnerableNames = new Set(Object.keys(body));
let auditPathIndex = {};
if (vulnerableNames.size > 0) {
auditPathIndex = buildAuditPathIndex(lockfile, vulnerableNames, { envLockfile: opts3.envLockfile, include: opts3.include, depTypes, optionalOnly });
}
return bulkResponseToAuditReport(body, auditRequest, auditPathIndex);
}
if (res.status === 404) {
throw new AuditEndpointNotExistsError(auditUrl);
}
throw new PnpmError("AUDIT_BAD_RESPONSE", `The audit endpoint (at ${auditUrl}) responded with ${res.status}: ${await res.text()}`);
}
function bulkResponseToAuditReport(bulk, auditRequest, auditPathIndex) {
const advisories = /* @__PURE__ */ Object.create(null);
const vulnerabilities = { info: 0, low: 0, moderate: 0, high: 0, critical: 0 };
for (const [moduleName, packageAdvisories] of Object.entries(bulk)) {
const byVersion = auditPathIndex[moduleName];
for (const adv of packageAdvisories) {
if (typeof adv.id !== "number" || !Number.isFinite(adv.id))
continue;
if (!isKnownSeverity(adv.severity))
continue;
const findings = buildFindings(adv, byVersion);
if (findings.length === 0)
continue;
advisories[String(adv.id)] = normalizeAdvisory(adv, moduleName, findings);
vulnerabilities[adv.severity] += 1;
}
}
return {
advisories,
metadata: {
vulnerabilities,
dependencies: auditRequest.dependencies,
devDependencies: auditRequest.devDependencies,
optionalDependencies: auditRequest.optionalDependencies,
totalDependencies: auditRequest.totalDependencies
}
};
}
function buildFindings(adv, byVersion) {
if (byVersion == null)
return [];
const findings = [];
for (const [version2, info] of byVersion) {
if (satisfiesSafe(version2, adv.vulnerable_versions)) {
findings.push({
version: version2,
paths: info.paths,
dev: info.dev,
optional: info.optional,
bundled: false
});
}
}
return findings;
}
function isKnownSeverity(severity) {
return typeof severity === "string" && KNOWN_SEVERITIES.has(severity);
}
function isBulkResponseShape(body) {
if (typeof body !== "object" || body === null || Array.isArray(body))
return false;
return Object.values(body).every((packageAdvisories) => Array.isArray(packageAdvisories) && packageAdvisories.every((advisory) => typeof advisory === "object" && advisory !== null && !Array.isArray(advisory) && typeof advisory.vulnerable_versions === "string"));
}
function satisfiesSafe(version2, range) {
try {
return import_semver45.default.satisfies(version2, range, { includePrerelease: true, loose: true });
} catch {
return false;
}
}
function normalizeAdvisory(adv, moduleName, findings) {
const cwe = Array.isArray(adv.cwe) ? adv.cwe.join(", ") : adv.cwe;
return {
findings,
id: adv.id,
title: adv.title ?? "",
module_name: moduleName,
vulnerable_versions: adv.vulnerable_versions,
patched_versions: inferPatchedVersions(adv.vulnerable_versions),
severity: adv.severity,
cwe: cwe ?? "",
github_advisory_id: deriveGithubAdvisoryId(adv.url),
url: adv.url ?? ""
};
}
function inferPatchedVersions(vulnerableRange) {
const trimmed = vulnerableRange.trim();
const ltMatch = trimmed.match(/(?:^|\s)<\s*(\d+\.\d+\.\d[\w\-.+]*)\s*$/);
if (ltMatch)
return `>=${ltMatch[1]}`;
const lteMatch = trimmed.match(/(?:^|\s)<=\s*(\d+\.\d+\.\d[\w\-.+]*)\s*$/);
if (lteMatch) {
const next2 = import_semver45.default.inc(lteMatch[1], "patch");
if (next2)
return `>=${next2}`;
}
return void 0;
}
function deriveGithubAdvisoryId(url7) {
if (!url7)
return "";
const match = url7.match(/\/(GHSA-[\w-]+)/i);
return match ? normalizeGhsaId(match[1]) : "";
}
function normalizeGhsaId(ghsaId) {
const trimmed = ghsaId.trim();
const dash = trimmed.indexOf("-");
if (dash < 0)
return trimmed.toUpperCase();
return trimmed.slice(0, dash).toUpperCase() + trimmed.slice(dash).toLowerCase();
}
function getAuthHeaders(authHeaderValue) {
const headers = {};
if (authHeaderValue) {
headers["authorization"] = authHeaderValue;
}
return headers;
}
var import_semver45, KNOWN_SEVERITIES, AuditEndpointNotExistsError;
var init_lib150 = __esm({
"../deps/compliance/audit/lib/index.js"() {
"use strict";
init_lib2();
init_lib127();
init_lib23();
import_semver45 = __toESM(require_semver2(), 1);
init_lockfileToAuditIndex();
init_lockfileToAuditIndex();
init_types5();
KNOWN_SEVERITIES = /* @__PURE__ */ new Set(["info", "low", "moderate", "high", "critical"]);
AuditEndpointNotExistsError = class extends PnpmError {
constructor(endpoint) {
const message = `The audit endpoint (at ${endpoint}) doesn't exist.`;
super("AUDIT_ENDPOINT_NOT_EXISTS", message, {
hint: "This issue is probably because you are using a private npm registry and that endpoint doesn't have an implementation of audit."
});
}
};
}
});
// ../deps/compliance/commands/lib/audit/auditContext.js
async function loadAuditContext(opts3) {
const lockfileDir = opts3.lockfileDir ?? opts3.dir;
const lockfile = await readWantedLockfile(lockfileDir, { ignoreIncompatible: true });
if (lockfile == null) {
throw new PnpmError("AUDIT_NO_LOCKFILE", `No ${WANTED_LOCKFILE} found: Cannot audit a project without a lockfile`);
}
const envLockfile = await readEnvLockfile(opts3.workspaceDir ?? lockfileDir);
return {
envLockfile,
include: {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
},
lockfile,
lockfileDir
};
}
function createAuditNetworkOptions(opts3) {
return {
ca: opts3.ca,
cert: opts3.cert,
configByUri: opts3.configByUri,
fetchTimeout: opts3.fetchTimeout,
httpProxy: opts3.httpProxy,
httpsProxy: opts3.httpsProxy,
key: opts3.key,
localAddress: opts3.localAddress,
maxSockets: opts3.maxSockets,
noProxy: opts3.noProxy,
retry: {
factor: opts3.fetchRetryFactor,
maxTimeout: opts3.fetchRetryMaxtimeout,
minTimeout: opts3.fetchRetryMintimeout,
retries: opts3.fetchRetries
},
strictSsl: opts3.strictSsl
};
}
var init_auditContext = __esm({
"../deps/compliance/commands/lib/audit/auditContext.js"() {
"use strict";
init_lib();
init_lib2();
init_lib80();
}
});
// ../deps/compliance/commands/lib/audit/fix.js
async function fix(auditReport, opts3) {
const fixableAdvisories = getFixableAdvisories(Object.values(auditReport.advisories), opts3.auditConfig?.ignoreGhsas);
const vulnOverrides = createOverrides(fixableAdvisories);
if (Object.values(vulnOverrides).length === 0)
return { vulnOverrides, addedAgeExcludes: [] };
const addedAgeExcludes = opts3.minimumReleaseAge ? createMinimumReleaseAgeExcludes(fixableAdvisories) : [];
await writeSettings({
updatedOverrides: vulnOverrides,
addedMinimumReleaseAgeExcludes: addedAgeExcludes.length > 0 ? addedAgeExcludes : void 0,
rootProjectManifest: opts3.rootProjectManifest,
rootProjectManifestDir: opts3.rootProjectManifestDir,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir
});
return { vulnOverrides, addedAgeExcludes };
}
function getFixableAdvisories(advisories, ignoreGhsas) {
if (ignoreGhsas) {
const ignored = new Set(ignoreGhsas.map(normalizeGhsaId));
advisories = advisories.filter(({ github_advisory_id: ghsaId }) => !ghsaId || !ignored.has(normalizeGhsaId(ghsaId)));
}
return advisories.filter(({ patched_versions: patchedVersions }) => patchedVersions != null);
}
function createOverrides(advisories) {
const entries = [];
for (const advisory of advisories) {
if (!advisory.patched_versions)
continue;
entries.push([`${advisory.module_name}@${advisory.vulnerable_versions}`, caretRangeForPatched(advisory.patched_versions)]);
}
return sortDirectKeys(Object.fromEntries(entries));
}
function caretRangeForPatched(patchedRange) {
const min = import_semver46.default.minVersion(patchedRange);
return min ? `^${min.version}` : patchedRange;
}
function createMinimumReleaseAgeExcludes(advisories) {
const specs = [];
for (const advisory of advisories) {
const patchedVersions = advisory.patched_versions;
if (!patchedVersions)
continue;
const minVersion = import_semver46.default.minVersion(patchedVersions);
if (!minVersion)
continue;
specs.push(`${advisory.module_name}@${minVersion.version}`);
}
return mergePackageVersionSpecs(specs);
}
var import_semver46;
var init_fix = __esm({
"../deps/compliance/commands/lib/audit/fix.js"() {
"use strict";
init_lib37();
init_lib102();
init_lib150();
init_lib78();
import_semver46 = __toESM(require_semver2(), 1);
}
});
// ../deps/compliance/commands/lib/audit/lockfileToPackages.js
function lockfileToPackages(lockfile, opts3) {
const importerWalkers = lockfileWalkerGroupImporterSteps(lockfile, Object.keys(lockfile.importers), { include: opts3?.include });
const packages = /* @__PURE__ */ new Map();
for (const importerWalker of importerWalkers) {
addPackages(packages, importerWalker.step);
}
return packages;
}
function addPackages(packages, step2) {
for (const { depPath, pkgSnapshot, next: next2 } of step2.dependencies) {
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
if (version2 != null) {
if (!packages.has(name)) {
packages.set(name, /* @__PURE__ */ new Set());
}
packages.get(name).add(version2);
}
addPackages(packages, next2());
}
}
var init_lockfileToPackages = __esm({
"../deps/compliance/commands/lib/audit/lockfileToPackages.js"() {
"use strict";
init_lib73();
init_lib90();
}
});
// ../deps/compliance/commands/lib/audit/fixWithUpdate.js
async function fixWithUpdate(auditReport, opts3) {
const vulnerabilitiesByPackage = /* @__PURE__ */ new Map();
const unfixableVulnerabilities = /* @__PURE__ */ new Map();
for (const advisory of Object.values(auditReport.advisories)) {
let packageVulnerabilities = vulnerabilitiesByPackage.get(advisory.module_name);
if (!packageVulnerabilities) {
packageVulnerabilities = [];
vulnerabilitiesByPackage.set(advisory.module_name, packageVulnerabilities);
}
const severity = advisory.severity;
const versionRange = advisory.vulnerable_versions;
if (versionRange === ">=0.0.0" || versionRange === "*") {
let unfixableForPackage = unfixableVulnerabilities.get(advisory.module_name);
if (!unfixableForPackage) {
unfixableForPackage = /* @__PURE__ */ new Set();
unfixableVulnerabilities.set(advisory.module_name, unfixableForPackage);
}
unfixableForPackage.add(advisory.id);
continue;
}
packageVulnerabilities.push({
vulnerability: {
versionRange,
severity
},
id: advisory.id
});
}
const packageVulnerabilityAudit = {
isVulnerable(packageName, version2) {
const vulnerabilities = vulnerabilitiesByPackage.get(packageName);
if (!vulnerabilities)
return false;
for (const vulnerabilityWithRange of vulnerabilities) {
let { semverRange } = vulnerabilityWithRange;
if (!semverRange) {
semverRange = new import_semver47.default.Range(vulnerabilityWithRange.vulnerability.versionRange);
vulnerabilityWithRange.semverRange = semverRange;
}
if (import_semver47.default.satisfies(version2, semverRange)) {
return true;
}
}
return false;
},
getVulnerabilities() {
const allVulnerabilities = /* @__PURE__ */ new Map();
for (const [pkgName, vulnerabilities] of vulnerabilitiesByPackage) {
allVulnerabilities.set(pkgName, vulnerabilities.map((v) => v.vulnerability));
}
return allVulnerabilities;
}
};
const addedAgeExcludes = opts3.minimumReleaseAge ? createMinimumReleaseAgeExcludes(Object.values(auditReport.advisories)) : [];
const updateOpts = { ...opts3 };
if (addedAgeExcludes.length > 0) {
const existing = updateOpts.minimumReleaseAgeExclude ?? [];
updateOpts.minimumReleaseAgeExclude = [...existing, ...addedAgeExcludes];
await writeSettings({
addedMinimumReleaseAgeExcludes: addedAgeExcludes,
rootProjectManifest: opts3.rootProjectManifest,
rootProjectManifestDir: opts3.rootProjectManifestDir,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir
});
}
await update_exports.handler({
...updateOpts,
packageVulnerabilityAudit
}, []);
const lockfileDir = opts3.lockfileDir ?? opts3.dir;
const lockfile = await readWantedLockfile(lockfileDir, { ignoreIncompatible: true });
if (lockfile == null) {
throw new PnpmError("AUDIT_NO_LOCKFILE", `No ${WANTED_LOCKFILE} found after update: Cannot report fixed vulnerabilities`);
}
const updatedPackages = lockfileToPackages(lockfile, { include: opts3.include });
const fixed = [];
const remaining = [];
for (const [pkgName, vulnerabilities] of vulnerabilitiesByPackage) {
const updatedVersions = updatedPackages.get(pkgName);
if (!updatedVersions) {
fixed.push(...vulnerabilities.map((v) => v.id));
continue;
}
for (const vulnerability of vulnerabilities) {
let wasFixed = true;
for (const updatedVersion of updatedVersions) {
let { semverRange } = vulnerability;
if (!semverRange) {
semverRange = new import_semver47.default.Range(vulnerability.vulnerability.versionRange);
vulnerability.semverRange = semverRange;
}
if (import_semver47.default.satisfies(updatedVersion, semverRange)) {
wasFixed = false;
break;
}
}
if (wasFixed) {
fixed.push(vulnerability.id);
} else {
remaining.push(vulnerability.id);
}
}
}
for (const [pkgName, unfixableIds] of unfixableVulnerabilities) {
if (updatedPackages.has(pkgName)) {
remaining.push(...unfixableIds);
} else {
fixed.push(...unfixableIds);
}
}
return { fixed, remaining, addedAgeExcludes };
}
var import_semver47;
var init_fixWithUpdate = __esm({
"../deps/compliance/commands/lib/audit/fixWithUpdate.js"() {
"use strict";
init_lib102();
init_lib();
init_lib2();
init_lib142();
init_lib80();
import_semver47 = __toESM(require_semver2(), 1);
init_fix();
init_lockfileToPackages();
}
});
// ../deps/compliance/commands/lib/audit/getAuditFixChoices.js
function getAuditFixChoices(advisories) {
if (advisories.length === 0) {
return [];
}
const fixable = advisories.filter(({ patched_versions: p }) => p != null);
if (fixable.length === 0) {
return [];
}
const deduped = dedupeByFixKey(fixable);
const grouped = groupBy_default((a2) => a2.severity, deduped);
const finalChoices = [];
for (const severity of SEVERITY_ORDER) {
const groupAdvisories = grouped[severity];
if (!groupAdvisories?.length)
continue;
const rows = [
{ raw: COLUMN_HEADER, key: "", disabled: true }
];
for (const advisory of groupAdvisories) {
const key = `${advisory.module_name}@${advisory.vulnerable_versions}`;
rows.push({
raw: [
advisory.module_name,
advisory.vulnerable_versions,
advisory.patched_versions ? caretRangeForPatched(advisory.patched_versions) : "",
advisory.github_advisory_id ?? ""
],
key
});
}
const rendered = alignColumns2(rows.map((r) => r.raw));
const choices = rows.map((row, i4) => {
if (i4 === 0) {
return {
name: rendered[i4],
message: rendered[i4],
value: "",
disabled: true,
hint: ""
};
}
return {
name: row.key,
message: rendered[i4],
value: row.key
};
});
finalChoices.push({
name: `[${severity}]`,
choices,
message: AUDIT_COLOR[severity](severity)
});
}
return finalChoices;
}
function alignColumns2(rows) {
return (0, import_table3.table)(rows, {
border: (0, import_table3.getBorderCharacters)("void"),
columnDefault: {
paddingLeft: 0,
paddingRight: 2
},
drawHorizontalLine: () => false
}).split("\n").filter((line) => line.trim() !== "");
}
function dedupeByFixKey(advisories) {
const byKey = /* @__PURE__ */ new Map();
for (const advisory of advisories) {
const key = `${advisory.module_name}@${advisory.vulnerable_versions}`;
const existing = byKey.get(key);
if (!existing) {
byKey.set(key, advisory);
continue;
}
const keepSeverity = SEVERITY_RANK[advisory.severity] > SEVERITY_RANK[existing.severity] ? advisory.severity : existing.severity;
const mergedId = existing.github_advisory_id && advisory.github_advisory_id && existing.github_advisory_id !== advisory.github_advisory_id ? `${existing.github_advisory_id}, ${advisory.github_advisory_id}` : existing.github_advisory_id || advisory.github_advisory_id;
byKey.set(key, {
...existing,
severity: keepSeverity,
github_advisory_id: mergedId
});
}
return Array.from(byKey.values());
}
var import_table3, AUDIT_COLOR, SEVERITY_ORDER, SEVERITY_RANK, COLUMN_HEADER;
var init_getAuditFixChoices = __esm({
"../deps/compliance/commands/lib/audit/getAuditFixChoices.js"() {
"use strict";
import_table3 = __toESM(require_src2(), 1);
init_source();
init_es();
init_fix();
AUDIT_COLOR = {
info: source_default.dim,
low: source_default.bold,
moderate: source_default.bold.yellow,
high: source_default.bold.red,
critical: source_default.bold.red
};
SEVERITY_ORDER = ["critical", "high", "moderate", "low", "info"];
SEVERITY_RANK = {
info: 0,
low: 1,
moderate: 2,
high: 3,
critical: 4
};
COLUMN_HEADER = ["Package", "Vulnerable", "Patched", "Advisories"];
}
});
// ../deps/compliance/commands/lib/audit/ignore.js
async function ignore(opts3) {
const currentGhsas = (opts3?.auditConfig?.ignoreGhsas ?? []).map(normalizeGhsaId);
const currentUniqueGhsas = new Set(currentGhsas);
const advisoriesWithNoResolutions = filterAdvisoriesWithNoResolutions(Object.values(opts3.auditReport.advisories));
if (opts3.ignoreUnfixable) {
for (const advisory of advisoriesWithNoResolutions) {
if (!advisory.github_advisory_id) {
throw new PnpmError("AUDIT_MISSING_GHSA", `Cannot ignore advisory ${advisory.id} (${advisory.module_name}): the registry did not provide a GHSA id or a resolvable url.`);
}
currentUniqueGhsas.add(normalizeGhsaId(advisory.github_advisory_id));
}
} else if (opts3.ignore) {
for (const ghsa of opts3.ignore) {
currentUniqueGhsas.add(normalizeGhsaId(ghsa));
}
}
const newIgnoreGhsas = currentUniqueGhsas.size > 0 ? Array.from(currentUniqueGhsas) : void 0;
const diffGhsas = difference_default(newIgnoreGhsas ?? [], currentGhsas);
await writeSettings({
...opts3,
updatedSettings: {
auditConfig: {
...opts3.auditConfig,
ignoreGhsas: newIgnoreGhsas
}
}
});
return [...diffGhsas];
}
function filterAdvisoriesWithNoResolutions(advisories) {
return advisories.filter(({ patched_versions: patchedVersions }) => patchedVersions == null);
}
var init_ignore = __esm({
"../deps/compliance/commands/lib/audit/ignore.js"() {
"use strict";
init_lib102();
init_lib150();
init_lib2();
init_es();
}
});
// ../deps/compliance/commands/lib/audit/signatures.js
async function auditSignatures(opts3) {
const { envLockfile, include, lockfile } = await loadAuditContext(opts3);
const auditRequest = lockfileToAuditRequest(lockfile, { envLockfile, include });
const packages = Object.entries(auditRequest.request).flatMap(([name, versions]) => versions.map((version2) => ({ name, registry: pickRegistryForPackage(opts3.registries, name), version: version2 })));
if (packages.length === 0) {
throw new PnpmError("AUDIT_NO_PACKAGES", "No installed packages found to audit");
}
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri);
const networkOptions = createAuditNetworkOptions(opts3);
const result2 = await verifySignatures(packages, getAuthHeader, {
ca: networkOptions.ca,
cert: networkOptions.cert,
configByUri: networkOptions.configByUri,
httpProxy: networkOptions.httpProxy,
httpsProxy: networkOptions.httpsProxy,
key: networkOptions.key,
localAddress: networkOptions.localAddress,
maxSockets: networkOptions.maxSockets,
networkConcurrency: opts3.networkConcurrency,
noProxy: networkOptions.noProxy,
retry: networkOptions.retry,
strictSsl: networkOptions.strictSsl,
timeout: networkOptions.fetchTimeout
});
return {
exitCode: result2.invalid.length > 0 || result2.missing.length > 0 ? 1 : 0,
output: opts3.json ? JSON.stringify(result2, null, 2) : renderSignatureVerificationResult(result2)
};
}
function renderSignatureVerificationResult(result2) {
const lines = [];
lines.push(`audited ${result2.audited} package${result2.audited === 1 ? "" : "s"}`);
lines.push("");
if (result2.verified > 0) {
lines.push(`${result2.verified} package${result2.verified === 1 ? " has a" : "s have"} ${source_default.bold("verified")} registry signature${result2.verified === 1 ? "" : "s"}`);
lines.push("");
}
if (result2.missing.length > 0) {
lines.push(`${result2.missing.length} package${result2.missing.length === 1 ? " is" : "s are"} ${source_default.redBright("missing")} registry signature${result2.missing.length === 1 ? "" : "s"} but the registry is providing signing keys:`);
lines.push("");
lines.push((0, import_table4.table)(result2.missing.map(({ name, registry, version: version2 }) => [source_default.red(`${name}@${version2}`), registry]), TABLE_OPTIONS));
lines.push("");
}
if (result2.invalid.length > 0) {
lines.push(`${result2.invalid.length} package${result2.invalid.length === 1 ? " has an" : "s have"} ${source_default.redBright("invalid")} registry signature${result2.invalid.length === 1 ? "" : "s"}:`);
lines.push("");
lines.push((0, import_table4.table)(result2.invalid.map(({ name, reason, registry, version: version2 }) => [source_default.red(`${name}@${version2}`), registry, reason ?? "Invalid registry signature"]), TABLE_OPTIONS));
lines.push("");
lines.push(result2.invalid.length === 1 ? "Someone might have tampered with this package since it was published on the registry!" : "Someone might have tampered with these packages since they were published on the registry!");
lines.push("");
}
if (result2.audited === 0 && result2.invalid.length === 0 && result2.missing.length === 0 && result2.verified === 0) {
lines.push("No dependencies were installed from a registry with signing keys");
lines.push("");
}
return lines.join("\n");
}
var import_table4;
var init_signatures = __esm({
"../deps/compliance/commands/lib/audit/signatures.js"() {
"use strict";
init_lib41();
init_lib28();
init_lib150();
init_lib136();
init_lib2();
init_lib52();
import_table4 = __toESM(require_src2(), 1);
init_source();
init_auditContext();
}
});
// ../deps/compliance/commands/lib/audit/audit.js
var audit_exports = {};
__export(audit_exports, {
cliOptionsTypes: () => cliOptionsTypes20,
commandNames: () => commandNames21,
formatFixWithUpdateOutput: () => formatFixWithUpdateOutput,
handler: () => handler21,
help: () => help21,
rcOptionsTypes: () => rcOptionsTypes21,
recursiveByDefault: () => recursiveByDefault5,
shorthands: () => shorthands5
});
function rcOptionsTypes21() {
return {
...update_exports.rcOptionsTypes(),
...pick_default([
"dev",
"json",
"only",
"optional",
"production",
"registry"
], types2),
"audit-level": ["info", "low", "moderate", "high", "critical"],
// For fix, use String instead of a list of allowed string values.
// Otherwise, an unexpected value will get coerced to true because of the Boolean type.
fix: [String, Boolean],
"ignore-registry-errors": Boolean,
ignore: [String, Array],
"ignore-unfixable": Boolean
};
}
function cliOptionsTypes20() {
return {
...pick_default([
"recursive",
"workspace"
], update_exports.cliOptionsTypes()),
...rcOptionsTypes21(),
interactive: Boolean
};
}
function help21() {
return renderHelp({
description: "Checks for known security issues with the installed packages.",
descriptionLists: [
{
title: "Commands",
list: [
{
description: "Verify ECDSA registry signatures for installed packages from registries that provide signing keys at /-/npm/v1/keys.",
name: "signatures"
}
]
},
{
title: "Options",
list: [
{
description: 'Fix the audited vulnerabilities using the specified method: "override" or "update". "override" adds overrides to the package.json file in order to force non-vulnerable versions of the dependencies. "update" attempts to update the vulnerable packages in the lockfile to non-vulnerable versions. If no method is specified, "override" is used by default.',
name: "--fix [method]"
},
{
description: "Output audit report in JSON format",
name: "--json"
},
{
description: "Only print advisories with severity greater than or equal to one of the following: info|low|moderate|high|critical. Default: low",
name: "--audit-level <severity>"
},
{
description: 'Only audit "devDependencies"',
name: "--dev",
shortAlias: "-D"
},
{
description: 'Only audit "dependencies" and "optionalDependencies"',
name: "--prod",
shortAlias: "-P"
},
{
description: `Don't audit "optionalDependencies"`,
name: "--no-optional"
},
{
description: "Use exit code 0 if the registry responds with an error. Useful when audit checks are used in CI. A build should not fail because the registry has issues.",
name: "--ignore-registry-errors"
},
{
description: "Ignore a vulnerability by its GitHub advisory ID (e.g. GHSA-xxxx-xxxx-xxxx)",
name: "--ignore <vulnerability>"
},
{
description: "Ignore all vulnerabilities for which no fix exists",
name: "--ignore-unfixable"
},
{
description: "Show vulnerabilities and select which ones to fix interactively",
name: "--interactive",
shortAlias: "-i"
}
]
}
],
url: docsUrl("audit"),
usages: ["pnpm audit [options]", "pnpm audit signatures [options]"]
});
}
async function handler21(opts3, params = []) {
if (params.length > 0) {
if (params[0] === "signatures") {
if (params.length > 1) {
throw new PnpmError("AUDIT_UNKNOWN_SUBCOMMAND", `Unknown audit subcommand: ${params.slice(0, 2).join(" ")}`);
}
return auditSignatures(opts3);
}
throw new PnpmError("AUDIT_UNKNOWN_SUBCOMMAND", `Unknown audit subcommand: ${params[0]}`);
}
const { envLockfile, include, lockfile } = await loadAuditContext(opts3);
const networkOptions = createAuditNetworkOptions(opts3);
let auditReport;
const getAuthHeader = createGetAuthHeaderByURI(opts3.configByUri);
try {
auditReport = await audit(lockfile, getAuthHeader, {
dispatcherOptions: {
ca: networkOptions.ca,
cert: networkOptions.cert,
httpProxy: networkOptions.httpProxy,
httpsProxy: networkOptions.httpsProxy,
key: networkOptions.key,
localAddress: networkOptions.localAddress,
maxSockets: networkOptions.maxSockets,
noProxy: networkOptions.noProxy,
strictSsl: networkOptions.strictSsl,
timeout: networkOptions.fetchTimeout
},
envLockfile,
include,
registry: opts3.registries.default,
retry: networkOptions.retry,
timeout: networkOptions.fetchTimeout
});
} catch (err2) {
if (opts3.ignoreRegistryErrors) {
return {
exitCode: 0,
output: err2.message
};
}
throw err2;
}
let fixMethod;
if (opts3.fix === "update" || opts3.fix === "override") {
fixMethod = opts3.fix;
} else if (opts3.fix === true || opts3.interactive && !opts3.fix) {
fixMethod = DEFAULT_FIX_METHOD;
} else if (!opts3.fix) {
fixMethod = void 0;
} else {
throw new PnpmError("INVALID_FIX_OPTION", `Invalid value for --fix: ${opts3.fix}. Should be one of "override" or "update"`);
}
if (fixMethod != null) {
let filteredAuditReport = {
...auditReport,
advisories: filterAdvisoriesForFix(auditReport.advisories, opts3)
};
if (opts3.interactive) {
filteredAuditReport = await interactiveAuditFix(filteredAuditReport);
}
if (fixMethod === "update") {
const result2 = await fixWithUpdate(filteredAuditReport, { ...opts3, include });
let output3 = formatFixWithUpdateOutput(result2, filteredAuditReport);
if (result2.addedAgeExcludes.length > 0) {
output3 += `
${result2.addedAgeExcludes.length} entries were added to minimumReleaseAgeExclude to allow installing the patched versions:
${result2.addedAgeExcludes.join("\n")}
`;
}
return {
exitCode: result2.remaining.length > 0 ? 1 : 0,
output: output3
};
}
const { vulnOverrides, addedAgeExcludes } = await fix(filteredAuditReport, opts3);
if (Object.values(vulnOverrides).length === 0) {
return {
exitCode: 0,
output: "No fixes were made"
};
}
let output2 = `${Object.values(vulnOverrides).length} overrides were added to pnpm-workspace.yaml to fix vulnerabilities.
Run "pnpm install" to apply the fixes.
The added overrides:
${JSON.stringify(vulnOverrides, null, 2)}`;
if (addedAgeExcludes.length > 0) {
output2 += `
${addedAgeExcludes.length} entries were added to minimumReleaseAgeExclude to allow installing the patched versions:
${addedAgeExcludes.join("\n")}`;
}
return {
exitCode: 0,
output: output2
};
}
if (opts3.ignore !== void 0 || opts3.ignoreUnfixable) {
const newIgnores = await ignore({
auditConfig: opts3.auditConfig,
auditReport,
ignore: opts3.ignore,
ignoreUnfixable: opts3.ignoreUnfixable === true,
dir: opts3.dir,
rootProjectManifest: opts3.rootProjectManifest,
rootProjectManifestDir: opts3.rootProjectManifestDir,
workspaceDir: opts3.workspaceDir ?? opts3.rootProjectManifestDir
});
if (newIgnores.length === 0) {
return {
exitCode: 0,
output: "No new vulnerabilities were ignored"
};
}
return {
exitCode: 0,
output: `${newIgnores.length} new vulnerabilities were ignored:
${newIgnores.join("\n")}`
};
}
const vulnerabilities = auditReport.metadata.vulnerabilities;
const ignoredVulnerabilities = {
info: 0,
low: 0,
moderate: 0,
high: 0,
critical: 0
};
const totalVulnerabilityCount = Object.values(vulnerabilities).reduce((sum, vulnerabilitiesCount) => sum + vulnerabilitiesCount, 0);
const ignoreGhsas = opts3.auditConfig?.ignoreGhsas;
if (ignoreGhsas?.length) {
const ignoreSet = new Set(ignoreGhsas.map(normalizeGhsaId));
auditReport.advisories = pickBy_default(({ github_advisory_id: githubAdvisoryId, severity }) => {
if (!ignoreSet.has(normalizeGhsaId(githubAdvisoryId))) {
return true;
}
ignoredVulnerabilities[severity] += 1;
return false;
}, auditReport.advisories);
}
const auditLevel = AUDIT_LEVEL_NUMBER[opts3.auditLevel ?? "low"];
const advisoryEntries = Object.entries(auditReport.advisories).filter(([, { severity }]) => AUDIT_LEVEL_NUMBER[severity] >= auditLevel);
if (opts3.json) {
const advisories = Object.fromEntries(advisoryEntries);
return {
exitCode: Object.keys(advisories).length > 0 ? 1 : 0,
output: JSON.stringify({ ...auditReport, advisories }, null, 2)
};
}
let output = "";
advisoryEntries.sort(([, a1], [, a2]) => AUDIT_LEVEL_NUMBER[a2.severity] - AUDIT_LEVEL_NUMBER[a1.severity]);
for (const [, advisory] of advisoryEntries) {
const paths3 = advisory.findings.map(({ paths: paths4 }) => paths4).flat();
output += (0, import_table5.table)([
[AUDIT_COLOR2[advisory.severity](advisory.severity), source_default.bold(advisory.title)],
["Package", advisory.module_name],
["Vulnerable versions", advisory.vulnerable_versions],
["Patched versions", advisory.patched_versions ?? "(unknown)"],
[
"Paths",
(paths3.length > MAX_PATHS_COUNT ? paths3.slice(0, MAX_PATHS_COUNT).concat([
`... Found ${paths3.length} paths, run \`pnpm why ${advisory.module_name}\` for more information`
]) : paths3).join("\n\n")
],
["More info", advisory.url]
], AUDIT_TABLE_OPTIONS);
}
return {
exitCode: output ? 1 : 0,
output: `${output}${reportSummary(auditReport.metadata.vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities)}`
};
}
function reportSummary(vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities) {
if (totalVulnerabilityCount === 0)
return "No known vulnerabilities found\n";
return `${source_default.red(totalVulnerabilityCount)} vulnerabilities found
Severity: ${Object.entries(vulnerabilities).filter(([_auditLevel, vulnerabilitiesCount]) => vulnerabilitiesCount > 0).map(([auditLevel, vulnerabilitiesCount]) => AUDIT_COLOR2[auditLevel](`${vulnerabilitiesCount} ${auditLevel}${ignoredVulnerabilities[auditLevel] > 0 ? ` (${ignoredVulnerabilities[auditLevel]} ignored)` : ""}`)).join(" | ")}`;
}
function formatFixWithUpdateOutput(result2, auditReport) {
const output = [];
function sortBySeverity(ids) {
return ids.map((id) => ({ id, advisory: auditReport.advisories[id] })).sort((a2, b) => {
const aValue = a2.advisory ? AUDIT_LEVEL_NUMBER[a2.advisory.severity] : -1;
const bValue = b.advisory ? AUDIT_LEVEL_NUMBER[b.advisory.severity] : -1;
return bValue - aValue;
});
}
const fixed = sortBySeverity(result2.fixed);
const remaining = sortBySeverity(result2.remaining);
const fixedString = fixed.length === 1 ? "vulnerability was fixed" : "vulnerabilities were fixed";
const remainingString = remaining.length === 1 ? "vulnerability remains" : "vulnerabilities remain";
output.push(`${source_default.green(fixed.length)} ${fixedString}, ${source_default.red(remaining.length)} ${remainingString}.`);
function summarizeAdvisory(fixed2, { id, advisory }) {
if (advisory) {
const color = fixed2 ? source_default.green : AUDIT_COLOR2[advisory.severity];
return `- (${color(advisory.severity)}) "${color(advisory.title)}" ${source_default.blue(advisory.module_name)}`;
}
return `- Advisory with ID ${id} (details not found in the audit report)`;
}
if (fixed.length > 0) {
output.push("\nThe fixed vulnerabilities are:");
for (const f of fixed) {
output.push(summarizeAdvisory(true, f));
}
}
if (remaining.length > 0) {
output.push("\nThe remaining vulnerabilities are:");
for (const r of remaining) {
output.push(summarizeAdvisory(false, r));
}
}
output.push("");
return output.join("\n");
}
function filterAdvisoriesForFix(advisories, opts3) {
const auditLevel = AUDIT_LEVEL_NUMBER[opts3.auditLevel ?? "low"];
const ignoreGhsas = opts3.auditConfig?.ignoreGhsas;
const ignoreGhsaSet = ignoreGhsas?.length ? new Set(ignoreGhsas.map(normalizeGhsaId)) : void 0;
return Object.fromEntries(Object.entries(advisories).filter(([, { severity, github_advisory_id: ghsaId }]) => {
if (AUDIT_LEVEL_NUMBER[severity] < auditLevel)
return false;
if (ignoreGhsaSet && ghsaId && ignoreGhsaSet.has(normalizeGhsaId(ghsaId)))
return false;
return true;
}));
}
async function interactiveAuditFix(auditReport) {
const choiceGroups = getAuditFixChoices(Object.values(auditReport.advisories));
if (choiceGroups.length === 0) {
return auditReport;
}
const flatChoices = [];
for (const group of choiceGroups) {
flatChoices.push(new Separator(source_default.bold(`\u2500\u2500 ${group.message} \u2500\u2500`)));
for (const choice of group.choices) {
if (choice.disabled) {
flatChoices.push(new Separator(` ${choice.message ?? choice.name}`));
} else {
flatChoices.push({
name: choice.message,
value: choice.value,
// Same shape as the update prompt: `name` is the rendered table
// row, but the post-submission line uses `short` per choice.
// Without this, every selected row's full table dump is comma-
// joined back to stdout.
short: choice.value
});
}
}
}
const message = `Choose which vulnerabilities to fix (Press ${source_default.cyan("<space>")} to select, ${source_default.cyan("<a>")} to toggle all, ${source_default.cyan("<i>")} to invert selection)
Enter to start fixing. Ctrl-c to cancel.`;
let selectedKeys;
try {
selectedKeys = await dist_default4({
choices: flatChoices,
pageSize: interactivePromptPageSize(),
message,
required: true,
validate: (values) => {
if (values.length === 0) {
return "You must choose at least one vulnerability.";
}
return true;
},
theme: {
icon: { checked: "\u25CF", unchecked: "\u25CB", cursor: "\u276F" },
style: {
highlight: (text) => text
},
keybindings: ["vim"]
}
});
} catch (err2) {
if (err2 instanceof Error && err2.name === "ExitPromptError") {
globalInfo("Audit fix canceled");
process.exit(0);
}
throw err2;
}
const selectedKeySet = new Set(selectedKeys);
const selectedAdvisories = Object.fromEntries(Object.entries(auditReport.advisories).filter(([, advisory]) => selectedKeySet.has(`${advisory.module_name}@${advisory.vulnerable_versions}`)));
return { ...auditReport, advisories: selectedAdvisories };
}
var import_table5, AUDIT_LEVEL_NUMBER, AUDIT_COLOR2, AUDIT_TABLE_OPTIONS, MAX_PATHS_COUNT, shorthands5, commandNames21, recursiveByDefault5, DEFAULT_FIX_METHOD;
var init_audit = __esm({
"../deps/compliance/commands/lib/audit/audit.js"() {
"use strict";
init_dist14();
init_lib41();
init_lib64();
init_lib150();
init_lib2();
init_lib142();
init_lib3();
init_lib52();
import_table5 = __toESM(require_src2(), 1);
init_source();
init_es();
init_lib66();
init_auditContext();
init_fix();
init_fixWithUpdate();
init_getAuditFixChoices();
init_ignore();
init_signatures();
AUDIT_LEVEL_NUMBER = {
info: 0,
low: 1,
moderate: 2,
high: 3,
critical: 4
};
AUDIT_COLOR2 = {
info: source_default.dim,
low: source_default.bold,
moderate: source_default.bold.yellow,
high: source_default.bold.red,
critical: source_default.bold.red
};
AUDIT_TABLE_OPTIONS = {
...TABLE_OPTIONS,
columns: {
1: {
width: 54,
// = table width of 80
wrapWord: true
}
}
};
MAX_PATHS_COUNT = 3;
shorthands5 = {
D: "--dev",
P: "--production"
};
commandNames21 = ["audit"];
recursiveByDefault5 = true;
DEFAULT_FIX_METHOD = "override";
}
});
// ../deps/compliance/commands/lib/audit/index.js
var init_audit2 = __esm({
"../deps/compliance/commands/lib/audit/index.js"() {
"use strict";
init_audit();
}
});
// ../deps/compliance/license-resolver/lib/parseLicenseFromManifest.js
function parseLicenseFromManifest(manifest) {
return parseLicenseField(manifest.license) ?? parseLicenseField(manifest.licenses);
}
function parseLicenseField(field) {
if (typeof field === "string")
return field || void 0;
if (Array.isArray(field)) {
const types3 = field.map(extractLicenseType).filter((t2) => !!t2);
if (types3.length === 0)
return void 0;
if (types3.length === 1)
return types3[0];
return `(${types3.join(" OR ")})`;
}
if (field && typeof field === "object") {
return extractLicenseType(field);
}
return void 0;
}
function extractLicenseType(entry) {
if (typeof entry === "string")
return entry || void 0;
if (!entry || typeof entry !== "object")
return void 0;
const { type: type4, name } = entry;
if (typeof type4 === "string" && type4)
return type4;
if (typeof name === "string" && name)
return name;
return void 0;
}
var init_parseLicenseFromManifest = __esm({
"../deps/compliance/license-resolver/lib/parseLicenseFromManifest.js"() {
"use strict";
}
});
// ../deps/compliance/license-resolver/lib/index.js
import { access, readFile as readFile2 } from "node:fs/promises";
import path168 from "node:path";
function isSpdxLicenseExpression(value) {
if (!value)
return false;
return value.replace(/^\(|\)$/g, "").split(/\s+OR\s+/i).every((id) => SPDX_LICENSE_IDS.has(id.trim()));
}
async function resolveLicense({ manifest, files }) {
const manifestLicense = parseLicenseFromManifest(manifest);
if (manifestLicense && !/see license/i.test(manifestLicense)) {
return { name: manifestLicense };
}
const licenseFileName = LICENSE_FILES.find((f) => files.has(f));
if (licenseFileName) {
const licenseFilePath = files.get(licenseFileName);
const licenseContent = (await readFile2(licenseFilePath)).toString("utf-8");
const name = detectLicenseFromText(licenseContent) ?? "Unknown";
return { name, licenseFile: licenseContent };
}
return manifestLicense ? { name: manifestLicense } : void 0;
}
async function resolveLicenseFromDir({ manifest, dir }) {
const files = /* @__PURE__ */ new Map();
await Promise.all(LICENSE_FILES.map(async (name) => {
const filePath = path168.join(dir, name);
try {
await access(filePath);
files.set(name, filePath);
} catch {
}
}));
return resolveLicense({ manifest, files });
}
function detectLicenseFromText(content) {
if (!content)
return void 0;
const match = content.match(LICENSE_NAME_PATTERN);
if (!match)
return void 0;
return [...new Set(match)].join(" OR ");
}
function escapeRegExp2(value) {
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
var LICENSE_FILES, SPDX_LICENSE_IDS, LICENSE_NAMES, LICENSE_NAME_PATTERN;
var init_lib151 = __esm({
"../deps/compliance/license-resolver/lib/index.js"() {
"use strict";
init_parseLicenseFromManifest();
init_parseLicenseFromManifest();
LICENSE_FILES = [
"LICENSE",
"LICENCE",
"LICENSE.md",
"LICENCE.md",
"LICENSE.txt",
"LICENCE.txt",
"MIT-LICENSE.txt",
"MIT-LICENSE.md",
"MIT-LICENSE"
];
SPDX_LICENSE_IDS = /* @__PURE__ */ new Set([
"Apache-1.1",
"Apache-2.0",
"BSD-4-Clause",
"BSD-3-Clause",
"BSD-2-Clause",
"0BSD",
"CC0-1.0",
"CDDL-1.0",
"EPL-1.0",
"GPL-2.0-only",
"GPL-3.0-only",
"ISC",
"LGPL-3.0-only",
"LGPL-2.1-only",
"MIT",
"MPL-1.1",
"MPL-2.0",
"OFL-1.1",
"PSF-2.0",
"WTFPL",
"Zlib"
]);
LICENSE_NAMES = [
"Apache1_1",
"Apache-1.1",
"Apache 1.1",
"Apache2",
"Apache-2.0",
"Apache 2.0",
"BSD",
"BSD-4-Clause",
"CC01",
"CC0-1.0",
"CC0 1.0",
"CDDL1",
"CDDL-1.0",
"Common Development and Distribution License 1.0",
"EPL1",
"EPL-1.0",
"Eclipse Public License 1.0",
"GPLv2",
"GPL-2.0-only",
"GPLv3",
"GPL-3.0-only",
"ISC",
"LGPL",
"LGPL-3.0-only",
"LGPL2_1",
"LGPL-2.1-only",
"MIT",
"MPL1_1",
"MPL-1.1",
"Mozilla Public License 1.1",
"MPL2",
"MPL-2.0",
"Mozilla Public License 2.0",
"NewBSD",
"BSD-3-Clause",
"New BSD",
"OFL",
"OFL-1.1",
"SIL OPEN FONT LICENSE Version 1.1",
"Python",
"PSF-2.0",
"Python Software Foundation License",
"Ruby",
"SimplifiedBSD",
"BSD-2-Clause",
"Simplified BSD",
"WTFPL",
"0BSD",
"BSD Zero Clause License",
"Zlib",
"zlib/libpng license"
];
LICENSE_NAME_PATTERN = new RegExp(`\\b(${LICENSE_NAMES.map(escapeRegExp2).join("|")})\\b`, "gi");
}
});
// ../store/pkg-finder/lib/index.js
import path169 from "node:path";
async function readPackageFileMap(packageResolution, packageId, opts3) {
if (packageResolution.type === "directory") {
const localInfo = await fetchFromDir(path169.join(opts3.lockfileDir, packageResolution.directory), {});
return localInfo.filesMap;
}
let pkgIndexFilePath;
if (!packageResolution.type && "tarball" in packageResolution && packageResolution.tarball || packageResolution.type === "git") {
pkgIndexFilePath = pickStoreIndexKey(packageResolution, packageId, { built: true });
} else {
return void 0;
}
const pkgFilesIndex = opts3.storeIndex.get(pkgIndexFilePath);
if (!pkgFilesIndex) {
const err2 = new Error(`ENOENT: package index not found for '${pkgIndexFilePath}'`);
err2.code = "ENOENT";
err2.path = pkgIndexFilePath;
throw err2;
}
const { files: indexFiles } = pkgFilesIndex;
const files = /* @__PURE__ */ new Map();
for (const [name, info] of indexFiles) {
files.set(name, getFilePathByModeInCafs(opts3.storeDir, info.digest, info.mode));
}
return files;
}
var init_lib152 = __esm({
"../store/pkg-finder/lib/index.js"() {
"use strict";
init_lib19();
init_lib83();
init_lib30();
}
});
// ../deps/compliance/license-scanner/lib/getPkgInfo.js
import path170 from "node:path";
async function getPkgInfo3(pkg, opts3) {
const packageResolution = pkgSnapshotToResolution(pkg.depPath, pkg.snapshot, pkg.registries);
let files;
try {
const result2 = await readPackageFileMap(packageResolution, pkg.id, {
storeDir: opts3.storeDir,
storeIndex: opts3.storeIndex,
lockfileDir: opts3.dir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength
});
if (!result2) {
throw new PnpmError("UNSUPPORTED_PACKAGE_TYPE", `Unsupported package resolution type for ${pkg.id}`);
}
files = result2;
} catch (err2) {
if (err2.code === "ENOENT") {
throw new PnpmError("MISSING_PACKAGE_INDEX_FILE", `Failed to find package index file for ${pkg.id} (at ${err2.path}), please consider running 'pnpm install'`);
}
throw err2;
}
const manifestPath = files.get("package.json");
if (!manifestPath) {
throw new PnpmError("MISSING_PACKAGE_INDEX_FILE", `Failed to find package.json in index for ${pkg.id}, please consider running 'pnpm install'`);
}
const manifest = await readPackageJson(manifestPath);
const modulesDir = opts3.modulesDir ?? "node_modules";
const virtualStoreDir = pathAbsolute(opts3.virtualStoreDir ?? path170.join(modulesDir, ".pnpm"), opts3.dir);
const packageModulePath = path170.join(virtualStoreDir, depPathToFilename(pkg.depPath, opts3.virtualStoreDirMaxLength), modulesDir, manifest.name);
const licenseInfo = await resolveLicense({ manifest, files });
const packageInfo = {
from: manifest.name,
path: packageModulePath,
name: manifest.name,
version: manifest.version,
description: manifest.description,
license: licenseInfo?.name ?? "Unknown",
licenseContents: licenseInfo?.licenseFile,
author: (manifest.author && (typeof manifest.author === "string" ? manifest.author : manifest.author.name)) ?? void 0,
homepage: manifest.homepage,
repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0
};
return packageInfo;
}
var limitPkgReads2;
var init_getPkgInfo3 = __esm({
"../deps/compliance/license-scanner/lib/getPkgInfo.js"() {
"use strict";
init_lib151();
init_lib68();
init_lib2();
init_lib73();
init_lib5();
init_lib152();
init_p_limit();
init_path_absolute();
limitPkgReads2 = pLimit(4);
}
});
// ../deps/compliance/license-scanner/lib/lockfileToLicenseNodeTree.js
async function lockfileToLicenseNode(step2, options) {
const dependencies = Object.fromEntries((await Promise.all(step2.dependencies.map(async (dependency) => {
const { depPath, pkgSnapshot, next: next2 } = dependency;
const { name, version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
const packageInstallable = packageIsInstallable(pkgSnapshot.id ?? depPath, {
name,
version: version2,
cpu: pkgSnapshot.cpu,
os: pkgSnapshot.os,
libc: pkgSnapshot.libc
}, {
optional: pkgSnapshot.optional ?? false,
lockfileDir: options.dir,
supportedArchitectures: options.supportedArchitectures
});
if (!packageInstallable) {
return null;
}
const packageInfo = await getPkgInfo3({
id: packageIdFromSnapshot(depPath, pkgSnapshot),
name,
version: version2,
depPath,
snapshot: pkgSnapshot,
registries: options.registries
}, {
storeDir: options.storeDir,
storeIndex: options.storeIndex,
virtualStoreDir: options.virtualStoreDir,
virtualStoreDirMaxLength: options.virtualStoreDirMaxLength,
dir: options.dir,
modulesDir: options.modulesDir ?? "node_modules"
});
const subdeps = await lockfileToLicenseNode(next2(), options);
const dep = {
name,
dev: options.depTypes[depPath] === DepType.DevOnly,
integrity: pkgSnapshot.resolution.integrity,
version: version2,
license: packageInfo.license,
licenseContents: packageInfo.licenseContents,
author: packageInfo.author,
homepage: packageInfo.homepage,
description: packageInfo.description,
repository: packageInfo.repository,
dir: packageInfo.path
};
if (Object.keys(subdeps).length > 0) {
dep.dependencies = subdeps;
dep.requires = toRequires(subdeps);
}
return [name, dep];
}))).filter(Boolean));
return dependencies;
}
async function lockfileToLicenseNodeTree(lockfile, opts3) {
const importerWalkers = lockfileWalkerGroupImporterSteps(lockfile, opts3.includedImporterIds ?? Object.keys(lockfile.importers), { include: opts3?.include });
const depTypes = detectDepTypes(lockfile);
const storeIndex = new StoreIndex(opts3.storeDir);
const dependencies = Object.fromEntries(await Promise.all(importerWalkers.map(async (importerWalker) => {
const importerDeps = await lockfileToLicenseNode(importerWalker.step, {
storeDir: opts3.storeDir,
storeIndex,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
modulesDir: opts3.modulesDir,
dir: opts3.dir,
registries: opts3.registries,
supportedArchitectures: opts3.supportedArchitectures,
depTypes
});
return [importerWalker.importerId, {
dependencies: importerDeps,
requires: toRequires(importerDeps),
version: "0.0.0",
license: void 0
}];
})));
storeIndex.close();
const licenseNodeTree = {
name: void 0,
version: void 0,
dependencies,
dev: false,
integrity: void 0,
requires: toRequires(dependencies)
};
return licenseNodeTree;
}
function toRequires(licenseNodesByDepName) {
return map_default((licenseNode) => licenseNode.version, licenseNodesByDepName);
}
var init_lockfileToLicenseNodeTree = __esm({
"../deps/compliance/license-scanner/lib/lockfileToLicenseNodeTree.js"() {
"use strict";
init_lib40();
init_lib127();
init_lib73();
init_lib90();
init_lib30();
init_es();
init_getPkgInfo3();
}
});
// ../deps/compliance/license-scanner/lib/licenses.js
function getDependenciesFromLicenseNode(licenseNode) {
if (!licenseNode.dependencies) {
return [];
}
let dependencies = [];
for (const dependencyName in licenseNode.dependencies) {
const dependencyNode = licenseNode.dependencies[dependencyName];
const dependenciesOfNode = getDependenciesFromLicenseNode(dependencyNode);
dependencies = [
...dependencies,
...dependenciesOfNode,
{
belongsTo: dependencyNode.dev ? "devDependencies" : "dependencies",
version: dependencyNode.version,
name: dependencyName,
license: dependencyNode.license,
licenseContents: dependencyNode.licenseContents,
author: dependencyNode.author,
homepage: dependencyNode.homepage,
description: dependencyNode.description,
repository: dependencyNode.repository,
path: dependencyNode.dir
}
];
}
return dependencies;
}
async function findDependencyLicenses(opts3) {
if (opts3.wantedLockfile == null) {
throw new PnpmError("LICENSES_NO_LOCKFILE", `No lockfile in directory "${opts3.lockfileDir}". Run \`pnpm install\` to generate one.`);
}
const depTypes = detectDepTypes(opts3.wantedLockfile);
const licenseNodeTree = await lockfileToLicenseNodeTree(opts3.wantedLockfile, {
dir: opts3.lockfileDir,
modulesDir: opts3.modulesDir,
storeDir: opts3.storeDir,
virtualStoreDir: opts3.virtualStoreDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
include: opts3.include,
registries: opts3.registries,
includedImporterIds: opts3.includedImporterIds,
supportedArchitectures: opts3.supportedArchitectures,
depTypes
});
const licensePackages = /* @__PURE__ */ new Map();
for (const dependencyName in licenseNodeTree.dependencies) {
const licenseNode = licenseNodeTree.dependencies[dependencyName];
const dependenciesOfNode = getDependenciesFromLicenseNode(licenseNode);
for (const dependencyNode of dependenciesOfNode) {
const mapKey = `${dependencyNode.name}@${dependencyNode.version}`;
const existingVersion = licensePackages.get(mapKey)?.version;
if (existingVersion === void 0) {
licensePackages.set(mapKey, dependencyNode);
}
}
}
const projectDependencies = Array.from(licensePackages.values());
return Array.from(projectDependencies).sort((pkg1, pkg2) => pkg1.name.localeCompare(pkg2.name) || import_semver48.default.compare(pkg1.version, pkg2.version));
}
var import_semver48;
var init_licenses = __esm({
"../deps/compliance/license-scanner/lib/licenses.js"() {
"use strict";
init_lib2();
init_lib127();
import_semver48 = __toESM(require_semver2(), 1);
init_lockfileToLicenseNodeTree();
}
});
// ../deps/compliance/license-scanner/lib/index.js
var init_lib153 = __esm({
"../deps/compliance/license-scanner/lib/index.js"() {
"use strict";
init_licenses();
}
});
// ../deps/compliance/commands/lib/licenses/outputRenderer.js
function sortLicensesPackages(licensePackages) {
return sortWith_default([
(o1, o2) => o1.license.localeCompare(o2.license)
], licensePackages);
}
function renderPackageName({ belongsTo, name: packageName }) {
switch (belongsTo) {
case "devDependencies":
return `${packageName} ${source_default.dim("(dev)")}`;
case "optionalDependencies":
return `${packageName} ${source_default.dim("(optional)")}`;
default:
return packageName;
}
}
function renderPackageLicense({ license }) {
const output = license ?? "Unknown";
return output;
}
function renderDetails(licensePackage) {
const outputs = [];
if (licensePackage.author) {
outputs.push(licensePackage.author);
}
if (licensePackage.description) {
outputs.push(licensePackage.description);
}
if (licensePackage.homepage) {
outputs.push(licensePackage.homepage);
}
return outputs.join("\n");
}
function renderLicences(licensesMap, opts3) {
if (opts3.json) {
return { output: renderLicensesJson(licensesMap), exitCode: 0 };
}
return { output: renderLicensesTable(licensesMap, opts3), exitCode: 0 };
}
function renderLicensesJson(licensePackages) {
const data = licensePackages.map((item) => pick_default(["name", "version", "path", "license", "author", "homepage", "description"], item));
const output = {};
const groupedByLicense = groupBy_default((item) => item.license, data);
for (const license in groupedByLicense) {
const outputList = [];
const groupedByName = groupBy_default((item) => item.name, groupedByLicense[license] ?? []);
for (const inputList of Object.values(groupedByName)) {
if (inputList == null)
continue;
inputList.sort((a2, b) => import_semver49.default.compare(a2.version, b.version));
const versions = inputList.map((item) => item.version);
const paths3 = inputList.map((item) => item.path ?? null);
const lastInputItem = inputList.at(-1);
const outputItem = {
name: lastInputItem.name,
versions,
paths: paths3,
...omit_default(["name", "version", "path"], lastInputItem)
};
outputList.push(outputItem);
}
output[license] = outputList;
}
return JSON.stringify(output, null, 2);
}
function renderLicensesTable(licensePackages, opts3) {
const columnNames = ["Package", "License"];
const columnFns = [renderPackageName, renderPackageLicense];
if (opts3.long) {
columnNames.push("Details");
columnFns.push(renderDetails);
}
for (let i4 = 0; i4 < columnNames.length; i4++)
columnNames[i4] = source_default.blueBright(columnNames[i4]);
const data = [
columnNames,
...deduplicateLicensesPackages(sortLicensesPackages(licensePackages)).map((licensePkg) => columnFns.map((fn) => fn(licensePkg)))
];
let detailsColumnMaxWidth = 40;
let packageColumnMaxWidth = 0;
let licenseColumnMaxWidth = 0;
if (opts3.long) {
detailsColumnMaxWidth = licensePackages.reduce((max4, pkg) => Math.max(max4, pkg.homepage?.length ?? 0), 0);
for (let i4 = 1; i4 < data.length; i4++) {
const row = data[i4];
const detailsLineCount = row[2].split("\n").length;
const linesNumber = Math.max(0, detailsLineCount - 1);
row[0] += "\n ".repeat(linesNumber);
row[1] += "\n ".repeat(linesNumber);
packageColumnMaxWidth = Math.max(packageColumnMaxWidth, row[0].length);
licenseColumnMaxWidth = Math.max(licenseColumnMaxWidth, row[1].length);
}
const remainColumnWidth = process.stdout.columns - packageColumnMaxWidth - licenseColumnMaxWidth - 20;
if (detailsColumnMaxWidth > remainColumnWidth) {
detailsColumnMaxWidth = remainColumnWidth;
}
detailsColumnMaxWidth = Math.max(detailsColumnMaxWidth, 40);
}
try {
return (0, import_table6.table)(data, {
...TABLE_OPTIONS,
columns: {
...TABLE_OPTIONS.columns,
2: {
width: detailsColumnMaxWidth,
wrapWord: true
}
}
});
} catch {
return (0, import_table6.table)(data, TABLE_OPTIONS);
}
}
function deduplicateLicensesPackages(licensePackages) {
const result2 = [];
const rowEqual = (a2, b) => a2.name === b.name && a2.license === b.license;
const hasRow = (row) => result2.some((x3) => rowEqual(row, x3));
for (const row of licensePackages.reverse()) {
if (!hasRow(row))
result2.unshift(row);
}
return result2;
}
var import_table6, import_semver49;
var init_outputRenderer = __esm({
"../deps/compliance/commands/lib/licenses/outputRenderer.js"() {
"use strict";
init_lib41();
import_table6 = __toESM(require_src2(), 1);
init_source();
init_es();
import_semver49 = __toESM(require_semver2(), 1);
}
});
// ../deps/compliance/commands/lib/licenses/licensesList.js
import path171 from "node:path";
async function licensesList(opts3) {
const lockfile = await readWantedLockfile(opts3.lockfileDir ?? opts3.dir, {
ignoreIncompatible: true
});
if (lockfile == null) {
throw new PnpmError("LICENSES_NO_LOCKFILE", `No ${WANTED_LOCKFILE} found: Cannot check a project without a lockfile`);
}
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
const manifest = await readProjectManifestOnly2(opts3.dir);
const includedImporterIds = opts3.selectedProjectsGraph ? Object.keys(opts3.selectedProjectsGraph).map((path236) => getLockfileImporterId(opts3.lockfileDir ?? opts3.dir, path236)) : void 0;
const storeDir = await getStorePath({
pkgRoot: opts3.dir,
storePath: opts3.storeDir,
pnpmHomeDir: opts3.pnpmHomeDir
});
const licensePackages = await findDependencyLicenses({
include,
lockfileDir: opts3.lockfileDir ?? opts3.dir,
storeDir,
virtualStoreDir: opts3.virtualStoreDir ?? path171.join(opts3.modulesDir ?? "node_modules", ".pnpm"),
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
modulesDir: opts3.modulesDir,
registries: opts3.registries,
wantedLockfile: lockfile,
manifest,
includedImporterIds,
supportedArchitectures: opts3.supportedArchitectures
});
if (licensePackages.length === 0)
return { output: "No licenses in packages found", exitCode: 0 };
return renderLicences(licensePackages, opts3);
}
var init_licensesList = __esm({
"../deps/compliance/commands/lib/licenses/licensesList.js"() {
"use strict";
init_lib41();
init_lib();
init_lib153();
init_lib2();
init_lib80();
init_lib91();
init_outputRenderer();
}
});
// ../deps/compliance/commands/lib/licenses/licenses.js
var licenses_exports = {};
__export(licenses_exports, {
cliOptionsTypes: () => cliOptionsTypes21,
commandNames: () => commandNames22,
completion: () => completion3,
handler: () => handler22,
help: () => help22,
rcOptionsTypes: () => rcOptionsTypes22,
shorthands: () => shorthands6
});
function rcOptionsTypes22() {
return {
...pick_default(["dev", "global-dir", "global", "json", "long", "optional", "production"], types2),
compatible: Boolean,
table: Boolean
};
}
function help22() {
return renderHelp({
description: "Check the licenses of the installed packages.",
descriptionLists: [
{
title: "Options",
list: [
{
description: "Show more details (such as a link to the repo) are not displayed. To display the details, pass this option.",
name: "--long"
},
{
description: "Show information in JSON format",
name: "--json"
},
{
description: 'Check only "dependencies" and "optionalDependencies"',
name: "--prod",
shortAlias: "-P"
},
{
description: 'Check only "devDependencies"',
name: "--dev",
shortAlias: "-D"
},
{
description: `Don't check "optionalDependencies"`,
name: "--no-optional"
}
]
},
FILTERING
],
url: docsUrl("licenses"),
usages: [
"pnpm licenses ls",
"pnpm licenses ls --long",
"pnpm licenses list",
"pnpm licenses list --long"
]
});
}
async function handler22(opts3, params = []) {
if (params.length === 0) {
throw new PnpmError("LICENCES_NO_SUBCOMMAND", "Please specify the subcommand", {
hint: help22()
});
}
switch (params[0]) {
case "list":
case "ls":
return licensesList(opts3);
default: {
throw new PnpmError("LICENSES_UNKNOWN_SUBCOMMAND", "This subcommand is not known");
}
}
}
var cliOptionsTypes21, shorthands6, commandNames22, completion3;
var init_licenses2 = __esm({
"../deps/compliance/commands/lib/licenses/licenses.js"() {
"use strict";
init_lib94();
init_lib41();
init_lib64();
init_lib2();
init_es();
init_lib66();
init_licensesList();
cliOptionsTypes21 = () => ({
...rcOptionsTypes22(),
recursive: Boolean
});
shorthands6 = {
D: "--dev",
P: "--production"
};
commandNames22 = ["licenses"];
completion3 = async (cliOpts) => {
return readDepNameCompletions(cliOpts.dir);
};
}
});
// ../deps/compliance/commands/lib/licenses/index.js
var init_licenses3 = __esm({
"../deps/compliance/commands/lib/licenses/index.js"() {
"use strict";
init_licenses2();
}
});
// ../deps/compliance/sbom/lib/getPkgMetadata.js
async function getPkgMetadata(depPath, snapshot, registries, opts3) {
return limitMetadataReads(() => getPkgMetadataUnclamped(depPath, snapshot, registries, opts3));
}
async function getPkgMetadataUnclamped(depPath, snapshot, registries, opts3) {
const id = packageIdFromSnapshot(depPath, snapshot);
const resolution = pkgSnapshotToResolution(depPath, snapshot, registries);
let files;
try {
const result2 = await readPackageFileMap(resolution, id, opts3);
if (!result2)
return {};
files = result2;
} catch {
return {};
}
const manifestPath = files.get("package.json");
if (!manifestPath)
return {};
const manifest = await readPackageJson(manifestPath);
return extractMetadata(manifest, files);
}
async function extractMetadata(manifest, files) {
const license = await resolveLicense({ manifest, files });
return {
license: serializableLicense(license),
description: manifest.description,
author: parseAuthorField(manifest.author),
homepage: manifest.homepage,
repository: parseRepositoryField(manifest.repository),
bugsUrl: bugsUrlFromField(manifest.bugs)
};
}
function serializableLicense(license) {
if (!license || license.name === "Unknown")
return void 0;
if (license.licenseFile && !isSpdxLicenseExpression(license.name))
return void 0;
return license.name;
}
function parseAuthorField(field) {
if (!field)
return void 0;
if (typeof field === "string")
return field;
if (typeof field === "object" && "name" in field) {
return field.name;
}
return void 0;
}
function parseRepositoryField(field) {
if (!field)
return void 0;
if (typeof field === "string")
return field;
if (typeof field === "object" && "url" in field) {
return field.url;
}
return void 0;
}
function bugsUrlFromField(field) {
let candidate;
if (typeof field === "string") {
candidate = field.trim();
} else if (field && typeof field === "object" && "url" in field) {
const value = field.url;
if (typeof value === "string")
candidate = value.trim();
}
if (!candidate)
return void 0;
let parsed;
try {
parsed = new URL(candidate);
} catch {
return void 0;
}
if (parsed.protocol !== "http:" && parsed.protocol !== "https:")
return void 0;
parsed.username = "";
parsed.password = "";
return parsed.href;
}
var limitMetadataReads;
var init_getPkgMetadata = __esm({
"../deps/compliance/sbom/lib/getPkgMetadata.js"() {
"use strict";
init_lib151();
init_lib73();
init_lib5();
init_lib152();
init_p_limit();
limitMetadataReads = pLimit(4);
}
});
// ../deps/compliance/sbom/lib/purl.js
function encodePurlName(name) {
if (name.startsWith("@")) {
return `%40${name.slice(1)}`;
}
return name;
}
function buildPurl(opts3) {
if (opts3.nonSemverVersion) {
const encodedUrl = encodeURIComponent(opts3.nonSemverVersion);
return `pkg:npm/${encodePurlName(opts3.name)}@${encodeURIComponent(opts3.version)}?vcs_url=${encodedUrl}`;
}
return `pkg:npm/${encodePurlName(opts3.name)}@${opts3.version}`;
}
var init_purl = __esm({
"../deps/compliance/sbom/lib/purl.js"() {
"use strict";
}
});
// ../deps/compliance/sbom/lib/collectComponents.js
import path172 from "node:path";
async function collectSbomComponents(opts3) {
const depTypes = detectDepTypes(opts3.lockfile);
const importerIds = opts3.includedImporterIds ?? Object.keys(opts3.lockfile.importers);
const componentsMap = /* @__PURE__ */ new Map();
const relationships = [];
const rootPurl = `pkg:npm/${encodePurlName(opts3.rootName)}@${opts3.rootVersion}`;
const workspaceDeps = opts3.resolvedWorkspaceDeps ?? (opts3.lockfileOnly ? { links: [], additionalImporterIds: [] } : resolveWorkspaceDeps(opts3.lockfile, importerIds, opts3.include));
const allImporterIds = [...importerIds, ...workspaceDeps.additionalImporterIds];
const importerWalkers = opts3.excludePeerNamesByImporter ? allImporterIds.flatMap((importerId) => lockfileWalkerGroupImporterSteps(opts3.lockfile, [importerId], { include: opts3.include })) : lockfileWalkerGroupImporterSteps(opts3.lockfile, allImporterIds, { include: opts3.include });
const importerIdSet = new Set(importerIds);
if (opts3.workspacePackages) {
const workspaceDepTypes = /* @__PURE__ */ new Map();
for (const dep of workspaceDeps.links) {
const info = opts3.workspacePackages[dep.targetImporterId];
if (!info)
continue;
const purl = buildPurl({ name: info.name, version: info.version });
const current = workspaceDepTypes.get(purl);
if (!dep.devOnly) {
workspaceDepTypes.set(purl, DepType.ProdOnly);
} else if (current === void 0) {
workspaceDepTypes.set(purl, DepType.DevOnly);
}
}
for (const dep of workspaceDeps.links) {
const info = opts3.workspacePackages[dep.targetImporterId];
if (!info)
continue;
const purl = buildPurl({ name: info.name, version: info.version });
let parentPurl;
if (importerIdSet.has(dep.sourceImporterId)) {
parentPurl = rootPurl;
} else {
const sourceInfo = opts3.workspacePackages[dep.sourceImporterId];
parentPurl = sourceInfo ? buildPurl({ name: sourceInfo.name, version: sourceInfo.version }) : rootPurl;
}
relationships.push({ from: parentPurl, to: purl });
if (!componentsMap.has(purl)) {
componentsMap.set(purl, {
name: info.name,
version: info.version,
purl,
depPath: `link:${dep.targetImporterId}`,
depType: workspaceDepTypes.get(purl) ?? DepType.ProdOnly,
license: info.license,
description: info.description,
author: info.author,
repository: info.repository
});
}
}
}
const storeIndex = !opts3.lockfileOnly && opts3.storeDir ? new StoreIndex(opts3.storeDir) : void 0;
const metadataOpts = storeIndex && opts3.storeDir ? {
storeDir: opts3.storeDir,
storeIndex,
lockfileDir: opts3.lockfileDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength ?? 120
} : void 0;
const walkImporter = pLimit(IMPORTER_WALK_CONCURRENCY);
await Promise.all(importerWalkers.map(({ importerId, step: step2 }) => walkImporter(async () => {
let parentPurl = rootPurl;
if (!importerIdSet.has(importerId)) {
const info = opts3.workspacePackages?.[importerId];
if (!info)
return;
parentPurl = buildPurl({ name: info.name, version: info.version });
}
const peerNames = opts3.excludePeerNamesByImporter?.get(importerId);
const filteredStep = peerNames?.size ? {
...step2,
dependencies: step2.dependencies.filter((dep) => {
const { name } = nameVerFromPkgSnapshot(dep.depPath, dep.pkgSnapshot);
return !name || !peerNames.has(name);
})
} : step2;
await walkStep(filteredStep, parentPurl, depTypes, componentsMap, relationships, opts3, metadataOpts);
})));
storeIndex?.close();
return {
rootComponent: {
name: opts3.rootName,
version: opts3.rootVersion,
type: opts3.sbomType ?? "library",
license: opts3.rootLicense,
description: opts3.rootDescription,
author: opts3.rootAuthor,
repository: opts3.rootRepository,
bugsUrl: opts3.rootBugsUrl
},
components: Array.from(componentsMap.values()),
relationships
};
}
async function walkStep(step2, parentPurl, depTypes, componentsMap, relationships, opts3, metadataOpts) {
await Promise.all(step2.dependencies.map(async (dep) => {
const { depPath, pkgSnapshot, next: next2 } = dep;
const { name, version: version2, nonSemverVersion } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
if (!name || !version2)
return;
const purl = buildPurl({ name, version: version2, nonSemverVersion: nonSemverVersion ?? void 0 });
relationships.push({ from: parentPurl, to: purl });
if (componentsMap.has(purl))
return;
const integrity = pkgSnapshot.resolution.integrity;
const resolution = pkgSnapshotToResolution(depPath, pkgSnapshot, opts3.registries);
const tarballUrl = resolution.tarball ?? gitDownloadUrl(resolution);
let metadata = {};
if (metadataOpts) {
metadata = await getPkgMetadata(depPath, pkgSnapshot, opts3.registries, metadataOpts);
}
const component = {
name,
version: version2,
purl,
depPath,
depType: depTypes[depPath] ?? DepType.ProdOnly,
integrity,
tarballUrl,
...metadata
};
componentsMap.set(purl, component);
const subStep = next2();
await walkStep(subStep, purl, depTypes, componentsMap, relationships, opts3, metadataOpts);
}));
}
function gitDownloadUrl(resolution) {
if (resolution.type !== "git")
return void 0;
const needsGitPlusPrefix = resolution.repo.includes("://") && !resolution.repo.startsWith("git+");
const prefix = needsGitPlusPrefix ? "git+" : "";
return `${prefix}${resolution.repo}#${resolution.commit}`;
}
function resolveWorkspaceDeps(lockfile, importerIds, include) {
const links = [];
const visited = new Set(importerIds);
const queue2 = [...importerIds];
const additionalImporterIds = [];
for (let head2 = 0; head2 < queue2.length; head2++) {
const importerId = queue2[head2];
const snapshot = lockfile.importers[importerId];
if (!snapshot)
continue;
const devDepNames = new Set(Object.keys(snapshot.devDependencies ?? {}));
const prodDeps = {
...include?.dependencies !== false ? snapshot.dependencies : {},
...include?.optionalDependencies !== false ? snapshot.optionalDependencies : {}
};
const allDeps = {
...prodDeps,
...include?.devDependencies !== false ? snapshot.devDependencies : {}
};
for (const [depName, reference] of Object.entries(allDeps)) {
if (!reference.startsWith("link:"))
continue;
const linkPath = reference.slice(5);
const targetId = path172.posix.normalize(importerId === "." ? linkPath : path172.posix.join(importerId, linkPath));
if (path172.posix.isAbsolute(targetId) || targetId === ".." || targetId.startsWith("../"))
continue;
if (!Object.prototype.hasOwnProperty.call(lockfile.importers, targetId))
continue;
const devOnly = devDepNames.has(depName) && !(depName in prodDeps);
links.push({ sourceImporterId: importerId, targetImporterId: targetId, depName, devOnly });
if (!visited.has(targetId)) {
visited.add(targetId);
additionalImporterIds.push(targetId);
queue2.push(targetId);
}
}
}
return { links, additionalImporterIds };
}
var IMPORTER_WALK_CONCURRENCY;
var init_collectComponents = __esm({
"../deps/compliance/sbom/lib/collectComponents.js"() {
"use strict";
init_lib127();
init_lib73();
init_lib90();
init_lib30();
init_p_limit();
init_getPkgMetadata();
init_purl();
IMPORTER_WALK_CONCURRENCY = 8;
}
});
// ../deps/compliance/sbom/lib/integrity.js
function integrityToHashes(integrity) {
if (!integrity)
return [];
const parsed = import_ssri5.default.parse(integrity);
const hashes = [];
for (const [algo, entries] of Object.entries(parsed)) {
if (!entries?.length)
continue;
for (const entry of entries) {
const hexDigest = Buffer.from(entry.digest, "base64").toString("hex");
hashes.push({
algorithm: normalizeShaAlgorithm(algo),
digest: hexDigest
});
}
}
return hashes;
}
function normalizeShaAlgorithm(algo) {
switch (algo) {
case "sha1":
return "SHA-1";
case "sha256":
return "SHA-256";
case "sha384":
return "SHA-384";
case "sha512":
return "SHA-512";
default:
return algo.toUpperCase();
}
}
var import_ssri5;
var init_integrity = __esm({
"../deps/compliance/sbom/lib/integrity.js"() {
"use strict";
import_ssri5 = __toESM(require_lib18(), 1);
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@cyclonedx/cyclonedx-library/10.1.0/e0d0ba29cdd468daa2662f4a03a1d4f658d0e8c97e23d874bd810a4a3bf42d95/node_modules/@cyclonedx/cyclonedx-library/res/schema/spdx.SNAPSHOT.schema.json
var require_spdx_SNAPSHOT_schema = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@cyclonedx/cyclonedx-library/10.1.0/e0d0ba29cdd468daa2662f4a03a1d4f658d0e8c97e23d874bd810a4a3bf42d95/node_modules/@cyclonedx/cyclonedx-library/res/schema/spdx.SNAPSHOT.schema.json"(exports2, module2) {
module2.exports = {
$schema: "http://json-schema.org/draft-07/schema#",
$id: "http://cyclonedx.org/schema/spdx.schema.json",
$comment: "v1.1-3.28.0",
type: "string",
enum: [
"0BSD",
"3D-Slicer-1.0",
"AAL",
"Abstyles",
"AdaCore-doc",
"Adobe-2006",
"Adobe-Display-PostScript",
"Adobe-Glyph",
"Adobe-Utopia",
"ADSL",
"Advanced-Cryptics-Dictionary",
"AFL-1.1",
"AFL-1.2",
"AFL-2.0",
"AFL-2.1",
"AFL-3.0",
"Afmparse",
"AGPL-1.0",
"AGPL-1.0-only",
"AGPL-1.0-or-later",
"AGPL-3.0",
"AGPL-3.0-only",
"AGPL-3.0-or-later",
"Aladdin",
"ALGLIB-Documentation",
"AMD-newlib",
"AMDPLPA",
"AML",
"AML-glslang",
"AMPAS",
"ANTLR-PD",
"ANTLR-PD-fallback",
"any-OSI",
"any-OSI-perl-modules",
"Apache-1.0",
"Apache-1.1",
"Apache-2.0",
"APAFML",
"APL-1.0",
"App-s2p",
"APSL-1.0",
"APSL-1.1",
"APSL-1.2",
"APSL-2.0",
"Arphic-1999",
"Artistic-1.0",
"Artistic-1.0-cl8",
"Artistic-1.0-Perl",
"Artistic-2.0",
"Artistic-dist",
"Aspell-RU",
"ASWF-Digital-Assets-1.0",
"ASWF-Digital-Assets-1.1",
"Baekmuk",
"Bahyph",
"Barr",
"bcrypt-Solar-Designer",
"Beerware",
"Bitstream-Charter",
"Bitstream-Vera",
"BitTorrent-1.0",
"BitTorrent-1.1",
"blessing",
"BlueOak-1.0.0",
"Boehm-GC",
"Boehm-GC-without-fee",
"BOLA-1.1",
"Borceux",
"Brian-Gladman-2-Clause",
"Brian-Gladman-3-Clause",
"BSD-1-Clause",
"BSD-2-Clause",
"BSD-2-Clause-Darwin",
"BSD-2-Clause-first-lines",
"BSD-2-Clause-FreeBSD",
"BSD-2-Clause-NetBSD",
"BSD-2-Clause-Patent",
"BSD-2-Clause-pkgconf-disclaimer",
"BSD-2-Clause-Views",
"BSD-3-Clause",
"BSD-3-Clause-acpica",
"BSD-3-Clause-Attribution",
"BSD-3-Clause-Clear",
"BSD-3-Clause-flex",
"BSD-3-Clause-HP",
"BSD-3-Clause-LBNL",
"BSD-3-Clause-Modification",
"BSD-3-Clause-No-Military-License",
"BSD-3-Clause-No-Nuclear-License",
"BSD-3-Clause-No-Nuclear-License-2014",
"BSD-3-Clause-No-Nuclear-Warranty",
"BSD-3-Clause-Open-MPI",
"BSD-3-Clause-Sun",
"BSD-3-Clause-Tso",
"BSD-4-Clause",
"BSD-4-Clause-Shortened",
"BSD-4-Clause-UC",
"BSD-4.3RENO",
"BSD-4.3TAHOE",
"BSD-Advertising-Acknowledgement",
"BSD-Attribution-HPND-disclaimer",
"BSD-Inferno-Nettverk",
"BSD-Mark-Modifications",
"BSD-Protection",
"BSD-Source-beginning-file",
"BSD-Source-Code",
"BSD-Systemics",
"BSD-Systemics-W3Works",
"BSL-1.0",
"Buddy",
"BUSL-1.1",
"bzip2-1.0.5",
"bzip2-1.0.6",
"C-UDA-1.0",
"CAL-1.0",
"CAL-1.0-Combined-Work-Exception",
"Caldera",
"Caldera-no-preamble",
"CAPEC-tou",
"Catharon",
"CATOSL-1.1",
"CC-BY-1.0",
"CC-BY-2.0",
"CC-BY-2.5",
"CC-BY-2.5-AU",
"CC-BY-3.0",
"CC-BY-3.0-AT",
"CC-BY-3.0-AU",
"CC-BY-3.0-DE",
"CC-BY-3.0-IGO",
"CC-BY-3.0-NL",
"CC-BY-3.0-US",
"CC-BY-4.0",
"CC-BY-NC-1.0",
"CC-BY-NC-2.0",
"CC-BY-NC-2.5",
"CC-BY-NC-3.0",
"CC-BY-NC-3.0-DE",
"CC-BY-NC-4.0",
"CC-BY-NC-ND-1.0",
"CC-BY-NC-ND-2.0",
"CC-BY-NC-ND-2.5",
"CC-BY-NC-ND-3.0",
"CC-BY-NC-ND-3.0-DE",
"CC-BY-NC-ND-3.0-IGO",
"CC-BY-NC-ND-4.0",
"CC-BY-NC-SA-1.0",
"CC-BY-NC-SA-2.0",
"CC-BY-NC-SA-2.0-DE",
"CC-BY-NC-SA-2.0-FR",
"CC-BY-NC-SA-2.0-UK",
"CC-BY-NC-SA-2.5",
"CC-BY-NC-SA-3.0",
"CC-BY-NC-SA-3.0-DE",
"CC-BY-NC-SA-3.0-IGO",
"CC-BY-NC-SA-4.0",
"CC-BY-ND-1.0",
"CC-BY-ND-2.0",
"CC-BY-ND-2.5",
"CC-BY-ND-3.0",
"CC-BY-ND-3.0-DE",
"CC-BY-ND-4.0",
"CC-BY-SA-1.0",
"CC-BY-SA-2.0",
"CC-BY-SA-2.0-UK",
"CC-BY-SA-2.1-JP",
"CC-BY-SA-2.5",
"CC-BY-SA-3.0",
"CC-BY-SA-3.0-AT",
"CC-BY-SA-3.0-DE",
"CC-BY-SA-3.0-IGO",
"CC-BY-SA-4.0",
"CC-PDDC",
"CC-PDM-1.0",
"CC-SA-1.0",
"CC0-1.0",
"CDDL-1.0",
"CDDL-1.1",
"CDL-1.0",
"CDLA-Permissive-1.0",
"CDLA-Permissive-2.0",
"CDLA-Sharing-1.0",
"CECILL-1.0",
"CECILL-1.1",
"CECILL-2.0",
"CECILL-2.1",
"CECILL-B",
"CECILL-C",
"CERN-OHL-1.1",
"CERN-OHL-1.2",
"CERN-OHL-P-2.0",
"CERN-OHL-S-2.0",
"CERN-OHL-W-2.0",
"CFITSIO",
"check-cvs",
"checkmk",
"ClArtistic",
"Clips",
"CMU-Mach",
"CMU-Mach-nodoc",
"CNRI-Jython",
"CNRI-Python",
"CNRI-Python-GPL-Compatible",
"COIL-1.0",
"Community-Spec-1.0",
"Condor-1.1",
"copyleft-next-0.3.0",
"copyleft-next-0.3.1",
"Cornell-Lossless-JPEG",
"CPAL-1.0",
"CPL-1.0",
"CPOL-1.02",
"Cronyx",
"Crossword",
"CryptoSwift",
"CrystalStacker",
"CUA-OPL-1.0",
"Cube",
"curl",
"cve-tou",
"D-FSL-1.0",
"DEC-3-Clause",
"diffmark",
"DL-DE-BY-2.0",
"DL-DE-ZERO-2.0",
"DOC",
"DocBook-DTD",
"DocBook-Schema",
"DocBook-Stylesheet",
"DocBook-XML",
"Dotseqn",
"DRL-1.0",
"DRL-1.1",
"DSDP",
"dtoa",
"dvipdfm",
"ECL-1.0",
"ECL-2.0",
"eCos-2.0",
"EFL-1.0",
"EFL-2.0",
"eGenix",
"Elastic-2.0",
"Entessa",
"EPICS",
"EPL-1.0",
"EPL-2.0",
"ErlPL-1.1",
"ESA-PL-permissive-2.4",
"ESA-PL-strong-copyleft-2.4",
"ESA-PL-weak-copyleft-2.4",
"etalab-2.0",
"EUDatagrid",
"EUPL-1.0",
"EUPL-1.1",
"EUPL-1.2",
"Eurosym",
"Fair",
"FBM",
"FDK-AAC",
"Ferguson-Twofish",
"Frameworx-1.0",
"FreeBSD-DOC",
"FreeImage",
"FSFAP",
"FSFAP-no-warranty-disclaimer",
"FSFUL",
"FSFULLR",
"FSFULLRSD",
"FSFULLRWD",
"FSL-1.1-ALv2",
"FSL-1.1-MIT",
"FTL",
"Furuseth",
"fwlw",
"Game-Programming-Gems",
"GCR-docs",
"GD",
"generic-xts",
"GFDL-1.1",
"GFDL-1.1-invariants-only",
"GFDL-1.1-invariants-or-later",
"GFDL-1.1-no-invariants-only",
"GFDL-1.1-no-invariants-or-later",
"GFDL-1.1-only",
"GFDL-1.1-or-later",
"GFDL-1.2",
"GFDL-1.2-invariants-only",
"GFDL-1.2-invariants-or-later",
"GFDL-1.2-no-invariants-only",
"GFDL-1.2-no-invariants-or-later",
"GFDL-1.2-only",
"GFDL-1.2-or-later",
"GFDL-1.3",
"GFDL-1.3-invariants-only",
"GFDL-1.3-invariants-or-later",
"GFDL-1.3-no-invariants-only",
"GFDL-1.3-no-invariants-or-later",
"GFDL-1.3-only",
"GFDL-1.3-or-later",
"Giftware",
"GL2PS",
"Glide",
"Glulxe",
"GLWTPL",
"gnuplot",
"GPL-1.0",
"GPL-1.0+",
"GPL-1.0-only",
"GPL-1.0-or-later",
"GPL-2.0",
"GPL-2.0+",
"GPL-2.0-only",
"GPL-2.0-or-later",
"GPL-2.0-with-autoconf-exception",
"GPL-2.0-with-bison-exception",
"GPL-2.0-with-classpath-exception",
"GPL-2.0-with-font-exception",
"GPL-2.0-with-GCC-exception",
"GPL-3.0",
"GPL-3.0+",
"GPL-3.0-only",
"GPL-3.0-or-later",
"GPL-3.0-with-autoconf-exception",
"GPL-3.0-with-GCC-exception",
"Graphics-Gems",
"gSOAP-1.3b",
"gtkbook",
"Gutmann",
"HaskellReport",
"HDF5",
"hdparm",
"HIDAPI",
"Hippocratic-2.1",
"HP-1986",
"HP-1989",
"HPND",
"HPND-DEC",
"HPND-doc",
"HPND-doc-sell",
"HPND-export-US",
"HPND-export-US-acknowledgement",
"HPND-export-US-modify",
"HPND-export2-US",
"HPND-Fenneberg-Livingston",
"HPND-INRIA-IMAG",
"HPND-Intel",
"HPND-Kevlin-Henney",
"HPND-Markus-Kuhn",
"HPND-merchantability-variant",
"HPND-MIT-disclaimer",
"HPND-Netrek",
"HPND-Pbmplus",
"HPND-sell-MIT-disclaimer-xserver",
"HPND-sell-regexpr",
"HPND-sell-variant",
"HPND-sell-variant-critical-systems",
"HPND-sell-variant-MIT-disclaimer",
"HPND-sell-variant-MIT-disclaimer-rev",
"HPND-SMC",
"HPND-UC",
"HPND-UC-export-US",
"HTMLTIDY",
"hyphen-bulgarian",
"IBM-pibs",
"ICU",
"IEC-Code-Components-EULA",
"IJG",
"IJG-short",
"ImageMagick",
"iMatix",
"Imlib2",
"Info-ZIP",
"Inner-Net-2.0",
"InnoSetup",
"Intel",
"Intel-ACPI",
"Interbase-1.0",
"IPA",
"IPL-1.0",
"ISC",
"ISC-Veillard",
"ISO-permission",
"Jam",
"JasPer-2.0",
"jove",
"JPL-image",
"JPNIC",
"JSON",
"Kastrup",
"Kazlib",
"Knuth-CTAN",
"LAL-1.2",
"LAL-1.3",
"Latex2e",
"Latex2e-translated-notice",
"Leptonica",
"LGPL-2.0",
"LGPL-2.0+",
"LGPL-2.0-only",
"LGPL-2.0-or-later",
"LGPL-2.1",
"LGPL-2.1+",
"LGPL-2.1-only",
"LGPL-2.1-or-later",
"LGPL-3.0",
"LGPL-3.0+",
"LGPL-3.0-only",
"LGPL-3.0-or-later",
"LGPLLR",
"Libpng",
"libpng-1.6.35",
"libpng-2.0",
"libselinux-1.0",
"libtiff",
"libutil-David-Nugent",
"LiLiQ-P-1.1",
"LiLiQ-R-1.1",
"LiLiQ-Rplus-1.1",
"Linux-man-pages-1-para",
"Linux-man-pages-copyleft",
"Linux-man-pages-copyleft-2-para",
"Linux-man-pages-copyleft-var",
"Linux-OpenIB",
"LOOP",
"LPD-document",
"LPL-1.0",
"LPL-1.02",
"LPPL-1.0",
"LPPL-1.1",
"LPPL-1.2",
"LPPL-1.3a",
"LPPL-1.3c",
"lsof",
"Lucida-Bitmap-Fonts",
"LZMA-SDK-9.11-to-9.20",
"LZMA-SDK-9.22",
"Mackerras-3-Clause",
"Mackerras-3-Clause-acknowledgment",
"magaz",
"mailprio",
"MakeIndex",
"man2html",
"Martin-Birgmeier",
"McPhee-slideshow",
"metamail",
"Minpack",
"MIPS",
"MirOS",
"MIT",
"MIT-0",
"MIT-advertising",
"MIT-Click",
"MIT-CMU",
"MIT-enna",
"MIT-feh",
"MIT-Festival",
"MIT-Khronos-old",
"MIT-Modern-Variant",
"MIT-open-group",
"MIT-STK",
"MIT-testregex",
"MIT-Wu",
"MITNFA",
"MMIXware",
"MMPL-1.0.1",
"Motosoto",
"MPEG-SSG",
"mpi-permissive",
"mpich2",
"MPL-1.0",
"MPL-1.1",
"MPL-2.0",
"MPL-2.0-no-copyleft-exception",
"mplus",
"MS-LPL",
"MS-PL",
"MS-RL",
"MTLL",
"MulanPSL-1.0",
"MulanPSL-2.0",
"Multics",
"Mup",
"NAIST-2003",
"NASA-1.3",
"Naumen",
"NBPL-1.0",
"NCBI-PD",
"NCGL-UK-2.0",
"NCL",
"NCSA",
"Net-SNMP",
"NetCDF",
"Newsletr",
"NGPL",
"ngrep",
"NICTA-1.0",
"NIST-PD",
"NIST-PD-fallback",
"NIST-PD-TNT",
"NIST-Software",
"NLOD-1.0",
"NLOD-2.0",
"NLPL",
"Nokia",
"NOSL",
"Noweb",
"NPL-1.0",
"NPL-1.1",
"NPOSL-3.0",
"NRL",
"NTIA-PD",
"NTP",
"NTP-0",
"Nunit",
"O-UDA-1.0",
"OAR",
"OCCT-PL",
"OCLC-2.0",
"ODbL-1.0",
"ODC-By-1.0",
"OFFIS",
"OFL-1.0",
"OFL-1.0-no-RFN",
"OFL-1.0-RFN",
"OFL-1.1",
"OFL-1.1-no-RFN",
"OFL-1.1-RFN",
"OGC-1.0",
"OGDL-Taiwan-1.0",
"OGL-Canada-2.0",
"OGL-UK-1.0",
"OGL-UK-2.0",
"OGL-UK-3.0",
"OGTSL",
"OLDAP-1.1",
"OLDAP-1.2",
"OLDAP-1.3",
"OLDAP-1.4",
"OLDAP-2.0",
"OLDAP-2.0.1",
"OLDAP-2.1",
"OLDAP-2.2",
"OLDAP-2.2.1",
"OLDAP-2.2.2",
"OLDAP-2.3",
"OLDAP-2.4",
"OLDAP-2.5",
"OLDAP-2.6",
"OLDAP-2.7",
"OLDAP-2.8",
"OLFL-1.3",
"OML",
"OpenMDW-1.0",
"OpenPBS-2.3",
"OpenSSL",
"OpenSSL-standalone",
"OpenVision",
"OPL-1.0",
"OPL-UK-3.0",
"OPUBL-1.0",
"OSC-1.0",
"OSET-PL-2.1",
"OSL-1.0",
"OSL-1.1",
"OSL-2.0",
"OSL-2.1",
"OSL-3.0",
"OSSP",
"PADL",
"ParaType-Free-Font-1.3",
"Parity-6.0.0",
"Parity-7.0.0",
"PDDL-1.0",
"PHP-3.0",
"PHP-3.01",
"Pixar",
"pkgconf",
"Plexus",
"pnmstitch",
"PolyForm-Noncommercial-1.0.0",
"PolyForm-Small-Business-1.0.0",
"PostgreSQL",
"PPL",
"PSF-2.0",
"psfrag",
"psutils",
"Python-2.0",
"Python-2.0.1",
"python-ldap",
"Qhull",
"QPL-1.0",
"QPL-1.0-INRIA-2004",
"radvd",
"Rdisc",
"RHeCos-1.1",
"RPL-1.1",
"RPL-1.5",
"RPSL-1.0",
"RSA-MD",
"RSCPL",
"Ruby",
"Ruby-pty",
"SAX-PD",
"SAX-PD-2.0",
"Saxpath",
"SCEA",
"SchemeReport",
"Sendmail",
"Sendmail-8.23",
"Sendmail-Open-Source-1.1",
"SGI-B-1.0",
"SGI-B-1.1",
"SGI-B-2.0",
"SGI-OpenGL",
"SGMLUG-PM",
"SGP4",
"SHL-0.5",
"SHL-0.51",
"SimPL-2.0",
"SISSL",
"SISSL-1.2",
"SL",
"Sleepycat",
"SMAIL-GPL",
"SMLNJ",
"SMPPL",
"SNIA",
"snprintf",
"SOFA",
"softSurfer",
"Soundex",
"Spencer-86",
"Spencer-94",
"Spencer-99",
"SPL-1.0",
"ssh-keyscan",
"SSH-OpenSSH",
"SSH-short",
"SSLeay-standalone",
"SSPL-1.0",
"StandardML-NJ",
"SugarCRM-1.1.3",
"SUL-1.0",
"Sun-PPP",
"Sun-PPP-2000",
"SunPro",
"SWL",
"swrule",
"Symlinks",
"TAPR-OHL-1.0",
"TCL",
"TCP-wrappers",
"TekHVC",
"TermReadKey",
"TGPPL-1.0",
"ThirdEye",
"threeparttable",
"TMate",
"TORQUE-1.1",
"TOSL",
"TPDL",
"TPL-1.0",
"TrustedQSL",
"TTWL",
"TTYP0",
"TU-Berlin-1.0",
"TU-Berlin-2.0",
"Ubuntu-font-1.0",
"UCAR",
"UCL-1.0",
"ulem",
"UMich-Merit",
"Unicode-3.0",
"Unicode-DFS-2015",
"Unicode-DFS-2016",
"Unicode-TOU",
"UnixCrypt",
"Unlicense",
"Unlicense-libtelnet",
"Unlicense-libwhirlpool",
"UnRAR",
"UPL-1.0",
"URT-RLE",
"Vim",
"Vixie-Cron",
"VOSTROM",
"VSL-1.0",
"W3C",
"W3C-19980720",
"W3C-20150513",
"w3m",
"Watcom-1.0",
"Widget-Workshop",
"WordNet",
"Wsuipa",
"WTFNMFPL",
"WTFPL",
"wwl",
"wxWindows",
"X11",
"X11-distribute-modifications-variant",
"X11-no-permit-persons",
"X11-swapped",
"Xdebug-1.03",
"Xerox",
"Xfig",
"XFree86-1.1",
"xinetd",
"xkeyboard-config-Zinoviev",
"xlock",
"Xnet",
"xpp",
"XSkat",
"xzoom",
"YPL-1.0",
"YPL-1.1",
"Zed",
"Zeeff",
"Zend-2.0",
"Zimbra-1.3",
"Zimbra-1.4",
"Zlib",
"zlib-acknowledgement",
"ZPL-1.1",
"ZPL-2.0",
"ZPL-2.1",
"389-exception",
"Asterisk-exception",
"Asterisk-linking-protocols-exception",
"Autoconf-exception-2.0",
"Autoconf-exception-3.0",
"Autoconf-exception-generic",
"Autoconf-exception-generic-3.0",
"Autoconf-exception-macro",
"Bison-exception-1.24",
"Bison-exception-2.2",
"Bootloader-exception",
"CGAL-linking-exception",
"Classpath-exception-2.0",
"Classpath-exception-2.0-short",
"CLISP-exception-2.0",
"cryptsetup-OpenSSL-exception",
"Digia-Qt-LGPL-exception-1.1",
"DigiRule-FOSS-exception",
"eCos-exception-2.0",
"erlang-otp-linking-exception",
"Fawkes-Runtime-exception",
"FLTK-exception",
"fmt-exception",
"Font-exception-2.0",
"freertos-exception-2.0",
"GCC-exception-2.0",
"GCC-exception-2.0-note",
"GCC-exception-3.1",
"Gmsh-exception",
"GNAT-exception",
"GNOME-examples-exception",
"GNU-compiler-exception",
"gnu-javamail-exception",
"GPL-3.0-389-ds-base-exception",
"GPL-3.0-interface-exception",
"GPL-3.0-linking-exception",
"GPL-3.0-linking-source-exception",
"GPL-CC-1.0",
"GStreamer-exception-2005",
"GStreamer-exception-2008",
"harbour-exception",
"i2p-gpl-java-exception",
"Independent-modules-exception",
"KiCad-libraries-exception",
"kvirc-openssl-exception",
"LGPL-3.0-linking-exception",
"libpri-OpenH323-exception",
"Libtool-exception",
"Linux-syscall-note",
"LLGPL",
"LLVM-exception",
"LZMA-exception",
"mif-exception",
"mxml-exception",
"Nokia-Qt-exception-1.1",
"OCaml-LGPL-linking-exception",
"OCCT-exception-1.0",
"OpenJDK-assembly-exception-1.0",
"openvpn-openssl-exception",
"PCRE2-exception",
"polyparse-exception",
"PS-or-PDF-font-exception-20170817",
"QPL-1.0-INRIA-2004-exception",
"Qt-GPL-exception-1.0",
"Qt-LGPL-exception-1.1",
"Qwt-exception-1.0",
"romic-exception",
"RRDtool-FLOSS-exception-2.0",
"rsync-linking-exception",
"SANE-exception",
"SHL-2.0",
"SHL-2.1",
"Simple-Library-Usage-exception",
"sqlitestudio-OpenSSL-exception",
"stunnel-exception",
"SWI-exception",
"Swift-exception",
"Texinfo-exception",
"u-boot-exception-2.0",
"UBDL-exception",
"Universal-FOSS-exception-1.0",
"vsftpd-openssl-exception",
"WxWindows-exception-3.1",
"x11vnc-openssl-exception"
],
"meta:enum": {
"0BSD": "BSD Zero Clause License",
"3D-Slicer-1.0": "3D Slicer License v1.0",
AAL: "Attribution Assurance License",
Abstyles: "Abstyles License",
"AdaCore-doc": "AdaCore Doc License",
"Adobe-2006": "Adobe Systems Incorporated Source Code License Agreement",
"Adobe-Display-PostScript": "Adobe Display PostScript License",
"Adobe-Glyph": "Adobe Glyph List License",
"Adobe-Utopia": "Adobe Utopia Font License",
ADSL: "Amazon Digital Services License",
"Advanced-Cryptics-Dictionary": "Advanced Cryptics Dictionary License",
"AFL-1.1": "Academic Free License v1.1",
"AFL-1.2": "Academic Free License v1.2",
"AFL-2.0": "Academic Free License v2.0",
"AFL-2.1": "Academic Free License v2.1",
"AFL-3.0": "Academic Free License v3.0",
Afmparse: "Afmparse License",
"AGPL-1.0": "Affero General Public License v1.0",
"AGPL-1.0-only": "Affero General Public License v1.0 only",
"AGPL-1.0-or-later": "Affero General Public License v1.0 or later",
"AGPL-3.0": "GNU Affero General Public License v3.0",
"AGPL-3.0-only": "GNU Affero General Public License v3.0 only",
"AGPL-3.0-or-later": "GNU Affero General Public License v3.0 or later",
Aladdin: "Aladdin Free Public License",
"ALGLIB-Documentation": "ALGLIB Documentation License",
"AMD-newlib": "AMD newlib License",
AMDPLPA: "AMD's plpa_map.c License",
AML: "Apple MIT License",
"AML-glslang": "AML glslang variant License",
AMPAS: "Academy of Motion Picture Arts and Sciences BSD",
"ANTLR-PD": "ANTLR Software Rights Notice",
"ANTLR-PD-fallback": "ANTLR Software Rights Notice with license fallback",
"any-OSI": "Any OSI License",
"any-OSI-perl-modules": "Any OSI License - Perl Modules",
"Apache-1.0": "Apache License 1.0",
"Apache-1.1": "Apache License 1.1",
"Apache-2.0": "Apache License 2.0",
APAFML: "Adobe Postscript AFM License",
"APL-1.0": "Adaptive Public License 1.0",
"App-s2p": "App::s2p License",
"APSL-1.0": "Apple Public Source License 1.0",
"APSL-1.1": "Apple Public Source License 1.1",
"APSL-1.2": "Apple Public Source License 1.2",
"APSL-2.0": "Apple Public Source License 2.0",
"Arphic-1999": "Arphic Public License",
"Artistic-1.0": "Artistic License 1.0",
"Artistic-1.0-cl8": "Artistic License 1.0 w/clause 8",
"Artistic-1.0-Perl": "Artistic License 1.0 (Perl)",
"Artistic-2.0": "Artistic License 2.0",
"Artistic-dist": "Artistic License 1.0 (dist)",
"Aspell-RU": "Aspell Russian License",
"ASWF-Digital-Assets-1.0": "ASWF Digital Assets License version 1.0",
"ASWF-Digital-Assets-1.1": "ASWF Digital Assets License 1.1",
Baekmuk: "Baekmuk License",
Bahyph: "Bahyph License",
Barr: "Barr License",
"bcrypt-Solar-Designer": "bcrypt Solar Designer License",
Beerware: "Beerware License",
"Bitstream-Charter": "Bitstream Charter Font License",
"Bitstream-Vera": "Bitstream Vera Font License",
"BitTorrent-1.0": "BitTorrent Open Source License v1.0",
"BitTorrent-1.1": "BitTorrent Open Source License v1.1",
blessing: "SQLite Blessing",
"BlueOak-1.0.0": "Blue Oak Model License 1.0.0",
"Boehm-GC": "Boehm-Demers-Weiser GC License",
"Boehm-GC-without-fee": "Boehm-Demers-Weiser GC License (without fee)",
"BOLA-1.1": "Buena Onda License Agreement v1.1",
Borceux: "Borceux license",
"Brian-Gladman-2-Clause": "Brian Gladman 2-Clause License",
"Brian-Gladman-3-Clause": "Brian Gladman 3-Clause License",
"BSD-1-Clause": "BSD 1-Clause License",
"BSD-2-Clause": 'BSD 2-Clause "Simplified" License',
"BSD-2-Clause-Darwin": "BSD 2-Clause - Ian Darwin variant",
"BSD-2-Clause-first-lines": "BSD 2-Clause - first lines requirement",
"BSD-2-Clause-FreeBSD": "BSD 2-Clause FreeBSD License",
"BSD-2-Clause-NetBSD": "BSD 2-Clause NetBSD License",
"BSD-2-Clause-Patent": "BSD-2-Clause Plus Patent License",
"BSD-2-Clause-pkgconf-disclaimer": "BSD 2-Clause pkgconf disclaimer variant",
"BSD-2-Clause-Views": "BSD 2-Clause with views sentence",
"BSD-3-Clause": 'BSD 3-Clause "New" or "Revised" License',
"BSD-3-Clause-acpica": "BSD 3-Clause acpica variant",
"BSD-3-Clause-Attribution": "BSD with attribution",
"BSD-3-Clause-Clear": "BSD 3-Clause Clear License",
"BSD-3-Clause-flex": "BSD 3-Clause Flex variant",
"BSD-3-Clause-HP": "Hewlett-Packard BSD variant license",
"BSD-3-Clause-LBNL": "Lawrence Berkeley National Labs BSD variant license",
"BSD-3-Clause-Modification": "BSD 3-Clause Modification",
"BSD-3-Clause-No-Military-License": "BSD 3-Clause No Military License",
"BSD-3-Clause-No-Nuclear-License": "BSD 3-Clause No Nuclear License",
"BSD-3-Clause-No-Nuclear-License-2014": "BSD 3-Clause No Nuclear License 2014",
"BSD-3-Clause-No-Nuclear-Warranty": "BSD 3-Clause No Nuclear Warranty",
"BSD-3-Clause-Open-MPI": "BSD 3-Clause Open MPI variant",
"BSD-3-Clause-Sun": "BSD 3-Clause Sun Microsystems",
"BSD-3-Clause-Tso": "BSD 3-Clause Tso variant",
"BSD-4-Clause": 'BSD 4-Clause "Original" or "Old" License',
"BSD-4-Clause-Shortened": "BSD 4 Clause Shortened",
"BSD-4-Clause-UC": "BSD-4-Clause (University of California-Specific)",
"BSD-4.3RENO": "BSD 4.3 RENO License",
"BSD-4.3TAHOE": "BSD 4.3 TAHOE License",
"BSD-Advertising-Acknowledgement": "BSD Advertising Acknowledgement License",
"BSD-Attribution-HPND-disclaimer": "BSD with Attribution and HPND disclaimer",
"BSD-Inferno-Nettverk": "BSD-Inferno-Nettverk",
"BSD-Mark-Modifications": "BSD Mark Modifications License",
"BSD-Protection": "BSD Protection License",
"BSD-Source-beginning-file": "BSD Source Code Attribution - beginning of file variant",
"BSD-Source-Code": "BSD Source Code Attribution",
"BSD-Systemics": "Systemics BSD variant license",
"BSD-Systemics-W3Works": "Systemics W3Works BSD variant license",
"BSL-1.0": "Boost Software License 1.0",
Buddy: "Buddy License",
"BUSL-1.1": "Business Source License 1.1",
"bzip2-1.0.5": "bzip2 and libbzip2 License v1.0.5",
"bzip2-1.0.6": "bzip2 and libbzip2 License v1.0.6",
"C-UDA-1.0": "Computational Use of Data Agreement v1.0",
"CAL-1.0": "Cryptographic Autonomy License 1.0",
"CAL-1.0-Combined-Work-Exception": "Cryptographic Autonomy License 1.0 (Combined Work Exception)",
Caldera: "Caldera License",
"Caldera-no-preamble": "Caldera License (without preamble)",
"CAPEC-tou": "Common Attack Pattern Enumeration and Classification License",
Catharon: "Catharon License",
"CATOSL-1.1": "Computer Associates Trusted Open Source License 1.1",
"CC-BY-1.0": "Creative Commons Attribution 1.0 Generic",
"CC-BY-2.0": "Creative Commons Attribution 2.0 Generic",
"CC-BY-2.5": "Creative Commons Attribution 2.5 Generic",
"CC-BY-2.5-AU": "Creative Commons Attribution 2.5 Australia",
"CC-BY-3.0": "Creative Commons Attribution 3.0 Unported",
"CC-BY-3.0-AT": "Creative Commons Attribution 3.0 Austria",
"CC-BY-3.0-AU": "Creative Commons Attribution 3.0 Australia",
"CC-BY-3.0-DE": "Creative Commons Attribution 3.0 Germany",
"CC-BY-3.0-IGO": "Creative Commons Attribution 3.0 IGO",
"CC-BY-3.0-NL": "Creative Commons Attribution 3.0 Netherlands",
"CC-BY-3.0-US": "Creative Commons Attribution 3.0 United States",
"CC-BY-4.0": "Creative Commons Attribution 4.0 International",
"CC-BY-NC-1.0": "Creative Commons Attribution Non Commercial 1.0 Generic",
"CC-BY-NC-2.0": "Creative Commons Attribution Non Commercial 2.0 Generic",
"CC-BY-NC-2.5": "Creative Commons Attribution Non Commercial 2.5 Generic",
"CC-BY-NC-3.0": "Creative Commons Attribution Non Commercial 3.0 Unported",
"CC-BY-NC-3.0-DE": "Creative Commons Attribution Non Commercial 3.0 Germany",
"CC-BY-NC-4.0": "Creative Commons Attribution Non Commercial 4.0 International",
"CC-BY-NC-ND-1.0": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic",
"CC-BY-NC-ND-2.0": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic",
"CC-BY-NC-ND-2.5": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",
"CC-BY-NC-ND-3.0": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported",
"CC-BY-NC-ND-3.0-DE": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany",
"CC-BY-NC-ND-3.0-IGO": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO",
"CC-BY-NC-ND-4.0": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International",
"CC-BY-NC-SA-1.0": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",
"CC-BY-NC-SA-2.0": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",
"CC-BY-NC-SA-2.0-DE": "Creative Commons Attribution Non Commercial Share Alike 2.0 Germany",
"CC-BY-NC-SA-2.0-FR": "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France",
"CC-BY-NC-SA-2.0-UK": "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales",
"CC-BY-NC-SA-2.5": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic",
"CC-BY-NC-SA-3.0": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",
"CC-BY-NC-SA-3.0-DE": "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany",
"CC-BY-NC-SA-3.0-IGO": "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO",
"CC-BY-NC-SA-4.0": "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
"CC-BY-ND-1.0": "Creative Commons Attribution No Derivatives 1.0 Generic",
"CC-BY-ND-2.0": "Creative Commons Attribution No Derivatives 2.0 Generic",
"CC-BY-ND-2.5": "Creative Commons Attribution No Derivatives 2.5 Generic",
"CC-BY-ND-3.0": "Creative Commons Attribution No Derivatives 3.0 Unported",
"CC-BY-ND-3.0-DE": "Creative Commons Attribution No Derivatives 3.0 Germany",
"CC-BY-ND-4.0": "Creative Commons Attribution No Derivatives 4.0 International",
"CC-BY-SA-1.0": "Creative Commons Attribution Share Alike 1.0 Generic",
"CC-BY-SA-2.0": "Creative Commons Attribution Share Alike 2.0 Generic",
"CC-BY-SA-2.0-UK": "Creative Commons Attribution Share Alike 2.0 England and Wales",
"CC-BY-SA-2.1-JP": "Creative Commons Attribution Share Alike 2.1 Japan",
"CC-BY-SA-2.5": "Creative Commons Attribution Share Alike 2.5 Generic",
"CC-BY-SA-3.0": "Creative Commons Attribution Share Alike 3.0 Unported",
"CC-BY-SA-3.0-AT": "Creative Commons Attribution Share Alike 3.0 Austria",
"CC-BY-SA-3.0-DE": "Creative Commons Attribution Share Alike 3.0 Germany",
"CC-BY-SA-3.0-IGO": "Creative Commons Attribution-ShareAlike 3.0 IGO",
"CC-BY-SA-4.0": "Creative Commons Attribution Share Alike 4.0 International",
"CC-PDDC": "Creative Commons Public Domain Dedication and Certification",
"CC-PDM-1.0": "Creative Commons Public Domain Mark 1.0 Universal",
"CC-SA-1.0": "Creative Commons Share Alike 1.0 Generic",
"CC0-1.0": "Creative Commons Zero v1.0 Universal",
"CDDL-1.0": "Common Development and Distribution License 1.0",
"CDDL-1.1": "Common Development and Distribution License 1.1",
"CDL-1.0": "Common Documentation License 1.0",
"CDLA-Permissive-1.0": "Community Data License Agreement Permissive 1.0",
"CDLA-Permissive-2.0": "Community Data License Agreement Permissive 2.0",
"CDLA-Sharing-1.0": "Community Data License Agreement Sharing 1.0",
"CECILL-1.0": "CeCILL Free Software License Agreement v1.0",
"CECILL-1.1": "CeCILL Free Software License Agreement v1.1",
"CECILL-2.0": "CeCILL Free Software License Agreement v2.0",
"CECILL-2.1": "CeCILL Free Software License Agreement v2.1",
"CECILL-B": "CeCILL-B Free Software License Agreement",
"CECILL-C": "CeCILL-C Free Software License Agreement",
"CERN-OHL-1.1": "CERN Open Hardware Licence v1.1",
"CERN-OHL-1.2": "CERN Open Hardware Licence v1.2",
"CERN-OHL-P-2.0": "CERN Open Hardware Licence Version 2 - Permissive",
"CERN-OHL-S-2.0": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal",
"CERN-OHL-W-2.0": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal",
CFITSIO: "CFITSIO License",
"check-cvs": "check-cvs License",
checkmk: "Checkmk License",
ClArtistic: "Clarified Artistic License",
Clips: "Clips License",
"CMU-Mach": "CMU Mach License",
"CMU-Mach-nodoc": "CMU Mach - no notices-in-documentation variant",
"CNRI-Jython": "CNRI Jython License",
"CNRI-Python": "CNRI Python License",
"CNRI-Python-GPL-Compatible": "CNRI Python Open Source GPL Compatible License Agreement",
"COIL-1.0": "Copyfree Open Innovation License",
"Community-Spec-1.0": "Community Specification License 1.0",
"Condor-1.1": "Condor Public License v1.1",
"copyleft-next-0.3.0": "copyleft-next 0.3.0",
"copyleft-next-0.3.1": "copyleft-next 0.3.1",
"Cornell-Lossless-JPEG": "Cornell Lossless JPEG License",
"CPAL-1.0": "Common Public Attribution License 1.0",
"CPL-1.0": "Common Public License 1.0",
"CPOL-1.02": "Code Project Open License 1.02",
Cronyx: "Cronyx License",
Crossword: "Crossword License",
CryptoSwift: "CryptoSwift License",
CrystalStacker: "CrystalStacker License",
"CUA-OPL-1.0": "CUA Office Public License v1.0",
Cube: "Cube License",
curl: "curl License",
"cve-tou": "Common Vulnerability Enumeration ToU License",
"D-FSL-1.0": "Deutsche Freie Software Lizenz",
"DEC-3-Clause": "DEC 3-Clause License",
diffmark: "diffmark license",
"DL-DE-BY-2.0": "Data licence Germany \u2013 attribution \u2013 version 2.0",
"DL-DE-ZERO-2.0": "Data licence Germany \u2013 zero \u2013 version 2.0",
DOC: "DOC License",
"DocBook-DTD": "DocBook DTD License",
"DocBook-Schema": "DocBook Schema License",
"DocBook-Stylesheet": "DocBook Stylesheet License",
"DocBook-XML": "DocBook XML License",
Dotseqn: "Dotseqn License",
"DRL-1.0": "Detection Rule License 1.0",
"DRL-1.1": "Detection Rule License 1.1",
DSDP: "DSDP License",
dtoa: "David M. Gay dtoa License",
dvipdfm: "dvipdfm License",
"ECL-1.0": "Educational Community License v1.0",
"ECL-2.0": "Educational Community License v2.0",
"eCos-2.0": "eCos license version 2.0",
"EFL-1.0": "Eiffel Forum License v1.0",
"EFL-2.0": "Eiffel Forum License v2.0",
eGenix: "eGenix.com Public License 1.1.0",
"Elastic-2.0": "Elastic License 2.0",
Entessa: "Entessa Public License v1.0",
EPICS: "EPICS Open License",
"EPL-1.0": "Eclipse Public License 1.0",
"EPL-2.0": "Eclipse Public License 2.0",
"ErlPL-1.1": "Erlang Public License v1.1",
"ESA-PL-permissive-2.4": "European Space Agency Public License \u2013 v2.4 \u2013 Permissive (Type 3)",
"ESA-PL-strong-copyleft-2.4": "European Space Agency Public License (ESA-PL) - V2.4 - Strong Copyleft (Type 1)",
"ESA-PL-weak-copyleft-2.4": "European Space Agency Public License \u2013 v2.4 \u2013 Weak Copyleft (Type 2)",
"etalab-2.0": "Etalab Open License 2.0",
EUDatagrid: "EU DataGrid Software License",
"EUPL-1.0": "European Union Public License 1.0",
"EUPL-1.1": "European Union Public License 1.1",
"EUPL-1.2": "European Union Public License 1.2",
Eurosym: "Eurosym License",
Fair: "Fair License",
FBM: "Fuzzy Bitmap License",
"FDK-AAC": "Fraunhofer FDK AAC Codec Library",
"Ferguson-Twofish": "Ferguson Twofish License",
"Frameworx-1.0": "Frameworx Open License 1.0",
"FreeBSD-DOC": "FreeBSD Documentation License",
FreeImage: "FreeImage Public License v1.0",
FSFAP: "FSF All Permissive License",
"FSFAP-no-warranty-disclaimer": "FSF All Permissive License (without Warranty)",
FSFUL: "FSF Unlimited License",
FSFULLR: "FSF Unlimited License (with License Retention)",
FSFULLRSD: "FSF Unlimited License (with License Retention and Short Disclaimer)",
FSFULLRWD: "FSF Unlimited License (With License Retention and Warranty Disclaimer)",
"FSL-1.1-ALv2": "Functional Source License, Version 1.1, ALv2 Future License",
"FSL-1.1-MIT": "Functional Source License, Version 1.1, MIT Future License",
FTL: "Freetype Project License",
Furuseth: "Furuseth License",
fwlw: "fwlw License",
"Game-Programming-Gems": "Game Programming Gems License",
"GCR-docs": "Gnome GCR Documentation License",
GD: "GD License",
"generic-xts": "Generic XTS License",
"GFDL-1.1": "GNU Free Documentation License v1.1",
"GFDL-1.1-invariants-only": "GNU Free Documentation License v1.1 only - invariants",
"GFDL-1.1-invariants-or-later": "GNU Free Documentation License v1.1 or later - invariants",
"GFDL-1.1-no-invariants-only": "GNU Free Documentation License v1.1 only - no invariants",
"GFDL-1.1-no-invariants-or-later": "GNU Free Documentation License v1.1 or later - no invariants",
"GFDL-1.1-only": "GNU Free Documentation License v1.1 only",
"GFDL-1.1-or-later": "GNU Free Documentation License v1.1 or later",
"GFDL-1.2": "GNU Free Documentation License v1.2",
"GFDL-1.2-invariants-only": "GNU Free Documentation License v1.2 only - invariants",
"GFDL-1.2-invariants-or-later": "GNU Free Documentation License v1.2 or later - invariants",
"GFDL-1.2-no-invariants-only": "GNU Free Documentation License v1.2 only - no invariants",
"GFDL-1.2-no-invariants-or-later": "GNU Free Documentation License v1.2 or later - no invariants",
"GFDL-1.2-only": "GNU Free Documentation License v1.2 only",
"GFDL-1.2-or-later": "GNU Free Documentation License v1.2 or later",
"GFDL-1.3": "GNU Free Documentation License v1.3",
"GFDL-1.3-invariants-only": "GNU Free Documentation License v1.3 only - invariants",
"GFDL-1.3-invariants-or-later": "GNU Free Documentation License v1.3 or later - invariants",
"GFDL-1.3-no-invariants-only": "GNU Free Documentation License v1.3 only - no invariants",
"GFDL-1.3-no-invariants-or-later": "GNU Free Documentation License v1.3 or later - no invariants",
"GFDL-1.3-only": "GNU Free Documentation License v1.3 only",
"GFDL-1.3-or-later": "GNU Free Documentation License v1.3 or later",
Giftware: "Giftware License",
GL2PS: "GL2PS License",
Glide: "3dfx Glide License",
Glulxe: "Glulxe License",
GLWTPL: "Good Luck With That Public License",
gnuplot: "gnuplot License",
"GPL-1.0": "GNU General Public License v1.0 only",
"GPL-1.0+": "GNU General Public License v1.0 or later",
"GPL-1.0-only": "GNU General Public License v1.0 only",
"GPL-1.0-or-later": "GNU General Public License v1.0 or later",
"GPL-2.0": "GNU General Public License v2.0 only",
"GPL-2.0+": "GNU General Public License v2.0 or later",
"GPL-2.0-only": "GNU General Public License v2.0 only",
"GPL-2.0-or-later": "GNU General Public License v2.0 or later",
"GPL-2.0-with-autoconf-exception": "GNU General Public License v2.0 w/Autoconf exception",
"GPL-2.0-with-bison-exception": "GNU General Public License v2.0 w/Bison exception",
"GPL-2.0-with-classpath-exception": "GNU General Public License v2.0 w/Classpath exception",
"GPL-2.0-with-font-exception": "GNU General Public License v2.0 w/Font exception",
"GPL-2.0-with-GCC-exception": "GNU General Public License v2.0 w/GCC Runtime Library exception",
"GPL-3.0": "GNU General Public License v3.0 only",
"GPL-3.0+": "GNU General Public License v3.0 or later",
"GPL-3.0-only": "GNU General Public License v3.0 only",
"GPL-3.0-or-later": "GNU General Public License v3.0 or later",
"GPL-3.0-with-autoconf-exception": "GNU General Public License v3.0 w/Autoconf exception",
"GPL-3.0-with-GCC-exception": "GNU General Public License v3.0 w/GCC Runtime Library exception",
"Graphics-Gems": "Graphics Gems License",
"gSOAP-1.3b": "gSOAP Public License v1.3b",
gtkbook: "gtkbook License",
Gutmann: "Gutmann License",
HaskellReport: "Haskell Language Report License",
HDF5: "HDF5 License",
hdparm: "hdparm License",
HIDAPI: "HIDAPI License",
"Hippocratic-2.1": "Hippocratic License 2.1",
"HP-1986": "Hewlett-Packard 1986 License",
"HP-1989": "Hewlett-Packard 1989 License",
HPND: "Historical Permission Notice and Disclaimer",
"HPND-DEC": "Historical Permission Notice and Disclaimer - DEC variant",
"HPND-doc": "Historical Permission Notice and Disclaimer - documentation variant",
"HPND-doc-sell": "Historical Permission Notice and Disclaimer - documentation sell variant",
"HPND-export-US": "HPND with US Government export control warning",
"HPND-export-US-acknowledgement": "HPND with US Government export control warning and acknowledgment",
"HPND-export-US-modify": "HPND with US Government export control warning and modification rqmt",
"HPND-export2-US": "HPND with US Government export control and 2 disclaimers",
"HPND-Fenneberg-Livingston": "Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant",
"HPND-INRIA-IMAG": "Historical Permission Notice and Disclaimer - INRIA-IMAG variant",
"HPND-Intel": "Historical Permission Notice and Disclaimer - Intel variant",
"HPND-Kevlin-Henney": "Historical Permission Notice and Disclaimer - Kevlin Henney variant",
"HPND-Markus-Kuhn": "Historical Permission Notice and Disclaimer - Markus Kuhn variant",
"HPND-merchantability-variant": "Historical Permission Notice and Disclaimer - merchantability variant",
"HPND-MIT-disclaimer": "Historical Permission Notice and Disclaimer with MIT disclaimer",
"HPND-Netrek": "Historical Permission Notice and Disclaimer - Netrek variant",
"HPND-Pbmplus": "Historical Permission Notice and Disclaimer - Pbmplus variant",
"HPND-sell-MIT-disclaimer-xserver": "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer",
"HPND-sell-regexpr": "Historical Permission Notice and Disclaimer - sell regexpr variant",
"HPND-sell-variant": "Historical Permission Notice and Disclaimer - sell variant",
"HPND-sell-variant-critical-systems": "HPND - sell variant with safety critical systems clause",
"HPND-sell-variant-MIT-disclaimer": "HPND sell variant with MIT disclaimer",
"HPND-sell-variant-MIT-disclaimer-rev": "HPND sell variant with MIT disclaimer - reverse",
"HPND-SMC": "Historical Permission Notice and Disclaimer - SMC variant",
"HPND-UC": "Historical Permission Notice and Disclaimer - University of California variant",
"HPND-UC-export-US": "Historical Permission Notice and Disclaimer - University of California, US export warning",
HTMLTIDY: "HTML Tidy License",
"hyphen-bulgarian": "hyphen-bulgarian License",
"IBM-pibs": "IBM PowerPC Initialization and Boot Software",
ICU: "ICU License",
"IEC-Code-Components-EULA": "IEC Code Components End-user licence agreement",
IJG: "Independent JPEG Group License",
"IJG-short": "Independent JPEG Group License - short",
ImageMagick: "ImageMagick License",
iMatix: "iMatix Standard Function Library Agreement",
Imlib2: "Imlib2 License",
"Info-ZIP": "Info-ZIP License",
"Inner-Net-2.0": "Inner Net License v2.0",
InnoSetup: "Inno Setup License",
Intel: "Intel Open Source License",
"Intel-ACPI": "Intel ACPI Software License Agreement",
"Interbase-1.0": "Interbase Public License v1.0",
IPA: "IPA Font License",
"IPL-1.0": "IBM Public License v1.0",
ISC: "ISC License",
"ISC-Veillard": "ISC Veillard variant",
"ISO-permission": "ISO permission notice",
Jam: "Jam License",
"JasPer-2.0": "JasPer License",
jove: "Jove License",
"JPL-image": "JPL Image Use Policy",
JPNIC: "Japan Network Information Center License",
JSON: "JSON License",
Kastrup: "Kastrup License",
Kazlib: "Kazlib License",
"Knuth-CTAN": "Knuth CTAN License",
"LAL-1.2": "Licence Art Libre 1.2",
"LAL-1.3": "Licence Art Libre 1.3",
Latex2e: "Latex2e License",
"Latex2e-translated-notice": "Latex2e with translated notice permission",
Leptonica: "Leptonica License",
"LGPL-2.0": "GNU Library General Public License v2 only",
"LGPL-2.0+": "GNU Library General Public License v2 or later",
"LGPL-2.0-only": "GNU Library General Public License v2 only",
"LGPL-2.0-or-later": "GNU Library General Public License v2 or later",
"LGPL-2.1": "GNU Lesser General Public License v2.1 only",
"LGPL-2.1+": "GNU Lesser General Public License v2.1 or later",
"LGPL-2.1-only": "GNU Lesser General Public License v2.1 only",
"LGPL-2.1-or-later": "GNU Lesser General Public License v2.1 or later",
"LGPL-3.0": "GNU Lesser General Public License v3.0 only",
"LGPL-3.0+": "GNU Lesser General Public License v3.0 or later",
"LGPL-3.0-only": "GNU Lesser General Public License v3.0 only",
"LGPL-3.0-or-later": "GNU Lesser General Public License v3.0 or later",
LGPLLR: "Lesser General Public License For Linguistic Resources",
Libpng: "libpng License",
"libpng-1.6.35": "PNG Reference Library License v1 (for libpng 0.5 through 1.6.35)",
"libpng-2.0": "PNG Reference Library version 2",
"libselinux-1.0": "libselinux public domain notice",
libtiff: "libtiff License",
"libutil-David-Nugent": "libutil David Nugent License",
"LiLiQ-P-1.1": "Licence Libre du Qu\xE9bec \u2013 Permissive version 1.1",
"LiLiQ-R-1.1": "Licence Libre du Qu\xE9bec \u2013 R\xE9ciprocit\xE9 version 1.1",
"LiLiQ-Rplus-1.1": "Licence Libre du Qu\xE9bec \u2013 R\xE9ciprocit\xE9 forte version 1.1",
"Linux-man-pages-1-para": "Linux man-pages - 1 paragraph",
"Linux-man-pages-copyleft": "Linux man-pages Copyleft",
"Linux-man-pages-copyleft-2-para": "Linux man-pages Copyleft - 2 paragraphs",
"Linux-man-pages-copyleft-var": "Linux man-pages Copyleft Variant",
"Linux-OpenIB": "Linux Kernel Variant of OpenIB.org license",
LOOP: "Common Lisp LOOP License",
"LPD-document": "LPD Documentation License",
"LPL-1.0": "Lucent Public License Version 1.0",
"LPL-1.02": "Lucent Public License v1.02",
"LPPL-1.0": "LaTeX Project Public License v1.0",
"LPPL-1.1": "LaTeX Project Public License v1.1",
"LPPL-1.2": "LaTeX Project Public License v1.2",
"LPPL-1.3a": "LaTeX Project Public License v1.3a",
"LPPL-1.3c": "LaTeX Project Public License v1.3c",
lsof: "lsof License",
"Lucida-Bitmap-Fonts": "Lucida Bitmap Fonts License",
"LZMA-SDK-9.11-to-9.20": "LZMA SDK License (versions 9.11 to 9.20)",
"LZMA-SDK-9.22": "LZMA SDK License (versions 9.22 and beyond)",
"Mackerras-3-Clause": "Mackerras 3-Clause License",
"Mackerras-3-Clause-acknowledgment": "Mackerras 3-Clause - acknowledgment variant",
magaz: "magaz License",
mailprio: "mailprio License",
MakeIndex: "MakeIndex License",
man2html: "man2html License",
"Martin-Birgmeier": "Martin Birgmeier License",
"McPhee-slideshow": "McPhee Slideshow License",
metamail: "metamail License",
Minpack: "Minpack License",
MIPS: "MIPS License",
MirOS: "The MirOS Licence",
MIT: "MIT License",
"MIT-0": "MIT No Attribution",
"MIT-advertising": "Enlightenment License (e16)",
"MIT-Click": "MIT Click License",
"MIT-CMU": "CMU License",
"MIT-enna": "enna License",
"MIT-feh": "feh License",
"MIT-Festival": "MIT Festival Variant",
"MIT-Khronos-old": "MIT Khronos - old variant",
"MIT-Modern-Variant": "MIT License Modern Variant",
"MIT-open-group": "MIT Open Group variant",
"MIT-STK": "MIT-STK License",
"MIT-testregex": "MIT testregex Variant",
"MIT-Wu": "MIT Tom Wu Variant",
MITNFA: "MIT +no-false-attribs license",
MMIXware: "MMIXware License",
"MMPL-1.0.1": "Minecraft Mod Public License v1.0.1",
Motosoto: "Motosoto License",
"MPEG-SSG": "MPEG Software Simulation",
"mpi-permissive": "mpi Permissive License",
mpich2: "mpich2 License",
"MPL-1.0": "Mozilla Public License 1.0",
"MPL-1.1": "Mozilla Public License 1.1",
"MPL-2.0": "Mozilla Public License 2.0",
"MPL-2.0-no-copyleft-exception": "Mozilla Public License 2.0 (no copyleft exception)",
mplus: "mplus Font License",
"MS-LPL": "Microsoft Limited Public License",
"MS-PL": "Microsoft Public License",
"MS-RL": "Microsoft Reciprocal License",
MTLL: "Matrix Template Library License",
"MulanPSL-1.0": "Mulan Permissive Software License, Version 1",
"MulanPSL-2.0": "Mulan Permissive Software License, Version 2",
Multics: "Multics License",
Mup: "Mup License",
"NAIST-2003": "Nara Institute of Science and Technology License (2003)",
"NASA-1.3": "NASA Open Source Agreement 1.3",
Naumen: "Naumen Public License",
"NBPL-1.0": "Net Boolean Public License v1",
"NCBI-PD": "NCBI Public Domain Notice",
"NCGL-UK-2.0": "Non-Commercial Government Licence",
NCL: "NCL Source Code License",
NCSA: "University of Illinois/NCSA Open Source License",
"Net-SNMP": "Net-SNMP License",
NetCDF: "NetCDF license",
Newsletr: "Newsletr License",
NGPL: "Nethack General Public License",
ngrep: "ngrep License",
"NICTA-1.0": "NICTA Public Software License, Version 1.0",
"NIST-PD": "NIST Public Domain Notice",
"NIST-PD-fallback": "NIST Public Domain Notice with license fallback",
"NIST-PD-TNT": "NIST Public Domain Notice TNT variant",
"NIST-Software": "NIST Software License",
"NLOD-1.0": "Norwegian Licence for Open Government Data (NLOD) 1.0",
"NLOD-2.0": "Norwegian Licence for Open Government Data (NLOD) 2.0",
NLPL: "No Limit Public License",
Nokia: "Nokia Open Source License",
NOSL: "Netizen Open Source License",
Noweb: "Noweb License",
"NPL-1.0": "Netscape Public License v1.0",
"NPL-1.1": "Netscape Public License v1.1",
"NPOSL-3.0": "Non-Profit Open Software License 3.0",
NRL: "NRL License",
"NTIA-PD": "NTIA Public Domain Notice",
NTP: "NTP License",
"NTP-0": "NTP No Attribution",
Nunit: "Nunit License",
"O-UDA-1.0": "Open Use of Data Agreement v1.0",
OAR: "OAR License",
"OCCT-PL": "Open CASCADE Technology Public License",
"OCLC-2.0": "OCLC Research Public License 2.0",
"ODbL-1.0": "Open Data Commons Open Database License v1.0",
"ODC-By-1.0": "Open Data Commons Attribution License v1.0",
OFFIS: "OFFIS License",
"OFL-1.0": "SIL Open Font License 1.0",
"OFL-1.0-no-RFN": "SIL Open Font License 1.0 with no Reserved Font Name",
"OFL-1.0-RFN": "SIL Open Font License 1.0 with Reserved Font Name",
"OFL-1.1": "SIL Open Font License 1.1",
"OFL-1.1-no-RFN": "SIL Open Font License 1.1 with no Reserved Font Name",
"OFL-1.1-RFN": "SIL Open Font License 1.1 with Reserved Font Name",
"OGC-1.0": "OGC Software License, Version 1.0",
"OGDL-Taiwan-1.0": "Taiwan Open Government Data License, version 1.0",
"OGL-Canada-2.0": "Open Government Licence - Canada",
"OGL-UK-1.0": "Open Government Licence v1.0",
"OGL-UK-2.0": "Open Government Licence v2.0",
"OGL-UK-3.0": "Open Government Licence v3.0",
OGTSL: "Open Group Test Suite License",
"OLDAP-1.1": "Open LDAP Public License v1.1",
"OLDAP-1.2": "Open LDAP Public License v1.2",
"OLDAP-1.3": "Open LDAP Public License v1.3",
"OLDAP-1.4": "Open LDAP Public License v1.4",
"OLDAP-2.0": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",
"OLDAP-2.0.1": "Open LDAP Public License v2.0.1",
"OLDAP-2.1": "Open LDAP Public License v2.1",
"OLDAP-2.2": "Open LDAP Public License v2.2",
"OLDAP-2.2.1": "Open LDAP Public License v2.2.1",
"OLDAP-2.2.2": "Open LDAP Public License 2.2.2",
"OLDAP-2.3": "Open LDAP Public License v2.3",
"OLDAP-2.4": "Open LDAP Public License v2.4",
"OLDAP-2.5": "Open LDAP Public License v2.5",
"OLDAP-2.6": "Open LDAP Public License v2.6",
"OLDAP-2.7": "Open LDAP Public License v2.7",
"OLDAP-2.8": "Open LDAP Public License v2.8",
"OLFL-1.3": "Open Logistics Foundation License Version 1.3",
OML: "Open Market License",
"OpenMDW-1.0": "OpenMDW License Agreement v1.0",
"OpenPBS-2.3": "OpenPBS v2.3 Software License",
OpenSSL: "OpenSSL License",
"OpenSSL-standalone": "OpenSSL License - standalone",
OpenVision: "OpenVision License",
"OPL-1.0": "Open Public License v1.0",
"OPL-UK-3.0": "United Kingdom Open Parliament Licence v3.0",
"OPUBL-1.0": "Open Publication License v1.0",
"OSC-1.0": "OSC License 1.0",
"OSET-PL-2.1": "OSET Public License version 2.1",
"OSL-1.0": "Open Software License 1.0",
"OSL-1.1": "Open Software License 1.1",
"OSL-2.0": "Open Software License 2.0",
"OSL-2.1": "Open Software License 2.1",
"OSL-3.0": "Open Software License 3.0",
OSSP: "OSSP License",
PADL: "PADL License",
"ParaType-Free-Font-1.3": "ParaType Free Font Licensing Agreement v1.3",
"Parity-6.0.0": "The Parity Public License 6.0.0",
"Parity-7.0.0": "The Parity Public License 7.0.0",
"PDDL-1.0": "Open Data Commons Public Domain Dedication & License 1.0",
"PHP-3.0": "PHP License v3.0",
"PHP-3.01": "PHP License v3.01",
Pixar: "Pixar License",
pkgconf: "pkgconf License",
Plexus: "Plexus Classworlds License",
pnmstitch: "pnmstitch License",
"PolyForm-Noncommercial-1.0.0": "PolyForm Noncommercial License 1.0.0",
"PolyForm-Small-Business-1.0.0": "PolyForm Small Business License 1.0.0",
PostgreSQL: "PostgreSQL License",
PPL: "Peer Production License",
"PSF-2.0": "Python Software Foundation License 2.0",
psfrag: "psfrag License",
psutils: "psutils License",
"Python-2.0": "Python License 2.0",
"Python-2.0.1": "Python License 2.0.1",
"python-ldap": "Python ldap License",
Qhull: "Qhull License",
"QPL-1.0": "Q Public License 1.0",
"QPL-1.0-INRIA-2004": "Q Public License 1.0 - INRIA 2004 variant",
radvd: "radvd License",
Rdisc: "Rdisc License",
"RHeCos-1.1": "Red Hat eCos Public License v1.1",
"RPL-1.1": "Reciprocal Public License 1.1",
"RPL-1.5": "Reciprocal Public License 1.5",
"RPSL-1.0": "RealNetworks Public Source License v1.0",
"RSA-MD": "RSA Message-Digest License",
RSCPL: "Ricoh Source Code Public License",
Ruby: "Ruby License",
"Ruby-pty": "Ruby pty extension license",
"SAX-PD": "Sax Public Domain Notice",
"SAX-PD-2.0": "Sax Public Domain Notice 2.0",
Saxpath: "Saxpath License",
SCEA: "SCEA Shared Source License",
SchemeReport: "Scheme Language Report License",
Sendmail: "Sendmail License",
"Sendmail-8.23": "Sendmail License 8.23",
"Sendmail-Open-Source-1.1": "Sendmail Open Source License v1.1",
"SGI-B-1.0": "SGI Free Software License B v1.0",
"SGI-B-1.1": "SGI Free Software License B v1.1",
"SGI-B-2.0": "SGI Free Software License B v2.0",
"SGI-OpenGL": "SGI OpenGL License",
"SGMLUG-PM": "SGMLUG Parser Materials License",
SGP4: "SGP4 Permission Notice",
"SHL-0.5": "Solderpad Hardware License v0.5",
"SHL-0.51": "Solderpad Hardware License, Version 0.51",
"SimPL-2.0": "Simple Public License 2.0",
SISSL: "Sun Industry Standards Source License v1.1",
"SISSL-1.2": "Sun Industry Standards Source License v1.2",
SL: "SL License",
Sleepycat: "Sleepycat License",
"SMAIL-GPL": "SMAIL General Public License",
SMLNJ: "Standard ML of New Jersey License",
SMPPL: "Secure Messaging Protocol Public License",
SNIA: "SNIA Public License 1.1",
snprintf: "snprintf License",
SOFA: "SOFA Software License",
softSurfer: "softSurfer License",
Soundex: "Soundex License",
"Spencer-86": "Spencer License 86",
"Spencer-94": "Spencer License 94",
"Spencer-99": "Spencer License 99",
"SPL-1.0": "Sun Public License v1.0",
"ssh-keyscan": "ssh-keyscan License",
"SSH-OpenSSH": "SSH OpenSSH license",
"SSH-short": "SSH short notice",
"SSLeay-standalone": "SSLeay License - standalone",
"SSPL-1.0": "Server Side Public License, v 1",
"StandardML-NJ": "Standard ML of New Jersey License",
"SugarCRM-1.1.3": "SugarCRM Public License v1.1.3",
"SUL-1.0": "Sustainable Use License v1.0",
"Sun-PPP": "Sun PPP License",
"Sun-PPP-2000": "Sun PPP License (2000)",
SunPro: "SunPro License",
SWL: "Scheme Widget Library (SWL) Software License Agreement",
swrule: "swrule License",
Symlinks: "Symlinks License",
"TAPR-OHL-1.0": "TAPR Open Hardware License v1.0",
TCL: "TCL/TK License",
"TCP-wrappers": "TCP Wrappers License",
TekHVC: "TekHVC License",
TermReadKey: "TermReadKey License",
"TGPPL-1.0": "Transitive Grace Period Public Licence 1.0",
ThirdEye: "ThirdEye License",
threeparttable: "threeparttable License",
TMate: "TMate Open Source License",
"TORQUE-1.1": "TORQUE v2.5+ Software License v1.1",
TOSL: "Trusster Open Source License",
TPDL: "Time::ParseDate License",
"TPL-1.0": "THOR Public License 1.0",
TrustedQSL: "TrustedQSL License",
TTWL: "Text-Tabs+Wrap License",
TTYP0: "TTYP0 License",
"TU-Berlin-1.0": "Technische Universitaet Berlin License 1.0",
"TU-Berlin-2.0": "Technische Universitaet Berlin License 2.0",
"Ubuntu-font-1.0": "Ubuntu Font Licence v1.0",
UCAR: "UCAR License",
"UCL-1.0": "Upstream Compatibility License v1.0",
ulem: "ulem License",
"UMich-Merit": "Michigan/Merit Networks License",
"Unicode-3.0": "Unicode License v3",
"Unicode-DFS-2015": "Unicode License Agreement - Data Files and Software (2015)",
"Unicode-DFS-2016": "Unicode License Agreement - Data Files and Software (2016)",
"Unicode-TOU": "Unicode Terms of Use",
UnixCrypt: "UnixCrypt License",
Unlicense: "The Unlicense",
"Unlicense-libtelnet": "Unlicense - libtelnet variant",
"Unlicense-libwhirlpool": "Unlicense - libwhirlpool variant",
UnRAR: "UnRAR License",
"UPL-1.0": "Universal Permissive License v1.0",
"URT-RLE": "Utah Raster Toolkit Run Length Encoded License",
Vim: "Vim License",
"Vixie-Cron": "Vixie Cron License",
VOSTROM: "VOSTROM Public License for Open Source",
"VSL-1.0": "Vovida Software License v1.0",
W3C: "W3C Software Notice and License (2002-12-31)",
"W3C-19980720": "W3C Software Notice and License (1998-07-20)",
"W3C-20150513": "W3C Software Notice and Document License (2015-05-13)",
w3m: "w3m License",
"Watcom-1.0": "Sybase Open Watcom Public License 1.0",
"Widget-Workshop": "Widget Workshop License",
WordNet: "WordNet License",
Wsuipa: "Wsuipa License",
WTFNMFPL: "Do What The F*ck You Want To But It's Not My Fault Public License",
WTFPL: "Do What The F*ck You Want To Public License",
wwl: "WWL License",
wxWindows: "wxWindows Library License",
X11: "X11 License",
"X11-distribute-modifications-variant": "X11 License Distribution Modification Variant",
"X11-no-permit-persons": "X11 no permit persons clause",
"X11-swapped": "X11 swapped final paragraphs",
"Xdebug-1.03": "Xdebug License v 1.03",
Xerox: "Xerox License",
Xfig: "Xfig License",
"XFree86-1.1": "XFree86 License 1.1",
xinetd: "xinetd License",
"xkeyboard-config-Zinoviev": "xkeyboard-config Zinoviev License",
xlock: "xlock License",
Xnet: "X.Net License",
xpp: "XPP License",
XSkat: "XSkat License",
xzoom: "xzoom License",
"YPL-1.0": "Yahoo! Public License v1.0",
"YPL-1.1": "Yahoo! Public License v1.1",
Zed: "Zed License",
Zeeff: "Zeeff License",
"Zend-2.0": "Zend License v2.0",
"Zimbra-1.3": "Zimbra Public License v1.3",
"Zimbra-1.4": "Zimbra Public License v1.4",
Zlib: "zlib License",
"zlib-acknowledgement": "zlib/libpng License with Acknowledgement",
"ZPL-1.1": "Zope Public License 1.1",
"ZPL-2.0": "Zope Public License 2.0",
"ZPL-2.1": "Zope Public License 2.1",
"389-exception": "389 Directory Server Exception",
"Asterisk-exception": "Asterisk exception",
"Asterisk-linking-protocols-exception": "Asterisk linking protocols exception",
"Autoconf-exception-2.0": "Autoconf exception 2.0",
"Autoconf-exception-3.0": "Autoconf exception 3.0",
"Autoconf-exception-generic": "Autoconf generic exception",
"Autoconf-exception-generic-3.0": "Autoconf generic exception for GPL-3.0",
"Autoconf-exception-macro": "Autoconf macro exception",
"Bison-exception-1.24": "Bison exception 1.24",
"Bison-exception-2.2": "Bison exception 2.2",
"Bootloader-exception": "Bootloader Distribution Exception",
"CGAL-linking-exception": "CGAL Linking Exception",
"Classpath-exception-2.0": "Classpath exception 2.0",
"Classpath-exception-2.0-short": "Classpath exception 2.0 - short",
"CLISP-exception-2.0": "CLISP exception 2.0",
"cryptsetup-OpenSSL-exception": "cryptsetup OpenSSL exception",
"Digia-Qt-LGPL-exception-1.1": "Digia Qt LGPL Exception version 1.1",
"DigiRule-FOSS-exception": "DigiRule FOSS License Exception",
"eCos-exception-2.0": "eCos exception 2.0",
"erlang-otp-linking-exception": "Erlang/OTP Linking Exception",
"Fawkes-Runtime-exception": "Fawkes Runtime Exception",
"FLTK-exception": "FLTK exception",
"fmt-exception": "fmt exception",
"Font-exception-2.0": "Font exception 2.0",
"freertos-exception-2.0": "FreeRTOS Exception 2.0",
"GCC-exception-2.0": "GCC Runtime Library exception 2.0",
"GCC-exception-2.0-note": "GCC Runtime Library exception 2.0 - note variant",
"GCC-exception-3.1": "GCC Runtime Library exception 3.1",
"Gmsh-exception": "Gmsh exception",
"GNAT-exception": "GNAT exception",
"GNOME-examples-exception": "GNOME examples exception",
"GNU-compiler-exception": "GNU Compiler Exception",
"gnu-javamail-exception": "GNU JavaMail exception",
"GPL-3.0-389-ds-base-exception": "GPL-3.0 389 DS Base Exception",
"GPL-3.0-interface-exception": "GPL-3.0 Interface Exception",
"GPL-3.0-linking-exception": "GPL-3.0 Linking Exception",
"GPL-3.0-linking-source-exception": "GPL-3.0 Linking Exception (with Corresponding Source)",
"GPL-CC-1.0": "GPL Cooperation Commitment 1.0",
"GStreamer-exception-2005": "GStreamer Exception (2005)",
"GStreamer-exception-2008": "GStreamer Exception (2008)",
"harbour-exception": "harbour exception",
"i2p-gpl-java-exception": "i2p GPL+Java Exception",
"Independent-modules-exception": "Independent Module Linking exception",
"KiCad-libraries-exception": "KiCad Libraries Exception",
"kvirc-openssl-exception": "kvirc OpenSSL Exception",
"LGPL-3.0-linking-exception": "LGPL-3.0 Linking Exception",
"libpri-OpenH323-exception": "libpri OpenH323 exception",
"Libtool-exception": "Libtool Exception",
"Linux-syscall-note": "Linux Syscall Note",
LLGPL: "LLGPL Preamble",
"LLVM-exception": "LLVM Exception",
"LZMA-exception": "LZMA exception",
"mif-exception": "Macros and Inline Functions Exception",
"mxml-exception": "mxml Exception",
"Nokia-Qt-exception-1.1": "Nokia Qt LGPL exception 1.1",
"OCaml-LGPL-linking-exception": "OCaml LGPL Linking Exception",
"OCCT-exception-1.0": "Open CASCADE Exception 1.0",
"OpenJDK-assembly-exception-1.0": "OpenJDK Assembly exception 1.0",
"openvpn-openssl-exception": "OpenVPN OpenSSL Exception",
"PCRE2-exception": "PCRE2 exception",
"polyparse-exception": "Polyparse Exception",
"PS-or-PDF-font-exception-20170817": "PS/PDF font exception (2017-08-17)",
"QPL-1.0-INRIA-2004-exception": "INRIA QPL 1.0 2004 variant exception",
"Qt-GPL-exception-1.0": "Qt GPL exception 1.0",
"Qt-LGPL-exception-1.1": "Qt LGPL exception 1.1",
"Qwt-exception-1.0": "Qwt exception 1.0",
"romic-exception": "Romic Exception",
"RRDtool-FLOSS-exception-2.0": "RRDtool FLOSS exception 2.0",
"rsync-linking-exception": "rsync Linking Exception",
"SANE-exception": "SANE Exception",
"SHL-2.0": "Solderpad Hardware License v2.0",
"SHL-2.1": "Solderpad Hardware License v2.1",
"Simple-Library-Usage-exception": "Simple Library Usage Exception",
"sqlitestudio-OpenSSL-exception": "sqlitestudio OpenSSL exception",
"stunnel-exception": "stunnel Exception",
"SWI-exception": "SWI exception",
"Swift-exception": "Swift Exception",
"Texinfo-exception": "Texinfo exception",
"u-boot-exception-2.0": "U-Boot exception 2.0",
"UBDL-exception": "Unmodified Binary Distribution exception",
"Universal-FOSS-exception-1.0": "Universal FOSS Exception, Version 1.0",
"vsftpd-openssl-exception": "vsftpd OpenSSL exception",
"WxWindows-exception-3.1": "WxWindows Library Exception 3.1",
"x11vnc-openssl-exception": "x11vnc OpenSSL Exception"
}
};
}
});
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@cyclonedx/cyclonedx-library/10.1.0/e0d0ba29cdd468daa2662f4a03a1d4f658d0e8c97e23d874bd810a4a3bf42d95/node_modules/@cyclonedx/cyclonedx-library/dist.node/spdx.js
var require_spdx = __commonJS({
"../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@cyclonedx/cyclonedx-library/10.1.0/e0d0ba29cdd468daa2662f4a03a1d4f658d0e8c97e23d874bd810a4a3bf42d95/node_modules/@cyclonedx/cyclonedx-library/dist.node/spdx.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isSupportedSpdxId = isSupportedSpdxId2;
exports2.fixupSpdxId = fixupSpdxId2;
var spdx_SNAPSHOT_schema_json_1 = require_spdx_SNAPSHOT_schema();
var spdxIds = new Set(spdx_SNAPSHOT_schema_json_1.enum);
var spdxLowerToActual = Object.freeze(Object.fromEntries(spdx_SNAPSHOT_schema_json_1.enum.map((spdxId) => [spdxId.toLowerCase(), spdxId])));
function isSupportedSpdxId2(value) {
return spdxIds.has(value);
}
function fixupSpdxId2(value) {
return typeof value === "string" && value.length > 0 ? spdxLowerToActual[value.toLowerCase()] : void 0;
}
}
});
// ../deps/compliance/sbom/lib/license.js
function classifyLicense(license) {
const fixedId = (0, import_SPDX.fixupSpdxId)(license);
if (fixedId != null && (0, import_SPDX.isSupportedSpdxId)(fixedId)) {
return { license: { id: fixedId } };
}
if (isSpdxExpression(license)) {
return { expression: license };
}
return { license: { name: license } };
}
function isSpdxExpression(license) {
return /\b(?:AND|OR|WITH)\b/.test(license);
}
var import_SPDX;
var init_license = __esm({
"../deps/compliance/sbom/lib/license.js"() {
"use strict";
import_SPDX = __toESM(require_spdx(), 1);
}
});
// ../deps/compliance/sbom/lib/serializeCycloneDx.js
import crypto11 from "node:crypto";
function serializeCycloneDx(result2, opts3) {
const { rootComponent, components, relationships } = result2;
const rootBomRef = `pkg:npm/${encodePurlName(rootComponent.name)}@${rootComponent.version}`;
const bomComponents = components.map((comp) => {
const { group, name } = splitScopedName(comp.name);
const cdxComp = {
type: "library",
name,
version: comp.version,
purl: comp.purl,
"bom-ref": comp.purl
};
if (comp.depType === DepType.DevOnly) {
cdxComp.scope = "excluded";
cdxComp.properties = [{ name: "cdx:npm:package:development", value: "true" }];
}
if (group) {
cdxComp.group = group;
}
if (comp.description) {
cdxComp.description = comp.description;
}
if (comp.author) {
cdxComp.authors = [{ name: comp.author }];
}
if (comp.license) {
cdxComp.licenses = [classifyLicense(comp.license)];
}
const externalRefs = [];
if (comp.tarballUrl) {
const hashes = integrityToHashes(comp.integrity);
const distRef = {
type: "distribution",
url: comp.tarballUrl
};
if (hashes.length > 0) {
distRef.hashes = hashes.map((h2) => ({
alg: h2.algorithm,
content: h2.digest
}));
}
externalRefs.push(distRef);
}
if (comp.homepage) {
externalRefs.push({
type: "website",
url: comp.homepage
});
}
if (comp.repository) {
externalRefs.push({
type: "vcs",
url: comp.repository
});
}
if (comp.bugsUrl) {
externalRefs.push({
type: "issue-tracker",
url: comp.bugsUrl
});
}
if (externalRefs.length > 0) {
cdxComp.externalReferences = externalRefs;
}
return cdxComp;
});
const depMap = /* @__PURE__ */ new Map();
depMap.set(rootBomRef, []);
for (const comp of components) {
depMap.set(comp.purl, []);
}
for (const rel of relationships) {
const deps = depMap.get(rel.from);
if (deps) {
deps.push(rel.to);
}
}
const bomDependencies = Array.from(depMap.entries()).map(([ref, dependsOn]) => ({
ref,
dependsOn: [...new Set(dependsOn)]
}));
const { group: rootGroup, name: rootName } = splitScopedName(rootComponent.name);
const rootCdxComponent = {
type: rootComponent.type,
name: rootName,
version: rootComponent.version,
purl: rootBomRef,
"bom-ref": rootBomRef
};
if (rootGroup) {
rootCdxComponent.group = rootGroup;
}
if (rootComponent.author) {
rootCdxComponent.authors = [{ name: rootComponent.author }];
}
if (rootComponent.license) {
rootCdxComponent.licenses = [classifyLicense(rootComponent.license)];
}
if (rootComponent.description) {
rootCdxComponent.description = rootComponent.description;
}
const rootExternalRefs = [];
if (rootComponent.repository) {
rootExternalRefs.push({ type: "vcs", url: rootComponent.repository });
}
if (rootComponent.bugsUrl) {
rootExternalRefs.push({ type: "issue-tracker", url: rootComponent.bugsUrl });
}
if (rootExternalRefs.length > 0) {
rootCdxComponent.externalReferences = rootExternalRefs;
}
const toolComponents = [];
if (opts3?.pnpmVersion) {
toolComponents.push({
type: "application",
name: "pnpm",
version: opts3.pnpmVersion
});
}
const metadata = {
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
lifecycles: [{ phase: opts3?.lockfileOnly ? "pre-build" : "build" }],
tools: { components: toolComponents },
component: rootCdxComponent
};
if (opts3?.sbomAuthors?.length) {
metadata.authors = opts3.sbomAuthors.map((name) => ({ name }));
}
if (opts3?.sbomSupplier) {
metadata.supplier = { name: opts3.sbomSupplier };
}
const version2 = opts3?.specVersion || "1.7";
const bom = {
$schema: `http://cyclonedx.org/schema/bom-${version2}.schema.json`,
bomFormat: "CycloneDX",
specVersion: version2,
serialNumber: `urn:uuid:${crypto11.randomUUID()}`,
version: 1,
metadata,
components: bomComponents,
dependencies: bomDependencies
};
return JSON.stringify(bom, null, opts3?.compact ? void 0 : 2);
}
function splitScopedName(fullName) {
if (fullName.startsWith("@")) {
const slashIdx = fullName.indexOf("/");
if (slashIdx > 0) {
return { group: fullName.slice(0, slashIdx), name: fullName.slice(slashIdx + 1) };
}
}
return { group: void 0, name: fullName };
}
var init_serializeCycloneDx = __esm({
"../deps/compliance/sbom/lib/serializeCycloneDx.js"() {
"use strict";
init_lib127();
init_integrity();
init_license();
init_purl();
}
});
// ../deps/compliance/sbom/lib/serializeSpdx.js
import crypto12 from "node:crypto";
function serializeSpdx(result2, opts3) {
const { rootComponent, components, relationships } = result2;
const rootSpdxId = "SPDXRef-RootPackage";
const documentNamespace = `https://spdx.org/spdxdocs/${sanitizeSpdxId(rootComponent.name)}-${rootComponent.version}-${crypto12.randomUUID()}`;
const rootPurl = `pkg:npm/${encodePurlName(rootComponent.name)}@${rootComponent.version}`;
const rootPackage = {
SPDXID: rootSpdxId,
name: rootComponent.name,
versionInfo: rootComponent.version,
downloadLocation: "NOASSERTION",
filesAnalyzed: false,
primaryPackagePurpose: rootComponent.type === "application" ? "APPLICATION" : "LIBRARY",
externalRefs: [
{
referenceCategory: "PACKAGE-MANAGER",
referenceType: "purl",
referenceLocator: rootPurl
}
]
};
if (rootComponent.license) {
rootPackage.licenseConcluded = rootComponent.license;
rootPackage.licenseDeclared = rootComponent.license;
} else {
rootPackage.licenseConcluded = "NOASSERTION";
rootPackage.licenseDeclared = "NOASSERTION";
}
rootPackage.copyrightText = "NOASSERTION";
if (rootComponent.description) {
rootPackage.description = rootComponent.description;
}
if (rootComponent.author) {
rootPackage.supplier = `Person: ${rootComponent.author}`;
}
if (rootComponent.repository) {
rootPackage.homepage = rootComponent.repository;
}
const purlToSpdxId = /* @__PURE__ */ new Map();
purlToSpdxId.set(rootPurl, rootSpdxId);
const spdxPackages = components.map((comp, idx) => {
const spdxId = `SPDXRef-Package-${sanitizeSpdxId(comp.name)}-${sanitizeSpdxId(comp.version)}-${idx}`;
purlToSpdxId.set(comp.purl, spdxId);
const pkg = {
SPDXID: spdxId,
name: comp.name,
versionInfo: comp.version,
downloadLocation: comp.tarballUrl ?? "NOASSERTION",
filesAnalyzed: false,
externalRefs: [
{
referenceCategory: "PACKAGE-MANAGER",
referenceType: "purl",
referenceLocator: comp.purl
}
]
};
if (comp.license) {
pkg.licenseConcluded = comp.license;
pkg.licenseDeclared = comp.license;
} else {
pkg.licenseConcluded = "NOASSERTION";
pkg.licenseDeclared = "NOASSERTION";
}
pkg.copyrightText = "NOASSERTION";
if (comp.description) {
pkg.description = comp.description;
}
if (comp.homepage) {
pkg.homepage = comp.homepage;
}
if (comp.author) {
pkg.supplier = `Person: ${comp.author}`;
}
const hashes = integrityToHashes(comp.integrity);
if (hashes.length > 0) {
pkg.checksums = hashes.map((h2) => ({
algorithm: spdxHashAlgorithm(h2.algorithm),
checksumValue: h2.digest
}));
}
return pkg;
});
const spdxRelationships = [
{
spdxElementId: "SPDXRef-DOCUMENT",
relatedSpdxElement: rootSpdxId,
relationshipType: "DESCRIBES"
}
];
const seenRelationships = /* @__PURE__ */ new Set();
for (const rel of relationships) {
const fromId = purlToSpdxId.get(rel.from);
const toId = purlToSpdxId.get(rel.to);
if (fromId && toId) {
const key = `${fromId}|${toId}`;
if (seenRelationships.has(key))
continue;
seenRelationships.add(key);
spdxRelationships.push({
spdxElementId: fromId,
relatedSpdxElement: toId,
relationshipType: "DEPENDS_ON"
});
}
}
const doc = {
spdxVersion: "SPDX-2.3",
dataLicense: "CC0-1.0",
SPDXID: "SPDXRef-DOCUMENT",
name: rootComponent.name,
documentNamespace,
creationInfo: {
created: (/* @__PURE__ */ new Date()).toISOString(),
creators: [
"Tool: pnpm"
]
},
packages: [rootPackage, ...spdxPackages],
relationships: spdxRelationships
};
return JSON.stringify(doc, null, opts3?.compact ? void 0 : 2);
}
function sanitizeSpdxId(value) {
return value.replace(/[^a-z0-9.-]/gi, "-");
}
function spdxHashAlgorithm(algo) {
switch (algo) {
case "SHA-1":
return "SHA1";
case "SHA-256":
return "SHA256";
case "SHA-384":
return "SHA384";
case "SHA-512":
return "SHA512";
default:
return algo;
}
}
var init_serializeSpdx = __esm({
"../deps/compliance/sbom/lib/serializeSpdx.js"() {
"use strict";
init_integrity();
init_purl();
}
});
// ../deps/compliance/sbom/lib/index.js
var init_lib154 = __esm({
"../deps/compliance/sbom/lib/index.js"() {
"use strict";
init_collectComponents();
init_getPkgMetadata();
init_integrity();
init_purl();
init_serializeCycloneDx();
init_serializeSpdx();
}
});
// ../deps/compliance/commands/lib/sbom/sbom.js
var sbom_exports = {};
__export(sbom_exports, {
cliOptionsTypes: () => cliOptionsTypes22,
commandNames: () => commandNames23,
handler: () => handler23,
help: () => help23,
rcOptionsTypes: () => rcOptionsTypes23,
recursiveByDefault: () => recursiveByDefault6,
shorthands: () => shorthands7
});
import fs95 from "node:fs";
import { realpath as realpath3 } from "node:fs/promises";
import path173 from "node:path";
function rcOptionsTypes23() {
return pick_default(["dev", "global-dir", "global", "optional", "production", "store-dir"], types2);
}
function help23() {
return renderHelp({
description: "Generate a Software Bill of Materials (SBOM) for the project.",
descriptionLists: [
{
title: "Options",
list: [
{
description: "The SBOM output format (required)",
name: "--sbom-format <cyclonedx|spdx>"
},
{
description: "The component type for the root package (default: library)",
name: "--sbom-type <library|application>"
},
{
description: "The CycloneDX specification version (1.5, 1.6, or 1.7; default: 1.7)",
name: "--sbom-spec-version <version>"
},
{
description: "Only use lockfile data (skip reading from the store)",
name: "--lockfile-only"
},
{
description: "Comma-separated list of SBOM authors (CycloneDX metadata.authors)",
name: "--sbom-authors <names>"
},
{
description: "SBOM supplier name (CycloneDX metadata.supplier)",
name: "--sbom-supplier <name>"
},
{
description: 'Only include "dependencies" and "optionalDependencies"',
name: "--prod",
shortAlias: "-P"
},
{
description: 'Only include "devDependencies"',
name: "--dev",
shortAlias: "-D"
},
{
description: `Don't include "optionalDependencies"`,
name: "--no-optional"
},
{
description: "Write SBOM to a file instead of stdout. Use %s for the package name and %v for the version.",
name: "--out <path>"
},
{
description: "Generate a separate SBOM for each matched workspace package. Outputs NDJSON to stdout, or files when combined with --out.",
name: "--split"
},
{
description: "Exclude peer dependencies (and their exclusive transitive subtrees)",
name: "--exclude-peers"
}
]
},
FILTERING
],
url: docsUrl("sbom"),
usages: [
"pnpm sbom --sbom-format cyclonedx",
"pnpm sbom --sbom-format spdx",
"pnpm sbom --sbom-format cyclonedx --lockfile-only",
"pnpm sbom --sbom-format spdx --prod",
"pnpm sbom --sbom-format cyclonedx --filter ./apps/my-app",
"pnpm sbom --sbom-format cyclonedx --out out/%s.cdx.json",
"pnpm sbom --sbom-format cyclonedx --split"
]
});
}
async function handler23(opts3, _params = []) {
if (!opts3.sbomFormat) {
throw new PnpmError("SBOM_NO_FORMAT", "The --sbom-format option is required. Use --sbom-format cyclonedx or --sbom-format spdx.", { hint: help23() });
}
const format2 = opts3.sbomFormat.toLowerCase();
if (format2 !== "cyclonedx" && format2 !== "spdx") {
throw new PnpmError("SBOM_INVALID_FORMAT", `Invalid SBOM format "${opts3.sbomFormat}". Use "cyclonedx" or "spdx".`);
}
const sbomType = validateSbomType(opts3.sbomType);
const sbomSpecVersion = validateSbomSpecVersion(opts3.sbomSpecVersion, format2);
const ctx = await buildSharedContext(opts3);
const serialOpts = { format: format2, sbomType, sbomSpecVersion };
const hasWorkspaceGraph = opts3.selectedProjectsGraph != null || opts3.allProjectsGraph != null;
const shouldSplit = opts3.split || opts3.out != null && opts3.out.includes("%s") && hasWorkspaceGraph;
if (shouldSplit) {
return handleSplit(opts3, serialOpts, ctx);
}
const { output, rootName, rootVersion } = await generateSbomForProject(opts3, serialOpts, ctx);
if (opts3.out) {
const filePath = opts3.out.replaceAll("%s", sanitizePathSegment(sanitizePackageName(rootName))).replaceAll("%v", sanitizePathSegment(rootVersion));
fs95.mkdirSync(path173.dirname(filePath), { recursive: true });
fs95.writeFileSync(filePath, output);
return { output: filePath, exitCode: 0 };
}
return { output, exitCode: 0 };
}
async function handleSplit(opts3, serialOpts, ctx) {
const projectsGraph = opts3.selectedProjectsGraph ?? opts3.allProjectsGraph;
if (!projectsGraph) {
throw new PnpmError("SBOM_NO_PROJECTS", "No workspace projects found. --split requires a workspace.");
}
if (opts3.out && !opts3.out.includes("%s")) {
throw new PnpmError("SBOM_OUT_MISSING_PLACEHOLDER", "When using --split with --out, the path must contain %s as a placeholder for the package name.");
}
const entries = Object.entries(projectsGraph);
const ndjsonLines = [];
const files = [];
const writtenPaths = /* @__PURE__ */ new Set();
const compact = !opts3.out;
const createdDirs2 = /* @__PURE__ */ new Set();
for (const [dir, entry] of entries) {
const manifest = entry.package.manifest;
if (!manifest.name)
continue;
const singleProjectGraph = { [dir]: entry };
const { output } = await generateSbomForProject({ ...opts3, selectedProjectsGraph: singleProjectGraph, allProjectsGraph: void 0, split: false, out: void 0 }, serialOpts, ctx, compact);
if (opts3.out) {
const filePath = opts3.out.replaceAll("%s", sanitizePathSegment(sanitizePackageName(manifest.name))).replaceAll("%v", sanitizePathSegment(manifest.version ?? "0.0.0"));
if (writtenPaths.has(filePath)) {
throw new PnpmError("SBOM_OUT_PATH_COLLISION", `Multiple workspace packages resolve to the same output path "${filePath}". Include %v in the --out pattern to disambiguate.`);
}
writtenPaths.add(filePath);
const fileDir = path173.dirname(filePath);
if (!createdDirs2.has(fileDir)) {
fs95.mkdirSync(fileDir, { recursive: true });
createdDirs2.add(fileDir);
}
fs95.writeFileSync(filePath, output);
files.push(filePath);
} else {
ndjsonLines.push(output);
}
}
if (opts3.out) {
return {
output: `Generated ${files.length} SBOMs:
${files.map((f) => ` ${f}`).join("\n")}`,
exitCode: 0
};
}
return { output: ndjsonLines.join("\n"), exitCode: 0 };
}
async function buildSharedContext(opts3) {
const lockfile = await readWantedLockfile(opts3.lockfileDir ?? opts3.dir, {
ignoreIncompatible: true
});
if (lockfile == null) {
throw new PnpmError("SBOM_NO_LOCKFILE", `No ${WANTED_LOCKFILE} found: Cannot generate SBOM without a lockfile`);
}
const rootManifestDir = opts3.rootProjectManifestDir ?? opts3.dir;
const rootManifest = opts3.rootProjectManifest ?? await readProjectManifestOnly2(rootManifestDir);
const lockfileDir = opts3.lockfileDir ?? opts3.dir;
let excludePeerNamesByImporter;
if (opts3.excludePeers) {
const byImporter = /* @__PURE__ */ new Map();
const graphs = [opts3.allProjectsGraph, opts3.selectedProjectsGraph].filter(Boolean);
if (graphs.length > 0) {
for (const graph of graphs) {
for (const [projectDir, { package: project }] of Object.entries(graph)) {
byImporter.set(getLockfileImporterId(lockfileDir, projectDir), peerNamesFromManifest(project.manifest));
}
}
} else {
const lockfileRoot = await realpath3(lockfileDir);
const limitManifestReads = pLimit(16);
await Promise.all(Object.keys(lockfile.importers).map((importerId) => limitManifestReads(async () => {
let importerDir;
try {
importerDir = await realpath3(path173.resolve(lockfileDir, importerId));
} catch {
return;
}
const rel = path173.relative(lockfileRoot, importerDir);
if (rel !== "" && (rel.startsWith("..") || path173.isAbsolute(rel)))
return;
let importerManifest;
try {
importerManifest = await safeReadProjectManifestOnly(importerDir);
} catch {
return;
}
if (importerManifest) {
byImporter.set(importerId, peerNamesFromManifest(importerManifest));
}
})));
}
excludePeerNamesByImporter = byImporter;
}
let storeDir;
if (!opts3.lockfileOnly) {
storeDir = await getStorePath({
pkgRoot: opts3.dir,
storePath: opts3.storeDir,
pnpmHomeDir: opts3.pnpmHomeDir
});
}
const workspaceManifestsByImporterId = /* @__PURE__ */ new Map();
for (const graph of [opts3.allProjectsGraph, opts3.selectedProjectsGraph]) {
if (!graph)
continue;
for (const [dir, entry] of Object.entries(graph)) {
workspaceManifestsByImporterId.set(getLockfileImporterId(lockfileDir, dir), entry.package.manifest);
}
}
const rootLicense = await resolveRootLicense(rootManifest, rootManifestDir);
return { lockfile, rootManifest, rootManifestDir, rootLicense, storeDir, workspaceManifestsByImporterId, excludePeerNamesByImporter };
}
async function generateSbomForProject(opts3, serialOpts, ctx, compact) {
const { lockfile, rootManifest, rootManifestDir, rootLicense: cachedRootLicense } = ctx;
const include = {
dependencies: opts3.production !== false,
devDependencies: opts3.dev !== false,
optionalDependencies: opts3.optional !== false
};
const selectedEntries = opts3.selectedProjectsGraph ? Object.entries(opts3.selectedProjectsGraph) : void 0;
const singleProject = selectedEntries?.length === 1 ? selectedEntries[0] : void 0;
const manifest = singleProject ? singleProject[1].package.manifest : rootManifest;
const projectDir = singleProject ? singleProject[0] : rootManifestDir;
const rootName = manifest.name ?? "unknown";
const rootVersion = manifest.version ?? "0.0.0";
const rootLicense = singleProject ? await resolveRootLicense(manifest, projectDir) ?? cachedRootLicense : cachedRootLicense;
const rootAuthor = extractAuthor(manifest) ?? (singleProject ? extractAuthor(rootManifest) : void 0);
const rootRepository = extractRepository(manifest) ?? (singleProject ? extractRepository(rootManifest) : void 0);
const rootDescription = manifest.description ?? (singleProject ? rootManifest.description : void 0);
const rootBugsUrl = bugsUrlFromField(manifest.bugs) ?? (singleProject ? bugsUrlFromField(rootManifest.bugs) : void 0);
const lockfileDir = opts3.lockfileDir ?? opts3.dir;
const includedImporterIds = opts3.selectedProjectsGraph ? Object.keys(opts3.selectedProjectsGraph).map((p) => getLockfileImporterId(lockfileDir, p)) : void 0;
const resolvedWorkspaceDeps = opts3.lockfileOnly ? void 0 : resolveWorkspaceDeps(lockfile, includedImporterIds ?? Object.keys(lockfile.importers), include);
const workspacePackages = resolvedWorkspaceDeps ? await buildWorkspacePackagesMap(resolvedWorkspaceDeps.additionalImporterIds, lockfileDir, ctx.workspaceManifestsByImporterId) : void 0;
const result2 = await collectSbomComponents({
lockfile,
rootName,
rootVersion,
rootLicense,
rootDescription,
rootAuthor,
rootRepository,
rootBugsUrl,
sbomType: serialOpts.sbomType,
include,
registries: opts3.registries,
lockfileDir,
includedImporterIds,
lockfileOnly: opts3.lockfileOnly,
storeDir: ctx.storeDir,
virtualStoreDirMaxLength: opts3.virtualStoreDirMaxLength,
workspacePackages,
resolvedWorkspaceDeps,
excludePeerNamesByImporter: ctx.excludePeerNamesByImporter
});
const output = serialOpts.format === "cyclonedx" ? serializeCycloneDx(result2, {
pnpmVersion: packageManager.version,
lockfileOnly: opts3.lockfileOnly,
sbomAuthors: opts3.sbomAuthors?.split(",").map((s) => s.trim()).filter(Boolean),
sbomSupplier: opts3.sbomSupplier,
specVersion: serialOpts.sbomSpecVersion,
compact
}) : serializeSpdx(result2, { compact });
return { output, exitCode: 0, rootName, rootVersion };
}
function peerNamesFromManifest(manifest) {
const regular = /* @__PURE__ */ new Set([
...Object.keys(manifest.dependencies ?? {}),
...Object.keys(manifest.devDependencies ?? {}),
...Object.keys(manifest.optionalDependencies ?? {})
]);
return new Set(Object.keys(manifest.peerDependencies ?? {}).filter((name) => !regular.has(name)));
}
function validateSbomType(value) {
if (!value || value === "library")
return "library";
if (value === "application")
return "application";
throw new PnpmError("SBOM_INVALID_TYPE", `Invalid SBOM type "${value}". Use "library" or "application".`);
}
function validateSbomSpecVersion(value, format2) {
if (value == null)
return void 0;
if (format2 !== "cyclonedx") {
throw new PnpmError("SBOM_SPEC_VERSION_UNSUPPORTED_FORMAT", "The --sbom-spec-version option is only supported with --sbom-format cyclonedx.");
}
const normalized = value.trim();
if (!SUPPORTED_CYCLONEDX_SPEC_VERSIONS.includes(normalized)) {
throw new PnpmError("SBOM_INVALID_SPEC_VERSION", `Invalid CycloneDX spec version "${value}". Supported versions: ${SUPPORTED_CYCLONEDX_SPEC_VERSIONS.join(", ")}.`);
}
return normalized;
}
async function resolveRootLicense(manifest, dir) {
if (typeof manifest.license === "string" &&